Update db plugin to require generic abstract db adapter

Phalcon 4 compatibility
Fixes the following error:
TypeError: Argument 2 passed to Fabfuel\Prophiler\Plugin\Phalcon\Db\AdapterPlugin::beforeQuery() must be an instance of Phalcon\Db\Adapter, instance of Phalcon\Db\Adapter\Pdo\Mysql given
Once fixed the toolbar seems to be functioning fine when initialised as follows:
$profiler = new \Fabfuel\Prophiler\Profiler();
$di->setShared('profiler', $profiler);

$profiler->addAggregator(new \Fabfuel\Prophiler\Aggregator\Database\QueryAggregator());
$profiler->addAggregator(new \Fabfuel\Prophiler\Aggregator\Cache\CacheAggregator());

$pluginManager = new \Fabfuel\Prophiler\Plugin\Manager\Phalcon($profiler);
$pluginManager->register();

Queries are being logged, request info is available and timeline/memory/etc are being displayed. Not a full compatibility test but seems to be mostly working.

Thanks @Caffe1neAdd1ct!
I have not worked with Falcon a while. Would you have time to check the build error in Travis CI?
Best
Fabian

Hi @fabfuel
I'll have a look when time permits, however this will need a Phalcon 4 build which would in turn need a few other build requirements:

Phalcon v4 supports only PHP 7.2 -- i'd suggest 7.2,7.3 and 7.4 would be good to haves
https://github.com/phalcon/php-zephir-parser (re2c >= 0.13.6)
https://github.com/phalcon/zephir/
https://github.com/jbboehr/php-psr

Here are my notes from the latest install on arch linux:
Download zephir.phar
wget https://github.com/phalcon/zephir/releases/download/0.12.19/zephir.phar
Compile PSR
git clone https://github.com/jbboehr/php-psr.git
cd php-psr
phpize
./configure --with-php-config=/usr/bin/php-config
sudo make install
sudo echo  /etc/php/conf.d/psr.ini
extension=psr.so

Compile Zephir Parser
pacman -Ss re2c
git clone git://github.com/phalcon/php-zephir-parser.git
cd php-zephir-parser
phpize
./configure --with-php-config=/usr/bin/php-config
sudo make install
sudo vim /etc/php/conf.d/zephir_parser.ini
[Zephir Parser]
extension=zephir_parser.so

Compile Phalcon
git clone --depth=1 "git://github.com/phalcon/cphalcon.git"
cd cphalcon
git fetch --all --tags
git checkout tags/v4.0.6
cd ../cphalcon
php ../zephir.phar fullclean
php ../zephir.phar build
vim /etc/php/conf.d/phalcon.ini
extension=phalcon.so

Also i've no idea on the Scrutinizer error:
https://api.bitbucket.org/1.0/repositories/fabfuel/mongo/tags
{"type": "error", "error": {"message": "Resource removed", "detail": "This API is no longer supported.\n\nFor information about its removal, please refer to the deprecation notice at: https://developer.atlassian.com/cloud/bitbucket/deprecation-notice-v1-apis/"}}

So i think the conclusion here is to support Phalcon 4 we to fix the build and upgrade the composer phar being used with a simple composer self-update included in the build.

Great, thanks! I will have a look at the Scrutinizer issue

I also faced the same issue.  The purposed solution by @Caffe1neAdd1ct is correct. @fabfuel  Could you please merge it.
Thanks


milo.make_nhoods(combined_emb) fails if 'X' was used for nearest neighbors

milopy assumes neighbors were calculated on a reduced dimension. Especially for protein assays, this is not always the case:
https://github.com/emdann/milopy/blob/49db7b8354538632a25480c172de0ced3e136db4/milopy/core.py#L65

Thanks for fixing the PR @emdann (I should stop coding on Github directly)


SME test_batch function

While training SME there is a bug. When followed it leads to the test_batch method of SME class. It only has a pass. However, Evaluator is using that function.
https://github.com/Sujit-O/pykg2vec/blob/88b7fc8f24f8049d1921ded141c8d533c939e56f/pykg2vec/core/SME.py#L135-L136
The screenshot of the error:

Added the test_batch function for both linear and bilinear models.


Improve onboarding

[ ] Make the "Configure Renovate" even more descriptive
[ ] Make the CLI feedback more descriptive (both first time run and if the user has run a subsequent time without closing the PR)
[ ] Consider listing what the changes would be to the current repo (i.e. like a dry-run)
[ ] Consider if the dry run can be updated/repeated if the user edits the branch (e.g. they can change settings until the dry run results is what they are after)

In the repository worker, no changes are written until this step: https://github.com/singapore/renovate/blob/master/lib/workers/repository/index.js#L39-L41
Perhaps it could be rewired to work like this:

Check if onboarding branch exists and if not then create it with renovate onboarding config
Use the renovate config from the onboarding branch, overwriting any existing settings

This way, if anyone edits the renovate.json in that branch then it will be picked up on the next renovate run

Gather branched upgrades like usual
Instead of writing branched upgrades, pass them to a function to create/update the onboarding PR

Only problem so far: it doesn't consider any renovate configuration in package.json files. I think we'd need a special function as part of step 2 or after apis.detectPackageFiles(config) that checks each of them for a renovate config inside and applies it.


Debian post-inst script fails to correctly create system service when multiple users are present

Fixes an issue where multiple users returned from who causes grep to be greedy and return a regex matched string containing all users, not the first user as intended.
This caused the package installation on Raspbian to create an incorrect service name which could not be started as there was a mismatch in user vs expected user.
As discussed with @Paulchen-Panther HERE
Fresh install of Raspbian Stretch, calling who from the terminal returns two users. Doing the same on an SSH session returns 3:
pi@raspberrypi:~ $ who
pi       tty1         2019-08-07 17:38
pi       tty7         2019-08-07 17:39 (:0)
pi       pts/0        2019-08-07 17:41 (<IP_ADDRESS>)

After regexp:
pi@raspberrypi:~ $ who | grep -o '^\w*\b'
pi
pi
pi

Fix changes to:
pi@raspberrypi:~ $ who | grep -o -m1 '^\w*\b'
pi

Tested installing .deb on Raspbian Buster - now works. can someone please check the .rpm please, as i have made the same changes there.
Fixes #588
EDIT: Changed who | grep -o -m1 '^\w*\b' to whoami as discussed in the comments

I've been wondering whether we should be using whoami instead of who, as there can still be ambiguity over which user you want when there is multiple ones with who, which would not be the case with whoami.
Does anyone object if i change this, as i feel it is more correct in a multi-user system?

Does anyone object if i change this, as i feel it is more correct in a multi-user system?

I totally agree with your opinion.

Does anyone object if i change this, as i feel it is more correct in a multi-user system?

I totally agree with your opinion.

Great cheers, i'll change the PR 👍

whoami won't work, since you have to sudo dpkg... to install, so the user comes back as root 😞 , so i've reverted that change back to using who.

Ready to merge?

Yep, go for it!


Pasting images from clipboard

Only able to paste images when the composer is unselected, but if the composer is active, pasting does nothing

Hello! This has been addressed in PRs targeting this repo and the matrix-react-sdk repo. Relevant PRs:

PR to add beforeinput listener here
PR to use that in the rich text editor rich text mode

- PR to use that in the plain text mode


SAK-40963 Fixed overflow on GB item modal

We have use !important on the height, otherwise Wicket just applies an inline height style and breaks the modal.

@plukasew and I looked into this. By design, Wicket modals display internal scrollbars when the calculated modal height exceeds the window height on initial load (in the case of short viewport windows or long modal windows).
SAK-34049 added the "overflow: initial !important;" on the "div.wicket-modal div.w_content_container" selector, which undoes this native behaviour of Wicket modals.
Removing the overflow override should return this modal to the original behaviour (providing scrollbars when needed).

