merge package from arlac77/npm-package-template

package.json

chore(package<EMAIL_ADDRESS>chore(scripts): cover@#overwrite c8 --temp-directory build/coverage ava && c8 report -r lcov --temp-directory build/coverage
chore(package): add nyc from template
chore(package): set $.ava.require='esm' as in template
chore(package): set $.ava.files='tests/-test.js,tests/-test.mjs' as in template
chore(package): set $.ava.extensions='js,mjs' as in template

.travis.yml

chore(travis): add node versions -10

Coverage increased (+0.004%) to 47.653% when pulling 53729d5abb0d5f627d875273a535ffc3b5950959 on template-sync-1 into 457f247a05c846724e18eb0791451b0d01326f00 on master.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[$500] Web - Chat - Console error "Uncaught TypeError" shows up when sending a message

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?: n
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Issue found when executing PR https://github.com/Expensify/App/pull/29561
Action Performed:

Navigate to staging.new.expensify.com
Go to any chat.
Send a text.

Expected Result:
No console error shows up.
Actual Result:
Console error "Uncaught TypeError" shows up.
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
https://github.com/Expensify/App/assets/93399543/eca1c98b-74bf-4fe0-b095-bc49d3aa8286

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0189b4f1ab639c484e
Upwork Job ID:<PHONE_NUMBER>122386432
Last Price Increase: 2023-11-07

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Console error shows when sending a message
What is the root cause of that problem?
https://github.com/Expensify/App/blob/d5725c52bead4baa02ecec38915fc7c8c4316a4a/src/components/InvertedFlatList/index.js#L27
We should not use React.createRef in a function component because it recreates a new ref every time it is rendered
This is the root cause
What changes do you think we should make in order to solve the problem?
Simply updating the above code to
    const listRef = useRef();

would solve the issue
Or we can remove the listRef from the component because it is not needed

Result
https://github.com/Expensify/App/assets/126839717/46634214-aada-4a0d-8f22-a1fe09c05881

What alternative solutions did you explore? (Optional)

Hm, looks like that change went in 3 months ago. Any idea why it would be erroring now and not earlier? 🤔

Perfect, thanks for the explanation- let's move forward with your proposal.

@robertjchen @Ollyws
The PR was merged into production 2 weeks ago. It looks like something went wrong here

Hm, I'm confused- what's the expected behavior here?

@robertjchen Pay day for this issue would be 22 Nov.

Ah, I see it now- https://github.com/Expensify/App/pull/30962 was the fix but this issue was not properly automated for compensation. Will handle this, apologies for the delay.

Is the original offer on Upwork still valid? 🤔

@robertjchen Yes. I accepted the original offer. Thanks

@s-alves10 has been paid.
@Ollyws new offer is here. Please ping me here when you've accepted it.

All paid. Thanks y'all!


Cannot run example

I have tried the example project, but it does not run neither on Android, nor iOS.
On Android, the application builds, but then I get this: java.util.RuntimeException: SyntaxError: Strict mode does not allow function declarations in a lexically nested statement. (http://localhost:8081/index.android.bundle?platform=android&dev=true&hot=false&minify=false:10403).
On iOS the application does not even pass the build process, XCode gives me 2 errors saying "Ignoring return value of function declared with 'warn_unused_result' attrubute", lines 494 and 1334 in RCTSRWebSocket.m.

Open RCTWebSocket project and remove all the flags in Build settings > Custom compiler flags


Exclude .json from file-loader's test

Fixes #93.
I fixed test of file-loader settings. Because the json file was included in the file-loader's reading target.

Yes good catch, didn't think about json


Improve day view layout

This is a PR for #263. A few things to note:
I added some more example events while testing (they will always show up on today's date). Just let me know if you want them removed.
Layout-wise I consider an event a sibling, rather than a child, if the difference between them is less than 1 hour. This is by no means a perfect number, I just found it to work well for the examples I tried with.

Thanks for your comments! I'll fix this tomorrow.

I've tried to address your comments now, let me know if there's anything else needed.

Wasn't really sure what to do with the stories...feel free to remove it (or tell me to) if you don't like it.

thanks a ton for this.

Thanks!


Installing without npm or bower

I would like to use your video-recorder but I do not have npm or bower installed. is it possible to install and use our plugin without installing npm/bower. for example, simply including the packages, if yes then could you please guide me a little?
Thank you!
PS: pardon me for the simplicity of the question, I hope it is possible and is not a great effort for you to outline.

download the master branch as a zip. unzip and use

Downloading master branch is not a solution because it doesn't contain compiled dist folder. You should download the .zip from releases which contains the dist folder and use that (and also download the other dependencies mentioned in the readme). Let me know how that works out!

Thanks Aveeshkumar and Thijstriemstra!
My only mistake was not reading "readme" file. Nevertheless, I downloaded the release and dependencies. placed them all in a folder, tweaked the example file to link the the files and it works like a charm.
Note: do not forget the webrtc-adapter. Thats the final piece of the puzzle ;)

@mooglife good point. Glad you figured it out, cheers.

I will add that webrtc-adapter dependency to the readme.

@mooglife Can you send me your folder with release and dependencies on mail<EMAIL_ADDRESS>please? Thanks!

@inikonorov have you tried the instructions at https://github.com/collab-project/videojs-record#examples?

@thijstriemstra yeah, I tried this instructions, but something went wrong

@thijstriemstra and I don't know how to upload node_modules on hosting, just like other files?

@inikonorov let's continue this conversation in https://github.com/collab-project/videojs-record/issues/186


Code/UI cleanup

@searoutefinder this looks good, I made one minor change so data gets loaded into the table after selecting an address from the autocomplete.
I'm going to just spend a little bit getting some icons together and putting those in there. Once I'm done with that I'll merge this with gh-pages.

@searoutefinder - I just went ahead and changed the icon to blue with a little police officer. There are 40 categories, so I'm just going to add those to issue #11 and I can work on those later with others, but for now not in the critical path.


Derive Debug for ResponseData and Variables

fixes #248

Thanks for the PR!
Adding Debug to variables is fine as a temporary workaround, but we already have the response_derives ResponseData and we don't want Debug by default there because it has a non-negligible effect on code size when targeting browsers.
With that change we could merge this.
I'll try to implement the proper solution (variable_derives) for the next release.

Hmm. Looking at the code, additional_derives applies to variables and responses. Any reason not to just use that? Or should that be split to have variable and response specific halves?

@mathstuf  I haven't touched that code in such a long time that I don't remember what the current state is. I agree that variables and response derives should be separate - I'll try to make it happen for next release (soon™)

This should be addressed by https://github.com/graphql-rust/graphql-client/pull/285, which was just merged. Please open an issue if doesn't work for your use-case :)


Replace FOSRestBundle with api-platform

Rewrite API to use api-platform instead of FOSRestBundle

Coverage decreased (-0.3%) to 24.923% when pulling 407aba81439f0f5659eb81e31b6e375a2c378a4c on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.3%) to 27.467% when pulling 3dd9acf235edc764718bc0dbcc7a45487489facb on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.3%) to 27.467% when pulling 2a9e169302d6b240d1b151605682397f1fb052e8 on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.3%) to 27.467% when pulling 2a9e169302d6b240d1b151605682397f1fb052e8 on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.3%) to 27.467% when pulling e3d55e220e14a6419cdd77d80a6e63d68c65b141 on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.3%) to 27.467% when pulling e3d55e220e14a6419cdd77d80a6e63d68c65b141 on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.3%) to 27.467% when pulling fde26ccd746f6db6adce0c6ee978a2f067cba4bc on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.3%) to 27.467% when pulling fde26ccd746f6db6adce0c6ee978a2f067cba4bc on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.3%) to 27.467% when pulling 044cebdd25e08d378e59ac89faeb6c81bb6cc81f on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.3%) to 27.467% when pulling 044cebdd25e08d378e59ac89faeb6c81bb6cc81f on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.3%) to 27.519% when pulling 736b195600e65e7d9b1a73f1985fb1c0f1f9d72a on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.3%) to 27.519% when pulling 9ac0d6958822d4bf4ddbe3886b5c2f405b998f8a on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.3%) to 27.519% when pulling 9ac0d6958822d4bf4ddbe3886b5c2f405b998f8a on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.3%) to 27.519% when pulling 591fa8f59a588ee9264c68a63406abf5fe51cf11 on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.3%) to 27.519% when pulling 591fa8f59a588ee9264c68a63406abf5fe51cf11 on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.3%) to 27.519% when pulling<PHONE_NUMBER>3723aa44e8ef3b005a09115df1dd34 on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.4%) to 27.585% when pulling 3ebb90c3c652d38982bbcdf55a50db1882bad8f8 on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.4%) to 27.585% when pulling 3ebb90c3c652d38982bbcdf55a50db1882bad8f8 on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.4%) to 27.585% when pulling c2100ffe68f12e242ffda1ab138c7a771e27d6b8 on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.4%) to 27.585% when pulling 0222ff8b5bc0b49d3a5dd43ef61bcc28ecaa4c88 on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.4%) to 27.585% when pulling 0222ff8b5bc0b49d3a5dd43ef61bcc28ecaa4c88 on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.4%) to 27.585% when pulling d7d9da657674b5e7ca60d2b00a52c761060af149 on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.4%) to 27.585% when pulling d7d9da657674b5e7ca60d2b00a52c761060af149 on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.4%) to 27.585% when pulling 98ca991b7595e4c48230c331458c43e48371d154 on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.4%) to 27.585% when pulling 98ca991b7595e4c48230c331458c43e48371d154 on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.4%) to 27.585% when pulling da167797beb1891d6030c68dbdcdc663ec8b0b3c on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.4%) to 27.585% when pulling da167797beb1891d6030c68dbdcdc663ec8b0b3c on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.4%) to 27.585% when pulling da167797beb1891d6030c68dbdcdc663ec8b0b3c on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.4%) to 27.585% when pulling da167797beb1891d6030c68dbdcdc663ec8b0b3c on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.4%) to 27.585% when pulling d29e46f176d6c0d395a196a9df517111aec6ff8c on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.4%) to 27.585% when pulling d29e46f176d6c0d395a196a9df517111aec6ff8c on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.4%) to 27.585% when pulling 3768fd1171a92f4fc484e484c32bb2f005868452 on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.4%) to 27.585% when pulling 3768fd1171a92f4fc484e484c32bb2f005868452 on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.4%) to 27.585% when pulling 713ea93c15b474458b1ba304a9a22c5e6b1d5365 on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage increased (+2.4%) to 27.585% when pulling 4b2e6e68a5a182a709e23f5f093f5e5a4e9cad7e on pierredup:api into e7d5ce6f1feea39929db250688455755c2fe09d5 on CSBill:master.

Coverage decreased (-0.3%) to 24.394% when pulling 4085b04272c62120a6126de4c2fb69564f5159ea on pierredup:api into 35da1036f87a6a6efc2fc14d03f0abbb6fe864d7 on CSBill:master.

Coverage decreased (-0.3%) to 24.928% when pulling 49522a6f6fee4d073be3b2c8c6cf434e69e40513 on pierredup:api into 4f70eb8c99a419b5266a64f61ff03edc8473c3b8 on CSBill:master.

