Add new Slack handlers using Slackbot and webhooks

See https://github.com/Seldaek/monolog/issues/743#issuecomment-242994019
This is keeping the previous SlackHandler, but extracts the message formatting logic and introduces two new Slack handlers:

SlackbotHandler - this is the simplest way to log to Slack and most people could use that. It doesn't allow fancy formatting, but has autolinking and the simplest configuration with two clicks in the Slack settings and getting a token.
SlackWebhookHandler - This is a bit more advanced as it allows for the same formatting and adding attachements as the SlackHandler, but it uses the Slack Webhooks which are quite easier to set up than the OAuth API. The minimum it requires is a webhook URL which is a retrievable with about two clicks in the Slack settings. Even the channel is optional as it could be configured in the integration.

This is probably not the leanest way to implement what we've discussed in https://github.com/Seldaek/monolog/issues/743, but after working at this I believe this is the simplest and the right approach.
While we could implement everything in one handler the API would become horrible and it would be harder to understand from users. Providing choice with simple to use separate classes is better IMHO. Apart from this the SlackHandler extends the SocketHandler and the webhooks and the Slackbot wouldn't work nicely with that.
What do you think?
@Seldaek @gkedzierski @Gummibeer @nisbeti

[x] Extracting Slack formatting logic in SlackRecord
[x] SlackbotHandler
[x] SlackWebhookHandler
[x] Refactor SlackHandler using the new SlackRecord
[x] Add new handlers to the docs
[x] Unit tests of SlackRecord
[x] Unit tests for SlackbotHandler
[x] Unit tests for SlackWebhookHandler
[x] Update unit tests for SlackHandler

I will Test it tomorrow and give you Feedback.

This seems fine to me implementation wise, if you can write tests for SlackRecord at least that'd be nice, testing the curl calls isn't really easy nor worth it IMO.
I'd also be happy to get feedback from people actually using this.. :)

BTW it might be worth looking at this at the same time if the Slack stuff gets a rewrite.. https://github.com/Seldaek/monolog/issues/745
And also marking the original SlackHandler as deprecated would be good I think (I will remove it from master/2.0 then), or do you think there is really a point in having 3?

I know that this might be a case for all handlers, not just this one, but what if I have disabled curl extension? There is also way to send requests through file_get_contents (you can check my implementation in https://github.com/greeny/nette-slack-logger/blob/master/src/SlackLogger.php#L77). Are we going to support this?

@Seldaek I've started working on the tests and while doing so I've deprecated a couple of protected methods in SlackHandler which are better accessed through SlackRecord. However I don't see why we'd deprecate the SlackHandler. It's the only handler using the Slack API directly.
@greeny Could you point me to Monolog handlers which employ either cURL and if not available fall back to file_get_contents()? I don't think using only file_put_contents() is nice. I guess we could use Guzzle instead which would do the check and the fallback for us.

@hkdobrev I did not check monolog for handlers, but I think many of them are firing requests through curl. Guzzle is fine solution, I was just asking, if servers without curl can use this handler too.
Regarding my implementation, that was first only internal service which i published later.

Most handlers use curl or raw sockets yes. I think that's fine to be honest, it's the first time anyone even asks about it in all these years. I wouldn't add a dependency on guzzle just for that.

@Seldaek it is not mine case (i have curl everywhere), but I know some hostings, that have curl disabled. Thats why I have file_get_contents in my implementation.
But I agree curl is very common nowdays.
@hkdobrev what about support for non-emoji icons? ("icon_url": "https://slack.com/img/icons/app-57.png")

@Seldaek

I'd also be happy to get feedback from people actually using this.. :)

Happy to see webhooks implementation, because it's very simple to configure.
Using webhooks and curl as a temporary solution. Tried using current SlackHandler, but it silently failed to send messages. The weird thing though, it worked like a charm when I was xdebugging. Could be env issue on my side, anyone faced this behavior?

@hkdobrev any update here? Should I wait a couple days to get a chance to include this in the next 1.x release or will you need more time to finalize it? No stress I just need to know :)

@Seldaek Wait couple of days pls. I'm using custom handler on my project, but would love this implementation. I've just finished tests for SlackRecord, planning to fix tests for SlackHandler and fix thing related to @stof comments.

@Seldaek done. Now waiting for feedback from @hkdobrev

@an1zhegorodov Thank you for your work! SlackRecord wasn't really my code as I just extracted it from the previous SlackHandler and I wasn't really keen on refactoring it. I have now cherry-picked your commits and fixing conflicts in the meantime as I had some things locally which I haven't pushed. For example I've moved colours to constants, deprecated old methods and exposed the SlackRecord instance instead. I've started with a couple of tests and I've merged our SlackRecordTest.
Could you please confirm that your changes didn't incur any backwards incompatible changes? Not just to the PHP API, but also to the way the pre-existing SlackHandler is configured?

@greeny

@hkdobrev what about support for non-emoji icons? ("icon_url": "https://slack.com/img/icons/app-57.png")

This is a good suggestion. However, I wanted to limit the scope of this PR to provide the current functionality, but through the Slackbot or Webhooks without going through the Slack API. I think it should be extended to support everything Slack supports. But this could be done in a later Monolog release, ideally in 2.x when it could be refactored with breaking the public interface of the handler and its configuration so it could have a more flexible way to support everything Slack offers and even future features of Slack webhooks without changing the API and addition additional arguments to methods.
What do you think? Do you think this should be done as part of this PR? Cheers!

@Seldaek

And also marking the original SlackHandler as deprecated would be good I think (I will remove it from master/2.0 then), or do you think there is really a point in having 3?

I've marked a couple of methods as deprecated now. However, I disagree with marking the whole handler as deprecated as people who already use the Slack API could have a valid case and could continue to use it. Using the Slack API is not deprecated, so I don't see why we should deprecated the handler. Although, 2.x would be a good place to refactor the public interface and allow for more flexibility so the interface doesn't depend on every property Slack supports, I don't see why to deprecate the whole method of logging to the Slack API.
What do you think? Are you still considering removing the whole handler in 2.x?

Please let me know if you'd like commits squashed or partially squashed.
Thanks to all for all the feedback and help! I'm sorry for delaying it!

Could you please confirm that your changes didn't incur any backwards incompatible changes? Not just to the PHP API, but also to the way the pre-existing SlackHandler is configured?

@hkdobrev I didn't change public API, only made SlackHandler constructor one line. Any hints what I should look for? I think it's worth to try it out locally on 1.x, what do you think?

Note that the 2.0 constructor arguments are still very likely to change
so don't attach too much importance to that.. Make it work for 1.x and
we'll see.

@Seldaek Done that yesterday. @hkdobrev needs some time to try it out.
I'm using SlackHandler at work and have some improvements ideas, but I guess that'll be a separate PR.

I haven't looked into the code yet, but I have a question. I'm currently using this SlackWebhookHandler. The one thing which is missing is the good formatter for $context and $extra. Yes, it's readable for the message, but when you pass context/extra, there is no good formatter available.
The formatter that would pretty print the array would be preferred. Back when my colleagues and I used our own logger, we used to turn on the markdown option (mrkdwn) and add an attachment with json serialized text. That's the prettiest way we come up with.
Any solutions to this problem here?

@mirfilip I guess the first thing is that extra and context should not really be included to the message, since we're adding them as attachment fields.
As for me, it requires much more work in terms of formatting, e.g. the user should be able to configure it to hide/show fields in context/extra.
Can you send us some screenshots of what you have in Slack using SlackWebhookHandler?

@Seldaek I've added some very basic unit tests for SlackbotHandler and SlackWebhookHandler as well. I know they look a bit like dummy tests, but I believe there should be at least one unit test in the test suite which would actually instantiate a handler. This would check for things like syntax errors and basic omissions.
With that I think this PR is ready. Thanks to @an1zhegorodov for picking up the slack (pun intended)! 🎉  💪

@an1zhegorodov Stringify is indeed some improvement, but with multidimensional arrays it's still pretty much useless.
One way I've seen this solved is either:

Normalize (NormalizerFormatter) first, then json encode with pretty print
or
print_r or similar

@mirfilip Once this is merged, I'll come up with a separate PR addressing this and a few other issues. Would appreciate your feedback.

@mirfilip @an1zhegorodov I also think it's better a new issue to be opened for this and tackled separately from the majority of the Slack handlers work.

Hey guys, Thanks for this amazing work, can we see it merged soon @Seldaek ?

Thanks everyone :)

1.22 is out..

May I ask why cURL was preferred over Socket? Is it possible you could to move to socket instead of cURL?

The SlackHandler uses a socket with the streaming API. The simpler SlackbotHandler and the SlackWebhookHandler use cURL.
I'm not sure if these handlers could use a socket. cURL is simpler and based on their examples in the docs. I think only the streaming API would require a socket.
Why do you need to use a socket? If you use webhooks or the Slackbot, their examples give you just a webhook URL.

I hope I am not saying something incredibly stupid but I think using Sockets you can fire and forget am HTTP request from PHP.
https://stackoverflow.com/a/14668762/4158811
https://stackoverflow.com/a/14982587/4158811
The reason is that I don't want my application to break/stay halt if my Slack service is down.
I can see also that with the current implementation of SlackWebhook it retries the cURL request five times and I don't see a timeout setting so most probably my app will stay frozen while trying to call the webhook.
Not sure though if SocketHandler of monolog is also waiting for the response or it has a "fire and forget" logic.

"Fire and forget" would only work if there's no need to write data to the socket. We need to do that, so it would be locking operation with either Sockets or cURL.
To avoid application crash if Slack is down, you can use WhatFailureGroupHandler.
Timeout setting is indeed missing, can be easily implemented the same way as in SocketHandler with fallback to ini settings.
If performance is critical, I'd also consider using AmqpHandler or RedisHandler and then sending messages to Slack using separate process.


TUI color palette should be customizable through .glsrc

Summary
TUI color palette is currently set to constant values in https://github.com/ozansz/gls/blob/main/gui/constants.go. It should be customizable through .glsrc

I'd like to work on this issue. But, I have a question about it. If the values will be read from the .glsrc file, we cannot redeclare constant variables. One solution could be defining variables as var, not const. What do you think?

Yeah totally, I just forgot to mention that detail


refactor(go mod): migrate to go modules

During the migration process, some code is updated directly in the vendor folder, causing inconsistent with the upstream code repository.
I move this part of the code to the migrate
folder.
fixes #1355
Signed-off-by: cndoit18<EMAIL_ADDRESS>

