Add a React Native example app to the demo

Changes
Hello! I thought it would be valuable to include a React Native example app in this demo to show how mobile apps could be instrumented using the existing JS OTEL packages. I also thought this could serve as a bit of a TODO list showing some of the rough edges / missing functionality that current React Native developers would face when trying to instrument and hopefully keep updating this as those gaps are filled
A note on the size of the diff: unfortunately there's a ton of boilerplate files that are required for just spinning up a blank new app that make this harder to review. I have these on a separate commit but don't have permission to push that up as a branch, if someone could do that this PR could then be pointed to it and only show the files that are relevant to the demo similar to what you'd see on https://github.com/open-telemetry/opentelemetry-demo/pull/1781/commits/cde1345e47f06a4371394a7b3962a79a98449afd. Otherwise using the file filters to hide things like the .png, .xml, etc. will help narrow down to the relevant changes
Some notes on the overall approach here curious to hear thoughts or disagreement:

There's copy and pasting from src/frontend since that is also using React. However there were enough tweaks needed to make it work with React Native that it didn't seem straightforward to try and have these two apps share common files and also I think useful for demo purposes to have each be self-contained
I haven't yet but I'm tempted to commit protos/demo.ts and pb/demo.proto just for this component, it's a bit weird since they are generated files but since this app isn't run inside Docker users will have to generate those files themselves which adds a bit of friction for running the demo
I only implemented a subset of the functionality demonstrated in the web app with this PR in the interest of hopefully getting something initial in place and tackling the rest later
I haven't done the docs changes yet, would that be adding a new page under https://opentelemetry.io/docs/demo/services/ ? I can tackle that next if this addition overall seems reasonable

Using the demo:

Merge Requirements
For new features contributions, please make sure you have completed the following
essential items:

[x] CHANGELOG.md updated to document new feature additions
[ ] Appropriate documentation updates in the docs
[ ] Appropriate Helm chart updates in the helm-charts

Maintainers will not merge until the above have been completed. If you're unsure
which docs need to be changed ping the
@open-telemetry/demo-approvers.

@jpmunz this looks great!
We had some similar work presented at a previous SIG meeting some time ago by @breedx-splk 's team.
Were you involved on that?
Are you able to join a OTel Demo SIG meeting to present this to everyone?
Also, adding a README on how to run the service would help a lot.
Regarding the doc page, yes, that would be under demo/services, but it may take a while to review this PR as it is a 25K lines of code addition.

We had some similar work presented at a previous SIG meeting some time ago by @breedx-splk 's team. Were you involved on that?

I don't believe that they were...but this is super interesting. React native on mobile is asked about quite a lot -- so having this available in/through the android app would also be amazing and helpful. It would allow us to demonstrate the client-side RUM interop (currently nonexistent!) and compare/contrast features.
Logged this issue to track: https://github.com/open-telemetry/opentelemetry-android/issues/696

I haven't yet but I'm tempted to commit protos/demo.ts and pb/demo.proto just for this component, it's a bit weird since they are generated files but since this app isn't run inside Docker users will have to generate those files themselves which adds a bit of friction for running the demo

You can move forward with committing the generated proto files. We recently launched an effort to do the same for all other services in the Demo.

We had some similar work presented at a previous SIG meeting some time ago by @breedx-splk 's team. Were you involved on that?
Are you able to join a OTel Demo SIG meeting to present this to everyone?

@julianocosta89 I was not involved in that previous meeting but I'm happy to join the next one (Nov 27th?) and present there!

Also, adding a README on how to run the service would help a lot.

I had included https://github.com/open-telemetry/opentelemetry-demo/blob/3404e12a242936bab02ad3a4d5e093fdb59839d1/src/reactnativeapp/README.md, did that include what you had in mind or was there something else I could add?

I don't believe that they were...but this is super interesting. React native on mobile is asked about quite a lot -- so having this available in/through the android app would also be amazing and helpful. It would allow us to demonstrate the client-side RUM interop (currently nonexistent!) and compare/contrast features.
Logged this issue to track: open-telemetry/opentelemetry-android#696

@breedx-splk that's great would be cool if the UI here could be re-used to demo the Android SDK. Another possible avenue that I'll put out there could be using RN Native Modules to wrap the Android (and potentially Swift) OTEL SDKs in a thin JS package. That might be less flexible but could be appealing to devs who didn't want to deal with the setup on the native side and just wanted to add a JS package that handled it for them

We had some similar work presented at a previous SIG meeting some time ago by @breedx-splk 's team. Were you involved on that?
Are you able to join a OTel Demo SIG meeting to present this to everyone?

@julianocosta89 I was not involved in that previous meeting but I'm happy to join the next one (Nov 27th?) and present there!

Yes! Nov 27th, but I'll try to put some time into reviewing the PR till there.

Also, adding a README on how to run the service would help a lot.

I had included https://github.com/open-telemetry/opentelemetry-demo/blob/3404e12a242936bab02ad3a4d5e093fdb59839d1/src/reactnativeapp/README.md, did that include what you had in mind or was there something else I could add?

This is perfect, I just missed it 😅

using RN Native Modules to wrap the Android (and potentially Swift) OTEL SDKs in a thin JS package

Yeah I think we will need both native with RN inside and potentially this long term. There will always be devs that just write pure native Android, and we need to make sure we support them first.

@jpmunz could you add some instructions on how to get this PR up and running to someone that has 0 knowledge on reactive native and mobile development?
Following the README didn't work for me, it seems that I'm missing 1 million tools to be able to run it.
Can I run it without the Android Emulator?
Also, the ios version, I'm getting this error:
><EMAIL_ADDRESS>ios
> expo run:ios

env: load .env
env: export EXPO_PUBLIC_FRONTEND_PROXY_PORT
(node:8570) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
  CocoaPods CLI not found in your PATH, installing it now.
› Attempting to install CocoaPods CLI with Gem
Successfully installed cocoapods-1.16.2
1 gem installed
› Successfully installed CocoaPods CLI with Gem
✔ Installed CocoaPods CLI.
⚠  Something went wrong running `pod install` in the `ios` directory.
Command `pod install` failed.
└─ Cause: spawn pod ENOENT

Not sure if that is something related to permissions. As I said, I have 0 knowledge on mobile development 😢

@jpmunz I think I'll have to wait for your presentation on Wednesday 😢
cp: invalid option -- 'X'
Try 'cp --help' for more information.
Command PhaseScriptExecution failed with a nonzero exit code

warning: Run script build phase '[CP-User] Generate app.config for prebuilt Constants.manifest' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'EXConstants' from project 'Pods')
note: Run script build phase '[Expo] Configure project' will be run during every build because the option to run the script phase "Based on dependency analysis" is unchecked. (in target 'reactnativeapp' from project 'reactnativeapp')
note: Run script build phase 'Bundle React Native code and images' will be run during every build because the option to run the script phase "Based on dependency analysis" is unchecked. (in target 'reactnativeapp' from project 'reactnativeapp')
/Users/juliano.costa/workspace/opentelemetry-demo/src/reactnativeapp/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 9.0, but the range of supported deployment target versions is 12.0 to 18.1.99. (in target 'RNDeviceInfo-RNDeviceInfoPrivacyInfo' from project 'Pods')
/Users/juliano.costa/workspace/opentelemetry-demo/src/reactnativeapp/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 9.0, but the range of supported deployment target versions is 12.0 to 18.1.99. (in target 'RNCAsyncStorage-RNCAsyncStorage_resources' from project 'Pods')
warning: Run script build phase '[CP-User] [Hermes] Replace Hermes for the right configuration, if needed' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'hermes-engine' from project 'Pods')

--- xcodebuild: WARNING: Using the first of multiple matching destinations:
{ platform:iOS Simulator, id:D6417E92-19CA-498C-A079-CB35B4A56555, OS:18.1, name:iPhone SE (3rd generation) }
{ platform:iOS Simulator, id:D6417E92-19CA-498C-A079-CB35B4A56555, OS:18.1, name:iPhone SE (3rd generation) }
** BUILD FAILED **

The following build commands failed:
	PhaseScriptExecution [CP-User]\ Generate\ Specs /Users/juliano.costa/Library/Developer/Xcode/DerivedData/reactnativeapp-hfjcezijrrdpihfcaelpfppoavlp/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React-Codegen.build/Script-46EB2E00019480.sh (in target 'React-Codegen' from project 'Pods')
	Building workspace reactnativeapp with scheme reactnativeapp and configuration Debug
(2 failures)

Now the dependencies are installed and theoretically all tools as well.
Not sure what I am missing.

Ok, it seems that I was able to run it.
Now I'm getting a different error:

No bundle URL present.

Make sure you're running a packager server or have included a .jsbundle file in your application bundle.

RCTFatal
__28-[RCTCxxBridge handleError:]_block_invoke
_dispatch_call_block_and_release
_dispatch_client_callout
_dispatch_main_queue_drain
_dispatch_main_queue_callback_4CF
__CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__
__CFRunLoopRun
CFRunLoopRunSpecific
GSEventRunModal
-[UIApplication _run]
UIApplicationMain
__debug_main_executable_dylib_entry_point
start_sim
0x0
0x0

Ok, it seems that I was able to run it. Now I'm getting a different error:

@julianocosta89 hmm so in that case it seems to have built the app correctly but can't load the JS bundle, in debug builds the bundle is grabbed from a local server instead of being packaged with the app. This local server should have been started automatically as part of npm run android but you can try spinning it up separately with npm start. Maybe also double-check the output from npm run android to see that the dev server was started correctly (maybe the port it tried using was occupied), it should look like:

Hitting "Reload" on that error screen might also sometimes do the trick if the server is up but it wasn't able to connect with it right away

@jpmunz running npm start before worked!
I wasn't able to run npm run ios though. I had to open Xcode and hit play, but maybe that's because I'm a newbie here 😅

@jpmunz running npm start before worked! I wasn't able to run npm run ios though. I had to open Xcode and hit play, but maybe that's because I'm a newbie here 😅

ah nice, glad it worked!
ya running it through Xcode can be helpful if there's a problem as it'll give more readable output than the CLI but then need to run the dev server separately (or do a release build). I also tend to run rm -rf ~/Library/Developer/Xcode/DerivedData every now and then as that seems to sometimes resolve unclear errors where Xcode has gotten confused by previous builds

@jpmunz qq.
Shouldn't the frontend-proxy ingress be a child of POST?

@julianocosta89 @puckpuck I opened a draft PR for the docs changes here: https://github.com/open-telemetry/opentelemetry.io/pull/5704

@jpmunz qq.
Shouldn't the frontend-proxy ingress be a child of POST?

Hmm good call, ya when I do the equivalent on the browser it is a single trace:

Let me try and see what's happening there, everything under "reactnativeapp HTTP POST" looks correct but for some reason there's that standalone "reactnativeapp POST" that doesn't seem connected to anything

