[Hermes] Hermes from source podspec

In reference to https://github.com/react-native-community/discussions-and-proposals/projects/1#card-34851105
For now, this issue will serve as a place for me to keep track of questions I come up with as I navigate the source code and build system.
I had started on a “build from source” podspec, but because it has some hurdles (e.g. requires running cmake to generate some arch specific headers) and Hermes thus far has
provided binary distributions (which makes sense, it seems unlikely a RN dev will debug the engine), I’ll switch to making a “binary podspec”. Once everything is done, I’ll circle back to the “build from source” one.

Looks like the --static-link flag is more about building static versions of the CLI tools.

Build from source

[x] Q: Does Hermes support building statically on macOS nowadays? RN through CocoaPods is able to build both static and dynamic, so this should ideally be possible.
A: Looks like the --static-link flag is more about building static versions of the CLI tools.

[ ] Q: Figure out what targets we need to build.
A: Looks like we want to build the bits that make up libhermes.dylib:

[ ] libLLVHSupport.a
[ ] libLLVHDemangle.a
[ ] libhermesFrontend.a
[ ] libhermesOptimizer.a
[ ] libhermesVMRuntime.a
[ ] libhermesInst.a
[ ] libhermesFrontEndDefs.a
[ ] libhermesADT.a
[ ] libhermesAST.a
[ ] libhermesParser.a
[ ] libhermesSourceMap.a
[ ] libhermesSupport.a
[ ] libhermesBackend.a
[ ] libhermesHBCBackend.a
[ ] libhermesRegex.a
[ ] libhermesPlatform.a
[ ] libhermesPlatformUnicode.a
[x] libdtoa.a
[x] libjsi.a

[x] Q: Figure out what other dynamic dependencies it needs.
A: Seems like it needs only system libraries:
$ otool -L API/hermes/Debug/libhermes.dylib
API/hermes/Debug/libhermes.dylib:
        @rpath/libhermes.dylib (compatibility version 0.0.0, current version 0.0.0)
        /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1675.129.0)
        /usr/lib/libicucore.A.dylib (compatibility version 1.0.0, current version 64.2.0)
        /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 902.1.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1281.100.1)

[ ] Q: Can Hermes’ copy of jsi be shared with RN’s copy [and trim some fat from the bundle]?

[ ] Q: There are 4 configurations, namely: Debug, Release, MinSizeRel, and RelWithDebInfo. Which 2 do we use in the podspec?
Release should use MinSizeRel, that much is clear. (I assume this equates to the --distribute option in Hermes’ configuration script.)
As for Debug I assume that Hermes’ Debug configuration is more useful when developing Hermes, rather than using it, in which case it may make sense to use the RelWithDebInfo configuration in Debug?

[ ] Q: What are the following GCC_PREPROCESSOR_DEFINITIONS for?

HERMES_SLOW_DEBUG
HERMES_ENABLE_DEBUGGER

[ ] Q: Why is the HERMES_ENABLE_DEBUGGER entry of GCC_PREPROCESSOR_DEFINITIONS seemingly enabled in all [release] targets in upstream?

Binary

@alloy I'm really looking forward to this project!  I can answer some of your questions off the top of my head.  I may need to get others to help with the rest.  In particular, I don't know cmake very well, so I can't help much there.

Q: Can Hermes’ copy of jsi be shared with RN’s copy [and trim some fat from the bundle]?
Yes, that should be fine, and may avoid issues.
Q: What are the following GCC_PREPROCESSOR_DEFINITIONS for?
HERMES_SLOW_DEBUG
We build hermes in three different modes at FB.  We call them opt, dev, and dbg.  (I am not sure how these map onto cmake configurations.)  opt is for product releases and perf measurement.  dev is used by RN and other app developers who use Hermes.  It enables a bunch of assertions and other tests which validate correct behavior internally, and that it is being used correctly by callers.  These tests incur a runtime penalty, which is why we don't enable them in production builds.  dbg is for people working on the Hermes engine itself.  It is like dev, except a handful more tests are enabled which are so slow that they significantly impact the developer experience.  HERMES_SLOW_DEBUG is the preprocessor macro which, when defined, enables the tests which are enabled for dbg but not dev builds.
Q: Can we make a single static lib that contains the objects of all the above static libs?
As a general rule, .a files can be combined. It might be possible to do in cmake as well, but I wouldn't be able to say how.
Q: How do we create the include dir structure that’s distributed?
Because JSI uses virtual dispatch, hermes/hermes.h doesn't depend on any of the internal headers of the VM.  So you should only need to export hermes/Public/ and jsi/.  (Right this moment, there is a hermes/VM file included in hermes.h, but this is an error and it should be fixed shortly.)

Q: Can we make a single static lib that contains the objects of all the above static libs?

Just to add to this, I believe we currently do build a static version of libhermes.dylib called libhermesapi.a

There are 4 configurations, namely: Debug, Release, MinSizeRel, and RelWithDebInfo. Which 2 do we use in the podspec? Release should use MinSizeRel, that much is clear. (I assume this equates to the --distribute option in Hermes’ configuration script.)

On desktop it might be preferable to use "Release", because presumably binary size is not that critical.

HERMES_ENABLE_DEBUGGER

This setting enables the JavaScript debugging functionality in Hermes. Previously that came with non-trivial performance overhead, so we only enabled it in debug builds of Hermes itself. But these days the overhead is minimal, so we decided to enable it by default for non-mobile builds, just to decrease the number of possible configurations.
If you don't need the debugger functionality, you should probably set it to OFF.

Can we make a single static lib that contains the objects of all the above static libs?

Yes, this has been brought up many times internally too. The current library structure wasn't really meant for distribution. We will look into this and post back here.

Heyy, thanks for chiming on this, folks.

Q: Can Hermes’ copy of jsi be shared with RN’s copy [and trim some fat from the bundle]?

Yes, that should be fine, and may avoid issues.

👍 This would pertain to the “build from source” option, which I’ve punted on for now in favour of getting a binary distribution working first.

Q: What are the following GCC_PREPROCESSOR_DEFINITIONS for?
HERMES_SLOW_DEBUG

[…] HERMES_SLOW_DEBUG is the preprocessor macro which, when defined, enables the tests which are enabled for dbg but not dev builds.

👍

Q: How do we create the include dir structure that’s distributed?

Because JSI uses virtual dispatch, hermes/hermes.h doesn't depend on any of the internal headers of the VM. So you should only need to export hermes/Public/ and jsi/. (Right this moment, there is a hermes/VM file included in hermes.h, but this is an error and it should be fixed shortly.)

Ah, great; yeah it was the VM header include in hermes.h that made this necessary, but this makes sense 👍

Regarding the static libs, I was thinking to change the pipeline to first create a single archive that contains all the various components and then use that as a single input for the dylib, which would leave us with complete static and dynamic versions. Let me know if you have other ideas or are already making such changes. (I’m not familiar with cmake, but was looking forward to dipping my toes.)

There are 4 configurations, namely: Debug, Release, MinSizeRel, and RelWithDebInfo. Which 2 do we use in the podspec? Release should use MinSizeRel, that much is clear. (I assume this equates to the --distribute option in Hermes’ configuration script.)

On desktop it might be preferable to use "Release", because presumably binary size is not that critical.

Makes sense 👍

HERMES_ENABLE_DEBUGGER

This setting enables the JavaScript debugging functionality in Hermes. Previously that came with non-trivial performance overhead, so we only enabled it in debug builds of Hermes itself. But these days the overhead is minimal, so we decided to enable it by default for non-mobile builds, just to decrease the number of possible configurations.
If you don't need the debugger functionality, you should probably set it to OFF.

In binary distributions, it would probably be preferable to ship a single binary, so I’ll leave this on, for now at least.

So you should only need to export hermes/Public/ and jsi/. (Right this moment, there is a hermes/VM file included in hermes.h, but this is an error and it should be fixed shortly.)

@mhorowitz Btw, I noticed the current npm release does not include the jsi headers; I suppose it builds because it’s using the jsi headers provided by RN at build time (?). Is that intended?

@alloy Can you give me some more context? Are you planning to ship a static library "libhermes.a"? If not, why is it a problem that the CMake build generates multiple separate .a libraries, as long as in the end it produces a single dylib?

@tmikov RN for Apple platforms in OSS builds using the CocoaPods dependency manager. It favours source builds over binary distribution and allows the dev to choose wether to build as static or dynamic libs. Because Hermes currently ships binaries for Android and the build takes a bit of time to perform, I decided to settle on binary distribution for the time being. Ideally that would eventually mean the dev can choose either a static or a dynamic binary, as some other platforms can benefit from static linkage. However, I may also end up deciding to finish the source build instead.
Anyways, for now I’ll continue other related work based on the existing dylib and circle back to this later on.

@alloy Got it. So you want to be able to ship a static and a dynamic lib Hermes binary. So, we just need to add another target or tweak an existing one. We can definitely do that.

I noticed the current npm release does not include the jsi headers;

@alloy I think this is just an oversight.  We should be shipping jsi headers.

@mhorowitz I also noticed that the bundled jsi does not have its symbols exported, which to an app that does not include its own copy of jsi means it can’t build e.g. a StringBuffer. I don’t know to what extend you want to support non-RN apps, but it may be better to build libjsi.dylib separately and share it between libhermes.dylib and the app? Anyways, not something that is blocking my work.

I noticed the current npm release does not include the jsi headers;

I think this is just an oversight. We should be shipping jsi headers.

These headers will be added to NPM releases from now on: https://github.com/facebook/hermes/commit/f20f5b37a3d84213495b535cc23c2596373f70ab

Has there been any sort of progress on this?

This will probably be addressed when we merge 0.70, where Hermes is built from source.

I want to build hermes as a static library. Can someone please suggest the changes to be done?

If you just run USE_HERMES=1  pod install (as you would on iOS) it should build Hermes with your react native app. We don't support using prebuilts yet.

I am able to build hermes framework with this flag turned on but the file generated is a dynamic/shared library. I want to generate a static library. What are the necessary changes in the cmake or other files?


[NWPS-1616] First draft of PoC work for workflow changes