Coverage decreased (-0.3%) to 24.928% when pulling 1edc3c1d7b0d453d74877a9d6e6143056e5808cb on pierredup:api into 4f70eb8c99a419b5266a64f61ff03edc8473c3b8 on CSBill:master.

Coverage increased (+1.8%) to 27.005% when pulling 1edc3c1d7b0d453d74877a9d6e6143056e5808cb on pierredup:api into 4f70eb8c99a419b5266a64f61ff03edc8473c3b8 on CSBill:master.

Coverage increased (+1.8%) to 27.047% when pulling 0fecb671d5ef01b7994e1e4bb7e523481887b9d6 on pierredup:api into 4f70eb8c99a419b5266a64f61ff03edc8473c3b8 on CSBill:master.

Coverage increased (+2.7%) to 27.879% when pulling 368be2d4308688c7fed32c4d3426a6ec21b2879d on pierredup:api into 4f70eb8c99a419b5266a64f61ff03edc8473c3b8 on CSBill:master.

Coverage increased (+3.2%) to 28.377% when pulling<PHONE_NUMBER>9e23b1d2742f33e0c287bd76557314 on pierredup:api into 4f70eb8c99a419b5266a64f61ff03edc8473c3b8 on CSBill:master.

Coverage increased (+3.2%) to 28.377% when pulling b5d98019d74de42233a3fb065ff83b18d52e6584 on pierredup:api into 4f70eb8c99a419b5266a64f61ff03edc8473c3b8 on CSBill:master.

Coverage increased (+3.06%) to 28.254% when pulling fa366ed355857baca3e65487e8237902e4b6bce8 on pierredup:api into 4f70eb8c99a419b5266a64f61ff03edc8473c3b8 on CSBill:master.

Coverage increased (+3.7%) to 28.855% when pulling<PHONE_NUMBER>085c977d44f573729fe6c37dbe994d on pierredup:api into 4f70eb8c99a419b5266a64f61ff03edc8473c3b8 on CSBill:master.

Coverage increased (+3.6%) to 28.843% when pulling<PHONE_NUMBER>085c977d44f573729fe6c37dbe994d on pierredup:api into 4f70eb8c99a419b5266a64f61ff03edc8473c3b8 on CSBill:master.

Coverage increased (+3.7%) to 28.923% when pulling 6d28c2616e4b3a598bdbe913d9da4148766bd51f on pierredup:api into 4f70eb8c99a419b5266a64f61ff03edc8473c3b8 on CSBill:master.

Coverage increased (+3.7%) to 28.9% when pulling 8c65b5c740c066a1634e6d99856a9012575e3dea on pierredup:api into 4f70eb8c99a419b5266a64f61ff03edc8473c3b8 on CSBill:master.

Coverage increased (+3.7%) to 28.9% when pulling 8c65b5c740c066a1634e6d99856a9012575e3dea on pierredup:api into 4f70eb8c99a419b5266a64f61ff03edc8473c3b8 on CSBill:master.

Coverage increased (+5.04%) to 30.238% when pulling 0133b57c3f16a1bb7a6c71fbfe4cedc2eb94f62c on pierredup:api into 4f70eb8c99a419b5266a64f61ff03edc8473c3b8 on CSBill:master.

Coverage increased (+5.04%) to 30.238% when pulling 0133b57c3f16a1bb7a6c71fbfe4cedc2eb94f62c on pierredup:api into 4f70eb8c99a419b5266a64f61ff03edc8473c3b8 on CSBill:master.

Coverage increased (+4.5%) to 29.701% when pulling 414f374bc4f926f0bf520360cf27a90ccfef445e on pierredup:api into 4f70eb8c99a419b5266a64f61ff03edc8473c3b8 on CSBill:master.

Coverage increased (+5.0%) to 30.169% when pulling 7ed607af963f5acd21e481fed6f226bf9a15ef28 on pierredup:api into 4f70eb8c99a419b5266a64f61ff03edc8473c3b8 on CSBill:master.

Coverage increased (+5.0%) to 30.169% when pulling 7ed607af963f5acd21e481fed6f226bf9a15ef28 on pierredup:api into 4f70eb8c99a419b5266a64f61ff03edc8473c3b8 on CSBill:master.

Coverage increased (+5.0%) to 30.169% when pulling 7ed607af963f5acd21e481fed6f226bf9a15ef28 on pierredup:api into 4f70eb8c99a419b5266a64f61ff03edc8473c3b8 on CSBill:master.

Coverage increased (+5.0%) to 30.169% when pulling d52239b17a8484ccbefe81a61ae43f5b1158af1b on pierredup:api into 4f70eb8c99a419b5266a64f61ff03edc8473c3b8 on CSBill:master.

Coverage increased (+5.0%) to 30.169% when pulling 54111e0e22d166834916ea139b5863bd02a9d40a on pierredup:api into 4f70eb8c99a419b5266a64f61ff03edc8473c3b8 on CSBill:master.


Consider removing split-test-files

Context
Our current CI test workflow splits test files to run them in parallel. This parallel example took 520 seconds to complete test-race. This sequential example took 543 seconds to complete test-race. The sequential test (so not test-race) actually runs faster than the parallel version.

https://github.com/celestiaorg/celestia-app/blob/6d27b78aa64a749a808e84ea682352b8b551fbd7/.github/workflows/test.yml#L60-L84

Proposal
Remove the step to split test files from the CI workflow.
Pros:

simpler to maintain
make test is more representative of how tests are run in CI

Cons:

in some scenarios the parallel version may be slightly faster

Hey, @rootulp would like to work on this

@Chirag018 maybe it would help to look at what our current CI
Current
https://github.com/celestiaorg/celestia-app/actions/runs/4821189737

Proposed

remove split-test-files
remove the matrix from test/tests
remove the matrix from test/test-race

Since we are removing the matrix, so even the matrix. part in the following cases should be removed?

We shouldn't need a path here: https://github.com/celestiaorg/celestia-app/blob/4c738244bd6b1429419c3ad9ddb4e780a62e9ab7/.github/workflows/test.yml#L114 and the test.yml can probably be simplified greatly.
You may draw inspiration from https://github.com/celestiaorg/celestia-node/blob/11fea99767f549bebd1355b4c9065115af25ea91/.github/workflows/go-ci.yml#L64-L77

Hey, @rootulp using the reference below, which I figured out, is it fine?

Ideally we retain code coverage report creation but that action can contain fewer steps because we don't need to look at multiple files

Yeap understood, modified the changes

Does the "coverage" file name work instead of "profile"?(line no. 71, 76)

I think coverage.out should work too


Android: installation doesn't work following the instructions

I followed the installation instructions for android.
When trying to run the app, it fails with the following message:
A problem occurred configuring project ':app'.

Could not resolve all dependencies for configuration ':app:_debugCompile'.
Could not find com.airbnb.android:react-native-maps:0.0.1.
Searched in the following locations:
....

the correct version is 0.5.0 instead of 0.0.1. I'm fixing the docs now

@felipecsl im still getting this error even though I have followed all the instructions on your installation guide

which error are you getting?

Could not resolve all dependencies for configuration ':app:_debugCompile'.

Could not find com.facebook.react:react-native:0.25.1.

my react-native version is 0.20.0

you should change your package.json to use 0.25.1then

sorry . if this is kinda a newbie question . im just starting with react-native . but wont changing that package json will upgrade my react-native package? thanks

no problem. yes it will

okay thanks

it still prompts the same error .
I have "react-native": "^0.25.1" on my package.json
and
<EMAIL_ADDRESS>on my NPM list

Have you tried npm install after adding 0.25.1 in package.json


Get original data from dataset instance

Hi,
I am working on creating my own RecordTemplates, which needs some original data from the dataset, say "vwap" or "volume". So I have to save "vwap.pkl" or "volume.pkl" within my own SignalRecorder.  Is it possible to save those objects, similar to the "label.pkl" saved by Qlib's SignalRecoder? I am able to make it in a "dirty" way:
vwap_df = D.features(D.instruments(market="all"), ["$vwap"], start_time="2019-07-01", end_time="2019-12-31")
vwap = vwap_df.swaplevel().sort_index()
self.recorder.save_objects(**{"vwap.pkl": vwap})

Is there any better way to make it? Using the dataset class? I got stuck in retrieving the original data via dataset class.
Thanks

@fzc621
This is really a great Quesetion.
I think minor midifications are required if you want to record something about the database.

Create a base class DatasetRecord for storing info from database.

We change the workflow of the trainner.

if  issubclass(recorder,  DatasetRecord):
    pass the dataset when initialization recorder

Example and functions below maybe helpful

https://github.com/microsoft/qlib/blob/main/qlib/model/trainer.py#L33
https://github.com/microsoft/qlib/blob/main/qlib/utils/__init__.py#L185

Create your own subclass of DatabaseRecord and save your info in the recorder.

Your  PR is welcome!  :)

Thanks for your reply! I will try to submit a PR!


Adding tests using Cypress

Continue to implement UI and  unit tests from this issue:
CI tests - Add UI sanity tests #627: Add tests for navigating the site, filling in forms, validating error messages and submitting forms to create pull requests.
Using something like https://www.cypress.io/

The ignores should be moved to the right place in the last commit


Module not found: Can't resolve '@newrelic/browser-agent/loaders/browser-agent'

Description
I have done all the New Relic configuration in my app... But when a Installed the agent library, occurred this error:
Module not found: Can't resolve '@newrelic/browser-agent/loaders/browser-agent'
I'm using React.js, with create react app.
Steps to Reproduce
this steps: https://www-development.newrelic.com/blog/how-to-relic/custom-instrumentation-with-the-new-relic-browser-agent
import { BrowserAgent } from '@newrelic/browser-agent/loaders/browser-agent';
yarn start
Relevant Logs / Console output
./src/index.js
Module not found: Can't resolve '@newrelic/browser-agent/loaders/browser-agent'
Your Environment
node version: 16.16.0
npm version: 8.11.0
react version: 16.7.0
OS: MacBook Air
Browser: Chrome

<EMAIL_ADDRESS>

@mylenasantos Can you please provide a small reproduction of the issue?

Hi 👋 @mylenasantos . If last week was a holiday, I hope you had a great one. Catching back up on issues here, I would like to try and get more information on your issue you reported here. We have internal tests that verify our imports are working so this may be an issue with some part of your project setup. The easiest way to verify and test would be if you could provide a small reproduction case, possibly as a zip attached here that I can download or as a github repo or gist. I could try to reproduce the setup locally but with the state of the JS ecosystem these days, there could be a million differences.

Hi @mylenasantos I am going to close this issue due to inactivity. Feel free to reopen with the additional information requested,.


Port child processes dying on socketserver.TCPServer monkeypatch

