Add code coverage diff as part of the CI

Add a code coverage diff action giving the difference between commits.
Make the CI fails for a certain threshold

Codecov looks like a good solution for this


Setup Rich Styles for output formatting

We should try to create styles like the following to make things a bit more consistent across the application
from rich.console import Console
from rich.theme import Theme
custom_theme = Theme({
    "info" : "dim cyan",
    "warning": "magenta",
    "danger": "bold red"
})
console = Console(theme=custom_theme)
console.print("This is information", style="info")
console.print("[warning]The pod bay doors are locked[/warning]")
console.print("Something terrible happened!", style="danger")

https://rich.readthedocs.io/en/stable/style.html

Does this also sync with the colours textual uses?


Add Tanzu Tuesdays ep 29 and speakers

Add TT ep 26 page
Add TT ep 26 image
Add pages and images for 4 external speakers for ep 26
Add Mario's name to ep 24 title
Add larger image for ep 29
Update dictionary

Closing due to branch issues


Error: inject() must be called from an injection context (SvgIconRegistry issue)

[x] Regression (a behavior that used to work and stopped working in a new release)
[x] Support request

Current behavior
Updated version to 3.1.1 (from 1.0.0) and got next error:

AppModule
....
imports: [
    SvgIconsModule.forRoot({ icons: ICONS }),
    // ICONS = [ {name: 'test', data: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"></svg>' } ]
],
providers: [
 SvgIconRegistry
// Also tried { provide: SvgIconRegistry, useClass: SvgIconRegistry }
]
...

Just attached like this. And got an error.
This occurs in that place:
(ngneat-svg-icon.js:16)
...
class SvgIconRegistry {
    constructor(config) {
        this.svgMap = new Map();
        this.document = inject(DOCUMENT); // here, issue with 'inject'
        if (config.icons) {
            this.register(config.icons);
        }
    }
    ....

Also, use it inside the shared module:
...
imports: [
SvgIconsModule.forChild(getIcons())
],
exports: [
SvgIconsModule
]
...

But even when removed from the shared module - still an error.
Expected behavior

All works as before. The project starts without that issue.

Minimal reproduction of the problem with instructions

Update version from 1.0.0 into 3.1.1.
npm run start

What is the motivation/use case for changing the behavior?

Can't work with the latest version of the library.

Environment

VS Code

Angular version: 8.2.14

Browser:
- Chrome (desktop) version Version 90.0.4430.85 (Official Build) (arm64)

For Tooling issues:
- Node version: v14.16.0
- Platform: Mac

Other:
- I don't use Ivy

Can you reproduce it on stackblitz, please?

@NetanelBasal
yes.
https://stackblitz.com/edit/angular-ivy-d2mmak?file=src/app/app.module.ts
https://angular-ivy-d2mmak.stackblitz.io/ (inside console I got error)

@NetanelBasal
Hi. Thanks for the fix.
I see that version of the library wasn't changed. After 'npm i' v3.1.1 this issue still exists.
So, need to wait for the new version with that fix?

3.2.0


[MINOR] fix spark 3 build for incremental query on MOR

What is the purpose of the pull request
Fix Spark 3 build
Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

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

@vinothchandar This PR will fix the Spark 3 build. This SparkHadoopUtil is unnecessary and we removed it from MOR snapshot relation too.

@vinothchandar This PR will fix the Spark 3 build. This SparkHadoopUtil is unnecessary and we removed it from MOR snapshot relation too.

Codecov Report

Merging #2425 (cf8f501) into master (368c1a8) will decrease coverage by 40.88%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master   #2425       +/-   ##
============================================
- Coverage     50.53%   9.64%   -40.89%
+ Complexity     3032      48     -2984
============================================
  Files           417      53      -364
  Lines         18727    1929    -16798
  Branches       1917     230     -1687
============================================
- Hits           9463     186     -9277
+ Misses         8489    1730     -6759
+ Partials        775      13      -762

Flag
Coverage Δ
Complexity Δ

hudicli
?
?

hudiclient
?
?

hudicommon
?
?

hudiflink
?
?

hudihadoopmr
?
?

hudisparkdatasource
?
?

hudisync
?
?

huditimelineservice
?
?

hudiutilities
9.64% <ø> (-59.78%)
0.00 <ø> (ø)

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

The diff coverage is n/a.

@@             Coverage Diff              @@
##             master   #2425       +/-   ##
============================================
- Coverage     50.53%   9.64%   -40.89%
+ Complexity     3032      48     -2984
============================================
  Files           417      53      -364
  Lines         18727    1929    -16798
  Branches       1917     230     -1687
============================================
- Hits           9463     186     -9277
+ Misses         8489    1730     -6759
+ Partials        775      13      -762

Flag
Coverage Δ
Complexity Δ

hudicli
?
?

hudiclient
?
?

hudicommon
?
?

hudiflink
?
?

hudihadoopmr
?
?

hudisparkdatasource
?
?

hudisync
?
?

huditimelineservice
?
?

hudiutilities
9.64% <ø> (-59.78%)
0.00 <ø> (ø)

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


METOC 2525D symbology issue (possibly incorrect key)

One of two issues from https://github.com/Esri/military-symbology/issues/270 - This one is a symbology issue, possibly related to the key values.
This should allow us to get on with finishing up 270.

Fixed
SIDC
Name
Feature Type

- [ ]
45171000
Bounded Areas of Weather-Operator Defined-Freeform
Atmospheric Area

This is currently drawing with a black border and grey fill.

Should be operator's choice of a black solid line or black dashed line:

This issue is fixed. the problem was a spurious point feature had the key value. I deleted it and associated the key with the correct polygon symbol. It is working now.


Fixed the order of execution in the  method of the  object to fix a p…

…remature exit resulting in the improper handling of role/group allowances/restrictions. Resolves #27

Codecov Report

Merging #28 into master will not change coverage.
The diff coverage is 60%.

@@           Coverage Diff           @@
##           master      #28   +/-   ##
=======================================
  Coverage   85.37%   85.37%
=======================================
  Files           3        3
  Lines         424      424
=======================================
  Hits          362      362
  Misses         62       62

Impacted Files
Coverage Δ

flask_authorize/plugin.py
91.7% <60%> (ø)
: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 7d835e8...dfe0ec4. Read the comment docs.

So, this still doesn't fix the fail open issue, but I'm not sure how you want to handle that. IMO, it should fail safe any time the plugin is in use, meaning everything should be unauthorized by default until a policy is present. Also, I didn't include tests for this, but it would probably be a good idea to include a test that prevents this issue from regression.

Looks good! I'll write tests to prevent regressions now.

I see the rationale for failing safe without users explicitly setting a policy, and many users will want to set up their Role model with __allowances__ = {} by default to fail safe. However, I think it's more intuitive for new developers to keep access open unless explicitly overridden by default. I'll add a section to the documentation to explicitly outline the default policies to make them more clear - that will likely mitigate confusion.

I see the rationale for failing safe without users explicitly setting a policy, and many users will want to set up their Role model with __allowances__ = {} by default to fail safe. However, I think it's more intuitive for new developers to keep access open unless explicitly overridden by default. I'll add a section to the documentation to explicitly outline the default policies to make them more clear - that will likely mitigate confusion.

Even with the fail-safe option, a failure to provide a role to a user still results in full access to everything. That was my concern.

Someone adds a user.
Forgets to assign a role.
New user is now a super admin.

Ah, I see what you mean now.
I'll need to think about that one. It's a tricky design decision - rules dictating what is allowed and what isn't allowed are tied to roles/groups associated with the user, but not necessarily the user. I hadn't thought about applying permissions broadly to users (if mixins are used) before now.
To account for the case where restrictions/allowances aren't used, I'll need to figure out how to detect if any models are instantiated with the mixins, and include checks in the @authorize.<action> logic accordingly.
I agree this would be a useful feature - I'll add a ticket for it.


Bundles Not Saved and Can't Add More

Explain the bug

The bundles not saved after closing the app
Can't add more bundles
Can't rename it

To reproduce

Enable Bundles Widget
Add folder or things to bundles
Add more bundles (this one is not appear)
Exit the app
Expected behavior
The bundles should stay and can add more than one

Logfile
debug.log
debug_fulltrust.log
Screenshots

System Information

OS Version: Windows 10 21H2 21390.2025
App version: v1.5.62

Duplicate of #5255.


Presto Opera 12: pull with nested grid fails with bootstrap-flex (4.0.0-alpha.5)

I'm using a flexbox grid and notice some strange behaviours in Opera (content shifting to the left) and not in other browsers.
When I use the exact same code without flexbox, everything works okay. When using flexbox, the results seems wrong in Opera:
This works in Chrome, Firefox & Opera: http://codepen.io/anon/pen/YpZvwe
This works in Chrome, Firefox, but fails in Opera: http://codepen.io/anon/pen/pNeKbo

What version of Opera?

The latest: Opera/9.80 (Windows NT 6.2; Win64; x64) Presto/2.12.388 Version/12.18

Sorry, but per our browser support policy (https://v4-alpha.getbootstrap.com/getting-started/browsers-devices/ ), we only support the latest version of Opera, which is currently Opera 41.

My Opera said there where no updates available. That turned out not to be the case! Works as expected in Opera 41!

Welcome to the modern web world! 😄

haha thanks ;) I use Chrome ;) Was just testing on Opera..

(for reference, the last Opera version with Presto is from approx May 2013, when they switched to using Chromium/Blink)

Yes, i feel stupid already!


OCM-4458 | test: automate id:73755 validation for create cluster with external_auth_config

$ ginkgo --focus 73755 tests/e2e/
Ginkgo detected a version mismatch between the Ginkgo CLI and the version of Ginkgo imported by your packages:
Ginkgo CLI Version:
2.14.0
Mismatched package versions found:
2.17.1 used by e2e
Ginkgo will continue to attempt to run but you may see errors (including flag
parsing errors) and should either update your go.mod or your version of the
Ginkgo CLI to match.
To install the matching version of the CLI run
go install github.com/onsi/ginkgo/v2/ginkgo
from a path that contains a go.mod file.  Alternatively you can use
go run github.com/onsi/ginkgo/v2/ginkgo
from a path that contains a go.mod file to invoke the matching version of the
Ginkgo CLI.
If you are attempting to test multiple packages that each have a different
version of the Ginkgo library with a single Ginkgo CLI that is currently
unsupported.
Running Suite: e2e tests suite - /home/aaraj/ocm-forked-code/rosa/tests/e2e
Random Seed:<PHONE_NUMBER>
Will run 1 of 76 specs
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS•S
Ran 1 of 76 Specs in 21.254 seconds
SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 75 Skipped
PASS
Ginkgo ran 1 suite in 28.154889531s
Test Suite Passed

/test ?

/test e2e-presubmits-pr-rosa-sts

/test e2e-presubmits-pr-rosa-hcp

/test e2e-presubmits-pr-rosa-hcp

/test e2e-presubmits-pr-rosa-hcp