@jpmunz qq.
Shouldn't the frontend-proxy ingress be a child of POST?

@julianocosta89 looks to be due to a quirk with how React Native implements fetch, I think this should fix it: https://github.com/open-telemetry/opentelemetry-demo/pull/1781/commits/f1e8fc5f650a945f217df29cb8ab26eea837c911

@puckpuck @julianocosta89 as per discussion in the SIG I tried improving the react native instructions and also added a dockerfile for generating an apk here: https://github.com/open-telemetry/opentelemetry-demo/pull/1781/commits/9b6d92b8d3abdbdd7336dede558dad2c9e80069d
Some things to note:

Realized that even with the apk generated in the container you'd still need some Android tooling available in order to run an emulator since the app only knows to hit localhost for the rest of the demo APIs. We talked about making that configurable as a follow-up but let me know if given that limitation it should be part of this initial PR
For me the apk generation took ~15 minutes in the container vs. ~1 minute on host, I think that's due to a mix of gradle caching things, downloading extra tooling that dependencies require etc., there's likely a way to get this down more but I haven't dug into it further yet

@puckpuck @julianocosta89 as per discussion in the SIG I tried improving the react native instructions and also added a dockerfile for generating an apk here: 9b6d92b
Some things to note:

Realized that even with the apk generated in the container you'd still need some Android tooling available in order to run an emulator since the app only knows to hit localhost for the rest of the demo APIs. We talked about making that configurable as a follow-up but let me know if given that limitation it should be part of this initial PR
For me the apk generation took ~15 minutes in the container vs. ~1 minute on host, I think that's due to a mix of gradle caching things, downloading extra tooling that dependencies require etc., there's likely a way to get this down more but I haven't dug into it further yet

Thanks for all the effort on this @jpmunz!
I've shared the app in the OTel Night in Berlin last week and everyone was super excited about it!
Regarding the docker step I have mixed feelings, 15 min seems like a lot 😬
I'll go through the changes later today and try it out the new set of instructions on the README.

@julianocosta89 made some updates that we had discussed here: https://github.com/open-telemetry/opentelemetry-demo/pull/1781/commits/349e7c65e5e48ed17930ec95a0a997afd4936471
removed some of the make targets to simplify things, switched back to using debug builds and then added some troubleshooting steps to the readme

Hey @jpmunz, I went through all files and added a couple of nit.
Regarding the README I'm starting to wonder if we can't just go with the XCode steps.
I've tried all suggested steps, and all of them failed.
Just the last suggestion (open XCode and hit play) worked fine.
I'm worried about having multiple users trying to run the app and getting a failure, and opening issues in the demo repo.

Thanks for the reviews @julianocosta89! Added these comments in response, I'll respond to some of the individual comments inline as well:

adding line breaks -> https://github.com/open-telemetry/opentelemetry-demo/pull/1781/commits/95348c7b48fd930a3fdd099b9452243431b59a6b
updating package + display name -> https://github.com/open-telemetry/opentelemetry-demo/pull/1781/commits/6c61944f15046a6f2fd74de6a2701411b40b415f
updating images -> https://github.com/open-telemetry/opentelemetry-demo/pull/1781/commits/62d2efc37a1ede0c7f1ccb6d14bed6f71b3ab6ea
removing debug lines -> https://github.com/open-telemetry/opentelemetry-demo/pull/1781/commits/ac0ff0e3dbb6dd333123fc52e75d0a87515e1a34
updating ios instructions -> https://github.com/open-telemetry/opentelemetry-demo/pull/1781/commits/711dcb088759944b2d67491ceefcf3848be1b1c6

Hey @jpmunz, I went through all files and added a couple of nit.
Regarding the README I'm starting to wonder if we can't just go with the XCode steps. I've tried all suggested steps, and all of them failed.
Just the last suggestion (open XCode and hit play) worked fine. I'm worried about having multiple users trying to run the app and getting a failure, and opening issues in the demo repo.

hey @julianocosta89 yep that makes sense, I updated the readme here https://github.com/open-telemetry/opentelemetry-demo/pull/1781/commits/711dcb088759944b2d67491ceefcf3848be1b1c6 let me know if it addresses your concerns. I kept the npm run ios command as an option but I put the XCode steps as the first ones given

I've spent the last several hours with this PR. Coming from no prior mobile dev environment on my local system, I was able to get the app working in Android and iOS with minimal issues.
We can do quite a bit more to clarify the readme for this. I would also introduce a new npm run start-ios, which would make the XCode build version easier to understand. Finally, I want to rename the build Android make target to build-react-native-android instead so it is consistent with our other make targets.
I attempted to do the readme and DevX changes above but don't have permission to update the source repo. I can save the readme changes for a fast-follow PR, but I want the other DevX changes made to this PR.

One more item is that I may want to rename the component/service and folder. We are currently embarking on an effort to have consistent naming across all components in the demo. We want to enforce using a dash (-) in the component name where a space would be. Knowing this, is react native one or two words, and should we keep the app suffix or use mobile or nothing instead?

reactnative-app
react-native-app
reactnative-mobile
react-native-mobile
reactnative
react-native

@julianocosta89 do you have thoughts on this?

Hey @jpmunz, I went through all files and added a couple of nit.
Regarding the README I'm starting to wonder if we can't just go with the XCode steps. I've tried all suggested steps, and all of them failed.
Just the last suggestion (open XCode and hit play) worked fine. I'm worried about having multiple users trying to run the app and getting a failure, and opening issues in the demo repo.

hey @julianocosta89 yep that makes sense, I updated the readme here 711dcb0 let me know if it addresses your concerns. I kept the npm run ios command as an option but I put the XCode steps as the first ones given

I've tested with a clean workspace and I actually need to first run the npm run ios, even though it fails, because that installs the Pods.
Without them, XCode just fail to build.

One more item is that I may want to rename the component/service and folder. We are currently embarking on an effort to have consistent naming across all components in the demo. We want to enforce using a dash (-) in the component name where a space would be. Knowing this, is react native one or two words, and should we keep the app suffix or use mobile or nothing instead?

reactnative-app
react-native-app
reactnative-mobile
react-native-mobile
reactnative
react-native

@julianocosta89 do you have thoughts on this?

I'd go vote for react-native-app or astronomy-shop-app.

One more item is that I may want to rename the component/service and folder. We are currently embarking on an effort to have consistent naming across all components in the demo. We want to enforce using a dash (-) in the component name where a space would be. Knowing this, is react native one or two words, and should we keep the app suffix or use mobile or nothing instead?

reactnative-app
react-native-app
reactnative-mobile
react-native-mobile
reactnative
react-native

@julianocosta89 do you have thoughts on this?

I'd go vote for react-native-app or astronomy-shop-app.

Updated to react-native-app: https://github.com/open-telemetry/opentelemetry-demo/pull/1781/commits/7b29f63b502d7e2aa703c244c4f0328ccd279560
Docs repo change: https://github.com/open-telemetry/opentelemetry.io/pull/5704/commits/61d52080a179f86ff24cfe8bb2c3946b7c03ca99

Hey @jpmunz, I went through all files and added a couple of nit.
Regarding the README I'm starting to wonder if we can't just go with the XCode steps. I've tried all suggested steps, and all of them failed.
Just the last suggestion (open XCode and hit play) worked fine. I'm worried about having multiple users trying to run the app and getting a failure, and opening issues in the demo repo.

hey @julianocosta89 yep that makes sense, I updated the readme here 711dcb0 let me know if it addresses your concerns. I kept the npm run ios command as an option but I put the XCode steps as the first ones given

I've tested with a clean workspace and I actually need to first run the npm run ios, even though it fails, because that installs the Pods. Without them, XCode just fail to build.

ah that's right, update instructions here: https://github.com/open-telemetry/opentelemetry-demo/pull/1781/commits/76e5cbe32ffde33751c09b21e9e5ceed5d3ead3f

Do we need the ios/reactnativeapp.xcodeproj/project.pbxproj and ios/Podfile.lock files part of this commit?
After resetting my environment and cloning this PR's branch, when I run this for iOS, those 2 files get updated. Should these 2 files be in .gitignore?

normally both these files are committed to version control, could you paste the diff you get after running these commands? I could take a look and try and see where the differences are coming from, there may be some tooling discrepancy which we may also have to lockdown

I'm not sure if the rename broke it, but I can no longer build the app in XCode. I have tried to remove all Derived Data, and refresh the pod cache with a reinstall and still get the same error on Build

hey @puckpuck normally both these files are committed to version control, could you paste the diff you get after running these commands?

I got the following:
diff --git a/src/react-native-app/ios/Podfile.lock b/src/react-native-app/ios/Podfile.lock
index 2188143..792a960 100644
--- a/src/react-native-app/ios/Podfile.lock
+++ b/src/react-native-app/ios/Podfile.lock
@@ -1602,8 +1602,8 @@ SPEC CHECKSUMS:
   RNReanimated: 35f9ac9c3ac42d0497ebd1cce5c39d7687a8493e
   RNScreens: b32a9ff15bea7fcdbe5dff6477bc503f792b1208
   SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d
-  Yoga: 2f71ecf38d934aecb366e686278102a51679c308
+  Yoga: ae3c32c514802d30f687a04a6a35b348506d411f

 PODFILE CHECKSUM: 43d62c9a2cdb594df87b33661537b45c69daf63f

-COCOAPODS: 1.15.2
+COCOAPODS: 1.16.2

hey @puckpuck normally both these files are committed to version control, could you paste the diff you get after running these commands?

I got the following:
diff --git a/src/react-native-app/ios/Podfile.lock b/src/react-native-app/ios/Podfile.lock
index 2188143..792a960 100644
--- a/src/react-native-app/ios/Podfile.lock
+++ b/src/react-native-app/ios/Podfile.lock
@@ -1602,8 +1602,8 @@ SPEC CHECKSUMS:
   RNReanimated: 35f9ac9c3ac42d0497ebd1cce5c39d7687a8493e
   RNScreens: b32a9ff15bea7fcdbe5dff6477bc503f792b1208
   SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d
-  Yoga: 2f71ecf38d934aecb366e686278102a51679c308
+  Yoga: ae3c32c514802d30f687a04a6a35b348506d411f

 PODFILE CHECKSUM: 43d62c9a2cdb594df87b33661537b45c69daf63f

-COCOAPODS: 1.15.2
+COCOAPODS: 1.16.2

ah ya we're not pinning the cocoapods version, I made an update here that hopefully locks that down: https://github.com/open-telemetry/opentelemetry-demo/pull/1781#discussion_r1887669025
I added a note to the README unfortunately it adds a few more steps to the setup on iOS so I worded it as something optional, let me know what you think

I'm not sure if the rename broke it, but I can no longer build the app in XCode. I have tried to remove all Derived Data, and refresh the pod cache with a reinstall and still get the same error on Build