This is a DRAFT PoC pull request so please don't merge it !
The PR consists of files and config changes that introduce the ability to add a request/review stage to a workflow in Bloomreach. It makes use of the Bloomreach Forge review workflow plugin and this has been brought up to date with the 15.x codebase by upgrading the libraries in use within the plugin.
The sample code which was delivered as part of that plugin has been copied and added to the NWPS project and now enables the BR service to listen for requests being made over the event bus and then to either pass them on to an appropriate group or to use the email adapter to send a notification to a specific email address.
In future, it would probably be a good idea to remove the email-only option and combine it with the group request by perhaps adding a new attribute to a group of email-address and then invoking the email service as part of the group assignment.
Instructions for using the FakeSMTP server can be found here

POC is completed and subsequent tickets will be created if this will be used going forward


There may be double vertical space between an image and a paragraph

Expected behavior
Ideally, the space between an image and a preceding text should be consistent.
Actual behavior
There is double vertical space if the text and the image are each in their own paragraphs.

How to reproduce

Go to /travel/@rosatravels/travel-gem-27-take-you-back-in-time-water-taxi-across-dubai-creek
Compare with<EMAIL_ADDRESS>

Browser: Chrome
Operating system: Windows 10

This is related to #826 and #882
This post /children/@breezin/what-s-a-mother-to-do can be a test case. There are a lot of images in different locations.

Will look into it. This is due to

 already adding a margin-bottom . An image inside another

 will cause this issue to happen.

There are cases when an image is placed right after a header. I think we should keep the space between the header and the image. You can see an example here /children/@breezin/what-s-a-mother-to-do


Weird conversion of string to table

hi
I just tried to port a nushell script to engine-q and noticed something weird

I don't understand why str trim would convert a string to a table here
this is with the version from the main branch at cbdc0e2010852c7dff93a8eb645e8c54aa62a1d8  (1. Feb)

I imagine it's because git describe produces one line of output, ie with a newline.so it's a list of lines in the "file" (stdout) with only one entry

not sure this explains the discrepancy between
echo "0.12.4" | str trim

and
git describe | str trim

especially since echo "0.12.4" and git describe produce the same output

Try doing git describe | into binary and see if it has a newline (0xa) at the end. If so, than I imagine that's the difference

Interesting, perhaps it is treating it as one line even without a newline at the end

git describe | describe returns raw input
but
echo "0.12.4" | describe returns string
not sure what "raw input" is and why it's being treated differently to a string

also:
shouldn't this work?
git describe | echo

echo reads from (variadic) arguments, not the pipeline. So you can do echo 1 2 3 but not [1 2 3] | echo. However, you can use the $in (input) variable to reference the value in the pipeline, e.g. [1 2 3] | echo $in

echo reads from (variadic) arguments, not the pipeline. So you can do echo 1 2 3 but not [1 2 3] | echo. However, you can use the $in (input) variable to reference the value in the pipeline, e.g. [1 2 3] | echo $in

fair enough, thanks :)
but the other issue remains

Oh, this is one of those corners that needs much better docs. Sorry about the rough edges.
There are a couple things that I think you're running into. When you call an external and then pipe into another command, engine-q creates a RawStream. This is an iterator that has "frames" of data. We don't know how much it will output, or even exactly what the format of that data will be, so we just assume we'll get a frame of data at a time. To make it work a little better, we'll automatically convert these frames of data to utf-8 strings if we can.
This work relatively okay, except in some cases. The one you're hitting I think is one of the bad cases, where there's a command that wants to do something to each string it finds. Here, str trim wants to trim every string it finds. That is great in theory, but for working directly on a RawStream, the end result is this:

RawStream automatically converts the binary it sees into strings (yay!)
str trim maps over these strings and trims each (uhhh, what?)
str trim returns a ValueStream of trimmed strings (uhhh)

which is why you're seeing a list. These values, after they trimmed are turning into a ValueStream, an iterator over Values. And this thing will become a list if you ever look at it.
There are a few ways we might fix this:

we could have str trim collect up the string before it trims it. We'd probably need to do this fix with a few functions
we could warn the user if they ever try to call external | str trim (or similar) and say that you need a str collect step, making it external | str collect | str trim.

There might be some other ways we could go, too. In short, it's kind of a rough spot in the design as two parts of how engine-q work collide.

thank you for the explanation!
Are there nushell commands that can take direct advantage of those RawStreams?
Is there for users of the shell a difference between RawStream and Strings? Or is the difference only internal?
If there is a difference for the user I think I'd prefer the second version

we could warn the user if they ever try to call external | str trim (or similar) and say that you need a str collect step, making it external | str collect | str trim.

If there isn't then the distinction seems a bit unclear as a user :)

also
^ls | str collect | str trim and ^ls don't output the same thing.
> ^ls | str collect | str trim
Cargo.lock
Cargo.toml
LICENSE
README.md
crates
docs
src
target
tests

> ^ls
Cargo.lock  Cargo.toml  LICENSE  README.md  crates  docs  src  target  tests

@archaeron - I think that example is coming from ls changing its behaviour when the output is redirected. In bash, you can also see it:
> ls | wc -l
22

@jntrnr that's true, sorry 🙈

PR #969 is an attempt to fix this issue. It moves us to treating the RawStream as a single value in more cases, which lets commands like str trim just see it as just another string.


Add code of conduct

Description
This is done to add the code of conduct to the repository
Some questions

Did you read the contributing guidelines?
Yes
Did you edit any CSS or JS file?
No
If you answered yes, did you update the version number on index.html?
Not applied

If you answered No to question 1, go back and read the instructions carefully.
If you answered Yes to question 2 and No to question 3, go back and update the version number.
Additional Notes
Do you want to add anything else? We :heart: to hear your opinions!
No, I'm fine 🎉

@AparaV Done!


Fixes broken team screen issue

closes - TryGhost/Ghost#8409
This PR changes -

Fixes the styling issue of Team Screen page when logged is as Author.
Authors now only be able to view their own user in the Team list.

Coverage increased (+0.02%) to 73.573% when pulling 137b69e912e41383c4828c89b5b06e4cccd216b4 on rabbihossain:fix3 into d70ea177969e4e940a1acc6af1f3f35a3cd103a4 on TryGhost:master.

@kevinansfield, also review it if possible.

Hey @rabbihossain, this works but it's a half solution. I've pushed a PR that extends your changes here https://github.com/TryGhost/Ghost-Admin/pull/692


Regression in line spacing for raw elements

I was adapting a temporary solution for line numbers by @mpizenberg in https://github.com/typst/typst/issues/344#issuecomment-1493820681 for my own use case.
I noticed that the layout didn't quite work on my local compiler (1e948f7fa), where it was floating off due to different spacing to the current web app (v0.2.0, fe2640c55), somewhere inside fe2640c55..1e948f7fa a commit introduced a regression that breaks this particular implementation. My assumption, purely by reading the commit messages, is that it may have been ff16f3fb3 (#701) or perhaps less likely 46ce9c94e.
If this new line spacing is the new intended behavior then this issue can probably be closed, but without a solution for #344, referencing lines in code blocks will continue to be a pain point for me.
I've included a document that produces the regression for ease of bisecting, I would do it myself if I had the time. Notice the misaligned line numbers on the bad case.
The good case (v0.2.0, fe2640c55):

The bad case  (1e948f7fa):

I did a bisect on this. This change was introduced by 89cf4054d61d296245b34a20f9ad0b749c0f83e2, specifically by the change of the PartialEq impl for StyleChain. It does not include the equality on equal hash anymore like it used to. Whether this is the intended behavior I can not tell, but adding || crate::util::hash128(self) == crate::util::hash128(other) back in, fixes the issue

While the behavior changed, it did not impact anything other than somewhat hacky solutions like these. I'll consider this closed as wont-fix, since there are working implementations available as packages.


Update tf.keras.preprocessing.image* to tf.keras.utils*

Update

tf.keras.preprocessing.image.array_to_img to tf.keras.utils.array_to_img
tf.keras.preprocessing.image.img_to_array to  tf.keras.utils.image.img_to_array
tf.keras.preprocessing.image.load_img to tf.keras.utils.load_img

@qlzh727,
For any new users who are trying to refer the following API's

tf.keras.utils.load_img,
tf.keras.utils.img_to_array
tf.keras.utils.array_to_img

Syntax and usage examples may cause little confusion. Please refer to a reference issue from TF Forum. Thank you.

Thanks for the context.  @fchollet  as well for this, since this is bit related to the unification of private package/code path with the public API path.
Note that the current supported way to access keras API is via "from tensorflow import keras", not "import keras". We are trying to unify the gaps between those two, but we probably can't resolve all of them.


⚠ Processors has degraded performance

In 873e135, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 85 ms

Resolved: Processors performance has improved in d5cf224.


forge build compile the YUL file with the error "Field "settings.remappings" cannot be used for Yul."

Component
Forge
Have you ensured that all of these are up to date?

[ ] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (1d1e182 2022-09-11T00:04:31.351526Z)
What command(s) is the bug in?
forge b
Operating System
macOS (Apple Silicon)
Describe the bug
i write an YUL file, and i hope the forge can compile it for me. but it fails with the corresponding error:
(base) ➜  temp git:(master) ✗ forge b
[⠢] Compiling...
[⠢] Compiling 10 files with 0.8.16
[⠆] Solc 0.8.16 finished in 1.99s
[⠰] Compiling 1 files with 0.8.16
[⠔] Solc 0.8.16 finished in 6.38ms
Error:
Compiler run failed
Field "settings.remappings" cannot be used for Yul.

and also, i create an repo to replicate this error, please check:
https://github.com/bixia/temp/tree/master/src

@bixia this error comes straight from the compiler since the remappings to forge-std & ds-test are added by default.
https://github.com/ethereum/solidity/blob/f808855329c8c704f0fb5d7d0738a439a5d2bfaf/libsolidity/interface/StandardCompiler.cpp#L1389-L1398
@mattsse @gakonst wdyt about doing a separate compiler run for .yul files if there are any detected?

that makes sense and another sanitize call on the CompilerInput to make it work with yul

@mattsse sry for no update, i actually found the PR with support for yul in ethers that did that. i'll put out the PR shortly which omits remappings and revertStrings for yul


