Error occurred in routing when using tab panel

Use extjs 6.5.2(classic) and react-router v4
Corresponds to an event that an error occurs in component unmounting when tab panel is used.
Uncaught TypeError: Cannot set property '_extIndexInParent' of null

Apparently continuation of licensing extjs seems to be a risk.

@dbuhrman Can you please merge this and release a new version? :)
I am getting the same error and this fixes it.
It happens when the element is already destroyed and that is why it can't find this.el.

Hello @mgusmano
Sorry to bother you but I have seen that you have been doing some work on this project and have the rights to merge and release new version.
Can I please ask you to merge this and release a new version?
I have seen the comment that this will not be needed for the React 16 so it will not break anything you are working on. :)
P.S. Thank you so much for updating the library :) Can't wait to use React 16 in my project.

can you provide me with a simple example that reproduces the problem?

@mgusmano I can't create you a reproducible demo, since my use case is fairly complex, but after debugging, I found out that on this line: https://github.com/kazamage/extjs-reactor/blob/a332005153402d32bf9fd85c7f3c19aae30a816c/packages/reactor/src/ExtJSComponent.js#L171
the el element is null, and after looking at the component, the flag destroyed is set to true, meaning that, for some reason, the lib tries to unmount already destroyed component.
What I am doing is, when I receive some response from the server, I use ReactDom.render to create a new page, that creates ExtJS reactified components in a div where the old page used to live.
Now, this might be the problem, but I am not sure, since the ReactDom. is responsible for unmounting components.
My use case is similar to the react router from @kazamage (react router does the same thing for routes).

I added this to the reactor15 package in the  2.0.x-dev branch - this is the branch for v2 of ExtReact


pandas MultiIndex.levels return type not correct

Environment data

Language Server version: 2020.9.6
OS and version: Windows 10
Python version (& distribution if applicable, e.g. Anaconda): Anaconda Python 3.7.5

Expected behaviour
No error
Actual behaviour
from typing import cast
import pandas as pd

df = pd.DataFrame.from_records([[1, 2, 3], [4, 5, 6]], columns=["a", "b", "c"])
dfmi = df.set_index(["a", "b"])
print(type(dfmi.index))
ind = cast(pd.MultiIndex, dfmi.index)
print(ind.levels[1])

reports
Object of type "() -> Unknown" cannot be subscripted

Issue here is that MultiIndex.levels acts like a python property with the internal decorator of @cache_readonly, except you are not allowed to set it.  Not sure what to do about that part, but below is a fix that works for the most common usage.  It just would not report a typing error on a line such as ind.levels = [3, 4], which is not allowed.
Possible fix:
diff core/indexes/multi.pyi.ORIG core/indexes/multi.pyi
3c3,4
< from typing import Hashable, Sequence, Union
---
> from typing import Hashable, Sequence, Union, List
20c21,22
<     def levels(self): ...
---
>     @property  # is cache_readonly in pandas source
>     def levels(self) -> List[Index]: ...

This issue has been fixed in version 2020.9.7, which we've just released. You can find the changelog here: https://github.com/microsoft/pylance-release/blob/master/CHANGELOG.md#202097-30-september-2020


SAKIII-4810 Create hover and drag style for widgets

https://jira.sakaiproject.org/browse/SAKIII-4810
Also included in this pull request:
SAKIII-4805 Add Grid view for edit mode
https://jira.sakaiproject.org/browse/SAKIII-4805
SAKIII-4787 Sort out IE content authoring quirks
https://jira.sakaiproject.org/browse/SAKIII-4787

Now incorporated in https://github.com/nicolaasmatthijs/3akai-ux/pull/10


Proposal: az account refresh

Sometimes I have new subscriptions associated to my account that did not exist when I did azure login so I have to do azure login again and go through the interactive login flow to get the new subscriptions I have show up on my local CLI.
Since CLI already has my working credentials, perhaps a new az account refresh can re-download my subscriptions list?

@Yugang-msft: Thoughts?
I am curious how common is this scenario?

Instead of az account refresh i'd like az account list to just pull a live list of the active subscriptions. I'd like to see real time data.

I will expose that in “az account list”. About opt-in vs opt-out, we can leave it as an open question and decide it later on. Either way, we need new logics to get the live list, and flipping the default is easy.
JFYI, caching the subscriptions and access tokens, so to avoid asking for user credentials and active subscription on running every command, is the design coming from CLI 1.0. For creds sharing, CLI 2.0 inherited it.

This issue has a PR there


New Website Logo: Panascais

Name: Panascais
Homepage url: panascais.net
Brand Guidelines/Licensing: Nothing
Logo: images.panascais.net/vector/logo/external-banner.svg

Hey folks -we're looking at a new website and it's likely that the friends of TypeScript page isn't going to make it to the new site. This is mainly because close to everyone is a friend of TypeScript now and listing folks kinda feels a bit un-inclusive to everyone else.
So I'm going to close this issue - thanks for posting to apply


<HTTPError 410: Gone> When Trying to Download Videos from NickJr.com

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm reporting that yt-dlp is broken on a supported site
[X] I've verified that I have updated yt-dlp to nightly or master (update instructions)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and I'm willing to share it if required

Region
United States/East Coast
Provide a description that is worded well enough to be understood
Noticed this month yt-dlp refuses to download any videos from NickJr.com. Whenever I try to download a public video I get the <HTTPError 410: Gone> error message. If possible please fix.
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['-vU', 'https://www.nickjr.com/episodes/rzk7x5/rubble-crew-the-crew-builds-a-roller-coaster-the-crew-builds-motor-a-play-space-ep-1']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>from yt-dlp/yt-dlp-master-builds [6b54cccdc] (win_exe)
[debug] Python 3.8.10 (CPython AMD64 64bit) - Windows-10-10.0.19044-SP0 (OpenSSL 1.1.1k  25 Mar 2021)
[debug] exe versions: none
[debug] Optional libraries: Cryptodome-3.20.0, brotli-1.1.0, certifi-2024.02.02, curl_cffi-0.5.10, mutagen-1.47.0, requests-2.31.0, sqlite3-3.35.5, urllib3-2.2.1, websockets-12.0
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests, websockets, curl_cffi
[debug] Loaded 1810 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp-master-builds/releases/latest
Latest version<EMAIL_ADDRESS>from yt-dlp/yt-dlp-master-builds
yt-dlp is up to date<EMAIL_ADDRESS>from yt-dlp/yt-dlp-master-builds)
[debug] Using fake IP <IP_ADDRESS> (US) as X-Forwarded-For
[nick.com] Extracting URL: https://www.nickjr.com/episodes/rzk7x5/rubble-crew-the-crew-builds-a-roller-coaster-the-crew-builds-motor-a-play-space-ep-1
[nick.com] rubble-crew-the-crew-builds-a-roller-coaster-the-crew-builds-motor-a-play-space-ep-1: Downloading webpage
[nick.com] 020a701c-a999-11ee-ad8e-0e40cf2fc285: Downloading info
ERROR: [nick.com] rubble-crew-the-crew-builds-a-roller-coaster-the-crew-builds-motor-a-play-space-ep-1: Unable to download XML: HTTP Error 410: Gone (caused by <HTTPError 410: Gone>)
  File "yt_dlp\extractor\common.py", line 734, in extract
  File "yt_dlp\extractor\nick.py", line 78, in _real_extract
  File "yt_dlp\extractor\mtv.py", line 323, in _real_extract
  File "yt_dlp\extractor\mtv.py", line 227, in _get_videos_info
  File "yt_dlp\extractor\mtv.py", line 230, in _get_videos_info_from_url
  File "yt_dlp\extractor\common.py", line 1127, in download_content
  File "yt_dlp\extractor\common.py", line 1087, in download_handle
  File "yt_dlp\extractor\common.py", line 954, in _download_webpage_handle
  File "yt_dlp\extractor\common.py", line 903, in _request_webpage

  File "yt_dlp\extractor\common.py", line 890, in _request_webpage
  File "yt_dlp\YoutubeDL.py", line 4142, in urlopen
  File "yt_dlp\networking\common.py", line 115, in send
  File "yt_dlp\networking\_helper.py", line 208, in wrapper
  File "yt_dlp\networking\common.py", line 335, in send
  File "yt_dlp\networking\_requests.py", line 350, in _send
yt_dlp.networking.exceptions.HTTPError: HTTP Error 410: Gone

C:\yt-dlp>

I also am having the same issue with all nickjr shows that i've tried so far (dora, rubble & crew, blaze and the monster machines, paw patrol)

I'm having the same issue. Are there any updates or fixes?

same issue here

Bump, was having the same issue as well, glad someone had posted it!  Too bad though, looks like all the new episodes are no longer on the service now.


fix naming issues in Connectables.map

it's not really a 'map' but a 'contramap' - 'convert' is probably a better naming choice
rename the input parameters to something more generic than M, E, V

Codecov Report

Merging #11 into master will not change coverage.
The diff coverage is 100%.

@@            Coverage Diff            @@
##             master      #11   +/-   ##
=========================================
  Coverage     73.72%   73.72%
  Complexity      198      198
=========================================
  Files            61       61
  Lines          1214     1214
  Branches         61       61
=========================================
  Hits            895      895
  Misses          305      305
  Partials         14       14

Impacted Files
Coverage Δ
Complexity Δ

...n/java/com/spotify/mobius/extras/Connectables.java
77.77% <100%> (ø)
1 <1> (ø)
:arrow_down:

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 49ced92...89e2292. Read the comment docs.

Humm.. I named them F to T, because that's what the user-supplied function does, but I guess that's the contra in contramap, so that's the wrong way to look at things. I have a problem with calling the method contramap because the results you get when googling for that are very hard to understand. That name will make the method hard to discover because you will only know what it means/that you might want to look for it if you're already pretty much hard-core FP.
Even if this is actually an example of the general concept of contravariant functors, I think we want this for a very specific use case here in Mobius, and I feel like we should possibly just mention the fact that it is a contravariant functor in the javadocs rather than call the method contramap. IIUC, an example of doing that is Ordering.by in the Scala standard library (mentioned here http://igstan.ro/posts/2013-10-31-contravariant-functors-an-intuition.html). The by method is contramap, but has a different name.
So, I agree that the F and T type names are bad, but not (yet) about calling the method contramap. :) I think it's more intuitive to think of it as converting a Connectable<T, O> to Connectable<F, O> with the current type names. And then convert is a better name, IMO. There may be even better ones.

Perhaps the name convert would make more sense if F and T were switched, something like
convert :: Connectable F O -> (T -> F) -> Connectable T O
It is converting from a Connectable which takes F's to a Connectable that takes T's.
This ordering of the arguments also makes it clearer that it is the Connectable that is being converted.

@anawara updated based on our discussion.


[BUG] UniGetUI does not upgrade itself

Please confirm these before moving forward

[X] I have searched for my issue and have not found a work-in-progress/duplicate/resolved issue.
[X] I have tested that this issue has not been fixed in the latest (beta or stable) release.
[X] I have checked the FAQ section for solutions.
[X] This issue is about a bug (if it is not, please use the correct template).

