Py fmdt

second attempt of PR in the 'dev' branch rather than 'master'

Thank you @vaubaill, I closed the Thank you Jérémie, I close this PR because we only accept PR on the develop branch. And I will accept the https://github.com/alsoc/fmdt/pull/1 PR. And I merges this one!


drivers/spi: Set CS inactive when releasing unconditionally

In order to avoid changing the signature of spi_context_cs_control
function, which is used in every driver, let's just make it an alias to
a new version.
Fixes #10344
Signed-off-by: Tomasz Bursztyka<EMAIL_ADDRESS>

Codecov Report

Merging #10372 into master will increase coverage by 0.06%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #10372      +/-   ##
==========================================
+ Coverage   52.83%    52.9%   +0.06%
==========================================
  Files         210      210
  Lines       25732    25732
  Branches     5672     5672
==========================================
+ Hits        13596    13614      +18
+ Misses       9821     9802      -19
- Partials     2315     2316       +1

Impacted Files
Coverage Δ

lib/posix/timer.c
67.46% <0%> (+4.81%)
:arrow_up:

lib/posix/clock.c
72.22% <0%> (+38.88%)
:arrow_up:

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 57a8db7...603ceb4. Read the comment docs.

Looks like this will solve the SPI CS lock issue as mentioned in #10344.
Looking at the different SPI drivers, there seems to be an inconsistent usage between _release and _inactive_unconditionally(). Perhaps at a later stage this an be aligned. For now, this prevents at least unexpected CS to be active after transactions / communication.

@nashif I guess this can go in

@tbursztyka, why this PR has been closed? any replacement?

@loicpoulain Looks like I closed it too quickly. I thought it was merged...

@tbursztyka thanks!


when providing the output path for the Searchable pdf if there is white space in output path it didn't understands and creates pdf  in root dir.

when providing the output path for the Searchable pdf if there is white space in output path it didn't understands and creates pdf  in root dir.

Found it.:)> just put path in "" and its working


Support universal

Can we please do a platform check before using window ?

Sure. You want to add PR or I will do it when I have time?

Close. 2.4.1

Thanks, but I did not see the change in master ?

Now you should.


fix ticket ref

looking at the commit that added this message,
https://github.com/django/django/commit/663e48947ff8ef3e6a6275bda2d1ee1b0de13be3
it looks like there's a typo in the ref here.

Thanks, however I don't think it's a typo. ticket-28053 is about supporting an Index() in Field.db_index and this comment is strictly related to it.


[gsl] update to 2.6

see title. Just an update of control, version and hash nothing more nothing less.

LGTM, thanks again!


Error on click and keyup events

I finally provided the mask, but here's the problem:
when the field gets focused, i get a TypeError in console:
Uncaught TypeError: Cannot read property 'toString' of undefined.
Is this about empty ng-model, when field is empty of something else?
The data from input is handled by formController, which creates an empty object and adds properties from <form> to it. Because of this TypeError, I can't implement client validation of 'phone' field, cause there's no value at all, when mask is on. But if i fill the input, it transfers to object without any problems.
How can I resolve this problem?
Here's my repo again to watch the project:
https://github.com/ermolaevalexey/alfamotors-test-angular

please answer someone, it's very imporant


[KAFKA-7132] [WIP] Consider adding a faster form of rebalance

Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

cc @becketqin @hachikuji

Retest this please.


Fix byte to float color conversion in DisplayServerWindows::screen_get_pixel

255 should be mapped to 1.0, it was mapped to 255.0 / 256.0.
byte / 255.0 is how we convert in most places I think (e.g. in Color or Image).
Fixes #79348.
No incorrect conversion spotted for Linux / MacOS:
https://github.com/godotengine/godot/blob/23318e877890029f35856036b9c4e0bfa09cacc6/platform/linuxbsd/x11/display_server_x11.cpp#L1220-L1220
https://github.com/godotengine/godot/blob/23318e877890029f35856036b9c4e0bfa09cacc6/platform/macos/display_server_macos.mm#L2226-L2228

Thanks!

Cherry-picked for 4.1.2.


Generator creates a project with a single-site and a singe-locale

GUS: https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07EE00000TshIdYAJ/view

Description

Types of Changes

[ ] Bug fix (non-breaking change that fixes an issue)
[ ] New feature (non-breaking change that adds functionality)
[ ] Documentation update
[ ] Breaking change (could cause existing functionality to not work as expected)
[ ] Other changes (non-breaking changes that does not fit any of the above)

Breaking changes include:

Removing a public function or component or prop
Adding a required argument to a function
Changing the data type of a function parameter or return value
Adding a new peer dependency to package.json

Changes

(change1)

How to Test-Drive This PR

(step1)

Checklists

General

[ ] Changes are covered by test cases
[ ] CHANGELOG.md updated with a short description of changes (not required for documentation updates)

Accessibility Compliance
You must check off all items in one of the follow two lists:

[ ] There are no changes to UI

or...

[ ] Changes were tested with a Screen Reader (iOS VoiceOver or Android Talkback) and had no issues
[ ] Changes comply with WCAG 2.0 guidelines levels A and AA
[ ] Changes to common UI patterns and interactions comply with WAI-ARIA best practices

Localization

[ ] Changes include a UI text update in the Retail React App (which requires translation)

It looks like some of the CI tests are failing because they are hard coded to expect /en-GB as part of the url. We'll need to update the tests to be locale agnostic

It looks like some of the CI tests are failing because they are hard coded to expect /en-GB as part of the url. We'll need to update the tests to be locale agnostic

Yeah, I saw that. I'll work on updating those tests tomorrow.

@adamraya It looks like you're still working on this PR. Pls let me know when it's ready for review, thanks.

@adamraya It looks like you're still working on this PR. Pls let me know when it's ready for review, thanks.

Yeah, sorry, we had a bunch of tests with the locale hardcoded that started to fail.
The tests are passing now. The PR is ready for review @vmarta.

@adamraya The steps to testdrive PR confused me, so I want to confirm the behavior here. The default project = when no preset is given to npx pwa-kit-create-app. Is that right?

https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07EE00000TshIdYAJ/view

Yes, with these changes, running the generator using npx pwa-kit-create-app will generate a project with a single locale.
However, the ticket doesn't refer to presets at all.
If we want to generate a project with a different locale configuration based on presets, that will be out of scope for this ticket and new work for a new ticket.
We can not test the changes using npx pwa-kit-create-app until we release the changes to NPM. The equivalent command to run the generator locally is:
GENERATOR_PRESET=test-project node packages/pwa-kit-create-app/scripts/create-mobify-app-dev.js --outputDir /tmp/project


Execution failed for task ':alibrary:generateRJava'

i follow your tips,embedded in library and compile the library in app
  in library
  in app
gradle show this:
Error:FAILURE: Build failed with an exception.

Where:
Script 'H:\android_project\BaseRecyclerViewAdapterHelper-master\alibrary\fat-aar.gradle' line: 218

What went wrong:
Execution failed for task ':alibrary:generateRJava'.

H:\android_project\BaseRecyclerViewAdapterHelper-master\alibrary\build\intermediates\exploded-aar\BaseRecyclerViewAdapterHelper-master\blibrary\unspecified\AndroidManifest.xml (系统找不到指定的路径。)

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

I just ran into the same problem.
I got as far as working out that the string 'unspecified' in your error tty comes from - in blibrary's build file - not having an entry for project.version, so I added project.version = android.defaultConfig.versionName in that library's defaultConfig.
Adding that changes
...ploded-aar\trunk<blibrary>\unspecified\AndroidManifest.xml (The system cannot find the path specified)
to
...ploded-aar\trunk<blibrary>\1.0\AndroidManifest.xml (The system cannot find the path specified)

I think that I found a solution for this issue.
I figure out the new default configuration for Android Studio 2.3: (android.enableBuildCache=true). When a change it to false in gradle.properties it stops in line 356:
Error:Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
FAILURE: Build failed with an exception.

Where:
Script 'https://raw.githubusercontent.com/roremeol/android-fat-aar/master/fat-aar.gradle' line: 356

What went wrong:
Execution failed for task ':qLibAds:embedManifests'.

java.io.FileNotFoundException: /Users/romulo/Desenvolvimento/develLibs/qLibAds_and/qLibAdsProject/qLibAds/build/intermediates/bundles/release/AndroidManifest.orig.xml (No such file or directory)

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

