feat: allow doctrine/dbal v4

Description
Support doctrine/dbal:^4.0
Closes: https://github.com/ramsey/uuid-doctrine/issues/246
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

PR checklist

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING.md document.
[ ] I have added tests to cover my changes.

@kochen I've created https://github.com/ramsey/uuid-doctrine/pull/253 to show how it could be possible to avoid forcing users to upgrade both packages at once. Feel free to incorporate the changes into your PR.

Thanks @greg0ire - on it...

@greg0ire @ramsey now supporting both dbal v3 (& v2.8) as well as v4!

Hi @greg0ire,
I tried reverting each of the changes I made and they all seem to be required for dbal v4.
Do you have one specific suspect you could point out?

What need to be done here to get this pull request approved @greg0ire @ramsey?

I don't know, I'm not a maintainer of this repository

I don't know, I'm not a maintainer of this repository

Oh, I didn't realize you were just helping with this commit. Let's wait for the maintainer.

I'm a Doctrine maintainer, and I want DBAL 4 to get more adoption, hence my review :)

@greg0ire I think this library will need more work. With this last merge I had a problems, probably because of this: https://github.com/doctrine/dbal/blob/4.0.x/UPGRADE.md#bc-break-changes-to-handling-binary-fields. At this point I am getting decoded string: https://github.com/ramsey/uuid-doctrine/blob/main/src/UuidBinaryOrderedTimeType.php#L72.
I am not sure how this should work with dbal version 4, can you please clarify?

Clarify what? I didn't understand your issue, sorry.

Clarify what? I didn't understand your issue, sorry.