UniGetUI Version
3.1.4-beta2
Windows version, edition, and architecture
Windows 10, 1809, x64
Describe your issue
UniGetUI does not upgrade to released version 3.1.4
Steps to reproduce the issue
Install UniGetUI 3.1.4-beta2, then start UniGetUI.
UniGetUI Log
[Mi, 18.Dez..2024 22:28:46]    __  __      _ ______     __  __  ______
                              / / / /___  (_) ____/__  / /_/ / / /  _/
                             / / / / __ \/ / / __/ _ \/ __/ / / // /
                            / /_/ / / / / / /_/ /  __/ /_/ /_/ // /
                            \____/_/ /_/_/\____/\___/\__/\____/___/
                                Welcome to UniGetUI Version 3.1.4-beta2
[Mi, 18.Dez..2024 22:28:46]
[Mi, 18.Dez..2024 22:28:46] Build 72
[Mi, 18.Dez..2024 22:28:46] Encoding Code Page set to 850
[Mi, 18.Dez..2024 22:28:47] Using built-in UniGetUI Elevator
[Mi, 18.Dez..2024 22:28:48] Loaded language locale: de
[Mi, 18.Dez..2024 22:28:49] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                            █▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                            █ Name: Chocolatey
                            █ Enabled: True
                            █ Found: False
                            █ THE MANAGER WAS NOT FOUND. PERHAPS IT IS NOT
                            █ INSTALLED OR IT HAS BEEN MISCONFIGURED
                            ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[Mi, 18.Dez..2024 22:28:50] Command npm was not found on the system
[Mi, 18.Dez..2024 22:28:50] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                            █▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                            █ Name: Npm
                            █ Enabled: True
                            █ Found: False
                            █ THE MANAGER WAS NOT FOUND. PERHAPS IT IS NOT
                            █ INSTALLED OR IT HAS BEEN MISCONFIGURED
                            ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[Mi, 18.Dez..2024 22:28:50] Command winget.exe was not found on the system
[Mi, 18.Dez..2024 22:28:50] User does not have WinGet installed, forcing bundled WinGet...
[Mi, 18.Dez..2024 22:28:50] Command vcpkg was not found on the system
[Mi, 18.Dez..2024 22:28:50] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                            █▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                            █ Name: vcpkg
                            █ Enabled: True
                            █ Found: False
                            █ THE MANAGER WAS NOT FOUND. PERHAPS IT IS NOT
                            █ INSTALLED OR IT HAS BEEN MISCONFIGURED
                            ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[Mi, 18.Dez..2024 22:28:50] Command cargo was not found on the system
[Mi, 18.Dez..2024 22:28:50] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                            █▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                            █ Name: Cargo
                            █ Enabled: True
                            █ Found: False
                            █ THE MANAGER WAS NOT FOUND. PERHAPS IT IS NOT
                            █ INSTALLED OR IT HAS BEEN MISCONFIGURED
                            ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[Mi, 18.Dez..2024 22:28:51] Command scoop was not found on the system
[Mi, 18.Dez..2024 22:28:51] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                            █▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                            █ Name: Scoop
                            █ Enabled: True
                            █ Found: False
                            █ THE MANAGER WAS NOT FOUND. PERHAPS IT IS NOT
                            █ INSTALLED OR IT HAS BEEN MISCONFIGURED
                            ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[Mi, 18.Dez..2024 22:28:51] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                            █▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                            █ Name: .NET Tool
                            █ Enabled: True
                            █ Found: False
                            █ THE MANAGER WAS NOT FOUND. PERHAPS IT IS NOT
                            █ INSTALLED OR IT HAS BEEN MISCONFIGURED
                            ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[Mi, 18.Dez..2024 22:28:51] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                            █▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                            █ Name: Winget
                            █ Enabled: True
                            █ Found: True
                            █ Fancy exe name: winget.exe
                            █ Executable path: C:\PRGS\UniGetUI\winget-cli_x64\winget.exe
                            █ Call arguments:
                            █ Version:
                            █   Bundled WinGet CLI Version:
                            █   Using bundled WinGet helper (CLI parsing)
                            ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[Mi, 18.Dez..2024 22:28:51] Lang files were updated successfully from GitHub
[Mi, 18.Dez..2024 22:28:51] Downloaded new icons and screenshots successfully!
[Mi, 18.Dez..2024 22:28:54] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                            █▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                            █ Name: Pip
                            █ Enabled: True
                            █ Found: True
                            █ Fancy exe name: pip
                            █ Executable path: C:\PRGS\Python\312\python.exe
                            █ Call arguments:  -m pip
                            █ Version:
                            █   pip 24.3.1 from C:\PRGS\Python\312\Lib\site-packages\pip (python 3.12)
                            ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[Mi, 18.Dez..2024 22:28:58] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                            █▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                            █ Name: PowerShell
                            █ Enabled: True
                            █ Found: True
                            █ Fancy exe name: powershell.exe
                            █ Executable path: C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe
                            █ Call arguments:  -NoProfile -Command
                            █ Version:
                            █   Name                           Value
                            █   ----                           -----
                            █   PSVersion                      5.1.17763.6640
                            █   PSEdition                      Desktop
                            █   PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
                            █   BuildVersion                   10.0.17763.6640
                            █   CLRVersion                     4.0.30319.42000
                            █   WSManStackVersion              3.0
                            █   PSRemotingProtocolVersion      2.3
                            █   SerializationVersion           <IP_ADDRESS>
                            ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[Mi, 18.Dez..2024 22:29:07] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                            █▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                            █ Name: PowerShell7
                            █ Enabled: True
                            █ Found: True
                            █ Fancy exe name: pwsh.exe
                            █ Executable path: C:\PRGS\pwsh\7\pwsh.exe
                            █ Call arguments:  -NoProfile -Command
                            █ Version:
                            █   PowerShell 7.4.6
                            ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[Mi, 18.Dez..2024 22:29:07] LoadComponentsAsync finished executing. All managers loaded. Proceeding to interface.
[Mi, 18.Dez..2024 22:29:08] Found 0 installed packages from Winget
[Mi, 18.Dez..2024 22:29:12] Found 15 installed packages from Pip
[Mi, 18.Dez..2024 22:29:13] Dependency parse-pip-search for manager Pip is present
[Mi, 18.Dez..2024 22:29:18] Found 5 installed packages from PowerShell7
[Mi, 18.Dez..2024 22:29:20] Found 6 installed packages from PowerShell
[Mi, 18.Dez..2024 22:29:20] Found 0 available updates from Winget
[Mi, 18.Dez..2024 22:29:20] Backup saved to C:\Users\sct-muc\Documents\UniGetUI\BCL2353-MUC installierte Pakete 2024-12-18 22-29-20.ubundle
[Mi, 18.Dez..2024 22:29:22] Cached ocon for id=7Zip4Powershell is INVALID (PackageVersion)
[Mi, 18.Dez..2024 22:29:26] Cached ocon for id=7Zip4Powershell is INVALID (PackageVersion)
[Mi, 18.Dez..2024 22:29:29] Cached ocon for id=7Zip4Powershell is INVALID (PackageVersion)
[Mi, 18.Dez..2024 22:29:32] Cached ocon for id=7Zip4Powershell is INVALID (PackageVersion)
[Mi, 18.Dez..2024 22:29:40] Found 0 available updates from PowerShell
[Mi, 18.Dez..2024 22:29:50] Found 3 available updates from PowerShell7
[Mi, 18.Dez..2024 22:30:07] Manager Pip failed to list available updates with exception TimeoutException: The operation has timed out.
[Mi, 18.Dez..2024 22:30:07] Since this was the first attempt, Pip.AttemptFastRepair() will be called and the procedure will be restarted
[Mi, 18.Dez..2024 22:31:07] Error finding updates on manager Pip
[Mi, 18.Dez..2024 22:31:07] System.TimeoutException: The operation has timed out.
                               at UniGetUI.PackageEngine.ManagerClasses.Manager.PackageManager._getAvailableUpdates(Boolean SecondAttempt) in C:\SomePrograms\WingetUI-Store\src\UniGetUI.PackageEngine.PackageManagerClasses\Manager\PackageManager.cs:line 196
[Mi, 18.Dez..2024 22:35:13] Found 0 installed packages from Winget
[Mi, 18.Dez..2024 22:35:15] Found 15 installed packages from Pip
[Mi, 18.Dez..2024 22:35:15] Found 5 installed packages from PowerShell7
[Mi, 18.Dez..2024 22:35:19] Found 6 installed packages from PowerShell

Package Managers Logs
Manager WinGet with version:
Bundled WinGet CLI Version:
Using bundled WinGet helper (CLI parsing)

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

Logged subprocess-based task on manager Winget. Task type is FindPackages
Subprocess executable: "C:\PRGS\UniGetUI\winget-cli_x64\winget.exe"
Command-line arguments: " source list"
Process start time: Mi, 18.Dez..2024 22:28:51
Process end time:   Mi, 18.Dez..2024 22:28:51

Return code: FAILED (-1978335231)

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

Logged subprocess-based task on manager Winget. Task type is RefreshIndexes
Subprocess executable: "C:\PRGS\UniGetUI\winget-cli_x64\winget.exe"
Command-line arguments: " source update --disable-interactivity"
Process start time: Mi, 18.Dez..2024 22:29:07
Process end time:   Mi, 18.Dez..2024 22:29:08

Return code: FAILED (-1978335231)

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

Logged subprocess-based task on manager Winget. Task type is ListInstalledPackages
Subprocess executable: "C:\PRGS\UniGetUI\winget-cli_x64\winget.exe"
Command-line arguments: " list  --accept-source-agreements"
Process start time: Mi, 18.Dez..2024 22:29:07
Process end time:   Mi, 18.Dez..2024 22:29:08

Return code: FAILED (-1978335231)

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

Logged subprocess-based task on manager Winget. Task type is ListUpdates
Subprocess executable: "C:\PRGS\UniGetUI\winget-cli_x64\winget.exe"
Command-line arguments: " update --include-unknown  --accept-source-agreements"
Process start time: Mi, 18.Dez..2024 22:29:20
Process end time:   Mi, 18.Dez..2024 22:29:20

Return code: FAILED (-1978335231)

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

Logged subprocess-based task on manager Winget. Task type is ListInstalledPackages
Subprocess executable: "C:\PRGS\UniGetUI\winget-cli_x64\winget.exe"
Command-line arguments: " list  --accept-source-agreements"
Process start time: Mi, 18.Dez..2024 22:35:13
Process end time:   Mi, 18.Dez..2024 22:35:13

Return code: FAILED (-1978335231)

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

Relevant information
No response
Screenshots and videos
No response

Please share UniGetUI logs on Debug level

PS: someone meant it is a good idea to block outgoing icmp-ping and traceroute-requests on our firewall, because icmp is a security treat ...

I am afraid this block tricked UnuiGetUI into thinking that there is no internet, and therefore the updater does not even start. I am no cybersecury expert so I don't know about that, but do you think there would be an alternative to check if there is internet without relying on pings?


GH Release is missing for 0.3.16-M1

Please create a github release + changelog for your tag