@puckpuck unfortunately I wasn't able to reproduce this, googling around a bit it seems like it could be an issue with the .xcodeproj file. Just to confirm when you open the project in XCode that you are opening reactnativeapp.xcworkspace as oppose to reactnativeapp.xcodeproj?
You had mentioned above seeing some local changes to reactnativeapp.xcodeproj were they still present? If you stash them do you get the same error?

@puckpuck unfortunately I wasn't able to reproduce this, googling around a bit it seems like it could be an issue with the .xcodeproj file. Just to confirm when you open the project in XCode that you are opening reactnativeapp.xcworkspace as oppose to reactnativeapp.xcodeproj?
You had mentioned above seeing some local changes to reactnativeapp.xcodeproj were they still present? If you stash them do you get the same error?

Yes, my issue was xcodeproj vs xcworkspace.

I'm good with this. I want to make some changes to the Readme. We could have better structure and move some of the content into different sections, but I prefer we merge this first.
Thank you again, @jpmunz, for this fantastic PR! 🤩

@julianocosta89 @puckpuck thank you both for your encouragement and taking the time to dive into and review this very large PR!

@julianocosta89 merge conflicts should be resolved now

@jpmunz it looks like there still conflict 🥲
I think it was my fault, I've just merged another PR.
If you could resolve it, I can get it merged right away

Don't worry about the broken link. It is not related to your PR

@jpmunz it looks like there still conflict 🥲 I think it was my fault, I've just merged another PR.
If you could resolve it, I can get it merged right away

@julianocosta89 np, updated!


Retroactively credit incoming payments if notification failed

In the current implementation, the plugin must be online in order to credit an incoming Lightning payment. If the plugin is offline but the LND node is online, the sender may have sent a settlement, but it wouldn't be credited.
There should be a protocol or mechanism to retroactively credit settlements to get peers' balances back in sync if the receiver goes offline, then comes back online, or for some reason they fail to get the notification.
(The plugin is currently pretty stateless, so this would require persisting which account each invoice is linked to, rather than just keeping that in memory. Then, the plugin would need to iterate through previously paid invoices to ensure each was credited--while ensuring no invoice is credited more than once).
Alternatively: senders could include their account identifier in the memo/description of each payment, so the receiver knows which to credit it to (or none at all).

while ensuring no invoice is credited more than once

Persist the monotonically increasing settle_index and replay notifications from the last one credited to ensure no invoice is credited more than once.
And, instead of persisting the invoices sent to each peer to determine which account each settled invoice should be credited to, require the counterparty to include their accountId in the memo field of the payment.


fix(verb): past active participles in reflexive verbs

Resolves #46.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 92.474%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1712

Relevant Lines:
1791

💛  - Coveralls


chore: adopt kubernetes dql

Introduction
Added three different optional filters to the kubernetes DQL query via the additionalFilter placeholder.

The namespace is now compared with the component annotation backstage.io/kubernetes-namespace. If not given its metadata namespace is used and fallback to default. The following filter is added | filter namespace.id == "{namespace}"
The kubernetes id is now compared with the component annotation backstage.io/kubernetes-id. The optional filter is added via | filter workload.labels[`backstage.io/kubernetes-id`] == "{kubernetesId}"
The kubernetes label is now compared with the component annotation backstage.io/kubernetes-label-selector. The annotation label1=value1,label2=value2 will resolve to to | filter workload.labels[`label1`] == "value1" AND workload.labels[`label2`] == "value2"

Also

backstage.io/kubernetes-id is now required for the kubernetes query
Removed the component namespace fallback to default for internal queries (like kubernetes)

:heavy_check_mark: Common checklist

[x] Added tests for new functionality and regression tests for bug fixes
[ ] Screenshots of before and after attached (for UI changes)
[ ] Added or updated documentation (if applicable)
[ ] Helpful resources linked (if applicable)

@Kirdock can you please update the documentation to reflect the changed and new behavior here: https://github.com/Dynatrace/backstage-plugin?tab=readme-ov-file#kubernetes-use-case

Already on it 👍


modules/mono/mono_gd/gd_mono_utils.cpp:371 - System.TypeInitializationException: The type initializer for 'System.IO.Path' threw an exception

Godot version:
3.2.4Beta.mono build.782a548ee
OS/device including version:
Arch linux
GPU: RX580
Issue description:
I took the sources from the 3.2 branch (not the master one) and I compiled the editor using a custom script
The editor runs fine but I can not run any Godot project.
The following error is shown is the output panel:
modules/mono/mono_gd/gd_mono_utils.cpp:371 - System.TypeInitializationException: The type initializer for 'System.IO.Path' threw an exception.
Steps to reproduce:
Create a new project
Add a Node2D
Save the scene
Run the project
Notes

Initially, the project path contains spaces and "-" (but no special chars)
I tested moving my project in a folder whose path doesn't contain spaces and "-", but the problem persists
The issue is not present and the project runs well with Godot_v3.2.3-official mono (not compiled but downloaded as binary)

I can close this issue because after several tests it looks like the issue was caused by my custom build script.
Using the basic build instructions creates a binary that can run the project without problems.
As my custom build script was still working fine 3 months ago, I will investigate to find the options causing this error now.
It's strange because I didn't have any errors during the build process.
Note that both processus use the same mono version.

I can close this issue because after several tests it looks like the issue was caused by my custom build script.
Using the basic build instructions creates a binary that can run the project without problems.
As my custom build script was still working fine 3 months ago, I will investigate to find the options causing this error now.
It's strange because I didn't have any errors during the build process.
Note that both processus use the same mono version.


unable to launch Game in Loader. "Executable not a recognised version"

As you can see in my attachment screenshot, the exe location seems not to work. Also, the "Launch game" button is greyed out. Does it have something to do with my PC and game being Japanese? I live in Japan.

Yeh I think Japan gets a seperate exe to the rest of the world, I don't have a copy of that to test with I'm afraid.

Nothing much to do here unless I can get a JP exe so closed for now.


npm install throws error

When installing dependencies, the following error comes up:
<EMAIL_ADDRESS>install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

Hi, depending on your platform, you'll need to install some deps for the package in error message.

Maybe this is related for you: https://github.com/hovancik/stretchly/issues/197


Release v0.8.0

Closes #49

Fixed couple of typos and grammar mistakes in the changelog, also added mention about rename of Go module.

it would be nice to have the issues / PR link in the generated changelog for the next releases :)

Thanks for review and suggestion @tormath1 :wink:
Right now changelog is hand-crafted :hammer_and_wrench: and many items mentioned are spread over several PRs and commits, so it would be quite time consuming to find them all, but indeed, it would be nice to have it automated. I guess "changelog" line on PRs would be good, the same as Kubernetes does.

If there is no objections, I'll merge and make RC release. I'd also like to automate pushing of container images before we release.

@invidian let's go for merging this. Images pushing can be done in a follow-up PR.

I guess "changelog" line on PRs would be good, the same as Kubernetes does.

This is also how we do on the mantle side, we recently added a changelog too. It's currently done manually because it's not that "hard" to maintain, you just need to think about adding your entry when you submit a PR. (https://github.com/flatcar-linux/mantle/blob/flatcar-master/CHANGELOG.md#unreleased)


Disable authentication after X attemps

Hello,
in my company, we must change our passwords every X months and so I have to update passwords in MultiPass, but MultiPass does not tell me that it tried a lot of time without success and thus security team is yelling at me for bruceforce web basic auth.
Can we have a max attempt parameter before disabling Multipass, in order to force me to update passwords in MultiPass ?
I'll try to create a pull request but never developed a chrome extension...

Hi @AdrienPensart,
I am surprised you report being yelled at, because the mechanism you want is implemented since day one.
Multipass only tries 5 times before giving up, the code is at https://github.com/krtek4/MultiPass/blob/master/js/extension.js#L44 . Also, in case of failure, a red badge is displayed on the extension icon so that you are informed.
There might be a bug in the code, but a quick test correctly displayed a 403 error page on my side with a red badge and I confirmed the 5 tentative in the Apache log of my test server.
Can you give me more information about your setup ?

Closing this without news :)


Service instable

Hey,
in my application, there are 2 editors and 3 viewers on the same document connected simultanously. It looks like after the 2 editors did their work for about 2 hous, inputting about 500 lines, the server application does not respond anymore a few hours later.
I am working on this now for some months, got a really performant server 8 cores, 12gb ram and ssd. With the new server, the stability improved from about 1-2 hours concurrent usage to 3 hours concurrent usage plus 6 hours running idle after the usage is over.
What i wonder of is, how do you run this for jetpad.net? Do you periodically restart the server or use a special version? ...i just checked out the latest version that was tagged with "version bump" (as there is no "release" afaik).
Cheers!
Harald

Hi Harald, thanks again for struggling with this matter.
After reading your old comments weeks ago I just could test the stability of the server while is idle. I didn't see deterioration of heap and cpu in the JVM.
Jetpad is rebooted frequently by the operators. So I can't see the issue you are pointing out, but of course it happens from time to time.
I really would like to help you to tackle this issue. First I would monitor the server's JVM using jconsole. Could you do it? I suspect that there is a memory leak and heap gets exhausted.
In addition, it is very important to tweak server's thread configuration. Are you using the default values? See the "threads" section of the config/reference.conf file
The latest commit on master has a lot of small fixes and improvements, it should be more stable but doesn't include any specific change on performance. The tag is: https://github.com/P2Pvalue/swellrt/releases/tag/2.0.0-beta
We could discuss and work together all this by chat/conference if you like. If we found the cause I will be happy to patch the server quickly.

To remote jconsole monitoring, run JVM with following options:
-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=5000 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false

Thanks for your promt response and your will to help, now you got me enthusiastic again too. Sure we can get more direct contact, just give me some details on<EMAIL_ADDRESS>I am currently checking out the suggested version, added the jmx options to the gradlew.bat "DEFAULT_JVM_OPTS".
Does it matter for you if i compile prod or dev?

I have created a new tag with some improvements regarding memory consumption:
https://github.com/SwellRT/swellrt/releases/tag/2.0.1-beta

Fix deltas in memory collection bug
Disable user's presence tracking defaults (user presence feature can make heavy use of transient wavelet)
Configurable user presence event rate
Safer rate control of caret update events   (caret update events was doing heavy use of transient wavelet)
Properly clean deltas cache (cached deltas in memory were not properly flushed after being persisted)
Store transient data in db to reduce memory use

Repeating the previous test I got following results (I shortened the test time due to obvious results...)

