Problem in building Alpa-modified Jaxlib.

Please describe the bug
Please describe the expected behavior
System information and environment

OS Platform and Distribution (e.g., Linux Ubuntu 16.04, docker):
Python version: 3.9
CUDA version:11.3
NCCL version: <IP_ADDRESS>
cupy version: cupy-cuda11x    12.2.0
GPU : GeForce RTX3090
Alpa version: 0.2.3
JAX version: 0.3.22

To Reproduce
Steps to reproduce the behavior:
When I try to install alpa from source, and execute
python3 build/build.py --enable_cuda --dev_install --bazel_options=--override_repository=org_tensorflow=$(pwd)/../third_party/tensorflow-alpa, some warnings happened.
And I don't know if it's related to the error happened in the second pic.
Screenshots
If applicable, add screenshots to help explain your problem.

Code snippet to reproduce the problem
Additional information
Add any other context about the problem here or include any logs that would be helpful to diagnose the problem.

As we all know, some mechine in some country connot use github. However, you may try this way:
way1: use magic ssr/clash
way2: download the files of ducc and put it on your own web server(or just use mine "http://<IP_ADDRESS>/ducc-356d619a4b5f6f8940d15913c14a043355ef23be.tar.gz"), then change the URL in "build_jaxlib/third_party/ducc/workspae.bzl"

this bug caused by wrong version of libnccl
i solved it by reinstalling a right ver libnccl and recreating a new python env based on this libnccl

may i ask your concrete version of python and libnccl, thx

yeah
python == 3.8.13
gcc == 7.5.0
nccl == libnccl.so.2.8.4

you are also from fudan university? i think we can get better communication in wechat. My wechat:<PHONE_NUMBER>7

yeah python == 3.8.13 gcc == 7.5.0 nccl == libnccl.so.2.8.4

Hi, I am running into the same issue when building from source. I don't understand how libnccl version affects the filenotfound error? Any other solution to this?

Hi, I am running into the same issue when building from source. I don't understand how libnccl version affects the filenotfound error? Any other solution to this?

the mirror url is write in some workplace file. it seems the file not found problem not the error reason. the incorrect libnccl version is the main cause.


Impossible to install "Setup Failed"

Microsoft PowerToys version
0.61.1
Running as admin

[X] Yes

Area(s) with issue?
General
Steps to reproduce
Hi,
I'm trying to install Powertoys, but I get this error :

My OS version :

✔ Expected Behavior
Powertoys installing successfully
❌ Actual Behavior
Setup failing with this log file :
[35A4:1A10][2022-08-19T13:45:34]i001: Burn v<IP_ADDRESS>26, Windows v10.0 (Build 19042: Service Pack 0), path: C:\WINDOWS\Temp\{22C67257-4320-42ED-BEDC-4DD8868D83A3}\.cr\PowerToysSetup-0.61.1-x64.exe [35A4:1A10][2022-08-19T13:45:34]i000: Initializing string variable "InstallFolder" to value "[ProgramFiles64Folder]PowerToys" [35A4:1A10][2022-08-19T13:45:34]i000: Initializing string variable "MsiLogFolder" to value "[LocalAppDataFolder]\Microsoft\PowerToys\" [35A4:1A10][2022-08-19T13:45:34]i000: Initializing version variable "DetectedPowerToysVersion" to value "<IP_ADDRESS>" [35A4:1A10][2022-08-19T13:45:34]i000: Initializing version variable "TargetPowerToysVersion" to value "0.61.1" [35A4:1A10][2022-08-19T13:45:34]i000: Initializing version variable "DetectedWindowsBuildNumber" to value "0" [35A4:1A10][2022-08-19T13:45:34]i009: Command Line: "-burn.clean.room=C:\SOURCES\PowerToysSetup-0.61.1-x64.exe -burn.filehandle.attached=216 -burn.filehandle.self=220" [35A4:1A10][2022-08-19T13:45:34]i000: Setting string variable "WixBundleOriginalSource" to value "C:\SOURCES\PowerToysSetup-0.61.1-x64.exe" [35A4:1A10][2022-08-19T13:45:34]i000: Setting string variable "WixBundleOriginalSourceFolder" to value "C:\SOURCES\" [35A4:1A10][2022-08-19T13:45:34]i000: Setting string variable "WixBundleLog" to value "C:\Users\FRPRES~1\AppData\Local\Temp\powertoys-bootstrapper-msi-0.61.1_20220819134534.log" [35A4:1A10][2022-08-19T13:45:34]i000: Setting string variable "WixBundleName" to value "PowerToys (Preview) x64" [35A4:1A10][2022-08-19T13:45:34]i000: Setting string variable "WixBundleManufacturer" to value "Microsoft Corporation" [35A4:2BF8][2022-08-19T13:45:34]i000: Setting numeric variable "WixStdBALanguageId" to value 1033 [35A4:2BF8][2022-08-19T13:45:34]i000: Setting version variable "WixBundleFileVersion" to value "<IP_ADDRESS>" [35A4:1A10][2022-08-19T13:45:34]i100: Detect begin, 4 packages [35A4:1A10][2022-08-19T13:45:34]i000: Product or related product not found: {42B84BF7-5FBF-473B-9C8B-049DC16F7708} [35A4:1A10][2022-08-19T13:45:34]i000: Setting version variable "DetectedPowerToysVersion" to value "<IP_ADDRESS>" [35A4:1A10][2022-08-19T13:45:34]i000: Setting string variable "DetectedWindowsBuildNumber" to value "19042" [35A4:1A10][2022-08-19T13:45:34]i000: Setting numeric variable "HasDotnet607" to value 1 [35A4:1A10][2022-08-19T13:45:34]i000: Registry key not found. Key = "Software\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}" [35A4:1A10][2022-08-19T13:45:34]i000: Setting numeric variable "HasWebView2PerUser" to value 0 [35A4:1A10][2022-08-19T13:45:34]i000: Registry key not found. Key = "SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}" [35A4:1A10][2022-08-19T13:45:34]i000: Setting numeric variable "HasWebView2PerMachine" to value 0 [35A4:1A10][2022-08-19T13:45:34]i000: Setting string variable "DetectedVCRedistVersion" to value "28" [35A4:1A10][2022-08-19T13:45:34]i052: Condition "HasDotnet607" evaluates to true. [35A4:1A10][2022-08-19T13:45:34]i052: Condition "HasWebView2PerMachine OR HasWebView2PerUser" evaluates to false. [35A4:1A10][2022-08-19T13:45:34]i052: Condition "DetectedVCRedistVersion >= 32" evaluates to false. [35A4:1A10][2022-08-19T13:45:34]i101: Detected package: DotnetRuntime6, state: Present, cached: None [35A4:1A10][2022-08-19T13:45:34]i101: Detected package: WebView2, state: Absent, cached: None [35A4:1A10][2022-08-19T13:45:34]i101: Detected package: VCRedist, state: Absent, cached: Complete [35A4:1A10][2022-08-19T13:45:34]i101: Detected package: PowerToysSetup_0.61.1_x64.msi, state: Absent, cached: Complete [35A4:1A10][2022-08-19T13:45:34]i052: Condition "TargetPowerToysVersion >= DetectedPowerToysVersion OR WixBundleInstalled" evaluates to true. [35A4:1A10][2022-08-19T13:45:34]i052: Condition "DetectedWindowsBuildNumber >= 19041 OR WixBundleInstalled" evaluates to true. [35A4:1A10][2022-08-19T13:45:34]i199: Detect complete, result: 0x0 [35A4:2BF8][2022-08-19T13:45:36]i000: Setting numeric variable "EulaAcceptCheckbox" to value 1 [35A4:1A10][2022-08-19T13:45:36]i200: Plan begin, 4 packages, action: Install [35A4:1A10][2022-08-19T13:45:36]w321: Skipping dependency registration on package with no dependency providers: DotnetRuntime6 [35A4:1A10][2022-08-19T13:45:36]w321: Skipping dependency registration on package with no dependency providers: WebView2 [35A4:1A10][2022-08-19T13:45:36]i000: Setting string variable "WixBundleLog_WebView2" to value "C:\Users\FRPRES~1\AppData\Local\Temp\powertoys-bootstrapper-msi-0.61.1_20220819134534_000_WebView2.log" [35A4:1A10][2022-08-19T13:45:36]w321: Skipping dependency registration on package with no dependency providers: VCRedist [35A4:1A10][2022-08-19T13:45:36]i000: Setting string variable "WixBundleLog_VCRedist" to value "C:\Users\FRPRES~1\AppData\Local\Temp\powertoys-bootstrapper-msi-0.61.1_20220819134534_001_VCRedist.log" [35A4:1A10][2022-08-19T13:45:36]i000: Setting string variable "WixBundleRollbackLog_PowerToysSetup_0.61.1_x64.msi" to value "C:\Users\FRPRES~1\AppData\Local\Temp\powertoys-bootstrapper-msi-0.61.1_20220819134534_002_PowerToysSetup_0.61.1_x64.msi_rollback.log" [35A4:1A10][2022-08-19T13:45:36]i000: Setting string variable "WixBundleLog_PowerToysSetup_0.61.1_x64.msi" to value "C:\Users\FRPRES~1\AppData\Local\Temp\powertoys-bootstrapper-msi-0.61.1_20220819134534_002_PowerToysSetup_0.61.1_x64.msi.log" [35A4:1A10][2022-08-19T13:45:36]i201: Planned package: DotnetRuntime6, state: Present, default requested: Present, ba requested: Present, execute: None, rollback: None, cache: No, uncache: No, dependency: None [35A4:1A10][2022-08-19T13:45:36]i201: Planned package: WebView2, state: Absent, default requested: Present, ba requested: Present, execute: Install, rollback: None, cache: Yes, uncache: No, dependency: None [35A4:1A10][2022-08-19T13:45:36]i201: Planned package: VCRedist, state: Absent, default requested: Present, ba requested: Present, execute: Install, rollback: None, cache: No, uncache: No, dependency: None [35A4:1A10][2022-08-19T13:45:36]i201: Planned package: PowerToysSetup_0.61.1_x64.msi, state: Absent, default requested: Present, ba requested: Present, execute: Install, rollback: Uninstall, cache: No, uncache: No, dependency: Register [35A4:1A10][2022-08-19T13:45:36]i299: Plan complete, result: 0x0 [35A4:1A10][2022-08-19T13:45:36]i300: Apply begin [35A4:1A10][2022-08-19T13:45:36]i010: Launching elevated engine process. [35A4:1A10][2022-08-19T13:45:36]i011: Launched elevated engine process. [35A4:1A10][2022-08-19T13:45:37]i012: Connected to elevated engine. [0C50:4860][2022-08-19T13:45:37]i358: Pausing automatic updates. [0C50:4860][2022-08-19T13:45:37]i359: Paused automatic updates. [0C50:4860][2022-08-19T13:45:37]i360: Creating a system restore point. [0C50:4860][2022-08-19T13:45:37]i361: Created a system restore point. [0C50:4860][2022-08-19T13:45:37]i370: Session begin, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{65d1bc7a-8b73-4352-b61e-5c72c806594e}, options: 0x7, disable resume: No [0C50:4860][2022-08-19T13:45:37]i000: Caching bundle from: "C:\WINDOWS\Temp\{166B8CF7-772E-464F-B98D-C3D776EB40ED}\.be\PowerToysSetup-0.61.1-x64.exe" to: "C:\ProgramData\Package Cache\{65d1bc7a-8b73-4352-b61e-5c72c806594e}\PowerToysSetup-0.61.1-x64.exe" [0C50:4860][2022-08-19T13:45:37]i320: Registering bundle dependency provider: {65d1bc7a-8b73-4352-b61e-5c72c806594e}, version: <IP_ADDRESS> [0C50:4860][2022-08-19T13:45:37]i371: Updating session, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{65d1bc7a-8b73-4352-b61e-5c72c806594e}, resume: Active, restart initiated: No, disable resume: No [0C50:4464][2022-08-19T13:45:37]i305: Verified acquired payload: WebView2 at path: C:\ProgramData\Package Cache\.unverified\WebView2, moving to: C:\ProgramData\Package Cache\F7119E3AB3D5CB3ADCD9A57F0EC227F783695819\MicrosoftEdgeWebview2Setup.exe. [0C50:4464][2022-08-19T13:45:37]i304: Verified existing payload: VCRedist at path: C:\ProgramData\Package Cache\D4F9181E70E3F1AA6C8EDFFCC15B3C3D4BABE36B\VCRedist-14.32.31332.exe. [0C50:4464][2022-08-19T13:45:38]i304: Verified existing payload: PowerToysSetup_0.61.1_x64.msi at path: C:\ProgramData\Package Cache\{9110B562-D4E7-45E7-BA08-9D9B6746BED0}v0.61.1\PowerToysSetup-0.61.1-x64.msi. [0C50:4860][2022-08-19T13:45:38]i301: Applying execute package: WebView2, action: Install, path: C:\ProgramData\Package Cache\F7119E3AB3D5CB3ADCD9A57F0EC227F783695819\MicrosoftEdgeWebview2Setup.exe, arguments: ""C:\ProgramData\Package Cache\F7119E3AB3D5CB3ADCD9A57F0EC227F783695819\MicrosoftEdgeWebview2Setup.exe" /silent /install" [0C50:4860][2022-08-19T13:45:41]e000: Error 0x80040812: Process returned error: 0x80040812 [0C50:4860][2022-08-19T13:45:41]e000: Error 0x80040812: Failed to execute EXE package. [35A4:1A10][2022-08-19T13:45:41]e000: Error 0x80040812: Failed to configure per-machine EXE package. [35A4:1A10][2022-08-19T13:45:41]i319: Applied execute package: WebView2, result: 0x80040812, restart: None [35A4:1A10][2022-08-19T13:45:41]e000: Error 0x80040812: Failed to execute EXE package. [0C50:4860][2022-08-19T13:45:41]i351: Removing cached package: WebView2, from path: C:\ProgramData\Package Cache\F7119E3AB3D5CB3ADCD9A57F0EC227F783695819\ [0C50:4860][2022-08-19T13:45:41]i372: Session end, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{65d1bc7a-8b73-4352-b61e-5c72c806594e}, resume: None, restart: None, disable resume: No [0C50:4860][2022-08-19T13:45:41]i330: Removed bundle dependency provider: {65d1bc7a-8b73-4352-b61e-5c72c806594e} [0C50:4860][2022-08-19T13:45:41]i352: Removing cached bundle: {65d1bc7a-8b73-4352-b61e-5c72c806594e}, from path: C:\ProgramData\Package Cache\{65d1bc7a-8b73-4352-b61e-5c72c806594e}\ [0C50:4860][2022-08-19T13:45:41]i371: Updating session, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{65d1bc7a-8b73-4352-b61e-5c72c806594e}, resume: None, restart initiated: No, disable resume: No [35A4:1A10][2022-08-19T13:45:41]i399: Apply complete, result: 0x80040812, restart: None, ba requested restart:  No
Other Software
No response