GitHub release created.


File Download in a Chromely App

I am building a chromely app and I would like to allow the user to downlaod a file that is generated by the application. When i use the link tag to prompt the download nothing happens.
For example, adding
link
does not seem to bring up the "Save As..." dialog window when clicking the link.
Is file download not possible in a Chromely App, or is there a different way to do this?

There is no default download handler configured. You need to implement one -
https://github.com/chromelyapps/Chromely/blob/master/Documents/registering_custom_handlers.md
I just added one to the repo- https://github.com/chromelyapps/Chromely/commit/8983c31b4b488d2542f2530214360f3f4f727b63
Or you can register a custom one if you want to use nugets:
 public class CustomDownloadHandler : CefDownloadHandler
    {
        protected override void OnBeforeDownload(CefBrowser browser, CefDownloadItem downloadItem, string suggestedName, CefBeforeDownloadCallback callback)
        {
            if (callback != null)
            {
                using (callback)
                {
                    callback.Continue(downloadItem.SuggestedFileName, showDialog: true);
                }
            }
        }
    }

    public class DemoChromelyApp : ChromelyBasicApp
    {
        public override void Configure(IChromelyContainer container)
        {
            base.Configure(container);
            -----

            container.RegisterSingleton(typeof(IChromelyCustomHandler), Guid.NewGuid().ToString(), typeof(CustomDownloadHandler));
        }
    }

This solves my issue. Thanks!


Complete the cpp and makefile file type

The uppercase H and C are unnecessary because extension checking is case-insensitive.
I'm not sure it makes sense to exclude Makefile.am.  It's not really a Makefile.

Technically speaking, it's not right to treat the cplusplus file extension case-insensitive, since the uppercase .C is indeed the cplusplus source code file, but not c file. Please see https://gcc.gnu.org/onlinedocs/gcc/Overall-Options.html
For makefile, at least the Makefile/makefile/GNUMakefile and *.mk should be added.  Meanwhile, I think it's more convenient to add the Makefile.am as the makefile file. See https://www.gnu.org/software/automake/manual/html_node/amhello_0027s-Makefile_002eam-Setup-Explained.html

BRs.


Crash when starting C63 in WebContentsImpl::GetView()

Electron version: 4.6.3
Operating system: Linux
Chrome 63.0.3239.30

This is the backtrace
Thread 1 "brave" received signal SIGSEGV, Segmentation fault. content::WebContentsImpl::GetView (this=0x0) at ../../content/browser/web_contents/web_contents_impl.cc:1037 1037      return view_.get(); (gdb) bt #0  0x00000000029be7a0 in content::WebContentsImpl::GetView() const (this=0x0)     at ../../content/browser/web_contents/web_contents_impl.cc:1037 #1  0x00000000029d3e25 in content::WebContentsViewChildFrame::GetOuterView() const (this=<optimized out>)     at ../../content/browser/web_contents/web_contents_view_child_frame.cc:36 #2  0x00000000029d3e25 in content::WebContentsViewChildFrame::GetNativeView() const (this=<optimized out>)     at ../../content/browser/web_contents/web_contents_view_child_frame.cc:47 #3  0x0000000002cc08b8 in brightray::InspectableWebContentsImpl::InspectableWebContentsImpl(content::WebContents*) (this=0x1d0968728000, web_contents=0x1d09678ee000) at ../../electron/vendor/brightray/browser/inspectable_web_contents_impl.cc:404 #4  0x0000000002cc03b2 in brightray::InspectableWebContents::Create(content::WebContents*) (web_contents=0x1d09687a9ea0)     at ../../electron/vendor/brightray/browser/inspectable_web_contents.cc:15 #5  0x0000000002c96ad5 in atom::CommonWebContentsDelegate::InitWithWebContents(content::WebContents*, atom::AtomBrowserContext*) (this=     0x1d096738d640, web_contents=0x1d09678ee000, browser_context=<optimized out>)     at ../../electron/atom/browser/common_web_contents_delegate.cc:187 #6  0x0000000002c6acd3 in atom::api::WebContents::CompleteInit(v8::Isolate*, content::WebContents*, mate::Dictionary const&) (this=     0x1d096738d600, isolate=0x1d09672f4000, web_contents=0x1d09678ee000, options=...)     at ../../electron/atom/browser/api/atom_api_web_contents.cc:460 #7  0x0000000002c6b3ba in atom::api::WebContents::CreateWebContents(v8::Isolate*, mate::Dictionary const&, content::WebContents::CreateParams const&) (this=0x1d096738d600, isolate=0x1d09672f4000, options=..., create_params=...)     at ../../electron/atom/browser/api/atom_api_web_contents.cc:452 #8  0x0000000002c79e48 in atom::api::WebContents::WebContents(v8::Isolate*, mate::Dictionary const&, content::WebContents::CreateParams const&) (this=0x1d096738d600, isolate=0x1d09672f4000, options=..., create_params=...)     at ../../electron/atom/browser/api/atom_api_web_contents.cc:409

So the thing is that the thing is the call to GetOuterView() returns nullptr. Apparently web_contents_view_child_frame.cc doesn't expect that as it never does a null check (well just once). We need to figure out why on earth it returns nullptr, there are another 2 conditions before the return statement which the code is not fulfilling

Not sure if there could some race condition happening, though. When starting it with gdb I'm able to get the 'make default' dialog before getting the crash.

Looks like it's related to the use of OOPIF for inner WebContents. Disabling GuestViewCrossProcessFrames feature allows Brave to start (although navigating causes some other crash).

We've been investating the issue with the issue with OOPIF. The crash happens when you create a tab, it doesn't matter if it's about:blank, about:newtab or any other URL. Maybe it's a generic Chromium issue since they've activated this GuestViewCrossProcessFrames experiment recently, we could try to create a reduced test case simulating how the tabs are implemented in brave, probably with some kind of .

It was finally fixed by disabling OOPIF for inner WebContents. Likely an upstream bug as it's an experimental feature.

BTW I'm leaving this open just for reference, as it might be fixed in the future and we could eventually reenable OOPIF.

@svillar can you provide me the reproduction steps ?


Problem with dropdown values if they contains a comma (,)

Hi Kenn,
first of all thanks for this great package :-).
I have found a bug regarding dropdown-lists (or maybe all values containing comma?). If i create a value in a dropdown-list containing a comma (,), i can not submit the form. I get this in return
{"invalidFields":[{"name":"Rulleboks","formSafeName":"_Rulleboks","submittedValue":"Lyd og, collage – din nye ven","invalid":true}],"failedValidations":[]}
I´m running v1 on Umbraco 7.5.4.
Could you take a look at this?
Best regards
René

Hey @rpjengaard,
Looks like the submitted value with the comma isn't properly encoded. I'll see what can be done about it.
Thanks for reporting this!

So I dug into this, and it's not encoding. The problem is that all the multi value fields share the same code, whether they allow multiple values selected or not. And multiple values are the culprit here, because they're submitted as comma separated lists of values. So when one of the values contains a comma... you guessed it; the parsing on the server side goes haywire.
I'm going to ponder this for a bit. If I can't solve it without rewriting a whole bunch of code, I'll have to simply disallow field values with commas on all multi value fields.
Thoughts?

Hey Kenn
Did you do anything to this so that its not possible or other solution? Just if its worth an update for a customer of ours, or if its still there :) And merry Christmaes.

Hi @rasmusfjord ,
I ended up stripping commas from multi value field values; see this line. It's probably worth digging into an upgrade for your customer :)
And merry Christmas to you too!

thanks man for the update and for building an awesome product :)

You're so very welcome!
Den 18. dec. 2017 8.55 AM skrev "rasmusfjord"<EMAIL_ADDRESS>
thanks man for the update and for building an awesome product :)
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/kjac/FormEditor/issues/133#issuecomment-352350595,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHD_CiCficSe_gKmqRr57UaxmddS_1rOks5tBhosgaJpZM4Ne4Wf
.


Bulk addition of short URLs

Code of Conduct

[X] I agree to follow this project's Code of Conduct.

Submission validity

[X] This is not a personal support request, that should be posted on discussions community.
[X] I checked current issues and this request isn't a duplicate of an existing issue, opened or closed.

Summary
Allow for the bulk creation of short URLs for target original URLs .
Motivation
The motivation for this is to facilitate the rapid deployement of a quantity of short URLs to target original URLs at once.
Describe the solution
In the administrative side of the web app, there would be a "Bulk Operations" area that would take a CSV (or similar) file, and upon clicking submit, would parse through the file and create the relative short URL to target original URL mapping appropriately.
This feature might also facilitate the creation of segregating short URLs into groupings such that you may utilize to keep (lets call them projects) separate from one another...

This is an existing plugin: https://github.com/vaughany/yourls-bulk-import-and-shorten
You can find it and more on the Awesome List: https://awesome.yourls.org.

Nevermind...I see this functionality is provided via a plugin.


checkFile error on non-existent file

A call to File.checkFile() on a non-existent file results in a callback error with code NOT_FOUND_ERR.
The function specification of checkFile() says:

Returns a Promise that resolves with a boolean or rejects with an error.

Even if it is not further clarified in the specification, is almost intuitive expecting that it should return a Promise "false" if the file doesn't exist, instead of a reject with the  NOT_FOUND_ERR code.
IMHO the function should rejects on error conditions only, for example on a non-existent path, etc. The non-existence of the file being checked is not an error but one of the possibles results of the function.
Thanks!

any chances having someone looking at this?

Any ideas? have the same issue..

this is misleading and should be fixed, or at least clarified in the documentation. Thanks.

Since nobody seems to care about this issue, I've created this (dirty) wrapper...
fileExists(path, file) {
  return new Promise((resolve, reject) => {
    this.file.checkFile(path, file)
    .then(() => resolve(true))
    .catch(err => err.message === 'NOT_FOUND_ERR' ? resolve(false) : reject());
  });
}

It returns a Promise


ssd300MobileNet layer concatenate error

when I use SSD.ipynb or SSD_Train.ipynb, (keras-2.3.1 or 2.1.5 both failed)
model=model = SSD(input_shape, num_classes=NUM_CLASSES) always cause Error as below:
ValueError: A Concatenate layer requires inputs with matching shapes except for the concat axis. Got inputs shapes: [(None, 1917, 4), (None, 1917, 21), (None, 114432, 8)]
error is caused by merge of the 3 nets at line #186 of ssd300MobileNet.py
net['predictions'] = concatenate([net['mbox_loc'],net['mbox_conf'],net['mbox_priorbox']],axis=2,name='predictions')
how to fix the shape mismatch of these 3 nets ?

The fix is to revise ssd_layers.py at line #32 and #84
modify if K.image_dim_ordering() == 'tf':  to if K.image_data_format() == 'channels_last':
Then it runs !!!


Scope needed on portable Packages

Brief description of your issue
I want that my portable app should be installed on scope machine. I can do this by "winget install myapp --scope machine". But If I add this to my manifest file i got the warning "Manifest Warning: Scope is not supported for InstallerType portable."
When I use "ElevationRequirement: elevationRequired" instead the option seems to be ignored.
Steps to reproduce

