[ALLUXIO-2465]change call sequence for create and rename method

https://alluxio.atlassian.net/browse/ALLUXIO-2465

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/12796/
Test PASSed.

@TeddyBear1314 Thanks for discovering the inefficiency and submitting the improvement! Have you validated that these changes are fine when running tests with -PcontractTest?

I haven't tried -PcontractTest, I'll try it and see if there is any contract.

I have run -PcontractTest and it builds success! Thanks for the comment and sorry for the late!

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/12850/Build result: FAILURE[...truncated 3145 lines...][JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/hdfs/target/alluxio-underfs-hdfs-1.4.0-RC1-sources.jar to org.alluxio/alluxio-underfs-hdfs/1.4.0-RC1/alluxio-underfs-hdfs-1.4.0-RC1-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/swift/pom.xml to org.alluxio/alluxio-underfs-swift/1.4.0-RC1/alluxio-underfs-swift-1.4.0-RC1.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/swift/target/alluxio-underfs-swift-1.4.0-RC1.jar to org.alluxio/alluxio-underfs-swift/1.4.0-RC1/alluxio-underfs-swift-1.4.0-RC1.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/swift/target/alluxio-underfs-swift-1.4.0-RC1-sources.jar to org.alluxio/alluxio-underfs-swift/1.4.0-RC1/alluxio-underfs-swift-1.4.0-RC1-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/s3a/pom.xml to org.alluxio/alluxio-underfs-s3a/1.4.0-RC1/alluxio-underfs-s3a-1.4.0-RC1.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/s3a/target/alluxio-underfs-s3a-1.4.0-RC1.jar to org.alluxio/alluxio-underfs-s3a/1.4.0-RC1/alluxio-underfs-s3a-1.4.0-RC1.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/s3a/target/alluxio-underfs-s3a-1.4.0-RC1-sources.jar to org.alluxio/alluxio-underfs-s3a/1.4.0-RC1/alluxio-underfs-s3a-1.4.0-RC1-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/examples/pom.xml to org.alluxio/alluxio-examples/1.4.0-RC1/alluxio-examples-1.4.0-RC1.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/examples/target/alluxio-examples-1.4.0-RC1.jar to org.alluxio/alluxio-examples/1.4.0-RC1/alluxio-examples-1.4.0-RC1.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/examples/target/alluxio-examples-1.4.0-RC1-sources.jar to org.alluxio/alluxio-examples/1.4.0-RC1/alluxio-examples-1.4.0-RC1-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/server/pom.xml to org.alluxio/alluxio-core-server/1.4.0-RC1/alluxio-core-server-1.4.0-RC1.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/server/target/alluxio-core-server-1.4.0-RC1.jar to org.alluxio/alluxio-core-server/1.4.0-RC1/alluxio-core-server-1.4.0-RC1.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/server/target/alluxio-core-server-1.4.0-RC1-sources.jar to org.alluxio/alluxio-core-server/1.4.0-RC1/alluxio-core-server-1.4.0-RC1-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/server/target/alluxio-core-server-1.4.0-RC1-tests.jar to org.alluxio/alluxio-core-server/1.4.0-RC1/alluxio-core-server-1.4.0-RC1-tests.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/keyvalue/common/pom.xml to org.alluxio/alluxio-keyvalue-common/1.4.0-RC1/alluxio-keyvalue-common-1.4.0-RC1.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/keyvalue/common/target/alluxio-keyvalue-common-1.4.0-RC1.jar to org.alluxio/alluxio-keyvalue-common/1.4.0-RC1/alluxio-keyvalue-common-1.4.0-RC1.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/keyvalue/common/target/alluxio-keyvalue-common-1.4.0-RC1-sources.jar to org.alluxio/alluxio-keyvalue-common/1.4.0-RC1/alluxio-keyvalue-common-1.4.0-RC1-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/pom.xml to org.alluxio/alluxio-underfs/1.4.0-RC1/alluxio-underfs-1.4.0-RC1.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/glusterfs/pom.xml to org.alluxio/alluxio-underfs-glusterfs/1.4.0-RC1/alluxio-underfs-glusterfs-1.4.0-RC1.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/glusterfs/target/alluxio-underfs-glusterfs-1.4.0-RC1.jar to org.alluxio/alluxio-underfs-glusterfs/1.4.0-RC1/alluxio-underfs-glusterfs-1.4.0-RC1.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/underfs/glusterfs/target/alluxio-underfs-glusterfs-1.4.0-RC1-sources.jar to org.alluxio/alluxio-underfs-glusterfs/1.4.0-RC1/alluxio-underfs-glusterfs-1.4.0-RC1-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/integration/pom.xml to org.alluxio/alluxio-integration/1.4.0-RC1/alluxio-integration-1.4.0-RC1.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/keyvalue/pom.xml to org.alluxio/alluxio-keyvalue/1.4.0-RC1/alluxio-keyvalue-1.4.0-RC1.pomchannel stopped
Test FAILed.

Merged build finished. Test FAILed.

I didn't see anything useful from Jenkins,can anyone advise me how to fix it? thanks a lot!

Jenkins, test this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/12869/
Test PASSed.

@TeddyBear1314 Thanks for confirming the unit test suite. I have a few more minor comments.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/12879/
Test PASSed.

@TeddyBear1314 Thanks for the optimization!


Dependency conflicts

Dependency information
    "prettier": "^3.0.3",
    "prettier-plugin-brace-style": "^0.3.0",

Steps to reproduce
Just npm install
The current behavior
npm WARN ERESOLVE overriding peer dependency
npm WARN While resolving<EMAIL_ADDRESS>npm WARN Found<EMAIL_ADDRESS>npm WARN node_modules/prettier
npm WARN   dev<EMAIL_ADDRESS>from the root project
npm WARN   2 more (prettier-plugin-brace-style, @prettier/sync)
npm WARN
npm WARN Could not resolve dependency:
npm WARN peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm WARN node_modules/prettier-plugin-brace-style/node_modules/prettier-plugin-merge
npm WARN   optional<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm WARN   node_modules/prettier-plugin-brace-style
npm WARN
npm WARN Conflicting peer dependency<EMAIL_ADDRESS>npm WARN node_modules/prettier
npm WARN   peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm WARN   node_modules/prettier-plugin-brace-style/node_modules/prettier-plugin-merge
npm WARN     optional<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm WARN     node_modules/prettier-plugin-brace-style

The expected behavior
No conflicts. This creates issues in some of my CI.

Oh my god! I will release a corrected version as soon as possible.


Update README.md

Description
Please add an informative description that covers that changes made by the pull request and link all relevant issues.
If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[ ] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

done by https://github.com/Azure/azure-sdk-for-python/pull/29299

/check-enforcer override


fetch spz by spu

When a seedlot's status goes from pending -> submitted
The postgres backend should request a list of SPZs with the SPU from the primary orchard selected by the user.
The oracle endpoint will then fetch a list of SPZs with the given SPU and send it back to postgres backend.
Postgress backend will insert rows to the seedlot_seed_plan_zone table with the results from oracle.
For more details: A-Class Area of Use SPZ

Perfect! Looks correct to me!

@marcionemec-daitan
updated to use MIN instead as you suggested

updated to a full stack ticket


installapplications can’t open DEPNotify

Thanks for the PR, but I'm going to be going in a different direction on this.

Thank you !


Doesn't work in Safari 8

Neither the rel=noreferrer nor the window.open techniques appear to prevent tab-nabbing in Safari 8. Screencast of your demo page is attached.

Thanks for reporting that! Oddly enough, the example works when the demo page is ran on localhost...

Will look into a solution this evening. But you're right. rel=noreferer does not work for Safari. As for window.opener.. it has to do with Safari's browser restrictions working against it.
If the new tab lies on the same origin as the page in Safari, the page can successfully set  child.opener = null, and the new tab will no longer have a reference to the window.
If the new tab lies on a different origin, Safari prevents the page from modifying the its opener attribute. As a result, the new tab keeps a reference to the parent's window, and is still able to apply the attack.
So Safari's own "security precautions" are working against it. At the very least, if I can't up with a workaround, I would have blankshield force those urls to open in the existing tab when using Safari.

@sstephenson @shajith A possible workaround exists as of https://github.com/danielstjules/blankshield/commit/3e3a4483c8036534109239c8a42967469016a518

I haven't been able to find an alternative than the following: https://github.com/danielstjules/blankshield/blob/a410d91c522ea3ea9068d0b424e3c510a81c421a/blankshield.js#L52-L60 @sstephenson @shajith @jespr Closing this issue for now.

Looks like @hkjorgensen came up with a fallback using iframes. Will implement soon. :)

Fixed in the 0.4.0 release. Thanks again!


[Bug] How to hide or replace element cursor?

Describe the Bug
activate CircleROI tool, no configuration to replace or hide element cursor
Steps to Reproduce
/
The current behavior
/
The expected behavior
/
OS
Windows 10
Node version
14.18.0
Browser
Google Chrome 116.0.5845.142

I dived into the code and found an undocumented feature for disabling this. I have filed #831 for documenting it.
I put the following line before my cornerstone.init() call (although I think it works when you do it before setToolActive() too):
    cornerstone.Settings.getRuntimeSettings().set('useCursors', false);

This ensures the ToolGroup does not activate cursors here.

Yeah we lack that piece of documentaiton right now.
You should be able to use the following to use or not use cursurs
Settings.getRuntimeSettings().set('useCursors', true)

Thanks a lot!


Adding param to environment.ts fails during unit tests

I tried to add my backend url to environment.[dev|prod].ts as explain in README.md
src/environment.ts and config/environment.dev.ts (same content)
export const environment = {
  production: false,
  backend: {
    url: 'http://localhost:8080/api'
  }
};

config/environment.prod.ts
export const environment = {
  production: true,
  backend: {
    url: '/myapp/api'
  }
};

src/app/shared/profile-info.service.ts
import { Injectable }   from '@angular/core';
import { Http }         from '@angular/http';
import 'rxjs/add/operator/toPromise';
import { ProfileInfo }  from './profile-info.model';
import { environment }  from '../../app';

@Injectable()
export class ProfileInfoService {
  constructor(private http: Http) {}
  getProfileInfo(): Promise<ProfileInfo> {
    return this.http.get(environment.backend.url + '/profile-info')
               .toPromise()
               .then(response => response.json())
               .catch(this.handleError);
  }
  private handleError(error: any) {
    console.error('An error occurred', error);
    return Promise.reject(error.message || error);
  }
}

At runtime
ng serve or ng serve -prod works fine BUT...
Unit test fails
>ng test --watch false
Built project successfully. Stored in "dist/".
22 07 2016 14:32:55.601:INFO [karma]: Karma v0.13.22 server started at http://localhost:9876/
22 07 2016 14:32:55.612:INFO [launcher]: Starting browser PhantomJS
22 07 2016 14:32:57.102:INFO [PhantomJS 2.1.1 (Windows 7 0.0.0)]: Connected on socket /#oYsAdh6c6MnyuUvFAAAA with id 25522896
PhantomJS 2.1.1 (Windows 7 0.0.0) Contract Service should ... FAILED
        Error: Cannot resolve all parameters for 'AppComponent'(undefined). Make sure that all the parameters are decorated with Inject or have valid type annotations and that 'AppComponent' is decorated with Injectable. (line 233)