/test e2e-presubmits-pr-rosa-hcp

@aaraj7 Due to the label issue, the case is not picked up in the presubmit testing. We will do an enhancement here. To not block this merge, please paste the local log in https://privatebin.corp.redhat.com, and attach its link here.

/test e2e-presubmits-pr-rosa-hcp

/test e2e-presubmits-pr-rosa-hcp


Bug crash app when call below build(BuildContext context)

Hello admin.
I use lib:
class UpdateAccountState extends State<UpdateAccount>{
ProgressDialog _progressDialog;
  @override
  Widget build(BuildContext context) {
    _progressDialog = ProgressDialog(context);
    _getUserInfo();
}

_getUserInfo() async {
  _progressDialog?.show();
 var userRe = await userRepo.find();
 if (_progressDialog.isShowing()) _progressDialog.hide();
}
}

App show error below.
**E/flutter (20452): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: setState() or markNeedsBuild() called during build.
E/flutter (20452): This Overlay widget cannot be marked as needing to build because the framework is already in the process of building widgets.  A widget can be marked as needing to be built during the build phase only if one of its ancestors is currently building. This exception is allowed because the framework builds parent widgets before children, which means a dirty descendant will always be built. Otherwise, the framework might not visit this widget during this build phase.
E/flutter (20452): The widget on which setState() or markNeedsBuild() was called was:
E/flutter (20452):   Overlay-[LabeledGlobalKey<OverlayState>#b9d5c]
E/flutter (20452): The widget which was currently being built when the offending call was made was:
E/flutter (20452):   UpdateAccount
E/flutter (20452): #0      Element.markNeedsBuild.<anonymous closure> (package:flutter/src/widgets/framework.dart:3704:11)
E/flutter (20452): #1      Element.markNeedsBuild (package:flutter/src/widgets/framework.dart:3719:6)
E/flutter (20452): #2      State.setState (package:flutter/src/widgets/framework.dart:1161:14)
E/flutter (20452): #3      OverlayState.insertAll (package:flutter/src/widgets/overlay.dart:346:5)
E/flutter (20452): #4      OverlayRoute.install (package:flutter/src/widgets/routes.dart:43:24)
E/flutter (20452): #5      TransitionRoute.install (package:flutter/src/widgets/routes.dart:180:11)
E/flutter (20452): #6      ModalRoute.install (package:flutter/src/widgets/routes.dart:923:11)
E/flutter (20452): #7      NavigatorState.push (package:flutter/src/widgets/navigator.dart:1789:11)
E/flutter (20452): #8      showGeneralDialog (package:flutter/src/widgets/routes.dart:1582:53)
E/flutter (20452): #9      showDialog (package:flutter/src/material/dialog.dart:697:10)
E/flutter (20452): #10     ProgressDialog.show (package:progress_dialog/progress_dialog.dart:129:7)
E/flutter (20452): #11     UpdateAccountState._getUserInfo (package:htsv/screen/account.dart:37:22)
E/flutter (20452): <asynchronous suspension>
E/flutter (20452): #12     UpdateAccountState.build (package:htsv/screen/account.dart:60:5)
E/flutter (20452): #13     StatefulElement.build (package:flutter/src/widgets/framework.dart:4064:27)
E/flutter (20452): #14     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3958:15)
E/flutter (20452): #15     Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
E/flutter (20452): #16     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3941:5)
E/flutter (20452): #17     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4111:11)
E/flutter (20452): #18     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3936:5)
E/flutter (20452): #19     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
E/flutter (20452): #20     Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
E/flutter (20452): #21     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5165:14)
E/flutter (20452): #22     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
E/flutter (20452): #23     Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
E/flutter (20452): #24     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3978:16)
E/flutter (20452): #25     Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
E/flutter (20452): #26     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3941:5)
E/flutter (20452): #27     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3936:5)
E/flutter (20452): #28     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
E/flutter (20452): #29     Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
E/flutter (20452): #30     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5165:14)
E/flutter (20452): #31     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
E/flutter (20452): #32     Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
E/flutter (20452): #33     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5165:14)
E/flutter (20452): #34     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
E/flutter (20452): #35     Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
E/flutter (20452): #36     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3978:16)
E/flutter (20452): #37     Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
E/flutter (20452): #38     ComponentElement._firstBuild (package:flutter/src/wi

════════ Exception caught by widgets library ═══════════════════════════════════════════════════════
The following NoSuchMethodError was thrown building _OverlayEntry-[LabeledGlobalKey<_OverlayEntryState>#15264](dirty, state: _OverlayEntryState#12763):
The method 'drive' was called on null.
Receiver: null
Tried calling: drive<Color>(Instance of '_ChainedEvaluation<Color>')

User-created ancestor of the error-causing widget was:
  MaterialApp file:///main.dart:18:12
When the exception was thrown, this was the stack:
#0      Object.noSuchMethod (dart:core-patch/object_patch.dart:51:5)
#1      ModalRoute._buildModalBarrier (package:flutter/src/widgets/routes.dart:1243:48)
#2      _OverlayEntryState.build (package:flutter/src/widgets/overlay.dart:170:25)
#3      StatefulElement.build (package:flutter/src/widgets/framework.dart:4064:27)
#4      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3958:15)
...
════════════════════════════════════════════════════════════════════════════════════════════════════

════════ (2) Exception caught by widgets library ═══════════════════════════════════════════════════
'package:flutter/src/animation/animations.dart': Failed assertion: line 376 pos 15: 'parent != null': is not true.
User-created ancestor of the error-causing widget was:
  MaterialApp file:main.dart:18:12
════════════════════════════════════════════════════════════════════════════════════════════════════

════════ (3) Exception caught by widgets library ═══════════════════════════════════════════════════
The method 'drive' was called on null.
Receiver: null
Tried calling: drive<Color>(Instance of '_ChainedEvaluation<Color>')*

Study the rules of build method, build method will execute infinite no. of times, you cannot call, you cannot perform that action infinite number of times and it's not bug in the package, it's fault in your code

If you really need to execute something, when the screen is shown up, you need to use initState() or write the code below in build() method, this will execute only for once after the widget is attatched to tree
WidgetsBinding.instance.addPostFrameCallback((Duration d) {
        // your code here
      });


[Loggable] Are Doctrine ODM Custom Mapping Types supported?

First of all, thank you very much for this package!
I'm trying to use Loggable with Doctrine MongoDB ODM Custom Mapping Types , as an example, with the following code I'm just storing a DateTime in unix timestamp format:
//src/Doctrine/Type/MyType.php

namespace App\Doctrine\Type;

use Doctrine\ODM\MongoDB\Types\ClosureToPHP;
use Doctrine\ODM\MongoDB\Types\Type;

/**
 * My custom datatype.
 */
class MyType extends Type
{
    // This trait provides default closureToPHP used during data hydration
    use ClosureToPHP;

    public function convertToPHPValue($value): \DateTime
    {
        // This is called to convert a Mongo value to a PHP representation
        return new \DateTime('@'.$value);
    }

    public function convertToDatabaseValue($value)
    {
        // This is called to convert a PHP value to its Mongo equivalent
        return $value->getTimestamp();
    }
}

// src/Document/MyDocument.php
    ...
    /**
     * @var DateTime
     *
     * @MongoDB\Field(type="MyType")
     * @Gedmo\Versioned
     *
     */
    private $myProperty;
    ...

// config/packages/doctrine_mongodb.yaml
doctrine_mongodb:
    types:
        MyType: App\Doctrine\Type\MyType

The Custom Mapping Type is working without problems and data is correctly stored as unix timestamp on my document:
{
    ...
    "myProperty" :<PHONE_NUMBER>
}

But Loggable stores the following:
/* 1 */
{
   ....
    "objectClass" : "App\\Document\\MyDocument",
    "version" : 1,
    "data" : {
        "myProperty" : {}
    }
}

Thanks in advance for your time.

Hmph, probably not supported fully. I created a quick test scenario, and I get all of the DateTime data stored in the log entry:
{"myCustomDate":{"timezone_type":3,"date":"2021-01-24 00:52:37.653896","timezone":"UTC"}}

This does get converted into a DateTime when fetching the log entry via Doctrine repository, though. I'd have to dive into all the internals of Gedmo & Doctrine to see where this flow is going. I know that with other extensions, the types are kind of hardcoded (like Timestampable, for example, can't use custom types). Could be a similar situation here.
What version of Extensions are you using, btw? I tested this on the 3.x branch which uses a more up-to-date version of ODM, which may help.

Hmph, probably not supported fully. I created a quick test scenario, and I get all of the DateTime data stored in the log entry:
{"myCustomDate":{"timezone_type":3,"date":"2021-01-24 00:52:37.653896","timezone":"UTC"}}

This does get converted into a DateTime when fetching the log entry via Doctrine repository, though. I'd have to dive into all the internals of Gedmo & Doctrine to see where this flow is going. I know that with other extensions, the types are kind of hardcoded (like Timestampable, for example, can't use custom types). Could be a similar situation here.
What version of Extensions are you using, btw? I tested this on the 3.x branch which uses a more up-to-date version of ODM, which may help.

Thanks for your response @AkenRoberts. My environment:
root@dev:/var/www# composer show|grep "gedmo\|odm"
doctrine/mongodb-odm                     2.1.3              PHP Doctrine MongoDB Object Document Mapper (ODM) provides transparent persistence for PHP objects to MongoDB.
doctrine/mongodb-odm-bundle              4.2.2              Symfony2 Doctrine MongoDB Bundle
gedmo/doctrine-extensions                v3.0.0             Doctrine2 behavioral extensions

The aforementioned DateTime case was just an example, actually I'm using Custom Mapping Types in conjunction with myclabs/php-enum
//src/Enum/MyEnum.php
<?php

namespace App\Enum;

use MyCLabs\Enum\Enum;

/**
 *
 * @method static self FOO()
 * @method static self BAR()
 */
class MyEnum extends Enum
{
    private const FOO = 'foo';
    private const BAR = 'bar';
}

//src/Doctrine/Type/MyEnumType.php
<?php

namespace App\Doctrine\Type;

use Doctrine\ODM\MongoDB\Types\ClosureToPHP;
use Doctrine\ODM\MongoDB\Types\Type;

class MyEnumType extends Type
{

    use ClosureToPHP;

    public function convertToPHPValue($value)
    {
        return new MyEnum($value);
    }

    public function convertToDatabaseValue($value)
    {
        return $value->getValue();
    }

}

So I rely on the Custom Mapping all the conversion string<->enum.  My documents look like the following:

    /**
     * @var MyEnum
     *
     * @MongoDB\Field(type="MyEnumType")
     * @Gedmo\Versioned
     *
     */
    private MyEnum $myProperty;

    /**
     * @return MyEnum
     */
    public function getMyProperty(): MyEnum
    {
        return $this->myProperty;
    }

    /**
     * @param MyEnum $myProperty
     *
     * @return self
     */
    public function setMyProperty(ServiceStatus $myProperty): self
    {
        $this->myProperty = $myProperty;

        return $this;
    }