Add "Scope: machine" to the installer manifest file
winget validate --manifest "PATH_TO_MY_MANIFEST_DIR"

Expected behavior
The option Scope will be used because the user can use is directly when he enters: "winget install myapp --scope machine"
Actual behavior

Manifest Warning: Scope is not supported for InstallerType portable.
Option is ignored

Environment
Windows-Paket-Manager v1.6.2771

Manifest Warning: Scope is not supported for InstallerType portable.

This is because WinGet already supports installing portables in both user and machine scope. It is not needed to specify it in the manifest.
You can use the command winget install <portable_app> --scope <scope> to install the portable app in the desired scope

Yes I know about the option. But I don't want that the user should do the decision. My software package (=> the developer) should do the decision how the software should be installed successfully.

This is the first time I've seen a portable package needing to be installed in a specific scope. I think supporting the elevation requirement might be the better way to go rather than splitting into scopes.

@Speed7811 Regarding the portable app, are you referring to Speed-Soft.Pingt mentioned in https://github.com/microsoft/winget-cli/issues/3749?

This is the first time I've seen a portable package needing to be installed in a specific scope.

I can't seem to reproduce the same issue as the author. For me, the portable app installs just fine in both scopes.
https://github.com/microsoft/winget-cli/assets/88161975/87a9488c-a508-4fc3-8a44-cb8944f4ffac
Note: I don't have to open a new instance of Terminal since newer versions of Terminal support refresh of PATH variable in a new tab

But I don't want that the user should do the decision. My software package (=> the developer) should do the decision how the software should be installed correctly.

The whole point of a portable application is that it shouldn't need specific privileges to install. If a user were to download the application and put it into their documents folder and add that to their path environment variable, they could do that. If a user were to download it and put it in "Program Files" and add it to the machine scoped Path environment variable, they could also do that.
If you want your application to install a specific way, then you should build an installer for it using inno, or nullsoft, or wix, installshield, install4j, or any of the myriad of tools available that are specifically designed for publishers to control how their application gets installed.
I strongly believe that requiring a specific scope or elevation for portable installs should not be supported, as it is fundamentally an anti-pattern and goes against the core tenets of the purpose for having a portable application instead of an installer.

This is the first time I've seen a portable package needing to be installed in a specific scope. I think supporting the elevation requirement might be the better way to go rather than splitting into scopes.

@denelon - I don't think this is actually the case. Per my reply above, by the very definition of a portable application there can be no requirement to install in a specific scope. Could there be an edge case where the application requires administrator privileges to run properly? That I could maybe understand. But for the actual install itself, I find it almost impossible to believe there would be any form of scope requirement

@mdanish-kh - Yes I'm referring to Speed-Soft.Pingt mentioned in #3749. If I do it like in your video I get the same results. Please open a new "cmd" (unelevated) after installing it and enter "pingt". It will not work.
@Trenly - If this is really an anti pattern why is this option supported on the command line? If this is really an anti pattern the option "--scope" should be not supported if the installer type is "portable".
The app itself doesn't need the scope. I only need the scope because otherwise the user cannot execute the app in an unelevated window. If I install the app with the scope option it works in an elevated and unelevated window. Please see #3749 - I think if this issue is solved I don't have any problems. At the moment I must gave the users the information to install it with this command "winget install -e pingt --scope machine" - otherwise the app cannot be executed in an unelevated window.
Addionally I cannot find any hint in the documentation that the scope option is not supported on the portable installer type. If I check the manifest here https://github.com/microsoft/winget-pkgs/blob/master/doc/manifest/schema/1.5.0/installer.md I cannot find any information about this - or are there any other docs I didn't find?

If this is really an anti pattern why is this option supported on the command line?

Because it determines which Path environment variable gets written and the file location. Its basically the user saying whether they want to put it in a location only accessible by them or a location accessible by anyone.
Apologies for not being clear - What I meant by "it" being an Anti-Pattern is not that it can be installed in either scope, the Anti-Patrern would be only allowing it in machine scope.

For me this issue is clear now and I will close it. I think if the bug in #3749 is solved I don't have any troubles.


Add a CombatFlag to change the combat swing animation to be osi like

On OSI (and Source) the combat swing animation has a fixed duration (0,7 seconds? Anyways it's the shortest anim time possible). It can be done via scripts easily but i find that adding an ini flag would be very nice for new scripters and also it is a frequently asked question)

Also, i'd change the hardcoded default minimum attack speed to 7 (to match the minimum animation duration), and make prehit use the 0.7 delay instead of 0.1. In any case i'd allow overriding via scripts the speed to a minimum value of 0.1


Commented line

Is there a reason the last line is commented in the sample?
Get-AzWebAppMetrics should work.
https://docs.microsoft.com/en-us/powershell/module/az.websites/get-azwebappmetrics?view=azps-1.4.0
I'm not sure how to get to the code sample to edit directly.

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

ID: 1c9f0745-8210-5e90-b12c-26bcc94ea4b8
Version Independent ID: 59c114af-d3cf-c4b6-72bc-506a4047cb7c
Content: Azure PowerShell Script Sample - Monitor a web app with web server logs
Content Source: articles/app-service/scripts/powershell-monitor.md
Service: app-service
GitHub Login: @SyntaxC4
Microsoft Alias: cfowler

Thanks for the question! We are investigating and will update you shortly.

Just want to ask if you are using below command as mentioned in the document?
Get-AzWebAppMetrics -ResourceGroupName $ResourceGroupName -Name $AppName -Metrics
Do any Error you are getting? Kindly share a screenshot after concealing any private details.

@SnehaAgrawal-MSFT I'm just asking for the # to be removed.
#Get-AzWebAppMetrics
It's commented out for some reason in the sample.

@dcbrown16 Thanks for bringing this to our attention. Your feedback has been shared with the content owner for further review.

#reassign:cephalin

@dcbrown16 I've fixed the PowerShell script and the update should be published sometime today. Thank you. #please-close


Improvement for k8s.io/docs/tasks/debug-application-cluster/logging-elasticsearch-kibana/

No platform specific documentation!
instructions that include platform specific utilities are useless to majority populations of the community:
kube-up.sh - not used in my on-prem cluster
kops - not used in my on-prem cluster
These are great, and I can usually translate the docs into something useful, but these utilities shouldn't be in the CNCF k8s docs unless they're in a section specific to the provider where they are used.

Aaron Daniel Kaatz

This seems like a legitimate concern
/remove-lifecycle stale
/priority important-longterm


Issue with remote: HTTP errors

I can connect to the remote host via ssh, but torchstudio doesn't work.
I have set remote configuration named AI_server like below,then it will install Paramiko python package to ssh server.

But I get error message like below, it looks like there is not internet on localhost to install Paramiko, but I'm sure that the local network is working.

Do you still get the same error if you click Refresh ?
If it still doesn't work, you could install the missing Paramiko package manually (that's the only package that needs to be installed on the remote server).
Since you're on Windows, you can use Putty to connect to your SSH server. When you're in, type the path to conda to install paramiko. If your path to python is PYTHONROOT/bin/python then your path to conda will be PYTHONROOT/condabin/conda.
The command you have to type on your remote server is:
PYTHONROOT/condabin/conda install paramiko -c conda-forge
This will install paramiko. If all goes well then you can disconnect from your remote server and try TorchStudio refresh again.

Thanks for your reply.
It works well after conda install -c anaconda paramiko on the remote server and click Refresh.


Cannot connect to IPFS

No port changes made by me as far as I'm aware. Log into IPFS one day to find the updated version cannot connect. Tried installing manually, reinstalling etc. Got the web browser plugin and it connects fine. IPFS is connected, the desktop app shows that I am not, greyed out all options.
Seems a few others have the same issue as I noticed a Reddit post recently published about the same event. Used without issue with current settings, possibly due to update no longer able to access any of the files uploaded or any menu options.

@shiloh92
Is the built-in node provided by ipfs-desktop the only IPFS node you are running on your machine?
Namely, can browser extension connect to IPFS node even when you Quit ipfs-desktop?

Closing this as it is most likely a duplicate of https://github.com/ipfs/ipfs-desktop/issues/1773#issuecomment-789294333 and will be fixed in next release when we update to go-ipfs 0.9.


Fix typo in exception message - attestion -> attestation

Closed - will create again without the unnecessary commit.


Update baton-sdk and place constraints

  env:
    BATON_PASSWORD: admin
    BATON_BASE_DN: dc=example,dc=org
    BATON_USER_DN: CN=admin,DC=example,DC=org
    BATON_URL: ldaps://localhost
    BATON_INSECURE_SKIP_VERIFY: true
at least one of the flags in the group [domain url] is required

well, having the envvar set but not using any flags to make Cobra happy is causing troubles.

well, having the envvar set but not using any flags to make Cobra happy is causing troubles.

fixed at https://github.com/ConductorOne/baton-sdk/pull/182


complete conversion over to skew for resource query

closes #162

Coverage increased (+0.3%) to 79.911% when pulling b656766f461816a7b7f9b958b700fc5ec4e7c8fe on kapilt:next-3 into 8143c5e714413973a1f7dcc95a73150a65e7deb4 on capitalone:master.


Login failed  Please check the credentials -  Error: Input required and not supplied: creds

I am defining a github action to build and deploy azure functions when a new PR is created.
So if in the github action I use the trigger
on [push]
When the action is fired it works okay.
BUT if I change the action main.yml file, so that the build/action is triggered
on [pull_request]
The az login step fails with the error:
Error: Az CLI Login failed. Please check the credentials. For more information refer https://aka.ms/create-secrets-for-GitHub-workflows
Error: Error: Input required and not supplied: creds
I got the AZURE_CREDENTIALS by following the documentation, running the command:
az ad sp create-for-rbac --name "some_funct_app" --sdk-auth --role contributor  --scopes /subscriptions/some_sub_id/resourceGroups/some_resource/providers/Microsoft.Web/sites/some_function_app
Then I inserted the result in the github repository as a secret secrets.AZURE_CREDENTIALS also following the documentation.
I did that on the main repository and also on the forked repository from which I am creating the Pull request.
FYI Including here the main.yml azure/login invocation:
 - name: Login via Az module
      uses: azure/login@v1
      with:
        creds: ${{ secrets.AZURE_CREDENTIALS }}
        enable-AzPSSession: false

and so when I send a new PR it is returning the error:
Error: Az CLI Login failed. Please check the credentials. For more information refer https://aka.ms/create-secrets-for-GitHub-workflows
Error: Error: Input required and not supplied: creds
Please help!
thank you.

Hey @olugin, when you say:

I inserted the result in the github repository as a secret secrets.AZURE_CREDENTIALS
What's the name of your secret? Just checking that it should be AZURE_CREDENTIALS and not secrets.AZURE_CREDENTIALS.
Can you please confirm about this?

Hello @kanika1894 , I set the secret's name as defined in the documentation: AZURE_CREDENTIALS
I am only accessing it from the github workflow definition using secrets. AZURE_CREDENTIALS

