Rename rsync__excludes to rsync__exclude

I know that custom sync folders implementation has been returned only temporarily, but it was a bit confusing to me that there is a slight difference in RSync usage.
With pure Vagrant, we can exclude certain directories from being synced by setting rsync__exclude option:
Vagrant.configure(2) do |config|
  config.vm.synced_folder '.', '/vagrant', type: 'rsync', rsync__exclude: %w[.git/]
end

With vagrant-google, the same can be done using rsync_excludes (note trailing "s"):
Vagrant.configure(2) do |config|
  config.vm.synced_folder '.', '/vagrant', type: 'rsync', rsync__excludes: %w[.git/]
end

I'm not sure what exactly should be done here since custom implementation is to be removed and maybe rsync_excludes is already used by a lot of people so we cannot just rename it, but for the sake of someone looking for this (or just going over issues list), I think it makes sense to post this.

@p0deje This should be fixed, new release that uses built-in rsync is now available.

Thank you!


Parallel sum results 0 when reducing a vector of size 1024 * 1024

very weird.
It somewhat works when the size is 1024 but fail if it's 1024 * 1024

Solver by changing the parallel reduction algorithm


GIT_REPOSITORY_URL logo

I'd like to suggest to change the logo used for GIT_REPOSITORY_URL from the Git logo (favicon for the official Git documentation, Git book) to one that reflects the platform that code is hosted on, in our case: the GitHub logo.
This reflects icon usage for code hosting platforms/linkage to repos across the web.
If we want to use a generic fallback, maybe we can find a logo that's not already associated with one very specific website, i.e. the one linked above, as that's confusing.

The not-orange version of the Git logo would already be somewhat better than the orange one.

Maybe we can find a variation on the theme of nodes/lines, which techies will recognise as representation of code/commits but which can't be confused with a particular tool or website. Non-free example.

to one that reflects the platform that code is hosted on

we can not know on which platform a project that uses apis-core-rdf is hosted on

This reflects icon usage for code hosting platforms/linkage to repos across the web.

feel free to cite your sources

If we want to use a generic fallback, maybe we can find a logo that's not already associated with one very specific website, i.e. the one linked above, as that's confusing.

the logo is the official git logo. its associated with the website you linked to, because thats the official git website.

we can not know on which platform a project that uses apis-core-rdf is hosted on

True. Neither can we know if such a project ultimately uses Git for version control.
The Material Symbol for code could be used as more neutral alternative. The symbol for folder data would likely also be understood. CODE_REPOSITORY, REPOSITORY_URL  or simply REPOSITORY (wording used by PyPI, Poetry) would make for less opinionated variable names.

we can not know on which platform a project that uses apis-core-rdf is hosted on

True. Neither can we know if such a project ultimately uses Git for version control.

But we can be pretty sure about it (i.e. of all the Debian package sources roughly 63% of the upstream sources use git, the remaining 37% are distributed over 7 different version control systems). Also all acdh projects use git, both on github and on a self hosted gitlab.


conformance: don't require k8s version v1.21

What type of PR is this?
/kind test
/area conformance
What this PR does / why we need it:
Makes it possible to pass the tests on k8s before v1.21, which is the first version the kubernetes.io/metadata.name label is set automatically. Might be worth noting that use of arbitrary labels like this is somewhat unsafe, but it serves to test implementations nevertheless.
Does this PR introduce a user-facing change?:

NONE

1.21 is pretty out of date - it was EOL almost a year ago 2022-06-28
https://kubernetes.io/releases/patch-releases/#non-active-branch-history

1.21 is pretty out of date - it was EOL almost a year ago 2022-06-28
https://kubernetes.io/releases/patch-releases/#non-active-branch-history

I won't disagree that it's out of date but the FAQs explicitly mention 1.16/1.19 and I don't think keeping this test as is a good reason to break that compatibility. It seems unintentional here more than anything else.

Yeah we definitely need some docs updates here, thanks for catching this! The desired state is defined in our versioning guidelines within the "Supported Versions" section: https://gateway-api.sigs.k8s.io/concepts/versioning/#supported-versions.
In there we commit to supporting "a minimum of the most recent 5 Kubernetes minor versions". I'd interpret that as supporting the following versions today:

1.22
1.23
1.24
1.25
1.26

Kubernetes 1.27 is going to be released in a few weeks which would result in 1.22 dropping off the list of versions we're required to support. I've filed https://github.com/kubernetes-sigs/gateway-api/issues/1862 to help make our docs around this more consistent.

Yeah we definitely need some docs updates here, thanks for catching this! The desired state is defined in our versioning guidelines within the "Supported Versions" section: https://gateway-api.sigs.k8s.io/concepts/versioning/#supported-versions.
In there we commit to supporting "a minimum of the most recent 5 Kubernetes minor versions". I'd interpret that as supporting the following versions today:

1.22
1.23
1.24
1.25
1.26

Kubernetes 1.27 is going to be released in a few weeks which would result in 1.22 dropping off the list of versions we're required to support. I've filed #1862 to help make our docs around this more consistent.

Nice, yeah I couldn't find that in the docs either for some reason. It feels a bit of a shame to break compatibility for this but I'll close this PR


[Bug]: B-Frames + AdaptiveCQM result in bad output

Which component impacted?
Encode
Is it regression? Good in old configuration?
No, this issue exist a long time
What happened?

In Linux (Ubuntu 23.10 to be specific), compile latest OBS-Studio with VPL Pull Request merged.
Select QuickSync H.264 encoder in Recording tab.
Turn on B-Frames by raising the value + enable "Subjective video enchantments".
Start recording something with heavy movement (e.g. game with lots of screen effects).
The output video will be garbled/unplayable at those heavy movement scenes.

GPU: Intel Arc A380
Compiled OBS-Studio from commit e02f782bc62f0497e118316871ba1d15f6b5a6be
What's the usage scenario when you are seeing the problem?
Content Creation, Game Streaming
What impacted?
No response
Debug Information
intel-media-va-driver-non-free/mantic,now 23.2.3+ds1-1 amd64
libigdgmm12/mantic,now 22.3.9+ds1-1 amd64
libva-dev/mantic,now 2.18.0-1 amd64
libva-drm2/mantic,now 2.18.0-1 amd64
libva-glx2/mantic,now 2.18.0-1 amd64
libva-wayland2/mantic,now 2.18.0-1 amd64
libva-x11-2/mantic,now 2.18.0-1 amd64
libva2/mantic,now 2.18.0-1 amd64

ls /dev/dri
by-path  card0  renderD128

vainfo.log
traces.zip
Do you want to contribute a patch to fix the issue?
None

Bad output video in question:
badOutputVideo.zip
Please let me know if source video is needed to help recreate issue.

Auto Created VSMGWL-67521 for further analysis.

Closing as this was the fault of the used program due to incorrect oneVPL API usage.


Adds a user interface to Features when running in Testflight or Debug environments

Close: #3623
Allows Features to be turned on and off while in the app. This can be accessed in Settings > Features (look in the System section).

Force pushed after rebase master

@eviltofu Yeah, thanks. I think we can summarize it as something like this:

Somewhat easy to add a flag (and not get it wrong)
A bit of duplicate code to add a flag is not so bad as long as it's easy to copy (point above)
A bit more verbose in the Features implementation is fine