Isn't that sub optimal, though? Having scrollbars inside a div when you can just scroll the entire window, including the modal? What's the approved approach a11y wise?

The modal is designed to be centred in the window both vertically and horizontally. As such, if the content is too large, it will scroll internally so the modal itself can stay entirely on screen. Presumably this is modelled after a traditional modal that would block all interaction with the rest of the application.
For the gradebook, most users will not encounter the inner scrolling as you need a pretty small window (unlikely for any serious use of the instructor view of the gradebook) or a very large modal to trigger it. From a maintenance standpoint, I would argue that we are best to leave it alone and let Wicket follow its native behaviour for these edge cases.
If we do decide it is best to override this behaviour, it can be done with javascript without the need for !important in css, and we could leave it as a configurable option to the developer so they can choose the best behaviour for each modal. This could also be done for just one axis or both (having to scroll the page horizontally to see a wide modal might not be as easy if you don't have a horizontal scroll wheel on your mouse).
From an accessibility standpoint, it could be argued that using a modal at all is problematic. I would agree with this, and would rather see an inline slideout panel appear instead of a modal popup, so that all the content on the page is visible and accessible. This is however a bit more work.

I just commented out that forced overflow and the auto height, and the scrolling turns back on, as you said. But, it's so clunky. The edit modal overflows my macbook pro so I have to scroll. One thing's for sure - that forced initial overflow broke Safari, before work on this ticket. You just can't access the buttons on the modal as scroll events pass through to the underlying content. Commenting those two lines out fixes Safari, but at the cost in my mind of visual unpleasantness. I agree that a slide out panel of content would be better, that's why I tried to lock the modal against the background so you could scroll the whole thing. So, maybe we just take the hit of clunky scrolling modals and talk about implementing slide outs for 20?


Add credential validation to offer issuance step

This pull request adds an additional credential instance validation for any missing attributes. With this check eliminate errors at the issuance stage where in case of missing attributes, Aca-Py returns 500 error right now. And exchange record goes into a fault state.

Codecov Report

Merging #1446 (169c431) into main (4df6500) will increase coverage by 0.00%.
The diff coverage is 100.00%.

:exclamation: Current head 169c431 differs from pull request most recent head cc010c8. Consider uploading reports for the commit cc010c8 to get more accurate results

@@           Coverage Diff           @@
##             main    #1446   +/-   ##
=======================================
  Coverage   94.59%   94.59%
=======================================
  Files         483      483
  Lines       29666    29675    +9
=======================================
+ Hits        28063    28072    +9
  Misses       1603     1603

Hi @MaticDiba thanks for the PR!  Can you please catch up your branch with the latest updates in main and then we can get it merged?


Update for compatibility with omniauth-oauth2 1.4

As mentioned in intridea/omniauth-oauth2#81 and #3, version 1.4 of omniauth-oauth2 has an issue with query params being broken. Previously it overrode the callback_url, but now it no longer matches, causing all callbacks to fail.
This patch should fix the functionality to allow maximum compatibility with other versions. It's basically what many other strategy authors have done. Hope that helps!

Works great and solves the bug, thanks for this!


[Clappr | HLS] Player stuck in loading state when playing HLS content with IMA

Environment
Google Chrome 75
Clappr 0.3.6 (Newest)
IMA SDK plugin for Clappr
Issue
Clappr stuck in loading state when executing play of HLS content with IMA tag.
Clappr has been configured according to the example presented in this repo.
Source: https://bitdash-a.akamaihd.net/content/MI201109210084_1/m3u8s/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.m3u8
IMA tag: https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/ad_rule_samples&ciu_szs=300x250&ad_rule=1&impl=s&gdfp_req=1&env=vp&output=vmap&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ar%3Dpremidpostlongpod&cmsid=496&vid=short_tencue&correlator=

The issue seems to happen when autoplay is not allowed.
I think it is something related to the hls source because it is working for me with another hls source like https://video-dev.github.io/streams/x36xhzz/x36xhzz.m3u8.
At some point the media source buffer seems to be in an instable state, i am still trying to debug this strange behaviour.

Yup, autoplay is off. Maybe it will be better if I provide you my Clappr configuration.
I'm wrapping Clappr itself into a class that is only once instantiated. Clappr itself is not being destroyed. At the beginning I'm loading clappr with junk data (since from what I know it's not possible to instantiate Clappr without providing any res). Then when playback is requested, new content is being loaded into Clappr and played.
Source code looks more the less like this. Sadly can't copypaste whole code because of company policies but I think I included all relevant info.
`
constructor(parentDivId) {
this.blob = new Blob([new Uint8Array([0, 0, 0, 28, 102, 116, 121, 112, 105, 115, 111, 109, 0, 0, 2, 0, 105, 115, 111, 109, 105, 115, 111, 50, 109, 112, 52, 49, 0, 0, 0, 8, 102, 114, 101, 101, 0, 0, 2, 239, 109, 100, 97, 116, 33, 16, 5, 32, 164, 27, 255, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 33, 16, 5, 32, 164, 27, 255, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 167, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 0, 0, 2, 194, 109, 111, 111, 118, 0, 0, 0, 108, 109, 118, 104, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 232, 0, 0, 0, 47, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 1, 236, 116, 114, 97, 107, 0, 0, 0, 92, 116, 107, 104, 100, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 101, 100, 116, 115, 0, 0, 0, 28, 101, 108, 115, 116, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 47, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 100, 109, 100, 105, 97, 0, 0, 0, 32, 109, 100, 104, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 68, 0, 0, 8, 0, 85, 196, 0, 0, 0, 0, 0, 45, 104, 100, 108, 114, 0, 0, 0, 0, 0, 0, 0, 0, 115, 111, 117, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 111, 117, 110, 100, 72, 97, 110, 100, 108, 101, 114, 0, 0, 0, 1, 15, 109, 105, 110, 102, 0, 0, 0, 16, 115, 109, 104, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 100, 105, 110, 102, 0, 0, 0, 28, 100, 114, 101, 102, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 12, 117, 114, 108, 32, 0, 0, 0, 1, 0, 0, 0, 211, 115, 116, 98, 108, 0, 0, 0, 103, 115, 116, 115, 100, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 87, 109, 112, 52, 97, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 16, 0, 0, 0, 0, 172, 68, 0, 0, 0, 0, 0, 51, 101, 115, 100, 115, 0, 0, 0, 0, 3, 128, 128, 128, 34, 0, 2, 0, 4, 128, 128, 128, 20, 64, 21, 0, 0, 0, 0, 1, 244, 0, 0, 1, 243, 249, 5, 128, 128, 128, 2, 18, 16, 6, 128, 128, 128, 1, 2, 0, 0, 0, 24, 115, 116, 116, 115, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 4, 0, 0, 0, 0, 28, 115, 116, 115, 99, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 28, 115, 116, 115, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1, 115, 0, 0, 1, 116, 0, 0, 0, 20, 115, 116, 99, 111, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 44, 0, 0, 0, 98, 117, 100, 116, 97, 0, 0, 0, 90, 109, 101, 116, 97, 0, 0, 0, 0, 0, 0, 0, 33, 104, 100, 108, 114, 0, 0, 0, 0, 0, 0, 0, 0, 109, 100, 105, 114, 97, 112, 112, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 105, 108, 115, 116, 0, 0, 0, 37, 169, 116, 111, 111, 0, 0, 0, 29, 100, 97, 116, 97, 0, 0, 0, 1, 0, 0, 0, 0, 76, 97, 118, 102, 53, 54, 46, 52, 48, 46, 49, 48, 49])], {type: 'video/mp4'});
this.dummy = URL.createObjectURL(this.blob);
this.autoplay = false;
this.plugins = [DashShakaPlayback, ClapprStats, ClapprImaPlugin];
this.playerObject = new Clappr.Player({
  source: this.dummy,
  mimeType: this.blob.type,
  autoPlay: this.autoplay,
  height: "100%",
  width: "100%",
  plugins: this.plugins,
  clapprStats: {
    runEach: 2000
  },
  imaPlugin: {
    imaAdPlayer: {
      tag: 'https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/ad_rule_samples&ciu_szs=300x250&ad_rule=1&impl=s&gdfp_req=1&env=vp&output=vmap&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ar%3Dpremidpostlongpod&cmsid=496&vid=short_tencue&correlator=',
    },
  }
});
this.attachTo(parentDivId);

}
`

I think i have found the issue. I will try to push a fix soon.

@oFilipMalinowski i released a new version. Could you check if it fixe your issue ?

@kslimani
Just tested it with some HLS and DASH streams. It looks good, no issue seen anymore. Thanks!
Can be closed.


koordlet: add allpods reconciler func

Ⅰ. Describe what this PR does
Add Allpodslevel reconciler function in case some runtime hooks may need to consume all pods at once. It's part of the https://github.com/koordinator-sh/koordinator/pull/1974.

Ⅱ. Does this pull request fix one issue?
https://github.com/koordinator-sh/koordinator/issues/1831

Ⅲ. Describe how to verify it
Ⅳ. Special notes for reviews
V. Checklist

[ ] I have written necessary docs and comments
[ ] I have added necessary unit tests and integration tests
[ ] All checks passed in make test

I will add test later.

@saintube PTAL.

/lgtm

PTAL /cc @zwzhang0107 @hormes

/approve


Experience-7867: Add local Cypress UX checks

This PR ...
This changeset includes a basic scaffolding of running Cypress tests locally.  It's far from complete coverage (whatever that means), but it covers basic navigation and includes some slightly more complicated things like determining what to check for by making API calls prior to rendering.  At a high level, there are a few concepts introduced, like extensible page objects and commands.
There are still lots of things we can do to build on this, but my immediate focus after this will be on:

Running locally against other environments (demo1/2/3, staging, production)
Cleaning up environment variable schtuff
MFA

Test Steps:

Run yarn install
Run yarn run cypress:local:open to open the Cypress GUI and run specs manually
Run yarn run cypress:local:run to run Cypress specs in headless mode

Changes

Include a comprehensive list of changes in this PR
(For web UI changes) Include screenshots/video of changes

Checklist
Testing

[x] Tested locally?
- [ ] Ran ./prime test or ./gradlew testSmoke against local Docker ReportStream container?
- [ ] (For Changes to /frontend-react/...) Ran npm run lint:write?
[x] Added tests?

Process

[ ] Are there licensing issues with any new dependencies introduced?
[ ] Includes a summary of what a code reviewer should test/verify?
[ ] Updated the release notes?
[ ] Database changes are submitted as a separate PR?
[ ] DevOps team has been notified if PR requires ops support?

Linked Issues

Fixes #7867
Fixes #8004

To Be Done
Create GitHub issues to track the work remaining, if any

#8000
#8001
#8003
#8004

Specific Security-related subjects a reviewer should pay specific attention to

Does this PR introduce new endpoints?

new endpoint A
new endpoint B

Does this PR include changes in authentication and/or authorization of existing endpoints?
Does this change introduce new dependencies that need vetting?
Does this change require changes to our infrastructure?
Does logging contain sensitive data?
Does this PR include or remove any sensitive information itself?

If you answered 'yes' to any of the questions above, conduct a detailed Review that addresses at least:

What are the potential security threats and mitigations? Please list the STRIDE threats and how they are mitigated

Spoofing (faking authenticity)

Threat T, which could be achieved by A, is mitigated by M

Tampering (influence or sabotage the integrity of information, data, or system)
Repudiation (the ability to dispute the origin or originator of an action)
Information disclosure (data made available to entities who should not have it)
Denial of service (make a resource unavailable)
Elevation of Privilege (reduce restrictions that apply or gain privileges one should not have)

Have you ensured logging does not contain sensitive data?
Have you received any additional approvals needed for this change?

Following the PR instructions, step 2 - yarn run cypress:local:open - gave me this error:
Error: Cannot find module '/Users/kevinhaube/Projects/prime-reportstream/frontend-react/cypress/cypress.development.json

Ah, yep -- I have this line in the README.  I'll send over the file in Slack since it has some ㊙ secrets ㊙

Updated to accommodate TypeScript in our Cypress tests now.  I'm adding another ticket for ESLinting our Cypress tests -- I've resolved most warnings/errors, but there are some differences the expectation/assertions that Cypress provides.
@kevinhaube Mind taking another look whenever you get a chance?

@penny-lischer Just pushed up a change to remove the numbers from the spec files -- let me know what you think whenever you get a chance!
For posterity, the spec files were originally prefixed by numbers, like 01-home-page.ts.cy, 02-product-pages.ts.cy, et cetera.  Penny rightly pointed out that there could be an issue with naming if multiple people are adding new files, there could be collisions in the numbers.  So they've been removed 🧹 Thanks for calling that out, Penny!

Thanks, Penny and Kevin!  There's still plenty of work to be done for end-to-end testing (I think I added like seven new tickets as part of this 😆), but I'm going to merge this in after checks pass so we have a foundation to build on!


ENDOC-703 7.2 release doc

There are notes in the doc that need to be removed after review

Closing in favor of the single PR - mostly because I keep opening this one by mistake. ;)


Add webpack plugin to copy assets

Currently manually moving assets from src/ to build/. Get a webpack plugin to do this.

Handled by me


ef migrations add missing files

I'm not sure if the following is a bug or a feature. But I wasted many hours being confused over this behavior.
When I run "ef migrations add xxx" the migrations files are generated in the bin/output folder if existing migration files are found here.
This is the output I see:
Finding DbContext classes...
Using context 'ApplicationDbContext'.
An operation was scaffolded that may result in the loss of data. Please review the migration for accuracy.
Reusing directory of file '00000000000000_CreateIdentitySchema.cs'.
Reusing directory of file 'ApplicationDbContextModelSnapshot.cs'.
Writing migration to 'c:\Users\Nikola\Dev\SdmWeb\src\SdmWeb\bin\output\approot\src\SdmWeb\Migrations\20160223195618_v1.cs'.
Writing model snapshot to 'c:\Users\Nikola\Dev\SdmWeb\src\SdmWeb\bin\output\approot\src\SdmWeb\Migrations\ApplicationDbContextModelSnapshot.cs'.
Done. To undo this action, use 'ef migrations remove'

After cleaning the bin-folder the migration files are saved to the correct folder: c:\Users\Nikola\Dev\SdmWeb\src\SdmWeb\Migrations
I should emphasize that without the verbose-flag it is very easy to get confused by the migration files being produced in the bin/output folder.
In my opinion it should never produce the migration files in the bin/output folder but always directly in the Migration folder under the project root.

If there are existing migrations, then next migration would be placed in the same folder. This allows users to put migration files where they want. Since once user changes the folder where the files are stored next migration will be generated in that folder so user doesn't have to move files again. If there are no migrations files then it is put under Migrations folder under the project root.
There isn't anything specific to bin/output folder. Existing migration files shouldn't be in that folder.

As I understand the migration files were copied to the bin/output folder because I ran dnu publish. I find this rather odd. But if this is really how it is designed to be, I can live with it and work around it.

That is interesting case. If migrations files are copied by dnu publish then there should be 2 folders containing exactly same migration files.
@bricelam - Where are the migration files are put if there multiple folders with previous migrations?

The migration files were copied to the bin/output folder because I ran dnu publish. I find this rather odd.

I too find this odd. We should understand why it's doing this.
The algorithm is pretty straightforward: Find the first (if any) file named <previous-migration-id>.cs under the project directory and put the new migration next to it.
I don't think this will be a problem on the .NET Core CLI, since publish should only copy binaries and not sources in that world.

P.S. @nikolaschou This is the documentation reop. Issues with the product should be filed against aspnet/EntityFramework

I don't think this will be a problem on the .NET Core CLI, since publish should only copy binaries and not sources in that world.

Agreed

We added documentation for .NET Core CLI commands in #159. dotnet publish doesn't publish sources, so this isn't an issue anymore. As mentioned, product bugs should be filed to https://github.com/aspnet/EntityFramework


Pressing 'Help' Does Not Do Anything

Describe the bug

In the lab, pressing 'Help' on certain blocks does not do anything.

To Reproduce (One Example)
Steps to reproduce the behavior:

Go to the lab.
Click on images.
Spawn the 'shift image' block, right-click it, and press 'Help'
See incorrect redirection.

Expected behavior

It should redirect to the correct title in the 'Help' View.

GIF

Additional GIF's

EV3: Configuration Block

Arduino: Configuration

Color Blocks

Device information

Type: Laptop
OS: Windows 10
Browser: Google Chrome

The help view 's content is generated from our wiki. We track that outside of github. Thank you very much.


add feature to do auto-completion without casesensitivity

please make auto complete without case sensitivity

Hi @kalbhairab we will work on it for a next release :-)