I think I found my issue...
[0C50:4860][2022-08-19T13:45:38]i301: Applying execute package: WebView2, action: Install, path: C:\ProgramData\Package Cache\F7119E3AB3D5CB3ADCD9A57F0EC227F783695819\MicrosoftEdgeWebview2Setup.exe, arguments: ""C:\ProgramData\Package Cache\F7119E3AB3D5CB3ADCD9A57F0EC227F783695819\MicrosoftEdgeWebview2Setup.exe" /silent /install" [0C50:4860][2022-08-19T13:45:41]e000: Error 0x80040812: Process returned error: 0x80040812 [0C50:4860][2022-08-19T13:45:41]e000: Error 0x80040812: Failed to execute EXE package. [35A4:1A10][2022-08-19T13:45:41]e000: Error 0x80040812: Failed to configure per-machine EXE package. [35A4:1A10][2022-08-19T13:45:41]i319: Applied execute package: WebView2, result: 0x80040812, restart: None [35A4:1A10][2022-08-19T13:45:41]e000: Error 0x80040812: Failed to execute EXE package.
Trying to install Webview manually (as admin) returns this error, so I guess I can't install it

We need a certain version of WebView2, you can't install PowerToys without it. I'm sorry.


Add snippets support for VSCode and improve the extension

Added snippets support and improved the extension.

Nice update, Thank you very much


Get Bats working on Docker/GitHub

https://github.com/AlanACruz/DevSecOps/runs/2806122053?check_suite_focus=true


It's work?

Hello.
It's with Lumen v8.*?

Hi @eleimt,
I haven't tried it but I hope it works. I don't see any reason why it wouldn't work.

composer say errors

Are you getting an error like this?

If getting an error like this. I fixed the error #2
try again:
composer require oguzcandemircan/laravel-stub-generator "v0.1.1"

Make sure you are using version v0.1.1
@eleimt

Okay, I try. Thanks.


WIP: Added a transformer to segment sequences. This is useful to apply tbptt.

I coded this transformer to segment sequences. I think it can be useful for people working with RNNs. The way I use it is to segment sequences in parts and so the gradient will not have to be propagated all the way back. You can also reuse the (final) states to initialize the initial_states to have some information about the past.
Please let me know if this is useful enough to be included in fuel. If that's the case, I'll clean up the code.

In my opinion it would be a valuable contribution to Fuel. A bit of work would be however required to make the docstring compliant with our standard. It should explain clearly what the transformer does without assuming that the reader know what TBPTT abbreviation means. That said, it would be still useful to mention it as the usecase in mind.

Great to know! I should have a better version by the end of this week.

@sotelo I'm doing a cleanup of the open PRs. Would you still like to go ahead with this one?

Yes. I forgot to finish it a while ago. I will update it today.

SORRY for the delay! I got distracted by other things and finally I am submitting some improvements for this. I've improved the documentation a bit and please let me know if you find it satisfactory. Also, I guess I am missing an example although I'm not really sure if I should do it with one of the existing datasets or create a synthetic one. Suggestions?
I am studying for technical interview, so I am still a bit busy but as soon as that is finished and this is also finished I will turn into the basic extension documentation.

I missed this earlier, but I think this overlaps a lot with #310...

Yes! It's very similar. There are a few differences though... The other one seems to be more for when you have only 1 large sequence. I'm using this one for instance for handwriting, where you have a lot of different length sequences and maybe you want to use tbptt.

The window one I wrote should do the same thing and can take multiple,
variable length sequences (it was actually meant for TBTT on audio).
On Feb 14, 2016 12:39 AM, "Jose"<EMAIL_ADDRESS>wrote:

Yes! It's very similar. There are a few differences though... The other
one seems to be more for when you have only 1 large sequence. I'm using
this one for instance for handwriting, where you have a lot of different
length sequences and maybe you want to use tbptt.
—
Reply to this email directly or view it on GitHub
https://github.com/mila-udem/fuel/pull/266#issuecomment-183824281.

I see now. Well, then I guess it's the same. I'll close the PR.

The add_flag and share_value are missing from my implementation though

Had another look and I think the implementations do something quite different. In my version, it takes e.g. [1, 2, 3, 4, 5] and turns it into e.g. [1, 2, 3], [2, 3, 4] with targets [4] and [5]. Your version seems to take [1, 2, 3, 4, 5] and return [1, 2], [3, 4], [5].
Basically, my transformer has two sliding windows (one becomes the source, the other the target) of fixed size, which slide with a step size of 1. Your version only has 1 window which has a step size equal to the window size, but the window size isn't fixed (and can be smaller for the end of the sequence).
I feel like they overlap enough though to see if we can combine all the functionality into one transformer, which basically has one or two sliding windows, a configurable step size, and configurable boundary conditions.

Yes! I did it like that because I mostly use it for bpttt. Maybe we can talk next week for what should be the more complete transformer and I'll be happy to make the changes.


Auto seed the test database

This fixes an issue where we forget to seed a fresh test database.

Nope - it's a find_or_create.


[Create New Issue]:

Description
Ques:-
Given two integers start and end, return a sorted list of integers such that every number e is between start = e = end and the digits of e are contiguously increasing.
For example, 2345 is contiguously increasing while 135 and 321 are not.
Constraints
0 = start = end < 2 ** 31
Example 1
Input
start = 0
end = 100
Output
[1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 23, 34, 45, 56, 67, 78, 89]
Domain
DSA
Type of Contribution
Documentation
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

/assign

/assign


Updating to Glance beta01

This PR updates glance samples to use Glance Beta01
Fixes #37 cc @ashnohe & @marcelpinto

I've updated the PR for testing, but there is a DO_NOT_MERGE rn. I had to downgrade the target version to 33 for testing the changes until updates in Glance land this week. See : https://support.google.com/faqs/answer/10437428?hl=en

@marcelpinto I think I addressed all of your concerns.

Spotless applied, nits fixed.

@marcelpinto Updated to RC and fixed the target sdk version to 34


Failed tests are reported as (It is not a test)

So I have `NestedSuite' as
final class NestedSuite extends Suites(
  new SuiteA,
  new SuiteB) with StepwiseNestedSuiteExecution

and both SuiteA and suiteB are FreeSpec. When I run with `sbt "it:testOnly *NestedSuite" and there are failed tests, this is what I see.
                      <testcase classname="com.example.NestedSuite" name="(It is not a test)" time="0.621">

                                               </testcase><testcase classname="com.example.NestedSuite" name="(It is not a test)" time="0.331">

                                               </testcase><testcase classname="com.example.NestedSuite" name="(It is not a test)" time="0.07">

                                               </testcase><testcase classname="com.example.NestedSuite" name="(It is not a test)" time="10.149">

                                               </testcase><testcase classname="com.example.NestedSuite" name="(It is not a test)" time="0.026">

                                               </testcase><testcase classname="com.example.NestedSuite" name="(It is not a test)" time="0.545">