Hey Pablo,
thanks a lot for your efforts!
As you know, i am not a Java JVM expert, but i’ll try to Interpret your data (thinking technically):
Analysis of „before“
Memory consumption was growing About 250MB in one hour, gc frequency speeding up over time
Analysis of „after“
Memory consumption was growing About 20-30MB in 20 minutes, gc frequency speeding up over time
Please correct me if i am wrong, but from feeling i Interpret that there might be still one or multiple Memory leaks.
Should i possibly drive some test doing the same as you and after that, idle for About a day, then check what we still have in Memory compared to start? …or similar?
Cheers!
Harry
Von: Pablo Ojanguren
Gesendet: Sonntag, 2. September 2018 13:41
An: SwellRT/swellrt
Cc: haraldjordan78; Author
Betreff: Re: [SwellRT/swellrt] Service instable (#243)
I have created a new tag with some improvements regarding memory consumption:
https://github.com/SwellRT/swellrt/releases/tag/2.0.1-beta
• Fix deltas in memory collection bug
• Disable user's presence tracking defaults (user presence feature can make heavy use of transient wavelet)
• Configurable user presence event rate
• Safer rate control of caret update events (caret update events was doing heavy use of transient wavelet)
• Properly clean deltas cache (cached deltas in memory were not properly flushed after being persisted)
• Store transient data in db to reduce memory use
Repeating the previous test I got following results (I shortened the test time due to obvious results...)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Sure, please run some test, one idle and one with activity would be ideal.
Let's see how heap behaves then. In any case, wave's server holds in memory snapshots of each wave (swell objects) so their size must increase over the time when users write text...
Anyway, work on this is a good exercise to optimize the server,
Cheers
El 2 sept. 2018 8:45 p. m., haraldjordan78<EMAIL_ADDRESS>escribió:
Hey Pablo,
thanks a lot for your efforts!
As you know, i am not a Java JVM expert, but i’ll try to Interpret your data (thinking technically):
Analysis of „before“
Memory consumption was growing About 250MB in one hour, gc frequency speeding up over time
Analysis of „after“
Memory consumption was growing About 20-30MB in 20 minutes, gc frequency speeding up over time
Please correct me if i am wrong, but from feeling i Interpret that there might be still one or multiple Memory leaks.
Should i possibly drive some test doing the same as you and after that, idle for About a day, then check what we still have in Memory compared to start? …or similar?
Cheers!
Harry
Von: Pablo Ojanguren
Gesendet: Sonntag, 2. September 2018 13:41
An: SwellRT/swellrt
Cc: haraldjordan78; Author
Betreff: Re: [SwellRT/swellrt] Service instable (#243)
I have created a new tag with some improvements regarding memory consumption:
https://github.com/SwellRT/swellrt/releases/tag/2.0.1-beta
• Fix deltas in memory collection bug
• Disable user's presence tracking defaults (user presence feature can make heavy use of transient wavelet)
• Configurable user presence event rate
• Safer rate control of caret update events (caret update events was doing heavy use of transient wavelet)
• Properly clean deltas cache (cached deltas in memory were not properly flushed after being persisted)
• Store transient data in db to reduce memory use
Repeating the previous test I got following results (I shortened the test time due to obvious results...)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Hi!
i recognized the latest service dysfunctions (clients disconnected, java high memory and cpu usage) with this process:

To be honest, i am a little confused about all the java processes. In the screenshot, you see 4 instances of swellrt server on the bottom (-Dorg.gradle.appname=gradlew), then above them you see 2 processes that run "Djava.security.auth..." and above them you see 2 processes "Dcom.sun.management.jmx...".
At the time when the clients disconnect, it looks like only the java process with jmx has high memory and cpu usage.
i am not sure why there are not 1 jmx and Djava.security... process for each of the swell instances, the config was copied. Also i am not sure if the actual problem was with the jmx process or something else actually in the swell process causing the misbihaviour in jmx. Anyway, i'll keep trying to collect evidences.
Also i'll try to disable jmx so there is no extra java instanace running. It would be cool to even save more memory and also disable the gradle instance.

I can't see the entire command literal string, so it is a bit misleading.
But, how many server instances are you executing? Do you verify the JVM
process is really killed every time you stop (Ctrl+C) the ./gradlew run
command? the OS could let the process in a zombie state.
If you want to avoid using gradle to run the server, you must build a
tar/zip distribution file with the command
./gradlew createDistBinTar
The generated file is placed at distributions/ folder. Extracts the file
and use the run-server.sh or run-server.bat scripts to start the
server. In these scripts you can enable or not JMX monitoring and/or remote
debugging.
Remind to edit configuration in config/wave.conf based on
config/reference.conf.
El mié., 24 oct. 2018 a las 18:38, haraldjordan78<EMAIL_ADDRESS>escribió:

Hi!
i recognized the latest service dysfunctions (clients disconnected, java
high memory and cpu usage) with this process:
[image: grafik]
https://user-images.githubusercontent.com/34220041/47446236-1c646d80-d7bb-11e8-8242-1eb118eba3cf.png
To be honest, i am a little confused about all the java processes. In the
screenshot, you see 4 instances of swellrt server on the bottom
(-Dorg.gradle.appname=gradlew), then above them you see 2 processes that
run "Djava.security.auth..." and above them you see 2 processes
"Dcom.sun.management.jmx...".
At the time when the clients disconnect, it looks like only the java
process with jmx has high memory and cpu usage.
i am not sure why there are not 1 jmx and Djava.security... process for
each of the swell instances, the config was copied. Also i am not sure if
the actual problem was with the jmx process or something else actually in
the swell process causing the misbihaviour in jmx. Anyway, i'll keep trying
to collect evidences.
Also i'll try to disable jmx so there is no extra java instanace running.
It would be cool to even save more memory and also disable the gradle
instance.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/SwellRT/swellrt/issues/243#issuecomment-432733266,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEP6D7tFxIgxaHxv_DEqp6Gvs_UJdT9Aks5uoJd1gaJpZM4WR9pl
.


Targeting wolves will only target untamed ones

If any of your rules target wolves, tamed ones won't be counted. Only wild wolves are counted.
One of my players bred over 200 tamed wolves. It is very bad.

By default the plugin will ignore tamed mobs - you can disable this by setting tamed: false under exclusion-settings in the plugin's config


GH-40 Replace plugins with a new routing API

Blocked by:

https://github.com/javalin/javalin/pull/2049


How to run the azure kinect sdk example in Visual Studio / Ubuntu

I want to try transformation_example to output .ply from .mkv  file.
SDK Link: https://github.com/microsoft/Azure-Kinect-Sensor-SDK/tree/develop/examples/transformation
Reference to build the SDK: https://github.com/microsoft/Azure-Kinect-Sensor-SDK/blob/develop/docs/building.md
I have already downloaded the Azure Kinect Viewer and it can run

In Ubuntu, I clone the SDK folder in /Downloads folder, then using cmake to build
mkdir build && cd build
cmake .. -GNinja
cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug
ninja
But I got the problem that some library not found

In Windows, Visual Studio 2017 support  cmake directly build all. I build all in the root of SDK folder. It builds success but can't run transformation_example in cmd

Error in Cmd
It said not recognized as an internal or external command

SETUP:

Ubuntu

Ubuntu 18.04
SDK Version: 1.4.1

Windows Visual Studio

Visual Studio 2017
SDK Version: 1.4.1

Hello, could you please tell me how to solve the problem? I open the folder using VisualStudio, and it run the CmakeLists.txt automaticly, but i still don't konw how to run the example.


Run build-examples.js when necessary

This PR modifies build.py to run the build-examples.js node task when necessary, i.e. when any of the files in examples_src has changed. It also adds a build-examples virtual target that one can use to run the build-examples.js task from build.py.
I'd love that the build-examples target only re-build the examples that have changed instead of rebuilding all the examples, but I am not sure this is possible currently.
Please review.

Now feeling that this would just be a local fix for a larger mess… Closing.

The example index also needs to be generated any time any of the example .js files change.  Since all example sources need to be parsed when this occurs, it is minimal extra work to re-generate the examples themselves.
I think we agree the example building stuff is a bit of a mess right now.  As I mentioned elsewhere, my intention is to have the build-examples.js task also generate the example index.js (since it needs to be regenerated any time any of the example sources change).  I'll continue work in this today.


Cadence plugin points

As cadence grows in popularity, third parties are going to want to bind cadence to their own technology stacks. This creates two issues:

It will result in the core cadence engine having loads of direct dependencies.
It will force third part authors to write code in cadence core.

A better model is that cadence is a skeleton and just the set of dependencies needed to run cadence are loaded at build time. These dependencies could be everything from the database used to the archiver implementation. A DSL should define which plugins will get used. In this world two things identify a cadence build: the DSL defining the plugins to load and the version of the cadence server.
This task needs to be prioritized somewhat soon because otherwise the cadence story around loading dependencies will become unmaintainable.

This is done now.


Update mini hub and a to z content

Update two patterns pages and index page which links to them.

Hi @bencullimore, would you mind double-checking these please? I've taken your A to Z content and updated these files so if there are any conflicting issues, I am expecting these to override your draft. Please note: we need more recent screenshots for the A to Z page. The NHS.UK Medicines A to Z is now A to Z, not A-Z. Any questions, please don't hesitate to come back to me.


feat: S[ubs]tring.{posOf,contains}S[ubs]tr

Adds functions for finding or checking existence of strings in strings and substrings in substrings and those things in between.
Worst-case O(nm) runtime on all new functions, where n = |s|, m = |pattern|.

#178 now incorporates this PR with worst case O(n+m) runtime on all new functions, where n = |s|, `m = |pattern|.

I'm marking this as WIP since it's incorporated into #178. (At least partly, I think I modified some bits.) If you want to close it, that's fine too. Remember that you can always comment on #178 if the edits I made are inappropriate for your needs.

I think it's fine to just close. @JamesGallicchio is probably happy with the outcome of a faster implementation, and can take the credit for nerd-snipping @fgdorais into making the #178 PR. :-) Of course can be re-opened etc if I've missed something.

At first I was thinking the naive implementation should be kept around as the reference implementation against which we verify correctness, but then I decided that I do not care about the functional correctness of string matching :-)

the naive implementation isn't naive enough to be usable as a model for functional correctness. I would prefer <:+: on the underlying lists for the model.


LG invalid syntax cause page crash

Complete the necessary portions of this template and delete the rest.
Describe the bug
load common.lg with error in head, page will crash on lg all up view.
hahah
#Hello
-hi

Version
What version of the Composer are you using? Paste the build SHA found on the about page (/about).
Browser
What browser are you using?

[x] Chrome
[ ] Safari
[ ] Firefox
[ ] Edge

OS
What operating system are you using?

[ ] macOS
[x] Windows
[ ] Ubuntu

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
Give a clear and concise description of what you expected to happen.
Screenshots

Additional context
Add any other context about the problem here.

It's a bug from botbuilder-lg. Last PR https://github.com/microsoft/BotFramework-Composer/pull/1315 do not check invalid syntax in file head, and current LGParser do not support parse this type error file.
ahaha
# Hello
-hi

will crash.
# Hello
-hi
ahaha

is ok.


The integration tests are broken.

The integration tests are broken.

Unrelated to this PR and is happening on all PRs. Not sure how to fix it though, go mod download or go mod tidy doesn't seem to have any effect.
Originally posted by @azeemshaikh38 in https://github.com/ossf/scorecard/issues/569#issuecomment-860347109

Fixed by #593


Query ball cpu

Hi,
I have added cpu ball_query  using nanoflann.
-There are few things to change (naming conventions, coherence between cuda version and cpu version, credits...). But it works.

Thanks a lot @humanpose1 ! I'll take a look tomorrow. In the meantime your PR includes the changes from Thomas, could you please make sure it doesn't by branching out from master instead of Thomas' branch?

Ok I close this PR and I'll open a new one


web workers

Just wanted to throw a thought out there, has it ever been considered to run ngrx/effects on a web worker?    It seems like pretty prime case for it given that it subscribes to messages and responds with a message and doesn't access the DOM.  There would obviously be some challenges like getting the latest state from the store but I feel like; at least in the way that I use ngrx this might work well, my reducers are pure and simple my views only subscribe to observable from the store and my effects do all of the heavy lifting.

Hi CoderCat84 - we're migrating over to https://github.com/ngrx/platform - so I've re-opened this over here https://github.com/ngrx/platform/issues/102 - FWIW, i think this is an excellent idea and it's something I'd love to pursue 👍


fix go vet errors

This is including breaking changes, but it is last chance to fix them.
I'll do it ASAP!

oops, it's not go vet, but golint.

Oops


Extend the list of supported locales

Add the following locales to material_localizations.dart et al:
bg - Bulgarian
hr - Croatian
cs - Czech
da - Danish
fil - Fillipino
fi - Finnish
el - Greek
hi - Hindi
hu - Hungarian
lv - Latvian
lt - Lithuanian
sr - Serbian
sk - Slovak
sl - Slovenian
sv - Swedish
uk - Ukranian

@HansMuller we need the following locales added to launch. Sorry for just noticing this.
bg,
ca,
cs,
da,
el,
et,
fi,
hi,
hr,
hu,
lt,
lv,
sk,
sl,
sr,
sv,
tl,
uk

Feel free to ping me if you have any questions. I'm marking as a customer blocker since I'm assuming these localizations take time, so we would need to get the process started ASAP.

cc @HansMuller

In addition to the locales this issue was supposed to add, you're asking for:
ca - Catalan
et - Estonian
hr - Croatian
And for 'tl - Tagalog' I'm hoping that 'fil' (Filipino) will work.
I will add request translations for all of the new languages.

@Hixie Does flutter support the yi or ji locale for Yiddish?
I/flutter ( 6430): Warning: This application's locale, yi, is not supported by all of its
I/flutter ( 6430): localization delegates.
I/flutter ( 6430): > A MaterialLocalizations delegate that supports the yi locale was not found.


Assets for version alpha-1

the assets for the first version of the game are in the following folder: https://github.com/itajaja/sco/tree/master/www/src/models/assets/alpha-1
there are still many assets missing but I am planning to complete it today.
@Kimerao0 can you please do the following three things:

[ ] ensure that the values are correct
[ ] translate the name properties to english in both buildings and units
[ ] add a description to the description property of the units, and translate the description property in the buidlings

I know you probably don't understand much, but I am pretty sure that's intuitive

A small guide on how to update files using the github interface
once you are on a file, click on the small pencile on the top-right corner:

you can edit, and preview the changes you made. Once you are done. on the bottom of the file make sure you click on "Create a new branch for this commit...":

This is really important, so PLEASE remember to do that, and not commit on master. Let me know if you have any questions. cc'ing @theodred25, it will be useful also for you :)

The rusher is rushing in a rush. First, I hope you automatically generated these two json and not writed them by hand. Second the asset that you loaded relative to ships is alredy obsolete.

I exported the json from the spreadsheet. It's a starting point. How obsolete? I took it from the spreadsheet? even so, it's fine, once the structure is in place at least I can get help from Ale or Marco to fill the gaps in the assets, while I focus on the logic. To me it's not rushing. The alternative would be to write the asset specification as an issue and then translating it to code. I guess we can do it directly in code to save time. I want to have a small working version by the end of the week

The combat phase seems to be drastically different from the game we are playing ( #3 )

You are right, we should focus on the combat before, since it seems it's changed a lot


Can't upload new data set

JOSS Reference: openjournals/joss-reviews#3347
Following the changes that have been made, I have been trying to verify the new functionality. However, I am now unable to upload a new data set, and unsure why this would be. I have even created an entirely new virtualenv to try from a clean environment, and am still unable to do so. The dashboard starts, both locally and on the server, and I can open the analysis portion for the sample data. I had also previously added a data set, which no longer appears in the list of data sets. I don't know why this is, either.
The virtualenv was created and populated this way:
! virtualenv env

created virtual environment CPython3.8.3.final.0-64 in 587ms
  creator CPython3Posix(dest=/Users/baileythegreen/Software/joss-reviews/conTEXT-explorer/env, clear=False, no_vcs_ignore=False, global=False)
  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/Users/baileythegreen/Library/Application Support/virtualenv)
    added seed packages: pip==20.3.3, setuptools==51.3.3, wheel==0.36.2
  activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator

! env/bin/pip install -r requirements.txt

Here is the file I previously managed to upload, and which I am now unable to load.
pride_chapters.csv
I am able to select the file, designate which column is which field, and hit 'upload'; it seems to register the request, but then I get this traceback:
<IP_ADDRESS> - - [25/Sep/2021 16:56:49] "POST /_dash-update-component HTTP/1.1" 200 -
<IP_ADDRESS> - - [25/Sep/2021 16:57:55] "GET / HTTP/1.1" 200 -
<IP_ADDRESS> - - [25/Sep/2021 16:57:55] "GET /assets/custom-styles.css?m=1625594956.0 HTTP/1.1" 304 -
<IP_ADDRESS> - - [25/Sep/2021 16:57:55] "GET /assets/fonts.css?m=1625594956.0 HTTP/1.1" 304 -
<IP_ADDRESS> - - [25/Sep/2021 16:57:55] "GET /assets/base-styles.css?m=1625594956.0 HTTP/1.1" 304 -
<IP_ADDRESS> - - [25/Sep/2021 16:57:55] "GET /_dash-layout HTTP/1.1" 200 -
<IP_ADDRESS> - - [25/Sep/2021 16:57:55] "GET /_dash-dependencies HTTP/1.1" 200 -
<IP_ADDRESS> - - [25/Sep/2021 16:57:55] "GET /_favicon.ico?v=1.14.0 HTTP/1.1" 200 -
<IP_ADDRESS> - - [25/Sep/2021 16:57:55] "POST /_dash-update-component HTTP/1.1" 200 -
<IP_ADDRESS> - - [25/Sep/2021 16:57:55] "POST /_dash-update-component HTTP/1.1" 200 -
<IP_ADDRESS> - - [25/Sep/2021 16:57:58] "POST /_dash-update-component HTTP/1.1" 200 -
<IP_ADDRESS> - - [25/Sep/2021 16:57:58] "POST /_dash-update-component HTTP/1.1" 200 -
<IP_ADDRESS> - - [25/Sep/2021 16:58:06] "POST /API/resumable?resumableChunkNumber=1&resumableChunkSize=1048576&resumableCurrentChunkSize=4408&resumableTotalSize=4408&resumableType=text%2Fcsv&resumableIdentifier=4408-pride_chapter_1csv&resumableFilename=pride_chapter_1.csv&resumableRelativePath=pride_chapter_1.csv&resumableTotalChunks=1&upload_id=5add0ea8-1e19-11ec-b127-784f43a434f6 HTTP/1.1" 200 -
<IP_ADDRESS> - - [25/Sep/2021 16:58:06] "POST /_dash-update-component HTTP/1.1" 200 -
<IP_ADDRESS> - - [25/Sep/2021 16:58:06] "POST /_dash-update-component HTTP/1.1" 200 -
<IP_ADDRESS> - - [25/Sep/2021 16:58:06] "POST /_dash-update-component HTTP/1.1" 200 -
./whoosh_search/pride_chapter_1_index/ created.
[ Indexing Finished. In total 0 documents. ]
[nltk_data] Downloading package stopwords to
[nltk_data]     /Users/baileythegreen/nltk_data...
[nltk_data]   Package stopwords is already up-to-date!
[2021-09-25 16:58:21,743] ERROR in app: Exception on /_dash-update-component [POST]
Traceback (most recent call last):
  File "/Users/baileythegreen/Software/joss-reviews/conTEXT-explorer/env/lib/python3.8/site-packages/flask/app.py", line 2070, in wsgi_app
    response = self.full_dispatch_request()
  File "/Users/baileythegreen/Software/joss-reviews/conTEXT-explorer/env/lib/python3.8/site-packages/flask/app.py", line 1515, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/Users/baileythegreen/Software/joss-reviews/conTEXT-explorer/env/lib/python3.8/site-packages/flask/app.py", line 1513, in full_dispatch_request
    rv = self.dispatch_request()
  File "/Users/baileythegreen/Software/joss-reviews/conTEXT-explorer/env/lib/python3.8/site-packages/flask/app.py", line 1499, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
  File "/Users/baileythegreen/Software/joss-reviews/conTEXT-explorer/env/lib/python3.8/site-packages/dash/dash.py", line 1050, in dispatch
    response.set_data(func(*args, outputs_list=outputs_list))
  File "/Users/baileythegreen/Software/joss-reviews/conTEXT-explorer/env/lib/python3.8/site-packages/dash/dash.py", line 985, in add_context
    output_value = func(*args, **kwargs)  # %% callback invoked %%
  File "app.py", line 2345, in uploading
    get2 = generate_models_fromapp.build_model(df,corpus_name,content_col)
  File "/Users/baileythegreen/Software/joss-reviews/conTEXT-explorer/topic_model/generate_models_fromapp.py", line 63, in build_model
    nlp = spacy.load('en_core_web_sm', disable=['parser', 'ner'])
  File "/Users/baileythegreen/Software/joss-reviews/conTEXT-explorer/env/lib/python3.8/site-packages/spacy/__init__.py", line 30, in load
    return util.load_model(name, **overrides)
  File "/Users/baileythegreen/Software/joss-reviews/conTEXT-explorer/env/lib/python3.8/site-packages/spacy/util.py", line 169, in load_model
    raise IOError(Errors.E050.format(name=name))
OSError: [E050] Can't find model 'en_core_web_sm'. It doesn't seem to be a shortcut link, a Python package or a valid path to a data directory.
<IP_ADDRESS> - - [25/Sep/2021 16:58:21] "POST /_dash-update-component HTTP/1.1" 500 -
[2021-09-25 16:58:29,100] ERROR in app: Exception on /_dash-update-component [POST]
Traceback (most recent call last):
  File "/Users/baileythegreen/Software/joss-reviews/conTEXT-explorer/env/lib/python3.8/site-packages/flask/app.py", line 2070, in wsgi_app
    response = self.full_dispatch_request()
  File "/Users/baileythegreen/Software/joss-reviews/conTEXT-explorer/env/lib/python3.8/site-packages/flask/app.py", line 1515, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/Users/baileythegreen/Software/joss-reviews/conTEXT-explorer/env/lib/python3.8/site-packages/flask/app.py", line 1513, in full_dispatch_request
    rv = self.dispatch_request()
  File "/Users/baileythegreen/Software/joss-reviews/conTEXT-explorer/env/lib/python3.8/site-packages/flask/app.py", line 1499, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
  File "/Users/baileythegreen/Software/joss-reviews/conTEXT-explorer/env/lib/python3.8/site-packages/dash/dash.py", line 1050, in dispatch
    response.set_data(func(*args, outputs_list=outputs_list))
  File "/Users/baileythegreen/Software/joss-reviews/conTEXT-explorer/env/lib/python3.8/site-packages/dash/dash.py", line 985, in add_context
    output_value = func(*args, **kwargs)  # %% callback invoked %%
  File "app.py", line 2346, in uploading
    get3 = word2vec.train_model(corpus_name)
  File "/Users/baileythegreen/Software/joss-reviews/conTEXT-explorer/topic_model/word2vec.py", line 10, in train_model
    sentences=pd.read_pickle(processed_file_name).body.values.tolist()[0]
  File "/Users/baileythegreen/Software/joss-reviews/conTEXT-explorer/env/lib/python3.8/site-packages/pandas/io/pickle.py", line 185, in read_pickle
    with get_handle(
  File "/Users/baileythegreen/Software/joss-reviews/conTEXT-explorer/env/lib/python3.8/site-packages/pandas/io/common.py", line 651, in get_handle
    handle = open(handle, ioargs.mode)
FileNotFoundError: [Errno 2] No such file or directory: './topic_model/pride_chapter_1/processed_content_pride_chapter_1.pkl'
<IP_ADDRESS> - - [25/Sep/2021 16:58:29] "POST /_dash-update-component HTTP/1.1" 500 -
<IP_ADDRESS> - - [25/Sep/2021 16:58:32] "GET / HTTP/1.1" 200 -
<IP_ADDRESS> - - [25/Sep/2021 16:58:33] "GET /assets/base-styles.css?m=1625594956.0 HTTP/1.1" 304 -
<IP_ADDRESS> - - [25/Sep/2021 16:58:33] "GET /assets/custom-styles.css?m=1625594956.0 HTTP/1.1" 304 -
<IP_ADDRESS> - - [25/Sep/2021 16:58:33] "GET /assets/fonts.css?m=1625594956.0 HTTP/1.1" 304 -
<IP_ADDRESS> - - [25/Sep/2021 16:58:33] "GET /_dash-layout HTTP/1.1" 200 -
<IP_ADDRESS> - - [25/Sep/2021 16:58:33] "GET /_dash-dependencies HTTP/1.1" 200 -
<IP_ADDRESS> - - [25/Sep/2021 16:58:33] "GET /_favicon.ico?v=1.14.0 HTTP/1.1" 200 -
<IP_ADDRESS> - - [25/Sep/2021 16:58:33] "POST /_dash-update-component HTTP/1.1" 200 -
<IP_ADDRESS> - - [25/Sep/2021 16:58:33] "POST /_dash-update-component HTTP/1.1" 200 -
<IP_ADDRESS> - - [25/Sep/2021 17:01:36] "POST /_dash-update-component HTTP/1.1" 200 -
<IP_ADDRESS> - - [25/Sep/2021 17:01:36] "POST /_dash-update-component HTTP/1.1" 200 -
<IP_ADDRESS> - - [25/Sep/2021 17:01:40] "POST /API/resumable?resumableChunkNumber=1&resumableChunkSize=1048576&resumableCurrentChunkSize=29023&resumableTotalSize=29023&resumableType=text%2Fcsv&resumableIdentifier=29023-pride_chapterscsv&resumableFilename=pride_chapters.csv&resumableRelativePath=pride_chapters.csv&resumableTotalChunks=1&upload_id=dc4c7f82-1e19-11ec-b127-784f43a434f6 HTTP/1.1" 200 -
<IP_ADDRESS> - - [25/Sep/2021 17:01:40] "POST /_dash-update-component HTTP/1.1" 200 -
<IP_ADDRESS> - - [25/Sep/2021 17:01:40] "POST /_dash-update-component HTTP/1.1" 200 -
<IP_ADDRESS> - - [25/Sep/2021 17:01:40] "POST /_dash-update-component HTTP/1.1" 200 -
[nltk_data] Downloading package stopwords to
[nltk_data]     /Users/baileythegreen/nltk_data...
[nltk_data]   Package stopwords is already up-to-date!
[2021-09-25 17:01:49,741] ERROR in app: Exception on /_dash-update-component [POST]
Traceback (most recent call last):
  File "/Users/baileythegreen/Software/joss-reviews/conTEXT-explorer/env/lib/python3.8/site-packages/flask/app.py", line 2070, in wsgi_app
    response = self.full_dispatch_request()
  File "/Users/baileythegreen/Software/joss-reviews/conTEXT-explorer/env/lib/python3.8/site-packages/flask/app.py", line 1515, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/Users/baileythegreen/Software/joss-reviews/conTEXT-explorer/env/lib/python3.8/site-packages/flask/app.py", line 1513, in full_dispatch_request
    rv = self.dispatch_request()
  File "/Users/baileythegreen/Software/joss-reviews/conTEXT-explorer/env/lib/python3.8/site-packages/flask/app.py", line 1499, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
  File "/Users/baileythegreen/Software/joss-reviews/conTEXT-explorer/env/lib/python3.8/site-packages/dash/dash.py", line 1050, in dispatch
    response.set_data(func(*args, outputs_list=outputs_list))
  File "/Users/baileythegreen/Software/joss-reviews/conTEXT-explorer/env/lib/python3.8/site-packages/dash/dash.py", line 985, in add_context
    output_value = func(*args, **kwargs)  # %% callback invoked %%
  File "app.py", line 2345, in uploading
    get2 = generate_models_fromapp.build_model(df,corpus_name,content_col)
  File "/Users/baileythegreen/Software/joss-reviews/conTEXT-explorer/topic_model/generate_models_fromapp.py", line 63, in build_model
    nlp = spacy.load('en_core_web_sm', disable=['parser', 'ner'])
  File "/Users/baileythegreen/Software/joss-reviews/conTEXT-explorer/env/lib/python3.8/site-packages/spacy/__init__.py", line 30, in load
    return util.load_model(name, **overrides)
  File "/Users/baileythegreen/Software/joss-reviews/conTEXT-explorer/env/lib/python3.8/site-packages/spacy/util.py", line 169, in load_model
    raise IOError(Errors.E050.format(name=name))
OSError: [E050] Can't find model 'en_core_web_sm'. It doesn't seem to be a shortcut link, a Python package or a valid path to a data directory.
<IP_ADDRESS> - - [25/Sep/2021 17:01:49] "POST /_dash-update-component HTTP/1.1" 500 -

Hi @baileythegreen ,
The problem may be due to your python version. Please refer : https://github.com/alicia-ziying-yang/conTEXT-explorer#install-required-dependencies
The python version has to be 3.7.5.
And you may need to do: python -m spacy download en after installing all packages in the requirements.txt.
Could you please try these two, and see if there is still any error?
Thank you for checking!

@alicia-ziying-yang @baileythegreen i was able to install and run the software using python==3.7.5. Given similar issues could be avoided using python packaging, I opened #15.


nixos/nginx: don't hide nginx config errors on nixos-rebuild --switch with reload enabled

Closes https://github.com/NixOS/nixpkgs/issues/73455
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[X] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

Notify maintainers
cc @domenkozar @Izorkin @aanderse @ckauhaus

I know about https://github.com/NixOS/nixpkgs/pull/74072, but I have a test working so it is not blocked by that PR.

@Mic92 you are right, the systemctl reload was redundant. However I now changed it a bit - it doesn't reload nginx, but only checks config file for errors.
The reason I still do systemctl reload is to create an entry in log file for nginx.service:
# journalctl -u nginx | tail -n2
Dec 23 09:35:07 c1 systemd[1]: Reloading Nginx Web Server.
Dec 23 09:35:07 c1 systemd[1]: Reloaded Nginx Web Server.

I can implement that with running logger manually from reload script. Do you think it is better to run logger explicitly, rather than relying on systemd reload?
I also removed stopIfChanged = false;. Due to how nixos activation works, on nginx confiuration change it tries to a) restart nginx-config-reload.service and b) start multi-user.target. If there is an error in config, it will fail twice - first time during restart, second time during start, because those are done as separate systemctl commands. In some cases (DNS lookup error) this may cause very long activation delay.
However, if unit is stopped first, then activate starts both nginx-config-reload.service and multi-user.target together, which produces only one failure.

