Json.findAllByKey: avoid allocations.

The existing code of findAllByKey was performing several memory allocations, not needed to create the final result.

It creates a long list with keyValues from which it filters   only the pairs with a certain Key.
Performs several transformations of Vector to list, which may  mean copying the whole Vector.
For each field, it creates a new tuple-pair.

Instead of all that, we use a mutable ListBuffer, and a recursive loop that runs through the Json, picking only the fields and values that it cares about.

Thanks for doing this, @diesalbla! Would you mind merging master?

Codecov Report

Merging #1135 into master will decrease coverage by 4.61%.
The diff coverage is 28.57%.

@@            Coverage Diff             @@
##           master    #1135      +/-   ##
==========================================
- Coverage   84.29%   79.67%   -4.62%
==========================================
  Files          77       77
  Lines        2508     2509       +1
  Branches      107      108       +1
==========================================
- Hits         2114     1999     -115
- Misses        394      510     +116

Impacted Files
Coverage Δ

...les/core/shared/src/main/scala/io/circe/Json.scala
77.16% <28.57%> (-2.35%)
:arrow_down:

...chmark/src/main/scala/io/circe/benchmark/Foo.scala
0% <0%> (-100%)
:arrow_down:

...o/circe/benchmark/GenericDerivationBenchmark.scala
0% <0%> (-100%)
:arrow_down:

...rc/main/scala/io/circe/benchmark/ExampleData.scala
0% <0%> (-100%)
:arrow_down:

...scala/io/circe/benchmark/JsonObjectBenchmark.scala
0% <0%> (-100%)
:arrow_down:

...la/io/circe/benchmark/NumberParsingBenchmark.scala
0% <0%> (-100%)
:arrow_down:

...in/scala/io/circe/benchmark/FoldingBenchmark.scala
0% <0%> (-89.66%)
:arrow_down:

...n/scala/io/circe/benchmark/PrintingBenchmark.scala
0% <0%> (-75%)
:arrow_down:

...rc/main/scala/io/circe/shapes/SizedInstances.scala
78.57% <0%> (-14.29%)
:arrow_down:

...re/shared/src/main/scala/io/circe/JsonNumber.scala
92.5% <0%> (-2.5%)
:arrow_down:

... and 5 more

Continue to review full report at Codecov.

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

Looks like it just needs sbt scalafmt now.


Add hook to customize how elfeed-db-gc finds elfeed-refs

This pull request allows users and package authors to extend elfeed's GC mechanism to store elfeed-refs anywhere, not only the content slot of an elfeed entry in the database.
Fixes #376.

Forgot to mention, but all the tests pass.

Hey, @skeeto friendly ping for a merge or otherwise some feedback. I'm nearly ready to call my own package finished, and if at all possible I'd like to avoid recommending that users advise any of elfeed's functions.

I'm keen to see this merged so elfeed-paywall can adopt an improved storage model for deeply-fetched content!


histogram: expose LocalHistogram

Currently there is no way to declare a variable has type LocalHistogram.
@siddontang @overvenus PTAL

CI failed

CI failure doesn't seem to be related to these changes.

@overvenus Please fix the CI later. I will merge this PR now because TiKV needs it.

Okay, I will give it a try.


Sending images to facebook causing Microsoft.Rest.HttpOperationException: You must provide an original or thumbnail property

Bot Info

Bot handle: spjaebot
App ID: 9c0072eb-f501-4042-af87-353a7dc8aee9
SDK Platform: .NET
SDK Version: 3.12
Active Channels: Direct Line, Web, Telegram, Messenger
Deployment Environment: Azure website

Issue Description
Sending an image as an attachment causes the following error: Microsoft.Rest.HttpOperationException: You must provide an original or thumbnail property
Code Example
 reply.Attachments.Add(new Attachment()
{
        ContentType = "image/jpeg",
        ContentUrl = resp.ImageUrl,
        ThumbnailUrl = "https://www.example.com/image.png",
        Name = "Image from SERVICE"
});

Expected Behavior
The image should render as per normal. Funnily enough I've had no issies on web chat, direct line and telegram. Although telegram does take a while to send the image (up to 10s at times) it still does go through.
Actual Results
The client sees the following error sent as a chat message in lieu of the image:

