[BUG] OpenVDB does not compile with blosc 1.14.2

Environment
Operating System: (e.g. Windows 2019, macOS-10.15, Linux CentOS 7.4) Ubuntu Bionic
Version / Commit SHA: (e.g VDB 7.2, SHA: 1a2b3c4d5e...) OpenVDB7.1
CMake Version: (e.g. 3.18) 3.15.4
Compiler: (e.g. gcc 10, msvc 2019) gcc6
Describe the problem
(A clear and concise description of the encountered issue.)
At line 2481 of openvdb/openvdb/unittest/TestFile.cc, there is a test on c-blosc version to decide if a cast is needed (or not). The current version is compared to 1.15.
But the cast is already needed for 1.14. The line should therefore be changed to:
#if BLOSC_VERSION_MAJOR > 1 || (BLOSC_VERSION_MAJOR == 1 && BLOSC_VERSION_MINOR >= 14)
To Reproduce
Steps to reproduce the behavior:
Setup a fresh Ubuntu bionic machine and try to compile POpenVDB with tests.
Additional context
(Add any other context about the problem here.)

Hey @treepleks thanks for reporting. As of OpenVDB 9.0.0 we've bumped our proposed new blosc minimum to 1.17.0 so I'm going to close this


Simplify cubeb_register_device_collection_changed?

cubeb_register_device_collection_changed seems over complicated, but it's possible I don't understand the reason for it's current design.
As of now, the complexity stems from the ability to register different callbacks for INPUT and OUTPUT via the same API.  The API also supports INPUT|OUTPUT, in which case the same callback is used for both types.
Looking at the history in BMO #1498242, I think we added support for separate INPUT and OUTPUT callbacks to allow the caller to define different behaviour for each device type.
The supplied callback is of the form:  void cubeb_device_collection_changed_callback(cubeb * context, void * user_ptr);.
It seems like this API could be simplified by supporting only a single callback registration, but changing the callback type to void cubeb_device_collection_changed_callback(cubeb * context, void * user_ptr, cubeb_device_type devtype); to allow the implementation to indicate which device type collection has changed.
Looking at the single existing use of the API in Gecko's CubebDeviceEnumerator, the input and output callbacks both call into CubebDeviceEnumerator::AudioDeviceListChanged and pass INPUT or OUTPUT depending on which cubeb_device_collection_changed_callback originated the call.
@achronop (and anyone else that might have an opinion) thoughts?

The enhancement you are describing is fair and it can be adapted easily in CubebDeviceEnumerator. One problem is the API change. Since cubeb hasn't had many users this is not a big issue. Another issue is that we must update all the backends on different platforms which is always cumbersome.
Other than that, I would prefer that cubeb_device_type, in the device callback, will be allowed to be either INPUT or OUTPUT, never INPUT|OUTPUT. I think this is what most platforms support but it would be better if we assert for that.
Overall, I think we should go on and implement it. Simplifying, cubeb makes our life easier. Can you please describe how you plan to implement the changes? Can I help to update the backends?

Other than that, I would prefer that cubeb_device_type, in the device callback, will be allowed to be either INPUT or OUTPUT, never INPUT|OUTPUT.

That sounds like a reasonable request.  Is it for symmetry with cubeb_enumerate_devices? Or do you mind explaining why?
In terms of handling the API change, via a flag day per https://github.com/kinetiknz/cubeb/issues/518#issuecomment-510006191.

Or do you mind explaining why?

I believe it's more straight forward for the client.
On top of that, I would prefer if cubeb guarantees that the callback is referring to one device id.
With input|output is not clear what the behavior is. For example, a device id has input and output side what do you expect, separated input-output callback or one input|output? If 2 device-ids, one input, and one output are removed at once what do you expect one or two callbacks? I would prefer to expect 2 callbacks in both cases.
Finally, from the implementation point of view is easier to implement the separated callback approach rather than the other way around. Especially if the platform does not support input|output notifications. If we continue supporting input|output we will end up having input|output callback wherever the underline platform supports it, and for the same case on another platform, we will have separated callbacks. I think that what we are doing but I have to duple check that.
and yes it's also symmetric to cubeb_enumerate_devices.

On top of that, I would prefer if cubeb guarantees that the callback is referring to one device id.

The current API doesn't do that as far as I understand it.  There's no device id specified in the registration or the callback.
My mental model for this API is that it's used to invalidate any cached device ids (i.e. it's invalidating the entire enumeration result) from cubeb_enumerate_devices - i.e. once you receive a device_collection_changed, you should re-enumerate and act accordingly.

No, the current API does not do that and it is not something that we really need. We use that API to invalidate the cached device list and re-enumerate similar to what you are describing.


operator-sdk bundle validate ./bundle is not returning all errors

Bug Report
What did you do?

create a project
run make bundle
then run, operator-sdk bundle validate ./bundle

What did you expect to see?
I would expect that when I do not inform an optional suite of test the validate would make AlL checks
then, it should fail:
operator-sdk bundle validate ./bundle --select-optional suite=operatorframework

INFO[0000] Found annotations file                        bundle-dir=bundle container-tool=docker
INFO[0000] Could not find optional dependencies file     bundle-dir=bundle container-tool=docker
ERRO[0000] Error: Value : (testhelm.v0.0.1) csv.Spec.Icon elements should contain both data and mediatype

What did you see instead? Under which circumstances?
$   operator-sdk bundle validate ./bundle
INFO[0000] Found annotations file                        bundle-dir=bundle container-tool=docker
INFO[0000] Could not find optional dependencies file     bundle-dir=bundle container-tool=docker
INFO[0000] All validation tests have completed successfully

 operator-sdk bundle validate ./bundle --select-optional name=operatorhub
INFO[0000] Found annotations file                        bundle-dir=bundle container-tool=docker
INFO[0000] Could not find optional dependencies file     bundle-dir=bundle container-tool=docker
ERRO[0000] Error: Value : (testhelm.v0.0.1) csv.Spec.Icon elements should contain both data and mediatype

c/c @estroz

c/c @estroz

@camilamacedo86 you're saying that all optional validators should be run when bundle validate runs without --select-optional? This was explicitly not what we wanted when this feature was implemented, and I continue to think they should not be run by default, since those validators are optional and might actually conflict (in the future). Regardless this is not a bug, but a feature request.
/kind feature
/remove-kind bug
/triage needs-information

@camilamacedo86 you're saying that all optional validators should be run when bundle validate runs without --select-optional? This was explicitly not what we wanted when this feature was implemented, and I continue to think they should not be run by default, since those validators are optional and might actually conflict (in the future). Regardless this is not a bug, but a feature request.
/kind feature
/remove-kind bug
/triage needs-information

Hi @estroz,
Since you have a better context about the feature and based in your point of view could you please help me understand;

What that means get a valid bundle result when we run operator-sdk bundle validate ./bundle without the --select-optional? Is this bundle valid for what if we are not checking what is mandatory to have the bundle pushed to OCP catalogue or opertorhub.io?

Hi @estroz,
Since you have a better context about the feature and based in your point of view could you please help me understand;

What that means get a valid bundle result when we run operator-sdk bundle validate ./bundle without the --select-optional? Is this bundle valid for what if we are not checking what is mandatory to have the bundle pushed to OCP catalogue or opertorhub.io?

A valid bundle is defined by the bundle spec, therefore the "base" (required) validators make sure a bundle conforms to that spec. Optional validators check a superset of requirements of a bundle, ex. for operatorhub.io, but not requirements for a valid bundle.
Consider the following scenario: I want to validate a bundle only to make sure it is a valid bundle accord to the spec. I run
$ operator-sdk bundle validate ./bundle
INFO[0000] Found annotations file                        bundle-dir=bundle container-tool=docker
INFO[0000] Could not find optional dependencies file     bundle-dir=bundle container-tool=docker
ERRO[0000] Error: Value : (testhelm.v0.0.1) csv.Spec.Icon elements should contain both data and mediatype
ERRO[0000] Error: foo validator says your bundle sucks

The error I see corresponds to operatorhub.io and foo validators, but I don't care about these. Now I need to turn off those validators so I can only ensure my bundle is valid according to the spec.
$ operator-sdk bundle validate ./bundle --select-optional name!=operatorhub,name!=foo
INFO[0000] Found annotations file                        bundle-dir=bundle container-tool=docker
INFO[0000] Could not find optional dependencies file     bundle-dir=bundle container-tool=docker
INFO[0000] All validation tests have completed successfully

The more optional validators bundle validate supports, the more name!=<name> I have to specify. This is way worse UX. Furthermore, what if foo and operatorhub validators conflict? Then these two validators can never be run together and bundle validate will always fail by default.

A valid bundle is defined by the bundle spec, therefore the "base" (required) validators make sure a bundle conforms to that spec. Optional validators check a superset of requirements of a bundle, ex. for operatorhub.io, but not requirements for a valid bundle.
Consider the following scenario: I want to validate a bundle only to make sure it is a valid bundle accord to the spec. I run
$ operator-sdk bundle validate ./bundle
INFO[0000] Found annotations file                        bundle-dir=bundle container-tool=docker
INFO[0000] Could not find optional dependencies file     bundle-dir=bundle container-tool=docker
ERRO[0000] Error: Value : (testhelm.v0.0.1) csv.Spec.Icon elements should contain both data and mediatype
ERRO[0000] Error: foo validator says your bundle sucks

The error I see corresponds to operatorhub.io and foo validators, but I don't care about these. Now I need to turn off those validators so I can only ensure my bundle is valid according to the spec.
$ operator-sdk bundle validate ./bundle --select-optional name!=operatorhub,name!=foo
INFO[0000] Found annotations file                        bundle-dir=bundle container-tool=docker
INFO[0000] Could not find optional dependencies file     bundle-dir=bundle container-tool=docker
INFO[0000] All validation tests have completed successfully

The more optional validators bundle validate supports, the more name!=<name> I have to specify. This is way worse UX. Furthermore, what if foo and operatorhub validators conflict? Then these two validators can never be run together and bundle validate will always fail by default.

Hi @estroz,
Really thank you. It makes sense. I push a pr with a little more info to the cmd desc which i think that would not let me have this question in the first place. https://github.com/operator-framework/operator-sdk/issues/4375
closing this one.

Hi @estroz,
Really thank you. It makes sense. I push a pr with a little more info to the cmd desc which i think that would not let me have this question in the first place. https://github.com/operator-framework/operator-sdk/issues/4375
closing this one.


Fix pagination sort and enabling

This PR brings two improvements to pagination. It resolves #24, allowing a script (or user) to enable pagination (via the enablePagination method) after timbles has been initiated on the table.
Secondly, it resolves #25 by not placing off-page rows on the DOM. For my 2300-row test table, with a page size of 100 rows, this means the sorting time is down from roughly 200ms to about 20ms.
Code-wise the following changes have  been made:

