Commit composer.lock to repository

This is not a library and most of the changes relates to specific package versions/commits so commit composer.lock, package-lock.json and yarn.lock would be ok

We don't need package-lock.json and yarn.lock anymore since foxy was replaced with asset-packagist in demo and app.

It's alright to have it.

Well, that foxy needs some polishing .. cannot make work composer update, cannot downgrade PHP below 8.0 :-|
Using phar composer 2.2.5 (latest).
......
  - Locking yiisoft/yii-http (1.0.0)
  - Locking yiisoft/yii-middleware (dev-master 38ad72a)
  - Locking yiisoft/yii-runner (1.0.0)
  - Locking yiisoft/yii-runner-console (1.0.0)
  - Locking yiisoft/yii-runner-http (1.0.0)
  - Locking yiisoft/yii-swagger (1.1.0)
  - Locking yiisoft/yii-view (4.0.2)
  - Locking yosymfony/resource-watcher (v2.0.1)
  - Locking zircote/swagger-php (4.2.4)
Writing lock file
Installing dependencies from lock file (including require-dev)

Fatal error: Uncaught TypeError: Composer\Package\Locker::__construct(): Argument #3 ($installationManager) must be of type Composer\Installer\InstallationManager, Composer\Repository\RepositoryManager given, called in D:\_projects\yii3\yii-demo\vendor\foxy\foxy\Util\LockerUtil.php on line 41 and defined in phar://D:/_projects/composer-2.2.5.phar/src/Composer/Package/Locker.php:63
Stack trace:
#0 D:\_projects\yii3\yii-demo\vendor\foxy\foxy\Util\LockerUtil.php(41): Composer\Package\Locker->__construct(Object(Composer\IO\ConsoleIO), Object(Composer\Json\JsonFile), Object(Composer\Repository\RepositoryManager), Object(Composer\Installer\InstallationManager), '{\n    "name": "...')
#1 D:\_projects\yii3\yii-demo\vendor\foxy\foxy\Fallback\ComposerFallback.php(101): Foxy\Util\LockerUtil::getLocker(Object(Composer\IO\ConsoleIO), Object(Composer\Repository\RepositoryManager), Object(Composer\Installer\InstallationManager), './composer.json')
#2 D:\_projects\yii3\yii-demo\vendor\foxy\foxy\Foxy.php(179): Foxy\Fallback\ComposerFallback->save()
#3 [internal function]: Foxy\Foxy->init(Object(Composer\Installer\InstallerEvent))
#4 phar://D:/_projects/composer-2.2.5.phar/src/Composer/EventDispatcher/EventDispatcher.php(192): call_user_func(Array, Object(Composer\Installer\InstallerEvent))
#5 phar://D:/_projects/composer-2.2.5.phar/src/Composer/EventDispatcher/EventDispatcher.php(152): Composer\EventDispatcher\EventDispatcher->doDispatch(Object(Composer\Installer\InstallerEvent))
#6 phar://D:/_projects/composer-2.2.5.phar/src/Composer/Installer.php(714): Composer\EventDispatcher\EventDispatcher->dispatchInstallerEvent('pre-operations-...', true, true, Object(Composer\DependencyResolver\LocalRepoTransaction))
#7 phar://D:/_projects/composer-2.2.5.phar/src/Composer/Installer.php(583): Composer\Installer->doInstall(Object(Composer\Repository\InstalledFilesystemRepository), true)
#8 phar://D:/_projects/composer-2.2.5.phar/src/Composer/Installer.php(279): Composer\Installer->doUpdate(Object(Composer\Repository\InstalledFilesystemRepository), true)
#9 phar://D:/_projects/composer-2.2.5.phar/src/Composer/Command/InstallCommand.php(139): Composer\Installer->run()
#10 phar://D:/_projects/composer-2.2.5.phar/vendor/symfony/console/Command/Command.php(245): Composer\Command\InstallCommand->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#11 phar://D:/_projects/composer-2.2.5.phar/vendor/symfony/console/Application.php(835): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#12 phar://D:/_projects/composer-2.2.5.phar/vendor/symfony/console/Application.php(185): Symfony\Component\Console\Application->doRunCommand(Object(Composer\Command\InstallCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#13 phar://D:/_projects/composer-2.2.5.phar/src/Composer/Console/Application.php(336): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#14 phar://D:/_projects/composer-2.2.5.phar/vendor/symfony/console/Application.php(117): Composer\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#15 phar://D:/_projects/composer-2.2.5.phar/src/Composer/Console/Application.php(131): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#16 phar://D:/_projects/composer-2.2.5.phar/bin/composer(83): Composer\Console\Application->run()
#17 D:\_projects\composer-2.2.5.phar(29): require('phar://D:/_proj...')
#18 {main}
  thrown in phar://D:/_projects/composer-2.2.5.phar/src/Composer/Package/Locker.php on line 63

@lubosdz maybe foxy/foxy don't support composer 2.2?
Try composer 2.1.

So it worked finally with composer 2.0.14 (probably 2.0.X branch) - with warnings not supported version of composer, PHP.
Configured CLI PHP path to 8.0.13.
Installing 125 installs, 87 updates, 25 removals.
Crash yii-console has unpushed changes ...
Deleted again whole vendor directory and ran composer install.
Installing 222 installs, 0 updates, 0 removals.
Now it worked.
Another exception - required PHP >= 8.0.2 for HTTP requests.
OK, switched WAMP to 8.0.13.
Next exception .env invalid path.
OK - created .env file from env.example. IMO .env file should not be required, but assume default DEVEL settings if not found.
Next exception Class "Cycle\Database\Config\SQLiteDriverConfig" not found  in yii-demo\config\params.php in line 153:
I gave up, file is missing in repo, cannot make running yii3 demo :-(
Few notes:

222 dependencies for Yii3 demo is really a lot. Symfony sample app has 131 installs, laravel 110 installs.
each dependency maintained by third party may potentially become issue over time, if becomes unmaintained or is not updated synchronically with framework updates. For example currently foxy/foxy does not support PHP 8.1 and that limits maximum used PHP version for ALL packages. Therefore third party packages should be reduced to absolute minimum and/or somehow confirmed by maintainers that they will be able to maintain if necessary for framework purpose. I am aware that it is idealistic, but don't know any better how to ensure that thousands of projects depending framework will not be jeopartized by a single package. It may not be easy to switch to alternative package for many projects. This issue applies mainly to a single open source maintainers, probably not 3rd party framework packages.
installing demo app should be smooth experience, or it creates barrier to other developers willing to test & contribute to development.
i still think increasing min. PHP version to 8.0 (8.0.2) has heavily limited targetted developers. PHP 7.4 could be sufficient targeting much wider community. Don't create tool for a few developers crazy about few newest features, create tool for widest community.
yii3 is missing something like "marketing gists" - meaning provide answers such as how will it differ from symfony and laravel, what advantages will it have or why should I invest my time to studying Yii3 and not use laravel/symfony with existing huge community and documentation. Yii3 core developers should also consult with less experienced developers on their opinion to understand whether Yii3 will be easy to learn. To me it seems overengineered with high learning curve - so answering those questions may be the interest of many others.

Thanks for feedback, @lubosdz.
I've re-tested starting from scratch:
git clone git@github.com:yiisoft/demo.git
cd demo
composer install
./yii serve

Then opened http://localhost:8080/ and got a working demo.
Things to be improved:

Yii3 could be installed with Composer 2 only since version 1 doesn't see many of it's packages at all (that was announced by Composer team wheny they've deprecated version 1). I don't think we can improve it but mentioning it is a good idea.
During composer install it asks for trusting plugins. That could be part of composer.json so it installs right away.
Dependencies should be reviewed, indeed. While Yii 3 is divided into many packages, removing unnecessary onces is a good idea.
PHP 8 is already 34% of all PHP installations and is going up. I assume that it will increase soon and that older PHP versions are used in legacy projects while new ones are started with new PHP versions.
 But overall:

It is less magic. It is, actually, quite strict in practices used.
It has nearly 100% test/type coverage.
It it leveraging and implementing PSRs.
It suits projects of any sizes and any architectures.
No vendor lock. It is wide open to PHP community in general.
Suits TDD and unit-testing well.
Aids you during debug with great error screen, logs, friendly exceptions etc.
Code you write is the code executed. No pre-generation is involved.

@samdark
Thank you for feedback.
Yes, trusted plugins should be directly committed to composer file and unnecessary packages removed.
I re-tested demo site once again today on another computer - following exact steps you wrote above.
And yes - it worked now - but partially.
No missing Cycle config file anymore.
The difference I see:

you served HTTP requests via ./yii serve . I use common WAMP server, no virtual hosts. Seems homeUrl is not calculated correctly for WAMP (or any local server on port 80). Site loaded fine when I accessed via http://localhost:8080/, but not when accessed via standard URL http://localhost/yii3/demo/public/.

I may try to debug & supply PR if I have more time, unless won't be fixed till then.

Yes, that's known thing. Currently there's no support for subdirectories out of the box and it should be added via https://github.com/yiisoft/yii-middleware/blob/master/src/SubFolder.php. Maybe we should have it by default...


Fix close a nil chan err

If docker exec to a container, and then kill the runtime's shim process,it will lead to close a nil chan in Supervisor' execExit interface.
why ?

what I do ?
split getDeleteExecSyncMap to getExecSyncMap and deleteExecSyncMap to make sure delete operation come after the chan's close.
how to reproduce ?
following the steps below, the problem can reproduced every time.
first run a container,
docker run -ti busybox ash

secondly docker exec to the container,
docker exec -ti d2a397b12d19 ash

then the kill the runtime's shim proccess,
 ps -eaf|grep shim
root      1180  1173  1 19:27 ?        00:00:00 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --shim docker-containerd-shim --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --runtime docker-runc --metrics-interval=0
root      1387  1180  1 19:28 ?        00:00:00 docker-containerd-shim d2a397b12d19113bb48284a451095b24d646d1941bd28d6d97cb886571327c73 /var/run/docker/libcontainerd/d2a397b12d19113bb48284a451095b24d646d1941bd28d6d97cb886571327c73 docker-runc
root      1552  1180  2 19:28 ?        00:00:00 docker-containerd-shim d2a397b12d19113bb48284a451095b24d646d1941bd28d6d97cb886571327c73 /var/run/docker/libcontainerd/d2a397b12d19113bb48284a451095b24d646d1941bd28d6d97cb886571327c73 docker-runc
root      1611  8696  0 19:28 pts/4    00:00:00 grep --color=auto shim
V2R1C00-GUESTOS-VS-VMWARE-X64:~/workspace/docker-bin # kill -9 1387

and you will see the panic info from containerd like this,
panic: close of nil channel

goroutine 146 [running]:
panic(0x90a8c0, 0xc8204f4d90)
        /usr/local/go/src/runtime/panic.go:481 +0x3e6
github.com/docker/containerd/supervisor.(*Supervisor).execExit.func1(0xc820143450, 0xc8201a2f70, 0x0)
        /root/workspace/go/src/github.com/docker/containerd/supervisor/exit.go:95 +0x11d
created by github.com/docker/containerd/supervisor.(*Supervisor).execExit
        /root/workspace/go/src/github.com/docker/containerd/supervisor/exit.go:96 +0x2bf

Signed-off-by: yangshukui<EMAIL_ADDRESS>

LGTM


Capsule Collider FIXED!

I'm too lazy to fork this and fix it BUT I just figured out how to fix the capsule collider movement.
SurfPhysics.cs
public static void GetCapsulePoints (CapsuleCollider capc, Vector3 origin, out Vector3 p1, out Vector3 p2)
{
    var distanceToPoints = capc.height / 2f /*- capc.radius*/;

    p1 = origin + capc.center + Vector3.up * distanceToPoints;

    p2 = origin + capc.center - Vector3.up * distanceToPoints;

}
Removing - capc.radius fixes it.
Hopefully this helps someone.

Does this fix movement on stairs?

Does this fix movement on stairs?

Hey! Just found that myself, wanted to post here, but been too late) Also, I'm having a bug with jumping. Still Can't figure it out. After first jump collider starts hovering above the ground slightly. With step offset turned on I can climb a step and collider sits normally, but if I then jump and land on that step - same hovering occures. Do you have any ideas, why?

Also, it seems crouching stops working after this fix. Or maybe I messed something up with my earlier changes.

Fixed crouching. Simplified code.
SurfController.cs:
this statement is unneccessary:
if (_surfer.collider.GetType () == typeof (BoxCollider))
instead after  'else if (crouching)' use:
            // Check if the player can uncrouch
            bool canUncrouch = true;

            Vector3 startPos = _surfer.moveData.origin;
            Vector3 endPos = _surfer.moveData.origin + (uncrouchDown ? Vector3.down : Vector3.up) * heightDifference;

            Trace trace = Tracer.TraceCollider(_surfer.collider, startPos, endPos, SurfPhysics.groundLayerMask);

            if (trace.hitCollider != null)
                canUncrouch = false;

@DiVoidation : Did you ever figure out how to fix this "slightly above the ground" issue? It's driving me CRAZY!!!!!!!!


Update pdepend

Fixes #355

I guess commit https://github.com/pdepend/pdepend/commit/c9085ee5667466f5ac5a774dfc17e7befda86495#diff-b5d0ee8c97c7abd7e3fa29b9a27d1780 solved the problem.
Using the caret ^ operator is better, too.
Thanks!

Exactly.
Thank you for quick response!
Any chances for 2.4.3 release with this fix?

@manuelpichler do you see any obstacle for releasing a 2.4.3 (except for your precious time of course)? It would be a tiny release, though.

Any news ? :)