Well I'm getting closer.
Setting android.enableBuildCache=false in gradle.properties does make the exploded-aar folder appear.
However, the build process didn't explode the sub-library's aar in question into there. So to progress matters, I manually unzipped the aar into exploded-aar/
I then had to change the path in embedJavaJars() from "$aarPath/jars/classes.jar" to "$aarPath/classes.jar", and skip the call to embedManifests() - as that was crashing, and I don't need to merge the manifests in this case.
With that (still with the manual unzip which I'll have to fix later), it looks like I now have a merged aar file. (Though I still have problems building my app with it....)

Update:
R$... classes from the sub-library were missing from the output aar.
They are in \build\fat-aar\ as well as in a .jar file in build\intermediates\bundles\release\libs
After manually copying them from build\intermediates\bundles\release\libs<sub-library>.jar into classes.jar within the output aar, I am now able to compile the aar into a separate apk project.
So I now just need to figure out how to replace the two manual steps, i.e.

unzip the contents of the sub-library's aar file into build\intermediates\exploded-aar\
manually copy contents of  build\intermediates\bundles\release\libs<sub-library>.jar into classes.jar in the output aar
(I'm not worried that I disabled manifest merging)

It could help you:
task copyHeaders {
copy {
from("${srcLibs}")
into "../../Classes"
}
dependsOn ': app:preBuild'
}
task unzip {
copy {
def zipFile = file("${binLibs}/lib.aar")
def outputDir = file("../../libs")
    from zipTree(zipFile)
    into outputDir
}
dependsOn ':app:preBuild'

}

it seems that it does not work with maven dependencies. @JohnSFR

Update:
I think that this issue is related to #62 .
I do not know why. When Flavors is in debug in Android Studio, gradle makes other intermediates build folder ({libary dir}/build/intermediates/bundles/debug) and it seems to use it.
When i change the Flavor to release, it uses the correct one ({libary dir}/build/intermediates/bundles/default). And now the fat-aar works.
I figure out this curious issue on Androis's project

After android gradle plugin 2.3.0 is released, something about file path is changed.
That results in the hard-code build script working wrong.
AFAIK, there are 2 points below:

build/intermediates/bundles/debug is changed to build/intermediates/bundles/default in some case.
exploded-aar is moved to build-cache for performance improvement. To restore this, we can disable build-cache.

I have created a new repo to try to support all these.
But disable build-cache is also needed. Or you use the version prior to 2.3.0.
If the build script is really puzzle you, you can try mine.
@zuoyun @JohnSFR @roremeol

I have the same question as you 。finally I change gradle to 2.3.1 to 2.2.3 solve it
classpath 'com.android.tools.build:gradle:2.2.3'
I  found this way can solve it.


texstudio: 4.7.2 -> 4.7.3

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/texstudio/versions.
meta.description for texstudio is: TeX and LaTeX editor
meta.homepage for texstudio is: https://texstudio.org
meta.changelog for texstudio is: https://github.com/texstudio-org/texstudio/blob/24.05.20240301.dirty/utilities/manual/CHANGELOG.txt
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 4.7.3 with grep in /nix/store/yc8sdma93ams9g3k8x8mm97k9qslljxi-texstudio-4.7.3
found 4.7.3 in filename of file in /nix/store/yc8sdma93ams9g3k8x8mm97k9qslljxi-texstudio-4.7.3

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
texstudio

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/yc8sdma93ams9g3k8x8mm97k9qslljxi-texstudio-4.7.3 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A texstudio https://github.com/r-ryantm/nixpkgs/archive/76fd0356eb9a74c25033d2ab0cac2567c2f23004.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/76fd0356eb9a74c25033d2ab0cac2567c2f23004#texstudio

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/yc8sdma93ams9g3k8x8mm97k9qslljxi-texstudio-4.7.3
ls -la /nix/store/yc8sdma93ams9g3k8x8mm97k9qslljxi-texstudio-4.7.3/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package built:

texstudio

Maintainer pings
cc @ajs124 @Chaddai for testing.

That meta.changelog is broken. Either it was broken when I added it in 39c6139dd54fbe5c5ff835339f028ef765dca276 or I broke it in 07347b5352cd1.
If I forget to push a fix to this branch in the upcoming days, feel free to merge anyways (if anybody else gets around to testing) and we'll take care of this in another PR.


Follow button does not appear on the french opportunity page

Hi @markwooff .  Was just writing up a tweet to let everyone know about the "follow" feature when I noticed that it does not seem to appear on the French opportunity. Do you get the same?
Here is what it I see on the English screen:

and here is what I see on the French screen:

Follow button now appears on both English & French pages after domain was switched. Closing issue.


Add fable.proj to solution file

This PR try to make user do only one dotnet restore.
@whitetigle Can you check if this is working for you too ? (You need to clean the obj/bin folder to be sure).

Thanks @MangelMaxime :)

Thanks @MangelMaxime I was thinking of that too. I've also noticed there're sometimes problems with the .proj file (don't remember what exactly), I'll change it to .fsproj later :+1:

@alfonsogarciacaro I think the problem is with paket.
In my project, paket wasn't adding the reference to fable.proj I needed to rename it to fable.fsproj.


Integrate “Explain/Certify” section into tool

Integration of “Explain/Certify” section into tool, rather than requiring a separate text file input. Lets look into the best way to implement this so that submitter have fewer random files to deal with. This will be valuable so that the submission of this information is more intuitive, and harder to mess-up.

I'm having trouble finding a way to make a 'text input' field for this more of a block / text box as opposed to just one giant string line (which I really don't think would work).  We could just make the field where they input the file required as opposed to optional to prevent a person from being able to submit unless they have input the file...
Thoughts?


Fix Snowflake integration tests

Bug Description
The integration tests are currently pointing to an incorrect or misconfigured Snowflake instance.
Steps to Reproduce

nox -s dev -- shell snowflake
pytest -m integration_snowflake

Expected behavior
The tests should pass
Additional context
The SNOWFLAKE_TEST_URI Github secret must be updated once we've determined the correct value and our Snowflake instance has been properly configured.

@galvana did this get fixed after Sean updated the secrets?

Yes @ThomasLaPiana, all good now!


fixing builds

fixes #25

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender

@conda-forge/core I am getting a "note" about needing a target of macos 11.0 or newer, but not an error. I am not really sure what's the best course of action here. Previously, I set the target for 11 and called it a day, but maybe that goes against the policies/procedures around here? So could someone please give this a look and help? Thanks!
cc @marcelotrevisani if you'd like to weigh in since you're part of core as well :)
$SRC_DIR/src/runtime/contrib/bnns/bnns_json_runtime.cc:307:73: note: enclose 'BNNSDataLayoutVector' in a __builtin_available check to silence this warning
    auto dst_view = TView::as_is(dst_t).extract_outer_dim().with_layout(BNNSDataLayoutVector);
                                                                        ^~~~~~~~~~~~~~~~~~~~
$SRC_DIR/src/runtime/contrib/bnns/bnns_json_runtime.cc:313:53: warning: 'BNNSDataLayoutVector' is only available on macOS 11.0 or newer [-Wunguarded-availability-new]
      bias_view = TView::as_is(bias_md).with_layout(BNNSDataLayoutVector);
                                                    ^~~~~~~~~~~~~~~~~~~~
/Applications/Xcode_12.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk/System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/Headers/BNNS/bnns_constants.h:1134:3: note: 'BNNSDataLayoutVector' has been marked as being introduced in macOS 11.0 here, but the deployment target is macOS 10.9.0
  BNNSDataLayoutVector                         __API_AVAILABLE(macos(11.0), ios(14.0), watchos(7.0), tvos(14.0)) = 0x10000,
  ^

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender


What if "password reset" is greyed out?

I would love my users to be able to reset their own password.  But when I go to the Azure Active Directory page, I find the "Password Reset" capability is disabled.  How do I enable this?

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

ID: 90088440-454a-8698-8696-f84141ee6539
Version Independent ID: 621d6a1d-0799-4474-7c45-b6c7d60f3f6d
Content: Quickstart Azure AD self-service password reset
Content Source: articles/active-directory/authentication/quickstart-sspr.md
Service: active-directory
Sub-service: authentication
GitHub Login: @MicrosoftGuyJFlo
Microsoft Alias: joflore

@jackvinson Thank you for your query . We will investigate and get back to you on this.

Do you have an Azure AD premium license associated with the tenant and are you enabling this using a global administrator account? Has SSPR been set up properly according to the instructions? https://docs.microsoft.com/en-us/azure/active-directory/authentication/tutorial-sspr-pilot
Could you please check the URL https://account.activedirectory.windowsazure.com/ChangePassword.aspx https://passwordreset.microsoftonline.com  for any user?

I have no idea. (Which probably means “no”.)We have a business Office365 account. I’d like my colleagues to be able to reset their own password.
—
Jack Vinson, Ph.D.
(m)<PHONE_NUMBER>