@olguin, thanks for confirming.
The code snippet that you pasted from the workflow file seems to have indentation issues, can you fix those?
Ideally, with the details that you are providing, it should have worked. With the error message that you stated, the action doesn't seem to identify the secrets that you provided. Trying to figure out what could be the possible reason...

Hi Kanika,
in the github workflow file the indentation is as follow:

name: Login via Az module
uses: azure/login@v1
with:
creds: ${{ secrets.AZURE_CREDENTIALS }}
enable-AzPSSession: false

Also please do notice that it is not throwing an error when the "on" trigger is "push". Only if I change it to "pull_request"

Hey @olguin,
Ahhh! So there's the catch. When the workflow is triggered from a forked repository, they can't have access to the secrets.
More details here.
Instead of pull_request trigger, can yo please try  pull_request_target?

Tried it, it worked!! @kanika1894, thank you!
I did noticed the documentation saying that secrets were not passed to forks but I was creating the same secret in my fork (we are part of the same organization than main repository) so I thought that will be enough and bypass this secret's restriction but it did not.
Thank you again, you can close this issue thread then because it is not an actual issue (not sure if I can do it myself).

I understand. But the workflow gets executed in the scope of the base repository, so the presence of secrets in the forked repo doesn't help in the scenario.
Glad that your issue is resolved with the pull_request trigger.


Issue 48

Change local uri to model uri when parsing xmlrdf strings. See #48

Side note, we've got some additional changes here that was meant to resolve supporting multiple python versions issue.


howto: detect ac power to disable

Would it be possible using the existing version of xidlehook to detect when on AC power to disable
one of the "stages" (i.e. still start screensaver but do not suspend)?

Why not just check it with dash as one of the timers?
Such as:
--timer normal "on_ac_power && systemctl suspend" ""
``

Perfect!  Didn't know on_ac_power was even a thing.

For those on arch:
grep 0 /sys/class/power_supply/AC/online > /dev/null && systemctl suspend


Change emoji for blocked issues

The current emoji for blocked issues is 🚧 construction which rather suggests a work in progress rather that something not being ready for work.
https://github.com/WordPress/openverse/blob/2ee1b6393ce1204566fad063070fdf07e03e96e7/automations/data/labels.yml#L46
It should be changed to something else. Possible contenders are:

Emoji
Name

🚫
no_entry_sign

⛔
no_entry

✋
hand

🛑
stop_sign

🙅
no_good

Note that this is independent of the discussion to remove labels from GitHub issues.

I'm fine with ⛔!


v4 to v5 error: array like an enum

I've the following classes
public class Transazione
{
    public List<Attore> Attori { get; set; } = new();
}
public class Attore
{
    public Guid Id { get; internal set; }
    public string Nome { get; internal set; }
    public RuoloAttore RuoloAttore { get; internal set; }
}

and expressions
new()
            {
                WorkflowName = nameof(TipoTransazione.Conferimento),
                Rules = new Rule[] {
                    new() {
                        RuleName = "Attore Da",
                        Enabled = true,
                        ErrorMessage = "Attore Da Id must be defined",
                        SuccessEvent = "10",
                        RuleExpressionType = RuleExpressionType.LambdaExpression,
                        Expression = "transazione.Attori.Any(a => a.RuoloAttore == 1)",
                    },
                    new() {
                        RuleName = "Attore A",
                        Enabled = true,
                        ErrorMessage = "Attore A must be defined",
                        SuccessEvent = "10",
                        RuleExpressionType = RuleExpressionType.LambdaExpression,
                        Expression = "transazione.Attori.Any(a => a.RuoloAttore == 2)",
                    },
                }
            }

But this exception is thrown when executing rule engine
Exception while parsing expression `transazione.Attori.Any(a => a.RuoloAttore == 1)` - Enum type 'Attori' not found

Initially I though it was due to this #209, even if it was working on v4, but then I've realized that 'Attori' was the property name of type Attore and not an enum

Looks like an issue related dependent lib https://dynamic-linq.net/advanced-configuration#prioritizepropertyorfieldoverthetype preference changes.
I will try updating the config so that it is compatible to previous way.
This issue is happening as you input name is same as type name and the expression are case insensitive.
Your rule works if the input is named differently. Check this fiddle -  https://dotnetfiddle.net/yFFz3h

works like a charm

Added an option to disable this behavior in ReSettings:
https://github.com/microsoft/RulesEngine/blob/103e8174310d0eb24976c153b03990ec9631bfa2/src/RulesEngine/Models/ReSettings.cs#L71-L76
You can turn it off in case you want to maintain existing naming


csrf-token on cached files

Now since the enture page is cached as HTML. The csrf tokens in web forms would also be cached.
I was wondering, what would be the best way to keep the csrf tokens fresh for each user who visits a cached page?

I see see your solution in issue #7 where you used an API. That would work. Looking into laravel-caffeine to see if that would work.


Provide binaries

paperclip would be easier to install if binaries were provided.
We can upload them to Github Releases whenever we create a tag.
I can create a PR for this but I'll need you to encrypt a Github API Token.
See https://docs.travis-ci.com/user/deployment/releases/ for documentation.

I already have a GITHUB_TOKEN env variable with public_repo scope for deploying documentation. Could that be used for tags too?

That depends on the permissions of that token.
I can certainly try.


Update sbt-github-actions to 0.11.0

Updates com.codecommit:sbt-github-actions from 0.10.1 to 0.11.0.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.codecommit", artifactId = "sbt-github-actions" } ]

labels: sbt-plugin-update, semver-minor

Codecov Report

Merging #193 (2ba234c) into master (37786f6) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #193   +/-   ##
=======================================
  Coverage   37.80%   37.80%
=======================================
  Files           3        3
  Lines          82       82
=======================================
  Hits           31       31
  Misses         51       51

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 37786f6...2ba234c. Read the comment docs.


change combobox based on connection test

adding a function that checks which of the 3 GRiD URLs can be connected to on your network. Will dynamically add URLs that connect successfully to combobox. So, on my unclass network, I can only see the normal https://grid.nga.mil/grid as an option. Resolves #17

This is going to be slow and wait for all the timeouts, no?
I think you should be doing a HEAD request for each of the URLs, which should be fast and fail immediately.


feat: allow defining question templates with predefined tags, title, description

Proposal
Have a solution similar to what GitHub has with issue templates. The idea here is to facilitate standardization on questions created, to incentivize the use of specific tags for common category questions. For instance, if I'm going to ask a question related to a specific programming language or platform like Swift/iOS, I can choose a iOS/Swift template and it will come with a specific tag and a description requesting the person creating the question to give informations like the Swift version they are using. This could help on question filtering for example and also improving the details provided on questions.
Screenshots
To use as reference, there is this issue creation page from an open source project:

And when creating a new issue for, say, a feature request, it already provides some requested information to be filled:

Which is described via this yaml file.

Great idea! A couple of thoughts/questions:

Should the templates be editable from the UI? If yes, then who can modify them? Should this be something that uses the backstage permission framework?
If the templates cannot be edited from UI, I think a new config value is required to point to the folder where the templates are located
A new parser is needed for the yaml file to render the form; should the RJSF be used to render the form as it is already used by the software templates in Backstage?

Are there volunteers to work with this or should I throw this on my ever-growing personal backlog? 😆 All PRs are more than welcome!

I think it's a great idea to follow the same template approach as the backstage scaffolder.
Using templates as yaml files we could add spec definitions to standardize the questions.
In the app-config.yaml file, we could explicit the q&a templates path:
qeta:
  storage:
    type: database
  templates:
    - name: 'Flutter Questions'
       path: ./qeta-templates/flutter-question-template.yml

I'm afraid of using react-jsonschema-form because we might lose some features of the editor such as image upload and markdown support. If this is a problem, we could just have a markdown template, which will be pre-populated in the editor.

It's a great ideia! Any news if this proposal is feasible? @drodil

+1

@rafaeljustinox, yeah it's feasible (sorry for the delay, was on holiday), not sure though what is the best way to implement this; probably having the template definition in application configuration instead of path is a better way as it doesn't require changes to the packaging of the application. Contributions are welcome :)

Relates to #192 so taking this under work when starting with that!

This is now available in the release 3.4.0!

That's awesome to hear, @drodil! Thanks a lot for it! 🎉


 The strange thing is that neither pharos-cluster nor jakolehm/cfssl have been updated recently and it was working last week.
For the moment the workaround seems to be to manually run
sudo mkdir /opt/pharos

on the master(s)

I am experiencing the same issue in 3 newly installed CentOS 7.8 machines.
Below is Pharos up command in debug mode.
...
    <IP_ADDRESS>: + ctr -n pharos image pull docker.io/jakolehm/cfssl:0.1.1
    <IP_ADDRESS>: docker.io/jakolehm/cfssl:0.1.1: resolving      |--------------------------------------|

     ## OUTPUT OMITTED ##

    <IP_ADDRESS>: docker.io/jakolehm/cfssl:0.1.1:                                                   resolved       |++++++++++++++++++++++++++++++++++++++|

     ## OUTPUT OMITTED ##

    <IP_ADDRESS>: elapsed: 1.6 s                                                                    total:   0.0 B (0.0 B/s)
    <IP_ADDRESS>: unpacking linux/amd64 sha256:060f8665eb7a898674ca59bd38366f04ffab7393efae6151534cb0603b2fb078...
    <IP_ADDRESS>: done
    <IP_ADDRESS>: + ctr -n pharos install --path /opt/pharos --replace docker.io/jakolehm/cfssl:0.1.1
    <IP_ADDRESS>: ctr: mkdir /opt/pharos/bin: no such file or directory
    <IP_ADDRESS>: ! 1
    [node01] Error: exec failed with code 1: configure-cfssl.sh
...

https://github.com/kontena/pharos-cluster/blob/master/lib/pharos/host/el7/scripts/configure-cfssl.sh
Maybe there's breaking changes to ctr?

I can confirm.
ctr from v1.3.0 and up does not create the missing directory, if it does not exist. I created a pull request.

@rwunderer yeah workaround seems to solve the issue

Fixed in #1556

Following the directions on the site I hit this problem today still. Its seems like your fix has been applied, is there a new iteration of the same bug or have has it not reached the latest release/documentation?

Following the directions on the site I hit this problem today still. Its seems like your fix has been applied, is there a new iteration of the same bug or have has it not reached the latest release/documentation?

Ok well I guess the problem is that it is fixed in pharos 3.2.2 and current is still 3.2.1 as of installing using chpharos today. Could that get pushed?

Ok well I guess the problem is that it is fixed in pharos 3.2.2 and current is still 3.2.1 as of installing using chpharos today. Could that get pushed?


Fatal error: Uncaught Error: Call to a member function execute() on boolean

Am using Medoo Version 1.4.3. Am trying to create table by using query api but getting error as
Fatal error: Uncaught Error: Call to a member function execute() on boolean in C:\xampp\htdocs\testapi\vendor\catfan\medoo\src\Medoo.php:306 Stack trace: #0 C:\xampp\htdocs\testapi\vendor\catfan\medoo\src\Medoo.php(276): Medoo\Medoo->exec('CREATE TABLE ta...', Array) #1 C:\xampp\htdocs\testapi\testcases.php(40): Medoo\Medoo->query('CREATE TABLE ta...') #2 {main} thrown in C:\xampp\htdocs\testapi\vendor\catfan\medoo\src\Medoo.php on line 306
I have also tried the example given on website but getting the same error.