That error message isn't in my code, however. Additionally, this is the stacktrace I see:
Exception thrown: 'Microsoft.Rest.HttpOperationException' in mscorlib.dll
Microsoft.Rest.HttpOperationException: You must provide an original or thumbnail property
   at Microsoft.Bot.Connector.ErrorHandling.<HandleErrorAsync>d__2`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Connector.ConversationsExtensions.<ReplyToActivityAsync>d__7.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.AlwaysSendDirect_BotToUser.<Microsoft-Bot-Builder-Dialogs-Internals-IBotToUser-PostAsync>d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.InputHintQueue.<Microsoft-Bot-Builder-Dialogs-Internals-IMessageQueue-QueueMessageAsync>d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.AutoInputHint_BotToUser.<Microsoft-Bot-Builder-Dialogs-Internals-IBotToUser-PostAsync>d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.MapToChannelData_BotToUser.<PostAsync>d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.LogBotToUser.<Microsoft-Bot-Builder-Dialogs-Internals-IBotToUser-PostAsync>d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.PostUnhandledExceptionToUser.<Microsoft-Bot-Builder-Dialogs-Internals-IPostToBot-PostAsync>d__5.MoveNext()
Exception thrown: 'Microsoft.Rest.HttpOperationException' in Microsoft.Bot.Builder.dll

I do not, however, have these issues on my other deployed channels.
Initially, I did not have a thumbnail URL and neither did I have a have a name parameter. Adding those, however, did not solve my problem. Again, this happens to be one of those bugs that showed up in prod just before Christmas...
Thank you guys for your help!

POINTS AT @craigjensen

Hi,
ok, this is a sample image I have sent: https://res.cloudinary.com/nyx-intelligence/image/upload/sp-route-images/Auditorium and a sample thumbnail is this: https://pbs.twimg.com/profile_images/608090302348271616/_20fw54g.jpg

I was able to send both of those images to Facebook successfully as follows.  Note that you must set the image url in the ContentUrl property (ThumbnailUrl is ignored by our Facebook channel).
        reply.Attachments.Add(new Attachment()
        {
            ContentType = "image/png",
            ContentUrl = "https://res.cloudinary.com/nyx-intelligence/image/upload/sp-route-images/Auditorium"
        });

        reply.Attachments.Add(new Attachment()
        {
            ContentType = "image/jpeg",
            ContentUrl = "https://pbs.twimg.com/profile_images/608090302348271616/_20fw54g.jpg"
        });

That's weird. It's 1am here I'll test this out again tomorrow. I extracted it from the project i was working on. Funnily enough this issue didn't happen on telegram...

Looks like it works. I guess issue can be closed


fix: pin @nestjs/testing to 6.10.5

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


manageiq/manageiq:ivanchuk-4 - docker image not starting

Description:
can not start manageIQ as per Quick Start guide on the official page
I am following setup  steps on this page https://www.manageiq.org/docs/get-started/docker, container will  crash after cca 30 seconds, with error.
system information
os:
[root@inw-vm205 ~]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
You have new mail in /var/spool/mail/root
[root@inw-vm205 ~]#

docker:
[root@inw-vm205 ~]# docker -v
Docker version 1.13.1, build 7f2769b/1.13.1
[root@inw-vm205 ~]#

manageiq:  manageiq/manageiq:ivanchuk-4
How to Reproduce:
sudo docker pull manageiq/manageiq:ivanchuk-4
sudo docker run -d -p 8443:443 manageiq/manageiq:ivanchuk-4

P.S. the same would happn if using podman
Actual Result:
container crashes after 20-30s
[manageiq.log](https://github.com/ManageIQ/manageiq/files/4627068/manageiq.log)

[root@inw-vm205 ~]# docker ps -a
CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS                    PORTS               NAMES
2095c17eac8d        manageiq/manageiq:ivanchuk-4   "/usr/local/bin/du..."   16 hours ago        Exited (1) 16 hours ago                       practical_mestorf
[root@inw-vm205 ~]#

from the logs

/usr/local/lib/ruby/gems/2.5.0/gems/activerecord-5.1.7/lib/active_record/connection_adapters/postgresql_adapter.rb:709:in `rescue in connect': FATAL:  database "vmdb_production" does not exist (ActiveRecord::NoDatabaseError)
        from /usr/local/lib/ruby/gems/2.5.0/gems/activerecord-5.1.7/lib/active_record/connection_adapters/postgresql_adapter.rb:704:in `connect'
        from /usr/local/lib/ruby/gems/2.5.0/gems/activerecord-5.1.7/lib/active_record/connection_adapters/postgresql_adapter.rb:229:in `initialize'
        from /var/www/miq/vmdb/config/initializers/postgres_required_versions.rb:3:in `initialize'
        from /usr/local/lib/ruby/gems/2.5.0/gems/activerecord-5.1.7/lib/active_record/connection_adapters/postgresql_adapter.rb:46:in `new'
        from /usr/local/lib/ruby/gems/2.5.0/gems/activerecord-5.1.7/lib/active_record/connection_adapters/postgresql_adapter.rb:46:in `postgresql_connection'
        from /usr/local/lib/ruby/gems/2.5.0/gems/activerecord-5.1.7/lib/active_record/connection_adapters/abstract/connection_pool.rb:761:in `new_connection'
        from /usr/local/lib/ruby/gems/2.5.0/gems/activerecord-5.1.7/lib/active_record/connection_adapters/abstract/connection_pool.rb:805:in `checkout_new_connection'
        from /usr/local/lib/ruby/gems/2.5.0/gems/activerecord-5.1.7/lib/active_record/connection_adapters/abstract/connection_pool.rb:784:in `try_to_checkout_new_connection'
        from /usr/local/lib/ruby/gems/2.5.0/gems/activerecord-5.1.7/lib/active_record/connection_adapters/abstract/connection_pool.rb:745:in `acquire_connection'
        from /usr/local/lib/ruby/gems/2.5.0/gems/activerecord-5.1.7/lib/active_record/connection_adapters/abstract/connection_pool.rb:502:in `checkout'
        from /usr/local/lib/ruby/gems/2.5.0/gems/activerecord-5.1.7/lib/active_record/connection_adapters/abstract/connection_pool.rb:376:in `connection'
        from /usr/local/lib/ruby/gems/2.5.0/gems/activerecord-5.1.7/lib/active_record/connection_adapters/abstract/connection_pool.rb:933:in `retrieve_connection'
        from /usr/local/lib/ruby/gems/2.5.0/gems/activerecord-5.1.7/lib/active_record/connection_handling.rb:116:in `retrieve_connection'
        from /usr/local/lib/ruby/gems/2.5.0/gems/activerecord-5.1.7/lib/active_record/connection_handling.rb:88:in `connection'
        from /var/www/miq/vmdb/app/models/miq_server/environment_management.rb:63:in `validate_database'
        from /var/www/miq/vmdb/app/models/miq_server.rb:175:in `start'
        from /var/www/miq/vmdb/lib/workers/evm_server.rb:27:in `start'
        from /var/www/miq/vmdb/lib/workers/evm_server.rb:48:in `start'
        from /var/www/miq/vmdb/lib/workers/bin/evm_server.rb:4:in `<main>'

will attach the logs
Expected Result:
manageIQ starts and i can access the dashboard

/cc @simaishi

I'm not able to reproduce the issue.  @carbonin any idea?

The entire log output would be helpful. I'll give it a try.

Nope, also works for me. I did open a small correction to the website, but that shouldn't change anything.
https://github.com/ManageIQ/manageiq.org/pull/843

Hi, thank you for looking into this, i will try to reproduce again on a different vanila image.

manageiq.log
the entire container log

@vmindru I think your problem is not that the database isn't up.
The log you shared shows this:
/usr/local/lib/ruby/gems/2.5.0/gems/ffi-1.12.2/lib/ffi/library.rb:112: [BUG] Illegal instruction at 0x00007fe964b93a3f
ruby 2.5.7p206 (2019-10-01 revision 67816) [x86_64-linux]
...
[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

/var/www/miq/vmdb
** MIQ database has been initialized
/usr/bin/appliance-initialize.sh: line 56:    54 Aborted                 bundle exec rake evm:db:reset

Please reopen if still an issue


cannot import name 'TabularPrediction'

Hi,
in first, thank you for providing of library, it's realy useful.
When is executing training job in Sagemaker (code-free-automl), there is import error:
Traceback (most recent call last):
File "autogluon-tab-with-test.py", line 13, in
from autogluon import TabularPrediction as task
ImportError: cannot import name 'TabularPrediction'
I guess that's why upgrade of new release of autogluon.
How can I resolve this?
Thanks

Yep! Having the same issue - this shows that TabularPrediction has been deprecated in favor for TabularDataset, TabularPredictor. I'll circle back if I successfully update the code!

Here my solution:

Untar sourcedir.tar.gz
Edit autogluon-tab-with-test.py
Replace
os.system('pip install autogluon')
by
os.system('pip install autogluon==0.0.15 autogluon.tabular "mxnet<2.0.0"')
Tar again to sourcedir.tar.gz

The next train job will now work succesfully.


housekeeping

Ran Plan for project: local-lhr-unifi dir: infrastructure/local/lhr/unifi workspace: terragrunt
Show Output
14:32:53.134 INFO   Downloading Terraform configurations from ../../.. into ./.terragrunt-cache/cRxLDkuxUvu6ylEs0d3nXcdC_bU/mvLObwLDM8ZwxmIirIhKPjnwnhw
14:32:53.484 STDOUT tofu: Initializing the backend...
14:32:53.758 STDOUT tofu:
14:32:53.758 STDOUT tofu: Successfully configured the backend "s3"! OpenTofu will automatically
14:32:53.758 STDOUT tofu: use this backend unless the backend configuration changes.
14:32:53.862 STDOUT tofu: Initializing provider plugins...
14:32:53.863 STDOUT tofu: - Reusing previous version of vexxhost/uptimerobot from the dependency lock file
14:32:54.042 STDOUT tofu: - Reusing previous version of paultyng/unifi from the dependency lock file
14:32:54.132 STDOUT tofu: - Reusing previous version of hashicorp/aws from the dependency lock file
14:32:54.184 STDOUT tofu: - Reusing previous version of backblaze/b2 from the dependency lock file
14:32:54.292 STDOUT tofu: - Reusing previous version of cloudflare/cloudflare from the dependency lock file
14:32:54.427 STDOUT tofu: - Reusing previous version of integrations/github from the dependency lock file
14:32:55.739 STDOUT tofu: - Installing backblaze/b2 v0.8.12...
14:32:57.696 STDOUT tofu: - Installed backblaze/b2 v0.8.12. Signature validation was skipped due to the registry not containing GPG keys for this provider
14:32:58.749 STDOUT tofu: - Installing cloudflare/cloudflare v4.43.0...
14:33:00.263 STDOUT tofu: - Installed cloudflare/cloudflare v4.43.0 (signed, key ID C76001609EE3B136)
14:33:01.558 STDOUT tofu: - Installing integrations/github v6.2.2...
14:33:02.595 STDOUT tofu: - Installed integrations/github v6.2.2 (signed, key ID 38027F80D7FD5FB2)
14:33:03.714 STDOUT tofu: - Installing vexxhost/uptimerobot v0.8.2...
14:33:04.589 STDOUT tofu: - Installed vexxhost/uptimerobot v0.8.2. Signature validation was skipped due to the registry not containing GPG keys for this provider
14:33:05.781 STDOUT tofu: - Installing paultyng/unifi v0.41.0...
14:33:06.671 STDOUT tofu: - Installed paultyng/unifi v0.41.0. Signature validation was skipped due to the registry not containing GPG keys for this provider
14:33:07.918 STDOUT tofu: - Installing hashicorp/aws v5.70.0...
14:33:24.350 STDOUT tofu: - Installed hashicorp/aws v5.70.0 (signed, key ID 0C0AF313E5FD9F80)
14:33:24.350 STDOUT tofu: Providers are signed by their developers.
14:33:24.350 STDOUT tofu: If you'd like to know more about provider signing, you can read about it here:
14:33:24.350 STDOUT tofu: https://opentofu.org/docs/cli/plugins/signing/
14:33:24.350 STDOUT tofu: OpenTofu has made some changes to the provider dependency selections recorded
14:33:24.350 STDOUT tofu: in the .terraform.lock.hcl file. Review those changes and commit them to your
14:33:24.350 STDOUT tofu: version control system if they represent changes you intended to make.
14:33:24.363 STDOUT tofu: OpenTofu has been successfully initialized!

14:33:38.931 STDOUT tofu: No changes. Your infrastructure matches the configuration.
14:33:38.931 STDOUT tofu: OpenTofu has compared your real infrastructure against your configuration and
14:33:38.931 STDOUT tofu: found no differences, so no changes are needed.

:arrow_forward: To apply this plan, comment:atlantis apply -p local-lhr-unifi

:put_litter_in_its_place: To delete this plan and lock, click here
:repeat: To plan this project again, comment:atlantis plan -p local-lhr-unifi

No changes. Your infrastructure matches the configuration.

:fast_forward: To apply all unapplied plans from this Pull Request, comment:atlantis apply

:put_litter_in_its_place: To delete all plans and locks from this Pull Request, comment:atlantis unlock

atlantis apply

Ran Apply for project: local-lhr-unifi dir: infrastructure/local/lhr/unifi workspace: terragrunt
Show Output
14:47:27.540 INFO   Downloading Terraform configurations from ../../.. into ./.terragrunt-cache/cRxLDkuxUvu6ylEs0d3nXcdC_bU/mvLObwLDM8ZwxmIirIhKPjnwnhw
14:47:28.185 STDOUT tofu: Initializing the backend...
14:47:35.086 STDOUT tofu: Initializing provider plugins...
14:47:35.086 STDOUT tofu: - Reusing previous version of cloudflare/cloudflare from the dependency lock file
14:47:35.228 STDOUT tofu: - Reusing previous version of integrations/github from the dependency lock file
14:47:35.284 STDOUT tofu: - Reusing previous version of vexxhost/uptimerobot from the dependency lock file
14:47:35.505 STDOUT tofu: - Reusing previous version of paultyng/unifi from the dependency lock file
14:47:35.647 STDOUT tofu: - Reusing previous version of hashicorp/aws from the dependency lock file
14:47:35.708 STDOUT tofu: - Reusing previous version of backblaze/b2 from the dependency lock file
14:47:35.781 STDOUT tofu: - Using previously-installed integrations/github v6.2.2
14:47:35.810 STDOUT tofu: - Using previously-installed vexxhost/uptimerobot v0.8.2
14:47:35.825 STDOUT tofu: - Using previously-installed paultyng/unifi v0.41.0
14:47:38.131 STDOUT tofu: - Using previously-installed hashicorp/aws v5.70.0
14:47:38.187 STDOUT tofu: - Using previously-installed backblaze/b2 v0.8.12
14:47:38.228 STDOUT tofu: - Using previously-installed cloudflare/cloudflare v4.43.0
14:47:38.228 STDOUT tofu: OpenTofu has been successfully initialized!
14:47:38.229 STDOUT tofu:
14:47:38.229 STDOUT tofu: You may now begin working with OpenTofu. Try running "tofu plan" to see
14:47:38.229 STDOUT tofu: any changes that are required for your infrastructure. All OpenTofu commands
14:47:38.229 STDOUT tofu: should now work.
14:47:38.230 STDOUT tofu: If you ever set or change modules or backend configuration for OpenTofu,
14:47:38.230 STDOUT tofu: rerun this command to reinitialize your working directory. If you forget, other
14:47:38.230 STDOUT tofu: commands will detect it and remind you to do so if necessary.
14:47:44.158 STDOUT tofu:
14:47:44.158 STDOUT tofu: Apply complete! Resources: 0 added, 0 changed, 0 destroyed.
14:47:44.158 STDOUT tofu:

Locks and plans deleted for the projects and workspaces modified in this pull request:

dir: infrastructure/local/lhr/unifi workspace: terragrunt


Numeric keyboard Kivy: v2.1.0

Software Versions

Python: v3.9.6
OS: Ubuntu
Kivy: v2.1.0
KivyMD: 0.104.2, git-bc7d1f5, 2021-06-06
Kivy installation method: python -m pip install "kivy[base]" kivy_examples

Describe the bug
I can't SHOW a keyboard with only numbers.
The full keyboard always appears, I would like to show only numbers.
The closest I've come is preventing you from typing anything other than numbers.
I believe there is something implicit, I have already found some things hidden in other widgets.
Would it be possible to post a little code for us to see?
If possible, could you publish the versions you are using as I did above?
We will be very grateful.
Expected behavior
I would like it to show a numeric only keyboard.
To Reproduce
In my text field it looks like this:
MDTextField:
    id: senha_input
    hint_text: 'Senha'
    pos_hint: {'center_x': .5, 'center_y': .6}

    multiline: False
    input_type: 'number'
    input_filter: 'float'

Code and Logs and screenshots
// REPLACE ME: Paste your code and logs here, a template can be found at https://git.io/vM1id.

Additional context
The attached image comes from an Android emulator, the keyboard is above the text field and this keyboard should be numbers only.

Kivy 2.1.0 support calling numeric android keyboard, but kivyMD may not have been updated. You may try kivyMD develop branch if this does not work you have to use kivy 2.1.0 TextInput.

Does not work.
I'm testing on an Android Studio emulator and it doesn't show the numeric keypad.
Do you have a small code example for me to package here and test?
I feel there is something implicit, forgotten in our comments.

I've noticed the same issue on some Samsung devices and I'm not using kivyMD. Occurred in the TextInput same.

Kivy 2.1.0 suporta chamada de teclado numérico android, mas o kivyMD pode não ter sido atualizado. Você pode tentar o branch de desenvolvimento do kivyMD, se isso não funcionar, você deve usar o kivy 2.1.0 TextInput.

With all due respect, I think if you do a little example and share it with us it would be easier to find the problem because then we would package this example and we would certainly find out if the problem is in android or in our code.
Is there a possibility to share a little code and a print of how your keyboard turned out?

In buidozer requirements you need kivy==2.1.0 and in the kv code you need to use TextInput
TextInput:
            input_type: "number"
TextInput:
            input_type: "tel"`