I think this might be related to #3385, as a fuzzy search would most likely be case insensitive, would it not?

Working on it. @goanpeca

:+1:

Hi @kalbhairab
Could you give us details about What or Why you looking for this feature?
One explicit example for evaluating your request? please.

@kalbhairab we already have an option for doing this if you go to preferences, editor and introspection section, there is a checkbox
Have you used that yet?


Add color for invoice status on payments modal

Notion: https://www.notion.so/saeloun/6afc9500b2cc42af86be55f37894fb09?v=b4528f26f4424af7beaf036262796cb3&p=48f83055296f4d8e87f333797a59acd5&pm=s
What:

Added color for invoice status on the payments modal

Why:

To help in differentiating b/w different statuses

Screenshot:

@Shruti-Apte Please review


Developers can easily build locally from source all or part of .NET 6  on Windows, Linux, and Mac

I'm trying to understand a little better what this story tracks.

My initial interpretation of "on the desktop" is shaky. I believe the intent is along the lines of "on my machine".
"The product" from the source-build point of view is the .NET SDK, but this isn't clear IMO unless you already know what source-build is.
Is the focus on "easily"? Or are there more significant gaps in the experience that the story's actually about?

Here's an alternative title with my current understanding of the story, does this sound right?
As a developer, I can easily build .NET from source on my machine: either the whole .NET SDK or specific parts of it