@danbst Looks good to me. Please rebase to current master.

@domenkozar @ckauhaus what do you think, this has to be backported to 19.09? I believe it should, but I need confirmation

Yup.


Avatar Id fails to load. "Failed to download the editor colors"

Describe the bug
If I try to launch the Avatar Creator with an Avatar Id of an avatar I designed (no user login), it fails with a "Failed to download the editor colors" error message.
Files
https://models.readyplayer.me/64b7f6f8cc53bb5f7ec4a5fb.glb
To Reproduce
Steps to reproduce the behavior:

Go to the level blueprint.
Create an Avatar Creator Widget and add it to viewport
Set an avatar ID (64b7f6f8cc53bb5f7ec4a5fb) and the parameter as seen in the first image below.
Play in editor and see the widget appear.
See error "Failed to download the editor colors" after some loading.

Expected behavior
If an avatar ID is given, it is expected that the model is loaded and the avatar creator is able to make changes to it.
Screenshots

Desktop (please complete the following information):

RpmAvatarCreator plugin version: 0.4.0
ReadyPlayerMe plugin version: 1.1.1
glTFRuntime plugin version: 20230530
Unreal Engine version: UE5.2
Operating System: Windows
Platform: Editor

The ability to edit the avatar using the avatar ID is an experimental feature that exists only in Unreal CustomAvatarCreator.
Only the user that creates an avatar can edit it afterward. If the avatars are made anonymously they can be edited only with the same anonymous user. I assume what happens here is the generated token for the anonymous user expires and there is practically no way to get a token for the same user. Maybe this feature shouldn't be applied for the cases where the user is not logged in.