tested on s7 and note 9 just works fine

kivy==2.1.0

What was different on mine was the buildozer version, I made the adjustment and again it didn't work.
Do you have an example with buildozer and running there?
Below my text field:
id: amount_entered
multiline: False
input_type: 'number'
size_hint: .4, None
height: "30dp"
Below my requirements:
requirements =
python3,kivy==2.1.0,
https://github.com/kivymd/KivyMD/archive/master.zip,
pygments, sdl2_ttf==2.0.15, pillow, requests, certifi, urllib3,
chardet, idna, plyer, pyrebase, gcloud, oauth2client,requests-
toolbelt, httplib2, pyparsing, pyasn1, pyasn1_modules, rsa,
python-jwt, jwcrypto, deprecated, wrapt, google-api-python-
client, google-cloud, google-cloud-storage, protobuf,
cryptography, pycryptodome, validate-docbr
I'm using a Pixel 5 API 30 with Android 11 (emulated)

If you are using MDTextField as your text field numeric keypad do not work, you need to use TextInput as your text field. Your kv code has to be like this:
TextInput:
    id: senha_input
    hint_text: 'Senha'
    pos_hint: {'center_x': .5, 'center_y': .6}

    multiline: False
    input_type: 'number'
    input_filter: 'float'

If you are using MDTextField as your text field numeric keypad do not work, you need to use TextInput as your text field. Your kv code has to be like this:
TextInput:
    id: senha_input
    hint_text: 'Senha'
    pos_hint: {'center_x': .5, 'center_y': .6}

    multiline: False
    input_type: 'number'
    input_filter: 'float'

It worked! I can't believe it!
The problem was my buildozer with the wrong version of kivy and all the tips mentioned here.
Kivy numeric keypad working!


chore: remove explicit preserveWhitespaces setting

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/CONTRIBUTING.md#commit
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[x] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Application (the showcase website) / infrastructure changes
[ ] Other... Please describe:

What is the current behavior?

Issue Number: N/A
What is the new behavior?
Does this PR introduce a breaking change?
[ ] Yes
[x] No

Other information

从 6 以后 preserveWhitespaces 已经默认为 false，显示增加并无意义，以下两个相关链接：

https://github.com/angular/angular/commit/f1a0632
https://github.com/angular/material2/commit/8830486039d98d29a9dcf356bbcd7a8124a02478

默认值用户可以修改的，用户手动配置成true的话很多组件不加这个全部会出现bug，增加这部分的原因就是因为这个


[admin] Publish

Docs Build status updates of commit 6c2a35b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/resources/samples/combine-worksheets-into-single-workbook.md
:white_check_mark:Succeeded
View

licensing-information.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Rust validator registry tp initial commits

This rust validator registry tp replaces the python validator registry tp.
Also, rebasing commits from master to poet2 branch.

Is this a compatible replacement for the python one? If so, it could go directly into master.

This PR currently is using the protobuf file and infrastructure very similar to poet1's VRTP all in rust. Work in AVR verification parts is in progress and would be uploaded as a new commit/separate PR.

The code is missing all pse related code, but all core logic is still intact and can be made compatible with poet1 code with additional effort. Currently, the primary scope is on compatibility with poet2's engine code.

Please rebase as #20 is merged.

This PR will be replaced with the new PR.

Can this PR be closed @arsulegai

Yes, this PR requires rework and can be closed. I will take out sometime next week and raise a PR to replace Python's version with the Rust code.

Cool Thanks @arsulegai


Project only the fields that are in our model

First of all, thanks for creating this project, it has been fantastic to work with.  I have a feature request, which I am happy to implement, I would like the find, find_many, find_all to project our model so that we get back only the data we are interested in.
This helps reduce database load.
An example of where we might use this is when we have a database model which hold a whole bunch of data, but we are loading a summary view which only requires 2 or 3 of these fields.
example:
class AnalyticsLabellingTask(Document):
    reported_by: str = Field(...)
    device_id: str = Field(...)
    priming_start_date: datetime = Field(...)
    event_start_date: datetime = Field(...)
    end_date: datetime = Field(...)
    reviewers: List[str] = Field(...)
    comments: List[Comments] = Field(default_factory=list)
    reviewed_events: List[ReviewedEvents] = Field(default_factory=list)
    water_data: List[TimeSeriesData] = Field(...)
    archived: bool = Field(...)

    class Collection:
        name = "AnalyticsLabellingTasks"

class AnalyticsLabellingTasksSummary(Document):
    device_id: str = Field(...)
    event_start_date: datetime = Field(...)
    end_date: datetime = Field(...)
    reported_by: str = Field(...)

    class Collection:
        name = "AnalyticsLabellingTasks"

I am happy to implement this, I would do it by updating the find calls:
# get the field list of interest, this could be generated
# at the __init__ stage and be stored in memory to prevent
# having to build this many times

fields = test.__fields__
projection = {}
for name, field in fields.items():
    if field.alias:
        projection[field.alias] = 1
    else:
        projection[name] = 1

cursor = cls.get_motor_collection().find(filter_query, projection, **kwargs)

Let me know your thoughts and I can put together a PR next week

Hello Nicholas,
Thank you for your feedback.
Yes, this is a great idea. It will so good if you will implement this.
I still didn't add development guides. If you will need any help with this (like how to test and etc.) you can ask here or in Discord.
Thank you.


Add bash

and site from which I learned about webdev

Thanks @faraco and @kompowiec. @faraco is correct about the syntax lint.
I see that the polish list includes both books and interactive tutorials. Not to hold up this PR, but would it be a good idea to separate them?

i think so that tutorials is not enough to separate IMO. Apki.org actually is probably the only interactive course in polish.


Getting error when running the script make_bu_data.py on Python3

I am getting error when running the script make_bu_data.py on Python3 environment. The script runs fine on Python2 environment. I get the error at this line - https://github.com/ruotianluo/self-critical.pytorch/blob/master/scripts/make_bu_data.py#L40.
The error is _csv.Error: iterator should return strings, not bytes (did you open the file in text mode?). I tried to change the code for Python3 but could not find the equivalent code in Python3.

have you tried:
open(os.path.join(args.downloaded_feats, infile), "r+b") -> open(os.path.join(args.downloaded_feats, infile), "r") ?

I tried that. This gave another error TypeError: memoryview: a bytes-like object is required, not 'str' on this line - https://github.com/ruotianluo/self-critical.pytorch/blob/master/scripts/make_bu_data.py#L44-L45.

Try
base64.decodestring(item[field].encode('ascii'))
or
base64.decodestring(item[field].encode('utf-8'))
this may fix memoryview error./

Both ascii and utf-8 encoding work. How would I know which one gives correct output files? I guess, one way to check is see check the evaluation results generated by both the encodings, and the one generating expected results should be the correct one, right?

that's interesting.  you can check the size of item[field]. My guess was only one would work, because numpy would tell if the decoded bytes are valid or not.
Can you check the output of item[field] with different encodings, my guess two encoding give the same result.

I checked the output of item[field] for both the encodings, 'utf-8' and 'ascii', and they give the same result arrays.


@conda-forge-admin, please add bot automerge

@conda-forge-admin, please add bot automerge

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I added bot automerge in conda-forge/types-pillow-feedstock#8.


Change Labels to display sliders values on track borders

oops ! My mistake, very sorry about that.
Now I'm here: thanks for the amazing work!


Nothing happens in the Pc sky application.

After clicking play song, no keys are being pressed in the sky application.
If i go somewhere else to type while "sky auto piano" is running and playing, i can indeed see that keys are being clicked on, but it wont register in sky.

Thank you for using my software. Can you provide me the Windows version, the Sky version and a screen image showing the instrument buttons when you use the instrument in a game?

Thank you so much for making the software.
Here is the information you asked for. I have tried with an english keyboard layout too, but i am currently using a danish one.
https://imgur.com/a/QUXry0H

Oh, you can reset your keyboard settings in game and try editing the key in my application. Hope this can work.
https://github.com/HerokeyVN/Sky-Auto-Piano/issues/1

It sadly didn't.
It's an issue i have with other "auto music" applications too
I know the application is working since it will auto type everywhere else
I appreciate you taking your time to help me, but i think this is an issue with my pc somehow and i believe its not registering sky.

It's sad, I will try to fix this error in the next updates 🥲


versions: Bump golang.org/x/crypto

Bump golang.org/x/crypto to fix the high severity
CVE-2024-45337

Drive-by-fix of link to infra blog

The link I fixed has been removed in a merged commit since then, so I've removed that commit from this PR and re-pushed. Assuming it still passes, I'll get this merged


Fix link to BTC activities on mainnet

From a user:
_When I click on a Bitcoin transaction in my wallet's activity tab, it takes me to a mempool.space page that doesn't load but redirects to the home page. For example,
https://mempool.space/**mainnettx**/01fd3e86c628d9d550fbada064b42cdd385bc7f43cf4e8391ec649b730c943c6
redirects to
https://mempool.space/
Perhaps the transaction should parse differently to the URL https://mempool.space/tx/01fd3e86c628d9d550fbada064b42cdd385bc7f43cf4e8391ec649b730c943c6_
Wallet in testnet mode does direct correctly to this for example:
https://mempool.space/testnet/tx/8ded6bf454d7aa72b8e578a1eb7b5230e91607df8969a0653829a395be1dce38

Think this is fixed in the latest release already

Confirmed fixed in 4.17.0, closing this.


Features/fullscreen container

Related Issue
#1758
Summary of proposed changes
This is a PR to allow for contextual content to be included in fullscreen (or fallback) mode. This means arbitrary elements (extensions to the basic player UI) can be overlaid and remain visible when the player switches to fullscreen.
Example use-cases include:

display of video title or other metadata (see the included demo)
alternative access to menu items, such as a searchable captions list (in cases where many hundreds of languages are available)
custom share dialogs
integrated playlists with 'playing next' overlays