@dagood, you're right I did mean on my machine when I said on my desktop :) Desktop can mean different things in different contexts so machine is less ambiguous.

@jamshedd is this Linux only? If so that should be in the title. (Obviously all OS can be built from source, but it's Linux that we're making it easiest)

@jamshedd is this Linux only? If so that should be in the title. (Obviously all OS can be built from source, but it's Linux that we're making it easiest)

I updated the title to make it obvious this is all 3.

@jamshedd could you say more here about the motivation for Windows? The motivation for Linux is clear -- so that distros can build from source.

I'd also like to hear more about this. (Note that dotnet/source-build doesn't support Windows.)
Side note: Homebrew now builds .NET Core for macOS using dotnet/source-build thanks to community effort, and historically dotnet/source-build has supported running on macOS. So there's also motivation there, like Linux.

+1 for desktop builds.
We have a full fork for dotnet runtime 3.1 with custom crypto. The plans are to ship this modified runtime and SDK to customers to build apps with native GOST algorithms (Russian crypto) support in dotnet (including ASP.NET, X509, CMS, XML, etc.) both in Windows, unix, and mac. Many people already happy using it.
And even building runtime in 3.1 is real pain thanks to netstandard. It would be nice to have a fully offline build in 6.0, where we can build full dotnet runtime and SDK from modified sources without messing with CI pipelines and tons of API Compat issues.

+1 for desktop builds.
We have a full fork for dotnet runtime 3.1 with custom crypto. The plans are to ship this modified runtime and SDK to customers to build apps with native GOST algorithms (Russian crypto) support in dotnet (including ASP.NET, X509, CMS, XML, etc.) both in Windows, unix, and mac. Many people already happy using it.
And even building runtime in 3.1 is real pain thanks to netstandard. It would be nice to have a fully offline build in 6.0, where we can build full dotnet runtime and SDK from modified sources without messing with CI pipelines and tons of API Compat issues.

Given the effort cost of higher pri epics and the diffuseness of the motivation for this epic we don't believe this work fits in the 6.0 timeframe.
@Fasjeit desktop and fully offline builds for Linux and macOS is supported in 5.0 and we will maintain it for 6.0. If you encounter specific issues please file them at https://github.com/dotnet/source-build/issues

Given the effort cost of higher pri epics and the diffuseness of the motivation for this epic we don't believe this work fits in the 6.0 timeframe.
@Fasjeit desktop and fully offline builds for Linux and macOS is supported in 5.0 and we will maintain it for 6.0. If you encounter specific issues please file them at https://github.com/dotnet/source-build/issues

Should this be moved to Cut then @dleeapho?

Should this be moved to Cut then @dleeapho?


Fix bounds checks in cli.

Current coverage is 70.58% (diff: 0.00%)

Merging #682 into master will increase coverage by 0.19%

@@             master       #682   diff @@
==========================================
  Files            99         99
  Lines         14858      14858
  Methods        2013       2014     +1
  Messages          0          0
  Branches       1773       1773
==========================================
+ Hits          10458      10487    +29
+ Misses         3835       3805    -30
- Partials        565        566     +1

Powered by Codecov. Last update 8d6923f...8cc7e91

LGTM


fix: add JSONSchema7 types, resolve option index signature & missing JSONSchema return type in resolver options read

#224

Hi, any traction on this?  I'm trying to use this with the output from ts-json-schema-generator, and that outputs JSONSchema7

shall i do something?

I'm not sure what the hell is going on here @medfreeman sorry! I've been trying to get tests running for a little while but its not going anywhere.

Aha! Got it. When https://github.com/APIDevTools/json-schema-ref-parser/pull/233 is merged please update your branch.


package.json improvement and README.md spelling fixes

Spelling mistakes fixed in README.md. Changed "PR Requests" to "PRs". Because "PR" stands for "Pull Request", and it does not make sense to say: "Pull Request Requests".

Added keywords to the package.json and changed the license from ISC to MIT (the one used in the repository), also changed the path of the scripts in the package.json and added the author. MORE DETAILS

Thanks! You also helped me spot another error.


_NativeSocket.startConnect is possibly throwing SocketExceptions that cannot be caught with try