A solution could be to implement the conversion string<->enum on all my setter/getters and to not use Custom Types, but I think is not elegant at all.

Thanks for your response @AkenRoberts. My environment:
root@dev:/var/www# composer show|grep "gedmo\|odm"
doctrine/mongodb-odm                     2.1.3              PHP Doctrine MongoDB Object Document Mapper (ODM) provides transparent persistence for PHP objects to MongoDB.
doctrine/mongodb-odm-bundle              4.2.2              Symfony2 Doctrine MongoDB Bundle
gedmo/doctrine-extensions                v3.0.0             Doctrine2 behavioral extensions

The aforementioned DateTime case was just an example, actually I'm using Custom Mapping Types in conjunction with myclabs/php-enum
//src/Enum/MyEnum.php
<?php

namespace App\Enum;

use MyCLabs\Enum\Enum;

/**
 *
 * @method static self FOO()
 * @method static self BAR()
 */
class MyEnum extends Enum
{
    private const FOO = 'foo';
    private const BAR = 'bar';
}

//src/Doctrine/Type/MyEnumType.php
<?php

namespace App\Doctrine\Type;

use Doctrine\ODM\MongoDB\Types\ClosureToPHP;
use Doctrine\ODM\MongoDB\Types\Type;

class MyEnumType extends Type
{

    use ClosureToPHP;

    public function convertToPHPValue($value)
    {
        return new MyEnum($value);
    }

    public function convertToDatabaseValue($value)
    {
        return $value->getValue();
    }

}

So I rely on the Custom Mapping all the conversion string<->enum.  My documents look like the following:

    /**
     * @var MyEnum
     *
     * @MongoDB\Field(type="MyEnumType")
     * @Gedmo\Versioned
     *
     */
    private MyEnum $myProperty;

    /**
     * @return MyEnum
     */
    public function getMyProperty(): MyEnum
    {
        return $this->myProperty;
    }

    /**
     * @param MyEnum $myProperty
     *
     * @return self
     */
    public function setMyProperty(ServiceStatus $myProperty): self
    {
        $this->myProperty = $myProperty;

        return $this;
    }

A solution could be to implement the conversion string<->enum on all my setter/getters and to not use Custom Types, but I think is not elegant at all.

I am having similar issues with the grouped sortable behavior on a many-to-one association where the target entity uses the ramsey/uuid as identifier type:
Location
    /**
     * @Gedmo\SortableGroup()
     * @ORM\ManyToOne(targetEntity="Cvs\Model\Project\Project")
     */
    private Project $project;

    /**
     * @Gedmo\SortablePosition()
     * @ORM\Column(name="position", type="integer")
     */
    private int $position;

Project
    /**
     * @ORM\Id
     * @ORM\Column(name="id", type="uuid")
     */
    private UuidInterface $id;

The error I get during an integration test is the following:
Doctrine\DBAL\Exception: An exception occurred while executing 'SELECT MAX(l0_.position) AS SCLR_0 FROM locations l0_ WHERE l0_.project_id = ?' with params ["3104b264-904f-4f1b-a56a-4ae7d166bce9"]:

oci_bind_by_name(): Invalid variable used for bind

as you can see I am using an oracle database, but this should not be the issue, I think the main issue here ist that the listener does not resolve the correct type when calling setParameter:
here
https://github.com/doctrine-extensions/DoctrineExtensions/blob/320adb6f9903a0aded020d7dab709525a49c6a8c/src/Sortable/Mapping/Event/Adapter/ORM.php#L42
I have not looked into other behaviors / feature, but looking at the issue tracker it seems to be an issue at other parts as well.
@AkenRoberts how do you want this to be handled, should I create a new issue addressing this in general or do you want to continue using  this issue for all other occurences?


Repo names are not actually supported as an image id

Under anchore query --extended-help it is said that Image IDs can be specified as repo names
However, after analyzing a bunch of my private images using anchore analyze --image <repo>/<image>, anchore query --image <repo> cve-scan all returns ERROR could not load input images: Input image name <repo> not found in local dockerhost or anchore DB.
My aim is to be able to query / audit all images from a specific repo as part of a workflow process. There may be other images present in docker that I do not intend to analyze.
On a side note, is there a way to easily reset the anchore db / remove all analyzed images instead of rm -rf ~/.anchore?

Today you need to docker pull the image before the anchore cli will analyze it.
Once analyzed the image can be deleted however we then lose the mapping of repo/image to tag.
So for example after analyzing alpine:latest I can docker rmi alpine:latest and still run queries on the image but I'd have to use the imageid rather than the repo/name which is inconvenient.
The plan is to move to a more service based model where Anchore is run in a container and accessed through REST API and CLI to issues the analyze/gate/etc commands which probably simplify what you're trying to do, although you can automate this today scripting anchore and docker commands, it's just not out of the box.
In terms of the database pruning, you can remove individual images using
anchore toolbox --image=foo/bar delete
and can get a list of images in the database using
anchore toolbox images

Ah I see, was confused by the output of anchore query --extended-help:
[trunc]
Image IDs can be specified as hash ids, repo names (e.g. centos), or tags (e.g. centos:latest).
[trunc]

Being able to generate a report based on repo name / multiple images (without recusively selecting individual images, generate the report then append the output to some file) would be a great addition to this tool I would think. Thanks for the clarification too!


There is no page for mp4 cutscenes for the Source Code.

title is self explanitory.

https://youtu.be/MxCF1lq5550

It’s added now


ticksDelta is extremely unstable

Hey, I started using Kronos a few days ago. May I have few questions regarding time sync/drifting on android?
The time seems to be complately unstable, almost each sync process ends with different diff
2020-05-01 01:49:16.804 6818-6928/Application$onCr: [kronos][sync] success sync ticksDelta[-118] responseTimeMs[222]
2020-05-01 01:50:16.934 6818-6928/Application$onCr: [kronos][sync] success sync ticksDelta[-151] responseTimeMs[129]
2020-05-01 01:50:16.994 6818-6928/Application$onCr: [kronos][sync] success sync ticksDelta[-128] responseTimeMs[56]

The calls are a minute apart from each other but  the responses say that the device clock drifted 20milliseconds
Is it standard behavior of Android or am I doing something wrong?

Hey Pawel, I'm not the maintainer, but couple questions:

do you provide custom NTP servers or use default ones?
do you run it on emulator/device? (time might be drifting depending on that)

Thank you for replay @artem-zinnatullin
I tried to use the default and custom NTP servers. I run the app only on real devices(recently s8 and Pixel 2 with similar results)
Here is a piece of code form my app:
        kronosClock = AndroidClockFactory.createKronosClock(applicationContext,
//                ntpHosts = listOf("pool.ntp.org", "time.google.com", "time.apple.com"),
//                ntpHosts = listOf("time.apple.com"),
                syncListener =  object: SyncListener {
                    override fun onError(host: String, throwable: Throwable) {
                        Timber.e(throwable, "[kronos] Cannot sync for $host")
                    }

                    override fun onStartSync(host: String) {
                        Timber.d("[kronos] Start sync for host $host")
                    }

                    override fun onSuccess(ticksDelta: Long, responseTimeMs: Long) {
                        Timber.d("[kronos][sync] success sync ticksDelta[$ticksDelta] responseTimeMs[$responseTimeMs]")
                    }

                }
        )
        kronosClock!!.syncInBackground()

It is called on main thread in method onCreate class that extends MultiDexApplication.
That piece of code produces logs like that
2020-05-01 03:00:16.228 9834-10038/com.******$onCr: [kronos] Start sync for host 2.us.pool.ntp.org
2020-05-01 03:00:16.546 9834-10038/com.******$onCr: [kronos][sync] success sync ticksDelta[-172] responseTimeMs[319]
2020-05-01 03:01:31.227 9834-10038/com.******$onCr: [kronos] Start sync for host 2.us.pool.ntp.org
2020-05-01 03:01:31.502 9834-10038/com.******$onCr: [kronos][sync] success sync ticksDelta[-159] responseTimeMs[276]
2020-05-01 03:02:46.228 9834-10038/com.*****$onCr: [kronos] Start sync for host 2.us.pool.ntp.org
2020-05-01 03:02:46.458 9834-10038/com.*****$onCr: [kronos][sync] success sync ticksDelta[-145] responseTimeMs[231]
2020-05-01 03:04:01.228 9834-10038/com.*****$onCr: [kronos] Start sync for host 2.us.pool.ntp.org
2020-05-01 03:04:01.519 9834-10038/com.*****$onCr: [kronos][sync] success sync ticksDelta[-170] responseTimeMs[291]
2020-05-01 03:05:16.228 9834-10038/com.*****$onCr: [kronos] Start sync for host 2.us.pool.ntp.org
2020-05-01 03:05:16.429 9834-10038/$onCr: [kronos][sync] success sync ticksDelta[-138] responseTimeMs[201]

Thanks for reporting. We will investigate this, but may take some time, pls bear with us.

I found that the time delta was very susceptible to high response times.
We ended up using NTP servers based in our country and ignoring any delta that had a response time of > 50ms. This made the deltas that we were using much more consistent, within a range of about 10ms.


Malformed documentation for tf.strings.split

Thank you for submitting a TensorFlow documentation issue. Per our GitHub
policy, we only address code/doc bugs, performance issues, feature requests, and
build/installation issues on GitHub.
The TensorFlow docs are open source! To get involved, read the documentation
contributor guide: https://www.tensorflow.org/community/contribute/docs
URL(s) with the issue:
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/strings/split
Description of issue (what needs changing):
Last section is raw markdown instead of formatted HTML.
Clear description
For example, why should someone use this method? How is it useful?
Correct links
Is the link to the source code correct?
Parameters defined
Are all parameters defined and formatted correctly?
Returns defined
Are return values defined?
Raises listed and defined
Are the errors defined? For example,
https://www.tensorflow.org/versions/r2.0/api_docs/python/tf/feature_column/categorical_column_with_vocabulary_file#raises
Usage example
Is there a usage example?
Request visuals, if applicable
Are there currently visuals? If not, will it clarify the content?
Submit a pull request?
Are you planning to also submit a pull request to fix the issue? See the docs
contributor guide: https://www.tensorflow.org/community/contribute/docs and the
docs style guide: https://www.tensorflow.org/community/contribute/docs_style

Hi, thanks for reporting this.
It's fixed in master and 2.0. In general it's not worth the effort to go back and update docs in release branches unless it's something critical.


Defaults for Booleans are broken

This was already solved in a pull request that hadn't been pulled
https://github.com/heroku/databasedotcom/pull/140/files
Tests work fine, and the patch is clean and simple. Please pull.

:+1: please merge this!


[Feature] Added site PV, sit running duration, post views stat

issue: #267
Added the following features:

Footer

Site running duration stat
Site PV

Post

Post views
Post comment count

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


feat: show signature elaboration errors on body parse error