It works correctly (reporting the right tests names and suites) if I run SuiteA or SuiteB directly.
I am using scalatest `3.0.0-M12'

What do SuiteA and SuiteB look like? They are FlatSpecs, but what is inside of them?

 Sorry. Will do it ASAP.

@bvenners here is a small example:
https://github.com/ngbinh/scala-js-example-app/blob/scalatest/example/shared/src/test/scala/example/ScalaJSExampleTest.scala
When I run
sbt "exampleJVM/test:testOnly example.Suite*"

Console output works as expected but the JUnit XML fails to report proper test names https://gist.github.com/ngbinh/07b1ec39c18024e734bf1ba02dcd654e

sorry that it takes a while for me to complete the report.


Optifine Incompatibility

Simply put the program crashes if you have optifine installed as well.
Specifics: All the 1.11.2 versions of optifine are incompatible.

This is a known issue.

Alright, hope you can get that one fixed soon enough. It's useful for seeing easter egg redstone in server spawns.

Is there any version of this or Optifine that do not cause conflicts?

Not to my knowledge, I tried with the latest sets. It is possible that earlier versions work but I believe the problem is with the xray mod not optifine. After all the majority of issues involved the rendering of blocks.

I am assuming it's the new hook that he's been using.

Could be, I am not one for mod code, I'm better at command block code. Of course I don't think it was working last time, which I think was because I had the wrong version. It may also have something to do with Optifine's rendering optimization in the settings that he may not have on. So for all we know it doesn't work on a specific setting like fast quality or VBO off.

The problem is both this mod / optifine.
They both hook into the rendering code, so that's why a conflict is occurring.

Mhm, is the a benefit to doing it this way vs the old way? I recall using both before with no issues.

The old way uses Block.shouldSideBeRendered.
I looked into the hook of another X-ray mod, and it hooked in BlockModelRenderer. I decided to used that hook in my mod. This also allows me to adjust the brightness without a separate mod.
I'm going to ask Mumfrey how to apply a fallback mixin if one fails, later.

I didn't mind using Gamma bright, it was actually preferred since I use it for redstone and gamma bright effects all blocks where as the Xray doesn't brighten redstone.

Same, xray is super useful for hidden redstoners. I also miss ichun's morph mod because I could actually follow the redstone and do it in one block tall areas.

Fixed in v1.0.1
Closing


Add const socket protocol for divert rule ipfw on FreeBSD

@bors: r+
Thanks!

:pushpin: Commit 65b5a5f has been approved by alexcrichton

:hourglass: Testing commit 65b5a5f with merge 8029576...

:broken_heart: Test failed - status-travis

@bors: retry
On Apr 6, 2017 9:10 AM, "bors"<EMAIL_ADDRESS>wrote:

💔 Test failed - status-travis
https://travis-ci.org/rust-lang/libc/builds/219316243
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/rust-lang/libc/pull/569#issuecomment-292224399, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAD95BcxQkVO5Q4QN1y1UE5iQGeh4Nf6ks5rtQ58gaJpZM4M1pjv
.

:hourglass: Testing commit 65b5a5f with merge 81310f5...

:sunny: Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing 81310f5d8f8babb9c5f3066bf7075258ecc3d11d to master...


feature: add get method to get all selected chips

Instead of providing my own way of handling selected chips state I should be able to get all selected chips from the chipKey I provide to the widget.
Exactly like using a TextEditingController in a TextField to get the text the user inputs.

And while you are at it you could rename the chipKey parameter to chipsFieldcontroller to match flutter implementation

Thanks for the suggestion, I'm definitely open to pull requests. If the change can be made in a backward compatible fashion, that would be best, but not required.


Disable static library installation by default

Static library not needed if shared library installed, isn't it?

One might have applications using either at the same time, distributions always ship both

@bluca Are you shure? Why someone need use static and shared libs at the same time?
And about distributions you completely wrong
https://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_Static_Libraries

Packages including libraries SHOULD exclude static libs as far as possible (eg by configuring with --disable-static). Applications linking against libraries SHOULD link against shared libraries not static versions.

I know that's the aspiration, in reality it's a bit different and users often ask for both - anyhow I don't care that much about the default, as long as there's an option for it

Where option for it?

Having a static library installed doesn't make any sense. Static library should only be used during static builds and distributed. We should stick with dynamic library for all systems except windows (mingw)/osx builds.

Or may be you can add parameter to not build static lib at all?

Maybe about the static library build we should do something like the nanomsg project https://github.com/nanomsg/nanomsg/blob/master/CMakeLists.txt#L99

It would be great.

Thanks


Fix broken links in javaDoc

Happy new year!
Get well soon!
This patch corrects a few broken links in the javadocs.
There are two more broken links, I couldn't figure out how to resolve them:
picocli\src\main\java\picocli\CommandLine.java:394: warning - Tag @see: can't find Help(CommandSpec, Help.ColorScheme) in picocli.CommandLine.Help
picocli\src\main\java\picocli\CommandLine.java:12755: warning - Tag @link: can't find Help(picocli.CommandLine.Model.CommandSpec, picocli.CommandLine.Help.ColorScheme) in picocli.CommandLine.Help

Maybe you can help out?

Codecov Report

Merging #912 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #912   +/-   ##
=========================================
  Coverage     92.86%   92.86%
  Complexity      393      393
=========================================
  Files             2        2
  Lines          5834     5834
  Branches       1527     1527
=========================================
  Hits           5418     5418
  Misses          203      203
  Partials        213      213

Impacted Files
Coverage Δ
Complexity Δ

src/main/java/picocli/CommandLine.java
92.61% <ø> (ø)
273 <0> (ø)
:arrow_down:

Continue to review full report at Codecov.

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

Thank you for the fixes!!
Yes, there are a few places that are “weird”:
Javadoc gets confused with the nested inner classes; I tried many combinations and none of them worked... I think the Help constructors are one of them... :-(


Update rebar configs to point to main branches vs master branches

Apparently master changed to main.  So  rebar stuff that points to master needs to be changed to main.
From @tas50:
hey folks I started the PR to update things to point to main
https://github.com/chef/chef-server/pull/2762
#2762 Update branch references to point at main
We moved all our projects to main
Signed-off-by: Tim Smith<EMAIL_ADDRESS><https://github.com/chef/chef-server|chef/chef-server>chef/chef-server | Yesterday at 9:41 PM | Added by GitHub

there's going to be more required to make that work

all the rebar configs need to point at the right branches

someone who has a clue how erlang works probably wants to finish that PR

can be closed once it is added to Jira.


Fix duplicate H2s - 1

Ripple 3 validation cleanup for duplicate H2s.
Instead of using the same H2 heading "UIElements List" for several sections with tables, I converted them to introductory sentences for the table.

Docs Build status updates of commit 80b5b14:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

his/esso/issoconfigstore-setconfiginfo.md
:white_check_mark:Succeeded
View

technical-reference/add-resources-dialog-box.md
:white_check_mark:Succeeded
View

technical-reference/application-properties-dialog-box.md
:white_check_mark:Succeeded
View

technical-reference/group-properties-dialog-box.md
:white_check_mark:Succeeded
View

technical-reference/host-properties-dialog-box.md
:white_check_mark:Succeeded
View

technical-reference/issoconfigstore-setconfiginfo.md
:white_check_mark:Succeeded
View

technical-reference/message-details-properties-dialog-box.md
:white_check_mark:Succeeded
View

technical-reference/modify-resources-dialog-box.md
:white_check_mark:Succeeded
View

technical-reference/orchestration-properties-dialog-box.md
:white_check_mark:Succeeded
View

technical-reference/party-properties-dialog-box.md
:white_check_mark:Succeeded
View

technical-reference/pipeline-properties-dialog-box.md
:white_check_mark:Succeeded
View

technical-reference/policy-properties-dialog-box.md
:white_check_mark:Succeeded
View

technical-reference/receive-location-properties-dialog-box.md
:white_check_mark:Succeeded
View

technical-reference/receive-port-properties-dialog-box.md
:white_check_mark:Succeeded
View

technical-reference/schema-properties-dialog-box.md
:white_check_mark:Succeeded
View

technical-reference/send-port-group-properties-dialog-box.md
:white_check_mark:Succeeded
View

technical-reference/send-port-properties-dialog-box.md
:white_check_mark:Succeeded
View

technical-reference/service-details-properties-dialog-box.md
:white_check_mark:Succeeded
View

technical-reference/service-instance-and-message-instance-states.md
:white_check_mark:Succeeded
View

technical-reference/start-application-dialog-box.md
:white_check_mark:Succeeded
View

technical-reference/stop-application-dialog-box.md
:white_check_mark:Succeeded
View

technical-reference/subscription-details-properties-dialog-box.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@MandiOhlinger Validation fixes ready for your review. Thanks!

#sign-off


Failing example

While doing cargo test the example failed:
$ cargo test
   Compiling r v0.1.0 (C:\Users\manukyae\00-work\R_fork)
warning: unused import: `r::r_vector::vectors::*`
 --> examples\numerics.rs:1:5
  |
1 | use r::r_vector::vectors::*;
  |     ^^^^^^^^^^^^^^^^^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

error[E0433]: failed to resolve: use of undeclared type `RVector`
 --> examples\numerics.rs:4:13
  |
4 |     let x = RVector::from(vec![false, true, false]);
  |             ^^^^^^^
  |             |
  |             use of undeclared type `RVector`
  |             help: an enum with a similar name exists: `Vector`

error[E0433]: failed to resolve: use of undeclared type `RVector`
 --> examples\numerics.rs:5:13
  |
5 |     let y = RVector::from(vec![1_i32]);
  |             ^^^^^^^
  |             |
  |             use of undeclared type `RVector`
  |             help: an enum with a similar name exists: `Vector`

error[E0433]: failed to resolve: use of undeclared type `RVector`
  --> examples\numerics.rs:12:13
   |
12 |     let x = RVector::from(vec![Some(5_i32), NA, Some(1_i32)]);
   |             ^^^^^^^
   |             |
   |             use of undeclared type `RVector`
   |             help: an enum with a similar name exists: `Vector`

error[E0433]: failed to resolve: use of undeclared type `RVector`
  --> examples\numerics.rs:13:13
   |
13 |     let y = RVector::from(vec![1_f64, 2_f64, 3_f64]);
   |             ^^^^^^^
   |             |
   |             use of undeclared type `RVector`
   |             help: an enum with a similar name exists: `Vector`

For more information about this error, try `rustc --explain E0433`.
warning: `r` (example "numerics") generated 1 warning
error: could not compile `r` due to 4 previous errors; 1 warning emitted
warning: build failed, waiting for other jobs to finish...

---- src\r_vector\iterators.rs - r_vector::iterators::zip_recycle (line 8) stdout ----
error: expected `;`, found `}`
 --> src\r_vector\iterators.rs:11:44
  |
6 | let z: Vec<_> = zip_recycle(x, y).collect()
  |                                            ^ help: add `;` here
7 | } _doctest_main_src_r_vector_iterators_rs_8_0() }
  | - unexpected token

error[E0425]: cannot find function `zip_recycle` in this scope
 --> src\r_vector\iterators.rs:11:17
  |
6 | let z: Vec<_> = zip_recycle(x, y).collect()
  |                 ^^^^^^^^^^^ not found in this scope
  |
help: consider importing this function
  |
2 | use r::r_vector::iterators::zip_recycle;
  |

error: aborting due to 2 previous errors


Doc updates

Update documentation in response to JOSS reviews #20 and (TBA).

Codecov Report

Merging #22 (e946dee) into main (0d7ed3a) will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##            main     #22   +/-   ##
=====================================
  Coverage   0.00%   0.00%
=====================================
  Files         13      13
  Lines        786     786
=====================================
  Misses       786     786

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

This should now also close #21 with a list of package dependencies and supported python versions.


allow(...).to_not receive should exist

allow(...).to_not receive is not supported since it doesn't really make sense. What would it even mean?

It would mean disabling/deleting a stub if it exists, the opposite of #to.
If I set a allow in an before, where it's used in 90% of nested tests but want to disable a stub for a single test inside of that, this would be what I would reach for.

It would mean disabling/deleting a stub if it exists, the opposite of #to.

But the English expression "allow [noun] to not [verb]" is pretty nonsensical.  As a parent, I allow my children to go in our backyard and play outside.  When I revoke that privilege, I would never say "I allow them to not go outside". "Allow" simply isn't the right verb for that situation.  I'm open to adding an API to do what you want (the equivalent of unstub in the old monkey-patched syntax) if we come up with a good, non-monkey patching API for it that fits in with allow(...).to receive and expect(...).to receive...but we haven't been able to come up with it yet.  We discussed it at length in #153 and couldn't come up with something we were happy with.  For the common case of a partial double that you want to restore a method to what it originally did, you can always do:
allow(object).to receive(:message).and_call_original

...which is (almost) the same as unstub was -- the only difference is that we still observe calls to object.message.

allow(object).to receive(:message).and_call_original

Does that also undefine the method?
Regardless of the english expression, it's the exact opposite of it's counterpart and fits with the semantics. I'm writing code, not an article.

Does that also undefine the method?

No; the method is still defined (so that RSpec can observe it -- necessary for the have_received matcher), but it will act like it originally did.  For example in this example:
dbl = Object.new
allow(dbl).to receive(:foo).and_return(2)
allow(dbl).to receive(:foo).and_call_original

dbl.foo

...the last line (dbl.foo) raises this error:
     NoMethodError:
       undefined method `foo' for #<Object:0x007fe6fd141018>