I'll check with the team to understand what should we do with this experimental feature.
Also two points.

you shouldn't use the demo subdomain, it has some restrictions. You should create your own subdomain using the studio.
I see that you created a custom version of the avatar creator, what are the features that were missing in the default version of the AvatarCreator that you would like to have?

Hello @gadamyan, Thank you for your attention.
Our main objective is to edit existing NPCs. This entails two things:

Loading a pre-existing model designed by our team and not associated with a user.
Allow only partial editing, where the physical attributes (face, skin color, etc.) remain unchanged and the remaining features (clothes, hats, glasses, face paints, etc.) are editable.

We implemented the latter, so we are using a custom version. The former is why this issue exists; because we did not find a good way to load a model easily.


Try to optimize aggregate_ngram_counts

Currently, this is the main bottleneck for the program, and takes more than 80% of the time.
We expect that as the size of the data grows this will be even greater.
Try to think a little bit on how to optimize this. If some simple improvement comes up, It could be worthwhile implementing it.

When running the code with 120 CPUs, this is the main bottle neck. So I want to figure out how to speed this out.
maybe increasing the size, or using a different query could be useful.
On bookcorpus, this takes ~4 hours, and all other operations together take ~30 minuts.

I can also use the spec of the machine I got from the log to choose the correct run-parameters.

