formula_cellar_checks: check for shim dir references

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew tests with your changes locally?

I can't realistically test everything, but I ran brew list | xargs -n 1 brew audit --only=installed and got:
gcc:
  * Files were found with references to the Homebrew shims directory.
    The offending files are:
      libexec/gcc/x86_64-apple-darwin18/9.3.0/install-tools/fixincl
Error: 1 problem in 1 formula detected
ilmbase:
  * Files were found with references to the Homebrew shims directory.
    The offending files are:
      share/ilmbase/IexMath/CMakeFiles/IexMath.dir/link.txt
      share/ilmbase/IexMath/CMakeFiles/IexMath.dir/build.make
      share/ilmbase/IexMath/CMakeFiles/IexMath.dir/flags.make
      share/ilmbase/IlmThread/CMakeFiles/IlmThread.dir/link.txt
      share/ilmbase/IlmThread/CMakeFiles/IlmThread.dir/build.make
      share/ilmbase/IlmThread/CMakeFiles/IlmThread.dir/flags.make
      share/ilmbase/Imath/CMakeFiles/Imath.dir/link.txt
      share/ilmbase/Imath/CMakeFiles/Imath.dir/build.make
      share/ilmbase/Imath/CMakeFiles/Imath.dir/flags.make
      share/ilmbase/ImathTest/CMakeFiles/ImathTest.dir/link.txt
      share/ilmbase/ImathTest/CMakeFiles/ImathTest.dir/build.make
      share/ilmbase/ImathTest/CMakeFiles/ImathTest.dir/flags.make
      share/ilmbase/IexTest/CMakeFiles/IexTest.dir/link.txt
      share/ilmbase/IexTest/CMakeFiles/IexTest.dir/build.make
      share/ilmbase/IexTest/CMakeFiles/IexTest.dir/flags.make
      share/ilmbase/Half/CMakeFiles/toFloat.dir/link.txt
      share/ilmbase/Half/CMakeFiles/toFloat.dir/build.make
      share/ilmbase/Half/CMakeFiles/toFloat.dir/flags.make
      share/ilmbase/Half/CMakeFiles/eLut.dir/link.txt
      share/ilmbase/Half/CMakeFiles/eLut.dir/build.make
      share/ilmbase/Half/CMakeFiles/eLut.dir/flags.make
      share/ilmbase/Half/CMakeFiles/Half.dir/link.txt
      share/ilmbase/Half/CMakeFiles/Half.dir/build.make
      share/ilmbase/Half/CMakeFiles/Half.dir/flags.make
      share/ilmbase/HalfTest/CMakeFiles/HalfTest.dir/link.txt
      share/ilmbase/HalfTest/CMakeFiles/HalfTest.dir/build.make
      share/ilmbase/HalfTest/CMakeFiles/HalfTest.dir/flags.make
      share/ilmbase/Iex/CMakeFiles/Iex.dir/link.txt
      share/ilmbase/Iex/CMakeFiles/Iex.dir/build.make
      share/ilmbase/Iex/CMakeFiles/Iex.dir/flags.make
Error: 1 problem in 1 formula detected
imagemagick:
  * Files were found with references to the Homebrew shims directory.
    The offending files are:
      bin/MagickCore-config
      bin/MagickWand-config
      bin/Magick++-config
Error: 1 problem in 1 formula detected
perl:
  * Files were found with references to the Homebrew shims directory.
    The offending files are:
      lib/perl5/5.30.2/darwin-thread-multi-2level/CORE/config.h
      lib/perl5/5.30.2/darwin-thread-multi-2level/Config_heavy.pl
Error: 1 problem in 1 formula detected
ruby:
  * Files were found with references to the Homebrew shims directory.
    The offending files are:
      lib/libruby.2.7.dylib
      lib/ruby/2.7.0/x86_64-darwin18/rbconfig.rb
Error: 1 problem in 1 formula detected

gcc (sed), imagemagick (pkg-config) and perl (sed) look like genuine problems.
ruby (clang): depends on what MJIT_CC is.
ilmbase (various) looks like build files that should not be installed in the first place.

This makes sense to me a PR but my concern is: does this mean CI for perl, ruby, etc. will fail from now on? If so: I think it might be worth holding off on this before at least some of the big and popular packages are fixed (so we're not going to be seeing red CI on updates).

imagemagick: Homebrew/homebrew-core#53162
gcc: Homebrew/homebrew-core#53185
perl: Homebrew/homebrew-core#53186
ruby: Homebrew/homebrew-core#53187
ilmbase: Homebrew/homebrew-core#53188

Other ones on mine (brew audit --only=installed $(brew list)) libusb<EMAIL_ADDRESS><EMAIL_ADDRESS>

<EMAIL_ADDRESS>is covered under the Ruby pull request. Earlier versions should be fine since they don't have JIT support.
I'll look at libusb and<EMAIL_ADDRESS>

Nice, thanks @Bo98 ❤

libusb: Homebrew/homebrew-core#53190
<EMAIL_ADDRESS>(and other versions likely) is a INFO_BIN file describing how MySQL was built. It's pretty harmless. I guess we could either whitelist it or delete it.

<EMAIL_ADDRESS>(and other versions likely) is a INFO_BIN file describing how MySQL was built. It's pretty harmless. I guess we could either whitelist it or delete it.

👍 to just whitelist.

All linked pull requests have been merged.

Thanks @Bo98!


open slim.report.json: permission denied with version 1.36

Expected Behavior
No error

Actual Behavior
Using docker-slim version linux|Transformer|1.35.0|6eca3ad331720c31a7e398ffaf002a896dc9a70a|2021-04-15_02:48:03AM -> works well
Using docker-slim version linux|Transformer|1.36.0|5dad378523ed9d53f6e5de21f6b98f07da4f7d59|2021-06-13_02:46:04AM -> ERROR below
time="2021-06-14T16:40:34Z" level=fatal msg="docker-slim: failure" error="open slim.report.json: permission denied" stack="goroutine 1 [running]:\nruntime/debug.Stack(0x4, 0x40d730, 0xc0001e3d20)\n\truntime/debug/stack.go:24 +0x9f\ngithub.com/docker-slim/docker-slim/pkg/util/errutil.FailOn(0xf014a0, 0xc00061e480)\n\tgithub.com/docker-slim/docker-slim/pkg/util/errutil/errutil.go:28 +0x54\ngithub.com/docker-slim/docker-slim/pkg/report.(*Command).saveInfo(0xc000142e00, 0xd0eaa0, 0xc000142e00, 0xc00062a1e0)\n\tgithub.com/docker-slim/docker-slim/pkg/report/command_report.go:429 +0x26b\ngithub.com/docker-slim/docker-slim/pkg/report.(*BuildCommand).Save(...)\n\tgithub.com/docker-slim/docker-slim/pkg/report/command_report.go:443\ngithub.com/docker-slim/docker-slim/pkg/app/master/commands/build.OnCommand(0xc00013e008, 0xc000134230, 0x7ffe1d452819, 0x10, 0x0, 0xc000164000, 0xc000159d00, 0x14d08b8, 0x0, 0x0, ...)\n\tgithub.com/docker-slim/docker-slim/pkg/app/master/commands/build/handler.go:890 +0x510b\ngithub.com/docker-slim/docker-slim/pkg/app/master/commands/build.glob..func1(0xc000144160, 0xc000148000, 0xc000148540)\n\tgithub.com/docker-slim/docker-slim/pkg/app/master/commands/build/cli.go:515 +0x27fc\ngithub.com/urfave/cli.HandleAction(0xca4aa0, 0xe21d70, 0xc000144160, 0xc000144160, 0x0)\n\tgithub.com/urfave/cli@v1.22.4/app.go:526 +0xfd\ngithub.com/urfave/cli.Command.Run(0xddeb95, 0x5, 0x0, 0x0, 0x145a9b0, 0x1, 0x1, 0xe161cb, 0x6c, 0x0, ...)\n\tgithub.com/urfave/cli@v1.22.4/command.go:174 +0x58e\ngithub.com/urfave/cli.(*App).Run(0xc00012e000, 0xc000030300, 0x2e, 0x30, 0x0, 0x0)\n\tgithub.com/urfave/cli@v1.22.4/app.go:279 +0x7e8\ngithub.com/docker-slim/docker-slim/pkg/app/master.Run()\n\tgithub.com/docker-slim/docker-slim/pkg/app/master/app.go:15 +0x54\nmain.main()\n\tgithub.com/docker-slim/docker-slim/cmd/docker-slim/main.go:8 +0x25\n" version="linux|Transformer|1.36.0|5dad378523ed9d53f6e5de21f6b98f07da4f7d59|2021-06-13_02:46:04AM"

Steps to Reproduce the Problem
Run a 'docker-slim build' with different versions: 1.35 and 1.36. I am using the binaries directly from GitHub releases (not compiled myself).

Specifications

Version:  version linux|Transformer|1.36.0|5dad378523ed9d53f6e5de21f6b98f07da4f7d59|2021-06-13_02:46:04AM
Platform:  Linux x86_64

@beltran-rubo thank you for opening the issue! Do you mind sharing a bit more about your setup? Where do you have the docker-slim executable and where do you run your docker-slim command?
The slim.report.json files is the the report file for the command you run and it gets saved in the current working directory where you are when you run the docker-slim command. Saving the report file may fail if you are somewhere where your current system user doesn't have permissions to write.

I have the 'docker-slim' & 'docker-slim-sensor' binaries in my home directly: "~/docker-slim build ...".
-rwxr-xr-x   1 beltran beltran     7806976 Jun 14 16:37  docker-slim-sensor
-rwxr-xr-x   1 beltran beltran    17367040 Jun 14 16:37  docker-slim
-rw-r--r--   1 beltran beltran       20151 Jun 11 16:29  slim.report.json

It fails if I execute the 'docker-slim' command from a directory with root privileges: 'cd /var && ~/docker-slim build ...'

@beltran-rubo Thanks for the additional context! slim.report.json gets saved in the current working directory by default. You can pick a different location using the global --report flag like this: docker-slim --report your/custom/path/to/slim.report.json build your-image.
In the next release I'll add an enhancement to use the temp directory if saving to the current directory fails.

@beltran-rubo  the 1.36.1 version should have the command report location enhancement... do you mind trying it - https://github.com/docker-slim/docker-slim/releases/tag/1.36.1

Thanks for the quick turnaround, I can confirm this is fixed in 1.36.1.

nice!


fix password changes via synced device

the plan is to store old passwords in the wallet file. we'll handle them with the same level of security as the private keys. when a password change occurs, unsynced wallets can be unlocked during sync_apply because old passwords are in the sync data.
BC issue
the below steps introduce a BC break because the structure of the encrypted data will change and old sdks will not be able to decrypt it
steps
PR 1

[ ] update the payload encryption:

[ ] generate a salt the first time a wallet is encrypted.
[ ] use scrypt (or another KDF) on user's password with the wallet salt to generate a derived key
[ ] use derived key to encrypt wallet data
[ ] HMAC encrypted data with derived key
[ ] encrypted wallet looks like: [version][salt][hmac][encrypted data]

[ ] update the payload decryption to verify the HMAC and report a wrong password if the values do not match
[ ] ensure decryption is backwards compatible

PR 2

[ ] add a section to the wallet file called password_history. it will be a list of strings.
[ ] add new command wallet_change_password which changes the in-memory wallet password and adds the new password's derived key (scrypted with wallet salt) to the wallet password list if its not there yet. wallet must be unlocked to call this command.
[ ] modify wallet_encrypt to add the derived key to the password list
[ ] modify wallet_decrypt to erase the stored list of derived keys
[ ] modify sync_apply such that if the wallet is locked when it is called, it will try to unlock the wallet with the provided password. if that fails, it will use the provided password to decrypt the payload and try unlocking the wallet with the derived keys in the payload. if one of those keys succeeds, it will call wallet_change_password with the key that succeeded, and re-lock the wallet after applying the payload.

related: https://github.com/lbryio/lbry-sdk/issues/2175, https://github.com/lbryio/lbry-sdk/issues/1843, https://github.com/lbryio/lbry-sdk/issues/2583

update description following discussion with jack

we are releasing lbry.tv passwords today without this, another candidate to fix


Consumption as value

Hi!
Thanks for the great firmware. I use it with the78mole board.
Is it possible to integrate the calculation of the oil consumption direct into the firmware and populate it via mqtt?
I use this calculation:
(Einschaltdauer_in_h * Verbrauch_KG_h * kg_in_l_umrechnungsfaktor)*100)/100
Verbrauch_KG_h = 1.9
kg_in_l_umrechnungsfaktor = 1.197
I think the same calcualtion is applicable for gas with other values :)
Thanks
Jens