This approach / PR is just an example of how this feature could work and aims to keep Plyr complexity to a minimum (while enabling some fairly interesting integrations). It utilises a single config option, and does away with the need for injecting bespoke APIs or elements into the player context on a per-project basis. Or trying to mess with what is a pretty slick, but tightly coupled system.
For the user: A new fullscreen.container attribute is used to provide a container selector. The container must be an ancestor of the player, otherwise it's ignored. When toggling fullscreen mode, this container is now used in place of the player. Hovering over any children of the container is the same as hovering over the controls. The exception is where the player and the child share a common ancestor (that's not the fullscreen container) ... sounds complex but it's not. You can also gain pretty fine control this way with pointer events.
Under the hood: it adds a utils/elements/closest helper method to find the right ancestor. If found this is returned as the fullscreen target in place of the player container. Fullscreen is instantiated slightly earlier in the setup so this container is available for the listeners.controls call. In here we add some more 'mouseenter/mouseleave' listeners to any direct descendants of the container, that aren't also ancestors of the player. And that's it. No extra classes, nothing else. There are some style changes to the demo (top margin on the player) but these would be project specific.
Thanks for reading.
Checklist

[x] Use develop as the base branch
[x] Exclude the gulp build (/dist changes) from the PR
[x] Test on supported browsers

Hey @sampotts thanks for coming back so quickly on this - was meant as more of a discussion point than a PR ready to merge ... it's a fairly opinionated solution, figured there'd be some solid feedback. Keen to hear your thoughts, or if there was anything else similar in the pipeline.
Also apologies for the mixup over the dist files. Not entirely sure what is meant to happen here, I deleted them from the root folder of the branch, so those shouldn't be in the PR, but assumed demo/dist was required for the demo to work so left that in place.
Also the demo is definitely not intended to be merged. It's included in the PR as an example of the feature in use (and for cross device testing). I'll update / respond to the other comments individually. Cheers.

Ok so I've reverted the demo in the branch which should resolve most of the comments, plus converted the listener logic. Very happy to discuss anything else.
Cheeers!
New demo with fullscreen overlays: https://codepen.io/theprojectsomething/full/bGdyJmv

@sampotts is this going to be in the new release soon?

@theprojectsomething Hello, thank you for this PR.  I was able to id my plyr wrapping div and pass it to plyr configuration.

I am able to show buttons and a clock.
Is this overlaying over plyr basically limited to elements needing to exist within this parent container?
Perhaps you can explain with a hand sketch what you implemented in this PR. (Promise I won't laugh at your hand drawing skills)
While i have been longing for this contextual overlaying which I have use for, my clock really does not belong logically to the plyr player component html/ts code.  Even though, at the moment the clock lives there.

What is puzzling me is that I am able to pop a page over the plyr even when it's  in fullscreen and even prior to discovering your "contextual content in fullscreen" and this PR.   You can verify this popup at this stackblitz sample reproduction however, the pits, is that I can't seem to make it appear in my app when plyr is in fullscreen.
https://stackblitz.com/edit/ionic-4aduqf?file=pages%2Fhome%2FPlyrPlayerComp.ts
In the above example you will see that plyr is kick into fullscreen without user intervention (no error in the console). you can then click the "Show Dialog" button already overlaid over plyr and it will pop a dialog over plyr.  (everything running sweet).
Here is the fullscreen related issue and my attempts to resolving this
https://github.com/sampotts/plyr/issues/1800
Perhaps you can shed some lights.  Thank you.

Hi @AlGantori. What you've got working in your demo uses the fallback fullscreen mode which isn't true fullscreen, it just stretches and fixes the player to the document boundaries. This is most useful with iOS devices which have very tight restrictions around what can take over the screen (but depending on your use-case can suffice anywhere).
This PR is intended primarily for true fullscreen mode (though it works for both). With the default setup, when you hit the fullscreen button the player element itself requests to go into fullscreen. This PR simply gives the developer the option to select an element higher in the hierarchy to be controlled by the fullscreen button.
in some depth ...
The actual browser fullscreen api is an interesting beast. There are a lot of security/phishing concerns around it due to the fact it completely takes over your screen. Because of this iOS doesn't allow it at all (enter fallback mode), and the other browsers only allow it directly after limited user interaction .. and then tend to throw up garish warnings over the content to make sure you know the website is now in control.
With fallback mode you can safely place anything up over the top of the player with z-indexes and positioning. It's looks and works great, except you don't actually control the whole screen - the browser chrome is still visible. For true fullscreen, the browser essentially projects a limited number of elements into a sandboxed view that takes over the whole screen. No more browser.
... If you think of the dom like a family tree with parents and children. The only things that will appear within that 'true' fullscreen view are children of the dom element that requests fullscreen access.
In your example, the idea would be that you choose an element higher in the dom heirarchy that includes both the player and the clock. If you went as far as to select the <body> your entire page would appear.
That said, if your user is hitting the fullscreen button on a video, would they expect a clock to also appear if it doesn't logically belong? If they would expect the clock, perhaps the structural logic is slightly off? Of course you could also consider implementing the fullscreen API separately, outside of the player which might better suit business logic where the player isn't the primary concern.
Hope that helps!

Hi Sam/@TheProjectSomething, I really appreciated your reply which I have read few times, I understand you must be busy with all the requests so I try to disrupt you the least.

I think my sample at Stackblitz is a bit misleading given that Stackblitz controls the browser real-estate.  Let me explain a bit more.

My application contains several players in the PlayersView that it hides and shows.

A video player (plyr)
A talking slide player (slides based on slides.js)
A Quiz player

I also have "interrupting" players that can interrupt current player eg. a calendar, timer, etc... notification

When such a player kicks in I am trying to sequence carefully the events

Message user we are interrupting current play
Save current context (user is browsing selections, kiosk mode, a player is playing, ...)
Pause current player (eg. plyr)
Bring interrupting player to foreground
Wait for it complete
Message user we resuming previous player
Unpause last player (eg. plyr)

My app is doing two kinds of FullScreen requests, one is at the application level via the following code:

However, in the PlayersView when the current player is plyr I invoke plyr.fullscreen.enter

I need advice here, perhaps I have nothing to gain from it going FullScreen?
and I could just stretch it to occupy the full screen.

I think I am entering TRUE fullscreen either way, but I could still be wrong in what plyr is actually doing.

I know that from when I started using plyr I sized it (width: 90vw;) such that I left a right border    to keep my plyr alternative buttons visible (eg. FullScreen, Play/Pause)
I am not CSS stretching plyr when I invoke plyr.fullscreen.enter and it will occupy the full screen.
The main issue I am facing is that Plyr does not succeed and gets blocked by the browser.  Perhaps the issue in library fullscreen.js which Plyr seems to be using according to my console?
Here is my css/layout

Yesterday after reading a post about that weird "1 second barrier" on Firefox, I moved around my code invocation to plyr.fullscreen.enter to invoke it even before .play, and I believe it might also apply to Chromium because I swear I seen it succeed at times.   I have the following video footage I captured last night which only proves that my app/plyr is able to chain another video without plyr ever leaving the "fullscreen"  (a desired scenario)

https://youtu.be/GItAXVy_vxs

The following short clip #2 demos the following:

We start with regular Chrome from GUI non-maximized.
App goes in FullScreen first (Succeeds)
App switches to the PlayersView
App tells plyr to .fullscreen.enter and .play  (I get the Error)
https://youtu.be/8IrSLCQGn94

I am puzzled why I keep getting "Uncaught (in promise) TypeError: fullscreen error" ? when the app as far as I  can tell is already in FullScreen (what other user gesture is needed, I understand google/chrome is making these rules).

Regarding the Clock no belonging to Plyr layers, I meant that even though I want it over the Plyr I also want it over the other Players, however, currently when I manually kick Plyr in FullScreen my User Messaging component never appears (blocked?)
So that's why I could not conceive of a "component" like the clock becoming visible over plyr
Note that my User Messaging component appears when PLYR is not in fullscreen.

I am not sure I understand your paragraph about "fallback mode"

if all I am experiencing is "fallback mode" how come I seem to be controlling the whole screen, no browser is in view, this happens even without starting the chrome browser in --kiosk mode?
If this paragraph was in response to the sample demo running inside stackblitz, then Nevermind.

Regarding z-indexes are you saying that in the world of html everything can appear on top

regardless whether it is nested or not in another element
and some other element is not in fullscreen

By simply styling the desired element to be on top with z-index: some stupidly large number?
In other words position: absolute works also in the Z depth axis?

I am not sure how I can take advantage of that, yet, given that I am using ionic/angular framework ModalController to pop my orange messages above.

I think I have said enough :)

If you want to observe the free app live you may visit the following link and a select a clip for playback, you can later open the dev tools/console.
http://mumti.org/?ch=MUMTI&cat=SLOWTV

Thanks a bunch for you help

Hi @AlGantori I should probably make clear I don't have anything to do with the plyr library, I've just submitted this particular PR. Also I'm not sure this is the best place to be debugging your issue, as it appears to be based on some confusion with the Fullscreen API / CSS and not with the plyr code itself.
That said, and without getting too far into the weeds, a couple of things to note:

You can't toggle fullscreen programmatically except off the back off a user gesture (e.g. clicking or tapping a button). AFAIK they need to be in the same callstack. This is the error you're seeing.
Similarly you can't switch between fullscreen elements without a user gesture (in Firefox anyway, not sure about chromium / webkit)
IMO if you're already in fullscreen, or implementing the API yourself (which you seem to be, for your entire document no less), you've got little to gain by utilising plyr's fullscreen capabilities ... unless you want to leverage the UI (i.e. fullscreen button) for e.g. stretching the video to the screen dimensions. I think you've got the right idea with your comments above.
fullscreen.js is just a module in plyr, not an external library. Fullscreen API is relatively straightforward to implement once you have a grasp on the ifs and buts.

Also with regards fallback mode, you're right - it was the stackblitz demo, not your implementation. Sorry for the red herring there!
Apologies if that's not super helpful but I probably have to leave it there. Cheers.


graphql-server-lambda timeouts

Hi,
I've deployed a graphql to lamba by following https://github.com/apollographql/graphql-server/tree/master/packages/graphql-server-lambda.
My handler.js looks like
import schema from './api/graphql/schema';
import {graphqlLambda} from 'graphql-server-lambda'

export const graphql = graphqlLambda({ schema: schema });

I've deployed it using serverless, webpack and babel. It seems to deploy ok but when i hit the API it gives me a timeout.
Looking at the logs I get timeouts.
2017-05-21T12:28:06.013Z 3d93c802-3e20-11e7-8c9a-e78f22160234 Task timed out after 300.00 seconds
At first i thought it was an issue with network/database but i've confirmed the connectivity. It seems graphqlLambda is not calling the callback to finish the lambda execution?
Any tips how i can t-shoot ?