Any help is appreciated. Thanks

My Bad :( I missed the ending brackets in my code, not sure about the example which was given. Also, i have to enable the options to debug further.
$dbobj = new Medoo([
'database_type' => 'sqlite',
'database_file' => 'database.db',
'option' => [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
],
]);


Increase support for up to 9 UV sets

Increase UV set from 6 to 9, see #10556

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

@JulienIcon, can you share an example of assets relying on as many UV sets ? I am genuinely wondering if we should support it natively or if we should rely on NME in this case ?

Closing for now. If the use-case exists please reopen this PR.
Also - I am not sure why you changed the version string (and added ICON), but this won't be approved anyhow :-)


docs/Readme.md had invalid link paths.

Looks like a simple copy/paste error from this readme being in root.

Thank you!

It doesn’t work unfortunately, if you open Readme.md links will be wrong.
https://github.com/sapegin/react-styleguidist/commit/a2c1c5f5c8212f5fcf62ceef31bd5e2a06bad9a8
https://github.com/sapegin/react-styleguidist/commit/3f22944defa7cffaa537cf9a3c1a1bcc27bb890c

The links on master are now working for me.  @sapegin is there something I am missing?

That’s weird. Looks like I did the same and it wasn’t working. Now everything is fine ;-)


Kodicheck a bit buggy on leia

After pausing a video kodicheker doesn't turn off the led.
I assume it might be due to changes in JSON-RPC API/v9 that's been introduced in Leia
I'm using the latest stable OSMC on RPi3b+
I've tried the latest version from HyperCon and also pulled/built the latest version from github
$/usr/bin/hyperiond /etc/hyperion/hyperion.config.json
Hyperion Ambilight Deamon (12431)
	Version   : master (brindosch-c750c41/dc6a602-1522918225
	Build Time: May 14 2019 20:14:25

My hyperion.config.json:
	"xbmcVideoChecker" :
	{
		"xbmcAddress" : "<IP_ADDRESS>",
		"xbmcTcpPort" : 9090,
		"grabVideo" : true,
		"grabPictures" : true,
		"grabAudio" : true,
		"grabMenu" : true,
		"grabPause" : true,
		"grabScreensaver" : false,
		"enable3DDetection" : false
	},

Could you set Kodi to debug logging and post the output when the Kodichecker takes into effect (pausing / stop etc..), we have some version checks in the current Kodi addon so can apply needed fixes for Leia in specific if need be just need to know what they changed of course :)

There was a change to add Player.OnResume
https://github.com/xbmc/xbmc/commit/5554edd9615ad0f01f2e87411627a2f5b08189ff#diff-776109f26a56c80bd8fe22555bedb6e2

I switched to debug mode so here my logs:
Kodi logs play/pause start at 2019-08-18 12:36:02.213 T:1915684400
kodi.logs.txt
Logs for kodicheck:
KODICHECK INFO: switching to PAUSE mode
KODICHECK INFO: switching to MENU mode
KODICHECK INFO: switching to VIDEO mode
KODICHECK INFO: switching to PAUSE mode
KODICHECK INFO: switching to MENU mode

But hyperion doesn't stop the effect in the PAUSE mode

I fixed this and sent a pull request
https://github.com/hyperion-project/hyperion/pull/823

Thank you guys, everything works fine :)


Support non-object types in compositions

Add support for non-object types in compositions (oneOf, anyof, allOf).

Supported cases:

Single allOf reference: https://github.com/muehmar/gradle-openapi-schema/issues/263


[feature] Update refs in byob-doc repo

Some of the workflows still use @main. Let's change to v1.8.0

Done.


Improve the plain ascii output

I really like that listr produce by default useful output when redirected to file:
[05:30:10] Upgrading last deals [started]
[05:30:13] Upgrading last deals [completed]
[05:30:13] Find unsaved measures [started]
[05:30:35] Find unsaved measures [completed]
[05:30:35] Saving measures [started]
[05:30:35] Saving measures [completed]
[05:30:35] All measures saved [started]
[05:30:35] All measures saved [completed]

But since I append it to a log file, I would need at least the date to appear before the hour. If we could customize the format with an option or something it would be beautiful...

Yes that would be nice. It should be added as an option to the verbose-renderer. I don't want to add momentjs because I it's quite bloated in my opinion. So I think I will go with date-fns/format. What do you think about something like this?
const listr = new Listr([], {
    renderer: 'verbose',
    dateFormat: 'YYYY-MM-DD HH:mm:ss'
})

Added in v0.11.0 (https://github.com/SamVerschueren/listr-verbose-renderer#options)

@SamVerschueren  great, thank you!


Rust 1.83

The goal of updating the rust library is to be able to use Mldsa from
rustCrypto repo: https://github.com/RustCrypto/signatures/pull/877
The goal of using this code is to replace openssl to generate TBS and
CSR tempaltes. Openssl does not yet support Mldsa
The minimum required rust version is 1.81.
It looks like this toolchain needs a lot more stack than 1.70.
Rust 1.83 warns about unused stuff a lot more often which is addressed
in this commit.
This also updates DPE to compile without warnings and errors.
The changes are on github.com/caliptra-dpe but is not in the main
branch.

Can you update the PR description with the motivation for doing this?
In general, all PRs should have descriptions.

Can you update the PR description with the motivation for doing this?
In general, all PRs should have descriptions.
Also, this PR seems to have 2 classes of changes:

Things required because the compiler version changed (e.g. formatting, new clippy annotations)
Things that leverage new rust features that are now available.

Ideally all the things in (2) would be in a separate PR.

This PR only attempts to fix warnings and errors with the newer toolchain. I added some motivation documentation to the PR.

This update appears to add a panic because Rust can't prove the indexes are correct in a ufmt macro. This should fix it I think:
diff --git a/drivers/src/printer.rs b/drivers/src/printer.rs
index 4b6d86c9..45f47e23 100644
--- a/drivers/src/printer.rs
+++ b/drivers/src/printer.rs
@@ -68,8 +68,19 @@ impl uDisplay for HexBytes<'_> {
     where
         W: uWrite + ?Sized,
     {
-        for byte in self.0.iter() {
-            ufmt::uwrite!(f, "{:02X}", *byte)?;
+        for &x in self.0.iter() {
+            let c = x >> 4;
+            if c < 10 {
+                f.write_char((c + b'0') as char)?;
+            } else {
+                f.write_char((c - 10 + b'A') as char)?;
+            }
+            let c = x & 0xf;
+            if c < 10 {
+                f.write_char((c + b'0') as char)?;
+            } else {
+                f.write_char((c - 10 + b'A') as char)?;
+            }
         }
         Ok(())
     }


Update router DSL extension to support canary.

Liquid-fire was broken on ember canary due to this refactoring: https://github.com/emberjs/ember.js/commit/51d80c25a8056a1ae57e130e94632b2db9f4ee52

I imagine this should check for the existence of _initRouterJs first and only do the new thing if that's present, otherwise it breaks on non-canary Ember.

Yes, please try to update this so it works both before and after that ember change. Travis should tell you if you've succeeded.

It looks like this won't fix the issue, _initRouterJs is an instance method, but the map being overridden is a class method. I've submitted a separate pull request in #155 which should do the trick for this particular issue.


Segmentation fault when providing 1 argument.

This check here tries to ensure that the user provided two arguments but checks if the length of args is 2, but the first argument is always the path to the executable binary.  Changing the check to ensure that the length of args is less than 3 should fix this.

No worries, I appreciate you taking the time to look over my code


Cacheability of compileJava-Task not given in a multi project with dependency substitution and java-library-plugin

In our java-multi-project build we are using the dependency substitution (as documented in "Conditionally substituting a dependency") to make sure, a developer does not have to checkout all subprojects, but only the ones he is working on ("sparse checkout"):

projects, which exists in the local workspace, are referenced as a project-dependency.
projects, which do not exists in the local workspace, are referenced as a module-dependency and therefore downloaded from a repository.

Additionaly we are using a remote-build-cache, which is filled by our CI-build. The CI-build always works with a fully checked out workspace. So all subprojects are built. The local builds are pulling from this remote-build-cache.
Recently we switched from the java-Plugin to the java-library-Plugin. Since then the cacheability of the compileJava-Task is not given anymore, when using a sparse-checkout. With the java-plugin a compileJava-Task had the jar-Files of all projects, it depends on, in it's compile classpath. This behaviour changed with the java-library-plugin: instead of a jar-File a projects "build/classes" folder is now used inside the compile classpath.
This breaks the cacheability of the compileJava task in local builds, because the compile classpath differs from the on from the CI-Build:

As a workaround we set the System-Property "org.gradle.java.compile-classpath-packaging" to true, as documented in the Java-Library-Doc. Therefore the compileJava-Tasks uses jars instead of class folders, as the java-plugin did. But it is documented to only "activate this if you suffer from the described performance issue on Windows".
Expected Behavior
The cacheability should be given, because the class-files inside the jar are binary identical to the ones inside the classes folder.
Current Behavior
The cacheabililty is not given, because the compile classpath differs.
Steps to Reproduce
Extract the attached tar.gz file gradle-multi-project-cache-sample.tar.gz:
./gradlew clean build showClasspath publishToMavenLocal --build-cache

// output shows that projectB uses projectA's classes folder
// projectB: (...)/gradle-multi-project-cache-sample/projectA/build/classes/java/main

// "Remove" a Project to simulate a sparse checkout:
mv projectA projectA-backup

// Build of the "sparse-workspace", as a developer does:
./gradlew clean build showClasspath publishToMavenLocal --build-cache

// output shows that projecB:compileJava is not FROM-CACHE and uses projectA's jar file from the local maven-repo:
// projectB: (...)/.m2/repository/org/sample/projectA/1.0/projectA-1.0.jar

Your Environment
Build scan URL of a Build with complete workspace: https://scans.gradle.com/s/dwdlojcav4b7u
Build scan URL of a Build with sparse workspace: https://scans.gradle.com/s/riqmfnuuhg6zg

@lschwahn Using the "classes" instead of the "jar" is an optimisation that improves performance on Unix/Linux systems for large projects.
What you are doing is a quite specific setup (using maven local as alternative to local projects). It's fine, but then you also need to deal with the sideffects.
I would say using org.gradle.java.compile-classpath-packaging=true option to make sure "Jar"s are used everywhere is the solution for you.
In the doc it says "recommended" if you suffer performance issues on Windows. It does not mean you cannot use it to solve other special cases like yours.
Note: The "conditional subsitution" is an outdated pattern - see note on top of the Customizing resolution of a dependency directly section. It was written before the build cache even existed. Now that you use the remote build cache, maybe you do not need to do this at all and can just clone the whole project and rely only on the build cache?
There is nothing we can or plan to do to make this setup produce a cache hit. Hence I am closing the issue.


[ModelRunner] Fix stop & bad word list pointer offset.

In regression tests of the ModelRunnerCpp vs ModelRunner we noticed that the stop_words_list feature does not work properly for the ModelRunner and batch_size > 1. Depending on the input we get incorrect results or Cuda Runtime Errors (misaligned address). Looking at the relevant code, it seems that the pointer offsets for stop_words_list_ptrs (and also bad_words_list_ptrs) don't take into account the size of the tensor entries. This PR fixes this issue by multiplying the offset by the element size.

This has already been picked up by @syuoni and will be released to Github next week.


error is not returned as expected

https://github.com/crossplane/addon-oam-kubernetes-local/blob/ed2006d2fe040237d332e8af94878421000fb055/pkg/controller/core/traits/manualscalertrait/manualscalertrait_controller.go#L141
If there's error returned from client.Get, it will not be returned because of errors.Wrap in until.PatchCondition. fetchWorkload may always return nil error. Then downstream check for err != nil may make no more sense.

Can you help give a fix?

Can you help give a fix?

Yes, I will fix it.


NullPointerException in ListPreference

Hi, great library!
I ran into a NPE when updating the values array in a list preference. This happened during development, but could potentially happen in production as well if an update modified the values array. I think it would be better if the library silently falled back to a default value or no value at all in this case.
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.Object.equals(java.lang.Object)' on a null object reference         at de.mrapp.android.preference.AbstractListPreference.indexOf(AbstractListPreference.java:202)
https://github.com/michael-rapp/AndroidMaterialPreferences/blob/764b0177512d27d11406847bb44662036e0844b7/library/src/main/java/de/mrapp/android/preference/AbstractListPreference.java#L202

Oops, my bad. This was not due to having modified the values but I accidentally changed to an  from the  xml element.

Nevertheless, I made some changes to eliminate the chance of any NPE being thrown in that method. The changes are available in the new release 5.1.7.


[BUG] Krish Gupta's pfp on mods page hidden.

Description of the bug
@krshdev pfp on the mods page isn't showing up.
Please add screenshots (if applicable)

Add any other context about the problem here
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

I think I know a possible reason of this issue. Will have a look.

Yup, found the problem.. Making a PR to resolve.

krshdev new username of krish :)

krshdev new username of krish :)