Maintain code readability

Please write code using common standards. I recommend turning on flake8 as a linter. I adhere to add comments to improve code readability.

We should make some improvements to comments to improve code readability.


Modified to correct mail icon

PR Description 📜
Bug: Mail icon is not correct
Modified the correct mail icon
Fixes #156

Mark the task you have completed ✅

[X] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[X] I have performed a self-review of my own code or work.
[ ] I have commented my code, particularly in hard-to-understand areas.
[ ] My changes generates no new warnings.
[X] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[ ] I have added screenshot for review.

Before:

After:

Thank you soo much for contributing to our repository 💗

@vinay-reddy31 resolve conflicting files

Resolved Conflicts


stress tests

do the stress tests and collect all relevant data

it is done, results posted to slack


Remove peer dependency on Babel

Not every repo needs Babel to run their linter (in fact, it's very possible that none does anymore); removing it here doesn't mean downstream repos can't use it anymore (they just need to specify the parser in their ESLint config).

I don't know enough about babel to review this, could you help review by creating a matching PR in one of the consuming repos?

Not sure what you mean by "matching PR", I'm creating this because I'm working on https://github.com/transloadit/uppy/pull/3755 and the CI is failing because of this: https://github.com/transloadit/uppy/runs/6662120101?check_suite_focus=true

I meant a PR that is depending on this branch so that we see what changes are necessary in the consuming repo

Then https://github.com/transloadit/uppy/pull/3755 is what you are looking for (and specifically this CI run: https://github.com/transloadit/uppy/runs/6662120101?check_suite_focus=true)

I think what Julian might be referring to is:

removing it here doesn't mean downstream repos can't use it anymore (they just need to specify the parser in their ESLint config).

If a repository does depend on Babel, how would one add Babel back to their setup.
Or am I wrong here, Julian? :sweat_smile:

I don't understand the babel situation really :D If we have a PR somewhere that depends on this specific branch (via updating yarn) then it will be very clear there if anything needs to be updated or not. That currently isn't clear to me.

I don't follow, that PR isn't depending on this branch 🤔 I meant depend as in yarn add aduh95/eslint-config-transloadit#patch-1

That PR does depend on this branch in the sense that currently the linter job is failing, but it works if I apply the change in this PR.
I tried to ask Yarn to use this branch and got an error:
$ corepack yarn add eslint-config-transloadit@https://github.com/aduh95/eslint-config-transloadit.git#patch-1
…
Packing eslint-config-transloadit@https://github.com/aduh95/eslint-config-transloadit.git#commit=5dfeda76ca6176dfee1f05cefe56c61b22e4a7c0 from sources
Using Yarn Classic for bootstrap. Reason: "__metadata" key not found in yarn.lock, must be a Yarn classic lockfile

yarn set v1.0.0
(node:6038) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
error Command "set" not found.

You just have to believe me that this change unblocks me I'm afraid (or checkout the Uppy repo, run corepack yarn install, and manually patch the node_modules/eslint-config-transloadit/index.js file like I did).

As part of this PR, should we document in the README what steps a consuming project needs to take that does still require babel?

IIUC they wouldn't need to do anything because they are already depending on Babel (since it was on the peerDependencies, not the dependencies).

Not too sure, for new projects the install instructions would be different now, and also what about the config change that no longer points to the parser 🤔wouldn’t existing projects now need to explicitly add this?

Not too sure, for new projects the install instructions would be different now, and also what about the config change that no longer points to the parser 🤔wouldn’t existing projects now need to explicitly add this?

Ah yes correct, if they have not already they would need to have an explicit parser: '@babel/eslint-parser' to their ESLint RC file. Where should it be documented?

I would say the install instructions in the README?


Do not work with Turbolinks 5 well

Problem
bootstrap-select depends on the load events of the window.
https://github.com/silviomoreto/bootstrap-select/blob/master/js/bootstrap-select.js#L1840
  $(window).on('load.bs.select.data-api', function () {
    $('.selectpicker').each(function () {
      var $selectpicker = $(this);
      Plugin.call($selectpicker, $selectpicker.data());
    })
  });

But the load events of the window is not fired in page transitions with Turbolinks 5.
Reference: https://github.com/silviomoreto/bootstrap-select/issues/1413
Resolve
We relay the 'turbolinks:load' events of the document to the load events of the window.
For example:
$(document).on('turbolinks:load', function() {
   $(window).trigger('load.bs.select.data-api');
});

Suggestion
I think it is a good idea to append above code into the vendor/assets/javascripts/bootstrap-select.js in this gem.
Because this gem is to use bootstrap-select with the Ruby on Rails.

While I'm not using this gem in my Rails 5 app, Bootstrap 4 selects brake when turbolinks load pages from cache. @ledsun's mentioned fix work in these situations, without duplicating dropdowns like $('select').selectpicker(); happened to do.
Hopefully this can help someone else.

This solution doesn't work for version 1.13.8. Had to disable Turbolinks completely.

I made a sample application that uses version 1.13.8.
This solution is still working well.
https://github.com/ledsun/sample-application-for-verifying-the-solution-for-bootstrap-select-rails-to-work-with-Turbolinks-5.

Also didn't worked in my case.

bootstrap-select-rails (1.13.8)
rails (5.2.3)

same issue

@Slashek are you planning to support turbolinks?
I saw you closed https://github.com/Slashek/bootstrap-select-rails/pull/32 without offering a workaround. should we assume turbolinks is not supported?
If so should you update the README?

@ledsun's solution is working for:

Turoblinks (5.2.1)
Rails (6.0.0)
Bootstrap (4.3.1)
bootstrap-select (1.13.8)

A similar option that I have been using to deal with these problems is to add an event listener for TurboLinks events, along with a standard ready. It's annoying to have to have the code implemented in 2 places but it has solved all of my JS/Turbolinks integration issues so far.

It breaks when doing "back" in the browser.

This is the workaround for going "back":
$(document).on('turbolinks:before-cache', function() {
    const $picker = $('.selectpicker');
    const picker = $picker.data('selectpicker');
    if (picker) {
        picker.destroy();
        $picker.addClass('selectpicker');
    }
});

@romanbsd Your solution worked for me to an extent, but when navigating my application using Turbolinks, the selectpicker element would appear noticeably later than the rest of the page.
My solution ended up using the data-turbolinks-permanent attribute from the Turbolinks API (Persisting Elements Across Page Loads):
$(document).on('ready turbolinks:load', function() {
  $(window).trigger('load.bs.select.data-api');
});

<div id="selectpicker-parent" data-turbolinks-permanent>

$(document).on('turbolinks:before-cache', function() {
  $('.selectpicker').each(function(index, el){
    const $picker = $(el);
    const picker = $picker.data('selectpicker');
    if (picker) {
        picker.destroy();
        $picker.addClass('selectpicker');
    }
  });
});

This is the workaround for going "back":
$(document).on('turbolinks:before-cache', function() {
    const $picker = $('.selectpicker');
    const picker = $picker.data('selectpicker');
    if (picker) {
        picker.destroy();
        $picker.addClass('selectpicker');
    }
});

Thanks man!

This is the workaround for going "back":

That solution works, but only for one selectpicker. When there are multiple pickers, it is better to handle them all.
$(document).on('turbolinks:before-cache', function() {
    $('.selectpicker').each(function (i, el) {
        const picker = $(el).data('selectpicker');
        if (picker) {
            picker.destroy();
            $(el).addClass('selectpicker');
        }
    });
});

But with this solution the problem is that the selected values are lost when going "back".
So I'm trying to find a way to first store selected values and then restore them after the destroy call.

This solution helped me out
function jsReload() {         $('.selectpicker').selectpicker();         $('.flatpickr').flatpickr();     } $(document).ready(jsReload);     $(document).on('page:load', jsReload);
Hope it will help you to.


Open search results in readonly document

Further experiments.

Search results are show in a tab.  When you close it you get a save dialog:

Not a show stopper, but would be nice if it could be avoided.

Subsequent searches add to the open Results tab.  I kind of expected them to be in a separate tab.

@worksofliam

Please keep all your findings in a single issue, thanks!

Yes, for now, it will continue to open in its own unsaved text document. I could implement a textDocumentProvider but that does add a tad bit of complexity. I don't have a ton of time to work on this right now, but I am going to fix up the issue title to match the enhancement.

"Please keep all your findings in a single issue, thanks!"
Sorry.  I thought that one issue would be too large.
"edit: i would recommend updating the topmost comment with all this info"
Not sure that this means.
You back in the UK or still in NC?
Sam

From: barry @.>
Sent: Wednesday, June 9, 2021 11:52 AM
To: halcyon-tech/code-for-ibmi @.>
Cc: SJLennon @.>; Author @.>
Subject: Re: [halcyon-tech/code-for-ibmi] Feedback # 2 on New search (#166)
Please keep all your findings in a single issue, thanks!
edit: i would recommend updating the topmost comment with all this info
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/halcyon-tech/code-for-ibmi/issues/166#issuecomment-857823869, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AQC3TE4GBUDHKLJPXIQNYYDTR6E5BANCNFSM46MKI7GQ.

I've wanted this for a while, but there is a blocker.
https://github.com/microsoft/vscode/issues/4873

@SJLennon The attached PR will solve this issue. Check out the PR for a screenshot.

We no longer use documents for the results.


Fixing ai configuration in dp to cp flow

Purpose
Fixing ai configuration in dp to cp flow

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 1.78%. Comparing base (7740873) to head (a44a89b).
Report is 85 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #2591       +/-   ##
==========================================
- Coverage   22.83%   1.78%   -21.05%
==========================================
  Files         189      42      -147
  Lines       32758    4712    -28046
==========================================
- Hits         7479      84     -7395
+ Misses      24784    4628    -20156
+ Partials      495       0      -495

Flag
Coverage Δ

adapter
?

common-controller
1.78% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


support udtf：user defined table generation function

we need to explode one line to multi lines,like json string or array string
this is what udtf do， like table test_udtf:
select * from test_udtf;
+-------------+------------+--+
|   pageid    | adid_list  |
+-------------+------------+--+
| front_page  | [1,2,3]    |
| end_page    | [4,3,6]    |
+-------------+------------+--+
hive implements udtf  like this:
grammer one: select pageid, score from test_udtf1 lateral view explode(adid_list) scores as score;
Grammer two: select pageid, explode(adid_list)  as score from test_udtf ;
+-------------+--------+--+
|   pageid    | score  |
+-------------+--------+--+
| front_page  | 1      |
| front_page  | 2      |
| front_page  | 3      |
| end_page    | 4      |
| end_page    | 3      |
| end_page    | 6      |
+-------------+--------+--+

https://github.com/apache/incubator-doris/issues/1809

hi,have you found the solution to the problem.I have the same problem too. How to write the doris sql?

@wguangliang now, Doris doesn't support udtf, but we can use other method to work around  https://xie.infoq.cn/article/f7a2d9fd093d4f80bf8480db6

@caiconghui thanks~


[Button][ButtonBase] Take advantage of defaultProps for component prop

@cherniavskii Thanks, let's try that out :)


removing commander. adding yargs

Commander has a lot of usage, but hasn't been maintained. Going with a more modern cli library
connects to #32

Coverage remained the same at 79.208% when pulling e06c577658617d55fec5219bd6db5dd05dfb9e42 on lholmquist:32-not-commander into c532662f84e690b460fd87a99732eaf15b83ad8c on bucharest-gold:master.


Add support for explicitly specifying node entrypoint location

Describe the feature
Similar to how one can specify the runtime via JSII_RUNTIME, there should also be support for providing an explicit location for the node entrypoint with fallback to searching the path.
Use Case
For my particular use case, I'm writing bazel rules to handle executing cdk apps written in arbitrary languages. In this case, manipulating the path to ensure the correct node entrypoint is present and has the correct priority is problematic and non-standard across language_binary targets. By comparison, having an explicit environment variable for setting the node entrypoint would be straightforward to support.
Proposed Solution
Add a JSII_NODE environment variable option to specify the exact location of the node entrypoint. if unset, fallback to existing behavior of environment lookup.
Other Information
No response
Acknowledgements

[X] I may be able to implement this feature request
[ ] This feature might incur a breaking change

CDK version used
2.55.0
Environment details (OS name and version, etc.)
mac/linux

I've created #3890 to demonstrate how this will work for go. If you're down with this approach I can implement the remaining runtimes.

Is this not the same as ensuring the "correct" node is the 1st in $PATH?

In normal cases, yeah. However, with bazel (and go) there are complexities

bazel prefers away from putting things on the path. You can work around this by using the run_shell command and constructing the path as part of the shell script, but including arbitrary binaries (i.e. a go cdk app, a js cdk app, a c# cdk app, etc.) becomes more difficult as you need to handle more environment setup compared to the more straightforward run command for a binary target. Since this environment setup can vary by the binary type, you possibly have to do incremental work for every cdk language.
bazel prefers using relative paths as it uses a combination of symlinks and sandbox directories depending on the platform. go in particular no longer supports relative path lookups. You can again hack around this as part of a run_shell command, but see above why run_shell is complicated to use when you have multiple kinds of binaries you can support.

In normal cases, yeah. However, with bazel (and go) there are complexities

bazel prefers away from putting things on the path. You can work around this by using the run_shell command and constructing the path as part of the shell script, but including arbitrary binaries (i.e. a go cdk app, a js cdk app, a c# cdk app, etc.) becomes more difficult as you need to handle more environment setup compared to the more straightforward run command for a binary target. Since this environment setup can vary by the binary type, you possibly have to do incremental work for every cdk language.
bazel prefers using relative paths as it uses a combination of symlinks and sandbox directories depending on the platform. go in particular no longer supports relative path lookups. You can again hack around this as part of a run_shell command, but see above why run_shell is complicated to use when you have multiple kinds of binaries you can support.


THUMBNAIL_DBM_FILE can be a path

This is important if the default location for it is not writable for some reason. Documentation patch.

For some reason, this pull request got created here instead of the upstream repo. Closing.


Refactor error messages in niljson tests.

Replaced hard-coded error strings with constant variables to improve code maintenance and readability. This ensures consistency across error messages and makes future updates easier.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Please upload report for BASE (main@c602cb5). Learn more about missing BASE report.
Report is 2 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff            @@
##             main        #7   +/-   ##
========================================
  Coverage        ?   100.00%
========================================
  Files           ?         1
  Lines           ?        27
  Branches        ?         0
========================================
  Hits            ?        27
  Misses          ?         0
  Partials        ?         0

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


⚠ Bofrost.hr has degraded performance

In 0dd023b, Bofrost.hr (https://www.bofrost.hr) experienced degraded performance:

HTTP code: 200
Response time: 2121 ms

Resolved: Bofrost.hr performance has improved in 3cf04e6 after 20 minutes.


[HOTFIX] Remove unnecessary list files API invocation

Remove unnecessary list files API invocation

[ ] Any interfaces changed?

[ ] Any backward compatibility impacted?

[ ] Document update required?

[ ] Testing done
Please provide details on
- Whether new unit test cases have been added or why no new tests are required?
- How it is tested? Please attach test report.
- Is it a performance related change? Please attach the performance test report.
- Any additional information to help reviewers in testing this change.

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/709/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/717/

Build Success with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/717/

LGTM
like unused import error, is it required to add a rule for unused declaration ?

I guess there is no such rule, unused import is a style check


Some open terminals not showing on the taskbar

I use Task View extensively, so maybe that is contributing to this issue.
On the Cairo taskbar, I am only seeing (1) open Terminal, instead of the (3) I have currently open; these were started from right-clicking on the desktop. When I manually switch to the desktop where the other terminals are open, the taskbar reflects this. But then the other open terminal goes away. If I start an app from a shortcut that runs in the terminal, the behavior works as expected (tested with ScrCpy).
What setting am I missing?

Sorry, just didn't look hard enough. Great product, by the way. I had forgot about it until I needed to start using Windows again.


Does nginx-rtmp-module has authentication

If no authentication,others can send broadcast to my company‘s nginx server.And others can download my company's video or audio. If has authentication,how to configure?How to ensure the safety of live?

You can do these things by using on_publish /on_play.

Can give me an example? Need a  PHP script?

iptable is your friend.
On Fri, Apr 22, 2016 at 11:29 AM, yidianhong123<EMAIL_ADDRESS>wrote:

If no authentication,others can send broadcast to my company‘s nginx
server.And others can download my company's video or audio. If has
authentication,how to configure?How to ensure the safety of live?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/arut/nginx-rtmp-module/issues/798

iptables or any http accessible language which can return 200 and 403 http
codes for request.

I'm no expert but...
I do not think iptables is a good choice for user authentication.
It would more likely be used to control access at the ip/port/protocol level.
The issue is valid: a dearth of tutorials, explanations and examples.
But I doubt we should pester the developers about that.
Thank them for sharing their hard work.
In this case I would say google is your friend. EG
https://groups.google.com/forum/#!msg/nginx-rtmp/y028v8RVx9o/dND4THOLUc0J
http://www.helping-squad.com/nginx-rtmp-secure-your-nginx-server/
Perhaps the request is for a collection of example configurations and scenarios.
These do not need to be curated by the developers, just slap a big caveat on top ;)
Or just links to blogs and forums as above.
Meantime, look through the issues to see where people have posted their configs.
They provide some further examples.

II do these things by using on_publish /on_play,combined with a PHP script.We compare username and password in PHP script.When PHP script return 200,live broadcast of the client can living.When  PHP script return 400,live broadcast of the client can't living.Now problem is that live broadcast of the client how to pass  username and password to the nginx server, fastcgi and PHP script.Is nginx done that automatically?

You need to pass data in rtmp url, and php script will get them as POST
data.
26 kwi 2016 04:03 "yidianhong123"<EMAIL_ADDRESS>napisał(a):

II do these things by using on_publish /on_play,combined with a PHP
script.We compare username and password in PHP script.When PHP script
return 200,live broadcast of the client can living.When PHP script return
400,live broadcast of the client can't living.Now problem is that live
broadcast of the client how to pass username and password to the nginx
server, fastcgi and PHP script.Is nginx done that automatically?
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/arut/nginx-rtmp-module/issues/798#issuecomment-214585124

thanks,I have realized.

The url at the back of the on_publish,support for HTTPS?

https://github.com/arut/nginx-rtmp-module/issues/127
"Will HTTPS ever be supported in on_play?"..."no such plans"
Yet Bing translates the comment Feb 7 as "Thanks for the tip. Everything worked. Somehow I was sure that SSL is going to default." So maybe proxy_pass will work...

In nginx.conf,when I write "proxy_pass http://<IP_ADDRESS>/indexTest2.html; " I can access that page.When I write "proxy_pass https://<IP_ADDRESS>/indexTest2.html; " I can't access that page.why?

In nginx.conf,when I write "proxy_pass http://<IP_ADDRESS>/indexTest2.html; " I can access that page.When I write "proxy_pass https://<IP_ADDRESS>/indexTest2.html; " I can't access that page.why?

https require a domain name to function. It won't work with IP address.


Pull build number from environment, default to 0

Simple change to enable Jenkins builds to increment the build number automatically without affecting the version number.

I tested this in the new anaconda Jenkins pipeline I'm building and it worked there. If the build environment doesn't have a 'BUILD_NUMBER' environment variable defined it will default over to 0.
BUILD_NUMBER is defined for each run of a jenkins pipeline by the jenkins pipeline instance and always increments. This will prevent version string collisions from occurring in automated builds.


Incorrect copywriting on Database CTA

Description
On the Database CTA, the copywriting for the button is written as "Cek sekarang", where it should've been "Telusuri sekarang"
Expected Behaviour

Hi, can I work on this?

@morezam sure!


Book Editing: Support adding new sections to a book

Support creating new sections from UI
https://user-images.githubusercontent.com/34872381/133197913-3c4148ec-0c17-48cb-a658-cc57eed7587f.mov

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

8 of 14 (57.14%)  changed or added relevant lines in 4 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.02%) to 41.664%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

extensions/notebook/src/book/bookTreeView.ts
1
7
14.29%

Files with Coverage Reduction
New Missed Lines
%

extensions/notebook/src/book/bookTreeView.ts
1
36.73%

Totals

Change from base Build<PHONE_NUMBER>:
0.02%

Covered Lines:
26422

Relevant Lines:
57442

💛  - Coveralls


Bump LiteralAI to 0.0.623

Requires:

[x] Manual testing
[x] Mock unit testing

During manual evaluation, I've been getting:

'PaginatedResponse' object has no attribute 'pageInfo'
#1370

I'm doing further testing right now.

Got the following error report: message.txt
To reproduce set a literal api key, setup dummy auth like
@cl.password_auth_callback
def auth_callback(username: str, password: str):
    # Fetch the user matching username from your database
    # and compare the hashed password with the value stored in the database
    if (username, password) == ("admin", "admin"):
        return cl.User(
            identifier="admin", display_name="toto", metadata={"role": "admin", "provider": "credentials"}
        )
    else:
        return None

create a conversation with an image, refresh the page and try to load it from the history
On literal everything is showing up nicely, this is purely a python error at fetching time


Potential troll/shill vector in chat

Currently we have the ability to select different addresses to post comments in both Private and Group chat. This could be used to troll/shill with sock accounts and nobody would be the wiser.

Sample image is an example of this. All those posts were made from my account but either aren't identified, linked or invited by my account or other people in the chat.
A solution would be to eliminate the drop down address selector and only allow address invited to chat session or address who created chat session.

This is probably more likely in group chat over private chat

Yes,
The next update should take care of this a bit, not perfectly but to some degree.
We'll be locking the dropdown if you've ever sent a message. A user would have to constantly delete his messages and pick another address.
Trolls and shills will always be a problem, regardless of the solution you throw at it.
Currently we can not enforce restricting it to invited-only addresses due to the cryptography and time-limit of messages that drives our engine.


JSON output is wrapped in CSS comments

When using output: "json", the resulting output is invalid JSON due to wrapping comments like so:
/*! UniformCSS v1.3.0 | MIT License | github.com/ThinkUniform/uniformcss */
/*!
{ ... }
*/

Expected behavior
I would expect raw JSON to be output, that doesn't require me to manually remove wrapping comments.
Additional context
I've setup Uniform with my application using a config/_index.scss file that does something along these lines:
$output-mode: "css" !default;

@use "uniform" as * with (
  $config: (
    // Build settings - https://uniformcss.com/docs/build-settings/
    delimiter: "\\:",
    pseudo-delimiter: ":",
    screen-delimiter: ":",
    output: $output-mode,
    ...
  )
)

Then I have two separate stylesheets that I use, one (application.sass.scss) generates the CSS for my app:
// Generated utilities - configs + generation
@use "app/config/index";
@use "app/custom/button";
...

And the other (reference.sass.scss) generates the JSON for our internal CSS reference docs:
@use "app/config/index" with ( $output-mode: 'json' );

My build setup for reference.sass.scss drops the output in a css-utilities.json file that we consume to automatically generate documentation. But...with the current issue described up top, a manual intervention is required to remove the wrapping comments from the JSON output. What do you think of removing the wrapping comments @jinsupark?

Hey @conormuirhead! After some experimentation, I don't think there will be a way to output this without the wrapping comments, unfortunately. This is due to how Sass handles interpolation. More specifically, interpolation cannot be standalone and expects the { selector to follow. How Uniform compiles JSON is similar to how https://github.com/oddbird/sass-json-export works.
I will reach out to the core Sass team to request a simple string print functionality in order to get around this problem.

I appreciate you investigating @jinsupark! Good news is we've got a workaround in place for the moment, just by adding some extra steps to our build script for generating the json.


hard to see blockchain loading progress

It's really hard to see, how far the progress of downloading the blockchain is, because people aren't all that good at distinguishing 5, 6 or 7 digit numbers from each other, just at a glance.
Adding in a separator sign after every 3 or 4 digits would help to see this immediately.
Maybe add an option to switch between 3 and 4 digits to please Western and Chinese users, alike.

Hi @lock9 ,is there any plan to this issue in NEO3 ?

Hello,
@Ashuaidehao  this is planned in next neo-gui version, it doesn't influence much neo 3 - it seems more like a 'usability issue' rather than a protocol problem.
So, "it will be fixed", but it doesn't relate to neo 3.


Possible regression on Master vs 2.0.0 - gaps when rendering with MSAA 4X activated

Hi!
I was just checking a few raylib examples with MSAA 4X activated after building against master and noticed certain visual artefacts that I am not seeing when running version 2.0.0.
In the basic shape example - you'll notice faint white lines on certain shapes:
Master: (As of Nov 19th, 2018)

The exact same code running against the 2.0.0 release does not appear to produce those artefacts:
2.0.0:

Running on MacOS Mojave 10.14.1 - specific GPU info below:
INFO: GPU: Vendor:   Intel Inc.
INFO: GPU: Renderer: Intel(R) HD Graphics 6000
INFO: GPU: Version:  4.1 INTEL-12.2.17
INFO: GPU: GLSL:     4.10

If this can help find the regression - I was able to narrow the dates down a bit:
This commit does not have the issue: b051f7778f42cf6b2a3285e01524549c15b41f4e(October 29th, 2018)
This commit has the issue: 065994219e32e661bd92c2933b70c9573b82fff0 (Nov 6th, 2018)

Awesome! - just did a quick check against master latest and the issue is resolved.
I'll close this issue as I believe it's all good. Feel free to reopen if I shouldn't have closed it :).
Keep up the great work on the lib!


Fix grammar, typos, and consistency in CREDITS.md

Corrected possessive form, improved sentence clarity, and ensured consistency in terminology within the CREDITS.md file.

Thanks!


cocoa: Post Awakened events at the end of the queue to avoid floods.

Closes servo/webrender#179.
r? @paulrouget

Thanks.


Instance level disk ingestion limits

@begelundmuller How do we plan to handle bwd compatibility of APIs between cli > admin server > runtime server? By using optional parameters ?
As of now I have directly added fields.


Vue Support?

Is there a reason that this is Nuxt-only and couldn't support vanilla Vue 3?

Already answered in #187

Can we close this issue since It has been answered ?


UNAUTHENTICATED

When I try to access google firestore,showing this error
Google\Cloud\Core\Exception\ServiceException: {
"message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
"code": 16,
"status": "UNAUTHENTICATED",
"details": [
{
"@type": "www-authenticate",
"data": "Bearer realm="https://accounts.google.com/""
}
]
} in /var/www/html/truehalf/vendor/google/cloud-core/GrpcRequestWrapper.php:257

Hi @sreethinsree,
Can you share the code you're using to create the client? Be sure to redact private information like project ID.
You need to supply a Service Account keyfile when creating the client. This can be done at instantiation, or by configuring Application Default Credentials.
use Google\Cloud\Firestore\FirestoreClient;

$firestore = new FirestoreClient([
    'keyFilePath' => '/path/to/keyfile.json',
    'projectId' => 'myProjectId'
]);

I believe the issue here is that when you use the ServiceBuilder, credentials are no longer passed to the client classes.
For example, this used to work:
$service = \Google\Cloud\ServiceBuilder(["keyFilePath" => "/path/to/credentials.json"]);
$service->bigQuery();
But now you get an authentication error, unless you set the 'keyFilePath' in the config passed to bigQuery().


Unable to load recipe online

Describe the bug
Unable to load the recipe on the host side when online, This may be a serious bug
To Reproduce
Steps to reproduce the behavior:

Start with 2 minecraft
The host enters the map and is open to the local area network
At this point, the recipe can be displayed on the host side, Allow another client to enter the local area network (do not enter single player games)
Another client cannot display the recipe
additional
Keep LAN enabled, Client exits LAN, modify the JSON file of the recipe, and enter a single player game
At this point, the recipe has been modified and can be displayed (the LAN of the other minecraft remains enabled)
Exit the single player game and enter the local area network. The recipe has been modified (it appears to be fake)
Fortunately, the client cannot create anything from the fake recipe displayed to him
If the host creates items other than fake recipes (i.e. actual recipes), the client will directly crash
crash-2023-04-18_14.01.09-client.txt

conclusion
I think the client cannot correctly read the recipe cache from the host (perhaps not including the server), and the recipe is not actively loaded from the moment the game starts

I just noticed that this may be a problem that has already been reported

Already a known Issue,
LAN has been broken and Is an issue that will be fixed later
Regular Multiplayer works.

Duplicate of #36


Argument exception when host's listener socket is constructed

Hi! We've been having a recurring issue on the Hololens (host) build of our app. Looks like when a new SocketServer is constructed by calling SocketServer(int port) an exception is thrown at serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); (file SpectatorView\Scripts\Socketer\SocketerClient.cs).
I'm not really sure what's going on, since no errors are caught on the editor preview of the app, and the socket is opened just fine. We've tried targeting a bunch of UWP SDK versions, just in case, but that hasn't been of much help this far.
ArgumentException: Value does not fall within the expected range.
  at System.Net.Sockets.Socket.SetSocketOption (System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, System.Int32 optionValue) [0x00000] in <00000000000000000000000000000000>:0
  at System.Net.Sockets.Socket.set_DontFragment (System.Boolean value) [0x00000] in <00000000000000000000000000000000>:0
  at System.Net.Sockets.Socket.SocketDefaults () [0x00000] in <00000000000000000000000000000000>:0
  at System.Net.Sockets.Socket..ctor (System.Net.Sockets.AddressFamily addressFamily, System.Net.Sockets.SocketType socketType, System.Net.Sockets.ProtocolType protocolType) [0x00000] in <00000000000000000000000000000000>:0
  at Microsoft.MixedReality.SpectatorView.SocketerClient+SocketServer..ctor (System.Int32 port) [0x00000] in <00000000000000000000000000000000>:0
  at Microsoft.MixedReality.SpectatorView.SocketerClient..ctor (Microsoft.MixedReality.SpectatorView.SocketerClient+Protocol protocol, System.Int32 port) [0x00000] in <00000000000000000000000000000000>:0
  at Microsoft.MixedReality.SpectatorView.SocketerClient.CreateListener (Microsoft.MixedReality.SpectatorView.SocketerClient+Protocol protocol, System.Int32 port) [0x00000] in <00000000000000000000000000000000>:0
  at Microsoft.MixedReality.SpectatorView.TCPConnectionManager.DoStartListening (System.Int32 port) [0x00000] in <00000000000000000000000000000000>:0
  at Microsoft.MixedReality.SpectatorView.TCPConnectionManager.StartListening (System.Int32 port) [0x00000] in <00000000000000000000000000000000>:0
  at Microsoft.MixedReality.SpectatorView.NetworkManager`1[TService].StartListening (System.Int32 port) [0x00000] in <00000000000000000000000000000000>:0
  at Microsoft.MixedReality.SpectatorView.StateSynchronizationBroadcaster.Start () [0x00000] in <00000000000000000000000000000000>:0

Any input will be greatly appreciated!

I haven't heard of anyone encountering this before. Some additional questions:

Are you hitting this issue with HoloLens 1 or HoloLens 2?
What OS version is your HoloLens running?
What version of Unity are you using? Are you building with il2cpp or .NET backend? Are you using Mono .net 2.0 or Mono .net 4.x?
Is this exception occurring in a sample project or your own custom project? What capabilities are declared for the visual studio solution in the Package.appxmanifest file? Do you have Internet (Client & Server), Internet (Client) and Private Networks (Client & Server) enabled?

Hi! Thanks for your reply, here's the info:

Currently testing on HoloLens 2
OS: Windows Holographic for Business 10.0.19041.1103
Unity 2019.2.19 building with IL2CPP using .NET 2.0 (also tested .NET 4.0)
Exception pops on a custom project.
Capabilities look alright:

<Capabilities>
    <Capability Name="internetClient" />
    <Capability Name="internetClientServer" />
    <uap:Capability Name="picturesLibrary" />
    <Capability Name="privateNetworkClientServer" />
    <uap:Capability Name="videosLibrary" />
    <uap2:Capability Name="spatialPerception" />
    <DeviceCapability Name="webcam" />
    <DeviceCapability Name="microphone" />
</Capabilities>

Just wanted to add I've tested two independent networks and saw the same error.
I've also run the Build.2019 example scene and got this
Exception thrown at 0x7727918B in SpectatorView.Build2019Demo.exe: Microsoft C++ exception: Il2CppExceptionWrapper at memory location 0x0300E3C0.
Exception thrown at 0x7727918B in SpectatorView.Build2019Demo.exe: Microsoft C++ exception: Il2CppExceptionWrapper at memory location 0x0300E548.
ArgumentException: Value does not fall within the expected range.
  at System.Net.Sockets.Socket.SetSocketOption (System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, System.Int32 optionValue) [0x00000] in <00000000000000000000000000000000>:0
  at System.Net.Sockets.Socket.set_DontFragment (System.Boolean value) [0x00000] in <00000000000000000000000000000000>:0
  at System.Net.Sockets.Socket.SocketDefaults () [0x00000] in <00000000000000000000000000000000>:0
  at System.Net.Sockets.Socket..ctor (System.Net.Sockets.AddressFamily addressFamily, System.Net.Sockets.SocketType socketType, System.Net.Sockets.ProtocolType protocolType) [0x00000] in <00000000000000000000000000000000>:0
  at Microsoft.MixedReality.SpectatorView.SocketerClient+SocketServer..ctor (System.Int32 port) [0x00000] in <00000000000000000000000000000000>:0
  at Microsoft.MixedReality.SpectatorView.SocketerClient..ctor (Microsoft.MixedReality.SpectatorView.SocketerClient+Protocol protocol, System.Int32 port) [0x00000] in <00000000000000000000000000000000>:0
  at Microsoft.MixedReality.SpectatorView.SocketerClient.CreateListener (Microsoft.MixedReality.SpectatorView.SocketerClient+Protocol protocol, System.Int32 port) [0x00000] in <00000000000000000000000000000000>:0
  at Microsoft.MixedReality.SpectatorView.TCPConnectionManager.DoStartListening (System.Int32 port) [0x00000] in <00000000000000000000000000000000>:0
  at Microsoft.MixedReality.SpectatorView.TCPConnectionManager.StartListening (System.Int32 port) [0x00000] in <00000000000000000000000000000000>:0
  at Microsoft.MixedReality.SpectatorView.NetworkManager`1[TService].StartListening (System.Int32 port) [0x00000] in <00000000000000000000000000000000>:0
  at Microsoft.MixedReality.SpectatorView.StateSynchronizationBroadcaster.Start () [0x00000] in <00000000000000000000000000000000>:0

These permissions look like what I have locally. Do you know if other combinations of AddressFamily, SocketType or ProtocolType generate this issue? This problem doesn't seem like it would be related to spectator view compared to an issue with the .net socket implementation that we are consuming?

Indeed, it looks like there's something wrong with the runtime. Sadly, as far as I understand the socket needs to open a TCP connection, meaning that's exactly the required combination of parameters https://docs.microsoft.com/en-us/dotnet/framework/network-programming/how-to-create-a-socket.

I can't say what exactly will happen in moving to Unity 2019.3, but looking into this more it seems like this may have been a Unity bug that was fixed in 2019.3:
https://issuetracker.unity3d.com/issues/system-dot-net-cannot-set-ipv6-to-multicast-socket-argumentexception-is-thrown

This is a bug in Unity that was uncovered by the latest Windows SDK. See this: https://forum.unity.com/threads/il2cpp-failing-in-windows-machine.891436/#post-5944052

I can confirm downgrading/editing the code fixes the issue. Thank you both @chrisfromwork @TautvydasZilys

@brunosegiu when you refer to downgrade, are you meaning to go to unity 2018? VS 2017? for editing the code are you refering the code snipet at: Editor\Data\il2cpp?

This is a bug in Unity that was uncovered by the latest Windows SDK. See this: https://forum.unity.com/threads/il2cpp-failing-in-windows-machine.891436/#post-5944052

using the code changes in this link solves the issue, just modify the lines in the SocketImpl.cpp for Win32 (delete the ones with dashes)

Sorry I didn't get back to you earlier @diegohdezr
Yes, you're right


[bugfix] NN_TORCH model is incorrectly casting types when used on GPU

Description of changes:
The existing code is using CPU tensor type, which is causing a transfer of GPU tenser to CPU and failing with the exception:
Fitting model: NeuralNetTorch ...
	Warning: Exception caused NeuralNetTorch to fail during training... Skipping this model.
		Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu! (when checking argument for argument target in method wrapper_nll_loss_forward)
Detailed Traceback:
Traceback (most recent call last):
  File "/home/ubuntu/venv/lib/python3.7/site-packages/autogluon/core/trainer/abstract_trainer.py", line 979, in _train_and_save
    model = self._train_single(X, y, model, X_val, y_val, **model_fit_kwargs)
  File "/home/ubuntu/venv/lib/python3.7/site-packages/autogluon/core/trainer/abstract_trainer.py", line 937, in _train_single
    model = model.fit(X=X, y=y, X_val=X_val, y_val=y_val, **model_fit_kwargs)
  File "/home/ubuntu/venv/lib/python3.7/site-packages/autogluon/core/models/abstract/abstract_model.py", line 532, in fit
    out = self._fit(**kwargs)
  File "/home/ubuntu/venv/lib/python3.7/site-packages/autogluon/tabular/models/tabular_nn/torch/tabular_nn_torch.py", line 203, in _fit
    **fit_kwargs)
  File "/home/ubuntu/venv/lib/python3.7/site-packages/autogluon/tabular/models/tabular_nn/torch/tabular_nn_torch.py", line 293, in _train_net
    loss = self.model.compute_loss(data_batch, **loss_kwargs)
  File "/home/ubuntu/venv/lib/python3.7/site-packages/autogluon/tabular/models/tabular_nn/torch/torch_network_modules.py", line 241, in compute_loss
    return loss_function(predict_data, target_data)
  File "/home/ubuntu/venv/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/ubuntu/venv/lib/python3.7/site-packages/torch/nn/modules/loss.py", line 1152, in forward
    label_smoothing=self.label_smoothing)
  File "/home/ubuntu/venv/lib/python3.7/site-packages/torch/nn/functional.py", line 2846, in cross_entropy
    return torch._C._nn.cross_entropy_loss(input, target, weight, _Reduction.get_enum(reduction), ignore_index, label_smoothing)
RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu! (when checking argument for argument target in method wrapper_nll_loss_forward)

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Job PR-1524-1 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-1524/1/index.html


fix(TX-828): Postal code validation in shipping step address form

The type of this PR is: Fix
This PR solves TX-828
Description
Currently the address validation util used for the address form in the shipping step of the checkout flow does not capture wrong postal code submissions by the user. As a result of that, we go ahead and make a request to our API to set the (invalid) address on the order, which results in an error as illustrated below:

This PR adds a validator function for postal code for addresses in the US and CA, so that:

user is informed about the wrong information they submitted
we avoid trying to set an invalid address on the order

This seems like a reasonable change, but just to make sure we don't step on each others' toes or duplicate work i believe that NX is also working on a more robust address validation project right now! Will link in slack.

Oh this is super cool!! CCing @pvinis here as I think he'll be happy to see this. He suggested this exact change yesterday!
And thanks for the heads up, @erikdstock ! The address validation project was deprioritized on NX side, so I believe it's all good!! 🚀

Hi @desaijay26 👋 Thank you for your interest in contributing to Force. It sounds like you are having trouble with the current OSS setup instructions that we have documented. It is possible that our documentation needs to be updated to reflect recent changes to Force’s infrastructure.
To surface this problem to the team, please open a new issue in this repository with the steps that you followed and the errors that you encountered. We prefer to keep our pull request discussions focused on the change at hand, so opening an issue is the best way to get support 🙂