Whenever the server tries to start we keep getting stuck with this error:
root@penguindome:/home/PenguinDome# systemctl status penguindome-server
● penguindome-server.service - PenguinDome Server
   Loaded: loaded (/etc/systemd/system/penguindome-server.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Tue 2020-03-17 17:57:07 UTC; 3s ago
  Process: 6110 ExecStart=/home/PenguinDome/bin/server (code=exited, status=1/FAILURE)
 Main PID: 6110 (code=exited, status=1/FAILURE)

Mar 17 17:57:06 penguindome server[6110]:   File "/usr/lib/python3.6/http/server.py", line 136, in server_bind
Mar 17 17:57:06 penguindome server[6110]:     socketserver.TCPServer.server_bind(self)
Mar 17 17:57:06 penguindome server[6110]:   File "/home/PenguinDome/server/server.py", line 66, in server_bind
Mar 17 17:57:06 penguindome server[6110]:     super(MyTCPServer, self).server_bind(self)
Mar 17 17:57:06 penguindome server[6110]: TypeError: super(type, obj): obj must be an instance or subtype of type
Mar 17 17:57:07 penguindome server[6110]: [2020-03-17 17:57:07.193067] ERROR: penguindome-server: Child process for port 80 died on startup. Maybe its port is in use?
Mar 17 17:57:07 penguindome server[6110]: [2020-03-17 17:57:07.194289] ERROR: penguindome-server: Child process for port 5000 died on startup. Maybe its port is in use?
Mar 17 17:57:07 penguindome server[6110]: [2020-03-17 17:57:07.194719] ERROR: penguindome-server: Exiting because one or more servers failed to start up
Mar 17 17:57:07 penguindome systemd[1]: penguindome-server.service: Main process exited, code=exited, status=1/FAILURE
Mar 17 17:57:07 penguindome systemd[1]: penguindome-server.service: Failed with result 'exit-code'.

System: Ubuntu server 18.04
Python version: 3.6.9
GnuPG version: 2.2.4
Will the Python and GnuPG versions being a minor upgrade higher be an issue? Any help would be appreciated.

:+1: Getting this same issue

awesome thanks!  I'll test it out soon


Network tab

Sometimes, my node moul.re without the identity (the green bottom one) appear then disappear. I don't know why.
Offline nodes should have disappear since a while.

I have the same problem. I wonder if this node is returned by the network somehow ?

Ok it seems to be a problem with ucoin nodes. These offlines keep being returned by the peering url :
http://metab.ucoin.io/network/peering/peers?leaf=D0A18F9DBF6893958ABE8A4EF24196ACBF4B9437
http://metab.ucoin.io/network/peering/peers?leaf=1AD08A12EF8B2396C3321C7A3170E9EBD2AD93BF
http://metab.ucoin.io/network/peering/peers?leaf=C8416BA87EB872F2747B0E104B5C12CE93E06647
Is there any expiration on peering documents @c-geek ?

No expiration at all. However, maybe /peering/peers should stop returning peers that are considered down by the node.
It currently returns all peers ever known.

Well no I am wrong, it does return only UP peers. There might be a bug in the algorithm considering a node is UP or DOWN.


django-rest-framework-jwt is outdated

I want to use jwt tokens but as far as I know django-rest-framework-jwt doesn't support Django 2.*
Are there problems with using this library in production?

I created a Pull Request (#76) to implement support for djangorestframework-simplejwt. If you have any problems with django-rest-framework-jwt you could try that.

@Ernestoo777 @jgadelange
Deployed to pypi: v2.1.0.


proxy response flags UO

Bug description
Part of requests failed once injecting sidecar in our tcp service, the access log shows response_flags UO, and i never config any Destination Rule, may there was some default config triggers the circuit breaker or something.
Expected behavior
Zero errors
Steps to reproduce the bug
May it's related to the qps. some grpc services are fine with sidecar.
How was Istio installed?
istio 1.3.6

1.3 was out of support more than a year ago: https://istio.io/latest/news/support/announcing-1.3-eol/ We could not help on this nor patch it if there is really a bug in that minor version. Please upgrade and see if the issue is gone. Thanks!


API build system should use different repo name than com_github_gogo_protobuf

The API build system's dependencies (more accurately, the choice of repository name thereof) causes a name collision. See com_github_gogo_protobuf defined here:
https://github.com/envoyproxy/envoy/blob/98a441f153fbecf3f7fc4c6135ed1bbcf9c7e49f/api/bazel/repositories.bzl#L200-L259
We have custom build of Envoy in which we support filters written in Go. One of our filters (written in Go) recently took a dependancy on github.com/gogo/protobuf. As a result, our gazelle generated go_repositorys expects @com_github_gogo_protobuf to name a Go package repository, but the definition from envoy's API clashes, and manifests as errors like:

ERROR: Analysis of target '//:gm-proxy' failed; build aborted: no such package '@com_github_gogo_protobuf//types': BUILD file not found on package path

Envoy should use a different name, as it causes problems for any build system incorporating both envoy and a Go project that both use github.com/gogo/protobuf.

@jmillikin-stripe what's your thoughts on this? IIRC you educated us on the best practice of picking these names back in the day.

Envoy and Gazelle are both following the Bazel naming best practices. When upstream has no Bazel configs and two different repos want different build content, you'll get a collision like this.
I don't understand why envoy/api/bazel/repositories.bzl is defining GoGo dependencies, though. Has part of the Go control plane been upstreamed into the Envoy main repo? If so, Envoy should use https://github.com/bazelbuild/bazel-gazelle to define the Go dependencies.

I think the Go stuff is there for API validation purposes. @kyessenov do you have more context on this?

If Envoy used rules_go's Gazelle to define its Go dependencies, then there wouldn't be a mismatch.

@jmillikin-stripe

If Envoy used rules_go's Gazelle to define its Go dependencies, then there wouldn't be a mismatch.

Perhaps that could be done for the Go codegen; how would the other languages (C++/Python/etc) be handled? Is there a label with which to refer to the proto directly, like @com_github_gogo_protobuf//gogoproto:gogo.proto? If so, gogo_proto_cc et al could be factored out of that repo. If not, I'm not sure what the "blessed" was is to solve this.
For the sake of making the general problem explicit, we have:

A project written in one language, and it's repo includes one or more protos.
Multiple third party projects written in other languages want to use those protos, too.

In general, how should this be handled in bazel? If the repo in question solely contained the proto, it would be trivial: have @com_github_gogo_protobuf simply export a tree of proto files. But in our case, what do we do? We want to build the Go project that hosts the proto file(s), and logically that build should be identified under @com_github_gogo_protobuf. But then, we also want to do codegen for other languages, and each of those "should" go under @com_github_gogo_protobuf. Trying to make all of these targets coexist in one bazel repo is infeasible, though.
The first obvious place to look for precedent on how this should be handled, IMO, is in protobuf. The *.protos are all hosted in the C++ project's source tree. Now, I know that the Go protobuf library also needs at least descriptor.proto, plugin.proto, and all of the well known types (any.proto, struct.proto, etc). So how are those pulled in?
They're simply vendored.
So I don't know if the takeaway is that each project should have a copy of the upstream protos in their source tree, or if there simply hasn't been enough thought given to how this scenario should be handled in bazel.

Gazelle will generate the proto_library target, so you can depend on that proto target directly from the Envoy repository. This would let you define the C++ and Python targets from the Envoy repo.
You can also put the C++ and Python targets into a diff-formatted patch, and list it like this:
go_repository(
    name = "com_github_gogo_protobuf",
    sha256 = GOGOPROTO_SHA256,
    strip_prefix = "protobuf-" + GOGOPROTO_RELEASE,
    url = "https://github.com/gogo/protobuf/archive/v" + GOGOPROTO_RELEASE + ".tar.gz",
    patches = ["@envoy_api//bazel:gogo_protobuf_cc_py.diff"],
)

I don't have a good answer for the general problem of "diamond dependency on third-party code without BUILD files". In the specific case of Go upstreams, the Gazelle tool intends to be a one-stop shop for generating BUILD and we can use it to make our lives easier here.

@htuch et al, could we re-open this? I missed the first stale bot message... but this is still a problem for me (and anyone doing something similar to what I'm working on).

@cstrahan reopened; do you have some sense on where we should be steering this issue? I see a lot of good discussion on the root cause above but I don't know what is actionable.

I believe we're also experiencing this issue when a third-party added a dependency on gogo/protobuf.
ERROR: /root/.cache/bazel/_bazel_root/6f6133ece88806ce1513398e26791cf1/external/envoy_api/envoy/api/v2/BUILD:47:1: no such package '@com_github_gogo_protobuf//': BUILD file not found on package path and referenced by '@envoy_api//envoy/api/v2:eds_go_grpc'
ERROR: Analysis of target '//ads:ads' failed; build aborted: no such package '@com_github_gogo_protobuf//': BUILD file not found on package path
INFO: Elapsed time: 5.007s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (11 packages loaded, 1 target configured)

Is there a work-around for this?

@zanes2016 Please report on my bazel issue here: https://github.com/bazelbuild/bazel/issues/9275
The sooner bazel project management realize this is a problem, the sooner they can fix things.


Integrating design with bus.

I struggle to find an documentation or tutorial on how to integrate a design with the bus (such as AXI or Wishbone), and whether there is an option to automatically generate status and control registers.
I have found in https://github.com/m-labs/misoc README that there used to be some kind of "automatic CSR maps" but it also misses to point to the source.
Is it possible to automatically generate control/status registers with nmigen?
If yes, is there any tutorial on how to do that?

This is handled as a part of https://github.com/nmigen/nmigen-soc/. However, that repository contains only a partial implementation at the moment.

@whitequark Looks like there has been no work for few months.

There's been a pandemic.

How can we contribute to the project?


docs(spinnaker): add Mercari to user list

Mercari is C2C marketplace app running in Japan, US, and UK. We use Spinnaker for CD of microservices on kubernetes (We talked about it on GCP event in Japan slide). It would be great if we can be on the user list. Thank you for great tool!

The following commits need their title changed:

Updated

thank you for your contribution


Update VMO VMSS Support

Resource Provider

Microsoft.compute
Description of Feature or Work Requested

Update support for VMSS VM Orchestration mode

Should only support SPG=false
Enable PPG + VMO support
Currently requires whitelisting AFEC flag; show warning that old version is deprecated, new version must be whitelisted

Minimum API Version Required

2019-12-01
Swagger Link

https://github.com/Azure/azure-rest-api-specs/blob/master/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/compute.json
Target Date

Ignite Sept 2020

thanks for @fitzgeraldsteele . The ask is tracked.

@fitzgeraldsteele Could you clarify the expected changes in Azure CLI with more details?
Add a validation in VMSS Orchestration Mode that SPG must be false?
Enable az vmss update to support updating ppg and spg?


[Works View] Crashing app

App crashes when trying to view Works tab for Andra Ursuta (https://www.artsy.net/artist/andra-ursuta)

Likely: https://github.com/artsy/eigen/issues/1537

Yeah, the stack trace is in #87, but this one is way better as it has an artist that reproduces the issue. Thanks!


Problem with not having to easily Seed Mock Data

Suggestion In

[x] Server and Client Side

TLDR
Helps new contributors to get started using fury
Context
Seeding of sample data in MongoDB, why tho? too much work for me

a) First it obvious useCase to easily generate some mock data to easily test something.
b) It will also help new contributors, here's how

What collections is required to get started
What type of basic data is needed after the collections are done.

This will ultimately help everyone understand how fury works, with bit more clarity and get started quickly in contributing without hassling with initialising the mongoDB.
How to approach this?
I am leaving this up to you and come up with optimal solutions and idea's to quickly seed all the 3 clients and the backend with a good amount of mock data. You can either use a single script for all these 4 things or separate scripts or surprise us by using mono-repo tools like turbo-Repo.
I would suggest you to create a separate ISSUE to come with a optimal idea for this problem and linking back the issue with this issue which will help to easily track different ideas.

To suggest idea's please create new issues and link them here.


Make CI green

Seeing errors on master of the form:
#=== ERROR while compiling conf-pkg-config.1.1 ================================#
"pkg-config": command not found.

(Also impacting PRs - specifically for the 4.02 builds).
This was addressed by installing the pkg-config and ncurses packages. Not sure why this is needed now - perhaps the docker images were updated?
I also took out a build step in azure-pipelines that isn't applicable at the moment - it was trying to npm install and npm build but that doesn't make sense for this project.

Thank you!


Prepare database for new link combinations

This is a non-invasive change to introduce a new table to store the new link type combinations. Everything else related to links will come later in subsequent PRs.

Codecov Report

Merging #1436 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #1436      +/-   ##
==========================================
+ Coverage   60.32%   60.33%   +<.01%
==========================================
  Files         119      119
  Lines       11134    11135       +1
==========================================
+ Hits         6717     6718       +1
  Misses       3762     3762
  Partials      655      655

Impacted Files
Coverage Δ

migration/migration.go
54.96% <100%> (+0.09%)
:arrow_up:

Continue to review full report at Codecov.

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


Feature: Add CDN build files.

Figured that I'd resolve this for you.

Resolves this issue ! 😄

AH! (six months later) I see what you did there!
You posted a message which says "Resolves this issue". So I was happy. And I waited. Any waited. And now it's gone.
I DID NOT REALISE I WAS SUPPOSED TO MERGE IT AND CREATE A NEW PR, or something like that.

I DID NOT REALISE I WAS SUPPOSED TO MERGE IT AND CREATE A NEW PR, or something like that.

my bad, 😭

(now resolved)

:D

No worries, I'm quite happy now!


Strings and Function names shown on Cythonized binary

Is your feature request related to a problem? Please describe.
I need secured binary wanted to escape from reversing source code.
Found Cython and I love the schema of native binary output.
Really hard to reverse to source code.
But it exposes too much improtant strings on the output binary with
Detect It Easy or any other tool.
I feel its is more details text than other compilers.
Eg:
IsRegistered()
License Key
Password
API Keys are easily seen from the built exe.
I know it is possibe to hide the strings on out binary.
Many commercial packers to it like Themida.
Can you please help me how to hide those string ?
Which is the better complier for Cythonized binary ?
GCC or G++ ?

One can easily patch the binary by going to the address with JE/JNE/JMP/NOPE etc.
https://www.linuxquestions.org/questions/programming-9/gcc-and-why-is-there-strings-in-the-binary-927240/
I expect something like thih should hide the strings.
I tried chr() encoding but compiling and executable becoming slower.
compiler:
-Wall -fno-rtti -Os -fdata-sections -ffunction-sections
and
linker:
-Wl,-O,-s,--gc-sections

Please ask support questions on the cython-users mailing list, not on the bug tracker.
I don't think we're particularly interesting in building obfuscation of strings into Cython, so you're going to have to do it as a post-processing step on top of the cython-generated C file.


pac test run error 'Something went wrong when Test Engine tried to get App status.'

Hi Team,
I've got the below error when I run the test:
System.TimeoutException: Something went wrong when Test Engine tried to get App status.
   at Microsoft.PowerApps.TestEngine.Helpers.PollingHelper.CheckIfTimedOut(DateTime startTime, Int32 timeout, ILogger logger, String errorMessage)
   at Microsoft.PowerApps.TestEngine.Helpers.PollingHelper.<PollAsync>d__3`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.PowerApps.TestEngine.PowerFx.PowerFxEngine.<UpdatePowerFxModelAsync>d__16.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.PowerApps.TestEngine.SingleTestRunner.<RunTestAsync>d__26.MoveNext()

Here is the yaml file:
testSuite:
  testSuiteName: CreateNewAgent
  testSuiteDescription: ''
  persona: User1
  appLogicalName: tmy_agentsapp_0f43e
  appId: '4c5d263c-c0ec-e661-917e-e774a4790401'
  onTestCaseStart: |
    =
    Wait(NewRecordLabel1, "Text", "New")
  onTestCaseComplete: ""
  onTestSuiteComplete: ""
  networkRequestMocks:
  testCases:
  - testCaseName: CasePerformanceCheck
    testCaseDescription: ''
    testSteps: |
      =
      Select(NewRecordAddIcon1);
      Select(DataCardValue1);
      Set(TxtGuid, Substitute(GUID(), "-", ""));
      Set(TxtCode, Left(TxtGuid, 6));
      Set(TxtCommision, Text(RandBetween(1, 100)/100));
      SetProperty(DataCardValue1.Text, TxtCode);
      SetProperty(DataCardValue2.Text, TxtGuid);
      SetProperty(DataCardValue3.Text, TxtCommision);
      SetProperty(DataCardValue4.Text, "Indonesia");
      SetProperty(DataCardValue6.Text, "Jakarta");
      Set(DateStart, Now());
      Select(SubmitFormButton1);
      Set(DateEnd, Now());
      Set(TotalSeconds, DateDiff(DateStart, DateEnd,TimeUnit.Seconds));
      Notify("Total seconds:"&TotalSeconds);
      Set(Result, CountRows(Filter('[dbo].[AGENTS]',AGENT_CODE=TxtCode)));
      Assert(Result > 0, "Saved successfully");
      Assert(TotalSeconds< 2);
testSettings:
  filePath:
  browserConfigurations:
  - browser: Chromium
    device:
    screenWidth: 1080
    screenHeight: 810
  locale: en-US
  recordVideo: true
  headless: false
  enablePowerFxOverlay: false
  timeout: 30000
environmentVariables:
  filePath:
  users:
  - personaName: User1
    emailKey: user1Email
    passwordKey: user1Password

I just generated an App from SQL Data > the test itself is clicking the "New" button. But, I believed the test itself just successfully logged in and when the App loaded, it got this error (not yet run through the test step).
I attached the app, recording, and debugLog.
AgentApp_20240217025245.zip
e1b7af5fa6f872cada4ae16090ef87ad.webm
debugLogs.txt

I am seeing the same issue with my app that I am trying to test. I even set headless to false and see it load the app successfully. I see signs that my networkRequestMocks are not working but the simplest test that I am trying to run (check if a button is disabled to test permissions) should still pass.


Banners (beta + fetch errors)

@vincent-czi -- good idea! I've added a <StagingBanner/> component and commented out the ternary in header that will replace <BetaBanner/> with the <StagingBanner/> once you've wired up the env variable to state.


What is RSpec contributors' attitude towards dynamic specs?

I apologize if this is wrong place to ask (what would be better place)?
Here is an example from https://coderwall.com/p/5kfxhg/dynamic-rspec-tests
describe AmbiguousTime do
  times = { 43200 => '12:00PM',
            72000 => '8:00PM',
            84600 => '23:30PM',
            27000 => '7:30AM',
            55800 => '3:30PM',
            55800 => '3:30'  }

  times.each do |planned_output, input|
    it "should return #{planned_output} from #{input}" do
      actual_output = AmbiguousTime::convert(input)
      actual_output.should eql(planned_output)
    end
  end
end

Is this considered good practice or bad? And why?
And what about using it to create a bunch of really detailed specs and then repeating them.
2 cases come to mind:

What if I am testing a module which will be included in several classes?
Should I create a detailed shared example specs for module and include it in every class?

What about functional tests?
If I create detailed unit tests for low level, should I extract them into shared examples and also duplicate them in mid level class that is using low level class?
I always find advice to write less functional tests, but what's wrong with repeating them in dry way (by including shared examples?)

@marko-avlijas thanks for filing this, but really, the RSpec mailing list is the best place to ask questions like this. You should head over to https://groups.google.com/forum/#!forum/rspec and ask there.

Is this considered good practice or bad? And why?

It's fine to do that, but you might consider making it one spec like this:
RSpec.describe "AmbiguousTime" do
  it "returns the correct planned output" do
    expect({
      43200 => '12:00PM',
      72000 => '8:00PM',
      84600 => '23:30PM',
      27000 => '7:30AM',
      55800 => '3:30PM',
      55800 => '3:30'
    }).to all { |input, output| AmbiguousTime::convert(input) == output }
  end
end

What if I am testing a module which will be included in several classes? Should I create a detailed shared example specs for module and include it in every class?

Theres two approach you can use, you can either create a shared example set and include them in every class as you mention, or you can test the module once on an anonymous class. The later is more unit like.

What about functional tests?
If I create detailed unit tests for low level, should I extract them into shared examples and also duplicate them in mid level class that is using low level class?

Generally if it's covered by unit tests you don't need to duplicate those tests at a higher level, your higher level tests should cover the interconnectivity of units and how they might interact.

I always find advice to write less functional tests, but what's wrong with repeating them in dry way (by including shared examples?)

"Rails" functional tests usually carry this advice because it's slow. Repeating them when you've covered those edge cases elsewhere adds to your build time without adding value.

Thank you

@JonRowe - I couldn't get your example to work. I'd always get an unhelpful message saying:
 ArgumentError:     wrong number of arguments (given 0, expected 1)
It seems that all matcher must be called with a parameter and only way I could make this work was by doing something like:
RSpec.describe "AmbiguousTime" do
  it "returns the correct planned output" do
	{
	  43200 => '12:00PM',
	  72000 => '8:00PM',
	  84600 => '23:30PM',
	  27000 => '7:30AM',
	  55800 => '3:30PM',
	  55800 => '3:30'
	}.each do |input, output|
	  expect(AmbiguousTime::convert(input)).to eq(output)
	end
  end
end

You possibly have capybara interfering, I often do RSpec.alias_matcher :all, :satisfy to get around this, making the last line }).to satisfy { |input, output| AmbiguousTime::convert(input) == output }

You possibly have capybara interfering

I believe it's just our built-in all matcher -- it requires an argument and does not expect a block:
https://github.com/rspec/rspec-expectations/blob/v3.5.0/lib/rspec/matchers.rb#L651-L668
...so I would absolutely expect users to get the kind of error @marko-avlijas mentioned.

I often do RSpec.alias_matcher :all, :satisfy to get around this

I wouldn't recommend this, as the all matcher is quite useful in its own right, and aliasing all to do something else will cause confusion and prevent you from having access to the useful functionality all provides.
If you want to use all here, you need to pass a matcher; the simplest one is probably satisfy since satisfy is essentially an adapter that takes any block and adapts it to the matcher protocol:
RSpec.describe "AmbiguousTime" do
  it "returns the correct planned output" do
    expect({
      43200 => '12:00PM',
      72000 => '8:00PM',
      84600 => '23:30PM',
      27000 => '7:30AM',
      55800 => '3:30PM',
      55800 => '3:30'
    }).to all satisfy { |(input, output)| AmbiguousTime::convert(input) == output }
  end
end

(Note, I haven't tried that, but I believe it should work).
Personally, I'd probably use aggregate_failures for this:
  aggregate_failures do
    {
      43200 => '12:00PM',
      72000 => '8:00PM',
      84600 => '23:30PM',
      27000 => '7:30AM',
      55800 => '3:30PM',
      55800 => '3:30'
    }.each do |input, output|
      expect(AmbiguousTime::convert(input)).to eq(output)
    end
  end

...which will run the block to completion and then give you a list of all failures instead of just one.

Taking it fairly verbatim, I'd write it like this:
AmbiguousTime = Module.new
def AmbiguousTime.convert(seconds)
  /^(\d+):(\d+)(AM|PM)?$/ =~ seconds
  hours, minutes = $1.to_i, $2.to_i
  hours += 12 if $3 == 'PM' && hours < 12
  hours*60*60 + minutes*60
end

require 'rspec/autorun'
RSpec.configure { |c| c.fail_fast, c.formatter = true, 'documentation' }
RSpec.describe 'AmbiguousTime' do
  [ ['12:00PM', 43200],
    ['8:00PM',  72000],
    ['23:30PM', 84600],
    ['7:30AM',  27000],
    ['3:30PM',  55800],
    ['3:30',    12600],
  ].each do |input, output|
    example "#{described_class}.convert(#{input.inspect}) == #{output.inspect}" do
      expect(AmbiguousTime.convert input).to eq output
    end
  end
end

# >>
# >> AmbiguousTime
# >>   AmbiguousTime.convert("12:00PM") == 43200
# >>   AmbiguousTime.convert("8:00PM") == 72000
# >>   AmbiguousTime.convert("23:30PM") == 84600
# >>   AmbiguousTime.convert("7:30AM") == 27000
# >>   AmbiguousTime.convert("3:30PM") == 55800
# >>   AmbiguousTime.convert("3:30") == 12600
# >>
# >> Finished in 0.00519 seconds (files took 0.1203 seconds to load)
# >> 6 examples, 0 failures
# >>

Or maybe like this:
RSpec.describe 'AmbiguousTime' do
  def self.converts!(input, output)
    example "#{described_class}.convert(#{input.inspect}) == #{output.inspect}" do
      expect(AmbiguousTime.convert input).to eq output
    end
  end
  converts! '12:00PM', 43200
  converts! '8:00PM',  72000
  converts! '23:30PM', 84600
  converts! '7:30AM',  27000
  converts! '3:30PM',  55800
  converts! '3:30',    12600
end

I usually quote the name of the class because I often write the spec sufficiently far in advance that the class doesn't exist yet, and Ruby will explode before RSpec starts running if the constant isn't defined. At the same time, there is value in the alternative, because we can use described_class, which decouples tests from implementation details. I still like my way better, if it's an issue, I make a helper method to encapsulate invocation (the converts! in the second example).
When I make helper methods to encapsulate the invocation, I often suffix them with a bang. This is my own idiom, I use it in tests to imply that the method is an assertion (I just get tired of writing the assert_ prefix, here are some examples in the wild)
I use example here over it because there is no description of behaviour, it's purely a set of inputs and outputs, and I must guess the reason why it maps the way it does. This is my primary criticism of the test, it does not describe behaviour, and I think that describing behaviour is incredibly valuable (because it forces us to consider ontology).
I got rid of "should" in part because it's spam and in part because "should" implies a "test-after" paradigm. Assert that the world is the way you want it to be, not that it should be the way you want it to be. "When you turn the steering wheel to the left, the car should turn left" why introduce doubt here? It does or it's wrong.
Personally, I would prefer that tests declared with example not show up in the output except when they fail, because I set the output format to documentation, and examples are just spam in the output. For that reason, I very well might move the entire loop into the test. I often consolidate tests when separating them would spam the output. The downside is that there's more ways to fail and if we're not attentive, we can get mixed up about what is failing. There are tricks to mitigate this, I'm sure many people would chastise me if they saw me use them. Nonetheless, my experience leads me to believe that it's frequently a better balance.
I swapped the order of the key/value pairs because I think it makes more sense to map an input to an output.
I went with an array instead of a hash because the format of the data does not imply unique keys to me, eg in the original example, "3:30PM" and "3:30" both parse to the same value. Note that this means the two keys overwrite each other and thus one of them does not run. Ie 5 specs will run where there should have been 6, because the second one with key 55800 wiped out the first.
I assume that "3:30" should convert to 12600, even though the spec says it should parse to 55800.  Maybe it was supposed to imply that an omitted meridian implies PM, but I didn't see any reason for that to be the case (b/c that would be "15:30"), so I assumed that the test was incorrect. Further evidence of this was that the key overrode the key for "3:30PM", so there is already one error in the test on this value, and it's the last value and the only one without a meridian, so it makes more sense to me that it was written while tired of entering examples and wasn't written very thoughtfully. Notice how I'm having to use contextual clues, this is a common downside of example based testing.

I think it's shitty to describe a thing without showing it since showing it makes it concrete (in this case, behaviour specification over example based testing). So I rewrote it to illustrate what I think is better. Surprisingly enlightening as I wound up discovering errors in my implementation. Additionally, I thought of several tests that weren't provided, but decided to omit them because it wasn't clear to me what the behaviour should be.
AmbiguousTime = Module.new
def AmbiguousTime.convert(seconds)
  /^(\d+):(\d+)(AM|PM)?$/ =~ seconds
  hours, minutes = $1.to_i, $2.to_i
  hours %= 12 if $3 != 'PM' && hours < 13
  hours += 12 if $3 == 'PM' && hours < 12
  hours*60*60 + minutes*60
end

require 'rspec/autorun'
RSpec.configure { |c| c.fail_fast, c.formatter = true, 'documentation' }
RSpec.describe 'AmbiguousTime' do
  def convert!(input, output)
    expect(AmbiguousTime.convert input).to eq output
  end
  it 'converts HH:MMa to seconds' do
    convert! '1:23AM',      1*60*60 + 23*60
    convert! '1:23PM', (12+1)*60*60 + 23*60
  end
  it 'starts each day at 12:00AM' do
    convert! '12:00AM', 0
  end
  it 'wraps time at 12:00PM' do
    convert! '12:00PM', 12*60*60
  end
  it 'considers times without meridians to be based on a 24 hour clock' do
    convert!  '1:23',      1*60*60 + 23*60                                 # => true
    convert! '13:23', (12+1)*60*60 + 23*60
  end
  it 'ignores the meridian on 24 hour clock inputs' do
    convert! '13:23AM', (12+1)*60*60 + 23*60
    convert! '13:23PM', (12+1)*60*60 + 23*60
  end
end

# >>
# >> AmbiguousTime
# >>   converts HH:MMa to seconds
# >>   starts each day at 12:00AM
# >>   wraps time at 12:00PM
# >>   considers times without meridians to be based on a 24 hour clock
# >>   ignores the meridian on 24 hour clock inputs
# >>
# >> Finished in 0.00493 seconds (files took 0.19827 seconds to load)
# >> 5 examples, 0 failures
# >>


Allows preventing MessageBus start-up

A re-run of https://github.com/SamSaffron/message_bus/pull/152.
This allows MessageBus to be included in an application which is not fully setup yet. Some use cases include:

Manipulating databases (rake db:drop etc) when using the Postgres backend.
Running rake tasks against partially built environments, such as when deploying to Kubernetes before a Redis container comes up.

TODO:

[ ] Usage documentation. Pending merge of https://github.com/SamSaffron/message_bus/pull/184

On testing this change in a minimal dummy application, I can't actually reproduce the scenario where the listener is started (or even the middleware initialized) in typical Rails rake tasks, which makes this change useless. I'm working on establishing what the difference is in my real-world app which causes it to be invoked, but for now I am closing this.

Ok, so it seems that in the production environment, differently than the development environment, Rails intializes the middleware stack during rake db:migrate.


v4 - Remover Tether for Popper

Remover Tether for Popper
Reasons

@FezVrasta and his community are very active
Popper fix a lot of bug that Tether didn't handle

TODO

[x] Stop using Tether for Tooltip, Popover
[x] Use Popper for Dropdown
[ ] Check dropup for Dropdown
[ ] Update documentation

[ ] Remove Tether
[ ] Add that Dropdown now depend on Popper

[ ] Fix unit test

Work in progress...

Note that Popper by default applies some padding (virtually, not CSS) to the container element (in practice, the tooltips will never touch the edges of the container/window).
I think it's the same behavior that the old Bootstrap v3 tooltips had, but I'm not 100% sure, it is worth to review if this is something you want to keep or if you prefer to disable this feature setting the padding option to 0 on both preventOverflow and flip modifiers.

It seems so tests are failing on iOS see : https://github.com/FezVrasta/popper.js/issues/210

Is there any way to see the full log of the iOS9 tests?

I tried our tests in SauceLabs with an iOS simulator on iOS 9.3 and everything works fine... 😩
https://saucelabs.com/jobs/284bc995f8274d51b57b6f6fdeeada94/0004screenshot.png

Now it failed on IE10? Seems like you have some flaky test

All tests passed but for an unknown reason Travis failed to close connection with Saucelabs...
https://travis-ci.org/twbs/bootstrap/jobs/222521829#L420

😂😂😂 it's still a progress

I can't see iOS in the logs, isn't that one that's failing?

Yes I don't see any iOS test in log, strange behavior...

Again on iOS : https://travis-ci.org/twbs/bootstrap/jobs/222776929#L411
But when I tested manually on SauceLabs everything works...

@Johann-S can you enable the screen recording of SauceLabs and see what's happening there?

Thank you @FezVrasta I'll take about that to the team 👍

Looks like screen recording is already on, you just have to visit:
https://saucelabs.com/beta/users/bootstrap-prs
And find the iOS test that failed.
I can't do it by myself because the user page is available only to people with the login credentials. (I think you have them since you are running manual builds?)

The only failed test found is this one : https://saucelabs.com/beta/tests/604d33a88ea947e89df0e2fd11d65b4e/watch
But no iOS 😩

Does Bootstrap v4 support Safari 5? 😵

No only those browsers : https://github.com/twbs/bootstrap/blob/v4-dev/grunt/sauce_browsers.yml
But maybe they are something wrong in this file

Bootstrap v4 doesn't support Safari on Windows, per http://v4-alpha.getbootstrap.com/getting-started/browsers-devices/#desktop-browsers

So why is there that test in the SauceLabs screen records?
Also, is there any way to output the logs from the failing browser? They look like black boxes to me 🤕

After a lot of tests my conclusion is, currently we thought our test were runs on iOS but it wasn't the case it was run on Win7 and Safari 5...
I'll do some research about how to test on iOS with SauceLabs and if it's possible because I'm not sure about that

Take a look at the AngularJS repository, they do test on iOS.

It's still running on Safari 5 on Win 7:
https://saucelabs.com/beta/tests/6d948b0f09f44691b26e4b536d79f539

Build passed ! Woot woot ! 💪

I think we make the good decision to remover Tether for Popper.js see : https://github.com/HubSpot/tether/issues/252#issuecomment-294961650

Thank you very much for your great review @wojtask9 ! I'll update my PR 👍

About point C of wojtask9's comment:
You may also define a custom modifier that runs on each update, it would look like:
const updateClasses = {
  order: 1000,
  enabled: true,
  function: function(data) {
    // use `data.placement` to update your classes
    return data;
  }
}

Why not with this way @FezVrasta  ?
https://github.com/twbs/bootstrap/blob/8360ed1525b25377b1a3fc943328a49b978fe5a8/js/src/tooltip.js#L284-L297

@Johann-S it works as well, it's a matter of preferences.

I'm all for this change. Thank you. I think this should be included in the first beta.

@FezVrasta I updated Popper.js to 1.8.2 and I chose the UMD release, is it a good choice for BS ? Because before this release we only have to choose the ES5 release

@Johann-S the UMD release is compatible with a wider set of environments and is the same as the old "ES5" release, the ESM release is compatible only with the EcmaScript Modules, which are supported by Safari, Webpack and Rollup AFAIK.

Is there any additional work needed before this PR can be merged?

Yes I want before the merged of this PR a review from @mdo and @bardiharborow + I want to clarify documentation for Dropdown (#22479)

@FezVrasta @wojtask9 I add an option to disable flip behavior for Dropdown and update documentation if you have any time for a review do not hesitate 😄

it looks good!

Is in this PR scope to support the additional placement variations provided by Popper.js?
For instance, each placement can have -start and -end variations (bottom-start, top-end etc)

@Johann-S I've closed #19692 in preference of this issue/pull, as this is much more all-encompassing. And popper is nicer than tether for sure. I haven't built the pull request branch to check, but one thing that would be nice is if something like <.dropdown /> will still work (i.e. when the <.dropdown-menu> gets absolutely positioned and attached to the  when it opens, the <.dropdown-menu /> gets "put back" to the original DOM position on dropdown close, such that any  will be included in a  submit).

Popper.js doesn't move the posiotioned element to body so I don't think it will be a problem

@FezVrasta I stop to add feature to this PR except bug fix or documentation improvement. But yes after the merged of this we are open for PRs that handle all the placements provided by Popper.js 😉
@719media I encourage you to check what you reported on my PR and let me know if they are a bug or a bad behavior 👍

@Johann-S
One more thing. It would be great if we can disable popper.js positioning in dropdown (maybe placement: static ?).
Sometimes people don't want use dynamic positioning. For example dropdown in navbar, notification drawlers etc.
Maybe this can be achieved with combination of popper modifiers. If yes then note in docs would be great

@wojtask9 already done : Add flip attribute for Dropdown to disable the flip behavior of Popper.js
I update my first comment with all the things I added
If I misunderstood what you said don't hesitate to @ me 👍

It's hard to explain :) because I don't know where the problem is (it can be bug in popper.js or desired behaviour)
https://jsfiddle.net/gp2b6zc7/
If dropdown button is near bottom edge of browser window try open dropdown.
Usually (but not always and probably depends on browser scroll) it appears in correct position.
Next without closing dropdown-menu scroll mouse wheel. You will see inconsistent behavior (position is not correct).
Screenshots:
correct (because flip:false)

wrong (flip: false) (after scroll)

If you see incorrect positioning is always Popper.js' fault. But I can't reproduce the problem you describe in your fiddle unfortunately. May you record a small clip (using Licecap or kap) to show how to reproduce it?

@FezVrasta
As you can see when first time clicked on dropdown position is correct.
Second click is incorrect (in my opinion :) )
It happens on FF/Chrome (Linux and Windows)

Umh, I still can't reproduce it... I'm on macOS tho

After scrollbar appears you must scroll mouse wheel.
This is reduced testcase. With navbar and very long dropdown I can achieve this situation without scrolling.

I see now, I'll investigate.

@FezVrasta
Try this.
I've added more dropdow-items and script that should trigger behavior on my computer
$('#dropdownMenu1').click();  window.scrollTo(0,1000);
https://jsfiddle.net/gp2b6zc7/1/

@Johann-S
another issue with tooltip. I can't reproduce this with
https://popper.js.org/tooltip-examples.html
so this must be bootstrap specific.
If you move fast mouse sometimes tooltip appears in wrong position
https://jsfiddle.net/gp2b6zc7/3/

This happens only if you move fast mouse.

Ok I found why it's because the fade animation you have a duration to show the tooltip...
If you do this you wont see this effect :
$('[data-toggle="tooltip"]').tooltip({
  animation: false
})

I'll try to find a way to avoid that effect

@wojtask9 I fixed what you reported thank you 👍

@Johann-S
Great it works now :) Thank you.
One another issue :/
Tooltip adds margins to all classes .bs-tooltip-{left,right,top,bottom}.
This almost works beside .bs-tooltip-right (see https://github.com/twbs/bootstrap/issues/22300)
Right tooltip have unnecessary margin.
I think a proper fix is to add  margin: $tooltip-margin; to .tooltip class and remove all margin-{top,right,bottom,left} from bs-tooltip-{left,right,top,bottom}
see https://jsfiddle.net/gp2b6zc7/11/

Nice fix @wojtask9 ! I'll add this 👍
And I'll add back auto placement because it was remove on Alpha 5 (see : #19796)

It didn't work what you suggest @wojtask9, in your example it works because you added
margin: 0 !important;

Yeah I've added !impartant because I'm lazy :)
If you remove margin-left,margin-right,margin-top,margin-bottom from all bs-tooltip-{left,right,top,bottom} then you can remove !important.
Value 0px is only for test.
Boostrap v3 adds default space between button and arrow too (http://getbootstrap.com/javascript/#tooltips)
my updated example with removed margins and without !important
https://jsfiddle.net/gp2b6zc7/12/

I'm sorry @wojtask9 but in your JSFiddle Tooltips aren't stick to there button

@FezVrasta sorry to bother you but I tried to add auto placement to our Tooltip plugins but Tooltips isn't placed well maybe they are something bad I made in how to use Popper.js

There's some small annoyance with the auto placement at the moment, maybe you hit that problem.
There's a PR that should improve the auto detection but it's blocked because of missing CI test.
https://github.com/FezVrasta/popper.js/pull/235
If you have time to add one it would be great. Unfortunately these days I'm quite busy.

@Johann-S
Yes :) because of margin:3px
in scss there will be margin: $tooltip-margin;
default value from _variables.scss is 3px !default so someone who want to change that must set to 0px
For me $tooltip-margin is orthogonal to $tooltip-arrow-width and indicates space between tooltip+arrow from element.
Not sure what the default value should be. If we want tooltips arrows sticks to elements then default should be 0px.
In Bootstrap v3 tooltip have space between element na arrow so it's up to you what default should be.
My fix proposal is about margin consistency. With current code right tooltip doesn't stick to element but left, top, bottom stick correct.

Note that you can define the margin in Popper.js...
new Popper(el1, el2, {
 modifiers: {
  offset: { offset: "0, 5px" },
 },
});

@FezVrasta yes it's already set to 0 by default 👍
@wojtask9 It's not a good fix for me because what we want is, each tooltips must stick to their button

@Johann-S you can define the margin there ("0, 5px") and get rid of any margin from the CSS.

@FezVrasta
my proposal is about exactly about the same
here is diff
https://gist.github.com/wojtask9/ec29db8435893dff63afcb22046e6193

@wojtask9 my proposal is a step further, get rid of the margin from the CSS at all, and delegate it to Popper.js. If you prefer to manage it from CSS, yours is a good solution.

Thank you @wojtask9 I implemented what you did and it works well 👍 💪

@FezVrasta
I created issue (https://github.com/FezVrasta/popper.js/issues/265) for comment https://github.com/twbs/bootstrap/pull/22444#issuecomment-300834292
@Johann-S
It looks now really great.
One thing
https://jsfiddle.net/gp2b6zc7/12/
if you open tooltip and scroll down and up you will see that tooltip 'jumps'.
This happens because fallbackPlacement. If I remove this then everything is OK (no wired jumps).
Another reason to remove fallbackPlacement is wired placement of tooltips :)
Wired means that currently tooltips don't flip opposite direction.
For example tooltip-top goes tooltip-left. For me natural way will be top goes down, down goes top, left goes right, etc :)

@wojtask9 I didn't removed fallbackPlacement because it allows folks to customise the flip behavior but I set fallbackPlacement to flip the default value used by Popper.js
Thank you for the feedback you helped me a lot 👍

Special thanks for @FezVrasta and @wojtask9 who helped me a lot 👍
We made awesome works together 💪

"@FezVrasta and his community are very active"
"Popper fix a lot of bug that Tether didn't handle"
Aside from the bad English, I did not find this helpful. I found popper in v4-dev by looking at the github pulse, not by issues history. This was a bad first start. Then I noticed that the documentation on the v4 site was horribly misaligned with v4-dev, and the live documentation included hipster-ipsum (tight pants!) and inconsistent styles, and poor English. Then I found grammar errors in the merge referenced in the pulse. Next, I located a comment by mdo from December, where he said he would pass on switching to popper for what were apparently no reasons. I then went to https://popper.js.org/ on my mobile phone and was greeted by a dancing yellow popper tooltip pinned to the top of the site (which begged me to star the github project while blocking text), and noticed that when I scroll down on my shiny new android, the popup twitches and dances all over my screen, as if it's having a fit of content-blocking vibrational joy. So, there is my introduction, a very very bad one.
With no specifics it certainly ~appears~ that the developer of popper.js has simply had a pull request denied and then successfully rammed his pet project into bootstrap. I hope the behavior in bootstrap will be considerably better than the behavior on the developer's own site.
It took some work on my own to realize that there may be good reasons for the change, no help from this repo. My research continued and I discovered that popper.js is actually being recommended in the github project readme for tether.js, since HubSpot is not able to maintain tether. So, that is a great reason to migrate. But I had to find that on my own.
I have yet to find any list of problems which popper has "fixed", or any reasons for why the change was made, here on the bootstrap site. Those who are administrating v4-dev branch changes and tickets may want to bother including the rest of the world in their thinking. This experience has left me with mixed feelings about a significant change, while I am actively busy developing with bs4.
That being said, I have a slightly better understanding of why the change was made, to popper. I hope it's easily excluded since, like the developer, I also work with view engines that use a virtual DOM, and the twitching behavior on mobile android certainly won't make it past my boss or QA.
It would have helped me as a bootstrap developer to have found any documented reasons for a change to popper while browsing issues regularly in the last month, instead of finding a questionable merge in v4-dev accompanied by new lows in the live documentation pages.

Hi @valleyspirit, you can find all the related issues linked to this PR right above your message. I hope it helps

Thank you @valleyspirit for your opinion and feedbacks.
You're welcome if you want to submit a PR to fix my bad English in the documentation 😉
And I'm a bit sad for you because at the end of my first comment you have a list of fixed issue by this PR + all the information you found by yourself are available in the comments of this PR

@Johann-S  I'd like to thank you for your time and the awesome work you are doing on this awesome open-source project. Much appreciated.

Thank you @cr101 much appreciate ❤

@valleyspirit I appreciate the feedback as well, but there are a few things we should clarify about this PR.

 There likely wasn't any malice to that, but it didn't seem like there was any understanding either. Help @Johann-S and myself out by opening an issue or a PR to suggest changes, please.

We don't develop Bootstrap like you think we do. The development branch, in this case v4-dev, always lags behind the docs. We only update our hosted docs when there is a release to publish. Doing otherwise would be chaotic for us and our users.

Yes, I've previously turned down the move to Popper, but if I recall correctly that issue was from last year when I didn't have enough time or experience of my own to push it through. Changing dependencies is no small matter, and the project lacked the time from team members to make it happen. With @johann-s coming aboard, we've been able to tackle much more. Naturally we've revisited some of these older decisions to help us release the most stable v4 we can.

Speaking of which, v4 is still in alpha.  You're developing on it at your own risk—anything and everything is subject to change until we publish our first beta.

When we publish our first beta, we'll have a blog post, updated documentation, and more to share with folks. Until then, if you're using the bleeding edge changes from v4-dev, expect some crazy changes and brace yourself.


Handling REST API exceptions with reason field

This PR improves API exceptions with reason field instead of parsing exception body.

lgtm


I'd like to provide a feedback following the #531 and #559

Hi,
I'd like to provide a feedback following the #531 and #559 -

The events handling with v1.5.0_0026 much faster than in 1.5.0_0102. it means for example the delay between the Aqara Motion Sensor detects a motion till this has been operated is much faster when using  v1.5.0_0026. it is feelable difference, so i personaly went back to the  v1.5.0_0026 from v1.5.0_0102.
i've tested this on core-2021.12.1 + supervisor-2021.12.1 and earlyer versions.

It is not commented as supported, but when i am using the "Aqara Wireless Remote Switch D1 (Double Rocker)" and core-2021.12.1 + supervisor-2021.12.1 , and either version of the gateway, it looks like the events sent twice/ so the automations triggered twice. adding simple delay of 1second in 'actions' and using the single mode for automations, can be used as a warkeround for this issue:-).

I think there is a mistake - i followed the Supported Firmware (https://github.com/AlexxIT/XiaomiGateway3#supported-firmwares) and installed the latest supported v1.5.1_0032, when it is actualy the wrong version to use :-).

Thanks,
Yossi

Thanks.

I don't know how to explain this behaviour
It looks like a bug. You can turn on debug mode
No any mistake. v1.5.1_0032 latest, but not tested firmware yet


Abstract.php errors, can't get Magento <IP_ADDRESS> working with php7

Hi I hope you can please help. My site just has the white screen of death both on the backend and frontend...
I get these errors in Apache after applying your patch to try get the site to work:
mod_fcgid: stderr: Stack trace: mod_fcgid: stderr: #0 /home/public_html/app/code/core/Mage/Core/Block/Messages.php(80): Mage_Core_Model_Session_Abstract->getMessages(true) mod_fcgid: stderr: #1 /home/public_html/app/code/core/Mage/Core/Block/Abstract.php(293): Mage_Core_Block_Messages->_prepareLayout() mod_fcgid: stderr: #2 /home/public_html/app/code/local/Mage/Core/Model/Layout.php(456): Mage_Core_Block_Abstract->setLayout(Object(Inchoo_PHP7_Model_Layout)) mod_fcgid: stderr: #3 /home/public_html/app/code/local/Mage/Core/Model/Layout.php(472): Mage_Core_Model_Layout->createBlock('core/messages', 'messages') mod_fcgid: stderr: #4 /home/public_html/app/code/local/Mage/Core/Model/Layout.php(239): Mage_Core_Model_Layout->addBlock('core/messages', 'messages') mod_fcgid: stderr: #5 /home/public_html/app/code/local/Mage/Core/Model/Layout.php(205): Mage_Core_Model_Layout->_generateBlock(Object(Mage_Core_Model_Layout_El in /home/public_html/app/code/core/Mage/Core/Model/Session/Abstract.php on line 214
Any help really appreciated thanks :)

Did you try this: https://github.com/Inchoo/Inchoo_PHP7/wiki/ProperInstallation?

Hi thanks. I just followed the guide here:
https://support.hypernode.com/knowledgebase/php-7/
and installed with:
curl -L https://github.com/Inchoo/Inchoo_PHP7/archive/master.tar.gz | \
    tar xvz -C ~/public_html Inchoo_PHP7-master/app --strip-components=1

I'm not really sure how to use modman, but tried your wiki command ./modman repair which gives me these errors:
./modman repair
./modman: line 2: app/code/local/Inchoo/PHP7: Is a directory
./modman: line 5: app/etc/modules/Inchoo_PHP7.xml: Permission denied
./modman: line 8: app/code/local/Mage/Connect/Packager.php: Permission denied
./modman: line 9: app/code/local/Mage/Core/Model/File/Uploader.php: Permission denied
./modman: line 10: app/code/local/Mage/Core/Model/Resource/Session.php: Permission denied

Thanks again for any help getting this set up.

If you installed files with tar, you don't need modman. But, it seems like you might have some file permission problems there?

Hi thanks. All my permissions are set as I normally do with files being 0644 and directories 0755...
My other sites work ok this way with fastcgi, but this site always gives me these errors:
mod_fcgid: stderr: Stack trace: mod_fcgid: stderr: #0 /home/public_html/app/code/core/Mage/Core/Block/Messages.php(80): Mage_Core_Model_Session_Abstract->getMessages(true) mod_fcgid: stderr: #1 /home/public_html/app/code/core/Mage/Core/Block/Abstract.php(293): Mage_Core_Block_Messages->_prepareLayout() mod_fcgid: stderr: #2 /home/public_html/app/code/local/Mage/Core/Model/Layout.php(456): Mage_Core_Block_Abstract->setLayout(Object(Inchoo_PHP7_Model_Layout)) mod_fcgid: stderr: #3 /home/public_html/app/code/local/Mage/Core/Model/Layout.php(472): Mage_Core_Model_Layout->createBlock('core/messages', 'messages') mod_fcgid: stderr: #4 /home/public_html/app/code/local/Mage/Core/Model/Layout.php(239): Mage_Core_Model_Layout->addBlock('core/messages', 'messages') mod_fcgid: stderr: #5 /home/public_html/app/code/local/Mage/Core/Model/Layout.php(205): Mage_Core_Model_Layout->_generateBlock(Object(Mage_Core_Model_Layout_El in /home/public_html/app/code/core/Mage/Core/Model/Session/Abstract.php on line 214

What happens when you run that site on PHP 5.6?

Hi thanks, I just moved all the files and database over to a test server running php 5.6.24 and I'm still getting the Abstract.php line 214 error:
PHP Fatal error:  __clone method called on non-object in /var/www/app/code/core/Mage/Core/Model/Session/Abstract.php on line 214

Ok, now try removing Inchoo_PHP7 and see what happens then.


Quantum teleportation broken due to incorrect MeasureBit behaviour

Quantum teleportation and algorithms that rely on it (e.g. quantum error correction) currently don't work because of incorrect behaviour of MeasureBit, which was reported in an email to miss Laura Culp.
I tried to find the bug, but sadly the relevant shader code is way over my head :(
Example of quantum teleportation - http://qcplayground.withgoogle.com/#/playground/5125474921480192
Example that shows MeasureBit collapsing a |1> state to |0> - http://qcplayground.withgoogle.com/#/playground/5662197925543936
P.S. Thank you for the amazing work, QC Playground is what hooked me on quantum computers :)

My bad, I was using Measure after MeasureBit (didn't know MeasureBit directly puts the result in measured_value). Quantum teleportation works.


Add security annotations from config map.

Why do we need this PR?
Spawn creates config maps with secret and secret namespace names.
This PR adds support in torpedo to use those while creating PVC in an authenticated cluster
Signed-off-by: Rohit-PX<EMAIL_ADDRESS>

Added do-not-merge label as volume driver changes are still pending.

Successful run here:  https://jenkins.portworx.co/view/all/job/Torpedo/job/tp-2-2-basic-security/33/parameters/


New version: Hyperopt v0.4.1

Registering package: Hyperopt
Repository: https://github.com/baggepinnen/Hyperopt.jl
Created by: @baggepinnen
Version: v0.4.1
Commit: 3fc03e42337e7d328886ae4a6099a1b269b6176c
Reviewed by: @baggepinnen
Reference: https://github.com/baggepinnen/Hyperopt.jl/issues/2#issuecomment-781461759

@baggepinnen :point_up:
[noblock]

Hmm, I'm a bit confused why this error occurs
https://github.com/JuliaRegistries/General/pull/30366/checks?check_run_id=1928576455#step:6:688
Standard CI passes for the tagged commit, so it appears to be some problem with the merge bot?
[noblock]

Looks more like IRTools is broken

Thanks for the ping and merge! Out of curiosity, is Irtools somehow used in the auto merge bot?


Series::getSet() should be ordered on id

Describe the bug
The Series::getSet() & DistinctSeries::getSet() are only ordered on value_created, which causes unexpected results when writing quicker than the datetime can increment, i.e. in a memory table.
To Reproduce
Steps to reproduce the behavior:
<?php
require_once ('vendor/autoload.php');
use Doctrine\DBAL\Configuration;
use Doctrine\DBAL\DriverManager;
use RyanWHowe\KeyValueStore\Manager;
use RyanWHowe\KeyValueStore\KeyValue\Single;
use RyanWHowe\KeyValueStore\KeyValue\Series;
use RyanWHowe\KeyValueStore\KeyValue\DistinctSeries;

$connection = DriverManager::getConnection(
    array(
         'dbname' => ':memory:',
         'host'   => 'localhost',
         'driver' => 'pdo_sqlite',
        ),
    new Configuration()
);

$manager = Manager::create($connection);
$manager->createTable();
$single = Series::create('TheGroup',$connection);
$single->set('TestKey1', 'TestValue1');
$single->set('TestKey1', 'TestValue2');
$single->set('TestKey1', 'TestValue3');
sleep(2);
$single->set('TestKey1', 'TestValue3');
$single->set('TestKey1', 'TestValue2');
sleep(1);
$single->set('TestKey1', 'TestValue1');

$result = $single->getSet('TestKey1');
$result2 = $single->get('TestKey1');
dump($result);
dump($result2);

$manager->dropTable();

Expected behavior
The id value should be the order for the output as this should always be sequential in a transaction database.

Resolved in #16


Add disable download source configuration

Add configuration to enable/disable download source from UI.

Codecov Report

Merging #20548 (88210d2) into main (fee0e4d) will increase coverage by 0.05%.
The diff coverage is 17.02%.

:exclamation: Current head 88210d2 differs from pull request most recent head ebd430e. Consider uploading reports for the commit ebd430e to get more accurate results

@@            Coverage Diff             @@
##             main   #20548      +/-   ##
==========================================
+ Coverage   46.88%   46.93%   +0.05%
==========================================
  Files         976      978       +2
  Lines      135193   135482     +289
==========================================
+ Hits        63384    63590     +206
- Misses      64040    64094      +54
- Partials     7769     7798      +29

Impacted Files
Coverage Δ

cmd/admin.go
0.00% <0.00%> (ø)

models/issues/review.go
52.77% <0.00%> (-1.31%)
:arrow_down:

modules/setting/repository.go
55.71% <ø> (ø)

routers/web/repo/pull_review.go
0.00% <0.00%> (ø)

services/pull/review.go
48.24% <7.14%> (-2.58%)
:arrow_down:

routers/web/web.go
86.08% <16.66%> (-0.51%)
:arrow_down:

routers/api/v1/repo/pull_review.go
69.76% <100.00%> (ø)

routers/web/org/members.go
30.69% <100.00%> (+30.69%)
:arrow_up:

routers/web/repo/release.go
27.52% <100.00%> (+0.17%)
:arrow_up:

modules/git/last_commit_cache.go
58.06% <0.00%> (-41.94%)
:arrow_down:

... and 77 more

Help us with your feedback. Take ten seconds to tell us how you rate us.

@techknowlogick @kittenswolf @6543 Done.

@zeripath done.

.


Fix pipeline - Added condition to UpdateUnreliableTest

Description
The UpdateUnreliableTest task fails if the pipeline run is initiated from forks. This check disables the task in this scenario.

Probably worth verifying this fix by creating both a PR from this repo (i.e. this PR) and also creating a PR from a fork. Then you can verify that the MUX-PR build works correctly in both cases.

/azp run


fix(cp): CP-3957 CP-3960 choose options and grid view add to cart att…

…ribution fix
What?
fixes list attribution for grid-view add to cart buttons and choose options
Testing
Ranjitha said it works.
ping @bc-nataliya

LGTM 👍 - will wait for Nataliya to take a look as well

💚


issue 24

Fix #24
Test URLs:

Before: https://main--palladium--hlxsites.hlx.page/es/cares/4-causas/infancia
After: https://issue-24--palladium--hlxsites.hlx.page/es/cares/4-causas/infancia

@Subrat-Code-94 I was playing with footer content structure; this might be easier to work with. Currently only layout done, no styling yet cc @thomsebastin

@Subrat-Code-94 made more progress on the styling based on the new content structure; let me know what you think cc @thomsebastin

In Mobile View for slider ,is there any way we can handle that through css ? @paolomoz @thomsebastin

In Mobile View for slider ,is there any way we can handle that through css ? @paolomoz @thomsebastin

@Subrat-Code-94 no, you need some javascript, but shouldn't be a lot for what we have here

@paolomoz I noticed a few things different from the current footer. Please let me know if these are still WIP.

Footer currently stretched full width, this is under a max-width value in the original.
Horizontal scroll behaviour is not the same as original.
Icons do not have cursor: pointer applied to them. I understand that they are not linked anywhere now, so maybe this is intentional.
The disabled button under email input field is not matching with original
The vertical spacing of items under each accordion is not adequate
The horizontal spacing of social icons are different.

@paolomoz I noticed a few things different from the current footer. Please let me know if these are still WIP.

Footer currently stretched full width, this is under a max-width value in the original.
Horizontal scroll behaviour is not the same as original.
Icons do not have cursor: pointer applied to them. I understand that they are not linked anywhere now, so maybe this is intentional.
The disabled button under email input field is not matching with original
The vertical spacing of items under each accordion is not adequate
The horizontal spacing of social icons are different.

Thank you for the very useful feedback

Horizontal scroll behaviour is not the same as original.
Icons do not have cursor: pointer applied to them. I understand that they are not linked anywhere now, so maybe this is intentional.

These 2 were intentional, I would like to hear feedback from UI owners
I hope I was able to fix the other points properly


"ceedling new blah" fails when the current dir contains a project.yml file

I think ceedling should fail more gracefully than just "rake aborted! Don't know how to build task 'new' (see --tasks)".

Good point.
What kinds of things do you feel it should display? A list of commands acceptable commands? Should it attempt to guess what you meant?

Not sure, I still know too little about the whole workflow with ceedling. For context, my use case was probably absurd (I did "ceedling new blah" inside of a dir created by a previous "ceedling new"), but this apparent nonsense error sent me chasing my tail for a while. (I had just upgraded the ceedling gem, so I feared that the "ceedling new" command had been somehow removed or botched)
I guess that the root problem here is that now ceedling delegates to rake too soon if project.yml exists, which probably isn't a good idea anyway: if the rakefile did actually contain a "new" target, suddenly ceedling would be acting in an unexpected way. Ceedling should rather filter its own commands before delegating to rake.

On 15 Apr 2016, at 16:49, Mark VanderVoord<EMAIL_ADDRESS>wrote:
Good point.
What kinds of things do you feel it should display? A list of commands acceptable commands? Should it attempt to guess what you meant?
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub https://github.com/ThrowTheSwitch/Ceedling/issues/61#issuecomment-210490086

:) I see what happened for you. Thanks! I'll see what I can do to clean this up!

Ceedling 0.20.3 fixes this by giving a polite error when the new, example, or examples commands are issued.


merge-bufcompile-into-buf

Revert edit to Makefile https://github.com/viamrobotics/slam/pull/135/files#diff-931a6e2149fb04d2ec1e4ae28596d823e5671314e365f0a590f6959d792caf80L11

Talked with John on this, found the issue. The new "buf" target now depends on two other targets, whereas previously it depended on one, then its own commands ran after that. Now it tries to run both at the same time, and the buf install doesn't finish before it tries to use it.
Basically "bufcompile: bufsetup" will fix it properly. Reverting it, as you are doing, is fine too.

Note that you can reproduce this in a normal environment with just:
rm grpc/bin/buf
make -j4 buf

Thanks @JohnN193 & @Otterverse for helping diagnose. Yep, that makes sense. I'm going to merge this as is given that making buf depend on  bufcompile and bufcompile depend bufsetup ends up meaning that the buf command will do the exact same work as bufcompile, which defeats the purpose of having 2 commands.
In the figure, I'll be sure to ensure that when defining targets that depend on more than one command don't care about the execution order of the dependent commands.


setuptools in vivenv should be opt-out

In order to keep virtual environments lean I don't install pip or setuptools.
But in testing viv it seems a frustrating number of tools still rely on pkg_resources and thus expect a local copy of setuptools. Would probably make more sense to make the non-setuptools an opt-in feature (i.e. VIV_NO_SETUPTOOLS environment variable) since this might be a non-obvious caveat to many users and not worth the IO/space savings.
call to venv

with https://github.com/daylinmorgan/viv/commit/35aa7c27888bd1f467c2669f05bf3cc268d34971 setuptools is installed by default in all environments. However I'm leaving this open until the behavior is documented.


No link to asset with dots in filename

My environment: Grails 2.4.3 in development mode
<asset:javascript src="jquery-ui/jquery.ui.datepicker-de"/>
The link to the asset will not be rendered.
And if I rename the asset file (replace the dots):
<asset:javascript src="jquery-ui/jquery-ui-datepicker-de"/>
The link will be rendered.
Are there any problems with dots in asset filenames?

yea you need to add .js to the end if your using dots


Temporary File Processing

I'm using a FileUploadEditor within my dialog and I wanted to return additional data from within the file to populate additional fields within the dialog.  In this case, it's an XML file that contains additional data within the file and a nice to have for my users would be to read the file and populate other fields with that data.
If I wanted to extend this:
   private class UploadResponse : ServiceResponse
    {
        public string TemporaryFile { get; set; }
        public long Size { get; set; }
        public bool IsImage { get; set; }
        public int Width { get; set; }
        public int Height { get; set; }
    }

Then process it when a file is uploaded through the dialog.ts, what should the typeScript look like to hook into the uploadresponse when it's returned from the FilePage.cs call TemporaryUpload?

maybe check on how XLS upload is done ?

This item can be closed, it was my lack of understanding of the jquery file upload component.  Here's the code that hooked in where I needed.  This just throws up an alert with the temporary file name on the server.
this.form.MyFileUploader.element.bind('fileuploaddone',
function (e, data) {
alert(data.result.TemporaryFile);
});


Create IncogniaAPI via static methods

Proposed changes
This essentially makes IncogniaAPI a singleton.
This is a breaking change. README.md has been updated accordingly.
Checklist

[x] Style check and tests pass locally with my changes
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have added necessary documentation (if appropriate)

@racevedoo are these changes present in the latest release (2.8.0)?


Router fails when emoji is included in path

Basic reproduction:
const polka = require('polka');

polka()
  .get('/kitten', (_request, response) => response.end('Meow!'))
  .get('/😸', (_request, response) => response.end('Meow!'))
  .listen(3000, _ => {
    console.log('Visit http://localhost:3000/kitten (works)')
    console.log('and http://localhost:3000/😸 (doesn’t work).')
  })

I’m assuming this is actually an issue in trouter, so going to try and reproduce there now but opening the issue here since it’s the main project that’s impacted.
Nope, the bug is in Polka, not trouter:
import Trouter from 'trouter'

const router = new Trouter()

router
  .get('/kitten', _ => {
    console.log('Meow from plain text route path!')
  })
  .get('/😸', _ => {
    console.log('Meow from emoji route path!')
  })

// Find a route definition
const kittenText = router.find('GET', '/kitten')
const kittenEmoji = router.find('GET', '/😸')

// Both handlers execute as expected.
kittenText.handlers[0]()
kittenEmoji.handlers[0]()

Possibly the same issue as https://github.com/sveltejs/kit/issues/2166
(I’m seeing this on Polka 1.0.0-next.22.)

Even if I use middleware to rewrite manually decode the URI component, it doesn’t work.
e.g.,
.use((request, _response, next) => {
  console.log(request.path)
  request.path = decodeURIComponent(request.path)
  next()
})


Changed test inputs and example code for for parallel letter frequency

Adding PR for issue #1941

Im unsure how to add labels to the PR for x:size  and the issue this related to.

@andrerfcsantos Can you wait with merging this for a bit please. I still see concurrent as slower on my machine with these changes.

@junedev @andrerfcsantos If we reuse the same 4 strings multiple times as inputs to increase the size of input, the performance gain is more significant.
This way the size to download also wont increase.
I tried with 2 copies of every string

@kudligi You are correct this would help but also it does not make a lot of sense to count something twice from the context of the exercise. Sometimes these things confuse students when they look at the tests. So instead I would suggest we use real longer texts. I tried with ca. 4 times the text length we have currently and that makes the concurrent solution about 30% faster and the test file is 12kB which is fine. Would you be willing to change the code to use the longer texts? Otherwise we can also merge this as is and I or someone else can make another PR later.

@junedev yeah that makes sense. Ill make the change.

@junedev I also tested in my server and could reproduce the concurrent version being slower there with the previous version of the code. It seems fixed with the most recent changes, now I see the concurrent version being faster everywhere, do you see these results on your side too?

@andrerfcsantos Looks really good with the latest version on my machine:
BenchmarkSequentialFrequency
BenchmarkSequentialFrequency-12             2168            467806 ns/op
BenchmarkConcurrentFrequency
BenchmarkConcurrentFrequency-12             3704            279518 ns/op

@kudligi Thanks for bearing with us here as we sort this out and for the quick iterations. Your PR is merged now. :tada:

Thanks @junedev  @andrerfcsantos ! :)


[ast] Rename VarPattern -> BindingPattern.

VarPattern is today used to implement both 'let' and 'var' pattern bindings, so
today is already misleading. The reason why the name Var was chosen was done b/c
it is meant to represent a pattern that performs 'variable binding'. Given that
I am going to add a new 'inout' pattern binding to this, it makes sense to
give it now a better fitting name before I make things more confusing.

Its actually a NFC.

@swift-ci test

TSPL refers to it as “value-binding pattern”. Should it be reflected here (i.e. ValueBindingPattern) or should TSPL be updated? Or does it not matter at all?

I don't think it matters. And I am not sure the larger name helps. I am trying not to change things in a large way. Only what I need.

@theblixguy the bigger change here is that I am going to change how it represents lets/vars to use a true kind + exhaustive switches instead of isLet(). That will make it easier to update this later. This is just the first in a series of changes.