...which is what dbl.foo originally did before we stubbed it.  You'll notice that there are extra rspec-mocks frames in the stacktrace, though, because we still observe it, like I said.

Regardless of the english sensicality, it's the exact opposite of it's counterpart and fits with the semantics. I'm writing code, not an article.

Regardless of your specific needs, one of RSpec's goals has always been to have APIs that read, in English, exactly like what they do, and this does not fit in with that goal.
If you want the method to be undefined you might be able to use Ruby's undef_method and/or remove_method.  You might also consider using metadata to prevent the before hook that stubs the method from applying to the specific examples where you don't want it.  Example:
RSpec.describe do
  before do |ex|
    allow(Object).to receive(:foo).and_return(2) unless ex.metadata[:skip_object_stub]
  end

  it 'is stubbed for this example' do
    expect(Object.foo).to eq(2)
  end

  it 'is not stubbed for this example', :skip_object_stub do
    expect { Object.foo }.to raise_error(NoMethodError)
  end
end

This is going to perform better than stubbing and unstubbing, anyway...it's always faster to not do something than it is to do it and then undo it.

Missing this feature.
The code under test relies on respond_to, which we're attempting to test. All but one of the tests need the method stubbed, so we have allow().to receive in before. And we need to remove that method stub for a single test.
undef_method and remove_method don't work because rspec complains about the double receiving unexpected messages :undef_method and :remove_method
An alternative is to push all the tests into a context that require the method to be stubbed. Thus leaving the single negation test separate, with a unstubbed-double. However, this is not appealing because the test is not explicit about the method being undefined. It is implicit that the method is undefined simply by virtue of it not being stubbed. explicit > implicit
There don't seem to be any good options without this feature. For now, I'm going to continue to use unstub from the :should syntax and just ignore rspec's warning message.

@jasonkarns -- can you put together an example of what you are trying to do?

This is what we currently have:
describe "#page" do
  let(:page) { double('page') }
  before :each do
    allow(page).to receive(:execute_script)
    allow(subject.configuration).to receive(:page_from).and_return(page)
  end

  it "should get the page from the configuration" do
    expect(subject.page("world")).to eq(page)
  end

  it "should provide a Cucumber World in which to resolve the page" do
    subject.page("world")
    expect(subject.configuration).to have_received(:page_from).with("world")
  end

  it "should ensure the page is webdriver-esque" do
    page.unstub(:execute_script)
    expect { subject.page("foo") }.to raise_error(Axe::Cucumber::WebDriverError)
  end
end

Thanks, that's helpful.
The reason undef_method  and remove_method did not work for you is that they are defined on Module, not Object, and RSpec's doubles are not modules.  To use them on a double, you just need to run them in the context of the singleton class.  Here's an example that works:
RSpec.describe "Unstubbing with `undef`" do
  it 'makes the double no longer respond to the method' do
    dbl = double(foo: "a")
    expect {
      class << dbl
        undef foo
      end
    }.to change { dbl.respond_to?(:foo) }.from(true).to(false)
  end
end

BTW, I'm open to adding an equivalent of unstub for the newer syntax if someone can come up with an API that makes sense and reads well.

I recognize the grammar of allow(x).not_to receive is quite odd. But it fits with the rest of rspec's api which makes it intuitive (IMO). But I know you've add a full discussion on that, so I don't want to re-start it. :)

Mostly, I just wanted to add my vote that this feature is still desired, and I (as a user, not maintainer, so grain of salt) would be willing to live with a less grammatically correct API as long as the feature is available.
disallow(x).to receive would also work, but that's a bigger API change (and could open a can of worms with the with/return constraints)

going with class << page; undef execute_script end   for now since it's explicit about the method being undefined, and is relatively clear enough (compared to page.unstub(:execute_script)) that it's worth using to eliminate the unstub deprecation warning. Thanks @myronmarston

Another potential workaround: appending and_raise e.g. and_raise('Expected this method to not be called.')

I came here, because I accidentally put allow().not_to receive and was surprised by the error message. Beyond stating that this is not supported I find the message unhelpful and unnecessarily condescending.

PR welcome if you'd like to improve the clarity, the original intent was humorous, as it the allow().not_to receive is a no operation / tautology

My workaround from 2023 is
allow(Klass).to receive(:method).at_most(0).times

(need it because we warn about using expects in befores and it makes sense in general but should be whitelisted to "disallow" receiving a message)


Extremely slow Ga initialization in derivatives_in_elliptic_cylindrical_coordinates()

Extremely slow Ga initialization in derivatives_in_elliptic_cylindrical_coordinates()
a = symbols('a', real=True)
    coords = (u,v,z) = symbols('u v z', real=True)
    (elip3d,er,eth,ephi) = Ga.build('e_u e_v e_z',X=[a*cosh(u)*cos(v),a*sinh(u)*sin(v),z],coords=coords,norm=True)
    grad = elip3d.grad

The code above takes 500~600 seconds for the Ga.build call.
After some profiling/debugging I found it spent most of the time in simplify and trigsimp(both take ~50%) and every call to them cost ~16s of 100% CPU and there's approximately 27 calls to them, 27 * 16s = 513s, it explains the total time.
So which step is calling simplify and trigsimp? It turns out to be metric.Simp.apply() in build_reciprocal_basis():
        # Replace reciprocal basis vectors with expansion in terms of
        # basis vectors in derivatives of basis vectors

        if self.connect_flg:
            for x_i in self.n_range:
                for jb in self.n_range:
                    if not self.is_ortho:
                        self.de[x_i][jb] = metric.Simp.apply(self.de[x_i][jb].subs(self.r_basis_dict) / self.e_sq)
                    else:
                        self.de[x_i][jb] = metric.Simp.apply(self.de[x_i][jb].subs(self.r_basis_dict))

and derivatives_of_basis()
        # Christoffel symbols of the first kind, \Gamma_{ijk}

        for i in n_range:
            de_row = []
            for j in n_range:
                Gamma = []
                for k in n_range:
                    gamma = half * (dg[j][k][i] + dg[i][k][j] - dg[i][j][k])
                    Gamma.append(Simp.apply(gamma))
                de_row.append(sum([gamma * base for (gamma, base) in zip(Gamma, self.r_symbols)]))
            de.append(de_row)

Mostly the former.

I was profiling using the method described in https://julien.danjou.info/guide-to-python-profiling-cprofile-concrete-case-carbonara/ , but KCacheGrind gave me puzzled result below simplify and trigsimp so I had to set break points in VS Code Python Debugger and binary search where the CPU goes up to 100% 😭 But eventually found the cause.
It seems to me that simplification at this stage is not necessary and the formula is unnecessarily complicated. Will take a look at the math process some time later. Just skip this example for now.

I've tried KCacheGrind again, it turns out that I was doing something wrong so the result was puzzling.
After I turn off "Detect Cycles" and tweaked the UI layout a little bit, it looks like this:

Could use https://github.com/airspeed-velocity/asv to benchmark and monitor performance issues.


How should I use response_header parameter in OpenApi services or oai handler?

According to the doc, I can only set the name and type of the header, but the doc tells nothing about how to set its value.

Here is the thing, I've an OpenApi service with many APIs, each of them have different response schema, so either SwaggerUI and OpenAPI spec can work.
struct Api;

#[OpenApi]
impl Api {
    #[oai(path = "/hello", method = "get"]
    async fn hello(&self) -> poem::Result<Json<HelloResponseType>> { ... }

    #[oai(path = "/world", method = "get"]
    async fn world(&self) -> poem::Result<Json<WorldResponseType>> { ... }
}

By using ApiResponse I've to define one enum for each API, with redundant error responses in everyone of them, but if I mix all API response types in one enum, it will mess up the OpenAPI spec.
Seems that Response<Json<SomeSchema>> is the only viable solution here.
It'll be great if there is any way to use oai macro with flexible header generation mechanism.
Thanks for your help.

You can use ApiResponse to customize error types so that they can be reused.
https://github.com/poem-web/poem/blob/3bd9ee79e94b3f8a088a21e16648e7be6eed471c/poem-openapi/tests/response.rs#L429

Sorry to add to this closed issue, but are there any tutorials (or docs, but I scanned the official) for ApiResponse deriving and all the relevant attributes (such as this oai(header))?  I was struggling to find exactly this solution, it's not always obvious for newcomers and scanning tests to find methods of achieving something is pretty rough.


Release Marathon-LB 1.9.0

Changes from 1.8.0 to 1.9.0
Full changelog: v1.8.0...v1.9.0
Changes

Update for changes to the Marathon 1.5 API

Universe Diff
% diff repo/packages/M/marathon-lb/21 repo/packages/M/marathon-lb/22
diff repo/packages/M/marathon-lb/21/package.json repo/packages/M/marathon-lb/22/package.json
4c4
<   "version": "1.8.0",
---
>   "version": "1.9.0",
9c9
<   "preInstallNotes": "We recommend at least 2 CPUs and 1GiB of RAM for each Marathon-LB instance. \n\n*NOTE*: ```Enterprise Edition``` DC/OS requires setting up the Service Account in all security modes. \nFollow these instructions to setup a Service Account: https://docs.mesosphere.com/administration/id-and-access-mgt/service-auth/mlb-auth/",
---
>   "preInstallNotes": "We recommend at least 2 CPUs and 1GiB of RAM for each Marathon-LB instance. \n\n*NOTE*: For additional ```Enterprise Edition``` DC/OS instructions, see https://docs.mesosphere.com/administration/id-and-access-mgt/service-auth/mlb-auth/",
diff repo/packages/M/marathon-lb/21/resource.json repo/packages/M/marathon-lb/22/resource.json
10c10
<         "marathon-lb-docker": "mesosphere/marathon-lb:v1.8.0"
---
>         "marathon-lb-docker": "mesosphere/marathon-lb:v1.9.0"