In order to completely abolish the vendor, we also need some work to migrate the code from the migrate folder to the official version.

cc @shlomi-noach

Thank you! I can take a look into those changes. Appreciate the kick off!

Thank you! I can take a look into those changes. Appreciate the kick off!

Creating a vendor folder is to compatible downstream, if you need, you can delete it to test

I will try to fix the repair, simply verify the test of CI.

thanks again - commit https://github.com/openark/orchestrator/pull/1356/commits/3d33edf9c0e7098d1d612dec7abcbeb89de65d22 modifies the raft logic - I'd like to avoid that. If we switch to go modules then that's what we should be doing, without logic changes.
I have indeed updated the raft library inline, because my contribution upstream was not accepted. Alas, this is how it has to stay - upstream has diverged since then in a completely different direction, and I don't wish to try and sync with it again.
So I don't mind creating e.g. a openark/raft repo, and use a replace { ... } directive to point to that repo. Same for golib, if needed. What do you think?

thanks again - commit 3d33edf modifies the raft logic - I'd like to avoid that. If we switch to go modules then that's what we should be doing, without logic changes.
I have indeed updated the raft library inline, because my contribution upstream was not accepted. Alas, this is how it has to stay - upstream has diverged since then in a completely different direction, and I don't wish to try and sync with it again.
So I don't mind creating e.g. a openark/raft repo, and use a replace { ... } directive to point to that repo. Same for golib, if needed. What do you think?

it is so good, I have rollback the code and deleted the vendor. Looking forward to your openark/raft

thanks again - commit 3d33edf modifies the raft logic - I'd like to avoid that. If we switch to go modules then that's what we should be doing, without logic changes.
I have indeed updated the raft library inline, because my contribution upstream was not accepted. Alas, this is how it has to stay - upstream has diverged since then in a completely different direction, and I don't wish to try and sync with it again.
So I don't mind creating e.g. a openark/raft repo, and use a replace { ... } directive to point to that repo. Same for golib, if needed. What do you think?

and, I didn't find the commit record corresponding to github.com/openark/golib. can you push it?
these changes are recorded in migrate

thanks again - commit 3d33edf modifies the raft logic - I'd like to avoid that. If we switch to go modules then that's what we should be doing, without logic changes.
I have indeed updated the raft library inline, because my contribution upstream was not accepted. Alas, this is how it has to stay - upstream has diverged since then in a completely different direction, and I don't wish to try and sync with it again.
So I don't mind creating e.g. a openark/raft repo, and use a replace { ... } directive to point to that repo. Same for golib, if needed. What do you think?

This is too good.

Depend on https://github.com/openark/golib/pull/10

We have successfully switched to go modules!
Next, we can add a cache. same like Dockerfile
And migrated to golang 1.16
It is very big, I think it should be divided into multiple PR.
WDYT @shlomi-noach
https://github.com/presslabs/mysql-operator/pull/681/files

Of course, we have to ensure that the upstream changes will not affect us after migrating to the go modules.

We have successfully switched to go modules!

How did you deal with the changes in raft library?

Next, we can add a cache. same like Dockerfile

Sorry, which cache is that? Do you mean a go mod proxy?

And migrated to golang 1.16

Sorry again, I'm confused. How do you mean?

We have successfully switched to go modules!

How did you deal with the changes in raft library?

Next, we can add a cache. same like Dockerfile

Sorry, which cache is that? Do you mean a go mod proxy?

And migrated to golang 1.16

Sorry again, I'm confused. How do you mean?

Sorry, please forgive me for bad English, so that there is no expression clear
I use https://github.com/openark/raft, you already have
Docker uses layers when building, if you first use go mod download, the follow-up to build images can be reused.
You are still using golang1.14 image, which can be upgraded to golang1.16.

https://petomalina.medium.com/using-go-mod-download-to-speed-up-golang-docker-builds-707591336888
You can see this

I use https://github.com/openark/raft, you already have

Can you believe that I completely forgot that I did?

Docker uses layers when building, if you first use go mod download, the follow-up to build images can be reused.

I understand now. Shall we do it in a separate PR?

You are still using golang1.14 image, which can be upgraded to golang1.16.

I understand. We can it now, right?

You are still using golang1.14 image, which can be upgraded to golang1.16.

I understand. We can it now, right?

Your code has used too many shell scripts. For me, it is very difficult

Your code has used too many shell scripts. For me, it is very difficult

No problem. I can do this in a different PR. I am grateful to you for this work.

Your code has used too many shell scripts. For me, it is very difficult

No problem. I can do this in a different PR. I am grateful to you for this work.

Thank you

I pushed some final changes to the branch: I ran go mod tidy && go mod vendor and committed the changes.

I pushed some final changes to the branch: I ran go mod tidy && go mod vendor and committed the changes.

cool

I pushed some final changes to the branch: I ran go mod tidy && go mod vendor and committed the changes.

squash commits into one.

I'm gonna review this in a few more days and hopefully merge by end of week.


Add ellipses to quick accents for the period

Description of the new feature / enhancement
When activating Quick Accent for a period ("."), one of the options should be an ellipsis ("…").
Scenario when this would be used?
Used a lot when writing text. It's better than using three periods ("...") because three periods might be laid out with a line break in the middle.
Supporting information
No response

Hi, this has been worked on for the 0.78 development cycle. 😄
Please update PowerToys to the latest: https://github.com/microsoft/PowerToys/releases


The RLP implementation of receipt is incorrect

Contact Details
No response
Current Behavior
Summary
If "Axon is compatible with Ethereum" as that written in the README.md, the RLP implementation of receipt is incorrect.
Details
Here is the RLP implementation of receipt in Axon:
https://github.com/axonweb3/axon/blob/c7a471b596e9dd62c5964ef796d9c41a7b4c17b6/protocol/src/codec/receipt.rs#L5-L22
Yes, in legacy Ethereu JSON-RPC Specification (a.k.a. Ethereum Execution API Specification now), a receipt will have more that 10 fields.
But when do RLP of a receipt, only 4 fields should be used, that was written in section 4.3.1 of Ethereum Yellow Paper since the day when Ethereum launched.

... ... the status code of the transaction, $R_{z}$, the cumulative gas used in the block containing the transaction receipt as of immediately after the transaction has happened, $R_{u}$, the set of logs created through execution of the transaction, $R_{l}$, and the Bloom filter composed from information in those logs, $R_{b}$:
... ...
The function $L_{R}$ prepares a transaction receipt for being transformed into an RLP-serialised byte array:
$$L_{R}(R) = (R_{z},R_{u},R_{b},R_{l})$$

Also, you could NOT restore a JSON-RPC receipt from a RLP-serialised receipt.
Expected Behavior
None.
OS
Not Associated
Axon version
No response
Kernel
Not Associated
Relevant log output
No response
Anything else?
No response

Fix in #1270


Lmdb format/Custom dataset

Hello, Thank you for your wonderful work.
I have the following confusion and need your guidance as follow

I am a newbie in lmdb format. I download lmdb archive from your provided link for textocr and openvino. How can i look inside the mdb file to see the image and corresponding label. Any image_label_show function for your mdb format.
I want to train the model on my custom dataset format(lableme format). My image have the random labels ("AXY","TY5Y"). So how can i finetune your best model using my dataformat.
I am looking for your kind response.

Let's say your dataset is in /path/to/dataset/{data,lock}.mdb, you may use strhub.data.dataset.LmdbDataset like so:

import string
import matplotlib.pyplot as plt
from strhub.data.dataset import LmdbDataset

charset = string.digits + string.ascii_letters  # alphanumeric Latin character set
dataset = LmdbDataset('/path/to/dataset', charset, max_label_len=25)

num_samples = len(dataset)
img0, label0 = dataset[0]  # img0 is PIL.Image, label0 is str

print(label0)
plt.imshow(img0)
plt.show()

Please see the FAQ.

@Ehteshamciitwah  I'm also a newbie in this field and trying to understand what's happening in the code. Can you share exact lines of code to be followed to train on the custom data and where will be the updated weights saved?
Thanks in advance.

Hello,
Authors already mentioned the issues regarding training on new datasets and custom datasets. Please follow those issues for training.  In my case, I created my own dataset class/data loader for a custom dataset. you need to debug the code to see how the data loader works, then you can easily alter it for your custom dataset.


Change get_logits to return a single slice

Per our discussion in #49, I originally implemented get_logits(row: usize) -> Result<Option<&[f32]>, WhisperError> but struggled with the documentation.
The problem is that we don't know anything about how the logits matrix might be structured in the future, so the only thing we can say is that the row parameter must be zero. Because of that, I can't think of a current use case where the caller could usefully pass in a row number that was non-zero.
We also don't know whether the parameter zero would actually be the right value to use in the future. For instance, if whisper.cpp changes to returning the whole logits matrix, getting the logits for the last token might require get_logits(num_tokens-1) or redefining that the rows are indexed in reverse order.
So instead I ended up implemented the most basic version of get_logits() possible that returns a &[f32] slice of length n_vocab, documenting our current understanding of what it provides. If a future version of whisper.cpp allows retrieving a full 2D logits matrix, additional functions such as get_logits_matrix() and get_logits_row(row: usize) can be added.

Will review when I have access to a computer later tonight.


URDF models not displayed if geometry parameter < 1.0

Meshes do not appear in RViz if one of the size parameter is smaller than 1.0.
Example package:
mkdir catkin/src -p
cd catkin/src
git clone https://github.com/ros/urdf_tutorial
cd ..
catkin_make
source devel/setup.bash
roslaunch urdf_tutorial display.launch

If you change the dimensions of the cylinder in the URDF to values greater than 1.0 then it appears again, example:
01-myfirst.urdf
<?xml version="1.0"?>
<robot name="myfirst">
  <link name="base_link">
    <visual>
      <geometry>
        <cylinder length="1.6" radius="1.2"/>
      </geometry>
    </visual>
  </link>
</robot>

ROS Melodic
ii  ros-melodic-urdf                                     1.13.1-0bionic.20180906.225732                     amd64        This package contains a C++ parser for the Unified Robot Description Format (URDF), which
ii  ros-melodic-rviz                                     1.13.1-0bionic.20180907.011020                     amd64        3D visualization tool for ROS.

This is an issue with double parsing in urdf. Fixed (but not yet released) upstream.
Workaround: set environment variable LC_ALL=C (or some english locale).