Fixes #3556

Sorry for the merge delay, hopefully nobody was eagerly waiting for the merge.


clearer notice when typing a line range b/c file too large

Clears up user confusion "Why do I need to enter a line range?"
Changes the notice for when the user Tab-completes an @-mentioned file in chat. It is /possible/ that they intentionally entered line range selection mode on a not-too-large file, and in which case this notice is technically incorrect, but that's an edge case and arguably it means /they/ considered the file too large.
Not sure if I missed any considerations here. Open to feedback!
Before:

After (excuse the different theme :):

Test plan
CI

I don't think this is necessary, given the screen before this says it's too large:

Here is where it confused someone: https://sourcegraph.slack.com/archives/C05MW2TMYAV/p1713715587831389.
Just one data point though.


Launch from bash added, some bug fixing

Added bash script, that launches all needed files for caregiver app
Based on testing by 3rd party fellow human being, fixing some bugs.

lgtm


Install fail: Self-hosting docker build fail

xhzn@R440:~/ideaProjects/excalidraw$ docker build -t excalidraw/excalidraw .
[+] Building 6.8s (12/13)                                                                                docker:default
 => [internal] load build definition from Dockerfile                                                                                0.0s
 => => transferring dockerfile: 379B                                                                                0.0s
 => [internal] load .dockerignore                                                                                0.0s
 => => transferring context: 171B                                                                                0.0s
 => [internal] load metadata for docker.io/library/nginx:1.21-alpine                                                                                5.8s
 => [internal] load metadata for docker.io/library/node:18                                                                                5.8s
 => CACHED [stage-1 1/2] FROM docker.io/library/nginx:1.21-alpine@sha256:a74534e76ee1121d418fa7394ca930eb67440deda413848bc67c68138535b989                                                                                0.0s
 => [build 1/6] FROM docker.io/library/node:18@sha256:c85dc4392f44f5de1d0d72dd20a088a542734445f99bed7aa8ac895c706d370d                                                                                0.0s
 => [internal] load build context                                                                                0.0s
 => => transferring context: 27.99kB                                                                                0.0s
 => CACHED [build 2/6] WORKDIR /opt/node_app                                                                                0.0s
 => CACHED [build 3/6] COPY package.json yarn.lock ./                                                                                0.0s
 => CACHED [build 4/6] RUN yarn --ignore-optional --network-timeout 600000                                                                                0.0s
 => CACHED [build 5/6] COPY . .                                                                                0.0s
 => ERROR [build 6/6] RUN yarn build:app:docker                                                                                0.9s
------
 > [build 6/6] RUN yarn build:app:docker:
0.428 yarn run v1.22.19
0.457 $ cross-env VITE_APP_DISABLE_SENTRY=true VITE_APP_DISABLE_TRACKING=true vite build
0.738 vite v4.4.2 building for production...
0.750 ✓ 0 modules transformed.
0.750 ✓ built in 10ms
0.751 Could not resolve entry module "index.html".
0.753 error during build:
0.753 RollupError: Could not resolve entry module "index.html".
0.753     at error (file:///opt/node_app/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:2245:30)
0.753     at ModuleLoader.loadEntryModule (file:///opt/node_app/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:24671:20)
0.753     at async Promise.all (index 0)
0.786 error Command failed with exit code 1.
0.786 info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
------
Dockerfile:11
--------------------
   9 |
  10 |     COPY . .
  11 | >>> RUN yarn build:app:docker
  12 |
  13 |     FROM nginx:1.21-alpine
--------------------
ERROR: failed to solve: process "/bin/sh -c yarn build:app:docker" did not complete successfully: exit code: 1

@JocelynFloresz would you like to raise a PR for the fix ?

FYI: The issue is that index.html is excluded by the * in the .dockerignore and not explicitly (re-)enabled by a !index.html like eg. the yarn.lock.
Adding this to the .dockerignore still fails the build as the index.html contains some kind of template syntax like here.
What script/tool is responsible for replacing those template values?

FYI: The issue is that index.html is excluded by the * in the .dockerignore and not explicitly (re-)enabled by a !index.html like eg. the yarn.lock is.
Adding this to the .dockerignore still fails the build as the index.html contains some kind of template syntax like here. What script/tool is responsible for replacing those template values?

@Hufschmidt These template syntax was introduced as we migrated to Vite in https://github.com/excalidraw/excalidraw/pull/6713
can we transform the syntax for docker build ?

when you run yarn build:app:docker outside of docker  - it works, so not sure it is the template issue.

Issue is in dockerignore.
Remove the '*' at the top allows all things in and the build works.
Not ideal but that's the issue. Any idea what is needed?
Probs best to all allow all and say which you want to ignore (which is really the point of dockerignore).

Ok digging further...
You are ignoring (by default) node_modules\ folder in the .dockerignore but not rebuilding with yarn install in the dockerfile. So basically there are no modules available in the docker build. Although I did explicitly add a yarn install, but that still didn't resolve.
However when I DON'T ignore node_modules it works.

Any updates on this? Seems like the .dockerignore file have to be updated.

index.html is required entry point for vite and the template syntax in index.html is ejs. The required vite plugin (vite-plugin-ejs) to transform it to plain HTML is configured in vite.config.ts which wasn't included to docker context.
Raised a PR which fixes the problems in this issue.

still actual just in case

Waiting on this as well :)

i build it successfully after rm .dockerignore

Removing .dockerignore worked for me too

same here

The project structure has refactored, we should add these required files to .dockerignore:
!index.html
!index.tsx
!vite.config.ts
!vitest.config.ts
!excalidraw-app

I can provide a pull request if you need.


Incorporate Location settings

As of now posts appear as they are posted. Implement some functionality that posts by location. Perhaps use google maps API's to pin down posts based on certain locations.

350


Update the legalization passes

For Spiregg, we want to try a different set of optimizations for legalization.  The idea is limit the number of optimization that are expected to be preformed on the illegal code.  The idea will be to do a thorough copy propagation.  All optimizations must be there to handle some specific problem related to copy propagation.
The new list of optimization will be:

Inlining - Place the definition and use in the same function to enable copy propagation.
Dead function elimination - remove references to private variables in function that are not used.  This will in general leave accesses to private variables in just 1 function.
Private to local - make private variables function scope to make it obvious that all uses are in a single function.
Scalar replacement - Split up aggregates so that copy propagation can act on each member individually.
Multi Store Elimination - Remove the loads and stores and keep values in the intermediate values.  They are easier to deal with because they are in ssa form.  This optimization also does a lot of it own copy propagation.
Insert-extract elimination - Scalar replacement can leave sequences of OpCompositConstruct that are then split up using OpCompositExtract.  This pass does the copy propagation through those.
CFG cleanup - remove branches that are know to always branch in one direction, and propagate the simplified Phi nodes.
Dead code elimination - Cleanup any unused code that could leave remnants of the illegal code.

To keep track of known issues:

HS/DS/GS is not supported right now because of insufficient capability probing #1101
Some pointer-to-pointer types are not cleaned because of lacking of dead type elimination #833

cc @ehsannas @chaoticbob

@antiagainst  pointed out that I might want "Dead branch elimination":
if (true) {
a = ...
} else {
b = ...
}
c = phi(a, b)

I thought cfg cleanup was suppose to clean this up, but apparently not.  @greg-lunarg @dnovillo Can the two of you comment on exactly what each optimization is suppose to do or not do?  How will the constant propagator handle this?

Re --convert-local-access-chains, I am pretty sure that I can write a shader that will depend on this in order to legalize. Let me know if you would like me to write one.

I am not completely up on the capabilities of CFGCleanup or the constant propagator. I can tell you that DBE converts all OpBranchConditionals with a constant condition to the appropriate OpBranch (and removes any newly dead blocks).

On Wed, Dec 20, 2017 at 2:25 PM, Steven Perron<EMAIL_ADDRESS>wrote:

@antiagainst https://github.com/antiagainst pointed out that I might
want "Dead branch elimination":
if (true) {
a = ...
} else {
b = ...
}
c = phi(a, b)
I thought cfg cleanup was suppose to clean this up, but apparently not.
@greg-lunarg https://github.com/greg-lunarg @dnovillo
https://github.com/dnovillo Can the two of you comment on exactly what
each optimization is suppose to do or not do? How will the constant
propagator handle this?

This is a task for CFG cleanup.  CCP leaves these around.  I'll augment CFG
cleanup. This is called for in #889.

What is the reason for "limiting" the number of optimizations for legalization? Is it to reduce compile time? If so, you may be interested in the following:
I took your recipe above (ok, I added --convert-local-access-chains). On my benchmark shader, spirv-opt averaged 0.26s.
I then added --eliminate-local-single-block --eliminate-local-single-store --eliminate-insert-extract --eliminate-dead-code-aggressive --eliminate-dead-branches before --eliminate-local-multi-store. The average time actually went down to 0.19s.
Your mileage may vary. The point is that these can all reduce the work needed to be done by --eliminate-local-multi-store (which is a more expensive algorithm) enough so they pay for themselves and more. LLVM also does single-store and single-block optimizations before doing putting things into SSA form.


Try Puppeteer - ReferenceError: require is not defined

The examples on https://try-puppeteer.appspot.com/ (Try Puppeteer website) that use require do not work. Log: Error running your code. ReferenceError: require is not defined
Steps:

Visit https://try-puppeteer.appspot.com
Select screenshot-fullpage.js in example drop down
Run

There is also message in the console: Failed to load resource: the server responded with a status of 500 (): https://backend-dot-try-puppeteer.appspot.com/run

The missing require is a known issue. That particular sample can't be run as is because we've blocked require usage in in the sandbox.


RuntimeError: null pointer passed for argument "frame_ref"

Required Info

Camera Model
SR300

Firmware Version

Operating System & Version
Ubuntu

Kernel Version (Linux Only)
4.15.0

Platform
Linux

SDK Version
SDK2

I try to read depth image by the following code:
pipeline = rs.pipeline()
pipeline.start()
while True:
    frames = pipeline.wait_for_frames()
    depth  = frames.get_depth_frame()
    depth_data = depth.as_frame().get_data()
    np_image = np.asanyarray(depth_data)

But I run into an error:
Traceback (most recent call last):
  File "demo.py", line 374, in <module>
    depth_data = depth.as_frame().get_data()
RuntimeError: null pointer passed for argument "frame_ref"

Could you please help me? @dorodnic @zivsha @RealSense-Customer-Engineering

Hello @KeCh96 ,
The code doesn't check the return value to establish whether the depth frame is valid.
Please see the python example reference

Hello, @ev-mp .
I tried if not depth: continue, but the error still occurs.
Note that even when I plug out the camera, the code also run into RuntimeError: null pointer passed for argument "frame_ref".

[Realsense Customer Engineering Team Comment]
Hi @KeCh96 ,
I can't reproduce this issue.
Please try again with new version librealsense.

[Realsense Customer Engineering Team Comment]
@KeCh96 Did you get chance to try the latest librealsense? Any good news? Looking forward to your update. Thanks!

In my case I was using 2.14.1
Will try soon with latest...

[Realsense Customer Engineering Team Comment]
Thank you, @drzraf . You are right.
@KeCh96, please enable_stream in config object before pipeline.start, and call pipeline.start with param config.


[Feature]Support JDK 11 compiling

Search before asking

[X] I had searched in the feature and found no similar feature requirement.

Description
Hi all @apache/seatunnel-committers
According to the OpenJDK website(https://adoptopenjdk.net/support.html), there are 3 TLS versions for now
Java 8 (LTS). At Least May 2026
Java 11 (LTS). At Least Oct 2024
Java 17(LTS) TBC[1]
We should make the JDK11 compiling passed. That is the primary agenda when I started this suggestion.
Also, If you have any concerns, please reply.
Usage Scenario
No response
Related issues
No response
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Great! I think we should compile java 11.

Great! I think we should compile java 11.

I tested in jdk11, it failed with scala-maven-plugin execute failed, this may related to scala version.


Remove some stuff dev

Removing demo QSVT

I'm going to leave the demo on dev as it's not bad there either


[URGENT] Fix sanitizer build

DECODER EVP_PKEY: Don't store all the EVP_KEYMGMTs
OSSL_DECODER_CTX_new_by_EVP_PKEY() would keep copies of all the
EVP_KEYMGMTs it finds.
This turns out to be fragile in certain circumstances, so we switch to
fetch the appropriate EVP_KEYMGMT when it's time to construct an
EVP_PKEY from the decoded data instead.  This has the added benefit
that we now actually use the property query string that was given by
the caller for these fetches.
Fixes #13503
MSBLOB & PVK: Make it possible to write EVP_PKEYs with provided internal key
So far, the MSBLOB and PVK writers could only handle EVP_PKEYs with
legacy internal keys.
Specially to be able to compile the loader_attic engine, we use the C
macro OPENSSL_NO_PROVIDER_CODE to avoid building the provider specific
things when we don't need them.
Fixes #13503
DECODER: Adjust the library context of keys in our decoders
Because decoders are coupled with keymgmts from the same provider,
ours need to produce provider side keys the same way.  Since our
keymgmts create key data with the provider library context, so must
our decoders.
We solve with functions to adjust the library context of decoded keys,
and use them.
CORE: Separate OSSL_PROVIDER activation from OSSL_PROVIDER reference
This introduces a separate activation counter, and the function
ossl_provider_deactivate() for provider deactivation.
Something to be noted is that if the reference count goes down to
zero, we don't care if the activation count is non-zero (i.e. someone
forgot to call ossl_provider_deactivate()).  Since there are no more
references to the provider, it doesn't matter.
The important thing is that deactivation doesn't remove the provider
as long as there are references to it, for example because there are
live methods associated with that provider, but still makes the
provider unavailable to create new methods from.
Fixes #13503
Fixes #12157
EVP: Fix memory leak in EVP_PKEY_CTX_dup()
In most error cases, EVP_PKEY_CTX_dup() would only free the EVP_PKEY_CTX
without freeing the duplicated contents.
Fixes #13503

I'm getting issues with the tests on my laptop, like this:
        # INFO:  @ ../master/test/evp_test.c:3166
        # ../../../master/test/recipes/30-test_evp_data/evppkey_dsa.txt:269: Expected SIGNATURE_MISMATCH got DIGESTSIGNFINAL_ERROR
        # 804BC250547F0000:error:0300009C:digital envelope routines:inner_evp_generic_fetch:unsupported algorithm:../master/crypto/evp/evp_fetch.c:345:Global default library context, Algorithm (SHA512 : 150), Properties (<null>)
        # 804BC250547F0000:error:01800078:bignum routines:BN_generate_dsa_nonce:no suitable digest:../master/crypto/bn/bn_rand.c:279:
        # 804BC250547F0000:error:05080003:dsa routines:dsa_sign_setup:BN lib:../master/crypto/dsa/dsa_ossl.c:310:
        # 804BC250547F0000:error:05080003:dsa routines:dsa_do_sign_int:BN lib:../master/crypto/dsa/dsa_ossl.c:177:
        ...
        not ok 1 - ../../../master/test/recipes/30-test_evp_data/evppkey_dsa.txt
    not ok 1 - run_file_tests
../../util/wrap.pl ../../test/evp_test -config ../../../master/test/default-and-legacy.cnf ../../../master/test/recipes/30-test_evp_data/evppkey_dsa.txt => 1
not ok 21 - running evp_test -config ../../../master/test/default-and-legacy.cnf evppkey_dsa.txt
#   Failed test 'running evp_test -config ../../../master/test/default-and-legacy.cnf evppkey_dsa.txt'
#   at ../master/test/recipes/30-test_evp.t line 130.

This makes me think of the recent issues with seed stuff, but I thought @paulidale had fixed it and the fix was merged.  I have no idead what's going on...

I have no idea what's going on...

I got a better idea now, and it has nothing to do with the seed stuff.
Our decoders must adjust the library context of the created keys to match what would come out of the KEYMGMT if it was generated.

Sanitizers still not happy...  that looks like a leak elsewhere, though.

This is becoming a generic fixup PR...  I'll change title and description accordingly

Sanitizers still not happy... that looks like a leak elsewhere, though.

But the leak or at least its appearance seems to be triggered by this PR.

But the leak or at least its appearance seems to be triggered by this PR.

Yeah, something's up, I agree.

Found 1 leak, I hope that's it.

I did a sanitizer run on my laptop, using the exact same setup (apart from no-asm) as the sanitizer build, and it passed.  I do see that it didn't quite succeed on Github CI, there's a failure in test/evp_extra_test2.c, which I can't reproduce for the moment.
I'd be grateful if anyone could take a look at that last bit and help me figure it out

I'd be grateful if anyone could take a look at that last bit and help me figure it out

I can periodically reproduce it with OPENSSL_TEST_RAND_ORDER=0

With this patch I can reliably reproduce this failure even in a build without sanitizers:
diff --git a/test/evp_extra_test2.c b/test/evp_extra_test2.c
index<PHONE_NUMBER>..a78d5059fe 100644
--- a/test/evp_extra_test2.c
+++ b/test/evp_extra_test2.c
@@ -278,9 +278,9 @@ int setup_tests(void)
         return 0;
     }