The data.$records jQuery object has been replaced with data.tableRows, which is an array of DOM nodes;
Sorting is achieved in sortColumnEvent by recreating this tableRows array;
This array is then either placed on the table body whole, or when pagination is enabled, the first page is loaded;
On calling enablePagination, if no config is present, an empty data.pagination object is created.

Tests for pagination will follow some other time.

Turns out the 10x speedup I mentioned is a bit exaggerated. The following is a result from playing with the Timeline from the Chrome dev tools. Values are averages over 10 sort clicks on the same column (and the cpu set to performance to remove some noise):
Old Code

Sort without pagination 552ms

118ms scripting
434ms rendering

Sort @ 20 Records per page:  162ms

155ms scripting
7ms rendering

Sort @ 100 Records per page:  186ms

167ms scripting
19ms rendering

Sort @ 1000 Records per page: 387ms

202ms scripting
185ms rendering

New Code

Sort without pagination 555ms

115ms scripting
440ms rendering

Sort @ 20 Records per page:  28ms (5.8x faster)

21ms scripting
7ms rendering

Sort @ 100 Records per page:  51ms (3.6x faster)

30ms scripting
21ms rendering

Sort @ 1000 Records per page: 337ms (1.15x faster)

144ms scripting
193ms rendering

Somewhere around an average 4x speedup for reasonably paged results.
The code in goToPage is a bit slower than the detached table body which inserts all rows, so with a sufficiently large page size, it will end up being slower. However, detaching and re-attaching the body also comes with overhead, which would affect typical small page size. And even at 1000 rows per page, the new code is a good bit faster :smiley:

:ship: :santa:
looks/works great!


Add documentation on getting a user's accountId from their handle to …

…the quickstart api doc

Thank you!


Managing Stale Websocket Connections

Note: Also documented on SO here:
https://stackoverflow.com/questions/63639414/how-to-manage-stale-websocket-connections]
Using Python Websockets [1] to manage a set of server-side websocket connections from browser. They must be registered and maintained.
Problem: when User disconnects a stale connection remains present in the registry. Also, if user refreshes browser (1, 2, 17... or n times), or a reconnect script is present, more invalid connections are registered. This creates a big registry of stale connections.
The docs address this issue as follows:

As shown in the synchronization example above, if you need to maintain
a list of currently connected clients, you must register them when
they connect and unregister them when they disconnect.

How are stale connections properly identified and removed? Is some sort of ping/pong scheme required?
I did find the code in [2], but it goes back to 2018. Is this obsolete, or has this issue since been addressed?
Ref:

https://websockets.readthedocs.io/en/stable/intro.html
https://github.com/aaugustin/websockets/issues/414