Is this reverse compatible with the old API or will old clusters need to use the old version?
Is there a way to specify a package version to install or only install ones compatible with the cluster you're installing to?
What if MoM is newer and root marathon is older? Will it work with both?

@karlkfi Yes this is backwards compatible, the only change is added handling for Marathon 1.5 updates. Old clusters should be able to update Marathon-lb version without problems.

@ryadav88 Do we need this reviewed?


Few-shot object detector to TFLite

@khanhlvg the TFOD API few-shot training example uses this checkpoint ssd_resnet50_v1_fpn_640x640_coco17_tpu-8.
Would be nice to see if that fine-tuned model is convertible to TFLite using the recommended instructions. WDYT?

Sure, we can try with that model.

@khanhlvg the only issue I found there is a lack of guidance to serialize a model trained using the eager mode. I have filed an issue for that. I will keep this thread updated once I have something.

I see. TFLite team also have a plan to work on a few shot training e2e notebook including the conversion to TFLite. Therefore you can prioritize working on the MobileDet models as it's unlikely that anyone will work on it soon.

Closing the issue for now then. Feel free to open it up.


ARROW-10722: [Rust][DataFusion] Reduce overhead of some data types in aggregations / joins, improve benchmarks

This PR reduces the size of GroupByScalar from 32 bytes to 16 bytes by using Box<String>. This will reduce the size of a Vec<GroupByScalar> and thus the key of hashmaps used for aggregates / joins.
Also, it changes the type of the key to Box<[GroupByScalar]> to reduce memory usage further by 8 bytes per key needed to hold the capacity of the vec.
Finally we can remove a  Box around the Vec holding the indices.
Difference in speed seems to be minimal, at least in current state.
I think in the future, it could be nice to see if the data could be packed efficiently in one Box<[T]> when having no dynamically sized types by using the schema instead of creating "dynamic" values. That should also make the hashing faster. Currently, when grouping on multiple i32 values, we need 32 bytes per value (next to 24 bytes for the Vec holding the values) instead of just 4! Also using const generics https://rust-lang.github.io/rfcs/2000-const-generics.html#:~:text=Rust currently has one type,implement traits for all arrays could provide a further improvement (by not having to store the length of the slice).
This PR also tries to improve reproducability in the benchmarks a bit by using the seed in the random number generator (still a quite noisy on my machine though).

Some further tweaks, uses Box<[GroupByScalar]> as key now to avoid a further 8 bytes in the key.

Genuinely curious: does the key size has such a large impact? Or is there any memory constraints that you are looking for?

@jorgecarleitao Not really on performance as current benchmarks / queries show, just looking at ways to improve the aggregate / join performance.
The main thing I wanted to investigate is whether the aggregates / join can be made faster itself. I think one part would be to create a key that can be hashed faster. Now the hashing algorithm hashes each value individual GroupByValue instead of working on a byte array. The latter one could in principle be faster. Some specialized code could also be made for hashing based on 1 column only.
It can have a larger impact on memory usage though if you are hashing / aggregating something with high cardinality as each row will generate 10s of extra bytes per row based on 16 bytes for each GroupByValue, 8 bytes for using Vec  and 8 bytes for boxing the inner Vec of the aggregation.

Can you rebase this, so that I can merge it?

@jorgecarleitao thanks, updated against master!

Did also some test against master, it looks like this PR also has some small runtime savings on join queries, I think mostly because of .clone() being cheaper now. Will do some profiling later.
Would be nice to have some criterion benchmarks later to cover joins too & I think it would make sense to have some benchmarks / profiling covering maximum memory usage too.

I also have a follow-up on this PR which converts the key for the values to Vec<u8> for the hash joins which is again faster as well. Also reading up a bit on hash join algorithms... It looks like resolving the hash collisions is mostly done afterwards instead of in a hash map directly. I guess that could also be a bit easier, as we don't have to copy the data in the hashmap itself but can keep them in the columns/rows themselves. Would be interesting if we can hash a list of columns much more efficiently this way (e.g. hashing whole columns instead).


Enhance SacreBLEU integration

This PR makes the following changes:

Update SacreBLEU dependency from v1.5.1 to v2.0.0 (current version)
Use SacreBLEU's class-based implementation to compute Sentence-BLEU (has more configuration options)
Add ChrF/ChrF++ metric

LGTM! Thanks!


bitpocket without GNU coreutils (like on macOS)

bitpocket seems to have a history of issues on macOS (BSD unix). This patch is an attempt to clear the water and fully support it. With it, bitpocket fully passes the rake tests on macOS 10.12 (Sierra).
The biggest change is in the usage of the sed utility, which seems not to handle \s and \S like the GNU counterpart.

This has been merged into the master branch and released in https://github.com/sickill/bitpocket/releases/tag/v0.2. FreeBSD still does not work, so the second commit was discarded.


Return an error exit status from client commands that fail

Commands like wemux pair should exit with a non-zero status when the command
fails.  In my specific use case, .bash_profile attempts to attach to wemux, if
running, and falls back to a different command if not running.
$ wemux pair
No wemux server to pair with on 'wemux'.
$ echo $?
126

I believe this patch covers all the client commands. I haven't looked at the
server commands, so you may want to do that own your own.

Makes good sense, thank you! Sorry for the insane delay.


How to add CustomProvider

I'd like to add caching of the swagger.json, and in the previous version (https://github.com/domaindrivendev/Swashbuckle/blob/master/Swashbuckle.Dummy.Core/App_Start/CachingSwaggerProvider.cs), you added a customprovider to achive this.
Is there a way in the AspNetCore version to do this?

Have you taken a look at the Response Caching middleware (https://docs.microsoft.com/en-us/aspnet/core/performance/caching/middleware) that ships with AspNet Core?
I'm more than happy to add the custom provider functionality back if necessary but would favor leveraging the framework for cross-cutting concerns like caching. Take a look and let me know. Thanks

Thanks, the middleware works nicely!

@ErlendSB do you know of any examples on how to enable this for Swashbuckle please?

@ErlendSB, could you post a snippet?

The caching is helping a bit, but I believe the number of DOM elements are the biggest performance issue.
I hope/think swagger-ui 3.x will do this differently.
public void ConfigureServices(IServiceCollection services)
{
    services.AddResponseCaching();
...
}

public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory)
{
    app.UseResponseCaching();
...
}