+    ADD_TEST(test_d2i_PrivateKey_ex);
     ADD_TEST(test_alternative_default);
     ADD_ALL_TESTS(test_d2i_AutoPrivateKey_ex, OSSL_NELEM(keydata));
-    ADD_TEST(test_d2i_PrivateKey_ex);

     return 1;
 }

It looks to me like an instance of #12157

Thanks for the hint, now I can go in and see what can be done about it.

There is no need for trial and error.
When running with OPENSSL_TEST_RAND_ORDER=0, a test failure will print "random seed = nnnnnnn".
Rerunning with OPENSSL_TEST_RAND_ORDER=nnnnnnn will execute the tests in the exact same order.
This should remain true across platforms.

A new commit was added, which fixes #12157, and hopefully make the sanitizers happy.
("It works on my laptop!" -- famous last words)

This is urgent, so it would be nice to get a review soon.

It seems the old failures in the sanitizer are now fixed. There is a new one - leak in the provided test. However this is not a regression caused by this PR as the new failure is there on master already. I did not yet find out which merged PR caused it.

It seems the old failures in the sanitizer are now fixed. There is a new one - leak in the provided test. However this is not a regression caused by this PR as the new failure is there on master already. I did not yet find out which merged PR caused it.

I found that one and added a commit that I hope fixes the issue.

Now it works on my laptop.

Yay, sanitizer CI passes :smile:

Working on review but it will take me some time as the changes are quite non-trivial.

Working on review but it will take me some time as the changes are quite non-trivial.

I'd recommend reading them one commit at a time, that will at least make each change more concise.

I'd recommend reading them one commit at a time, that will at least make each change more concise.

With that in mind, should I perform a squash?

I'd recommend reading them one commit at a time, that will at least make each change more concise.

With that in mind, should I perform a squash?

Yes, please.

With that in mind, should I perform a squash?

Yes, please.

Done

Approved. Setting ready-to-merge as this is urgent.

Setting ready-to-merge as this is urgent.

Thanks.  Will merge now

Merged
054cde175664f3e7c8fe5f753c0a5cb5be75dccc DECODER EVP_PKEY: Don't store all the EVP_KEYMGMTs
e77c13f8b73ff937819d6551ddd616fe01b989d0 MSBLOB & PVK: Make it possible to write EVP_PKEYs with provided internal key
6963979f5c0f95b2152ef74645faa7344e33284d DECODER: Adjust the library context of keys in our decoders
390f9bad69ce19f601abf131ceabf90aedc0d3d5 CORE: Separate OSSL_PROVIDER activation from OSSL_PROVIDER reference
74cd923a78b490d46af9c3dc5c8dc7a741c5e576 EVP: Fix memory leak in EVP_PKEY_CTX_dup()

Thank you, @t8m!


Extra transform interpreter targeting with attributes

Introduce an additional targeting mechanism to the transform dialect interpreter pass. This mechanism makes the pass walk the operation it is running on to find another operation, marked with the transform.iree_tag string attribute with the specified value, that is used as payload root. Similarly, the pass walks either the operation it runs on or the transform IR module when it was loaded externally to find an opreation marked with transform.iree_tag string attribute with the specified value that is used as the container for transform ops.
This connects better to IREE's deeply nested attribute-controlled pass pipeline machinery. It has the immediate benefit of enabling repro generation, also added in this patch. The repro can be dumped to standard debug output stream (when running interactively) or to a file using the -debug-only=iree-transform-dialect-dump-repro or -debug-only=iree-transform-dialect-save-repro command line flag, respectively. The repro command is printed to the standard debug stream.

Not able to review this PR since I only have my phone, so just going off the description. Leaving some place holder comments for now. Feel free to ignore till I get back and am able to look in detail (just leaving some notes for myself)

I am not sure what it meant by "deeply nested attribute controlled pipeline mechanism". There are two attributes and one dynamically nested pass pipeline.
more broadly, given the inherent issues with attribute based mechanism, we have tried my best to make as minimal use of attributes as possible. The hope is that transform dialect would avoid that. So attribute on one op that drives the compilation is what we've been shooting for. That has inherent limitations and we go past that in some cases on GPU compilation. So needing to have additional attributes on other ops is strange. It leads to the question of how do you set these attributes in a more general context.

These questions might be irrelevant, so if they are please ignore. I'll check back when I am back.

I am not sure what it meant by "deeply nested attribute controlled pipeline mechanism". There are two attributes and one dynamically nested pass pipeline.