Yeah, that's exactly what I found..

The issue doesn't seem to be fixed with #176 unless the website didnt get deployed with the commit
@shuklaritvik06 Please reopen.

New landing page is ready. We will fix this issue in the new landing..

New landing page is ready. We will fix this issue in the new landing..

ok!


Improve RepartitionExec for better query performance

Summary
The key to using multiple cores efficiently is related to query plan is paralleized. In DataFusion this often involves repartitioning data between partitions. This ticket describes ideas for improving the RepartitionExec operator so that DataFusion's performance scales more linearly with the number of cores.
Experiments @YjyJeff in  #6928 show that some part of RepartitionExec can be the bottleneck in certain queries. While we likely can't use the unbounded buffering approach of #6929 for the reasons @crepererum  explains in https://github.com/apache/arrow-datafusion/pull/6929#issuecomment-1637677431, there is clearly room to improve. Also, we have some earlier evidence from @andygrove in #5999 that scaling with core counts is a challenge.
Background
DataFusion (and most other commercial systems) uses the "Exchange Operator" [^1]  based approach to parallelism. I believe the exchange approach is so commonly implemented because it is simple to reason about, and works quite well in practice with sufficient engineering care.
[^1]: This model was first described in the 1989 paper Encapsulation of parallelism in the Volcano query processing system Paper which uses the term "Exchange" for the concept of repartitioning data across threads.
DataFusion's planner picks the target number of partitions and then RepartionExec redistributes RecordBatches to that number of output partitions.
For example, if DataFusion has target_partitions=3 (trying to us 3 cores) but scanning an input with 2 partitions, it makes a plan like this:
        ▲                  ▲                  ▲
        │                  │                  │
        │                  │                  │
        │                  │                  │
┌───────────────┐  ┌───────────────┐  ┌───────────────┐
│    GroupBy    │  │    GroupBy    │  │    GroupBy    │
│   (Partial)   │  │   (Partial)   │  │   (Partial)   │
└───────────────┘  └───────────────┘  └───────────────┘
        ▲                  ▲                  ▲
        └──────────────────┼──────────────────┘
                           │
              ┌─────────────────────────┐
              │     RepartitionExec     │
              │   (hash/round robin)    │
              └─────────────────────────┘
                         ▲   ▲
             ┌───────────┘   └───────────┐
             │                           │
             │                           │
        .─────────.                 .─────────.
     ,─'           '─.           ,─'           '─.
    ;      Input      :         ;      Input      :
    :   Partition 0   ;         :   Partition 1   ;
     ╲               ╱           ╲               ╱
      '─.         ,─'             '─.         ,─'
         `───────'                   `───────'

Note there There are alternative approaches, such as described in the Morsel-Driven Parallelism Paper, but other than the notable exception of DuckDB I don't know of any widely used engine that takes this approach. The major benefit to the morsel driven approach that I understand is that it can, in theory, respond better to dynamic resource changes (e.g. throttle down to use 2 cores when a high priority job comes in and then go back up to 8 cores when done).[^2]
[^2]:  We actually had a version of this approach as an experimental feature in DataFusion for a while but removed it as we found it didn't offer compelling enough performance improvement to justify the engineering effort.
The engineering challenge of the RepartitionExec is twofold:
Synchronization and Stalls
Given RepartitionExec is a synchronization point between multiple threads, without careful engineering the lock contention can become the bottleneck.
Also, without careful scheduling the consumers may "stall" waiting for data from a producer.
NUMA
Non Uniform Memory Access (NUMA) basically means that data that is "closer" to a core is faster to access. In practice what this means is that optimal performance is achieved when the same thread /core that produces data (e.g. decodes a RecordBatch from parquet), also then process it until the next pipeline breaking operation (e..g update the hash table). If one core produces the RecordBatch and another consumes it, additional memory latency is incurred.
Since the RepartitionExec is designed to shuffle data, it is very easy to destroy NUMA locality if care is not taken.
I believe the current  RoundRobin approach is not NUMA friendly. It will very likely decode some parquet data, put that batch in a queue, and then go and decode more parquet data (rather than return control to the operator that was waiting for it)
Idea 1: Buffering to the RepartitionExec
One idea, suggested by @Dandandan and @ozankabak in https://github.com/apache/arrow-datafusion/pull/6929#discussion_r1262258957 is to introduce some more (but not unbounded) buffering into the Repartition operator
For example, perhaps we could extend the existing DistributionSender to have a queue of RecordBatches (2 or 3 for example) rather than just a single Option<> so that it was possible to start fetching the next input immediately
https://github.com/apache/arrow-datafusion/blob/d316702722e6c301fdb23a9698f7ec415ef548e9/datafusion/core/src/physical_plan/repartition/distributor_channels.rs#L180-L182
Idea 2: Make RoundRobin more adaptive
Another idea would be to restructure the "RoundRobin" repartition strategy to be more adaptive. Currently each input evenly sends RecordBatches to each output partition and will return control via tx.send(Some(Ok(batch))).await.is_err() if any output partition is full.
We could potentially improve this logic rather than giving up control by attempting to find an output partition that is empty and filling it  (aka tx.try_send and if no space, try some other partitions)

👍 for this.
I poked around with removing the gate in the distribution channel implementation. My challenges with the gate implementation was high lock contention, as well as high memory usage when inputs are highly skewed (e.g. one channel received the bulk of the batches, but the gate still let batches in since other channels were empty).
Some experimentation here: https://github.com/GlareDB/arrow-datafusion/blob/repart-perf/datafusion/core/src/physical_plan/repartition/distributor_channels.rs. Note that this hangs on some of the repartition tests, so there's likely a bug in the futures logic.
With a high enough channel buffer size, we start to see similar performance increases seen in the flume pr:
┏━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query        ┃     main ┃ repart-perf ┃        Change ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1     │ 309.43ms │    309.24ms │     no change │
│ QQuery 2     │  47.65ms │     48.91ms │     no change │
│ QQuery 3     │ 129.55ms │    109.39ms │ +1.18x faster │
│ QQuery 4     │  81.07ms │     51.09ms │ +1.59x faster │
│ QQuery 5     │ 158.61ms │    123.25ms │ +1.29x faster │
│ QQuery 6     │  79.99ms │     80.40ms │     no change │
│ QQuery 7     │ 218.47ms │    202.31ms │ +1.08x faster │
│ QQuery 8     │ 184.88ms │    170.81ms │ +1.08x faster │
│ QQuery 9     │ 266.72ms │    212.60ms │ +1.25x faster │
│ QQuery 10    │ 207.46ms │    149.29ms │ +1.39x faster │
│ QQuery 11    │  44.44ms │     44.40ms │     no change │
│ QQuery 12    │ 150.27ms │    119.97ms │ +1.25x faster │
│ QQuery 13    │ 227.68ms │    229.70ms │     no change │
│ QQuery 14    │ 113.26ms │    111.97ms │     no change │
│ QQuery 15    │  81.23ms │     81.10ms │     no change │
│ QQuery 16    │  51.57ms │     51.50ms │     no change │
│ QQuery 17    │ 338.65ms │    305.00ms │ +1.11x faster │
│ QQuery 18    │ 379.12ms │    370.23ms │     no change │
│ QQuery 19    │ 233.23ms │    234.30ms │     no change │
│ QQuery 20    │ 132.11ms │    129.32ms │     no change │
│ QQuery 21    │ 324.30ms │    256.37ms │ +1.26x faster │
│ QQuery 22    │  50.06ms │     43.18ms │ +1.16x faster │
└──────────────┴──────────┴─────────────┴───────────────┘

(On an M2 Macbook Air)
Not trying to push for any one approach, and this was mostly just an experiment.

I have been dreaming about this -- I may try and bash out a prototype in the coming weeks
I find it a very interesting intellectual challenge "can we make a tokio based scheduler build a system that take into account NUMA and cache locality" -- I think we can and this would be an excellent opportunity to show it

That would be amazing @alamb very interested o see what you come up with :)

Also @wolffcm noted elsewhere that

I see a lot of DF plans that contain something like this:

    RepartitionExec: partitioning=Hash(...), input_partitions=12
      RepartitionExec: partitioning=RoundRobinBatch(12), input_partitions=2

At first I thought this was an unintentional artifact of how physical planning happens, but now it seems to me that the intention of the RoundRobin repartitioning is to ensure we paralellize the Hash repartitioning, which can be expensive because it looks at each row. Do I have that right?

I believe this is correct, and perhaps would be something to improve in any improvement

To add a little bit more context to the above, the RoundRobin repartitioning is added as part of the Repartition optimizer pass, and then the Hash repartitioning is added by EnforceDistribution (because a subsequent operator requires it)

The current plan to do round robin before hashing seems optimal to me, like @wolffcm I think also suggests? The other way around would reduce the parallelism of hashing.

I was thinking of a unified roundrobin / hashing repartitioner that was in terms of inputs / outputs. I may have mislead myself in my mind and will have to see how the code plays out