@ErlendSB I was under the impression that the caching middleware enables client side caching (caching in the user's browser, proxies, etc)? I'd like to cache the generated swagger doc on server side so it doesn't have to be generated for each user.
This was extremely simple by using a custom ISwaggerProvider. But all that stuff is internalized :(
@domaindrivendev Do you have any suggestions on my requirement? I also tried creating a decorator for the ISwaggerProvider using SimpleInjector but it doesn't seem possible with the separation of configuring services and app builder. (container cross wiring would need to be done before re-registering the new swagger provider decorator with the service collection).

For posterity here is a way to achieve the CachedProvider functionality in Swashbuckle.AspNetCore:
In Startup.cs
services.AddSwaggerGen(); // Keep empty and always call before line below
services.AddCachedSwaggerGen(options =>
{ /*... your normal config ...*/ });

Provide the new extension method, to overwrite the previously registered ISwaggerProvider in the DI
public static class CachedSwaggerProviderExtensions
    {
        public static IServiceCollection AddCachedSwaggerGen(
            this IServiceCollection services,
            Action<SwaggerGenOptions> setupAction = null)
        {
            // Overwrite the built in swagger generator with our cached one
            services.Replace(ServiceDescriptor.Transient<ISwaggerProvider, CachedSwaggerProvider>());
            if (setupAction != null)
            {
                services.ConfigureSwaggerGen(setupAction);
            }
            return services;
        }
    }

Finally the specialized version of the SwaggerGenerator that caches the swagger.json document
public class CachedSwaggerProvider : SwaggerGenerator, ISwaggerProvider
    {
        private static readonly ConcurrentDictionary<string, OpenApiDocument> Cache = new ConcurrentDictionary<string, OpenApiDocument>();

        public CachedSwaggerProvider(
            IApiDescriptionGroupCollectionProvider apiDescriptionsProvider,
            ISchemaGenerator schemaGenerator,
            IOptions<SwaggerGeneratorOptions> optionsAccessor)
            : base(apiDescriptionsProvider, schemaGenerator, optionsAccessor)
        {
        }

        /// <inheritdoc />
        public new OpenApiDocument GetSwagger(string documentName, string host = null, string basePath = null)
        {
            // Generate a unique key for the API documentation created.
            var cacheKey = $"{documentName}_{host}_{basePath}";

            // Check to see if the entry has already been created, only re-create it if not found
            return Cache.GetOrAdd(cacheKey, key => base.GetSwagger(documentName, host, basePath));
        }
    }

That's it, now your swagger.json document will be cached after the first call.

@ErlendSB @ckarcz I would need to look into it further, but it's my current understanding that the caching middleware does support server-side caching. Like I said, I'm not over familiar with that middleware but the docs certainly seems to indicate that to be the case:

The middleware determines when responses are cacheable, stores responses, and serves responses from cache

thanks for the updated implementation!

On Dec 17, 2019, at 4:05 AM, Sverrir Sigmundarson<EMAIL_ADDRESS>wrote:

For posterity here is a way to achieve the CachedProvider functionality in Swashbuckle.AspNetCore:
In Startup.cs
services.AddSwaggerGen(); // Keep empty and always call before line below
services.AddCachedSwaggerGen(options =>
{ /... your normal config .../ });
Provide the new extension method, to overwrite the previously registered ISwaggerProvider in the DI
public static class CachedSwaggerProviderExtensions
{
public static IServiceCollection AddCachedSwaggerGen(
this IServiceCollection services,
Action setupAction = null)
{
// Overwrite the built in swagger generator with our cached one
services.Replace(ServiceDescriptor.Transient<ISwaggerProvider, CachedSwaggerProvider>());
if (setupAction != null)
{
services.ConfigureSwaggerGen(setupAction);
}
return services;
}
}
Finally the specialized version of the SwaggerGenerator that caches the swagger.json document
public class CachedSwaggerProvider : SwaggerGenerator, ISwaggerProvider
{
private static readonly ConcurrentDictionary<string, OpenApiDocument> Cache = new ConcurrentDictionary<string, OpenApiDocument>();
    public CachedSwaggerProvider(
        IApiDescriptionGroupCollectionProvider apiDescriptionsProvider,
        ISchemaGenerator schemaGenerator,
        IOptions<SwaggerGeneratorOptions> optionsAccessor)
        : base(apiDescriptionsProvider, schemaGenerator, optionsAccessor)
    {
    }

    /// <inheritdoc />
    public new OpenApiDocument GetSwagger(string documentName, string host = null, string basePath = null)
    {
        // Generate a unique key for the API documentation created.
        var cacheKey = $"{documentName}_{host}_{basePath}";

        // Check to see if the entry has already been created, only re-create it if not found
        return Cache.GetOrAdd(cacheKey, key => base.GetSwagger(documentName, host, basePath));
    }
}

That's it, now your swagger.json document will be cached after the first call.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

For posterity here is a way to achieve the CachedProvider functionality in Swashbuckle.AspNetCore:
In Startup.cs
services.AddSwaggerGen(); // Keep empty and always call before line below
services.AddCachedSwaggerGen(options =>
{ /*... your normal config ...*/ });

Provide the new extension method, to overwrite the previously registered ISwaggerProvider in the DI
public static class CachedSwaggerProviderExtensions
    {
        public static IServiceCollection AddCachedSwaggerGen(
            this IServiceCollection services,
            Action<SwaggerGenOptions> setupAction = null)
        {
            // Overwrite the built in swagger generator with our cached one
            services.Replace(ServiceDescriptor.Transient<ISwaggerProvider, CachedSwaggerProvider>());
            if (setupAction != null)
            {
                services.ConfigureSwaggerGen(setupAction);
            }
            return services;
        }
    }

Finally the specialized version of the SwaggerGenerator that caches the swagger.json document
public class CachedSwaggerProvider : SwaggerGenerator, ISwaggerProvider
    {
        private static readonly ConcurrentDictionary<string, OpenApiDocument> Cache = new ConcurrentDictionary<string, OpenApiDocument>();

        public CachedSwaggerProvider(
            IApiDescriptionGroupCollectionProvider apiDescriptionsProvider,
            ISchemaGenerator schemaGenerator,
            IOptions<SwaggerGeneratorOptions> optionsAccessor)
            : base(apiDescriptionsProvider, schemaGenerator, optionsAccessor)
        {
        }

        /// <inheritdoc />
        public new OpenApiDocument GetSwagger(string documentName, string host = null, string basePath = null)
        {
            // Generate a unique key for the API documentation created.
            var cacheKey = $"{documentName}_{host}_{basePath}";

            // Check to see if the entry has already been created, only re-create it if not found
            return Cache.GetOrAdd(cacheKey, key => base.GetSwagger(documentName, host, basePath));
        }
    }

That's it, now your swagger.json document will be cached after the first call.
In the new version, it may be necessary to additionally implement IAsyncSwaggerProvider

In the new version, it may be necessary to additionally implement IAsyncSwaggerProvider if u use #2168 https://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/356#issuecomment-566449902 the plan
CachedSwaggerProvider : SwaggerGenerator, ISwaggerProvider, IAsyncSwaggerProvider

$"{documentName}{host}{basePath}";

A warning about this--the host and basePath can be set by the caller using HTTP headers (Swagger looks for X-Forwarded-Host and X-Forwarded-Prefix). In an unlikely scenario that someone abused this, they could cause the cache dictionary to grow until it uses all available memory by calling repeatedly with different headers. If you have a large API definition, this isn't all that hard to do.
All that said, these values, at most, adjust the "Servers" property on the OpenApiDocument result. If you don't care about these, it may be best to use the cache as Cache.GetOrAdd(documentName, key => base.GetSwagger(documentName, null, null));, ignoring those parameters.


Does not process files in template subdirectories

This is a great little tool and I'd love to use it...
Our current setup dictates test files in a subfolder called __test__
So the tree is as follows:
template
│   index.js
│   COMPONENT_NAME.jsx
│   SubComponent.jsx
│
└───__test__
│   │   COMPONENT_NAME.spec.jsx
│   │   SubComponent.spec.jsx
│
└───__stories__
    │   COMPONENT_NAME.stories.jsx

If I create a template like this the follwing error occurs:

(node:672) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: EISDIR: illegal operation on a directory, read
(node:672) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
index.js

Also, the path option in the config file seems to have no effect when using templates, as it resets to ./src/components when run.

Hi @mosanger !
thanks a lot for your support 🙂
I'll investigate better on what doesn't work.
If you want contribute feel free to help me 🙂
Thanks


update xcode project files

Description

Updated xcode project workspace file which removes macOS as a build target.
Checklist

[x] Targeted PR against correct branch.
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Wrote unit tests.
[ ] Run flutter format.
[ ] Updated the documentation.
[ ] Added an entry to the CHANGELOG.md file.
[ ] Re-reviewed Files changed in the Github PR explorer.

@kwunyeung Is it ok to remove ios/Podfile?

@RiccardoM yes every time it says the ios/Podfile is outdated and ask me to remove it and generate a new one. So better just remove it from the repo.
Running pod install...
Warning: Podfile is out of date
  This can cause issues if your application depends on plugins that do not support iOS.
  See https://flutter.dev/docs/development/packages-and-plugins/developing-packages#plugin-platforms for details.
  If you have local Podfile edits you would like to keep, see https://github.com/flutter/flutter/issues/45197 for instructions.
To regenerate the Podfile, run:
  rm ios/Podfile


Provide pseudocodes for other supported languages too.

The documentation on the tutorials should provide pseudocodes for other supported languages too so that one can easily and quickly explore the API's hands on.

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

ID: c424cd61-2f44-8a10-bce8-5a18fb1279f3
Version Independent ID: 62824def-6ec5-0b0e-d909-88f82c647cb8
Content: Understand the Azure IoT Edge runtime
Content Source: articles/iot-edge/iot-edge-runtime.md
Service: iot-edge
GitHub Login: @kgremban
Microsoft Alias: kgremban

@gauravagarwal28 Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

Hi @gauravagarwal28 , thanks for the feedback. I agree that samples like the C# snippets that are in the runtime article would be helpful for other languages. I'm not sure that the runtime article is the right place to put all of the language examples. What would you think if we put that information in the how-to-develop articles like https://docs.microsoft.com/en-us/azure/iot-edge/how-to-develop-python-module instead?

@gauravagarwal28 I've given your feedback more thought, and instead of adding pseudocode for each supported language, I provided links to the ModuleClient class in each SDK for those who want to learn more. This article is about understanding the concept of the runtime, so I don't want to bog it down with too much code.
Take a look at the new version, and let me know what you think.

@kgremban Thank you for the update. I completely agree that having too much code can be very overwhelming and agree that adding links is helpful.
Tho documentation seems very legible to me since I have been working with this technology since a while now. However, I doubt how concise it will be for someone who is going through this for the first time.
Not having examples in a first time user's language of choice is often discouraging and can demotivate them from finding utility in the technology.
I would suggest to have code examples in those particular SDK links or a github repository that performs the functionality mentioned in the document.

@gauravagarwal28 Thank you for your assessment. We do provide working examples of code in all of our supported languages through the IoT Edge extension for Visual Studio Code. This is what our tutorial articles are based around, and all the articles under the table of contents node "How-to guides" > "Develop and debug modules in VS Code". I'll be the first to admit that it's hard to keep a new user's perspective in mind since I work on these articles all day every day. But is that not where you'd expect samples and walkthroughs to exist? Or I need to make that more apparent somehow?

@gauravagarwal28 Have you had a chance to consider my question about whether the language-specific examples in the tutorials and how-to guides were hard to discover? Or do you think this issue is resolved?

@kgremban I highly appreciate you taking my feedback into consideration. Any new user who starts with Azure IoT Edge already has a lot of uncertainty in his mind due to containerized nature of the apps developed.
With that in mind, I believe that a better approach would be:
if this link:
(A)Quickstart: Deploy your first IoT Edge module to a Linux x64 device: https://docs.microsoft.com/en-us/azure/iot-edge/quickstart-linux
Would also refer to this link:
(B)The source code of the simulated temperature:  https://github.com/Azure/iot-edge-v1/blob/master/v2/samples/azureiotedge-simulated-temperature-sensor/azureiotedge-simulated-temperature-sensor.csproj
The link A leads the users to Azure functions for filtering the data from the simulated temperature sensor. This creates some ambiguities in the user's mind:

How exactly was data sent to the Hub via the Edge runtime? A reference to link B would have clarified things to a greater extent. A lot of doubts (almost all in my case, but that's just a personal opinion) about the edge runtime could be cleared if there was an explanation to the code that existed on link B. I would also like to point out that the code that was referred earlier in B was lacking in terms of documentation within the code.

The link A should then redirect to a custom module deployment link which worked as a filter instead of an Azure Function working as a filter. I understand if this was a step to promote the use of Azure Functions but I feel it again created unnecessary doubts in the user's mind. I believe it should instead redirect to https://docs.microsoft.com/en-us/azure/iot-edge/tutorial-csharp-module because users can relate better when they have a choice of selecting the language they are comfortable with.

Thanks for the details, @gauravagarwal28
It sounds like you have two pieces of feedback. The first is that the simulated temperature module is maybe a bit of a black box that isn't explained well, and we just tell you to include it in your deployments as a data generator. I can definitely provide more context around that module and link to the source code that you suggested.
The second piece of feedback seems to be saying that after you've completed the quickstart in the OS of your choice, being told that deploying an Azure Function is the appropriate "next step" is confusing? Maybe it's because you're still trying to understand the IoT Edge concepts and now including Azure Functions is just one extra thing to think about? Whereas the language-specific tutorials are more familiar because developers can parse a language they know well to speed up learning of how modules work?
I really appreciate you explaining the thought process that you have going through the documentation.

For the first piece of feedback:

maybe a bit of a black box that isn't explained well, and we just tell you to include it in your deployments as a data generator. I can definitely provide more context around that module and link to the source code that you suggested.

Yes that is exactly what I wish to convey.
For the second:

Maybe it's because you're still trying to understand the IoT Edge concepts and now including Azure Functions is just one extra thing to think about? Whereas the language-specific tutorials are more familiar because developers can parse a language they know well to speed up learning of how modules work?

For both these questions, my answer would be 'yes'.
Having custom module deployment before other tutorials would definitely work better.

Thanks, @gauravagarwal28. I can take your feedback about wanting more information about the simulated temperature sensor and update the docs. As for changing the order of the tutorials, I think that's very valuable feedback, so thank you. I'm going to look for more usage data from those articles before changing anything.

@Karishma-Tiwari-MSFT Could you #please-close this issue as resolved. Thank you.


Make project FetchContent friendly

Fix a spelling error.
Don't install/test by default unless you are a top level project:
https://github.com/Neargye/magic_enum/blob/master/CMakeLists.txt

This is what the cmake-gui looks like now.

This is what a visual studio solution looks like now.


refactor(*): remove usage of Objects.toStringHelper

@pahimar,
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


Mock LDAP in dev/test/demo environments

Who is this PR for?
Developers.
What problem does this PR fix?
Right now the auth code forks: in local development mode, test mode, and on the demo site we're using Devise's database_authenticable strategy. In production, we're using an LDAP strategy. That makes it difficult to exercise code as it's being used in production when developing.
What does this PR do?
Creates a mock LDAP service that we can call in development, in our test suite, and in our demo site. That way we can exercise our LDAP strategy code when creating and testing new features.
Adds an initializer that checks for sane config and checks to make sure that the mock LDAP is never turned on for the real site by accident.
Removes all code related to the database authentication strategy.
Edge case
I was curious what would happen if I set USE_MOCK_LDAP  to false in development mode.
This triggered an error from our LDAP code, but there was no corresponding user-facing text in devise.en.yml, so the user saw this:

I added natural-language copy so that if our LDAP strategy sends down :error, the user will see this instead now:

Checklist

[x] Author improved specs for code in need of better test coverage

Deploy checklist

[ ] Set USE_MOCK_LDAP and MOCK_LDAP_PASSWORD environment variables in demo site before deploying.
[ ] Deploy
[ ] Verify in production

@kevinrobinson, when you're back on Monday, I think this is in a good place for another review! Overall I think this PR moves us forward security-wise. In addition to subbing in the mock LDAP interface, it adds a missing user-facing error message to the login flow and triples the number of ENV variable changes required for a developer to disable auth.
One question I'm wondering about is naming. When I started out, I named the mock LDAP class TestPalsMockLDAP. As I revised the PR, I realized the class is no longer hard-coded to expect TestPal usernames and passwords explicitly; it accepts whatever educator records are in the database as valid and passwords are set in ENV. I wonder if referencing TestPals would make this class more obscure to a new developer coming on board. So it might be worth it to rename.

@kevinrobinson This had merge conflicts with master, so I rebased and force-pushed. That's why some of your earlier comments say "We went looking everywhere, but couldn’t find those commits." if you try to click into the file names.

@kevinrobinson I also renamed the class to MockLDAP and the ENV variables to USE_MOCK_LDAP, since they don't have anything to do with TestPals and are entirely generic. The only connection with TestPals is that in practice we'll use TestPals to populate the database in test/demo/dev environments.

@kevinrobinson Thanks, I appreciate the questions and suggestions! I'm down to keep talking because I think there are still some concrete improvements to make here.

Alright! @kevinrobinson, I removed the initializer check and replaced it with a ShouldUseMockLDAP class that implements the method you sketched out. Also added a unit test for all the different rules and cases we have for when Mock LDAP should/shouldn't be turned on. I think this is an improvement for sure — it centralizes the rules so we can call them in different places. Thanks for the suggestion @kevinrobinson!
I think next steps are for me to do a little bit of manual QA in development to make sure I didn't miss anything in this latest round of refactor, then set the mock LDAP ENV config in the demo Heroku site, then merge and 🚢.

@alexsoble awesome, this whole part of the system will be simpler and sturdier! 👍

✅ manually QA'd in local development mode
✅ got second look from @kevinrobinson on ShouldUseMockLDAP code
✅ set ENV vars from demo Heroku site in advance of merging/deploying
🚢

Verified in production. 👍


Feature Request: adopt / not \\ to path expression syntax

Summary of the new feature/enhancement

It will be preferred that the suggesting path for cd by tapping tab could be /-style rather than \\-style.
Proposed technical implementation details (optional)

/ is considered as non-ambiguous when it comes to path expression. Even the syntax for XPath is also /-based, not to mention Linux.
Every time I copy the path to the C# as a const string, I have to manually replace all \\. If it is Linux that PowerShell hates, I will be cool with that. But when C# also considers \\ as an escape sign, then it is inconsistent that PowerShell, a C# based cross-platform APP, still sticks to \\.

i think this feature is preferded to add as option configuration in psreadline

Please see #10509 for an ongoing discussion.


Malformed json is accepted by sol-fbp-generator

Issue Description

Certain malformed json files pass the checks and the tool creates malformed output.c files. The tool checks the json structure and the values of 'name' keys but all other values are put into the output.c file even if they are invalid.
Steps to reproduce

Build Soletta locally from branch master with last commit hash: 774c37c.
Config file http://pastebin.com/HDLM4jaF

Run
sol-fbp-generator -j malformed-timer.json -j console.json -j boolean.json simple.fbp malformed-output.c
Where files can be found at:

The malformed-timer.json contains non-ascii characters so I am attaching a hexdump:
http://pastebin.com/HFhDPARg
The rest of the files are part of soletta tree
./src/modules/flow/console/console.json
./src/modules/flow/boolean/boolean.json
./src/samples/flow/basics/simple.fbp
Board information
Same Host and Target
Parameters:
uname -m = x86_64
uname -r = 3.16.0-48-generic
uname -s = Linux
uname -v = #64~14.04.1-Ubuntu SMP Thu Aug 20 23:03:57 UTC 2015
Logs

The output file malformed-output contains the invalid values from malformed-timer.json:
A hexdump of the malformed-output.c:  http://pastebin.com/Ktv8701e

ok, so to summarize this problem: we're not validating the _symbol fields, we just pass it as is to the generated file. This is because we provide a JSON schema that should be used to validate it. We could add a runtime verification when we load it, shouldn't impact us much and will help users to understand their problem.
However this is not a bug due the schema not being used as designed.

#1712

@cristina-moraru I merged a fix for this problem. Could you please test it again?
commit e2f150c

I tested again and now it seems to be fine.

Closed.
Since the issue was solved
Thanks


feat(protocol): WIP - allow owner to revert the change state to a previous known verified block

Not Ready, not working, trying to think about how this should be done. Please DO NOT review.

@cyberhorsey @davidtaikocha  please take a preliminary review. The PR is not ready for merging yet.

What is the goal here? In case somehow the protocol screws up, we can reset and go back to a good known block?


add types for descriptor and manifest

We finally agreed to land on kubectl repo.
Moved from main repo PR: https://github.com/kubernetes/kubernetes/pull/52570.
A lot of discussion there.

cc: @bgrant0607-cc PTAL

Thanks.
I'm currently thinking we should break out Descriptor into a CRD definition somewhere (possibly not in this repo) and put a reference in Manifest to an "owner". Kubectl could then set ownerReferences to the owner automatically. The owner could be the Descriptor CRD or another object. Kubectl doesn't actually need the Descriptor for anything during expansion.
But further changes can be made in subsequent PRs. Merge and iterate.
/lgtm

/lgtm

A followup comment:
The core parts of the manifest proposal are simply declarative expressions of existing kubectl commands and flags: kubectl create configmap, kubectl create secret, kubectl patch, kubectl label, kubectl annotate, --filename, --prune, --recursive, --selector.


[preferences-controller] React to keyring state changes

The PreferencesController should listen for KeyringController state changes, and react to them appropriately. Specifically it should listen for account additions and removals, and ensure the selected address always points at an address that exists.
Today it doesn't react to these event changes because it relies upon the KeyringController calling the PreferencesController methods to update state. This is error prone and makes the KeyringController more complex than we'd like, and introduces a circular dependency between the controllers that would be nice to avoid.

Hey team! Please add your planning poker estimate with Zenhub @Gudahtt @kanthesha @MajorLift @mcmire


LogicApp API Connection

Proposed changes:

updating storage connection to ensure SAS key can be generated
creating access policies for api connection

@marvinbuss  - to add access policies

Please merge your changes and close this PR

Please merge your changes and close this PR

Will close this once we merged the other PR.

Superseded by https://github.com/Azure/ai-hub/pull/166


Loading scBCRseq data

I am handling scTCRseq and scBCRseq at the same time. scirpy is a really friendly package for integrated scRNAseq and scTCRsesq. But I can not combine scBCRseq data with scRNAseq, cause it filtered IG gene durning combine two object. Is there a plan for compatibility with scBCRseq data?

Hi @crushseven-7,
yes, we are working on it!
Feel free to join the discussion at https://github.com/icbi-lab/scirpy/issues/132.
In particular I'd appreciate comments on the naming conventions and would be glad about hints for suitable publicly available demo datasets with BCR data (combined BCR/TCR would be awesome, too).


initial changes for adapter abstraction

We intend to support different platforms(e.g. Mac OS), or at least make it easier if anyone is interested in working on it.
The PR is not yet for a thorough review, but trying to get some input in the early stage.
As it involves changes of file structure, the diff looks huge in the single squashed commit.
So it probably will be easier to download the branch and review it locally with editors.
I'll incorporate the input along the way, and send revisions that break the changes into smaller logical commits.

@roylee17 I'm excited about being able to support different platforms, but I'm having a hard time figuring out how to review this--it's one giant diff, and it's not clear to me exactly what it is accomplishing, how, and why. Do you think you could write a few sentences here explaining the overall approach? That'd help a lot.

The two main goals are to support

both roles (client and peripheral)
multi-platform(linux & MacOS)

Since they are correlated in higher levels, so I'd try to address them at the same time so the implementation won't be carried away to either of them too specifically. It's a long shot, so I'm intended to work on the client support for linux first (at least partially, such as scanning), but keep the API of high levels as friendly as possible to core bluetooth. So folks interested in it may join and help on it.
This revision was too rough and too far away from that. I'll try address the above comments, and send  more organized commits in the next revisions. Thanks.

Sounds good. Also, feel free to just write up a proposed API (with docs!) and proposed package/code structure without necessarily going to the trouble of implementing it (assuming you feel confident that you know that it can be implemented). That should allow quicker iterations.

I pushed another #13, which reorganize the files a bit (for review and merge)
Commits here that are more recent than "Advertisement: introduce Advertisement" are still working in progress. It's still rough, but shows the idea of high-level changes though.
We'll promote the Server to Device, which can perform both central and peripheral tasks, such as:

Advertise()
StopAdvertising()
Scan()
...

Callbacks corresponding to Central and Peripheral tasks are grouped into centralManagerHandler and peripheralManagerHandler respectively.
Peripheral (and peripheralManagerHandler) tasks works much the same as Server use to be.
Central (centralManagerHandler) tasks as well as the "Peripheral struct" (for the scanned devices) are still work in progress. It "looks" okay so far, but I think lots of details will be ironed out along the way of implementing more central functionalities.


[ci:component:github.com/gardener/vpn2:0.23.2->0.24.0]

Release Notes:
The `IP_BASE` environment variable in `acquire-ip` (part of `vpn-shoot-client`) is dropped in favor of the `VPN_NETWORK` environment variable.

Add iptables backend detection to shoot-client.

The VPN components now support configuring a custom VPN network using the `VPN_NETWORK` environment variable.

/close
in favor of https://github.com/gardener/gardener/pull/9558


Fix memory leaks on irohad shutdown

Description of the Change
Pull request fixes couple of memory leaks on irohad shutdown by calling unsubscribe() in destructors of several classes.

Benefits
Clean output of leak sanitizer, Irohad destructor is called now.

Possible Drawbacks
None.

How did you test, that the listed subscriptions leaks memory? I'm not really sure, but though that unsubscribe is called on such object destruction, fix me if I'm wrong

I built irohad target with leak sanitizer, than run and stop it. It clearly showed leaks without unsubscribe.


Added Ingress definition to glossary

Describe your changes
Added ingress definition to glossary
Related issue number or link (ex: resolves #issue-number)
Resolves #422
Checklist before opening this PR (put x in the checkboxes)

[x] This PR does not contain plagiarism

don’t copy other people’s work unless you are quoting and contributing it to them.

[x] I have signed off on all commits

signing off (ex: git commit -s) is to affirm that commits comply DCO. If you are working locally, you could add an alias to your gitconfig by running git config --global alias.ci "commit -s".

Thanks for your contribution, @aakankshabhende. I've added this to our review process board. As you can see we have a little bit of a backlog, but you can follow progress on it.

Yes, I will push the commits for required changes soon.

Making a new PR so closing this.


delete manifestwork and ns after addons are deleted

issue: https://github.com/stolostron/backlog/issues/20474
Signed-off-by: Zhiwei Yin<EMAIL_ADDRESS>

/retest

/assign @skeeey

We may need e2e to cover this

/lgtm


Fix number of line to skip

@havogt That should do the trick. In my opinion, this tool should be rewritten from scratch but I guess this is nor a priority.

I agree. We will never do it ;)


use of images on a site

the library is easy to use, but for actually using these images on a site are there any other details that must be added to embedded posts? I am just not sure if Instagram will shutdown my site if I display the photos similar to how you do in the "Basic Display API Demo". Any info will help! Thx

Hi @Aaronzinhoo - this is more a question of what Instagram allows and requires rather than something specific to instafeed.js. There's some info available here on their section on embedding: https://developers.facebook.com/docs/instagram/embedding.
Thanks!


CcAes doesn't throw the right exception

java.lang.IllegalStateException: [GET http://www.0crat.com/u/yegor256] failed in 0ms: javax.crypto.IllegalBlockSizeException: Input length must be multiple of 16 when decrypting with padded cipher
	at org.takes.facets.fallback.TkFallback.error(TkFallback.java:234)
	at org.takes.facets.fallback.TkFallback.route(TkFallback.java:115)
	at org.takes.facets.fallback.TkFallback.access$000(TkFallback.java:54)
	at org.takes.facets.fallback.TkFallback$1.act(TkFallback.java:66)
	at org.takes.tk.TkWrap.act(TkWrap.java:61)
	at com.zerocracy.tk.TkSslOnly.act(TkSslOnly.java:59)
	at org.takes.tk.TkWrap.act(TkWrap.java:61)
	at org.takes.http.BkBasic.print(BkBasic.java:108)
	at org.takes.http.BkBasic.accept(BkBasic.java:84)
	at org.takes.http.BkSafe$1.accept(BkSafe.java:51)
	at org.takes.http.BkWrap.accept(BkWrap.java:52)
	at org.takes.http.BkTimeable.accept(BkTimeable.java:89)
	at org.takes.http.BkParallel$1$1.run(BkParallel.java:89)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: javax.crypto.IllegalBlockSizeException: Input length must be multiple of 16 when decrypting with padded cipher
	at org.takes.facets.auth.codecs.CcAes.decrypt(CcAes.java:165)
	at org.takes.facets.auth.codecs.CcAes.decode(CcAes.java:102)
	at org.takes.facets.auth.codecs.CcHex.decode(CcHex.java:117)
	at org.takes.facets.auth.codecs.CcSafe.decode(CcSafe.java:64)
	at com.zerocracy.tk.CcSecure.decode(CcSecure.java:77)
	at org.takes.facets.auth.PsCookie.enter(PsCookie.java:105)
	at org.takes.facets.auth.PsChain.enter(PsChain.java:70)
	at org.takes.facets.auth.TkAuth.act(TkAuth.java:86)
	at org.takes.tk.TkWrap.act(TkWrap.java:61)
	at org.takes.facets.flash.TkFlash.act(TkFlash.java:108)
	at org.takes.tk.TkGzip$1.act(TkGzip.java:58)
	at org.takes.tk.TkWrap.act(TkWrap.java:61)
	at org.takes.tk.TkMeasured$1.act(TkMeasured.java:67)
	at org.takes.tk.TkWrap.act(TkWrap.java:61)
	at org.takes.tk.TkVersioned$1.act(TkVersioned.java:73)
	at org.takes.tk.TkWrap.act(TkWrap.java:61)
	at org.takes.tk.TkWithHeaders$1.act(TkWithHeaders.java:71)
	at org.takes.tk.TkWrap.act(TkWrap.java:61)
	at org.takes.facets.fallback.TkFallback.route(TkFallback.java:86)
	... 14 more
Caused by: javax.crypto.IllegalBlockSizeException: Input length must be multiple of 16 when decrypting with padded cipher
	at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:936)
	at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:847)
	at com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:446)
	at javax.crypto.Cipher.doFinal(Cipher.java:2165)
	at org.takes.facets.auth.codecs.CcAes.decrypt(CcAes.java:161)
	... 32 more

The job #814 assigned to @yegor256/z, here is why. The budget is 30 minutes, see §4. Please, read §8 and §9. If the task is not clear, read this and this.

@rultor release, tag is 1.8.2

Bug was reported, see §29: +15 points just awarded to @yegor256/z

Manual assignment of issues is discouraged, see §19: -5 points just awarded to @yegor256/z

@rultor release, tag is 1.8.2

@yegor256 OK, I will release it now. Please check the progress here

It is strongly discouraged to assign jobs to their creators, see §19: -15 points just awarded to @yegor256/z

@rultor release, tag is 1.8.2

@yegor256 Done! FYI, the full log is here (took me 13min)

@elenavolokhova/z please review this job, as in §30; the job will be fully closed and all payments will be made when the quality review is completed

@yegor256 According to QA Rules:

Problem reporter and problem solver are two different persons

In this ticket you were the reporter and solver.

Some of ticket messages must mention all pull requests where the problem was actually fixed.

There was no PR created for this issue, so the link is not included.
Please, try to avoid such issues in future.

@0crat quality acceptable

QA review completed: +8 points just awarded to @elenavolokhova/z

Order was finished, quality was "acceptable": +30 points just awarded to @yegor256/z

@0crat quality acceptable (here)

@elenavolokhova The job #814 is now out of scope


Use posixpath for dest files in userdata

When adding files with brkt-files parts in userdata, we must use Unix-style path separators for the destination file names, even when the brkt-cli command is being run on Windows.
Testing:

Ran unit tests on Linux (no failures)
Ran unit tests on Windows; this fix resolves 3 failures in existing
tests (still need to fix temp file issue with
test_util.TestReadPrivateKey.test_read_private_key()

LGTM!

:shipit:


feat: Implement color picker

Hello there, I just implemented the color picker.
I do not know why but the typing of "simple-color-picker" is not recognized.
"es-lint" is quite painful to use and do not match the VSCode formater 🤔.

Associated issue: https://github.com/GraphiteEditor/Graphite/issues/161

Awesome work! Just a few small changes and then it'll be time to merge. Be sure to rebase also so it's up to date with the current state of master.


Remove groups properly from connection diconnection

Before we would remove the connection from the _connections list which would prevent RemoveGroupAsync from removing the group locally and cause it to send a message to other servers which would make OnDisconnectedAsync wait for 30 seconds for an ACK it would never receive. And then OnDisconnectedAsync would throw a TaskCanceledException. The reason I didn't move the _connections.Remove(connection); to the end of OnDisconnectedAsync is to prevent groups being added to the connection while it is clearing out groups.

Title is still accurate

'diconnection' is not a word AFAICT :P


Build on MacOs with gcc compiler

Is it possible to build the source from the chapter on a MacOs using gcc?
thanks
Brian

@briviere
Im not the author but, it doesn't look possible for now, Let's look at the thread utils.h:
  inline auto setThreadCore(int core_id) noexcept {
    cpu_set_t cpuset;

    CPU_ZERO(&cpuset);
    CPU_SET(core_id, &cpuset);

    return (pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), &cpuset) == 0);
  }