The example here (https://websockets.readthedocs.io/en/stable/intro.html#registration) removes stale connections:
    finally:
        # Unregister.
        connected.remove(websocket)


clean the project names used for flutter create

clean the project names used for flutter create (fix https://github.com/flutter/flutter/issues/2312)

LGTM


"Most Recent" sorting doesn't show the most recently added assets first

I'm assuming that's what it's supposed to do.

Please keep open.


Fix freemarker rendering validation in 🧅 archi

Issue
https://gravitee.atlassian.net/browse/APIM-3955
Description
When validating if an API has a valid template, the 🧅 architecture was passing a non-ApiModel object to the template engine. This resulted in validation errors for dates, differently named attributes, and missing information that exists in Portal rendering (such as metadata or primaryOwner).
Publishing to portal via MAPI-v2 is now possible:

Template text:
<#if api.picture??>

</#if>

# Welcome to the API ${api.name}(${api.version})!

The API is a ${api.definitionVersion} API. :)

The API is <span style="text-transform: lowercase;color: <#if api.state=='STARTED'>green<#else>red</#if>">${api.state}.

This API has been created on ${api.createdAt?datetime} and updated on ${api.updatedAt?datetime}.

<#if api.deployedAt??>
This API has been deployed on ${api.deployedAt?datetime}.
<#else>
This API has not yet been deployed.
</#if>

<#if api.visibility=='PUBLIC'>
This API is publicly exposed.
<#else>
This API is not publicly exposed.
</#if>

<#if api.tags?has_content>
Sharding tags: ${api.tags?join(", ")}
</#if>

## Description

${api.description}

<#if api.proxy??>
## How to access

The API can be accessed through https://api.company.com${api.proxy.contextPath}:

curl https://api.company.com${api.proxy.contextPath}
</#if>

## Rating
    sssss

You can rate and put a comment for this API here.

## Contact

<#if api.metadata['email-support']??>The support contact is ${api.metadata['email-support']}.</#if>

The API owner is <#if api.primaryOwner.email??>${api.primaryOwner.displayName}<#else>${api.primaryOwner.displayName}</#if>.

Additional context

📚  View the storybook of this branch here

I will create a separate PR to create more use-cases for the Create/Update use-case test suites.


Java : Introduction to Lambda expressions

Description 📜
Explaining Lambda example in brief with examples.
Fixes #5782

Type of change 📝

[x] Documentation (Content Creation in the form of codes or tutorials)

Domain of Contribution 📊

[x] Java_Domain

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I'm GWOC'21 contributor

@garvitraj Can you please review this PR.


Provide a policy

It would be very helpful if you could provide a policy on what exactly you understand under a "free" API. While the contribution guide specifies some requirements (e.g. limit of authentication methods), it does not really explain anything beyond that.
Some "providers" might offer free (like in free beer) plans or access to data through their API, though imposing some restrictions (e.g. rate limits, granularity of data, etc.).
Additionally, some "providers" put the data, which can be collected through the API, under a license. Here, you could make some requirements for the licenses as well. Furthermore I suggest to put the license in the table.

Thanks for opening this issue and stating the limitations of the contribution guide and also for the suggestions @jdoubleu ,
I do have some concerns regarding the APIs with the free trial plans and will also provide some policies for the same in a way that it benefits the developers the most. After drafting it will also have to get approved by the fellow collaborators   as well so it might take some time.
@marekdano  @matheusfelipeog What are your opinions?

Improving and making free tier APIs policy more explicit is good.
I just have questions about what policies we could implement to accept an API. As API's are a service that costs to keep working, it's difficult not to have limits on your free tier 🤔

they have stole my funds !! please help this is my acount and its not in my control. xan187 is another my email is<EMAIL_ADDRESS><EMAIL_ADDRESS>transactions currently pending been goung on 10 days !!!
scammers address i have many i lost lots of transactions and they used get hub to steal all of them!

Why is this issue still open 😔

Why is this issue still open 😔

Because we're still going to get better. That will happen soon. 😅


Feat: cluster by

Don't you need to update this: https://github.com/TobikoData/sqlmesh/blob/main/sqlmesh/core/model/definition.py#L1647
And also update model def validation logic here: https://github.com/TobikoData/sqlmesh/blob/main/sqlmesh/core/model/definition.py#L559 to bring it on par with partitioned_by.

Snowflake supports CLUSTER BY. I think we should add that now or throw an exception if clustered_by is set for an engine that doesn't support it.

Looks like the spark dbt adapter uses a field called clustered_by instead of cluster_by. We'll need to support that field name too. I can do this after the PR is merged if you like.

@crericha we'll need to add the bucket flag for spark with clustered_by


Deprecate ScalarUDFImpl::return_type and revert a breaking API change

Which issue does this PR close?

Closes https://github.com/apache/datafusion/issues/13716
Rationale for this change

While upgrading the DataFusion version used by Comet, I saw test failures due to a breaking API change where ScalarUDFImpl.return_type returns an internal error for DatePartFunc.
What changes are included in this PR?

Return Float64 instead of throwing an error to preserve previous (incorrect) behavior. Deprecate return_type and recommend return_type_from_exprs instead.
Are these changes tested?

Are there any user-facing changes?

return_type_from_exprs is introduced to avoid downstream breaking change, but if is still causes downstream breaking change...we should just cleanup these functions.
Do you call ScalarUDFImpl.return_type for all the functions or just date_part?
If you rely on ScalarUDFImpl.return_type for all the functions then I think we should deprecate return_type_from_exprs and fix the signature in return_type. If you can switch to  return_type_from_exprs for date_part only, this is the better solution that minimize the breaking change.

return_type_from_exprs is introduced to avoid downstream breaking change, but if it still causes downstream breaking change...we should consider combine these 2 functions to cleanup.

Both of these functions have been part of the public API for a while now. The newer return_type_from_exprs works correctly and the older return_type is incorrect in some cases. It seems better to me to deprecate the older incorrect version.

Do you call ScalarUDFImpl.return_type for all the functions or just date_part?

We call this for all functions.

If you rely on ScalarUDFImpl.return_type for all the functions then I think we should deprecate return_type_from_exprs and fix the signature in return_type. If you can switch to return_type_from_exprs for date_part only, this is the better solution that minimize the breaking change.

We have generic handling for all scalar UDFs so I'd prefer not to start adding special rules for specific funct ions.

Both of these functions have been part of the public API for a while now.

i believe you

The newer return_type_from_exprs works correctly and the older return_type is incorrect in some cases. It seems better to me to deprecate the older incorrect version.

date_part's return_type used to be correct in all cases
the implementation was removed because it was no longer correct in all cases
if someone calls func.return_type() just for display purposes into logs, they may be OK getting wrong information.
If someone calls func.return_type() and trusts return value, they could be disappointed if we continue to return something, but the return value doesn't continue to be correct.
for example (pseudo-code)
let func_return_value : ArrayRef =  ... ;
match func.return_type() {
 case Float64 => {
    as_float64_array(func_return_value) ...

or
let wanted_type = ...;
let ret func.return_type();
if wanted_type == ret {
  return func
} else {
  Expr::Cast( func, wanted_type )
}

if we need to return some incorrect value for some time, this should be behind an opt-in config toggle.


Redirecting to own child route causes "too many redirects"

As seen in this glitch:
https://glitch.com/edit/#!/carpal-booth
Using the redirect property to go to a child route will cause the following error:
Uncaught (in promise) Error: [Vaadin.Router] Too many redirects when rendering /admin/logs
    at Router.__redirect (router.js:692)
    at Router.__findComponentContextAfterAllRedirects (router.js:563)
    at router.js:564

Basically, this construction is not valid and should be:
{
  path: '/admin',
  children: [
    {path: '/logs', component: 'log-view'},
  ],
  redirect: '/admin/logs'
},

Apparently the use case when a route has both a redirect and a children property has not been considered.
A supported way to express the same routes config would be having redirect and children on separate route objects:
{
  path: '/admin',
  children: [
    {path: '/', redirect: '/admin/logs'},
    {path: '/logs', component: 'log-view'},
  ]
},

glitch: https://glitch.com/edit/#!/vaadin-router-issue-399?path=script.js:12:25


UX: Open keyboard when pressing tools again

If you are in the tools fragment, you can click the tools entry in the bottomNav again to open the keyboard at the searchbox.
This is a ux feature that some other apps implement as well

https://github.com/user-attachments/assets/2073272a-1362-45e5-89fb-880dc71c1f40

Thank you, added a new issue to track this. Closes #2559


[Feature Request] Allow directly setting the slot scope

Currently we can set properties in the scope, by assigning them to slot attributes, like this:
<my-awesome-list :items="items">
  <template scope="props">

{{ props.item.text }}

  </template>
</my-awesome-list>

  <slot name="item"
    v-for="item in items"
    :item="item">
  </slot>

However, sometimes (when all our data is in the item) it may be more useful to directly set the scope and avoiding having to use special property for the item data or to have to define the properties separately. For instance one way this can be done is if the attribute name is the same as the scope name - something like this:
<my-awesome-list :items="items">
  <template scope="props">

{{ props.text }}

  </template>
</my-awesome-list>

  <slot name="item"
    v-for="item in items"
    :props="item">
  </slot>

Let me know if you need a better description.

You can use destructuring:
scope="{ item}"

Nice, but some documentation would be nicer :)


FineUploader crashes Google Chrome if you try uploading a very large file

I was uploading a 180GB file with the extension sparsebundle. Once I clicked OK to add the file to the uploader, the page stopped responding, and the UI never reflected the file being added. So if you close out the page and try loading any other page, you get the message on the bottom left, "Waiting for AppCache." No page will load until you force quit out of Google Chrome. I did this multiple times with the same results.
If you're on a Mac, you'll notice a large partial file in the following path: /private/var/folders/lp/d1dvvt713x78m12x266fvmsr0000gn/T/com.google.Chrome/zip_cache.
Once you delete the partial file, the browser returns to normal.

Fine Uploader doesn't utilize AppCache. I just uploaded several 200+ MB files without issue in Chrome myself, so if there is a Fine Uploader specific issue here, it must have something to do with this specific file type. I'm not familiar with a "sparsebundle". Perhaps this is actually a folder disguised as a file? What happens if you attempt to upload this same file in other browsers? What about other sparsebundles or other large files in Chrome?

It's definitely not a Chrome only issue because I experienced a similar problem in Safari. A sparse bundle/image is exactly what you said it is, a folder disguised as a file. It's basically a DMG that can expand as you put files in it.

If this is truly a folder instead of a file, then you will not be able to upload it outside of Chrome.

I think what is happening is FineUploader is detecting that it's a folder and needs to be zipped, then starts to zip it and floods the cache because it happens to be so big.
It's weird. Firefox detected it as a folder but Chrome and Safari let me upload it as one file

Fine Uploader definitely does not zip anything. Do you have a sample file I can attempt to reproduce with?

Sure. Let me create one for you. Give me a sec

The file is going to take a little while to upload so I'll post the link tomorrow morning

:+1:

I built a sparsebundle and was unable to reproduce the issue. So, without further information or a test file to examine further, I'll have to close this. If more information is added in the future, this can be reopened.


iOS Speech-to-text clears input after pressing the space during speech

Description
When using TextInput with multiline=true, after using speech-to-text to input text, if you enter Space, The speech-to-text inputted text is deleting.
This flow works well when we use a 1-line TextInput
React Native Version
0.71.11
Output of npx react-native info
System:
    OS: macOS 13.4.1
    CPU: (10) arm64 Apple M1 Pro
    Memory: 5.38 GB / 32.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 14.21.3 - ~/.nvm/versions/node/v14.21.3/bin/node
    Yarn: 1.22.19 - ~/Code/node_modules/.bin/yarn
    npm: 6.14.18 - ~/.nvm/versions/node/v14.21.3/bin/npm
    Watchman: Not Found
  Managers:
    CocoaPods: 1.12.1 - /opt/homebrew/bin/pod
  SDKs:
    iOS SDK:
      Platforms: DriverKit 22.4, iOS 16.4, macOS 13.3, tvOS 16.4, watchOS 9.4
    Android SDK:
      API Levels: 21, 23, 28, 29, 30, 31, 32, 33
      Build Tools: 21.1.2, 28.0.0, 29.0.2, 30.0.0, 30.0.1, 30.0.2, 30.0.3, 31.0.0, 32.0.0, 32.1.0, 33.0.0
      System Images: android-28 | ARM 64 v8a, android-31 | ARM 64 v8a, android-32 | Google APIs ARM 64 v8a, android-33 | Google APIs ARM 64 v8a, android-33 | Google Play ARM 64 v8a
      Android NDK: 24.0.8215888
  IDEs:
    Android Studio: 2022.1 AI-221.6008.13.2211.9619390
    Xcode: 14.3.1/14E300c - /usr/bin/xcodebuild
  Languages:
    Java: 11.0.19 - /usr/bin/javac
  npmPackages:
    @react-native-community/cli: Not Found
    react: 18.2.0 => 18.2.0
    react-native: 0.71.11 => 0.71.11

Steps to reproduce

Run any RN app with a TextInput
Tap the text input
On the iOS keyboard, tap the microphone icon
Say something
Tap the Space button on the Keyboard

Snack, screenshot, or link to a repository
https://github.com/facebook/react-native/assets/19289032/7cb29d12-15ba-41de-8358-f7288c923f8b

Thanks for the video @gurbela could you put the code in a Snack or a repo?

@cortinico  thanks for your attention, here is a sample code: https://snack.expo.dev/b0glHl3BL

any news?

any news?

This looks like a bug. We're happy to review a PR to address it

@cortinico, Any updates on this, or any ideas how to fix this?

problem is when the user onPress on a keyboard to stop speech audio, text is immediately cleared.
there is console.log onChange func from react-native textInput, where they are get native.text in callback
LOG  {"currentText": ""}
LOG  {"currentText": ""}
LOG  {"currentText": " 123"}
LOG  {"currentText": " 1234"}
LOG  {"currentText": " 12345"}
LOG  {"currentText": " 123456"}
LOG  {"currentText": " 1234567"}
LOG  {"currentText": " 12345678"}
LOG  {"currentText": " 12345678"}
LOG  {"currentText": " 12345678"}
LOG  {"currentText": " 123456789  "}
LOG  {"currentText": "  "}
LOG  {"currentText": "  "}
LOG  {"currentText": " 123456789"}
also we getting error <_UIKBFeedbackGenerator: 0x600002d4b000>: Couldn't update haptics muting for dictation audio recording. No engine.
In my opinion, the instance of the class is deleted before the audio recording itself is closed

The same issue. Any updates?

Any updates on this issue?

I still have this problem even with multiline=false


RE7 Demo VR Controller Input Not Working

Howdi,
Trying to test out the mod through the demo prior to buying 4 games I wanted to experience in VR. While I'm able to load in nicely (and crank the resolution, like seriously good job optimizing everything), I have to use an xbox controller to tab through the menus, move around, and input basically. Am I the only one with this issue?

Unplug your controller and any other controller-like devices and it will work. I'll leave this issue open because it's not desired behavior to have to do this.

OH! I am so sorry! Left my Hotas X plugged in, so all the controls were probably routing into there.  Thanks again for your hard work!

Unplug your controller and any other controller-like devices and it will work. I'll leave this issue open because it's not desired behavior to have to do this.

Thanks! I'll Try now without another  joys!

...and this works!!!

How to switch weapons?

In the inventory screen or, if you have a recent version, hold left trigger and press directions on your left analog stick.

Fixed in 31324903b53e126e38df4f23488ac3069075f7c4. Re-open the issue or create a new one if you notice the issue again.


When calling register_partition, if the location doesn’t exist presto will not create the dictionary

The current behavior is: if the location doesn’t exist, presto would throw an error with the error message {'message': 'Partition location does not exist: ...}. I tried to switch from spark to presto and met this compatibility problem. It may not be a bug, but I am wondering what do u think of this? Thanks!

register_partition is meant to register an existing data location as a partition in the metastore.
For creating new (empty) partition please use create_empty_partition procedure.
(https://prestosql.io/docs/current/connector/hive.html#procedures)
We should change the procedure to allow providing a location.

Can register_partition have a flag to create empty partition?

I'd rather do https://github.com/prestosql/presto/issues/5137 instead.
I am closing this, but let me know if this will not work for you.

Scenario is there are 200+ of location on which we are calling register_partition, few maynot have data. If register_partition doesn't support creating that then, we would need add try, catch and identify the exception and then call create_empty, code will look ugly.  We would have preferred, simple API/single API, which would have empty partition or registered the existing partition.
Existing Spark code also has one API call.


Fix list spacing for GitHub-flavored Markdown

GitHub requires that lists use numbers and have an even number of spaces to be properly recognized.
I think when the MCU items were brought over, the lists were not adjusted.

Only TAC has merge privilege. Tagging @Bryankel since he just merged the last PR.


About quantization

Hi,
Thanks for the great work!
Have your team tried QAT/PTQ int8 quantization on star operations? After all, the networks are usually quantized before deploying in real production.
Thanks for the reply

@julightzhong10 Hi, thanks for your kind words. Currently, we did not tried it.
If any updates (probably will extend in the end of this year), I will let you know.

Thanks, looking forward to the results

The star operation seems to be not friendly for quantization. The output of multiplication of two features is easy to exceed the data range.


Fix crash when named using :via

The PR #13 didn't test scene what named using :via, It will crash when in use.
I'm sorry about that, please help to review it again.

@feng19 I am thinking we will have to change our strategy here altogether. Instead of having the tab name be {:via, ...}, we should probably call GenServer.whereis(name), whenever the name is not an atom, and work with PIDs instead. This way we don't need to encode name and so on, we only take care of working with PIDs. WDYT?

I haven't really latched on to what you mean could you explain it again?

@feng19 all of the Broadway pipelines are actually processes behind the scenes, so all pipelines can also be identified by a pid I think? If so, instead of working with their names, such as {:via, ..., ...}, we should call GenServer.whereis on the :via and get its PID instead. Then we will show its PID on the tab names and work the PID throughout the dashboard (except for atoms, which we can keep as atoms).

Because of the restriction of Broadway.topology(pipeline), only the name of pipeline can be passed.
So all the places that use Broadway.topology/1 cannot be replaced.
Therefore, what can be done now is to change the value of nav & nav tab without changing Broadway.topology/1.

I see, thanks. I will drop just two small notes. Please check if they work and then we can ship it. :)

:green_heart: :blue_heart: :purple_heart: :yellow_heart: :heart:


Fix capture of parse output inside yaml-imenu-create-index

Remove the unnecessary with-current-buffer wrapper.

On looking at the other pull requests, I see that this is a duplicate of #4 where the problem is fixed and the author - @snowman - also fixes some other stuff. Feel free to ignore this PR in favor of that one.

Yes, I think I fixed this in 779ac67f607cd0e2fd1bc035ed2f9a146a6ed188.  Sorry for having missed this.  My notification settings were broken at the time.


[BUG]: Bun scripts giving outputs

What version of drizzle-orm are you using?
0.28.6
What version of drizzle-kit are you using?
0.19.13
Describe the Bug
I was wondering why these two have different outputs. generate1 creates a drizzle directory without any sql files, but generate2 creates them properly.
package.json:
// ...
"scripts": {
    // ...
    "generate1": "bun --bun drizzle-kit generate:pg",
    "generate2": "drizzle-kit generate:pg",
}

Output:
╭─resyfer@fedora ~/projects/kage/server ‹main●›
╰─$ rm -rf drizzle
╭─resyfer@fedora ~/projects/kage/server ‹main●›
╰─$ bun generate1
$ bun --bun drizzle-kit generate:pg
[0.13ms] ".env"
drizzle-kit: v0.19.13
drizzle-orm: v0.28.6

No config path provided, using default 'drizzle.config.ts'
Reading config file '/home/resyfer/projects/kage/server/drizzle.config.ts'
0 tables

No schema changes, nothing to migrate 😴
╭─resyfer@fedora ~/projects/kage/server ‹main●›
╰─$ rm -rf drizzle
╭─resyfer@fedora ~/projects/kage/server ‹main●›
╰─$ bun generate2
$ drizzle-kit generate:pg
drizzle-kit: v0.19.13
drizzle-orm: v0.28.6

No config path provided, using default 'drizzle.config.ts'
Reading config file '/home/resyfer/projects/kage/server/drizzle.config.ts'
8 tables
group 2 columns 0 indexes 0 fks
organization 2 columns 0 indexes 0 fks
package 5 columns 0 indexes 1 fks
release 9 columns 0 indexes 1 fks
user 5 columns 0 indexes 0 fks
contributor 2 columns 0 indexes 2 fks
dependencies 3 columns 0 indexes 2 fks
member 2 columns 0 indexes 2 fks

1 enums
PKG_TYPE [LIBRARY, BINARY]

[✓] Your SQL migration file ➜ drizzle/0000_demonic_toad_men.sql 🚀

drizzle.config.ts:
import type { Config } from "drizzle-kit";

export default {
  schema: ["./src/models/**/schema.ts", "./src/models/joins/*.ts"],
  out: "./drizzle",
  driver: "pg",
  dbCredentials: {
    connectionString: process.env.DB_URI!,
  },
} satisfies Config;

Expected behavior
No response
Environment & setup
Fedora 38

Any advance on this issue ?

I have this issue when running the drizzle-kit cli inside a docker container.

should not be an issue on latest(0.30.0+), if it's still an issue - please reopen


Make it possible to customize the ACM cert validation wait time.

We are using AWS lambda to create/delete the acm certificates and doing the validation via DNS, when writing unittest for these lambdas we'll have to wait 60 seconds. This PR make it possible to customize this wait time.

Make sure that  you use black==19.10b0 for linting, as later versions have a few bugs

Make sure that you use black==19.10b0 for linting, as later versions have a few bugs

Cheers mate, I'm having trouble with this. :)

Thanks @bblommers. I ended up not mocking the envvar directly but mocked the value from settings(because there's a cache somewhere that I cannot figure out). Hope it looks good now. Please let me know if you have any follow up suggestions/comments. I appreciate your help!


⚠ Fortnite has degraded performance

In 9c2b88e, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1596 ms

Resolved: Fortnite performance has improved in 6882c9b.


MINIFI-127: Added quick start document.

Thank you for submitting a contribution to Apache NiFi - MiNiFi.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[ ] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?
[ ] Does your PR title start with MINIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.
[ ] Has your PR been rebased against the latest commit within the target branch (typically master)?
[ ] Is your initial contribution a single, squashed commit?

For code changes:

[ ] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi-minifi folder?
[ ] Have you written or updated unit tests to verify your changes?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under minifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under minifi-assembly?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.

@thesolson it looks like there need to be some newlines in this section to make the numbered lists appear properly.
I think I usually do a newline before and after the list.

hey @thesolson,
got to scope this out and overall looks good.  some folks also had some additional commentary for some minor fixes, but otherwise looks like a great start and will certainly be helpful for getting people going down the appropriate path

@apiri @thesolson I created a patch addressing the feedback that was left. Just rename it from ".txt" to ".patch" to apply it.
0001-MINIFI-127-In-quick-start-guide-removing-processors-.txt

@apiri I've applied Joe's patch. The changes look great! Please feel free to finalize the review and merge if appropriate.

@thesolson & @JPercivall,
Thanks for the updates/patches.  Looks good here and will get this merged in.


mbedtls_ssl_write_real: buffer overflow if MBEDTLS_SSL_MAX_FRAGMENT_LENGTH not defined

I wrote a simple client based on the client1 example, combined with a rather minimal config (similar to config-mini-tls1_1.h). I noticed that i got segfaults if i tried to send more than a few kb of data with mbedtls_ssl_write().
The documentation for this function states:

If the requested length is greater than the maximum fragment length (either the built-in limit or the one set or negotiated with the peer), then:
with TLS, less bytes than requested are written.

However, it appears that the length passed to mbedtls_ssl_write() is only checked if  MBEDTLS_SSL_MAX_FRAGMENT_LENGTH is defined in the config file. The length from mbedtls_ssl_write() is passed to ssl_write_real(), which does the following check:
#if defined(MBEDTLS_SSL_MAX_FRAGMENT_LENGTH)
    size_t max_len = mbedtls_ssl_get_max_frag_len( ssl );

    if( len > max_len )
    {
#if defined(MBEDTLS_SSL_PROTO_DTLS)
        if( ssl->conf->transport == MBEDTLS_SSL_TRANSPORT_DATAGRAM )
        {
            MBEDTLS_SSL_DEBUG_MSG( 1, ( "fragment larger than the (negotiated) "
                                "maximum fragment length: %d > %d",
                                len, max_len ) );
            return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA );
        }
        else
#endif
            len = max_len;
    }
#endif /* MBEDTLS_SSL_MAX_FRAGMENT_LENGTH */

If  MBEDTLS_SSL_MAX_FRAGMENT_LENGTH is not defined, the user-specified length is passed straight to memcpy( ssl->out_msg, buf, len ); a few lines below that, while ssl->out_msg may not be large enough.
Apart from the default config, almost none of the example configs define this MBEDTLS_SSL_MAX_FRAGMENT_LENGTH option. Therefore i did not have this option in my config. This results in a segfault if calling mbedtls_ssl_write() with a buffer larger than the mbedtls library has allocated.
I think the length should always be checked, at least to ensure that the ssl->out_msg buffer does not overflow. Or the documentation + examples could be updated to make it very clear that the caller should check the length. I am not sure about the security implications, but i could imagine this may be problematic. In my case the certificates were overwritten by the ssl->out_msg.

... link to "memcpy( ssl->out_msg, buf, len ); a few lines below that"  ...

Thanks for raising the issue. We'll take a look.

ARM Internal Ref: IOTSSL-1131

Thanks for reporting this issue! I believe it is fixed by #1094, which is now merged to development, therefore I am closing this issue.

Thanks!


Controllers problem

Hi, I ve been using Jacks version since first release.
I had no problem with v4 version.
Just updated steamvr and also v5. Now controllers are vive pro looks and menu button keeps on clicking automatically...  so basically I can not do anything :(

Try to reinstall everything from scratch:
Execute driver_uninstall.bat in the driver folder
Delete the install folder (ALVR does not use the registry)
If you already deleted the folder without executing driver_uninstall.bat:
Open C:\Users%USERNAME%\AppData\Local\openvr\openvrpaths.vrpath and check install directory
Execute "C:\Program Files (x86)\Steam\steamapps\common\SteamVR\bin\win32\vrpathreg.exe" removedriver (install folder) in Command Prompt
Delete C:\Users%USERNAME%\AppData\Local\ALVR
Uninstall alvr from your quest with adb uninstall com.polygraphene.alvr

closed due to inactivity


Update FerramAerospaceResearch-3-<IP_ADDRESS>.ckan

Manual FAR update from netkan.

Merging like it's hot.


-Title is not an actual parameter in the last example

-Title is not an actual parameter in the last example. "Remove-PnPList : A parameter cannot be found that matches parameter name 'Title'."

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

ID: eb2d3c28-638c-262d-b851-de589cedf3c0
Version Independent ID: 3054989c-a9fb-74aa-9121-fdb24b1a3f65
Content: Remove-PnPList (SharePointPnPPowerShell)
Content Source: sharepoint/sharepoint-ps/sharepoint-pnp/Remove-PnPList.md
GitHub Login: @Techwriter40
Microsoft Alias: kirks

Hello @ERGeorgiev
how are you?
Even though the PnP documentation articles are on this repository, I need to kindly redirect you to open PnP cmdlets issues here, in that repository, where a member of the PnP community will be able to correct the article with your feedback.
The documentation for PnP cmdlets is then sync from that repo into this one.
Thank you!

@get-itips Thank you very much for the contribution and sharing this explanation. @ERGeorgiev Hope this comment is helpful for you. If you see a documentation update is required, please feel free to open an issue for the same. 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.


Android: add more codenames

Actually i am not sure about this PR because those names are  internal code names, And if we add them instead of their own public names it will lower our search engine match results and that cause lowering endoflife.date 's visitors.
So for my vote is -1 for this pr maybe just 1.1's internal name can be added because it is already forgotten (and nobody is searching for it )
What do you think @captn3m0 @BiNZGi  ?

I think the same as @usta. I would stay with official names and not mix offical and internals. I think our users don't search for internal names.

Actually i am not sure about this PR because those names are internal code names, And if we add them instead of their own public names it will lower our search engine match results and that cause lowering endoflife.date 's visitors.
So for my vote is -1 for this pr maybe just 1.1's internal name can be added because it is already forgotten (and nobody is searching for it ) What do you think @captn3m0 @BiNZGi ?

I fixed the pagerank issue

None of the search queries with the word Android (via Google Search Console) do not include any of the new codenames.
Here's the top 100 over the last 3 months

Top queries
Clicks

android supported versions
427

supported android versions
311

android end of life
293

android 9 end of life
245

android eol
222

android 8 end of life date
205

android 10 end of life
186

android 8 end of life
180

android 8.1 end of life
173

android version support
171

android 10 eol
123

android 11 end of life
117

android 9 eol
113

android 8 support end date
111

android 9 support end of life
105

android 8 eol
98

android 8.1 support end date
93

android 10 support end date
93

android 7 end of life
90

how long will android 10 be supported
89

android version support dates
86

android 7 eol
79

android versions still supported
78

android end of support dates
76

android 11 eol
74

android os support lifecycle
71

android 8.1 eol
67

android end of life dates
65

android support lifecycle
65

android 9 end of support
64

android 10 end of life date
63

android version end of support
63

supported versions of android
59

android end of support
58

how long will android 11 be supported
55

android 7 support end date
51

google android supported versions
51

android version support lifecycle
50

google supported android versions
48

is android 10 still supported
47

android version eol
47

android 9 end of life date
46

android 6 end of life
45

android versions support
44

android os end of life
44

android 8.1 end of life date
43

android 8.1.0 end of life
43

android 8 end of support
43

android 6 eol
43

android os support
41

android versions supported
40

end of life android
40

android eol dates
39

android 10 end of support
38

eol android
37

android 8 support
36

android 5 support end date
36

android 11 end of support
36

android 10 support
34

android 5 end of life
33

android oreo end of life
33

end of life android versions
33

android 5 eol
32

android versions end of life
32

what versions of android are still supported
31

android support end dates
31

android 9 support end date
30

android supported version
30

android version lifecycle
30

support android versions
30

google pixel android support
28

currently supported android versions
27

pixel android support
26

which versions of android are still supported
26

android 10 support lifecycle
26

android version end of life
26

is android 9 still supported
25

android 7 end of life date
24

android 8.1 end of support
24

android os supported versions
24

android 9 support end
23

android 8.0 support end date
22

last supported android version
22

current supported android versions
21

android end of support date
21

android 11 support end date
20

android support versions
20

android 12 pixel 3
19

pixel 4a android support
19

when will android 10 stop being supported
19

unsupported android versions
19

android 8.1 end of support date
19

supported android version
19

android 7 end of support
18

how long is android 10 supported
18

android os
17

is android 8 still supported
17

which android versions are still supported
17

android 9 end of support date
17

People don't seem to use these internal codenames at all.

But

Actually i am not sure about this PR because those names are internal code names, And if we add them instead of their own public names it will lower our search engine match results and that cause lowering endoflife.date 's visitors.
So for my vote is -1 for this pr maybe just 1.1's internal name can be added because it is already forgotten (and nobody is searching for it ) What do you think @captn3m0 @BiNZGi ?

Let's just enable it, then if the traffic gets low we undo it.

If you insist about adding internal names please update this pr with adding numbered version names with adding Android part within parenthesis. @upintheairsheep
I mean you have made Queen Cake (Android 10)  so make also others like Oreo (Android 8.1.x)

If you insist about adding internal names please update this pr with adding numbered version names with adding Android part within parenthesis. @upintheairsheep I mean you have made Queen Cake (Android 10) so make also others like Oreo (Android 8.1.x)
Doing that.

LGTM, now at least this shape wont lower our upcoming traffic.
Is this ok for you too @BiNZGi  @captn3m0 ?

Thanks a lot @upintheairsheep for your contribution💯

@upintheairsheep i might seen as a little problematic guy in here but i really appropriate your affords to make contributions ,   i hope you continue to help endoflife.date ,  Thank you 🎉

I plan on doing older macOS versions
On Tue, Dec 14, 2021, 3:56 AM Ömer Fadıl USTA @.***>
wrote:

@upintheairsheep https://github.com/upintheairsheep i might seen as a
little problematic guy in here but i really appropriate your affords to
make contributions , i hope you continue to help endoflife.date , Thank you
🎉
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/endoflife-date/endoflife.date/pull/629#issuecomment-993466618,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKNKRXBIUFLPVDR2E56ERTLUQ4WFRANCNFSM5JSMPF3A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


[On Hold] Support dot product similarity measure and change scoring function (Backward Compatible)

Issue #, if available:
#114 #171
Description of changes:
This PR supports the new space type negdotprod. The main issue in supporting the new space type is that nmslib only supports l2 and cosinesimil for optimized index: https://github.com/nmslib/nmslib/blob/32e6e69a574b678da0d37bece8dbe6b1b250b660/python_bindings/README.md#saving-indexes-and-data
while for all other space types Object vector data has to be saved and loaded explicitly from .dat file. This PR deals with those new .dat files. Changes include

JNI code
Write footer for .dat file
Compound file format
Change scoring function into 1-sigmoid(raw KNN similarity score) in KNNWeight to cover the whole real axis.

Note:
This PR should be reviewed after #160 since it is based off the nmslib latest version.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@jmazanec15 @vamshin The current state of the PR treats indices for all supported space types as non-optimized indices. I realized that this works OK for new data, but has significant backward compatibility issue with old doc saved under optimized indices for l2 and cosinesimil, e.g.
POST /yourindex/_search
{
    "size" : 10,
    "query": {
        "knn": {
            "my_vector1": {
                "vector": [1, 25],
                "k": 2
            }
        }
    }
}

{
  "error" : {
    "root_cause" : [
      {
        "type" : "runtime_exception",
        "reason" : "java.util.concurrent.ExecutionException: java.lang.Exception: Check failed: Cannot open file '/Users/qchea/Downloads/elasticsearch-7.8.0/data/nodes/0/indices/YLGjlb_7TA-wzqJFeJ6Urg/0/index/_0_1736_my_vector1.hnswc.dat' for reading"
      }
    ],
    "type" : "search_phase_execution_exception",
    "reason" : "all shards failed",
    "phase" : "query",
    "grouped" : true,
    "failed_shards" : [
      {
        "shard" : 0,
        "index" : "yourindex",
        "node" : "UWTvby-lTSWRsQcPoeFv-g",
        "reason" : {
          "type" : "runtime_exception",
          "reason" : "java.util.concurrent.ExecutionException: java.lang.Exception: Check failed: Cannot open file '/Users/qchea/Downloads/elasticsearch-7.8.0/data/nodes/0/indices/YLGjlb_7TA-wzqJFeJ6Urg/0/index/_0_1736_my_vector1.hnswc.dat' for reading",
          "caused_by" : {
            "type" : "execution_exception",
            "reason" : "java.lang.Exception: Check failed: Cannot open file '/Users/qchea/Downloads/elasticsearch-7.8.0/data/nodes/0/indices/YLGjlb_7TA-wzqJFeJ6Urg/0/index/_0_1736_my_vector1.hnswc.dat' for reading",
            "caused_by" : {
              "type" : "exception",
              "reason" : "Check failed: Cannot open file '/Users/qchea/Downloads/elasticsearch-7.8.0/data/nodes/0/indices/YLGjlb_7TA-wzqJFeJ6Urg/0/index/_0_1736_my_vector1.hnswc.dat' for reading"
            }
          }
        }
      }
    ],
    "caused_by" : {
      "type" : "runtime_exception",
      "reason" : "java.util.concurrent.ExecutionException: java.lang.Exception: Check failed: Cannot open file '/Users/qchea/Downloads/elasticsearch-7.8.0/data/nodes/0/indices/YLGjlb_7TA-wzqJFeJ6Urg/0/index/_0_1736_my_vector1.hnswc.dat' for reading",
      "caused_by" : {
        "type" : "runtime_exception",
        "reason" : "java.util.concurrent.ExecutionException: java.lang.Exception: Check failed: Cannot open file '/Users/qchea/Downloads/elasticsearch-7.8.0/data/nodes/0/indices/YLGjlb_7TA-wzqJFeJ6Urg/0/index/_0_1736_my_vector1.hnswc.dat' for reading",
        "caused_by" : {
          "type" : "execution_exception",
          "reason" : "java.lang.Exception: Check failed: Cannot open file '/Users/qchea/Downloads/elasticsearch-7.8.0/data/nodes/0/indices/YLGjlb_7TA-wzqJFeJ6Urg/0/index/_0_1736_my_vector1.hnswc.dat' for reading",
          "caused_by" : {
            "type" : "exception",
            "reason" : "Check failed: Cannot open file '/Users/qchea/Downloads/elasticsearch-7.8.0/data/nodes/0/indices/YLGjlb_7TA-wzqJFeJ6Urg/0/index/_0_1736_my_vector1.hnswc.dat' for reading"
          }
        }
      }
    }
  },
  "status" : 500
}

To resolve that, I think one option is to treat space types that supports optimized index separately from those do not support optimized index. But before going further, I would like to hear from your comments and suggestions.

Finished separation on optimized(l2, cosinesimil) and non-optimized(negdotprod, etc) space types for KNN index.

A failed test case scenario:
public void testQueryIndexWithNonOptimizeSpace() throws IOException {
        Settings settings = Settings.builder()
                .put(getKNNDefaultIndexSettings())
                .put("index.knn.space_type", "negdotprod")
                .put("index.knn.algo_param.ef_search", 300)
                .build();
        createKnnIndex("hisindex", settings, createKnnIndexMapping("my_vector1", 2));

        // add doc
        Float[] vector = {1.0f, 1.0f};
        addKnnDoc("hisindex", "1", "my_vector1", vector);

        // search
        float[] queryVector = {1.5f, 2.5f}; // vector to be queried
        int k = 1; //  nearest 1 neighbor
        KNNQueryBuilder knnQueryBuilder = new KNNQueryBuilder("my_vector1", queryVector, k);
        searchKNNIndex("hisindex", knnQueryBuilder, k);
    }

root cause: lucene does not allow negative score in score collector:
=== Standard error of node `node{::integTest-0}` ===
»   ↓ last 40 non error or warning messages from /Users/qchea/IdeaProjects/k-NN/build/testclusters/integTest-0/logs/es.stderr.log ↓
» fatal error in thread [elasticsearch[integTest-0][search][T#1]], exiting
»  java.lang.AssertionError
»       at org.apache.lucene.search.TopScoreDocCollector$SimpleTopScoreDocCollector$1.collect(TopScoreDocCollector.java:79)
»       at org.apache.lucene.search.Weight$DefaultBulkScorer.scoreRange(Weight.java:242)
»       at org.apache.lucene.search.Weight$DefaultBulkScorer.score(Weight.java:229)
»       at org.elasticsearch.search.internal.CancellableBulkScorer.score(CancellableBulkScorer.java:56)
»       at org.apache.lucene.search.BulkScorer.score(BulkScorer.java:39)
»       at org.elasticsearch.search.internal.ContextIndexSearcher.searchLeaf(ContextIndexSearcher.java:212)
»       at org.elasticsearch.search.internal.ContextIndexSearcher.search(ContextIndexSearcher.java:185)
»       at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:445)
»       at org.elasticsearch.search.query.QueryPhase.searchWithCollector(QueryPhase.java:344)
»       at org.elasticsearch.search.query.QueryPhase.executeInternal(QueryPhase.java:299)
»       at org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:151)
»       at org.elasticsearch.search.SearchService.loadOrExecuteQueryPhase(SearchService.java:361)
»       at org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:434)
»       at org.elasticsearch.search.SearchService.access$200(SearchService.java:135)
»       at org.elasticsearch.search.SearchService$2.lambda$onResponse$0(SearchService.java:395)
»       at org.elasticsearch.search.SearchService.lambda$runAsync$0(SearchService.java:411)
»       at org.elasticsearch.common.util.concurrent.TimedRunnable.doRun(TimedRunnable.java:44)
»       at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:695)
»       at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37)
»       at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
»       at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
»       at java.base/java.lang.Thread.run(Thread.java:832)

We need to change the following scoring formula for negdotprod:
result -> 1/(1 + result.getScore())

Modified scoring function according to discussion in #171 .

Hi @chenqi0805,
Thanks for the awesome work. We will get back to this PR soon.

Hey @chenqi0805 , did you get a chance to investigate why they don't support optimized index for negative dot product in NMSLIB?

@jmazanec15 Not yet. I will first check issues in nmslib and then post a question in the nmslib lobby.

Cool, saw your comment @chenqi0805 . We could look to contribute if possible.

We now have nmslib supporting optimized version of negative dot product. At this point we would close this PR and come up with new PR which reads optimized version of negative dot product. Thanks for the hard work and contribution @chenqi0805.

We now have nmslib supporting optimized version of negative dot product. At this point we would close this PR and come up with new PR which reads optimized version of negative dot product. Thanks for the hard work and contribution @chenqi0805.

We now have nmslib supporting optimized version of negative dot product starting version 2.0.8. At this point we would close this PR and come up with new PR which reads optimized version of negative dot product. Thanks for the hard work and contribution @chenqi0805.

I would like to ask if there is any progress about the new PR？


How to control the model's bpp?

First of all, thanks for your excellent work! I am new to image compression field and i have got a question.
I want to train a model with bpp approximatly at 0.8, what should i do? Can i do this by setting the training hyper-parameters such as quality, lambda? Is there a formula between model's bpp and these training hyper-parameters?

These lambda values should give you an approximate guideline.
Typically, most models trained from scratch quickly converge to their final bpp values (+/- 5%) within the first 1-10 epochs.
If you want to target a specific bpp with more precision than this, take a pretrained model, and then reduce it's lambda value by a bit, and train for ~1 epoch. The resulting bpp value should be within +/-2% of the final bpp. Repeat as desired.

Since you don't mention if you have a specific image / test set for which you need an encode at 0.8bpp, also note that the bitrate is very dependent on the content. The above is true if you keep Kodak as your reference test set for instance. You may want to check with your dataset if different.
Even with Kodak, the figure below shows you how different the bpp and qualities can be using the same lambda among the images of Kodak (light blue). The orange dot is the average on Kodak for that particular lambda.

Thanks for your explanation, i get it :). Issue closed!