Origin: https://github.com/flutter/flutter/issues/153064#issuecomment-2305662791.
On Flutter 3.24.1, I'm seeing many reports of this crash:
SocketException: SocketException: Connection attempt cancelled, host: localhost, port: 51225
at _NativeSocket.startConnect(socket_patch.dart:721)
at _RawSocket.startConnect(socket_patch.dart:1920)
at RawSocket.startConnect(socket_patch.dart:27)
at Socket._startConnect(socket_patch.dart:2144)
at Socket.startConnect(socket.dart:825)
at _ConnectionTarget.connect(http_impl.dart:2491)
at _HttpClient._getConnection.connect(http_impl.dart:2930)
at _HttpClient._getConnection(http_impl.dart:2935)
at _HttpClient._openUrl(http_impl.dart:2790)
at _HttpClient.getUrl(http_impl.dart:2632)
at ChromeConnection.getUrl(webkit_inspection_protocol.dart:108)
at ChromeConnection.getTabs(webkit_inspection_protocol.dart:53)
at ChromeConnection.getTab(webkit_inspection_protocol.dart:90)
+ at Chromium.close(chrome.dart:512)
at ChromiumDevice.stopApp(web_device.dart:164)
at FlutterDevice.exitApps(resident_runner.dart:377)
at ResidentWebRunner.exitApp(resident_web_runner.dart:729)
at ResidentRunner.exit(resident_runner.dart:1312)
at <asynchronous gap>(async)
at AppDomain.stop.<anonymous closure>(daemon.dart:942)
at <asynchronous gap>(async)
at Domain.handleCommand.<anonymous closure>(daemon.dart:297)
at <asynchronous gap>(async)

The interesting bit of the stack trace starts with Chromium.close(chrome.dart:512) (highlighted above).
If we look at this call site on the 3.24.1, we see this (link):
      try {
        tab = await chromeConnection.getTab(
            (_) => true, retryFor: const Duration(seconds: 1));
      } on SocketException {
        // Chrome is not responding to the debug protocol and probably has
        // already been closed.
      }

Here we see that we wrap the (awaited) ChromeConnection.getTab call with try and catch and discard any SocketException. My question is then, why are we still seeing this crash? Looking through the code of package:webkit_inspection_protocol that we see in this stack trace, I don't see any potential for unawaited futures that are throwing this exception asynchronously. This leads me to suspect that this is an issue in the Dart http library.  Maybe this exception is being thrown asynchronously (but we are stilling seeing a stack trace because Error.throwWithStackTrace is being utilized).
My sincerest apologies in advance if this this turns out to not be a bug in the Dart sdk.

//cc @brianquinlan

Note that unhandled exceptions will go to the zone where the future that throws async exception was created in. (https://dart.dev/libraries/async/zones#handling-uncaught-errors)
In this case it seems to be ChromeConnection created in launch method. ChromeConnection itself creates [HttpClient] instance, which if throws asynchronously is expected to be handled by the the zone encompassed ChromeConnection creation.
What is that zone? Does it have exception handler?
If it does not, then the async exception thrown by [HttpClient] will terminate the app.

The HttpClient constructor doesn't create any Futures.

I can see two ways that this exception could occur:

_ConnectionTarget.close() is called.

This call chain looks like:

HttpClient._closeConnections()
HttpClient.close()

_HttpClientConnection.connect

This can only be invoked when connectionTime != null, which I don't think is the case.
So (1) seems like the most plausible.

It is not obvious to me whether or not ChromeConnection.close can be called while there are requests in flight.
@andrewkolos
For example, could ChromiumDevice.stopApp() be called will while there are requests in flight?

It is not obvious to me whether or not ChromeConnection.close can be called while there are requests in flight.
@andrewkolos
For example, could ChromiumDevice.stopApp() be called will while there are requests in flight?

I wonder if https://github.com/flutter/flutter/issues/154203 suggests that this is the case.

Using asyncGuard seems like a good way to deal with this class of errors. Were you able to determine whether HttpClient.close() could be called with there are requests outstanding?

Were you able to determine whether HttpClient.close() could be called with there are requests outstanding?

I don't believe this is the case, though I cannot prove this. The only possible call of HttpClient.close is https://github.com/flutter/flutter/blob/cb28dec614e481c5ebde52b545118202200c5d4c/packages/flutter_tools/lib/src/web/chrome.dart#L525 (the call to ChromeConnection.close after we've sent off the command to close Chrome).
The root cause of this crash was that flutter was trying to close Chrome twice, concurrently (hence why Chrome was already closed when we sent off the second command to close it). Knowing this, I repro'd the issue locally using https://github.com/flutter/flutter/issues/153064#issuecomment-2314115350, this time instrumenting the code with prints to see if see if we call ChromeConnection.close before sending off the second close command. However, this appeared not to be the case—both close commands were sent off before the tool ever called ChromeConnection.close. The tool crashed before ChromeConnection.close was ever invoked.
FWIW the crash has gone away since asyncGuard was implemented, so I wouldn't be terribly upset if this was closed as can't repro/won't fix.

Closing this issue.


using tags inside a jQuery dialog

I am having the same issue that the user in issue #75 was having.
I'm using the tags plugin inside a jQuery dialog/modal window, and I can not input anything into the textarea. When bringing focus to the textarea, sometimes I see the cursor and other times I do not. Also, it will occasionally let me enter an empty tag when I press enter but not consistently. I am able to get new tags added by adding a text input and button to the dialog window  and calling addTags, but I am working with limited space in the dialog window and would prefer not to have the bulky 2 additional elements taking up space.  Was there any resolution to issue #75? It looks like that user just closed the issue themselves and there were no comments/feedback. Any help would be GREATLY appreciated! Thanks!

please add following line into textext.plugin.tags.css (Line number : 1)
.text-core .text-wrap .text-tags {
top : 0;
}
It will surly works.


Optimize OTel Trace ID queries with skip index

Adds the optimization requested in #724
This optimization is only included in the SQL when OTel is enabled since the table is specific to OTel.
Here's the new SQL that is generated for Trace ID queries:
+ WITH
+ '207c6fb96eda8541559a283678587c86' as trace_id,
+ (SELECT min(Start) FROM "default"."otel_traces_trace_id_ts" WHERE TraceId = trace_id) as trace_start,
+ (SELECT max(End) + 1 FROM "default"."otel_traces_trace_id_ts" WHERE TraceId = trace_id) as trace_end
SELECT
"TraceId" as traceID, "SpanId" as spanID, "ParentSpanId" as parentSpanID, "ServiceName" as serviceName,
"SpanName" as operationName, "Timestamp" as startTime, multiply("Duration", 0.000001) as duration,
arrayMap(key -> map('key', key, 'value',"SpanAttributes"[key]), mapKeys("SpanAttributes")) as tags,
arrayMap(key -> map('key', key, 'value',"ResourceAttributes"[key]), mapKeys("ResourceAttributes")) as serviceTags
FROM "default"."otel_traces"
WHERE
- traceID = '207c6fb96eda8541559a283678587c86'
+ traceID = trace_id
+ AND startTime >= trace_start
+ AND startTime <= trace_end
LIMIT 1000

Here's a rough graph of query duration before and after:

Good points on the otel functions, pushed a change to clean up the imports/references 👌

FYI this query scans the trace_id_ts table twice.
Compare with:
(SELECT (min(start), max(end) + 1) FROM tracing.otel_traces_trace_id_ts WHERE trace_id = ID) as bounds,
...
AND startTime >= bounds.1
AND startTime <= bounds.2

FYI this query scans the trace_id_ts table twice.

Very good point, this PR was simply using the linked query on the original issue, but this seems like another optimization we can add. Thanks!


Adding myself to the maintainers

I need this for py_gd -- so want to be able to keep it up to date. Hopefully, I'll be able to add a Windows build.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@ChrisBarker-NOAA, thanks for your interest in maintaining libgd. I tried to keep it up-to-date so far, but I appreciate any help!