Hi dwenni,
I also implemented a consumption counter using the running hours of the buderus controller:
sensor
 - platform: template
    name: "Oil Energy Equivalent"
    unit_of_measurement: kWh
    device_class: energy
    state_class: total_increasing
    entity_category: diagnostic
    accuracy_decimals: 3
    lambda: !lambda |-
      if(id(runtime1_minutes).state) {
        return id(runtime1_minutes).state * (21.0 / 0.95) / 60.0;
      }
      return NAN;
    filters:
      - debounce: 1s

Hi Jens, Hi Daniel,
up to now, that was nothing I was interested, because I have this separate oil meter installed.
But I can think of it for sure.
At the moment I also did not compute the overall runtime inside the ESP. There are only the 3 different values:
Brenner_Laufzeit_Minuten
Brenner_Laufzeit_Minuten256
Brenner_Laufzeit_Minuten65535
overall minutes = Brenner_Laufzeit_Minuten + (256*Brenner_Laufzeit_Minuten256) + (65535*Brenner_Laufzeit_Minuten65535)

This is also something I can provide as separate mqtt topic.
And if I have this overall runtime inside the code, I could also think of some calculated consumption.
The question is, what kind of config value to provide?
Option 1 could be a definition of "oil consumption per hour" (Litre/hour)
Option 2 could be the approach from Daniel with the Heater Type in (kW) and the efficiency factor.
Option 3 could be to support both :-)
Lets see, I am also working on the next update with some new stuff.

@qutschwalze with release v1.3.3 or later, I have already implemented the calculated "overall runtime" in minutes directly in the program.
You will get a new mqtt message: "Brenner_Laufzeit_Summe" / "burner_runtime_overall" based on:
Brenner_Laufzeit_Minuten + (256*Brenner_Laufzeit_Minuten256) + (65536*Brenner_Laufzeit_Minuten65536)
Next step would be to add a calculation for the consumption.

Hi @qutschwalze ,
I would suggest to implement this calculation:
Config Part:
/*--------------------------------------------------------------------------------
Optional: calculation of oil consumption based on burner runtime
--------------------------------------------------------------------------------*/
#define USE_CALCULATED_CONSUMPTION      // use calculated oil consumption
                                        // formula: Consumption_Litre = Runtime_Minutes / 60 * CFG_CONSUMPTION_KG_H / CFG_OIL_DENSITY_KG_L

#define CFG_CONSUMPTION_KG_H 2.0        // oil consumption in "kilograms per hour" - see documentation of your heater
#define CFG_OIL_DENSITY_KG_L 0.85       // densitiy of oil in "kilograms per Litle"

Cyclic Part:
#ifdef USE_CALCULATED_CONSUMPTION
double_t oil_consumption = runtime_sum / 60 * CFG_CONSUMPTION_KG_H / CFG_OIL_DENSITY_KG_L;
"mqttPublish(oil_consumption);"
#endif

Would that fit to your needs?
That would be a "endless consumption" value. You have to build your own Offset, for example after refill your oil tanks.
Otherwise I have to add additional functions to set an offset value and store it to EEPROM.
Would be also possible if this is necessary, but If you don't need it, I wouldn't implement this.

@qutschwalze
with the new release I also implemented the calculated consumption value.
You can enable this in the config.h  as described above.
The german mqtt topic is: Oelverbrauch_Gesamt_berechnet
It is also available in the new webUI under "Brenner"

It would be nice if you can give me a feedback if this fits your needs.

Wow! The new firmware is very cool! It also seems that it runs stable in my environment.
Can you check if your calculation matches your oilmeter?

It is very strange...
Yesterday I have activated the calculated oil consumption with #ifdef USE_CALCULATED_CONSUMPTION and then I had several reboots after 5-10 minutes. Then I have disabled it and it runs stable in the last 24h.
I can not imagine what´s the reason behind this.
Up to now I don't use the FreeRTOS in the Project and everything runs in the normal loop() in one Core.
I will have a look at FreeRTOS in the next few days and see if I can implement that in this project.
This could be an advantage for the parallel tasks and maybe it makes the software more stable.
Whereby it's basically been stable for me for months.

Hi Sven, at the moment it runs very stable with the consumption calculation. No reboots, no ping losses.
My old calculation program and your calculation matches almost. I think the differences are because I use 4 decimal places with the old version.

thanks for the feedback. Then I will close the issue


Fix link to Eventing setup in NATSS

Fixes broken link from https://github.com/knative/eventing-contrib/pull/811

/assign @abd4lla


"Float80 is not available on target platform" when building for macOS on Apple Silicon

I get this error building for macOS on Apple Silicon using 12.5 beta 3 (12E5244e):
'Float80' is unavailable: Float80 is not available on target platform.

I suspect that has something to do with Apple Silicon so the check should be different based on architecture.

This is when importing UserDefault BTW :)


Tabs with pf styles

After addressing issue #247, additional updates are needed to apply the patternfly style to the tabs listed below:

Blueprint contents, components/ListView/BlueprintContents.js

This UI displays in two places:

On Blueprint page, click Selected Components tab. This tab has a second set of tabs as shown below:

On Edit Blueprint page, in the Blueprint Components panel:

Component details view, components/ListView/ComponentDetailsView.js

This UI displays in two places:

On Blueprint page, click Selected Components tab, then click the name of a component in the list view. This will display the component details view.
On Edit Blueprint page, click any component name (in either Available Components or Blueprint Components panels) to display the details view.

This has been implemented.


It's possible to navigate to not supported features/controls through Related section.

Describe the bug
For WinUI 3 version of the app, Reveal is disabled in the Styles menu. However, you can navigate to Reveal page through Acrylic -> Related controls section.
Steps to reproduce the bug
Steps to reproduce the behavior:

Go to Styles menu.
See 'Reveal' is disabled and can't be clicked.
Click on 'Acryclic' and navigate to Acrylic page.
Check the 'Related controls' section on the right and see 'Reveal' is there.
Click on 'Reveal' and see the empty page.

Expected behavior
Reveal should not be visible  in related controls with Acrylic.
Actual behavior
Reveal is visible and can be navigatable.
Screenshots

Version Info

[X] App downloaded from Store

<IP_ADDRESS> version

[ ] App built locally from source

If so, which branch? (WinUI 3 versions are built off the winui3preview branch)

Additional context

Windows 10 version:

[ ] Insider Build (xxxxx)
[X] May 2020 Update (19041)
[ ] November 2019 Update (18363)
[ ] May 2019 Update (18362)
[ ] October 2018 Update (17763)
[ ] April 2018 Update (17134)
[ ] Fall Creators Update (16299)
[ ] Creators Update (15063)
[ ] Anniversary Update (14393)

Device form factor:

[X] Desktop
[ ] Mobile
[ ] Xbox
[ ] Surface Hub
[ ] IoT

No longer applicable to version 1.3.15


Sticker not showning

Sticker not showing

Sticker not showing

Hello. Do you have libwebp installed on your machine? If don't, try to install it first.
Download it, extract the file to C:\ and rename it to libwebp. After that, open your command prompt as administrator and type this command setx /m PATH "C:\libwebp\bin;%PATH%". Restart the terminal and try to run the bot again.

Sticker not showing

Hello. Do you have libwebp installed on your machine? If don't, try to install it first.
Download it, extract the file to C:\ and rename it to libwebp. After that, open your command prompt as administrator and type this command setx /m PATH "C:\libwebp\bin;%PATH%". Restart the terminal and try to run the bot again.

This is required because this bot needs to set the EXIF file to raw webp stickers before sending it to users. What is the EXIF file for? EXIF file is for storing sticker metadata which is you can customize it.

This is required because this bot needs to set the EXIF file to raw webp stickers before sending it to users. What is the EXIF file for? EXIF file is for storing sticker metadata which is you can customize it.

Hi, I have a simple tutorial how to install libwebp for Windows, hope it helps you
https://user-images.githubusercontent.com/76523793/104813861-66bfe200-583e-11eb-9b57-91e5a24c7dba.mp4

Hi, I have a simple tutorial how to install libwebp for Windows, hope it helps you
https://user-images.githubusercontent.com/76523793/104813861-66bfe200-583e-11eb-9b57-91e5a24c7dba.mp4