Build instructions do not work

$ make
make: *** No targets specified and no makefile found.  Stop.

Oops


Swagger path responds with NOT_FOUND.

It worked using<EMAIL_ADDRESS>and<EMAIL_ADDRESS>I tried removing my swagger configuration and checked out the default /swagger path. Same issue.
I upgraded bun, deleted node_modules and reinstalled them. Same issue.
I also tried removing every other path and plugin and just adding swagger. Same issue.
I am so confused. Did something change in elysiajs, that breaks my code now?
My dependencies:
  "dependencies": {
    "@apollo/client": "^3.11.8",
    "@bogeychan/elysia-logger": "^0.1.4",
    "@elysiajs/bearer": "^1.1.2",
    "@elysiajs/cors": "^1.1.1",
    "@elysiajs/html": "^1.1.1",
    "@elysiajs/jwt": "^1.1.1",
    "@elysiajs/static": "^1.1.1",
    "@elysiajs/swagger": "^1.1.3",
    "@octokit/graphql-schema": "^15.25.0",
    "drizzle-orm": "^0.33.0",
    "elysia": "^1.1.17",
    "graphql": "^16.9.0",
    "octokit": "^4.0.2",
    "pg": "^8.13.0"
  },
  "devDependencies": {
    "@biomejs/biome": "^1.9.2",
    "@octokit/types": "^13.6.0",
    "@types/html-validator": "^5.0.6",
    "@types/pg": "^8.11.10",
    "bun-types": "^1.1.29",
    "drizzle-kit": "^0.24.2",
    "html-validator": "^6.0.1"
  },