Solved this. IT was related to mongoose preventing it from closing. Hope this helps someone else.
  mongoose.connect(process.env.MONGODB_URI, {
    server: {
      socketOptions: {connectTimeoutMS: 10000}
    }
  })
  mongoose.connection.on('error', () => {
    cb(new Error('Error connecting to MongoDB.'))
    process.exit(1)
  })

  const cbCloseDB = function (error, output) {
    mongoose.disconnect()
    cb(error, output)
  }
  graphqlHandler(event, context, cbCloseDB)
}

@stevezau I was trying to use this but I dont understand it at all. Are you closing the connection in all resolvers? BTW thanks for this.  I am hitting the same error

For anyone else who comes across this post, I had the same problem, but you don't have to close your connection to MongoDB after each request. In fact, you probably shouldn't. Instead, set a special property on your context object to tell lambda to return even though there are open items on the event loop.
exports.handler = (event, context, callback) => {
  context.callbackWaitsForEmptyEventLoop = false;
  // ...
}

This problem isn't specific to graphqlLambda but rather lambda functions in general.
More info here:
https://www.mongodb.com/blog/post/optimizing-aws-lambda-performance-with-mongodb-atlas-and-nodejs

Thanks @michaelcox for this hint. Got the same issue with my mysql db and now it just works. Awesome!


Create concept for internal software metrics as core feature

A concept must be created for how internal software metrics can be managed as core features. Software metrics such as #189 and #197 should not be provided as plugins, but as core features.
The internal software metrics should access the metadata of the repositories, which are stored in the database of coderadar. This requires access to the coderadar database.

Internal software metrics such as #189 and #197 do not require their own components. This results from the fact that the internal software metrics deliver values via Git's metadata. An internal software metric is therefore a query on Neo4j over the metadata. Thus the internal software metrics are generated on-demand and not cached. Manual caching would only become unnecessarily complex. Instead, the data model should be optimized.


up-arrow in echo behaves strangely