In latest version of DBAL there is a change in handling of the blob fields from database (in my case it's bytea type from PostgreSQL).
So now when I use types from this package I am getting this (with this patch merged):
Doctrine\ORM\ORMInvalidArgumentException raised in file /home/dev/domains/api-dev/vendor/doctrine/orm/src/ORMInvalidArgumentException.php line 44:
Message: The given entity of type 'Api\User\Entity\User' (Api\User\Entity\User@1415) has no identity/no id values set. It cannot be added to the identity map.

This is because of this code:
https://github.com/ramsey/uuid-doctrine/blob/72ac784f1060694f0a412ea9b65a3b30fe79ec26/src/UuidBinaryOrderedTimeType.php#L72-L74
I am getting stream in uuid and it's not string so it's being nulled.

I am getting stream in uuid

The upgrade guide you mentioned says: "Binary fields are no longer represented as streams in PHP. They are represented as strings." so now I'm confused as to why you are getting a stream.

I am getting stream in uuid

The upgrade guide you mentioned says: "Binary fields are no longer represented as streams in PHP. They are represented as strings." so now I'm confused as to why you are getting a stream.

This is why I asked, package versions are looking good to me:
$ composer show | grep doctrine/*
Composer could not detect the root package () version, defaulting to '1.0.0'. See https://getcomposer.org/root-version
doctrine/annotations                           2.0.1              Docblock Annotations Parser
doctrine/collections                           2.2.1              PHP Doctrine Collections library that adds additional functionality on top of PHP arrays.
doctrine/common                                3.4.4              PHP Doctrine Common project is a library that provides additional functionality that other Doctr...
doctrine/data-fixtures                         1.7.0              Data Fixtures for all Doctrine Object Managers
doctrine/dbal                                  4.0.1              Powerful PHP database abstraction layer (DBAL) with many features for database schema introspect...
doctrine/deprecations                          1.1.3              A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disabl...
doctrine/event-manager                         2.0.0              The Doctrine Event Manager is a simple PHP event system that was built to be used with the vario...
doctrine/inflector                             2.0.10             PHP Doctrine Inflector is a small library that can perform string manipulations with regard to u...
doctrine/instantiator                          2.0.0              A small, lightweight utility to instantiate objects in PHP without invoking their constructors
doctrine/lexer                                 3.0.1              PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.
doctrine/migrations                            3.7.4              PHP Doctrine Migrations project offer additional functionality on top of the database abstractio...
doctrine/orm                                   3.1.2              Object-Relational-Mapper for PHP
doctrine/persistence                           3.3.2              The Doctrine Persistence project is a set of shared interfaces and functionality that the differ...
dotkernel/dot-data-fixtures                    1.1.3              Provides a CLI interface for listing & executing doctrine data fixtures
dotkernel/dot-doctrine-metadata                3.2.2              DotKernel wrapper that sits on top of mezzio-hal package and resolves the doctrine proxy issues.
ramsey/uuid-doctrine                           dev-main e91146a   Use ramsey/uuid as a Doctrine field type.
roave/psr-container-doctrine                   5.1.0              Doctrine Factories for PSR-11 Containers

convertToPhpValue here https://github.com/doctrine/orm/blob/f79d166a4e844beb9389f23bdb44abdbf58cec38/src/Internal/Hydration/AbstractHydrator.php#L320 called with stream as value, not string as per upgrade guide.
For this uuid package I just added:
$r = stream_get_contents($value);

Which is returning me string b6606896-3a24-11ee-96a0-db08812a60d3. This is also not good by the way, because later this library is attempting to decode string and exception here: https://github.com/kochen/uuid-doctrine/blob/b149bea434024b03f3e76681b27891d9a03a492d/src/UuidBinaryOrderedTimeType.php#L80-L86
Does it makes sense to create an issue in doctrine/orm? @greg0ire maybe you have an idea what might be the reason?

I don't know, I still don't understand.

convertToPhpValue here<EMAIL_ADDRESS>called with stream as value, not string as per upgrade guide.

For instance here, you sentence is not syntactically valid, you're not quoting what part of the upgrade guide is relevant to that line, or why this is important, or even why you know that method is called with a stream.

For this uuid package I just added:

Great, but where did you add this? I have no idea…

@greg0ire I am really sorry for that - seems like I am just sharing my thoughts that looks random to you.
Let me start from the beginning:
I've merged this pull request to be able to use doctrine/dbal v4, I have an entity where I have this annotation for an id property:
#[ORM\Id]
#[ORM\Column(name: 'uuid', type: 'uuid_binary_ordered_time', unique: true)]
#[ORM\GeneratedValue(strategy: 'CUSTOM')]
#[ORM\CustomIdGenerator(class: \Ramsey\Uuid\Doctrine\UuidOrderedTimeGenerator::class)]
protected ?UuidInterface $uuid;

And I started to get an exception which I've mentioned before:
Doctrine\ORM\ORMInvalidArgumentException raised in file /home/dev/domains/api-dev/vendor/doctrine/orm/src/ORMInvalidArgumentException.php line 44:
Message: The given entity of type 'Api\User\Entity\User' (Api\User\Entity\User@1415) has no identity/no id values set. It cannot be added to the identity map.

So in the process of figuring out what is happened I've got into this inconsistency. An upgrade guide is mentioning that "Binary fields are no longer represented as streams in PHP. They are represented as strings.". Yet I am getting resource (stream) in the type method that is responsible for converting database value to php value (convertToPhpValue).
I've checked packages versions, I am using the correct ones:
$ composer show | grep doctrine/*
Composer could not detect the root package () version, defaulting to '1.0.0'. See https://getcomposer.org/root-version
doctrine/annotations                           2.0.1              Docblock Annotations Parser
doctrine/collections                           2.2.1              PHP Doctrine Collections library that adds additional functionality on top of PHP arrays.
doctrine/common                                3.4.4              PHP Doctrine Common project is a library that provides additional functionality that other Doctr...
doctrine/data-fixtures                         1.7.0              Data Fixtures for all Doctrine Object Managers
doctrine/dbal                                  4.0.1              Powerful PHP database abstraction layer (DBAL) with many features for database schema introspect...
doctrine/deprecations                          1.1.3              A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disabl...
doctrine/event-manager                         2.0.0              The Doctrine Event Manager is a simple PHP event system that was built to be used with the vario...
doctrine/inflector                             2.0.10             PHP Doctrine Inflector is a small library that can perform string manipulations with regard to u...
doctrine/instantiator                          2.0.0              A small, lightweight utility to instantiate objects in PHP without invoking their constructors
doctrine/lexer                                 3.0.1              PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.
doctrine/migrations                            3.7.4              PHP Doctrine Migrations project offer additional functionality on top of the database abstractio...
doctrine/orm                                   3.1.2              Object-Relational-Mapper for PHP
doctrine/persistence                           3.3.2              The Doctrine Persistence project is a set of shared interfaces and functionality that the differ...
dotkernel/dot-data-fixtures                    1.1.3              Provides a CLI interface for listing & executing doctrine data fixtures
dotkernel/dot-doctrine-metadata                3.2.2              DotKernel wrapper that sits on top of mezzio-hal package and resolves the doctrine proxy issues.
ramsey/uuid-doctrine                           dev-main e91146a   Use ramsey/uuid as a Doctrine field type.
roave/psr-container-doctrine                   5.1.0              Doctrine Factories for PSR-11 Containers

Does this makes more sense to you?

Thanks for taking a step back, things are starting to get clearer.

Yet I am getting resource (stream) in the type method that is responsible for converting database value to php value (convertToPhpValue).

Where exactly in the method? Looking at https://github.com/doctrine/dbal/commit/9c36d219140bbbb1e57466f945037ef4fc35f09c, I'd say it's fine to see a stream inside the method, so long as a string is always returned by that method in the end. Looking at the code, I'd say that's always the case.

Thanks for taking a step back, things are starting to get clearer.

Yet I am getting resource (stream) in the type method that is responsible for converting database value to php value (convertToPhpValue).

Where exactly in the method? Looking at doctrine/dbal@9c36d21, I'd say it's fine to see a stream inside the method, so long as a string is always returned by that method in the end. Looking at the code, I'd say that's always the case.

Judging by this assumption, this pull request is not really doing what it's meant to be doing. Specifically, in that library, at this link:
https://github.com/kochen/uuid-doctrine/blob/b149bea434024b03f3e76681b27891d9a03a492d/src/UuidBinaryOrderedTimeType.php#L70-L87
The function convertToPhp of the type is checking if a string was passed as a value, but it will always be false as a resource is returned.
Am I correct?

Update: seems like it's mentioned issue and it's valid for PostgreSQL platform: https://github.com/ramsey/uuid-doctrine/issues/225. Just because I used dbal 4 for new project I thought it's related to this update.
@greg0ire isn't it doctrine thing, that it is handled differently for PostgreSQL platform?
There is a pull request that is fixing it (same as I fixed it for myself): https://github.com/ramsey/uuid-doctrine/pull/229.

Ok, so this has nothing to do with DBAL v4 support, right?

I guess it's not related to the new version of dbal, just a coincidence for me.

Ok, then I will hide all my messages, and I suggest you do the same.

This looks good, but it's failing the static analysis checks, and I don't have time to investigate. Can you look into it?

This looks good, but it's failing the static analysis checks, and I don't have time to investigate. Can you look into it?

@ramsey all the issues are related to the unsupported PHP 7.4
Is there any plan to drop support for it? doctrine/dbal:4 expects PHP > 8.1 anyway...

@ramsey could you approve the workflow again?

@ramsey Could you spare some time to take a look at this? Thanks in advance.


As a user a want to get early access to the tool

Add button “Try now” on the landing page to direct to /dev

It was decided to colocate the logic in LP, i.e. users won't be redirected to the app route.


Mark this project as deprecated

This project is deprecated and no longer supported. That's why it must be marked as deprecated and not supported in the Readme.

Project not maintained anymore.


Misc updates in Firefox 81

Acceptance criteria
The following bugs are dev-doc-complete, BCD is updated, an entry to Firefox release notes is added, experimental features page is updated, the content has been reviewed as needed.

[x] [meta] Enable desktop zooming on the nightly channel — not much to do here. Check whether the description in the Experimental features page (added by sebo, cheers!) is correct.

Estimated total: Half an hour

This one is done; see https://bugzilla.mozilla.org/show_bug.cgi?id=1620055#c22


docs(www): Set correct colors for card in darkmode

Changed to be the same colors as the template.  With the current css the card background is always white

Im still having the issue with cards not showing dark mode, using latest CLI


nette-rabbitmq as internal 'extension'

Hello,
i have one problem with queue/consumer definition in config. If the configuration is in main config.neon (root/app/config/config.neon) everything is ok. But i need the configuration in different config (root/libs/Ext/src/DI/ext_config.neon). When i move it into 'extension' config it doesnt work:
Gamee\RabbitMQ\Producer\Exception\ProducerFactoryException
Producer [testProducer] does not exist

I have some parts of app like small extensions (root/libs).
All services (consumer and queue) is at the same config (ext_config.neon) like configuration.
Any way or ideas how this could work?
Thank you very much
// root/libs/Ext/src/DI/ext_config.neon
services:
	# rabbitMQ
	- Ext\RabbitMq\Consumer\TestConsumer
	- Ext\RabbitMq\Queue\TestQueue(@Gamee\RabbitMQ\Client::getProducer(testProducer))

rabbitmq:
    connections:
        default:
            user: guest
            password: guest
            host: localhost
            port: 5672

    queues:
        testQueue:
            connection: default
            autoCreate: true

    producers:
        testProducer:
            queue: testQueue
            contentType: application/json
            deliveryMode: 2 # Producer::DELIVERY_MODE_PERSISTENT

    consumers:
        testConsumer:
            queue: testQueue
            callback: [@Ext\RabbitMq\Consumer\TestConsumer, consume]
            qos:
                prefetchSize: 0
                prefetchCount: 10

// root/libs/Ext/src/DI/ExtExtension.php
<?php

namespace Ext\DI;

use Nette;

class ExtExtension extends Nette\DI\CompilerExtension {

    public function loadConfiguration() {

        $config = $this->loadFromFile(__DIR__ . '/ext_config.neon');
        $config = Nette\DI\Helpers::expand($config, $this->validateConfig($this->config));

        Nette\DI\Compiler::loadDefinitions(
            $this->getContainerBuilder(),
            $config['services'],
            $this->name
        );
    }
}

I solved it already.


Fix: Replace all currentColor attributes with black

on my vagrant test instance ./bin/tex2png 'E=mc^2' produces

Published as v0.6.3


Coordinate Conversion does not support diaeresis and double acute accent symbol for seconds-mark (ArcMap)

The addin currently supports all other symbols for degrees, minutes, and seconds (see http://desktop.arcgis.com/en/arcmap/10.3/tools/data-management-toolbox/supported-notation-formats.htm) except for the following symbols:

Diaeresis  ¨  (U+00A8)
Double Acute Accent ˝ (U+02DD)

@nfeuerstein @topowright I have noted this limitation n the addin doc topic about what coordinate notations are supported.

Closing. No user requirement.


BUG: Loose != None is permitted in volume source spaces

I am wondering how the loose parameter are used with volume or mixed source spaces. It is possible to make an inverse operator with a volume source space with loose not being None. The log says "Converting to surface-based source orientations" even with volume source space. But is that really what one wants to have? I think that while using a mixed source space it could be useful to apply loose to surface based source spaces as a cortical constraint, but not to volume source spaces. But I don't see in the code that MNE discriminates between types of source spaces while applying the loose parameter. Any hints?

you cannot use ori and loost with a volume source space

But is there a test or is it set automatically anywhere? Does that imply that loose is not possible in mixed source spaces?

no it should crash. If it's not the case it needs a fix.

It is possible to run plot_mixed_source_space_inverse.py with loose=0.2 and depth=0.8 without crash.

is it simply ignored then?

The log says "Creating the depth weighting matrix..." and "Applying loose dipole orientations. Loose value of 0.2.", so it doesn't seem to be ignored.

Dup of #2163. Keeping this open and re-titling as a bug

this needs a fix :(

Sure, but whatever fix is implemented needs to be considered in the context of #2163

@haribharadwaj do you have any suggestions?

I think the API proposal was loose=dict(surf=..., discrete=..., volume=...). I'm okay with making loose=float an alias for loose=dict(surf=float, discrete=float, volume=None). This is a backward-incompatible change but probably qualifies as a bugfix.

I'll give it a try

I think we have taken care of this in a recent PR, closing


How to: Reveal additional markers as user zooms in

I am using react-simple-maps show US map (along with Puerto Rico) to display some data points on the map.
I was able to display the data at state level.
Now we need to add ability show data points at city level (close to 26000 markers).
So showing all the markers at zoom level 1 might not be a good UX.
So what I was thinking is initially we display only few markers and as the user starts zooming in, get data points based on the following the current center and a known radius and display them (ref: https://gis.stackexchange.com/questions/258515/show-hide-markers-depending-on-zoom-level).
But am unable to follow through this approach.
Is there any guidance or example of this use case:

Show some primary markers on zoom level 1
As user zooms in calculate the data points based on some pre-defined radius, current center of the map and zoom level and add them to the map.

Thanks

Any updates on this? @Chandu were you able to achieve it? I am looking to do something similar

I found a way to kinda do this based on the example in @Chandu 's example link.
const [zoomLevelShow, setZoomLevelShow] = useState(0)

<ComposableMap>
 <ZoomableGroup
      onMove={(item: any) => {
            // console.log(item);
     setZoomLevelShow(item.zoom);
          }}
        >
     <Geographies>
          ...
        <Marker key={name} coordinates={coordinates}>
            {zoomLevelShow > 3 && (
                    <g>
                    <circle cx="12" cy="10" r="3" />
                  </g>)
       </Marker>
   </Geographies>
</ZoomableGroup>
</ComposableMap>

The link that shows getting values from ZoomableGroup to build your other ideas.


Travis CI build docs

delete gh-pages!

See: https://github.com/opensyllabus/osp-api/pull/86

This was resolved in 0.7.0


Several Items not updateing

Since 2 days the folowing is not updating:
Grid_consumption_today
Generation_today
Grid_feed_in_today
Even after update/ reboot/ etc.

This is an Open API Issue, see https://github.com/alphaess-developer/alphacloud_open_api/issues/82

Thanks for the (very) fast response!

Alpha-ESS fixed the issue.


Build with cargo failing because of vicar-rs

I'm trying to build the kmgill_develop branch of MRU on WSL2 with Ubuntu 22, but I'm running into the following error with the vicar-rs package.
   Compiling vicar v0.1.0 (https://github.com/MarsRaw/vicar-rs.git#7809b34b)
error[E0308]: mismatched types
   --> /home/user/.cargo/git/checkouts/vicar-rs-0180baf7fc99d93d/7809b34/src/lib.rs:593:37
    |
593 |             PixelFormat::Real => Ok(self.reader.read_f32_with_endiness(start, Endian::BigEndian)),
    |                                  -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f32`, found enum `Result`
    |                                  |
    |                                  arguments to this enum variant are incorrect
    |
    = note: expected type `f32`
               found enum `Result<f32, anyhow::Error>`
note: tuple variant defined here

error[E0605]: non-primitive cast: `Result<u8, anyhow::Error>` as `f32`
   --> /home/user/.cargo/git/checkouts/vicar-rs-0180baf7fc99d93d/7809b34/src/lib.rs:586:37
    |
586 |             PixelFormat::Byte => Ok(self.reader.read_u8(start) as f32),
    |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object

error[E0605]: non-primitive cast: `Result<i16, anyhow::Error>` as `f32`
   --> /home/user/.cargo/git/checkouts/vicar-rs-0180baf7fc99d93d/7809b34/src/lib.rs:588:20
    |
588 |                 Ok(self.reader.read_i16_with_endiness(start, Endian::BigEndian) as f32)
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object

error[E0605]: non-primitive cast: `Result<i32, anyhow::Error>` as `f32`
   --> /home/user/.cargo/git/checkouts/vicar-rs-0180baf7fc99d93d/7809b34/src/lib.rs:591:20
    |
591 |                 Ok(self.reader.read_i32_with_endiness(start, Endian::BigEndian) as f32)
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object

error[E0605]: non-primitive cast: `Result<i64, anyhow::Error>` as `f32`
   --> /home/user/.cargo/git/checkouts/vicar-rs-0180baf7fc99d93d/7809b34/src/lib.rs:595:20
    |
595 |                 Ok(self.reader.read_i64_with_endiness(start, Endian::BigEndian) as f32)
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object

Some errors have detailed explanations: E0308, E0605.
For more information about an error, try `rustc --explain E0308`.
error: could not compile `vicar` due to 5 previous errors
warning: build failed, waiting for other jobs to finish...
error: failed to compile `mars_raw_utils v0.7.0 (/home/user/mars-raw-utils)`, intermediate artifacts can be found at `/home/user/mars-raw-utils/target`

OK, I made some changes to the binfilereader in support of solar_ha_processing (SolHAT) and haven't yet updated the other projects. I'll do that shortly. (I need to get better about versioning, branching with these)

And while I'm at it, I'm probably going to merge pvl into vicar-rs

The project has been updated. Run a cargo update then build

Thanks, build ran through as expected.

Ok, I was a bit too quick to close this, I'm running into a new issue in focusmerge.rs
   Compiling mars_raw_utils v0.7.0 (/home/user/mars-raw-utils)
error[E0599]: no method named `unwrap_or` found for type `f32` in the current scope
   --> src/focusmerge.rs:132:52
    |
132 |                 let q = stats::mean(&[q0, q1, q2]).unwrap_or(0.0);
    |                                                    ^^^^^^^^^ method not found in `f32`

For more information about this error, try `rustc --explain E0599`.
error: could not compile `mars_raw_utils` due to previous error
warning: build failed, waiting for other jobs to finish...
error: failed to compile `mars_raw_utils v0.7.0 (/home/user/mars-raw-utils)`, intermediate artifacts can be found at `/home/user/mars-raw-utils/target`

Hmmm, thought I fixed that. Did you do a git pull also?


Allow per-context delegation token override (#79)

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "manipulate",
    "pr-id": "80",
    "commit-sha": "ec6f9c2a8e93c50dbe651b1b8a034eb00e9d1e10"
  },
  {
    "project": "",
    "component": "backend",
    "pr-id": "397",
    "commit-sha": "6308dd05113c2f3e332aa9a8bb77adc77aa22e12"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "backend",
    "pr-id": "397",
    "commit-sha": "6308dd05113c2f3e332aa9a8bb77adc77aa22e12"
  },
  {
    "project": "",
    "component": "manipulate",
    "pr-id": "80",
    "commit-sha": "9be1b54af636f38f1ffcd1edebc71dea960e813a"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "manipulate",
    "pr-id": "80",
    "commit-sha": "9be1b54af636f38f1ffcd1edebc71dea960e813a"
  },
  {
    "project": "",
    "component": "backend",
    "pr-id": "398",
    "commit-sha": "8bd9670d509b60c17e27f390d543b89ce80b0c30"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "manipulate",
    "pr-id": "80",
    "commit-sha": "94673b87f3a16c100bb4918c7bb4216d1a58dff6"
  },
  {
    "project": "",
    "component": "backend",
    "pr-id": "398",
    "commit-sha": "8bd9670d509b60c17e27f390d543b89ce80b0c30"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "backend",
    "pr-id": "398",
    "commit-sha": "8bd9670d509b60c17e27f390d543b89ce80b0c30"
  },
  {
    "project": "",
    "component": "manipulate",
    "pr-id": "80",
    "commit-sha": "94673b87f3a16c100bb4918c7bb4216d1a58dff6"
  }
]


EVP: Preserve the EVP_PKEY id in a few more spots

When working with #12536 and test/evp_extra_test.c, I noticed that SM2 keys weren't possible to "downgrade", because pkey->type was -1...  which is odd, because we know for a fact that there is a corresponding EVP_PKEY_METHOD implementation.
It turned out that, depending on which variant of EVP_PKEY_CTX_new* is used, you might or might not get a proper pkey->type, so for the sake of consistency, I made the code try a little harder.
Also, when EVP_PKEY_CTX_new_from_name() was called, you could end up with an EVP_PKEY_CTX with both ctx->keymgmt and ctx->pmeth being NULL, rendering ctx practically useless.   This is the case for SM2, in the following line:
https://github.com/openssl/openssl/blob/d55d0935deb1a8af9cb9a76bf4ca21da47ba8184/test/evp_extra_test.c#L1823
(that goes undetected by this test)

#12536 needs this

Fixed the Travis failures

Hmmm, Travis reports this test failure.  I can't reproduce it, and suspect it's not relevant for this PR:
    # ERROR:  @ test/evp_test.c:3565
    # Failed to load config ../../test/fips-and-base.cnf
    #
    #
    # Usage: evp_test [options] [file...]
    # Valid options are:
    #  -help           Display this summary
    #  -list           Display the list of tests available
    #  -test val       Run a single test by id or name
    #  -iter int       Run a single iteration of a test
    #  -indent +int    Number of tabs added to output
    #  -seed int       Seed value to randomize tests with
    #  -config infile  The configuration file to use for the libctx
    # file	File to run tests on.
../../util/wrap.pl ../../test/evp_test -config ../../test/fips-and-base.cnf ../../test/recipes/30-test_evp_data/evpciph_des3_common.txt => 1
not ok 29 - running evp_test -config ../../test/fips-and-base.cnf evpciph_des3_common.txt

I closed and opened to kick the CIs.  Perhaps the failure I saw was just a glitch?

It seems everything is smooth now.

This pull request is ready to merge

Merged
509144964ba69b69a90269da52a2dc3acb3149e6 EVP: Preserve the EVP_PKEY id in a few more spots
20d56d6d62d98c3b2649afd2d20e0c2cc39afce1 EVP: Don't shadow EVP_PKEY_CTX_new* error records
08497fc64f688a91d421de74a8498aff33573485 Fix test/evp_extra_test.c


MWPW-155391: Swap footer logic

Feature:

If user is member he will get protected footer.
Protected and public footer can be authored in metadata (footer-soruce for public and footer-loggedin-source for protected)

Resolves: MWPW-155391
LINKS:
Before:

https://stage--dme-partners--adobecom.hlx.page/channelpartners/?georouting=off

After:

https://mwpw-155391-public-footer--dme-partners--adobecom.hlx.page/channelpartners/?georouting=off

@zagi25 nala test pass locally for pr branch


Feature: add Searxng as a self hosted search solution

It's already in the langchain community, but I was wondering how hard it would be to add it to the tools.
Reference:
langchain_community/utilities/searx_search.py - already in the venv from the requirements
https://github.com/searxng/searxng
https://python.langchain.com/docs/integrations/tools/searx_search/
https://docs.searxng.org/dev/search_api

Tried to write a custom tool as well, but can't get it to work :(
Open-WebUI uses search?q=, the Searxng Query URL


Pre-compiled module is missing<EMAIL_ADDRESS>

WARN Pre-compiled module is missing<EMAIL_ADDRESS>WARN Please an file issue at https://github.com/tessel/t2-cli/issues/new with this warning.
WARN
WARN This warning might be caused by one of the following:
WARN
WARN 1. A pre-compiled binary has not yet been built for this module.
WARN 2. The binary didn't compile correctly for the platform that you're developing on.
WARN    Binaries that are Linux-only or even OpenWRT-specific may cause this issue.
WARN    Try to npm install --force the affected module, then rerun your deployment command.
WARN 3. The binary may be platform specific and impossible to compile for OpenWRT.

Pre-compiled modules built and deployed

@rwaldron Thanks for your help.
I am getting the following error now. Can you please have a look.
ERR! { Error: ENOENT: no such file or directory, stat '/home/haider/.tessel/binaries/websocket-1.0.24-Release-node-v48-linux-mipsel/Release/bufferutil.node'
ERR!     at Error (native)
ERR!     at Object.fs.statSync (fs.js:1001:11)
ERR!     at Object.statSync (/home/haider/.npm-global/lib/node_modules/t2-cli/node_modules/graceful-fs/polyfills.js:297:22)
ERR!     at Object.copySync (/home/haider/.npm-global/lib/node_modules/t2-cli/node_modules/fs-extra/lib/copy-sync/copy-sync.js:20:58)
ERR!     at binaryModulesUsed.forEach.error (/home/haider/.npm-global/lib/node_modules/t2-cli/lib/tessel/deployment/javascript.js:405:16)
ERR!     at Map.forEach (native)
ERR!     at Promise (/home/haider/.npm-global/lib/node_modules/t2-cli/lib/tessel/deployment/javascript.js:378:23)
ERR!     at Object.exportables.injectBinaryModules (/home/haider/.npm-global/lib/node_modules/t2-cli/lib/tessel/deployment/javascript.js:370:10)
ERR!     at project.collect (/home/haider/.npm-global/lib/node_modules/t2-cli/lib/tessel/deployment/javascript.js:639:23)
ERR!     at Promise.all.then (/home/haider/.npm-global/lib/node_modules/t2-cli/node_modules/t2-project/lib/index.js:217:7)
ERR!   errno: -2,
ERR!   code: 'ENOENT',
ERR!   syscall: 'stat',
ERR!   path: '/home/haider/.tessel/binaries/websocket-1.0.24-Release-node-v48-linux-mipsel/Release/bufferutil.node' }

That's really strange... What modules did you npm install yourself?

Ok, I see what's going on, but not sure how or why this isn't working correctly. There is a second binary that should be created, which is not being created by the compiler https://github.com/theturtle32/WebSocket-Node/blob/master/binding.gyp#L10-L16

node-pre-gyp doesn't support pre-gyp'ing a module that produces multiple binary objects :|
There's an issue about it, but it doesn't look like this is ever going to be fixed for our needs. With that in mind, I just built the tgz manually and put it on the precompiled module server. You'll need to remove the cached copy first:
cd ~/.tessel/binaries
rm -r websocket-1.0.24-Release-node-v48-linux-mipsel

Thanks it worked for me.


Prevent to store in memory all layers

On my machine, for large images, the RAM is more a constraint than the CPU.
The whole layers are copied in memory.  I tried to fixing this while I was working on #103 .
This is what I did : https://github.com/ChrisCinelli/dive/commit/8e4ea7cb564a273a9937b8ebf47998dc26c68a3f#diff-da07f373046a0a24e67b18699dc15a70
but I had to remove the concurrency since the reader is not thread safe.
By the way,  I also think you have a problem with accessing to the layerMap in processLayerTar at the moment.

Implemented on: https://github.com/ChrisCinelli/dive/tree/feature/cc/do-not-write-image

Yeah, this is something like what I had initially without concurrency. I feel that enough bad side effects have been discovered to ditch concurrency (between memory usage and the concurrent hash access) . Feel free to add a PR for this, it would be a very useful fix, @ChrisCinelli !


Resetting the font to sans-serif for all things print

This fixes an odd character bug in some printers unable to print transport font.

Is there a way we can do this more generically across all of our applications rather than doing it bespoke per application?

Well, when we first discussed this you said I'd need to do this across several apps, which I was about to roll out? Ideally doing it once so it can be shared would be far better. Let's discuss that.

Isn't this done generically across all applications (using the FET typography mixins)? Whitehall is an exception to that behaviour, as it has it's own typography mixins, which causes the problem in the first place.
The short term fix would be to replicate if the is-print font-stack logic from FET in the Whitehall mixins. Longer term I assume we wouldn't want custom typography for Whitehall, as it just another frontend application, right?

I think this is superceded by https://github.com/alphagov/whitehall/pull/1960

:thumbsup:
Will close this.


fix zero-length payload with payload marker

According to RFC7252:

The presence of a marker followed by a zero-length payload MUST be processed as a message format error.

Since Timeout may be omitted, the payload can be actually empty even though requested TLV is not empty. This issue causes Router_5_7_1 pass by chance, for ARM will not process CoAP message with zero-length payload and a Payload Marker.
This PR fix this issue in this case only.

Codecov Report

Merging #1300 into master will increase coverage by 0.34%.
The diff coverage is 0%.

@@            Coverage Diff            @@
##           master   #1300      +/-   ##
=========================================
+ Coverage   69.25%   69.6%   +0.34%
=========================================
  Files         169     169
  Lines       26565   26565
  Branches     3325    3325
=========================================
+ Hits        18398   18490      +92
+ Misses       6751    6667      -84
+ Partials     1416    1408       -8

Impacted Files
Coverage Δ

src/core/thread/network_diagnostic.cpp
4% <ø> (-0.02%)
:x:

third_party/mbedtls/repo/library/ctr_drbg.c
72.05% <ø> (-0.74%)
:x:

src/core/coap/coap_client.cpp
49.7% <ø> (-0.59%)
:x:

src/ncp/ncp_base.cpp
37.57% <ø> (-0.45%)
:x:

src/core/thread/mle_router.cpp
79.44% <ø> (-0.38%)
:x:

src/core/thread/mesh_forwarder.cpp
75.58% <ø> (-0.24%)
:x:

src/core/thread/network_data_leader_ftd.cpp
68.24% <ø> (+0.23%)
:white_check_mark:

src/core/net/ip6.cpp
56.82% <ø> (+0.24%)
:white_check_mark:

src/core/mac/mac.cpp
80.15% <ø> (+1.24%)
:white_check_mark:

src/core/thread/lowpan.cpp
93.72% <ø> (+1.43%)
:white_check_mark:

... and 6 more

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 11c1b49...c9096e4. Read the comment docs.


Add support for arrays, maps and all other types as first arg in min_by and max_by

Bug description
max_by(map(integer, array(bigint)), varchar) fails with
Could not infer intermediate type for aggregate presto.default.max_by

We need to (1) improve error message to include input types and say that this signature is not supported; (2) add support for this signature.
System information
n/a
Relevant logs
No response

Simple repro:
assertQuery("SELECT max_by(array[linenumber], quantity) FROM lineitem");

E20230517 20:55:19.642205 8354891 Exceptions.h:68] Line: /Users/mbasmanova/java/presto/presto-native-execution/velox/velox/exec/Aggregate.cpp:231, Function:intermediateType, Expression:  Could not infer intermediate type for aggregate presto.default.max_by, Source: RUNTIME, ErrorCode: INVALID_STATE


Issue-Add support for eip1191

Automated Review Comments
Issues in src/address.ts:

(16, 'Hardcoded string found')
(41, 'Line exceeds 80 characters')
Issues in src/tx.ts:
(3, 'Line exceeds 80 characters')
(24, 'Line exceeds 80 characters')
(25, 'Line exceeds 80 characters')
(25, 'Hardcoded string found')
(28, 'Hardcoded string found')
(41, 'Line exceeds 80 characters')
(46, 'Line exceeds 80 characters')
(46, 'Hardcoded string found')
(48, 'Line exceeds 80 characters')
(48, 'Hardcoded string found')
(49, 'Line exceeds 80 characters')
(49, 'Hardcoded string found')
(53, 'Line exceeds 80 characters')
(60, 'Line exceeds 80 characters')
(61, 'Line exceeds 80 characters')
(61, 'Hardcoded string found')
(64, 'Hardcoded string found')

I got it.


Update old version referenced in readme

I ran into an issue where I copied the code from the readme which referenced version 0.0.3 which had a bug in it.

:+1:


A lot of smaller changes.

I can open separate PRs for some of these if you prefer.

Update docs in list module.
Update package versions.
Use TryFrom to convert &str into Uri.
Remove Cards::all since it no longer exists.
Stop using crate::util::Uuid alias.
Add all API fields to BulkDataFile struct.
Add FrameEffect::Snow
Add all fields to ScryfallError type.
Run rustfmt.
Box the error in crate::Result to reduce size.
Update/doc fields on Card and Preview objects.
Implement SearchBuilder using Serialize.
Update repository URL.
Update docs and fields for Set.
Comments for BulkDataFile fields.
Comments for List fields.
Comments for Catalogs.
Comments for Rulings.

Btw, I gave you push access so you don't have to work from a fork :slightly_smiling_face:

Thanks!


Restore-SPODataEncryptionPolicy - No synopsis, description and example given

This CmdLet lacks a correct synopsis, description, an example and parameter descriptions

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: f222848e-cf73-4b17-b407-176046075b71
Version Independent ID: 255bffbe-a565-810b-7b5e-d1330d1668b9
Content: Restore-SPODataEncryptionPolicy (sharepoint-online)
Content Source: sharepoint/sharepoint-ps/sharepoint-online/Restore-SPODataEncryptionPolicy.md
Service: sharepoint-powershell
GitHub Login: @trent-green
Microsoft Alias: trgreen

@officedocsbot assign @yogkumgit

@trent-green Please help us with you comment. Thanks

@andikrueger Thank you for reporting this feedback here. This list is focused on content issues and I want to make sure your immediate product issue does not get lost in this list. If you would please open a service ticket the support engineers will be able to identify if there is a bug (highly likely) and escalate to the appropriate product team. We proceed here to close it. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


API: Write v3 subgraph client

Once #42 is completed, we will know the query interface for our subgraph. Even before the subgraph is deployed, we should use these definitions to write our API client for the subgraph. This client should be responsible for querying the subgraph and transforming the data (if necessary) into the data types defined in #46.
This should follow a similar pattern to the v2 client described in packages/server/src/services/uniswap.ts.
In other words, it should:

Be scoped to a single file
Export a stateless query interface
Define query API for each data type, including query parameters (limits/timestamps)
Support the same queries as the V2 subgraph
Do basic error handling (handle non-success status codes or malformed responses and throw errors)

In the future, we may expand or modify the queries, but getting to feature parity with V2 is a good place to start.
Acceptance Criteria:

File packages/server/src/services/uniswap-v3.ts exists in the API codebase
V3 integration exposes same API as v2 service
All queries to the V3 subgraph implemented

Example GraphQL API for v3: http://<IP_ADDRESS>:8000/subgraphs/name/sommelier/uniswap-v3/graphql


Placeholder, hideToolbar, onSelectionChange features

I've made a fix for #12 and removed some not working code.

Thanks a lot, let me review this.

@zenoamaro, is there any simple way to split PR into several?

@zenoamaro, btw, example 3 in the readme not working in React 0.13 because of undefined ref link. Haven't check it in others.

@zenoamaro, any ETA on this PR?

I ended up rewroting event handling to fix issues with controlled / uncontrolled operation, so this, with other changes, makes this PR obsolete a bit.
I'm still interested in your placeholder and custom controls proposals. Could you do a PR for each of them? It's harder to review more than one change at once, especially when there's little time available.
Also, what is it about undefined ref links? Can you open an issue for that?
Thanks!


Bump gomodules-extracted (on branch currently)

See:

https://github.com/dependabot/feedback/issues/617
https://github.com/dependabot/gomodules-extracted/issues/2

If the build goes green I'll cut a new release of gomodules-extracted, and switch to that.


The target framework is not consistent in all projects of a solution

Describe the bug
I ran upgrade-assistant on 60 projects of different types (class library and exe - netframework 4.7.1) part of the same solution but at the end, projects are converted between with the three targets - netstandard2.0, net5.0-windows and net5.0. Why it is not consistently pick the desired target net5.0? And I don't see any pattern of picking the target as some class libraries are netstandard2.0 while some are net5.0-windows
lib1

lib 2

To Reproduce

Exceptions (if any)

Further technical details

Windows version 10 (64-bit)
Include the output of dotnet --list-sdks

3.1.201 [C:\Program Files\dotnet\sdk]
5.0.202 [C:\Program Files\dotnet\sdk]
5.0.203 [C:\Program Files\dotnet\sdk]
5.0.300-preview.21180.15 [C:\Program Files\dotnet\sdk]
6.0.100-preview.3.21202.5 [C:\Program Files\dotnet\sdk]

Include the output of upgrade-assistant --version

0.2.227701+3e878899ae39105a278847a94a7c48f458cada83`

Thanks @jdmeer
I can understand the logic behind choosing the framework. I have checked it in the projects I ran and you are right :)

In my experience it prefers NETStandard2.0 but will pick NET5 if you have a reference to system.web and will pick NET5-windows if you have a reference to system.windows.forms.
I'm sure there a many more rules like this, does anyone know if they're documented somewhere?
It'd be really helpful if you could tell the tool which framework you'd like and then tell you why that isn't possible if necessary.

@jdmeer Your explanation is spot on, Thanks! We have opened #718 for adding more intentional logging on why a specific TFM was chosen.


Externalize vue as a dependency

Externalize MW-supported packages T257827
I can't think of anything else but Vue for now.

Vue is externalized for lib builds by default. I ran into this while working on the storybook PRs. I think we may not need this at all if we go with the default behavior for production builds and --inline-vue in dev mode if necessary.

As suggested, I'll add a few lines about this in "Getting started".


chore: decentralize AmplifyErrorTypes

Issue number, if available:
https://github.com/aws-amplify/amplify-backend/issues/748
Changes

Problem Decoupling dependency between vertical packages and platform-core for error types.
Corresponding docs PR, if applicable:
Validation

Checklist

[ ] If this PR includes a functional change to the runtime behavior of the code, I have added or updated automated test coverage for this change.
[ ] If this PR requires a change to the Project Architecture README, I have included that update in this PR.
[ ] If this PR requires a docs update, I have linked to that docs PR above.
[ ] If this PR modifies E2E tests, makes changes to resource provisioning, or makes SDK calls, I have run the PR checks with the run-e2e label set.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

This is awesome. Thanks!


Add sidebar TOC option to HTML5

Add option to generate a sidebar TOC to HTML5 topic pages.

SASS to handle the TOC is still missing.

Right now my preference would be to implement this in HTML5, but leave it unstyled. This may sound like a weird default, but if you create styled output, you'll probably take e.g. Bootstrap, Foundation, or some other framework into use and we don't want to mandate the use of a given framework. By not providing page layout CSS in html5, we make it easier to provide them in a transtype based on HTML5, something like webhelp that would be HTML5 + Bootstrap + JS.

I'm working on a DITA-OT plugin that adds some Bootstrap specifc elements and classes (based on org.dita-ot.html) to a Markdown/HTML mixed output that directly deploys to a Jekyll instance that is based on Tom's Jekyll Documentation Theme. I'll publish it here: github.com/doctales in a few weeks.


Fix a double free in ca command line

Providing a spkac file with no default section causes a double free.
Thanks to Brian Carpenter for reporting this issue.

Pushed. Thanks.


Remove azservicebus ApplicationInsights-Go requirement

After #23231, Component Governance still flags azservicebus for requiring<EMAIL_ADDRESS>apparently because that version still appears in go mod graph output. The lowest-effort solution that comes to my mind is moving the stress package into a separate module under testdata, like this.

Hm. I don't think moving it under testdata would be right because I want the project to be built along with the module it's testing.
I can think of a couple of other solutions:

Update a fork of appinsights, and then use the fork's commit in the stress project (commits from forks are accessible from the main project)
Migrate over to the OpenTelemetry exporter, which probably has the same issue, but isn't hosted in our repo. I've been wanting to do this one for awhile (based on @lmolkova's enthusiasm) so this might be the better long-term solution.

Migrate over to the OpenTelemetry exporter

I'm very excited about it :) Also would be very surprised if exporter needed yaml.

Looking at the repo I think this might be a case of an indirect dependency of a dependency of a dependency, which might explain why we can't override it like we've tried (maybe). I'm investigating now to see if I can do a cheap fix, then a better one later.

This has been done. We can bring telemetry back using the opentelemetry exporter.


'progress' -> $percent is a float now

Q
A

Bug fix?
no

New feature?
yes

BC breaks?
no

Deprecations?
no

Fixed tickets
fixes #622

Related issues/PRs
#622

License
MIT

What's in this PR?
This PR makes the $percent parameter in the progress event a floating value instead of an integer, up to two decimal points.
Credit for this PR's concept & code should go to sevildevil1990 for coming up with it in this issue.
Why?
This increases the precision of your progress update.
Example Usage
$format = new FFMpeg\Format\Video\X264();
$format->on('progress', function ($video, $format, $percentage) {
    // $percentage might say 25.01% instead of just 25%
    echo "$percentage % transcoded...\n";
});
~~~

trying to get Travis to do CI work …

Would love to see this make its way to a release -- anything we can do to assist?


Submit button when creating a ticket doesn't work.

Submit button when creating a ticket doesn't work.
Steps to reproduce the behavior:

Go to '/tickets'
Try to make a ticket
Click 'Submit'
The Submit will load infinitely, there is an error in the console.

Screenshots

What kind of recaptcha did you use?

What kind of recaptcha did you use?

Recaptcha v3

With cloudflare turnstile it works.


Add node memory and cpu capacity metrics

We can only get node utilizations and reservations for memory and cpu in heapster and they both computed by utilizing node capacities of memory and cpu. However, currently we can not get node capacities for node memory and cpu.
Sometimes the capacity of memory and cpu is necessary in addition to node about usage and reservation for node autoscaling under heterogeneous deploy environment. For example, we have two node, one with 64GB and the other with 128GB. for both 80% utilization, the node with 64GB will still has 12.8GB available, however the node with 128GB will still has 25.6GB. So, we may need the node capacities of memory and cpu to do some additional judgement. :)
In addition to this requirement, the implementation is quiet simple. just a few lines code. :)

Since the RP #1245 has been merged, this issue is closed. :)


Typing checks fails because of empty folders

I'm often working with different git branches, and I may start some ETL steps in one branch, and some other steps in another branch. But when moving from one branch to the other, git keeps all created folders (even if they are empty). Then, running make test fails at the typechecking level because There are no .py[i] files in directory. So I'm wondering, is this specific test necessary? If so, is there a work around?

This is weird, we already exclude all folders without .py files here. Could you please post more info? Also changing the line in typecheck_steps.sh from
only_dirs_with_python_files | xargs -n 1 -P 0 .venv/bin/mypy

to
only_dirs_with_python_files | cat

and running make test again could give us useful info.

I have this branch, where I created a folder rff. When I change to any other branch, the folder rff/2022-09-14 stays empty (well, it actually, it has a __pycache__ folder with .pyc files, but removing it doesn't change anything). If I remove the subfolder 2022-09-14, the folder rff is ignored and make test does not fail. So the problem seems to be that subfolders are not excluded (even if they don't have any .py file inside). So only_dirs_with_python_files() should search recursively for any .py files (or at least one level deeper, to account for the version of the dataset).


jQuery not being loaded with Foundation Build (loads with Foundation Watch)

Expected Behavior

jQuery should be referenced correctly when using both:

$ foundation watch
and
$ foundation build
Current Behavior
jQuery is correctly referenced and working when using $ foundation watch but is not being found when using $ foundation build
Google Chrome console displays the following error:
Uncaught ReferenceError: jQuery is not defined
Possible Solution
N/A
Test Case and/or Steps to Reproduce (for bugs)

Test Case:

How to reproduce:
1.
2.
3.
Context
This breaks all JS on the site as jQuery is unable to be referenced
Your Environment

Foundation version(s) used: 6.4.1
Browser(s) name and version(s): all
Operating System and version (desktop or mobile):
Link to your project:

Checklist (all required):

[x] I have read and follow the CONTRIBUTING document.
[x] This is a bug report or a feature request.
[x] There are no other issues similar to this one.
[x] The issue title is descriptive.
[x] The template is fully and correctly filled.

Never had this issue. Which template and CLI version do you use?

Did you install all dependencies? Please let us know how the project was created.

That's why protocol relative / less URLs should never be used.

I also recommend not using CDNs and host the files locally.


implement any kernel

First part for #738. I'll continue with the all after first review.

Used the cached null counts and added the all kernel. Good to go on my part.

Thanks a lot, @ritchie46 !


OffsetStash and out-of-order messages

I'm a little confused about how to properly use OffsetStash, although I may just have a misunderstanding about Kafka.
Here's my use case: I have a topic of incoming data, consumed by a single goroutine in Golang. This channel parses data off the Kafka topic, and adds it to a second channel, which fans-out to N processors. These processors annotate the data, and then fan-in back to a single goroutine producer, which adds the annotated data to a different Kafka topic. To be crash safe, I don't want to mark any message as consumed until after I have produced the annotated message to the "outgoing" topic.
I was initially going to use an OffsetStash to track ID's as they were produced, and occasionally have the consumer commit them back. However, what I'm not clear about is if this will still result in dropped records on crash.
Consider the following scenario: incoming messages with ID's 1 to 10 come in. Because there are N parallel processors, we get "unlucky" and message 10 is processed first. I add "10" to the OffsetStash and commit latest offset. While messages 1-9 are still processing, the program crashes (and I have not yet added them to the OffsetStash). If I understand OffsetStash correctly, I will have committed an offset of 10, but not yet processed 1-9. Is this correct?
I expect I need to implement some form of my own ID tracking, but I want to make sure this isn't a use case covered by Sarama Cluster before I do.
Thanks, and apologies in advance if I'm totally off base here!

Hey, not totally off-base, no, but this is how Kafka works in general. You "ack" messages (topic/partition/offset) that you have processed with the latest offset being committed. OffsetStash is meant to simplify bulk processing, when you process messages (from multiple partitions) in batches, e.g. you accumulate N messages and stash their offsets, then you update your DB and commit the whole offset batch to Kafka in one go.
Given your use-case, it seems more appropriate to "fan-out" through Kafka + sarama-cluster itself. Increase the number of partitions of your topic to N  and start M parallel sarama-cluster consumers (either in multiple go-routines or even separate, distributed processes). Sarama-cluster will automatically divide the partitions among your consumers (each consumer subscribes to N/M partitions). As the messages from the partitions will arrive in sequential offset order, there is no need implement your own ID tracking.
Hope that helps!

Thanks!


[doc] update nix usage for building docker image

please squash

please squash

done

It appears to me that you still have two commits in one branch.

Please run git rebase to clean the git commit message body.


Upload Image

Hello,
how we can manager uploap image?
The docs from unlayer says that we need to add a callbacks like the this:
unlayer.registerCallback('image', function(file, done) {
  var data = new FormData()
  data.append('file', file.attachments[0])

  fetch('/uploads', {
    method: 'POST',
    headers: {
      'Accept': 'application/json'
    },
    body: data
  }).then(response => {
    // Make sure the response was valid
    if (response.status >= 200 && response.status < 300) {
      return response
    } else {
      var error = new Error(response.statusText)
      error.response = response
      throw error
    }
  }).then(response => {
    return response.json()
  }).then(data => {
    // Pass the URL back to Unlayer to mark this upload as completed
    done({ progress: 100, url: data.filelink })
  })
})

How can we add this feature?
Many thanks

That's currently not possible. PRs are welcome to implement this

What I've done is to upload photo that are sorted on my server, and at the moment it is not configurable.
I needed to force the plug-in directly from .vue files.
Would be helpful to have an option to indicate our root folder where to place image and then provide that information to the api that store image.
Here is the code I've added to your UnlayerEditor.vue

window.unlayer.registerCallback('image', (file, done) => {
                    let data = new FormData();
                    data.append('file', file.attachments[0]);
                    fetch('/api/upload-unlayer', {
                        method: 'POST',
                        headers: {
                            'Accept': 'application/json',
                            'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').getAttribute('content'),
                        },
                        body: data
                    }).then(response => {
                        // Make sure the response was valid
                        if (response.status >= 200 && response.status < 300) {
                            return response.json()
                        }
                        let error = new Error(response.statusText);
                        error.response = response;
                        throw error
                    }).then(data => done({ progress: 100, url: data.url }))
                });

guys, do you meth this upload functionality?

Also, I couldn't find any documentation for image callback/event, can you please provide some?


CSRF checkCSRFinHeaderAndForm fails for multipart

If the submitted form is a multipart form then the check does not trigger and the request is refused even if a proper csrf field is included in the form.

I've started working on it and will come up with PRs soon.

If the fix is binary compatible, series/0.21 would be the best place for it, so we can get it into a stable release sooner.


[Onnx clip]Adding the clip_onnx to our avaible models for faster inference

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
features

What is the current behavior? (You can also link to an open issue here)
no onnx model for clip

What is the new behavior (if this is a feature change)?
we have onnx model for clip model

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
no

Have unit tests been run against this PR? (Has there also been any additional testing?)
not yet

Related Python client changes (link commit/PR here)
no

Related documentation changes (link commit/PR here)
not yet

Other information:
the model passes the performance test on a 50k image dataset
the detailed performance can be checked at link
check this site for available models on huggingface
check this repo for onnx model generation

Please check if the PR fulfills these requirements

[x] The commit message follows our guidelines
[ ] Tests for the changes have been added (for bug fixes/features)
[ ] Docs have been added / updated (for bug fixes / features)

Thanks for your work on this PR @wanliAlex !
Just have a question:
Has this feature (not just the models in isolation) been tested at scale? We need to ensure that indexing and retrieval works as expected as part of the Marqo application.

Yes, the end to end indexing and searching are tested on a 50k image dataset.


[WIP] Support for getattr and setattr

Needed for #302.
And could allow cleaner generic integration of hybrid modules, composed of Golang+Python files.

From the CPython docs, it seems that some logic from grumpy object.__getattribute__ should migrate to __builtins__.getattr, specially the implicit lookup part:
>>> class Meta(type):
...    def __getattribute__(*args):
...       print "Metaclass getattribute invoked"
...       return type.__getattribute__(*args)
...
>>> class C(object):
...     __metaclass__ = Meta
...     def __len__(self):
...         return 10
...     def __getattribute__(*args):
...         print "Class getattribute invoked"
...         return object.__getattribute__(*args)
...
>>> c = C()
>>> c.__len__()                 # Explicit lookup via instance
Class getattribute invoked
10
>>> type(c).__len__(c)          # Explicit lookup via type
Metaclass getattribute invoked
10
>>> len(c)                      # Implicit lookup
10

@trotterdylan I guess this is good for now.
But I do think that getting Python tests count on coverage is so better on the long run that is worth to do this instead of working on Golang coverage to get this merged faster.
As said on this comment, can you elaborate on how do you think this could be done?


To Do List before Wednesday Meeting at 2:30

ML Toolkits to Look at (choose one to look at closely)
RYAN: SciKitLearn, Pybrain
ANDREW: Cafe, Deap
COREY: Keras, TensorFlow, Theanos
Other stuff to do
MICHELLE: Make Software Design file
ANDREW: Read paper on Slack

Notes:
Caffe is coded in C++. That means it's higher performing than python code but might add a layer of ambiguity between us and the algorithms(not that that's a big issue because we already don't know shit). Supposed to be super fast. From reading about Deap, it mostly supports genetic algorithms which are slightly different from neural networks and I don't think it's what we want, so I think we should stay away from Deap.

Pybrain:
-Good for beginners
-Neural networks, unsupervised
-Free and seems useful
-GitHub last commit late 2017
-120/43 open/close
-Really detailed documentation
SciKitLearn
-Used in class
-Seems to specialize in linear models
-Way more information exists, a ton of documentation, examples, support
-1225/4682 open/close
-incorporates with numpy and spicy
Tbh both are probably helpful and sklearn is crazy popular. Pybrain is less popular but really throws around "neural networks" in its documentation and testimonials. I spent a lot more time with Pybrain and I think we should include this for the technology review but it does seem more dated and will likely come with a steeper learning curve.


Android crashes on startup: Didn't find class .MainActivity on path DexPathList

I'm using Flutter with the MultiDex builder enabled for Android and encountered a pretty tricky issue. My app was running without any exceptions but when the video_player package was added it just crashed on startup:
FATAL EXCEPTION: main
Process: com.rsg.anygoal, PID: 5883
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.rsg.anygoal/com.rsg.anygoal.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.rsg.anygoal.MainActivity" on path: DexPathList[[zip file "/data/app/com.rsg.anygoal-tCKWlQXJD-iwdHtVRl0qqA==/base.apk"],nativeLibraryDirectories=[/data/app/com.rsg.anygoal-tCKWlQXJD-iwdHtVRl0qqA==/lib/x86, /data/app/com.rsg.anygoal-tCKWlQXJD-iwdHtVRl0qqA==/base.apk!/lib/x86, /system/lib, /vendor/lib]]
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2679)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
    at android.app.ActivityThread.-wrap11(Unknown Source:0)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6494)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
 Caused by: java.lang.ClassNotFoundException: Didn't find class "com.rsg.anygoal.MainActivity" on path: DexPathList[[zip file "/data/app/com.rsg.anygoal-tCKWlQXJD-iwdHtVRl0qqA==/base.apk"],nativeLibraryDirectories=[/data/app/com.rsg.anygoal-tCKWlQXJD-iwdHtVRl0qqA==/lib/x86, /data/app/com.rsg.anygoal-tCKWlQXJD-iwdHtVRl0qqA==/base.apk!/lib/x86, /system/lib, /vendor/lib]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:125)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
    at android.app.Instrumentation.newActivity(Instrumentation.java:1174)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2669)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
    at android.app.ActivityThread.-wrap11(Unknown Source:0)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6494)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

Later while investigating the issue I tried to disable MultiDex and that seemingly fixed it, but then adding additional flutter package broke the app again, so I decided it's not strictly caused by multiDex and re-enabled it.
Another fix attempt I found in forums was to rename ".MainActivity" to the exact class path "com.*...*.MainActivity" but that did not help either.
Hopefully someone will suggest a possible fix to this! Leaving a few more logs and code snippets I collected during my investigation, which may include clues helpful to you.
Full Android logcat logs: https://pastebin.com/vPs614jj
Flutter pubspec (name and description intentionally omitted):
version: 1.0.6+16
environment:
  sdk: ">=2.1.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter
  cupertino_icons: ^0.1.2
  intl: ^0.15.8
  firebase_core: ^0.4.3+1
  firebase_admob: ^0.9.0+10
  firebase_analytics: ^5.0.9
  firebase_auth: ^0.15.3
  firebase_crashlytics: ^0.1.2+4
  firebase_performance: ^0.3.1+5
  firebase_remote_config: ^0.3.0+1
  firebase_messaging: ^6.0.9
  firebase_dynamic_links: ^0.5.0+9
  cloud_firestore: ^0.13.0+1
  cloud_functions: ^0.4.1+6
  google_sign_in: ^4.1.1
  provider: ^4.0.1
  data_connection_checker: ^0.3.4
  shared_preferences: ^0.5.6
  flutter_markdown: ^0.3.2
  url_launcher: ^5.4.1
  barcode_scan: ^1.0.0
  qr_flutter: ^3.2.0
  share: ^0.6.3+5
  video_player: ^0.10.11+2

dev_dependencies:
  flutter_test:
    sdk: flutter

flutter:
  fonts:
    - family: Raleway
      fonts:
        - asset: fonts/Raleway-Regular.ttf
  uses-material-design: true

Android Manifest:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="$APP_DOMAIN">
    <application android:name="io.flutter.app.FlutterApplication" android:label="$APP_NAME" android:icon="@mipmap/ic_launcher">
        <activity android:name=".MainActivity" android:launchMode="singleTop" android:theme="@style/LaunchTheme" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" android:hardwareAccelerated="true" android:windowSoftInputMode="adjustResize">
            <meta-data android:name="io.flutter.app.android.SplashScreenUntilFirstFrame" android:value="true" />
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
            <intent-filter>
                <action android:name="FLUTTER_NOTIFICATION_CLICK" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="$APP_ADS_ID"/>
        <meta-data
            android:name="com.google.firebase.messaging.default_notification_icon"
            android:resource="@drawable/notification_icon" />
    </application>

    <uses-permission android:name="android.permission.INTERNET"/>
</manifest>

MainActivity.java:
import android.os.Bundle;
import io.flutter.app.FlutterActivity;
import io.flutter.plugins.GeneratedPluginRegistrant;

public class MainActivity extends FlutterActivity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    GeneratedPluginRegistrant.registerWith(this);
  }
}

Flutter doctor output (XCode shouldn't matter):
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, v1.17.5, on Mac OS X 10.15.4 19E287, locale en-BG)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
[!] Xcode - develop for iOS and macOS
    ✗ Xcode installation is incomplete; a full installation is necessary for iOS development.
      Download at: https://developer.apple.com/xcode/download/
      Or install Xcode via the App Store.
      Once installed, run:
        sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
        sudo xcodebuild -runFirstLaunch
[✓] Android Studio (version 3.5)
[✓] VS Code (version 1.46.1)
[✓] Connected device (1 available)

Doing Build -> Clean Project & Rebuild in Android Studio after every single package change in flutter seems to be fixing the startup crash.

Hi @radi-cho
Please try solutions from this https://stackoverflow.com/questions/43435658/didnt-find-class-on-path-dexpathlist
Make sure you are using classpath 'com.android.tools.build:gradle:3.5.0'  and migrate to https://flutter.dev/docs/development/androidx-migration, if you have androix, run it again it would migrate if something is left to migrate
    def multidex_version = "2.0.1"
    implementation "androidx.multidex:multidex:$multidex_version"

This doens't seem to be related to Flutter itself, if the probem persist, it could be project files issue, create a new project with multidex from start and move your code
Thank you

Thanks for the response :)
My findings as well suggest this is not issue with Flutter itself, but occurs after particular Flutter package installations.
After upgrading Gradle and the AndroidX libraries, the crash disappeared and then re-appeared after another Flutter package addition. Then I cleaned (build->clean in the IDE) the android project again and it was fixed once again. So it may be due to some Gradle confusions in my environment and probably it just doesn't compile some classes the right way from time to time.
Closing this as the issue is not consistently persistent and reproducible.
If I have additional findings or question will reopen when needed, so we are helpful to the whole Android/Flutter community :)

I was facing this issue and it was due to my MainActivity.kt not reflecting the correct package name.


Considerations to improve the rust code

Hey,
just wanna start this issue with saying that reading trough this repo and the code, really helped me work on my own parser implementation and gaining somewhat of an understanding of the structure of demo files.
However I noticed some patterns that are not very "rusty" and make the code harder to read IMO, would you be open to accepting a PR with some improvements in this area?
Examples

In the first pass sendtables file the get_propinfo function could early return in/after the first match and then not need the conditional further down.
this condition could be moved into the match above

Yes, the code could use some work and your examples seem reasonable. PR:s are very welcome.


Android schema-related test failure

I recently saw this test failure on the Android CI job when running a CI job with (what I believe to be unrelated) changes: https://ci.realm.io/blue/organizations/jenkins/realm%2Frealm-object-store/detail/PR-396/10/pipeline/36
The offending exception seems to be realm::TableNameInUse. I'll double-check my PR changes to make sure that I'm not accidentally creating metadata tables with the same name, but the failing tests reported by the console don't seem to have anything to do with my changes.
(stuff...)
[41/41] Linking CXX executable tests/tests
+ adb connect emulator
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
connected to emulator:5555
+ timeout 10m adb wait-for-device
+ adb push tests/tests /data/local/tmp
1956 KB/s (62868684 bytes in 31.384s)
+ adb shell /data/local/tmp/tests || echo __ADB_FAIL__
+ tee adb.log
terminate called after throwing an instance of 'realm::TableNameInUse'

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tests is a Catch v1.7.0 host application.
  what():  The specified table name is already in use
Run with -? for options

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tests is a Catch v1.7.0 host application.
Run with -? for options

-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
SharedRealm: coordinator schema cache
  update_schema() to version populated on disk while waiting for the write lock
SharedRealm: coordinator schema cache
  update_schema() to version populated on disk while waiting for the write lock
  updates cache
  updates cache
-------------------------------------------------------------------------------
../tests/realm.cpp:836-------------------------------------------------------------------------------
../tests/realm.cpp:836
...............................................................................

../tests/realm.cpp:1042: FAILED:
  REQUIRE( coordinator->get_cached_schema(cache_schema, cache_sv, cache_tv) )

...............................................................................

../tests/realm.cpp:1022: FAILED:
  {Unknown expression after the reported line}
due to a fatal error condition:
  SIGABRT - Abort (abnormal termination) signal

===============================================================================
with expansion:
  false

test cases:   44 |   43 passed | 1 failed
assertions: 4248 | 4246 passed | 2 failed

Aborted
__ADB_FAIL__
+ grep __ADB_FAIL__ adb.log
__ADB_FAIL__
script returned exit code 1

Hmm...it failed again, which points to an issue on my end (although it's not showing up on any other platform). I'll have to figure out how to set up the environment and run the tests locally.

It also shows up in the CI history for https://ci.realm.io/blue/organizations/jenkins/realm%2Frealm-object-store/activity/PR-415/, so it might not be my fault.

Yes - I noticed that on my PR which seemed completely unrelated. I re-ran it and it passed, which made me think it's something sporadic and haven't investigated it.


After Upgrading Kap Errors out on Kapture

Platform: macOS
Kap Version: 2.1.1
Steps to reproduce:

Upgrade from Kap 1.x to 2.1.1 via the upgrade notification

Restart is irrelevant. This happened both before and after restarting, though trying to kapture before restarting may have made it permanent?

Try to record a katpure

Current behaviour:
Unexpectedly errors out whenever I try to kapture, then sends quite a few other errors once the initial error is dismissed.

Unhandled Promise Rejection
Error: Call `.startRecording()` first
    at Aperture.stopRecording (/Applications/Kap.app/Contents/Resources/app.asar/node_modules/aperture/index.js:141:13)
    at EventEmitter.<anonymous> (file:///Applications/Kap.app/Contents/Resources/app.asar/dist/renderer/js/main.js:205:39)
    at Generator.next (<anonymous>)
    at step (file:///Applications/Kap.app/Contents/Resources/app.asar/dist/renderer/js/main.js:39:191)
    at file:///Applications/Kap.app/Contents/Resources/app.asar/dist/renderer/js/main.js:39:437
    at Promise (<anonymous>)
    at EventEmitter.<anonymous> (file:///Applications/Kap.app/Contents/Resources/app.asar/dist/renderer/js/main.js:39:99)
    at EventEmitter.stopRecording (file:///Applications/Kap.app/Contents/Resources/app.asar/dist/renderer/js/main.js:221:20)

That error was handled here: https://github.com/wulkano/kap/blob/master/app/src/renderer/js/main.js#L148-L163
So, my guess is that it's stuck on an old version. So for some reason, the update didn't work, but the version number was bumped to 2.1.1

You're really good at finding weird errors @bnb 😂 Can you try again by updating to the latest Beta release or to Kap 2.1.2 if you haven't already?

Howdy! I actually have gotten this same error. In this version of Kap (2.1.1) and also in the latest (2.2.0). The only thing I have done is open up Kap and record. Once I attempt to stop a recording, I cannot escape the recording or even get a prompt about the rendering. 😦 I have really liked using Kap but unfortunately due to this, I cannot even make recordings.
Error: Call `.startRecording()` first
    at Aperture.stopRecording (/Applications/Kap.app/Contents/Resources/app.asar/node_modules/aperture/index.js:141:13)
    at EventEmitter.<anonymous> (file:///Applications/Kap.app/Contents/Resources/app.asar/dist/renderer/js/main.js:202:39)
    at Generator.next (<anonymous>)
    at step (file:///Applications/Kap.app/Contents/Resources/app.asar/dist/renderer/js/main.js:39:191)
    at file:///Applications/Kap.app/Contents/Resources/app.asar/dist/renderer/js/main.js:39:437
    at Promise (<anonymous>)
    at EventEmitter.<anonymous> (file:///Applications/Kap.app/Contents/Resources/app.asar/dist/renderer/js/main.js:39:99)
    at EventEmitter.stopRecording (file:///Applications/Kap.app/Contents/Resources/app.asar/dist/renderer/js/main.js:218:20)

Would be great to at the very least identify a workaround for this... @bnb and @maxcell, could you try reinstalling Kap (including uninstalling all plugins and delete anything related to Kap in Application Support)?

@skllcrn I've managed to install the 3.0.0 and everything is working fine there though. 😄

Had to do the same, seems to be working... though I had some similar(ish) errors off and on when I started IIRC. They resolved pretty quickly, though.

I have the same errors with and without plugins, installing the 3.0 didn't solved for me

Hey, I'm having the same error here.
With Version: 2.2.0
Unhandled Promise Rejection Error: Call .startRecording() first     at Aperture.stopRecording (/Applications/Kap.app/Contents/Resources/app.asar/node_modules/aperture/index.js:141:13)     at EventEmitter.<anonymous> (file:///Applications/Kap.app/Contents/Resources/app.asar/dist/renderer/js/main.js:207:39)     at Generator.next (<anonymous>)     at step (file:///Applications/Kap.app/Contents/Resources/app.asar/dist/renderer/js/main.js:39:191)     at file:///Applications/Kap.app/Contents/Resources/app.asar/dist/renderer/js/main.js:39:437     at Promise (<anonymous>)     at EventEmitter.<anonymous> (file:///Applications/Kap.app/Contents/Resources/app.asar/dist/renderer/js/main.js:39:99)     at EventEmitter.stopRecording (file:///Applications/Kap.app/Contents/Resources/app.asar/dist/renderer/js/main.js:223:20)

The only workaround that seems to work in most cases is using the latest [master](https://kap-artifacts.now.sh/master) build @pedromassango, let me know if that works for you too!

Use this link @pedromassango: Download. Once it's finished downloading, open it and follow the instructions to move it your your Applications folder. Once that's done you can open the app and hopefully use it without issues!

Thank you

Did anyone manage to reproduce this with the latest Kap build?

Seems like we're talking about two different issues across several different builds of the app. I'll be closing this issue for now, if you're still seeing any of these issues on the latest release please open a new issue.


systemd-confinement: handle ExecStarts etc being lists

systemd-confinement's automatic package extraction does not work correctly
if ExecStarts ExecReload etc are lists.
Add an extra flatten to make things smooth.
Fixes #96840.
(will need backporting to 20.03 to properly fix it actually)
Motivation for this change
#96840 describes the problem but basically recent nginx update broke confinement for it due to this bug in confinement handling.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Had forgotten mentions: cc @aszlig @flokli @ju1m
Thanks!

Backported to 20.09 in c3dea4d115629971d1200ad8ca32d9a46198a0cc, to 20.03 in e6bc03bea05914de1c14812ccebdd914bf106c0d.

Thanks for the fix!

Thanks for merging and backports! :)


Chapter 21,22, 23

p 763, missing to
"... the main goal is summarize some input data ..." -> "... the main goal is to summarize some input data ..." ?
page 760, typo
The second term is the used by
page 755, typo
using the underlying assumption is that
page 754, typo
"...similar that of words..." -> "...similar to that of words..." ?
page 751, equation 23.8
Given that $Z \in R^{|V| \times d}$, it looks like $Z^T L Z$ is a d x d matrix, which is strange as it is used as a minimization objective. I would suppose that a trace might be missing here. So the objective would look something like this $\min_{Z \in R^{|V| \times d}} tr(Z^T L Z)$. Similarly, in the paragraph following equation 23.8, I do not think that $Z^T L Z = 1/2 \sum_{i,j} W_{i,j} || Z_i -Z_j ||_2^2$ is true, because one is a matrix and the other one is a scalar. Similar comment applies to equation 20.123 in Section 20.4.9.
A minor comment, it seems that there is extra space before Z and a space missing before "s.t." in equation 23.8.
page 737, equation 22.7
equation appears to be $c_i = c_i + \rho(e_{ui} - \lambda b_i)$, but should be $c_i = c_i + \rho(e_{ui} - \lambda c_i)$
page 751 typo
If the input is an weighted binary matrix
page 709
pairwise disimilarity metric

fixed, thanks!


Set controller concurrency to 1 and optimistic lock patching for DedicatedServingComponentScheduler*

DedicatedServingComponentScheduler* Operate over HCs as the driving resource. With current setup it might be possible for 2..10 reconciliations to happen conccurently resulting in those HC competing for Node pairs. This might result in Node pairs being split between different HCs silenty. Optimistic lock would make this discrepancy visible by making a patch request fail if one/both of the Nodes were changed. MaxConcurrentReconciles 1 would prevent the discrepancy from ever happening.

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, use fixes #<issue_number>(, fixes #<issue_number>, ...) format, where issue_number might be a GitHub issue, or a Jira story:
Fixes #
Checklist

[ ] Subject and description added to both, commit and PR.
[ ] Relevant issues have been referenced.
[ ] This change includes docs.
[ ] This change includes unit tests.

/hold
a bit

/lgtm

/test e2e-aws

/close
in favour of https://github.com/openshift/hypershift/pull/4103


Fix discord link in README.md for alt layout discord

The discord link to the alt layout discord in the Readme file is invalid/expired

Also, all three links are expired

Thanks!


Curl command or number of issues

what is this task, can you clarify

gregor reassigned due to inactivity to him and fixed it


[Question]: nebula close connection happened an exception !

Question Validation

[X] I have searched both the documentation and discord for an answer.

Question
I runned the sample code：
https://docs.llamaindex.ai/en/stable/examples/query_engine/knowledge_graph_rag_query_engine.html
I get the response from nebula successfully.
but when the code run finished, happed an exception:
Traceback (most recent call last):
File "xxx\lib\site-packages\llama_index\graph_stores\nebulagraph.py", line 248, in del
File "xxx\lib\site-packages\nebula3\gclient\net\SessionPool.py", line 273, in close
File "xxx\lib\site-packages\nebula3\gclient\net\Session.py", line 288, in _sign_out
File "xxx\lib\site-packages\nebula3\gclient\net\Connection.py", line 205, in signout
File "xxx\lib\site-packages\nebula3\graph\GraphService.py", line 1603, in signout
File "xxx\lib\site-packages\nebula3\graph\GraphService.py", line 1606, in send_signout
AttributeError: 'NoneType' object has no attribute 'CALL'
from the exception, I guess it caused by release nebula connection.,but I don't know how to resolve it !
I used  nebula3-python-3.4.0 and server nebula3.6.

🤖
Hello @gdonlyathw,
Nice to meet you! I'm Dosu, a bot here to assist you with your issues, answer your questions, and guide you on how to contribute to this project. While we're waiting for a human maintainer to assist you, feel free to ask me anything you need help with. I'm here to make your experience with LlamaIndex smoother. Let's get started!
The error you're encountering, AttributeError: 'NoneType' object has no attribute 'CALL', typically happens when a method is being called on an object that is None. This could mean that the object hasn't been properly initialized or that it's been set to None before the method call.
In your case, it seems like the error is occurring when you're trying to close a connection with Nebula. The traceback points to the __del__ method in the nebulagraph.py file of the LlamaIndex library, which is likely where the Nebula connection is being closed.
Unfortunately, without the specific code where you're closing the Nebula connection, it's hard to provide a precise solution. However, you might want to check the part of your code where you're initializing and closing the Nebula connection. Make sure that the object you're calling the method on is not None before calling the method.
If you're still encountering the issue, could you please provide the specific part of your code where you're closing the Nebula connection and where the error occurs? This would help in identifying the exact cause of the issue and providing a more accurate solution.
For reference, you can check the nebulagraph.py file in the LlamaIndex repository.
Sources

llama_index/llms/vllm.py

This response is meant to be useful and save you time. It is not meant to be a precise solution, but rather a starting point for your own research.
Help me be more useful! Please leave a 👍 if this is helpful and 👎 if it is irrelevant.
If you want to continue the conversation, start your reply with @dosu-bot.

I juest use the sample code:

space_name = "llamaindex"
edge_types, rel_prop_names = ["relationship"], [
    "relationship"
]  # default, could be omit if create from an empty kg
tags = ["entity"]  # default, could be omit if create from an empty kg

graph_store = NebulaGraphStore(
    space_name=space_name,
    edge_types=edge_types,
    rel_prop_names=rel_prop_names,
    tags=tags,
)
storage_context = StorageContext.from_defaults(graph_store=graph_store)

Question Validation

[x]  I have searched both the documentation and discord for an answer.

Question
I runned the sample code： https://docs.llamaindex.ai/en/stable/examples/query_engine/knowledge_graph_rag_query_engine.html
I get the response from nebula successfully.
but when the code run finished, happed an exception:
Traceback (most recent call last): File "xxx\lib\site-packages\llama_index\graph_stores\nebulagraph.py", line 248, in del File "xxx\lib\site-packages\nebula3\gclient\net\SessionPool.py", line 273, in close File "xxx\lib\site-packages\nebula3\gclient\net\Session.py", line 288, in _sign_out File "xxx\lib\site-packages\nebula3\gclient\net\Connection.py", line 205, in signout File "xxx\lib\site-packages\nebula3\graph\GraphService.py", line 1603, in signout File "xxx\lib\site-packages\nebula3\graph\GraphService.py", line 1606, in send_signout AttributeError: 'NoneType' object has no attribute 'CALL'
from the exception, I guess it caused by release nebula connection.,but I don't know how to resolve it !
I used nebula3-python-3.4.0 and server nebula3.6.

hello, excuse me，how to solve it ?

I have the same problem, how can I solve it?

same here, does anyone find a solution?

In case it helps, if you close the graph_store._session_pool before your script stops, it prevents this error.  Something like:
graph_store = NebulaGraphStore(
    space_name=space_name,
    edge_types=edge_types,
    rel_prop_names=rel_prop_names,
    tags=tags,
)
storage_context = StorageContext.from_defaults(graph_store=graph_store)

....

graph_store._session_pool.close()

My assumption is that when the __del__ function is called, most of the python environment is already cleared, resulting in the class TMessageType being None.
Not an ideal solution, but helps get around the exception.


UndeliverableException for StreamNotFoundException

We rarely observe the following exception on our servers which crashes the application:
From the stacktrace it looks like the StreamNotFoundException (or at least onError) is emitted twice which is not legal for a Publisher.
The first time may be here: https://github.com/EventStore/EventStoreDB-Client-Java/blob/trunk/db-client-java/src/main/java/com/eventstore/dbclient/AbstractRead.java#L108
and the second time here: https://github.com/EventStore/EventStoreDB-Client-Java/blob/trunk/db-client-java/src/main/java/com/eventstore/dbclient/AbstractRead.java#L113 (this line is in the stacktrace).
Although the ReadSubscription tries to protect against this with an AtomicBoolean so I don't know how this exception can still happen.
There was some exception handling changes here, not sure if they are related: https://github.com/EventStore/EventStoreDB-Client-Java/commit/3fb47014ce22d4cfae2ad209ccde08d393f64126
Forcing JVM exit because Thread[xxxx-xxxx-xxxxx-16,5,main] threw an uncaught exception
io.reactivex.rxjava3.exceptions.UndeliverableException: The exception could not be delivered to the consumer because it has already canceled/disposed the flow or the exception has nowhere to go to begin with. Further reading: https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0#error-handling | com.eventstore.dbclient.StreamNotFoundException
	at io.reactivex.rxjava3.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:372)
	at io.reactivex.rxjava3.internal.observers.BasicFuseableObserver.onError(BasicFuseableObserver.java:96)
	at io.reactivex.rxjava3.internal.operators.observable.ObservableFromPublisher$PublisherSubscriber.onError(ObservableFromPublisher.java:52)
	at com.eventstore.dbclient.ReadSubscription.onError(ReadSubscription.java:39)
	at com.eventstore.dbclient.AbstractRead.lambda$subscribe$1(AbstractRead.java:113)
	at java.base/java.util.concurrent.CompletableFuture.uniExceptionally(CompletableFuture.java:990)
	at java.base/java.util.concurrent.CompletableFuture.uniExceptionallyStage(CompletableFuture.java:1008)
	at java.base/java.util.concurrent.CompletableFuture.exceptionally(CompletableFuture.java:2364)
	at com.eventstore.dbclient.AbstractRead.subscribe(AbstractRead.java:112)
	at io.reactivex.rxjava3.internal.operators.observable.ObservableFromPublisher.subscribeActual(ObservableFromPublisher.java:32)
	at io.reactivex.rxjava3.core.Observable.subscribe(Observable.java:13262)
	at io.reactivex.rxjava3.internal.operators.observable.ObservableFilter.subscribeActual(ObservableFilter.java:30)
	at io.reactivex.rxjava3.core.Observable.subscribe(Observable.java:13262)
	at io.reactivex.rxjava3.internal.operators.observable.ObservableMap.subscribeActual(ObservableMap.java:33)
	at io.reactivex.rxjava3.core.Observable.subscribe(Observable.java:13262)
	at io.reactivex.rxjava3.internal.operators.observable.ObservableDoOnEach.subscribeActual(ObservableDoOnEach.java:42)
	at io.reactivex.rxjava3.core.Observable.subscribe(Observable.java:13262)
	at io.reactivex.rxjava3.internal.jdk8.ObservableMapOptional.subscribeActual(ObservableMapOptional.java:42)
	at io.reactivex.rxjava3.core.Observable.subscribe(Observable.java:13262)
	at io.reactivex.rxjava3.internal.operators.observable.ObservableDoOnEach.subscribeActual(ObservableDoOnEach.java:42)
	at io.reactivex.rxjava3.core.Observable.subscribe(Observable.java:13262)
	at io.reactivex.rxjava3.internal.operators.observable.ObservableOnErrorComplete.subscribeActual(ObservableOnErrorComplete.java:41)
	at io.reactivex.rxjava3.core.Observable.subscribe(Observable.java:13262)
	at io.reactivex.rxjava3.internal.operators.observable.ObservableElementAtMaybe.subscribeActual(ObservableElementAtMaybe.java:32)
	at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5377)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeMap.subscribeActual(MaybeMap.java:41)
	at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5377)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.single.SingleFlatMap.subscribeActual(SingleFlatMap.java:37)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.single.SingleFlatMapMaybe.subscribeActual(SingleFlatMapMaybe.java:38)
	at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5377)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.single.SingleResumeNext.subscribeActual(SingleResumeNext.java:39)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.core.Single.blockingGet(Single.java:3644)
	at com.xxx.xxx.XXXXXX.lambda$xxxxxxxxxx$17(XXXXXXXXX.java:260)
	at io.reactivex.rxjava3.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:43)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledDirectTask.call(ScheduledDirectTask.java:38)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledDirectTask.call(ScheduledDirectTask.java:25)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: com.eventstore.dbclient.StreamNotFoundException: null
	at com.eventstore.dbclient.AbstractRead$1.onNext(AbstractRead.java:62)
	at com.eventstore.dbclient.AbstractRead$1.onNext(AbstractRead.java:48)
	at io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onMessage(ClientCalls.java:478)
	at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1MessagesAvailable.runInternal(ClientCallImpl.java:660)
	at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1MessagesAvailable.runInContext(ClientCallImpl.java:647)
	at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
	at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
	... 3 common frames omitted

Client: 4.3.0

Hey @dosomder,
Can you share some info on your runtime workload when it happens? Is there a situation where you delete a stream while another part of your code is reading from it?

We don't delete a stream in particular but we set maxAge and maxCount.
In this case when the exception happens, we try to read the last event from a stream and expect it to be empty. This is how we read the stream. We handle the StreamNotFoundException in the rxjava chain.
Observable.fromPublisher(
        this.client.readStreamReactive(
            this.getStreamName(),
            ReadStreamOptions.get().fromEnd().backwards().maxCount(1)))
        // Only interested in the actual event
        .filter(ReadMessage::hasEvent)
        .map(ReadMessage::getEvent)
        // Decode event
        .mapOptional(this.translator::decodeEvent)
        // A none existing stream is to be treated as if no events exist
        .onErrorComplete(StreamNotFoundException.class::isInstance);

@YoEight Meanwhile we are on client 5.x and we have not seen this exception in the last 6 weeks on our environments.

Unfortunately, I can assure you that the issue is still there, even if it's scarce. I never managed to reproduce it locally but per RX documentation, the way we just the library in this context is wrong.