in macOS, you cannot directly use the cpu_set_t structure and functions.
these are used in linux to specify which CPUs a program can use, but macos has different ways of handling this and does not support these specific functions natively.


Make home page look like the 'about' page

Checklist

[x] I have read the tutorials and know the correct effect of the functional design.
[x] There are no similar question on existing issues (including closed ones).
[x] I searched the Internet for related problems, but still couldn't solve it.
[x] My question is based on the latest code of master branch.

Description

I want my home page to have a layout like the 'about' page so that the landing page on my site gives some information about me.  How can I do this?

Duplicate of #115


Option to disable logging

I've found Turbo logging to be quite verbose and get in the way of my application logs. This PR lets the developer disable Turbo logging by adding the disableTurboLog launch argument to their scheme.

This could have been an environment variable, but the double negative get's weird, and those are parsed as strings. If we wanted to add logging levels then environment variables are the better choice.

How are you integrating Turbo in your project? The iOS framework is only logging when built with the Debug configuration. We use Carthage which builds dependencies in Release, so they don't show.

I use Cocoapods and have also noticed quite a lot of logging.

Gotcha, yeah, that's annoying. I think the better approach then is to disable debug logging by default, and make it opt-in. We shouldn't make every consumer disable it explicitly. Can do a TURBOLINKS_DEBUG define instead of just DEBUG