[1.10.2] Auto-restart of sound system freezing game after some amount of time.

*Mod Version: <IP_ADDRESS> (this appears on old versions too)
*Forge Version: <IP_ADDRESS>1 (1.10.2)
*Link to crash log: https://pastebin.com/V6YCgra9 (latest.log)
fml-client-latest.zip (log is just too large, i didn't find any site, that might load it)
Description:
After auto-restart of sound system, lags begin appears, and after some amount of time game just freeze out.
And, if at this moment look in Task Manager, i see "java.exe" consuming a very small amount of RAM (15-30 MB).
So, how i can avoid this?

Actually I think the lag is causing the sound system to crash not the other way around.  This is the reason I put it in.  In my experience when the client gets really laggy the streaming music thread in PaulsCode (the underlying sound system/library) loses it's mind and crashes without recovery.  BTW, I have seen this happen back on 1.7.10 as well as 1.10.2 - haven't seen it yet on 1.11.x.
Questions on the log:

This is the extent of the log?
The beetroot1/beetroot2 in the log - saw that somewhere and don't recall. :\  Google doesn't show anything worthwhile.

it's full logs.
i just look in the log and saw this, omg. i don't know, what causing it.

Ok.  For the next BETA I will be adding the following:

Option to disable auto-restart of the sound system
A crash check will occur every 30 seconds or so
If crashed chat messages will be given regarding what it will do (restart, or tell you to manually restart the client) as well as the current FPS of the client

I do think, though, that the lag problem is something other than Dynamic Surroundings.  Unfortunately I can't tell which mod(s) from the log.

i tried play without dynamic surroundings - it freezed too after 2 hours. after 1 hour of gaming i turned on music in minetunes, that's maybe why it crashed. so, you right - problem in soundsystem.
and in fml-client-latest i've seen that:
[22:43:03] [Server thread/DEBUG] [FML/]: The world 3ce46ed9 (Mega Leftract 5 44 h) may have leaked: seen 125 times.

Pushed a v<IP_ADDRESS> version that has an option to turn off the auto-restart.  As mentioned I do not think it will affect your situation.  Wish I could be of more help.


Should we avoid spaces in controlled vocabs?

In https://github.com/tdwg/dwc-qa/issues/169#issuecomment-764738530 @baskaufs writes:

In new controlled vocabularies, we are trying to avoid spaces and non-alphanumeric characters. That often takes the form of lower camelCase of an English phrase since it follows that rule and has consistent capitalization.

In Camtrap DP we currently use lower case values with spaces for controlled vocabularies (defined in enum properties). Should we aim to use camelCase here too (before releasing v1.0)? Our term names are already in camel case. The change would only affect controlled values with more than one word, single words would remain the same.

 I would leave those as is.

This pattern has been followed pretty consistently as new controlled vocabularies have been created. There are a few exceptions in cases:
-where there were existing suggested values that we didn't want to break

in cases where the controlled value strings represented classes and the pattern had been to use the term local names (which were in UpperCamelCase).

Just for full disclosure, there was never any formal decision by the TAG or any other group that established this pattern. I suggested it when the first controlled vocabularies were created in DwC (establishmentMeans, pathway, and degreeOfEstablishment) as a way to reduce the number of possible variants that people could dream up and as a way to clearly distinguish between labels (non-normative and potentially multilingual) and controlled values (normative and invariant among languages). So it's become established as a pattern for controlled value stings in subsequent controlled vocabularies since then. I think that there is value in maintaining these patterns so that the required values are what people have come to expect if they've had experiences with other vocabularies.

Thanks @baskaufs, I suggest we adopt the same pattern (lowerCamelCase) in Camtrap DP then. @kbubnicki @ben-norton others, any objections?

No objections from my side, full support!


Small email enhancements

Hi there.
I have made a couple of email enhancements on TaskBoard, maybe you consider them useful: a) improved the email templates a bit and added a new function to correctly produce the board URL and b) removed the actors from the mailing lists (e.g. the user that adds/edits an item does not get a notification email).