Yup -- and looks like we still need a Windows build -- hopefully I'll be
able to do that soon.
CHB
Sent from my iPhone
On Jul 17, 2016, at 2:58 PM, Christian Roth<EMAIL_ADDRESS>wrote:
@ChrisBarker-NOAA https://github.com/ChrisBarker-NOAA, thanks for your
interest in maintaining libgd. I tried to keep it up-to-date so far, but I
appreciate any help!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/conda-forge/libgd-feedstock/pull/3#issuecomment-233206615,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA38YFPaZIgbtgIBWSNuX3EJo4ziH0UIks5qWqWfgaJpZM4JOTGW
.


The agency docker

docker compose is here  https://github.com/jmikedupont2/ai-ticket/pull/50

https://github.com/jmikedupont2/ai-ticket/issues/9#issuecomment-1771215387


Dart VM crash when attempting to pass id of FuncRef to VM Service invoke argumentId

StackTrace:
===== CRASH =====
si_signo=Bus error: 10(10), si_code=2, si_addr=0x1064805e0
version=2.8.0-dev.18.0.flutter-eea9717938 (be) (Wed Apr 1 08:55:31 2020 +0000) on "macos_x64"
pid=66764, thread=9475, isolate=test(0x7fcc9d8b1000)
isolate_instructions=103975a40, vm_instructions=103975a40
  pc 0x0000000103b8e1be fp 0x000070000e9806b0 dart::Class::set_declaration_type(dart::Type const&) const+0x1e
  pc 0x0000000103bc6030 fp 0x000070000e980770 dart::Type::Canonicalize(dart::ZoneGrowableHandlePtrArray<dart::AbstractType const>*) const+0x9a0
  pc 0x0000000103b83099 fp 0x000070000e9807b0 dart::Class::DeclarationType() const+0x179
  pc 0x0000000103b9b55a fp 0x000070000e980810 dart::Instance::GetType(dart::Heap::Space) const+0x1aa
  pc 0x0000000103b8b9fc fp 0x000070000e9808c0 dart::Function::DoArgumentTypesMatch(dart::Array const&, dart::ArgumentsDescriptor const&, dart::TypeArguments const&) const+0x14c
  pc 0x0000000103bacdbf fp 0x000070000e980950 dart::Library::Invoke(dart::String const&, dart::Array const&, dart::Array const&, bool, bool) const+0x27f
  pc 0x0000000103c6a88f fp 0x000070000e980a00 dart::Invoke(dart::Thread*, dart::JSONStream*)+0x42f
  pc 0x0000000103c62b1c fp 0x000070000e980b70 dart::Service::InvokeMethod(dart::Isolate*, dart::Array const&, bool)+0x39c
  pc 0x0000000103c630e3 fp 0x000070000e980ba0 dart::Service::HandleIsolateMessage(dart::Isolate*, dart::Array const&)+0x23
  pc 0x0000000103b34913 fp 0x000070000e980d90 dart::IsolateMessageHandler::HandleMessage(std::__1::unique_ptr<dart::Message, std::__1::default_delete<dart::Message> >)+0x6e3
  pc 0x0000000103b651df fp 0x000070000e980e10 dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool)+0x12f
  pc 0x0000000103b65b50 fp 0x000070000e980e70 dart::MessageHandler::TaskCallback()+0x350
  pc 0x0000000103c9201d fp 0x000070000e980ea0 dart::ThreadPool::Worker::Loop()+0x3d
  pc 0x0000000103c91e50 fp 0x000070000e980ed0 dart::ThreadPool::Worker::Main(unsigned long)+0x70
  pc 0x0000000103bfb6d1 fp 0x000070000e980f10 dart::ThreadStart(void*)+0x61
  pc 0x00007fff6b3bf2eb fp 0x000070000e980f30 _pthread_body+0x7e
  pc 0x00007fff6b3c2249 fp 0x000070000e980f50 _pthread_start+0x42
  pc 0x00007fff6b3be40d fp 0x000070000e980f78 thread_start+0xd
-- End of DumpStackTrace
Abort trap: 6

The crash can be reproduced by running the following program with --observe:
import 'dart:io';
import 'dart:developer';
import 'dart:isolate';
import 'package:vm_service/vm_service.dart' as vm_service;
import 'package:vm_service/vm_service_io.dart' as vm_service;

void foo() { }

void bar(Function func) { }

void otherMain(dynamic _) {
  stdin.listen((_) {});
}

Future<void> main() async {
  await Isolate.spawn(otherMain, null, debugName: 'test');
  var serviceInfo = await Service.getInfo();
  var vmService = await vm_service
    .vmServiceConnectUri(serviceInfo.serverUri.replace(scheme: 'ws').toString() + 'ws');
  var vm = await vmService.getVM();
  var isolate = vm.isolates.firstWhere((element) => element.name == 'test');
  var scripts = await vmService.getScripts(isolate.id);
  var scriptRef = scripts.scripts.firstWhere((element) => element.uri.contains('example.dart'));
  var script = await vmService.getObject(isolate.id, scriptRef.id) as vm_service.Script;
  var library = await vmService.getObject(isolate.id, script.library.id) as vm_service.Library;
  var fooRef = library.functions.firstWhere((element) => element.name == 'foo');

  // Crash happens here:
  await vmService.invoke(isolate.id, library.id, 'bar', [fooRef.id]);
}

Version info:
Dart VM version: 2.8.0-dev.18.0.flutter-eea9717938 (be) (Wed Apr 1 08:55:31 2020 +0000) on "macos_x64"

@bkonyi

We hit this crash because a Function isn't a subtype of Instance so it's not a valid argument (we actually assert on this in debug mode). This should be returning an invalid parameter error instead of crashing.
As far as I can tell, there's no way to get an Instance or Closure from a Function directly that wouldn't involve evaluating or inspecting a variable with a tear-off. @rmacnak-google is this a hole in the protocol or am I just missing something?

I was actually able to get an instance Id using the classRef on the Func object - though it still crashes. The following returns seemingly valid identifiers before crashing at the same spot:
import 'dart:io';
import 'dart:developer';
import 'dart:isolate';
import 'package:vm_service/vm_service.dart' as vm_service;
import 'package:vm_service/vm_service_io.dart' as vm_service;

void foo() { }

void bar(Function func) { }

void otherMain(dynamic _) {
  stdin.listen((_) {});
}

Future<void> main() async {
  await Isolate.spawn(otherMain, null, debugName: 'test');
  var serviceInfo = await Service.getInfo();
  var vmService = await vm_service
    .vmServiceConnectUri(serviceInfo.serverUri.replace(scheme: 'ws').toString() + 'ws');
  var vm = await vmService.getVM();
  var isolate = vm.isolates.firstWhere((element) => element.name == 'test');
  var scripts = await vmService.getScripts(isolate.id);
  var scriptRef = scripts.scripts.firstWhere((element) => element.uri.contains('example.dart'));
  var script = await vmService.getObject(isolate.id, scriptRef.id) as vm_service.Script;
  var library = await vmService.getObject(isolate.id, script.library.id) as vm_service.Library;
  var fooRef = library.functions.firstWhere((element) => element.name == 'foo');
  var foo = await vmService.getObject(isolate.id, fooRef.id) as vm_service.Func;
  var instances = await vmService.getInstances(isolate.id, foo.classRef.id, 1);
  var instance = instances.instances.first;
  print(instance.id);

  // Crash happens here:
  await vmService.invoke(isolate.id, library.id, 'bar', [instance.id]);
}