From: Marilee Turscak - MSFT<EMAIL_ADDRESS>Sent: Thursday, May 30, 2019 5:27 PM
To: MicrosoftDocs/azure-docs
Cc: Jack Vinson; Mention
Subject: Re: [MicrosoftDocs/azure-docs] What if "password reset" is greyed out? (#32426)
Do you have an Azure AD premium license associated with the tenant and are you enabling this using a global administrator account? Has SSPR been set up properly according to the instructions? https://docs.microsoft.com/en-us/azure/active-directory/authentication/tutorial-sspr-pilot
Could you please check the URL https://account.activedirectory.windowsazure.com/ChangePassword.aspx https://passwordreset.microsoftonline.com for any user?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/azure-docs/issues/32426?email_source=notifications&email_token=AD4ECWCZVXURJHWMLQG3LIDPYBBETA5CNFSM4HRFFBNKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWTSC5Y#issuecomment-497492343, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AD4ECWCYH2LDVVMRF6L54Z3PYBBETANCNFSM4HRFFBNA.

You need to have the right license assigned for this to work. https://docs.microsoft.com/en-us/azure/active-directory/authentication/concept-sspr-licensing
Please check the related conversations:
https://github.com/MicrosoftDocs/azure-docs/issues/28597
https://docs.microsoft.com/en-us/azure/active-directory/authentication/active-directory-passwords-troubleshoot
https://docs.microsoft.com/en-us/azure/active-directory/authentication/concept-sspr-howitworks

We will now proceed to close this thread. If you have further questions feel free to reach out to me on MSDN and I will gladly continue the discussion.
We are migrating product questions and troubleshooting questions to the forums since the docs are mainly used for doc feedback.


Carbon 2185

Changes / Comments
Enhanced and some html clean-up.
Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[x] Does the pull request title have the sheet name(s)? Include each sheet name.
[x] Is this a bug fix?
[x] Does this add functional enhancements (new features or extending existing features) ?
[x] Does this add or change functional aesthetics (such as layout or color scheme) ?
[ ] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
[ ] If this is a new sheet, did you follow Building Character Sheets standards ?

If you do not know English. Please leave a comment in your native language.

Hello there @vanderweb, your PR contains changes to files in the root folder which. Could you fix those?

Character Sheet Info Roll20 Internal Use only.

Hi. They are deleted now. Sorry about that.


Use shared storage for ELL and COO in Hybrid

Currently the only thing preventing reusable reads working via int-to-float-to-int conversions like in #1338 is the fact that Hybrid uses two separate allocations to store the values for the ELL and COO parts. This PR uses a shared storage and views into it instead.
To fix the tests, I also had to make sure that they specify the correct input dimensions, because ELL and COO can no longer be reallocated separately.

could you elaborate more on the issue from the separate storage issue in int-to-float-to-int conversions?

I want to implement reusable read as a gather operation that gathers values from the input device_matrix_data (or just value array) into the matrix. For this to be possible, the values array needs to be contiguous, so I can implement this as
auto [gather_idxs, ...] = matrix->read_reuse(matrix_data);
// ...
auto mtx_value_vector = matrix->create_value_view(); // returns Dense
value_vector->row_gather(gather_idxs, mtx_value_vector);

Depending on the actual interface we end up with, this may or may not be necessary. If we want to expose the value array as a single storage, we will need it though.

On second thought, if we hide the read reuse behind a more generic interface, we might be able to get by without this change, because it can also be implemented with two separate gather calls in the current Hybrid implementation, and for distributed matrices, we can't use the same aliasing trick generically, so we would need to defer to the generic reuse functionality and at least two separate gather calls anyways.

Shelving this, it seems like there are cleaner ways to enable reusable reads for Hybrid that also work for distributed matrices


Version information wrong in file properties

The version information of the DLL file are wrong.
Please note that we are working on an improvement for the plugin manager user interface that will show the File version as plugin version.

This issue has been resolved.


Swift 4.2/Xcode 10 support

I have noticed, that Dwifft cannot be compiled in Xcode 10 and Swift 4.2. Main issues are:

UITableViewRowAnimation  renamed to UITableView.RowAnimation.
UITableViewStyle renamed to UITableView.Style.
UIApplicationLaunchOptionsKey renamed to UIApplication.LaunchOptionsKey .
Some other details in example app and test dependencies.

How would you execute the transition to Swift 4.2? Do you think the changes need to be backward compatible? I can see few difficult issues to fix if you required the backward compatibility.
I am willing to help with the transition.

@mkj-is I'd be happy to take a PR migrating to swift 4.2. No backwards compatibility necessary - I'll cut a new version of the library.


[MATLAB] Create a superclass for DateType-related MATLAB tests

Describe the enhancement requested
Many of the tests for Date32Type and Date64Type are similar. To reduce code duplication, we could consider adding a shared superclass for DateType-related tests.
Component(s)
MATLAB

Added label good-first-issue.

@kevingurney Is this issue resolved? If not, I want to contribute to it!!

@ShaiviAgarwal2 - no this issue is not resolved yet. Please feel free to contribute! Thanks!

@kevingurney
To reduce code duplication in the tests for Date32Type and Date64Type can be done by creating a shared superclass for DateType-related tests. This superclass would contain common test methods and properties that are shared between Date32Type and Date64Type.
We can do the same by following the mentioned steps:-
Firstly, we will define a new class DateTypeTest that will serve as the superclass.
Then we will identify the common test methods and properties between Date32Type and Date64Type.
Then move these common methods and properties to the DateTypeTest superclass.
Finally, we will make the test classes for Date32Type and Date64Type inherit from the DateTypeTest superclass.
I have created it with a basic example of how this might look in MATLAB but the actual implementation will depend upon the properties and methods common to Date32Type and Date64Type
classdef DateTypeTest < matlab.unittest.TestCase
    % Common properties and methods for Date32Type and Date64Type tests

    properties
        % Common properties
    end

    methods(Test)
        % Common test methods
    end
end

classdef Date32TypeTest < DateTypeTest
    % Specific properties and methods for Date32Type tests
end

classdef Date64TypeTest < DateTypeTest
    % Specific properties and methods for Date64Type tests
end

@kevingurney Could you please assign this task to me?

Assigned.

Thank you, @kou! My apologies for the delayed response. I was away for the last few days.

@kevingurney To reduce code duplication in the tests for Date32Type and Date64Type can be done by creating a shared superclass for DateType-related tests. This superclass would contain common test methods and properties that are shared between Date32Type and Date64Type.
We can do the same by following the mentioned steps:-
Firstly, we will define a new class DateTypeTest that will serve as the superclass. Then we will identify the common test methods and properties between Date32Type and Date64Type. Then move these common methods and properties to the DateTypeTest superclass. Finally, we will make the test classes for Date32Type and Date64Type inherit from the DateTypeTest superclass.
I have created it with a basic example of how this might look in MATLAB but the actual implementation will depend upon the properties and methods common to Date32Type and Date64Type
classdef DateTypeTest < matlab.unittest.TestCase
    % Common properties and methods for Date32Type and Date64Type tests

    properties
        % Common properties
    end

    methods(Test)
        % Common test methods
    end
end

classdef Date32TypeTest < DateTypeTest
    % Specific properties and methods for Date32Type tests
end

classdef Date64TypeTest < DateTypeTest
    % Specific properties and methods for Date64Type tests
end

@kou @kevingurney
Am I thinking in the right direction and are you satisfied with my answer?

@ShaiviAgarwal2 - thanks for working on this.
Yes, identifying the common tests between the Date32 and Date64 test classes and creating a superclass test class that these inherit from is the correct overall approach.
Note: we use the naming convention t<test-class-name rather than <test-class-name>Test for the MATLAB tests.

@kevingurney Thank you for the feedback. I will make sure to follow the naming convention t for the MATLAB tests.
Can  I submit a PR for the same now?

@ShaiviAgarwal2 - yes, please feel free to submit a pull request whenever you are ready. No need to ask for permission!


Questions about model-free meta-reinforcement learning

Hello, really like your work. Is the model-free reinforcement learning code implemented, please? If so, which file is it?

Hi, unfortunately the code is not implemented yet, however we hope to be able to release the code in the future. If you have any questions regarding the implementation feel free to reach out!


refactor(v2): add flowtype + refactor test

Motivation

Update dependencies and remove dead code

Refactor several config files after jest upgrade

Add static typing with flow. Just added the setup for @docusaurus/utils and @docusaurus/core

@docusaurus/utils now have static typing

some files of @docusaurus/core has static typing

Original files (with flow typing) are located in src. Flow striped files are located in lib.
The one that will be published in npm are the lib
Have you read the Contributing Guidelines on pull requests?
yes
Test Plan

CI passes
Netlify is OK for v1 and v2

P.S for future devs
Don't forget to run yarn build at root directory after editing any file. Alternatively, use yarn build:watch so that everytime u edit, it compiles the JS files with typing -> to JS without typing automatically'

Let's think again if Typescript is better for our use case.
The experience with Flow wasn't that good so far.

Community is smaller
Flow-typed is so limited, https://github.com/flow-typed/flow-typed/tree/master/definitions compared to https://github.com/DefinitelyTyped/DefinitelyTyped

Lot of repos switching to TS. Even Jest.
https://github.com/facebook/jest/pull/7554#issuecomment-454358729

I don't mind personally setting it up before it's all too late.
My only reason to use Flow right now is because we're under the same organization 😢


Clean up some duplicate code

Fixed #309
Clean up import codes in server test cases

LGTM. Merged.


feat: internal outbound metrics

What this PR does / why we need it:

https://outreach-hq.slack.com/archives/CN9MU7GLW/p1628699251299900

JIRA ID: [XX-XX]

Notes for your reviewer:

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


When authz plugin is disabled, remove from authz middleware chain.

When the daemon is configured to run with an authorization-plugin and if
the plugin is disabled, the daemon continues to send API requests to the
plugin and expect it to respond. But the plugin has been disabled. As a
result, all API requests are blocked. Fix this behavior by removing the
disabled plugin from the authz middleware chain.
Tested using riyaz/authz-no-volume-plugin and observed that after
disabling the plugin, API request/response is functional.
Fixes #31836
Signed-off-by: Anusha Ragunathan<EMAIL_ADDRESS>

@rogaha :This PR should fix 31836. Can you please test out the PR and confirm that your use case works after the fix?

@riyazdf : Added TestAuthZPluginDisable to test API works after disabling plugin.

that's awesome! Thanks for putting it together @anusha-ragunathan! I'll try it out today.

@anusha-ragunathan the disable worked as expected. However the enable didn't work and if I restart the daemon while the plugin is disabled the daemon doesn't start.
error message:
ar 21 00:33:27 moby root: time="2017-03-21T00:33:27.165290541Z" level=debug msg="/usr/local/sbin/iptables, [--wait -I FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT]"
Mar 21 00:33:27 moby root: time="2017-03-21T00:33:27.167359157Z" level=debug msg="/usr/local/sbin/iptables, [--wait -t filter -C FORWARD -j DOCKER-ISOLATION]"
Mar 21 00:33:27 moby root: time="2017-03-21T00:33:27.169540643Z" level=debug msg="/usr/local/sbin/iptables, [--wait -D FORWARD -j DOCKER-ISOLATION]"
Mar 21 00:33:27 moby root: time="2017-03-21T00:33:27.172036268Z" level=debug msg="/usr/local/sbin/iptables, [--wait -I FORWARD -j DOCKER-ISOLATION]"
Mar 21 00:33:27 moby root: time="2017-03-21T00:33:27.174231338Z" level=debug msg="/usr/local/sbin/iptables, [--wait -t filter -C DOCKER-ISOLATION -i docker0 -o br-fe1b858575e8 -j DROP]"
Mar 21 00:33:27 moby root: time="2017-03-21T00:33:27.176073215Z" level=debug msg="/usr/local/sbin/iptables, [--wait -I DOCKER-ISOLATION -i docker0 -o br-fe1b858575e8 -j DROP]"
Mar 21 00:33:27 moby root: time="2017-03-21T00:33:27.177930575Z" level=debug msg="/usr/local/sbin/iptables, [--wait -t filter -C DOCKER-ISOLATION -i br-fe1b858575e8 -o docker0 -j DROP]"
Mar 21 00:33:27 moby root: time="2017-03-21T00:33:27.179771753Z" level=debug msg="/usr/local/sbin/iptables, [--wait -I DOCKER-ISOLATION -i br-fe1b858575e8 -o docker0 -j DROP]"
Mar 21 00:33:27 moby root: time="2017-03-21T00:33:27.362095443Z" level=info msg="Loading containers: done."
Mar 21 00:33:27 moby root: Error validating authorization plugin: plugin "index-stage.docker.io/rogaha/rogaha-auth-plugin:latest" not found

Is it possible to check the plugin state during the dockerd start up process?

This brings up the bigger point of whether we want clients to control the behavior of the docker daemon, by installing an authz plugin that hijacks the engine-api proxy. IMO, if we want clients to be able to disable an authz plugin and get back to normal engine API behavior, then we should have clients be able to enable an authz plugin as well.
@riyazdf : WDYT?

@anusha-ragunathan as you mentioned in our conversation on Slack, an user that controls the daemon should be able to handle the daemon restart in case the client disabled the authz plugin also the authz plugin can protect itself it the disable is not wanted. So, IMHO, I think we should keep the PR as it's (disable only) to prevent potential abuse of the authz plugin.

I confirm that the disable works as expected! LGTM

@rogaha : Agree that although the disable request can be sent by the client, it can be disallowed by the authz plugin if needed, which is safe. The same approach doesnt hold for enable and hence we should not enable the plugin using the client and continue to keep it as a dockerd startup flag.

I agree with @anusha-ragunathan's point that disable is safer here than enable 👍

@anusha-ragunathan 👍

we'll probably want to update authz plugin docs if/when we merge this change, especially for the case if the daemon is restarted after a plugin disable that did not also update the daemon flags?

@riyazdf : the doc update is orthogonal to this PR. Even without this PR, the plugin will get disabled and the next dockerd start will error out unable to find the disabled plugin. I do think authz plugin docs in general need an audit and overhaul w.r.t pluginv2. We can do that in a separate PR.

agreed, can be a separate PR - just came to mind

Apart from small nit, code looks good

LGTM

LGTM


Various Cube merge/concatenate issues

Background
Following the Dragon Taming session offline and #4446 #3234, I thought it best to try and capture what users want from improvements to merge/concatenate and what pain points there are, so we can establish what if any can be fixed.
So the user story is as follows - I've loaded in some data as iris cubes, and put them in my cubelist. I want to do this to perform some kind of analysis on the resulting cubes, producing plots or datasets, not cubes to further share on, so destruction or ignorance of metadata is fine. I've done equalise_attributes and unify_time_units. Yet Iris refuses to join my cubes together, when I know the data makes sense together. Why?
Exploration of Problem
Here's a few examples I've found from talking to users / yammer/AVD knowledgebase

Dim Coord bounds not being identical (off by 0.00001 in on the edge for one example)
One cube having cell methods and the other not, or mismatches in cell methods
Auxiliary coordinate bounds not matching dim coords bounds
Cube units not matching
Cubes having different auxiliary or derived coordinates
Dim Coords having the same values, but different Dtypes
Cubes having overlapping times

I think you can put these in three categories - things that are bugs to fix, things that a "force" keyword or another util function could fix, and things that should be errors.

Bugs to fix

Dim coords having same values, but different Dtypes (see #5372 for it already being addressed for time, but I think a broader check may be useful)

Things that the user should be able to force

Remove all cell methods from the cubes before merge/concat
Remove all auxiliary coordinates from the cubes before merge/concat
Remove all derived coordinates from the cubes before merge/concat
Remove scalar coordinates before concatenate (not merge)
Remove bounds from dimensional coordinates and only compare points (maybe guess_bounds afterwards to resstablish?)
Guess a order for dimensional coordinates for cases where dim coords are exactly equal (maybe, might leave this one as error)

Things that should still error

Cubes having overlapping times.
Cubes having different units (or names, for either coords or the cube itself)
Proposed solution
In this process, the hardest to diagnose errors were often ones relating to Dim coords not matching. Adding a function to iris similar to @rcomer's coord_diffs (http://fcm9/projects/utils/browser/hadru-python/trunk/iris_wrappers.py?marks=19-52#L19) to allow easier or automatic comparison of coords when there is an error would also improve the user experience.
So, I propose two things. A coord_comparison function as a coord method that gives more detail to the user when a concatenate or merge fails due to dim coords not matching.
And a Force keyword for concatenate/merge cube that does some or all of the above listed fixes to allow users to automatically do the steps in iris they are already manually doing to their cubes. It should also automatically call equalise_attributes and unify_time_units
Thoughts?

For anyone outside the Met Office who is interested, I also have the coord_comparison function as a gist.  I'm afraid it has no tests.

Great issue, thanks for articulating those problems.
To add another one to the list, when trying to concatenate ensemble runs the realization coordinate often overlaps, e.g., different MOGREPS-G runs all have the control member numbered 0.
Appreciate sometimes you’d want this information to be preserved but most of the time I don’t really care which member is which!

Taming Design Notes
Similarity of proposed "operations"
All of the proposed "operations" follow a pattern -
(which matches iris.util.equalise_attributes or iris.util.unify_time_coords)

they take a list of cubes + return a list of corresponding modified cubes
equalise or remove various metadata elements to make all the cubes mergeable/concatenable
return the same cubes, if operation is not needed (or not possible)
won't make further changes, if re-applied
can work out whether changes are needed (e.g. remove elements only if they disagree)
equalise all the cubes they are given,
intending that they will all (potentially) combine into a single result cube

Proposed new API form
We could write all these as additional iris.util routines, in the style of equalise_attributes/unify_time_coords
- but we think it is probably better to have a single function
-- say, "equalise_cubes" --
with keyword controls for the various different operations

NOTE: assumes ideal = all ops work independently, and independent of order of application

Possible additional functions
We can think of some extra possibly useful operations, too:

unify_time_units
equalise_attributes

(or possibly more lenient-style approach = where some cube don't have it, retain on all)

unify_units

seems possible where units are compatible (but must preclude degC/K conversion due to relative/absolute confusion)

Grouping of input cubes ?
Optionally, the top-level "equalise_cubes" function could identify the "groups" of cubes (which would naturally be chosen by merge/concat),
so as to allow the operation to be applied to (for instance) all cubes from a load.
HOWEVER there are remaining questions about this :

the individual operations assume that the input group is identified as a candidate for merge/concatenate

thus, they can't be used on cube groups which "should" be kept separate -- e.g. different phenomena
the grouping could be performed within the "combine_cubes", or the "equalise_cubes" operation

It's not (yet) clear whether all operations are completely independently applicable, i.e.

will a number of operation produce equivalent results, regardless of the order they are applied in
can they all be applied, just once, in advance of any/all merge/concatenate operations

most of the suggested operations seem to require no additional context or arguments,

so you either run that operation, or you don't
but SOME it seems might need additional per-operation difference
= e.g. "Remove scalar coordinates" (effectively using "new_axis"??)

might need to specify which
and, as for the time-dependent-orography problem, possibly which other aux-coords need to map the new dim)

actual grouping is determined by merge/concat implementations
-- but we suspect that the definition of this may be subtly different for merge + concatenate ???

Embedding in extended "combine_cubes" operation
We also anticipate that "equalise_cubes" can become an additional step in an extended "combine_cubes" operation
(and so will mean extending "CombineProfile" (=="LoadProfile" as-is) to accommodate)
( See https://github.com/pp-mo/iris/pull/82
But note : this also awaiting https://github.com/SciTools/iris/pull/6199 before it makes sense as PR to the main Iris fork
)
But this means:

we probably do it only once, before any merge/concatenate steps (and repeats)
all controls need to have identifiable independent keywords which can appear as keywords of "combine_cubes"
combine_cubes does allow cubes to be mixed across multiple "output groups"
-- ( grouping discussed above )
N.B. various API need to shake down before "combine_cubes" becomes a reality.
So we can think forward to this, but should definitely wait
(Aside : future of "combine_cubes"

expect LoadPolicy to be replaced by "combine_policy"
expect "merge_unique" to be added as a control
)

Proposed Development Plan
=Tamed ?

craft the initial operation, implementing only certain operations
= why not equalise_attributes/unify_time_coords for now, as these already exist ?
choose (and implement) a list of further "equalisation operations"
decide on integration with combine_cubes  (though this API has not settled yet)

Notes on process
for taming meeting:

address the tech worries:

group identification
apply-once-in-any-order ?

need to reconsider from the user perspective

are we addressing the right needs
is the interface usable

could go in experimental ?
(OR) could keep initial func private, until it becomes useful (+ API settles a bit?)

ping @nCarolina


strace: 6.8 -> 6.9

Description of changes
ChangeLog: https://github.com/strace/strace/releases/tag/v6.9

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@OfBorg build pkgsStatic.strace


Validation loader is seeded the same during epoch in distributed mode

Bug description
The validation dataloader is seeded identically for each validation step during each epoch in distributed mode. While this may be fine when the whole validation set is consumed entirely in the validation step, this leads to unexpected results when using the limit_val_batches option.
It seems to me that this is not the result that is expected when setting limit_val_batches ; it seems that that should give a different subset of batches every time the validation loop is executed. The behavior for devices=1 confirms this: in this case the dataloader provides a new set of batches on every validation loop, even in the case of multiple validation loops per epoch.
The issue seems to arise from the distributed sampler in pytorch (torch.utils.data.distributed.DistributedSampler, see https://pytorch.org/docs/stable/_modules/torch/utils/data/distributed.html#DistributedSampler), which seeds based on a seed, and epoch number. The effect is that the exact same shuffling is used as long as the epoch number has not been updated. And then, as mentioned before, when limiting the validation to a small subset of the total validation set, over the course of one epoch, exactly the same batches are used for evaluation at every step, and then a new fixed set on the second epoch, etcetera.
Below is a reproducing example that displays the batch indices at every validation step. It is easy to see that the output is identical all throughout the first epoch. Setting the number of devices to 1, gives a random set of batches every validation step (the expected behavior).
Summary:
The combination devices > 1, limit_val_batches < (len(dataset) // batch_size) and shuffle=True gives the same set of validation batches for each validation step.
What version are you seeing the problem on?
v2.0
How to reproduce the bug
from torch.utils.data import DataLoader
import torch
import torch.nn as nn
import torch.optim as optim
import pytorch_lightning as pl
import time

# Define the LightningModule
class MyModel(pl.LightningModule):
    def __init__(self):
        super(MyModel, self).__init__()
        self.model = nn.parameter.Parameter(torch.ones(1,), requires_grad=True)

    # Nothing important here
    def training_step(self, batch, batch_idx):
        loss = (self.model - batch).square().mean()
        self.log('train_loss', loss)
        return loss

    def train_dataloader(self):
        dataset = torch.range(0, 100000).float() / 10000
        train_dataloader = DataLoader(
            dataset, batch_size=2)
        return train_dataloader

    def val_dataloader(self):
        val_dataset = torch.range(0, 10000).float()
        val_batch_size=8

        val_dataloader = DataLoader(
            val_dataset, batch_size=val_batch_size, drop_last=False, num_workers=0,
            pin_memory=False, collate_fn=collate_fn, shuffle=True
        )
        return val_dataloader

    def configure_optimizers(self):
        optimizer = optim.Adam(self.parameters(), lr=1e-4)
        return optimizer

    def validation_step(self, batch, batch_idx):
        print(f'Reporting from local rank {self.trainer.local_rank}, index {batch_idx}, batch {batch}')

collate_fn = torch.stack

if __name__ == '__main__':
    devices= 2
    accelerator = 'cpu'
    # Create a PyTorch Lightning trainer
    model = MyModel()

    trainer = pl.Trainer(
        max_epochs=100,
        val_check_interval=0.2,
        limit_val_batches=2,
        devices=devices,
        accelerator=accelerator,
    )

    # Train the model using the Lightning trainer
    trainer.fit(model)

Error messages and logs
[ ... ]
Epoch 0:  20%|███████████████████████▌                                                                                | 5000/25001 [00:06<00:24, 811.98it/s, v_num=0]
Reporting from local rank 1, index 0, batch tensor([8240., 9125., 2912., 3170., 9948., 9427., 6728., 1879.])
Reporting from local rank 1, index 1, batch tensor([6557., 5502., 8580., 1543., 6386., 1750., 4385., 3793.])
Validation: 0it [00:00, ?it/s]
Reporting from local rank 0, index 0, batch tensor([ 354., 2137., 5853., 6143., 8100., 3042., 2407., 1548.])                                                  | 0/2 [00:00<?, ?it/s]

Reporting from local rank 0, index 1, batch tensor([7737., 3251., 6256., 6769., 7153.,  720., 3561., 5881.])                                        | 1/2 [00:00<00:00, 2004.93it/s]
Epoch 0:  40%|██████████████████████████████████████████████▊                                                                      | 10000/25001 [00:12<00:18, 806.40it/s, v_num=0]
Reporting from local rank 1, index 0, batch tensor([8240., 9125., 2912., 3170., 9948., 9427., 6728., 1879.])
Reporting from local rank 1, index 1, batch tensor([6557., 5502., 8580., 1543., 6386., 1750., 4385., 3793.])

Reporting from local rank 0, index 0, batch tensor([ 354., 2137., 5853., 6143., 8100., 3042., 2407., 1548.])                                                  | 0/2 [00:00<?, ?it/s]

Reporting from local rank 0, index 1, batch tensor([7737., 3251., 6256., 6769., 7153.,  720., 3561., 5881.])                                        | 1/2 [00:00<00:00, 1972.86it/s]
Epoch 0:  60%|██████████████████████████████████████████████████████████████████████▏                                              | 15000/25001 [00:18<00:12, 799.65it/s, v_num=0]
Reporting from local rank 1, index 0, batch tensor([8240., 9125., 2912., 3170., 9948., 9427., 6728., 1879.])
Reporting from local rank 1, index 1, batch tensor([6557., 5502., 8580., 1543., 6386., 1750., 4385., 3793.])

Reporting from local rank 0, index 0, batch tensor([ 354., 2137., 5853., 6143., 8100., 3042., 2407., 1548.])                                                  | 0/2 [00:00<?, ?it/s]

Reporting from local rank 0, index 1, batch tensor([7737., 3251., 6256., 6769., 7153.,  720., 3561., 5881.])                                        | 1/2 [00:00<00:00, 1897.88it/s]
[ ...  Before changing the behavior, I'd like to have a short discussion on this.
The reason for this is that I kind of disagree and this would be exactly the behavior I'd expect for validation loaders.
If you set limit_val_batches and for every validation call you get different batches/samples, how would you track progress of your model if scores obtained in validation runs wouldn't be comparable to each other as they were computed on different samples. This would make things like early stopping, checkpointing and lr scheduling based on validation scores impossible.

I can think of two reasons why I would assume that is the expected behavior. Assuming here the user has set shuffle in the dataloader to True.

after every epoch, the random validation batch does change.
In non-distributed training, the random shuffle does change every round of validation.

At the very least, 1. and 2. are inconsistent. 1. seems particularly strange, since it keeps the same batch during the epoch, but changes it at the end. Certainly 1. would be the worst scenario for early stopping, chceckpointing and lr scheduling.
Taking a new random sample from the validation set every validation round certainly has more variance, but at least it removes the bias associated with having a fixed random sample.
Consider this: training the same model twice with a different random seed would produce arbitrarily different results, depending on which validation batch is chosen. Even worse: going from one epoch to the next could yield completely different results.

If there's an inconsistency between distributed and non-distributed, we should address it. I agree with shuffling every validation call during the epoch if that's what devices=1 does.

I agree making it consistent. Since the user explicitly asked for shuffling, this should be ok IMO. Implementing it would however require a decision. The change can be made in this line:
https://github.com/Lightning-AI/lightning/blob/bc85c5fd14005965faae4010db428820e422e2d3/src/lightning/pytorch/loops/evaluation_loop.py#L225
The change proposed here would request to make this number there increase every validation loop call. Right now, it is constant across an epoch (representing the epoch index). However, afaik we don't explicitly track a counter for how many times the validation loop is invoked. This would have to be added.
Alternatively, we could decide to set it to the training batch progress:
_set_sampler_epoch(dl, trainer.fit_loop.epoch_loop.batch_progress.current.processed)

But this isn't a very clean solution.


0.20 build + cherrypick requests

I'm going to do today's build of a 0.20 and will use this issue to track its progress.  And if you have cherrypick PR requests, please tag this issue on them.
@brendandburns has pending #10274 to cut it.

Thanks for the cherrypick requests.  Those will likely get kicked off on Monday along with any others that come up.
I've published 0.20.0 to the releases page, along with binaries.  Release notes still in progress, also to land on Monday.
https://github.com/GoogleCloudPlatform/kubernetes/releases/tag/v0.20.0

#10296 - EOL caching mirror
#10264 - CA certs for svcacct
##10361 - fix bug in #10264
#10150 - No more DNS token
On Fri, Jun 26, 2015 at 5:17 PM, Alex Mohr<EMAIL_ADDRESS>wrote:

Thanks for the cherrypick requests. Those will likely get kicked off on
Monday along with any others that come up.
I've published 0.20.0 to the releases page, along with binaries. Release
notes still in progress, also to land on Monday.
https://github.com/GoogleCloudPlatform/kubernetes/releases/tag/v0.20.0
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/issues/10409#issuecomment-115923508
.

@zmerlynn requested #10437

Thanks.  v0.20.0 is now final with release notes and such.
I'll cut v0.20.1 after lunch now that all the above requests have been merged.

Looks like #10296 - EOL caching mirror, #10264 - CA certs for svcacct, and #10361 - fix bug in #10264 were already in v0.20.0.
Cherrypicks in https://github.com/GoogleCloudPlatform/kubernetes/pull/10499:

Don't block etcd client #10427
Revert "Remove raw binaries from distro that are already included in … #10437
Revert "Set resource limit for both heapster and influxdb container b… #10430
#10150 - No more DNS token

If we want to cut v0.20.2, please do include PR #10400; otherwise, I plan to update our release notes for v0.20.1 for such breakage.

Ahh, I just saw @alex-mohr already includes pr #10400

Yeah, just sent #10559 to cherrypick 3 PRs into v0.20.2:

Don't make kubelet systemd service depend on Docker #10400
Kubelet doesn't fight apiserver for cputime on the master. #10471
Wait until a token shows up to start addons (redux) #10542

Unmerged candidate for v0.20.3:

Make UpgradeAwareProxyHandler use transport.Dial if provided #10529

Can you include #10369 in the next patch release?

@vishh Can you please summarize why #10369 should be cherrypicked?  What's the state of the world if we don't patch vs. we do?  Is it fixing a regression?  That is, we need to finalize 0.20.x and it's not clear to me if this is just a nice to have that's fine waiting for 0.21 or more urgent.

Marked 0.20.2 as stable and removed pre-release tag.


Update sql-database-technical-overview.md

@CarlRabeler,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Minor grammar edits.

Found this repo via Reddit and saw a few fixes to improve readability.  Lapce looks great!
The architecture reminds me of Emacs' TRAMP “Transparent Remote (file) Access, Multiple Protocol”. TRAMP uses native remote communication tools (ssh, telnet, rsh, etc) to transport file contents instead of requiring a bespoke proxy/plugin. This significantly unburdens TRAMP development and allows it to work across a much broader set of network topologies.

Thanks for your contribution! I've changed the parget branch of this PR for a staging branch, and unfortunately this PR conflicts with one made earlier. Could you please rebase your changes onto the rollup branch? Thanks!


Missing support for Q ports in API300::Synergy::LIGUplinkSet, missing support for multiple Synergy frames

Scenario/Intent

I'm trying to create Uplink Set for Virtual Connect SE 40Gb F8 Module for Synergy, oneview-sdk does not support this kind of uplink ports.
Also I would like to add ports from more frames, for example Frame 1, ICM3, Q1 and Frame 2, ICM6, Q1. LIGUplinkSet does not support such feature

Environment Details

OneView SDK Version: 4.1.0
OneView Appliance Version: 3.0 Synergy edition

Steps to Reproduce
Try to create LIGUplinkSet with following uplink ports:
bay: 2
port: 'Q1'

SDK will raise error since API200::LIGUplinkSet can't handle anything with Q prefix.
    def relative_value_of(port)
        identifier = port.slice!(0)
        offset = case identifier
                 when 'D' then 0
                 when 'X' then 16
                 else raise InvalidResource, "Port not supported: #{identifier} type not found"
                 end
        port.to_i + offset
      end

theoretical analysis for Q ports
I've found that Q ports in Virtual Connect SE 40Gb F8 Module for Synergy have following convention for the relative numbering:
Q1 = 61
	Q1:1 = 62
	Q1:2 = 63
	Q1:3 = 64
	Q1:4 = 65
Q2 = 66
	Q2:1 = 67
	Q2:2 = 68
	Q2:3 = 69
	Q2:4 = 70

This also means that we have to distinguish between QN and QN:M ports within the relative_value_of method. So we have to check whether String port contains . or : delimiter.

if positive, M will be used as a addition to the base number which will be the same for variants
if negative, addition will equal 0

dirty draft (needs A LOT OF improvements :) ):
          port_delimiter = nil
          port_delimiter = '.' if port.include? '.'
          port_delimiter = ':' if port.include? ':'
          if port_delimiter
            port_desc = port.split(port_delimiter)
            port_addition = port_desc[1]
            port_current = port_desc[0]
          else
            port_addition = 0
            port_current = port
          end
          port_number = port_current.gsub(/[^\d]/, '').to_i
          return (61 + ((port_number - 1) * 5)  + port_addition)

theoretical analysis for multiple synergy frames
I guess that we can edit add_uplink method in API200::LIGUplinkSet this way:
      # Specify one uplink passing the virtual connect bay and the port to be attached.
      # @param [Fixnum] bay number to identify the VC
      # @param [String] port to attach the uplink. Allowed D1..D16 and X1..X10
      def add_uplink(bay, port, enclosure_index = 1)
        entry = {
          'desiredSpeed' => 'Auto',
          'logicalLocation' => {
            'locationEntries' => [
              { 'relativeValue' => bay, 'type' => 'Bay' },
              { 'relativeValue' => enclosure_index, 'type' => 'Enclosure' },
              { 'relativeValue' => relative_value_of(port), 'type' => 'Port' }
            ]
          }
        }
        @data['logicalPortConfigInfos'] << entry
      end

Open topics

[x] Investigate: Virtual Connect SE 16Gb FC Module for Synergy module also has Q ports. Do these ports have the same offset?

Update for Virtual Connect SE 16Gb FC Module for Synergy:
Each FC module has 4x QSFP ports (these ports can be used with splitter only, so you can allocate QN:M ports only) and 8 SFP+ ports.
QSFP ports relative mapping:
Q1:1 = 21
Q2:1 = 25
Q3:1 = 29
Q4:1 = 33

SFP+ ports relative mapping:
1 = 13
2 = 14
3 = 15
8 = 20

This means that we also have to distinguish between ICM models; Virtual Connect SE 16Gb FC Module for Synergy and Virtual Connect SE 40Gb F8 Module for Synergy ... So maybe we'll override both relevant methods add_uplink & relative_value_of in API300::Synergy?

I suppose that API300:Synergy::LIGUplinkSet should contain something like:
        def add_uplink(bay, port, icm_model, enclosure_index = 1)
          enclosure_index = -1 if icm_model.include?('Virtual Connect SE 16Gb FC Module for Synergy')
          entry = {
            'desiredSpeed' => 'Auto',
            'logicalLocation' => {
              'locationEntries' => [
                { 'relativeValue' => bay, 'type' => 'Bay' },
                { 'relativeValue' => enclosure_index, 'type' => 'Enclosure' },
                { 'relativeValue' => relative_value_of(port, icm_model), 'type' => 'Port' }
              ]
            }
          }
          @data['logicalPortConfigInfos'] << entry
        end

        def relative_value_of(port, icm_model)
          #  Virtual Connect SE 40Gb F8 Module for Synergy
          # Virtual Connect SE 16Gb FC Module for Synergy
          # insert logic here!
        end

I'm working on some draft. Will send next update soon.

This might be the solution for both Synergy modules which can have some uplink ports.
API300::Synergy::LIGUplinkSet
I'm not so sure about hard-coded names of Modules ... on the other hand there's probably no other option as we are creating template only.

        def add_uplink(bay, port, icm_model, enclosure_index = 1)
          enclosure_index = -1 if icm_model.include?('Virtual Connect SE 16Gb FC Module for Synergy')
          entry = {
            'desiredSpeed' => 'Auto',
            'logicalLocation' => {
              'locationEntries' => [
                { 'relativeValue' => bay, 'type' => 'Bay' },
                { 'relativeValue' => enclosure_index, 'type' => 'Enclosure' },
                { 'relativeValue' => relative_value_of(port, icm_model), 'type' => 'Port' }
              ]
            }
          }
          @data['logicalPortConfigInfos'] << entry
        end

        def relative_value_of(port, icm_model)
          port_sep = port.match( /[^[:alnum:]]/ ).to_s
          port_cur = port_sep.empty? ? port : port.split(port_sep)[0]
          port_add = port_sep.empty? ? 0 : port.split(port_sep)[1].to_i
          if  icm_model.includes?('Virtual Connect SE 40Gb F8 Module for Synergy')
            port_number = port_cur.gsub(/[^\d]/, '').to_i
            return (61 + ((port_number - 1) * 5)  + port_add)
          end

          if  icm_model.includes?('Virtual Connect SE 16Gb FC Module for Synergy')
            if port_sep.empty?
              return 12 + port_cur.gsub(/[^\d]/, '').to_i
            else
              port_number = port_cur.gsub(/[^\d]/, '').to_i
              return (20 + ((port_number - 1) * 4)  + port_add)
            end
          end
          raise "Unsupported ICM model #{icm_model}"
        end

@vranystepan , what about something like this:?
def add_uplink(bay, port, enclosure_index = 1)
  entry = {
    'desiredSpeed' => 'Auto',
    'logicalLocation' => {
      'locationEntries' => [
        { 'relativeValue' => bay, 'type' => 'Bay' },
        { 'relativeValue' => enclosure_index, 'type' => 'Enclosure' },
        { 'relativeValue' => relative_value_of(port, enclosure_index), 'type' => 'Port' }
      ]
    }
  }
  @data['logicalPortConfigInfos'] << entry
end

def relative_value_of(port, enclosure_index = 1)
  match = port.match(/^([A-Za-z])[:\.]?(\d+)[:\.]?(\d*)$/)
  raise(InvalidResource, 'Invalid port format. Should look similar to D1 or Q1.2') unless match
  identifier, offset, offset2 = match.captures
  case identifier.upcase
  when 'D' then offset.to_i
  when 'X' then 16 + offset.to_i
  when 'Q'
    if enclosure_index = -1 # Virtual Connect SE 16Gb FC Module for Synergy
      20 + (offset.to_i - 1) * 4 + offset2.to_i
    else # Virtual Connect SE 40Gb F8 Module for Synergy
      61 + (offset.to_i - 1) * 5 + offset2.to_i
    end
  else raise(InvalidResource, "Port not supported: #{identifier} type not found")
  end
end

I'm not sure if it's enough to just pass the enclosure_index, but for this case, if the 16GB module is the only one that has a -1 enclosure_index value, we can determine with just that whether it's a 40GB or 16GB module, right? I'm not sure if that logic is correct, so please verify.

@jsmartt I like your code! Nice and Clean :+1:  Yes, you're right, -1 is valid only for FC modules, so this condition will work. I'll test it tomorrow in the actual environment.
All these values come from LIGs created through web interface. So I'm basically fetching them from API.
I was not able to find some mapping resource inside the OneView API so this was the only available method.
I've just realized that I need to double check behaviour of Q ports (40GbVC) when they are configured as FC or FCoE uplinks. Logically they should have the same relative indexes ... but you never know.

[ ] Test adjusted code in the actual environment
[ ] Doublecheck relative indexing of Q ports (40GbVC)

I've done doublecheck. Port numbering is the same even for FC uplinks. So Q1:1 is 62, Q1:2 is 63 ... The only difference is that you cannot use QN ports, FC uplinks can be binded to QN:M only. But this will be handled by OneView.

Cool. @vranystepan , were you planning on implementing this feature, or shall I (or someone else)?

@jsmartt I will try to implement it. One question Is it API200 or API300/Synergy? I suppose we should place it into the Synergy since there are also C7000 modules with Q modules (HPE Virtual Connect FlexFabric-20/40 F8 Module). I guess that these modules have different relative mapping (I will try to get some data, I should have access to some solution with such switches now).
So what about
API 200 (update existing method):
def add_uplink(bay, port, enclosure_index = 1)
  entry = {
    'desiredSpeed' => 'Auto',
    'logicalLocation' => {
      'locationEntries' => [
        { 'relativeValue' => bay, 'type' => 'Bay' },
        { 'relativeValue' => enclosure_index, 'type' => 'Enclosure' },
        { 'relativeValue' => relative_value_of(port, enclosure_index), 'type' => 'Port' }
      ]
    }
  }
  @data['logicalPortConfigInfos'] << entry
end

API300/Synergy (add a new method):
def relative_value_of(port, enclosure_index = 1)
  match = port.match(/^([A-Za-z])[:\.]?(\d+)[:\.]?(\d*)$/)
  raise(InvalidResource, 'Invalid port format. Should look similar to D1 or Q1.2') unless match
  identifier, offset, offset2 = match.captures
  case identifier.upcase
  when 'D' then offset.to_i
  when 'X' then 16 + offset.to_i
  when 'Q'
    if enclosure_index = -1 # Virtual Connect SE 16Gb FC Module for Synergy
      20 + (offset.to_i - 1) * 4 + offset2.to_i
    else # Virtual Connect SE 40Gb F8 Module for Synergy
      61 + (offset.to_i - 1) * 5 + offset2.to_i
    end
  else raise(InvalidResource, "Port not supported: #{identifier} type not found")
  end
end

eventually something similar for API300/C7000 with different offset(s)

I don't see why not just add it to API200 only and let the API300 variant classes inherit it. If OneView API v200 doesn't support an offset that the user passes, it will notify the user, so we wouldn't have to worry about that logic. But keeping them all the same will reduce confusion and difficulties with the methods having different parameters. And if the offsets are different in Synergy and C7000 we can set a class constant that can be used in the method(s) so we don't have to re-define them. Does that sound reasonable?

Absolutely.

@jsmartt Couple points about HPE Virtual Connect FlexFabric-20/40 F8 Module, c7000:

You can use QN:M ports only
QN:M ports starts at relative value 17: Q1:1 = 17, Q2:1 = 21 ...
X ports starts at value 33: X1 = 33, X8 = 40 ...

So Q-ports may be handled this way:
            start = self.class.to_s.include? 'Synergy' ? 61 : 16
            start + (offset.to_i - 1) * 5 + offset2.to_i

But how to handle different relative position of X port across various ICM models ...

Can I take a step back here and ask @tmiotto, @fgbulsoni , @ricardogpsf & @aalexmonteiro  why exactly we're doing this conversion in the first place? It looks like the API docs accept the value as strings like "Q1.2", so why go through the effort to convert it to an integer? I see it shown as an integer on the GET of a LIG, but the GET for an UplinkSet shows it as a string. The user doesn't care how this gets handled on the back-end, so why do this conversion at all?  I know very little about LIGs, so pardon my ignorance if it shows here.

@jsmartt It is because if you try to handle it within the LIG it must be an integer. This conversion is not for the user, it is used internally by the SDK.

😞 bummer

The preferred method is to first:
GET /rest/interconnect-types?filter=name={NAME}
Then, look within portInfos for the portName you are trying to get.  I would normalize either the string value you are asking the caller for or the portName to a common value (e.g. replace : with . for common naming with the Interconnect Type objects portInfos port object).  Once you find the port object, use the portNumber value to build your logical location of the port in the Uplink Set.
This is what I do within the New-HPOVUplinkSet PowerShell Cmdlet when adding Uplink Set objects to LIGs.

BTW, you can ask the caller for the Interconnect Module name so you can look up the module object from the API.  OR, you ask for the LIG from the user, which then you look for the relativeValue corresponding to the Interconnect module bay ID, then get the permittedInterconnectTypeUri, which will be an Interconnect Type.  Then you can use the guidance I gave above looking at the portInfos collection/array for the portName.

That's brilliant! Thank you.
For example:
GET /rest/interconnect-types?filter=name=%27Virtual%20Connect%20SE%2040Gb%20F8%20Module%20for%20Synergy%27
Returns:
{
  "type": "InterconnectTypeCollectionV300",
  "members": [
    {
      "type": "interconnect-typeV300",
      "partNumber": "794502-B23",
      "minimumFirmwareVersion": "1.0.0",
      "portInfos": [
        {
          "portName": "Q8:1",
          "portNumber": 97,
          "uplinkCapable": false,
          "portCapability": [
            "Ethernet",
            "Stacking"
          ],
...

However we'll need to pass module name to the LIGUplinkSet instance ...

@jsmartt, @fgbulsoni,
I've done a quick mockup with Synergy frame.
Test file:
# Logical Interconnect Group in the second Bay Set
lig = OneviewSDK::API300::Synergy::LogicalInterconnectGroup.new(c, {
  name: 'LIG-40gb-1Frame-Redundant-01',
  redundancyType: 'Redundant',
  interconnectBaySet: 2,
  enclosureType: "SY12000",
  enclosureIndexes: [1]
})

# One tagged network / VLAN
mgmt_network = OneviewSDK::API300::EthernetNetwork.new(c, { name: 'Management', vlanId:  1000, purpose:  'General', smartLink: false, privateNetwork: false })
mgmt_network.create
lig.add_network(mgmt_network)

# Two Fourty-gig modules
lig.add_interconnect(2, 'Virtual Connect SE 40Gb F8 Module for Synergy', nil, 1)
lig.add_interconnect(5, 'Virtual Connect SE 40Gb F8 Module for Synergy', nil, 1)

# One Uplink Set
uplink_set = OneviewSDK::API300::LIGUplinkSet.new(c, {
  name: 'UplinkSet1',
  networkType: 'Ethernet',
  primaryPort: nil
})

# Two uplink ports
uplink_set.add_uplink(2,'Q1', 'Virtual Connect SE 40Gb F8 Module for Synergy')
uplink_set.add_uplink(5,'Q1', 'Virtual Connect SE 40Gb F8 Module for Synergy')

# Add Uplink Set to the Logical Interconnect Group
lig.add_uplink_set(uplink_set)

# Create Logical Interconnect Group
lig.create

api200/lig_uplink_set.rb:
...
      # Specify one uplink passing the virtual connect bay and the port to be attached.
      # @param [Fixnum] bay number to identify the VC
      # @param [String] port to attach the uplink. Allowed D1..D16 and X1..X10
      def add_uplink(bay, port, model = nil)
        entry = {
          'desiredSpeed' => 'Auto',
          'logicalLocation' => {
            'locationEntries' => [
              { 'relativeValue' => bay, 'type' => 'Bay' },
              { 'relativeValue' => 1, 'type' => 'Enclosure' }
            ]
          }
        }
        if model
          entry['logicalLocation']['locationEntries'] << { 'relativeValue' => fetch_relative_value_of(port, model), 'type' => 'Port' }
        else
          entry['logicalLocation']['locationEntries'] << { 'relativeValue' => relative_value_of(port), 'type' => 'Port' }
        end
        @data['logicalPortConfigInfos'] << entry
      end

...

      def fetch_relative_value_of(port, model)
        interconnect_type = OneviewSDK::Interconnect.get_type(@client, model)
        unless interconnect_type
          list = OneviewSDK::Interconnect.get_types(@client).map { |t| t['name'] }
          raise OneviewSDK::NotFound, "Interconnect type #{type} not found! Supported types: #{list}"
        end
        type_port = interconnect_type['portInfos'].find { |p| p['portName'] == port }
        type_port['portNumber']
      end

Unfortunately I don't have OneView 2.0 with c7000 or OneView 3.0 with c7000 to test other scenarios :(
As I stated before, This is a pretty tough way but we probably can't do this differently when we have LIGUplinkSet and LogicalInterconnectGroup separately.
Another possible solution would be to merge these classes to LogicalInterconnectGroup

Nice! That looks promising. If that method needs to be used in 2 separate resources, you may also want to consider making it a class method (with or without an instance method that wraps it).
As for the c7000 HW, can you use the simulator to get what you need?

I've just realized that that I need just OneView Virtual Machines without hardware. Will do some functionality tests.
At this point I don't think we need to call this method from more resources, I was just thinking about add_uplink method which will require the third parameter with the model name... which can be annoying. If this is not an issue - let's go in this direction.

@jsmartt @fgbulsoni,
Haha, funny. Synergy Q ports use QN:M naming and guess what: c7000 modules (for example 'HP VC FlexFabric-20/40 F8 Module') use QN.M :smile:
Anyway these mothods should be able to handle all 3 scenarios:

legacy functionality with X and d ports
"unpredictable" naming of modules with Q ports (especially in new Synergy modules)
Integer naming - port names which do not require any translation ( #228 )

add_uplink method:
      def add_uplink(bay, port, model = nil, enclosure_index = nil)
        enclosure_index ||= model.include?('Virtual Connect SE 16Gb FC Module') ? -1 : 1
        port =
          if model
            fetch_relative_value_of(port, model)
          else
            port.to_s == port.to_i.to_s ? port : relative_value_of(port)
          end
        entry = {
          'desiredSpeed' => 'Auto',
          'logicalLocation' => {
            'locationEntries' => [
              { 'relativeValue' => bay, 'type' => 'Bay' },
              { 'relativeValue' => enclosure_index, 'type' => 'Enclosure' },
              { 'relativeValue' => port, 'type' => 'Port' }
            ]
          }
        }
        @data['logicalPortConfigInfos'] << entry
      end

def fetch_relative_value_of method:
      def fetch_relative_value_of(port, model)
        port_formats = [port.sub('.', ':'), port.sub(':', '.')].uniq
        interconnect_type = OneviewSDK::Interconnect.get_type(@client, model)
        unless interconnect_type
          list = OneviewSDK::Interconnect.get_types(@client).map { |t| t['name'] }
          raise OneviewSDK::NotFound, "Interconnect type #{type} not found! Supported types: #{list}"
        end
        type_port = interconnect_type['portInfos'].find { |p| port_formats.include? p['portName'] }
        raise OneviewSDK::NotFound, "Port #{port} not found" unless type_port
        type_port['portNumber']
      end

I've done functionality tests with OneView 3.0 (20/40 F8 modules), OneView 3.0 Synergy edition (40Gb VC and 16Gb FC VC), even the multi-frame scenario (with 40Gb VC) is working fine.

Nice! Can you submit a PR when you feel you're ready @vranystepan ?

Anyway these mothods should be able to handle all 3 scenarios:

Awesome job @vranystepan ! Waiting anxiously for the PR :octocat:

@fgbulsoni @jsmartt working on it. Do I have enough permissions in this repo?
And secondly, where should I put these Bug fixes & Enhancements in CHANGELOG?

Do I have enough permissions in this repo?

@vranystepan Can you try the Fork it, branch it, change it, commit it, and pull-request it. way?
Otherwise I can give permissions if need be.

And secondly, where should I put these Bug fixes & Enhancements in CHANGELOG?

Since this is a bugfix/enhancement and I don't think we've added any other resource to be released, something like this should be good for the changelog:
Unreleased Changes
Suggested release: v4.3.1
Bug fixes & Enhancements:

#216 Missing support for Q ports in API300::Synergy::LIGUplinkSet, missing support for multiple Synergy frames
#228 Method add_uplink for LIG Uplinks Set does not work with Q ports nor integer ports

@fgbulsoni ahh, now I got your point :) I've raised a PR #230

merged.


add AEAD ciphers support

Add support for AEAD ciphers for crypto lib ( for instance AES-GCM, AES-CCM) code is tested against linux version 4.14 (both encoding, decoding operations) it might NOT working with linux 3.4 (however brief check of function's declarations showed it could be just fine)

All comments addressed

Thank you for spotting all kfree errors. comments addressed.

Some warning comment added


Cargo.lock needs to be updated but --locked was passed to prevent this

Something about the v0.5.3 release does not like building with --locked, but the tip of main is fine w/ it. I'm trying to create an AUR package for Arch Linux and they like that option for reproducible builds. I'm not very familiar w/ rust building or rust packaging, so I'm just kind of messing around.
0 ✓ fryfrog@apollo ~/git/smag $[main] git checkout tags/v0.5.3 -b v0.5.3
Switched to a new branch 'v0.5.3'
0 ✓ fryfrog@apollo ~/git/smag $[v0.5.3] cargo build --release --locked --all-features --target-dir=target
error: the lock file /home/fryfrog/git/smag/Cargo.lock needs to be updated but --locked was passed to prevent this
If you want to try to generate the lock file without accessing the network, use the --offline flag.

101 ✗ fryfrog@apollo ~/git/smag $[v0.5.3] git checkout main
Switched to branch 'main'
Your branch is up to date with 'origin/main'.
0 ✓ fryfrog@apollo ~/git/smag $[main] cargo build --release --locked --all-features --target-dir=target
   Compiling libc v0.2.80
   Compiling proc-macro2 v1.0.24
   Compiling version_check v0.9.2
   Compiling cfg-if v0.1.10
   Compiling unicode-xid v0.2.1
   Compiling log v0.4.11
   Compiling bitflags v1.2.1

Works fine in 0.5.4. Thanks for fixing! :)

No problem. Didn't have time to verify that my fix worked yet. Glad to hear it solved the problem.

This is happening again in 0.8.0, can you give it a look again?

Sorry, smag is in maintenance mode at the moment. I have time to review PRs but not actively work on fixing problems myself. So if someone opens a PR I can review, but I do not recall how I fixed last time.


Add full wiki

Please add wiki on
1) how do I train with new faces
2) How do I recognize the trained faces.

Have you seen the Train a classifier on own images page on the wiki? That explains exactly what you are asking for.

Im ran the following script
sudo python align/align_dataset_mtcnn.py /datasets/lfw/raw /datasets/lfw/lfw_mtcnnpy_160 --image_size 160 --margin 32 --random_order --gpu_memory_fraction 0.25

It is firing the following error
ERROR:
Traceback (most recent call last):
  File "align/align_dataset_mtcnn.py", line 34, in <module>
    import facenet
ImportError: No module named 'facenet'

Ofcourse I ran the comman export PYTHONPATH=/Users/zumbala/Documents/facenet/src/ before running

From the looks of the path I take it you are on Windows? Setting the PYTHONPATH on windows is slightly different than on Linux, on the wiki everything is explained for Linux.
Anyway you can find an explanation on how to set the PYTHONPATH here.
Hope this helps you!

No.. Im using mac....

Well that's really weird then... What is the output of echo $PYTHONPATH after you do the export?

it says :/Users/zumbala/Documents/facenet/src

Well I don't see why you would get that error then, the only other thing I can think of that you can try is putting the export directly into your .bashrc at least if Mac has that, I've never used Mac so I don't know much about it sorry.

i simply copy pasted everything from align folder to root and it worked. thank you

Я просто скопировал и вставил все из папки выравнивания в корень, и это сработало. благодарю вас

please write how did you do it?


Close #1727 Added LinkedList programs

Assigned Issue Number ?
#1727
Language(s) Opted ?
C/C++/Python/Java
Number of file(s) added or updated ?
added 4 folders and a file
Name and location of the file(s) ?
Collection=> LinkedList=> LinkedList.java
Collection=> LinkedList=> C
Collection=> LinkedList=> C++
Collection=> LinkedList=> Python
Collection=> LinkedList=> Java
Checklist

[ ] I've followed the contributing guidelines
[ ] The content added isn't directly copied from any sources like gfg, tutorialpoint, etc.
[ ] Input has been taken dynamically.
[ ] I've referred the correct issue number.
[ ] Comments have been added
[ ] I've  synced-up my forked repo.
[ ] Ain't pushing from the main branch.

https://www.geeksforgeeks.org/collections-in-java-2/


Text input context does not respond to _valueForTIProperty

[x] I have read the FAQ.
[x] I have searched in existing issues.

Environment

OS: macOS 10.15.7
scrcpy version: 2.1.1
installation method: brew
device model:
Android version: 9

Describe the bug
use sudo scrcpy --no-audio -m 1920 error
scrcpy 2.1.1 https://github.com/Genymobile/scrcpy
Dependencies (compiled / linked):

SDL: 2.28.1 / 2.28.1
libavcodec: 60.3.100 / 60.3.100
libavformat: 60.3.100 / 60.3.100
libavutil: 58.2.100 / 58.2.100
libusb: - / 1.0.26

scrcpy 2.1.1 <https://github.com/Genymobile/scrcpy>
INFO: ADB device found:
INFO:     -->   (usb)  CSXDU17C29002316                device  STF_AL10
/usr/local/Cellar/scrcpy/2.1.1/share/scrcpy/scrcpy-server: 1 file pushed, 0 skipped. 147.3 MB/s (56995 bytes in 0.000s)
[server] INFO: Device: [HUAWEI] HONOR STF-AL10 (Android 9)
2023-07-17 14:06:44.583 scrcpy[86800:4430389] imkxpc_getApplicationProperty:reply: called with incorrect property value 4, bailing.
2023-07-17 14:06:44.583 scrcpy[86800:4430389] Text input context does not respond to _valueForTIProperty:
2023-07-17 14:06:44.584 scrcpy[86800:4430389] imkxpc_getApplicationProperty:reply: called with incorrect property value 4, bailing.
2023-07-17 14:06:44.584 scrcpy[86800:4430389] Text input context does not respond to _valueForTIProperty:
INFO: Renderer: metal
[server] ERROR: Exception on thread Thread[video,5,main]
java.lang.RuntimeException: cannot get MediaCodecList
	at android.media.MediaCodecList.native_getCodecCount(Native Method)
	at android.media.MediaCodecList.initCodecList(MediaCodecList.java:82)
	at android.media.MediaCodecList.<init>(MediaCodecList.java:170)
	at com.genymobile.scrcpy.CodecUtils.listVideoEncoders(CodecUtils.java:59)
	at com.genymobile.scrcpy.LogUtils.buildVideoEncoderListMessage(LogUtils.java:16)
	at com.genymobile.scrcpy.ScreenEncoder.createMediaCodec(ScreenEncoder.java:233)
	at com.genymobile.scrcpy.ScreenEncoder.streamScreen(ScreenEncoder.java:73)
	at com.genymobile.scrcpy.ScreenEncoder.lambda$start$0$com-genymobile-scrcpy-ScreenEncoder(ScreenEncoder.java:294)
	at com.genymobile.scrcpy.ScreenEncoder$$ExternalSyntheticLambda0.run(Unknown Source:4)
	at java.lang.Thread.run(Thread.java:784)
2023-07-17 14:07:16.270 scrcpy[86800:4430389] imkxpc_getApplicationProperty:reply: called with incorrect property value 4, bailing.
2023-07-17 14:07:16.270 scrcpy[86800:4430389] Text input context does not respond to _valueForTIProperty:
^CERROR: Demuxer 'video': stream disabled due to connection error

Which device is it? (the vendor modified the method from AOSP)
Please post your framework.jar:
adb pull /system/frameworm/framework.jar

and post the file.


Add Enterprise features to TOC and fix link.

https://cockroachlabs.atlassian.net/browse/DOC-1167

This change is


https://xyz.:443/metrics: x509: certificate signed by unknown authority

I've deployed prometheus in kubernates container and it's working fine. after that trying to run pushgateway with a separate container it working fine but when prometheus.yml file added below entry getting  "metrics: x509: certificate signed by unknown authority "
  - job_name: pushgateway
    honor_labels: true
    scheme: https
    static_configs:
      - targets: ['prom-pushgateway.com']

please let me know how to ersolve this issue.
I have downloaded the docker image from docker hub
image: prom/pushgateway

It makes more sense to ask questions like this on the prometheus-users mailing list rather than in a GitHub issue. On the mailing list, more people are available to potentially respond to your question, and the whole community can benefit from the answers provided.


Google/Facebook Authentication

User Story
As a user,
I want to be able to sign in using my Google or Facebook account,
So that I don't need to create an account for the website, and the authentication is more secure.
Additional Context
When the user goes to sign in we would like to give them the option of signing in using their Google or Facebook account, as well as being able to create an account, this will allow users who have a Google or Facebook account a way to more easily and securely sign in to the site, but still allows users who do not have either account to still be able to sign in and use the site
Acceptance Criteria

[x] When user goes to sign in they are presented with the ability to sign in with a W.A.K account.
[x] When user goes to sign in they are presented with the ability to sign in with a Google account.
[x] When user goes to sign in they are presented with the ability to sign in with a Facebook account.
[x] Sign in page UI should reflect these changes with styling consistent with the rest of the website.
[x] When a Google or Facebook account is first used to sign in, site will create a user profile attached to the account.

Completed with PR #98


Create ESM javascript build + docs

A requested feature is to have a JS ESM version of references. This should be easy to do by creating a little wrapper around vue with an init function.

Hello. Any rough ETA on this?
We're planning to use Scalar, but we're still on Vue 2.7.

unfortunately not at the moment, as things are pretty crazy! But we hope to start setting up our roadmap later this year so you will be able to track the tickets!

@Ansett We were able to get something completed this week. You can take a look at https://github.com/scalar/scalar/pull/1855 for an example integration but in Vue 2 you would likely just do something along the lines of:
data: {
  scalarInstance: null,
  configuration: {
    // ... Some config here. When this changes the watcher will trigger and update the configuration
  },
},
mounted() {
  this.scalarInstance = createScalarReferences(
    this.$refs.element,
    this.configuration ?? {}
  );
},
beforeDestroy() {
  this.scalarInstance?.unmount();
},
watch: {
  configuration: function (val) {
    this.scalarInstance?.updateConfig(val, false);
  },
}

Excuse any syntax errors my Vue2 is very rusty.

Wonderful! We're going to try this. Thanks a lot.

Well, actually, since headlessui needs a vue3 peer-depency and we've vue2.7 installed I guess it still can't work.
We'll find an other way thanks anyway :D


[Suggestion] Swap "Install/Play" button side in some game versions

For the sake of consistency, I suggest the swap of the "play" Button to the same side in all game versions.
In all Genshin versions and Chinese Honkai, the "play" button is on the left and in the rest it is on the right.
Even though this does not cause much problem, it still causes some confusion in the launcher's first use and while you don't create muscle memory for it, diminishing the initial user experience.
Hope you take this into consideration.

If it's feasible, I upvote that

Hi there,
Thank you for the suggestion.
Yes, I'm agree with this and this should be applicable without any code changes since the parameter that handles this behaviour is "IsRightSide" parameter inside of the launcher metadata for each game region.


Automatic PR: Create new release

This automatically created Pull Request includes the latest release from the source repo. Please review the changes and merge this PR with the "main" branch into the main codebase.

Don't merge, it's just for demos


New email domain for University of South Alabama

Also present under old domain at lib\domains\edu\usouthal.txt
University of South Alabama
School page:
https://www.southalabama.edu/
Computer Science Page:
https://www.southalabama.edu/colleges/soc/
Confirmation of usage of<EMAIL_ADDRESS>https://www.southalabama.edu/services/jagnet/about.html

@ndcooke First stage of verification passed, official domain for University of South Alabama is jagmail.southalabama.edu as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@ndcooke Thank you for your patience while waiting for a review and processing your request. Pull request merged.


Does NNW have plans to support Tiny Tiny Rss?

I wish NetNewsWire would support TTRss because it's a great experience, as opposed to Reeder, which I don't really like on iOS and Mac.
I know there are several identical issues, but I am very sorry I still want to praise and mention the need alone
#3665 #2087 #388 It was first proposed in 2018

We plan very little at a time — our planning is very short-term. Just because it’s not in our plans doesn’t mean we won’t do it. We just have some other priorities first.

Duplicate of #388.

Tiny-Tiny RSS is now usable with NetNewsWire. I recently published a plugin for Tiny Tiny RSS that will allow NetNewsWire to interface with it using the FreshRSS API here: https://github.com/eric-pierce/freshapi
I've got to say NNW is a really nice experience, better with TT-RSS as the server. If you give it a shot please provide any feedback or issues you find!


Skip foreign key checker for different databases

Hey, thank you for your contribution and sorry for taking it so long! I'll review the PR today/tomorrow and merge it. Unfortunately, CI wasn't triggered for some reason, although I have it enabled for PRs from forks. 🤔

Meanwhile, feel free to add you to CHANGELOG.md, you can find some examples there 👍

Released in version 1.1.12. Please let me know if that works for you well.

Thanks @djezzzl. Yes, I am running my forked version with this patch and it fixes the errors for multi db foreign keys


zesty? helper method missing from docker_installation_package

Cookbook version
4.1.1
Chef-client version
12.22.1
Platform Details
centos-7.4
Scenario:
Install docker via docker_service.
docker_service 'default' do
install_method 'package'
package_name 'docker-engine'
version "#{docker_version}"
storage_driver 'overlay'
action [:create, :start]
end
Actual Result:
NoMethodError
-------------
docker_installation_package[default] (/tmp/kitchen/cache/cookbooks/docker/libraries/docker_service.rb line 61) had an error: NoMethodError: undefined method `zesty?' for DockerCookbook::DockerInstallationPackage
       Cookbook Trace:
       ---------------
       /tmp/kitchen/cache/cookbooks/docker/libraries/docker_installation_package.rb:134:in `version_string'
       /tmp/kitchen/cache/cookbooks/docker/libraries/docker_installation_package.rb:11:in `block in <class:DockerInstallationPackage>'
       /tmp/kitchen/cache/cookbooks/docker/libraries/docker_installation_package.rb:43:in `block (2 levels) in <class:DockerInstallationPackage>'
       /tmp/kitchen/cache/cookbooks/docker/libraries/docker_installation_package.rb:42:in `block in <class:DockerInstallationPackage>'

Fixed on master. I'll try to get this pushed to Supermarket today. Thanks for the report.


bip21: support bitcoin uri scheme

update uri interface to support bip23 uri as: /bitcoin/bitcoin:<address>?amount=<decimal>&label=<text> .

update webserver interface
add bip21 struct + serialization/deserialization with url encoding
add new section to html page if specified in the bip21 as the following image

ACK 9113c10 . Nice improvement! I verified the QR Code displayed and the URI expected match. Also tested that going to URL:
http://<IP_ADDRESS>:8080/bitcoin?amount=10&label=test%20test

redirects to the expected next unused address URL:
http://<IP_ADDRESS>:8080/bitcoin/bitcoin:tb1q32a23q6u3yy89l8svrt80a54h06qvn7gnuvsen?amount=10&label=test%20test


Empty commit to re-render

Trying to solve https://github.com/conda-forge/argtable2-feedstock/issues/7#issuecomment-2080404321

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

@conda-forge-admin, please rerender


Link update needed

Hello team, I come to report a link that needs to be updated in the tutorial "Keptn Full Tour on Dynatrace".
Page: https://tutorials.keptn.sh/tutorials/keptn-full-tour-dynatrace/index.html?index=..%2F..index#6
Sentence: "Onboard the carts service using the keptn onboard service command:"
Old link: https://keptn.sh/docs/0.6.0/reference/cli/#keptn-onboard-service
New link: https://keptn.sh/docs/0.6.0/reference/cli/commands/keptn_onboard_service/

fixed in #37