PhantomJS 2.1.1 (Windows 7 0.0.0) ProfileInfo Service should ... FAILED
        Error: Cannot resolve all parameters for 'AppComponent'(undefined). Make sure that all the parameters are decorated with Inject or have valid type annotations and that 'AppComponent' is decorated with Injectable. (line 233)
PhantomJS 2.1.1 (Windows 7 0.0.0) App: CromeFront should create the app FAILED
        Error: Cannot resolve all parameters for 'AppComponent'(undefined). Make sure that all the parameters are decorated with Inject or have valid type annotations and that 'AppComponent' is decorated with Injectable. (line 233)
PhantomJS 2.1.1 (Windows 7 0.0.0) App: CromeFront should have as title 'CROME' FAILED
        Error: Cannot resolve all parameters for 'AppComponent'(undefined). Make sure that all the parameters are decorated with Inject or have valid type annotations and that 'AppComponent' is decorated with Injectable. (line 233)
PhantomJS 2.1.1 (Windows 7 0.0.0): Executed 11 of 11 (4 FAILED) (0.021 secs / 0.022 secs)

What did I do wrong ?
Workaround
import { isDevMode } from '@angular/core';
...

@Injectable()
export class ProfileInfoService {
  private url: string;

  constructor(private http: Http) {}

  getProfileInfo(): Promise<ProfileInfo> {
    if(isDevMode()) {
      this.url = 'http://localhost:8080/api';
     } else {
       this.url = '/cromeApi/api';
    }
    return this.http.get(this.url + '/profile-info')
               .toPromise()
               .then(response => response.json())
               .catch(this.handleError);
  }
  private handleError(error: any) {
    console.error('An error occurred', error);
    return Promise.reject(error.message || error);
  }
}

Version
C:\tmp\myapp>ng --version
angular-cli: 1.0.0-beta.8
node: 6.2.1
os: win32 x64

Can you also show me your unit test?

sure: src/app/shared/profile-info.service.spec.ts
/* tslint:disable:no-unused-variable */

import {
  beforeEach, beforeEachProviders,
  describe, xdescribe,
  expect, it, xit,
  async, inject
} from '@angular/core/testing';
import { ProfileInfoService } from './profile-info.service';

describe('ProfileInfo Service', () => {
  beforeEachProviders(() => [ProfileInfoService]);

  it('should ...',
      inject([ProfileInfoService], (service: ProfileInfoService) => {
    expect(service).toBeTruthy();
  }));
});

Sorry, I should have been more specific. Can you show me your failing ones?

Actually this is one of failing ones:p
There's are default test generated by angular-cli
If I just add the environment values and use it in the service; the unit tests start fail ?!

See error log:
PhantomJS 2.1.1 (Windows 7 0.0.0) ProfileInfo Service should ... FAILED
Error: Cannot resolve all parameters for 'AppComponent'(undefined).

Generally speaking, whenever you change in your classes the generated unit tests should immediately fail.
I think I see at least part of what's going wrong here... It's weird that your ProfileInfo test fails showing a message about AppComponent, right? And you say it happens only if you add import { environment }  from '../../app';?
I know that ../../app also exports AppComponent, but have no idea how it gets inserted into your tests. If you can get me a repo that I can debug, I might be able to find you an answer.

I am experiencing this same thing. The moment I try to use environment.foo within a service the component can no longer resolve the parameter for that service.

Also the failure happens when I try to mock with provide(Api, { useValue: {} }). The moment I remove the line that references environment the tests start passing again.

@filipesilva This is the bug reproduced from a angular-cli this happens on webpack-beta 1 and  2. Not sure about the broccoli version. It's making it impossible for us to test and deploy to production with confidence.
https://github.com/NorthernLogic/ng2-cli-environment-test-bug/commit/5c8a1e2937c816abf8ca817660d1a918e20a8c06

Confirmed on the beta-10 as well. Oddly enough the app still compiles and runs. It seems to be specific to testing.

Finally! So after almost driving myself crazy I believe I have gotten to the bottom of this. It has to do with the spec file import order. The commit posted below demonstrates the issue. The prior commit has a spec file test.service.spec.ts and I renamed that to api.service.spec.ts. Just doing that caused the tests to go from pass to fail. I then renamed it to app.service.spec.ts (so it would come after app.component.ts) and the tests started to pass again.
I'm not sure of the actual solution but at least I have a workaround for now.
https://github.com/NorthernLogic/ng2-cli-environment-test-bug/commit/e02da5eccf12c76b28f18ea83702c605b47e003f

We're overhauling the app build process so I'm not sure this bug still exists. I you try the latest webpack release please? Instructions can be found here: https://github.com/angular/angular-cli#webpack-preview-release-update
Now that I think about it, there's no environment.ts replacement functionality in test builds overall... I think it should at least default to dev myself. I should add that.

@filipesilva as I mentioned I tested this using webpack.beta.2 which was the latest release when you made the comment.

See my comment above https://github.com/angular/angular-cli/issues/1419#issuecomment-239856955 that talks about the issue only manifesting when a certain lexical file name ordering exists.

I updated to 1.0.0-beta.11-webpack.8 and this still exists.

This is next on my list of stuff to fix.

@adamduren I tried to repro on the latest master yesterday (which is basically webpack.8) and after updating your example to use NgModules I couldn't repro the problem. You mentioned you had used webpack.8 to repro, was that with NgModules?

(reopened because PR was only a partial fix)

Closing as I think this has been fixed since. Let me know if it still happens and I'll reopen.

I am missing something because its still not possible to add and env variable to ng test on prompt


Blocky artifacts appears when a transparent mesh has overlapping regions

Godot version:
master / 8b231b96
OS/device including version:
Manjaro Linux 18.0.3 / Nvidia GTX 970
Issue description:
I have a hair mesh that contains overlapping plane regions. But when I setup a material, there appear blocky patterns on certain areas as shown in the below screenshot:

The material has culling disabled, and depth draw mode is set to 'opaque pre-pass'.
In case it's something difficult to fix, any tricks or workarounds to mitigate the problem would be appreciated also.

Can you still reproduce this bug in Godot 3.2.1 or any later release (e.g. 3.2.2-rc2)?
If yes, please ensure that an up-to-date Minimal Reproduction Project (MRP) is included in this report (a MRP is a zipped Godot project with the minimal elements necessary to reliably trigger the bug). You can upload ZIP files in an issue comment with a drag and drop.

To add to this, the only issue I can see is a small amount of z-fighting.

No answer, so closing. Please comment if you can still reproduce the issue in Godot 3.3 or later.

Note that for hair rendering, you can use AlphaHash in 4.0: https://github.com/godotengine/godot/pull/40364


updated Face Recognition Using Inception V3 model

Related Issuse or bug
Face Recognition Using Inception V3 model #469

Original
Updated

original screenshot

Great implementation!

Yeah , Sure


Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle

Getting this error on cork create:
~/flatcar-sdk$ cork create
2020-03-17T23:19:41Z cork: Detecting SDK version
2020-03-17T23:19:42Z cork: Found SDK version 2331.0.0 from remote repo
2020-03-17T23:19:42Z cork: Downloading SDK version 2331.0.0
2020-03-17T23:19:46Z sdk: Unpacking SDK into /home/okurth/flatcar-sdk/chroot
2020-03-17T23:21:53Z sdk: Unpacked
gpg: keybox '/home/okurth/.repoconfig/gnupg/pubring.kbx' created
gpg: /home/okurth/.repoconfig/gnupg/trustdb.gpg: trustdb created
gpg: key 16530D5E920F5C65: public key "Repo Maintainer<EMAIL_ADDRESS>imported
gpg: key 67B7E448692B382C: public key "Conley Owens<EMAIL_ADDRESS>imported
gpg: Total number processed: 2
gpg:               imported: 2

fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle
fatal: error [Errno -2] Name or service not known
fatal: cloning the git-repo repository failed, will remove '.repo/repo'
2020-03-17T23:22:15Z cork: repo init failed: exit status 1

I believe this is because the network does not allow access to the DNS servers <IP_ADDRESS> and <IP_ADDRESS>:
$ cat chroot/etc/resolv.conf
nameserver <IP_ADDRESS>
nameserver <IP_ADDRESS>

$ host gerrit.googlesource.com
gerrit.googlesource.com has address <IP_ADDRESS>
gerrit.googlesource.com has IPv6 address 2607:f8b0:400e:c09::52

This command never completes:
$ host gerrit.googlesource.com <IP_ADDRESS>
^C

I cannot just change the file in the chroot because it looks like the chroot directory must not exist when calling cork create.
Any advice? I know nothing about cork. Just followed the instructions here: https://docs.flatcar-linux.org/os/sdk-modifying-coreos/

Hi,
thanks for reporting. I guess the --use-host-dns option for cork create can help you.
If you experience any other issues with the binary release, you can also have a look at compiling mantle from source.

Thank you, that worked!
Somehow I missed using cork create --help which would have shown that option.


Helm chart requires you to create a service account to use a service account

I manage an eks cluster using terraform. I use the module https://github.com/aws-ia/terraform-aws-eks-blueprints/tree/main/modules/irsa to create my service accounts.
The current setup of the sqs-prometheus-exporter helm chart requires you set serviceAccount.create to true to set the service account, but in the same fashion it forces creation of a k8 Service Account object.
Making it impossible to create a service account by other means and bind it into the helm chart.
It would be ideal to decouple the name of the service account, similar to other helm charts, you could add a name sibling to serviceAccount.create default the value of the ServiceAccount object to it, and only create that service account object when create is true.
It's a pretty simple change, i'll submit a pr

I've just released v1.1.4 of the chart, including your changes.


Small fixes in Automorphic number code in dart.

Have you read the Contributing Guidelines on Pull Requests?
Yes
Description
Fixes to dart code indicated by VS Code tool. Typecasting and null-safety.
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

@ritvij14,  Can you share the replit link so that mentors can review the working of the code. Thanks

@ritvij14, Can you share the replit link so that mentors can review the working of the code. Thanks

@bhav09<EMAIL_ADDRESS>One thing about repl, it does not have 'non-nullable' for dart yet, so cannot add ! to input in that. But VS Code extension shows an error there.

Pops this error. Please have a look at it and get back to me/any other mentor for the review. Thanks :)

@bhav09 yes corrected it please have a look.


Can't prepend step

"Insert step before" is disabled for the first step.

Fixed in f32ce5bd6535c9c3fe87dd29a1a6f5128d49ca3a.


Working with classes unkown at compile time ? (PropertyGrid for components)