chore: fix panic due to incorrect logging

The previous way of logging is causing a panic:

{"level":"dpanic","ts":"2024-05-16T04:28:59Z","logger":"controllers.statusreport","caller":"statusreport/statusreport_adapter.go:134","msg":"odd number of arguments passed as key-value pairs for logging","snapshot":{"name":"integ-app-xuce-hdngm","namespace":"stat-rep-kxmp-tenant"},"application":"stat-rep-kxmp-tenant/integ-app-xuce","ignored key":2,"stacktrace":"github.com/konflux-ci/integration-service/internal/controller/statusreport.(*Adapter).EnsureSnapshotFinishedAllTests

as seen in our controller logs as part of a CI job.

This commit modifies the log.info() to take in a single string instead, and no key-value pairs.

Maintainers will complete the following section

[ ] Commit messages are descriptive enough (hints)
[ ] Code coverage from testing does not decrease and new code is covered (check the PR coverage on codecov)
[ ] Controllers diagrams are updated when PR changes controllers code  (if applicable)

/test integration-service-e2e

We need to rebuild image with the right name, dunno how to trigger it. Closing and reopening works

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

:exclamation: No coverage uploaded for pull request base (main@baf4328). Click here to learn what that means.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #730   +/-   ##
=======================================
  Coverage        ?   73.64%
=======================================
  Files           ?       42
  Lines           ?     4238
  Branches        ?        0
=======================================
  Hits            ?     3121
  Misses          ?      813
  Partials        ?      304

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


 After 10s, docker sends SIGKILL, killing the container and reporting an error in systemd and fleet (CoreOS). This PR adds a trap for SIGTERM, which makes the docker-cleanup stop cleanly with exit code 0. I've only done minimal testing on CoreOS.
This is my first ever PR, so please tell me if I did anything wrong.

Released meltwater/docker-cleanup:1.3.4 with this fix. Thanks for the PR and fix!


Replace id properties with name and use metadata

Pull Request Checklist

Description

Several properties that had id in name are now using name.  Also all resources that belong to a namespace are now using the metadata key to hold both name and namespace attributes.
Related Issue

Fixes #1012.  Contains fixes for #1005 , #1006 and #1008.  This pull request contains the changes in #1010 because this is an extension of the changes in that pull request.
Motivation and Context

Upstream made some massive changes to the data structures for JSON in/out of sensuctl.  These changes should get the sensu2 branch full updated to work with current code for sensu-go.
How Has This Been Tested?

Unit tests only.  The acceptance tests will not work until new RPMs are released.

@portertech @cwjohnston  We need nightly releases of the beta software released so we can automatically test the changes that are happening with sensu-go.

@ghoneycutt as I understand it, an effort to revamp packaging has lead us to turn off nightly builds for the time being. Many of us are advocating for the return of nightly builds, but at this time there's currently no specific timeline for bringing them back.

Added commit to resolve #1014 and one item in #901

Two new commits.  First adds descriptions to properties that were missing now that Sensu docs have all these new things documented.
Second commit adds labels and annotations to all types that didn't already have them and support the new resource metadata.


Fixed some inconsistencies on the application page

Fixed the button style and centred the footer.
@Pinpickle — could you review?

LGTM 👍


Esp doesn't reconnect automatically when wifi connection is lost

Possibly something was broken during last changes in wifi code, or it never worked.

it has never worked for me

This should be the fix: https://github.com/SlimeVR/SlimeVR-Tracker-ESP/commit/85a0f5581f447ebc9a2ff9d3867c7f36e5433e7a


craft item issue

2020-06-24 06:27:12: ERROR[Main]: ModError: Invalid crafting recipe (output="fancy_vend:player_vendor")

thanks for the fixes @OgelGames! Initially i wanted to restructure the code just a bit
but i somehow managed to reorganize the whole thing :yum:


unquoted string for field value is always interpreted as boolean "false", unless the unquoted string is "true"

> insert boolean value=filibuster
> insert boolean value1="filibuster"
> insert boolean value2=aslkdjaklsjd
> insert boolean value3=tryrye
> insert boolean value4=true
> select * from boolean
name: boolean
-------------
time				value	value1		value2	value3	value4
2015-06-18T18:49:37.143564634Z	false
2015-06-18T18:49:56.736602833Z		filibuster
2015-06-18T18:54:37.436111629Z				false
2015-06-18T18:54:44.179786202Z					false
2015-06-18T18:56:49.072791322Z						true

Shouldn't an unquoted string that isn't true or false throw some form of parser error instead? This is a very easy mistake to make and since field types cannot be changed, it means the field is forever a boolean.

This is also an issue with the Java driver: https://github.com/influxdb/influxdb-java/issues/39
Is there some documentation somewhere that shows how different types should be encoded? Also, the server prints a boolean parse error for these in its own logs, so perhaps it could also return an error value if it is not "true" or "false"?
I also had some other similar issues with the encodings such as if my string has spaces in it, the database gives a "bad timestamp" error. My guess is because it uses spaces to identify the timestamp but does not look for the last space but rather first space that comes after field definitions.
So, I am looking for some documentation on how things should be encoded and maybe hoping for some more informative errors :)

Fixed by c97ded.  A parsing error will be returned by the API.
@mukatee See https://github.com/influxdb/influxdb/blob/master/tsdb/README.md


Compose-Up Error Related to authentik.Outpost

Can be tracked and viewed here

https://github.com/goauthentik/authentik/issues/3243#issuecomment-1181789200


Update flyway-core to 8.0.0

Updates org.flywaydb:flyway-core from 6.5.7 to 8.0.0.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.flywaydb", artifactId = "flyway-core" } ]

labels: library-update, semver-major

Superseded by #1531.


Gen 1 Challenge Cup returning error

When Gen 1 CC is done, the following error is showing up in our logs.
TypeError: Cannot read property 'counter' of undefined
at Tools.exports.BattleStatuses.psn.onAfterMoveSelf (/srv/pokemon-showdown/mods/gen1/statuses.js:103:104)
at Tools.Battle.runEvent (/srv/pokemon-showdown/battle-engine.js:2297:38)
at Tools.exports.BattleScripts.runMove (/srv/pokemon-showdown/mods/gen1/scripts.js:118:9)
at Tools.Battle.runDecision (/srv/pokemon-showdown/battle-engine.js:3640:9)
at Tools.Battle.go (/srv/pokemon-showdown/battle-engine.js:3813:9)
at Tools.Battle.commitDecisions (/srv/pokemon-showdown/battle-engine.js:3893:8)
at Tools.Battle.choose (/srv/pokemon-showdown/battle-engine.js:3874:9)
at Tools.Battle.receive (/srv/pokemon-showdown/battle-engine.js:4370:9)
at process. (/srv/pokemon-showdown/battle-engine.js:123:12)
at emitTwo (events.js:87:13)
Additional information:
message = battle-gen1challengecup-77|choose|p2|move 2|12
currentRequest = move
It looks like the counter var might not have been defined for gen 1.

I'm taking a look at this.


FR: Docs / support for serverless and edge SDK

What are you trying to do?
Trying to use Tier in a serverless environment more specifically Cloudflare workers, currently this doesn't seem possible or isn't documented, with the increasing usage of edge runtimes it makes sense to support these out of the box
How should we solve this?
Create another SDK for serverless / edge platforms like Cloudflare workers, or document the current SDK to highlight the environments its supported on with relevant docs (would be happy to help with this if necessary).
What is the impact of not solving this?
Cannot use Tier as I would have to setup alot of infrastructure around supporting this i.e. having to run a node specifically to run the node SDK, managing its security and adds complexity to architecture.
Anything else?
No response

Or, if you prefer:
import { Tier } from<EMAIL_ADDRESS>


Files crashes when i right click on empty area

Description

Steps To Reproduce
right click on empty space in Files
Files crashes
Expected behavior
Files should not crash when right click
Files Version
<IP_ADDRESS>
Windows Version
Window 11 21H2 22000.469
Relevant Assets/Logs

You will need to upload the logs files. You can get them in files settings > about > open log folder.

debug.log
debug_fulltrust.log

@Pratham-Galaxy is this still an issue in v2.1.13?


My fps goes low everytime i play on a server!


SRIOV-DISABLE-ENABLE-PCI failed in Bigger VM size