This is helpful, thank you.
However, PRs should be made against the dev branch and not master.
I have clarified this in the future re-write branch.

Sorry about that, didn't notice! I'll checkout the dev branch.

No worries, that's why I added things to the re-write branch to make it clearer in the future. Many contributors didn't notice.


Allow selection of individual platform workload.

In Certain scenarios  Users do not want to install all workloads
microsoft-android-sdk-full
microsoft-ios-sdk-full
microsoft-maccatalyst-sdk-full
microsoft-macos-sdk-full
microsoft-tvos-sdk-full

Allow users to install let's say Android and TvOS workload. User may not be targeting MacOS or iOS , why it is required to install them as well.
To solve this a Console Checkbox control can be used.

This is a bit out of scope for maui-check for now.  You can start using the dotnet workload install cli command in future previews to get the workloads you want.


Gears, Switched Vertex Indexes From 32bit to 16bit

ARM FrameAdvisor showed 32bit indexes in use. Since there are only 880 triangles at present, 65536 vertices leaves room for growth. Keeping data types as narrow as possible is good practice for mobile where bandwith use => power => heat => thermal throttling and shortened runtimes. I think this change improves the example for a project used by people learning graphics for Android.
The mesh complexity metrics in frame advisor show the improvement:

I'm kinda hesitant to merge (mostly) vendor specific changes, but in general I'm not against it.
The repo already has a sample specific to vertex attributes at https://github.com/SaschaWillems/Vulkan/tree/master/examples/vertexattributes
That would probably the better sample to adjust, and add a vendor specific path incl. documentation.