ToDo: tests for Goby's command and flags

We need to create goby_test.go and add test for commands and flags on startup.
Does anyone want to do this?
Ref: https://github.com/goby-lang/goby/pull/511#issuecomment-343666162

I'll take this issue

@ear7h Ok, thanks 😁


disable istio for deployments in a namespace

Bug Description
disable istio for deployments in a namespace
Version
C:\istio-1.15.1\bin>istioctl.exe version
client version: 1.15.1
control plane version: 1.14.3
data plane version: 1.12.3 (254 proxies)

C:\istio-1.15.1\bin>kubectl version --short
Flag --short has been deprecated, and will be removed in the future. The --short output will become the default.
Client Version: v1.26.0
Kustomize Version: v4.5.7
Server Version: v1.25.5

Additional Information
No response
Affected product area

[X] Ambient
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
[ ] Multi Cluster
[ ] Virtual Machine
[ ] Control Plane Revisions

found the solution.
https://istio.io/v1.4/docs/setup/additional-setup/sidecar-injection/
thanks


WIP - Jdbc ticket registry

JDBC  high-performance registry implementation using Kryo serialisation, 2 x lower latency, 10+ x smaller tickets (~2000 bytes).
Uses the same configuration objects as the JPA implementation.
Instrumented with Spring Sleuth and Micrometer. Ticket access timings measured+tracked, dataset sizes.
Supports HSQL (test/dev) and Postgresql databases, adding other databases should be trivial.