RHEL 7.7 shows 3 interfaces, and I verified them in the system path. But the run-time did not pick up the eth0 name properly. It looks SR-IOV util script parses out incorrectly.
Mon Oct 14 18:33:38 2019 : VF device upper_eth0 was not found!
[lisa@LISAv2-TwoVM2Host1Dep-juhlee-BZ78-20191014150606-role-0 ~]$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet <IP_ADDRESS>  netmask <IP_ADDRESS>  broadcast <IP_ADDRESS>
inet6 fe80::20d:3aff:fea1:d69c  prefixlen 64  scopeid 0x20
ether 00:0d:3a:a1:d6:9c  txqueuelen 1000  (Ethernet)
RX packets 18394  bytes 26294599 (25.0 MiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 23349  bytes 5639081 (5.3 MiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
eth1: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500
ether 00:0d:3a:a1:d6:9c  txqueuelen 1000  (Ethernet)
RX packets 20822  bytes 23436509 (22.3 MiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 24105  bytes 5690849 (5.4 MiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
inet <IP_ADDRESS>  netmask <IP_ADDRESS>
inet6 ::1  prefixlen 128  scopeid 0x10
loop  txqueuelen 1000  (Local Loopback)
RX packets 64  bytes 5440 (5.3 KiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 64  bytes 5440 (5.3 KiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
[lisa@LISAv2-TwoVM2Host1Dep-juhlee-BZ78-20191014150606-role-0 ~]$
[lisa@LISAv2-TwoVM2Host1Dep-juhlee-BZ78-20191014150606-role-0 ~]$
[lisa@LISAv2-TwoVM2Host1Dep-juhlee-BZ78-20191014150606-role-0 ~]$
[lisa@LISAv2-TwoVM2Host1Dep-juhlee-BZ78-20191014150606-role-0 ~]$ ls /sys/class/net/ | grep -v 'eth0|eth1|lo' | head -1
[lisa@LISAv2-TwoVM2Host1Dep-juhlee-BZ78-20191014150606-role-0 ~]$ ls /sys/class/net/ | grep -v 'eth0|eth1|lo'
[lisa@LISAv2-TwoVM2Host1Dep-juhlee-BZ78-20191014150606-role-0 ~]$ ls /sys/class/net/ | grep -v 'eth0|eth1|lo'
eth0
eth1
lo
[lisa@LISAv2-TwoVM2Host1Dep-juhlee-BZ78-20191014150606-role-0 ~]$ ls /sys/class/net/ | grep -v 'eth0|eth1|lo'ip link show ${synthetic_interface} | grep ether | awk '{print $2}'
[lisa@LISAv2-TwoVM2Host1Dep-juhlee-BZ78-20191014150606-role-0 ~]$ ip link show ${synthetic_interface} | grep ether | awk '{print $2}'\

[lisa@LISAv2-TwoVM2Host1Dep-juhlee-BZ78-20191014150606-role-0 ~]$ ip link show ${synthetic_interface} | grep ether | awk '{print $2}'
00:0d:3a:a1:d6:9c
00:0d:3a:a1:d6:9c

https://github.com/LIS/LISAv2/pull/611


How to handle imbalanced multi-label data?

Hi,
I have a multi-label dataset with extremely imbalanced classes, are there any developed methods in scikit-multilearn working well on this imbalanced data? thanks.

i think that visualizing the data might help you decide which classifier to use, and i guess there is not a classifier that works well with all the datasets
you should try multiple classifiers and use the best one

You can try undersampling, oversampling, or SMOTE to handle imbalanced classes

Sample code for undersampling
from imblearn.under_sampling import RandomUnderSampler
rus = RandomUnderSampler(random_state=0, replacement=True)
rus.fit(X,y)
X_resampled, y_resampled = rus.fit_resample(X, y)


Not working with angular universal

Library fails when used with angular universal because KeyboardEvent isn't definded on server side:
__metadata('design:paramtypes', [KeyboardEvent]),
Then animation parser complains about animations:

The provided :enter is not of a supported format

I got it working with webpack loaders to replace all the stuff that fails on server prepredering, but just to leave this issue here so it can be fixed in the future.

Hi @tmedanovic,
Thanks for reporting. I can change the first issue, but the second is likely due to the Angular version you are running: :enter and :leave are correct states in some of the latest versions.

For those of us who need a workaround, what did you do in webpack Tomislav?

https://github.com/Gbuomprisco/ng2-tag-input/issues/238#issuecomment-285977810


Fix/app startup

I was not able to run the app without errors, these are some quick-fixes. More permission config might be needed for mobile.
The seconds commit is to retry the connection to the coordinator instead of failing in run.
Eventually we might want to communicate errors back to the user instead of just logging... but for now this should do?

LGTM 👍
We might want to separate the connection stuff from this PR and open a dedicated PR for it.

Do we want to do another iteration on the connection handling now? If not I would merge this and we can do another iteration later.

bors r+


Auto opening ads

Hello. We have reports of ads opening by themselves without user clicking on them.
We suspect they might be coming from MobFox.
Will Banner.setDev_js(0) help us in preventing this kind of ads?
Unfortunately we don't have any logs, just some screenshots.
Thanks

Hi, yes it should but you will lose some demand too so your CPM may drop. Worth a try.
This behavior should be blocked as I don't allow modals. If the ad was able to do it on a recent version, I will add a more aggressive setting that is less aggressive then the Banner.setDev_js(0) but should stop this behavior completely. Will try to release an update Sunday/Monday.
Also what is your inventory hash? we can try to scan your demand for this and block it. A log will make it more helpful, but we can try anyway.

Hello and thanks for looking into it.
I have sent the inventory hash to your email. We cannot reproduce it on our side and thus we have no log, sorry. We are also not 100% sure that this is coming from MobFox but as we are working toward sending you more traffic, I would be very happy to have a rock solid disable js feature in the sdk.
Annoying ads drive our users away. Any cpm drop we might see would definitely be better than any user drop.
Thanks!

just make you are using the latest version

Hi, in which days did you send traffic?

Hi. The Ad was shown on 12th August.
We are already using latest version (2.1.2). We'll publish soon an update with 2.1.3 and SetDevJS(0).
Thanks

Hi,
We haven't succeed to find the demand source in these inset however we take a very serious view on these kind of advertisers.
It is highly likely that other publishers will have reported this type of activity and been able to provide logs containing our impression beacons, and we will have blocked it.
Moving forward please provide the ad response of ads which you have an issue with and we will be able to identify and block the advertising in a quick and efficient manner.


Two honest IBFT2 validators add two different blocks with the same height to their respective blockchains.

 The following sequence of events may occur:

v receives a valid <PROPOSAL, h, r, B> message
v sends a valid <PREPARE, h, r, hash(B)> message
v stores locally a valid <COMMIT, h, r, commitSeal(B), hash(B)> message
v receives, from other 2 validators, 2 valid <COMMIT, h, r, commitSeal(B), hash(B)> messages and adds them to the event queue.
The thread handling round timers (controlled by IbftExecutors::timerExecutor) is awakened by the expiry of the round timer for the current round (r) which causes a RoundExpiry event for the current round (r) to be put in the queue after the events for the 2 COMMIT messages sent at the point above.
The thread executing the IBFT state machine (controlled by IbftExecutors::ibftProcessorExecutor) is scheduled and the two COMMIT message events are dequeued. Since the quorum for a network of 4 validators is 3 and the node has stored locally 3 valid COMMIT messages sent by 3 different validators (which includes the one stored at point 3), it adds block B to its local blockchain. This will cause a NewChainHead event to be added to the queue of events, but after the RoundExpiry event
The RoundExpiry event is dequeued and as a consequence of this, a <ROUND-CHANGE, h, r+1, latestPREPAREdCertificate> message for round r+1 is sent

Possible Actual Behaviour of a Network of IBFT2 validators
The possible actual behaviour is exemplified on a network of 4 IBFT2 validators
Assumptions

Network with 4 validators, v1, v2, v3 and v4
quorum = 3
v1 is malicious

Scenario

v1 multicasts a <PROPOSAL, h, 0, B> message
v3 and v4 receive the PROPOSAL message sent by v1. v2 will not receive it.
Each of the v3 and v4 nodes responds with a <PREPARE, h, 0, hash(B)> message and stores a <COMMIT, h, 0, commitSeal(B), hash(B)> message locally
Only v3 receives the PREPARE messages sent at the point above. Since v3 has received a valid PROPOSAL message and 2 valid PREPARE messages for block B, it sends a <COMMIT, h, 0, commitSeal(B), hash(B)> message.
Only v3 is prepared on round 0.
v1, who is malicious, alse sends a <COMMIT, h, 0, commitSeal(B), hash(B)> message.
Only v4 receives the COMMIT messages sent at points 4 and 5 and adds them to its event queue.
The thread handling the round timers for v4 is awakened by the expiry of the round timer for round 0 which causes a RoundExpiry event for the current round (r) to be put in the queue after the events for the 2 COMMIT messages added to the queue at the point above.
The thread executing the IBFT state machine on v4 is scheduled and the COMMIT messages are dequeued before the RoundExpiry event. Since v4 has received 1 PROPOSAL and 3 valid <COMMIT, h, 0, commitSeal(B), hash(B)> messages (one of which is the one that it stored locally when it received a valid PROPOSAL message at point 3), it adds block B to its local blockchain.
v4 deques the RoundExpiry event for round 0 and therefore it multicasts a <ROUND-CHANGE, h, r+1, empty> with an empty prepared certificate as it did not prepare (v4 never received the PREPARE message sent by v3 at point 3).
Also the round timer for node v2 expires and therefore v2 multicasts a <ROUND-CHANGE, r, h, r+1, empty> message with an empty prepared certificate as v2 never received any message for round 0.
v1, who is malicious, also multicasts a <ROUND-CHANGE, h, r+1, empty> message with an empty prepared certificate.
v2, who is the proposer for round 1, receives the ROUND-CHANGE messages sent by v1, v2 and v4.
Since all the ROUND-CHANGE messages sent by v1, v2 and v4 have an empty prepared certificate, v2 does not have any preferred block to propose and it multicasts a <PROPOSAL, h, 0, B2> with B2 different from B.
v1 and v2 respond with a <PREPARE, h, 1, hash(B2)> message.
v1, v2 and v3 receive 2 valid PREPARE messages for round 1 and block B2 and therefore they send a <COMMIT, h, 1, commitSeal(B2), hash(B2)> message.
v2 receives all the COMMIT messages sent at the point above and therefore it adds block B2 to its blockchain at height h.
v4 and v2 end up with two different blocks for the same height h, B and B2 respectively, on their respective blockchains.

Expected Behaviour of a Network of IBFT2 Validators
It should never happen that in a network of 4 IBFT2 validators, out of which only one is malicious, two honest nodes add two different blocks with the same height to their respective blockchains.
How was this bug discovered
This bug was discovered as part of the formal specification and verification of an alternative BFT consensus protocol based on IBFT2.

Fixed by #1575

Is there a link to the formal specification and verification for IBFT2 you are referencing or is it just the whitepaper that was published.


Feature Request: Add the possibility to cast the tts response to media player devices

Since the M5Stack Echo and the ESP32 Box devices have pretty quiet speakers it would be nice to have a feature toggle to cast the voice response the media player devices.
Currently as a workaround the following config can be added to the esphome device config to cast the response to the device.
Where the entity_id is optionally populated from a template select from home assistant.
    - homeassistant.service:
        service: media_player.play_media
        data:
          entity_id: media_player.media_player_entity
          media_content_id: !lambda 'return x;'
          media_content_type: music
          announce: "true"

Features on the esphome device config page:

A feature toggle to turn the casting on/off.
A select list of mediaplayers where the state is not off, unavailable, unknown.
Maybe a feature toggle to mute the esphome device built-in speaker.

While this is definitely an awesome idea (and I'm a complete newbie to ESP32 stuff), shouldn't this be pointed to the HA repository (as it's the one processing the request, generating the response and probably sending it back to the satellite) instead of the satellite firmware repo?


added creation of a single availability group called SQLAG1

Automates Step 3 in the Deployment Guide, Creation of a Single Availability group called SQLAG1

thanks for the feedback, I will change the name of FlipCidr to Convert-CidrtoSubnetMask and resubmit


Add support for CodeLlama prompt

Currently, we do not have prompt style for CodeLlama model(s).
Example:

Quantized models on TheBloke/CodeLlama-70B-Instruct-GGUF
Prompt template

Source: system

  {system_message}<step> Source: user

  {prompt} <step> Source: assistant

any success on getting codellama models to deploy within privategpt with file access?

@carlitosmanuelitos : No luck atm yet.

@carlitosmanuelitos : According to Meta webpage, the prompt looks like this
<s>Source: system

System prompt <step> Source: user

First user query <step> Source: assistant
Model response to first query <step> Source: user

Second user query <step> Source: assistant
Destination: user

I tried to build it with the following code. I got the response but after that it went on to infinite about Ethical consideration and guideline...etc.
The patch looks like this:
private_gpt/components/llm/prompt_helper.py
+class CodeLlamaPromptStyle(AbstractPromptStyle):
+    def _messages_to_prompt(self, messages: Sequence[ChatMessage]) -> str:
+        prompt = "<s>"
+        for message in messages:
+            role = message.role.lower()
+            content = message.content or ""
+            if role == "user":
+                prompt += f"Source: {role}\n\n "
+                prompt += f"{content.strip()}"
+                prompt += " <step> "
+            elif role == "assistant":
+                prompt += f"Source: {role}\n"
+                prompt += f"{content.strip()}"
+                prompt += " <step> "
+            elif role == "system":
+                prompt += f"Source: {role}\n\n"
+                prompt += f"{content.strip()}"
+                prompt += " <step> "
+
+        prompt += "Source: assistant\nDestination: user\n\n "
+        return prompt
+
+    def _completion_to_prompt(self, completion: str) -> str:
+        return self._messages_to_prompt(
+            [ChatMessage(content=completion, role=MessageRole.USER)]
+        )

And CodeLlamaPromptStyle is added to the function get_prompt_style.
private_gpt/settings/settings.py
diff --git a/private_gpt/settings/settings.py b/private_gpt/settings/settings.py
index b4fd3ca..d2aec9d 100644
--- a/private_gpt/settings/settings.py
+++ b/private_gpt/settings/settings.py
@@ -113,14 +113,19 @@ class LocalSettings(BaseModel):
     embedding_hf_model_name: str = Field(
         description="Name of the HuggingFace model to use for embeddings"
     )
-    prompt_style: Literal["default", "llama2", "tag", "mistral", "chatml"] = Field(
+    prompt_style: Literal["default", "llama2", "tag", "mistral", "codellama", "chatml"] = Field(
         "llama2",
         description=(
             "The prompt style to use for the chat engine. "
             "If `default` - use the default prompt style from the llama_index. It should look like `role: message`.\n"
             "If `llama2` - use the llama2 prompt style from the llama_index. Based on `<s>`, `[INST]` and `<<SYS>>`.\n"
             "If `tag` - use the `tag` prompt style. It should look like `<|role|>: message`. \n"
-            "If `mistral` - use the `mistral prompt style. It shoudl look like <s>[INST] {System Prompt} [/INST]</s>[INST] { UserInstructions } [/INST]"
+            "If `mistral` - use the `mistral prompt style. It should look like <s>[INST] {System Prompt} [/INST]</s>[INST] { UserInstructions } [/INST]"
+            "`codellama` - use `codellama` prompt style. `Source: system \
+            {system_message}<step> \
+            Source: user \
+            {prompt} <step> \
+            Source: assistant` \n"
             "`llama2` is the historic behaviour. `default` might work better with your custom models."
         ),
     )

I tried another version where there is \n\n for the role assistant but it is the same result. Something is missing here...
The .json files (config, tokenizer..etc.) are from

https://huggingface.co/codellama/CodeLlama-70b-Instruct-hf

The GGUF files are from:

https://huggingface.co/TheBloke/CodeLlama-70B-Instruct-GGUF


Proof of Concept: Adobe XD plugin for EOS.

Follow this for setting up the plugin.
I would be working on adding:

Auto-complete suggestions.
Showing various options available on each query.
Improving UI.
Improving the code.

The code is not so clean currently. I was trying different things, so some random declarations and assignments might be there, please excuse them. Would clean them up in a subsequent pr.

https://user-images.githubusercontent.com/48902681/109568383-d9460200-7b0c-11eb-8b5e-1a30749dbb1b.mp4

one of the things that should be surely added to this plugin, later on, is the display of the icons upon search.

I tested it and it looks good!
Waiting to see if other's find an issue, otherwise, I will approve it


Rename PiTFT Kernel Package

The PiTFT kernel will install if the user runs apt-get upgrade after adding the repo. Rename the PiTFT kernel to avoid this issue.

Oh dang.  I definitely should have given this more thought.
On Mar 14, 2015 11:56 AM, "Todd Treece"<EMAIL_ADDRESS>wrote:

The PiTFT kernel will install if the user runs apt-get upgrade after
adding the repo. Rename the PiTFT kernel to avoid this issue.
—
Reply to this email directly or view it on GitHub
https://github.com/adafruit/Adafruit-Occidentalis/issues/3.

@brennen me too. I added a warning to the guide until we can rename it.

if this requires a repackage, plz hold for a couple days: @microbuilder has a few requests for extra kernel modules to turn on in the pi kernel for 6lopan support, so we can do both at once?

@ladyada sounds good. I'll add the rename modifications to the PiTFT branch in the Kernel-o-Matic repo on Monday and we can repackage once we have the new modules figured out.

Does this mean we can finally get rid of this ugly thing "Please note, we are still working on Pi 2 support for this screen!" at https://www.adafruit.com/product/1601 ? That would be great because I'm giving a big class in July and I hate to stick with the B+ if screens don't work for Pi2. Thanks

@monroerl  Yes the tutorial is updated for that one, the others are coming soon. its unrelated to this issue which is about package names

Thank you. Now I just need Kali to update to support the screen. I'm giving
a large class on using the Pi as a pent test and forensic tool. I was
thinking about having the class outside to show off the portability of the
Pi using Anker chargers, TFT screens, WiFi dongles and Bluetooth keyboards.
I don't think the convention will allow me to move the whole class outdoors
but it's worth a try. I'll be ordering at least a dozen of each, maybe
twenty to thirty depending on how many people are willing to learn and
shell out the money.
I appreciate and admire your work. Keep it up,
Bob Monroe
On Sun, Mar 15, 2015 at 9:47 AM, ladyada<EMAIL_ADDRESS>wrote:

@monroerl https://github.com/monroerl Yes the tutorial is updated for
that one, the others are coming soon. its unrelated to this issue which is
about package names
—
Reply to this email directly or view it on GitHub
https://github.com/adafruit/Adafruit-Occidentalis/issues/3#issuecomment-81214622
.

still a problem?

I submitted a support request into the folks at Kali about adding TFT to
their next image for the Pi 2. I have discovered an issue with Windows 8.1
not playing well with microSD cards.  I found out from other
bloggers that there is a problem with Windows 8.1 not being able to create
bootable images in Win32DiskImager. That gave me a couple of heart attacks
when I've got RSA coming up in two weeks. I need my microcomputers to work
for the classes I'm giving. So now I'm making all build on other computers.
Thanks for your help.
Bob Monroe
On Mon, Mar 30, 2015 at 4:35 PM, Chris Combs<EMAIL_ADDRESS>wrote:

still a problem?
—
Reply to this email directly or view it on GitHub
https://github.com/adafruit/Adafruit-Occidentalis/issues/3#issuecomment-87904716
.

Is it possible to build the PiTFT support via DKMS?  Where are the kernel src patches?

It probably should be, but at the moment this is all kind of (ok, very) ad hoc and we're using the stuff here to do builds from the source tree here.

Untested, but creating the file:
Package: *
Pin: origin "http://apt.adafruit.com/raspbian/"
Pin-Priority: -10
in /etc/apt/preferences.d/adafruit
may decrease the priority of the adafruit repo, therefore making the other kernel priority higher. For some packages, such as node.js, you may have to override this so it is higher priority than debian's repo.

Any new progress? Last post was 21 FEB

Closing, as we've deactivated apt.adafruit.com and are no longer maintaining a separate kernel build.


job to deploy gke cluster

job to deploy gke cluster
fix test sequence

Create gke:  https://concourse.suse.dev/teams/main/pipelines/prabal-demo-release/jobs/create-k8s-diego-gke-sa/builds/66
Delete GKE: https://concourse.suse.dev/teams/main/pipelines/prabal-demo-release/jobs/deploy-diego-gke-sa/builds/49
Depends on: https://github.com/SUSE/catapult/pull/200

In addition to the comments, could you also share the test pipeline?

yes. It is already in description.


Both tuners in use error message (enhancement)

Could there be a message when both tuners are in use instead of a endless progress spinner?
Same result testing on plexweb and atv4 client using hdhomerun connect.

Yes/No. Normal behavior.
At most I can only show a warning message before user hits the play button. I can't prevent the endless spinner.

That works also thx!
Sent from my iPhone

On Mar 27, 2017, at 6:31 PM, zynine<EMAIL_ADDRESS>wrote:
Yes/No. Normal behavior.
At most I can only show a warning message before user hits the play button. I can't prevent the endless spinner.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

version 1.1


KCL doesn't support negation

The AST supports negation/not (the ! operator) but the tokenizer doesn't. So if you try to negate an expression, the program won't tokenize.
Tackle this after #716 is done.

@paultag  added assert functions so having negation would be dope

Check out #3103 for a proof of concept of negation.

Oh let’s merge that what’s it waiting on

Uh, I didn't make or update tests. I didn't think through the consequences of converting arbitrary things to boolean.

oh okay i think after some tests that would be good! if its not breaking any tests thars a good sign as well!

I can get this over the finish line. But...
What is the the actual way we want to negate?

!foo
not foo
all of the above

Some languages do both, but at difference precedence, which can be really useful for making code easier to read.
By avoiding !, it opens it up for other uses. This is probably a bad idea, but what if it were used as a more concise way to say something is a negative (i.e. hole)?


javascript link act on initial data.

Now that we are initializing widget models with data, we must do more than registering callbacks in initialize, we must also act on the initial data. This is a case where it was missing (javascript link). This fixes the web2 example.

Thanks!


Fixes for TopoBank 0.19.0

Could we take #158 into account here? I have some really large xyz files in production which eat up a lot of resources
but don't make sense, because they are interpreted as image maps with 3 columns.

I will look into #158 - it may be a bigger issue though.


Remove hardcoded anonymous email

I cannot assign the email in the checkout view

This is not a regression caused by this PR, it does not work on main branch either

Just wanted to push the same fix 😄


Mldb 1967 fetch fct refactoring

Je pense qu'il fallait juste renomer la built-in function à fetch, mais garder le type de la user function à fetcher. Genre une instance de la fonction de type fetcher s'appel fetch.

Updated.

I still have access to mldb github, can you please remove me.

@co-dh This repo is public, everyone has read access.

Mich there is a much cleaner way to do it.  Do you mind holding off until I get back?

No problem. As long as it doesn't rot.

It looks like it has rotten. :p


Question about coreset selection

Thank you for sharing your excellent work! I have a question about coreset selection. I noticed that in Algorithm 1, all the samples are re-sorted according to dACS and then reconstituted in the subset. It appears that the coreset selection is dynamic, akin to dropping out some unimportant samples during the training phase (the dropped ones can be reselected). However, some of the comparison methods are static (the dropping is permanent). Is the comparison reasonable?
I'm looking forward to your reply!

Thanks for the question and your interest in our work! We believe that this comparison is reasonable as all the coreset method has the same "coreset data fraction per epoch". Since our target is to improve the training efficiency, the training time reduction is the same across different methods. In addition, previous work [1][2] also adopts a similar adaptive coreset strategy and compares it with other fixed-coreset methods.
[1] Adaptive second order coresets for data-efficient machine learning, ICML 2022
[2] RETRIEVE: Coreset Selection for Efficient and Robust Semi-Supervised Learning, NeurIPS 2021

Thanks for your reply!!

Thanks for your question. Different from the GraNd score proposed in EL2N, the expectation of our ACS is computed on all logits $m \in M$ at a given training time $t$ (It is an average of these gradients instead of the sum). Since we then use $d_{\text{EVS}}$ to approximate it, the analysis still holds. We will correct the expectation equation in our manuscript later to avoid confusion.

Got that! Thanks for the reply!


Including generated files in wheel

Adding generated files (or similar) had been discussed in some issues here, but I didn't find any solution or a workaround.
I want to generate stubs (pyi) for the python extension pyd. I have everything in place, using meson's install_script. The stubs generated correctly. The only thing missing is how to tell mesonpy to add the generated files to the wheel. Currently, the files are not being added even if they are in the install directory before the wheel being generated.
Does anyone have an idea of how I can achieve this?

If you're generating files with custom_target, then adding install: true to it is probably the best way. A bit clumsy, because py.install_sources doesn't accept generated files (we should fix that up). Here is an example of how the same thing is handled in SciPy: https://github.com/scipy/scipy/blob/f2ccfdb578eb7fab9225c2703311becc76f9d0ea/scipy/special/meson.build#L287-L307

I got it working with your code as an example. I needed to copy the pyd file to be relative to the package as it would be in the install dir.
I'll try to share here a minimal repo, or at least the code snippets, for anything else might be interested in it.
Thank you!

For anyone who might be interested, here is my implementation for stubs-generation during install.
subdir('cpp_ext')

python_sources = [
    '__init__.py',
    '__about__.py',
    'cpp_ext.py',
]

python.install_sources(
  python_sources,
  subdir: 'my_package'
)

copy_sources = []
foreach python_source : python_sources
  copy_sources += configure_file(
    input: python_source,
    output: python_source,
    copy: true,
  )
endforeach

stubs = custom_target('stubs',
  output: [
    'my_package',
  ],
  depend_files: copy_sources,
  input: [meson.project_source_root() / '_generate_stubs.py', module],
  command: [python, '@INPUT0@', '@INPUT1@', 'my_package', '--build-dir', meson.current_build_dir(), '-o', '@OUTDIR@'],
  install: true,
  install_dir: python.get_install_dir()
)

import sys
from pathlib import Path
import os
import importlib
import importlib.util
from pybind11_stubgen import *
import argparse
import shutil

def pyd_copy_path(pyd_file, module_path):
    module_path = Path(module_path).resolve()
    target_path = module_path / Path(pyd_file).name
    return target_path

def copy_pyd_to_module_dir(pyd_file, module_path):
    target_path = pyd_copy_path(pyd_file, module_path)
    print(f'Copying {pyd_file} to {target_path}')
    shutil.copy(pyd_file, target_path)
    return target_path

def generate_stubs(module_path, module_name, output_path):
    module_path = Path(module_path).resolve()
    spec = importlib.util.spec_from_file_location(module_name, module_path / '__init__.py')
    if spec is None or spec.loader is None:
        raise ValueError(f'Could not find module {module_name} at {module_path / "__init__.py"}')
    module = importlib.util.module_from_spec(spec)
    sys.modules[module_name] = module
    print(f'Loading module {module_name} from {module_path / "__init__.py"}')
    spec.loader.exec_module(module)

    with DirectoryWalkerGuard(str(output_path)):
        _module = ModuleStubsGenerator(module)
        _module.parse()
        if FunctionSignature.n_fatal_errors() == 0:
            # _module.stub_suffix = sys_args.root_module_suffix
            _module.write_setup_py = False
            _dir = module_name.split('.')[:-1] or ['.']
            _dir = os.path.join(*_dir)
            with DirectoryWalkerGuard(_dir):
                _module.write()

        if FunctionSignature.n_invalid_signatures > 0:
            logger.info('Useful link: Avoiding C++ types in docstrings:')
            logger.info(
                '      https://pybind11.readthedocs.io/en/latest/advanced/misc.html'
                '#avoiding-cpp-types-in-docstrings'
            )

        if FunctionSignature.n_invalid_default_values > 0:
            logger.info('Useful link: Default argument representation:')
            logger.info(
                '      https://pybind11.readthedocs.io/en/latest/advanced/functions.html'
                '#default-arguments-revisited'
            )

        if FunctionSignature.n_fatal_errors() > 0:
            exit(1)

def parse_args(argv=None):
    parser = argparse.ArgumentParser()
    parser.add_argument(
        'pyd_file',
        type=str,
    )
    parser.add_argument(
        'module_name',
        type=str,
    )
    parser.add_argument(
        '--build-dir',
        '-b',
        type=str,
        required=True,
    )
    parser.add_argument(
        '--output-path',
        '-o',
        type=str,
        required=True,
    )
    return parser.parse_args(argv)

if __name__ == '__main__':

    args = parse_args()

    pyd_file = args.pyd_file
    module_name = args.module_name
    build_dir = Path(args.build_dir)
    module_path = build_dir
    output_path = Path(args.output_path)

    print(f'pyd_file: {pyd_file}')
    print(f'module_name: {module_name}')
    print(f'module_path: {module_path}')
    print(f'output_path: {output_path}')

    file_copied = copy_pyd_to_module_dir(
        pyd_file=pyd_file,
        module_path=module_path,
    )

    print('Generating stubs...')
    generate_stubs(module_path, module_name, output_path)
    print('Done generating stubs.')

# Copy the sources manually to the build dir

For this, Meson has fs.copyfile. It also has install and install_dir keywords. It looks like that can simplify your code quite a bit.

@elazarcoh are you still having issues? If so, please open a thread in https://github.com/mesonbuild/meson-python/discussions, and we'd be happy to help you sort everything out.
I am gonna close this issue as this should already be supported.


CLOUDSTACK-9245 - Cannot delete non-attached ACL that contains items

This PR fixes the issue when trying to delete ACL lists which contain item.
It seemed it was not thought of when the ACS project started, when most user were relying on the UI to execute those tasks. Nowadays, with automation all over the place and ACL lists containing hundreds of items, it's very hard to have to delete them 1 by 1 either via the UI. Writing scripts to do so might be a solution, but it would be much simpler to just delete non-attached ACLs with all its items in one go.
Also, destroying a VPC that contains ACL lists was "succeeding", but after that the ACL list/items were messing up:
list networkacls aclid=920d74b6-4d15-454f-b3a6-61e7a6ffd1a4
Error 431: Unable to find VPC associated with acl
{
  "cserrorcode": 4350,
  "errorcode": 431,
  "errortext": "Unable to find VPC associated with acl",
  "uuidList": []
}

So, it also cleans up ACLs when destroying VPCs

Ping @remibergsma @borisroman @michaelandersen
Manual tests:

Deleting attached ACL

ACL with items

Deleting attached ACL

Using cloud-monkey to delete attached ACL

(local) 🐵 > delete networkacllist id=98a50aad-52c4-4196-b71c-c414eb939435

accountid = 0223d070-c0e1-11e5-902d-5254001daa61
cmd = org.apache.cloudstack.api.command.user.network.DeleteNetworkACLListCmd
created = 2016-01-22T09:30:04+0000
jobid = 2b134fd9-a8cf-49e4-96fc-b25b0046ab64
jobprocstatus = 0
jobresult:
success = True
jobresultcode = 0
jobresulttype = object
jobstatus = 1
userid = 0223deab-c0e1-11e5-902d-5254001daa61
(local) 🐵 >

Found and issue when destroying the VPC. Will fix it and update the PR.
(local) 🐵 > delete vpc id=be232d77-495e-4f89-9b89-972db6a2efc5
Error
Async job f5640572-cbfb-4501-96ea-042ca1b0c921 failed
Error 530, Command failed due to Internal Server Error

Problem fixed!
Ping @remibergsma @borisroman

Delete ACL that contains items via Cloud Monkey

(local) 🐵 > delete networkacllist id=e4ade8e1-9e69-489a-8642-b895f730090d

accountid = 795ac80c-c0fc-11e5-902d-5254001daa61
cmd = org.apache.cloudstack.api.command.user.network.DeleteNetworkACLListCmd
created = 2016-01-22T12:11:01+0000
jobid = aa6835e8-efb0-4e27-9191-b6d738b8cf99
jobprocstatus = 0
jobresult:
success = True
jobresultcode = 0
jobresulttype = object
jobstatus = 1
userid = 795ada3a-c0fc-11e5-902d-5254001daa61
(local) 🐵 >

Destroy VPC that has ACL with items via Cloud Monkey

(local) 🐵 > delete vpc id=77338add-a3d4-4c07-8ff3-b37100a8dc28

accountid = 795ac80c-c0fc-11e5-902d-5254001daa61
cmd = org.apache.cloudstack.api.command.user.vpc.DeleteVPCCmd
created = 2016-01-22T12:13:50+0000
jobid = 7cb18193-6d4f-4a0b-afd4-96c25ab7731e
jobprocstatus = 0
jobresult:
success = True
jobresultcode = 0
jobresulttype = object
jobstatus = 1
userid = 795ada3a-c0fc-11e5-902d-5254001daa61
(local) 🐵 >

List ACLs after destroying the VPC

(local) 🐵 > list networkacls
count = 4
networkacl:
id = 7a955f27-c0fc-11e5-902d-5254001daa61
aclid = 7a955664-c0fc-11e5-902d-5254001daa61
action = Allow
cidrlist = <IP_ADDRESS>/0
fordisplay = True
number = 2
protocol = all
state = Active
tags:
traffictype = Egress
================================================================================
id = 7a955aae-c0fc-11e5-902d-5254001daa61
aclid = 7a955664-c0fc-11e5-902d-5254001daa61
action = Allow
cidrlist = <IP_ADDRESS>/0
fordisplay = True
number = 1
protocol = all
state = Active
tags:
traffictype = Ingress
================================================================================
id = 7a9551d2-c0fc-11e5-902d-5254001daa61
aclid = 7a954338-c0fc-11e5-902d-5254001daa61
action = Deny
cidrlist = <IP_ADDRESS>/0
fordisplay = True
number = 2
protocol = all
state = Active
tags:
traffictype = Egress
================================================================================
id = 7a954c65-c0fc-11e5-902d-5254001daa61
aclid = 7a954338-c0fc-11e5-902d-5254001daa61
action = Deny
cidrlist = <IP_ADDRESS>/0
fordisplay = True
number = 1
protocol = all
state = Active
tags:
traffictype = Ingress
(local) 🐵 >

LGTM based on these tests:
nosetests --with-marvin --marvin-config=${marvinCfg} -s -a tags=advanced,required_hardware=true \
component/test_vpc_redundant.py \
component/test_routers_iptables_default_policy.py \
component/test_routers_network_ops.py \
component/test_vpc_router_nics.py \
smoke/test_loadbalance.py \
smoke/test_internal_lb.py \
smoke/test_ssvm.py \
smoke/test_network.py

Result:
Check the password file in the Router VM ... === TestName: test_isolate_network_password_server | Status : SUCCESS ===
ok
Create a redundant VPC with two networks with two VMs in each network ... === TestName: test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL | Status : SUCCESS ===
ok
Create a redundant VPC with two networks with two VMs in each network and check default routes ... === TestName: test_02_redundant_VPC_default_routes | Status : SUCCESS ===
ok
Create a redundant VPC with two networks with two VMs in each network ... === TestName: test_03_create_redundant_VPC_1tier_2VMs_2IPs_2PF_ACL_reboot_routers | Status : SUCCESS ===
ok
Create a redundant VPC with 1 Tier, 1 VM, 1 ACL, 1 PF and test Network GC Nics ... === TestName: test_04_rvpc_network_garbage_collector_nics | Status : SUCCESS ===
ok
Create a redundant VPC with 1 Tier, 1 VM, 1 ACL, 1 PF and test Network GC Nics ... === TestName: test_05_rvpc_multi_tiers | Status : SUCCESS ===
ok
Test iptables default INPUT/FORWARD policy on RouterVM ... === TestName: test_02_routervm_iptables_policies | Status : SUCCESS ===
ok
Test iptables default INPUT/FORWARD policies on VPC router ... === TestName: test_01_single_VPC_iptables_policies | Status : SUCCESS ===
ok
Test redundant router internals ... === TestName: test_01_isolate_network_FW_PF_default_routes_egress_true | Status : SUCCESS ===
ok
Test redundant router internals ... === TestName: test_02_isolate_network_FW_PF_default_routes_egress_false | Status : SUCCESS ===
ok
Test redundant router internals ... === TestName: test_01_RVR_Network_FW_PF_SSH_default_routes_egress_true | Status : SUCCESS ===
ok
Test redundant router internals ... === TestName: test_02_RVR_Network_FW_PF_SSH_default_routes_egress_false | Status : SUCCESS ===
ok
Test redundant router internals ... === TestName: test_03_RVR_Network_check_router_state | Status : SUCCESS ===
ok
Create a VPC with two networks with one VM in each network and test nics after destroy ... === TestName: test_01_VPC_nics_after_destroy | Status : SUCCESS ===
ok
Create a VPC with two networks with one VM in each network and test default routes ... === TestName: test_02_VPC_default_routes | Status : SUCCESS ===
ok
Check that the /etc/dhcphosts.txt doesn't contain duplicate IPs ... === TestName: test_router_dhcphosts | Status : SUCCESS ===
ok
Test to create Load balancing rule with source NAT ... === TestName: test_01_create_lb_rule_src_nat | Status : SUCCESS ===
ok
Test to create Load balancing rule with non source NAT ... === TestName: test_02_create_lb_rule_non_nat | Status : SUCCESS ===
ok
Test for assign & removing load balancing rule ... === TestName: test_assign_and_removal_lb | Status : SUCCESS ===
ok
Test create, assign, remove of an Internal LB with roundrobin http traffic to 3 vm's in a Single VPC ... === TestName: test_01_internallb_roundrobin_1VPC_3VM_HTTP_port80 | Status : SUCCESS ===
ok
Test create, assign, remove of an Internal LB with roundrobin http traffic to 3 vm's in a Redundant VPC ... === TestName: test_02_internallb_roundrobin_1RVPC_3VM_HTTP_port80 | Status : SUCCESS ===
ok
Test to verify access to loadbalancer haproxy admin stats page ... === TestName: test_03_vpc_internallb_haproxy_stats_on_all_interfaces | Status : SUCCESS ===
ok
Test to verify access to loadbalancer haproxy admin stats page ... === TestName: test_04_rvpc_internallb_haproxy_stats_on_all_interfaces | Status : SUCCESS ===
ok
Test SSVM Internals ... === TestName: test_03_ssvm_internals | Status : SUCCESS ===
ok
Test CPVM Internals ... === TestName: test_04_cpvm_internals | Status : SUCCESS ===
ok
Test stop SSVM ... === TestName: test_05_stop_ssvm | Status : SUCCESS ===
ok
Test stop CPVM ... === TestName: test_06_stop_cpvm | Status : SUCCESS ===
ok
Test reboot SSVM ... === TestName: test_07_reboot_ssvm | Status : SUCCESS ===
ok
Test reboot CPVM ... === TestName: test_08_reboot_cpvm | Status : SUCCESS ===
ok
Test destroy SSVM ... === TestName: test_09_destroy_ssvm | Status : SUCCESS ===
ok
Test destroy CPVM ... === TestName: test_10_destroy_cpvm | Status : SUCCESS ===
ok
test_01_vpc_privategw_acl (integration.smoke.test_privategw_acl.TestPrivateGwACL) ... === TestName: test_01_vpc_privategw_acl | Status : SUCCESS ===
ok
test_02_vpc_privategw_static_routes (integration.smoke.test_privategw_acl.TestPrivateGwACL) ... === TestName: test_02_vpc_privategw_static_routes | Status : SUCCESS ===
ok
test_03_vpc_privategw_restart_vpc_cleanup (integration.smoke.test_privategw_acl.TestPrivateGwACL) ... === TestName: test_03_vpc_privategw_restart_vpc_cleanup | Status : SUCCESS ===
ok
test_04_rvpc_privategw_static_routes (integration.smoke.test_privategw_acl.TestPrivateGwACL) ... === TestName: test_04_rvpc_privategw_static_routes | Status : SUCCESS ===
ok
Test for port forwarding on source NAT ... === TestName: test_01_port_fwd_on_src_nat | Status : SUCCESS ===
ok
Test for port forwarding on non source NAT ... === TestName: test_02_port_fwd_on_non_src_nat | Status : SUCCESS ===
ok
Test for reboot router ... === TestName: test_reboot_router | Status : SUCCESS ===
ok
Test for Router rules for network rules on acquired public IP ... === TestName: test_network_rules_acquired_public_ip_1_static_nat_rule | Status : SUCCESS ===
ok
Test for Router rules for network rules on acquired public IP ... === TestName: test_network_rules_acquired_public_ip_2_nat_rule | Status : SUCCESS ===
ok
Test for Router rules for network rules on acquired public IP ... === TestName: test_network_rules_acquired_public_ip_3_Load_Balancer_Rule | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 44 tests in 21351.823s

OK

And:
nosetests --with-marvin --marvin-config=${marvinCfg} -s -a tags=advanced,required_hardware=false \
smoke/test_routers.py \
smoke/test_network_acl.py \
smoke/test_privategw_acl.py \
smoke/test_reset_vm_on_reboot.py \
smoke/test_vm_life_cycle.py \
smoke/test_vpc_vpn.py \
smoke/test_service_offerings.py \
component/test_vpc_offerings.py \
component/test_vpc_routers.py

Result:
Test router internal advanced zone ... === TestName: test_02_router_internal_adv | Status : SUCCESS ===
ok
Test restart network ... === TestName: test_03_restart_network_cleanup | Status : SUCCESS ===
ok
Test router basic setup ... === TestName: test_05_router_basic | Status : SUCCESS ===
ok
Test router advanced setup ... === TestName: test_06_router_advanced | Status : SUCCESS ===
ok
Test stop router ... === TestName: test_07_stop_router | Status : SUCCESS ===
ok
Test start router ... === TestName: test_08_start_router | Status : SUCCESS ===
ok
Test reboot router ... === TestName: test_09_reboot_router | Status : SUCCESS ===
ok
Test reset virtual machine on reboot ... === TestName: test_01_reset_vm_on_reboot | Status : SUCCESS ===
ok
Test advanced zone virtual router ... === TestName: test_advZoneVirtualRouter | Status : SUCCESS ===
ok
Test Deploy Virtual Machine ... === TestName: test_deploy_vm | Status : SUCCESS ===
ok
Test Multiple Deploy Virtual Machine ... === TestName: test_deploy_vm_multiple | Status : SUCCESS ===
ok
Test Stop Virtual Machine ... === TestName: test_01_stop_vm | Status : SUCCESS ===
ok
Test Start Virtual Machine ... === TestName: test_02_start_vm | Status : SUCCESS ===
ok
Test Reboot Virtual Machine ... === TestName: test_03_reboot_vm | Status : SUCCESS ===
ok
Test destroy Virtual Machine ... === TestName: test_06_destroy_vm | Status : SUCCESS ===
ok
Test recover Virtual Machine ... === TestName: test_07_restore_vm | Status : SUCCESS ===
ok
Test migrate VM ... === TestName: test_08_migrate_vm | Status : SUCCESS ===
ok
Test destroy(expunge) Virtual Machine ... === TestName: test_09_expunge_vm | Status : SUCCESS ===
ok
Test to create service offering ... === TestName: test_01_create_service_offering | Status : SUCCESS ===
ok
Test to update existing service offering ... === TestName: test_02_edit_service_offering | Status : SUCCESS ===
ok
Test to delete service offering ... === TestName: test_03_delete_service_offering | Status : SUCCESS ===
ok
Test for delete account ... === TestName: test_delete_account | Status : SUCCESS ===
ok
Test for Associate/Disassociate public IP address for admin account ... === TestName: test_public_ip_admin_account | Status : SUCCESS ===
ok
Test for Associate/Disassociate public IP address for user account ... === TestName: test_public_ip_user_account | Status : SUCCESS ===
ok
Test for release public IP address ... === TestName: test_releaseIP | Status : SUCCESS ===
ok
Test create VPC offering ... === TestName: test_01_create_vpc_offering | Status : SUCCESS ===
ok
Test VPC offering without load balancing service ... === TestName: test_03_vpc_off_without_lb | Status : SUCCESS ===
ok
Test VPC offering without static NAT service ... === TestName: test_04_vpc_off_without_static_nat | Status : SUCCESS ===
ok
Test VPC offering without port forwarding service ... === TestName: test_05_vpc_off_without_pf | Status : SUCCESS ===
ok
Test VPC offering with invalid services ... === TestName: test_06_vpc_off_invalid_services | Status : SUCCESS ===
ok
Test update VPC offering ... === TestName: test_07_update_vpc_off | Status : SUCCESS ===
ok
Test list VPC offering ... === TestName: test_08_list_vpc_off | Status : SUCCESS ===
ok
test_09_create_redundant_vpc_offering (integration.component.test_vpc_offerings.TestVPCOffering) ... === TestName: test_09_create_redundant_vpc_offering | Status : SUCCESS ===
ok
Test start/stop of router after addition of one guest network ... === TestName: test_01_start_stop_router_after_addition_of_one_guest_network | Status : SUCCESS ===
ok
Test reboot of router after addition of one guest network ... === TestName: test_02_reboot_router_after_addition_of_one_guest_network | Status : SUCCESS ===
ok
Test to change service offering of router after addition of one guest network ... === TestName: test_04_chg_srv_off_router_after_addition_of_one_guest_network | Status : SUCCESS ===
ok
Test destroy of router after addition of one guest network ... === TestName: test_05_destroy_router_after_addition_of_one_guest_network | Status : SUCCESS ===
ok
Test to stop and start router after creation of VPC ... === TestName: test_01_stop_start_router_after_creating_vpc | Status : SUCCESS ===
ok
Test to reboot the router after creating a VPC ... === TestName: test_02_reboot_router_after_creating_vpc | Status : SUCCESS ===
ok
Tests to change service offering of the Router after ... === TestName: test_04_change_service_offerring_vpc | Status : SUCCESS ===
ok
Test to destroy the router after creating a VPC ... === TestName: test_05_destroy_router_after_creating_vpc | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 41 tests in 7065.735s

OK

Ping @borisroman

LGTM :+1:
Based on integration tests and code-review.

Thanks @borisroman and @remibergsma .
Cheers,
Wilder


[tablemodelview] Fixing JSON api/read serializable issue

This PR resolves an issue with tablemodelview/api/read which throws the following exception,
TypeError: Object of type Database is not JSON serializable

i.e., it's trying to to serialize the Database object to JSON which is defined as one of the FAB list_columns. The remedy is to simply reference the Database.name attribute as opposed to the Database object.
Attached is a screenshot, note I've kept the label unchanged so the UI remains unchanged:

and here's the corresponding API response (truncated):
{
  "count": 11,
  "label_columns": {
    "cache_timeout": "Cache Timeout",
    "changed_by": "Changed By",
    "changed_by_": "Changed By",
    "changed_by_fk": "Changed By Fk",
    "changed_on": "Changed On",
    "changed_on_": "Last Changed",
    "columns": "Columns",
    "created_by": "Created By",
    "created_by_fk": "Created By Fk",
    "created_on": "Created On",
    "database": "Database",
    "database_id": "Database Id",
    "database_name": "Database",
    "default_endpoint": "Default Endpoint",
    "description": "Description",
    "fetch_values_predicate": "Fetch Values Predicate",
    "filter_select_enabled": "Enable Filter Select",
    "id": "Id",
    "is_featured": "Is Featured",
    "is_sqllab_view": "SQL Lab View",
    "link": "Table",
    "main_dttm_col": "Main Datetime Column",
    "metrics": "Metrics",
    "modified": "Modified",
    "offset": "Offset",
    "owner": "Owner",
    "params": "Params",
    "perm": "Perm",
    "schema": "Schema",
    "slices": "Associated Charts",
    "sql": "Sql",
    "table_name": "Table Name",
    "template_params": "Template parameters",
    "user_id": "User Id"
  },
  "list_columns": [
    "link",
    "database_name",
    "changed_by_",
    "modified"
  ],
  "modelview_name": "TableModelView",
  "order_columns": [
    "modified"
  ],
  "page": null,
  "page_size": null,
  "pks": [
    1,
    2,
    3,
    4,
    5,
    6,
    7,
    8,
    9,
    10,
    11
  ],
  "result": [
    {
      "changed_by_": "",
      "database_name": "main",
      "link": "energy_usage",
      "modified": "an hour ago"
    },
   ...

to: @michellethomas @mistercrunch
cc: @graceguo-supercat @timifasubaa

this is awesome thank you!!! 🚀

Codecov Report

Merging #6023 into master will increase coverage by 0.11%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #6023      +/-   ##
==========================================
+ Coverage   77.73%   77.85%   +0.11%
==========================================
  Files          46       46
  Lines        9398     9400       +2
==========================================
+ Hits         7306     7318      +12
+ Misses       2092     2082      -10

Impacted Files
Coverage Δ

superset/connectors/sqla/views.py
64.34% <ø> (ø)
:arrow_up:

superset/connectors/sqla/models.py
81.2% <100%> (+0.82%)
:arrow_up:

superset/db_engine_specs.py
55.7% <0%> (+0.87%)
: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 160e477...548b88c. Read the comment docs.


Add CHANGELOG.md

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-1.7%) to 95.428%

Totals

Change from base Build<PHONE_NUMBER>:
-1.7%

Covered Lines:
1148

Relevant Lines:
1203

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-1.7%) to 95.428%

Totals

Change from base Build<PHONE_NUMBER>:
-1.7%

Covered Lines:
1148

Relevant Lines:
1203

💛  - Coveralls


Publish 7.4.2-20220324192832+0000

Publish 7.4.2-20220324192832+0000

@bot-gradle test and merge

OK, I've already triggered a build for you.


[devtools] attempt to fix devsite bug with verbatim tag

What's changed, or what was fixed?

DevSite has a bug that's borking the example that logs prime numbers to the Console. This is Lazin's suggested workaround.

Fixes: N/A
Target Live Date: 2018-04-02

[x] This has been reviewed and approved by @kaycebasques
[x] I have run gulp test locally and all tests pass.
[x] I have added the appropriate type-something label.
[x] I've staged the site and manually verified that my content displays correctly.

Note: The staging server is actually spitting out the verbatim tags as plaintext, but I think it's just a limitation of the staging server. We'll see.

CC: @petele

:tada: This has been pushed live to https://developers.google.com/web/


Escape injected variables in shell scripts

Coverage increased (+0.04%) to 51.797% when pulling 8eb5876196673a651371fc4764a231f0da5565e5 on qixcheng/rest-server/shell-inject into 274fba0da5487bc8325c725d10ef66ef8188bebc on master.

Here is another ENV command, any reasons to print ENVs multiple times?

Refers to: src/rest-server/src/templates/yarnContainerScript.mustache:168 in 8eb5876. [](commit_id = 8eb5876196673a651371fc4764a231f0da5565e5, deletion_comment = False)

The bottom one is for backward compatibility

https://github.com/kacperszurek/exploits/blob/master/GitList/exploit-bypass-php-escapeshellarg-escapeshellcmd.md


Fixes Issue #4118 - fixed side-nav is hidden with "closeOnClick" in large browser window

Fixes Issue #4118 - For a fixed side-nav, "closeOnClick" hides the side-nav even in a large browser window
Description:
When you have a fixed side nav it is hidden only in med and lower browser windows. If you use closeOnClick = true, then selecting a link in the sidenav will close the side nav (translate it off screen). The problem is that when you have a large browser window, the side nav is not hidden (it is fixed on the side and always displayed), but clicking a link on it still causes it to be hidden.
Repro Steps:

Init a side nave with closeOnClick = true
Use the "fixed" class in your side-nav
Make your browser window larger than 992px
The side nav becomes fixed and always visible
Click a link in the side nav
The side nav is hidden even though it should remain fixed

Yes!

Fixed via #4299


mqtt-kafka-bridge: show error message that the content is not a valid json

mqtt-kafka-bridge error message should be modified so that it gets clear that the cause is a non valid json.

@JeremyTheocharis Can you give me an sample, of valid json, that mqtt-kafka-bridge will not accept ?

Updated the issue with a better explaination

Thanks, ill give it a look later today.


Fixed issue: #61

@ty221 This is the merged pull request.

@batraabhishek Can I ask you for your opinion in case of this PR?


attempt fix to set has_app using correct session

@jsaleigh Not sure if this is right, but may fix the checkHasApp function - let me know what you think or if this needs further modifications

Looks good to me :+1:

manually ran circleci tests but they all time out :/

@jeanmw let's hold off on this one before a merge...I was thinking about a potential issue, want to talk it out before we go forward

@jeanmw @scott-branchio the backend changes are in place to test this...let's get it out once it passes all tests

@jsaleigh @jeanmw I am unable to get has_app to come back with "true" using iPhone Safari (9.3.1) browser after trying for about an hour.  When using Chrome on same device it works, although there is a side-effect of loading the smart banner and the BMF app is directly launched instead of waiting for me to tap on the download button @derrickstaten might be interested in that fact.
It's unclear what the expected results are when testing as I have never seen this work consistently.  Here the web page where I have BMF links to smart banners -<EMAIL_ADDRESS>Towards the middle of the page there is a QA Branchster Test Cases section, I tap on any of those 4 links to perform the testing - using Safari devloper and Charles Proxy.  It seems there is some disconnect with the browser_fingerprint_id and the device_fingerprint_id that makes has_app always return false when using iOS Safari.
I will need some hands on help troubleshooting this issue to get an consistent expected results - this way I can document a concrete test case for future testing.

@jeanmw @jsaleigh is anything happening here with this PR?  If there is a backend problem it would be great to identify it and get that fixed?

@jsaleigh @jeanmw I've completed testing this on my iPhone 9.3.1 using Safari and the example.html page and verified that the BFP is either retrieved from the new "_t" parameter or cookie (if it exists). 👍


[TensorV2] Multiplication operation skeleton

This pull request adds a basic implementation of tensor multiplication operations to our codebase.
The new functionality allows users to perform the multiplication of tensors by simply calling a function.
Self-evaluation:

Build test: [X]Passed [ ]Failed [ ]Skipped
Run test:   [X]Passed [ ]Failed [ ]Skipped

:memo: TAOS-CI Version: 1.5.20200925. Thank you for submitting PR #2406. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://ci.nnstreamer.ai/.

One quick comment, please keep in mind we do have support lazy tensor as well.


Light always fixed

Hello,
I already connected all wires on a breadboard (RFDuino + NFC-BM019).
I saw a lot of compile issues on your RFDuino ino version so I downloaded the original one and replaced all Simblee references to RFDuino. Compiled and uploaded to the hardware.
My Android App (that previous worked with Limitter, so the main difference should be the UUID address) is never notified but I also noticed that the NFC chip have the light always fixed.
On my previous version (based on Limitter), the light is off when is sleep mode and turn on when is reading.
PS: I already checked the wire connections over and over again.
Regards,
Hugo.

Hi Hugo,
Wiring
With the LibreMonitor wiring the red light on the BM019 will shine permanently. That is the intended setup using the on-board voltage regulator of the BM019. It is directly connected to the lipo and the 3.3 V output of the regulator serves as input to the RFduino.
Ino-File and LimiTTer application
Using the LibreMonitor.ino file you will NOT be able to communicate with an app that expects data from a LimiTTer, as already noted in issue2. LibreMonitor and LimiTTer use similar hardware but are totally different on the software side since they use

a different protocol to transfer data and
a different set of data that is transferred between device and smartphone application.

Thus, the LibreMonitor.ino only works with the LibreMonitor iOS application. If you want to use a different application you have to either change the ino file accordingly to provide LimiTTer-like data or adjust your application to work with the LibreMonitor data set.
I am still not sure, If I correctly understand what your intention is. Do you want to make your Android application behave as the LibreMonitor iOS application and use the same protocol and data set? Or do you want to leave your app as it is and make the RFduino setup behave as a LimiTTer?
Regards
Uwe

Thank you for the explanation about the wiring.
OK, I see. It's always shinning (in opposite to Limitter) consuming a little more energy but not that much because only periodically BM019 is activated to read, so it's in a hibernate mode, correct ?
"Using the LibreMonitor.ino file you will NOT be able to communicate with an app that expects data from a LimiTTer"
Yes, I know. I have my own App and not xDrip. The base BT connection should be the same. Only the UUUID can be different and the chosen protocol that can be easily changed on INO or on my App.
I can now receive notifications on my App from the device trying to connect but still not fire the characteristics. I will investigate more.
Thank you very much for your time.
Regards,
Hugo.

Correct, BM019 is periodically set to hibernate mode. After that the Simblee/RFduino is set to ultra low power mode (Simblee_ULPDelay(SLEEP_DURATION) /  RFduino_ULPDelay(SLEEP_DURATION) with SLEEP_DURATION set to two minutes).
Note, using the Simlcee/RFDuino_ULPDelay(...)-command the Simblee/RFduino remains connected to the Smartphone application, but energy consumption is low. I like this mode since it can be conveniently used as a permanent indication for a working connection.
Data Transfer
I use this  code to have a simple to use protocol. You can give it a c-struct with content longer than 20 bytes. The data is encapsulated using SLIP and a crc8 is appended to ensure data integrity. The packet is then transferred to the iOS application. There the crc8 is checked and if it is okay the packet is decoded back to the original struct. I made some changes to the original code to make it work with the 344 bytes, so you may want to use the code from the LibreMonitor repository.
The c-structs are defined in data_types.h. The main Freestyle Libre data that is transferred are the 344 bytes in "allBytes" of the struct "AllBytesDataType" that correspond to Blocks 0x00 to 0x2A when you read a sensor with tagInfo or some other tag reader. You can follow the code in SensorData.swift and corresponding files on how to get desired information such as history and trend raw glucose data.
Bluetooth
The main part of the bluetooth code on the application side is in SimbleeManager.swift. In there you find how I handle the UUIDs, services and characteristics. When a data packet is received it is then handled in this part of BloodSugarTableViewController.swift. This is where the c-structs are received as "payloads" and the data is extracted.
Hope this provides some help for your own application. It took me quite some time to understand the bluetooth stuff and build this application. Wish you good luck.
Of course you can use any other more simple protocol for data transfer.
Regards,
Uwe


Add event to send cookie configuration

Related to kytos issue #186
Add event kytos/of_lldp.cookie with content:
  "content": {
    "of_lldp": "0xac00000000000001"
  }

This is no longer necessary. Another approach has landed already PR #79


Replace material-design-iconic-font

material-design-iconic-font is not actively maintained.
https://github.com/Templarian/MaterialDesign combined with the original font by Google should be much better.
Icons should be part of a separate repository. At the moment the MaterialDesign repository is the biggest one by the community and should be preferred.
Describe how people can include the official Google Material Icons and the linked repository.

replaced with an official implementation in v0.2.0


Lol test it in MCPE 0.13.1 without using BlockLauncher

I'm assuming you mean Creative. Tested on latest beta: in Creative, Player has flames in the vision, but doesn't take damage. This is the exact same behaviour as regular MCPE 0.13.1.
Mind telling me which gamemode you're in and what you mean by burning (taking damage or just have flames show up)?

It does differ


Loading stages of accordion play button SVG animation stop prematurely before play begins

Similar to #492

I believe we can close this, it was fixed in the last batch of SVG fixes.


test setup: tendrl nodeagent stopped on one node

These playbooks serve as a setup/teardown for negative test cases, such as import with cluster in an invalid state.

I may update these playbooks based on the needs of automated cases I'm working on.


⚠ Bofrost.lu has degraded performance

In 5ae6f10, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 922 ms

Resolved: Bofrost.lu performance has improved in 196d128 after 22 minutes.


What is the estiamted runtime across benchmarks, and OpenAI api cost?

Hi, @findalexli ,

The runtime depends on the architecture of your VLM and may vary across different VLMs. To demonstrate a data point, evaluating llava-v1.5-7b on MMBench_DEV_EN may cost 15 minutes on a single A100.
The OpenAI API cost depends on the nature of the task and the instruction following capability of your model (after all, if an VLM follows the instruction perfectly, no GPT post-processing is required). For some data points, evaluating different VLMs on MMBench_EN (dev + test) will cost < $1.5 on average. For models like llava-v1.5-7b, XComposer, no GPT cost will be spent during evaluation.


mpvScripts: comply with RFC166 formatting

Description of changes

format mpvScripts with nixfmt-rfc-style
add mpvScripts directory to the check-nix-format workflow

Things done

Built on platform(s)

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

[x] Tested compilation of all packages that depend on this change using nixpkgs-review
Nothing to be rebuilt
[x] Fits CONTRIBUTING.md.

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

No objections here


How about a new release?

Hello,
it's been more than two years since v1.1.0 got released. I'd like to add a NamedType recipe to vcpkg and would appreciate a recent release for that.
What do you think?
Thanks,
Gregor

Hey,
Thanks for the suggestion. I'm afraid I don't have as much time as I wish to dedicate to the project at the moment, in particular to decide what to put in a new release.
Sorry about that.
Jonathan

Hi Jonathan,
Is there someway we can help to make this happen.? It would be nice to merge the conan package stuff and create a new release.
Did you upload the existing packages to https://conan.io/center ?
kind regards
Thorsten

Hi Throsten,
To be honest this point and others would deserve more attention than I can give now. Maybe it would help if I could find maintainers for the library.
Jonathan


Registered users can NOT delete saved addresses

Expected behavior:
An user should have the possibility to delete saved addresses
Actual behavior:
It can't be done
Reproduce steps:

Register an user
Save an address
Try to delete it

Version:
RC
Additional Information:
Would be nice to autofill & verify default address of customer when logged in. To speed up and simplify orders for new users

I'll accept a PR to add this feature


Publish first version to npm

Blocked on #10 #11 and setting up the npm org.

It looks like the graph layer packages are on npm now – should this issue be closed? Or does it refer to doing a new publish from this repository? Thanks!

I think @dylans is able to consume these from npm now. We may of course want to continue to consider what the best module naming scheme is for publishing modules from this repo, but we can close this issue.


Research why this implementation is not working

https://github.com/linksplatform/Collections.Methods/blob/8b9b8206d6455dd14a1402e9393832b92a7e140b/Platform.Collections.Methods/Trees/SizeBalancedTreeMethods.cs#L10

Closed by https://github.com/linksplatform/Collections.Methods/commit/adf82a87567b754e20a58c73ffa1db15274e872d#diff-bbb8d272de00cbca4736470c74c7dcac


Make some host errors non-recoverable

Currently try_call allows recovering from all the host errors, including some 'system' errors, like running out of budget or accessing entry outside of the footprint. We should make this more or less consistent with host function recovery (i.e. if a contract can't recover from an error, try_call should not recover from such error either).
The benefit of ensuring failure for such scenarios is beneficial for the users of Soroban auth - the whole transaction will be rolled back and no nonces will be consumed, so the sender could re-submit the new transaction without regenerating soroban signatures.
https://discord.com/channels/897514728459468821/1119364291615793162

Just wanted to clarify my understanding from reading that thread. If a transaction fail, the account seq num gets consumed and the transaction cannot be resubmitted. Here you mean create a new transaction with the same auth (which can be recovered if transaction fails) and re-submit it?

Yes. Sequence number has to be consumed (to pay fees), but soroban auth payload will remain usable.


Disabling and re-enabling add-on causes extra '>' to be inserted

If I disable the add-on, and re-enable it, I noticed that it will produce output like the following until Atom is restarted:
<p>
  >
</p>

I'll try go through the code and see if I can catch why it's doing it. I suspect it might be adding a second callback or something.

It also happens if you uninstall it and re-install it, once for every time you do it

@widal001 do you know how to fix this?

@jbreuer95 It's not necessarily the ideal solution, but if you quit and restart Atom from the command line, it should return to normal!


asyncData not using server-fetched data when no preceeding slashes in nuxt-config generate

Versions

nuxt: v2.15.8
node: v16.4.2

Reproduction
Static Nuxt with with is supposed to fetch asyncData on a dynamic page. It doesn't work when the preceeding slash is missing.
Instead I can see the server-fetched data flicker for a second and then no data is displayed for a generated route missing the preceeding slash.
// nuxt.config.js

...
target: static,
generate: {
  routes: [
    '/with-preceeding-slash',
    'without-preceeding-slash'
  ]
}

// pages/_dynamic_page.vue
...
async asyncData(context) {
  let response = await context.$axios.get('articles')
  return { articles: response.articles }
}
...

What is Expected?
Both dynamic routes would fetch the data in asyncData.
What is actually happening?
In development everything works with and without slash in front of the route.
In production however, only /with-preceeding-slash uses the serverside-fetched data correctly. In without-preceeding-slash dynamic route I see the prefetched data for a second and then it disappears and no data is displayed.

We are approaching the Nuxt 2 EOL date (June 30, 2024) - see this article for more information. This is advance warning that I'm going to close this issue then, as it's currently marked as a Nuxt 2 related bug.
If it's a critical or security issue, please do comment and let me know, in case it is possible to address it before the EOL date.
If it's a an issue you think is relevant for Nuxt 3, please feel free to open a fresh issue (or just comment here so I can update labels, etc.). 🙏
Thank you for your understanding and for your contribution to Nuxt. ❤

It's the day, at last. Nuxt 2 is now marked end-of-life.
My apologies we never got round to resolving this bug in the 2.x branch, but we do have to draw a line somewhere. Again, if you think this is still relevant for Nuxt going forward, please feel free to open a fresh issue (or just comment here so I can update labels, etc.). 🙏


[feature] live-like car extracts

This adds live-like car extracts where:

once a player pays the 5000 roubles, the car extract is enabled and will leave 1min later for all players
leaving and entering the exfil area does not reset the timer
more players can pay to be part of the extraction
once the car has left, the exfil is not usable anymore

In code, the following needed to happen to make it work:

when a client changes the exfil point, all other clients need to know and set the correct exfil start time. We use a packet inspired by live for that
each client has to handle their own extraction, as exfilpoint.Entered is local because the physics/collision check is local

1st tiime I tested, had an issue where only Host got extracted and Client was left in game, I tought it was because I paid with host before the client but that turns out it's not an issue as following the 3 tests after and swapping in between host and client to pay first, worked every time without issues


After editing in the text area, the cursor will automatically jump to the last line

Describe the bug

After editing in the text area, the cursor will automatically jump to the last line
Steps to reproduce

Add a template https://github.com/unitong/test-variable
Use the template to create a service.
Edit the value of age in the test_map field.

Result

The cursor will automatically jump to the last line after entering or deleting letters.

Expected behavior

The cursor remains on the line being edited.
Environment

Walrus version:  main ed21adcc5770196dc4a5654502d4a98a0987a631
UI version: dev-2d5d418

Additional context
Add any other context about the problem here.

Environment

Walrus version: main fb8dcbba8e926e4fe7b1498ae88344c9d8cbff7a
UI version: dev-237619f

Test Result:
Now it does not display the default value when creating a service.

Environment

Walrus version: main fb8dcbba8e926e4fe7b1498ae88344c9d8cbff7a
UI version: dev-52bc500

Test Result:

The content in the edit box will be cleared if clicking Save without filling in the service name.

If the show_if variable is shown or hidden, the contents of the edit box that do not have a default value will be cleared

Environment

Walrus version: main fb8dcbba8e926e4fe7b1498ae88344c9d8cbff7a
UI version: dev-807612f

Test Result: pass


Map arnagoDb Attributes to C# properties

My entity:
public class User
{
        [AliasField("_key")]
        public string Id { get; set; }

        [AliasField("name")]
        public string Name { get; set; }
}

AliasField works fine when insert a entity object:
var newUser = new User() { Id= "@9302794244" , Name = "Saman"};
db.Document.Create("User", newUser );

but when I fetch Data from User Collection, just fetch data of Name field and Id value is null:
var items=  db.Query.Aql("for item in User return item").ToList<User>().Value;

========>result:
{
Id = null ,
Name = "Saman"
}
*** this problem also exists in two fields of edge collection**(_from , _to)**.  and return null value!
....؟!

Thanks for the report, will fix it during the week.

thanks for responsibility. I will waiting ...

Fixed in v0.10.1


Avoid fatal error when creating local directories

As part of my migration to Bref v2, I stumbled on https://github.com/brefphp/laravel-bridge/issues/115. To solve the issue of the build server crashing with autoload, I changed my bootstrap/app.php file to invoke the StorageDirectories::create() function. This works on the build server and on Lambda, but crashes locally because the Bref::beforeStartup callback is never executed, so STDERR constant definition is never defined. Since this is just a helper output and not something critical, I thought we could get away by attempting to write to STDERR only if the constant has been defined so that it still works on local development without going through Bref startup while still making sure that the folders will be created

@mnapoli @tillkruss thoughts on this?


Basic checks needed at the top of g.shell.GGIR, g.getmeta, g.calibrate

These functions load the raw data, and if something goes wrong users get an error messages that is hard to interpret. What we need is a simple check at the top of various functions related to data loading to on:

check that directory exists
check that file exists
check that user has read permissions
check that function arguments are sensible and otherwise give warnings/advise

I have not done "Check that user has read permissions"and "check that function arguments are sensible and otherwise give warnings/advise", for now I will conclude that this is the user's own responsibility.