Your advice on a better spot for it is taken.


chore(app::restart): improve test coverage on single pod restarts

Current coverage is 82.24%

Merging #546 into master will increase coverage by +0.40% as of a4934b5

@@            master    #546   diff @@
======================================
  Files           36      36
  Stmts         2303    2303
  Branches       331     331
  Methods          0       0
======================================
+ Hit           1885    1894     +9
  Partial        115     115
+ Missed         303     294     -9

Review entire Coverage Diff as of a4934b5

Powered by Codecov. Updated on successful CI builds.


GRBL over WebSocket support implementation

Many of DIY laser engravers use a simple ESP01 to make them wireless (including mine)
This app seems promising but it couldn't connect to WebSockets, so I added this option.
FYI, this is my first encounter with Python, so I'm happy to learn. Don't hesitate to point out the no-nos I just did.

Codewise, it seems really close. Does this work for you? Like connects and controls your device with your given changes?
Error wise, there are few. The extra choice panel for the ws uses the same names address and port as the TCP connection and thus will share the same values, between the tcp and webserver connections. The extra requirement also needs to be added to setup.py.
The read code for websocket is probably fine and shouldn't suffer any real issues though the protocol there is technically UTF-8 rather than the latin-1. The default protocol for GRBL doesn't tend to spit out any high-ascii values, though the serial would sometimes disconnect and thus be a 0xFF value and would break the UTF-8 encoding (I assume that's not an issue websockets would hit, but it's harmless copy-pasta).
We often also permit softer imports, for lesser used features. So we often do a import check and then if that import failed we disable that functionality, But, for the direct interfacing stuff like pyserial and pyusb that stuff tends to just be included directly and websocket-client is quite reasonable as an include.

All in all this seems like a solid PR and I'd expect it to be live by 0.9.5 beta 1.