oof, Thanks brah
but still not showing

oof, Thanks brah
but still not showing

oof, Thanks brah
but still not showing

Can you give us a piece of detailed information about the error?

oof, Thanks brah
but still not showing

Can you give us a piece of detailed information about the error?

it actually sent the sticker but not loading
i mean you cant see the sticker

it actually sent the sticker but not loading
i mean you cant see the sticker

despite i have everything downloaded

despite i have everything downloaded

This error surely strange, any error logs? Have you confirmed that the sticker is also not loading from other users?

This error surely strange, any error logs? Have you confirmed that the sticker is also not loading from other users?

hummm...no error

hummm...no error

hummm...no error

What if you type webpmux in your terminal, does it show a command list?

hummm...no error

What if you type webpmux in your terminal, does it show a command list?

maybe problem with the libwebp
at first it was showing webpmux  as is not recognized as an internal or external command,
operable program or batch file. then i moved the webpmux to my bots fiile

maybe problem with the libwebp
at first it was showing webpmux  as is not recognized as an internal or external command,
operable program or batch file. then i moved the webpmux to my bots fiile

hummm...no error

What if you type webpmux in your terminal, does it show a command list?

nah it doesnt show

hummm...no error

What if you type webpmux in your terminal, does it show a command list?

nah it doesnt show

hummm...no error

What if you type webpmux in your terminal, does it show a command list?

nah it doesnt show

Nailed it. That's the problem, make sure your libwebp is installed correctly in your PATH system.

hummm...no error

What if you type webpmux in your terminal, does it show a command list?

nah it doesnt show

Nailed it. That's the problem, make sure your libwebp is installed correctly in your PATH system.

maybe problem with the libwebp
at first it was showing webpmux as is not recognized as an internal or external command,
operable program or batch file. then i moved the webpmux to my bots fiile

It won't solve the issue. Please consider retrying the installation procedure.

maybe problem with the libwebp
at first it was showing webpmux as is not recognized as an internal or external command,
operable program or batch file. then i moved the webpmux to my bots fiile

It won't solve the issue. Please consider retrying the installation procedure.

hummm...no error

What if you type webpmux in your terminal, does it show a command list?

nah it doesnt show

Nailed it. That's the problem, make sure your libwebp is installed correctly in your PATH system.

it should be in the C:/ file rightt?

hummm...no error

What if you type webpmux in your terminal, does it show a command list?

nah it doesnt show

Nailed it. That's the problem, make sure your libwebp is installed correctly in your PATH system.

it should be in the C:/ file rightt?

Let me make it simple.

Download libwebp here
Extract the file to C:/ and rename it as libwebp.
Open CMD as Administrator.
Type setx /m PATH "C:/libwebp/bin;%PATH%"
Re-open the CMD and make sure libwebp is installed by typing webpmux and the command list will show.
Then run the bot as CMD is running in Administrator.

Let me make it simple.

Download libwebp here
Extract the file to C:/ and rename it as libwebp.
Open CMD as Administrator.
Type setx /m PATH "C:/libwebp/bin;%PATH%"
Re-open the CMD and make sure libwebp is installed by typing webpmux and the command list will show.
Then run the bot as CMD is running in Administrator.

i did that and showing me this

i did that and showing me this

now working thenks

now working thenks

apears that something was wrong with ma code

apears that something was wrong with ma code

THANKS REALLY!!!!!

THANKS REALLY!!!!!

Glad to hear that.

Glad to hear that.


Stop Donation button displays after donation stream has ended

Issue
"Stop Donation" still displays after donation streaming is complete.
Wallet address - 0x7B1a84b6546C7F8fe95fa4E94E4FD1b2eB040165

Fix
Screen state should return to "Donate" button after either streaming period is complete OR user cancels stream

@decentralauren
this is not a bug, streams are infinite. see #213


Some progress on Agreements

In GitLab by @AlexKnauth on Dec 31, 2020, 05:00
Some progress towards #48 with Agreements

Merged: 069a4248aada3e54a67a71ddfb622591ef4f860a


Orientation of image APP icon image in README.md

The orientation of the APP icon in README.md to align with the center
to use the feature-graphic image as futter in README.md

feature-graphic image is not being used anywhere
location of the image:- screenshots folder!

I am GSSoC participant I would like to work on this, can you please assign it to me!
THANK YOU!

The Readme.md looks good for now. If any change is needed, we would open a new issue.

@krayong what about Futter image then? that stock image is not in use,
location of that image - screenshot folder(feature-graphic)

It was added there in case it needed to be used later.


chat: reverting problematic save

Stops state from getting corrupted with wrong type

Bingo, thank you

Ping @ryjm


[RFE] gadgets: Separate Event data structure by related fields

Current situation
As discussed in  https://github.com/kinvolk/inspektor-gadget/pull/238#discussion_r700284527, the socket-collector gadget uses the Event data structure which is not really suitable because socket-collector is not an event-based gadget.
Impact
It is not really an issue but could cause confusion.
Ideal future situation
An initial proposal is:
Split eventtypes.Event into one named Kubernetes with Node, Namespace, Pod and Container, Host fields. Then, I would create another one named Event which includes Kubernetes and adds Err, Ready and Notice fields. This new data structure would replace the old eventtypes.Event.
Starting from that, the DNS gadget can create its own (Maybe DnsEvent) based on Event as it was before, while socket-collector would create one based on Kubernetes and adds its own fields, resulting in something that would finally deserve to be called Socket.

https://github.com/kinvolk/inspektor-gadget/commit/bbb2524ce621ed6dbb7aaa3fe044f88e75f3bab6 introduced a CommonData structure as you described it here. It's still missing to update the socket collector to use it.

I think this is not needed anymore as we're focusing on image-based gadgets now (#1929). @blanquicet WDYT?

Agree. Closing based on previous comment.


godot 4.3 project does not include keystore/... lines in export_presets.cfg, breaking example android export

the example gitlab-ci.yml file expects keystore/... lines to exist in the export_presets.cfg, but they do not in a new godot 4.3 project
gitlab-ci.yml lines in question:
    - sed 's@keystore/release=".*"@keystore/release="'/root/release.keystore'"@g' -i export_presets.cfg
    - sed 's@keystore/release_user=".*"@keystore/release_user="'$SECRET_RELEASE_KEYSTORE_USER'"@g' -i export_presets.cfg
    - sed 's@keystore/release_password=".*"@keystore/release_password="'$SECRET_RELEASE_KEYSTORE_PASSWORD'"@g' -i export_presets.cfg
    - godot --headless --verbose --export-release "Android"

I ported this to github actions and it works fine if I append the following to my android release in my export_presets.cfg:
keystore/release=""
keystore/release_user=""
keystore/release_password=""

but this gets overwritten anytime I change something about my export presets from godot, so these lines go missing again, breaking the android export. What would be the best way to add these lines to the file if they are missing?
my export job for android for github actions looks something like this:
name: "godot-ci export"
on: push

env:
  GODOT_VERSION: 4.3
  EXPORT_NAME: export-name

jobs:
  export-android:
    name: Android Export
    runs-on: ubuntu-20.04
    container:
      image: barichello/godot-ci:4.3
    steps:
      - name: Checkout
        uses: actions/checkout@v4
        with:
          lfs: true
      - name: Setup
        run: |
          mkdir -v -p ~/.local/share/godot/export_templates/
          mkdir -v -p ~/.config/
          mv /root/.config/godot ~/.config/godot
          mv /root/.local/share/godot/export_templates/${GODOT_VERSION}.stable ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable
          echo "the following line is a fix for the current docker file and will be fixed by PR 158"
          echo 'export/android/java_sdk_path = "/usr/lib/jvm/java-17-openjdk-amd64"' >> ~/.config/godot/editor_settings-4.3.tres
      - name: Android Build
        env:
          SECRET_RELEASE_KEYSTORE_BASE64: ${{ secrets.SECRET_RELEASE_KEYSTORE_BASE64 }}
          SECRET_RELEASE_KEYSTORE_USER: ${{ secrets.SECRET_RELEASE_KEYSTORE_USER }}
          SECRET_RELEASE_KEYSTORE_PASSWORD: ${{ secrets.SECRET_RELEASE_KEYSTORE_PASSWORD }}
        run: |
          mkdir -v -p build/android
          echo $SECRET_RELEASE_KEYSTORE_BASE64 | base64 --decode > /root/release.keystore
          sed -i 's|keystore/release=".*"|keystore/release="'/root/release.keystore'"|g' export_presets.cfg
          sed -i 's|keystore/release_user=".*"|keystore/release_user="'$SECRET_RELEASE_KEYSTORE_USER'"|g' export_presets.cfg
          sed -i 's|keystore/release_password=".*"|keystore/release_password="'$SECRET_RELEASE_KEYSTORE_PASSWORD'"|g' export_presets.cfg
          cat export_presets.cfg
          godot --headless --verbose --export-release "Android" "build/android/$EXPORT_NAME.apk"
      - name: Upload Artifact
        uses: actions/upload-artifact@v4
        with:
          name: android
          path: build/android

adding the following to the setup stage "fixes the issue", but is very hacky.
The android export preset must be the last one in the file for this to work
echo 'keystore/release=""' >> export_presets.cfg
echo 'keystore/release_user=""' >> export_presets.cfg
echo 'keystore/release_password=""' >> export_presets.cfg

I now understand why these lines are missing:
this sensitive data has been moved to .godot/export_credentials.cfg in some godot update (4.1?)
Not sure if there is a way to generate this file. godot --headless --verbose --import did not generate this file unfortunately. So the sed command cannot just be pointed to this file instead.

I switched from using the export config to using environment variables for android.
so in my gitlab ci yml, im doing the following
android:
   stage: export
   rules:
     - if: $SECRET_RELEASE_KEYSTORE_USER
     - if: $SECRET_RELEASE_KEYSTORE_PASSWORD
   script:
     - echo $SECRET_RELEASE_KEYSTORE_BASE64 | base64 --decode > /root/release.keystore
     - export GODOT_ANDROID_KEYSTORE_RELEASE_PATH=/root/release.keystore
     - export GODOT_ANDROID_KEYSTORE_RELEASE_USER=$SECRET_RELEASE_KEYSTORE_USER
     - export GODOT_ANDROID_KEYSTORE_RELEASE_PASSWORD=$SECRET_RELEASE_KEYSTORE_PASSWORD
     - sed 's@version/code=".*"@version/code='$CI_PIPELINE_IID'@g' -i export_presets.cfg
     - sed 's@version/name=".*"@version/name="'$CI_COMMIT_SHORT_SHA'"@g' -i export_presets.cfg
     - godot --headless --verbose --export-release "Android" ./build/android/$EXPORT_NAME.apk
   artifacts:
     name: $EXPORT_NAME-$CI_JOB_NAME
     paths:
       - build/android
   tags:
    - godot