Old dependencies:
  "dependencies": {
    "@bogeychan/elysia-logger": "^0.0.20",
    "@elysiajs/bearer": "^1.0.2",
    "@elysiajs/cors": "^1.0.2",
    "@elysiajs/html": "^1.0.2",
    "@elysiajs/jwt": "^1.0.2",
    "@elysiajs/static": "^1.0.2",
    "@elysiajs/swagger": "^1.0.2",
    "@octokit/graphql-schema": "^14.47.1",
    "drizzle-orm": "^0.30.9",
    "elysia": "^1.0.9",
    "octokit": "^3.1.2",
    "pg": "^8.11.5"
  },
  "devDependencies": {
    "@biomejs/biome": "^1.6.1",
    "@octokit/types": "^12.6.0",
    "@types/html-validator": "^5.0.6",
    "@types/pg": "^8.11.5",
    "bun-types": "^1.0.33",
    "drizzle-kit": "^0.20.17",
    "html-validator": "^6.0.1"
  },

My code:
export const app = new Elysia()
	.use(logger({ autoLogging: true }))
	.use(
		staticPlugin({
			assets: "static",
			prefix: "/",
		}),
	)
	.use(
		cors({
			origin: CORS_ORIGINS,
		}),
	)
	.use(html())
	.use(ROOT_ROUTES)

	// VERSIONS
	.use(API_FORWARD_ROUTES)
	.group(SWAGGER_PATH, (app) =>
		app
			.get("", async ({ redirect }) => {
				return redirect(`/${LATEST_SWAGGER_PATH}`);
			})
			.get(
				"/json",
				async ({ redirect }) => {
					return redirect(`/${LATEST_SWAGGER_PATH}/json`);
				},
			),
	)
	.use(v1)
	.listen(PORT);