@mmoayyed, some extra notes regarding this PR.
This is 'as-is' implementation taken from our production system, with some classes renamed.
By no means I recommend merging it just like that, it has too many rough edges.
Ticket serialisation here is still a hacky hackish thing, though it performs far better than what was there before (default Java serialisation + thicc JPA/Hibernate magic) .
Kryo is used from memcached module -> doesn't feel nice to have this dependency.
It's better to have a separate Kryo module, or, better yet, refactor ticket serialisers into an interface and pluggable JSON/Avro/Kryo/... implementation modules.
This may also provide a way to ensure forward-backward compatibility between serialised tickets.
With this implementation, any change in any ticket would result in deserialisation failures. It is not a regression though, it applies to any other storage that CAS could use.
There are also hacks with reflection to get rid of cyclic dependencies in object graph, and hacks to remove all cross-references from the serialised tickets. By default, serialised TGT contains ids of all the dependent tickets (for JWT it's the WHOLE token), and all dependent tickets contain TGT. We had to do it without changing too many things in CAS, that's why it's as ugly as it is.
This all comes because of absence of clear ticket registry storage model in CAS - there's just an object graph shoehorned into some serialiser. It is terribly inefficient this way, no matter what serialiser you use, either you (de)serialise tons of unneeded stuff, or you have to hack.
So to sum things up, I'd strongly recommend before merging this PR:

Introduce a separate storage model for tickets, separating ticket interdependencies from ticket contents. Ticket content serialisation then has to deal with just ticket contents, and not the dependencies.

Refactor ticket serialisation to remove dependency on memcached module, and allow pluggable implementations.

Also worth mentioning that any other key-value storage in CAS, like Cassandra or Redis will benefit from the points above.
Unfortunately, I can't spend time working on this anymore.
Hope you find the code and my remarks somewhat useful, and there will be a brave soul to carry on from here...
Kind regards,
Tim

Thank you. I appreciate the update.
I certainly do agree that there is a large batch of potential improvements that can be done to the ticket registry model and family. Much of that work has thus far seemed unnecessary because we have not run into a use case or load that would require that level of efficiency/performance, and more importantly, nobody has been willing to fund that sort of development. This sort of change is also something that might require a lot of breaking API changes internally so it'd have to be carefully planned and executed inch by inch, (or cm by cm!). That said, I think perhaps as a starting point we can begin to slowly plan some sort of general serialization framework to then slowly extend that support to all ticket registries who might need it, and hope to not change the existing model too drastically. If anything does happen in this area, I'd suppose it would be around the release of CAS 7 at least a year from now.
Just out of curiosity, what prompted you to use JDBC over something like Memcached or Hazelcast?

what prompted you to use JDBC over something like Memcached or Hazelcast?

A requirement was to use a strongly consistent store, without any inter-node communication, that is also supported by cloud providers as-a-service. A relational database, like PostgreSQL and MySQL, deemed to fit the bill perfectly.
I don't know much about memcached, but my past experience with Hazelcast was quite painful, it produced a lot of stability and consistency issues under decent load, especially in scenarios where there were rapid subsequent writes to the same key. Under some circumstances, involving a brief network unavailability, it could even cripple network I/O of JVMs in such a way that the whole cluster remained 'poisoned' (internode map updates were partly lost), until the cluster is brought down and then up. Hazelcast is a no-go for me since then, its magic (almost-zero-config and zero-deployment distributed Map) doesn't come for free.

use case or load that would require that level of efficiency/performance
We go for quality, not for efficiency or performance per se. Glitches/intermittent failures, as well as response times up to several seconds may be tolerated by the great deal of CAS target audience.
But a top world brand won't accept that. JPA setup was meant to be used in production, but it just didn't work, there were spontaneous deadlocks observed (there were other reports in the mailing list if you remember), arising with the load of just about 5 requests per second. It may have resulted in a level 0 production incident with huge business impact, especially when you need it badly, like when running an expensive ad campaign.

There were also concerns that other CAS ticket storage implementations could happen to be equally flaky, so the idea was to keep the architecture with relational database intact, and just rewrite the storage part, throwing away all that Hibernate/JPA fluff and coming with clear manageable storage interactions instead.
With all optimisations in place (Kryo + removing ticket dependencies) CAS with this JDBC storage, performed great and stable, running a 24-hour test with average ±400 requests per second, 3 instances of CAS using 2-cpu CloudSQL instance, with a dataset of ±50M tickets.
It's also worth mentioning that ticket expiration, as implemented in CAS by default, was an utter disaster - it reads the whole dataset and materialises in memory, just to check whether a ticket is expired or not. It would cause peaks of extremely high CPU and memory use even on 1000 tickets, where just one database query would do.

have not run into a use case or load that would require that level of efficiency/performance, and more importantly, nobody has been willing to fund that sort of development

Could also be chicken/egg problem - there's not so many eager souls wanting to use CAS so much in demanding (commercial) environments, because it's currently not efficient in its use of resources, and has inherent stability/performance AND storage compatibility issues stemming from the absence of the storage model.
But I spent too many years working for fintech and gaming, where just each single transaction and each millisecond counts, and some simple changes in code may mean many $$$$ per month saved on cloud hosting, as you need less resources for the same effect ... so I may be biased.
Have a nice holidays!

Thanks very much; I appreciate the feedback. We'll certainly try to take these concerns into accounts as soon as the opportunity presents itself.


EC2 destroy.yml will terminate other instances if no match is found

The EC2 driver maintains information about the instances it creates then uses that information to destroy the instance.
This isn't a problem (usually) when running molecule tests to completion. However when using test-driven development (TDD) you may routinely run the test to 'converge', do a bit more work, and then complete the molecule tests to see if the results have improved. There's a significant downside to this - the longer this instance is running the greater the risk that another process will terminate the instance. It might be a local process, it might be another process interacting with EC2.
When this happens (ouch) the code blocks
    # Merging defaults into a list of dicts is, it turns out, not straightforward
    platforms: >-
      {{ [platform_defaults | dict2items]
           | product(molecule_yml.platforms | map('dict2items') | list)
           | map('flatten', levels=1)
           | list
           | map('items2dict')
           | list }}

    - name: Validate discovered information
      assert:
        that: platform.vpc_id or (subnet_info.results[index].subnets | length > 0)
        quiet: true
      loop: "{{ platforms }}"
      loop_control:
        loop_var: platform
        index_var: index
        label: "{{ platform.name }}"

    - name: Destroy ephemeral EC2 instances
      ec2_instance:
        profile: "{{ item.aws_profile | default(omit) }}"
        region: "{{ item.region | default(omit) }}"
        instance_ids: "{{ instance_config | map(attribute='instance_ids') | flatten }}"
        state: absent
      loop: "{{ platforms }}"
      loop_control:
        label: "{{ item.name }}"
      register: ec2_instances_async
      async: 7200
      poll: 0

will quietly set instance_ids to null instead of failing. That means the play will match all EC2 instances matching that profile and region.
I suspect the playbook had originally verified that the instance(s) was still running as part of the creation of the platforms list and that list would have been empty if the instance(s) was no longer running but that's no longer the case.
Fortunately there's a simple fix:
    - ansible.builtin.set_facts:
        instance_ids: "{{ instance_ids | default(instance_config) | map(attribute='instance_ids') }}"
      loop: "{{ platforms }}"

    - amazon.aws.ec2_instance:
         instance_ids: '{{ instance_ids | flatten }}'
         ...
      when: instance_ids is defined and instance_ids[0] is defined

with related updates below. (This isn't the final code - just a demonstration that it's easy to check whether the list will be empty.)
PR to follow.

hm. sounds bad. Can you please submit a PR ?

Still working on it...

I've been able to reproduce the behavior, although I don't recall exactly how I got to it.
There is no run-config.yml file. This might be an important clue when running the 'destroy' task!
instance_config.yml
{}

(I know - this doesn't look very much like yml!)
state.yml
# Molecule managed

---
converged: false
created: false
driver: null
is_parallel: false
prepared: null
run_uuid: eceff0f9-52b6-40ad-8b96-778f43a3a0a8

The really scary play is
    - name: Destroy ephemeral EC2 instances
      ec2_instance:
        profile: "{{ item.aws_profile | default(omit) }}"
        region: "{{ item.region | default(omit) }}"
        instance_ids: "{{ instance_config | map(attribute='instance_ids') | flatten }}"
        state: absent
      loop: "{{ platforms }}"
      loop_control:
        label: "{{ item.name }}"
      register: ec2_instances_async
      async: 7200
      poll: 0

because adding this play immediately before it
    - name: list of instance ids...
      debug:
        msg: "{{ instance_config | map(attribute='instance_ids') | flatten }}"
      loop: "{{ platforms }}"
      loop_control:
        label: "{{ item.name }}"

results in
TASK [list of instance ids...] *************************************************
Thursday 20 April 2023  17:09:21 -0600 (0:00:00.124)       0:00:00.476 ********
Thursday 20 April 2023  17:09:21 -0600 (0:00:00.124)       0:00:00.476 ********
[WARNING]: Unable to find '/home/bgiles/.cache/molecule/freeipa/default/run-
config.yml' in expected paths (use -vvvvv to see paths)
ok: [localhost] => (item=molecule-test-freeipa) =>
  msg: []

If I didn't immediately 'fail' I would have seen
  msg: 'Unable to terminate instances: An error occurred (OperationNotPermitted) when calling the TerminateInstances operation: The instance ''i-0e19535f5a288e6fc'' may not be terminated. Modify its ''disableApiTermination'' instance attribute and try again.'
  results_file: /home/bgiles/.ansible_async/255023698564.4155266
  started: 1
  stderr: ''
  stderr_lines: <omitted>
  stdout: ''
  stdout_lines: <omitted>
  terminate_failed:
  - i-011529bd170f8d765
  - i-0aaa746642d96f508
  - i-063bd9a60e1168700
  - i-0def08ff5a17bf1d0
  - i-016c8680ff0fb57cf
  - i-0f8848b6cb98e6a5c
  - i-06b46dddb84820d9a
  - i-0aa3b858d938d79ab
  - i-02b479461c88a51f6
  - i-008723f22d5dd9bef
  - i-0e19535f5a288e6fc
  - i-0974455a156207f96
  - i-001732bd76214758a
  - i-01cfb1b4b84002204
  - i-08ca360a86f590fdb
  - i-03df2c30f27a97bae
  - i-06ecb13be3e37f6ac
  - i-03bb783117c63a926
  - i-04b6bde567b32e0bd
  - i-044e8d0655937e5db
  - i-0266cb409a1947325
  - i-0614ac8f419da9021
  - i-06c69c1b5c021d610
  - i-07474f12b6ad658ba
  - i-032b3e77f72f97d1c
  - i-0f32470a91df12f8b
  - i-0868fe1cddc6a94c2
  - i-03f7c088088d2b68b
  - i-0812c02988d05499c
  - i-0865f1cf78a1c4db1
  terminate_success: []

There's an immediate improvement by adding just one line:
    - name: Destroy ephemeral EC2 instances
      ec2_instance:
        profile: "{{ item.aws_profile | default(omit) }}"
        region: "{{ item.region | default(omit) }}"
        instance_ids: "{{ instance_config | map(attribute='instance_ids') | flatten }}"

        # --- start of new code ---
       subnet_id: "{{ item.vpc_subnet_id }}"
        # --- end of new code ---

        state: absent
      loop: "{{ platforms }}"
      loop_control:
        label: "{{ item.name }}"
      register: ec2_instances_async
      async: 7200
      poll: 0

This only works if the molecule tests are run in a dedicated subnet... but that would be a Good Thing anyway. It could still cause problems if there's permanent infrastructure in the same subnet, e.g., a centralized log server.
It looks like this might work - but it will require changes to at least one other play.
    - name: Destroy ephemeral EC2 instances
      ec2_instance:
        profile: "{{ item.aws_profile | default(omit) }}"
        region: "{{ item.region | default(omit) }}"
        instance_ids: "{{ instance_ids }}"
        state: absent
      loop: "{{ platforms }}"
      loop_control:
        label: "{{ item.name }}"

      # --- start of new code ---
      vars:
        instance_ids: "{{ instance_config | map(attribute='instance_ids') | flatten }}"
      when:
        - instance_ids is defined
        - instance_ids | length > 0
      # --- end of new code ---

      register: ec2_instances_async
      async: 7200
      poll: 0

Finally, something else I've been looking at is modifying the plays that create ephemeral keys, security groups, and instances so they include one or two additional tags:

molecule-instance:  '{{ platform.name }}'   (only for keys and security groups - EC2 already has this as 'instance')
molecule-run-id: '{{ run_config.run_id }}'

And the 'run_config.yml' file also captures the run_id.
There's three reasons for this:

it's a solid way to identify ephemeral resources in searches.
it's a solid way to identify orphan resources
it's a solid way to identify resources to destroy when there's a fatal error in the create.yml playbook

(I have a ton of orphaned keys and security groups...)
The search can still include criteria like the expected subnet, etc.
I've also tried adding any ephemeral keys and groups to the run_config.yml file.
The biggest downside is that you now need to delete the ephemeral keys if there was a failure in the create playbook. Otherwise the next run will reuse the existing key - which means it won't be automatically deleted later if you rely on just the run-id value.

I forgot to mention - I added a bit more code when adding the tags to the EC2 instance. Basically I split 'platform_generated_tags' into two.
The filtered tags include what's already present - {{ platform.name }}.
The unfiltered tags include the molecule-run-id mentioned above.
I also added the vpc-id, image-id, and key-name values to the filter since that's the default values. The first two should be safe, the third one might not be with ephemeral keys. It won't change the results but it might be a little more efficient on the AWS side.
....
Also - I used 'molecule-run-id' instead of just 'run-id' since it's possible that something else might be creating keys and security groups with just 'run-id'. Adding 'molecule-' should make it unique.

Please resolve this??

Sorry I dropped this - I got pulled into other tasks... then laid off. The change set for the unfiltered tag was large enough that I knew it would take some time to prepare it for review.
In addition... the more I looked at the security issues and our needs (which potentially include S3, SQS, EKS, etc.) I decided that a better approach for us would be a lambda function. The molecule driver would just perform input validation and then call the lambda function for the actual work.
This solves the security issues since the lambda function would have them (via IAM role), not the process calling it.
It makes it easier to create a default security group restricted to the host running the molecule tests. Molecule tests running on EC2 instances usually only have their internal IP address but if you use a dedicated VPC for your tests but haven't set up a gateway you would need to use the public IP address.
It solves the issue of accidental deletions since the lambda function could maintain a small database of the instances it creates and then check that list before deleting anything.
It makes it easier to add support for additional resources since the lambda function is written in java (or python, etc.) instead of ansible.
Finally it lets you update the implementation without changing any existing tests. (Once they use the lambda function.)
The lambda-based approach should probably be an 'aws' driver, not 'ec2' driver, in order to avoid confusion and to reflect the intention to support much more than just ec2.

Just a note, this looks like it has been fixed via: https://github.com/ansible-community/molecule-plugins/pull/170
A fix for anyone still encountering it would be to update the plugin and delete -> re-generate the destroy scenarios under molecule/ in their roles directory.


[feat]: sidebar color option

Feature description
The 'themes' page does not include a color option. Therefore, it does not follow the custom color theme. I think it needs options like these:
--sidebar-background: 222.2 84% 4.9%;
--sidebar-accent: 217.2 32.6% 17.5%;

https://ui.shadcn.com/themes
Affected component/components
SideBar
Additional Context
Additional details here...
Before submitting

[X] I've made research efforts and searched the documentation
[X] I've searched for existing issues and PRs

Please read the installation guides

I mean this.


Set up CI with Azure Pipelines

Codecov Report

Merging #1 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master       #1   +/-   ##
=======================================
  Coverage   97.26%   97.26%
=======================================
  Files          41       41
  Lines        1133     1133
  Branches       76       76
=======================================
  Hits         1102     1102
  Misses          2        2
  Partials       29       29

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 2d9a877...c365d12. Read the comment docs.


Dropping a reference does nothing.

Allows clippy to continue compilation

Yeah, the drop(host) bellow is what we actually need here, thanks!
bors r+

Allows clippy to continue compilation

For the record, you can always force clippy to ignore deny(foo)  via cargo clippy -- --cap-lints warn


[Docs]: Add README badges

what's wrong in the documentation?
We need to add readme badges
Add screenshots
No response
Code of Conduct

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

could you elaborate this issue?

Similar to this

we need to add one badge open source is ❤
assigned to you


error when training

I got an error below when trained a model on VoiceBank data. Can you please let me know how to fix it?

Thank you for your comment.
I am trying to reproduce your error but I haven't done it yet in my enviroment.
Could you tell me following value when this error occurs?

the shape of xtmp
the value of batchTimeFrame and shiftLen

I think you use test dataset as train dataset for trial.
But, the sampling rate of test dataset may be not 16 kHz but 48 kHz.
Did you downsample test dataset as 16 kHz?
If I can reproduce this error, add solution in this issue.

I have very similar issue:

My config:

I too used the test set from DEMAND for training as a first trial step.
All the parameters are unchanged from the default value you provided. batchTimeFrame=68 and shiftLen=256.
Your code does not downsample audios. So instead of wavfile.read, I used librosa.load which allows me to downsample audio when loading them in. librosa.load also returns dtype == np.float32 directly.

Any help would be appreciated! Thanks!

Thank you for your report.
I cannot reproduce this error yet.
I think if I comment out following (line 183&184 of 01_train.py in this repo), this error may be resolved.
stmp =  xp.reshape(stmp, (1, batchTimeFrame*shiftLen) )
xtmp =  xp.reshape(xtmp, (1, batchTimeFrame*shiftLen) )
Because stmp & xtmp are not used after this line.

Do you mean by lines 181, 182, 186, 187?

Yes. I also fixed the above comment

Hmm after commenting those lines out, I still get similar errors at line 184
Xtmp =  xp.reshape(Xtmp, (1, chNum, batchTimeFrame) )
"ValueError: cannot reshape array of size 3084 into shape 17476"

Could you tell me the shape of Xtmp before executing line 184?
In my environment, the shape of Xtmp is (257, 68).

Notice on the last line, the shape of Xtmp is no longer (257, 68).

Thank you for reporting!
I have roughly figured out the cause of the error.
I will upload the modified version to the repository as soon as possible.

Thank you so much for your help! Looking forward to your updated version.

Oh, and I ran the code three times, but Xtemp.shape gets different shapes each time.
First time:

Second time:

Third time:

Is this what it supposed to be?

No. I created it so that the shape of xtmp is fixed at (chNum, batchTimeFrame).
All data in the train dataset are longer than the batchTimeFrame*shiftLen so these errors probably will not occur if train dataset is used.
There is something shorter in the test dataset so this error occured.
I just fixed it, so you should be able to use it without this error.

I can confirm this problem is fixed. But there's another problem appearing. I'll open another ticket.


Make it possible to test examples using apis in pipeline

Currently I cannot test all examples in the github build pipelines because an OPENAI_API_KEY is not available.
Please provide a key in the pipeline or specify how we should test those examples. Thanks.
Example: https://github.com/holoviz-topics/panel-chat-examples/pull/12
https://github.com/holoviz-topics/panel-chat-examples/actions/runs/6440192051/job/17488753601?pr=12

Workaround
For now I will disable testing the specific examples such that I can get my PR in before another major change to the repo happens. This will help me avoid spending a day of refactoring of my PRs.
Additional Context
With probably some work it is possible to mock the OPENAI api. See https://github.com/openai/openai-python/issues/398#issuecomment-1742862473

For now we work around the problem by not testing those examples in the pipeline.


Load Kubeconfig from python dict

Loading kubeconfig from python dict:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #2918
Type of changes
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)

Feature/Issue validation/testing:
The KServeClient accepts config_dict arg to load kubeconfig from a python dictionary.
Special notes for your reviewer:

Please confirm that if this PR changes any image versions, then that's the sole change this PR makes - No.

Checklist:

[x] Have you added unit/e2e tests that prove your fix is effective or that this feature works?
[x] Has code been commented, particularly in hard-to-understand areas?

Release note:

Allow loading kubeconfig from a python dictionary

/assign @yuzisun

Thanks @ShreehariVaasishta !
/lgtm
/approve


MODE-2162: Store indexes in Elasticsearch

This PR implements mechanism of the storage indexes in Elasticsearch

@okulikov: can you please squash the commits ?

@hchiorean , trying but it fails. second


Better validation of command line arguments

Added better validation of the command line arguments for the
update-gce-image operand.

Currently I'm overloading the encrypt-gce-image config options for the update-gce-image operation as well, since technically they would be the same. However if the suggestion is to have separate set of config options for those, then let me know.

👍


hi markus-oberlehner is posible hide the links

markus-oberlehner i was tested your theme and i very happy to learn more about this great theme.
I'm starting in the world of hugo and your topic has seemed very interesting
I'm a little confused about the menu, if I make a folder in content, a link is created, I would like to know how to hide it or ignore it, just show what is done in the config.toml

Blog
you can see the menu, I want to delete it from the menu (blog, otros, utilidades), just leave the links of the .toml
this is the code of your partial menu
{{ if ne .Site.Params.show_menu false }}

    {{ $currentNode := . }}
    {{ range  $i, $v := .Site.Menus.main }}

        {{ .Name }}

      {{ if not $i }} | {{ end }}
    {{ end }}

{{ end }}

thanks ....markus youre big

Hey @abdiasriver,
Thank you for your kind words. I'm currently busy, but I'll try to look into your problem during the following days.
I'm happy my theme is useful to you.

Hello @abdiasriver, I've finally figured it out.
The reason why the menu item is created automatically is the following setting in the config.toml
SectionPagesMenu = "main"

If you remove this setting, you have to manually add every page to the menu. You can do this either in the config.toml or by adding menu = "main" to the configuration block of the _index.md file.


Need clarity on implications of collection permissions on the visibility of related assets in lineage view

This documentation does not describe the implications of permissions on the visibility of lineage to assets that reside in collections to which a user does not have access. Consider including the following details:
When users view the lineage for an asset that resides in a collection that they are permitted to see, the users will see placeholders for related assets in the lineage view, even if the users are not authorized to access these assets (the only details revealed about the assets are their names and types). The users will not be able to view the details for the related assets that they are not authorized to see. If a user attempts to switch to an asset that they are not authorized to access, they will be informed that they need a permission to access the asset.

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

ID: 1bb9ad75-5aa1-af3d-9f59-073015190950
Version Independent ID: 467433dd-ade8-5109-eaa5-a2198146b769
Content: Understand access and permissions in the Microsoft Purview governance portal - Microsoft Purview
Content Source: articles/purview/catalog-permissions.md
Service: purview
Sub-service: purview-data-map
GitHub Login: @viseshag
Microsoft Alias: viseshag

@slavatrofimov
Thanks for your feedback! We will investigate and update as appropriate.

@slavatrofimov
Thanks for your contribution. Please add your ideas in below link, so our production team can review it and update the same.
Ideas · Community (azure.com)


fixing typos in templates plugins config docs

This is already being addressed here:
https://github.com/searchspring/snap-1.0/pull/17


Correct sentence: page 54, section 5.7, 3rd sentence:

@leifos
Page 54, section 5.7 says:
3rd sentence:
This is because when you go
to demo or test your app, you some good examples in the database
you may want to add "you have, or you will have"
Cheers,

Thanks.


fix: make_chain_exchange_response should return BlockNotFound properly

Summary of changes

As part of https://github.com/ChainSafe/forest/issues/3556
Changes introduced in this pull request:

Fix make_chain_exchange_response to return BlockNotFound instead of InternalError when start block is missing from the database
Fix make_chain_exchange_response to return BadRequest when options is invalid
Refactor the function body to use ChainIndex::chain and try_fold instead of a loop

/// Status codes of a `chain_exchange` response.
#[derive(Clone, Debug, PartialEq, Eq, Copy)]
#[cfg_attr(test, derive(derive_quickcheck_arbitrary::Arbitrary))]
pub enum ChainExchangeResponseStatus {
    /// All is well.
    Success,
    /// We could not fetch all blocks requested (but at least we returned
    /// the `Head` requested). Not considered an error.
    PartialResponse,
    /// Request.Start not found.
    BlockNotFound,
    /// Requester is making too many requests.
    GoAway,
    /// Internal error occurred.
    InternalError,
    /// Request was bad.
    BadRequest,
    /// Other undefined response code.
    Other(#[cfg_attr(test, arbitrary(gen(|_| 1)))] i32),
}

Reference issue to close (if applicable)

Closes
Other information and links

Change checklist

[x] I have performed a self-review of my own code,
[x] I have made corresponding changes to the documentation,
[x] I have added tests that prove my fix is effective or that my feature works (if possible),
[x] I have made sure the CHANGELOG is up-to-date. All user-facing changes should be reflected in this document.

Let's rewrite this using cs.chain_index.chain() rather than an explicit loop.

@lemmih Done

@LesnyRumcajs @sudo-shashank kindly ping


Updated installation scripts and package layout

Use the signed general-purpose install.ps1 and uninstall.ps1 from the Roslyn analyzers project
Move the output assembly into a C#-specific subfolder in the NuGet package (should fix #806)

@pdelvo To test this, you can create a new .nupkg locally to move the assembly and use the new scripts, and then try toinstall that into an ASP.NET 5 project.

This did not solve the intended problem.


Add a way to download full dataset archive (including PDFs) from the web.

As it says in the title. This is useful if someone wants to have the full dataset.
I think a utility method that would download dataset + auxiliary datasets while not downloading all the PDFs would also be quite helpful and would actually be what 90% people want.
Wdyt @adamjanovsky ?

That would be a nice addition. Did you consider not adding new method? Instead we could add download_artifacts: bool = False optional argument into from_web_latest() method. What do you think?

Yes I did consider it, but right now that method downloads a "pathless" dataset just into memory, while this one needs a path(directory) where to save it. So it would need two arguments, which was a bigger change but we can go that route, we just need to figure out a sensible behavior for the combinations of arguments.


Import external keypoints and descriptors?

Hi!
I am hoping to find a way to import external keypoints and descriptors into speedyvision for use in a forward-backward Lucas Kanade pipeline. I don't see any mention of external import in the documentation so I figured I would reach out.
My current project which intends to accomplish world tracking operates as follows:

generate speedyvision keypoints and descriptors
add keypoints to shared memory with wasm which handles mapping
use opencv in WASM side to perform forward-backward tracking between keyframe map points and update their locations.

Instead of utilizing opencv in my wasm, I am trying to find a way to perform all mapping functionality and point cloud storage in the WASM but then update map point shared memory, gather the simple data structure on javascript side, and utilize it in speedyvision tracking pipeling.
Is this possible?

Hi! Use Speedy.Keypoint.Source to import keypoints into a pipeline. The present implementation does not support importing descriptors, but they may be recomputed easily if you provide an image. In addition, descriptors are not necessary for the Speedy Vision LK tracker.

Thank you Alexandre, I have been able to implement the external keypoint import into a pipeline, but I have one more question...
Within the keypoint object array I am importing, each keypoint has some crucial data along with it such as an ID as recognized by my 3D map and a boolean which tells if it is a projected 3d keypoint or a simple 2d keypoint that has not yet been included in a 3D map.
Currently, any excess data on the imported object that is not the 2D position values is lost along the way. Is there a way I can preserve this data during the import process so that the resulting tracked keypoints still have record of their previous id's before filtering?

You cannot upload arbitrary data to the GPU with a keypoint source, but you can design your pipeline differently. Perhaps you can match the keypoints and use the matching results to indirectly get the IDs and the data.

Thank you for all the help! I hope you don't mind all the questions as I have one more... Is there a way to use a distance filter to set a minimum distance of keypoints during extraction?

Use a Speedy.Keypoint.Clipper to get the keypoints with the highest scores. Typically, a keypoint score is a cornerness measure, but it need not be so. A score is just a number, and you can upload arbitrary scores to the GPU. If you need the keypoints to be approximately evenly distributed spatially, you can make a score function s(x,y) based on the position of the keypoint in the image, with peaks on a grid.

Is there a way to include a custom function within a single pipeline? Or would I have to have two seperate pipelines, one for extraction, and one for clipping, then run an external scoring function between?


I can't disable the keyboard from code

Check that this is really a bug

[X] I confirm

Reproduction link
https://codesandbox.io/s/swiper-keyboard-control-angular-forked-9kcop
Bug description
I can't disable enable the keyboard from code,
it always take the init value only,
this init to true: so the keyboard always enabled even if I unchecked the checkbox
https://codesandbox.io/s/swiper-keyboard-control-angular-forked-9kcop
this init to false: so the keyboard always disabled even if I checked the checkbox
https://codesandbox.io/s/swiper-keyboard-control-angular-forked-43zej?
Expected Behavior
to control the keyboard enabled/disabled from code, through the keyboard input or the config.keybaord
Actual Behavior
No response
Swiper version
7.2.0
Platform/Target and Browser Versions
macOS
Validations

[X] Follow our Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.
[X] Make sure this is a Swiper issue and not a framework-specific issue

Would you like to open a PR for this bug?

[ ] I'm willing to open a PR

Use Swiper instance keyboard methods to disable/enable it after init https://swiperjs.com/swiper-api#method-swiper-keyboard-disable

@nolimits4web
It is working thank you,
but I think other angular developer may end with same issue I had.
for Angular developer it is better to control the component from config/properties rather than calling methods
Thank you again


Tilt animation - does not work properly during walking

Tilt animation works well when i just seat on chair and rotate device. But it does not properly when walk around.

if this is still an issue - let me know, and I'll investigate!


DEPRECATED #62

DEPRECATED #62
DEPRECATED - The Symfony\Component\Routing\Route::getPattern method is deprecated since version 2.2 and will be removed in 3.0. Use the getPath() method instead.
in File /vendor/elao/web-profiler-extra-bundle/DataCollector/RoutingDataCollector.php
Line 70
'pattern' => $route->getPattern(),

:+


Upload wizard: Depiction search broken in master

Upload picture
At the depictions step, type rabbit or any other common word
Problem: Nothing seems to happen. No suggestions appear.

I could not spot anything special in logcat.

Sorry false alert, resetting the app's data fixed the issue.


add kfctl-release team

Added kfctl-release team per request of https://github.com/kubeflow/kubeflow/issues/5022.
The kfctl release 1.1 issue is https://github.com/kubeflow/kfctl/issues/352.
/cc @crobby

/assign @jlewi
cc @animeshsingh

Added kfctl-release team per request of kubeflow/kubeflow#5022.
The kfctl release 1.1 issue is kubeflow/kfctl#352.
/cc @crobby

Thanks!

/lgtm
/approve


Fix mirror of the prettier npm package for pre-commit

Overview

Use https://github.com/rbubley/mirrors-prettier instead of https://github.com/pre-commit/mirrors-prettier in .pre-commit-config.yaml.

Details

https://learn.scientific-python.org/development/guides/style#PC180

@pyvista-bot LGTM


Support to selectively enable instrumentations

What does this PR do?
Fixes #1740
Checklist

[x] This is something else

[x] I have updated CHANGELOG.asciidoc

:grey_exclamation: Build Aborted

The PR is not allowed to run in the CI yet

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Reason: The PR is not allowed to run in the CI yet

Start Time: 2021-11-26T15:21:47.808+0000

Duration: 4 min 36 sec

Commit: d385cd223fa8eda42d1f3c0a98deb71c78ec7448

:robot: GitHub comments
To re-run your PR in the CI, just comment with:

/test : Re-trigger the build.

run benchmark tests : Run the benchmark test.

run compatibility tests : Run the JDK Compatibility test.

run integration tests : Run the APM-ITs.

run elasticsearch-ci/docs : Re-trigger the docs validation. (use unformatted text in the comment!)

/test

@elasticmachine run elasticsearch-ci/docs

Thank You!


Debug Feature Request: Hide API key in URI prints and exception stack traces

I am using Orianna in a JavaFX application with Riot API calls built into the classes. I would like to leave stack trace printing in a public runnable release for debugging. Could an option be added to remove the api key from the end of printed URIs?

Hey,
This could be done, but I want to be careful with it for principle's sake. At what stage of your application is the API key getting set? If you're compiling your key into your application it can be easily compromised, regardless of whether it's being printed to console. If it's being added by the end-user at runtime, then (personally) I wouldn't see a problem having it be printed, as the only person seeing it is the one who put it there.
Can you go into a little more detail about how the API key is going to be provided for Ori in your current setup?

I set the API key in a separate non-cloneable, non-serializable, non-deserializable class with a public void method. This is the class's only function. All Riot API calls / Orianna are in their own class.
I haven't looked too much into security...Would it be possible for someone to introduce a modified Orianna.jar that would just print the key? Any tips for keeping my key secured?


Milestone 1: Project setup

This is the setup for the TicTacToe project corresponding to the first milestone.

STATUS : APPROVED :partying_face: :champagne:
Hey team @gscarv13 and @RokoVarano, good job on working on this project. :clap: :clap:  for going the extra mile of creating a README file. This project is therefore approved, go ahead and merge
All the best in the next milestones :smile: Happy Coding :technologist:
Regards
Peris Ndanu

STATUS : APPROVED :partying_face: :champagne:
Hey team @gscarv13 and @RokoVarano, good job on working on this project. :clap: :clap:  for going the extra mile of creating a README file. This project is therefore approved, go ahead and merge
All the best in the next milestones :smile: Happy Coding :technologist:
Regards
Peris Ndanu


MyServices - use different methods to get service details based on service hosting type

based on the type of the service hosting used by the service, different API methods must be used to load service details.

In case of self-hosted, use getSelfHostedServiceDetailsById
In case of service-vendor hosted, use getVendorHostedServiceDetailsById

dependent on #1026

let me do it

implemented.


Incompatible native module: fsevents

Failed to require the main module of 'ide-vue' because it requires one or more incompatible native modules (fsevents).
Run apm rebuild in the package directory and restart Atom to resolve.

apm rebuild in ~/.atom/packages/ide-vue did not fix the problem.
Atom 1.25.0
ide-vue 0.1.8

apm rebuild and a manual restart of Atom didn't help, but https://github.com/atom/incompatible-packages did.

Triggered the Rebuild button
Followed by the Reload (Atom) button
The error is gone


Add modulo function

The Suggestion
Comes from #11
Implementation description

Uses an implementation of the fmod algorithm

x % y = x - truncate(x / y) * y
The truncation was the hardest part to figure out, because unlike floor which always rounds down, truncate rounds towards 0

Implementation is fairly efficient, and is quite precise
Allows for both decimal and negative values in both x and y
Catches y=0 by failing
Updated README to add gm:modulo to list of functions

I made sure to test this as extensively as possible, and I couldn't find any edge cases where it broke (apart from y=0, which now correctly returns a fail). This includes int/int, int/float, float/int, float/float, positive/positive, positive/negative, negative/positive, negative/negative, extremely small values (including exponenent notation), extremely large values, and very long decimals.

excellent work as always ty

Oh woops, thanks for catching that :P
I had that for debugging purposes


Reduce allocations in ExpandExpressionCaptureIntoStringBuilder

This reduces allocations by 3% by avoiding the Join, but slightly increasing allocations in Append.
Before:

After:

Scenario is attempting to mimic a solution wide design-time build from here: https://github.com/dotnet/project-system/issues/2712.

I'll probably look at trying to better "guess" up-front capabilities - to avoid the resizing that you can see in AppendHelper(String) and Append(char).

Hmm, looks like I broke a lot of tests, investigating...

Tests are passing now.


Issue in JSON def for runQuery method; it should return a list of RunQueryResponse objects

If you make a request to the runQuery method: https://firestore.googleapis.com/v1beta1/{parent=projects//databases//documents}:runQuery, you will get a list of RunQueryResponse, but the JSON file says it returns a  single RunQueryResponse object.
When we generate the code from the JSON, we get parsing errors.
The error seems to be here:
https://github.com/google/googleapis.dart/blob/914cf010bdf2a45201f06ff0657a29042634f4ed/discovery/googleapis/firestore__v1.json#L2618
the type should be "array" instead of "object".
Google-internal issue: http://b/38230466

Why is there a v1beta1 section in the URL above? Are you using the v1 API?
Would you include an example of the JSON being returned?
It's possible the JSON we're getting from the discovery API is broken

Don't close it! It's a good bug! I just reproduced it!

This goes back a ways!  https://github.com/google/googleapis.dart/issues/25

Good find @brenhr ! Fix will be in the next release!

Fix published in https://pub.dev/packages/googleapis/versions/6.0.0

It seems that the fix has disappear (unless I'm wrong). The RunQueryResponse definition has changed as it was before in 9.0.0 version

Will look!

I can't get a query to run – at all.
Could you share an example of a query that runs – but just the result fails to decode. Or are you getting failures with invalid queries?

Indeed it seems the request API has changed too. The following example ran on googleapis 8.1.0:
import 'package:googleapis/firestore/v1.dart';
import 'package:http/http.dart';
import 'package:path/path.dart' as p;
import 'package:test/test.dart';

void main() {
  test('runQuery', () async {
    var client = Client();
    try {
      // Temp no auth query
      var path =
          'projects/tekartik-net-dev/databases/(default)/documents/tests/tekartik_firebase/tests/a2OZAEskPoMDERpjLEc4/et1fJO9Bk8iGu9MaMpXh';
      var firestoreApi = FirestoreApi(client);
      // Run query
      var query = RunQueryRequest()
        ..structuredQuery = StructuredQuery(
            from: [CollectionSelector()..collectionId = p.url.basename(path)]);
      var response = await firestoreApi.projects.databases.documents
          .runQuery(query, p.url.dirname(path));
      // There should be 2 documents
      print(response.map((element) => element.document?.toJson()).join('\n'));
    } finally {
      client.close();
    }
  });
}

but not on googleapis 9.0.0 (does not even compile).
The following compiles on googleapis 9.0.0 but crashes due to invalid json (i.e. a list instead of a map)
import 'package:googleapis/firestore/v1.dart';
import 'package:http/http.dart';
import 'package:path/path.dart' as p;
import 'package:test/test.dart';

void main() {
  test('runQuery', () async {
    var client = Client();
    try {
      // Temp no auth query
      var path =
          'projects/tekartik-net-dev/databases/(default)/documents/tests/tekartik_firebase/tests/a2OZAEskPoMDERpjLEc4/et1fJO9Bk8iGu9MaMpXh';
      var firestoreApi = FirestoreApi(client);
      // Run query
      var query = RunQueryRequest()
        ..add(RunQueryRequestElement()
          ..structuredQuery = StructuredQuery(from: [
            CollectionSelector()..collectionId = p.url.basename(path)
          ]));
      // Crashes!
      // DetailedApiRequestError(status: 400, message: Invalid JSON payload received. Unknown name "": Root element must be a message.)
      var response = await firestoreApi.projects.databases.documents
          .runQuery(query, p.url.dirname(path));
      print(response.toJson());

    } finally {
      client.close();
    }
  });
}

I'm trying to reproduce, but I can't get beyond an error
DetailedApiRequestError(status: 400, message: Invalid JSON payload received. Unknown name "": Root element must be a message.)

Any ideas @alextekartik ?

Yes, the response is an array (a list of doc). The patch that was made here (https://github.com/google/googleapis.dart/blob/master/overrides/i303.diff) fixed that. Maybe the fetched definition has slightly changed and the patch is not applied correctly. (and maybe the patch must be updated to match any api changes).
Looking quickly at the patch, it seems that the RunQueryRequest is patched and RunQueryResponse was patched before (https://github.com/google/googleapis.dart/blob/d115d930eb6768bf213d157e4132c950f30ed26c/overrides/i303.diff). The change made 15 days seems to have broken that (https://github.com/google/googleapis.dart/commit/1fc8bb479d28fed1ad0ae3ea46af7594bced3d86#diff-ca3f7c28ab7c8e8fb2729ea13ddebcc369850061660de53c8523d7c333a403c7)

@alextekartik – possible user error (on my part). Will experiment more!

I'm going nuts trying to get any queries working here, @alextekartik
My idea: I'll do a cleanup PR to undo my mistake. I'll tag you and you can verify I've fixed it w/ your use case...then I can publish.
Fair @alextekartik ?

Sure @kevmoo I can verify.
If you have a way to add some adhoc testing in the whole code generation, the following stupid unit test work on 8.1.0 but does not even compile n 9.0.0:
import 'package:googleapis/firestore/v1.dart';
import 'package:test/test.dart';

void main() {
  test('RunQueryResponse patch', () async {
    // The patched response is a list, not a single object as defined in the original definition
    expect(RunQueryResponse.fromJson([]), isEmpty);
  });
}

Check out #419 @alextekartik

I have tried my various tests with the following dependency overrides:
  googleapis:
    git:
      url: https://github.com/google/googleapis.dart
      path: generated/googleapis
      ref: i303

Everything looks ok for me! Thanks.

Thanks for your fast fix. v9.1.0 published makes my CI happy again: https://github.com/tekartik/firebase_firestore.dart/actions/runs/2464591115

👍👍👍
On Wed, Jun 8, 2022, 15:55 Alexandre Roux @.***> wrote:

Thanks for your fast fix. v9.1.0 published makes my CI happy again:
https://github.com/tekartik/firebase_firestore.dart/actions/runs/2464591115
—
Reply to this email directly, view it on GitHub
https://github.com/google/googleapis.dart/issues/303#issuecomment-1150492725,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAEFCSFNUMGAHXRFA7READVOEQENANCNFSM5FA6MTNQ
.
You are receiving this because you modified the open/close state.Message
ID: @.***>


Set strictNullChecks = true in lodestar-validator

Parallelizable effort to tackle https://github.com/ChainSafe/lodestar/issues/885. Sets strictNullChecks = true in a single package so eventually it can be set in the root tsconfig.
Specific issues discussion

Throw Error if failed to createAttestation: Is this the desired behaviour?
tsc friendly way of accessing Map values: tsc does not like using .has(), better to access directly with .get() and then check for undefined
Set non initialized variables in ClassX as optional: Is this the best easy solution to this problem for now? Eventually the setup sequence could be improved to prevent those.

I don't understand how but seems that CI Tests / Quick tests (pull_request)  is running the tests off a different commit. The code that causes the error does not exist on this branch's latest commit. Any ideas what may be happening?

I don't understand how but seems that CI Tests / Quick tests (pull_request)  is running the tests off a different commit. The code that causes the error does not exist on this branch's latest commit. Any ideas what may be happening?

PR CI merges master first and runs on that commit (aka what will happen once you merge it). Try to merge master and see what happens?


[BUG]  The profile image is not deleted after tapping on the delete button on the My Profile screen

Description: The profile image is not deleted after tapping on the delete button on the My Profile screen. The user is logged in.
Steps to reproduce:

Launch the App
Go to the My Profile screen
Press on the image of the profile
4.Tap on the Delete button.
Pay attention that the image is not deleted

Expected result:
The profile image is deleted after pressing the Delete button on the My Profile screen
Actual result:
The profile image is not deleted after tapping on the delete button on the My Profile screen
Environment: Android App Version 1.21.0 (1074)
Devices list: Xiaomi Mi 8 // Android 8.1.0
Additional info:
The user is signed up with the Self Custody method.
The recover words: bottom duty enroll crew fabric window warrior cabbage goat potato fine neither
Note: Also the parts of the buttons are overlapped by the top corners of the image container.
Attachment:
https://www.dropbox.com/s/biuze4sszbhujjw/The user is not able to delete the profile image after clicking on the delete button on the My Profile screen.mp4?dl=0

@sirpy The issue is not reproduced. The profile image is deleted after pressing the Delete button on the My Profile screen
Checked on the Android App 1.22.13-1 (1204)
Device: Xiaomi Mi 8 // Android 8.1.0
Attachment:
https://www.dropbox.com/s/5gqrunla5m0d949/The user is able to delete  the photo.mp4?dl=0


[SPARK-9492] [ML] [R] LogisticRegression in R should provide model statistics

Like ml LinearRegression, LogisticRegression should provide a training summary including feature names and their coefficients.

Merged build triggered.

Merged build started.

This PR depends on #9302 , after it merged I will add this test case which has passed on my local test environment.
test_that("summary coefficients match with native glm of Logistic Regression", {
  df <- createDataFrame(sqlContext, iris)
  training <- filter(df, df$Species != "setosa")
  stats <- summary(glm(Species ~ Sepal_Length + Sepal_Width, data = training, family = "binomial"))
  coefs <- as.vector(stats$coefficients)

  rTraining <- iris[iris$Species %in% c("versicolor","virginica"),]
  rCoefs <- as.vector(coef(glm(Species ~ Sepal.Length + Sepal.Width, data = rTraining,
    family = binomial(link = "logit"))))

  expect_true(all(abs(rCoefs - coefs) < 1e-4))
  expect_true(all(
    as.character(stats$features) ==
    c("(Intercept)", "Sepal_Length", "Sepal_Width")))
})

Test build #44438 has started for PR 9303 at commit 9261dcb.

Test build #44438 has finished for PR 9303 at commit 9261dcb.

This patch fails MiMa tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/44438/
Test FAILed.

Merged build triggered.

Merged build started.

Test build #44511 has started for PR 9303 at commit 56bd22d.

Test build #44511 has finished for PR 9303 at commit 56bd22d.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/44511/
Test PASSed.

@yanboliang Could you rebase master?

Merged build triggered.

Merged build started.

Test build #44995 has started for PR 9303 at commit af3e7c7.

Test build #44995 has finished for PR 9303 at commit af3e7c7.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/44995/
Test FAILed.

Jenkins, test this please.

Merged build triggered.

Merged build started.

Test build #45005 has started for PR 9303 at commit af3e7c7.

Test build #45005 has finished for PR 9303 at commit af3e7c7.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):\n  * case class ExecutorLostFailure(\n

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/45005/
Test PASSed.

LGTM. Merged into master. Thanks!


Support publishing packages

hamler build outputs only .ebin files.
Intermediary .erl files are necessary to publish it as a package to hex.pm.

The hamler libraries should push .hm files to hex so other hamler projects can get the benefit of using typed data structure.
I know for the fact that Gleam is pushing .gleam files to hexpm. e.g: https://hex.pm/packages/gleam_crypto


pip install fails due to missing headers if Homebrew is in a nonstandard location

I have Homebrew is installed in a nonstandard location (~/homebrew). I've installed pkg-config and poppler, but when I run pipenv install pdftotext, the install fails with an error stating: "pdftotext.cpp:3:10: fatal error: 'poppler/cpp/poppler-document.h' file not found".
I see that setup.py is not looking in the path where the headers for poppler are installed on my machine. Pkg-config is able to find them, however:
pkg-config poppler-cpp  --cflags-only-I
-I/Users/brianshacklett/Applications/homebrew/Cellar/poppler/0.79.0/include/poppler/cpp -I/Users/brianshacklett/Applications/homebrew/Cellar/poppler/0.79.0/include/poppler

Perhaps something like the following might be added to help locate the include paths?
import subprocess

def find_poppler_headers():
    try:
        with subprocess.Popen(
                                 [
                                     "pkg-config",
                                     "--cflags-only-I",
                                     "poppler-cpp",
                                 ],
                                 stdout=subprocess.PIPE,
                                 stderr=subprocess.PIPE,
                             ) as proc:
            outs, errs = proc.communicate(timeout=1)

            print('')
            print('Outs: {}'.format(outs))
            print('')

        if errs:
            raise Exception(errs)

        poppler_include_paths = outs.decode('utf-8') \
                                    .replace('\n','') \
                                    .replace('-I/','/')\
                                    .split(' ')

        print((poppler_include_paths))

    except subprocess.CalledProcessError:
        return False
    except OSError:
        print("WARNING: pkg-config not found--guessing at poppler include path.")
        print("         If the build fails, install pkg-config and try again.")
    return True

include_dirs = find_poppler_headers()

Huh, I didn't know that homebrew supported installing to a custom location! Can you check if version 2.1.1 shows the same issue? pip install pdftotext==2.1.1
I'll take a look, but this will be difficult to test. I'm not about to blow up my own homebrew install now that I see this:

However do yourself a favour and install to /usr/local. Some things may not build when installed elsewhere. One of the reasons Homebrew just works relative to the competition is because we recommend installing to /usr/local. Pick another prefix at your peril!

:fearful:

I think this is covered by #86


add travis, codecov, license info

@ZhijunZhao, @xscript,  @aovechki

@yungez,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@f2e4d31). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #52   +/-   ##
=========================================
  Coverage          ?   21.41%
=========================================
  Files             ?       32
  Lines             ?      565
  Branches          ?       45
=========================================
  Hits              ?      121
  Misses            ?      429
  Partials          ?       15

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 f2e4d31...b793963. Read the comment docs.


Add bootstrap-toggle to new pregnancy partial

I rule and have completed some work on Case Manager that's ready for review!
@sco-bo I took yr PR and ran with a little bit. Couldn't quite get it to work on the pregnancy edit view (might be a bootstrap_forms gem issue?) so I stubbed it for the time being. Thanks for getting this going, my dude! Want to take a look at this and confirm that it makes sense and stuff?

This pull request makes the following changes:

Finishes off adding pretty toggle switch to new pregnancy form
Adds plain old boring checkbox to pregnancy edit view

It relates to the following issue #s:

Half-fixes #365

(Safe to merge, the build is failing for a stupid reason.)

Picks up the work by @sco-bo in #373

Hey @colinxfleming Thanks for cluing me in on the fix. Super helpful to know for the next time I work with JS/Bootstrap Toggle. Thanks!

@sco-bo Like I have always said to anyone who will listen (including my mom), javascript is the devil! I feel like this encapsulates 50% of the problems I have with this kind of issue, haha.

[Current coverage][cc-pull] is 99.12%

Merging [#429][cc-pull] into [master][cc-base-branch] will not change coverage

@@             master       #429   diff @@
==========================================
  Files            23         23
  Lines           344        344
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits            341        341
  Misses            3          3
  Partials          0          0

Powered by Codecov. Last updated by [a007576...495c9f8][cc-compare]
[cc-base-branch]: https://codecov.io/gh/colinxfleming/dcaf_case_management/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/colinxfleming/dcaf_case_management/compare/a007576a9a44658ea3ca2b9cf37a27f7ff9c9c0e...495c9f81a789978654b7d459a6e1d6f33378e4a8
[cc-pull]: https://codecov.io/gh/colinxfleming/dcaf_case_management/pull/429?src=pr


An async writable channel implementation that can send the bytes to multiple Readable channels

This can be used to write uploaded bytes to multiple readers. This is inspired from POC by made @justinlin-linkedin here - https://github.com/linkedin/ambry/pull/2890!

Codecov Report
Attention: Patch coverage is 0% with 128 lines in your changes missing coverage. Please review.

Project coverage is 18.47%. Comparing base (52ba813) to head (ec5b5ae).
Report is 102 commits behind head on master.

Files with missing lines
Patch %
Lines

...ithub/ambry/commons/PipedAsyncWritableChannel.java
0.00%
128 Missing :warning:

:exclamation:  There is a different number of reports uploaded between BASE (52ba813) and HEAD (ec5b5ae). Click for more details.
HEAD has 2 uploads less than BASE

Flag
BASE (52ba813)
HEAD (ec5b5ae)

3
1

Additional details and impacted files
@@              Coverage Diff              @@
##             master    #2898       +/-   ##
=============================================
- Coverage     64.24%   18.47%   -45.78%
+ Complexity    10398     2922     -7476
=============================================
  Files           840      863       +23
  Lines         71755    73250     +1495
  Branches       8611     8809      +198
=============================================
- Hits          46099    13530    -32569
- Misses        23004    58472    +35468
+ Partials       2652     1248     -1404

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


Show bit tier reward emotes [can't do for now]

Currently blocked on not being able to get the data in any acceptable way. Would love an API...
https://twitch.uservoice.com/forums/310213-developers/suggestions/39547780-emotes-by-channelid
https://twitch.uservoice.com/forums/310213-developers/suggestions/39547789-bit-emotes-are-not-exposed-in-the-api

This is now possible and also brings support for the new follower emotes tier. https://dev.twitch.tv/docs/api/reference#get-channel-emotes


Remove Rails 5 Compatibility instructions from README

With the release of Sinatra 2.0, this section of the README is no longer required.
#44 is no longer an issue.

Works for us! LGTM

Nice, thanks @TylerRockwell


Keys with hypen are unnecesarily quoted.

---
date: "2018-08-22T22:47:02.270708656-07:00"
from: "Me<EMAIL_ADDRESS>"from-id": abcdf  <<< my dreams shattered ;)
project: somelib

I'm quite sure it's not necessary since in the spec I see e.g.:
--- !<tag:clarkevans.com,2002:invoice>
invoice: 34843
date   : 2001-01-23
bill-to: &id001   <<< no quotes

Fixed in https://github.com/chyh1990/yaml-rust/commit/f9bfe0959374bf4eb9bcf80a4f2aae9f41e9095c

Released in 0.4.1.


Set Invoke-ScriptAnalyzer Path default value

PR Summary
Removes Path as a mandatory parameter and sets the default to the current working directory.
Resolves #1887
PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Change is not breaking
[x] Make sure all .cs, .ps1 and .psm1 files have the correct copyright header
[ ] Make sure you've added a new test if existing tests do not effectively test the code changed and/or updated documentation
[ ] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: to the beginning of the title and remove the prefix when the PR is ready.

Nice idea but you'd need to fix existing tests

I'm not sure why the tests are failing with change as the tests would be using a provided path and not a default.

I will try look into it another time and see whether I can do something about it, definitely before next release, sorry it's taken so long

@ThomasNieto This seems like a good idea to me 🙂
@bergmeister, This fails many of the tests as the path now always has some value. If -ScriptDefinition is supplied - it's ignored
https://github.com/PowerShell/PSScriptAnalyzer/blob/ab1dd25ccf266c6798d8c63c91f7e7c451790c4e/Engine/Commands/InvokeScriptAnalyzerCommand.cs#L433
https://github.com/PowerShell/PSScriptAnalyzer/blob/ab1dd25ccf266c6798d8c63c91f7e7c451790c4e/Engine/Commands/InvokeScriptAnalyzerCommand.cs#L526
You should probably make a change to the IsFileParameterSet() function to instead check that ScriptDefinition doesn't have some value. Or maybe better still return this.ParameterSetName.StartsWith("Path").
Hope that helps 😀!


Issue - 5953

Added ability to skip students without any students without results and refactored code.
Motivation and Context
It allows TAs and Instructors to more navigate easier. Also solves issue #5953.
Your Changes
Refactored next_group method so that it takes the closest group with a submission. Also made it so some of that logic was in the grouping model.
Type of change (select all that apply):

[x] New feature (non-breaking change which adds functionality)
[x] Refactoring (internal change to codebase, without changing functionality)
[x] Test update (change that modifies or updates tests only)

Testing
Tested manually then ran rspec suite.
Checklist

[x] I have performed a self-review of my own code.
[x] I have verified that the pre-commit.ci checks have passed.
[x] I have verified that the CI tests have passed.
[x] I have reviewed the test coverage changes reported on Coveralls.
[x] I have added tests for my changes.

Unsure why that test is failing. Does not seem to be related

Failed test seems to be unrelated (flaky?)


Data type float16 not supported/tested yet, the generated model may contain error

When I use ftlite2onnx lib I get :  "Data type float16 not supported/tested yet, the generated model may contain error"
Does the exported onnx has some error? Or the tflite2onnx process emplace ft16 with other type?

i got the same error
"WARNING:tflite2onnx:Data type float16 not supported/tested yet, the generated model may contain error"


pyLoad package dependencies are not

Hi,
I installed pyLoad(0.4.9). When it starts it check the system. I get below output. Can you please update the dependencies.
Note: To start "system check" you need to start pyLoadCode app.
Thank you
System Check
Python Version: OK
pycurl: OK
sqlite3: OK
pycrypto: OK
py-OpenSSL: missing
py-imaging: missing
tesseract: missing
PyQt4: missing
Your installed jinja2 version 2.9.6 seems too old.
jinja2: missing
beaker: OK
JS engine: missing

ping @2chilled

@2chilled please help :(

I'm looking at the package right know. It looks those dependencies are optional: is the program not starting at all? There should at most some feature disabled.

I tried packaging the latest version only to realize the software i completely broken.
Too bad, the code is here https://github.com/rnhmjoj/nixpkgs/commits/pyload anyway.
Hopefully it will be userful in the future.

Seems pyload as packaged here is no longer maintained and is Python 2.x only. The developers have since published pyload-ng , which would likely be what to package if someone is interested in this functionality today. If so I'd recommend opening a new packaging request issue.


Heron Helm chart should support Pod Security Policy

The Helm chart does not work in a Kubernetes cluster with PSP enabled.
Here is some relevant information:
https://kubernetes.io/docs/concepts/policy/pod-security-policy/
https://banzaicloud.com/blog/pod-security-policy/

Closing this issue as the PodSecurityPolicy is now deprecated in Kubernetes


[fix](tablet scheduler) fix decommission sched exception

BUG:  when there exists running txns,   decommission replica will throw a sched failed exception and enter waiting for decommission status. But pr #30117 changes this behaviour,  it  cause throw a sched unrecovrable exception, then decommission replica will fail immediately.
Proposed changes
Issue Number: close #xxx

run buildall

run buildall

run buildall

run buildall

本地编译是可以的， 流水线上编译似乎又抽风了


French (fr) translation

Added French translation

Doesn't seem like anyone's reviewed this yet, but I'll just merge it in, if anyone has any suggestions / improvements they can just submit another PR.

Capital letters don't work great in french with every word like in english.
ex.: "Admin Panel" should translate to "Interface administrateur" instead of "Interface Administrateur"
Note: Acronyms, etc. should be left out of this principle.
I can submit a PR or I can let you correct it, if someone agrees to it of course but that's the way it should be done.


chore(scripts/bench): use env, not --lean

Variant of #18338 using leanprover/lean4#5684.

!bench

!bench

!bench

!bench


Cluster callouts

I use preserveClusterPressBehavior=false and after onClusterPress would like to show callout above cluster.
But It's seems that task is not trivial with this lib. Any suggestions?

Did you try with react-native-maps built-in Callouts?

I don't completely understand how to use built-in Callouts with these clusters.

I apologize, I might have not understood correctly. You are trying to open a callout meant to show the detail of the cluster itself?

Hmmm... Maybe override renderMarker of ClusteredMapView and that is all

Got what you mean. Nope, renderMarker wouldn't be enough, but we can try to solve in someway. Our only concern is react-native-maps callaout behavior. Currently is quite buggy (especially on iOS).
Set as enhancement, will work on it in next few days.

@39otrebla, yes. In callout need to be the slider with the content of the cluster. The content of the cluster can be obtained something like this
const engine = this.mapView.getClusteringEngine()
const children = engine.getChildren(clusterId)
const leaves = engine.getLeaves(clusterId, 'Infinity')

And then I need to display it in the cluster callout

@39otrebla, how are you doing with that? I think, that cluster should be as a common marker with its functionality.

We have already found a solution for that and it will be tested right after Christmas.  Releasing and publishing on and npm will most likely happen the 27th or the 28th.


chore(deps) bump zipkin to 1.2.0

Summary
SUMMARY_GOES_HERE
Full changelog

[Implement ...]
[Add related tests]
...

Issues resolved
Fix #XXX

Travis is being silly again, we can ignore.


1099 pfp

@calbertan , thanks for the PR! Can you please include a description, screen shots if there are any UI changes and also include a descriptive title in addition to the ticket number? Thanks!

Great work, the code looks good so I am approving this.

@calbertan can you also add a more descriptive title to this PR? And also add a description


feat: add FAQs about the community

This section should be added to the community website.

I can do this if you could provide me the information of the FAQs and exactly at which position should it be added in the website

Great! I am currently asking the team what to provide here.

Closing this as we are preparing for the new design.