i'm having a different issue where it says theres a configuration error, but doesnt print what the error is. I don't think its related to the keystore, because i get the same error whether or not I use the old method or this one.

I switched from using the export config to using environment variables for android.

... wow. I totally missed that those exist, that seems way easier.

i'm having a different issue where it says theres a configuration error, but doesnt print what the error is. I don't think its related to the keystore, because i get the same error whether or not I use the old method or this one.

have you tried removing those sed lines and printing out your config with cat export_presets.cfg to see what the file contains?

Oh, I managed to fix it. I don't fully understand sed, so my edits most likely were putting quotes around something that didn't need them.


Puppet inserting --- before outputs in yml

Hi,
Iv found puppet keeps inserting --- above the outputs section in our yml file which is making winlogbeat ignore the outputs section. Example below:
https://gist.github.com/moretalk/498f5f400e31fa13661c6419768cc6c3

Are you getting anything before the initial winlogbeat:? I'd like to know which template file is getting used.
What version of puppet are you using?

Hi Sorry should of said it's the new template > ruby 18. I tried forcing the old template and although --- was not there it still had some weird indentation that stopped it working. Puppet server 3.8.7

Had this problem with winlogbeat.yml.erb  template
change the template last lines like
### Winlogbeat configuration managed by Puppet ###
<%= @winlogbeat_config.to_yaml %>
  winlogbeat:
    registry_file: <%= @registry_file %>
    <%- if @event_logs != nil -%>
    event_logs:
      <%- @event_logs.each do |event_log,options| -%>
      - name: <%= event_log %>
        ignore_older: <%= options["ignore_older"] %>
      <%- end -%>
    <%- end -%>


how to include custom ivy-repo generated by pivy-importer in build.gradle

Using the ivy repo in my project's gradle file in the following way gives an error
apply plugin: "com.linkedin.python-sdist"
    repositories {
        ivy {url '<DIR>/pygradle/build/ivy-repo/'}
    }

> Could not find pypi:requests:2.9.1.
  Searched in the following locations:
      file:<DIR>/pygradle/build/ivy-repo/pypi/requests/2.9.1/ivy-2.9.1.xml
      file:<DIR>/pygradle/build/ivy-repo/pypi/requests/2.9.1/requests-2.9.1.jar
  Required by:
 <user>
> Could not find pypi:numpy:1.9.0.
  Searched in the following locations:
      file:<DIR>/pygradle/build/ivy-repo/pypi/numpy/1.9.0/ivy-1.9.0.xml
      file:<DIR>/pygradle/build/ivy-repo/pypi/numpy/1.9.0/numpy-1.9.0.jar
  Required by:
 <user>

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

BUILD FAILED

Why is it looking for .jar and .xml files? The ivy-repo has .ivy and .tar.gz files.
(Sorry for so many questions. If you would rather have me post on stackoverflow, please let me know the tag I should use.)

Here's the answer
repositories {
        ivy {
            artifactPattern "<DIR>/pygradle/build/ivy-repo/[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"
            ivyPattern '<DIR>/pygradle/build/ivy-repo/[organisation]/[module]/[revision]/[module]-[revision].ivy'
        }

@sonalgupta, thanks for the input. I'll update the docs on the best way to do this. The PR is attached to the ticket, do you think the update makes since?

the example code added to the docs works. thanks.

Sweet, I'll close this once the PR gets merged. Thanks for letting us know!


Finite Difference Pricer using heap allocated vectors

Important Notes
This Pull Request is regarding issue https://github.com/avhz/RustQuant/issues/98 for the creation of a finite difference pricer.
I have made 2 PRs for this particular issue. Only one of them needs to be merged if the decision has been made to merge.
nalgebra vs heap allocated vectors
This PR uses heap allocated vectors to represent vectors and matrices with functions to handle the appropriate linear algebra calculations (+ matrix multiplication has been optimised for tridiagonal matrices). The other PR utilises the nalgebra package.
The way in which the objects and methods should be used are exactly the same for both PRs.
There are differences in speed performance between the two implementations.
An example with the following parameters:
initial_price: 3.22,
strike_price: 12.87,
risk_free_rate: 0.02,
volatility: 0.2,
time_to_maturity: 365,
type_flag: TypeFlag::Put
exercise_flag: ExerciseFlag::American

We get the following runtimes when we run one instance of both implementations

Method
vec (latest commit)
nalgebra branch

Explicit
18.032395ms
447.828518ms

Implicit
475.63228ms
548.617466ms

Crank-Nicolson
496.54801ms
1.034193406s

We can immediately see that the explicit method is about ~17 22~ 24  times faster using vectors (this PR) than using the nalgebra package and runtime for the Crank-Nicolson method is ~roughly halved~ more than halved (This is at least the case for the machine I am running the code on).
Contents of this PR
This PR implements the following features:

A struct, FiniteDifferencePricer in the module instruments::options::finite_difference_pricer, where the attributes are the parameters of an option, namely:

initial_price: f64
strike_price: f64
risk_free_rate: f64
volatility: f64
time_to_maturity: u16
type_flag: TypeFlag
exercise_flag: ExerciseFlag

where TypeFlag and ExerciseFlag are imported from instruments::options::option

A constructor for the above struct with the new() method which takes in the above defined attributes as arguments

Three public methods implemented in the FiniteDifferencePricer for the three widely known finite difference methods, namely explicit(), implicit() and crank_nicolson() which returns the option price rounded to 2 decimal places

Demonstration by example
We can start off by defining the finite difference object by calling the new() constructor
use RustQuant::instruments::options::{
    option::{TypeFlag, ExerciseFlag},
    finite_difference_pricer::FiniteDifferencePricer,
};

let finite_difference_obj = FiniteDifferencePricer::new(
    15.55,                  // initial_price
    10.2,                   // strike_price
    0.1,                    // risk_free_rate
    0.025,                  // volatility
    1,                      // time_to_maturity
    TypeFlag::Call,         // type_flag
    ExerciseFlag::American  // exercise_flag
);

Now that the object has been defined, we can run any of the 3 methods to provide a numerical approximation of the option price:
println!("Explicit method: {}", finite_difference_obj.explicit());
println!("Implicit method: {}", finite_difference_obj.implicit());
println!("Crank-Nicolson: {}", finite_difference_obj.crank_nicolson());

Running the above code yields the following results:
Explicit method: 5.35
Implicit method: 5.35
Crank-Nicolson: 5.35

Notes

Since I am using heap allocated vectors in this PR, I have had to manually calculate the inverse for the tridiagonal matrix for the implicit and Crank-Nicolson finite difference methods. I have done so by implementing the theorem outlined in this paper

I have opted to solve this problem using a struct to define the option parameters and from there we can run each finite difference method from the object. Alternatively, I could amend the PR so that it can be purely functional.

The code utilises the Dirichlet condition for the boundaries of the stock price extremities (I took a screenshot of an md file I wrote as LaTeX seemingly does not render in PRs):

We can also implement the option use the Neumann conditions, perhaps in another pull request in the future.

~EDIT 1: Optimisation amendments~
~In the code there are two private methods that seemingly do the same thing, create_tridiagonal_matrix() and create_trimmed_tridiagonal_matrix(). The difference between the two is that the former returns the matrx representation whole i.e. inclusive of all outer zeros, whilst the former only stores the the values of the three diagonals on a row by row basis.~
~As such, two private methods for matrix multiplication had to be created to handle the two data structures, appropriately named matrix_multiply_vector() and trimmed_tridiagonal_matrix_multiply_vector().~
~The reason both representation exist is because for explicit methods, only the diagonal values of the matrix are required to implement the approximation, whereas for implicit methods we require the whole matrix in order to calculate its inverse (though, this can be amended in a future PR).~
~This change has fractionally increased speed performances for explicit() and crank_nicolson().~
EDIT 2: Condensing methods + single data structure for tridiagonal matrices
Previously two distinct representations of a tridiagonal matrix were implemented:

Data structure 1: A vector containing vectors representing rows in the matrix
Data structure 2: A vector containing vectors of only the tridiagonal elements in a row

An example for each case respectively:
Data structure 1:
[
  [2,1,0,0,0],
  [1,2,1,0,0],
  [0,1,2,1,0],
  [0,0,1,2,1],
  [0,0,0,1,2],
]

Data structure 2:
[
  [2,1],
  [1,2,1],
  [1,2,1],
  [1,2,1],
  [1,2],
]

This branch will now only utilise data structure 2 to represent tridiagonal matrices and operations.

Changes have been made as per suggestions from @avhz to this branch and the nalgebra branch

thanks for your work !


Start new event stream via AggregateHandler

I've been toying around with Marten and Wolverine to wrap my head around DDD, CQRS, and event sourcing. I really love the projects so far, thanks for the great work! Also, thanks @oskardudycz your EventSourcing.NetCore repo. The event sourcing workshop samples are amazing, especially the part where you demonstrate the immutable/mixed/mutable business logic with Marten.
I also really like Wolverine's convention-based approach for AggregateHandlers you describe in the docs.
Looking at the code-gen logic inside LoadAggregateFrame, AggregateHandlers only really work for existing aggregate streams containing events.
I initially searched the code base for StartStream because I was wondering if aggregate handlers could also be used to start new streams. This way I came across this TODO item in your code and was wondering if this is a feature you're planning (I couldn't find an issue)?
https://github.com/JasperFx/wolverine/blob/70a6c847286e43a615a4b2f0f9e9f317fdd2f300/src/Http/WolverineWebApi/Marten/Orders.cs#L82-L91
As an aside, I'm trying to combine the imperative approach from the Aggregates, Events, Repositories Marten docs with the mixed business logic approach from Oskars sample repo and apply that to the Order sample from the Event Store & CQRS Support Wolverine docs.
Here's what the result could look like:
public class Order
{
    public static OrderCreated CreateWithItems(Item[] items)
    {
        // Inject more domain logic here to make the factory method actually useful
        // ...

        var @event = new OrderCreated(items);

        // This "Apply()" is superfluous and just to demonstrate the pattern
        var order = new Order(@event);

        return @event;
    }