By deeply nested I mean running on builtin.module(hal.executable(hal.executable.variant(something-else(something-else(...)))), not pass pipelines constructing pass pipelines.

2. more broadly, given the inherent issues with attribute based mechanism, we have tried my best to make as minimal use of attributes as possible. The hope is that transform dialect would avoid that. So attribute on one op that drives the compilation is what we've been shooting for. That has inherent limitations and we go past that in some cases on GPU compilation. So needing to have additional attributes on other ops is strange. It leads to the question of how do you set these attributes in a more general context.

This should probably be clarified in the description: the mechanism does not let one control individual transformations with attributes, it merely indicates where the pass is applied at a slightly finer granularity. That is, the pass is applied to a function with tag attribute "foo" instead of all functions at the given depth. Rest assured, if I were to suggest using attributes for controlling all transformations, I'd delete the transform dialect entirely and call it a failed experiment.
These attributes are not, and arguably shouldn't be, used in the normal lowering flow. They are useful to inject behavior or produce repros for debugging.

These questions might be irrelevant, so if they are please ignore. I'll check back when I am back.

It is certainly relevant to keep an eye out for mistakes so thanks for checking in :)
I added more context to the commit message: this is to greatly enhance debugging and experimentation velocity in REPL mode. It is definitely not something one would use in non-debug mode.

Rest assured, if I were to suggest using attributes for controlling all transformations, I'd delete the transform dialect entirely and call it a failed experiment.

Strong +1, it is the whole point of the exercise.


quick reopen of efficient fsm generation to add unpushed change.

Merging here because I forgot to add one of the earlier reviewed changes.


Make scalar promotion match numpy behavior when scalars are known

Closes #454
Current exceptions are:
bitwise ops, pow, div, floordiv and boolean ops.

Suceeded by #474


event monitor: tests: Allow setting cached hostname

What does this PR do?
When creating spinning the event monitoring, we spend about 5s in each time for trying to fetch the hostname. Since we're in a test context we don't really care about the host name. We allow setting the cached hostname to spare the fetching process.
The PR modifies the NewTestProcessConsumer utility to make it automatic
Motivation
Allow cutting 5s from every test that uses event monitor.
Describe how you validated your changes

Possible Drawbacks / Trade-offs
Additional Notes

/merge


How to implement my own rules?

I saw https://github.com/inaka/elvis#user-defined-rules
How do I write my own rules? I can't seem to find even Elvis' own default rules

You can find examples here and here


Language negotiation error

again sigh... maybe cache-related?

Fixed it by clearing my cookies 🤷♂


Add examples of Third-Party Integrations to the README

The docs don't mention Third-Party Integrations (added in #75); we should add a couple of examples so the users are aware of this feature.

Decision: document integrations in related Issue


[Bug] Minimal Mode toggle remains in settings

Describe the Bug
Toggle for Minimal Mode remains in BetterDiscord settings despite its removal and subsequent replacement by this theme
To Reproduce
Try toggling Minimal Mode
Expected Behavior
Compacted interface as seen in versions ~1mo. ago
Discord Version
Stable 112644 (2dd6bce)
BetterDiscord 1.4.0
Additional Context
Windows 10 64-Bit (10.0.19043)
Reproducible with and without plugins installed/enabled

Minimal mode was removed and its now a separate theme https://betterdiscord.app/theme/MinimalMode

@dav1312 Apologies, thanks for pointing this out!
Edited issue accordingly. Really ought to be removed, all the same.