Unfortunately, what the VM service calls a function does not correspond to what dart:core calls a Function. A dart:core Function is called a closure in the VM service. Currently the only way in the VM service that you could produce a static closure given only the name is eval. In your example, this would be library.evalute("foo").
invoke and evaluate check that the receiver is a proper instance, but they are lacking these checks for arguments.
One of the mistakes in the Dart language is it does not have a uniform selector space and instead has four types invocation: regular, getter, setter and constructor (and once there was also a distinct closurization invocation). The burden of distinguishing between these repeats in the compilers, VM C API, mirrors and the VM service. The VM service only provides for regular invocations, but probably it should provide all four. If so, you could write library.invokeGetter("foo").
The VM service could also provide a closurization operator that could take a function and produce closure, but it has lots extra edges cases like specifying the receiver for instances closures, rejecting closurization for local functions and various synthetic dispatcher functions the VM creates, so completing the invoke/invokeGetter/invokeSetter/invokeConstructor set seems preferable.


CLI tool crashes when using Vanilla JavaScript

Describe the bug
I am using MikroORM with Vanilla JS, Express and SQLite and I am getting errors when trying to create a database schema.
Stack trace
[discovery] ORM entity discovery started, using ReflectMetadataProvider
[discovery] - processing 2 files
[discovery] - processing entity BaseEntity (/home/polycorn/WebstormProjects/js-sqlite-mikroorm/entities/BaseEntity.js)
[discovery] - processing entity Service (/home/polycorn/WebstormProjects/js-sqlite-mikroorm/entities/Service.js)
mikro-orm schema:create

Create database schema based on current metadata

Options:
  -r, --run      Runs queries                                          [boolean]
  -d, --dump     Dumps all queries to console                          [boolean]
  --fk-checks    Do not skip foreign key checks                        [boolean]
  -v, --version  Show version number                                   [boolean]
  -h, --help     Show help                                             [boolean]

MetadataError: Only abstract entities were discovered, maybe you forgot to use @Entity() decorator?
    at Function.onlyAbstractEntitiesDiscovered (/usr/lib/node_modules/@mikro-orm/cli/node_modules/@mikro-orm/core/errors.js:148:16)
    at MetadataValidator.validateDiscovered (/usr/lib/node_modules/@mikro-orm/cli/node_modules/@mikro-orm/core/metadata/MetadataValidator.js:44:42)
    at MetadataDiscovery.findEntities (/usr/lib/node_modules/@mikro-orm/cli/node_modules/@mikro-orm/core/metadata/MetadataDiscovery.js:81:24)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async MetadataDiscovery.discover (/usr/lib/node_modules/@mikro-orm/cli/node_modules/@mikro-orm/core/metadata/MetadataDiscovery.js:34:9)
    at async Function.init (/usr/lib/node_modules/@mikro-orm/cli/node_modules/@mikro-orm/core/MikroORM.js:42:24)
    at async Function.handleSchemaCommand (/usr/lib/node_modules/@mikro-orm/cli/commands/SchemaCommandFactory.js:65:21) {
  entity: undefined
}

To Reproduce
Steps to reproduce the behavior:

Run mikro-orm schema:create with the -d or -r flag

Expected behavior
MikroORM generates a database schema
Additional context
If it helps, here's a watered down repo
Versions

Dependency
Version

node
v16.6.1

typescript
nope

mikro-orm
4.5.7

your-driver
sqlite

I finally figured it out!
I solved the issue by uninstalling the global CLI tool and replacing it by local installation. Then running the command through npx.


service-fabric on Fedora

I am following the linux installation tutorial for service fabric at this link: https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-get-started-linux
Unfortunately I see that Fedora is not supported at the moment. Fedora is quite popular among developers, and is pretty similar to RHEL (which you already seem to support). I tried to bluntly install the RHEL packages on Fedora 29, but I get some dependency problems (as expected)
As an alternative, I understand that there should exist a docker container named service-fabric-onebox which should work as long as I have docker, but I can't find it anywhere.
For reference, here's the error I currently get by forcing the RHEL package to install on Fedora 29:
[michele@michele-macbook servicefabric]$ sudo dnf install servicefabric_<IP_ADDRESS>.rpm
Last metadata expiration check: 0:16:00 ago on Fri 12 Jul 2019 16:50:29 CEST.
Error:
 Problem: conflicting requests
  - nothing provides libicuuc.so.50()(64bit) needed by servicefabric-<IP_ADDRESS>-1.x86_64
(try to add '--skip-broken' to skip uninstallable packages)

Compiling seems like it takes a lot of time according to the documentation. Is there a quick way to get around this?

As you may have noticed the installation conflict you were hitting was related to the base lib dependencies expected on the machine for the code to function, which would require changes to the dependency reeling process at the runtime drop & cmake levels.
Despite Fedora nor RHEL being on our current engineering roadmap it is possible to make this work by rebuilding the product with Fedora-based libs as dependencies, and we encourage the community to build a fork of the repo, run experiments, and contribute back.


Vim installation issue on Windows

Summary
I use Windows 10 to set up Ubuntu and Java. During the set up of Vim, I followed the guide closely, but encountered a series of issues.
Description
(1) The guide said that Windows users can set up Vim in your Ubuntu environment, OR install it locally. However, no guide is provided about “how to set up Vim in your Ubuntu environment”. Furthermore, I am also deeply confused about how both choices will this affect our usage of Vim. How should I use Vim if I install it locally, and how if in Ubuntu environment?
(2) Since I cannot find the guide to set up Vim in Ubuntu environment, I proceeded to download it locally. However, it shows “vim is not recognised as an internal or external command” when I type "vim -version" in the Command Prompt. I saw in GitHub that I should add vim to PATH, but how should I add it, and what should I type?
(3) I saw at the start of Vim local installation guide that we are supposed to get the .vimrc file. But when I clicked the link, it is a GitHub page. Searching online, I tried to click “raw” then right click on the webpage shown to download the file. However, the saved file become a txt, and no longer .vimrc file. May I know how this can be resolved?
(4) The wiki page about "set  up checkstyle" gives the instruction that after downloading 2 files, we should "Make sure you place these 2 files in the same directory as your java files". But where should we place the java files? Do we need to copy and paste these 2 files every time we copy our java files to a new place?