That would work for me, that's kinda what the Android project does https://github.com/hotwired/turbo-android/blob/main/docs/ADVANCED-OPTIONS.md#enable-debug-logging
(for the record I like the logging!)

I'm integrating Turbo with Swift Package Manager.


added tenz-id meta-tx call

Awesome stuff, so our standard for contract calls moving forward will be using the encode function call method const encoded = await web3.eth.abi.encodeFunctionCall({...})
There may be different ways to reference the ABI snippets but for now it's looking super clean 👌

yes, data is basically the function we want executed with given arguments


fix: exclude paths should be relative to the target path

Exclude paths should be relative to the target paths. https://developer.apple.com/documentation/packagedescription/target/exclude
I'm not sure if it's better to compose the paths together here, or further upstream somewhere

@cgrindel sorry for all of the terse PRs. I was churning them out to unblock myself while trying to get our app building. I'll work on fleshing out some examples today.

@cgrindel here's an example repository where Error.swift is not correctly excluded from DummyPackage because the path is not treated as relative to the target's path: https://github.com/jflan-dd/exclude_example

Do you think that we can replicate this in one of our examples? Alternatively, we can add a new example. WDT?


Setup CI on < latest supported versions of IntelliJ

currently our CI only covers that latest supported version of IntelliJ. This makes it easy to miss bugs affecting older supported versions. For example, #1972.
We should set up CI for more than just the latest supported version

Any thoughts on prioritization/timeline?
On Mon, Mar 26, 2018 at 12:57 PM Etan Shaul<EMAIL_ADDRESS>wrote:

currently our CI only covers that latest supported version of IntelliJ.
This makes it easy to miss bugs affected older supported versions. For
example, #1972
https://github.com/GoogleCloudPlatform/google-cloud-intellij/issues/1972
.
We should set up CI for more than just the latest supported version
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/google-cloud-intellij/issues/1976,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHf5HT2KStTb19bUd7OEm5nTHvENELmIks5tiR4IgaJpZM4S7jJe
.

Assigned myself, and added it to the next milestone


systeminfo still show v1.5

In GitLab by @luotian-github on May 31, 2018, 15:56
merge updatek8s18 to dev

In GitLab by @liyanq528 on Nov 8, 2019, 07:51
fixed by pull request #1284

In GitLab by @tmon546596046 on Nov 8, 2019, 07:51
there should be an api for the kubernetes version

In GitLab by @tmon546596046 on Nov 8, 2019, 07:51
PR #1863 the api /api/v1/systeminfo append a new field kuberetes_version which means the kubernetes version. you also can use /api/v1/kubernetesinfo api to connection kubernetes to get more detail.

In GitLab by @liyanq528 on Nov 8, 2019, 07:51
PR #1877

In GitLab by @tmon546596046 on Nov 8, 2019, 07:51
verify ok, it's showing v1.9.9 now

In GitLab by @sokril on Nov 8, 2019, 08:21
closed

In GitLab by @sokril on Nov 8, 2019, 08:21
assigned to @tmon546596046

In GitLab by @liyanq528 on Nov 13, 2019, 08:12
mentioned in merge request !855

In GitLab by @liyanq528 on Nov 13, 2019, 09:35
mentioned in merge request !1425

In GitLab by @liyanq528 on Nov 13, 2019, 11:34
mentioned in merge request !1165