OK, so the fix works!
I'm just left with updating the times results from the logs to the README.md file


Hosted service Ebola_Cases/FeatureServer does not have a service definition item

The hosted service "Ebola Cases" item exists id:376ff64becf1408ea7cfaffdddf531f7 but does not have an associated service definition portal item. Without the service definition item the service won't be published to any user conference machines.
NOTE: Only hosted services published from ArcGIS Desktop or ArcGIS Pro, which upload a service definition item to portal, will be published to the UC servers.

This hosted feature service is created from importing a CSV to Portal as part of the first demo in Collaboration and Reporting. This CSV and service will be deleted before each dry run of the demo.


Secure communication between components

Feature Request
Some components of a connector can be split in multiple machine and they communicate for now
via Rest API (eg. Remote DPF).  Those communications are mostly without authentication mechanism since they are not supposed
to be exposed publicly. Though it would be nice to be able to configure the authentication between components, which should be separated for the current Auth mechanism for the public APIs
Which Areas Would Be Affected?
All Internal Controller and clients calls
Why Is the Feature Desired?
To have a secure communication between components
Solution Proposed
probably it should be provided in the form of an Architecture Decision Record
Type of Issue
new feature, improvement

relates/duplicates #839


Create digisign-id

Hello, I'm Budi from Digisign assigned to perform updates on the PKI Consortium GitHub. Thank you.

Duplicate of #44, please make all changes in one pull request


Only use version if there is one

if we are in a local file that doesn't have a version, omit the version from the versionedName
closes #18

:tada: This PR is included in version 2.2.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


issue installing on Mint 20.2 under a VMWare machine

Hi and thanks for your amazing work.
I currently run under windows 10 and the only program left not working under linux is Fusion360.
I've been looking at various tutorials (playonlinux, lutris.....) but none seem to work and now I get on your solution that is just amazing in terms of work and package solution! bravo!
still, it does not work on my fresh installed VM. (double click shows working mouse icon for a few seconds then nothing... even after hours of wait). My computer is a Lenovo X1Carbon, equipped with a i7 processor and 16GB Ram. VM has two cores and 8GB ram assigned.
Is it because I run a virtual machine and not a physical computer? am I missing something?
if you can give this a try (just install a Mint on VMWare and run your script) to tell me what is causing this, that would be so awesome.
Sorry for daring asking you so much, hope you can help me!
Regards,
Allan.

@DJSpray You are welcome. 😊
I'll take a look at it. 👍
I just had to change my script before I have seen your post because I had forgotten something in two places due to the restructuring of the scropted. 😅

I have tested this into a VM and it works perfectly for me! 👍

Damn.....
I have to see why it does so, but at least I know it should :)
Will try again and keep you posted.
On Sat, Sep 4, 2021, 19:35 Steve Zabka @.***> wrote:

I have tested this into a VM and it works perfectly for me! 👍
[image: Bildschirmfoto_2021-09-04_19-34-25]
https://user-images.githubusercontent.com/79079633/132103487-999728f0-8d56-4033-8a0c-e2d177a15d63.png
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/cryinkfly/Fusion-360---Linux-Wine-Version-/issues/84#issuecomment-913010825,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATR4HRQIGDGCNDAXKR47YKDUAJKHBANCNFSM5DNNU6MA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Okay 👍 I will temporarily close this post.
If the problem persists, please re-open this post again here! 😊

Hi Cryinkfly.
just for info, I was tired of trying on VMWare and installed VirtualBox to
give it a try.
worked from the first try!
thanks and sorry again!
Le sam. 4 sept. 2021 à 20:59, Steve Zabka @.***> a
écrit :

Closed #84
https://github.com/cryinkfly/Fusion-360---Linux-Wine-Version-/issues/84.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/cryinkfly/Fusion-360---Linux-Wine-Version-/issues/84#event-5256753128,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATR4HRR6M5GDAQSCVOM5XZ3UAJUA7ANCNFSM5DNNU6MA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


Fix wwi_url value in webots.js

Fix value of wwi_url in case a query was added in the script include declaration as in robotbenchmark use case.
This PR also fixed a problem with the format of the menu.png url.

:+1:

:+1:

I would rather get rid of this getImageUrl() function which is not very useful...

I would rather get rid of this getImageUrl() function which is not very useful...

I don't agree.
I think it is much better to hard code the url/path to images folder only in one place instead of hard coding it many times everywhere in the code.

Regarding getImageUrl(), I don't like this kind of method for the following reasons:

It doesn't do what its name suggests (e.g., it is specific to PNG and will fail with a JPEG).
It is hiding a simple piece of code, harming the understanding of the code using this method: we are just adding a simple prefix and a suffix to a string. To understand what it does, the user should identify and open the corresponding source file, search for the method and check the body of this method. This would be unnecessary if we would simply append an absolute reference to the wwi default url, e.g., "/images/icon.png" instead of passing "icon" to getImageUrl().

We can change the method so that it return the url to the images wwi/images folder if you prefer.
But even if it is a very simple function I really think that it is better to store the wwi/images/ path in a single place in the the code.
Hard coding it every time we need to access a resource file will result in a big mess and not in a well structured code. And if you will need to change the file structure it will require much more work that simply changing it in a simple position

We can change the method so that it returns the url to the images wwi/images folder if you prefer.

Yes, that would be better.

But even if it is a very simple function I really think that it is better to store the wwi/images/ path in a single place in the the code.
Hard coding it every time we need to access a resource file will result in a big mess and not in a well structured code. And if you will need to change the file structure it will require much more work that simply changing it in a simple position

I agree, but this is a trade-off between readability and maintenance. From both points of views, it is not a big deal and won't cause us any big readability or maintenance trouble in any case. So, you suggestion to return the path to the images folder seems to be a good compromise.


[BEAM-389] Fix the uses of DelegateCoder in Combine

R: @kennknowles

Jenkins broke on checkstyle.

Fixed Jenkins

LGTM , thanks


Support for ESP DEVKIT V1 (generic from ali express)

I have one of these: https://www.aliexpress.com/item/3256801743620798.html?spm=a2g0o.order_list.0.0.120a1802llozYz (the DEVKIT V1), which I thought was a DIOT, but I'm not certain anymore. It's been flashing as the DIOT just fine, but who knows. Anyway, I've flashed it and it's discovering the bot, but it won't discover the commands like my wrover will.
Here's a screenshot from MQTT explorer with only relevant parts (note how the bottom is missing (set = ):

They are the both connecting to the same device (but even when I only had the bottom one on, it didn't work.
Here's my config (expires in a month, but I can always repaste if needed): https://pastebin.com/7TbCT4FJ
Logs from serial monitor (with debug on): https://pastebin.com/jviG7Mtc
Without debug, it basically is just:
2:58:30.327 -> lld_pdu_get_tx_flush_nb HCI packet count mismatch (1, 2)
22:58:30.664 -> lld_pdu_get_tx_flush_nb HCI packet count mismatch (1, 2)
22:58:31.991 -> lld_pdu_get_tx_flush_nb HCI packet count mismatch (1, 2)
22:58:33.069 -> lld_pdu_get_tx_flush_nb HCI packet count mismatch (1, 2)
22:58:34.727 -> lld_pdu_get_tx_flush_nb HCI packet count mismatch (1, 2)
22:58:35.021 -> lld_pdu_get_tx_flush_nb HCI packet count mismatch (1, 2)
22:58:36.353 -> lld_pdu_get_tx_flush_nb HCI packet count mismatch (1, 2)

So I'm thinking that this is an issue with something going wrong with the model maybe? But I'm too new to microcontrollers to know. Any thoughts? Ways I can help you debug?

it all looks good from here. you can see a "REQUESTSETTINGS" command was sent and success so I think youve compile and uploaded correctly. "REQUESTSETTINGS" is also a command sent to the bot to get firmware, holdsecs values. It just doesn't make the bot move. The rssi of -83 isnt great but it did at least work once
what seems to be the issue is qith MQTT broker somewhere. if you sent a command, no matter what it should show in the 'set' topic. Even with the esp32 unplugged as this is done by the MQTT broker
you can try using a separate MQTT username and password for the 2nd esp32

Hmmm, having same generic ESP-32 38Pin and just finished setting everything up, and it's working, but there is really big delay between commands sent from ESP to Switchbot Curtain, and having same log as @Jacksonbm1
21:27:35.377 -> lld_pdu_get_tx_flush_nb HCI packet count mismatch (1, 2)
basically this start to spam serial port once command is sent

@scetu those logs are normal and sent from the NimBLE library. No way to turn them off from what I can tell. They aren't sent from my code directly
what is the rssi linkquality value for the curtain device. This value shows the BLE signal quality. How close is the esp32 to the curtain? the closer the better

@devWaves ESP is 3-4 meters from curtains, without obstacles

@scetu you might have a dud esp32. -88 is not a good signal. You want something at least in the -70s
You are sure the esp32 you have doesn't need an external antenna plugged into it?

@devWaves ok, I will investigate it more tommorow, or will try to move it further. Thanks for suggestion, I will let you know, I've sent command from HA and curtains did not respond at all but I will check it tommorow and this was in log
Logger: homeassistant.components.mqtt.discovery
Source: components/mqtt/discovery.py:107
Integration: MQTT (documentation, issues)
First occurred: 12:37:46 AM (12 occurrences)
Last logged: 12:37:48 AM

Received message on illegal discovery topic 'homeassistant/sensor/Závěsy_-_Levá_strana/linkquality/config'
Received message on illegal discovery topic 'homeassistant/sensor/Závěsy_-_Levá_strana/illuminance/config'
Received message on illegal discovery topic 'homeassistant/sensor/Závěsy_-_Levá_strana/position/config'
Received message on illegal discovery topic 'homeassistant/binary_sensor/Závěsy_-_Pravá_strana/calibrated/config'
Received message on illegal discovery topic 'homeassistant/binary_sensor/Závěsy_-_Levá_strana/calibrated/config'

@scetu spaces in the names are replaced with _ and you have a space before and after the - . HA might also might not like the special characters. These would be from HA, not the esp32
not sure what HA doesn't like but I would suggest a name like Zavesy_Leva_strana  if you are having issues

@devWaves ok after playing a bit, deleting and renaming device, it works more responsively - there is sometimes delay 2-3 secs, but it works and no errors in logs and all commands are executed in queue.
Thanks for your great work!

Huh, really weird, it works now fine after plugging back in. Didn't change anything to my knowledge.

Nvm. It doesn't work. What ends up happening is I have two esp32s. The first works, but the second (the one with the code here) doesn't seem to actually work. The weird thing is that it's information shows up in mqtt explorer, but it seems like it's trying to send the command through the wrong esp. When you say:
"you can try using a separate MQTT username and password for the 2nd esp32, but it probably won't fix things as the issue is with MQTT receiving the set command, not the esp32"
Isn't this the password for my broker (set up through HA)? Why would it be different? Maybe that'll solve.

@Jacksonbm1 if you ever loaded multiple esp32s with the same devices that could mess things up. If you aren't using MQTT for other things the easiest things to do is delete everything under the homeassistant and switchbot MQTT topics using MQTT Explorer (with the esp32s unplugged), then plug them back in. This will start things from scratch It is possible you have a device incorrectly associated to the wrong esp32 topic
You can create different username/passwords for MQTT HA by simply creating a new user in HA. Use those credentials

@scetu the delay of 2-3 secs is caused by poor signal. A signal of something like -50rssi will have no delay (or close to it)

Ok I will try that. Little scared to do that bc it might nuke my setup, but I will give it a go

Yeah I've been doing that. I got it all working (I did, unfortunately reflash the wrong esp32, but that's fine, I'm 99% of the way to getting that one back online to what it's original purpose was). The great thing is, I got the bots working. Two were trying to connect to the same device and I think that was causing problems! I think it's now fixed, though! Thank you for your help! Also, semi-possible that one of them had a bad bluetooth receiver (I shelved it because I thought it was causing the issues, but I'm thinking it actually wasn't)