    // This basically acts as an "Apply()" method Marten also understands
    // It works better with nullable reference types
    private Order(OrderCreated created)
    {
        foreach (var item in created.Items) Items[item.Name] = item;
    }

    // [...]

    // Push the domain logic from the handler into the aggregate
    public void MarkItemAsReady(string itemName)
    {
	if (!Items.TryGetValue(itemName, out var item))
            // Some crude validation
            throw new InvalidOperationException($"Item {itemName} does not exist in this order");

        // Mark this item as ready
        var @event = new ItemReady(item.Name);

        // Not doing this in a purist way here, but just
        // trying to illustrate the Wolverine mechanics
        Apply(@event)

        return @event;
    }

    private void Apply(ItemReady ready)
    {
        Items[ready.Name].Ready = true;
    }

    public bool IsReadyToShip()
    {
        return Shipped == null && Items.Values.All(x => x.Ready);
    }
}

I like this design because it internalizes all the Apply() methods. It also pushes the domain logic into the aggregate to ensure consistency. Instead of adding the applied events imperatively on a collection of AggregateBase, they're returned from the aggregate methods instead. This makes the code less stateful, because I can simply yield return the returned events in the aggregate handler instead of having to dequeue the events from the collection of AggregateBase first. The refactored command handler looks like this:
[AggregateHandler]
public static IEnumerable<object> Handle(MarkItemReady command, Order order)
{
    yield return order.MarkItemAsReady(command.ItemName);

    // If the order is ready to ship, also emit an OrderReady event
    if (order.IsReadyToShip())
    {
        yield return new OrderReady();
    }
}

From the docs on the aggregate handler method signature:

The 2nd argument should be the aggregate -- either the aggregate itself (Order) or wrapped in the Marten IEventStream type (IEventStream).

I guess the above constraint would need to change, here are some ideas:
// Allow aggregate handlers without aggregate argument
[AggregateHandler]
public static IEnumerable<object> Handle(CreateOrder command)
{
    yield return Order.Create(command.Items);
}

// make Order nullable
public static IEnumerable<object> Handle(CreateOrder command, Order? order) {}

// an empty IEventStream<T> would work without changing conventions
public static IEnumerable<object> Handle(CreateOrder command, IEventStream<Order> order) {}

What do you think?
Maybe this could also be a good sample for the empty Aggregate Handlers and Event Sourcing Wolverine docs?

@schnerring Sorry for the very slow response, this is very close to being there, the only issue now is to make the AggregateHandler convention ignore these methods. To create a new stream, you can do this:
public static class StartStreamMessageHandler
{
    public static StartStream Handle(StartStreamMessage message)
    {
        return MartenOps.StartStream<NamedDocument>(message.Id, new AEvent(), new BEvent());
    }

    public static StartStream Handle(StartStreamMessage2 message)
    {
        return MartenOps.StartStream<NamedDocument>(message.Id, new CEvent(), new BEvent());
    }
}


104: Connection reset by peer

Summary
Hi, i have encountered a problem.
My server route is: client -> k8s ingress -> kong -> upserver.
502 response is ofen occured when i request the server with approximately more than 1 minutes interval.
I have capture the TCP packets with tcpdump in kong pod and upstream server pod, meanwhile the TCP connection data with ss -antp, such as following:

More than one minute after preview request,  i first saved the TCP connection data in the two pod:
kong pod:

/tmp # ss -ant | grep <IP_ADDRESS>
ESTAB    0         0             <IP_ADDRESS>:44430        <IP_ADDRESS>:8000
ESTAB    0         0             <IP_ADDRESS>:35304        <IP_ADDRESS>:8000
ESTAB    0         0             <IP_ADDRESS>:49246        <IP_ADDRESS>:8000
ESTAB    0         0             <IP_ADDRESS>:43078        <IP_ADDRESS>:8000

upstream pod:
/tmp # ss -ant | grep EST | grep <IP_ADDRESS>
ESTAB      0      0      <IP_ADDRESS>:8000               <IP_ADDRESS>:35304
ESTAB      0      0      <IP_ADDRESS>:8000               <IP_ADDRESS>:43078
ESTAB      0      0      <IP_ADDRESS>:8000               <IP_ADDRESS>:49246
ESTAB      0      0      <IP_ADDRESS>:8000               <IP_ADDRESS>:44430

at this moment, ESTAB TCP  is same between the two pods

Then i start send one request to api,  a 502 response occured.
kong debug log:

2019/11/13 20:17:48 [debug] 36#0: *263002 [lua] balancer.lua:442: queryDns(): [ringbalancer 2] unchanged dns record entry for resume-parser-service.resume-parser-space: <IP_ADDRESS>:nil
2019/11/13 20:17:48 [debug] 36#0: *263002 [lua] init.lua:608: balancer(): setting address (try 1): <IP_ADDRESS>:8000
2019/11/13 20:17:48 [error] 36#0: *263002 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: <IP_ADDRESS>, server: kong, request: "POST /resume_parser/parse_android HTTP/1.1", upstream: "http://<IP_ADDRESS>:8000/parse_android", host: ""
<IP_ADDRESS> - [13/Nov/2019:20:17:48 +0800] LOG.KONG | POST /resume_parser/parse_android HTTP/1.1 502 69 7645 python-requests/2.20.0 <IP_ADDRESS> <IP_ADDRESS>:8000 - 0.000 0.005 -

The tcpdump capture data with this request in kong is:

/tmp # cat tcp1.log
17:45:29.697151 IP kong-69446c8c84-p9dvs.44430 > resume-parser-service.resume-parser-space.svc.cluster.local.8000: Flags [.], seq<PHONE_NUMBER>:1055839137, ack<PHONE_NUMBER>, win 1401, options [nop,nop,TS val 220831485 ecr<PHONE_NUMBER>], length 6990
17:45:29.697179 IP resume-parser-service.resume-parser-space.svc.cluster.local.8000 > kong-69446c8c84-p9dvs.44430: Flags [R], seq<PHONE_NUMBER>, win 0, length 0
17:45:29.697186 IP kong-69446c8c84-p9dvs.44430 > resume-parser-service.resume-parser-space.svc.cluster.local.8000: Flags [P.], seq 6990:8827, ack 1, win 1401, options [nop,nop,TS val 220831485 ecr<PHONE_NUMBER>], length 1837
17:45:29.697196 IP resume-parser-service.resume-parser-space.svc.cluster.local.8000 > kong-69446c8c84-p9dvs.44430: Flags [R], seq<PHONE_NUMBER>, win 0, length 0

as the log see, there has RST ack with port: 44430 in kong pod.

at the same time, there is non tcp packets captured in upstream pod.

The ss -ant data after request in the two pod is:
kong pod:

/tmp # ss -ant | grep <IP_ADDRESS>
ESTAB    0         0             <IP_ADDRESS>:39982        <IP_ADDRESS>:8000
ESTAB    0         0             <IP_ADDRESS>:35304        <IP_ADDRESS>:8000
ESTAB    0         0             <IP_ADDRESS>:49246        <IP_ADDRESS>:8000
ESTAB    0         0             <IP_ADDRESS>:43078        <IP_ADDRESS>:8000

upstream pod:
/tmp # ss -ant | grep EST | grep <IP_ADDRESS>
ESTAB      0      0      <IP_ADDRESS>:8000               <IP_ADDRESS>:35304
ESTAB      0      0      <IP_ADDRESS>:8000               <IP_ADDRESS>:43078
ESTAB      0      0      <IP_ADDRESS>:8000               <IP_ADDRESS>:49246
ESTAB      0      0      <IP_ADDRESS>:8000               <IP_ADDRESS>:44430
ESTAB      0      0      <IP_ADDRESS>:8000               <IP_ADDRESS>:39982

as see above, a new TCP connection: <IP_ADDRESS>:39982 is established, and the old TCP: <IP_ADDRESS>:44430  disappears from kong pod, but still exist in upstream server.
It is confusing that seams the keep-alive tcp connection :44430 is break of in the kong pod, and have not notice the upstream.

This problem may occured in some service, but not appeared in other service.

Thank you.
Steps To Reproduce

kong configurate a upstream with k8s service.
request the api with more than 1 minutes
sometimes a 502 response may occured

Additional Details & Logs

Kong version:  1.0.3
Kong debug-level logs:

2019/11/13 20:17:48 [debug] 36#0: *263002 [lua] balancer.lua:442: queryDns(): [ringbalancer 2] unchanged dns record entry for resume-parser-service.resume-parser-space: <IP_ADDRESS>:nil
2019/11/13 20:17:48 [debug] 36#0: *263002 [lua] init.lua:608: balancer(): setting address (try 1): <IP_ADDRESS>:8000
2019/11/13 20:17:48 [error] 36#0: *263002 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: <IP_ADDRESS>, server: kong, request: "POST /resume_parser/parse_android HTTP/1.1", upstream: "http://<IP_ADDRESS>:8000/parse_android", host: ""
<IP_ADDRESS> - [13/Nov/2019:20:17:48 +0800] LOG.KONG | POST /resume_parser/parse_android HTTP/1.1 502 69 7645 python-requests/2.20.0 <IP_ADDRESS> <IP_ADDRESS>:8000 - 0.000 0.005 -

or
2019/11/13 19:35:17 [debug] 34#0: *243996 [lua] balancer.lua:442: queryDns(): [ringbalancer 2] unchanged dns record entry for resume-parser-service.resume-parser-space: <IP_ADDRESS>:nil
2019/11/13 19:35:17 [debug] 34#0: *243996 [lua] init.lua:608: balancer(): setting address (try 1): <IP_ADDRESS>:8000
2019/11/13 19:35:17 [error] 34#0: *243996 writev() failed (104: Connection reset by peer) while sending request to upstream, client: <IP_ADDRESS>, server: kong, request: "POST /resume_parser/parse_android HTTP/1.1", upstream: "http://<IP_ADDRESS>:8000/parse_android", host: ""
<IP_ADDRESS> - [13/Nov/2019:19:35:17 +0800] LOG.KONG | POST /resume_parser/parse_android HTTP/1.1 502 69 87475 Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 <IP_ADDRESS> <IP_ADDRESS>:8000 - 0.001 0.007 -

Kong configuration:
some import config:

client_max_body_size 0;
proxy_ssl_server_name on;
underscores_in_headers on;