@deadlyicon commented on Fri Jul 01 2016
Expected vs. Actual
i want to hit up in echo (rocket) and see my pervious command. every time. I got some way old command :(
Steps to Reproduce
enter a command like /vote 1 2
hit up
you wont see that command
Environment and Versions
n/a

After investigating this for a while, it's not really fixable in a straight-forward way.
It's also worth noting that RC behaves the same as Slack in this regard.


Support filter over indexes on nested fields

What is the context for this pull request?

Proposal: #347
Discussion: #312
Dependency: #379
Fixes: #347

What changes were proposed in this pull request?
This PR adds support for filtering over nested fields using indexes created over nested fields.
Given the nestedDataset dataset with schema
root
 |-- id: integer (nullable = true)
 |-- name: string (nullable = true)
 |-- nested: struct (nullable = true)
 |    |-- field1: string (nullable = true)
 |    |-- nst: struct (nullable = true)
 |    |    |-- field1: string (nullable = true)
 |    |    |-- field2: string (nullable = true)

and the following data
+---+-----+-----------------+
|id |name |nested           |
+---+-----+-----------------+
|2  |name2|[va2, [wa2, wb2]]|
|1  |name1|[va1, [wa1, wb1]]|
+---+-----+-----------------+

And the following search/filter query
df.filter(df("nested.nst.field1") === "wa1").select("id", "name", "nested.nst.field2")

The optimized and spark plans without index are
Project [id#100, name#101, nested#102.nst.field2]
+- Filter (isnotnull(nested#102) && (nested#102.nst.field1 = wa1))
   +- Relation[id#100,name#101,nested#102] parquet

Project [id#100, name#101, nested#102.nst.field2]
+- Filter (isnotnull(nested#102) && (nested#102.nst.field1 = wa1))
   +- FileScan parquet [id#100,name#101,nested#102] Batched: false, Format: Parquet,
        Location: InMemoryFileIndex[file:/..../tableN2], PartitionFilters: [],
        PushedFilters: [IsNotNull(nested)], ReadSchema:
        struct<id:int,name:string,nested:struct<field1:string,nst:struct<field1:string,field2:string>>>

The transformed optimized and spark plans should look like
Project [id#1, name#2, __hs_nested.nested.nst.field2#3]
+- Filter (isnotnull(__hs_nested.nested.nst.field1#0) && (__hs_nested.nested.nst.field1#0 = wa1))
   +- Relation[__hs_nested.nested.nst.field1#0,id#1,name#2,__hs_nested.nested.nst.field2#3]
        Hyperspace(Type: CI, Name: idx_nested, LogVersion: 1)

Project [id#1, name#2, __hs_nested.nested.nst.field2#3]
+- Filter (isnotnull(__hs_nested.nested.nst.field1#0) && (__hs_nested.nested.nst.field1#0 = wa1))
   +- FileScan parquet [__hs_nested.nested.nst.field1#0,id#1,name#2,__hs_nested.nested.nst.field2#3]
        Batched: false, Format: Parquet,
        Location: InMemoryFileIndex[file:/..../spark_warehouse/indexes/idx_nested/v__=0],
        PartitionFilters: [], PushedFilters: [IsNotNull(__hs_nested.nested.nst.field1)], ReadSchema:
        struct<__hs_nested.nested.nst.field1:string,id:int,name:string,__hs_nested.nested.nst.field2:string>

Complexities
Transforming the plan
Filters inside the plan must be modified to accomodate the index schema not the data schema - the flattened schema not the nested field. Instead of accessing the field with GetStructField(GetStructField(AttributeReference)) it must directly access with AttributeReference.
Given the query plan
Project [id#100, name#101, nested#102.nst.field2]
+- Filter (isnotnull(nested#102) && (nested#102.nst.field1 = wa1))
   +- Relation[id#100,name#101,nested#102] parquet

The filter will be modified from
Filter (isnotnull(nested#102) && (nested#102.nst.field1 = wa1))

to
Filter (isnotnull(__hs_nested.nested.nst.field1#0) && (__hs_nested.nested.nst.field1#0 = wa1))

The projection from
Project [id#100, name#101, nested#102.nst.field2]

to
Project [id#1, name#2, __hs_nested.nested.nst.field2#3]

The relation from
Relation[id#100,name#101,nested#102] parquet

to
Relation[__hs_nested.nested.nst.field1#0, id#1,name#2, __hs_nested.nested.nst.field2#3]
  Hyperspace(Type: CI, Name: idx_nested, LogVersion: 1)

Does this PR introduce any user-facing change?
No.
How was this patch tested?

Existing unit and integration tests for not breaking the existing functionalities.
Unit and integration test added for the new functionalities.

@sezruby, @imback82 Here is the second PR that adds support for filtering over nested fields with indexing.

re-test

Is there a mechanism to trigger the build once more on this PR? Something like commenting a keyword to trigger the build again?

You can trigger via "re-run" in Checks tab

@sezruby I don't see any "re-run" in the Checks tab. I don't have same right as you. 😃

@sezruby, @imback82 Can you have another look on the PR so that we can advance with it? Thanks!

Actually I'm waiting for #393 because of the conflict.
@andrei-ionescu Could you review the change again? Since SchemaUtil is removed in that change, I wonder if it's ok or not.

@sezruby I didn't know that #393 is a prerequisite for this. If so, let's integrate feedback on that PR and get it merged so that I can advance with this one.
Remember we agreed to split the support for nested fields feature into multiple PRs so it can move faster. So, let's move faster 😁.

@sezruby, @imback82: I rebased the PR and resolved the conflicts and any issues. Just, FYI: SchemaUtils not needed in this PR. Please have another look ASAP.

@sezruby, @imback82: Ping? It's 2 days since my previous ping and last push. Please have a look on this PR.

@sezruby, @imback82: Can you re-run the build? It did fail due to:
sbt.InvalidComponent: Could not find required component 'xsbti'

Also, don't forget to review this PR. Thanks!

@sezruby I integrated your feedback.
The build is still failing with the same previous error:
sbt.InvalidComponent: Could not find required component 'xsbti'

Can you check your build pipeline?

@sezruby, @imback82: Can you guys have another look and fix the build pipeline? It's been a while since this PR is up and I'm doing extra efforts to make the process as smooth as you need. Thanks!

@andrei-ionescu  I made an issue for build failure - https://github.com/actions/virtual-environments/issues/3146

I don't think we need another one. Or, is there a specific behaviour that you want to test?

I meant filter index test for nested column. You can change the column schema in an existing test or create a new test for it.

@sezruby, @imback82: I integrated your feedback and added an extra nested test in the E2EHyperspaceRulesTest called E2E test for filter query on nested columns.
Please have yet another look to this PR.
Also, how can we speed things up? This PR is more than a month old. I expected it to go faster after splitting the previous PR into multiple smaller ones.

@andrei-ionescu Sorry for the delay. but changes are not small or simple; need to spend some time to review it even with small PRs..
BTW... How about this?
original plan => normalized plan (nested filed => __hs_nested.xx) => trying to apply rule =>

if an index is applied => rename output
not applied => return original plan

In this way, maybe we don't need to change much of our existing code base or nested column related codes are not scattered.

@sezruby I can try to understand what you are saying. You want to say that in terms of impact the PR is not small - it has a big impact PR - because in terms of number of lines modified in this PR are only 500+ modified lines.
Even "it has a big impact PR" phrase is not true because the impact is minimised by the already present tests that guards the existing functionality of Hyperspace and there are lots of tests - a bit over 300 tests. They may not cover all the edge cases but it minimises the impact.
This second PR is taking more than a month to complete. This is way too much.
Doing some math here... bringing the full support for nested fields in Hyperspace, with the current pace, it will take 6-12 months for it to land. IMHO this process can be better, I've seen it in other bigger projects with heavier features, with bigger PRs.
@rapoth, @imback82: WDYT? What can be done to make this process faster? I did my part - the part that I could do - what else should I do to speed up the process?

@sezruby: Regarding this:

original plan => normalized plan (nested filed => __hs_nested.xx) => trying to apply rule =>

if an index is applied => denormalize (rename?) output
not applied => return original plan

In this way, maybe we don't need to change much of our existing code base or nested column related codes are not scattered.

If I understand your text correctly, we are doing exactly what you are saying. Given an index we renamed the output (R275-R306), then we rename the field names in filters (R310-R311) and projections (R315-R316).
I don't understand your request as for me it seems that the PR is doing exactly what you're requesting.

I meant out side of RuleUtils - normalize query plan from the beginning of apply function in FilterIndexRule & denormalize at the end of the apply function.

I don't think that is a good approach:

It needs to rename the fields in: output, filter and projections.
There is already quite some code manipulating the plans in RuleUtils so it seems to be the natural place to put it.
The same code would be used in hybrid scans and joins.
It would require passing through the whole plan twice each time (using transformUp and transformDown in both FilterIndexRule and RuleUtils) .
JoinIndexRule is different than FilterIndexRule and both use RuleUtils methods.

@andrei-ionescu
1=> yep, but we could rollback(denormalize) nested columns after applying rules except for from index relation.
2=> actually.. that's the problem. it's already complicated due to applying indexes & hybrid scan. We don't need to put everything into RuleUtils. I'll also have a plan to refactor hybrid scan because of the complexity.
3, 5=> if we flatten all the nested fields, I guess we don't need to change the code inside the logic of FilterIndexRule or JoinIndexRule or Hybrid Scan.  I currently work on this #403, so we will do flatten/unflatten once after that. (before then, I think it's okay normalize/denormalie for each FilterIndexRule & JoinIndexRule because ..
4=> I think that the benefit (code simplicity) outweighs the multiple iteration of plan. Spark also tries to apply twice (or multiple times) of each rule to confirm there's no transformation from the rule.

@sezruby

1=> yep, but we could rollback(denormalize) nested columns after applying rules except for from index relation.

Sorry, but I don't understand what you want. Please provide examples with original plan and transformed plan.

2=> actually.. that's the problem. it's already complicated due to applying indexes & hybrid scan. We don't need to put everything into RuleUtils. I'll also have a plan to refactor hybrid scan because of the complexity.

I can understand this and I'm ok with splitting the RuleUtils big file into smaller ones.

3, 5=> if we flatten all the nested fields, I guess we don't need to change the code inside the logic of FilterIndexRule or JoinIndexRule or Hybrid Scan. I currently work on this #403, so we will do flatten/unflatten once after that. (before then, I think it's okay normalize/denormalie for each FilterIndexRule & JoinIndexRule because ..

I don't understand the flatten process you are talking - for me is not clear if you are referring to getting from nested.field into __hs_nested.nested.field or is other process.
I've seen the your "HyperspaceOneRule" proposal and PR and it looks great. I've seen how it's being split at this moment and that the RuleUtils file remains the same.
But, it is NOT FAIR to postpone and stall this PR for that one, neither making me address all the code conflicts - although I'm willing to address all of them if your PR gets merged fast (fast == next day).

4=> I think that the benefit (code simplicity) outweighs multiple iterations of plan. Spark also tries to apply twice (or multiple times) of each rule to confirm there's no transformation from the rule.

Sorry, I cannot see the "code simplicity" you are talking about. This may be because I don't understand what you want as I already said.

@andrei-ionescu Ok let me explain more about my suggestion:
queryPlan = original  query plan before transformation

nomalizedPlan = flatten + prefix all nested columns in queryPlan

       *   Project [id#100, name#101, nested#102.nst.field2]
       *   +- Filter (isnotnull(nested#102) && (nested#102.nst.field1 = wa1))
       *      +- Relation[id#100,name#101,nested#102] parquet

to
       *   Project [id#100, name#101, __hs_nested.nested.nst.field2#3]
       *   +- Filter (isnotnull(__hs_nested.nested.nst.field1#0) && (__hs_nested.nested.nst.field1#0 = wa1))
       *      +- Relation[__hs_nested.nested.nst.field1#0,id#100,name#101, __hs_nested.nested.nst.field2#3] parquet

try to apply rules to normalizedPlan, so

  override def apply(plan: LogicalPlan): LogicalPlan = {
    ...
    plan transformDown {

will be:
  override def apply(plan: LogicalPlan): LogicalPlan = {
    val normalizedPlan = normalizeNestedColumns(plan)
    val transformedPlan = normalizedPlan transformDown {
   ..

after applying rules,

// if there's no transformation, return original queryPlan
if (transformedPlan.equals(normalizedPlan)) return plan

// Otherwise,
denormalizeNestedColumns(transformedPlan)

In denormalizedNestedColumns, we could check if each normalized column is from index relation or not and replace it with the original query plan tree if it's not from the index relation.
===
BTW should we rename the output column or no?
For example:
Project [id#1, name#2, __hs_nested.nested.nst.field2#3]
...
``
What is the result column name of " __hs_nested.nested.nst.field2#3"?

@sezruby

BTW should we rename the output column or no?

Yes. We should. I have that in a later PR and forgot about it.

@sezruby

nomalizedPlan = flatten + prefix all nested columns in queryPlan

This requires to go through the whole plan with transformDown or transformUp and: a) change the relation (schema & attribute refs name and exprId)  b) change the filter (attribute refs name and exprId that needs to match the relation) c) change the project (attribute refs name and exprId that also needs to match the relation one). This is how I understand to get the "normalizedPlan" as you call it.

try to apply rules to normalizedPlan, so

Given the transformation above, what else is left to apply? I don't understand this "apply rules to normalised plan". Which rules are you referring to? For me a rule is a matching of a plan node that will get transformed.
If normalizeNestedColumns(plan) does run a transformDown and changes the plan altogether, doing val transformedPlan = normalizedPlan transformDown doesn't make any sense.

after applying rules,

if (transformedPlan.equals(normalizedPlan)) return plan

This does not make any sense either. You should check against the original plan not transformed vs normalizedPlan and return plan.
I guess I don't understand what "apply rules" does. The current Hyperspace approach is to FIRST select a suitable index over all the plan and after that is found start the plan transformation based in the columns inside the index. Is your PR - "HyperspaceOneRule" - changing this process?

Sorry about rule"s".. I meant it's FilterIndexRule. I'd like to separate "applying index" and "handling nested columns".
normalizedNestedColumns only transforms nested columns - without considering indexes.
(though not sure this is possible - creating relation node using different column schema during the transformation)

@sezruby

separate "applying index" and "handling nested columns"

What's the use case for this separation? Will there be ever a case where we will do applyIndex(plan) and then not iterate over the plan changing attributes where needed?
In the context of nested fields applyIndex(plan) without transforming the rest of the plan makes no sense and will NOT work.

normalizedNestedColumns only transforms nested columns - without considering indexes.

IMHO I don't think this is a good approach - to transform the all the nested columns without considering what's in the index. I think the opposite: we should change only what matches for changes, not everything.
From your comments, reading between the lines, I understand that you are NOT happy that supporting nested fields adds so many changes in the current RuleUtils file in the transformPlanToUseIndexOnlyScan and transformPlanToUseHybridScan methods. If this is the case I propose to make the RuleUtils a case class and name it BaseRuleHelper. Then out of it, create the NestedFieldsRuleHelper that will extend it and override the needed methods. FilterIndexRule and JoinIndexRule should detect the case and when there are nested fields involved, it should use the NestedFieldsRuleHelper otherwise fall back to BaseRuleHelper.
@sezruby, @imback82 WDYT?

@andrei-ionescu That sounds a good alternative. It's already complicated with source provider & hybrid scan (need to decrypt to read it). Let's modulize it as much as possible..
Sorry for the late suggestion, but it came up after reading the code over and over while reviewing.

@imback82 Are you ok with it? I'm just making sure that I'm not starting working on something that is not agreed by you too. Otherwise my effort may be just wasted time.

@clee704 could you review this PR & above few discussion comments & share some opinion on it?

@clee704, @imback82, @sezruby Can I have an answer on my question and proposal above, so that I can advance with this PR?

@andrei-ionescu I believe that it would be better than the current approach - if we need to support other plan type, it will be getting bigger & complicated (e.g. nested array, map, ..) and I'm the main reviewer before @imback82, so feel free to proceed it.
@clee704 is relatively new to Hyperspace so it might need some time to review this change & @imback82 is so busy this week..

@sezruby Thanks for green light. I understand that your approval should be enough for this PR, once that I change the implementation. I don't want to be in the position that someone else disagrees with it and I have to start over one more. You know: once bitten, twice shy.

@andrei-ionescu Thanks for double-checking! Please go ahead with @sezruby's recommendation - I agree that's a sound proposal and it will help us all in the long run. :)

@rapoth, @sezruby Thanks for agreement. I'll start grinding on it ASAP.

@sezruby: Here is the refactor:

Renamed RuleUtils into BaseRuleHelper and made it a class
Created NestedRuleHelper that extends BaseRuleHelper
Added "detection code" into FilterIndexRule
Kept the new nested field E2E test
Added index nested field rename back to original name

Please have a look.

 Can't we just keep the original nested structures in index data?

 Can't we just keep the original nested structures in index data?

@clee704 That's a good question. One reason could be that we store index data as "indexed columns" ++ "included columns". For example, if indexed columns are nested.a, b and included columns are nested.c, d, then it's not possible to define the column schema with that order because of the same field name - nested. (But I wonder the order of columns in index data does really matter. )
And maybe another reason might be there're several issues on handling nested columns itself in Spark & to minimize design change in Hyperspace.

@sezruby, @clee704: The datasets I use to create indexes over contains deep nested fields with many children.
 Are you proposing to keep the whole xs struct in the index?
If so, I don't think that is efficient at all and I'll give a few reasons:

Storage cost — It will take a lot of space
Performance cost — It will be less usable due to response time when used in queries
Management cost — It will be harder to maintain up to date

Performance and cost wise I can say that the current approach — extracting/flattening the nested field — is what is needed in Hyperspace even though the implementation code gets more complex.
FYI: I'm currently a bit busy with some other work assignment but I'll get back to integrating your feedback soon.

@andrei-ionescu Since we store data in a parquet format, which is efficient in storing nested data in a columnar format, shouldn't it matter? For a parquet file, a dataset with a single column "a" or a single nested column "a.b.c.d.e" should make no difference, I guess.

It does matter! Even if parquet stores data in an efficient columnar way, there are issues with parquet and nested fields in the way the predicate push down works - or to say it better, it doesn't work. This is the performance cost. There is the storage cost too that is not negligible either - if you are forced to store half of the dataset in an index. Lastly but not the least, the management cost (rebuild index, incremental refresh, etc) will incur additional time that will make index harder update and keep in sync with the data itself - if the index is not easily (fast & efficient) updatable then it's not usable in these big data fast moving datasets. These costs are not acceptable for the cases of big nested datasets.
@rapoth, @imback82, @sezruby, @apoorvedave1, @clee704: Here is an article I wrote on what Adobe is doing on big data and what's the scale we work with: https://medium.com/adobetech/high-throughput-ingestion-with-iceberg-ccf7877a413f. Or if you prefer video here is a presentation on the same matter: https://www.dremio.com/subsurface/high-frequency-small-files-vs-slow-moving-datasets.

I don't think we can "bucket by" nested fields either. BTW, predicate pushdown for nested fields should be supported in Spark 3.0: https://github.com/apache/spark/commit/cb0db213736de5c5c02b09a2d5c3e17254708ce1
@clee704 is your concerned addressed?

That's right @imback82! I totally forgot about the bucketing done in Hyperspace. That is not possible over nested fields.

I want to index over the xs.an.dim.p.p_99 nested field. Are you proposing to keep the whole xs struct in the index?

Can't we just store the indexed/included nested fields, ignoring others?

@sezruby, @clee704, @imback82 I'll get back to this PR very soon. I've been side tracked by another assignment but I'll get back to it integrating the feedback and adding the needed UTs.

@imback82, @sezruby, @clee704: Sorry for being out of this PR for a few weeks. Now, I got some time and I'm back to it. Here are the changes:

Rebased it over Spark 3 support and resolved conflicts
Integrated your feedback
Added PlanUtilsTest and NestedRuleHelperTest tests to validate changes on the plan

Please have another look.

@imback82, @rapoth: How can we get this moving? It's more than 3 months now...


pregel: changeable shardkeyattribute (devel)

Scope & Purpose
Allow to use a different sharding key than vertex

[x] Bug-Fix for devel
[x] Bug-Fix for 3.4 -- https://github.com/arangodb/arangodb/pull/9157

Related Information

[x] There is an internal planning ticket: https://github.com/arangodb/team-orco-planning/issues/135

Testing & Verification

[x] Added new integration tests  tests/js/common/shell/shell-pregel-start.js

Documentation

[x] Added a Changelog Entry
[ ] Added entry to Release Notes
[ ] Added a new section in the Manual
[ ] Added a new section in the http API
[ ] Added Swagger examples for the http API

CI
http://jenkins01.arangodb.biz:8080/view/PR/job/arangodb-matrix-pr/4756/

http://jenkins01.arangodb.biz:8080/job/arangodb-matrix-pr-linux/6301/

https://github.com/arangodb/docs/pull/69


[Question] ngx-translate support?

Hello
I'd like to use this with ngx-translate.
Is this somewhere on your roadmap?

Same question here

Any ideas when this feature would be implemented?

Yes, you can use it easily.
In app.module.ts (before you have to config TranslateModule):
providers: [
TranslateService,
{
provide: CUSTOM_ERROR_MESSAGES,
useFactory: CustomErrorFactory,
deps: [TranslateService],
multi: true
}
],
xy.ts:
export const CustomErrorFactory = (translateService: TranslateService): ErrorMessage[] => {
return [
{
error: "required",
format: (label, error) => requiredFormat(label, error, translateService)
}
];
}
export function requiredFormat(label: string, error: any, translateService: TranslateService): string {
return translateService.instant('RequiredErrorMessage');
}


YouTube version

YouTube version of this tutorial is at:
https://youtu.be/iKlVmu-r0JQ

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

ID: 0dd2991d-c22d-ad0f-80b6-bd1b503db8f3
Version Independent ID: 5e3fbe1d-c97f-9940-4f0c-067d4b2112b1
Content: Get started with ASP.NET Core SignalR
Content Source: aspnetcore/tutorials/signalr.md
Product: aspnet-core
GitHub Login: @tdykstra
Microsoft Alias: tdykstra

@tdykstra Thanks very much for your comments which is very motivational.


feat: Mathlib weekly reports

This PR introduces a weekly cron job that computes a "global" report on the evolution of Mathlib in the previous week.
It consists of

a CI workflow with a cron job that runs at minight on Sunday (.github/workflows/mathlib_stats.yaml);
a Lean file extracting a categorized list of "all" the declarations in Mathlib (scripts/count_decls.lean);
a bash file computing Git-diff-related information and collating the data from the Lean file (scripts/mathlib_stats.sh);
a convenience CI workflow that is triggered on adding the test-ci label and results in posting on the PR and on Zulip the report (.github/workflows/mathlib_stats_label.yaml).

The second CI workflow is intended to be removed just before/right after the PR is ready to merge.
Zulip discussion
Thread for the reports

I'm sorry, but I still don't understand the row labels, shed think they need work. Are the dashes subtraction, or subcategories, etc. The labels need to be completely self explanatory.


specifying exact workflow versions per OX

Using more specific versions of workflow features ensures that only the specified version of the Action will be used in the workflow. Any updates or changes to the Action will not be automatically applied to the workflow without manual intervention and review.

oops. closed PR w/o merging!


Set up greenkeeper integration to monitor dependencies

We should hook up greenkeeper (or something similar) to monitor dependency versions. This will probably come as a security requirement.

(or something similar)

FWIW, super not attached to greenkeeper in particular, if we know of a different service favored on other projects. In particular, I've had some issues lately over on Firefox Color trying to get the package-lock.json integration to work. Open to trying a different thing

On a different project, we used Renovate, which lets you update dependencies on a schedule (to avoid potentially annoying 15 PRs every 2 days).
Plus, it looks like Renovate has a free Open Source plan: https://github.com/marketplace/renovate#pricing-and-setup


create a 404 page and set up in netlify

https://www.netlify.com/docs/redirects/

need cool graphic still


activeIndex not set properly when using complex objects

If your model is a complex object (e.g. {a: 1, b: 2, c: 'foo'}) and your select choices are as well, then the controller's activeIndex property is not set correctly on initialization due to the use of ctrl.items.indexOf(ctrl.selected) (https://github.com/angular-ui/ui-select/blob/master/src/uiSelectController.js#L59).
That line should use a deep comparison for complex objects (something like lodash's _.isEqual function).

Better yet, if you're using the track by syntax in the repeat for the choices, then the comparison could just use the given track by property to test for equality.

I might have the same issue. For me always the first element is highlighted and the hover hightlighting doesn't work than in a correct way

@Till86 Sounds like it might be the same issue to me.

I'm guessing this should be resolved by #1407 when it's merged (...tagging for reference)

@Till86 I guess I'm having the same problem here and it does not seem to be solved in 0.14.9 where #1407 is merged into.
First item is always highlighted.

Can you post a reproduction via Plunker?

@wesleycho Here you are: http://plnkr.co/edit/A9CycQdGM0UBaP8Brd1F?p=preview
Notice that the ngModel is set initially. When you open the dropdown, though, an incorrect option is shown as the selected one.

@bgrohman your plunkr is still on v0.11.2
In v0.16.1 it works fine: http://plnkr.co/edit/OsXvuNnG8SauWXBMGMwn?p=preview
Can you confirm and close the issue?

@user378230 Yes, it's working correctly in your plunkr with the newer version. Thanks!


Bug/#2124 Make retry and max time to wait when connection exhausts  configurable

Hi All
I have made the retries to acquire the connection and max time to wait when connection exhausted as configurable. I have followed the same approach as max connections per host. The default values are the same as the hardcoded in the dyno client library.
@kishorebanala   Can you please review this?
Thanks
Guru

Pull Request Test Coverage Report for Build 5270

0 of 7 (0.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.03%) to 70.27%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

redis-persistence/src/main/java/com/netflix/conductor/jedis/DynomiteJedisProvider.java
0
2
0.0%

redis-persistence/src/main/java/com/netflix/conductor/dyno/DynomiteConfiguration.java
0
5
0.0%

Totals

Change from base Build 5209:
-0.03%

Covered Lines:
13546

Relevant Lines:
19277

💛  - Coveralls

@apanicker-nflx @aravindanr  Could you take a look at this?


Adding tomographic binning in yaw

Feature request
Implement loops over tomographic bins of the unknown sample in yaw.
Before submitting
Please check the following:

[ ] I have described the purpose of the suggested change, specifying what I need the enhancement to accomplish, i.e. what problem it solves.
[ ] I have included any relevant links, screenshots, environment information, and data relevant to implementing the requested feature, as well as pseudocode for how I want to access the new functionality.
[ ] If I have ideas for how the new feature could be implemented, I have provided explanations and/or pseudocode and/or task lists for the steps.

I'd like to push this to a future release, e.g. v1.1 or v2.0 (whatever is more appropriate).


Return promise from render or allow pass callback to options.

Related with this (I better report this myself).
https://github.com/turboMaCk/Babylon-Grid/issues/7
I'm missing callback/promise in plugin api. Because of this it is not possible to run function after embed.js rendered DOM.
IMHO best possible implementation is using promises:
ejs.applyEmbedJS(".embed").then(resetSomethig);
function resetSomethig.....

I agree that this will be a better implementation . Till then you can use the option afterEmbedJSApply in the options object.
afterEmbedJSApply : function(){}

OH THX. I must missed this in documentation. In this case this will work perfectly. Thank you.


Fixing styling for email's inner message.

This PR aims to fix wrong line-height for any heading within contentHtml HTML:

As ${contentHtml} HTML comes from Markdown and it can't be styled, we had to prevent any styling coming from its containing tags.
Due to this, I removed the global <mj-text ...> attribute causing its rules to be applied to any <mj-text> content.

To be reviewed by @gunzip and @matteodesanti.


UI update of the speaker's card

Issues with current card:

The image to give a 4-color border, shifts when the screen width is reduced.
The size of the card is a little big.
The texts are very bold.

Inspiration Links:

[https://devfestindia.com/speakers](Devfest speakers list)
We can take inspirations from these type of cards

Fixed in #34


feat: automate sub-package distribution via github actions

Clear and concise description of the problem
Based on what we have implemented in #3, we already have a way to split up our sub-package and push them to its own repo, then all we need is to automate it.
Suggested solution
Add another job in test.yml workflow that depends on tests job to push the sub-packages to their own repo using the following steps :

Checkout this repo including all of its history
run scripts/split.sh to push its sub-package to their own repo

Additional context

I made this as an issue since I'm certain that this task can only be done in the main branch.
I might need to configure SSH key to be able to push the repo

First attempt is failed indeed,


Feature/multi webhook

Add the possibility to add one certificate to many webhook.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Julien Le Corre seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Search should filter current data when fetching new

When the query changes, the reducer currently maintains the current data state (see Actions.FETCH_LOCATION_SEARCH).
We want to keep results from the query "new" when going from "new" to "newyo", but not when going from "new" to "sea" or anything not matching "new".

Simple way to see this problem: Type "New York", select all and delete. This clears the query and doesn't update the data to nothing. Now type "Sea"-- you'll first see the new york data in the results then it switches. One option would be to simply empty the data on clear (probably should do that anyway).


remove ca.crt mount

This is to separate the tls crts and ca.crt for the cert-manager dependency removal work.

Closing. Same as https://github.com/open-cluster-management/search-operator/pull/55/files


Update windbg-what-is-new-preview.md

Clarify that Restricted Mode is optional

@rdwaite - Thanks for this PR, good to clarify this.


[Index] Handle shorthand if let/closure captures in local rename

Update rename to pull the outermost-declaration so that references are correctly found.
Rather than keeping suppressed locations in the current parent, keep them for the whole index. Local rename starts the lookup from the innermost context it can, which could be a closure. In that case there is no parent decl on the stack and thus no where to store the locations to suppress. We could have a specific store for this case, but there shouldn't be that many of these and they're relatively cheap to store anyway.
Resolves rdar://104568539.

@swift-ci please test

@swift-ci please sourcekit stress test

Stress tester failure seems unrelated to me.

Stress tester failure seems unrelated to me.

Yeah, timeout during code completion. I didn't rerun the SourceKit tests locally though and it looks like there's two cursor info's failing... Will look into that.

@swift-ci please test


added hover effect on date and time tab

Solved #128
Description
I have added pointer when hover is done on date and time tab.
Fixes #128
Please delete options that are not relevant.

[x] New feature (non-breaking change)

Please check once, I have fixed the error.


Update recurly__churn_analysis.sql

Update the definition of involuntary churn, according to Recurly https://docs.recurly.com/docs/churn-analysis
Are you a current Fivetran customer?
Suela Isaj, Data Engineer, Issuu
What change(s) does this PR introduce?
This is a small bug in the definition of voluntary and involuntary churn
Did you update the CHANGELOG?

[ ] Yes
My change was very minimal, so I didn't update the changelog

Does this PR introduce a breaking change?

[ ] Yes (please provide breaking change details below.)
[x] No  (please provide an explanation as to how the change is non-breaking below.)
The changes only label the final output in the recurly__churn_analysis which is NOT incremental

Did you update the dbt_project.yml files with the version upgrade (please leverage standard semantic versioning)? (In both your main project and integration_tests)

[x] Yes

Is this PR in response to a previously created Bug or Feature Request

[ ] Yes, Issue/Feature [link bug/feature number here]
[x] No

How did you test the PR changes?

[ ] CircleCi
[x] Local (please provide additional testing details below)

Select which warehouse(s) were used to test the PR

[x] BigQuery
[ ] Redshift
[ ] Snowflake
[ ] Postgres
[ ] Databricks
[ ] Other (provide details below)

Provide an emoji that best describes your current mood

:first_quarter_moon_with_face:
Feedback
We are so excited you decided to contribute to the Fivetran community dbt package! We continue to work to improve the packages and would greatly appreciate your feedback on our existing dbt packages or what you'd like to see next.

Hi @suelai thanks so much for opening this PR! After reviewing your update and seeing the Recurly docs do indeed include the tax location invalid churn reason for being involuntary, I think this is a great update to include in our package.
That being said, I wanted to confirm the reason within the data does map to this exact string. Our internal data is only test data and doesn't have the tax location invalid reason. Would you be able to verify that this string is exactly what you see within your warehouse?

@fivetran-joemarkiewicz That is a great observation, I did the change with the correct spelling (the lat commit). I initially thought it had been renamed in CTEs, but after I traced it to the source, the value should be tax_location_invalid

@fivetran-joemarkiewicz You're welcome! Happy holidays 🎄


[Bug]: GraphQL: Incorrect bracket pairing during linting

Is there an existing issue for this?

[X] I have searched the existing issues

Description
In the query window in body tab, the linting of {{ }} is wrong, and I’m not sure why it’s different vs. other editors.

Ref: https://theappsmith.slack.com/archives/CGBPVEJ5C/p1655885054803919?thread_ts=1655821041.009059&cid=CGBPVEJ5C
Steps To Reproduce
https://theappsmith.slack.com/archives/CGBPVEJ5C/p1655885054803919?thread_ts=1655821041.009059&cid=CGBPVEJ5C
Public Sample App
No response
Version
feature branch DP

Verified on the DP. and it is observed that the Incorrect bracket pairing on selecting the brackets from slash command


Sadly it's forge only that's why I'm asking You.
https://www.curseforge.com/minecraft/mc-mods/bubbles

How about this?
Make Bubbles Pop


File name and directory structure for WLAS dataset preparation

Hi, I am interested in applying the SL-GCM algorithm to the WLASL dataset. I have not understood the steps to make and the folder structure in order to correctly use your code. First I downloaded the WLAS dataset following the instructions in https://github.com/dxli94/WLASL. Once processed with the preprocess.py python script I have all the videos in one folder named 'videos'. The name of each file is like univoque_id.mp4. At this point I should use the demo.py script in data-prepare/wholepose/ https://github.com/jackyjsy/data-prepare/tree/89b556b0cb49a5a401ed939e3977c101df912257/wholepose, but how should I rename the files? Should the sign made in the video appear in the name of the file? Moreover, Should I separate the files into a train, test and validation folder and apply the demo.py script to each separate folder?
Could you explain in more details the steps to be taken, how to structure the directory with the files, the files name and the commands to run?
Thanks

Thanks for your interests. WLASL dataset is hosted on YouTube. Many of them have been deleted. So when you download the dataset, you should have observed many error / warning message about that. Please follow #requesting-missing--pre-processed-videos to request preprocessed videos from them. After that you can use my data processing code to obtain the skeletons. For your convenience, I have uploaded the preprocessed WLASL skeletons at #data-preparation. Please check it out.
Best,
Songyao

Thank you for your answer. Yes, I noticed that some videos gave errors. In any case, I am interested in retracing the entire pipeline for the reconstruction of the skeleton because I would like to subsequently apply it to another different dataset.
How do you suggest to structure the directories and filenames to apply the demo.py script? Do I have to split train, val and test? In each of these directories do I have to create further subdirectories one for each sign or should the label of the sign be inserted in the file name?
Thanks for you suggestions!
Enrico

Here's my pipeline to generate the skeleton for WLASL-2000 dataset.

Put all videos of WLASL-2000 dataset in a same folder.
Use data-prepare/wholepose/demo.py to extract skeletons and save every video to separate .npy files into a npy/ folder.
Read WLASL_v0.3.json. Use the official data split to generate train_labels.csv and val_labels.csv. Format is like "[video_name], [class_id]\n" for each line in the csv file. Here's the google drive links to the csv files I generated. [link]
Use SAM-SLR-v2/SL-GCN/data_gen/sign_gendata.py to obtain a .npy files for 27-point skeleton data for all videos. Change --data_path to npy/ folder in Step 2, then change --label_path to the csv file in Step 3.

Hope it answers your questions.


fix(sdf-server): add missing content-type headers

Two sdf endpoints were still missing application/json content-types

bors r+


Cannot read property 'duration' of null

Versions

vee-validate: 2.0.0-rc.25#
vue: 2.5.17#.#

Describe the bug
url: http://localhost:8080/#/upgrade?type=0&superName=合伙人社区
errors.all()  :   [ null,null ]
描述:  如果地址栏带了参数, errors.all() 方法就会获取到的错误为 null

You know I cannot access that link. Also you are using a very old version.
Many issues were fixed since then.
On Thu, 1 Nov 2018, 11:12 vincent.huang<EMAIL_ADDRESS>wrote:

Versions

vee-validate: 2.0.0-rc.25#
vue: 2.5.17#.#

Describe the bug
url: http://localhost:8080/#/upgrade?type=0&superName=合伙人社区
errors.all() : [ null,null ]
描述: 如果地址栏带了参数, errors.all() 方法就会获取到的错误为 null
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/baianat/vee-validate/issues/1688, or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-KSnQjJBRITvbEpN1JEAOhwS1DIhzCks5uqrsLgaJpZM4YGCXa
.

Like I said, I would be able to help more if you provide a working example (that I can access) and upgrade to the latest version.


General improvements and fixes

I had some issues getting MCMCTempering to work and this PR is an attempt at cleaning up the interface a bit in addition to dropping use of non-concrete types, mutating types, etc.
I have some tests locally that I just need to clean up a bit, and then I'll add those too.
Changes

Added compute_tempered_logdensities(model, sampler, transition, transition_other, β).

A function to be implemented for a particular model and transition, possibly even specializing on sampler.
This replaces make_tempered_loglikelihood and get_params, making it so that we only have to implement a single function rather than multiple.
Often transition contains an already computed logdensity, and so this allows us to re-use this rather than re-compute, whenever it makes sense.

Removed make_tempered_loglikelihood.

This should now be done in compute_tempered_logdensities

Removed get_params.

Extracting the parameters is no longer necessary since we now have compute_tempered_logdensities.

swap_step now also takes an AbstractSwapStrategy as the first argument and thus we can specify the different strategies using multiple-dispatch rather than if-statements with Symbol, thus easily allowing extensions + it reads better.
Everything is now immutable, and instead we use immutable (and concretely typed) structs and Setfield.jl to update these.

Motivation: I find it highly unlikely that these structs will every result in memory issues, and then it's generally a better idea to use immutable structs to allow the possibility of stack-allocation, etc.

Added packages to the test environment.
Fixed some bugs (at least I believe they were bugs) in the adaptation, in particular some pieces of code was (seemingly) using the logscale field as if it was indeed scale.

All sounds good.

Oh crap, didn't realize I had to do something else for the comments I added a month ago to show up -- apparently everything was set up as "Pending."

@ParadaCarleton Just a heads up: as a general rule, don't push to the the branch of someone else's PR unless they've explicitly given you the :+1: to do so; this also includes leaving it to the "PR-maker" to actually accept/make changes we've agreed upon, unless they state otherwise:) It avoids potential conflicts with git (though these can easily be addressed of course, it's just unnecessary annoyance), you give the PR-maker a chance to learn from the mistake, the PR-maker might have changed they're mind regarding the change, etc.

Ope, sorry about that! Thought it would be fine since it was just fixing a typo in a docstring.

Ope, sorry about that! Thought it would be fine since it was just fixing a typo in a docstring.

Yeah, it was completely fine here, don't worry:) It's more of a general note which I find useful to just always follow, with the only exceptions being a) if they've explicitly asked you to/told you to, or b) the PR maker is completely unresponsive for an extended amount of time.

I've been watching this repo for a while and I'm keen to try it out with AdvancedHMC on tricky model of mine.
Am I better of sticking to the main branch, or is the PR now at a stage I could use? If so, is there an example somewhere I could adapt?
Thanks!

Hi all, are there any updates on this PR?

Sorry for the delay here! As mentioned above, it's a bit stuck because it's really unclear to me if the adaptation strategies are useful or not.
I'll try to have a look at this over the weekend. Given the delay, I might just remove the adaptation completely and just require temperatures to be specified by hand for now without support for adaptation. Or just warn the user. No matter, it'll probably not be a very satisfying solution. But everything but the adaptation should be working.

Many thanks, @HarrisonWilde and @torfjelde, for the improvements. I am merging this PR because it is getting too big and taking too long. Let's add further improvements in separate PRs!


Permission Nodes

On the web editor only the permission nodes for bungee show, Is there any way to fix this?

Use the command on the spigot server with /lp editor

This doesn't work, There is no such command as /lp, only /lpb

Then you messed something up as the web editor is only accessed through /lp editor

Not correct. You can run /lpb editor as well.
But that indicates that you don't have LP installed on all your backend servers.
Which you need to do if you want LP to handle permissions on those servers.

If /lp doesn't exist, then you haven't installed LuckPerms on your backend server(s), so you need to do that to run a network properly. See the wiki page: https://github.com/lucko/LuckPerms/wiki/Network-Installation