v1:
export const v1 = new Elysia({ prefix: `/${V1_PATH}` })
	.group("/xxx", (app) =>
		app
			.use(XXX)
	)
	.use(
		swagger({
			scalarVersion: "1.25.24",
			path: SWAGGER_PATH,
			exclude: [
				...ROOT_PATHS,
				...SWAGGER_PATH_EXCLUDE,
				new RegExp("(/github/webhooks/)[A-Za-z/{_}]*"),
			],
			scalarConfig: {
				metaData: {
					ogImage: {
						url: "http://localhost:3000/favicon.png",
						secureUrl: "https://xxx.com/favicon.png",
						type: "image/png",
						width: 512,
						height: 512,
						alt: "favicon",
					},
				},
			},
		}),
    );

1.1.7 is the last version that works for me.

Experiencing the same issue.
It seems it only occurs when swagger plugin is applied in non-root Elysia instance (in your case the v1 router).
It only works when used on the root Elysia instance.
Can also confirm downgrading to 1.1.7 fixes the issue.

Found out that if you await the return value of elysia-swagger, then it works on child instances:
const api = new Elysia().use(await swagger()).get("/hello");
const app = new Elysia().use(api);


WebStyle: HttpOnly cookie attribute

SECURITY Adds back the HttpOnly cookie attribute in order to better
protect against potential XSS vulnerabilities.  (closes #3064)

Signed-off-by: Tibor Simko<EMAIL_ADDRESS>

@tiborsimko have you checked if BibEdit (ajax-based) still works?

@kaplun Yes, I did.  (Just one field value change, no auto-completion etc.)

:+1: good for me

Reviewed-by: Samuele Kaplun<EMAIL_ADDRESS>Thanks, amended commit log message, and merged as e83f600fea906a03bfb0d59d85fddf2a4e4e95c2.


v3.3.0 DemoPage Error (TextField, TextArea, NumberField)

🐛 Bug Report

v3.3.0 DemoPage Error (TextField, TextArea, NumberField)
I don't see anything
💻 Repro or Code Sample

🤔 Expected Behavior
Make sure that the demo page is displayed normally

😯 Current Behavior
I don't see anything

💁 Possible Solution
Readonly -> ReadOnly

🔦 Context

🌍 Your Environment

OS & Device: [e.g. MacOS, iOS, Windows, Linux] on [iPhone 7, PC]
Browser [e.g. Microsoft Edge, Google Chrome, Apple Safari, Mozilla FireFox]
.NET and FAST Version [e.g. 1.8.0]

Hi,
The ReadOnly property has been correctly renamed in v4.0.0-rc.1

And also in 3.3.0. Samples have been fixed


add manual pretender shutdown to remove warnings in test logs

no issue

a recent update to Pretender contained a change that throws warnings when multiple pretender instances exist
using mirage in acceptance tests was triggering the warning

Back-porting to clean up Travis logs here too


⚠ Avatar API Endpoint has degraded performance

In 78fab24, Avatar API Endpoint (https://avatar.roblox.com/v1/avatar-rules) experienced degraded performance:

HTTP code: 200
Response time: 1343 ms

Resolved: Avatar API Endpoint performance has improved in dd98080 after 9 minutes.


Query : Not able to render the page for reassure test with MockedProvider

Describe the Query
I am writing some asynchronous test using reassure. I am using Apollo mockProvider to mock graphql data. My react native integration tests works fine. But Reassure MeasureRenderer is not rendering the data coming from mock response. I have used custom wrapper option from MeasureOptions interface. but it does not seem to work
Can someone post some examples of reassure tests with MockedProvider wrapper ?

@g-tiwari could you provide a minimal reproduction repository based on one of our example apps, so that we can investigate the case?

Closing as stale and non-actionable.


comments on a Switch

Document how a switch relates to an ems
Some models use ems_id, others use HostVirtualSwitch

@kbrock Switch is just a base class for both HostVirtualSwitch and DistributedVirtualSwitch so I don't think we should say that ::Switch is a HostVirtualSwitch
Having a switch associate to the EMS through a host was the original way all of the switches worked

update:

changed comment

Thanks.

update:

reabase
fixed HostVirtualSwitch references s/HostVirtualSwitch/Host/


BRS-896: Add feature flag for winter warning

Jira Ticket:
BRS-896
Jira Ticket URL:
https://bcparksdigital.atlassian.net/browse/BRS-896
Description:
Edited contact form UI to display winter warning based on flag on facility object, added check to for winter waiver.

Needs an update to check for the winterWarning flag at the park level and not facility level. Will reopen later.


Error: Not able to collect data for V00

Hi!
While running the code, with the required libraries, send me this error:
"Not able to collect data for V00"
The code is just the one in the description:
import thepassiveinvestor as pi
Collect data from a specific ETF
vanguard_sp500 = pi.collect_data('V00')
Much thanks in advance

Seems to be an issue from YahooFinance, also see: https://github.com/ranaroussi/yfinance/issues/1729. Unfortunately we will have to wait until this issue is resolved.

Thanks for the response :) !

This should be resolved, note that you wrote V00 while it should be VOO instead:


how to add new language in exception messages?

https://www.yiiframework.com/doc/guide/2.0/en/tutorial-i18n#default-message-source


Create array item reference type to handle pass by reference cases

Some functions like the AtomicRef constructor and compare_exchange require arguments be passed by reference since these functions end up modifying the reference arguments. This pass by reference is currently handled by passing a reference to the array object along with the index to the item which needs to be passed by reference, like in the snippet below.
b_atomic_ref = AtomicRef(b, index=1)
A more elegant approach would be to introduce a Ref type to store a array item reference that contains both the array and the index as members. This array item reference type can be used where pass by reference is needed. See example code snippet below.
b = dpnp.ones(10)
b_ref = Ref(ref=b, index=1)
b_atomic_ref = AtomicRef(b_ref)

@adarshyoga this change is mostly syntactic sugar and let us not bother at this time. I will update the AtomicRef docs to be more clear as to what is happening when we pass an array and an index to the AtomicRef constructor.


Fixes #668 : Fix delete order of threads

Summary
Fixes #668
_ssdp and ssdpThread are deleted after ssdpThread finishes(HyperionDaemon::startNetworkServices().
connect(ssdpThread, &QThread::finished, _ssdp, &QObject::deleteLater);
connect(ssdpThread, &QThread::finished, ssdpThread, &QObject::deleteLater);

Looking at HyperionDaemon::freeObjects():
_ssdp->thread()->quit();
_ssdp->thread()->wait(1000);

As soon as quit is called, finished signal is emitted from the thread and both objects are destroyed. Hence the second call - wait(1000) SEGFAULTs since it tries to access a destroyed object.
The problem is sporadic because sometimes destruction happens after wait returns. You can reproduce it %100 if you put sleep between quit wait(1000):
_ssdp->thread()->quit();
usleep(2000000);
_ssdp->thread()->wait(1000);

Solution is postponing the delete until both quit and wait returns:
_ssdp->thread()->quit();
_ssdp->thread()->wait(1000);
_ssdp->deleteLater();
_ssdp->thread()->deleteLater();

What kind of change does this PR introduce? (check at least one)

[x] Bugfix
[ ] Feature
[ ] Code style update
[ ] Refactor
[ ] Docs
[ ] Build-related changes
[ ] Other, please describe:

If changing the UI of web configuration, please provide the before/after screenshot:
Does this PR introduce a breaking change? (check one)

[ ] Yes
[x] No

If yes, please describe the impact and migration path for existing setups:
The PR fulfills these requirements:

[x] When resolving a specific issue, it's referenced in the PR's body (e.g. Fixes: #xxx[,#xxx], where "xxx" is the issue number)

If adding a new feature, the PR's description includes:

[ ] A convincing reason for adding this feature
[ ] Related documents have been updated (docs/docs/en)
[ ] Related tests have been updated

To avoid wasting your time, it's best to open a feature request issue first and wait for approval before working on it.
Other information:

@m-seker Looks like you have a good understanding of Qt and Cpp in general.
Maybe you would like to have a look at the python environment and the Effect-Engine Instances.
Python environment cores selectively too and if I am not mistaken the Engine Instances are not properly destructed....
Unfortunately, I have not had any time myself, but maybe it gives you some challenge you like to take up ...:)

@Lord-Grey sure, I'm pretty new to the codebase but I can give it a try :)
Can you give bit more detail on how to reproduce it ? Does it also happen during quit like the original issue?
A quick visual inspection for Effect.cpp and EffectEngine.cpp didn't reveal a potential crash area but only some memory leaks (active effect leaks on quit).

@m-seker
on the Python problem, please find a stack-trace below.
I did not do a detailed investigation, but the scenario you outlining (effect running which stopping hyperion) may be the root cause. In if not you anyway have a point.
Besides the stacktrace, you find selected events of the hyperion log (which I filtered on the effect related ones) and those which are coming after the "kill" request.
To reproduce, set up a new hyperion systen, e.g. with a separate database using "-u" and then quickly after starting up (and while the effect is running kill hyperion. Unfortunately, the problem is not reproducible deterministically....
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
tCore was generated by `./build-x86x64/bin/hyperiond -d -u hue'.
Program terminated with signal SIGABRT, Aborted.
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
[Current thread is 1 (Thread 0x7fd3c9696800 (LWP 61457))]

(gdb) bt
#0  0x00007fd3cbedf3eb in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007fd3cbebe96e in __GI_abort () at abort.c:100
#2  0x00007fd3cd5d4db8 in  () at /usr/lib/x86_64-linux-gnu/libpython3.7m.so.1.0
#3  0x00007fd3cd6d6625 in  () at /usr/lib/x86_64-linux-gnu/libpython3.7m.so.1.0
#4  0x00007fd3cd6d35db in PyInterpreterState_Delete () at /usr/lib/x86_64-linux-gnu/libpython3.7m.so.1.0
#5  0x00007fd3cd6d6828 in Py_FinalizeEx () at /usr/lib/x86_64-linux-gnu/libpython3.7m.so.1.0
#6  0x0000560c2cd12e9f in PythonInit::~PythonInit() (this=0x560c2e47a600, __in_chrg=<optimised out>) at /home/thomas/hyperion.ng-lordgrey/libsrc/python/PythonInit.cpp:61
#7  0x0000560c2cc5a329 in HyperionDaemon::~HyperionDaemon() (this=0x560c2e4a7f40, __in_chrg=<optimised out>) at /home/thomas/hyperion.ng-lordgrey/src/hyperiond/hyperiond.cpp:148
#8  0x0000560c2cc5a386 in HyperionDaemon::~HyperionDaemon() (this=0x560c2e4a7f40, __in_chrg=<optimised out>) at /home/thomas/hyperion.ng-lordgrey/src/hyperiond/hyperiond.cpp:149
#9  0x0000560c2cc6c139 in main(int, char**) (argc=4, argv=0x7fff755f1b48) at /home/thomas/hyperion.ng-lordgrey/src/hyperiond/main.cpp:343

...
[hyperiond EFFECTENGINE] <INFO> Run effect "Rainbow swirl fast" on channel 0
[hyperiond EFFECTENGINE] <DEBUG> <EffectEngine.cpp:183:runEffectScript()> Start the effect: name [Rainbow swirl fast], smoothCfg [2]
[hyperiond EFFECTENGINE] <INFO> Run effect "Warm mood blobs" on channel 254
[hyperiond EFFECTENGINE] <DEBUG> <EffectEngine.cpp:183:runEffectScript()> Start the effect: name [Warm mood blobs], smoothCfg [2]
[hyperiond HYPERION] <INFO> Inital background effect 'Warm mood blobs' started
[hyperiond HYPERION] <INFO> Hyperion instance 'First LED Hardware instance' has been started
..

^C

[hyperiond DAEMON] <DEBUG> <hyperiond.cpp:167:freeObjects()> Cleaning up Hyperion before quit.
[hyperiond FLATBUFSERVER] <INFO> Stopped
[hyperiond PROTOSERVER] <INFO> Stopped
[hyperiond WEBSERVER] <INFO> Stopped Hyperion Webserver
[hyperiond WEBSERVER] <INFO> Previous line repeats 1 times
[hyperiond HYPERION] <INFO> Hyperion instance 'First LED Hardware instance' has been stopped
[hyperiond LEDDEVICE] <DEBUG> <LedDeviceFile.cpp:85:close()> File: /dev/null
[hyperiond LedDeviceWrapper] <INFO> LedDevice 'file' closed
[hyperiond V4L2:auto] <DEBUG> <GrabberWrapper.cpp:57:stop()> Grabber stop()
[hyperiond V4L2:auto] <DEBUG> <GrabberWrapper.cpp:43:~GrabberWrapper()> Close grabber: V4L2:auto
[hyperiond MAIN] <INFO> Application closed with code 0
[hyperiond DAEMON] <DEBUG> <PythonInit.cpp:59:~PythonInit()> Cleaning up Python interpreter
Fatal Python error: PyInterpreterState_Delete: remaining subinterpreters

@m-seker

A quick visual inspection for Effect.cpp and EffectEngine.cpp didn't reveal a potential crash area but only some memory leaks (active effect leaks on quit).

Correct. That I also what I remember vaguely. There seems to be allocations with "new", but missing "delete"s (on the EffectIngineInstances?).

@Lord-Grey I created the following PR for fixing the mentioned problem:
https://github.com/hyperion-project/hyperion.ng/pull/850
Unfortunately I couldn't reproduce the crash. Maybe when you have time you can give the proposed fix a try after it is merged (or with PR artifacts) and see if it is still reproducible ?

This error occurs quite rarely.  After I hand over the option 'handle SIGINT nostop print pass' to gdb, start hyperiond and press ctrl+c.

Thanks you :)


Split Calibre and YOM questions

This does not implement the logic of where to ask the questions (only on adding to application vs adding to product list) but does split
the logic so that the two questions are asked separately

@saruniitr just trying to resolve one issue after rebase on master... adding new product flow has broken


Ug miss top last command

Codecov Report

Merging #55 (3f478f7) into master (9ad5715) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #55   +/-   ##
=========================================
  Coverage     65.61%   65.61%
  Complexity      418      418
=========================================
  Files            79       79
  Lines          1518     1518
  Branches        169      169
=========================================
  Hits            996      996
  Misses          469      469
  Partials         53       53

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 9ad5715...3f478f7. Read the comment docs.


Dead link to reference problem (Basic JavaScript: Record Collection --> manipulating-complex-objects )

Describe your problem and - if possible - how to reproduce it
Dead link on this page ( https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/record-collection ) when trying to
Add a Link to the page with the problem
https://learn.freecodecamp.org/manipulating-complex-objects
Tell us about your browser and operating system

Browser Name: Chrome
Browser Version:
Operating System: Ubuntu 16.04LTS

If possible, add a screenshot here

@anku255 which version of @freecodecamp/curriculum module is your local using?

@Nirajn2311 I am using "@freecodecamp/curriculum": "^1.0.4".

I want to know which one is installed. Check it in the node_modules folder.

@Nirajn2311 Ah, sorry! I forgot that the version listed in package.json can be different from the installed one.
I checked the node_modules folder and it is 1.2.0 which is the latest one. I tested it again, the links are perfectly fine.

So if there is a problem in the version of node_module then it is being fixed in my PR learn/#188.

@cafeTechne this issue has been fixed.


ssh+pam replaced /root/.google-authenticator with a zero-sized file

Someone on the team managed to make ssh+pam+google authenticator to replace a good /root/.google-authenticator file with a zero-sized one.
I have no idea how they managed this but I have a log that you might find helpful:
auth.log
I suspect you guess what happened after .google-authenticator was zero-sized: no one could connect anymore on the that box: I had to use a console attached to the VM to put it back to a working state...

Note: I found the whole idea of store the last connection attempt timestamp in the configuration file somewhat fragile. i.e., trying to rewrite dynamically the configuration file sounds like a potential source of endless problems. Maybe it would make sense to store this somewhere else.

Strange. That should not happen. Looking at the code now I don't see how a zero byte file can be created, even in the presence of failures. This was a local filesystem, or something like NFS?
Could you try reproducing this with code at HEAD, where I have added some more logging for these failures?
If you can, while doing this, keep a separate terminal logged in so that you can fix the problem if you do manage to reproduce it.

Strange. That should not happen. Looking at the code now I don't see how a zero byte file can be created, even in the presence of failures. This was a local filesystem, or something like NFS?

This is a local filesystem, ext4:
/dev/sda1 on / type ext4 (rw,relatime,data=ordered)
kernel:
Linux ssh1 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
This happened twice over the past 2 weeks on this server.

Could you try reproducing this with code at HEAD, where I have added some more logging for these failures?

If you can, while doing this, keep a separate terminal logged in so that you can fix the problem if you do manage to reproduce it.

Will get back to you with new logs if we manage to do this.

This is reproducible multiple times per day now. I have depoyed the HEAD version and will report on /var/log/auth.log when it is triggered


Update logback-classic to 1.5.8

About this PR
📦 Updates ch.qos.logback:logback-classic from 1.5.4 to 1.5.8
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "ch.qos.logback", artifactId = "logback-classic" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "ch.qos.logback", artifactId = "logback-classic" }
}]

labels: test-library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #60.