New attempt. This time to add a flag, you need to add an entry in FeaturesAvailable enum. In the enum, you need to specify the default value.
enum FeaturesAvailable: String, CaseIterable, Codable {
...
    case .enum
...
var defaultValue: Bool {
...
    case .enum:
        return false

To use:
Features.default.isAvailable(.enum)
@hboon

I also note that some enums (.is24SeedWordPhraseAllowed) is no longer used. Should I file an issue to remove them?

I also note that some enums (.is24SeedWordPhraseAllowed) is no longer used. Should I file an issue to remove them?

@eviltofu yes sure. But also good to verify if that’s an error.

Ok to merge? @hboon

@eviltofu not check yet. Checking…

Can you help move the Features cell into Settings > Advanced?
Remove the commit for "Updated and sorted Localizable strings". It's not related and not sure we want to change it anyway
Can you help move Features.swift, FeaturesTableViewController.swift etc into a new folder at AlphaWallet/Features?
Then we can merge. Didn't check very carefully. I assumed you tested :)

I added in the features title or we don't need that to be multi-lingual? @hboon

Oh yes. We want that. But don’t change the other lines in those localisation files.

BTW, Package.resolved should not have changed too (or maybe this is based on an old branch?)

BTW, Package.resolved should not have changed too (or maybe this is based on an old branch?)

What should the origin be? I see
 {
      "identity" : "walletconnectswiftv2",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/oa-s/WalletConnectSwiftV2",
      "state" : {
        "revision" : "5f795d34fda6eb907803932c567af97c88a56e55"
      }
    }

should the url be https://github.com/WalletConnect/WalletConnectSwiftV2 instead? @hboon

BTW, Package.resolved should not have changed too (or maybe this is based on an old branch?)

When I compared it with the previous commit, it showed that the previous file was empty??? @hboon Waiting on this resolution before merging.

@eviltofu I see. It should be here: AlphaWallet.xcworkspace/xcshareddata/swiftpm/Package.resolved, not the project.

@eviltofu I see. It should be here: AlphaWallet.xcworkspace/xcshareddata/swiftpm/Package.resolved, not in the project file

Deleted it.


Add netcat to the list of default_packages

We should add netcat to the list of packages to install with default_packages since it is used in many service checks.

Netcat is installed with nc package which is installed
https://github.com/TOSIT-IO/tdp-collection-prerequisites/blob/55cda26dd6788203f6e9a56a1ae3c39f71d016e9/roles/system/defaults/main.yml#L21


Share Cosmos SDK TransportClient instances with different ConnectionPolicy

Is your feature request related to a problem? Please describe.

CosmosClient allows to share TransportClient which shares the I/O resources, but there is no way to update the ConnectionPolicy parameters on the shared Transport Client.

Describe the solution you'd like

Share TransportClient instances with different ConnectionPolicy, if connectionPolicy instance passed by the end user is different from the other CosmosClient.

Can you elaborate in which scenarios customers would need two different connection policies for the same target account? I am wondering whether the right approach could be to expose the property/properties that need to be different in these cases as RequestOptions instead.

@FabianMeiswinkel - these are the cases where customer want to have different connection policy settings for different time period.
Like for heavy traffic days, they would like to update DirectConnectionConfig and GatewayConnectionConfig params (specially IdleTcpTimeout, IdleEndpointTimeout, etc.) and have the new / shared client come up with those settings.

This is less relevant now, given we are moving towards adaptive connection settings going forward. Building smarter SDK.


Add logging when adding files to index

Signed-off-by: Sanskar Jaiswal<EMAIL_ADDRESS>

PS: This PR is for debug purposes only and is to be merged into the change-index branch.


Its really easy to forget to include the cucumber-wire file

Just spent half an hour debugging my cuke, and the only reason i got it to work was beacuse I suddenly remember that its a thing. Not exactly user friendly.

Could we just generate the wire file somewhere cucumber will see it?

You mean, like when cuke runs drop the file in, and then when execution is complete we remove it?
We could definitely do that. I wonder if we could somehow ensure that the file gets deleted. In my personal use case, I ctrl-c the test run quite frequently, and that file might get left behind.
Its not a big deal, but I'm imagining someone using this and accidentally committing the wire file. I don't feel very strongly about this, but I'm thinking that #14 might be a more robust solution to this, esp if we get a cargo plugin for code generation.

Yes, at runtime, although I would not remove it, but just regenerate it each time start is called.
It could be set via a refresh_wire method in the create_config chain and thus be optional.
Personally, I would not mind if the generated wire would end up versioned (the current wire is on the vcs as well?), as long as no stale wires are used.
A template or project generator would be really cool, although I think that this is (mostly) orthogonal as it would keep the set address on both sides synchronized. I think this depends on how dynamic these addresses are.
I'm not heavily invested in this, it was just a suggestion that might be easily implemented.


        Subclasses of ``np.ndarray`` will be passed through as chunks unchanged.

        Parameters
        ----------
        a : array-like
            Input data, in any form that can be converted to a dask array.

        Returns
        -------
        out : dask array
            Dask array interpretation of a.

        Examples
        --------
        >>> import dask.array as da
        >>> import numpy as np
        >>> x = np.arange(3)
        >>> da.asanyarray(x)
        dask.array<array, shape=(3,), dtype=int64, chunksize=(3,)>

        >>> y = [[1, 2, 3], [4, 5, 6]]
        >>> da.asanyarray(y)
        dask.array<array, shape=(2, 3), dtype=int64, chunksize=(2, 3)>
        """
        if isinstance(a, Array):
            return a
        elif hasattr(a, "to_dask_array"):
            return a.to_dask_array()
>       elif hasattr(a, "data") and type(a).__module__.startswith("xarray."):
E       ValueError: cannot include dtype 'M' in a buffer


As a user, I want to see details of one item.

Components: ItemsList,GetDetails.
Procedure:

Once you select an item from {ItemList} it will render you to {GetDetails}.
Call  GET /:id/getDetails endpoint to get all the details related to the selected item.
Display the details!.


Several Console Errors.

Describe the bug
While running the app in the local server several console errors / warnings are shown in the console.
To Reproduce
Steps to reproduce the behavior:

Run the app locally using the command npm run dev
Open the console and check the errors / warnings

Expected behavior
The console must be free from warnings
Screenshots

Device Information [optional]:

OS: Linux - Debain
Browser : Firefox
Version 22

Additional context
Add any other context about the problem here.
Are you working on this issue? (Yes/No)
Yes

@tanmoysrt @Prerna-0202 Several console errors/warnings are noted this might be because of the old version of the font-awesome lib. ( 5.14.4 ) used in the project.
PTAL and assign this issue to me.
Thanks!

Hi @DhairyaMajmudar
There's already an existing issue for these warnings #188

Hi @DhairyaMajmudar
There's already an existing issue for these warnings #188

Thanks,  Shall I open a PR to solve this issue


AMBARI-24290 : Fix issues in AMS multiple cluster support.

What changes were proposed in this pull request?
Fix issues in Metrics collector and stack definitions to handle easy deployment of clusters pointing to an external metrics collector.
How was this patch tested?
Manually tested.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/3112/
Test FAILed.
Test FAILured.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/3114/
Test FAILed.
Test FAILured.

retest this please.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/3137/
Test PASSed.


[CO] Periodicity and axes reorganization

Hello,
I would like to reorganize periodicity and axes calculation to be able to introduce on-load SCIM in pyleecan and clarify default axes definition (in particular Time and Angle).
First machine.comp_periodicity() only makes sense for PMSM where spatial and time periodicities can be the same in case of sine current feeding. For on-load SCIM (non zero slip) there is no more time periodicities. For outer rotor PMSM time periodicities are no longer the same as spatial periodicity.
Besides, the way Time and Angle final values are defined is quite implicit at the moment and can be misleading. Angular final value is naturally 2*pi but time final value depends on simu.input.Nrev which is 1 by default. However if Nrev is not equal to 1, there may be no time periodicity anymore.
Finally, Time and Angle axes are currently initialized by Input.comp_axes() and then stored without periodicities in OutXXX.Time and OutXXX.Angle (at least OutElec and OutMag). However we may want to import electrical/magnetic data on DataFreq (for example current harmonics) and then OutXXX.Freqs would make more sense.
My proposal is to:

Split comp_periodicity() into comp_periodicity_spatial() in Machine/Laminations objects and comp_periodicity_time(is_anti_per, is_rotor_referential, slip) into MachineSync and MachineAsync objects. comp_periodicity_XXX() methods will give the periodicity with 2*pi as reference angular final value and p/f_elec as reference time final value.
Nrev remains in simu.input and is set to None by default. If Nrev is not None, then simu.input.comp_axes() will enforce Nrev*60/N0 as final time value, otherwise final time value is p/f_elec as given by simu.input.comp_felec(N0,slip) or enforced in simu.input.felec
Time and Angle axes are always defined as DataLinspace in simu.input.comp_axes(). They represent full time and angle values for the simulation and can be used for plotting. They are stored in out.geo.axes_dict to enable different kind of input axes (e.g. frequency axis).
Time and Angle axes are redefined in each physical model (such as in Magnetics.comp_axes()) depending on if periodicities are requested or not. Model.comp_axes() will assume that physical quantities are calculated on the smallest period to optimize calculation time and store periodicities in the axes. Then all quantities would be rebuilt by SciDataTool on the full axis values stored in out.geo.axes_dict.
Time and Angle axes are stored in axes_dict to pass all axes to model calculation, I propose rather to store axes_dict in OutXXX to be more generic, for example in case of frequency axis instead of time axis.
In case final time value does not match with p/f_elec, time periodicity must be deactivated in models which can be enforced in simu.check() or Input.gen_input().
We'll write an article on pyleecan website to settle these standards.

Please let me know if you have any questions.
Emile

To go further with improving how axes are handled in simulation, we have gathered all the main axes definition in Input.comp_axes() method : time, angle and phase along with normalizations following new SciDataTool format (cf PR on SciDataTool: https://github.com/Eomys/SciDataTool/pull/56)
Then Magnetics.comp_axes() and Force.comp_axes() methods just have to call Input.comp_axes() and tell if periodicities are requested or not in the model.

issue solved in PR #464


Add Additional Language Support

In a previous release, I modularized the project so it can leverage multiple different languages dynamically. I need help from people who speak those languages to fill out the excluded phrases and chapter separators so more people can use this tool.

Hello! How exactly could I help? I'm Greek and I have rudimentary coding knowledge(working on it) and would love to help if you could let me know how.

Sorry for the delay! I've been very busy unfortunately. I would be very happy to help you contribute Greek! The way I've done things is by creating a separate list of standard chapter break keywords, and another list of words that may contain parts of the words in the original list but are actually false positive results. Let me know if that makes sense, and if so, I'll send you a few examples of what it might look like!


chore: docs link fix

:tada: This PR is included in version 8.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Still Memory Error

I tried with 187 Mb of json data and boom! Still get the "Allowed memory size of xxx bytes exhausted (tried to allocate xx bytes)".

-Hi, could you please paste a code  and json snippet which produce this error?

It's too large, buddy. About 187MB (.json file) and i'm sorry can't give it to you because it's contain geometric coordinate for private use. I try many similar library but still not work.
I've solved the problem as i back to the traditional way by exploding the structure and it's kinda faster.

Thats why I said snippet, not the whole thing. Also, data can be anonymized.
Please look at #3, there is probably wrong usage at your side.

Okay please take a look to this snippet (as raw): https://gist.github.com/abydahana/ce2bec53908bc8c181c2ce0d55f11b91
I have "features" object as many as reached to 187MB.

Thats why I said snippet, not the whole thing. Also, data can be anonymized.
Please look at #3, you most likely use it wrong...

No i compared to fewer data and it's work.

Thanks. As I've posted earlier, could you please provide also php code snippet? I cannot point you into right direction without it.

In short, your json pointer should be "/features":
foreach (JsonMachine::fromFile("data.json", "/features") as $feature) {
    var_dump($feature["type"]);
}

Is this still relevant @abydahana?

Maybe similar to #24? Closing for now. Feel free to open it again if needed.

Another solution proposed in Troubleshooting.


Calling $.native.selectCoarseLocation() fails on devices with Android <11 and iOS <14

Is there an existing issue for this?

[X] I have searched the existing issues

Steps to reproduce
Call $.native.selectFineLocation() or $.native.selectCoarseLocation() on iOS and Android devices (either physical or virtual) running Android <11 (API 30) or iOS <14.
Actual results
Calls to selectFineLocation()/selectCoarseLocation() fail on devices with Android 11 and older (API 30 and below).
This can be fixed easily:
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.S) {
    Logger.i("Ignored selectFineLocation() because it's only available on Android 10+")
    return
}

Logs

Logs
04-23 17:08:19.755 13716 13740 I flutter : Patrol (native): selectCoarseLocation() started
04-23 17:08:30.079 13716 13740 I flutter : Patrol (native): selectCoarseLocation() failed
04-23 17:08:30.244 13716 13740 I flutter : ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
04-23 17:08:30.244 13716 13740 I flutter : The following PatrolActionException was thrown running a test:
04-23 17:08:30.244 13716 13740 I flutter : Patrol action failed: GrpcError: selectCoarseLocation() failed with code NOT_FOUND (selector button
04-23 17:08:30.244 13716 13740 I flutter : to select coarse location found nothing)
04-23 17:08:30.244 13716 13740 I flutter :
04-23 17:08:30.244 13716 13740 I flutter : When the exception was thrown, this was the stack:
04-23 17:08:30.244 13716 13740 I flutter : #0      NativeAutomator._wrapRequest (package:patrol/src/native/native_automator.dart:200:7)
04-23 17:08:30.244 13716 13740 I flutter : <asynchronous suspension>
04-23 17:08:30.244 13716 13740 I flutter : #1      NativeAutomator.selectCoarseLocation (package:patrol/src/native/native_automator.dart:705:5)
04-23 17:08:30.244 13716 13740 I flutter : <asynchronous suspension>
04-23 17:08:30.244 13716 13740 I flutter : #2      main.<anonymous closure> (file:///Users/bartek/dev/leancode/patrol/packages/patrol/example/integration_test/permissions/permissions_location_test.dart:17:9)
04-23 17:08:30.244 13716 13740 I flutter : <asynchronous suspension>
04-23 17:08:30.244 13716 13740 I flutter : #3      patrolTest.<anonymous closure> (package:patrol/src/common.dart:114:7)
04-23 17:08:30.244 13716 13740 I flutter : <asynchronous suspension>
04-23 17:08:30.244 13716 13740 I flutter : #4      testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:171:15)
04-23 17:08:30.245 13716 13740 I flutter : <asynchronous suspension>
04-23 17:08:30.245 13716 13740 I flutter : #5      TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:935:5)
04-23 17:08:30.245 13716 13740 I flutter : <asynchronous suspension>
04-23 17:08:30.245 13716 13740 I flutter :
04-23 17:08:30.245 13716 13740 I flutter : The test description was:
04-23 17:08:30.245 13716 13740 I flutter :   accepts location permission
04-23 17:08:30.245 13716 13740 I flutter : ════════════════════════════════════════════════════════════════════════════════════════════════════
04-23 17:08:30.246 13716 13740 I flutter : 00:13 +1: permissions permissions_location_test.dart accepts location permission [E]
04-23 17:08:30.246 13716 13740 I flutter :   Test failed. See exception logs above.
04-23 17:08:30.246 13716 13740 I flutter :   The test description was: accepts location permission
04-23 17:08:30.246 13716 13740 I flutter :

Patrol version
patrol: ^1.1.0
Patrol Doctor output

Patrol Doctor output
Patrol CLI version: 1.1.7
Program adb found in /Users/bartek/androidsdk/platform-tools/adb
Env var $ANDROID_HOME set to /Users/bartek/androidsdk
Program xcodebuild found in /usr/bin/xcodebuild
Program ideviceinstaller found in /opt/homebrew/bin/ideviceinstaller
Program ios-deploy found in /opt/homebrew/bin/ios-deploy

Flutter Doctor output

Flutter Doctor output
[✓] Flutter (Channel stable, 3.7.12, on macOS 13.3.1 22E261 darwin-arm64, locale en-PL)
    • Flutter version 3.7.12 on channel stable at /Users/bartek/fvm/versions/3.7.12
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 4d9e56e694 (6 days ago), 2023-04-17 21:47:46 -0400
    • Engine revision 1a65d409c7
    • Dart version 2.19.6
    • DevTools version 2.20.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
    • Android SDK at /Users/bartek/androidsdk
    • Platform android-33, build-tools 33.0.1
    • ANDROID_HOME = /Users/bartek/androidsdk
    • Java binary at: /Users/bartek/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/222.4459.24.2221.9862592/Android
      Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.12.0

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
    • Android Studio at /Users/bartek/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/222.4459.24.2221.9862592/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

[✓] IntelliJ IDEA Ultimate Edition (version 2023.1)
    • IntelliJ at /Users/bartek/Applications/JetBrains Toolbox/IntelliJ IDEA Ultimate.app
    • Flutter plugin version 73.0.4
    • Dart plugin version 231.8109.91

[✓] IntelliJ IDEA Ultimate Edition (version 2023.1)
    • IntelliJ at /Users/bartek/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/231.8109.175/IntelliJ IDEA.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.77.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.62.0

Fixed by #1444.

Oops, forgot about iOS.

Cannot run test on iOS 13 (the only version of iOS where this problem occurs) because of #1441.


Make wolf packs go into breeding mode when killing a player

https://github.com/BTW-Community/BTW-source/issues/83

Done for v1.1.0


qBittorrent can‘t set label and maxupspeed

Expected behaviour:
Auto add label and set max upload speed

Actual behaviour:
I was according to those code in this page(https://github.com/Flexget/Flexget/blob/develop/flexget/plugins/clients/qbittorrent.py) , add the label and maxupspeed , but it didn't work
Steps to reproduce:

Step 1: ...

Config:
Paste FULL config and remove any personal info if config is too long, attach the file to the ticket.
If issue is with a single task, you can get get resulting configuration by running:
  flexget execute --task <NAME> --dump-config
Make sure to redact any personal information (passwords, api keys, etc) !

  qbittorrent:
  path: /root/download/
  port: 8080
  maxupspeed: 10
  label: BTSCHOOL
  username: admin
  password: "adminadmin"

Log:

(click to expand)
paste log output here

Additional information:

FlexGet version:2.21.35
Python version:Python 3.5.3
Installation method:python venv
Using daemon (yes/no):no
OS and version:debian 9
Link to crash log:

What is your qBittorrent version?  Version below v3.2.0 do not support setting labels or max up/down speed.

the qb version is <IP_ADDRESS>
pospqsjac<EMAIL_ADDRESS>于 2019年12月11日周三 23:48写道：

What is your qBittorrent version? Version below v3.2.0 do not support
setting labels or max up/down speed.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Flexget/Flexget/issues/2506?email_source=notifications&email_token=ACDYDV3NEA6YODB4VJLYDXDQYEDUXA5CNFSM4JQPM6HKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGTTE6I#issuecomment-564605561,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACDYDV3T3HN42JAT6I6FQ63QYEDUXANCNFSM4JQPM6HA
.


⚠ Bofrost.es has degraded performance

In b78d9b0, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1587 ms

Resolved: Bofrost.es performance has improved in 5242b3a after 6 minutes.


Improve PKI certificates and requirements page

This is a Feature Request
Some small improvements to https://kubernetes.io/docs/setup/best-practices/certificates/#configure-certificates-manually page
What would you like to be added

Add a note about requirements for service-account management private/public key pair
For the kube-apiserver certificate, it might be useful to add a <load balancer ip/dns> entry in the list of certificates SAN; might be also useful to quote that it is possible to add additional SAN on all the server certificates
check / complete certificate usage map, e.g.:

sa.pub goes to the service-account-key flag of the kube-apiserver
sa.key goes to the service-account-private key flag of the kube-controller-manager
ca.crt goes to the client-ca-file, root-ca-file, cluster-signing-cert-file of the kube-controller-manager
ca.key goes to the cluster-signing-key-file of the kube-controller-manager
front-proxy-ca.crt goes to the requestheader-client-ca-file of the kube-controller-manager
apiserver-kubelet-client.key goes to the kubelet-client-key flag of the kube-apiserver

For sake of documentation, kubeadm support other variants:

external etcd, where the etcd cluster and the etcd certificates are not managed by kubeadm but should be provided beforehand by the user/external tools.
external CA, where an externally generated certificate authority is provided without its key; in this scenario, the user should take care of several tasks that depend on the CA key e.g. generating kubeconfig files, rotating certificates ...

Why is this needed
For clarity/completeness of the documentation
/cc @neolit123

thanks for logging this issue @fabriziopandini . i agree that our docs related to PKI can be extended.
IMO we should be always using k/kubeadm for all of our tickets. k/webiste is super noisy and i don't wish us to groom the SIG tickets in this repo too.

/language en

/sig cluster-lifecycle

/kind feature
/priority backlog

/lifecycle active


Emit fieldsCreated stat in shard measurement

Required for all non-trivial PRs

[x] Rebased/mergable
[ ] Tests pass
[x] CHANGELOG.md updated

Fixes #7299.

@jsternberg

👍 on green.


Disable userDNcache in order to fix the account locking issue

This is observant when userDN caching is enabled and account locking is performed from the user store itself like AD.
In such a case, before the configured no of failed login attempts user account gets locked, as the authentication happens from the cache as well as for the user searched and retrieved.
Configurable DN caching is already available in IS 5.7.0 version.
Thus, closing the issue


Wiki update

Hi, I was reading this wiki page https://github.com/agershun/alasql/wiki/Update and I've missed some more examples when performing parameterized UPDATE like the following:
alasql("UPDATE events SET synchronized = ? WHERE name = ?", [true, event.name]);
I tried to add, but I think I dont have permission. Could you add please? Thanks.

Sure !


tags with href become draggable

After enabling polyfill, all elements with hrefs become draggable with no additional attributes specified. You have to explicitly define draggable='false' on all of them to fix the issue.
I expect to define draggable='true' on elements which I want to be dragged, not vice versa. Am I missing something?
Issue can be reproduced on mobile browsers or in mobile view from desktop browser. Tested on Google Chrome Version 83.0.4103.97 (Official Build) (64-bit)

Having the same issue +1

I also had this issue and found that specifying this as an option was a functional workaround for me (using TypeScript):
dragStartConditionOverride: (event:TouchEvent) => { return (event.target as HTMLElement).closest('[draggable=true]') !== null },

I also had this issue and found that specifying this as an option was a functional workaround for me (using TypeScript):
dragStartConditionOverride: (event:TouchEvent) => { return (event.target as HTMLElement).closest('[draggable=true]') !== null },

Closing because a workaround is available and a tags are draggable by default as per the HTML5 spec.


Extend information on array data types

Suggestion
There are several elements that have an array as their data type. Most of them are object properties with the names has, e.g. hasCitation or hasAgent. But could also be arrays of primitive types, as suggested in #168 , #174 and #175 . But in all cases, it would make the documentation a bit more useful to have it list the datatype of the objects contained in the array as well, e.g. "array of string" or "array of ods:Agent".

I concur with David's suggestion.


sort part directives

A pending change to the directives_ordering lint will enforce part sorting.
See: https://github.com/dart-lang/linter/issues/4945
And flutter-analyze failure:
https://logs.chromium.org/logs/dart/buildbucket/cr-buildbucket/8738142237425031297/+/u/analyze_flutter_flutter/stdout
Related to change: https://dart-review.googlesource.com/c/sdk/+/383023
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[ ] I added new tests to check the change I am making, or this PR is test-exempt.
[x] I followed the breaking change policy and added Data Driven Fixes where supported.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

test-exempt: Lint-based change.


sync governance-policy-addon-controller deployment image

Fix below error when I try to deploy the synchronization components to the managed cluster(s) following steps in
https://open-cluster-management.io/getting-started/integration/policy-framework/#deploy-the-synchronization-components-to-the-managed-clusters.
On managed cluster reports below error:
$ oc logs -n open-cluster-management-agent klusterlet-work-agent-858b76c7d-sjhpk
....
E1014 08:17:11.448118       1 base_controller.go:270] "ManifestWorkAgent" controller failed to sync "addon-governance-policy-framework-deploy", err: Deployment.apps "governance-policy-framework" is invalid: spec.template.spec.containers[0].image: Required value

Update the image refer to PR https://github.com/open-cluster-management-io/governance-policy-addon-controller/pull/25.
Signed-off-by: haoqing0110<EMAIL_ADDRESS>

/assign @mprahl

Thanks for doing this!

/approve


[ISSUE #1576] delete redundant if statment

fix #1576 close #1577

Coverage decreased (-0.03%) to 50.593% when pulling 16d62a7c0cab3735e8ad9d2a26284dd26ef5ffbc on ShadowySpirits:fix-select-one-mq into c3b7d18603d7d599a336703e871b86607958fc92 on apache:develop.

LGTM.


Cant open Jacktor torrents menu, nor use it Jacktook [Kodi Omega]

It shows error every time accessing torrents
log;
2024-07-11 17:01:08.787 T:5048    error : [plugin.video.jacktorr] Caught exception:
Traceback (most recent call last):
File "C:\Library\General\Utilities\Programs\Shoko\Kodi\portable_data\addons\script.module.urllib3\lib\urllib3\connection.py", line 203, in _new_conn
sock = connection.create_connection(
File "C:\Library\General\Utilities\Programs\Shoko\Kodi\portable_data\addons\script.module.urllib3\lib\urllib3\util\connection.py", line 85, in create_connection
raise err
File "C:\Library\General\Utilities\Programs\Shoko\Kodi\portable_data\addons\script.module.urllib3\lib\urllib3\util\connection.py", line 73, in create_connection
sock.connect(sa)
ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it
                                               The above exception was the direct cause of the following exception:

                                               Traceback (most recent call last):
                                                 File "C:\Library\General\Utilities\Programs\Shoko\Kodi\portable_data\addons\script.module.urllib3\lib\urllib3\connectionpool.py", line 790, in urlopen
                                                   response = self._make_request(
                                                 File "C:\Library\General\Utilities\Programs\Shoko\Kodi\portable_data\addons\script.module.urllib3\lib\urllib3\connectionpool.py", line 496, in _make_request
                                                   conn.request(
                                                 File "C:\Library\General\Utilities\Programs\Shoko\Kodi\portable_data\addons\script.module.urllib3\lib\urllib3\connection.py", line 395, in request
                                                   self.endheaders()
                                                 File "C:\Library\General\Utilities\Programs\Shoko\Kodi\system\python\Lib\http\client.py", line 1251, in endheaders
                                                   self._send_output(message_body, encode_chunked=encode_chunked)
                                                 File "C:\Library\General\Utilities\Programs\Shoko\Kodi\system\python\Lib\http\client.py", line 1011, in _send_output
                                                   self.send(msg)
                                                 File "C:\Library\General\Utilities\Programs\Shoko\Kodi\system\python\Lib\http\client.py", line 951, in send
                                                   self.connect()
                                                 File "C:\Library\General\Utilities\Programs\Shoko\Kodi\portable_data\addons\script.module.urllib3\lib\urllib3\connection.py", line 243, in connect
                                                   self.sock = self._new_conn()
                                                 File "C:\Library\General\Utilities\Programs\Shoko\Kodi\portable_data\addons\script.module.urllib3\lib\urllib3\connection.py", line 218, in _new_conn
                                                   raise NewConnectionError(
                                               urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x000001C755C01670>: Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it

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

                                               Traceback (most recent call last):
                                                 File "C:\Library\General\Utilities\Programs\Shoko\Kodi\portable_data\addons\script.module.requests\lib\requests\adapters.py", line 486, in send
                                                   resp = conn.urlopen(
                                                 File "C:\Library\General\Utilities\Programs\Shoko\Kodi\portable_data\addons\script.module.urllib3\lib\urllib3\connectionpool.py", line 844, in urlopen
                                                   retries = retries.increment(
                                                 File "C:\Library\General\Utilities\Programs\Shoko\Kodi\portable_data\addons\script.module.urllib3\lib\urllib3\util\retry.py", line 515, in increment
                                                   raise MaxRetryError(_pool, url, reason) from reason  # type: ignore[arg-type]
                                               urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='<IP_ADDRESS>', port=5665): Max retries exceeded with url: /torrents (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x000001C755C01670>: Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it'))

                                               During handling of the above exception, another exception occurred:

                                               Traceback (most recent call last):
                                                 File "C:\Library\General\Utilities\Programs\Shoko\Kodi\portable_data\addons\plugin.video.jacktorr\lib\torrserver\api.py", line 140, in _request
                                                   return self._session.request(
                                                 File "C:\Library\General\Utilities\Programs\Shoko\Kodi\portable_data\addons\script.module.requests\lib\requests\api.py", line 59, in request
                                                   return session.request(method=method, url=url, **kwargs)
                                                 File "C:\Library\General\Utilities\Programs\Shoko\Kodi\portable_data\addons\script.module.requests\lib\requests\sessions.py", line 589, in request
                                                   resp = self.send(prep, **send_kwargs)
                                                 File "C:\Library\General\Utilities\Programs\Shoko\Kodi\portable_data\addons\script.module.requests\lib\requests\sessions.py", line 703, in send
                                                   r = adapter.send(request, **kwargs)
                                                 File "C:\Library\General\Utilities\Programs\Shoko\Kodi\portable_data\addons\script.module.requests\lib\requests\adapters.py", line 519, in send
                                                   raise ConnectionError(e, request=request)
                                               requests.exceptions.ConnectionError: HTTPConnectionPool(host='<IP_ADDRESS>', port=5665): Max retries exceeded with url: /torrents (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x000001C755C01670>: Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it'))

                                               During handling of the above exception, another exception occurred:

                                               Traceback (most recent call last):
                                                 File "C:\Library\General\Utilities\Programs\Shoko\Kodi\portable_data\addons\plugin.video.jacktorr\lib\navigation.py", line 545, in run
                                                   plugin.run()
                                                 File "C:\Library\General\Utilities\Programs\Shoko\Kodi\portable_data\addons\script.module.routing\lib\routing.py", line 130, in run
                                                   self._dispatch(self.path)
                                                 File "C:\Library\General\Utilities\Programs\Shoko\Kodi\portable_data\addons\script.module.routing\lib\routing.py", line 141, in _dispatch
                                                   view_func(**kwargs)
                                                 File "C:\Library\General\Utilities\Programs\Shoko\Kodi\portable_data\addons\plugin.video.jacktorr\lib\navigation.py", line 86, in wrapper
                                                   ret = func(*args, **kwargs)
                                                 File "C:\Library\General\Utilities\Programs\Shoko\Kodi\portable_data\addons\plugin.video.jacktorr\lib\navigation.py", line 204, in torrents
                                                   for torrent in api.torrents():
                                                 File "C:\Library\General\Utilities\Programs\Shoko\Kodi\portable_data\addons\plugin.video.jacktorr\lib\torrserver\api.py", line 64, in torrents
                                                   return self._post("/torrents", data=dumps({"action": "list"})).json()
                                                 File "C:\Library\General\Utilities\Programs\Shoko\Kodi\portable_data\addons\plugin.video.jacktorr\lib\torrserver\api.py", line 127, in _post
                                                   return self._request("post", url, **kwargs)
                                                 File "C:\Library\General\Utilities\Programs\Shoko\Kodi\portable_data\addons\plugin.video.jacktorr\lib\torrserver\api.py", line 144, in _request
                                                   raise TorrServerError(str(e))
                                               lib.torrserver.api.TorrServerError: HTTPConnectionPool(host='<IP_ADDRESS>', port=5665): Max retries exceeded with url: /torrents (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x000001C755C01670>: Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it'))

I suspect this is a duplicate of https://github.com/Sam-Max/plugin.video.jacktorr/issues/1.

Sorry for the delay answer, Jacktorr has not inbuilt daemon to run the TorrServer service, you need to deploy TorrServer server on another pc using docker for example, and configure Jacktorr with that server information.

Sorry for the delay answer, Jacktorr has not inbuilt daemon to run the TorrServer service, you need to deploy TorrServer server on another pc using docker for example, and configure Jacktorr with that server information.
works thx , maybe u can include it with the addon simmilar to how elementum runs an exe


skip if engine already has overlay network plugin

Fix #1073
Signed-off-by: allencloud<EMAIL_ADDRESS>

[Current coverage][cc-pull] is 53.78%

Merging [#1074][cc-pull] into [master][cc-base-branch] will decrease coverage by 0.15%

@@             master      #1074   diff @@
==========================================
  Files            75         75
  Lines         11716      11725     +9
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits           6319       6306    -13
- Misses         4489       4507    +18
- Partials        908        912     +4

[][cc-pull]

Powered by Codecov. Last updated by [437f4d6...4a11bfe][cc-compare]
[cc-base-branch]: https://codecov.io/gh/docker/swarmkit/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/docker/swarmkit/compare/437f4d6ec8ca2d74d4d551a7ed6e9897cc13b39a...4a11bfe1eab562db8d14a173efe931c096615f10
[cc-pull]: https://codecov.io/gh/docker/swarmkit/pull/1074?src=pr

Related: #840

@nishanttotla Yes, duplicated overlay plugins will show in the response. It is the server side bug we should fix.

Any update?  @nishanttotla @runshenzhu @aluzzardi @stevvooe

Rather than detecting overlay, why not just detect duplicates?

I am afraid the gofmt went wrong again.

PR Updated。Ping @stevvooe @nishanttotla @runshenzhu

LGTM

LGTM

LGTM


Provide context for event handlers

This PR passes the context to the event handler functions. This is relevant information that the handler should have and could potentially read from.
Example
type listener[T SomePayload] struct{}

func (l listener[T]) Handle(payload SomePayload, ctx context.Context) {
	fmt.Println("Hello")
}

func main() {
	var handler listener[SomePayload]
	myEvent.RegisterHandler("event_id", handler)
}

Also adds a function to create event handler functions called NewHandler. README has been updated accordingly, which demonstrates the use of this function.

This makes sense.
However, if we want to pass a context to a function, it should be the first input as per the go guidelines.

More importantly..... I don't think there is a good way to pass a context to a handler.
If you use the context sent during event creation, the same context will be used ALL THE TIME which kind of defeats the purpose.
Ideally, the context to send would be the context sent to the Publish() method, but since we are abstracting away the payload store, this becomes trickier. For example, with the Redis store, there is no way to send the same context that was used to publish to the handlers.
Finally, in theory, with the Redis implementation and with other future implementations (Kafka, PubSub), it should be possible to use this in a distributed setting which would make trying to pass a context redundant.
If you really want to pass a context, you should add one to the payload of your event. But this will likely only reliably work with the memory store.
As I think about it, it would make sense for the Redis implementation and any future implementations that will encode/decode the payload to enforce a constraint on the payload to implement the BinaryMarshaler or TextMarshaler as necessary to prevent surprises.

@stephenafamo Thanks for the feedback! I see where you're coming from.
Is it possible to get the NewListener function merged in? I'm already trying to is this package in a pet project of mine and creating handlers is messy right now.

Sure. Maybe remove the other stuff and rename the PR


Add part_of edge between CL:0002321 and UBERON:0000922

By the definition of CL:0002321 (embryonic cell), should this term have a 'part_of' edge to UBERON:0000922 (embryo)?

That explanation makes sense to me. Thank you


clojure.spec integrated throughout frontend

clojure.spec is a great way to have a clean, easy-to-follow, easy-to-test codebase with a guarantee that the inputs and outputs of our client match exactly as we intend.  This will become increasingly important as the interactions between the client and the cluster-api-manager become more complex, to ensure both sides now the shape of the data they're passing back and forth.
This ticket is to integrate spec, and data-driven development, into the codebase at a moment when it is small enough to do it well.
Success will mean all relevant functions have a spec definition and spec-generated tests.  I am defining relevant as those that don't require calls to external api's.   The functions that call diff api's are harder to validate and out of scope for this foundational ticket (but good to do in the future).

am working on this ticket in this branch: https://github.com/sharingio/pair/tree/spec-client

implemented to a working level in https://github.com/sharingio/pair/pull/44.
it's integrated into the project, but not every function is spec'ed and defined in interest of keeping things moving and dropping in specs where it makes sense.


fix: More efficient shapes and paths

Optimised and update the SVG's as suggested in #27 since we use this as our base logo I also aligned the characters C and S

@rol4nd909 I like the alignment of the "C" but how are we going to represent this in HTML/CSS? we might need a fork of DINish and create our own font at the end, also to solve #14

@rol4nd909 I like the alignment of the "C" but how are we going to represent this in HTML/CSS? we might need a fork of DINish and create our own font at the end, also to solve #14

Yeah I was trying to change the font my self, but I think I used a different DINish you can see my try here:
https://codepen.io/ROL4ND909/pen/BaXvgPW?editors=0110

If you're willing to wait a day or two I've got a version of what I proposed in the original issue that does away with fonts entirely and may hopefully be satisfactory…

@mxdvl what doe you mean with 'away with fonts entirely'? And might be an idea to add your work in this branch?

discussed in the call today, helped provide the more precise font used. @rol4nd909 has what he needs now, to be discussed more once a new commit with heavier font is used 👍🏻

I've updated the codepen with a new edited version of the DINish Preview font, the version we used was the DINish Preview Condensed Heavy and letter-spacing: -.05ch;,  or when used as variable font  font-variation-settings: "wdth" 75, "wght" 800;
https://codepen.io/ROL4ND909/pen/BaXvgPW?editors=0110

if we have a font (or soon) it means that we can move forward with this PR I would say :)
The only change I would do is to not revert #29 and go back using arcs like @myfonj suggested. After that I think we can move forward and merge

@itsjavi I change the path back to using arcs now.

After downloading and analyzing it more closely it seems that the changes done in #33
have been reverted as well.
Did you use the latest SVG that is on master or (probably) the previous version?
You can see that also by comparing them here with the sliders: https://github.com/CSS-Next/logo.css/pull/35/files
https://github.com/user-attachments/assets/5bafa236-7521-4223-b730-77ace69f13e3
Sorry for this back and forth

I will check tomorrow, I had changed the end caps in the font both top and bottom where misaligned between the c and s

I updated the colors to use named colors loved the idea of  https://github.com/CSS-Next/logo.css/pull/45#discussion_r1849914618 made by @mxdvl 💜

@itsjavi Ah no thats sad... It does support the short version #639 or does it need to be the full #663399

@rol4nd909 short hex is fine, afaik.

@argyleink @Que-tin please let me know if we can merge or still need to wait.


override == 'pass' doesn't not exist, valid values are : none, host, user, all

WinRM raise an error when authenticating : WinRM::WinRMAuthorizationError
This is due to the 'pass' empty variable if we set 'Allow Override' to user


Adds more Cybercmd tests to for file/directory ordering

Also found rstest when looking into simplifying the tests - would that be appropriate for something like this?

rstest looks OK, you can add it if you want (make sure to add it to dev-dependencies, not dependencies)


Validate inbound success messages

Validate all inbound binding success messages, before
peers could create valid prflx candidates without doing
a full request response
Resolves #21

Adding @backkem and @mjmac

Updated the Agent to require a full request+response before creating a Valid Candidate. Before we would create prflx candidates just from a inbound request.
We can't do this because this would allow a malicious agent to forge packets and add candidates they don't own.


Re-work DataTable to support REST source, add repositories, subscript…

…ions and followers lists

Codecov Report

Merging #5 (a5e74ce) into master (435bb14) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master        #5   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           15        16    +1
  Lines           93       127   +34
  Branches         6         7    +1
=========================================
+ Hits            93       127   +34

Impacted Files
Coverage Δ

src/App.js
100.00% <ø> (ø)

src/__test__/GitHubUser.js
100.00% <ø> (ø)

src/components/Main/Main.js
100.00% <ø> (ø)

src/setupTests.js
100.00% <ø> (ø)

src/components/About.js
100.00% <100.00%> (ø)

src/components/DataTable/DataTable.js
100.00% <100.00%> (ø)

src/components/DataTableSource/DataTableSource.js
100.00% <100.00%> (ø)

src/components/FollowersList/FollowersList.js
100.00% <100.00%> (ø)

src/components/Header/Header.js
100.00% <100.00%> (ø)

src/components/ReposList/ReposList.js
100.00% <100.00%> (ø)

... and 3 more

Continue to review full report at Codecov.

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


Add compile flags to blt_add_library and executable macros

@cyrush says this should smooth out CUDA support.  It also adds a nice feature though this could cause problems with adding compiler flags too liberally to mixed source libraries.

Would they be "extra" compile flags, or the only compile flags?

They would be the initially set flags since there wouldn't be a target created yet there wouldn't be any to override.  Also any language specific flags CMake will automatically add.  This wouldn't stop you from adding any to sources or to the target after the blt_add_* call.


Build both a non-minified and minified version for production

Also, make sure that the non-minified one is the version main in package.json is pointing to: if a consumer is parsing that, they're probably using a bundler and doing their own minification (or not, for timbl.com) - the minified version is primarily provided as a convenience for people wanting to include it directly through a <script> tag.

Fixed by 49de3b94bf4d099cd3036d300a3e0fc24e44a9ba.


Outdated comparison grid information about django-cms.

On the django packages cms comparison grid it says:

Database limited using django-mptt
Source: https://www.djangopackages.com/grids/g/cms/

According to my knowledge this is not accurate anymore since it uses django-treebeard, right?
(That might tip the felt scale of arguments against django-cms. I do not want that. smile)
I would have already edited it.. however I want to be sure what I think is true.
Please give me some feedback and I will update it.

@evildmp how can we change this? :D

@Eraldo @FinalAngel It's still accurate https://tabo.pe/projects/django-treebeard/docs/2.0/mp_tree.html#treebeard.mp_tree.MP_Node.path.
Basically we're limited by 255 characters that represent the path to a page,
if we increase that number then we risk serious performance issues.

Okay. Thanks @czpython .. so I will not change it until asked otherwise. :)

@Eraldo If you're able to change it, then please do so as we no longer use django-mptt.
Although maybe @evildmp has some input on the text.

I changed it to "Database limited using django-treebeard" for now -- Until the difference to why wagtail (also using django-treebeard) states "unlimited" is investigated.

I think that this can be safely closed for now, thanks for spotting and fixing it @Eraldo.


V8 Documentation Additions

[ ] Create 'Getting Started with V8' section

[ ] Document and screenshot template tasks
[ ] Keep track of urls and make sure there are no conflicts

[ ] Document new style Variables

Note: Consult with template team on full differences between v7 and v8 templating

Getting Started

Local Development
Downloading a Template
Editing a Template
Uploading a Template

Getting started with V8

Downloading a Template
Editing a Template
Uploading a Template

Templating

Twig
Assets
JavaScript
Page Types
Metadata
LESS
Quality

Templating with V8

Metadata
LESS
Style variables


Does this support being run from the command line?

download file
https://github.com/J2TEAM/idm-trial-reset/raw/master/src/idm_trial.reg
regedit /S idm_trial.reg

Yes, see: https://github.com/J2TEAM/idm-trial-reset/blob/master/src/IDM Trial Reset.au3#L24-L34


fix: premarshal structs get generated with omitempty tag

This PR addresses a bug described in https://github.com/Khan/genqlient/issues/263
Basically, whenever a struct involves a custom genqlient binding, a secondary "premarshal" struct gets generated.
The bug was that this "premarshal" struct was not propagating the omitempty JSON tags, which was resulting in unexpected behavior.
The fix involved a few changed lines in the Go template, and a few changes in the unit tests.
I have:

[x] Written a clear PR title and description (above)
[x] Signed the Khan Academy CLA
[x] Added tests covering my changes, if applicable
[x] Included a link to the issue fixed, if applicable
[ ] Included documentation, for new features
[x] Added an entry to the changelog

Thanks! I'll take a closer look later but a few quick comments now:

Since this is a bugfix it probably doesn't need any documentation changes, just a brief changelog entry summarizing and linking to the issue.
If it's not too hard, it would be nice to write an integration test that fails without this change and passes with it! Not sure offhand how hard that will be so if it's too hard it's probably ok to skip.
Similarly if it's not too hard you could add another unit test case with a schema that looks more like the hasura one. But I'm not sure how interesting that would be, maybe there's no need since existing tests are hitting this case.

a schema that looks more like the hasura one

Here's what I'm thinking for that:

Click me
type Query {
  getPokemon(where: getPokemonBoolExp): [Pokemon!]!
}

input getPokemonBoolExp {
  _and: [getPokemonBoolExp!]
  _not: getPokemonBoolExp
  _or: [getPokemonBoolExp!]
  level: IntComparisonExp
}

input IntComparisonExp {
  _eq: Int
  _gt: Int
  _gte: Int
  _in: [Int!]
  _isNull: Boolean
  _lt: Int
  _lte: Int
  _neq: Int
  _nin: [Int!]
}

I'm actually running into an error when running UPDATE_SNAPSHOTS=1 go test ./...
generate_test.go:104: no queries found, looked in: testdata/queries/Hasura.graphql (configure this in genqlient.yaml)

Great, thanks! I think IntComparisonExp is another limitation, being discussed in #260 (there are a few ways around but none quite convenient for these hasura schemas). Anyway it's good to have the test; I think this weekend I'm going to try to understand what "make genqlient and hasura not fight so much" might mean more generally.


Update code-signing-cert-manage.md

Added Certera EV Code Signing Certificate as it is most reasonable certificate Authority.
Disclaimer - Certera LLC is our client.

Hello @positiwise ,
We allow EV certificates from members of the Microsoft Trusted Root Program. Details and requirements can be found here: Program Requirements - Microsoft Trusted Root Program | Microsoft Learn.
Thank you for your understanding.


Provide simple caching function for autosuggestion

Fix/Mitigate #252
Also add example.
I'll cleanup, maybe improve that later. I have to run to a meeting.
Tell me if you don't think it is the good strategy.

Thanks! Maybe however I think I will prefer this to be in Buffer class itself. (Not sure at the moment.) Further, we also want to be able to reuse the cache in case of a backspace press.

edit: after a second thought. I think that maybe this is actually the right solution. Give me some more time.

we also want to be able to reuse the cache in case of a backspace press.

I though about that too, but it's actually wrong to reuse.
matp complete to matplotlib but not mathematics.
Delete one char:
mat, might complete to mathematics if it's more recent.
A (LRU ?) cache might be useful for backspace, but we would need a hash of the  history also as part of the key.


Board ui

Coverage remained the same at 91.14% when pulling 7369e89e4d9ccdcc40b3e7cd844b14f055fae75c on board-ui into 69db68dd3913b220db11f8f4f112be2228099c5b on mobile-staging.


Git not tracking changes to esp32 core components.

.gitignore rules are preventing git from picking up any changes made to core system components in src/platforms/esp32/components/avm_builtins and src/platforms/esp32/components/avm_sys.

This was fixed by merging pull request #356


Access plugins/entry_points in virtual environment

[x] I have searched the issues of this repo and believe that this is not a duplicate.
[x] I have searched the documentation and believe that my question is not covered.

Feature Request

I don't know if this is a bug or the current intended behavior, so I'm submitting this as an enhancement request.
From what I understand, Poetry implements setuptools' entry_points using [tool.poetry.plugins] in the pyproject.toml for console_scripts and [tool.poetry.plugins] for all other entrypoints.  For example:
[tool.poetry.scripts]
foo = "my_package.my_module:main"

[tool.poetry.plugins."my_plugin"]
plug = "my_package.my_plugin_module"

I can now run foo using either poetry run or poetry shell, just like a setuptools entry_point would be available to me if I ran pip install -e ..
However, if I open Python using poetry run or poetry shell and try to access "my_plugin", I get the following:
>>> import pkg_resources
>>> list(pkg_resources.iter_entry_points('my_plugin'))
[]

The entry_points under [tool.poetry.plugins] does not get registered in the virtual environment.  This is different from the way setuptools works: if I had the same setup and ran pip install -e ., I would be able to see all the entry points, not just console_scripts.
From my understanding, poetry install is supposed to install the current project similar to a pip install -e ., so it would only make sense that these plugins/entry_points should be available in a Poetry-created virtual environment.

From that issue:

@sdispater made a separate issue #162
I think this one can be closed, since the equivalent of pip install -e . does exist now.

So maybe this is a bug, since this behavior exists in pip install -e . but not in Poetry?

It looks like it may have been PBKC; the plugins/entry_points are now working fine.  Maybe I needed to do a poetry install to get them to work?


MessageDialog with an icon

I am not sure if this is a bug, or (most likely) I am using it wrong, but I am trying to make a small MessageBox package for convenience and for my private code (so not super serious). The message boxes works fine so far, but I fail to add an icon to the MessageDialogs (see last few rows). The icon does not show, is this not how you are supposed to do it?
dialog.SetIconName("dialog-warning") // <- DOES NOT SEEM TO WORK
package messagebox

import (
	"github.com/gotk3/gotk3/gtk"
)

type MessageBox struct {
	Header  string
	Message string
	Parent  gtk.IWindow
	Buttons []Button
}

type Button struct {
	Text         string
	ResponseType gtk.ResponseType
}

func NewMessageBox(header, message string, parent gtk.IWindow) *MessageBox {
	box := new(MessageBox)
	box.Header = header
	box.Message = message
	box.Parent = parent
	return box
}

...removed question and information dialogs...

func (m *MessageBox) Warning() gtk.ResponseType {
	dialog := gtk.MessageDialogNewWithMarkup(m.Parent, gtk.DIALOG_MODAL, gtk.MESSAGE_WARNING, gtk.BUTTONS_NONE, m.Header)
	defer dialog.Destroy()
	dialog.FormatSecondaryMarkup(m.Message)
	dialog.SetIconName("dialog-warning") // <- DOES NOT SEEM TO WORK
	for _, button := range m.Buttons {
		dialog.AddButton(button.Text, button.ResponseType)
	}
	return dialog.Run()
}

Calling code:
	buttons := []messagebox.Button{{ "Absolutely!", gtk.RESPONSE_OK}, {"Hell no!", gtk.RESPONSE_CANCEL}}
	box := messagebox.NewMessageBoxWithButtons("Update statistics?", "Do you want to update statistics?", m.window, buttons)

	if box.Warning() == gtk.RESPONSE_OK {
		m.picker.UpdateStatistics()
	}

Edit : I guess i should have started by using to project question template (instead of the bug template) to get the question label?

yes, you should have used project question

answer:  There is a unittest for setting/getting icon name. Therefore, the gotk3 lib should be fine.
there are several possible reasons why it does not work:

you don't have the file,
or you have the icon, but not in the correct icon path: icons per themes are in /usr/share/icons on linux

what is your build environment? please give more info.
by the way: if you try to set icons on a non-linux machine, it's probably the case that your OS does not have the icon (with that name at least)

I use Manjaro (Cinnamon) and Goland.
I though it was the icon name it needed, and not the path. Anyway I tried:
dialog.SetIconName("/usr/share/icons/Adwaita/16x16/legacy/dialog-warning.png")

And it still does not work, no error message, no icon:

The icon exist on the path above, and the icon named dialog-warning exists on my machine (using gtk3-icon-browser):

well, first of all: no, you don't need to specify the full path. only the icon name. gtk has its own search paths on each platform (which you could overwrite, if the bindings were there)
You gave gtk.MESSAGE_WARNING as a parameter. Actually, that's enough for your dialog to show the warning icon in the window body... If you only want the icon in the body, not window title bar, then try removing dialog.SetIconName("dialog-warning").
SetIconName is specified in GtkWindow, so the icon will be displayed in the window title bar, I think. The question is: Is that what you want? And: Does your computer setup support icons in windows? Not all platforms use window icons (source: https://developer.gnome.org/gtk3/unstable/GtkWindow.html#gtk-window-set-icon-name).
It would be nice to check your search path for icons, but there is no binding for gtk_icon_theme_get_search_path. Would only help if your setup supports window icons.
If you want, try loading the icon as Pixbuf and then setting it via SetIcon().

Ok, then I can only assume that Manjaro Cinnamon does not support icons in windows, because I tried:
	icon,_ := gdk.PixbufNewFromFile("/usr/share/icons/Adwaita/16x16/legacy/dialog-warning.png")
	dialog.SetIcon(icon)

and there is still no icon. It is not that important to me, I just thought it was some simple mistake I had made, that would be easy to fix...
Closing the issue now, thanks for your help @MJacred !


features.md: added "Mine for RPC"

closing because the feature is deprecated https://github.com/monero-project/monero/pull/8724


Add Products Dropdown to Navbar

Current Behavior

Desired Behavior
Improve navbar with a user-friendly product dropdown menu in the navbar that showcases our products.
Screenshots

Acceptance Tests

Mockups

Contributor Guide

🎨 Wireframes and designs for Layer5 site in Figma (open invite)

@leecalcote I would like to work on that.

@leecalcote , Can I know what has to be done here, I would love to work on this?

Hey @leecalcote, I would like to work on this one, if it's free.

Hi @akshun-01 I did not take reference from the code. I used the mockup from #82.

Hey @ritiksaxena124, I am almost done with the dropdown component. Actually, I was just about to add breakpoints for responsiveness, but when I was doing that I realized that the homepage is not responsive for starters (I checked the deployed site and on my mobile as well.)

I think we should first make the base responsive so that other elements are not that tough to configure.

https://github.com/layer5io/docs/assets/93793691/58bbe075-13c8-4133-b8ae-1b2c75a47f58
Also, this is the current state of the dropdown, I will be adding responsive breakpoints later.
And if you want anything to be changed or tweaked, please give your feedback. So that I may work on it!

Just for reference, this issue is now being addressed here: https://github.com/layer5io/docs/issues/127
Therefor am closing this issue!


Hamming code algorithm

Hamming code is a set of error-correction codes that can be used to detect and correct the errors that can occur when the data is moved or stored from the sender to the receiver.
I would like to explain the general algorithm of hamming code and how it is useful in error detection and error correction (single and limited multiple error correction) that may occur during the transmission of data. This ensures that the recipient receives the same data that was transmitted by the sender.
I can add the code for this algorithm in C, C++, and Python. (Ssoc'23)

i will resolve the issue please assign this to me

@Kumar-laxmi I have made a pull request for this Hamming Code using C++.
Please check and merge it with the tag of SSOC'23.
Thankyou.

Assigned!
@kadambari68 : C, C++, Java & Python


Add Search Applications API

Add Search Applications API, including both CRUD and _search request.
Reopening this from https://github.com/elastic/elasticsearch-specification/pull/2080, as Github actions need the PR to be done from the same repo

@kderusso , as @sethmlarson said, this can be done in a separate PR with the syncs already done. I'm merging this PR and we'll take care of that in a separate one 👍


Tests get hung in Ready state

Sometimes, the tests get stuck in this stage. There are no other running tests, free agents are available as well. This happens after a "clone and start". And it stays in this state forever and there's no way of starting it. The only solution to this I've found is to restart nGrinder.
Any suggestions?

@InH4te I'm experiencing this issue as well. Did you have to restart the controller, the agents, or both?

Hi Tomas,
I don't remember exactly but I think restarting just the controller did the
trick. Still don't know why it happened though.
Best,
Rohit
On 06-Feb-2018 1:09 AM, "Tomas Celaya"<EMAIL_ADDRESS>wrote:

@InH4te https://github.com/inh4te I'm experiencing this issue as well.
Did you have to restart the controller, the agents, or both?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/naver/ngrinder/issues/239#issuecomment-363197361, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AKW2iFZ_1BfI6YGc1-qlNJ5lT4CrU7Ctks5tR1jegaJpZM4M8hsR
.


question: how to browse a specific issue if you have it's tag number

need
I want to know if there is a hub browse --issues flag to would help me open a specif issue in the current repository ounce I have a tag number ex:#3453 after running hub issue
proposal
Perhaps we could add a sub command to hub issue that opens up an issue given it's number
something like: hub issue browse <issue-number>

hub browse -- issues/3453


Issue #805: fix an empty case when broadcasting UnionArrays

proposed error message for ak.cartesian reported by @lgray - issue https://github.com/scikit-hep/awkward-1.0/issues/805

Let me check this with the full example of problematic data.

@ianna, disregard the above: see https://github.com/scikit-hep/awkward-1.0/issues/805#issuecomment-815855292.

I'm not sure whether I should post here or on issue #805, but since everyone involved is subscribed to both, I'll do it here.
First of all, disregard my request to exclude everything but 0 <= posaxis < purelist_depth for purelist_depth of all inputs to ak.cartesian because that would exclude some good cases, like the one @lgray showed with a low-dimension array that gets broadcasted up to match the dimensionality of a high-dimension array. It might be appropriate to require 0 <= posaxis < purelist_depth for purelist_depth of any (rather than all) inputs to ak.cartesian, but that would require some thought and doesn't address the real issue here.
Sorry for the confusion!
Anyway, the real problem is in broadcasting itself, as ak.broadcast_arrays raises the same error message. It could be fixed like this:
--- a/src/awkward/_util.py
+++ b/src/awkward/_util.py
@@ -683,6 +683,7 @@ def broadcast_and_apply(  # noqa: C901
                 [(str(i), combos.dtype) for i in range(len(tagslist))]
             ).reshape(length)

+            numoutputs = None
             tags = nplike.empty(length, dtype=np.int8)
             index = nplike.empty(length, dtype=np.int64)
             outcontents = []
@@ -691,7 +692,6 @@ def broadcast_and_apply(  # noqa: C901
                 tags[mask] = tag
                 index[mask] = nplike.arange(nplike.count_nonzero(mask))
                 nextinputs = []
-                numoutputs = None
                 i = 0
                 for x in inputs:
                     if isinstance(x, uniontypes):
@@ -707,15 +707,20 @@ def broadcast_and_apply(  # noqa: C901
                     assert numoutputs == len(outcontents[-1])
                 numoutputs = len(outcontents[-1])

-            tags = ak.layout.Index8(tags)
-            index = ak.layout.Index64(index)
+            if numoutputs is None:
+                return tuple(
+                    x[0:0] if isinstance(x, ak.layout.Content) else x for x in inputs
+                )

-            return tuple(
-                ak.layout.UnionArray8_64(
-                    tags, index, [x[i] for x in outcontents]
-                ).simplify()
-                for i in range(numoutputs)
-            )
+            else:
+                tags = ak.layout.Index8(tags)
+                index = ak.layout.Index64(index)
+                return tuple(
+                    ak.layout.UnionArray8_64(
+                        tags, index, [x[i] for x in outcontents]
+                    ).simplify()
+                    for i in range(numoutputs)
+                )

         elif any(isinstance(x, optiontypes) for x in inputs):
             mask = None

Moving numoutputs out of the for loop makes its assertion in the loop stronger:
https://github.com/scikit-hep/awkward-1.0/blob/1492c4906df9f5bbf7b4f244de543188563015a4/src/awkward/_util.py#L706-L708
but previously, it had no strength at all—it was set to None immediately before checking for None, so that assertion happened in unreachable code, clearly not what was intended. So I think it's safe to say that I had intended numoutputs = None to be outside the loop (back when I was thinking deeply about broadcasting).
If numoutputs hasn't been set, then outcontents is an empty list. A UnionArray can't have zero contents, so the output has to be something other than a UnionArray. (Also, since the UnionArray that got created in the original code was immediately .simplified, it wasn't necessary for the output to have union-type.)
Also if numoutputs hasn't been set, then we know that len(combos) == 0 and therefore len(tagslist) == 0 and length == 0. So the output arrays are definitely going to be empty for this case (and wrapped as arrays of all None in a recursive step above this one). Instead of creating EmptyArrays, I sliced all input Contents to zero length so that they would retain their types:
>>> ak.broadcast_arrays(candidate, ak.Array([[1, 2, 3], []]))
[
    <Array [None, None] type='2 * ?union[muon["pt": float64], electron["pt": float64]]'>,
    <Array [None, None] type='2 * option[var * int64]'>
]

After quite a few iterations on this comment, that seems to be the right solution.
@ianna, does this pass your tests (with no alterations to ak.cartesian)?

Actually, @ianna, since I have the files open, I can test it myself. It seems that everything is passing (after changing the test to not require a specific message). The next commit is the solution as described above.
@lgray, does it fix your problem?

I'll check in a moment on the full data just to make sure. Thanks!

@jpivarski
Running the mre in #805 now yields:
[None, [({pt: 5}, {pt: 4})]]
Traceback (most recent call last):
  File "mre.py", line 21, in <module>
    mre()
  File "mre.py", line 16, in mre
    x = ak.cartesian([candidate, jet])
  File "/Users/lagray/miniconda3/envs/coffea-jetmet/lib/python3.7/site-packages/awkward/operations/structure.py", line 3092, in cartesian
    assert isinstance(out, tuple) and len(out) == 1
AssertionError

Okay, that's because I checked ak.broadcast_apply and didn't check ak.cartesian directly (and @ianna's tests somehow missed this, too). The assertion is because ak.broadcast_apply expects as many arrays out as went in, ak.cartesian expects one array out, regardless of how many arrays went in, and my handling of the empty case has as many arrays coming out as in.
To get it right, I'll need to recurse down into the empty arrays, though that's just a formal thing to get the right number of empty arrays out as the operation requires (for all operations that use ak._util.broadcast_and_apply, which are many).
However, that raises the question of what should the output type be? I can do this, for instance:
--- a/src/awkward/_util.py
+++ b/src/awkward/_util.py
@@ -708,9 +708,16 @@ def broadcast_and_apply(  # noqa: C901
                 numoutputs = len(outcontents[-1])

             if numoutputs is None:
-                return tuple(
-                    x[0:0] if isinstance(x, ak.layout.Content) else x for x in inputs
-                )
+                nextinputs = []
+                for x in inputs:
+                    if isinstance(x, uniontypes):
+                        nextinputs.append(x[0:0].project(0))   # first type in the union
+                    elif isinstance(x, ak.layout.Content):
+                        nextinputs.append(x[0:0])
+                    else:
+                        nextinputs.append(x)
+                return apply(nextinputs, depth, user)
+
             else:
                 tags = ak.layout.Index8(tags)
                 index = ak.layout.Index64(index)

in which case,
>>> ak.cartesian([candidate, ak.Array([[1, 2, 3], []])])
<Array [None, None] type='2 * option[var * (muon["pt": float64], int64)]'>

It "unfairly" picks the first type in the union to set the type for the empty output by doing a .project(0) (we know that every union has at least one content).
If the candidate array contained non-missing electrons and muons, the output type would have electrons and muons; if the candidate array contained non-missing electrons (but the muons were all missing), the output type would have electrons only; etc. Since this candidate array has everything missing, maybe it ought to not have any of those types. Instead of projecting the UnionArray to its first content, we could replace it with an EmptyArray, but that would change the number of dimensions and can interfere with broadcasting further down the recursive chain (not in this case). Any dimensions that are shared by all members of the union should be copied:
--- a/src/awkward/_util.py
+++ b/src/awkward/_util.py
@@ -708,9 +708,34 @@ def broadcast_and_apply(  # noqa: C901
                 numoutputs = len(outcontents[-1])

             if numoutputs is None:
-                return tuple(
-                    x[0:0] if isinstance(x, ak.layout.Content) else x for x in inputs
-                )
+                def copy_listtypes(contents):
+                    if (
+                        all(isinstance(x, ak.layout.RegularArray) for x in contents)
+                        and all(x.size == contents[0].size for x in contents)
+                    ):
+                        return ak.layout.RegularArray(
+                            copy_listtypes([x.content for x in contents]),
+                            contents[0].size,
+                            0,
+                        )
+                    elif all(isinstance(x, listtypes) for x in contents):
+                        return ak.layout.ListOffsetArray64(
+                            ak.layout.Index64(nplike.empty(0, dtype=np.int64)),
+                            copy_listtypes([x.content for x in contents]),
+                        )
+                    else:
+                        return ak.layout.EmptyArray()
+
+                nextinputs = []
+                for x in inputs:
+                    if isinstance(x, uniontypes):
+                        nextinputs.append(copy_listtypes(x.contents))
+                    elif isinstance(x, ak.layout.Content):
+                        nextinputs.append(x[0:0])
+                    else:
+                        nextinputs.append(x)
+                return apply(nextinputs, depth, user)
+
             else:
                 tags = ak.layout.Index8(tags)
                 index = ak.layout.Index64(index)

And now
>>> ak.cartesian([candidate, ak.Array([[1, 2, 3], []])])
<Array [None, None] type='2 * option[var * (bool, int64)]'>

The "bool" comes from EmptyArray and might be another, unrelated issue.
>>> ak.cartesian([ak.Array([None, None]), ak.Array([[1, 2, 3], []])])
<Array [None, None] type='2 * option[var * (bool, int64)]'>

For now, I'm going to focus on this issue, since it seems they can be solved indepenently.
I'm going to add some tests and commit this.

About that "bool":
>>> ak.broadcast_arrays(candidate, ak.Array([[1, 2, 3], []]))
[
    <Array [None, None] type='2 * option[var * bool]'>,
    <Array [None, None] type='2 * option[var * int64]'>,
]
>>> ak.broadcast_arrays(ak.Array([None, None]), ak.Array([[1, 2, 3], []]))
[
    <Array [None, None] type='2 * option[var * bool]'>,
    <Array [None, None] type='2 * option[var * int64]'>,
]

It doesn't have anything to do with ak.cartesian; the by-product of broadcasting an EmptyArray makes it boolean for some reason. Probably the right type is "unknown," but I'm not sure and I'm not going to try to solve that now.

To me the output array should have to most covering type. Even in the case of selecting all electrons or all muons it should return union[electron, muon] as the underlying type, since as a user you have defined the input array as such and would not expect it to lose that type.

So the answer I would give is somewhere in between, and perhaps not easily implementable.
For primitive types I think the simplifying is fine, largely you don't care where something that you've stripped down to being a float64, int, bool matters that much. You have factored out the bookkeeping or there was none to begin with.
However for something that is given a __record__ name specifically, keeping the provenance of unions begins to make some sense because you'd like to be able to look at some object in a vacuum and tell what it is.
As a concrete example, there is a significant physics difference between some leptons, which is a union of electrons, muons, and taus, variable being:
?union[muon electron tau], and ?electron
On a first reading of those types you'd think leptons was just a list of electrons in the latter case... And from the programming perspective it absolutely is, but from physics/analysis perspective it is very different.
So really: type allowing explosion for user defined types and simplification for primitive types.
Perhaps this is just splitting hairs and we should tell users to be careful about bookkeeping?

Anyway, with this fix both the mre and the full example execute without failure.

This does it—I'm going to merge now.
Thanks @ianna for starting this! It got pretty deep into the broadcasting logic, though.

As a concrete example, there is a significant physics difference between some leptons, which is a union of electrons, muons, and taus, but consists only selected electrons somehow, variable being:
?union[muon electron tau], and ?electron
On a first reading of those types you'd think leptons was just a list of electrons in the latter case... And from the programming perspective it absolutely is, but from physics/analysis perspective it is very different.

The granularity of a type system is a choice, designed with a particular purpose in mind. When I said that Femtocode and OAMap "started with a schema and fit values into that afterward" and Awkward Array "starts with the values and infers a type from that," I meant I was switching to this choice of putting values first, types second. The type that describes an array of values can be any type that correctly generalizes every value in the array. There's no maximum granularity other than "Any," but there's a minimum granularity, which is the type that correctly matches all the values in the array and nothing more. This is a "shrink-wrapped" type: if you take an array of "muons OR electrons" and remove all the electrons, the minimal type for the result is just "muons."
Awkward Arrays don't have a history of what has happened to them, so if you do some operation on "leptons" that removes all the electrons (and taus, I guess), then what you have really is "electrons." In a statically typed environment, in which you don't know what values you'll encounter, you can't shrink-wrap it because you don't know if you'll encounter only electrons or not.
I guess what I'm saying is that Awkward Array types are dynamic types—you can't use them as type-safety for a program whose values are to be determined in the future. Maybe we should define some MyPy types for Awkward Arrays that would do that, but that's not what array.type is.
Also, I guess what I'm saying is that this was a design decision made in 2018 that is sufficiently fundamental that we won't be able to change it. As I've shown, there are cases that fall short of this "ideal" that I would consider bugs to fix, though from a type-safety point of view it's the opposite. Since every array does have a natural minimum type, it should be shrink-wrapped with uniontype_simplify to avoid UnionType nodes with empty content arrays.
Finally, this was the design decision that ended up being useful: the biggest problem with Femtocode and OAMap was improving the user experience—users had to carry around explicit Schemas and try (and fail) to fit data into them—it didn't encourage tinkering the way I wanted it to. As with all dynamically typed things, now we can tinker, but the problem is scaling it up and discovering corner-cases...
(Note the "without runtime errors" in the description of Femtocode. That would be possible with early, highly granular typing, but it comes at a cost of getting something half-working quickly. It's the same trade-off as in Rust: if it compiles, it will run forever. If it compiles... I've been in favor of very static type-checking and very dynamic at different times—I've never found a way to reconcile the trade-offs.)


etcdctl: endpoint hash command

Support hashing the KV store through etcdctl.

This should also include an update to op-guide/v2-migration.md with an example to check the hashes

I am also interested, for play.etcd.io.
Should we also expose Hash API to clientv3 and go from there?
Then adding hash field to StatusResponse?
Or just separate wrapper in clientv3 for HashResponse.

@gyuho I'm hesitant to change StatusResponse to include data that's not returned by the status RPC. Just HashKV(int64) (*HashKVResponse, error) under the maintenance interface should be OK.


starting point for version deep links

As requested in https://github.com/adoptium/website-v2/issues/373
This PR adds the ability to pass ?version=<version> to the temurin download pages so that users can preselect the desired Temurin version. This doesn't update the parameter value when users change it with the dropdown (that's going to take some extra work)

This doesn't update the parameter value when users change it with the dropdown (that's going to take some extra work)

This PR also doesn't update the version drop-down to reflect the selectedVersion, although the table has the correct versions - making the result confusing.

This PR also doesn't update the version drop-down to reflect the selectedVersion, although the table has the correct versions - making the result confusing.

Hmm that is interesting, it worked on my local machine...

This PR also doesn't update the version drop-down to reflect the selectedVersion, although the table has the correct versions - making the result confusing.

Hmm that is interesting, it worked on my local machine...

saw same thing from my local (tested on both Chrome and ff), dropdownlist not get set correctly (always set to 17)

This PR also doesn't update the version drop-down to reflect the selectedVersion, although the table has the correct versions - making the result confusing.

Hmm that is interesting, it worked on my local machine...

saw same thing from my local (tested on both Chrome and ff), dropdownlist not get set correctly (always set to 17)

working now

Preview deployment looks good to me now. Thx!

Thanks!!!


Which markets does it suport?

for such a question but I couldn't find it on IEX API page. Does this support EU markets? And if yes, what is the syntax?

I believe it is only US markets. See here for the list of supported symbols: https://iextrading.com/trading/eligible-symbols/
Also this GitHub issue is maybe relevant: https://github.com/iexg/IEX-API/issues/76


landsat_sr_c2: need to use SR_Cloud_QA to mask SR product alongside  PIXEL_QA

C2 Level-2 products, like SR, should be qa'd using the SR_Cloud_QA for Landsat 5/7 bit mask when a QA value is available in both L1 Pixel QA and SR_Cloud_QA as it incorporates L1 metadata as well as the LEDAPS info for atm corr of the SR product. LS 8/9 can continue to use the original QA bit.
To accomplish this, we need to separate the cloud qa funtions for LS5/7and LS8/9, then join the two image collections together.

upon more digging, USGS says that pixel qa and sr cloud qa can be used interchangeably. Closing this issue.

upon more digging, USGS says that pixel qa and sr cloud qa can be used interchangeably. Closing this issue.