The button will be removed in the next release along with all appearance settings (https://github.com/BetterDiscord/BetterDiscord/commit/f078e3b2dc7c7f187db5e39f12f857734b166509).
It is normal that you still have it, I just mentioned it because it won't be fixed.

This release was pushed


Can't compile curl-sys v0.4.68+curl-8.4.0 on M1 Pro with Sonoma

Hello, I started a new project with tokio and this library as dependencies, but I'm getting a compilation error for curl-sys v0.4.68+curl-8.4.0 when I try to cargo run.
From what I can see from the dependency tree, curl-sys it's a dependency of isahc, and since this library needs gcc12, I (re)installed it by using brew install gcc@12.
Not sure if this a problem of the latest MacOS update (Sonoma), or if M1 Macs are even supported, can anyone help me debug this or should I open an issue upstream? 🙏

Stack trace
   Compiling curl-sys v0.4.68+curl-8.4.0
The following warnings were emitted during compilation:

warning: curl/lib/cf-socket.c: In function 'do_connect':
warning: curl/lib/cf-socket.c:1114:8: warning: implicit declaration of function '__builtin_available'; did you mean '__builtin_scalbl'?  [-Wimplicit-function-declaration]

  cargo:warning= 1114 |     if(__builtin_available(macOS 10.11, iOS 9.0, tvOS 9.0, watchOS 2.0, *)) {

  cargo:warning=      |        ^~~~~~~~~~~~~~~~~~~

  cargo:warning=      |        __builtin_scalbl

  cargo:warning=curl/lib/cf-socket.c:1114:28: error: 'macOS' undeclared (first use in this function)

  cargo:warning= 1114 |     if(__builtin_available(macOS 10.11, iOS 9.0, tvOS 9.0, watchOS 2.0, *)) {

  cargo:warning=      |                            ^~~~~

  cargo:warning=curl/lib/cf-socket.c:1114:28: note: each undeclared identifier is reported only once for each function it appears in

  cargo:warning=curl/lib/cf-socket.c:1114:33: error: expected ')' before numeric constant

  cargo:warning= 1114 |     if(__builtin_available(macOS 10.11, iOS 9.0, tvOS 9.0, watchOS 2.0, *)) {

  cargo:warning=      |                           ~     ^~~~~~

  cargo:warning=      |                                 )

  exit status: 1

  --- stderr
  fatal: not a git repository (or any of the parent directories): .git

  error occurred: Command "/opt/homebrew/bin/gcc-12" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-2" "-fno-omit-frame-pointer" "-arch" "arm64" "-I" "curl/lib" "-I" "curl/include" "-I" "/Users/mercxry/code/dirty-laundry/target/debug/build/libnghttp2-sys-c8a5d2cb9803c3bb/out/i/include" "-fvisibility=hidden" "-DBUILDING_LIBCURL" "-DCURL_DISABLE_DICT" "-DCURL_DISABLE_GOPHER" "-DCURL_DISABLE_IMAP" "-DCURL_DISABLE_LDAP" "-DCURL_DISABLE_LDAPS" "-DCURL_DISABLE_POP3" "-DCURL_DISABLE_RTSP" "-DCURL_DISABLE_SMB" "-DCURL_DISABLE_SMTP" "-DCURL_DISABLE_TELNET" "-DCURL_DISABLE_TFTP" "-DCURL_STATICLIB" "-DENABLE_IPV6" "-DHAVE_ASSERT_H" "-DOS=\"unknown\"" "-DHAVE_ZLIB_H" "-DHAVE_LONGLONG" "-DHAVE_LIBZ" "-DHAVE_BOOL_T" "-DHAVE_STDBOOL_H" "-DHAVE_GETADDRINFO" "-DHAVE_GETPEERNAME" "-DHAVE_GETSOCKNAME" "-DCURL_DISABLE_NTLM" "-DCURL_DISABLE_FTP" "-DUSE_NGHTTP2" "-DNGHTTP2_STATICLIB" "-DUSE_SECTRANSP" "-DHAVE_BUILTIN_AVAILABLE=1" "-DRECV_TYPE_ARG1=int" "-DHAVE_PTHREAD_H" "-DHAVE_ARPA_INET_H" "-DHAVE_ERRNO_H" "-DHAVE_FCNTL_H" "-DHAVE_NETDB_H" "-DHAVE_NETINET_IN_H" "-DHAVE_NETINET_TCP_H" "-DHAVE_POLL_H" "-DHAVE_FCNTL_O_NONBLOCK" "-DHAVE_SYS_SELECT_H" "-DHAVE_SYS_STAT_H" "-DHAVE_SYS_TIME_H" "-DHAVE_UNISTD_H" "-DHAVE_RECV" "-DHAVE_SELECT" "-DHAVE_SEND" "-DHAVE_SOCKET" "-DHAVE_STERRROR_R" "-DHAVE_SOCKETPAIR" "-DHAVE_STRUCT_TIMEVAL" "-DHAVE_SYS_UN_H" "-DUSE_THREADS_POSIX" "-DUSE_UNIX_SOCKETS" "-DRECV_TYPE_ARG2=void*" "-DRECV_TYPE_ARG3=size_t" "-DRECV_TYPE_ARG4=int" "-DRECV_TYPE_RETV=ssize_t" "-DSEND_QUAL_ARG2=const" "-DSEND_TYPE_ARG1=int" "-DSEND_TYPE_ARG2=void*" "-DSEND_TYPE_ARG3=size_t" "-DSEND_TYPE_ARG4=int" "-DSEND_TYPE_RETV=ssize_t" "-DSIZEOF_CURL_OFF_T=8" "-DSIZEOF_INT=4" "-DSIZEOF_SHORT=2" "-D__APPLE__" "-DHAVE_MACH_ABSOLUTE_TIME" "-DSIZEOF_SSIZE_T=8" "-DSIZEOF_SIZE_T=8" "-DSIZEOF_LONG=8" "-o" "/Users/mercxry/code/dirty-laundry/target/debug/build/curl-sys-6e53359a21003f41/out/build/curl/lib/cf-socket.o" "-c" "curl/lib/cf-socket.c" with args "gcc-12" did not execute successfully (status code exit status: 1)

You're correct - you should raise the issue with curl-sys.
The project should compile and run on AArch64 Macs. I'm doing the development on an M1 Mac with Ventura.

Thanks for confirming that it works with M1 Macs, I just opened an issue upstream, so I'm going to close this 😄


Can't get Google auth working: no primaryInstance authorization provider found in default context when configuring jwt-1

Describe the issue
I have Caddy in front of another HTTP service (on port 3000).  I only want to allow users in my Google Workspace domain to access the application.
Right now I'm just copy/pasting config snippets from the ReadMe.  Caddy starts fine, but when I try and access the server, I get these errors:
2021/03/17 04:04:36.829 ERROR   http.authentication.providers.jwt       authorization provider provisioning error       {"instance_name": "jwt-1", "error": "no primaryInstance authorization provider found in default context when con
figuring jwt-1"}
2021/03/17 04:04:36.829 ERROR   http.handlers.authentication    auth provider returned error    {"provider": "jwt", "error": "no primaryInstance authorization provider found in default context when configuring jwt-1"}

Configuration
Paste full Caddyfile below:
adhoc-1.mycompany-internal.com {
    route /_auth* {
        auth_portal {
            backends {
                google_oauth2_backend {
                    method oauth2
                    realm google
                    provider google
                    client_id XXXXXXXXXXXXXXXXXXXXXXXXXXX.apps.googleusercontent.com
                    client_secret XXXXXXXXXXXXXXXXXXXXXXX
                    scopes openid
                }
            }
        }
    }
    route / {
        jwt {
            auth_url /_auth/oauth2/google
        }
        reverse_proxy localhost:3000
    }
}

Version Information
Provide output of caddy list-modules -versions | grep auth below:
http.authentication.hashes.bcrypt v2.3.0
http.authentication.hashes.scrypt v2.3.0
http.authentication.providers.http_basic v2.3.0
http.authentication.providers.jwt v1.2.7
http.handlers.auth_portal v1.4.5
http.handlers.authentication v2.3.0

Expected behavior
I expected to be sent through the Google auth flow.
Additional context
Add any other context about the problem here.

Found an older answer you had written here: https://caddy.community/t/google-oauth-on-v2/10546
That got me further along.  Will open a different ticket for where I'm stuck now :-)


JupyterLab update

As of right now, Jupyter Lab on the rpi channel is stuck in a pre-alpha version of a computational environment for Jupyter. Any chance an updated build could be done?

An updated version of the jupyterlab package would be good.
JupyterLab version 0.34 and above requires nodejs to build, conda-forge/jupyterlab-feedstock#128.  I'm running into some issues getting the conda-forge nodejs recipe to build on my Raspberry Pi 3+.  If anyone is able to get this working please submit a PR with the recipe.

I was able to build nodejs by disabling parallel builds in make.  Jupyterlab version 0.35.4 is now available in the rpi channel

Thank you so much. My RPi3B+ has become my default machine for teaching the classroom. Your channel has become the fulcrum in leveraging the technology. Thank you.


BUG: fix cluster.vq.kmeans2 with minit='++' for 1D data

Reference issue

Closes gh-9950
What does this implement/fix?

Modify the kmeans++ initialization a bit to make it also work for 1d array.
Additional information

Other initialization methods do not have problem with 1d data.

It is hard to say how well 1D is tested beyond this though, since the adjusted test only seems to check for an absence of error.
Perhaps new issues will crop up now, but I think this looks like an improvement that we can put in.


Enforce mypy checks

Introduction
This PR changes the mypy mode to strict
Changes
Type annotations were added to multiple functions

Codecov Report
Patch coverage: 85.71% and project coverage change: +0.09 :tada:

Comparison is base (d3963f7) 69.68% compared to head (a6ee085) 69.78%.

Additional details and impacted files
@@                   Coverage Diff                   @@
##           pyright_integration      #29      +/-   ##
=======================================================
+ Coverage                69.68%   69.78%   +0.09%
=======================================================
  Files                       26       26
  Lines                     2032     2042      +10
=======================================================
+ Hits                      1416     1425       +9
- Misses                     616      617       +1

Impacted Files
Coverage Δ

src/neurotechdevkit/rendering/layout.py
35.89% <ø> (ø)

src/neurotechdevkit/scenarios/_base.py
77.77% <ø> (ø)

src/neurotechdevkit/rendering/legends.py
47.82% <40.00%> (ø)

src/neurotechdevkit/rendering/_animations.py
38.77% <50.00%> (ø)

src/neurotechdevkit/rendering/simulations.py
25.00% <50.00%> (+1.05%)
:arrow_up:

src/neurotechdevkit/scenarios/_utils.py
94.62% <80.00%> (-0.99%)
:arrow_down:

src/neurotechdevkit/scenarios/_scenario_1.py
85.57% <87.50%> (+0.28%)
:arrow_up:

src/neurotechdevkit/__init__.py
90.90% <100.00%> (ø)

src/neurotechdevkit/rendering/_target.py
34.37% <100.00%> (ø)

src/neurotechdevkit/rendering/layers.py
35.48% <100.00%> (+2.15%)
:arrow_up:

... and 7 more

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Singleton

Single Package project

Pass TS/Lint
Pass Test
Improve test and build time
Update components
Remove default exports
Vanilla CSS

@EdwardIrby, when you get back, let's chat about a possible 2b approach. (Essentially the one that you suggested before and where I see some new potential pro's.)
1. Today

- Mono repo
  - packages/
    - button/
      - package.json
      - src/
    - dropdown/
      - package.json
      - src/

2a. Combining Code

- Single repo, not mono
  - package.json - THE single package
  - src/
    - button/
    - dropdown/

2b. Releasing a single package

- Con:
  - Tooling overhead - mono repo
  - 2 release schedules

- Pro:
  - Easy rollback the idea of singleton package - "doesn't solve the stability problem"
  - 2 release schedules - some teams prefer one or the other
  - Single "latest" npm channel - use single packages for "next" line
    - deps:
      - singleton@1
      - button@25

- Mono repo
  - packages/
    - singleton/ - release 6 months, stable - upgrade culture, event, narrative on improvements
      - package.json
        - button@24 - ^take bug fixes, maybe feature adds?
        - dropdown@12
    - button/ - release whenever
      - package.json
      - src/
    - dropdown/
      - package.json
      - src/


need filter 'eval' execution performance

Hi,
this is about the needfilter/needtable performance in big projects.
Whenever a need filter is used (e.g. in a needtable), the Python builtin eval is used on the filter string to check whether a need fulfills the filter requirement or not. Running eval on every need for each filter string execution is expensive.
In short, I vote for calculating a Python lambda function with eval upfront for each filter string, so eval is only called once for each filter string to reduce build times. Below (simplified) experiment shows that this approach reduces the execution of filtering by a factor of 100.
I did some experiments, here is my Python file:
"""Test for needs filtering."""

import math
import time

NEED_COUNTS = [5000, 10000, 50000]
EXEC_COUNT_PER_FUNC = 10

for need_count in NEED_COUNTS:

    need_to_filter = math.floor(need_count * 7 / 8)
    eval_filter = f"x == {need_to_filter} or x == 1234 or x == 4"
    precalc_eval_func = eval(f"lambda x: x == {need_to_filter} or x == 1234 or x == 4")

    functions = {
        "pure_comprehension": lambda: [x for x in range(1, need_count) if x == need_to_filter or x == 1234 or x == 4],
        "eval_comprehension": lambda: [x for x in range(1, need_count) if eval(eval_filter)],
        "precalc_eval_comprehension": lambda: [x for x in range(1, need_count) if precalc_eval_func(x)],
    }

    for name, function in functions.items():
        start_time = time.time()
        for _ in range(0, EXEC_COUNT_PER_FUNC):
            result = function()
        end_time = time.time()
        print(f"Function {name} executed {EXEC_COUNT_PER_FUNC} times on {need_count} needs:")
        print(f"  output : {result}")
        print(f"  runtime: {end_time - start_time:.3f}s")
    print("\n")

The goal of the example is to run a list comprehension to filter a list of numbers for some specific numbers.
There are 3 cases:

Run a pure list comprehension
Use eval for each execution
Use eval upfront to speed up the comprehension with a user-provided filter condition

Each case is called 10 times to simulate 10 needtables.
Here is the output:
Function pure_comprehension executed 10 times on 5000 needs:
  output : [4, 1234, 4375]
  runtime: 0.011s
Function eval_comprehension executed 10 times on 5000 needs:
  output : [4, 1234, 4375]
  runtime: 1.081s
Function precalc_eval_comprehension executed 10 times on 5000 needs:
  output : [4, 1234, 4375]
  runtime: 0.021s

Function pure_comprehension executed 10 times on 10000 needs:
  output : [4, 1234, 8750]
  runtime: 0.029s
Function eval_comprehension executed 10 times on 10000 needs:
  output : [4, 1234, 8750]
  runtime: 1.966s
Function precalc_eval_comprehension executed 10 times on 10000 needs:
  output : [4, 1234, 8750]
  runtime: 0.037s

Function pure_comprehension executed 10 times on 50000 needs:
  output : [4, 1234, 43750]
  runtime: 0.120s
Function eval_comprehension executed 10 times on 50000 needs:
  output : [4, 1234, 43750]
  runtime: 10.069s
Function precalc_eval_comprehension executed 10 times on 50000 needs:
  output : [4, 1234, 43750]
  runtime: 0.163s

I can observe that a pre-calculated filter string (case 3) has almost the same execution performance as directly running the Python filter (case 1). Calling eval over and over again is significantly slower.
This experiment uses a relatively simple eval function, in reality filter strings can be quite complex and Python will have to come up with an AST for the whole statement on each call of eval to execute it.

Great idea and nice explanation.
Looks like you could also use compile() for the expression.
Here is also a SO topic with some discussions:   https://stackoverflow.com/questions/12467570/python-way-to-speed-up-a-repeatedly-executed-eval-statement

Realized by above commits/PR.

Awesome, thanks!


Domain activation is Failed - [BRIEF DESCRIPTION]

App Id: d2xnyls6l7eg72
Region: us-east-1
Step: Domain activation
Status: Failed

Note: Do not include information that is sensitive in nature such as your domain name, company etc.

Issue/question
A clear and concise description of what the issue/question is.
Error message
If there is an error message, please include it here.
Note: Be sure to check the message for sensitive information.
Additional information
Please add any other relevant information. Please feel free to include screenshots.

It looks like this domain is active and available.  Closing for now, if you are still experiencing issues:
You can try following these steps:

Is this domain connected to a different Amplify App that you own? If so, make sure you are not trying to reuse one of the hostnames.
If you are using www.domain.com on the other app, you cannot use www.domain.com on this app
You can use other hostnames, like blog.domain.com
If you had this domain successfully connected to Amplify and then recently (within the last hour) deleted it, please wait and try again.
Check the Cloudfront console to see if you have this domain deployed to any distributions
If you are positive no CloudFront distribution exists (including in other accounts) using this domain, and only if it would not be disruptive to any currently running services, try deleting and recreating the hosted zone


[NTR] Long COVID

Preferred term label:
long COVID-19
Synonyms
long haul COVID-19
long-haul COVID-19
Definition (free text, please give PubMed ID, if applicable, in format PMID:#######)
COVID-19 characterized by persistent symptoms in patients who recovered from the acute phase of the SARS-CoV-2 infection, which may include fatigue, coughing, dyspnea, clouding of mentation, sleep disturbances, exercise intolerance and autonomic symptoms including tachycardia upon mild exercise or standing, night sweats, temperature dysregulation, gastroparesis, constipation or loose stools, and peripheral vasoconstriction.
This is just a quick first draft, we should refine this
Parent term (use OLS, or your favorite ontology browser)
COVID-19
Refs
https://twitter.com/simoncgordon/status/1321135109572091905
https://jamanetwork.com/journals/jama/fullarticle/2768351
https://n.neurology.org/content/95/13/559.long#T1

@pnrobinson do you have thoughts on this?
thanks!

@nicolevasilevsky I think this is a good cocept for Mondo.
However, the definition may not be always correct "who recovered from the acute phase of the SARS-CoV-2 infection" -- since I some individuals may go directly from acute to long-haul. Here is a slightly revised version:
A chronic disease triggered by acute COVID-19 infection that is characterized by persistent symptoms following the acute phase of the SARS-CoV-2 infection, which may include fatigue, coughing, dyspnea, clouding of mentation, sleep disturbances, exercise intolerance and autonomic symptoms including tachycardia upon mild exercise or standing, night sweats, temperature dysregulation, gastroparesis, constipation or loose stools, and peripheral vasoconstriction.


enable managed prometheus by default.

Signed-off-by: Kenny Leung<EMAIL_ADDRESS>
Summary

Fix: https://github.com/sigstore/scaffolding/issues/154
Ticket Link

Fixes
Release Note

rebased.


Andy hello

I have a question/issue about posting grades for all students, I tried to reach out on your blog and Moodle forum.
Help is needed.
I am trying to use LtiLibrary and post grades to all students under LTI item in the gradebook in Moodle.
For now, I can post only grade for a student that click on the LTI like so,
var result=LtiLibrary.Core.Outcomes.v1.OutcomesClient.PostScore(Request.Form["lis_outcome_service_url"].ToString(), Request.Form["oauth_consumer_key"].ToString(),
ConfigurationManager.AppSettings["SharedSecret"].ToString(), Request.Form["lis_result_sourcedid"].ToString(), 0.40);
The question is how can I post grade for a student with id 22 (for example), my id is 35 and I am trying to replace it, like so...but it does not allow me to post grade . Any ideas?
var result=LtiLibrary.Core.Outcomes.v1.OutcomesClient.PostScore(Request.Form["lis_outcome_service_url"].ToString(), Request.Form["oauth_consumer_key"].ToString(),
ConfigurationManager.AppSettings["SharedSecret"].ToString(), Request.Form["lis_result_sourcedid"].ToString().Replace(""userid":"35"", ""userid":"22""), 0.40);

I do something similar in my Consumer/Provider samples, so it should be possible with Moodle...in theory at least.
Although I am not familiar with Moodle, my guess is that Moodle is preventing one student from posting outcomes for a different student. At least I would do that if I were Moodle.
You might try launching your tool as one of the teachers for course in Moodle.
I hope that helps. If not, I think the folks over at Moodle will have better suggestions since they know the Moodle.

Thanks I did posted on Moodle forum as well. No reply so far.
And also opened the LTI link as a teacher. It does not update score for a different student.

Since LtiLibrary is such a thin layer over the LTI spec, and samples built with the LtiLibrary pass the LTI certification tests, I don't think the problem is in LtiLibrary. Moodle must not like the data you are passing. I'm afraid I don't know anything about Moodle and cannot help you.

ok, thanks. Last question, how to see the error message after posting grades?

If the Tool Consumer includes an error message in its response, it will be in the BasicResult that is returned by PostScore (see BasicResult.Message).

Andy it's me again.
Is there the library function to get lis_result_sourcedid for all students from Moodle?

No there isn't. The library is a pretty thin layer over the IMS spec, and that function is not included in the spec. It is up to the tool provider to keep track of the lis_result_sourcedid and lis_outcome_service_url for each launch and then use the appropriate values when sending outcomes.


4 year old blog post on HPC and MPI vs. Big Data and Spark/Hadoop

This topic has been discussed a lot over the past several years.
I ran across this 4 year old blog post and decided to read it. Having some experience with Spark and Hadoop, I kinda agree with several of its rantings. I found the 26 comments particularly interesting.
I don't honestly know if this is the best/fairst treatment of this topic available but wanted to ask if others could take a look and give it a thumbs up or down as possible curated content.

It is an interesting discussion, no matter which side you're on.  But is this just an HPC thing?  Or is the productivity/sustainability angle here strong enough for BSSw?  I'm not sure.

This was closed due to lack of interest


Epic Task: Replace early list of compos repos with starter based repo

Replace early list of compos repos with starter based repo
Will need to keep the npm version number the same - and ensure gh-pages gets up and running, too.
Also need to ideally minimize downtime to less than 5-10 min.
REPOS TO REPLACE:
Component Packages (GitHub + NPM)

[x] #78
[x] #79

Tailwind Defaults Packages (GitHub + NPM)

[x] #80
[x] #81
[x] #82
[x] #83
[x] #84
[x] #85

epic task resolved


64 bits sdk version

Hello !
We need to integrate S2E lidar to a x64 application.
Is there some work somewhere toward a 64 bits versions of the SDK ? Especially as all USB and serial protocols are by-passed by ethernet option ?

Here one of the parts on how to compile it for x64 project.


error met when using render.js

I made one helloworld using this language, passed the wy-js and made it running, but I was stuck when trying to render one out.

At the beginning, my reports are:

"tokens.push(["num",hanzi2num(tok),i]) TypeError: hanzi2num is not a function"

so I went to the issues and found the guy with 'export' , but it came out with anothor failure.

Then, my reports are:

"Cannot read property 'wy2tokens' of undefined"

at render.js while trying to get the required parser.

After all those struggles, I finally went across by adding two lines to hanzi2num.js as followed:

try{
    module.exports = {hanzi2num, num2hanzi};
}catch(e){}

and I go my pics.

thanks for your language!

my first time writting an issue, maybe somehow confusing... sorry for that.

Thanks, that's work for me

Thanks so much for the detailed report! You found the exact right solution.
The exports lines are accidentally removed in a pull request to add tests to hanzi2num.js:
https://github.com/LingDong-/wenyan-lang/pull/61/commits/5fe4fcd894f14e3b5bf60ec79422ffc348771f44
I just added that fix and pushed the code. Now it should be working fine
535b0148eb52588756fc1aa542b2058f36ef02ae
Thanks.


feat(icons): add gleam filetype icon

[x] I have read CONTRIBUTING.md
[x] I have read CODE_OF_CONDUCT.md

Gleam is a new functional language that runs on Erlang and Javascript targets and I feel like it deserves an icon here for the gleam filetype. In the commit i used nf-fa-star because I think it looks more authentic to the actual Gleam logo. If it really has to be from the nf-md I'll gladly change it, but I feel like the Font Awesome icon is more like the real logo.
Example of it in Oil

Thanks for the PR!

If it really has to be from the nf-md I'll gladly change it, but I feel like the Font Awesome icon is more like the real logo.

If the icon is not specifically designed for its target (like, for example, nf-custom-elixir for Elixir), then it is has to be from nf-md-* class. I think nf-md-star_face seems to be even a better fit for Gleam (based on the logo).

Okay I get that, and I would say you're right with the nf-md-star_face. Made a new commit with that icon instead!

Thanks!
I'll merge it once I am at my "main" machine (hopefully tomorrow).

Yours and a couple of several other similar PRs (for filetype which is one way or another can be a return value of vim.filetype.match()) made me think that initial way of getting all common filetypes (via vim.fn.getcompletion('', 'filetype')) might have been not full enough.
A more labor-intensive digging uncovered 112 more filetypes :scream: (which also includes 'gleam', by the way). So I guess I have slightly more work to do :(

Thanks again for the PR! This should be part of main branch now.

Wow! Thank you both!!

Hello! I'm the creator of Gleam.
I've just tried this out and the icon used isn't the Gleam logo, it's some other star icon. Is it possible to get the correct logo? If not, could we get this reverted please? We don't want to use some other icon in place of our logo.


add single dataset description

Implemented as in #30. Adds various dataset info including its description, authors, and places of publication.
https://github.com/chanzuckerberg/cryoet-data-portal/assets/29165011/f9538568-d715-41ea-a27a-32734cc220d1

check again it should be done already


feat: custom sw without injection point

closes #385

@antfu Added simple example with a default preset for navigation, assets and images: it is the default from Nuxt (I'm working also to include an integration module for Nuxt).
I need to add some docs, uing the sw this way the custom sw should be versioned to detect changes: in the example I just include a timestamp. I think using it with prompt makes no sense, that's why Nuxt always force client claims on the sw template (auto update strategy here).


Do not make queries in Ecto worker

I would like to pick this up by adding more callbacks to the Ecto.Adapters.SQL.Connection behaviour and removing connect, disconnect and query.
defcallback init(any) ::
  {:ok, any} | {:stop, any}

defcallback handle_connect(any) ::
  {:ok, any} | {:stop, any} | {:reconnect, any}

defcallback handle_handshake(any) ::
  {:ok, any} | {:ok, any, timeout | :hibernate} | {:stop, any} | {:reconnect, any}

defcallback handle_query({String.t, list, Keyword.t}, {pid, {pid, any}}, any) ::
  {:reply, any, any} | {:reply, any, any, timeout | :hibernate} |
  {:noreply, any} | {:noreply, any, timeout | :hibernate} |
  {:stop, any, any} | {:stop, any, any, any} |
  {:reconnect, any, any} | {:reconnect, any, any, any}

defcallback handle_info(any, any) ::
  {:noreply, any} | {:noreply, any, timeout | :hibernate} |
  {:stop, any, any} | {:reconnect, any, any}

defcallback code_change(any, any, any) :: {:ok, any}

defcallback terminate(any, any) :: any

This will allow Ecto to wrap the SQL drivers and convert begin/all/rollback/savepoint etc on the same connection process to a query and then call handle_query. begin/rollback would also trigger a monitor/demonitor of the client.
Ecto would also handle the queuing of queries so that only one query is handled at a time - as all the SQL drivers implement this. The from term in handle_query/3 is {caller, {self() tag}}, which allows a message to be sent to self() dequeue the next item on reply. This may change slightly on implementation but the idea will be similar and was stolen from an ack'ing idea of @josevalim.
The reconnect tuples would be used to trigger a reconnection attempt, while maintaining the same state. However all queries would be replied to with an noconnection exception until a successfully connection occurred. It may also do backoff or other features but we can worry about those later.
The above features will:

Merge the Worker and Connection processes
Make drivers independent of pooling strategy (in future can support multiple poolling strategies without changing the driver implementations)
Remove duplicate code between drivers (will tidy up implementations considerably)

Of course if Ecto did all of the above it would make drivers useless outside of Ecto. Therefore before adding this to Ecto there would be an SQLConnection behaviour outside and unrelated to Ecto that adds all the above features except would not handle begin/rollback/etc and would have a more generous handle_query/3 spec. This preliminary work would be done inside a fork of one of the drivers (postgrex @ericmj).
Once completed it would be moved to its own project and then added to other drivers. At this stage if it proves a useful pattern and any kinks have been ironed out we might be able to generalise the behaviour to Connection and rename handle_query so that it is nolonger SQL specific. I know there are several projects that could make use of something like this.
Finally it would be added to Ecto and workers/connections merged.
After that work can begin on supporting multiple pooling strategies.

Please go ahead @fishcakez . I am confident you would do a better job than me and making it SQL independent was on the roadmap too! :heart:


How to update update

hi Etienne,
I see you added a few commands (spot, edge, battery status).
How do I update my existing skill?
Do I simply have to:

Replace the interaction json file in the Alexa developer console with the latest one here
Upload the new deploy.zip into the Lamdba console.

I want to make sure I'm not breaking the skill I set up with your help back 6 months ago.
Thanks,
Jordan.

You are correct, update your Alexa skill's interaction model with the new intents and the lambda function with the new handlers and everything should be already configured. You can add or modify utterances to your liking as well.