lua_package_path '/usr/local/kong/lualibs/?.lua;/usr/local/kong/plugins/?.lua;/usr/local/kong/lualibs/?/init.lua;./?.lua;./?/init.lua;;;;';
lua_package_cpath ';;';
lua_socket_pool_size 30;
lua_max_running_timers 4096;
lua_max_pending_timers 16384;
lua_shared_dict kong                5m;
lua_shared_dict kong_db_cache       128m;
lua_shared_dict kong_db_cache_miss 12m;
lua_shared_dict kong_locks          8m;
lua_shared_dict kong_process_events 5m;
lua_shared_dict kong_cluster_events 5m;
lua_shared_dict kong_healthchecks   5m;
lua_shared_dict kong_rate_limiting_counters 12m;
lua_socket_log_errors off;
lua_ssl_verify_depth 1;

# injected nginx_http_* directives
log_format kong_log '$remote_addr - [$time_local] LOG.KONG | $request $status $body_bytes_sent $request_length $http_user_agent $http_x_forwarded_for $upstream_addr $request_auth_time $upstream_response_time $request$
lua_shared_dict glocache 2m;
lua_shared_dict prometheus_metrics 5m;

upstream kong_upstream {
    server <IP_ADDRESS>;
    balancer_by_lua_block {
        Kong.balancer()
    }
    keepalive 60;
}
...
    location / {
        default_type                     '';

        set $ctx_ref                     '';
        set $upstream_host               '';
        set $upstream_upgrade            '';
        set $upstream_connection         '';
        set $upstream_scheme             '';
        set $upstream_uri                '';
        set $upstream_x_forwarded_for    '';
        set $upstream_x_forwarded_proto  '';
        set $upstream_x_forwarded_host   '';
        set $upstream_x_forwarded_port   '';

        rewrite_by_lua_block {
            Kong.rewrite()
        }

        access_by_lua_block {
            Kong.access()
        }

        proxy_http_version 1.1;
        proxy_set_header   Host              $upstream_host;
        proxy_set_header   Upgrade           $upstream_upgrade;
        proxy_set_header   Connection        $upstream_connection;
        proxy_set_header   X-Forwarded-For   $upstream_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $upstream_x_forwarded_proto;
        proxy_set_header   X-Forwarded-Host  $upstream_x_forwarded_host;
        proxy_set_header   X-Forwarded-Port  $upstream_x_forwarded_port;
        proxy_set_header   X-Real-IP         $remote_addr;
        proxy_pass_header  Server;
        proxy_pass_header  Date;
        proxy_ssl_name     $upstream_host;
        proxy_pass         $upstream_scheme://kong_upstream$upstream_uri;
...

Operating system:  ubuntu 16.04, Linux 4.4.0-62-generic

I have resolved this problem, it is not a fault of kong.

Hey, @so2bin. Out of curiosity, how did you resolve it? Thanks.

my server is running on k8s and the kube-proxy is run with ipvs mode. there is a http keepalive connection between kong pod and upstream, but the tcp connection is not keepalived, so there is no beatheart tcp package between them. meanwhile the tcp maintained in ipvs has a default 15 minute expiration, so the tcp will expired if not used in 15m, then 502 will happened after 15m.

Hey, @so2bin. Out of curiosity, how did you resolve it? Thanks.

see the privious reply above

Thanks a lot.

I have resolved this problem, it is not a fault of kong.

How did u solve the problem？I encountered the same.

I have this problem around 1% per all request, How did you fix this kube-proxy ? @so2bin

@so2bin I am also experiencing this issue with some of my requests. Could you let us know exactly what you did to fix it?
Did you change kube-proxy mode to a different mode. Or something else?

my server is running on k8s and the kube-proxy is run with ipvs mode. there is a http keepalive connection between kong pod and upstream, but the tcp connection is not keepalived, so there is no beatheart tcp package between them. meanwhile the tcp maintained in ipvs has a default 15 minute expiration, so the tcp will expired if not used in 15m, then 502 will happened after 15m.

@chatchaisi @zackery-parkhurst @zenghur
As the above words have explained the reason of this problem.
My solution is easy:  just set a timeout ( <=15m ) to the upstream server's idle connection, so these long-time idle connections will be closed before be expired.
For example, if you are using python tornado as the HTTP server, you can set the timeout with idle_connection_timeout argument:  https://www.tornadoweb.org/en/stable/httpserver.html#tornado.httpserver.HTTPServer


charts on skill metrics page fail to load sporadically:

charts on skill metrics page fail to load sporadically:

no errors in console log :(

PR: https://github.com/NationalSecurityAgency/skills-service/pull/682

:+1:


Align inline images to baseline by default on Android

Full discussion in FB group: https://www.facebook.com/groups/reactnativeoss/permalink/1532669803696315/
Test plan
In the following examples I use a different image than the one built in to UIExplorer because this one better demonstrates the alignment:
Before

After

iOS

If you want to try this for yourself, you can copy this into the inline image example:
<Text style={{fontSize: 20}}>
  This text contains an inline image, look at it! <Image source={{uri<EMAIL_ADDRESS>style={{height: 15, width: 15}} />. Neat, huh?
</Text>

I'm curious, does it work if you do style={{width: 15, height: 15, top: -4}} to shift it a bit?

@vjeux - nope, every prop except width/height are ignored for inline images on Android. I tried it just because why not and it had no impact.

Would be nice to support it in the future, this way we can tweak the vertical align and be compatible with the web in one shot :)

Agreed, seems actually not so bad to do it, I'll make a master issue for inline image tasks and include that @vjeux :rocket:

@bestander - seems like circle is broken here

cheers, @brentvatne.
I am following with the one who broke.

This looks good, thanks @brentvatne!
@facebook-github-bot shipit


[FeatureRequest] Support joined associations

It's currently not possible to use joined associations with distinct_on and order
If you do, Postgres will error "SELECT DISTINCT ON expressions must match initial ORDER BY expressions"
So i tried to see if I can include the order expression as well, but it doesn't work...
Contrived example...
Article.joins(:author).includes(:author).order(author: :id).distinct_on(:id, author: :id)
This generates invalid SQL:
SELECT DISTINCT ON ("articles"."{:author=>:id}")
tried
Article.joins(:author).includes(:author).distinct_on('"authors"."id"')
This generates invalid SQL also
SELECT DISTINCT ON ("articles"."""authors"".""id""")
I realise this is a limitation of the gem, It would be nice if it could support this as currently it's not usable with any queries that order by a joins association.
I have added basic support for it in our fork.
https://github.com/residently/active_record_distinct_on/commit/f8c6dc5472000bb47ce7a030853f6c7ccba4bdb5

I don't think accepting a hash for distinct_on is a good idea. It would make it inconsistent with other methods that accept columns (like order and select).
I have not personally tested this, but I think you should be able to write something like:
Article.joins(:author).includes(:author).merge(Author.distinct_on(:id))

This strategy also works for order and select.

Fair point. I guess i figured given it's related to associations, i could follow a similar interface to joins, includes, references etc, which do take a variety of arguments.
I completely overlooked using merge here. I'll give that a whirl.
I do think if you want to remain consistent with select and order, it could take strings for associations eg. authors.id

I do think if you want to remain consistent with select and order, distinct_on could take strings for associations

I agree! I am surprised that does not work. It seems like a bug to me.

Yeh it doesnt because the code only allows attributes on the current arel_table.
I've taken a crude approach to it here.
https://github.com/residently/active_record_distinct_on/commit/3fba30890a1995870f1391253706bade208d3466
This satisfies my requirement to use distinct on with a joined association.

I'm open to accepting strings for associations if anybody wants to provide a PR, e.g.:
Author.joins(:books).distinct_on('books.title')

I've needed this before quite a few times.


Add manifest-template for CF Jenkins deployment

What? and Why?

What does this pull request change/fix? Why was it necessary? Add manifest-template.yml for deployment to CF via Jenkins

Checklist

[ ] CHANGELOG.md updated? (if required)

Codecov Report

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

@@          Coverage Diff           @@
##           master     #85   +/-   ##
======================================
  Coverage    87.5%   87.5%
======================================
  Files           1       1
  Lines         216     216
======================================
  Hits          189     189
  Misses         27      27

Continue to review full report at Codecov.

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


Cleanup cluster.Spec

Description of changes
This addresses one of the standing problems with cluster.Spec's scope: it acts both as a data object and a "manifest" reader (understand manifest as in a yaml document read from a local file or HTTP). Being the goal to make the Spec a pure data object, we are removing these capabilities while maintaining the same overall program functionality:

The Spec's ability to read manifests. This is delegated to a file reader that any caller in need of manifests will need to accept as a dependency.
The Spec's ability to "build itself". Although the construction was invoked through a constructor, the Spec's ability to read manifests was use to build itself. This made the problem even worse, since the CLI configuration to build the Spec (Bundles URL, etc.) bled in to the Spec's internals. Now this is all done through a FileSpecBuilder. For now this lives in the cluster package. Once the cli package is available, that would probably be a way better place for it since this builder logic is exclusive to the CLI flows.

Testing
Ran a full flow e2e test with docker.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve

/retest


[WOCCatalog] App exits unexpectedly while idle

After building the WOCCatalog sample for Debug/Win32 and using the sample app, it eventually closes unexpectedly.
Install WOCCatalog (debug) from release drop share
Open WOCCatalog
Walk through WOCCatalog Test Script
Leave the app idle
Expected Result:
App remains active and responsive
Actual Result:
App exits unexpectedly with following error:  'ApplicationFrameHost.exe' (Win32): Unloaded 'C:\Windows\System32\Windows.UI.dll'
Exception thrown at 0x00007FFF6180BEF8 (KernelBase.dll) in ApplicationFrameHost.exe: 0x80010108: The object invoked has disconnected from its clients.

Tried on 2 separate machine - unable to repro this issue

Adding stack trace from the failure:

EdgeManager.dll!Microsoft::WRL::Details::RuntimeClass<Microsoft::WRL::Details::InterfaceList<IInspectable,Microsoft::WRL::Details::InterfaceList<Windows::UI::Core::INavigationFocusEventArgs,Microsoft::WRL::Details::InterfaceListWindows::UI::Core::ICoreWindowEventArgs,Microsoft::WRL::Details::Nil > >,Microsoft::WRL::RuntimeClassFlags<1>,1,1,0>::Release() Line 2017	C++
threadpoolwinrt.dll!Windows::System::Threading::CThreadPoolTimer::TimerCallback(_TP_CALLBACK_INSTANCE * instance, void * context, _TP_TIMER * timer) Line 545	C++
ntdll.dll!TppTimerpExecuteCallback(_TP_CALLBACK_INSTANCE * Instance, _TP_TASK * Task) Line 2293	C
ntdll.dll!TppWorkerThread(void * Parameter) Line 1109	C
kernel32.dll!BaseThreadInitThunk(unsigned long RunProcessInit, long(__stdcall*)(void ) StartAddress, void * Argument) Line 64	C
ntdll.dll!__RtlUserThreadStart(long(__stdcall)(void ) StartAddress, void * Argument) Line 997	C
ntdll.dll!_RtlUserThreadStart(long(__stdcall)(void *) StartAddress, void * Argument) Line 914	C

This is not a recent regression; @kellymor and @jaredhms confirmed it is present in December's release as well.

This is a platform bug for which fix is in the works.


Installing packages needed to fulfill dependencies...
Checking if the package lighttpd is installed... [OK]
Checking if the package bc is installed... [OK]
Checking if the package php7.0-cgi is installed... [OK]
Checking if the package php7.0-json is installed... [OK]
Checking if the package collectd-core is installed... [OK]
Checking if the package rrdtool is installed... [OK]
/home/pi/adsb-receiver/bash/portal/install.sh: line 269: [: ==: unary operator expected
Checking if the package postfix is installed... [OK]
Checking if the package libpython2.7 is installed... [OK]
Checking if the package php7.0-xml is installed... [OK]
Reloading Lighttpd...`

All fixed.


Projects no longer run smoothly

Description
Recently I see that projects no longer run smoothly on my laptop with a screen resolution of 1920x1080 and a refresh rate of 144Hz. When I resize the browser it seems that the problems disappear and everything works more smoothly again.
Steps to Reproduce

Use a screen with a resolution of 1920x1080 and a refresh rate of 144Hz or higher.
Move an object with delta time or render a line to a moving object.

Hi @Alb3rt1990, do you have a project we can test this with?

You can use this project https://playcanvas.com/editor/scene/923095.
The problem is not constantly visible. Certain factors may play a role in making the problem visible. You can use the Crome browser with the mid-tier mobile option enabled to see what I regularly see on my laptop (i7 with 16gb ram and 100+ download and upload speed).

Does the same thing happen in Firefox, Chrome and Edge?
Does the same thing happen when launching the scene with previous engine release? e.g.
https://launch.playcanvas.com/923095?use_local_engine=https://code.playcanvas.com/playcanvas-1.22.0.js

Yes, same problem in the previous engine and other browsers.
The problem is the best visible in Firefox.

My guess it that it's a graphics card driver problem. Do you have the latest drivers installed?

There was an update needed but it didn't solve the problem.
Is there nobody else that can see what I mean?

Maybe you can try my own project https://playcanv.as/b/9JBKqXHD/.
The player moves stuttering regularly. Already figured out that it is not my scripts.
To move the player click and hold from the player and drag in the direction you want to move.

The example project runs fine on my 144hz monitor running on 2017 macbook pro in Chrome.
We recently added a 'mini-stats' which shows CPU&GPU load and browser frame time. This may give some indication as to what's happening but unfortunately it's not available as a launch option yet.

Tried your own project too on Chrome and Firefox, can't see any stuttering.

Supposing the problem is caused by my laptop, what are the things I should check?

If you save a performance profile from chrome devtools, we could try to look into your laptop's specific issue.

It must be something with the CPU. I saw the option slowdown CPU 6x in chome devtools and that immediately gives the effect what I see regularly. I can save the profile in .json format. How can I send it?

With normal CPU:

With slowdown CPU:

Can you save the profile please? That will allow us to load it locally :)

http://www.mediafire.com/file/vten3n1wsx0aetf/Profiles.rar/file

Here is a video of my own project where you can see the problem:
http://www.mediafire.com/file/0yvd1xqv5jkl8dr/VIDEO-2020-05-19-16-49-17.mp4/file

One thing to check - are you moving your camera to track the object as it was this frame or last frame? You should always update a camera's position in a postInitialize function if it is tracking an entity's position. This ensures that the entity moves first, and then your camera moves to track the current position of the entity as it is this frame.

Okay, maybe that's the problem. I've applied this now and will let you know in a while if this fixes the problem. Thanks for the hint!

No problem. 😄

@Alb3rt1990 I've updated the OrbitCamera to use postUpdate instead of update for the test project you posted on the forums and that's smoothed out an juddering I previously saw. Good call Will :)

Yes, I think the problem has indeed been solved! Sorry for the inconvenience and thank you for investigating.


how to run bitcoin wallet for it?

hello, i have tested this , everything works ok thanks to the dev, i had a question about bitcoind and bitcoin-cli , with what command should i run them? i'm running bitcoind and it's fully synced, my bitcoin.conf look likes this :
'''
rpcuser=myuser
rpcpassword=mypass
rpcport=1001
rpcclienttimeout=10
rpcallowip=<IP_ADDRESS>
server=1
daemon=1
upnp=0
rpcworkqueue=1000
enableaccounts=1
litemode=1
staking=0
'''
how should i run bitcoin-cli to make it work?
exchange does not show pairs/coins on Market section,
on wallet section it's always loading,
i also tried to run ./bitcoin-cli -rpcport=1001 -datadir=btc-blockchain encryptwallet my-string-which-i-included-on-private-constants
it returned :
error: Could not connect to the server <IP_ADDRESS>:1001 (error code 0 - "timeout reached")
thanks.

Make sure you open ports on servers for wallets and also to that config add
To Open Ports Do This
ufw allow PORTHERE
Add These To Conf
rpcallowip= exchangeip
rpcallowip= walletsip
see if that will work

@Brewin95 thanks for your answer , I didn't enabled firewall yet so all ports are open , I will test that and I will share the results , but how does the open trade gets each coin port?! I didn't saw any where of the code that refers to any port, how does it know what port is belong to what coin daemon ? Does it pull them from the each coin config file?!

@Brewin95 thanks for your answer , I didn't enabled firewall yet so all ports are open , I will test that and I will share the results , but how does the open trade gets each coin port?! I didn't saw any where of the code that refers to any port, how does it know what port is belong to what coin daemon ? Does it pull them from the each coin config file?!

when you go in to the admin account on add coin it will say coin host something along them lines so put this there
https://IP:PORT
IP Being that of the wallet server
Port being that of the wallet (port thats in the .conf)
may i ask what OS you are using its always good to do the ufw allow command just incase
ufw allow 22
ufw allow 80
ufw allow 444
etc

@Brewin95 what about the MC and BTC? Aren't they hard coded? (I replaced MC with BTC and BTC as a coin to LTC so I will get the BTC pair instead of MC) Or I need to add them on admin panel? And the ports are alright trust me all ports are open.

yer change all those values and yes you would have to add it to the admin panel also, youll have to build the bitcoin wallet etc then link them with RPC

@Brewin95 hey man , i have tested it now it shows the btc on market but when i try to do rpc test it says "coin RPC is not returned data" but bitcoind is already running , do i need to run bitcoin-cli or anything else too? i'm not familiar with the bitcoin command line i'm familiar with the cryptonote , when i first run bitcoind it has created a wallet.dat

How did you get it work? Still struggling with mine
Try bitcoin-cli get balance think its something like that :)

@Brewin95  oh , where did you stucked? ok i will try the wallet

does bitcoind handle wallets or bitcoin-cli or bitcoin-wallet?!

Im getting this crazy error when i try to test connection
'"<!DOCTYPE html>\n\n\n<meta charset=\"utf-8\">\n<title>Error</title>\n\n\n
Cannot POST /
\n\n\n"'
Usually bitcoin-cli

@Brewin95 i had a problem on accountsserver i'm getting this error :
Error: unexpected init db error 1
at g_utils.ForEachSync (/root/opentrade/accountsserver/database.js:390:28)
at onEndOne (/root/opentrade/accountsserver/utils.js:75:13)
at Timeout.CreateTable.err [as _onTimeout] (/root/opentrade/accountsserver/database.js:232:13)
at ontimeout (timers.js:495:15)
at tryOnTimeout (timers.js:323:5)
at Timer.listOnTimeout (timers.js:283:5)
it runs for a few seconds then i get the above error and i had to run it again with node main.js ,
on that a few secs which i had chance to test it sends on admin panel :
"\n\n\n<meta charset="utf-8">\nError\n\n\nCannot POST /\n\n\n"
and on terminal :
RPC call from UpdateCoinBalance
Coin 1 started RPC command=getbalance user=0
rpcPostJSON {"jsonrpc": "1.0", "id":"curltest", "method": "getbalance", "params": ["*",1] }
Status: 404
Headers: {"x-powered-by":"Express","content-security-policy":"default-src 'self'","x-content-type-options":"nosniff","content-type":"text/html; charset=utf-8","content-length":"140","date":"Sun, 26 May 2019 19:03:45 GMT","connection":"close"}
rpcPostJSON: Unexpected token < in JSON at position 0
rpcPostJSON: result:success (message: RPC catch unecpected error )

same error as yours

Yer seems like something is stopping i posted a new issue with all my errors if you look at them and compare,  waiting for some help from a guy so will let you no

ok

@jonn4y @ExchangeTime @3s3s any help guys? 🙂

@Brewin95 it works just fine with this version of accountsserver : https://github.com/3s3s/accountsserver/commit/9274a05996258c2607105e2cf9d8c302798b0c9e
@3s3s  accountsServer on this line should be with lower case :
https://github.com/3s3s/accountsserver/blob/132acc93d25b12ec9339158b571a22f7ad376499/constants.js#L11

I have set up and connected two coin to the exchange server. One is Bitcoin another an alt coin
Both PRC works in exchange admin site of the Website retreiving correct getbalance command
I can deposit and withdrawal from the alt coin correctly.
Both coins bitcoin and altcoin wallet appear in the wallet section.
The problem:
Bitcoin wallet when i click to deposit in the wallet section of the exchange website it gives error
Method not found
On the linux counsole the following appears when above problem occurs:
Headers: {"content-type":"application/json","date":"Sat, 07 Mar 2020 18:14:17 GMT","content-length":"120","connection":"close"}
rpcPostJSON: result:false (message: dummy first argument must be excluded or set to "*". )
INSERT INTO sessions VALUES  ('utFaApbVk7vO9PfE8kd5TjXjrEF6+Kk7xSTWRHIFYaM%3D', '1583604859664', '1')
INSERT error: SQLITE_CONSTRAINT: UNIQUE constraint failed: sessions.token
UPDATE sessions
RPC call from GetAccountAddress
Coin 1 started RPC command=getaccountaddress user=1
rpcPostJSON {"jsonrpc": "1.0", "id":"curltest", "method": "getaccountaddress", "params": ["51d4d4ed717c64422b6c2c88c3a1f9ae"] }
Status: 404
However the Altcoin work fine I can deposit and withdrawal fine
Can anyone help?? thank you very much

It seems that you working with old version of accountServer. Please upgrade it to the newest one with command "git pull". Or you can use old version Bitcoin Core (0.16 for example). Because function "getaccountaddress" was removed from bitcoin RPC.

Thank you thank you
excuse my ignorance. What is the "accountServer" your are reffering to.
You are right I am using latest version of bitcoin core and other wallet/node for the alt coin is the old clone of bitcoin like block chain
I rather not go the old version of Bitcoin Core since it took almost 3 weeks to get the whole block chain
The option of accountServer update is the best. It is is just not clear to me what it is.  what I know is all self taught

accountsserver should be running in folder "opentrade/accountserver"
I think that it will be best if you will clean up all your OpenTrade and reinstal again but exactly as it described in readme.md file.

OK I have  reinstalled the opentrade "exactly" to what was written in readme.md  to version available on github 3/8/20 (Latest commitaae157eon Jan 12)  Several hours later.
Sorry Should I record this issue separately to avoid confusion??
I really hope I can get this working. I am trying to support this alt coin which is not really supported by other exchange.
Unfortunately nothing runs now :
Below is the log from .forever folder
cd ~/opentrade/databaseServer
[sudo] forever start main.js >>> gave the following error
/root/opentrade/node_modules/ws/lib/websocket.js:348
...options
^^^
SyntaxError: Unexpected token ...
at createScript (vm.js:74:10)
at Object.runInThisContext (vm.js:116:10)
at Module._compile (module.js:533:28)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:503:32)
at tryModuleLoad (module.js:466:12)
at Function.Module._load (module.js:458:3)
at Module.require (module.js:513:17)
at require (internal/module.js:11:18)
at Object. (/root/opentrade/node_modules/ws/index.js:3:19)
error: Forever detected script exited with code: 1
cd ~/opentrade/accountsserver
git checkout master
[sudo] forever start main.js   >> gave the following error:
/root/opentrade/node_modules/ws/lib/websocket.js:348
...options
^^^
SyntaxError: Unexpected token ...
at createScript (vm.js:74:10)
at Object.runInThisContext (vm.js:116:10)
at Module._compile (module.js:533:28)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:503:32)
at tryModuleLoad (module.js:466:12)
at Function.Module._load (module.js:458:3)
at Module.require (module.js:513:17)
at require (internal/module.js:11:18)
at Object. (/root/opentrade/node_modules/ws/index.js:3:19)
Node NOT Exiting...
error: Forever detected script exited with code: 0
cd  ~/opentrade/server
[sudo] forever start main.js
/root/opentrade/node_modules/ws/lib/websocket.js:348
...options
^^^
SyntaxError: Unexpected token ...
at createScript (vm.js:74:10)
at Object.runInThisContext (vm.js:116:10)
at Module._compile (module.js:533:28)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:503:32)
at tryModuleLoad (module.js:466:12)
at Function.Module._load (module.js:458:3)
at Module.require (module.js:513:17)
at require (internal/module.js:11:18)
at Object. (/root/opentrade/node_modules/ws/index.js:3:19)
error: Forever detected script exited with code: 1

It seems that you use old node.js version. Try this
nvm install 12.6.0
nvm use 12.6.0

Thank you for the quick reply while I am working on it.


Hard crash when format command is triggered

I've only started seeing this since 7.2, and I'm pretty sure it's a new bug in Nova. Thread on the dev forums here.

Fixed!


Web  -Workspace-Highlight for the checkbox goes out of bound on members page

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: <IP_ADDRESS>
Reproducible in staging?: y
Reproducible in production?: y
Issue reported by:
Action Performed:

Go to workspace settings page > Members
Mark one of the members' checkbox
Click on down arrow on keyboard
Observe the highlight on the checkbox

Expected Result:
The highlight should not go out of bounds
Actual Result:
The highlight on the checkbox goes out of bound
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence
https://github.com/Expensify/App/assets/93399543/cd61a207-4340-4453-8a25-183b2a866d69
View all open jobs on GitHub

@greg-schroeder I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

Probably a low prio #wave8 issue eh @zanyrenney?

all right, so closing then!


Encoding::UndefinedConversionError

I am using ruby 2.7.0 on  mac os HIGH SIERRA version 10.13.4
Issue: getting `encode': "\xCF" from ASCII-8BIT to UTF-8 (Encoding::UndefinedConversionError)
STEP to regenerate:
-Open terminal
-irb
-Press arrow keys.
result: irb stops with error message "/.rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/reline/unicode.rb:70:in `encode': "\xCF" from ASCII-8BIT to UTF-8 (Encoding::UndefinedConversionError)"

Don't have the exact environment but cannot reproduce with ruby 2.7.6 with Terminal on macOS 13.4.1.
This is not gRPC related anyways. Closing.


Allow WebP images if supported by WP

Context

Summary

Relevant Technical Choices

To-do

User-facing changes
Users should be able to upload webp files to the editor.

Testing Instructions

QA

[ ] This is a non-user-facing change and requires no QA

This PR can be tested by following these steps:

Upgrade to nightly build of WordPress / WordPress 5.8
Open editor
Drag webp into editor.
See webp file into page.

UAT

[ ] UAT should use the same steps as above.

This PR can be tested by following these steps:

Reviews
Does this PR have a security-related impact?

Does this PR change what data or activity we track or use?

Does this PR have a legal-related impact?

Checklist

[x] This PR addresses an existing issue and I have linked this PR to it in ZenHub
[x] I have tested this code to the best of my abilities
[x] I have verified accessibility to the best of my abilities (docs)
[x] I have verified i18n and l10n (translation, right-to-left layout) to the best of my abilities
[x] This PR contains automated tests (unit, integration, and/or e2e) to verify the code works as intended (docs)
[x] I have added documentation where necessary
[x] I have added a matching Type: XYZ label to the PR

Fixes #7389

Just to confirm so we're on the same page: this does not change the behavior for WP 5.7 sites in any way?

Confirm, webp is filtered out in older versions.


Custom header sanitization

I have a module that calls an API with a custom authorization header. I would like to sanitize it rather than hide it, but currently doesn't appear I can do so. The ability to add additional headers for sanitization would be a great addition.

Hello @chrishas35,
Sorry for the delay in getting back to you. I just noticed your comment today.
Thanks. I'll consider it in an upcoming update.
For now, maybe something like the following works for you:
wedeploy.DefaultSanitizers["Custom-Header"] = AuthorizationSanitizer

as you can see in:
https://github.com/henvic/httpretty/blob/f741004e44b444fe2c2c141fd723221ab08a7f8a/internal/header/header.go#L37-L43

May I ask how to use it? It seems that it's internal package.


feat: Generate stubs for public methods of private classes which are superclasses of public classes

Is your feature request related to a problem?
Currently (after PR #50), if public classes inherit from private classes, the stubs for the public class will be generated and reference those private classes, but the private classes won't be generated and are therefore "invisible" for the user.
Desired solution
If a public class inherits from a private class, the private class should generate stubs, too.
To do this, we would need to extend the information in the API data so that superclass information also points in the other direction, i.e. we need to find out the subclasses for all classes.
The stubs generator should add the public methods of the internal classes to the public classes.
Additional Context
An example test case where the private super class should be generated can be found @ Stub-Generator\tests\data\various_modules_package\aliasing\aliasing_module_1.py for the class AliasingModuleClassC.

An example test case where the private super class should be generated can be found @ Stub-Generator\tests\data\various_modules_package\aliasing\aliasing_module_1.py for the class AliasingModuleClassC.

I'd rather propose to generate stubs for inherited public methods in the public classes. The stubs are meant to mirror the public interface of a library, which internal classes are not a part of.

:tada: This issue has been resolved in version 0.2.0 :tada:
The release is available on:

v0.2.0
GitHub release

Your semantic-release bot :package::rocket:


package errors when pub get

Resolving dependencies...
Because no versions of chewie match >1.5.0 <2.0.0 and chewie 1.5.0 depends on wakelock ^0.6.2, chewie ^1.5.0 requires wakelock ^0.6.2.
(1) So, because no versions of wakelock match >0.6.2 <0.7.0 and wakelock 0.6.2 depends on wakelock_windows ^0.2.0, chewie ^1.5.0 requires wakelock_windows ^0.2.0.
Because no versions of wakelock_windows match >0.2.0 <0.2.1 and wakelock_windows >=0.2.1 depends on win32 ^3.0.0, wakelock_windows >0.2.0 requires win32 ^3.0.0.
And because wakelock_windows 0.2.0 depends on win32 ^2.0.0, wakelock_windows >=0.2.0 requires win32 ^2.0.0 or ^3.0.0.
And because chewie ^1.5.0 requires wakelock_windows ^0.2.0 (1), chewie ^1.5.0 requires win32 ^2.0.0 or ^3.0.0.
And because device_info_plus >=9.0.1 depends on win32 >=4.0.0 <6.0.0, chewie ^1.5.0 is incompatible with device_info_plus >=9.0.1.
So, because ai_mockinterview depends on both device_info_plus ^9.0.2 and chewie ^1.5.0, version solving failed.

exit code 1
--

Second that, for using with the other *_plus packages such as package_info_plus and share_plus. Because of the chewie dependency I cannot upgrade those to their next major version.

Library is now using wakelock_plus as per #747.

better solution?


Updated readme to reflect 1.2 support as announced

Updated readme to reflect 1.2 support as announced

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Might be worth dropping the version number from the readme or including a Semver version range to negate need for updating version numbers in the readme.

Updated readme to reflect 1.2 support as announced

MoltenVK does not quite yet support Vulkan 1.2 The docs, and API, will be updated once it does.
What announcement are you referring to?


Curseforge

Can you add this mod to Curseforge so that we can install it within the Curseforge launcher?

I hate CurseForge, but if there's demand I can make it happen. I'll look into it, probably next week!

Usually I haven't used it besides to download mods, but It is easier to install automatically with the app


Fix test name

There are two TestGaussianNLLInvalidReductionOption, whose contents are different. It causes autopep8 violation in the master branch (see e.g. this build). This PR changes the name of one of them.

LGTM