AA4 both examples of first-order theorem

Have one defined everywhere and one defined nearby

Make at least one of the undefined points not an endpoint of the interval

Decided to drop first-order theorem, but the linear order example should make sure to randomly choose which subinterval of the domain to use (not always center)


Enhancement: event when Image is loaded

Is it possible to add an event when the image is loaded? This way we can trigger some aditional logic when a specific image has been downloaded and loaded.

Great point! While you could do this in the current API, it wasn't possible without overriding onDrawableLoaded(), which I don't think is a good solution. Also, I've been meaning to implement callbacks for image errors so that the view can display a broken image placeholder or something similar.
I've implemented these changes in the "develop" branch but am not 100% certain that this will be the final interface used in version 1.0.1. However, the next version will definitely have the ability to easily override WebImageView and get callbacks about when images are finished loading.

That would be awesome, looking forward for these changes!

This has been implemented in 1.1.0; there is now a Listener interface in WebImageView which you can implement and pass to a WebImageView class to receive updates about image loading status. Check out the example project for a usage example.


Unable to convert resnet18 tensorflow on tiny-imagenet to MMdnn IR

Platform (like ubuntu 16.04/win10): Ubuntu 16.04
Python version: 2.7.12
Source framework with version (like Tensorflow 1.4.1 with GPU): Tensorflow 1.9.0 with GPU
Destination framework with version (like CNTK 2.3 with GPU): MMdnn IR
Pre-trained model path (webpath or webdisk path): https://drive.google.com/file/d/1kQzbpEE1F8e2IU2YG-ejVpxgYtGjN2qw/view?usp=sharing
Running scripts:
mmtoir -f tensorflow -n resnet18_for_mmdnn.ckpt.meta -w resnet18_for_mmdnn.ckpt --dstNodeName final_dense -o converted

My final goal is to convert a tf model to pytorch model. Following instruction here, I decide to convert the tf model to MMdnn IR first.
I save my tf model in tf.train.Saver V1 data format, which is the same as imagenet resnet 152 model in the above instruction.
I'm experimenting with tiny-imagenet, thus the shape of input image is (batch_size, 64, 64, 3), and the shape of label is (batch_size, 200).
My output is
Parse file [/xxx/resnet18_for_mmdnn.ckpt.meta] with binary format successfully.
Tensorflow model file [/xxx/resnet18_for_mmdnn.ckpt.meta] loaded successfully.
Tensorflow checkpoint file [/xxx/resnet18_for_mmdnn.ckpt] loaded successfully. [91] variables loaded.
Traceback (most recent call last):
  File "/usr/local/bin/mmtoir", line 11, in <module>
    sys.exit(_main())
  File "/usr/local/lib/python2.7/dist-packages/mmdnn/conversion/_script/convertToIR.py", line 192, in _main
    ret = _convert(args)
  File "/usr/local/lib/python2.7/dist-packages/mmdnn/conversion/_script/convertToIR.py", line 115, in _convert
    parser.run(args.dstPath)
  File "/usr/local/lib/python2.7/dist-packages/mmdnn/conversion/common/DataStructure/parser.py", line 22, in run
    self.gen_IR()
  File "/usr/local/lib/python2.7/dist-packages/mmdnn/conversion/tensorflow/tensorflow_parser.py", line 310, in gen_IR
    func(current_node)
  File "/usr/local/lib/python2.7/dist-packages/mmdnn/conversion/tensorflow/tensorflow_parser.py", line 413, in rename_Conv2D
    self._get_bias(source_node, IR_node)
  File "/usr/local/lib/python2.7/dist-packages/mmdnn/conversion/tensorflow/tensorflow_parser.py", line 352, in _get_bias
    assert variable.layer.attr['shape'].shape.dim[0].size == IR_node.attr['kernel_shape'].list.i[-1]
IndexError: list index out of range

Hi @ZiangYan , Thanks for your issue, we have fix it! But there is a layers for pre-processing (sub in 3 axis)  we don't implement it because MMdnn focus on the network architecture part . You need to add it in the converted pytorch model code file. Thanks!

Cool!
Thanks a lot.

Cool!
Thanks a lot.


destructuring import fails in native mjs-file

This doesn't work when running with Node.js 8.5 experimental modules support
//redux.mjs
import { createStore } from "redux"

function counter(state = 0, action) {
  switch (action.type) {
  case 'INCREMENT':
    return state + 1
  case 'DECREMENT':
    return state - 1
  default:
    return state
  }
}

let store = createStore(counter)
store.subscribe(() =>
  console.log(store.getState())
)
store.dispatch({ type: 'INCREMENT' })
store.dispatch({ type: 'INCREMENT' })
store.dispatch({ type: 'INCREMENT' })

I'm getting this error:
$ node --experimental-modules --no-warnings redux.mjs
SyntaxError: The requested module does not provide an export named 'createStore'
    at checkComplete (internal/loader/ModuleJob.js:86:27)
    at moduleJob.linked.then (internal/loader/ModuleJob.js:69:11)
    at <anonymous>

I starts working if I do the destructuring after the import instead:
import redux from "redux"
const { createStore } = redux

OK. That's an experimental feature, but the same happens when importing through @std/esm and running without experimental modules so one starts to wonder if there is something wrong with the Redux module and if it only works when used through Babel :
// index.js
require = require("@std/esm")(module)
module.exports = require("./redux.mjs").default

Exactly same behavior repeats:
$ node index.js
SyntaxError: Module '/private/tmp/fc1c5a2f65d756568d28afc2db4fa0ae/node_modules/redux/lib/index.js' does not provide an export named 'createStore'
    at /private/tmp/fc1c5a2f65d756568d28afc2db4fa0ae/redux.mjs
    at Object.<anonymous> (/private/tmp/fc1c5a2f65d756568d28afc2db4fa0ae/redux.mjs)

Again it works if the destructuring is done separately:
import redux from "redux"
const { createStore } = redux

What is the expected behavior?
I would expect desctructuring to work in imports since that is the format used in Redux docs.
Which versions of Redux, and which browser and OS are affected by this issue? Did this work in previous versions of Redux?
Versions:

redux: 3.7.2
node: 8.5.0
std/esm: 0.10.1

You need to use the module build, I believe. It's at redux/es/index.js.
However, this is all an experimental feature, so I'm not sure how sub-dependencies work. Perhaps at some point in the future, we can offer .mjs files in our package. But we should wait until the spec is finalized and the flag is gone from node.

Yeah, I think I saw John-David Dalton say that while you can "import" CJS modules into an ESM module, you deliberately are not allowed to do named imports when you do so.

Yeah, I think I saw John-David Dalton say that while you can "import" CJS modules into an ESM module, you deliberately are not allowed to do named imports when you do so.

Correct. You can unlock it with @std/esm using the "cjs" option. There's also a PR open on Node to enable loader hooks in ESM that allow enabling importing named exports of CJS.


Update Docker image tagging in release workflow

#115  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @iuwqyir and the rest of your teammates on  Graphite


Potential Memory Leak Issue in PrometheusModel class

Describe the bug
There seems to be a memory leak caused because of the class : metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/prometheus/PrometheusUtil.java
Whenever a request to the prometheus metrics endpoint is made, this class execution results in the creation of ~400K objects which seem to stay in memory and the garbage collection for these objects does not happen in a timely manner. As a result whenever a new request comes in, the heap usage keeps on increasing which leads to the services eventually running out of heap space.
What we observe is that even the 2nd consecutive request made to the endpoint results in a OOM issue.
To Reproduce
Steps to reproduce the behavior:

Used a custom application that uses vespa for search.
Hit the prometheus/v1/values endpoint at regular intervals of 1 min
The metrics-proxy service eventually runs OOM
We see that we additionally run out of disk space as well due to the flooding of opt/vespa/var/crash folder with multiple .hprof files generated for each OOM occurrence.

Expected behavior
The prometheus/v1/values endpoint consistently responds with the correct response without an OOM.
Environment (please complete the following information):

OS: linux [ rhel 8 ]
Infrastructure: self hosted on podman containers
Versions : 8.270.8

Vespa version
8.270.8
Additional context
Discussed the issue over slack as well.

Memory footprint somewhat reduced in https://github.com/vespa-engine/vespa/pull/30928

Probably not a leak. It was probably still executing the first request when the second came in.
Thois should have been fully streamed. I will see if that is possible.

With #30936 prometheus format is generated in a streaming fashion. Each MetricFamily is fully generated before processing to the next. Prometheus format should now have the same footprint as the other formats.
This will be part of 8.332.5