Hi,
I would like to implement a PropertyGrid for an array of components which contain any properties. The problem is that I don't know the type of them at compile time and the code also can't be put into virtual functions of a component because the components shouldn't know about the UI.
Is there any trick how I can do that cleanly ? Pseudo code would be something like that:
Component* component = ...;
for (Property& property : component)
{
  if (property.is<std::string>())
  {
    // show EditBox
  }
  else if (property.is<int>())
  {
    // show numeric EditBox
  }
  // ...
}

Previously I worked with ponder which uses the same data structure for every type so it was easy to do, I hope I can also accomplish that with MetaStuff.

I think that something like this should work:
void PropertyGrid::createPropertyGrid(const Class& obj)
{
    meta::doForAllMembers<Class>(
        [&obj, this](auto& member)
        {
            if (member.canGetRef()) {
                this->addRow(member.getName(), member.getRef(obj));
            }
        }
    );
}

template <typename T>
void PropertyGrid::addRow(T&, const char*)
{ }

template <>
void PropertyGrid::addRow<std::string>(std::string& obj, const char* name)
{
    ... // show EditBox
}

template <>
void PropertyGrid::addRow<int>(int& obj, const char* name)
{
    ... // show numeric EditBox
}```

Thanks for your reply! This part is clear for me but the problem is that I have a lot of components in the game and the only way to implement something like a property grid is to add code like that as far as I can see currently:
If (component->is)
{
// static cast to test component and call the template function with it
}
// do the same for all other component types
Do you know of any better solution ? The only alternative I can think of is a generic method in my component with some functors as parameters(one for each datatype) but that doesn’t sound clean either regarding the usage.

Yeah, in your case you deal with type erasure in Components, which you can deal with by two methods:

Make some class (e.g. named ComponentRegistrator) and have it store:

std::unordered_map<std::type_index, std::function<void(*)(Component&, PropertyGrid&)> functions;

And then you do something like this:
template <typename T>
void ComponentRegistrator::addComponentType()
{
    functions.emplace_back({
        std::type_index(typeid(T)),
        [](Component& c, PropertyGrid& pg)
        {
            pg.addRow(static_cast<T>(c));
        }
    });
}

void ComponentRegistrator::registerAllComponents()
{
    addComponentType<TestComponent>();
    addComponentType<MeshComponent>();
}

CRTP:

class ComponentBase
{
public:
    virtual addPropertyGridRow(PropertyGrid&) = 0;
};

template <typename T>
class Component : public ComponentBase
{
public:
    void addPropertyGridRow(PropertyGrid& pg) override
    {
        pg.addRow(static_cast<T>(*this));
    }
};

And then you'll make your components like this:
class MeshComponent : public Component<MeshComponent>
{
    ...
};

Now, when you'll call addPropertyGridRow on ComponentBase, it'll make a static_cast to a derived type automatically.

OK, thanks for the details!
I currently already use the second approach(CRTP) for my components but components shouldn't know about the UI but I guess I'll implement something like the first approach with some code generation.
Thanks!


a little guidance on this small code in index.html please

this is my code....how to match it with latest version that is just release??

4E Admin Panel

Hey, This is the code used for the firebase integration more about it will be in this link.
https://blog.codemagic.io/flutter-web-firebase-authentication-and-google-sign-in/


Add bank holiday for funeral of Elizabeth II

This is per the declaration made in the Accession Council today

Thanks for this :) We had to wait for the official announcement of the date of the funeral.
Closing as superceded by #3371 (which also has slightly different wording).


don't use fs.writeFileSync, use fs.writeFile

https://github.com/jjwilly16/node-pdftk/blob/4123256f03884b5cdd78ef85bb71c42d1e604346/index.js#L72

What will issue happen if we use fs.writeFileSync ?


Config file with default settings

Hey!
I'm pretty excited about that tool but one thing is missing in my opinion - an option to create a config file with default settings. There are probably a lot of usecases for such file but the first one that comes to my mind (and the one which encouraged me to create that issue) is to set a board ID for a project i'm currently working (by setting it in <app_root>/.trellocli or anywhere else) so i could just use trello list list -o tsv and the default -b flag would be taken from that .trellocli config file. Also, it would be nice to set a default output formatter in there.
I would love to make a PR for that but i'm affraid it's a bit too complicated for me.
What do you guys think?

@mbajur Thanks for the feedback!
What are your thoughts on using a wrapper script to provide the described functionality.  For example:
https://gist.github.com/brettweavnet/af002bde11adc8fb7b31
I would prefer to avoid adding the functionality to the core CLI to avoid cross platform compatibility issues.
Let me know your thoughts.

Yes! Thats awesome :) thanks! I think you should somehow add it to the readme
Thanks! :beers:

@mbajur updated https://github.com/brettweavnet/trello_cli/blob/master/README.md
Thanks and let me know if you have any other issues.


What is the command to take a picture in the BeBop?

Hello all.
In the FreeFlight 3 app there is a button to take a photo.
I would like to create the same button in my app, but I can´t find the command
(something like ARDrone3 ....)
Thanks!

Hi,
the command is ARCOMMANDS_Generator_GenerateARDrone3MediaRecordPicture.
You can pass 0 as parameter for the mass storage id.
Best regards,
Djavan

Thanks! Djavan, function developed in my app  :)
Kind regards.


Profile Cubed task memory usage with Memray

I've been using Memray to profile the memory usage of Cubed tasks running locally using a local Lithops executor (since it runs tasks in a separate process).
This give great insight into how memory is allocated for blockwise operations. Here is an example timeline for an array add operation, where you can see Zarr chunks being loaded and stored:

More details in this presentation.
This issue is to add the instrumentation code to make it easy to profile any computation.

The code I used to produce the above plot is in this branch, in particular this commit.
It would be be good to have more control over i) the file that the profile info is written to, and ii) which tasks to run it for (it currently just runs it for the first task - i.e. with block ID composed of zeros).
Then to generate the visualization I ran:
rm -fr memray/*
pytest -vs 'cubed/tests/test_mem_utilization.py::test_sum_partial_reduce' --runslow
for f in $(ls memray); do echo $f; python -m memray flamegraph --temporal -f -o memray/$f.html memray/$f; done
# view html files in memray directory


SA1402 Code Fix: New file created in other project when using Xamarin shared project

Scenario:
Solution with:
Xamarin Shared Project (calling this Mobile.Shared)
Xamarin iOS Project (Mobile.iOS)
Xamarin Android Project (Mobile.Android)
Mobile.iOS and Mobile.Android reference Mobile.Shared
File (Foo.cs) contains two classes, violating SA1402
Execute the Code Fix for the offending class
Expected:
StyleCop creates a new file in Mobile.Shared for the second class
Actual:
StyleCop creates a new file in each of the projects referencing Mobile.Shared (Mobile.iOS and Mobile.Android)
Thank you so much for this project. This is not a blocking issue - just trying to do my part by reporting it.

Hi, thanks for reporting this. I'll investigate and see if it can be fixed.

This is similar to some other bugs we've had. At the time we last checked, this was caused by a Roslyn limitation; the most frustrating part is Roslyn doesn't even provide us with information to know whether or not the bug will occur (so we could selectively disable the code fix for violations in shared projects).

The workaround described in #1714 might work here as well (link)


[WIP] Docusaurus Docs

This PR represents a work in progress to update the documentation to a modern platform - specifically docusaurus.io
Major Goals

Update docs to a modern framework which is easier to develop in and supports some new features that we want
Ensure that the docs and website use the same tooling and are visually consistent - see https://github.com/inventree/inventree-website/pull/177
Framework that is more consistent with the InvenTree development process (react support)

Tech Stack Goals
With docusaurus we can more easily achieve the following running goals:

Include release notes in documentation
Include versioned API schemas in documentation - docusaurus-openapi-docs
Improve support for versioned API documentation
Add code documentation support
Improved support for diagrams / mermaid / etc

TODO List

[ ] Migrate existing documentation
[ ] Update / transfer "admonitions" (different styling in docusaurus)
[ ] Change pages from .md to .mdx (only where required for extra features)
[ ] Configure scripting for making releases
[ ] Configure generation of (versioned) API documentation (Ref: https://github.com/inventree/InvenTree/pull/6319)
[ ] Configure generation of (versioned) code documentation
[ ] Get build preview working with netlify
[ ] Build and host site
[ ] Update support for image integration / click-to-zoom etc

This is an improvement in search of a problem IMO. Using a fast-moving thing like a React for docs  will leave us with a lot more maintenance work to just keep it going.
I have a lot of problems with that framework but here are a few important ones:

Nowadays you can easily create PDFs or EPUBs from the docs, that is not possible/hard with MDX - I do not see what usesfull functionallity MDX brings for that huge downside
Their version support is a joke - duplicating files for each version instead of using git. Instead of fixing the architectural problem they just suggest removing old version
They have a huge list of dependencies leading to a lot of breaking changes. Take a look at their recent major release - I can not remember us dealing with anything the large with mkdocs

We can achive all tech stacks goals with the current doc stack. It is not a lack of tools but time that has prevented it form beeing done and I do not see how this change would improve that, I just see added maintenance burden.

I think the new website has the potential to look nice but the stack doe not make sense.
Rant about current/propsed stack
The beauty of the current doc (and to some limited degree website) stack is that it closely follows long-held standards in the python/static website generator standards like GFM, easily portable content and separation between logic, theming and content. That keeps it more or less evergreen. Most of the features in Docusaurus seem to be geared towards fast-moving frontend devs/designers that want to have something "professional" looking up and running in a few hours. You get pretty results in a few minutes but once you look into technical details everything is a naive 80% solution.
Further development suggestions
I agree with 1,2,5  but would like to discuss 3 and 4.
It probably makes sense to discuss the long-term goals of all the components in the (eco)system and lay out what (information, code) goes where, how things should work (tech stack, update cycles) and where we document things like this. I think something akin to a ADR process (full-scope docs by AWS, lighter version) makes sense - Pyhton has PIPs for that for example.

I would actually had supported this idea, but if @matmair is not happy if maybe that's not the right direction and and closing this PR is the best option.
But IMO we need to improve the look and feel of the website and the docs (to also align with the new PUI refactor), if we want to gain more users (what @matmair calls, do better marketing). Modern users like modern websites more than old school style sites.

Design and tech stack are different things - trying to solve one with the other is a fools errant.
@wolflu05  The website was created in Feb 2022 with a focus on being accessible, working on every device and not needing unnecessary tech. There has been very little feedback on its design so it stayed like it was proposed in the demo. If the website is keeping a user from using InvenTree they won't like the software in it's current state either.

Closing this out - targeting API docs in https://github.com/inventree/InvenTree/pull/6463


Working with Volumes

Another branch was created for completing the task https://github.com/cloudprogramm/devops_todolist_docker_core_task_2_volumes/tree/rd_develop


Problems with the "long" photo

When I open the image 100*200, does not work vertical swipe.
Video on which the problem is recorded: Google Drive

I updated this issue in v2.1.x.
Please create new issue if it still has a problem.


Accessibility with Voiceover on Mac OS

Hi,
I'm a blind user Getmonero app on Mac OS. It isn't accessible with my screen reader, Voiceover. I can't use it myself. So, can you do something?
Thank you very much!

Could you specify in more detail in what way "it isn't accessible"? We recently improved our accessibility score and there shouldn't be big problems with accessing and browsing getmonero.

Thank you!
When I created my wallet, the Voiceover said just “horizontal slider . Nothing else. And when I created the walle, I can’t read every tabs and buttons.
Aurel Calin Muth

Il giorno 22 feb 2021, alle ore 10:08, erciccione<EMAIL_ADDRESS>ha scritto:

Could you specify in more detail in what way "it isn't accessible"? We recently improved our accessibility score and there shouldn't be big problems with accessing and browsing getmonero.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

I see. Then the problem you are having is related to the Monero GUI wallet. This is the repository of the getmonero.org website. Please reopen this issue on the repository of the GUI. Direct link to open an issue in the correct repo: https://github.com/monero-project/monero-gui/issues/new.

@aureliomuth i opened an issue for you in the repository of the GUI wallet: https://github.com/monero-project/monero-gui/issues/3343

Thank you very much!
Aurel Calin Muth

Il giorno 24 feb 2021, alle ore 11:18, erciccione<EMAIL_ADDRESS>ha scritto:

@aureliomuth i opened an issue for you in the repository of the GUI wallet: monero-project/monero-gui#3343
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.


Build test plugins for upstream distribution

Build the test plugins dummy-* for upstream builds so that when testing
with smart-gateway-operator by default the plugins exist to simulate
workloads without needing a source connected.
Changes will be used as part of the smart-gateway-operator example
CustomResource and allow for additional molecule testing in the future
for that Operator.

Not sure what is up with the assembly error, but it is unrelated to this change. Note how dummy-* plugins are now being built.
CONTAINER_BUILD=true ./build.sh
building amqp1.so
building dummy-alertmanager.so
building dummy-events.so
building dummy-logs.so
building dummy-metrics.so
building socket.so
building ceilometer-metrics.so
building collectd-metrics.so
building events.so
building logs.so
building sensubility-metrics.so
building alertmanager.so
building elasticsearch.so
building loki.so
building print.so
building prometheus.so
# github.com/cespare/xxhash/v2
asm: xxhash_amd64.s:120: when dynamic linking, R15 is clobbered by a global variable access and is used here: 00092 (/home/leif/src/github.com/infrawatch/sg-core/vendor/github.com/cespare/xxhash/v2/xxhash_amd64.s:120)	ADDQ	R15, AX
asm: assembly failed
building sg-core for container


bugfix : unable to register nacos

Ⅰ. Describe what this PR did
bugfix : unable to register nacos
Ⅱ. Does this pull request fix one issue?

fix #2586
Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #2598 into develop will decrease coverage by 0.00%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             develop    #2598      +/-   ##
=============================================
- Coverage      51.18%   51.17%   -0.01%
+ Complexity      2806     2804       -2
=============================================
  Files            554      554
  Lines          17772    17776       +4
  Branches        2099     2101       +2
=============================================
+ Hits            9096     9097       +1
  Misses          7819     7819
- Partials         857      860       +3

Impacted Files
Coverage Δ
Complexity Δ

...o/seata/server/coordinator/DefaultCoordinator.java
54.63% <0.00%> (-0.52%)
28.00% <0.00%> (-1.00%)

...in/java/io/seata/server/session/GlobalSession.java
83.71% <0.00%> (-0.46%)
71.00% <0.00%> (-1.00%)

...rce/sql/struct/cache/PostgresqlTableMetaCache.java
76.08% <0.00%> (-0.32%)
10.00% <0.00%> (ø%)

...tasource/sql/struct/cache/MysqlTableMetaCache.java
82.55% <0.00%> (ø)
10.00% <0.00%> (ø%)

...asource/sql/struct/cache/OracleTableMetaCache.java
75.90% <0.00%> (ø)
9.00% <0.00%> (ø%)

...seata/discovery/loadbalance/RandomLoadBalance.java
100.00% <0.00%> (ø)
2.00% <0.00%> (ø%)

...very/registry/zk/ZookeeperRegisterServiceImpl.java
60.93% <0.00%> (ø)
25.00% <0.00%> (ø%)

.../autoconfigure/properties/client/RmProperties.java

...utoconfigure/properties/client/LockProperties.java

...utoconfigure/properties/client/UndoProperties.java

... and 31 more


[KYUUBI #1885] Add GetCatalogs for trino engine

Why are the changes needed?

Add GetCatalogs for trino engine.
How was this patch tested?

[X] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

Codecov Report

Merging #1888 (f09dcbc) into master (b952b7b) will increase coverage by 0.07%.
The diff coverage is 91.66%.

@@             Coverage Diff              @@
##             master    #1888      +/-   ##
============================================
+ Coverage     59.69%   59.76%   +0.07%
- Complexity      316      321       +5
============================================
  Files           290      291       +1
  Lines         14223    14234      +11
  Branches       1804     1805       +1
============================================
+ Hits           8490     8507      +17
+ Misses         5009     5003       -6
  Partials        724      724

Impacted Files
Coverage Δ

...he/kyuubi/engine/trino/operation/GetCatalogs.scala
90.00% <90.00%> (ø)

...engine/trino/operation/TrinoOperationManager.scala
50.00% <100.00%> (+13.63%)
:arrow_up:

...n/scala/org/apache/kyuubi/engine/ProcBuilder.scala
88.23% <0.00%> (+0.98%)
:arrow_up:

...kyuubi/engine/trino/operation/TrinoOperation.scala
49.01% <0.00%> (+9.80%)
:arrow_up:

Continue to review full report at Codecov.

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

Thanks, merging to master


Project feature warning system

(Note: This PR also increments the config version by necessity)
A mostly complete implementation of a feature warning system, closes https://github.com/godotengine/godot-proposals/issues/427, closes https://github.com/godotengine/godot/issues/25497

What works: Reading project features from project.godot, displaying unsupported features, warning when trying to open a project with unsupported features, changing the features to comply with currently supported and required features, and saving project features to project.godot.
What doesn't work & needs work (EDIT: All work now):

[x] It doesn't add config/features in projects where there is none already (however, it does always get added to brand new projects). EDIT: This works now!

[x] The feature list is not sorted in any way. It doesn't seem that PoolStringArray can sort. EDIT: It's sorted now! I rebased this on top of #32144 which should be merged first. EDIT: It's merged!

[x] For integration with the Mono module, it needs to add the "C#" feature tag to projects, but only if the projects have a C# solution generated. We don't want non-C# projects opened with Mono-enabled Godot to show warnings in non-Mono Godot. EDIT: This now works!

Side note: I considered if this could replace config_version but I think it's actually ideal to have both a version feature tag and a config version stored. For example, let's say 4.0 and 4.1 have the same config_version but 4.2 has a higher number. This means that if you tried to open 4.0 projects in 4.1 and vice versa it would show a warning, but upgrading to 4.2 is still one-way.

It looks globally good to me, though the way things are implemented are kind of spread around.
I would have preferred all the logic to be in the same place if possible, so that's it's easier to modify if we add new features to be considered.

Any advice how to test this easily?

@KoBeWi Basically, test that it does what it's intended to do:

When creating a new project, it should create a list of features.
When opening an old project, it should upgrade the project config version and generate a list of features.
If something in the project's feature list is not something supported:

The project manager should warn about this, showing both yellow text, and a warning when clicked on.
If the project is opened, the unsupported features should be trimmed away, and any required ones are added.

If Mono is enabled, the C# feature is marked as supported, and the project manager won't warn about it.
The C# feature's existence in the list of the project's features depends on the existence of a .csproj file.

To quickly test how unsupported features behave, you can manually edit the config/features=PackedStringArray line in the [application] section of project.godot.

When a project has config_version of 5, but no feature list, you get this crash:
CrashHandlerException: Program crashed
Dumping the backtrace.
[0] Object::get (C:\godot_source\core\object\object.cpp:445)
[1] Control::is_layout_rtl (C:\godot_source\scene\gui\control.cpp:442)
[2] BoxContainer::_resort (C:\godot_source\scene\gui\box_container.cpp:47)
[3] BoxContainer::set_alignment (C:\godot_source\scene\gui\box_container.cpp:310)
[4] ProjectList::create_project_item_control (C:\godot_source\editor\project_manager.cpp:1385)
[5] ProjectList::load_projects (C:\godot_source\editor\project_manager.cpp:1303)
[6] ProjectManager::_load_recent_projects (C:\godot_source\editor\project_manager.cpp:2052)
[7] ProjectManager::ProjectManager (C:\godot_source\editor\project_manager.cpp:2778)
[8] Main::start (C:\godot_source\main\main.cpp:2359)
[9] widechar_main (C:\godot_source\platform\windows\godot_windows.cpp:161)
[10] _main (C:\godot_source\platform\windows\godot_windows.cpp:185)
[11] main (C:\godot_source\platform\windows\godot_windows.cpp:199)
[12] __scrt_common_main_seh (d:\agent\_work\63\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288)
[13] BaseThreadInitThunk
-- END OF BACKTRACE --

It can happen when you just open and close the old project. The feature list won't appear, which will cause a crash on next project manager run (and will automatically add features).
IMO config_version=5 and no features, even if theoretically should be impossible, it shouldn't cause crash.
Also Project Manager modifying project.godot before the user does anything is a bit shady.

@KoBeWi See this comment: https://github.com/godotengine/godot/pull/41100#issuecomment-745226783
This crash did not exist when I first created this PR, and really the code in Control::is_layout_rtl should be fixed. Maybe there is something that I can do to workaround this issue in this PR, if so I'm not sure what it is, because the stack trace is not directly related to any of the lines of code changed in this PR.

I think the crash is related to this PR. It only happens when config/features doesn't exist in a project with config_version 5. I modified is_layout_rtl() to always return false and I get a crash in another place.

Another thing I noticed is that creating new project adds Vulkan feature, but opening a project doesn't. This should be probably made consistent.

@KoBeWi For that one, see https://github.com/godotengine/godot/issues/37645 It's not possible to tell with absolute certainty what the API should be when opening a project if it's not explicitly saved. For example, what if the project was created in another version of Godot where the default isn't Vulkan?

Well then this could be saved by EditorNode. The ProjectSettings save upon opening the project (see #47385). At this point it should be possible to determine the used API I think. But then the project features wouldn't be nicely exclusive to project manager, so not sure 🤔

Changed the rendering driver string to "" instead of "Unknown".
Fixed sorting potentially uselessly happening multiple times.
Fixed the crash. It happened due to changes to ProjectSettings in master such that the way this PR was using it caused a crash, however I think that the way this PR previously used ProjectSettings was never valid to begin with when this was based on 3.x even though it didn't crash there (it was creating an instance while it's supposed to be a singleton).

@reduz Is that guaranteed to happen for 4.0?
Anyway, this PR solves more problems than just that. It also:

Saves the Godot version. This is in parallel to config_version, so as an example if 4.0 and 4.1 use the same config version then this system will show a warning when opening 4.0 projects in 4.1 and 4.1 projects in 4.0, but if 4.2 uses a higher config version then upgrading to 4.2 would be one-way.

Users can also pin a project to a minor version or engine build if they wish, so 4.0.1 as an example.

Allows different builds of Godot to save feature tags to warn about the different features. In this PR it saves information about:

Whether a project is using single-precision or doubles.
Which renderer the project is using (Vulkan/GLES/etc).
Whether a project is using C#.

Allows people to make custom builds of Godot and include a feature tag for it. Since this system just saves strings, even official builds of Godot can warn that they are missing features found in custom Godot forks.

There are other ways to solve most of these problems, but the last point is only possible with a generic system that stores strings.

@reduz Is that guaranteed to happen for 4.0?

Yes that is the idea, otherwise it would be a major compatibility breakage between 4.0 and 4.1.

Saves the Godot version. This is in parallel to config_version, so as an example if 4.0 and 4.1 use the same config version then this system will show a warning when opening 4.0 projects in 4.1 and 4.1 projects in 4.0, but if 4.2 uses a higher config version then upgrading to 4.2 would be one-way.

Not against a version check, this part may go through, but needs to be consulted with other contributors.
For the rest, I think using feature tags for this is not a good idea, because most of them are either irrelevant or platform dependent. IMO something more specialized is required for this situation. I think this needs to be something else more related to compilation flags (engine version, whether it uses doubles, etc) and not feature tags.
I suggest going back to the drawing board with this and create a new proposal.

I think this needs to be something else more related to compilation flags (engine version, whether it uses doubles, etc) and not feature tags.

All current feature tags are determined at compile-time, so double precision support could be a feature tag.

You can remove me as co-author, it's not deserved for a style nitpick ;)

Thanks!


The contribution document doesn't indicate that how to run all checks

Describe the bug
The testing procedures in the CONTRIBUTING.md guide don't match the checks ran by CI system.
Steps to reproduce (if applicable)
Changes in #2766 pass the checks suggested in the CONTRIBUTING.md guide but fail CI.
Expected behavior
The CONTRIBUTING.md guide provides a set of steps that can help ensure that PR can successfully pass CI system.

We also need to tell the world about make fmt, and probably isolate better the "optional" stuff. (UI tools are not required to contribute for instance)

I didn't mention fmt because it is a dependency of fix in the makefile, but it can be probably mentioned in the Development section.

@fulmicoton I can take a look at the restructuring the Development section as a follow up since the onboarding experience is still fresh in my mind. I think these two commands that I listed in PR is enough in 99% of cases. It didn't add check for dependencies but I assume that if somebody wants to bring a new dependency into the project it would require a separate discussion anyway, so it wouldn't be a useful check for most new contributors.
So, as a follow up I am thinking to replace items 5-7 with just make -k test-all docker-compose-down, move item 8 into a separate UI Development section, and add a "Useful commands" section where I can list different make commands and what they are doing. What do you think?

@imotov That sounds good to me, but why did you close the issue?

Sorry, I thought we will track follow-up in a separate Development section refactoring issue since this one was about running CI checks. But I am fine with continuing this one.


It appears some versions of upstart give stop/waiting.

...instead of stopping/waiting.

My (actually encountered) pathological case:

Ubuntu 12.04
Two services installed with similar names: consul and consul-template.
consul is not running, but consul-template is.

My buggy spec asserts that consul is running:
describe service('consul') do
  it { should be_enabled }
  it { should be_running }
end

This passes, but shouldn't.  If we run the generated command:
vagrant@recipe-ubuntu-1204:~$ service consul status && service consul status | egrep 'running|online'
consul stop/waiting

..then we see why the /stopped\/waiting/ regex fails to match in the ubuntu special case.
Falling through, the process check (which uses a grep) sees consul-template and mistakenly assumes it is consul, finally causing the false positive.

Thanks!

Released as v2.44.6.


Issues with Paging find results

result.start => {"pk":{"S":"user#eWR6pYoybfADt4oBM"},"sk":{"S":"message#01F3F63MWN6H104E0698RN1XZ0"}}
start param => {"pk":{"S":"user#eWR6pYoybfADt4oBM"},"sk":{"S":"message#01F3F63MWN6H104E0698RN1XZ0"}}
They are exactly the same, but adding the start param results in this error:
2021-04-18T04:32:49.623Z	9945dda7-db39-4e55-be9a-dc1119352034	ERROR	Invoke Error 	{"errorType":"ValidationException","errorMessage":"The provided key element does not match the schema","__type":"com.amazon.coral.validate#ValidationException","name":"ValidationException","$fault":"client","$metadata":{"httpStatusCode":400,"requestId":"JH9CAULMN2P18723AI80A7GF3RVV4KQNSO5AEMVJF66Q9ASUAAJG","attempts":1,"totalRetryDelay":0},"stack":["ValidationException: The provided key element does not match the schema","    at s9i (/var/node_modules/@aws-sdk/client-dynamodb/protocols/Aws_json1_0.ts:3704:39)","    at processTicksAndRejections (internal/process/task_queues.js:93:5)","    at /var/node_modules/@aws-sdk/middleware-serde/src/deserializerMiddleware.ts:20:18","    at /var/node_modules/@aws-sdk/middleware-signing/src/middleware.ts:26:22","    at ZHe.retry (/var/node_modules/@aws-sdk/middleware-retry/src/defaultStrategy.ts:125:38)","    at /var/node_modules/@aws-sdk/middleware-logger/src/loggerMiddleware.ts:21:20","    at GEe.send (/var/node_modules/dynamodb-onetable/dist/mjs/Dynamo.js:61:16)","    at GEe.find (/var/node_modules/dynamodb-onetable/dist/mjs/Dynamo.js:30:16)","    at V8.run (/var/node_modules/dynamodb-onetable/dist/mjs/Model.js:252:30)","    at V8.queryItems (/var/node_modules/dynamodb-onetable/dist/mjs/Model.js:528:16)"]}

Workaround:
import { unmarshall } from '@aws-sdk/util-dynamodb'

I've had to unmarshall the start object before passing it in the params.

Can you post the code segment to do that so I know exactly what is being unmarshalled?

Would this patch address the issue:
diff --git a/src/Model.js b/src/Model.js
index 424dd4c..fc90fe6 100644
--- a/src/Model.js
+++ b/src/Model.js
@@ -334,7 +334,7 @@ export class Model {
         }
         if (op == 'find' || op == 'scan') {
             if (metrics) {
-                items.start = result.LastEvaluatedKey
+                items.start = this.table.unmarshall(result.LastEvaluatedKey)
             }
             if (result.LastEvaluatedKey) {
                 /*

yep. I think this should work


Buffer master reads, not just transactions

@guoliang100 @alainjobart
I included what I consider a minimal e2e test, which I think will be useful to have when we have all the tx buffering code in place. I tried to make the e2e test straight-forward, without testing edge cases. I have unit tests for those.

This change is

Reviewed 8 of 8 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

LGTM although I didn't look into it into too much detail.


Feature: expose consecutive runs

roaring.consecutive(bit: 0, range: 13..) could return the number of consecutive zeroes from bit 13.

Hey @ranfdev 👋
Roaring bitmaps are not necessarily "bitmaps" but are optimized to not be too big for some cases. What you seem to want is to know the number of missing values in a certain range. You can probably use the range_cardinality(&self, range: impl Range) -> u64 function and substract this number from the range size itself.

Thanks, but unfortunately range_cardinality doesn't cover my use case.
That's because range_cardinality returns the count of ones or zeros even if they aren't consecutive.
The function Roaring::consecutive(&self, bit, range) would stop counting after finding the first bitflip.
I know roaring bitmaps may be stored compressed with run length encoding. In fact, consecutive could take advantage of this compression to execute faster.
If the roaring bitmap contains RLE compressed ones as (start, count), and the user asks for consecutive(1, start..) the query can return instantly with value count.
I think this should be implemented inside the library, because as a user I don't have access to the internal representation of the bitmap, so I cannot optimize the query.


[Translation] Release MicroProfile 6.0 - Release Blog Post Japanese Translation

Add release blog (#726) post in Japanese

preview is ready.
https://microprofile.io/?p=7160&preview=true
Please review it. @aeiras @emecas

Hola snuggly @kazumura,
translation looks great. Thank you for adding yourself and others to the translation credits, very important.
I have published the post yet 2 things are missing:
@rstjames,
Can you please update to Japanese the design card? If you need @kazumura's help, please pull him in.

@kazumura,
Can you please translate to Japanese the https://twitter.com/MicroProfileIO/status/1612780709004939264?s=20&t=Fa-KjZpwAZQgNENAbsfwTw
#MicroProfileReleaseAnnouncement: #Microprofile 6.0 is released! It adopts
@JakartaEE
10 Core Profile. 📢 🚀
Learn more [Japanese link)
#ByCommunityForCommunity #OpenSource
The # doesn't need translations :) You and your team rock, thank you for choosing to participate in this initiative inspired by @emecas!

oh Kenji,
If you could add a picture to your WordPress profile that would be fantastic.

@aeiras

Can you please translate to Japanese the https://twitter.com/MicroProfileIO/status/1612780709004939264?s=20&t=Fa-KjZpwAZQgNENAbsfwTw

#MicroProfileReleaseAnnouncement: #Microprofile 6.0 がリリースされました！
@JakartaEE 10 Core Profile に対応しました。

詳細はこちら<"https://microprofile.io/2023/02/07/microprofile-6-0-release-japanese/">

oh Kenji,
If you could add a picture to your WordPress profile that would be fantastic.

Done.

Amazing, Kenji!!! :)
@rstjames thank you for bringing your magic on the closing of this task!

@kazumura  @wonderful work  , my Japanese level is zero, but for sure it is a first well accomplished milestone under the community-outreach multilingual initiative, thank you to every body  else who make this possible!! @aeiras  @rstjames  長尾貴浩(Takahiro Nagao)、笠井輝美(Terumi Kasai)

Thank YOU, Emerson. You inspire all of us to help and contribute. Together, we are lowering the bar to entry on learning about MP technology via news and content in diverse languages. You rock!
Ohh, Emerson, please whenever you can update the Working group ticket on this task as well. :) Community outreach fun!

@kazumura is this ok?

Thank YOU, Emerson. You inspire all of us to help and contribute. Together, we are lowering the bar to entry on learning about MP technology via news and content in diverse languages. You rock!
Ohh, Emerson, please whenever you can update the Working group ticket on this task as well. :) Community outreach fun!

Done
@aeiras  I guess you meant this : https://github.com/microprofile/microprofile-wg/issues/151 what is being tracked here https://github.com/microprofile/microprofile-wg/issues/174

Correct, Emerson. Your collaborations are beautiful and valuable!

@kazumura is this ok?

Great! Thanks. @emecas

blog is updated and social media scheduled


00 -- This is Heavy -- NICK PERKINS

Tasks:

[X] Create a Github account
[X] Find and star the class project
[x] Read the Home page on the class wiki
[x] Create a new WIP Issue

[x] Named 00 -- This is Heavy -- YOUR NAME (where YOUR NAME is your name)
[x] With this checklist as the description

[x] Edit your Github profile to provide:

[x] A picture, so I can recognize your face.
[x] Your full name, so I can recognize your name.
[x] A valid public email address, so I can contact you if I need to.

[x] Complete the "Hello World" Github guide

[x] Add a link to your new Github repo as a comment on your WIP Issue

[x] Complete the Code School course Try Git

[x] Take a screenshot of the Try Git course when you complete it and add it as a comment to your WIP Issue

[x] Create a new repository called TIY-Assignments

[x] Check the box to create an initial README.md file
[x] Select the CC0 -- "Creative Commons" license for your work
[x] Add a link to your TIY-Assignments repo as a comment on your WIP Issue

[x] Install Xcode from the Mac App Store. Simply search for Xcode.
[x] Open Xcode. Click the Xcode menu in the menubar, then choose Preferences. Navigate to the Downloads tab and install the latest iOS documentation (currently iOS 8.3, will probably be 9.0 when class starts). Once fully downloaded, the docset should have a small checkmark next to it.
[x] Watch The Long Run Videos on Delve.tv

[x] The Long Game, part 1
[x] The Long Game, part 2

[x] Complete the Swift Basics course on Treehouse.

[ ] Take a screenshot of your points earned for the course and add it as a comment to your WIP Issue

[ ] Look at the Prework-A file for instructions on how to complete the Counter app.

[ ] Your counter app files should be added to your TIY-Assignments repo. Because you previously added a link to your repo to your WIP Issue, I will be able to see your progress as you go. Be sure to commit/push the changes you make as you work on the app.

https://github.com/cowlickninja/hello-world

https://github.com/cowlickninja/TIY-Assignments

I was unable to get the counter app to work. I fixed all the errors but when it compiled and launched it would crash.  I also had to add a swift-counter folder and a info file as it required it and it didn't exist.


Updates runc to 1.1.7

Issue #, if available:
Description of changes:
Updates to latest patch release: https://github.com/opencontainers/runc/releases/tag/v1.1.7
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve


doc: corrections for ubx_evkninab4_52833

Some minor typos corrected.
Signed-off-by: Magnus Persson<EMAIL_ADDRESS>

please rebase


Broken Link in Cheat-sheets

C++ Cheat sheet not available.
https://www.cs.ccu.edu.tw/~damon/oop/,c++refcard.pdf
https://person.dibris.unige.it/moggi-eugenio/PG1-13/Cpp_reference.pdf
one of them could be an alternative

Dead links should be removed. The 2 links you suggest are good content, but casually posted, not clear if the poster has permission to distribute. In other words, the sort of links that go bad within a year, so not the best for our purposes.

Duplicate of #5378


[CLNP-4581][CLNP-4582] fix: direction of some icons in RTL

Fixes

https://sendbird.atlassian.net/browse/CLNP-4582 : leave channel icon
https://sendbird.atlassian.net/browse/CLNP-4581 : broadcast channel icon

Before

After

FYI, anyone who wants to test this can check the diff in here https://deploy-preview-1183--sendbird-uikit-react.netlify.app?htmlTextDirection=rtl


Typo in the tabs plugin instruction page

On the instruction site how to use the bootstrap-tabs.js plugin (http://twitter.github.com/bootstrap/javascript.html#tabs) you write the following code in order to bind a change event:
$('#.tabs').bind('change', function (e) {
  e.target // activated tab
  e.relatedTarget // previous tab
})

Is the dot symbol between # and tabs correct in $('#.tabs')? Because I receive the error: Uncaught Syntax error, unrecognized expression: bootstrap-tabs. Removing the dot everything is fine and seems to work correctly.

nice catch - sorry about that!


fix:  code block line number misalignment in Safari

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Provide a description in this PR that addresses what the PR is solving. If this PR is going to solve an existing issue, please reference the issue (e.g. close #123).

What is the purpose of this pull request?

[x] Bug fix
[ ] New feature
[ ] Other

Description
The height of .line-number should be calculated based on the font-size and line-height of .line-numbers, rather than being directly set to {line-height}em, as this could lead to rendering issues.
 .line-number {
   ...
-  height: #{$line-height}em;
 }

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 56.469%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
994

Relevant Lines:
1574

💛  - Coveralls


Bump to v0.8.1

What type of PR is this?
/kind cleanup
What this PR does / why we need it:
Update the version to v0.8.1
Which issue(s) this PR fixes:

Refers to https://github.com/kubernetes-sigs/security-profiles-operator/issues/1986
Does this PR have test?
None

Special notes for your reviewer:
None
Does this PR introduce a user-facing change?

None

Codecov Report

Merging #1990 (d444538) into main (f7e9dc5) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1990   +/-   ##
=======================================
  Coverage   47.32%   47.32%
=======================================
  Files          77       77
  Lines        7352     7352
=======================================
  Hits         3479     3479
  Misses       3742     3742
  Partials      131      131


Does interrupt kills kernel?

I would like to clarify something. Does the 'Interrupt kernel' action kills xeus-cling kernel? I guess it would be consistent with underlining cling interpreter behavior, where Ctrl+C will cause cling to exit.
I would like to find a way for xeus-cling to be able to be interrupted without losing previously defined variables or, if the former is not possible, to put a warning in documentation.

Sounds like a bug to me, it does look like interrupting the kernel results in the kernel dying. But this should not happen.


Bundler 1.16 incorrectly captures/stores BUNDLE_GEMFILE information into binstubs, which breaks in scenarios where multiple Gemfiles have been bundle installed.

Issue
Bundler 1.16 incorrectly captures/stores BUNDLE_GEMFILE information into binstubs, which breaks in scenarios where multiple Gemfiles have been bundle installed.
We think we did not observe this sooner because of the time it took for bundler 1.16 to propagate to our CI pipeline: first from Bundler to the standard ruby:2.4.2 Dockerfile, then from there to our CI-image-building job, and then a delay until a job using our CI image was triggered. But we believe the issue existed from the time that bundler 1.16 was released.
Investigation
Yesterday our CI builds began to fail inexplicably:
bundle exec rake
rake aborted!
LoadError: cannot load such file -- active_record/railtie

We investigated the commits leading up to the build, but none of them were related to Bundler, Docker, Rake, any Gemfiles etc.
We noticed that our logs had changed in an interesting way, however:
Seen in broken build:
Bundle complete! 12 Gemfile dependencies, 48 gems now installed.
Bundled gems are installed into `/usr/local/bundle`

Seen in working build immediately prior to broken build:
Bundle complete! 86 Gemfile dependencies, 220 gems now installed.
Bundled gems are installed into /usr/local/bundle.

At first we suspected we'd messed up our Gemfile, but it had not changed. We then realised that the "12 Gemfile dependencies" result was from a different Gemfile from the one in the directory.
Our CI / Docker process
How could this happen? Well, to begin with, we run all our builds inside Docker containers using Concourse. As an optimisation, we pre-build images that contain dependencies used by multiple codebases in our system. Then all CI builds use the common image. bundle exec is used to keep dependencies straight and previously worked fine.
Here is a Dockerfile based on our internal one:
FROM ruby:2.4.2

WORKDIR /usr/src/app

COPY package.json \
     first.gemfile \
     first.gemfile.lock \
     second.gemfile \
     second.gemfile.lock \
     third.gemfile \
     third.gemfile.lock \
     /usr/src/app/

RUN bundle config --global jobs 16 && \
    BUNDLE_GEMFILE=/usr/src/app/first.gemfile bundle install && \
    BUNDLE_GEMFILE=/usr/src/app/second.gemfile bundle install && \
    BUNDLE_GEMFILE=/usr/src/app/third.gemfile bundle install

When we fly intercept a broken build to poke inside a container using first.gemfile, we can recreate the failure behaviour. After some more poking around, we realise that the list of installed gems is from third.gemfile, not first.gemfile.
It seems as though, during the docker build used to create our CI image, Bundler has somehow locked onto the third BUNDLE_GEMFILE:
root@a8aa3692-997a-4779-6944-ab2e041a3bd2:/tmp/build/bb397313# bundle config
Settings are listed in order of priority. The top value will be used.
jobs
Set for the current user (/root/.bundle/config): "16"

app_config
Set via BUNDLE_APP_CONFIG: "/usr/local/bundle"

bin
Set via BUNDLE_BIN: "/usr/local/bundle/bin"

path
Set via BUNDLE_PATH: "/usr/local/bundle"

gemfile
Set via BUNDLE_GEMFILE: "/usr/src/app/third.gemfile"

A bit weird, but we figure easily fixed. But it is not fixed by bundle config --delete:
root@a8aa3692-997a-4779-6944-ab2e041a3bd2:/tmp/build/bb397313# bundle config --delete gemfile
root@a8aa3692-997a-4779-6944-ab2e041a3bd2:/tmp/build/bb397313# bundle config
Settings are listed in order of priority. The top value will be used.
jobs
Set for the current user (/root/.bundle/config): "16"

app_config
Set via BUNDLE_APP_CONFIG: "/usr/local/bundle"

bin
Set via BUNDLE_BIN: "/usr/local/bundle/bin"

path
Set via BUNDLE_PATH: "/usr/local/bundle"

gemfile
Set via BUNDLE_GEMFILE: "/usr/src/app/third.gemfile"

We check all the .bundle/config places the docs tell us to look, but none of them refer to BUNDLE_GEMFILE or third.gemfile.
So where is the configuration coming from?
Proximate cause of issue
After using grep over the whole FS, we find it being hard-coded into binstubs:
usr/local/bundle/bin/aws.rb
15:ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../../../src/app/third.gemfile",

usr/local/bundle/bin/ldiff
15:ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../../../src/app/third.gemfile",

usr/local/bundle/bin/rspec
15:ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../../../src/app/third.gemfile",

usr/local/bundle/bin/oauth
15:ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../../../src/app/third.gemfile",

usr/local/bundle/bin/rake
15:ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../../../src/app/third.gemfile",

usr/local/bundle/bin/htmldiff
15:ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../../../src/app/third.gemfile",

usr/local/bundle/bin/ruby-parse
15:ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../../../src/app/third.gemfile",

usr/local/bundle/bin/bundle
44:    File.expand_path("../../../../src/app/third.gemfile", __FILE__)

usr/local/bundle/bin/nokogiri
15:ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../../../src/app/third.gemfile",

usr/local/bundle/bin/pry
15:ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../../../src/app/third.gemfile",

usr/local/bundle/bin/rackup
15:ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../../../src/app/third.gemfile",

usr/local/bundle/bin/retry
15:ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../../../src/app/third.gemfile",

usr/local/bundle/bin/rubocop
15:ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../../../src/app/third.gemfile",

usr/local/bundle/bin/httparty
15:ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../../../src/app/third.gemfile",

usr/local/bundle/bin/ruby-rewrite
15:ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../../../src/app/third.gemfile",

usr/local/bundle/bin/coderay
15:ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../../../src/app/third.gemfile",

So that unless we set BUNDLE_GEMFILE every time we run bundler, it will not work for first.gemfile and second.gemfile cases.
This is a regression vs 1.15.4, where it worked as expected.
Workaround
Our workaround is to add this to our Dockerfile:
RUN gem uninstall --all --executables --force --install-dir /usr/local/lib/ruby/gems/2.4.0 bundler && \
    gem install bundler --version 1.15.4

ENV BUNDLER_VERSION=1.15.4

Likely related: https://github.com/bundler/bundler/issues/6154

I'm seeing this too. @jchesterpivotal very thorough investigation and report. 😍

This workaround stopped working for us
Step 25/27 : RUN bundle install --jobs=4 --path /bundle
 ---> Running in 49c2ddd726be
/usr/local/bundle/bin/bundle:23:in `load': cannot load such file -- /usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.16.0/exe/bundle (LoadError)
	from /usr/local/bundle/bin/bundle:23:in `<main>'

I had to also add rm /usr/local/lib/ruby/gems/2.4.0/specifications/default/bundler-1.16.0.gemspec to fix this.
ENV BUNDLER_VERSION=1.15.4
RUN \
  gem uninstall --all --executables --force --install-dir /usr/local/lib/ruby/gems/2.4.0 bundler && \
  rm /usr/local/lib/ruby/gems/2.4.0/specifications/default/bundler-1.16.0.gemspec && \
  gem install bundler --version "$BUNDLER_VERSION"

I'm not sure whether this is a bug in bundler or in the base ruby image. The base ruby image seems to make a lot of choices for its users by setting some bundler environment variables on it.
In particular, with the BUNDLER_BIN setting, it's telling bundler to install binstubs, and install them in a global path, so those binstubs inherit the last Gemfile context which installed each of them. These kind of choices seem out of scope for a base docker image to me...
In my case, doing ENV BUNDLER_BIN= right after FROM ruby:2.4.2 seems to do the trick.

To be clear: Bundler already creates executables that don't capture a Gemfile as the regular RubyGems executables. Those executables are always created. Bundler binstubs are an optional addition, intended to be application-specific. Capturing the relevant Gemfile is a feature, not a bug.
If you don't want to use the captured Gemfile, either stop generating Bundler binstubs or set BUNDLE_GEMFILE.

Makes total sense @indirect. So this is a new feature in 1.16 I assume? Do you agree with me that official ruby docker image should stop setting BUNDLE_BIN to /usr/local/bundle/bin by default from now on?

I'm sure "bundler binstubs" are not a new feature per se (maybe the bundler binstub for bundler itself is, though), I'm just trying to figure out why stuff that worked in 1.15.4 no longer works.

I'd be fine being wrong if it's downstream in the docker image. But it was a surprising change in behaviour.

The intended change was to support situations like this one:
cd app1/subdir && /path/to/app2/bin/rake app2:task

If the binstub at /path/to/app2/bin/rake remembers the location of the app2 Gemfile, everything works as expected. Without the change we made, the app2 rake would find the app1 Gemfile in a parent directory, and the command would fail in a surprising and unexpected way.
The change in observed behavior might come down to a failure in imagination on our part... we didn't think that anyone would be generating application-specific binstubs and then try to use those stubs in other applications. In this case, I feel like it's reasonable to expect users to run the RubyGems binstubs if they want application-independent behavior, and run app/bin/ stubs only if they want to run the command from that specific app. That said, I'm open to further discussion if you feel strongly otherwise.

I see, the more I think about it the more this seems like an issue with ruby's official docker image configuration.
Ruby's official docker image is setting these in its base ruby image:
ENV GEM_HOME /usr/local/bundle
ENV BUNDLE_PATH="$GEM_HOME" \
	BUNDLE_BIN="$GEM_HOME/bin" \
	BUNDLE_SILENCE_ROOT_WARNING=1 \
	BUNDLE_APP_CONFIG="$GEM_HOME"
ENV PATH $BUNDLE_BIN:$PATH

So that means every docker image using ruby as its base image is supposed to host a single application (furthermore, a single Gemfile), otherwise each application's binstubs will be overwriting each other everytime they run bundle install. Am I getting this right?

@deivid-rodriguez yes, I believe that is correct. The config you pasted above looks extremely optimized for a single Ruby application, with a single Gemfile. I think you would likely want to remove some or all of those ENV settings if you have more than one application inside your container.

Yeah, the thing is docker makes it pretty hard (impossible?) to remove environment variables from a base image. Setting BUNDLE_BIN= (empty) is working for me, but still this seems like decisions out of scope for the official base image of the ruby language :S

The change in observed behavior might come down to a failure in imagination on our part... we didn't think that anyone would be generating application-specific binstubs and then trying to use those stubs in other applications.

To be clear, this comes about as a CI consideration. Running bundle for each test adds a lot of cumulative overhead. As an optimisation we build a single CI docker image for a range of ruby-based systems we test. It might be that we push this wheelbarrow back up to the Docker base image. I'm not super hopeful, given that Docker's general doctrine is that one container == one process.
We've also encountered similar-but-not-quite-the-same problems with monorepo projects. Bundler assumes you have a monolithic ruby codebase and that it still has a single Gemfile. But we have cases where a subdirectory has a Gemfile (server/Gemfile) and the toplevel directory has a Gemfile intended to serve a toplevel spec/ directory.
BUNDLE_GEMFILE works for these, once we work out the mismatch, but it'd be useful if bundle exec took account of the PWD in determining which Gemfile to work with.

I'm not super hopeful, given that Docker's general doctrine is that one container == one process.

Yeah, I was thinking the same thing...

BUNDLE_GEMFILE works for these, once we work out the mismatch, but it'd be useful if bundle exec took account of the PWD in determining which Gemfile to work with.

I think https://github.com/bundler/bundler/pull/6201 might be an improvement in this regard?

I honestly don't feel qualified to say, but ... maybe? It's a pity @RochesterinNYC isn't still here at Pivotal, normally I'd have ambushed him for a closer look.
Our better move might be disentangling our Docker images. We've tried once or twice and been thrown back from Fort Fiddly Interactions. I have a longstanding grudge against Dockerfiles as a way of building images, mostly because they tend to encourage these kinds of ball-of-mud situations.

@jchesterpivotal I think I now understand what you're saying... bundle exec foo is not picking up $PWD/Gemfile, and is instead picking up whatever the gemfile was when bundle binstubs foo was run. That seems... bad. I think bundle exec foo should always find the Gemfile of the current directory (when BUNDLE_GEMFILE is not set) and then run the foo for that Gemfile.

Ugh, accidentally commented too soon.
Can you try Bundler built from master, now that #6201 has landed? I am hoping that it will fix that specific issue of bundle exec picking up the wrong gemfile.

As it happens I've rotated away from the affected team. One of @mbildner, @xtreme-debbie-chen or @pivotal-ivan-wang might need to carry this forward.


Error when recording from microphone

I am trying to record from microphone using this command:
arecord -f S16_LE -r 16000 | python kaldigstserver/client.py -r 32000 -
However I get this error on the client output:
Recording WAVE 'stdin' : Signed 16 bit Little Endian, Rate 16000 Hz, Mono
Received error from server (status 1)
output from server
DEBUG 2019-04-04 12:13:58,638 Starting up server
INFO 2019-04-04 12:14:12,266 101 GET /worker/ws/speech (<IP_ADDRESS>) 0.49ms
INFO 2019-04-04 12:14:12,266 New worker available <main.WorkerSocketHandler object at 0x7fb7b10c90d0>
INFO 2019-04-04 12:14:31,184 101 GET /client/ws/speech?content-type= (<IP_ADDRESS>) 0.39ms
INFO 2019-04-04 12:14:31,185 bd36902b-a033-4e0e-8c29-1c7a4b6ec7f9: OPEN
INFO 2019-04-04 12:14:31,185 bd36902b-a033-4e0e-8c29-1c7a4b6ec7f9: Request arguments: content-type=""
INFO 2019-04-04 12:14:31,185 bd36902b-a033-4e0e-8c29-1c7a4b6ec7f9: Using worker <main.DecoderSocketHandler object at 0x7fb7b10c9a90>
INFO 2019-04-04 12:14:46,248 bd36902b-a033-4e0e-8c29-1c7a4b6ec7f9: Sending event {u'status': 1, 'id': 'bd36902b-a033-4e0e-8c29-1c7a4b6ec7f9'} to client
INFO 2019-04-04 12:14:46,249 Worker <main.WorkerSocketHandler object at 0x7fb7b10c90d0> leaving
INFO 2019-04-04 12:14:46,249 bd36902b-a033-4e0e-8c29-1c7a4b6ec7f9: Handling on_connection_close()
INFO 2019-04-04 12:14:46,249 bd36902b-a033-4e0e-8c29-1c7a4b6ec7f9: Closing worker connection
INFO 2019-04-04 12:14:47,253 101 GET /worker/ws/speech (<IP_ADDRESS>) 0.38ms
INFO 2019-04-04 12:14:47,253 New worker available <main.WorkerSocketHandler object at 0x7fb7b10c9510>
output from the worker
DEBUG 2019-04-04 12:14:10,074 Starting up worker
2019-04-04 12:14:10 -    INFO:   decoder2: Creating decoder using conf: {'post-processor': "perl -npe 'BEGIN {use IO::Handle; STDOUT->autoflush(1);} s/(.*)/\1./;'", 'logging': {'version': 1, 'root': {'level': 'DEBUG', 'handlers': ['console']}, 'formatters': {'simpleFormater': {'datefmt': '%Y-%m-%d %H:%M:%S', 'format': '%(asctime)s - %(levelname)7s: %(name)10s: %(message)s'}}, 'disable_existing_loggers': False, 'handlers': {'console': {'formatter': 'simpleFormater', 'class': 'logging.StreamHandler', 'level': 'DEBUG'}}}, 'use-vad': False, 'decoder': {'ivector-extraction-config': 'de_400k_nnet3chain_tdnn1f_2048_sp_bi/ivector_extractor/ivector_extractor.conf', 'lattice-beam': 5.0, 'acoustic-scale': 1.0, 'do-endpointing': True, 'beam': 5.0, 'mfcc-config': 'de_400k_nnet3chain_tdnn1f_2048_sp_bi/conf/mfcc_hires.conf', 'traceback-period-in-secs': 0.25, 'nnet-mode': 3, 'endpoint-silence-phones': '1:2:3:4:5:6', 'word-syms': 'de_400k_nnet3chain_tdnn1f_2048_sp_bi/words.txt', 'num-nbest': 10, 'frame-subsampling-factor': 3, 'phone-syms': 'de_400k_nnet3chain_tdnn1f_2048_sp_bi/phones.txt', 'max-active': 10000, 'fst': 'de_400k_nnet3chain_tdnn1f_2048_sp_bi/HCLG.fst', 'use-threaded-decoder': True, 'model': 'de_400k_nnet3chain_tdnn1f_2048_sp_bi/final.mdl', 'chunk-length-in-secs': 0.25}, 'silence-timeout': 15, 'out-dir': 'tmp', 'use-nnet2': True}
2019-04-04 12:14:10 -    INFO:   decoder2: Setting decoder property: nnet-mode = 3
2019-04-04 12:14:10 -    INFO:   decoder2: Setting decoder property: ivector-extraction-config = de_400k_nnet3chain_tdnn1f_2048_sp_bi/ivector_extractor/ivector_extractor.conf
2019-04-04 12:14:10 -    INFO:   decoder2: Setting decoder property: lattice-beam = 5.0
2019-04-04 12:14:10 -    INFO:   decoder2: Setting decoder property: acoustic-scale = 1.0
2019-04-04 12:14:10 -    INFO:   decoder2: Setting decoder property: do-endpointing = True
2019-04-04 12:14:10 -    INFO:   decoder2: Setting decoder property: beam = 5.0
2019-04-04 12:14:10 -    INFO:   decoder2: Setting decoder property: mfcc-config = de_400k_nnet3chain_tdnn1f_2048_sp_bi/conf/mfcc_hires.conf
2019-04-04 12:14:10 -    INFO:   decoder2: Setting decoder property: traceback-period-in-secs = 0.25
2019-04-04 12:14:10 -    INFO:   decoder2: Setting decoder property: endpoint-silence-phones = 1:2:3:4:5:6
2019-04-04 12:14:10 -    INFO:   decoder2: Setting decoder property: word-syms = de_400k_nnet3chain_tdnn1f_2048_sp_bi/words.txt
2019-04-04 12:14:11 -    INFO:   decoder2: Setting decoder property: num-nbest = 10
2019-04-04 12:14:11 -    INFO:   decoder2: Setting decoder property: frame-subsampling-factor = 3
2019-04-04 12:14:11 -    INFO:   decoder2: Setting decoder property: phone-syms = de_400k_nnet3chain_tdnn1f_2048_sp_bi/phones.txt
2019-04-04 12:14:11 -    INFO:   decoder2: Setting decoder property: max-active = 10000
2019-04-04 12:14:11 -    INFO:   decoder2: Setting decoder property: chunk-length-in-secs = 0.25
2019-04-04 12:14:11 -    INFO:   decoder2: Setting decoder property: fst = de_400k_nnet3chain_tdnn1f_2048_sp_bi/HCLG.fst
2019-04-04 12:14:11 -    INFO:   decoder2: Setting decoder property: model = de_400k_nnet3chain_tdnn1f_2048_sp_bi/final.mdl
LOG ([5.5.266~1-77ac7]:CompileLooped():nnet-compile-looped.cc:345) Spent 0.0172811 seconds in looped compilation.
2019-04-04 12:14:12 -    INFO:   decoder2: Created GStreamer elements
2019-04-04 12:14:12 -   DEBUG:   decoder2: Adding <gi.GstAppSrc object at 0x7f723b1385f0 (GstAppSrc at 0x5614e3fa81d0)> to the pipeline
2019-04-04 12:14:12 -   DEBUG:   decoder2: Adding <gi.GstDecodeBin object at 0x7f723b1385a0 (GstDecodeBin at 0x5614e3fb20e0)> to the pipeline
2019-04-04 12:14:12 -   DEBUG:   decoder2: Adding <gi.GstAudioConvert object at 0x7f723b138690 (GstAudioConvert at 0x5614e3fdbb10)> to the pipeline
2019-04-04 12:14:12 -   DEBUG:   decoder2: Adding <gi.GstAudioResample object at 0x7f723b138550 (GstAudioResample at 0x5614e3fdf8a0)> to the pipeline
2019-04-04 12:14:12 -   DEBUG:   decoder2: Adding <gi.GstTee object at 0x7f723b138640 (GstTee at 0x5614e3fe2000)> to the pipeline
2019-04-04 12:14:12 -   DEBUG:   decoder2: Adding <gi.GstQueue object at 0x7f723b138730 (GstQueue at 0x5614e3fe60d0)> to the pipeline
2019-04-04 12:14:12 -   DEBUG:   decoder2: Adding <gi.GstFileSink object at 0x7f723b138780 (GstFileSink at 0x5614e3fec1e0)> to the pipeline
2019-04-04 12:14:12 -   DEBUG:   decoder2: Adding <gi.GstQueue object at 0x7f723b1387d0 (GstQueue at 0x5614e3fe63d0)> to the pipeline
2019-04-04 12:14:12 -   DEBUG:   decoder2: Adding <gi.Gstkaldinnet2onlinedecoder object at 0x7f723b138820 (Gstkaldinnet2onlinedecoder at 0x5614e3fee140)> to the pipeline
2019-04-04 12:14:12 -   DEBUG:   decoder2: Adding <gi.GstFakeSink object at 0x7f723b138870 (GstFakeSink at 0x5614e4028bc0)> to the pipeline
2019-04-04 12:14:12 -    INFO:   decoder2: Linking GStreamer elements
LOG ([5.5.266~1-77ac7]:ComputeDerivedVars():ivector-extractor.cc:183) Computing derived variables for iVector extractor
LOG ([5.5.266~1-77ac7]:ComputeDerivedVars():ivector-extractor.cc:204) Done.
2019-04-04 12:14:12 -    INFO:   decoder2: Setting pipeline to READY
2019-04-04 12:14:12 -    INFO:   decoder2: Set pipeline to READY
2019-04-04 12:14:12 -    INFO:   main: Opening websocket connection to master server
2019-04-04 12:14:12 -    INFO:   main: Opened websocket connection to server
2019-04-04 12:14:31 -   DEBUG:   main: : Got message from server of type <class 'ws4py.messaging.TextMessage'>
2019-04-04 12:14:31 -    INFO:   decoder2: bd36902b-a033-4e0e-8c29-1c7a4b6ec7f9: Initializing request
2019-04-04 12:14:31 -    INFO:   main: bd36902b-a033-4e0e-8c29-1c7a4b6ec7f9: Started timeout guard
2019-04-04 12:14:31 -    INFO:   main: bd36902b-a033-4e0e-8c29-1c7a4b6ec7f9: Initialized request
2019-04-04 12:14:31 -   DEBUG:   main: bd36902b-a033-4e0e-8c29-1c7a4b6ec7f9: Checking that decoder hasn't been silent for more than 15 seconds
2019-04-04 12:14:32 -   DEBUG:   main: bd36902b-a033-4e0e-8c29-1c7a4b6ec7f9: Checking that decoder hasn't been silent for more than 15 seconds
2019-04-04 12:14:33 -   DEBUG:   main: bd36902b-a033-4e0e-8c29-1c7a4b6ec7f9: Checking that decoder hasn't been silent for more than 15 seconds
2019-04-04 12:14:34 -   DEBUG:   main: bd36902b-a033-4e0e-8c29-1c7a4b6ec7f9: Checking that decoder hasn't been silent for more than 15 seconds
2019-04-04 12:14:35 -   DEBUG:   main: bd36902b-a033-4e0e-8c29-1c7a4b6ec7f9: Checking that decoder hasn't been silent for more than 15 seconds
2019-04-04 12:14:36 -   DEBUG:   main: bd36902b-a033-4e0e-8c29-1c7a4b6ec7f9: Checking that decoder hasn't been silent for more than 15 seconds
2019-04-04 12:14:37 -   DEBUG:   main: bd36902b-a033-4e0e-8c29-1c7a4b6ec7f9: Checking that decoder hasn't been silent for more than 15 seconds
2019-04-04 12:14:38 -   DEBUG:   main: bd36902b-a033-4e0e-8c29-1c7a4b6ec7f9: Checking that decoder hasn't been silent for more than 15 seconds
2019-04-04 12:14:39 -   DEBUG:   main: bd36902b-a033-4e0e-8c29-1c7a4b6ec7f9: Checking that decoder hasn't been silent for more than 15 seconds
2019-04-04 12:14:40 -   DEBUG:   main: bd36902b-a033-4e0e-8c29-1c7a4b6ec7f9: Checking that decoder hasn't been silent for more than 15 seconds
2019-04-04 12:14:41 -   DEBUG:   main: bd36902b-a033-4e0e-8c29-1c7a4b6ec7f9: Checking that decoder hasn't been silent for more than 15 seconds
2019-04-04 12:14:42 -   DEBUG:   main: bd36902b-a033-4e0e-8c29-1c7a4b6ec7f9: Checking that decoder hasn't been silent for more than 15 seconds
2019-04-04 12:14:43 -   DEBUG:   main: bd36902b-a033-4e0e-8c29-1c7a4b6ec7f9: Checking that decoder hasn't been silent for more than 15 seconds
2019-04-04 12:14:44 -   DEBUG:   main: bd36902b-a033-4e0e-8c29-1c7a4b6ec7f9: Checking that decoder hasn't been silent for more than 15 seconds
2019-04-04 12:14:45 -   DEBUG:   main: bd36902b-a033-4e0e-8c29-1c7a4b6ec7f9: Checking that decoder hasn't been silent for more than 15 seconds
2019-04-04 12:14:46 - WARNING:   main: bd36902b-a033-4e0e-8c29-1c7a4b6ec7f9: More than 15 seconds from last decoder hypothesis update, cancelling
2019-04-04 12:14:46 -    INFO:   decoder2: bd36902b-a033-4e0e-8c29-1c7a4b6ec7f9: Resetting decoder state
2019-04-04 12:14:46 -   DEBUG:      ws4py: Closing message received (1000) ''
2019-04-04 12:14:46 -   DEBUG:   main: bd36902b-a033-4e0e-8c29-1c7a4b6ec7f9: Websocket closed() called
2019-04-04 12:14:46 -   DEBUG:   main: bd36902b-a033-4e0e-8c29-1c7a4b6ec7f9: Websocket closed() finished
2019-04-04 12:14:47 -    INFO:   main: Opening websocket connection to master server
2019-04-04 12:14:47 -    INFO:   main: Opened websocket connection to server

Try running (stop recording with ctrl+c)
arecord -f S16_LE -r 16000 > speech.wav

And then play it back with a player you now it's working, try VLC for instance:
vlc speech.wav

Does it play the audio you recorded or is it just noise or silence?
If it does have actual recorded audio, does it contain speech? (notice the worker complains about the absence of speech in the error you posted)

Here I have complete and working code for decoding from microphone, python 2 and 3 are supported


Ensure data subdirectory is created whenever enso_project.data is being used

Currently, reading or writing to some file from enso_project.data will result in a missing directory failure if it has not been created explicitly by the user.
As enso_project.data is treated specially, it should be created magically on demand.

@jdunkerley feel free to reassign