I know I replied your email, but for anyone else reading this, the wiki has the information for setting up ubuntu in windows (https://github.com/nus-cs2030/2021-s2/wiki/Setting-Up-Unix-For-Windows)

Hi, you should be able to set up vim in your WSL's Ubuntu by opening up your Ubuntu terminal (not windows cmd.exe) and type the following command:
sudo apt install vim
After that use:
vim ~/.vimrc
to open an empty text file called .vimrc in your vim editor.
Copy and paste the configs from github over.


opshin: 0.21.2 -> 0.22.0

Description of changes
Bump opshin and required dependencies. Fixed homepage link for uplc package. Tested opshin compiler manually

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 331332 run on x86_64-linux 1

42 packages built:

datalad
datalad.dist
opshin
opshin.dist
portmod
portmod.dist
python311Packages.baron
python311Packages.baron.dist
python311Packages.citeproc-py
python311Packages.citeproc-py.dist
python311Packages.duecredit
python311Packages.duecredit.dist
python311Packages.heudiconv
python311Packages.heudiconv.dist
python311Packages.pluthon
python311Packages.pluthon.dist
python311Packages.redbaron
python311Packages.redbaron.dist
python311Packages.rnc2rng
python311Packages.rnc2rng.dist
python311Packages.rply
python311Packages.rply.dist
python311Packages.uplc
python311Packages.uplc.dist
python312Packages.baron
python312Packages.baron.dist
python312Packages.citeproc-py
python312Packages.citeproc-py.dist
python312Packages.duecredit
python312Packages.duecredit.dist
python312Packages.heudiconv
python312Packages.heudiconv.dist
python312Packages.pluthon
python312Packages.pluthon.dist
python312Packages.redbaron
python312Packages.redbaron.dist
python312Packages.rnc2rng
python312Packages.rnc2rng.dist
python312Packages.rply
python312Packages.rply.dist
python312Packages.uplc
python312Packages.uplc.dist

portmod broken on master https://hydra.nixos.org/build/269566211


Relocate or redirect sleep function?

Currently it exists as
Process.sleep : Time -> Task x ()

It's not obvious to find there:

A user was looking for this functionality but could not find it.
The same user would have found it if it had lived in the Time or Task modules.

Other considerations:

In the .NET world, this functionality is known as Task.Delay.
The rest of the Process module is about processes created with, or possessing, a ProcessId, but sleep does not take one of those.
The documentation of the function says that "progress on the current process" is blocked. It's not very clear what that "current process" is if the user has not spawned their own process. What would probably be clearer would be to say that the "process the task returned by that function is running in" is blocked. Which amounts to saying that "the task returned by this function" sleeps for a while. No need to bring "process" into the picture. That's an argument for this being a better fit for the Task module.
Nowhere in the current documentation is it said that when a Task is performed it becomes a little process. Specifically, neither the documentation page for Task, nor the guide's page on tasks linked from there contain the word "process" even once. So how could a user who wants to add a delay in a task chain ever guess that the Process module is relevant (i.e., that they may find the sought functionality there)?

My proposal is to move this function to the Task module:
Task.sleep : Time -> Task x ()

Secondary proposals could be to not relocate it, but use redirections instead:

defining Task.sleep = Process.sleep
and/or Time.sleep = Process.sleep

But I don't think having the function live in different modules is necessary. Why would a user who knows they are looking for a function of type Time -> Task x () be able to find it in module Time and/or in module Process, but not in module Task? The functionality is clearly "time"- and "task"-related, but not so obviously "process"-related.

Added to #322


Problem with syntax highlight

Something wrong with the syntax highlight:

the angweight(ith, iphi) messed the syntax highlighting for the rest of the codes. If I delete the spaces on both sides of the "*" before the angweight(ith, iphi), then it works just fine (or adding a parentheses to wrap up the angweight also fix the problem)

Thank you for the report, i'll take a look at it.
Could you type here those do loops so i can paste it in my editor and reproduce the error to debug it?

The reason i ask you to paste the code here is that i've tryed to type it and as you can see i could not reproduce the error you are getting:

@pedro-ricardo
Hi, that's really weird, cause I typed it myself, it works just fine as well. I don't know what to do, sry.

Well, maybe it is not caused by that code part it self but the interaction of it with something before in your file.
Could you email me the file where the error happens?
If you can't do that but still wanna help l can guide you through some tests to help us find the error.
Please Let me know.

I don't think the issue is caused by the parts before it, because same problem appeared in a lot of places in the file, the fastest way to fix it I found yesterday was to add a space for the argument before the one that caused the problem.
But of course, please help me with some guidances of test to find the error, I would be happy to do so.

Ok, then. The first thing i need you to do is to check the version of Modern Fortran extension you are using. It should be 1.3.1 like the picture below:

If that is correct I need you to:

Create a blank fortran file "test.f90"
In your file (with the error happening), copy those 4 DO loops and paste them on "test.f90"
Can you see the error?

Yes: Paste that in a comment here or send it by e-mail for me to debug that "test.f90"
No: Keep reading...

Clean the file "test.f90"
Back to you file, copy the next code part that embraces those loops. For example if there is an ifblock that starts before and ends after the loops, copy the whole block. Paste it on "test.f90".
Can you see the error?

Yes: Paste here or send me to debug that "test.f90"
No: Keep reading...

Repeat the cleaning / copy / paste / check steps until you see the error in "test.f90"
If the only way you can see the error happening in "test.f90" is to copy your whole file in it, then i'm sorry but the only way i can fix it is if i have access to the file, as you didn't send it before i assume that  you can't do that, and i'm out of ideas.

Any news on this @liaoj12 ?

Unfortunately, I tried your way but still no errors come up.
However, since all my files are in ".f" format, I'm not sure if that caused the issue. I wish I could do it again, but since all the files are written in fix-format style, it will take me so much time to just try to fix it to match the free-format style, so I won't be able to do that for right now.
Sorry about it.

No problem, I hope it could help.

Got it @liaoj12 but it does not appear to be a problem in the extension but a problem with the way you typed it and the fix-format standards.
The extension for .f files folows the Fortran77 standards for fix-format style. that means:

Col. 1    : Blank, or a "c" or "*" for comments
Col. 1-5  : Statement label (optional)
Col. 6    : Continuation of previous line (optional)
Col. 7-72 : Statements

In your file, as in the picture below:

The above highlighted h is the 72nd character. Therefore beyond that point the code should be ignored (last rule from fix-format standards) and the extension marks it as a comment (grey or green in my case).
That said the highlight fails beyond that point because from that line forward an end bracket ) is missing in the code.

From the picture above, you see that the syntax highlighting works fine, but the "i" in "iphi" of angweight is at COL73 already!!!

The rule written here will get the 73rd character, if that is a separator one (say space, comma, etc) then the characters beyond that point will be commented.
It means it is kind-of flexible ... if you want keep programming beyond that 72 limit than make sure that the 73nd character is not some sort of separator.
Try it yourself, go to the Wavefnstone line and add an space at 73rd character (just before m2) and see it getting commented, the ) will be missing and the highlight will fail from that point onward.
Now i undersand what your error was, and i hope it is clear to you as well.
But ... What is the fix you need me to do?
In your opinion the highlight should be more rigid to the 72nd character? Be aware that this will ruin your current code, since you go beyond that point in several lines.


[Bitwarden Vault] Self hosted Bitwarden

Extension – Bitwarden Vault
Author:
Hello I would like to use a self hosted instance of Bitwarden, using a custom domain. Is that feasible? I don't see a place to add the custom domain here.
Thanks.

I managed to find the option inside extension settings but i would advice to write a couple of lines more in the readme on how to do it.
Thanks


Clarified and documented Weave NPC packet drops.

Added documentation to explain Weave's behaviour when used together with Kubernetes and Weave NPC, and to explain what a "Connection dropped by Weave NPC" message means.
Created a bit.ly short URL for it: http://bit.ly/2eNRyDF
Added the short URL to the log message to help users diagnose their setup.

Fixes #2546.

Closing PR, since it was agreed not short URL should be added to the logs.
See also: PR #2573.


0ggy

pkg update
pkg upgeret
python install
python istall 2
pip install rqwest
pip install
https://github.com/pypa/pipeenv/issues/5234>irfan
cdirfan5230
irfan 2006
Thank you for contributing to Pipenv!
The issue
What is the thing you want to fix? Is it associated with an issue on GitHub? Please mention it.
Always consider opening an issue first to describe your problem, so we can discuss what is the best way to amend it.  Note that if you do not describe the goal of this change or link to a related issue, the maintainers may close the PR without further review.
If your pull request makes a non-insignificant change to Pipenv, such as the user interface or intended functionality, please file a PEEP.
https://github.com/pypa/pipenv/blob/master/peeps/PEEP-000.md

The fix
How does this pull request fix your problem? Did you consider any alternatives? Why is this the best solution, in your opinion?
The checklist

[ ] Associated issue
[ ] A news fragment in the news/ directory to describe this fix with the extension .bugfix.rst, .feature.rst, .behavior.rst, .doc.rst. .vendor.rst. or .trivial.rst (this will appear in the release changelog). Use semantic line breaks and name the file after the issue number or the PR #.

@asifirfan1 I don't understand what you are trying to do.