GA request for splunk-otel-android

Which GDI repository do you wish to GA?
splunk-otel-android
Does the repository follow the latest tagged minor release in GDI specification?

[x] Has an appropriate maintainers team. - https://github.com/orgs/signalfx/teams/gdi-java-maintainers
[x] Permissions set correctly.
[x] Branch protection in place.
[x] Dependencies appropriately locked down : link.
[x] GitHub Applications set up per spec.
[x] Required Files in place.

[x] CHANGELOG.md
[x] CODE_OF_CONDUCT.md
[x] CONTRIBUTING.md
[x] .github/CODEOWNERS
[x] LICENSE
[x] README.md

[x] Build status badge
[x] Getting started
[x] Troubleshooting
[x] Link to official Splunk docs
[x] License information

[x] SECURITY.md

[x] Releases done to spec. link
[x] Real User Monitoring Library

[x] Documents all supported configuration parameters. link and other link
[x] Documents how to configure manual instrumentation. link to otel
[x] Documents supported instrumentation. it's only okhttp
[x] Documents supported platforms. link

How long has the GDI repository been public?
Approximately 4 months
Is the repository known to be used today?
yes
Is there a date by which this approval is needed?
by the time we GA Mobile RUM
Additional context
none

[1] Application name, authentication token and either realm or the beacon URL MUST be provided by the user.
If any of these is missing, the RUM instrumentation library MUST fail to start.
[2] Implementations MUST enforce by default that beaconEndpoints are https only, and reject/fail to start otherwise.
Implementations MAY offer an unsupported allowInsecureBeacon option (default false) that turns off that check.
[3] If both realm and beaconEndpoint are set, a warning saying that realm will be ignored SHOULD be logged.

[x] Check implemented here

[3] If both realm and beaconEndpoint are set, a warning saying that realm will be ignored SHOULD be logged.

This isn't a requirement, but it also does not look implemented. @jkwatson can you validate if I missed something here?

RUM library MUST use the Zipkin v2 JSON span exporter by default

[x] This looks to be the case: https://github.com/signalfx/splunk-otel-android/blob/141d16fbc29f6b0eb68b18679181fedb82bc9c6f/splunk-otel-android/src/main/java/com/splunk/rum/RumInitializer.java#L221

RUM library MUST limit the number of sent spans to 100 in a 30 second window per component attribute value

[x] Throttling tested here, with defaults here

[2] Implementations MUST enforce by default that beaconEndpoints are https only, and reject/fail to start otherwise.
Implementations MAY offer an unsupported allowInsecureBeacon option (default false) that turns off that check.

❌ I'm not seeing where this is enforced. @jkwatson can you confirm it is implemented?

We don't implement this on Android because it's built in to the way that Android itself works. It's not something that can be done at the library level, but is only done at the application level, which we obviously cannot control.

[2] Implementations MUST enforce by default that beaconEndpoints are https only, and reject/fail to start otherwise.
Implementations MAY offer an unsupported allowInsecureBeacon option (default false) that turns off that check.

x I'm not seeing where this is enforced. @jkwatson can you confirm it is implemented?

We don't implement this on Android because it's built in to the way that Android itself works. It's not something that can be done at the library level, but is only done at the application level, which we obviously cannot control.

Does this mean the specification needs to be updated to say this is a requirement if the system allows this kind of configuration enforcement?

[3] If both realm and beaconEndpoint are set, a warning saying that realm will be ignored SHOULD be logged.

❗ This isn't a requirement, but it also does not look implemented. @jkwatson can you validate if I missed something here?

We haven't implemented this, no. It would be simple to add this warning, though, if you think this is a blocker.

[3] If both realm and beaconEndpoint are set, a warning saying that realm will be ignored SHOULD be logged.

exclamation This isn't a requirement, but it also does not look implemented. @jkwatson can you validate if I missed something here?

We haven't implemented this, no. It would be simple to add this warning, though, if you think this is a blocker.

Not a blocker, but probably a good things to add given it can be added.

[3] If both realm and beaconEndpoint are set, a warning saying that realm will be ignored SHOULD be logged.

exclamation This isn't a requirement, but it also does not look implemented. @jkwatson can you validate if I missed something here?

We haven't implemented this, no. It would be simple to add this warning, though, if you think this is a blocker.

Not a blocker, but probably a good things to add given it can be added.

@mateuszrzeszutek can you take this as an action item?

@flands can you verify the permissions and branch protections please?

SHOULD have Codecov GitHub App configured

I don't see this configured. If I recall correctly, this was not possible for Android, right? <- @jkwatson

SHOULD have Lychee Link Checker GitHub Action configured

Can we add this?

MUST have Jira GitHub App configured

I'm not sure where this is configured. @jkwatson can you verify this was configured?

I also don't know, but @flands told me it was done.

MUST have Jira GitHub App configured

I'm not sure where this is configured. @jkwatson can you verify this was configured?

I also don't know, but @flands told me it was done.

Sounds good :+1:

MUST update all examples in the Splunk OpenTelemetry example repository that depends on the repository to use the latest release.

[x] no examples to update.

All Splunk distributions of OpenTelemetry,

MUST set the following OpenTelemetry resource attributes according to the OpenTelemetry Semantic Conventions:

telemetry.sdk.name
telemetry.sdk.version
telemetry.sdk.language

SHOULD set the following resource attributes when applicable:

telemetry.auto.version

@jkwatson is this done natively in the Java SDK?

All Splunk distributions of OpenTelemetry,

MUST set the following OpenTelemetry resource attributes according to the OpenTelemetry Semantic Conventions:

telemetry.sdk.name
telemetry.sdk.version
telemetry.sdk.language

SHOULD set the following resource attributes when applicable:

telemetry.auto.version

@jkwatson is this done natively in the Java SDK?

Note: this section does not apply to Real User Monitoring libraries, as they do not use the OpenTelemetry Resource.

:facepalm: NVM

SHOULD have Codecov GitHub App configured

I don't see this configured. If I recall correctly, this was not possible for Android, right? <- @jkwatson

I'm not sure if it's possible or not...but I personally have philosophical problems with using it. I'll leave this one to @mateuszrzeszutek and the team to decide if they want to use this as a proxy for test quality.

SHOULD have Lychee Link Checker GitHub Action configured

Can we add this?

I don't no of a reason why not! @mateuszrzeszutek another action item for y'all.

Real User Monitoring (RUM) libraries MUST set the service.name resource attribute to the value of the applicationName
configuration property. This is the only resource attribute that RUM libraries are supposed to set because it's the only one
the Zipkin exporter can understand.

[x] https://github.com/signalfx/splunk-otel-android/blob/141d16fbc29f6b0eb68b18679181fedb82bc9c6f/splunk-otel-android/src/main/java/com/splunk/rum/RumInitializer.java#L192

The following attributes MUST be added to all spans produced by RUM libraries:

Name
Type
Description

app
string
The value of the applicationName property configured in SplunkRum; same as service.name resource attribute.

splunk.rumSessionId
string
The RUM session ID

splunk.rum.version
string
Version of the RUM library

component
string
Name of the instrumentation that produced this span

[x] app https://github.com/signalfx/splunk-otel-android/blob/02c8e16ecef3845294fece799e521c651f7b7cbc/splunk-otel-android/src/main/java/com/splunk/rum/RumAttributeAppender.java#L62
[x] splunk.rumSessionId https://github.com/signalfx/splunk-otel-android/blob/02c8e16ecef3845294fece799e521c651f7b7cbc/splunk-otel-android/src/main/java/com/splunk/rum/RumAttributeAppender.java#L63
[x] splunk.rum.version https://github.com/signalfx/splunk-otel-android/blob/02c8e16ecef3845294fece799e521c651f7b7cbc/splunk-otel-android/src/main/java/com/splunk/rum/RumAttributeAppender.java#L64
[ ] component I found the key defined here, but do not see where it is added to a span outside of an exception. @jkwatson can you confirm this is/isn't added to all spans?

The following attributes MUST be added to all spans produced by RUM libraries:
Name
Type
Description
app
string
The value of the applicationName property configured in SplunkRum; same as service.name resource attribute.
splunk.rumSessionId
string
The RUM session ID
splunk.rum.version
string
Version of the RUM library
component
string
Name of the instrumentation that produced this span

[x]  app https://github.com/signalfx/splunk-otel-android/blob/02c8e16ecef3845294fece799e521c651f7b7cbc/splunk-otel-android/src/main/java/com/splunk/rum/RumAttributeAppender.java#L62
[x]  splunk.rumSessionId https://github.com/signalfx/splunk-otel-android/blob/02c8e16ecef3845294fece799e521c651f7b7cbc/splunk-otel-android/src/main/java/com/splunk/rum/RumAttributeAppender.java#L63
[x]  splunk.rum.version https://github.com/signalfx/splunk-otel-android/blob/02c8e16ecef3845294fece799e521c651f7b7cbc/splunk-otel-android/src/main/java/com/splunk/rum/RumAttributeAppender.java#L64
[ ]  component I found the key defined here, but do not see where it is added to a span outside of an exception. @jkwatson can you confirm this is/isn't added to all spans?

https://github.com/signalfx/splunk-otel-android/search?q=COMPONENT_KEY

Mobile RUM libraries (iOS, Android) MUST add device and system information to all spans:

Name
Type
Description

device.model.name
string
Name of the device

os.type
string
iOS or Android

os.version
string
Version of the OS

[x] device.model.name https://github.com/signalfx/splunk-otel-android/blob/02c8e16ecef3845294fece799e521c651f7b7cbc/splunk-otel-android/src/main/java/com/splunk/rum/RumAttributeAppender.java#L66
[x] os.type https://github.com/signalfx/splunk-otel-android/blob/02c8e16ecef3845294fece799e521c651f7b7cbc/splunk-otel-android/src/main/java/com/splunk/rum/RumAttributeAppender.java#L69
[x] os.version https://github.com/signalfx/splunk-otel-android/blob/02c8e16ecef3845294fece799e521c651f7b7cbc/splunk-otel-android/src/main/java/com/splunk/rum/RumAttributeAppender.java#L70

It's not quite added to all spans (for instance, we don't set it on user-provided spans/events), but all the ones that it's supposed to be set on, it is set on. ;)

SGTM :+1:

Remaining tasks:

[ ] @flands to check permissions and branch protections.
[ ] https://github.com/signalfx/gdi-specification/pull/146

Outstanding "nice to haves"

[ ] https://github.com/signalfx/splunk-otel-android/issues/181
[ ] https://github.com/signalfx/splunk-otel-android/issues/182

#181 has been completed (looks like I can't edit your checklist, @MrAlias )

The RUM configuration is planned to be set to a "Feature Freeze" version, but not release as stable. Because of this we will sign off on the splunk-otel-android repository publishing compliance with the GDI specification for the upcoming version, but it is not going to itself be released as stable given the instability in the configuration specification.
The last things we need to accomplish before we can close this sign off that the repository meets the permissions (@flands) and a new release of the gdi-specification needs to be made.

@flands can you verify the permissions and branch protections please?

Done!

MUST have Jira GitHub App configured

Done!