Some other notes from a DM I am bringing here for visibility:
DataFusions pattern can be described as a "classic pull scheduler with volcano style exchange operators":

pull scheduler == Tokio
and exchange operators == Repartition

My theory (which I would say not everyone agrees with yet) is that you can get all the claimed benefits of "morsel driven parallelism" (aka a push scheduler) from a "classic pull scheduler with exchange operators"
The claimed benefits of morsel driven parallelism of the classic approach are:

Better NUMA / cache locality
Near linear scaling (so if you double core count to 32 to 64 expect to see a linear 2x speed up)
Better runtime optimization by scaling up/down cores, but I think this is less important in the real world (as you most often run out of memory long before you run out of CPU)

Basically I think it is totally reasonable for DataFusion to scale linearly to high core counts -- like 128 / 256. I just need to prove that is the case and I suspect it will take some finagling with the current Repartitioning code

With the current architecture, I think the easiest thing to do here is probably to not try to have a one-to-one mapping of task to core, and lean into tokio for scheduling to try to get good resource utilization.
I did a quick experiment for this by increasing the number of partitions to use in the repartition optimization rule. Currently it gets set to target_partitions, and I just multiplied it by 3.
The diff:
diff --git a/datafusion/core/src/physical_optimizer/repartition.rs b/datafusion/core/src/physical_optimizer/repartition.rs
index aa48fd77a..b4ef8c3a2 100644
--- a/datafusion/core/src/physical_optimizer/repartition.rs
+++ b/datafusion/core/src/physical_optimizer/repartition.rs
@@ -288,7 +288,7 @@ impl PhysicalOptimizerRule for Repartition {
         plan: Arc<dyn ExecutionPlan>,
         config: &ConfigOptions,
     ) -> Result<Arc<dyn ExecutionPlan>> {
-        let target_partitions = config.execution.target_partitions;
+        let target_partitions = config.execution.target_partitions * 3;
         let enabled = config.optimizer.enable_round_robin_repartition;
         let repartition_file_scans = config.optimizer.repartition_file_scans;
         let repartition_file_min_size = config.optimizer.repartition_file_min_size;

And some benchmarks using TPCH SF=10
Macbook air m2:
Comparing main and three
--------------------
Benchmark tpch.json
--------------------
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query        ┃      main ┃     three ┃        Change ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1     │ 3615.39ms │ 1745.94ms │ +2.07x faster │
│ QQuery 2     │  447.68ms │  450.67ms │     no change │
│ QQuery 3     │ 1320.39ms │  730.22ms │ +1.81x faster │
│ QQuery 4     │  726.73ms │  394.54ms │ +1.84x faster │
│ QQuery 5     │ 1619.80ms │ 1064.71ms │ +1.52x faster │
│ QQuery 6     │  741.31ms │  371.64ms │ +1.99x faster │
│ QQuery 7     │ 3269.57ms │ 2528.63ms │ +1.29x faster │
│ QQuery 8     │ 1972.34ms │ 1200.81ms │ +1.64x faster │
│ QQuery 9     │ 3032.73ms │ 2252.82ms │ +1.35x faster │
│ QQuery 10    │ 2045.88ms │ 1381.35ms │ +1.48x faster │
│ QQuery 11    │  466.09ms │  484.14ms │     no change │
│ QQuery 12    │ 1400.27ms │  652.58ms │ +2.15x faster │
│ QQuery 13    │ 2088.00ms │ 1181.92ms │ +1.77x faster │
│ QQuery 14    │ 1047.22ms │  551.92ms │ +1.90x faster │
│ QQuery 15    │  802.09ms │  650.86ms │ +1.23x faster │
│ QQuery 16    │  429.19ms │  418.61ms │     no change │
│ QQuery 17    │ 4392.38ms │ 4516.79ms │     no change │
│ QQuery 18    │ 7849.27ms │ 7245.33ms │ +1.08x faster │
│ QQuery 19    │ 2180.33ms │ 1012.43ms │ +2.15x faster │
│ QQuery 20    │ 1657.01ms │ 1110.12ms │ +1.49x faster │
│ QQuery 21    │ 3867.34ms │ 3671.96ms │ +1.05x faster │
│ QQuery 22    │  490.25ms │  443.54ms │ +1.11x faster │
└──────────────┴───────────┴───────────┴───────────────┘

GCP n1 vm (8 cores/16 threads, 60G memory):
Comparing main and three
--------------------
Benchmark tpch.json
--------------------
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query        ┃       main ┃      three ┃        Change ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1     │  8947.17ms │  3274.31ms │ +2.73x faster │
│ QQuery 2     │  1562.68ms │  1519.65ms │     no change │
│ QQuery 3     │  3839.36ms │  1758.32ms │ +2.18x faster │
│ QQuery 4     │  1995.52ms │   967.04ms │ +2.06x faster │
│ QQuery 5     │  4906.24ms │  2933.39ms │ +1.67x faster │
│ QQuery 6     │  1941.19ms │   710.94ms │ +2.73x faster │
│ QQuery 7     │  9391.94ms │  6423.27ms │ +1.46x faster │
│ QQuery 8     │  5503.67ms │  2735.65ms │ +2.01x faster │
│ QQuery 9     │  8840.15ms │  6129.22ms │ +1.44x faster │
│ QQuery 10    │  5807.23ms │  3804.27ms │ +1.53x faster │
│ QQuery 11    │  1699.21ms │  1744.50ms │     no change │
│ QQuery 12    │  2993.60ms │  1277.92ms │ +2.34x faster │
│ QQuery 13    │  4907.55ms │  2585.08ms │ +1.90x faster │
│ QQuery 14    │  2633.90ms │  1114.95ms │ +2.36x faster │
│ QQuery 15    │  2085.41ms │  1176.97ms │ +1.77x faster │
│ QQuery 16    │  1683.76ms │  1572.89ms │ +1.07x faster │
│ QQuery 17    │  7322.44ms │  6412.73ms │ +1.14x faster │
│ QQuery 18    │ 15950.64ms │ 16131.98ms │     no change │
│ QQuery 19    │  4936.98ms │  1834.62ms │ +2.69x faster │
│ QQuery 20    │  5126.77ms │  3039.32ms │ +1.69x faster │
│ QQuery 21    │ 14114.41ms │  9196.05ms │ +1.53x faster │
│ QQuery 22    │  1449.16ms │  1206.74ms │ +1.20x faster │
└──────────────┴────────────┴────────────┴───────────────┘

@scsmithr  this is great data -- thank you  -- and it does imply there is substantial headroom for performance improvement by using more cores. t is interesting that some queries go 2x as fast -- it is almost like the default value for target_partitions was 1/2 the actual available cores
However, the config seems to be doing the right thing:
https://github.com/apache/arrow-datafusion/blob/ba51b6a334de813a2b90998b72f14281460e8f06/datafusion/common/src/config.rs#L218
🤔

That's very interesting, do you have an idea what may be going on @alamb?

Much of the improvement here is from repartitioning in the ParquetExec. Since that's io bound, having more tasks than cores improves resource utilization if that's what the rest of query is waiting on. It might be reasonable to introduce a io_target_partitions config variable specifically for repartitioning at the io layer.

Makes sense 👍

@scsmithr  how did you get the numbers you report in https://github.com/apache/arrow-datafusion/issues/7001#issuecomment-1675625184 ?
I believe the benchmarks default to using only 2 cores: https://github.com/apache/arrow-datafusion/blob/ed85abbb878ef3d60e43797376cb9a40955cd89a/benchmarks/src/options.rs#L29-L31
So if you ran the tests without specifying --partitions 16 or whatever they probably aren't using eveything
I wonder if we should increase the default number of partitions to the core count in the benchmarks 🤔

So if you ran the tests without specifying --partitions 16 or whatever they probably are only using 2 cores

Yep completely missed that option. I was running ./benchmarks/bench.sh run tpch10 without setting this flag. Setting --partitions 8 on my macbook negates any improvement.
I'm coming at this with trying to speed up reading unpartitioned parquet files from GCS, and there's improvements when setting target partitions beyond number of cores. The above benchmark numbers were me trying to see if that applied generally, and not just in this specific case. Turns out, it doesn't apply generally... still investigating why I'm seeing speed ups with GCS.

I wonder if we should increase the default number of partitions to the core count in the benchmarks 🤔

Would making partitions an Option make sense? If unset, default to whatever is the default in the session config. I had incorrectly assumed that this is what would happen when running bench.sh.

Would making partitions an Option make sense? If unset, default to whatever is the default in the session config. I had incorrectly assumed that this is what would happen when running bench.sh.

I think it would make sense as it better reflects the default configuration DataFusion is run in. I wonder if the benchmarks originally were trying to isolate the specific algorithms and avoid the additional noise that multi-cores brought. However, given that they run with 2 cores now it seems they get the worst of both worlds
@scsmithr  do you have time to make a PR with that change?

I'm currently running some experiments with this - hope to have some results later today.

Doing experiments in https://github.com/apache/datafusion/pull/13699 if anyone is interested, results seem to look very promising (need to double check).

This is for TPC-H SF=1:
┏━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query        ┃     main ┃ repartition_exec_poc ┃        Change ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1     │ 128.14ms │             104.67ms │ +1.22x faster │
│ QQuery 2     │  55.15ms │              37.12ms │ +1.49x faster │
│ QQuery 3     │  57.28ms │              56.86ms │     no change │
│ QQuery 4     │  39.74ms │              37.97ms │     no change │
│ QQuery 5     │  77.21ms │              75.23ms │     no change │
│ QQuery 6     │  21.25ms │              22.48ms │  1.06x slower │
│ QQuery 7     │  93.89ms │              88.99ms │ +1.06x faster │
│ QQuery 8     │  80.49ms │              71.86ms │ +1.12x faster │
│ QQuery 9     │ 115.25ms │             101.68ms │ +1.13x faster │
│ QQuery 10    │  97.48ms │             106.67ms │  1.09x slower │
│ QQuery 11    │  40.27ms │              25.46ms │ +1.58x faster │
│ QQuery 12    │  54.96ms │              48.50ms │ +1.13x faster │
│ QQuery 13    │ 121.18ms │              82.66ms │ +1.47x faster │
│ QQuery 14    │  37.72ms │              40.23ms │  1.07x slower │
│ QQuery 15    │  49.46ms │              48.15ms │     no change │
│ QQuery 16    │  36.71ms │              24.40ms │ +1.50x faster │
│ QQuery 17    │ 111.15ms │             100.77ms │ +1.10x faster │
│ QQuery 18    │ 167.05ms │             152.32ms │ +1.10x faster │
│ QQuery 19    │  66.07ms │              59.23ms │ +1.12x faster │
│ QQuery 20    │  58.43ms │              59.72ms │     no change │
│ QQuery 21    │ 133.90ms │             119.76ms │ +1.12x faster │
│ QQuery 22    │  36.96ms │              28.42ms │ +1.30x faster │
└──────────────┴──────────┴──────────────────────┴───────────────┘

It seems the improvement comes not from the adaptivity but from improved balancing, so I'm probably opening a simplified PR with similar improvement.