Also, any more details on the project. For example, if I wanted one of these to test with, how could I vaguely retrace your steps? Does this flash full GRBL or FluidNC or something? And if not is there some customized software requirement or preference here?
I seem to recall I have a project vpype which basically does generic ascii data (https://github.com/plottertools/vpype-gcode). The methods are simple in that it simply writes out the data in profile determined ascii.

Also, would this stuff be common for other devices? For example we have a com-port command that sends generic data to a com-port. Would something like that be wanted or needed for websockets? Like, after this part of the project is finished, execute this command sending data X to this particular TCP address and if we get back Y data then we were successful if not we fail and abort the process.
In the original use case it was cutting and kicking different pieces of wood for a passthrough, but it seems like it could do basically anything.


UnixDirectoryListingFormatter Causing Incorrect Last Modified Date

When looking at the results of an FTPClient.listFiles() call, the returned FTPFile objects are missing data from the lastModified timestamp. Date information (year, month, day) is correct but all other field are null or default. I did some debugging and the source of the issue seems to be the UnixDirectoryListingFormatter class. The date formatter being used is
private static final String DATE_FORMAT = "MMM dd  yyyy"; which is causing data to be lost when converting the file system information into a response string for the FTP command.
Is there some reason for using this particular format? Would it be possible to add a configuration option to allow the user to specify a date format when setting up the file system?
Step to Reproduce:

Create a FakeFtpServer and add a UnixFakeFileSystem.
Create a new File and add it to the file system taking note of the date and time.
Use an FTP client to connect to the FakeFtpServer.
Execute a 'listFiles' command on the directory where the file was added.
Call getTimeStamp() on one or more of the returned FTPFile objects. The result will be missing all date information other than year, month, and day.

That original implementation was a simplifying assumption. As I understand it, "MMM DD YYYY " is one of the two valid formats, and the other is "MMM DD hh:mm", if the date is "recent", e.g. within the last six months.
So its not like you'd ever be guaranteed to get the time portion from your "real" FTP server, unless you know the date is recent, and even that could be system-dependent.
Just out of curiosity, what is this breaking for you?

I had an application where I needed to filter the files in an FTP directory by date. Since the UnixDirectoryListingFormatter only includes the MMM DD YYYY format, my tests on recently created files were breaking. I eventually managed to find a workaround by creating my own implementation of DirectoryListingFormatter and applying it to the test FileSystem during test setup. It wasn't that difficult once I understood exactly what was going on.
At the very least, this is probably something worth calling out in the documentation. Knowing why the getTimestamp() call was returning a different value from what I expected and what the potential options were would have saved a lot of digging through the source code.
Even better would be to handle both date formats in the implementations of DirectoryListingFormatter. The implementation I went with simply compares the year of the lastModified date of the fileSystemEntry against the current date and selects the date format based on the result.

Fixed for MockFtpServer 3.0.0


Newly added components after migration to .net 8 are not recognized in Visual Studio's code editor

I have a blazor web assembly app that I migrated from .net 7 to .net 8 following this guide:
https://learn.microsoft.com/en-us/aspnet/core/migration/70-80?view=aspnetcore-8.0&tabs=visual-studio#convert-a-hosted-blazor-webassembly-app-into-a-blazor-web-app
I followed the guide exactly and my Client, Server, and Shared projects are currently targeting .net 8. I'm running Visual Studio Community v17.8.3, the latest version as of this post. The solution compiles and runs just fine.
I've encountered an issue where any new components I create are not being recognized in Visual Studio's code editor. It gives a warning "Found markup element with unexpected name [name here]. If this is intended to be a component, add a @using directive for its namespace." However, the app will actually compile, and the component will function just fine at runtime.  It appears to be a strictly compile-time/development environment issue.
It doesn't appear to be a namespace issue, either. If I copy and paste one of my old components (that is recognized) into the same directory, rename it by adding a "2" to the end of the name, for example, "customdropdown.razor" to "customdropdown2.razor", and then attempt to use it in a component that's already using "customdropdown.razor", then it should also recognize and find customdropdown2.razor. However, it doesn't.
In this screenshot, I created a copy of EditClientVisitList.razor and named it EditClientVisitList2.razor. Then I try to use EditClientVisitList2 in the EditClientTabContainer component. The original EditClientVisitList component is found, but the new EditClientVisitList2 component is not. There is a using for @using PantryManager.Client.Pages.StaffApp.Client; in EditClientTabContainer.razor and also in _Imports.razor for good measure.

And the code for EditClientVisitList.razor/EditClientVisitList2.razor:
`@attribute [Authorize(Policy = "VisitList-View")]
@using Microsoft.AspNetCore.Authorization;
@using PantryManager.Client.Pages.StaffApp.TImeEntry
@using PantryManager.Client.Pages.StaffApp.Visit
@using static PantryManager.Client.Pages.StaffApp.Visit.EditVisit;

@code {
[Parameter]
public int? ClientID { get; set; }
[Parameter]
public EventCallback<int> VisitUpdated { get; set; }

private async Task VisitUpdatedHandler(int visitID)
{
    await VisitUpdated.InvokeAsync(visitID);
}

}`
I first saw the issue when I renamed App.razor to Routes.razor in the client project during the migration per the guide's instructions. When I attempted to use the Routes.razor component in the newly created App.razor component in the server project, it didn't recognize Routes.razor. I chalked it up to being a temporary migration issue, but that doesn't appear to be the case.
I've tried closing the component code tab, a clean/rebuild of the solution, a restart of Visual Studio, a restart of the machine, deletion of the .vs folder but nothing has fixed it. I'm running out of ideas ideas and places to look. Perhaps there is something else I'm missing with respect to the changes introduced in .net 8? The migration guide says it will migrate the project to an equivalent .net 8 Blazor Web App but could there be some other lingering differences? Any thoughts or suggestions would be much appreciated. I can provide more details upon request.
Thank you.

Thanks for reporting this @pszlachetka. We released Visual Studio 17.9 Preview 2 yesterday, which contains a fix (https://github.com/dotnet/razor/pull/9601) that should resolve this problem. Would it be possible to install that version and see if it does?
Alternatively, deleting all of the obj folders from all of your projects, and restarting Visual Studio, should also fix the issue. If you are using git, then git clean -xdf in the root of your repo should be enough to do it. Unfortunately just a clean/rebuild doesn't delete the offending file, and it's not stored in the .vs folder :(

Thank you for the prompt response David. I can confirm that VS 17.9 Preview 2 fixes the issue, and deleting the obj folders also resolved it. :)

Awesome to hear! Thank you for the speedy follow up!

Closing as a duplicate of https://github.com/dotnet/razor/issues/9600


[BEAM-7586] Add Integration test for python mongodb io

Add local integration test for python mongodb io class.
Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Run Python PreCommit

Run Portable_Python PreCommit

retest this please

Run Python_PVR_Flink PreCommit

Run Portable_Python PreCommit

R: @chamikaramj
Cham could you take a look at this PR?

LGTM. Thanks.


Enable skip build

Checklist before submitting

[x] Did you read the contributor guide?
[x] Did you update any affected documentation?
[x] Did you write any tests to validate this change?

Description
Fixes #142
This PR adds the --skip_build_packages argument to the build_env script. This will perform all of the actions that build_env normally does except for performing the actual builds. Notably, this will generate conda environment files for a collection of Open-CE environments without actually performing a build.
As part of this PR, a collection of CondaEnvFileGenerators will be stored within a BuildTree.
Review process to land

All tests and other checks must succeed.
At least one maintainer must review and approve.
If any  maintainer requests changes, they must be addressed.

Codecov Report

Merging #158 into master will decrease coverage by 0.17%.
The diff coverage is 93.88%.

@@            Coverage Diff             @@
##           master     #158      +/-   ##
==========================================
- Coverage   92.74%   92.57%   -0.17%
==========================================
  Files          11       11
  Lines         785      781       -4
==========================================
- Hits          728      723       -5
- Misses         57       58       +1

Flag
Coverage Δ

unittests
92.57% <93.88%> (-0.17%)
:arrow_down:

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

Impacted Files
Coverage Δ

open-ce/build_env.py
82.00% <75.00%> (-0.69%)
:arrow_down:

open-ce/conda_env_file_generator.py
97.30% <96.43%> (-2.70%)
:arrow_down:

open-ce/build_tree.py
96.60% <100.00%> (+0.17%)
:arrow_up:

open-ce/utils.py
86.21% <100.00%> (+0.12%)
:arrow_up:

Continue to review full report at Codecov.

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


Mismatch format for cookies between Puppeteer and sessionPool

Describe the bug
Puppeteer uses a different format from cookieJar, and it leads to cookies not being applied when using session.setPuppeteerCookies + persistCookiesPerSession: true. the same cookie array works for page.setCookies()
To Reproduce
When visiting twitter, this cookie will crash the handlePageFunction with a 401 when visiting https://twitter.com when using session.setPuppeteerCookies():
[
    {
        "name": "auth_token",
        "domain": ".twitter.com",
        "value": "f431d25ba571dfdb6c03b9900f28f6f2c7de3e97" // need to adjust to a proper token for testing
    }
]

if you set it inside gotoFunction using page.setCookies(), it works as expected.
Expected behavior
Both should be interchangeable. It seems that the expiry of both also differ, and leads the invalid values, with string dates like 2022020-. puppeteer (and EditThisCookie) uses a float for expiry, the time math needs some fixing as well
System information:

OS: Windows 10 x64
Node.js version: 12.8.4
Apify SDK version: 0.22.4

Additional context
The cookie format will need to be normalized from/to Puppeteer, since in most cases it's being used with Puppeteer, or used with requestAsBrowser as a string directly to the headers.

Hmm, that's why we have the different functions, setPuppeteerCookies, getPuppeteerCookies, setCookiesFromResponse and getCookieString. Do they not work? Where exactly is this issue coming from? Could you provide reproduction code please?

Yeah, it might be just wrong usage in all of these actors: Instagram Scraper, Twitter Scraper, Login session.

@mnmkng comes from EditThisCookie, usually it's the "go to" solution for exporting session cookies for auth. I just deleted the rest of the fields for brevity, but it happens when using page.cookies() as well, same behavior

page.cookies() => session.setPuppeteerCookies() should work unless they changed something.
Not sure about EditThisCookie, but we have a test for support of leading dots in domains, so that should work too. A repro code would be really great.
https://github.com/apify/apify-js/blob/6ac7a7c0a1ff33047cde49a3672fb4067e6db388/test/session_pool/session.test.js#L205

@mnmkng I was talking to @metalwarrior665 now and got a dump using 0.22.4 locally, pasted it here https://pastebin.com/ecFBXhVx
it's another issue, but only happens with persistCookiesPerSession, works when manually setting the cookies (but not with puppeteer cookies)

this doesn't work as expected, either with .zillow.com or zillow.com or www.zillow.com:
      sessionPoolOptions: {
            maxPoolSize: 1,
            createSessionFunction(sessionPool) {
                const session = new Apify.Session({
                    sessionPool,
                });
                session.setPuppeteerCookies([
                    {
                        name: 'search2',
                        value: '6|1614981024129%7Czpid%3D2079544903%09%09%09%09%09%09%09%09',
                        expires:<PHONE_NUMBER>.477853,
                        domain: '.zillow.com',
                        path: '/'
                    },
                ], 'https://www.zillow.com');
                return session;
            },
        },

there's two scenarios here:

when SDK_SESSION_POOL_STATE is not empty (aka, have some cookies in it), setPuppeteerCookies on the session is ignored completely, search2 is never set nor persisted
when SDK_SESSION_POOL_STATE is empty and you session.setPuppeteerCookies, it will only set the cookies (it will have search2 inside the cookieJar), but won't append new ones from the page

if I manually edit the cookies array and make it empty, it will persist the page cookies but not the ones from setPuppeteerCookies.
while running it's always like this

@pocesar imho worth to recheck value in dev tools (Application tab, then expand Cookies from left menu) rather than EditThisCookie - there is a chance that they (site creators) added something to make value parsed in a corrupted way by EditThisCookie

So I've been testing it, and apparently, there's different behavior in SDK 0.22 and 1.0:
Having useSessionPool: true, but NOT persistCookiesPerSession: true - on SDK 0.22 cookies were not set to page with session.setPuppeteerCookies (session would still have the cookies though). When both are true - it works as expected. Original cookies come from EditThisCookie. This is resolved in SDK 1.0.
Regarding inconsistencies I could think of 3 possible options:

EditThisCookie cookies -> to page - this should work fine no matter how it's done (pptr methods/session.setPuppeteerCookies);
Cookies from pptr page.cookies() -> to page. Will always work with page.setCookie(), but might fail with session.setPuppeteerCookies in certain cases. Seems like the problem is not the cookies with leading dots, but rather 'session' cookies (without expiration date). EditThisCookie would not have any expiration date for those, page.cookies() would have expires: -1, while tough cookie would assign expires: 1969-12-31T23:59:59.000Z or expires: +053118-07-06T09:18:03.000Z to these in session.setPuppeteerCookies (and thus these cookies would be ignored by page). Removing expires from the cookie makes it work.
page.cookies() cookies -> to page. For previous option I first saved the cookie to some variable before session.setPuppeteerCookies. If I do it in the code (in handlePageFunction, i.e. open the page, login, get cookies - session.setPuppeteerCookies) - the cookies are ignored completely (I don't see them assigned to session). But again - removing the expires: -1 solved the problem. Not sure what's actually the difference between (2) and (3) though.

So as mentioned, the first thing is resolved in SDK 1.0. For inconsistencies - I would add a check which would remove the expiration date for session cookies, it should solve the problem. PR following soon.

Having useSessionPool: true, but NOT persistCookiesPerSession: true - on SDK 0.22 cookies were not set to page with session.setPuppeteerCookies (session would still have the cookies though). When both are true - it works as expected. Original cookies come from EditThisCookie. This is resolved in SDK 1.0.

I'm not sure I get this. When persistCookiesPerSession is not set to true, the cookies should NOT be persisted to sessions. So if they are not persisted, that's expected behavior and correct.
In SDK v1, useSessionPool and persistCookiesPerSession is true by default. So cookies are persisted by default.

@mnmkng Not exactly. If persistCookiesPerSession: false, but createSessionFunction adds some cookies - I would expect the session to have these cookies, but would not expect further saving of new cookies per session. Using SDK 0.22 - session don't have cookies saved in createSessionFunction without specifying persistCookiesPerSession: true, using SDK 1.0 - session would have the cookies.

Ok, got it now. Please check why exactly. Might be only because the persistCookiesPerSession is true by default in 1.0. That would mean the bug is still there, but it's obscured by the default setting.

Just checked with persistCookiesPerSession: false in 1.0 - still works as expected.

@mnmkng I take my words back, sorry, the problem still exists in 1.0. I didn't notice it because you could not set persistCookiesPerSession to false now because of a bug in browser_crawler. No matter what's specified - it would still be true in the end: https://github.com/apify/apify-js/blob/8638562432791617eb95a2c5e995dac86d3cfa4d/src/crawlers/browser_crawler.js#L288
Please do not merge the PR - I will check/fix it tomorrow.


Can mqttnet server support websocket protocol?

I found this https://github.com/chkr1011/MQTTnet/wiki/Server#websocket-endpoint
But it seems only work in asp .net core .
Is there any way for me to create a websocket based mqttnet server in .net application (standard .net framework such as asp .net mvc website / .net application)?

Hi,
you can implement your own server adapter. You can have a look at the adapter for ASP.NET core and see what the adapter is doing. I assume the implementation will be similar for asp.net MVC.
Best regards
Christian

Hi,
Thanks for your reply.
I found this adapter, https://github.com/chkr1011/MQTTnet/blob/1ee48a978fb463322364eb9b67dd5df3314467c8/Frameworks/MQTTnet.AspnetCore/MqttWebSocketServerAdapter.cs
and i think i can only read the code ,but i really dont undestand it...
I never work on .net core and so i dont know how it works...
Can you give me some tips?

That code isn't .NET CORE, it's just C#, copy the class from the adapter in the link, paste it in your project and fix the references to packages in your MVC application.

@bighamx Hi. Were you able to figure out a solution?


WIP: (feat) Implement

@hastebrot can you create an issue at Dolphin Platform repo for this PR and describe your idea of the API


Dockerize it

The env should be standardized.
A base Docker image should be created
Ideal to be reused for local testing, CI and deployment
Some ideas to go further

prepare a docker composition
turn it k8s-deployable
provide Helm Chart

@XaviTorello if it's available for the Hacktoberfest can you please assign it to me? I would love to help

Great! Many thanks @mcastellin! 🍻
I'll write you via Gitter to discuss it. Just a summary: our initial idea is to define some teams (isolated by functional branch, I mean, dev / devops / UX / isec / ....) and start working on it following a global roadmap. The kickoff session will be performed next thursday (November 1th) via Zoom/Hangouts will all interested people.
Here you will find more information about the event that we propose: https://hacktoberfest.geekscat.org/ (sorry it's just in catalan)


Not able Restore wallet

I tried to restore my wallet. it keeps on loading after I entered the Backup phrase (seed word ) and brings the user to create wallet screen.

completed


Doesn't split initialized 'var' declarations into multiple statements

Repro:

Create a new javascript file with the following contents: var a = 'a', b = 'b'; console.log(a, b);
Trigger Standard Formatter: Format
Expect the following result:var a = 'a'
var b = 'b'
console.log(a, b)

Observe the following result instead:var a = 'a', b = 'b'
console.log(a, b)

This package uses maxogden/standard-format to perform the transformation, so any issues with the formatting should be opened there.
If you install and run standard-format command line tool against your example code, it will output the same result.

There is an issue for this in that repo: https://github.com/maxogden/standard-format/issues/22


Revert "OperateFirst - creating GitHub Workflow to automate PR creati…

…on (#816)"
This reverts commit a400cb452875e081c639c1bab53963880afdf963.
Signed-off-by: Revital Sur<EMAIL_ADDRESS>

I don't think that we need to revert. A follow-up PR can add additional changes towards finishing #523


[Refactor] Refator ViT (Continue #295)

Motivation
This PR is the update of PR #295, to refactor vit backbone.
Modification
Based on #295, continue to work.
BC-breaking (Optional)
ViT structure is changed, old config and checkpoint will be broken.
Checklist
Before PR:

[x] Pre-commit or other linting tools are used to fix the potential lint issues.
[x] Bug fixes are fully covered by unit tests, the case that causes the bug should be added in the unit tests.
[x] The modification is covered by complete unit tests. If not, please add more unit test to ensure the correctness.
[ ] The documentation has been modified accordingly, like docstring or example tutorials.

After PR:

[ ] If the modification has potential influence on downstream or other related projects, this PR should be tested with those projects, like MMDet or MMSeg.
[ ] CLA has been signed and all committers have signed the CLA in this PR.

@Ezra-Yu This PR depends on #398, we need to merge that at first.


Dynamic flow control in batch operation

close as duplicated of https://github.com/uber/cadence/issues/2138


Add error_handler option as Proc to Dalli::Store

Currently Dalli::Store supports a raise_errors (true/false) config.
I'd like more fine grained error handling like Rail's Redis Store supports. Would propose to add error_handler option as a proc, which is what Redis does.
My main reason for this is related to: https://github.com/rack/rack-attack/pull/577

@johnnyshields Dalli::Store is no longer supported.  It was deprecated in the 2.7.x versions and removed with 3.0.x.
You can find the MemCacheStore class here - https://github.com/rails/rails/blob/main/activesupport/lib/active_support/cache/mem_cache_store.rb

Thanks, will close issue!


Add: Hai Duong TV

Channel Name
Hai Duong TV
Alternative Names (optional)
Truyền hình Hải Dương
Network (optional)
No response
Owners (optional)
Hai Duong Radio & Television
Country
VN
Subdivision (optional)
No response
City (optional)
Hai Duong
Broadcast Area
c/VN
Languages
vie
Categories (optional)
general
NSFW
FALSE
Launched (optional)
1984-01-01
Closed (optional)
No response
Replaced By (optional)
No response
Website (optional)
http://www.haiduongtv.com.vn/truyen-hinh-truc-tuyen.html
Logo
https://www.lyngsat.com/logo/tv/hh/hai_duong_tv_vn.png
Notes
No response

Already in the database: https://iptv-org.github.io/channels/vn/HDTV


fix README

I’m not sure how this is a fix - is this perhaps correct for a different version of ruby/rails?

I’m not sure how this is a fix - is this perhaps correct for a different version of ruby/rails?

resubmitting https://github.com/airbnb/hypernova/pull/169/files

@ljharb should we just remove v4 and v5 tests? seems it doesn't support destructuring and introduce 'unexpected token ...' error

No, first we should fix them. We should be able to use any syntax if we have Babel set up right.

Please don’t “resubmit” PRs; old ones can and should be reused. Every PR is a permanent ref on the repo, and creating duplicates just pollutes things.

I think maybe updating the Airbnb preset is probably a better bet

I think maybe updating the Airbnb preset is probably a better bet

OK. But after adding the plugin, it's working on my local with node v5, not sure why the test is still failing in github

@ljharb is the babel version setup in    uses: ljharb/actions/.github/workflows/node.yml@main ? not sure how to proceed

if this is left open, then someone else can pick it up.


Introduce BuilderJob

This will introduce BuilderJob interface to buildup builder jobs.
ONE-vscode-DCO-1.0-Signed-off-by: SaeHie Park<EMAIL_ADDRESS>

From draft #70


Cherry-pick PR #421

Set 'useFQDN' to 'false' in Nats config in values.yaml. Now NATS uses short names to refer to other pods within the same namespace - No domain suffix.

Description

Motivation and Context

Regression

How Has This Been Tested?

Types of changes

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

Checklist:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added unit tests to cover my changes.

You need to cherry-pick the actual commit, not the merge one.

bors merge

bors merge