Now that Release v1.2.0 is out this issue can be closed. The splunk-otel-android repository is authorized to say they are compliant with v1.2.0 of the GDI specification and add a badge to their README saying so (i.e. https://img.shields.io/badge/GDI-1.2.0-blueviolet?style=for-the-badge). However, since the RUM configuration is not yet released as stable (it is waiting on upstream OTel to stabilize), the splunk-otel-android repository is not authorized to make a 1.0.0 stable release.
When the RUM configuration becomes stable a new issue can be created requesting a GA release.


Remove nullOk parameter from Cupertino color resolution APIs

Description
This removes the nullOk parameter from the Cupertino color resolution APIs. It changes the behavior of CupertinoDynamicColor.resolveFrom to not throw if the context does not contain the required dependencies, which was the default (and was only set to throw in a test). This allows a cascade of being able to remove the nullOk parameter from several other APIs, where they didn't actually return nullable values anyhow, it just indicated that the throwing behavior would be enabled if set to false, which was a pretty confusing name.
I'm just trying this out for now to see what breaks.
Related Issues

flutter/flutter#68637

Tests

Updated tests

Breaking Change

[X] Yes, this is a breaking change. If not, delete the remainder of this section.

[ ] I wrote a design doc: https://flutter.dev/go/template Replace this with a link to your design doc's short link
[ ] I got input from the developer relations team, specifically from: Replace with the names of who gave advice
[ ] I wrote a migration guide: https://flutter.dev/go/breaking-changes-template Replace this with a link to a pull request that adds the migration guide to https://flutter.dev/docs/release/breaking-changes

This currently contains the changes also in https://github.com/flutter/flutter/pull/68905 Once that lands, I'll rebase this and take it off of draft status.

Rebased and ready for review now. This does slightly change the mechanics of these functions: specifying nullOk: false to CupertinoDynamicColor.resolveFrom used to throw, but now resolveFrom will always return a value. In our code, nobody was calling it with nullOk equal to false, so I didn't see a reason to create a maybeResolveFrom that returned default trait values and make resolveFrom throw.
Let me know if that seems like a bad idea...


bun + jsx syntax

I don't know how to let bun parse JSX syntax inside *.civet.
I have bunfig.toml setup as described here.
I have this file.
console.log h

When I try to run it with bun init.civet, it says
❯ bun init.civet
1 | console.log(h)
                     ^
error: Syntax Error!!
    at /home/user/meta/www.self/init.civet:1:18

Bun v1.1.15 (Linux x64)

My tsconfig.json is like this:
{
    "compilerOptions": {
        "jsx": "react-jsx",
        "jsxImportSource": "solid-js",
    }
}

this also doesn't work as bunfig.toml
jsx = "react-jsx"
jsxImportSource = "solid-js"
preload = ["@danielx/civet/bun-civet"]

I found civetman + Deno working better :+1:

The original issue seems to be a bug in Bun: https://github.com/oven-sh/bun/issues/4519
It looks like we could work around it using an explicit Transpiler. Probably worth doing until this gets fixed in Bun.


Conflict with [remote "origin"] config in ~/.gitconfig

Hello,
When I try to start a new gem project with jeweler hello-world, I'm greeted with the following message:
Encountered an error while adding origin remote. Maybe you have some weird settings in ~/.gitconfig?
/home/tim/.rvm/gems/ruby-2.2.3/gems/git-1.3.0/lib/git/lib.rb:937:in `command': git '--git-dir=/tmp/hello-world/.git' '--work-tree=/tmp/hello-world' remote 'add' '--' 'origin' 'git@github.com:pixelastic/hello-world.git'  2>&1:fatal: remote origin already exists. (Git::GitExecuteError)
        from /home/tim/.rvm/gems/ruby-2.2.3/gems/git-1.3.0/lib/git/lib.rb:688:in `remote_add'
        from /home/tim/.rvm/gems/ruby-2.2.3/gems/git-1.3.0/lib/git/base.rb:371:in `add_remote'
        from /home/tim/.rvm/gems/ruby-2.2.3/gems/jeweler-2.0.1/lib/jeweler/generator.rb:279:in `block in create_version_control'
        from /home/tim/.rvm/gems/ruby-2.2.3/gems/jeweler-2.0.1/lib/jeweler/generator.rb:258:in `chdir'
        from /home/tim/.rvm/gems/ruby-2.2.3/gems/jeweler-2.0.1/lib/jeweler/generator.rb:258:in `create_version_control'
        from /home/tim/.rvm/gems/ruby-2.2.3/gems/jeweler-2.0.1/lib/jeweler/generator.rb:129:in `run'
        from /home/tim/.rvm/gems/ruby-2.2.3/gems/jeweler-2.0.1/lib/jeweler/generator/application.rb:34:in `run!'
        from /home/tim/.rvm/gems/ruby-2.2.3/gems/jeweler-2.0.1/bin/jeweler:9:in `<top (required)>'
        from /home/tim/.rvm/gems/ruby-2.2.3/bin/jeweler:23:in `load'
        from /home/tim/.rvm/gems/ruby-2.2.3/bin/jeweler:23:in `<main>'
        from /home/tim/.rvm/gems/ruby-2.2.3/bin/ruby_executable_hooks:15:in `eval'
        from /home/tim/.rvm/gems/ruby-2.2.3/bin/ruby_executable_hooks:15:in `<main>'

I do have something related to the origin remote in my ~/.gitconfig:
[remote "origin"]
  prune = true

(This allow auto pruning of deleted remote branches when doing a pull)
Still, jeweler seems to be choking on it because it is trying to create a remote that already exists. Removing the config from my .gitconfig lets me use the gem correctly.
I'm using git v2.8.0.rc1

Thanks for this submission. I will take a look at it shortly.


Couldn't make it work

Hi Im using houdini 16.0.21 and I have this error following all your steps

Error
The sub-network output operator failed to cook: /obj/grid1/pointwrangle1/attribvop1Warning: Errors or warnings encountered during VEX compile:/obj/grid1/pointwrangle1/attribvop1: Unable to include (21,1).Errors or warnings encountered during VEX compile:/obj/grid1/pointwrangle1/attribvop1: Unable to include (21,1).Errors or warnings encountered during VEX compile:/obj/grid1/pointwrangle1/attribvop1: Unable to include (21,1).Errors or warnings encountered during VEX compile:/obj/grid1/pointwrangle1/attribvop1: Unable to include (21,1).Errors or warnings encountered during VEX compile:/obj/grid1/pointwrangle1/attribvop1: Unable to include (21,1).Errors or warnings encountered during VEX compile:/obj/grid1/pointwrangle1/attribvop1: Unable to include (21,1).Errors or warnings encountered during VEX compile:/obj/grid1/pointwrangle1/attribvop1: Unable to include (21,1).Errors or warnings encountered during VEX compile:/obj/grid1/pointwrangle1/attribvop1: Unable to include (21,1).Errors or warnings encountered during VEX compile:/obj/grid1/pointwrangle1/attribvop1: Unable to include (21,1).Error: Vex error: /obj/grid1/pointwrangle1/attribvop1: Unable to include (21,1)Failed to resolve VEX code op:/obj/grid1/pointwrangle1/attribvop1Unable to load shader 'op:/obj/grid1/pointwrangle1/attribvop1'.

Warning
Errors or warnings encountered during VEX compile:/obj/grid1/pointwrangle1/attribvop1: Unable to include (21,1).

Warning
Errors or warnings encountered during VEX compile:/obj/grid1/pointwrangle1/attribvop1: Unable to include (21,1).

Warning
Errors or warnings encountered during VEX compile:/obj/grid1/pointwrangle1/attribvop1: Unable to include (21,1).

Warning
Errors or warnings encountered during VEX compile:/obj/grid1/pointwrangle1/attribvop1: Unable to include (21,1).

Warning
Errors or warnings encountered during VEX compile:/obj/grid1/pointwrangle1/attribvop1: Unable to include (21,1).

Warning
Errors or warnings encountered during VEX compile:/obj/grid1/pointwrangle1/attribvop1: Unable to include (21,1).

Warning
Errors or warnings encountered during VEX compile:/obj/grid1/pointwrangle1/attribvop1: Unable to include (21,1).

Warning
Errors or warnings encountered during VEX compile:/obj/grid1/pointwrangle1/attribvop1: Unable to include (21,1).

Warning
Errors or warnings encountered during VEX compile:/obj/grid1/pointwrangle1/attribvop1: Unable to include (21,1).

Warning
Vex error: /obj/grid1/pointwrangle1/attribvop1: Unable to include (21,1)Failed to resolve VEX code op:/obj/grid1/pointwrangle1/attribvop1Unable to load shader 'op:/obj/grid1/pointwrangle1/attribvop1'

what can I do?
Thank you

Hi @dvdrbls - sorry you're having issues with this, can I ask:

Which OS are you using?
Did you add/edit the HOUDINI_VEX_PATH env variable prior to starting Houdini?

Can you please switch to the "Technical desktop" and type this in the Python shell?
hou.getenv("HOUDINI_VEX_PATH")

Does it return a string which includes the vgen path?

Hi, I'm using windows 10
Python 2.7.5 (default, Nov  6 2016, 12:19:41) [MSC v.1900 64 bit (AMD64)] on win32
Houdini 16.0.621 hou module imported.
Type "help", "copyright", "credits" or "license" for more information.

hou.getenv("HOUDINI_VEX_PATH")
'C:/Users/DELL/vexed-generation/opencl;&;'

this are the lines I added to the Houdini.env
HOUDINI_VEX_PATH = C:\Users\DELL\vexed-generation\opencl;&;
HOUDINI_OCL_PATH = C:\Users\DELL\vexed-generation\vex;&;
and this is the route where the git command put the files C:\Users\DELL\vexed-generation
I'm a novice in Houdini but i really want to make it work
Thanks again

Right in the path was the mistake I made, it is working
Thank you

Oki, phew... :) @dvdrbls would you mind sharing what was wrong with the path? it looked fine to me, but I'm on OSX so maybe there's some Windows thing I should mention in the readme?

It was reversed the order, my bad not yours
bad =  HOUDINI_VEX_PATH = C:\Users\DELL\vexed-generation\opencl;&;
bad = HOUDINI_OCL_PATH = C:\Users\DELL\vexed-generation\vex;&;
HOUDINI_VEX_PATH = C:\Users\DELL\vexed-generation\vex;&;
HOUDINI_OCL_PATH = C:\Users\DELL\vexed-generation\opencl;&;
As you can see it was a pretty simple mistake of mine

Hah! Thanks, indeed that was one of those things too trivial to notice :) Glad it worked. Btw. I will add some more example files in the near future, but be sure to also check this repo: https://github.com/thi-ng/houdini/


Updating Notice.txt with a more recent list of third party libraries.

Through a recent component governance audit we're extending the list of third party libraries used by components in this repository.

Makes sense to me, thanks for doing this! I notice there are a lot of licenses for Microsoft products included in the list -- is that expected? Seems fine, just curious.

Thanks for the review, Ryan. Yes, this is the expectation currently; however, I'll follow up on this to confirm as we automate this process in the future. This is an auto-generated file, produced by a tool.


Cannot compile proc-macro2 v1.4.13

When I try to compile a bindgen project
I get the following errors.
$ cargo +nightly build --target wasm32-unknown-unknown
   Compiling proc-macro2 v0.4.13
error[E0599]: no method named `extend` found for type `&mut proc_macro::TokenStream` in the current scope
   --> /home/matthew/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-0.4.13/src/unstable.rs:170:21
    |
170 |                 tts.extend(
    |                     ^^^^^^

error[E0599]: no method named `extend` found for type `&mut proc_macro::TokenStream` in the current scope
   --> /home/matthew/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-0.4.13/src/unstable.rs:185:21
    |
185 |                 tts.extend(streams.into_iter().map(|stream| stream.unwrap_nightly()))
    |                     ^^^^^^

error[E0599]: no method named `display` found for type `&syntax_pos::FileName` in the current scope
   --> /home/matthew/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-0.4.13/src/unstable.rs:302:52
    |
302 |         let filename = stable::file_name(sf.path().display().to_string());
    |                                                    ^^^^^^^

error: aborting due to 3 previous errors

For more information about this error, try `rustc --explain E0599`.
error: Could not compile `proc-macro2`.

To learn more, run the command again with --verbose.

I have tried this with bindgen at various versions of bindgen in my project and none of them work.
Is this a because of a nghtly change?
Is there something I need to do differently ,or do you need to point to a different version of proc_macro?
Thanks

I encountered this too. Update to the latest Rust nightly and use wasm-bindgen 0.2.17 solve the problem!

The proc-macro2 crate does not support old nightly compilers.


[Search v2.5][Autocomplete][App] Autocomplete: type

Implement this section of the design doc

We're implementing a bunch of these autocomplete issues with a single PR, so I'll remove C+ assigned from all but one issue.


ios: tabsHideOnSubPages should default to true

Short description of the problem:
Currently tabsHideOnSubPages defaults to true in iOS.
What behavior are you expecting?
After inspecting native iOS applications, the bottom tabs always go away when a another page is loaded.
Which Ionic Version? 1.x or 2.x
2.x
Plunker that shows an example of your issue
Run ionic info from terminal/cmd prompt: (paste output below)
Cordova CLI: 6.2.0
Ionic Framework Version: 2.0.0-beta.11
Ionic CLI Version: 2.0.0-beta.36
Ionic App Lib Version: 2.0.0-beta.19
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Mac OS X El Capitan
Node Version: v6.3.0
Xcode version: Xcode 7.3.1 Build version 7D1014

It is a default behavior issue so I don't provide an example. If it is still necessary please let me know.

tabsHideOnSubPages defaults to false for iOS: https://github.com/driftyco/ionic/blob/master/src/config/modes.ts#L42
I'm not able to reproduce this in our local tests. Could you provide a plunker that shows this? Thanks!

@brandyscarney my point is that it should default to true instead of false. Personally I was surprised to see that the tabs would not go away once a page is pushed. Initially I though it was a bug then then I realized it is following the default configuration. It gets really confusing if you have for example 2 tabs, and then one items leads to a deeper page.  I would expect it to show the root of "Tab 1" but instead it kept the state.
http://plnkr.co/edit/OjaOQC?p=preview

Hello @joekukish . Would you mind pointing us to an example of a native ios app that hides tabs when a new page is navigated too? Thanks!

Hello all! As it seems it has been a while since there was any activity on this issue i will be closing it for now. Feel free to comment if you are still running into this issue. Thanks for using Ionic!

@jgw96 i don't have an iOS device at hand to be able to provide you an example. If you do have one I encourage you to check how the toolbar behaves. From what I'm used to, it normally goes away hence the change for the default.

In which app? Looking at the WWDC app (which is an Apple app) and the App Store app this is how they both behave. If you navigate to a subpage inside of a tab and then click the tab again it will navigate back to the root page of the tab, if you click between tabs it keeps track of where you are in the navigation stack of each one, and it always shows the tabs on subpages.


clustermesh: followup on MCS-API not syncing target port

The ServiceImport resource in MCS-API currently doesn't have a targetPort in its port definition and this prevent us to sync target port to the real derived service (to follow up on https://github.com/cilium/cilium/pull/36308#pullrequestreview-2508979607). This issue is to track progress on the Cilium side and make sure we don't forget about it.

Submitted a PR to mcs-api to add the missing field here: https://github.com/kubernetes-sigs/mcs-api/pull/93, if this gets merged we should start using the new version of the ServiceImport CRD and the new field.


image captioning task

hi, peteanderson:
I have paid close attention to you for a long time in the Cross-modal field. And, your bottom-up& top-down work really made greatly improved than other works. According to your paper, i accomplished the top-down algorithm for image captioning. But i could not reproduce your 'CIDER loss'. So i just use the 'cross entropy loss' . If possible, i hope you will put your image captioning code on github.
Wish you will rollout another wonderful article in CVPR 2018.

Closing as a duplicate of https://github.com/peteanderson80/bottom-up-attention/issues/9. We will try to get the captioning model code released.


Icons not working - Calendar, Edit, Close icons

self-explanatory

I encourage you to check out the documentation. There are plenty of live examples with functioning icons. Here is one such example.


When running vagrant up deployment errors out

What happened?
MacOS - 12.2.1
Virtual box - 6.1.32
VB extensions - 6.1.32
Vagrant - 2.2..19
So I was trying to spin up the kuma-demo but I just error out after creating the first VM. There seems no way to ssh to the VM either.  Here is the output from my attempt.
How do I get the VM to run without this erroring out?
Bringing machine 'kuma-control-plane' up with 'virtualbox' provider...
Bringing machine 'redis' up with 'virtualbox' provider...
Bringing machine 'postgresql' up with 'virtualbox' provider...
Bringing machine 'metrics' up with 'virtualbox' provider...
Bringing machine 'backend' up with 'virtualbox' provider...
Bringing machine 'backend-v1' up with 'virtualbox' provider...
Bringing machine 'frontend' up with 'virtualbox' provider...
Bringing machine 'kong' up with 'virtualbox' provider...
==> kuma-control-plane: Checking if box 'ubuntu/trusty64' version '20190514.0.0' is up to date...
==> kuma-control-plane: Clearing any previously set forwarded ports...
==> kuma-control-plane: Clearing any previously set network interfaces...
==> kuma-control-plane: Preparing network interfaces based on configuration...
    kuma-control-plane: Adapter 1: nat
    kuma-control-plane: Adapter 2: hostonly
==> kuma-control-plane: Forwarding ports...
    kuma-control-plane: 22 (guest) => 2222 (host) (adapter 1)
==> kuma-control-plane: Running 'pre-boot' VM customizations...
==> kuma-control-plane: Booting VM...
==> kuma-control-plane: Waiting for machine to boot. This may take a few minutes...
    kuma-control-plane: SSH address: <IP_ADDRESS>:2222
    kuma-control-plane: SSH username: vagrant
    kuma-control-plane: SSH auth method: private key
==> kuma-control-plane: Machine booted and ready!
[kuma-control-plane] A Virtualbox Guest Additions installation was found but no tools to rebuild or start them.
 * Stopping VirtualBox Additions
   ...done.
Reading package lists...
Building dependency tree...
Reading state information...
The following packages were automatically installed and are no longer required:
  acl at-spi2-core colord dconf-gsettings-backend dconf-service fontconfig
  fontconfig-config fonts-dejavu-core hicolor-icon-theme libasound2
  libasound2-data libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatspi2.0-0
  libavahi-client3 libavahi-common-data libavahi-common3 libcairo-gobject2
  libcairo2 libcanberra-gtk3-0 libcanberra-gtk3-module libcanberra0 libcolord1
  libcolorhug1 libcups2 libdatrie1 libdconf1 libdrm-intel1 libdrm-nouveau2
  libdrm-radeon1 libexif12 libfontconfig1 libfontenc1 libgd3
  libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgl1-mesa-dri libgl1-mesa-glx
  libglapi-mesa libgphoto2-6 libgphoto2-l10n libgphoto2-port10 libgraphite2-3
  libgtk-3-0 libgtk-3-bin libgtk-3-common libgudev-1.0-0 libgusb2
  libharfbuzz0b libice6 libieee1284-3 libjasper1 libjbig0 libjpeg-turbo8
  libjpeg8 liblcms2-2 libllvm3.4 libltdl7 libnotify-bin libnotify4 libogg0
  libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpciaccess0
  libpixman-1-0 libsane libsane-common libsm6 libtdb1 libthai-data libthai0
  libtiff5 libtxc-dxtn-s2tc0 libv4l-0 libv4lconvert0 libvorbis0a
  libvorbisfile3 libvpx1 libwayland-client0 libwayland-cursor0 libx11-xcb1
  libxaw7 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0
  libxcb-render0 libxcb-shm0 libxcb-sync1 libxcomposite1 libxcursor1
  libxdamage1 libxfixes3 libxfont1 libxi6 libxinerama1 libxkbcommon0
  libxkbfile1 libxmu6 libxpm4 libxrandr2 libxrender1 libxshmfence1 libxt6
  libxtst6 libxxf86vm1 notification-daemon sound-theme-freedesktop x11-common
  x11-xkb-utils xfonts-base xfonts-encodings xfonts-utils xserver-common
  xserver-xorg-core
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
  virtualbox-guest-dkms* virtualbox-guest-utils* virtualbox-guest-x11*
0 upgraded, 0 newly installed, 3 to remove and 1 not upgraded.
After this operation, 12.2 MB disk space will be freed.
(Reading database ... 69698 files and directories currently installed.)
Removing virtualbox-guest-dkms (4.3.40-dfsg-0ubuntu14.04.1) ...

-------- Uninstall Beginning --------
Module:  virtualbox-guest
Version: 4.3.40
Kernel:  3.13.0-170-generic (x86_64)
-------------------------------------

Status: Before uninstall, this module version was ACTIVE on this kernel.

vboxguest.ko:
 - Uninstallation
   - Deleting from: /lib/modules/3.13.0-170-generic/updates/dkms/
 - Original module
   - No original module was found for this module on this kernel.
   - Use the dkms install command to reinstall any previous module version.

vboxsf.ko:
 - Uninstallation
   - Deleting from: /lib/modules/3.13.0-170-generic/updates/dkms/
 - Original module
   - No original module was found for this module on this kernel.
   - Use the dkms install command to reinstall any previous module version.

vboxvideo.ko:
 - Uninstallation
   - Deleting from: /lib/modules/3.13.0-170-generic/updates/dkms/
 - Original module
   - No original module was found for this module on this kernel.
   - Use the dkms install command to reinstall any previous module version.

depmod.....

DKMS: uninstall completed.

------------------------------
Deleting module version: 4.3.40
completely from the DKMS tree.
------------------------------
Done.
Removing virtualbox-guest-x11 (4.3.40-dfsg-0ubuntu14.04.1) ...
Purging configuration files for virtualbox-guest-x11 (4.3.40-dfsg-0ubuntu14.04.1) ...
Removing virtualbox-guest-utils (4.3.40-dfsg-0ubuntu14.04.1) ...
Purging configuration files for virtualbox-guest-utils (4.3.40-dfsg-0ubuntu14.04.1) ...
Processing triggers for man-db (<IP_ADDRESS>-1ubuntu1) ...
Processing triggers for libc-bin (2.19-0ubuntu6.15) ...
Reading package lists...
Building dependency tree...
Reading state information...
dkms is already the newest version.
linux-headers-3.13.0-170-generic is already the newest version.
The following packages were automatically installed and are no longer required:
  acl at-spi2-core colord dconf-gsettings-backend dconf-service fontconfig
  fontconfig-config fonts-dejavu-core hicolor-icon-theme libasound2
  libasound2-data libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatspi2.0-0
  libavahi-client3 libavahi-common-data libavahi-common3 libcairo-gobject2
  libcairo2 libcanberra-gtk3-0 libcanberra-gtk3-module libcanberra0 libcolord1
  libcolorhug1 libcups2 libdatrie1 libdconf1 libdrm-intel1 libdrm-nouveau2
  libdrm-radeon1 libexif12 libfontconfig1 libfontenc1 libgd3
  libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgl1-mesa-dri libgl1-mesa-glx
  libglapi-mesa libgphoto2-6 libgphoto2-l10n libgphoto2-port10 libgraphite2-3
  libgtk-3-0 libgtk-3-bin libgtk-3-common libgudev-1.0-0 libgusb2
  libharfbuzz0b libice6 libieee1284-3 libjasper1 libjbig0 libjpeg-turbo8
  libjpeg8 liblcms2-2 libllvm3.4 libltdl7 libnotify-bin libnotify4 libogg0
  libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpciaccess0
  libpixman-1-0 libsane libsane-common libsm6 libtdb1 libthai-data libthai0
  libtiff5 libtxc-dxtn-s2tc0 libv4l-0 libv4lconvert0 libvorbis0a
  libvorbisfile3 libvpx1 libwayland-client0 libwayland-cursor0 libx11-xcb1
  libxaw7 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0
  libxcb-render0 libxcb-shm0 libxcb-sync1 libxcomposite1 libxcursor1
  libxdamage1 libxfixes3 libxfont1 libxi6 libxinerama1 libxkbcommon0
  libxkbfile1 libxmu6 libxpm4 libxrandr2 libxrender1 libxshmfence1 libxt6
  libxtst6 libxxf86vm1 notification-daemon sound-theme-freedesktop x11-common
  x11-xkb-utils xfonts-base xfonts-encodings xfonts-utils xserver-common
  xserver-xorg-core
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Copy iso file /Applications/VirtualBox.app/Contents/MacOS/VBoxGuestAdditions.iso into the box /tmp/VBoxGuestAdditions.iso
Mounting Virtualbox Guest Additions ISO to: /mnt
mount: block device /tmp/VBoxGuestAdditions.iso is write-protected, mounting read-only
Installing Virtualbox Guest Additions 6.1.32 - guest version is 4.3.40
Verifying archive integrity... All good.
Uncompressing VirtualBox 6.1.32 Guest Additions for Linux........
VirtualBox Guest Additions installer
Copying additional installer modules ...
Installing additional modules ...
VirtualBox Guest Additions: Starting.
VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernel
modules.  This may take a while.
VirtualBox Guest Additions: To build modules for other installed kernels, run
VirtualBox Guest Additions:   /sbin/rcvboxadd quicksetup <version>
VirtualBox Guest Additions: or
VirtualBox Guest Additions:   /sbin/rcvboxadd quicksetup all
VirtualBox Guest Additions: Building the modules for kernel 3.13.0-170-generic.
 Adding system startup for /etc/init.d/vboxadd ...
   /etc/rc0.d/K90vboxadd -> ../init.d/vboxadd
   /etc/rc1.d/K90vboxadd -> ../init.d/vboxadd
   /etc/rc6.d/K90vboxadd -> ../init.d/vboxadd
   /etc/rc2.d/S10vboxadd -> ../init.d/vboxadd
   /etc/rc3.d/S10vboxadd -> ../init.d/vboxadd
   /etc/rc4.d/S10vboxadd -> ../init.d/vboxadd
   /etc/rc5.d/S10vboxadd -> ../init.d/vboxadd
 Adding system startup for /etc/init.d/vboxadd-service ...
   /etc/rc0.d/K65vboxadd-service -> ../init.d/vboxadd-service
   /etc/rc1.d/K65vboxadd-service -> ../init.d/vboxadd-service
   /etc/rc6.d/K65vboxadd-service -> ../init.d/vboxadd-service
   /etc/rc2.d/S35vboxadd-service -> ../init.d/vboxadd-service
   /etc/rc3.d/S35vboxadd-service -> ../init.d/vboxadd-service
   /etc/rc4.d/S35vboxadd-service -> ../init.d/vboxadd-service
   /etc/rc5.d/S35vboxadd-service -> ../init.d/vboxadd-service
Building the VirtualBox Guest Additions kernel modules.  This may take a while.
To build modules for other installed kernels, run
  /sbin/rcvboxadd quicksetup <version>
or
  /sbin/rcvboxadd quicksetup all
Running kernel modules will not be replaced until the system is restarted
vboxadd-service.sh: Starting VirtualBox Guest Addition service.
VirtualBox Guest Additions: Starting.
VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernel
modules.  This may take a while.
VirtualBox Guest Additions: To build modules for other installed kernels, run
VirtualBox Guest Additions:   /sbin/rcvboxadd quicksetup <version>
VirtualBox Guest Additions: or
VirtualBox Guest Additions:   /sbin/rcvboxadd quicksetup all
VirtualBox Guest Additions: Running kernel modules will not be replaced until
the system is restarted
Unmounting Virtualbox Guest Additions ISO from: /mnt
==> kuma-control-plane: Checking for guest additions in VM...
==> kuma-control-plane: Setting hostname...
==> kuma-control-plane: Configuring and enabling network interfaces...
==> kuma-control-plane: Mounting shared folders...
    kuma-control-plane: /vagrant => /Users/jasmor/Documents/Code/temp/kuma-demo/vagrant
==> kuma-control-plane: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> kuma-control-plane: flag to force provisioning.

The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.

Currently the vagrant demo is not really supported anymore. We're thinking about what could be done to improve this but it's not decided yet. Do you need help running something on Universal?


Implement a way to avoid multiple triples

[ ] - URI1 URI2 BNode1 => BNode1 URI3 URI4

if the same URI4 appears multiple times for the same combi of URI1+URI2 with URI3, the triple has to be rejected (2 hours)

Due my switch to ARC2 as SPARQL backend, there is no need for this issue anymore.


fix: signMessage

Description

Sign message rpc parameters should be in the correct order according to the rpc documentation msg params should always be first
Types of changes
What types of changes does your code introduce?

[ X ] Bugfix (non-breaking change which fixes an issue)

Further comments (optional)

web3auth integration doesn't work anymore without this fix

Thanks for submitting this PR @chichke , This is being reviewed right now. We'll merge it soon.

@chichke Thanks for contributing. I will close this PR since we have checks to change the changelog file too and thats what was missing but as you know already I have another PR waiting to merge hence added those fixes on the signTypedData PR.


test: upgrade cypress to version 10

closes #282

Upgrade to Cypress 10
Fix failing tests in CI
Added assertions to asset test

Code coverage has been broken as part of this, ideally I'd like us to keep the setup if we can

The coverage report should be running now

Created new ticket for the code coverage report not working
https://github.com/vegaprotocol/vegawallet-desktop/issues/285


Adjacency list

Hello, tell me please does it support adjacency list in schema definition?
It looks like in same table, we have parent id, which refers to an id in the same table.
i try'd like this, but something went wrong...
[
  {
    "database": "test-db",
    "index": "test-index",
    "nodes": {
      "table": "table_for_example",
      "schema": "public",
      "columns": [],
      "children" : [
        {
          "table": "table_for_example",
          "relationship": {
            "variant": "object",
            "type": "one_to_many",
            "foreign_key": {
              "child": ["id"],
              "parent": ["parent_id"]
            }
          }
        }
      ]
    }
  }
]

Hi @Lelouch1 ,
I think this comment might help you.

This is not supported yet.
It was also requested here. I am still working on this

@toluaina Thank you, I'll be waiting

@toluaina hi, saw the new release, do you solved the problem? thx:)

I'm afraid this was not solved in the new release.
Its a bit delicate which is why it wasn't done to start with.
I have started working on this as you can see from some of the files commited.

Hi! Discover same error when try to add children from same table. Want to make flat architecture from inheritance with adjacency list
schema
{
	"label": "children",
	"table": "same_table",
	"columns": [
		"id",
		"detail"
	],
	"relationship": {
		"type": "one_to_many",
		"variant": "object",
		"foreign_key": {
			"child": [
				"parent_id"
			],
			"parent": [
				"id"
			]
		}
	}
}

May bee I can help you, if you look at this code fix example:


How to connect database directly?

Sails version: 1.0.2
Node version: 8.11.2
NPM version: 6.1.0
DB adapter name: N/A
DB adapter version: N/A
Operating system: Ubuntu
In my situation, I need to connect different database with user input address, and use normal query like SELECT * FROM to get data back.
How to do this in sails?

fixed.


Duplicate module name error

Description
sometimes the cache files make build failed

and also few files appear at the root after build and I dont konw what's that

Solution
delete react-native-packager-cache-xxxxxxx folder
Additional Information

React Native version: 0.4
Operating System: MacOS

I think this is the same as #12078
Also, the issue may be related to mega issue https://github.com/facebook/react-native/issues/4968


fix hero banner text color

Description
A brief description of the changes and what they address.
Type of Change

[x] Bug fix

Checklist

[x] My code follows the project’s coding style
[x] I have performed a self-review of my code
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have updated the documentation as necessary
[x] My changes generate no new warnings or errors
[x] I have checked my code and corrected any misspellings
[x] Any dependent changes have been merged and published in downstream modules

Related Issues
Link to any related issues or discussion threads.
Additional Information
Any additional context or information that reviewers might need to be aware of.

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


Updating python scripts for new protobufs

With the merge of feature-platform, the protobuf definitions for tracking and imaging output slightly changed: metadata have been moved to a MetaData message. This PR addresses this change. This has to wait #27 to be merged.

Will image_viewer.py need to change as well?

feature-platform has RIed to master. Merging this PR at this time.


Let transport know that TApplicationException is about to be sent

Useful if the transport needs to do something special before sending
those

Reviewed by: jsailor
Would it make more sense for the transport to have TException in general, not just TAE?

Not sure, TAE is the only exception type that is serialized, and so is transparent to the transport layer. With this diff we notify the transport layer about a TAE.
For non-TAE, they are sent to the transport layer as exceptions, so no additional notification is needed

Hmm.
What about in THeaderProtocol.writeMessageBegin when the message has TMessageType.EXCEPTION? I think that handles exactly the things which are currently missing uex/uexw, and gets it for Nifty, Nifty+Swift, and Nifty-fbcode in a single place.

That's interesting, I'll investigate

Well, the bad part is that althougt we can get a notification through writeMessageBegin that a TAE is about to be written, we don't know its value (aka message string). We can't change writeMessageBegin to pass this info (this would require a lot more changes). Do you see a way around this?

I don't see a good way around that. Changes to writeMessageBegin would work, but would be pretty invasive for a relatively niche feature. Another option would be to have THeaderProtocol note that the TMessage is TMessageType.EXCEPTION, and then deserialize the TAE out of the output buffer to get the info at flush time, but that's pretty disgusting.
Possibly adding the "exception thrown by this call" field to the RequestContext would be conceptually cleaner than adding it to the TNiftyTransport? But I don't know off the top of my head if the RequestContext is easily available everywhere we'd need it.
I am (still) fine with landing this series as-is.

OK, will land as is to unblock people. Once the repos are unified, it'll be easier to do cross-project API changes


[idea] Better use of network labels

Something I've been thinking about in the past few days is to manage pygmy.network better. As a result of this change the user experience configuring the services could be dramatically simplified and it would be a much clearer indicator of configuration. The model in fact fits in with other cloud native applications such as Traefik.
This would mean more is contained in the pygmy.* labels and less would be needed to touch other concepts or such as Networks, Resolvers. This change could simplify the user interaction with pygmy.

Got most of this working last night, and I even added some more network tests in one of the jobs.
It's mostly complete except for the one anomaly, like all things Go - a very quick and positive outcome.

Tests on the branch are now passing very nicely - I just need to clean it up and submit a PR.
The additional tests are working nicely 🙂


sched_processtimer: use small lock to protect g_timer_interval and g_timer_tick

Summary
sched_processtimer: use small lock to protect g_timer_interval and g_timer_tick
reason:
We would like to replace the critical section with a small lock.
Impact
sched_processtimer
Testing
ci ostest

[Experimental Bot, please feedback here]
No, this PR does not fully meet the NuttX requirements.  While it provides a summary of the what, it lacks sufficient detail on the why and how.  The Impact and Testing sections are also severely lacking.
Here's a breakdown of what's missing:

Summary:

Missing "Why":  Why is replacing the critical section with a small lock necessary? What problem does it solve?  Performance improvement?  Deadlock avoidance?  Explain the rationale.
Missing "How": What specific changes were made to the code to implement the small lock? Which lock is used? How does this interact with other locking mechanisms?

Impact:

Insufficient Detail: Simply stating "sched_processtimer" is not enough.  Address all the impact points.  At minimum, explain if this impacts users, the build, hardware, documentation, security, or compatibility.  Even if the answer is "NO" for each, explicitly state it.  For example: "Impact on user: NO".

Testing:

Insufficient Detail:  "ci ostest" is not sufficient.  Provide specifics:

Build Host(s): What operating system, CPU architecture, and compiler version were used for building?
Target(s):  What architecture and board/configuration were used for testing?  Was this tested on a simulator or real hardware?
Logs:  The provided log sections are empty. Include actual logs demonstrating the behavior before and after the change.  Show how the change addresses the problem described in the "Why" section of the summary.

In short, the PR needs significantly more detail to be considered complete.  It needs to clearly explain the motivation, implementation, and testing of the change.


Port verano http library

Expected Behavior
Our library ports the design of verano-http, which is better than the current.
Actual Behavior

Mention any other details that might be useful

Steps to reproduce the behavior

The log given by the failure.

solved by dfu398 in #24


explore niwot runoff ratio behavior

try busting down by site instead of domain. might be just 1 or 2 weird glacier effects.

It is most sites at niwot. will need to look at watershed delineations in the near future


DialogFragment and customView

Hi!
You can bring advanced example of creating and working with DialogFragment customView?

Help me, pls!

Pls!

There should be enough in the library and sample to figure it out.


Prevent "update" and "save" events from being fired on deletions

This fix #23 please check that everything works fine before merge
I'm using Laravel 5.4 btw

#24


Create view model

Hi. Why did you close this PR? Shouldn't i review and merge it? What's wrong with it?


Question: Correct usage of a PrismaticJoint (Line Constraint)

Hi William,
due to the fact, that the forum is no longer active I have to use an issue to ask a question about the correct usage of the PrismaticJoint as a Line Constraint.
I have serveral SimulationBody objects arranged on a specific Y level (the bottom side). These objects are also connected via DistanceJoint to maintain a specific distance. After the initialization the bodies will move closer to each other based on the resulting spring-forces. The bodies on that Y level should not rotate (move along the "line").
Please see my picture for the use-case.

I solved it with the following code:
``
protected void initializeWorld()
{
	// no gravity on a top-down view of a billiards game
	this.world.setGravity(World.ZERO_GRAVITY);

	// Setup Layout-Border
	this.setupLayout();

	double xLevelStart = -1.0;
	double yLevelStart = 0.0;

	SimulationBody simulationBodyA = this.createSimulationBody(0.1, 0.2, "1");
	simulationBodyA.translate(new Vector2(xLevelStart, yLevelStart + 0.1));	// Half the height added
	simulationBodyA.setMass(MassType.FIXED_ANGULAR_VELOCITY);
	this.world.addBody(simulationBodyA);

	// Create SimulationBodyB
	SimulationBody simulationBodyB = this.createSimulationBody(0.2, 0.4, "2");
	simulationBodyB.translate(new Vector2(xLevelStart * -1, yLevelStart + 0.2)); // Half the height added
	simulationBodyB.setMass(MassType.FIXED_ANGULAR_VELOCITY);
	this.world.addBody(simulationBodyB);

	// Create a DistanceJoint
	DistanceJoint distanceJoint = new DistanceJoint(simulationBodyA, simulationBodyB, new Vector2(simulationBodyA.getWorldCenter().x, yLevelStart), new Vector2(simulationBodyB.getWorldCenter().x, yLevelStart));
	distanceJoint.setCollisionAllowed(true);
	distanceJoint.setDistance(0.5);
	distanceJoint.setDampingRatio(0.5);
	distanceJoint.setFrequency(0.9);
	this.world.addJoint(distanceJoint);
}

``
The result you can see on that picture.

But this is more or less a work-around in my opinion.
How is it possible to setup a constraint (I guess I have to use the PrismaticJoint) so that the bodies are only allowed to move along a defined line?
See for example the picture below.

Are there some conditions I have to meet to make the same behaviour possible with the PrismaticJoint? Because I get some strange behaviours when I set the WorldAnchorPoint vector and the Axis vector.
I hope you can understand my question. Otherwise I try to rephrase it.
Thanks in advance,
Carsten

I think I understand the question and you are in the correct place.
The PrismaticJoint does indeed restrict rotation and linear movement along the axis of the two joined bodies.  Don’t forget that you can have multiple joints joining the same pair of bodies as well.
The special mass types are meant to be used, but it is possible that they have unintended consequences.
If you can give more details about the problem you are having with creating the PrismaticJoint, we can help.

Hi William,
thank you for your reply.
I had a wrong assumption about how to use the PrismaticJoint.
For my specific topic I introduced an additional SimulationBody with MassType.INFINITE as a reference.
With that one I can create my "Y-level" (line) constraint.

In the picture above the 3 lower bodies should be on the same line (exactly what they are doing).
The upper 2 bodies should be side-by-side regardless their rotation (exactly what they are doing).
Everything is now clear for me.
Thank you for your tip with the multiple joints :)
Regards,
Carsten


fix: type export errors

Motivation
fixed babel typescript transpile error for Props type exports (#969, #945):
./node_modules/react-native-tab-view/lib/module/index.js
"export 'Props' (reexported as 'TabBarProps') was not found in './TabBar'

This is mainly caused by a well-known babel typescript transform limit that it can not tell types from values, see babel/babel#8361
Change summary

added isolatedModules:true in tsconfig.json so typescript will prevent such problem going forward
refactor the index.ts to explicitly export Props as types.

Test plan
the example now worked

Motivation
fixed babel typescript transpile error for Props type exports (#969, #945):
./node_modules/react-native-tab-view/lib/module/index.js
"export 'Props' (reexported as 'TabBarProps') was not found in './TabBar'

This is mainly caused by a well-known babel typescript transform limit that it can not tell types from values, see babel/babel#8361
Change summary

added isolatedModules:true in tsconfig.json so typescript will prevent such problem going forward
refactor the index.ts to explicitly export Props as types.

Test plan
the example now worked

same issue I am facing

Thanks a lot for the PR.


popup error

i downloaded anaconda to work on a project and installing it with all of its python resources messed up edgeware. Presumably its because I downloaded 3.12, and the popup code breaks down for that
(Traceback (most recent call last):
File "C:\Users------\Downloads\EdgewarePlusPlus-main1\EdgewarePlusPlus-main\EdgeWare\subprocesses\popup.pyw", line 73, in
MOOD_ID = SYS_ARGS[0].strip("-")
IndexError: list index out of range is the error)
I tried using python 3.10 but that one doesn't seem to work at all, nothing shows up. Dont use python to make programs like this myself so I don't understand what exactly went wrong when I downloaded anaconda, and I don't have the context to figure out this error

i take it back, even when i use versions where the opup file works, using the start file still doesnt bring up the popups, it just changes my wallpaper

I think the latest update to Edgeware just broke it. It hasn't worked for me either


update source upload to use license var

Currently, if you provide a source code file it is uploaded using the "MIT" license slug, regardless of what license was provided in the configuration
This change updates the source code uploader to use the same license variable used by client.createVersion
Changelog
Bug Fixes

upload source code under addon license

Would be nice, if this could get merged :)

@ueokande マージください

Thanks, it will be releases at v0.1.4!!

@kheina want to try doing another release of BlueBlocker for Firefox now that this is merged?


Resolve manual imports with PathCache.resolvers

Manual imports was overlooked a while ago when PathCache was added. Now with PathCache manual imports can be found like any other import and their dependencies can found and their path cached as well.

Implementing my thoughts from #50. @11111000000 Can you let me know if this solves #45 for you or if not what is not working?

:+1: nice


add metric endpoint

PR Template:
Describe your changes
/metrics endpoint
enable metrics middleware

...

Ticket reference (if applicable)
Fixes #
Checklist

[ ] Are the agreed upon acceptance criteria fulfilled?

[ ] Was the 4-eye-principle applied? (async PR review, pairing, ensembling)

[ ] Do your changes have passing automated tests and sufficient observability?

[ ] Are the work steps you introduced repeatable by others, either through automation or documentation?

[ ] If automation is possible but not done due to other constraints, a ticket to the tech debt sprint is added
[ ] An SOP (Standard Operating Procedure) was created

[ ] The Changes were automatically built, tested, and  - if needed, behind a feature flag - deployed to our production environment. (Please check this when the new deployment is done and you could verify it.)

[ ] Are the agreed upon coding/architectural practices applied?

[ ] Are security needs fullfilled? (e.g. no internal URL)

[ ] Is the corresponding Ticket in the right state? (should be on "review" now, put to done when this change made it to production)

[ ] For changes to the public API / code dependencies: Was the whole team (or a sufficient amount of ppl) able to review?

COVERED IN PR: https://github.com/project-kessel/inventory-api/pull/95


have different layout for different modules

How can I have different layout for different modules?

@h4m3d66 can you explain a little more about what layout are you taking about for different modules?

I have separate module for each section of my web application, for example one module for user account, one module for shopping,... I want each module have its own layout. How I can do that?

@h4m3d66 If you are looking to achieve different layouts such as different navigations etc I would suggest looking into https://docs.google.com/presentation/d/1o1zbqxe-Fn4IdGRYeVGFNQb1PSiOpjXvIsNHRC7Bk1w/edit. this explains one way to achieve this. Since each module has different navigations, you could achieve something similar by providing different components based on the route you are on.

from @asadsahi  link,
we did something similar to

Each route that gets loaded into the router outlet is a different module for us. We actually are taking each module and putting it into its own scoped (private) npm package for our different areas of our business. (Accouting, Logistics, ...) These modules for us are in a since, their own applications.

I want some module have completely different layout(master page) not just its main content, for example in some module I dont want left nav and I want right nav or I dont want have left nav or right nav at all.

@h4m3d66 link I sent of slides have demo links at the bottom as well. Have you looked at it?
What you are trying to achieve sounds similar to what Alex from angular core team mentioned in his presentation, that you can build dynamic views for different routes.

closing as this is outside scope of this project.


Adding JS test instructions to readme

Adding info to README about running Javascript tests

Coverage remained the same at 100.0% when pulling ff06adcb54bf2e59aed5d2849b4a6971b088fec8 on js-tests-readme into d087101e24b4739ceb8c589f161a66496f9f551c on master.


MapHub exception "Type T contains generic parameters"

I'm getting "Type T contains generic parameters" exception when trying to register a hub with generic method and parameter T. Using Microsoft.Azure.SignalR 1.0.4 and Microsoft.AspNetCore.SignalR 1.0.4 . Is there any way to use generic methods in the hub?

Could you give an example how did you use generic method.
I tried the code below
public class Chat<T> : Hub
{
     public void BroadcastMessage(string name, T message)
     {
         Clients.All.SendAsync("broadcastMessage", name, message);
     }
}
public class Person
{
     public string Name { get; set; }
}

And register with
app.UseAzureSignalR(routes =>
            {
                routes.MapHub<Chat<Person>>("/chat");
            });

And seems it doesn't throw exceptions

I'm trying to use generic method
public class Chat : Hub {      public void BroadcastMessage<T>(string name, T message)      {          Clients.All.SendAsync("broadcastMessage", name, message);      } }

Closing this as it sounds like a SignalR issue.


[Feature Request] allow to pass react fragments or insert react nodes between list items

Currently it's impossible to use react-swipeable-list with fragments because it breaks and actions does not work.

@VityaSchel Please provide any code snippet you would like to use.

I had the same issue, I have an UI where every swipable item has a title.
Something like that:

I tried wrapping the item in a
 but it broke the swipe functionality, after looking at the source code I created the <SwipableListItemProxy /> component:
import { Children, ReactNode, cloneElement } from 'react'

export type SwipableListItemProxyProps = {
  header?: ReactNode
  footer?: ReactNode
  children: ReactNode
} & Record<string, any>

export function SwipableListItemProxy({
  children,
  header,
  footer,
  ...props
}: SwipableListItemProxyProps) {
  return (
    <>
      {header}
      {Children.map(children, (child, index) =>
        cloneElement(child as any, {
          ...props,
        })
      )}
      {footer}
    </>
  )
}

Now I can use it like that:
<SwipeableList type={ListType.IOS}>
  <SwipableListItemProxy header={
My Header
}>
    <SwipeableListItem>...</SwipeableListItem>
  </SwipableListItemProxy>
</SwipeableList>

It's far from perfect, I don't like the component name nor the props, but it's easily customizable to suit other needs.

Hey, I was wondering if is there any workaround for this issue?
I'm struggling to implement this library along with dnd-kit/sortable.
When I tried to wrap the list items between fragments I encountered this error.

Hey, I was wondering if is there any workaround for this issue?
I'm struggling to implement this library along with dnd-kit/sortable. When I tried to wrap the list items between fragments I encountered this error.

Did you try with my solution?

Hey @it-nalon. Yes I tried to use your code as a template but I couldn't make it work for my case.
I have to mention that I'm still learning and it was my first time trying to extend a library by my own.


http://fm.smartgrad.co.uk/  Server Error || 500

I follow all the instructions from here https://s-cart.org/docs/3.0/installation.html but I found the end of the installation is server error | 500 .
how to resolve it ?
i get error
ErrorException
Trying to get property 'code' of non-object
when I set debug true in inv file.

Error not reading template folder. How to install automatically or manually?

composer. i got the error and fix it.


Add types-PyYaml

Please add the following dependency to the rosdep database.
Package name:
types-pyyaml
Package Upstream Source:
https://github.com/python/typeshed
Purpose of using this:
In the process of accomplishing https://github.com/ros2/rclpy/issues/1257 we need the types for pyyaml being used for mypy support.
The source is here:
https://pypi.org/project/types-PyYAML/

Ah ok. I should be able to switch it to the python3-typeshed apt package. However that will install slighty more stuff and only exist on ubuntu 22+

It looks like mypy on Debian, Ubuntu, and Fedora doesn't actually use a discrete "typeshed" package even if available, and rather bundles typeshed as mypy.typeshed. Would it be possible to use that instead, since your long-term goal is to use mypy anyway?

The CI is failing because python3-typeshed doesn't exist on Ubuntu 20. Should I disable it for that older version? And if so how?

It looks like mypy on Debian, Ubuntu, and Fedora doesn't actually use a discrete "typeshed" package even if available, and rather bundles typeshed as mypy.typeshed. Would it be possible to use that instead, since your long-term goal is to use mypy anyway?

From what I can tell mypy.typeshed only has stdlib types and not typeshed's stubs folders. From testing this without installing python3-typeshed or types-pyyaml mypy raises the following.
src/rclpy/rclpy/rclpy/parameter.py:27: error: Library stubs not installed for "yaml"  [import-untyped]
src/rclpy/rclpy/rclpy/parameter.py:27: note: Hint: "python3 -m pip install types-PyYAML"


[BUG] No matching distribution found for triton==1.0.0

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
$ git clone https://github.com/microsoft/DeepSpeed
$ cd DeepSpeed
$ DS_BUILD_CPU_ADAM=1 DS_BUILD_UTILS=1 pip install -e . --global-option="build_ext" --global-option="-j8" --no-cache -v --disable-pip-version-check
[...]
ERROR: Could not find a version that satisfies the requirement triton==1.0.0 (from deepspeed) (from versions: 0.1, 0.1.1, 0.1.2, 0.1.3, 0.2.0, 0.2.1, 0.2.2, 0.2.3, 0.3.0)
ERROR: No matching distribution found for triton==1.0.0

Once I manually do:
pip install triton==1.0.0

it then works.
Not sure why the manual build doesn't take care of figuring out the requirements.
@jeffra

@stas00, I actually came across this problem myself earlier this month but for a different package. I can describe the full problem if you want, but I think the problem I encountered has a slightly different cause.
Looking at triton, I can see that the most recent version to have a source distribution is 0.3.0, which is also the most recent version that pip found for you. From what I can tell, pip does not appear to show versions that are unavailable for an specific platform. For example:
# On x86_64 macOS 11:
$ pip index versions triton
triton (0.3.0)
Available versions: 0.3.0, 0.2.3, 0.2.2, 0.2.1, 0.2.0, 0.1.3, 0.1.2, 0.1.1, 0.1
# On x86_64 CentOS 7:
$ pip index versions triton
triton (1.1.1)
Available versions: 1.1.1, 1.1.0, 1.0.0, 0.4.2, 0.4.1, 0.3.0, 0.2.3, 0.2.2, 0.2.1, 0.2.0, 0.1.3, 0.1.2, 0.1.1, 0.1
  INSTALLED: 1.0.0
  LATEST:    1.1.1

Versions of Triton past 0.3.0 only have manylinux2014 x86_64 wheels on PyPI. I'm guessing you're experiencing these errors on a different platform than that?

pip finally added index - yay!
I think it's something else here, since I do see 1.0.0 on JeanZay:
pip index versions triton
WARNING: pip index is currently an experimental command. It may be removed/changed in a future release without prior warning.
triton (1.1.1)
Available versions: 1.1.1, 1.1.0, 1.0.0, 0.4.2, 0.4.1, 0.3.0, 0.2.3, 0.2.2, 0.2.1, 0.2.0, 0.1.3, 0.1.2, 0.1.1, 0.1
  INSTALLED: 1.0.0
  LATEST:    1.1.1

but during manual build for some reason it sees only some of those:
$ DS_BUILD_CPU_ADAM=1 DS_BUILD_UTILS=1 pip install -e . --global-option="build_ext" --global-option="-j8" --no-cache -v --disable-pip-version-check
[...]
ERROR: Could not find a version that satisfies the requirement triton==1.0.0 (from deepspeed) (from versions: 0.1, 0.1.1, 0.1.2, 0.1.3, 0.2.0, 0.2.1, 0.2.2, 0.2.3, 0.3.0)

and I can install:
pip install triton==1.0.0

so what it looks like is that perhaps when pip install is called it calls setup.py and it somehow doesn't see the latter versions. As you're saying it's some sort of wheel category filter that as you showed in the output you shared.

Super interesting, thanks @aphedges and @stas00 for context here.
@stas00, from a Big Science perspective I think this latest PR #1727 should resolve the issue for you guys. We also were running into this strange triton install issue on one of our nodes internally. Due to your issue and ours we reverted Sparse Attention (which requires triton) to be manually added add install time. Since Big Science isn't even using Sparse Attention you shouldn't need to install triton anyway.

I figured it out. It's a bug in pip's --global-option see: https://github.com/pypa/pip/issues/4118 which they aren't going to fix - it was reported in 2016!

How I discovered it:

changed the build command to -vv:

DS_BUILD_UTILS=1 pip install -e . --global-option="build_ext" --global-option="-j8" -vv

which gave the detailed log, which included:
  Skipping link: No binaries permitted for triton: https://files.pythonhosted.org/packages/ab/28/dbc3f95650b6c97d36e70a4e678796ea342ccdd98cf9adf4f840fd932b82/triton-1.1.2.dev20220106-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=185afa64d0165655fe76c73a948899fe994b937dfc2feb26dcc22408c669e133 (from https://pypi.org/simple/triton/)
[...]

which I then looked up: 'Skipping link: No binaries permitted' and found the bug report from 2016.

So in details when using --global-option it skips the binary wheels.
We probably should document this to install the dependency manually?
$ grep -Ir global-option .
./DeepSpeedExamples/Megatron-LM/docker/Dockerfile:pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" .
./DeepSpeedExamples/MoQ/huggingface-transformers/docker/transformers-pytorch-gpu/Dockerfile:    pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./
./DeepSpeedExamples/MoQ/huggingface-transformers/docker/transformers-gpu/Dockerfile:    pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./
./DeepSpeedExamples/inference/huggingface/transformers/docker/transformers-pytorch-gpu/Dockerfile:    pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./
./DeepSpeedExamples/inference/huggingface/transformers/docker/transformers-gpu/Dockerfile:    pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./
./DeepSpeedExamples/inference/huggingface/transformers/docs/source/main_classes/trainer.rst:    --global-option="build_ext" --global-option="-j8" --no-cache -v \

@stas00, that's interesting! I was not aware of the --global-option parameter, but I can easily see how --global-option="-j8" can speed installation up. Building has always been slow for me (~15 minutes per install), which makes trying out different versions annoying. What the --global-option="build_ext" does is less apparent, but I can see from setup.py that it's part of distutils.
I've never actually compiled DeepSpeed with either of these options. I wonder if the lack of --global-option="build_ext" has caused any problems for me.

it's an equivalent of make -j8 - so yes, I specifically use it to speed things up - you can actually pass just -j and it'll use all your cores.
I wish apex had something of a sort, it takes forever to build. But it appears that one needs to instrument setup.py to use and it doesn't just work out of the box.
The latter enables: setup.py build_ext which is what makes it prebuild deepspeed.
So what you're doing is:
python setup.py build_ext -j8

but getting pip to do it for you as part of its install.
You can install pip install deepspeed and then it'll build the cuda kernels the first time they are needed, which something can cause problems, and manual pre-building is the easiest way to deal with that then. I use the latter most of the time out of habit now.

I forgot it was from make! I knew -j was from somewhere, but I did not remember where.
I was unaware that it's essentially calling python setup.py build_ext, which is now deprecated to call directly. I wonder if --global-option="build_ext" is also considered deprecated as well. I'm very far from a distutils/setuptools expert, though.
I always compile with DS_BUILD_OPS=1, and it seems to completely avoid JIT usage. I don't think I've had anything stored under ~/.cache/torch_extensions/ when compiling this way. I guess that if all the ops are compiled, the JIT never needs to be activated.

I was unaware that it's essentially calling python setup.py build_ext, which is now deprecated to call directly. I wonder if --global-option="build_ext" is also considered deprecated as well. I'm very far from a distutils/setuptools expert, though.

If it is then what is the modern way and such that allows parallel builds?
Ninja isn't great here since it doesn't parallelize small project builds. But it's used for JIT build of pytorch CUDA extensions. e.g. see here my attempts to speed up Megatron-Lm which has just 4 cuda kernels and barely 2 files each https://github.com/pytorch/pytorch/issues/68923,

I always compile with DS_BUILD_OPS=1, and it seems to completely avoid JIT usage. I don't think I've had anything stored under ~/.cache/torch_extensions/ when compiling this way. I guess that if all the ops are compiled, the JIT never needs to be activated.

That's right. That's actually the main reason I prebuild as I have many cuda envs with different pytorch builds. Now I remember why !

I don't know what to do instead. From a very short search, the best I can find is https://discuss.python.org/t/the-difference-between-python-setup-py-build-ext-i-and-pip-install-e/3716/12 and https://github.com/pypa/setuptools/issues/3025. At least the deprecation period should be long enough for a replacement to be made.
I was unaware of those details of Ninja. I haven't written any CUDA code myself, so I've mostly managed to avoid learning the details of CUDA build systems. Good to know about its performance, though.

BTW, I run into this problem everywhere with pre-build, so it's not JeanZay-specific.

@aphedges, I am actually not at all sure build_ext is deprecated, This just seems to be one person's opinion in one thread and I can't find any official support to that statement. If you look at the latest python docs, they promote using build_ext:

https://docs.python.org/3/distutils/configfile.html
https://docs.python.org/3/distutils/setupscript.html

I did find this discussion https://news.ycombinator.com/item?id=26159509 where the key phrase is:

The entire distutils package is deprecated, to be removed in Python 3.12.

But! It'll take years before deepspeed will be able to drop support for python 3.6, so why worry about python 3.12. Even if python 3.12 removes distutils they will make them available as a 3rd party package to support projects that rely on those tools and can't cut-off older python versions.
And given that they provide ziltch docs on how to replace build_ext we can safely ignore this for quite some time.

Since https://github.com/microsoft/DeepSpeed/pull/1727 dealt with this issue I'm closing this.
Thank you Alex and Jeff!


The package needs a license

Since it's merely a syntax extension that works on compile-time, any popular open-source license (MIT, GPL, LGPL, etc) will do fine. Just make it explicit.

Indeed, I forgot to add the license files, thanks


Add Elm linting via elm-make

Adds linting for Elm files using elm-make.
The process is similar to how elm-vim setup the Syntastic linter.

Looks like this should be changed to use the stdin wrapper. I'll look into that change tonight.

I haven't run it myself, but it looks good to me. :+1: Cheers! :beers:


Answer an FAQ: How to add links?

I have added a FAQ section to the user guide. Your assistance with this is greatly appreciated.

https://github.com/sinaatalay/rendercv/discussions/22


Copy should give me the same action regardless of how I execute it

Whether I use copy:

via the Edit menu
via the context menu
via hitting Ctrl-C

I should get exactly the same action and exactly the same behaviour.
The same presumably applies to things like Cut, Paste, ...
I had reported an issue with Copy in the Hex Editor extension which exposes dramatically different behaviour between Ctrl-C and Copy via the context menu.
I don't know what the fix looks like, because I don't know the application architecture, but letting extensions override Ctrl-C sounds like a bad idea to me and a good start to normalising this. Extensions should be able to override the context which gets copied, when the action is performed.

Duplicate of #141080


The webpage displays incorrectly when deploying with a new created account

OS: Win10
Build Version: 20200917.13
Repro Steps:

F1 --> Click  "Deploy to Static Website via Azure Storage…" --> Select the folder --> Select the subscription --> Select "+Create new Storage Account..." --> Enter a name --> Press Enter.
Browser the website after finishing deployment.

Expect:
The webpage displays correctly.
Actual:
The webpage displays incorrectly.

More Info:

This issue also reproduces when executing "Deploy to Static Website via Azure Storage…" command from Explorer.
This issue doesn't reproduce when Click the "Deploy to Static Website via Azure Storage…" button.
This issue will be fixed after refreshing the webpage.

Since this is fixed by a refresh, this seems like a timing issue.  We don't know how long we would have to delay to guarantee it works.  Regarding More Info 1&2, it probably is just a timing issue and could reproduce/not reproduce on both.
Anyway, one possible fix is to ping the site first and make sure it is not reporting 404 before we say that it is finished.

This issue has become stale and is at risk of being closed. The community has 60 days to upvote the issue. If it receives 5 upvotes we will keep it open and take another look. If not, we will close it. To learn more about how we handle issues, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this issue has received less than 5 community upvotes and we closed it. Still a big Thank You to you for taking the time to create it! To learn more about how we handle issues, please see our documentation.
Happy Coding!


InteractBlockEvent.Secondary Fires Twice

A listener that I have for InteractBlockEvent.Secondary appears to be triggered twice consecutively when right clicking a block with an item in hand that isn't a block (ie. Sword, fist, stick, etc.). I've tested this using both the recommended Sponge Vanilla build 1.12.2-7.1.0-BETA 59, as well as 1.12.2-7.1.0-BETA93. I'm not certain if this is intentional, but it doesn't seem as though it would be.

Primary and offhand are fired one after another with secondary clicks. Check the hand available, or the string class of the event ;) This is and implementation requirement due to mechanics/mods. @bloodmc I think can explain a little better.

@gabizou Further down in my code, I do check the hand type, and when my "tool" is being used, that also has double output every time. I've also tried listening to the InteractBlockEvent.Secondary.Main, and that also fires two times. Am I doing something wrong?
https://pastebin.com/0uwJGtxg

Becuase of uncertainty, I went ahead and double-checked by changing the listener event to InteractBlockEvent.Secondary.MainHand, and it is still giving double output when secondary clicking on blocks with a non-block item in hand. Do note, I also have an event for primary interactions, which behaves as expected, only outputting one message (unless of course primary click is held down).

@gabizou Nevermind. I built an updated jar after changing the listener event to InteractBlockEvent.Secondary.MainHand, but then dragged the wrong Jar into my server. That was the cause of the 'issue', the two different sub-events.
I appreciate all of your help.


Contradictory axioms

The axioms (logical axioms) are contradictory. This should be addressed, or formalised to allow us to have a precise specification for the system.

This is currently under discussion by the team. Once resolved, we will update the documentation to clarify the behaviour, whether it is changed or not.


error adding the datasource using Aurora

Note: If your issue/bug is regarding the AWS Amplify Console service, please log it in the
Amplify Console GitHub Issue Tracker

Describe the bug
I am trying to config Appsync with Aurora per https://aws-amplify.github.io/docs/cli-toolchain/graphql#relational-databases
Amplify CLI Version
You can use amplify -v to check the amplify cli version on your system
amplify -v
4.13.4
To Reproduce
Steps to reproduce the behavior or terminal output if applicable
deploy Aurora per the guide (serverless in us-east-1)
amplify init
amplify api add-graphql-datasource
Expected behavior
Data source aurora added and run amplify push
Instead, I got
amplify api add-graphql-datasource
Using datasource: Aurora Serverless, provided by: awscloudformation
? Provide the region in which your cluster is located: us-east-1
? Select the Aurora Serverless cluster that will be used as the data source for your API: migrationdb
✔ Fetched Aurora Serverless cluster.
? Select the database to use as the datasource: palletdb
GraphQLError: Syntax Error: Unexpected <EOF>
    at syntaxError (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/graphql/error/syntaxError.js:15:10)
    at Parser.unexpected (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/graphql/language/parser.js:1463:41)
    at Parser.parseDefinition (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/graphql/language/parser.js:157:16)
    at Parser.many (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/graphql/language/parser.js:1518:26)
    at Parser.parseDocument (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/graphql/language/parser.js:111:25)
    at Object.parse (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/graphql/language/parser.js:36:17)
    at /usr/local/lib/node_modules/@aws-amplify/cli/node_modules/amplify-category-api/commands/api/add-graphql-datasource.js:111:46
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at Object.executeAmplifyCommand (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/amplify-category-api/index.js:176:3)
    at executePluginModuleCommand (/usr/local/lib/node_modules/@aws-amplify/cli/src/execution-manager.ts:56:7)
There was an error adding the datasource

Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: Mac
Node Version. You can use node -v to check the node version on your system
pallet]$node -v
v13.8.0

Additional context
Add any other context about the problem here.

@yahavb after init you need to run amplify add api before adding the RDS datasource. Please try adding the api first and trying again

@nikhname in our case, when we run amplify init we have a json file that includes all the components to add under /amplify/backend that includes (among other things)
    "api": {
        "AppSync": {
            "service": "AppSync",
            "providerPlugin": "awscloudformation",
            "output": {
                "authConfig": {
                    "additionalAuthenticationProviders": [],
                    "defaultAuthentication": {
                        "authenticationType": "AWS_IAM"
                    }
                }
            },
            "rdsInit": true
        }
    },

Moreover amplify status before I try to add the datasource:
Current Environment: ybmigratio

| Category  | Resource name           | Operation | Provider plugin   |
| --------- | ----------------------- | --------- | ----------------- |
| Auth      | Cognito                 | Create    | awscloudformation |
| Analytics | Pinpoint                | Create    | awscloudformation |
| Api       | AppSync                 | Create    | awscloudformation |
| Storage   | S3UserContent           | Create    | awscloudformation |
| Function  | LambdaCategory          | Create    | awscloudformation |
| Function  | LambdaProject           | Create    | awscloudformation |
| Function  | CognitoCustomMessage    | Create    | awscloudformation |
| Function  | CognitoPostConfirmation | Create    | awscloudformation |

I suspect add-graphql-datasource does not like the SQL schema when it compare it with the existing GQL schema listed in /amplify/backend/api/AppSync/schema/*..graphql
It will be very helpful if the errors will be more descriptive.

Thanks for clarifying, this is a bug and a duplicate of https://github.com/aws-amplify/amplify-cli/issues/3082. We will also work on adding more descriptive error messages when addressing this.

@nikhname any idea when we can use Aurora as documented instead of DynamoDB?


Provide methods to wait for all handlers to finish

Users want to easily await (or ignore) all their remaining handlers when they continue as new or exit the workflow.  Since we can't tell what they want, they should specify.

Solved as part of #294 with an all-handlers-finished property


replacing server & client sockets with socket_holder containing ipv4 & ipv6 sockets

Functionality:

Server & Client can specify any valid address and netcode_client/server_create_internal will create both 1 ipv4 & 1 ipv6 sockets. Client & Server dynamically select correct socket.

Change Log:

netcode_client/server_create_overload allows binding of 1 ipv4 & 1 ipv6 socket based on passed address.
Any client/ server socket interactions are flagged against the to or from address to dynamically select the socket matching the address protocol.
=======
netcode_client_t socket was encapsulated in netcode_socket_holder_t <- contains 2 sockets
netcode_socket_create -> netcode_socket_create_internal (renamed)

new test suite (4 cases): test_client_create
new test suite (4 cases): test_server_create
new test suite (4 cases): test_client_server_ipv4_socket_connect
new test suite (4 cases): test_client_server_ipv6_socket_connect
valgrind passing

Internal Functionality Tests:

Tested all cases on Android against remote Server (client only) & local running new server.
Tested a., c. & e. on iOS sim against GS. iOS sim was unable to reach my home router w/ ipv6.

Cases:
a. ipv4 client <-> ipv4 address <-> ipv4 server
b. ipv6 client <-> ipv6 address <-> ipv6 server
c. ipv4/6 client <-> ipv4 address <-> ipv4/6 server
d. ipv4/6 client <-> ipv6 address <-> ipv6 server
e. ipv4/6 client <-> ipv4 address <-> ipv4 server
f. ipv6 client <-> ipv6 address <-> ipv4/6 server

This looks awesome, but can you debug why the test is crashing?


Jenkins CICD to K3S

Version:

k3s version v1.17.0+k3s.1 (0f644650)
K3s arguments:

master: install.sh server
workers (3x): install.sh agent K3S_URL=https://master:6443 K3S_TOKEN="X"
Describe the bug

Starting Kubernetes deployment
ERROR: ERROR: java.lang.RuntimeException: java.security.cert.CertificateException: java.io.IOException: Incomplete data
hudson.remoting.ProxyException: java.lang.RuntimeException: java.security.cert.CertificateException: java.io.IOException: Incomplete data
	at io.kubernetes.client.openapi.ApiClient.applySslSettings(ApiClient.java:1306)
	at io.kubernetes.client.openapi.ApiClient.setSslCaCert(ApiClient.java:208)
	at io.kubernetes.client.util.ClientBuilder.build(ClientBuilder.java:320)
	at io.kubernetes.client.util.Config.fromConfig(Config.java:97)
	at com.microsoft.jenkins.kubernetes.wrapper.KubernetesClientWrapper.<init>(KubernetesClientWrapper.java:171)
	at com.microsoft.jenkins.kubernetes.KubernetesDeployContext$ClientWrapperFactoryImpl.buildClient(KubernetesDeployContext.java:482)
	at com.microsoft.jenkins.kubernetes.command.DeploymentCommand$DeploymentTask.doCall(DeploymentCommand.java:143)
	at com.microsoft.jenkins.kubernetes.command.DeploymentCommand$DeploymentTask.call(DeploymentCommand.java:124)
	at com.microsoft.jenkins.kubernetes.command.DeploymentCommand$DeploymentTask.call(DeploymentCommand.java:106)
	at hudson.FilePath.act(FilePath.java:1162)
	at com.microsoft.jenkins.kubernetes.command.DeploymentCommand.execute(DeploymentCommand.java:68)
	at com.microsoft.jenkins.kubernetes.command.DeploymentCommand.execute(DeploymentCommand.java:45)
	at com.microsoft.jenkins.azurecommons.command.CommandService.runCommand(CommandService.java:88)
	at com.microsoft.jenkins.azurecommons.command.CommandService.execute(CommandService.java:96)
	at com.microsoft.jenkins.azurecommons.command.CommandService.executeCommands(CommandService.java:75)
	at com.microsoft.jenkins.azurecommons.command.BaseCommandContext.executeCommands(BaseCommandContext.java:77)
	at com.microsoft.jenkins.kubernetes.KubernetesDeploy.perform(KubernetesDeploy.java:42)
	at com.microsoft.jenkins.azurecommons.command.SimpleBuildStepExecution.run(SimpleBuildStepExecution.java:54)
	at com.microsoft.jenkins.azurecommons.command.SimpleBuildStepExecution.run(SimpleBuildStepExecution.java:35)
	at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: hudson.remoting.ProxyException: java.security.cert.CertificateException: java.io.IOException: Incomplete data
	at java.base/sun.security.provider.X509Factory.engineGenerateCertificates(X509Factory.java:358)
	at java.base/java.security.cert.CertificateFactory.generateCertificates(CertificateFactory.java:478)
	at io.kubernetes.client.openapi.ApiClient.applySslSettings(ApiClient.java:1283)
	... 24 more
Caused by: hudson.remoting.ProxyException: java.io.IOException: Incomplete data
	at java.base/sun.security.provider.X509Factory.readOneBlock(X509Factory.java:614)
	at java.base/sun.security.provider.X509Factory.parseX509orPKCS7Cert(X509Factory.java:449)
	at java.base/sun.security.provider.X509Factory.engineGenerateCertificates(X509Factory.java:356)
	... 26 more

To Reproduce

Configure jenkins, Kubernetes Continuous Deploy Plugin
Add credentials to connect to cluster (/etc/rancher/k3s/k3s.yaml)
Add step in Jenkinsfile to deploy newly built container to k3s using previously mentioned credentials

Expected behavior

New container starts on k3s cluster
Actual behavior

Jenkins build errors out at k3s deployment stage with previously mentioned error
Additional context / logs

Manual use of kubectl with contents in .kube/config work fine when manually connecting to cluster.  Connection test within Kubernetes section of Jenkins configuration page works fine as well.  So far only when using build process in Jenkinsfile does connection fail.

Similar problem here. I believe the plugin is expecting docker, not containerd. I was partly following the instructions here: https://medium.com/@otterwerks/scalable-jenkins-ci-cd-on-bare-metal-arm-kubernetes-c71dfe5645f8 and adapting it to K3s and containerd, but internally the plugin may expect docker instead of containerd. Anyway, I couldn't extract any log because containers inside the pod are in Creating status and the pod ends abruptly.

How did you provide the credentials/kubeconfig to the Jenkins plugin? Some light googling suggests that the certificate data isn't in the format that the plugin is expecting.

When I test the credentials, it's working. I do not know how have you done it.
As per the blog post I shared earlier, I added a "Secret text" while configuring the cloud, and I pasted the name of the ServiceAccount I created as the "ID", and its secret as the "Secret".

Anyway, I have just tried changing everything from containerd to docker inside K3s, changing the sock path too, and it still does not work as intended. The instantiation works, but then the agent pods outputs an error for a second and then fails. Yet I have not managed to get any useful log.

@brandond ,
When I had my cluster setup, I tried several things setup within the plugin from just the hash in the /etc/rancher/k3s/k3s.yaml config file, to the whole thing in clear text, to the whole think encoded, base64 I think, I don't remember its been a while since I last tested.  As I mentioned, I tested the config from my desktop and from my Jenkins VM so I know that the k3s.yaml file was correct.
I am not sure if it matters, but what @DrumSergio is trying to accomplish seems different that my issue.  I am trying to connect my functional Jenkins VM to a functional k3s cluster, while he is attempting to start a Jenkins container on a k3s cluster.  The rest of my container build process is working fine, my failure is deploying the actual created container.
If you could point me in the right direction I would appreciate it, none of my googling turn up anything of value, even when searching for several of the exact strings from my error posted above.  Unfortunately, further testing can be problematic as the cluster is no longer functional and the hardware has been repurposed.  I will try this again, so possible solutions would definitely be appreciated.
Thank you.


Adding some simple boilerplate restricted middleware. Will dig in mor…

…e when auth router is set up.
Description
This small change creates middleware folder and adds restrict.js
Fixes # (issue)
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[x ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Change Status

[x] Complete, tested, ready to review and merge
[ ] Complete, but not tested (may need new tests)
[ ] Incomplete/work-in-progress, PR is for discussion/feedback

How Has This Been Tested?

[ ] Test A
[ ] Test B

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] My code has been reviewed by at least one peer
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] There are no merge conflicts

Nice


Differences between lite and full runtime libraries?

I saw the documentation describing the differences, but I don't see how the generated lite and full runtime libraries are at all different. Searching "lite" on this repository doesn't really give any functional differences other than not generating accessors with protoc. Is there something I'm missing here?

Lite runtime
The lite runtime only includes the encoding and decoding methods for working with the binary representation. It is as such kind of similar to nanopb which is a Protocol Buffers implementation for embedded environments.
Encoding
When encoding a message you are responsible for holding state, so e.g. a nested submessage needs to be fully defined when encoding it, see:
https://github.com/squidfunk/protobluff/blob/f6ee42c15a4034b9d0fd0e597894b462516b1daa/examples/encoding/example.c#L50-L77
This means you cannot alter the message afterwards as everything is done in a single pass. If this is your actual use case, then you should use the lite runtime for encoding because it is faster than using the methods of the full runtime.
Decoding
Decoding is similar to nanopb using callbacks for specific types, it's kind of similar to SAX parsing for XML, see:
https://github.com/squidfunk/protobluff/blob/f6ee42c15a4034b9d0fd0e597894b462516b1daa/examples/decoding/example.c#L68-L107
As every field is encountered you need to decide what to do with the field's value - you can ignore it or write it to the data structure you can provide via the third argument void *user. When decoding a message you can decide whether you want to decode a nested submessage or just skip it. Again, it's single pass.
Limitations
The lite runtime cannot handle oneofs, as every value that is encountered is emitted. If you use the lite runtime with oneofs, decoding a message will report every encountered field possibly emitting multiple values for the same oneof (because Protocol Buffers messages can be concatenated) so you would be responsible for handling oneofs yourself.
Full runtime
The full runtime includes the lite runtime and adds the possibility of writing, deleting or reading a very specific value inside an encoded Protocol Buffers message without the need for deserialization. It was the actual requirement why I built protobluff because I had to do a lot of updates on messages that needed to be synced to a datastore for which they needed to be serialized. Serialization was done every single time which was very expensive for large messages.
With protobluff you directly work on the underlying binary representation and can alter or read a single field inside the binary. The full runtime uses a journaling strategy for that, keeping an exact log of all updates that were carried out on the message. This is necessary because you can have several variables (fields, messages) pointing to the same underlying binary. If you update the binary in one part of your program, the other part would need to adjust its offsets before reading or writing, e.g.:
https://github.com/squidfunk/protobluff/blob/f6ee42c15a4034b9d0fd0e597894b462516b1daa/tests/message/message/test.c#L2393-L2421
The full runtime has full support for all Proto 2 features (except services, but that's a really open/opinionated specification). I hope this answers your question.

I read the documentation, but I mean in the source code I see no differences between how the lite and full runtime libraries are built, and only one minor difference in how the protoc code is generated

The project is structured into four folders: core, generator, message and util. While the generator is built as an executable, the other sub-folders are built as intermediary libraries. Those intermediary libraries are then linked using _LIBADD into the lite and the full runtime. The lite runtime only includes the core intermediary library, the full runtime includes core, message and util. All of this is done using Autotools:
https://github.com/squidfunk/protobluff/blob/f6ee42c15a4034b9d0fd0e597894b462516b1daa/src/Makefile.am#L27-L51

ah that was what I was looking for, thanks.


Implement DCOS barrier to make sure every tasks starts at the same time

Will be fixed in the correspondent lsim issue.


Allow custom http.Client ?

offer ability to use custom http.Client instead using default http.Client

I'll look into it thanks

Hey @aerth I've made some changes to allow for overriding the http.Client and another for access to the http.Request object in the v2 branch.
via the options,
options := &download.Options{
		Client: func() http.Client{
                      // return  custom client.....
                },
	}

would you be able to check it out before I merge into master?

you rock! Custom http.Client works great, thanks!

Custom http.Client only is being used for some operations

I'll correct that for the head request

ok @aerth  HEAD now uses custom client function as well.