Display more metadata for binary files

In the current version if you select some binary file VSC only shows a generic message.
You could show more info about the binary file, for example, update date, size, extension, mime type, this plain things that helps a lot.

@ograndebe did you check the status bar (bottom right)? It should show the size at least.

@bpasero I didt't notice that.
It helps a little bit, but i'm dealing with some docker projects and sometimes i want to check if some binary files were updated.
Sometimes would be helpful to copy the absolute/relative path only with one click.
Even if you are dealing with some assets (using any language).
I'm not complaining, just trying to help.


ngx-audio-player styles

The player is working but there is no styles. The documentation is horrible.
https://monosnap.com/file/LvHvhphA0Sck570ZzCGPzsIVg81LAv

Hi @dm-grinko,
Please feel free to refer an example from the Stackblitz URL below,
https://stackblitz.com/edit/ngx-audio-player-v9-advanced
Could you please let me know your thoughts on what contents could be included in the documentation and how could it be structured to perfect so it's easy to refer.
Thanks,
VJ

I had purple-green instead of deeppurple-amber for the material style.  None of the control buttons / mat-icons showed until I switched to deeppurple.  The icons were white on a white background.. FYI

Fixed in https://www.npmjs.com/package/ngx-audio-player/v/10.1.0


Timezones

First off. I like the progress of this library. It's very elegant. So to my issue....I think this is more a feature request then an issue. I was thinking would be very nice to be able to set / get Timezones. What do you think?

@Prince2k3 Thanks! Now, this library uses NSCalendar's timezone, which the user specified at Settings. When do you want to set/get timezone?

So I have a scenario where I would need to check the date at a certain timezone because a server only acts within it. Like for instance checking to see if a transaction is valid before a certain time in CST.

Oh, I see. For example, is it favorable for you to set/get timezone like below?
let cst = NSTimeZone(abbreviation: "CST")
let lastWeekInCST = 1.week.ago.in(timezone: cst)

lastWeekInCST.timezone
//=> cst

Yes ...that would be very nice setup!

OK! I will try to implement above feature!

Sweet! Thanks!

@Prince2k3, I have implemented features to set/get the time zone. Please check the playground at https://github.com/naoty/Timepiece/commit/24a117399b7c636ff6db9dace45952b89b4b02f2! If there is no problem, I will merge this and release as the next version.

I noticed that the calculation and comparison of dates with different time zones are not implemented. After they are implemented, I will release this feature.

Hey tested the the timezone feature and it works. Yeah if there is any way to sort the length of this code
extension NSDate {
    func canCancel() -> Bool {
        var currentDate = NSDate().change(timeZone: NSTimeZone(abbreviation: "CST")!)

        if currentDate.day == day && (currentDate.hour < 13 || (currentDate.hour > 13 && hour > 13)) {
            return true
        } else if (currentDate.timeIntervalSinceDate(self) < 86400) && (hour >= 13) && currentDate.hour < 13 {
            return true
        }
        return false
    }
}

What did you have in mind for calculation and comparison? So far I seem to do that just fine if I make sure that the timezones are the same.

For example, I think now == now.change(timeZone: cst) should be true. But, actually the result is false in current implementation. When we calculate or compare dates with different time zones, we should change the time zone of either date into one of another date.

I added tests for above cases, which are all passed without any additional implementations. It looks fine. Can I merge this branch?

Yes! ... I think it looks good as well!

@Prince2k3 Thanks!


docs: Add blog post from Beat

Add blog post from Beat which uses Thanos to monitor kubernetes
clusters and AWS resources.

[ ] I added CHANGELOG entry for this change.
[x] Change is not relevant to the end user.

Changes
Add blog post from Beat

Looks good however the DCO is missing! Care to add it? (:

oops added it :)


[SUPPORT] - Data loss after 3 days following upgrade from Hudi 0.11.1 to 0.14.0

Tips before filing an issue
Describe the problem you faced
A clear and concise description of the problem.
We have a COW table which is updated via an UPSERT operation through a Glue Job; the operations were initially performed on Hudi 0.11.1. Moreover the table is partitioned by year, month and day.
Some days after upgrading to Hudi 0.14.0, we noticed that we were having less rows for partitions starting from the update date. Moreover, we noticed that records for a given partition day were dropped with a delay of 3 days. This behaviour was observed when counting the records by partition using Glue or Athena.
On another hand, we also have a Redshift Spectrum subscription built from this table, and when doing the row count check, we could see the "correct" number of rows. However, we could see duplicated data.
Furthermore, we upgraded 4 tables from Hudi 0.11.1 to Hudi 0.14.0 and only with this table we observed such behaviour.
To Reproduce
Steps to reproduce the behavior:

Table in Hudi 0.11.1
Upgrade to Hudi 0.14.0
Wait 3 days to observe the data loss.

These are the write configurations set by us.

Expected behavior
Could you please shed some light on why this could have happened?
We should see the correct number of rows in Athena / Glue.
Environment Description

Hudi version : 0.14.0

Spark version : 3.3.0 (Glue 4)

Hive version :

Hadoop version :

Storage (HDFS/S3/GCS..) : S3

Running on Docker? (yes/no) : No

Additional context
Add any other context about the problem here.
Stacktrace
Add the stacktrace of the error.

Hi!
Could you please format your write configurations as a copyable JSON? This will help make it easier to replicate. From what I can see, nothing stands out as an issue so far.
Also, are you using the hudi-aws-bundle for your Glue Job? There was a breaking change introduced in version 0.13.0, which might affect your setup, though I’m not sure if it applies in your case.
Check the breaking changes and behaviour changes of 0.13.0 versions and 0.14.0 versions:
0.14.0 Changes
0.13.0 Changes
Also check known regressions, on 0.14.0 and 0.14.1 there is some regressions related to Duplicates for ComplexKeyGenerator. Based on that try to use 0.13.0 version instead until is solved.
If you’ve tried everything else, I recommend the following steps:
Compare the checkpoints before and after the Hudi upgrade to see if there is any behaviour that helps.
Could you use the hudi-cli to check the commit history? This can help track down any issues with the data or commits.

@ad1happy2go Do you have chance to help to reproduce here?

Hi @RuyRoaV
I have few questions before we identify and provide any kind solution:

You mentioned the row count matches the number of records from Redshift Spectrum. Could you please elaborate on how you tested and verified this count?
How did you verify the record count by partition using Glue or Athena? Providing more details would help us understand the issue and find a solution. You can do one more thing by launching spark and verify the count.
You mentioned this issue is affecting a single table. Is there a difference in how this table was created compared to others?

Hi @RuyRoaV
Is there any update on this issue? If not, we will proceed to close it.

Hi,
Sorry for the delay, i got stuck in some other tasks. However, I am yet to figure out why this behaviour was observed. What we did was to rollback to Hudi 0.11.1 and then try again once we have more clarity on what happened.

Concerning Redshift Spectrum

The schema in a Redshift cluster that we have was created in a similar fashion as this:
create external schema if not exists redshift_jdbc from DATA CATALOG database 'lakeformation_dbl' iam_role 'arn:aws:iam::<account-id>:role/<role-name>' region '<region>';
The Redshift cluster is located in a different AWS account as the Glue jobs used to update the tables. Therefore, we used Lake Formation to share the resources from one account to the other.
Since the partition keys of the table are cyear, cmonth, cday. The query to take look into the row count was:
SELECT cyear, cmonth, cday, COUNT(*) FROM db.table GROUP BY 1,2,3

Concerning Athena

The query was the same as the one ran in Redshift Spectrum
SELECT cyear, cmonth, cday, COUNT(*) FROM db.table GROUP BY cyear, cmonth, cday

This allowed us to identify that fewer records were shown after each day that had passed.
Moreover, a Glue job using Spark was run to verify the row count and we saw the same behaviour as in Athena.

There doesn't seem to be any difference in how the tables were created.
The table is updated every 10-15 minutes, upserting ~1.4M rows each time.


Part of the content of Adaptive Card is lost while sending through Direct Line channel

(Original reported at https://github.com/microsoft/BotFramework-WebChat/issues/3166)

Corresponding labels added because this is a customer reported issue. I am just copying it here.

Background
The customer is sending an Adaptive Card with an image stored using data URI. The original card is in the attachments section below.
The size of the image is well under limit. The card is 98 kB, while the limit is "256 K characters" (which can be upward of 400 kB due to encoding).
Observation
When sent, the channel behaviors:

Did not reject the content
Stripped the image out of the Adaptive Cards
Continue to send the card to client

The card is intact, except the image is lost

Per customer's observation, when sending the card through Emulator, no parts of the content is lost.
The original card

Traffic received on the Web Socket connection

Expectation
The Direct Line channel must not remove any parts of the content. If the channel consider the card is too large, it should reject it.
Stripping part of the content is both user data loss and silent error.
Attachments

card.lg.zip

There is a silent error when reading the card in the C# Adaptive Card library. This card format seems to be allowed in the visualizer https://adaptivecards.io/visualizer/index.html?hostApp=Bot Framework WebChat but in C#, there is a failure reading this file as an Adaptive card, specifically converting the png string to a Uri. This failure is swallowed and the result is an invalid Adaptive Card without the image (data loss as perceived by the customer).
The failure occurs at AdaptiveTypedElementConverter -->
ReadJson --> serializer.Populate(jObject.CreateReader(), result);
(AdaptiveCards\source\dotnet\Library\AdaptiveCards\AdaptiveTypedElementConverter.cs:line 100)
            var result = (AdaptiveTypedElement)Activator.CreateInstance(type);
            try
            {
                serializer.Populate(jObject.CreateReader(), result);
                result.InternalID = internalID;
            }
            **catch (JsonSerializationException) { }**

We have opened an issue with the Adaptive cards team to request for a fix / further guidance: https://github.com/microsoft/AdaptiveCards/issues/4738

We will, in the near future, begin processing Adaptive Cards less in the DirectLine channel. This should allow arbitrary properties to flow through DirectLine. The client will need to interpret these properties which, depending on the client, may mean an AdaptiveCard library update.
I will update this thread when that change is in production.

@compulim We have found that some cards (OAuth cards) require some transform as they go through the DirectLine channel otherwise they end up being interpreted as a string during serialization which breaks WebChat. We need to consider more scenarios here before we make any changes because of unintended side effects. Perhaps we should chat offline and report back.

@compulim We have a workaround for this issue so I am resolving this for now. We can revisit the benefits of schema validation or passthrough in the future as we gain additional information.


feat: test connection sample

https://github.com/merico-dev/lake/issues/667
Questions
So the first question here is: "Do we make it mandatory to include a /test route?"

Yes since every plugin needs it
No, just allow it to be added or not. Since the front end can still call this route and if a 404 comes back, the UI just disables the test connection button and gives a message to the user that says "Not implemented, please contact the plugin maintainer"

Can we enforce the plugin maintainer to make this route?
No. Since they can just write a route that always returns true to bypass this rule.
Design
So I have decided that the only thing we need to do for this ticket is to simply add
func (plugin Github) ApiResources() map[string]map[string]core.ApiResourceHandler {
	return map[string]map[string]core.ApiResourceHandler{
		"test": {
			"GET": api.TestConnection,
		},

To all current plugins. @klesh says that the architecture may change anyway and this will solve the current problem.

I personally think it's ok to implement this via plugin api.
Because either way we have to have plugin api anyway for many other requirements, might as well put this optional feature into plugin api scope. Not all plugin need testconnection, not even for data source, like push api we were talking about lately, this kind of data sources, they dont connect to anywhere, instead receiving posted data from somewhere.
Another ongoing proposal is to let plugin implement specific interface if they supported a certain feature, and managed by framework, and framework would expose a common api endpoint for feature like testConnection, yes, this is doable, i just don't see the neccessity of it. The point of this proposal is being developer can implement plugin by this approach more easily because they just need to implement the the interface, and all plugins share the same api endpoint for same functionality. If we go down this way, we have bunch of interfaces to be defined, and most importantly, if we didn't conver every single possible scenario, we end up with a set of incomplete interfaces, even worst, it's hard to redefine those interfaces because many plugins already depended on some of those interfaces...And it will eventually become a complex code base like some good old JAVA projects. I quited c# because it was hard, not because of c# itself, but the complexity of OOP, it's hard to do it right, especially when there were just too many objects to be modeled, it's hard to find developer can get hold of the whole picture, not to mention it's impossible to have most developers share the same opinion on how should objects be modeled, and people end with arguing this should be modeled into 2 or 3 objects/interfaces.  It's dangerous for a system to become complex, think about windows , I pity the windows system developers, they have look back on each step, in order to make sure previous program would work properly, they have to becareful, each of every published API can not be updated, and they should stay the same behave forever.
However, this is a subject under discussion.
@liangjingyang @hezyin

The honest truth of this is that we don't have third party developers at this point. I do think that we need to think about that use case but it should not be our only concern.
If you want an interface defined, we can't enforce that interface since not all plugins need to provide testConnection.
If you have a concrete example of how to do this, please make a PR to show me what you mean. I have tried it both ways and I think this is the best way.

@klesh @joncodo In the long run, I'd vote for the interface approach, but this shouldn't block @joncodo from implementing this via plugin API. Either way, the majority of the work is shared.
And here's why I'd vote for the interface approach:
For developers who would want to add a data source for Dev Lake, they'll need to know how to write a plugin, specifically, what "interface" they need to implement? This "interface" is the contract between the framework and the plugins. In the simplest form, this "interface" only consists of one method called Execute. But as our functionalities grow, we may ask more from plugins and these new asks need to be included in the contract as well. This TestConnection is an example.
If we can agree on why we need this "interface" / contract, then let's talk about another issue. What if this contract only applies to a subset of plugins? For example, TestConnection should only apply to pull-based data source plugins and should never apply to subsequent plugins or push-based data source plugins.
type Plugin interface {
}

type ConnectionTester interface{
    Connect(ctx context.Context, arg *Arg) (bool, error)
}

type PullBasedDataSourcePlugin interface{
    Plugin
    ConnectionTester
}

I really like the idea of classifying plugins. This means we can teat domain layer plugin different from tool layer. We can also detect if they pull data or not.

@joncodo pls review! Thx

UPDATE: after discussion with @joncodo @e2corporation , we decided to re-design this a little bit. I need to change the functionality from using stored params to query params.
Next steps:

[ ] Extract query params from GET request
[ ] Validate query params
[ ] Use query params to make request

UPDATE: after discussion with @joncodo @e2corporation , we decided to re-design this a little bit. I need to change the functionality from using stored params to query params.
Next steps:

[x]  Extract query params from GET request
[x]  Validate query params
[x]  Use query params to make request
[x]  Send query params from frontend for each plugin
[ ]  Disable "Save connection" button until connection configuration has passed the test. (or some variation on this UX)

I'll leave the last one for another ticket. We should merge this.


Re-enable lucky

Hi,
Lucky could not compile due to non existant manifest.
The manifest file list static assets.
Regards,
PS : I added an empty one

oops, seems this PR was early merged ;-)
I have not seen that dependencies are a little bit outdated


Code highlighting same color scheme as in hello.dev

Reference: https://www.hello.dev/docs/oidc/request/#pkce-code

Closed with 5ac4ec4b9931c81c46ee36193359b12ce639591c


Datalab: Fix gcs hadoop fs dependency for dataproc 1.4.X

Fixes dependency issue. Since dataproc 1.4.X the google cloud storage hadoop filesystem jar file is missing in datalab's classpath.
If you try to access gcs in Datalab via spark (e.g. spark.read.csv('gs://<bucket>/testfile.csv').show()) it fails:
java.lang.RuntimeException: java.lang.ClassNotFoundException: Class com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystem not found

The fix is backwards compatible to previous dataproc versions.

This commit is creating below error when creating cluster.
+ touch /etc/hadoop /etc/hive /etc/spark /usr/lib/hadoop/lib/gcs-connector-1.6.10-hadoop2.jar /usr/lib/hadoop/lib/gcs-connector.jar /usr/lib/hadoop/lib/bigquery-connector-0.10.11-hadoop2.jar /usr/lib/hadoop/lib/bigquery-connector.jar '/usr/local/share/google/dataproc/lib/gcs*'
touch: cannot touch '/usr/local/share/google/dataproc/lib/gcs*': No such file or directory


Move AdaptDispatch::_FillRect into TextBuffer

This commit makes 2 changes:

Expose dirty-range information from ROW::CopyTextFrom
This will allow us to call TriggerRedraw, which is an aspect
I haven't previously considered as something this API needs.
Add a FillRect API to TextBuffer and refactor AdeptDispatch
to use that API. Even if we determine that the new text APIs are
unfit (for instance too difficult to use), this will make it simpler
to write efficient implementations right inside TextBuffer.

Validation Steps Performed

chcp 65001
Launch pwsh
"`e[29483`$x" fills the viewport with cats ✅
ResizeTraditional still doesn't work any worse than it used to ✅

@msftbot make sure @j4james signs off :smile:

I see your rename, but I am a bit worried that the title buries the lede a bit ;)

Do you feel like the TextBuffer change is more significant? Would you like me to extract it out?

I'd suggest something like, "Lift AdaptDispatch::_FillRect into TextBuffer, refactor". Note Adapt (not Adept!)

"`e[29483`$x" fills the viewport with cats ✅

Technically true, but disappointing. 😿

Technically true, but disappointing. 😿

Yeah. 😢 But we got the tech now to do it at least. 😅 I didn't feel comfortable making the change to the MAX_PARAMETER_VALUE just yet, because I wouldn't consider myself knowledgeable in that area just yet. One option I've considered is that we only do a std::min() bounds check when we return the value stored in a VTParameter so that we can choose to extract the unclamped value in specific cases like this one. But I discarded the idea for the same reason. I'd be happy to pick it up if we want to pursue it again.


REVM triggers Uniswap reentrancy guard

When trying to make Swap on uniswap using the method swapExactETHForTokensSupportingFeeOnTransferTokens it returns a REVERT UNISWAP V2: LOCKED
There's no loops in my code
Before the revert it stops at PC 19213, the revert being 19215
Some people reported the same error on Hardhat in 2020
Ok(ResultAndState { result: Revert { gas_used: 85902, output: b"\x08\xc3y\xa0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x11UniswapV2: LOCKED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" }

Not revm related as reentrency is purely a bytecode logic


When tsconfig.json not in the same directory, causes error

When the tsconfig.json is not in the same directory as the unit being compiled errors are being created

This has been fixed by the generation of default tsconfig.json and package.json files.  The tsconfig.json relies on a parent, so no configurations are set at this level


Call parallelize from superclass for T5

What does this PR do?
This is done for all other models. Should be done here for completeness.

Fixes # (issue)
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


⚠ Bofrost.de has degraded performance

In f0dffb3, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1257 ms

Resolved: Bofrost.de performance has improved in 415bd77.


config-default configmap will be overwritten after some time with default values

Hello all,
I have installed Tekton Pipelines Operator 1.6.4 on my OpenShift cluster. I have now tried to adjust the config-defaults in the openshift-pipelines namespace according to the documentation (see here).
This is my snippet:
apiVersion: v1
kind: ConfigMap
metadata:
  name: config-defaults
  namespace: openshift-pipelines
data:
  default-pod-template: |
    nodeSelector:
      node-role.kubernetes.io/infra: ''
    tolerations:
    - effect: NoSchedule
      key: node-role.kubernetes.io/infra
  default-service-account: pipeline

However, I have the problem that after a certain time (at the latest after one day), this ConfigMap is overwritten again. And this with the default values. How can I prevent that my customizations are overwritten again? Do I have to set a flag somewhere, or is something missing in my ConfigMap?
Thanks in advance!

Hey @Aldiuser,
Yes this is "expected" behavior. The config-defaults configmap is managed by the operator, so any change done directly to it will be overwritten. Usually, all the field from it are exposed in the operator's TektonConfig object (see here.
I am going to move this issue to tektoncd/operator as well, as it's related to it.


Use explicit SIMD instructions for parallel evaluation of polynomials

In some ways this is an explicit attempt to solve https://github.com/JuliaMath/Bessels.jl/issues/44 and a more rigorous follow up to https://github.com/JuliaMath/Bessels.jl/pull/45.
We are entirely relying on LLVM emitting vector instructions in the whole library. By my testing this seems to work ok if you have just two polynomials (of low degree) and then you have a single output (functions that return two arguments seem to lose auto-vectorization).
There's probably three types of classes of SIMD polynomial evaluations I can think of. (1) SIMD a single polynomial using either an Estrin or higher order Horner scheme (2) evaluating many polynomials with different coefficients with similar x and (3) evaluating the same polynomial (same coefficients) over many values of x.
Loop type models (LoopVectorization.jl and friends) do well for the third type of problem. The challenge with special functions is for different values of x you have different routines so those type of optimizations are usually challenging without having a dedicated slower SIMD routine compared to the scalar routines we are usually focused on.
That leaves classes of polynomials for special functions following the first two types. The challenge with the first type is that higher order schemes and Estrin schemes do not give the same floating point numbers due to non-associativity of the floating arithmetic. Generally a straight Horner is more accurate followed by second degree horner. However, this isn't always the case as a second degree horner could actually be more accurate than regular Horner if the coefficients are alternating. This should be tested before use of course but it does have the opportunity to gain performance over regular horner for a high degree polynomial.
The second class is what this PR focuses on. Essentially, we want to be able to evaluate consecutive evalpoly(x, Pn) for the same value x with different coefficients Pn. In this case we can vectorize separate polynomial evaluations using a straight Horner scheme where we retain the same level of accuracy. Therefore, I don't think there is any compromise in this approach as they numerical values should be equivalent.
Here are some examples of using the module and the performance improvments.

using Main.HornerSIMD
using Main.HornerSIMD: LVec

evalpoly_packed(1.2, (LVec{2, Float64}((1.1, 1.2)), LVec{2, Float64}((1.1, 1.2))))
evalpoly_packed(1.2, (LVec{4, Float64}((1.1, 1.2, 1.3, 1.5)), LVec{4, Float64}((1.1, 1.2, 1.1, 1.0))))
evalpoly_packed(1.2, (LVec{8, Float64}((1.1, 1.2, 1.3, 1.5, 1.1, 1.2, 1.3, 1.5)), LVec{8, Float64}((1.1, 1.2, 1.1, 1.0, 1.1, 1.2, 1.1, 1.0))))
evalpoly_packed(VecElement{Float64}(1.2), (LVec{2, Float64}((1.1, 1.2)), LVec{2, Float64}((1.1, 1.2))))

using BenchmarkTools

@inline pack_poly(p1::NTuple{N, T}, p2::NTuple{N, T}, p3::NTuple{N, T}, p4::NTuple{N, T}) where {N, T <: Float64} = ntuple(i -> LVec{4, T}((p1[i], p2[i], p3[i], p4[i])), Val(N))

const NT = 24
const P = (
    ntuple(n -> rand()*(-1)^n / n, NT),
    ntuple(n -> rand()*(-1)^n / n, NT),
    ntuple(n -> rand()*(-1)^n / n, NT),
    ntuple(n -> rand()*(-1)^n / n, NT)
)
const packed_P = pack_poly(P...)

function test(x)
    x2 = x * x
    x3 = x2 * x

    p1 = evalpoly(x3, P[1])
    p2 = evalpoly(x3, P[2])
    p3 = evalpoly(x3, P[3])
    p4 = evalpoly(x3, P[4])

    return muladd(x, -p2, p1), muladd(x2, p4, -p3)
end

@inline function test_simd(x)
    x2 = x * x
    x3 = x2 * x
    p = @inline evalpoly_packed(x3, packed_P)
    return muladd(x, -p[2].value, p[1].value), muladd(x2, p[4].value, -p[3].value)
end

@inline function test_simd2(x)
    x2 = x * x
    x3 = x2 * x
    p = @inline evalpoly_packed(x3, pack_poly(P...))
    return muladd(x, -p[2].value, p[1].value), muladd(x2, p[4].value, -p[3].value)
end

@inline function test_simd3(x)
    x2 = x * x
    x3 = x2 * x
    p1 = (-0.5253843215045461, 0.15327467952066126, -0.009613425786620758, 0.03472388566919829, -0.006170149922090551, 0.1491658307729879, -0.006127497881439704, 0.09478579099748007, -0.02300284664682352, 0.03765228630052053, -0.004564376925045763, 0.04030818160760519, -0.07423483930698441, 0.005063286843641934, -0.028511541495917378, 0.001286639489236567, -0.04219269322797644, 0.019264463041094002, -0.024846758379011003, 0.04691071886746108, -0.03505574439901283, 0.0036530747019650656, -0.003217711714585987, 0.02980485780160719)
    p2 = (-0.5617359409644243, 0.21639708415293385, -0.1595616502195741, 0.23558871900635361, -0.01711229996212311, 0.1390325911702592, -0.02204364852309128, 0.03762714019980608, -0.02015688493891717, 0.04691788314401733, -0.05284288235650825, 0.059473399369856746, -0.05558293052003346, 0.06908463578987216, -0.028065429488872185, 0.05311837154039087, -0.046791950471468835, 0.05467063178456665, -0.0012121658411338575, 0.04572757730064302, -0.02111992140998074, 0.03368324759867918, -0.02573305661813354, 0.016586970093781076)
    p3 = (-0.5725590283079678, 0.357354857178728, -0.15852680778567496, 0.13799886873237646, -0.13287632961538073, 0.15645986033380913, -0.12663156857906163, 0.056970637917548736, -0.10365230117107738, 0.09851851159110772, -0.07131661552931909, 0.025855405556433803, -0.05470229425565906, 0.003313351497421592, -0.00832867623977364, 0.02660430403564875, -0.05800975963933192, 0.031600276140392486, -0.002263809343951925, 0.0006947072699261092, -0.0283382906800289, 0.01962982236742449, -0.03752538733132978, 0.03500585661769363)
    p4 = (-0.38523819446439866, 0.3816388038108996, -0.07602128517848546, 0.18032013137067715, -0.025836416466692037, 0.04360821045450199, -0.13093109867663433, 0.06350602366713742, -0.09448183067624193, 0.057900124609400694, -0.015088644384017498, 0.07704971041596012, -0.053614493383646246, 0.010833485944489725, -0.001042917623436971, 0.02967905577087363, -0.03263137907617557, 0.03626585702651997, -0.004715722184918155, 0.034381370693092037, -0.01802701761654408, 0.0198574776937958, -0.012362288041529458, 0.005742367480605785)

    p = @inline evalpoly_packed(x3, pack_poly(p1, p2, p3, p4))
    return muladd(x, -p[2].value, p[1].value), muladd(x2, p[4].value, -p[3].value)
end

Now the three test functions are different examples  of how this function might be used. In some case the packing of the polynomials can be done at compile time as long as the polynomial degree is known (fixed tuple length). It's also true that some of the values could depend on input parameters but this will slow the routine down if so.
julia> @benchmark test(x) setup=(x=rand()*2)
BenchmarkTools.Trial: 10000 samples with 995 evaluations.
 Range (min … max):  29.556 ns … 56.956 ns  ┊ GC (min … max): 0.00% … 0.00%
 Time  (median):     29.569 ns              ┊ GC (median):    0.00%
 Time  (mean ± σ):   29.633 ns ±  0.841 ns  ┊ GC (mean ± σ):  0.00% ± 0.00%

  ▆█▇▃                                                     ▂▂ ▁
  ████▆▁▄▇▆▁▁▄▄▆▅▄▁▁▄▄▅▃▁▃▃▄▄▁▁▄▃▃▁▁▁▁▁▁▁▁▁▁▁▁▁▃▁▁▁▃▁▁▁▃▁▃▄██ █
  29.6 ns      Histogram: log(frequency) by time        30 ns <

 Memory estimate: 0 bytes, allocs estimate: 0.

julia> @benchmark test_simd(x) setup=(x=rand()*2)
BenchmarkTools.Trial: 10000 samples with 999 evaluations.
 Range (min … max):  8.755 ns … 22.459 ns  ┊ GC (min … max): 0.00% … 0.00%
 Time  (median):     8.918 ns              ┊ GC (median):    0.00%
 Time  (mean ± σ):   8.879 ns ±  0.320 ns  ┊ GC (mean ± σ):  0.00% ± 0.00%

             ▂▂                                       ▂█▃▁
  ▂▂▂▂▂▂▂▃▄▇████▇▄▃▂▂▂▁▁▁▁▁▁▁▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▁▁▁▂▂▃▄▆████▅▄ ▃
  8.75 ns        Histogram: frequency by time        8.94 ns <

 Memory estimate: 0 bytes, allocs estimate: 0.

julia> @benchmark test_simd2(x) setup=(x=rand()*2)
BenchmarkTools.Trial: 10000 samples with 999 evaluations.
 Range (min … max):  8.772 ns … 20.234 ns  ┊ GC (min … max): 0.00% … 0.00%
 Time  (median):     8.803 ns              ┊ GC (median):    0.00%
 Time  (mean ± σ):   8.811 ns ±  0.205 ns  ┊ GC (mean ± σ):  0.00% ± 0.00%

                             ▂▃ ▄▆▆▇ ██▆█▇ ▆▅▄▄▂ ▁
  ▂▂▂▂▂▁▂▂▂▂▂▁▂▂▂▃▃▁▃▄▄▅▅▁▇▇███▁████▁█████▁█████▁██▇▆▅▁▄▄▃▃▃ ▄
  8.77 ns        Histogram: frequency by time        8.82 ns <

 Memory estimate: 0 bytes, allocs estimate: 0.

julia> @benchmark test_simd3(x) setup=(x=rand()*2)
BenchmarkTools.Trial: 10000 samples with 999 evaluations.
 Range (min … max):  8.726 ns … 27.596 ns  ┊ GC (min … max): 0.00% … 0.00%
 Time  (median):     8.805 ns              ┊ GC (median):    0.00%
 Time  (mean ± σ):   8.928 ns ±  0.978 ns  ┊ GC (mean ± σ):  0.00% ± 0.00%

  █▃                                                         ▁
  ██▁▁▃▃▁▁▁▁▃▄▁▃▃▁▃▅▅▃▃▄▃▁▃▄▅▄▁▄▃▄▄▃▄▃▃▁▁▁▄▁▄▁▄▁▁▁▁▃▃▁▃▄▃▄▅▆ █
  8.73 ns      Histogram: log(frequency) by time     15.6 ns <

 Memory estimate: 0 bytes, allocs estimate: 0.

First, all three methods are similar and are about 3.5x faster than the non SIMD version. I've tested this on Mac M1 and Intel 8700k. I don't have a computer to test a version for AVX-512 instruction that could pack eight different polynomials.
There are a couple things I still need to do with the type template and clean up. I don't want to merge this until the Airy functions are ready because this worked stemmed from there. The example test functions are actually the same structure from the Airy functions. I've been trying to reformat those implementations to take advantage of this better but I'm going to get the serial version done there first then come back to editing it for SIMD.

I feel like HornerSimd should possibly be a separate package. It seems like it is more broadly useful.

Yes I was starting to feel the same or perhaps something similar to https://github.com/EnzymeAD/Enzyme.jl/tree/main/lib/EnzymeCore where it is registered but within the package. I've really been hoping to keep everything under the same umbrella here as it's easier for me to keep track of (docs/ci/caching/load times) as I transition to a new job in a couple months.
In any case I do want to take out the second order Horner schemes we already have in some of the files and put them here. I'll probably add a fourth and eighth order scheme as well now that we can depend on these vector instructions being emitted. But ya if there is broad interest after I clean this up then we can move it out / register it separately here.

But yes... SpecialFunctions.jl is littered with examples where this should be used..
https://github.com/JuliaMath/SpecialFunctions.jl/blob/07a890ca813913e7bcc79022a0ca9c64afcd6382/src/gamma_inc.jl#L599-L607
https://github.com/JuliaMath/SpecialFunctions.jl/blob/07a890ca813913e7bcc79022a0ca9c64afcd6382/src/gamma_inc.jl#L791-L794
https://github.com/JuliaMath/SpecialFunctions.jl/blob/07a890ca813913e7bcc79022a0ca9c64afcd6382/src/sincosint.jl#L25-L58
https://github.com/JuliaMath/SpecialFunctions.jl/blob/07a890ca813913e7bcc79022a0ca9c64afcd6382/src/logabsgamma/e_lgamma_r.jl#L139-L141
https://github.com/JuliaMath/SpecialFunctions.jl/blob/07a890ca813913e7bcc79022a0ca9c64afcd6382/src/erf.jl#L409-L428
And that's just the first couple of files I looked at.
In any case this has pretty significant opportunities to speed of complex numbers as well and definitely for a Double64 routine that we could pack.....

Closing in favor of moving to a separate package at https://github.com/heltonmc/SIMDMath.jl. Once that is registered we can depend on that package instead.


Data consumers can filter by properties of the tissue ontology to find datasets

Ontologies
tissue requires either the Uber-anatomy ontology (UBERON) or the Cell Ontology (CL).

Ontology
OBO Prefix
Required version

Cell Ontology
CL
cl.owl : 2021-08-10

Uberon multi-species anatomy ontology
UBERON
uberon.owl : 2021-07-27

Key
tissue_ontology_term_id

Annotator
Curator

Value
categorical with str categories. This MUST be the UBERON or CL term that best describes the tissue that this cell was derived from, depending on the type of biological sample:

For
Use

Tissue
STRONGLY RECOMMENDED to be an UBERON term(e.g. "UBERON:0008930" for a sematosensory cortex tissue sample)

Cell Culture
MUST be a CL term appended with " (cell culture)"(e.g. "CL:0000057 (cell culture)" for the WTC-11 cell line)

Organoid
MUST be an UBERON term appended with " (organoid)"(e.g. "UBERON:0000955 (organoid)" for a brain organoid)

Enriched,Sorted,orIsolatedCells froma Tissue
MUST be an UBERON or CL term and SHOULD NOT use terms that do not capture the tissue of origin(e.g. In the case of CD3+ kidney cells, use "UBERON:0002113" for kidney instead of "CL:000084" for T cell. However, in the case of EPCAM+ cervical cells,use "CL:000066" for epithelial cell of the cervix.)

cellxgene-schema CLI  includes:

Downloading and Parsing Ontologies using owlready2
Cached metadata for pinned ontologies required for dataset validation

I would recommend extending and reusing this code base rather duplicating similar code in the portal for special cases.

The relations and hierarchy for terms such as liver can be explored on EFO OLS or ontobee.

It would be helpful to use the Tissue Coverage Visualization Prototype developed by @ainfeld to inspect how tissues in the corpus are organized based on a system hierarchy such as immune system.  The inputs for the visualization are constructed from JSON responses to the OLS REST API and are not included in the repository.

Similar to the BGEE inspired design of the development stages filter, the list of tissues in the
CCF Anatomical Structures, Cell Types and Biomarkers (ASCT+B) Tables might serve as inspiration for parent terms for filters such as "all tissues that are children of the Liver".
The UX could also filter by organoids or cell cultures based on annotation conventions in schema 2.0.0.

@jahilton shared related ENCODE modeling.


Ability to lift Zipkin tracing data into Haystack

There is a need for an adapter which can ingest Zipkin format in existing Haystack infra as migrating from Zipkin to Haystack will be a daunting task for anyone and also people may want to go back.

Hi @mitulsharma!
I saw you already forked the Pitchfork repo so this is probably not new, but you can use Pitchfork to ingest Zipkin data into Haystack.


[Snyk] Security upgrade dompurify from 2.4.5 to 2.4.9

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `npm` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

package.json

⚠ Warning
Failed to update the package-lock.json, please update manually before merging.

Vulnerabilities that will be fixed
With an upgrade:

Severity
Priority Score (*)
Issue
Breaking Change
Exploit Maturity

658/1000  Why? Proof of Concept exploit, Recently disclosed, Has a fix available, CVSS 5.3
Template Injection SNYK-JS-DOMPURIFY-6474511
No
Proof of Concept

(*) Note that the real score may have changed since the PR was raised.

Commit messages

Package name: dompurify
    The new version differs by 8 commits.

79cfb37 chore: Preparing 2.4.9 release
0940755 fix: Merged relevant changes from main for 2.4.9
416ba67 chore: Preparing 2.4.8 release
4035e3a chore: Preparing 2.4.8. release
f0e75b0 fix: cherry-picked fixes for XML & CE bypass
ef731c0 chore: Preparing 2.4.7. release
5b7dff9 chore: Preparing 2.4.6 release
a01c083 Fix: addressed a bypass on jsdom 22 when noframes tag is allowed

See the full diff

Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

Installing node deps on this PR fails, closing this so snyk can repoen. Build should pass then.


Make the package working with pytest4 (and two cosmetic nit-fixes)

The way your tests use fixtures is incompatible with pytest 4. With this tiny patch it works again.

fixed in d94999045b5bad9bcde680e663b20b27959eec42 thanks @mcepl


what's the most number of agents that a litmus server can support

Question
I'm trying to use litmus, it is a great tool with a powerful ability.  I noticed litmus server can be connected by a remote agent. So I want to confirm, how many agents can be connected by a litmus server? is there some description of this?
and if there is a limitation of the agent's number, which factors limit it
My limitus server is 2.14.0
Please make sure you have,

Reviewed the Questions asked by our community members and contributers.
Searched opened and closed GitHub issues

We primarily use GitHub as an issue tracker; for usage and support questions, please check out these resources below. Thanks!

LitmusChaos Readme
LitmusChaos Docs

During a stress test, we scaled up to 1.1K agents and 11K workflow runs with no issues 😄
Check this tweet: https://twitter.com/Uma_Mukkara/status/1408024334845710337?s=20&t=O7UsoiyU_Y0PB4lRnPB3Cg
Coming back to your question, we don't have exact benchmark numbers for your reference, but the scalability will depend on your Kubernetes cluster's configuration.


JSON serialization error panics with PostgreSQL

Bug Description
When using sqlx::Json in sqlx::query!, if serializing the value fails, it panics with
'failed to serialize to JSON for encoding on transmission to the database: Error("the enum variant Variant::Unknown cannot be serialized", line: 0, column: 0)'

The line where this happens is: https://github.com/launchbadge/sqlx/blob/d0fbe7feff4b3a200cf0453417d5e53bd011643a/sqlx-postgres/src/types/json.rs#L74-L75
Not sure how to fix this without a breaking change because Encode::encode_by_ref returns IsNull and not a Result of some kind. I would still argue that this shouldn't panic though.
Minimal Reproduction
I created a small reproducer here: https://github.com/FSMaxB/sqlx-serialization-panic-reproducer
This is the same reproducer but without the full project setup.
use serde::{Deserialize, Serialize};
use sqlx::{Connection, PgConnection};
use sqlx::types::Json;

#[tokio::main(flavor = "current_thread")]
async fn main() -> anyhow::Result<()> {
    let mut connection = sqlx::PgConnection::connect("postgresql://postgres:postgres@localhost:14538").await?;

    // this goes through successfully
    insert_variant(&mut connection, Variant::A).await?;

    // this panics
    insert_variant(&mut connection, Variant::Unknown).await?;
    // And yes, writing code like this should be considered a bug, because this
    // can obviously never work with a non-serializable variant, but I would
    // strongly argue that this should not panic (especially since this is an easy
    // mistake to make)

    Ok(())
}

async fn insert_variant(connection: &mut PgConnection, variant: Variant) -> sqlx::Result<()> {
    sqlx::query!(
        "INSERT INTO variants (variant) VALUES ($1)",
        Json(variant) as _,
    ).execute(connection).await?;

    Ok(())
}

#[derive(Clone, Copy, Deserialize, Serialize)]
enum Variant {
    A,
    B,
    C,
    #[serde(other, skip_serializing)]
    Unknown,
}

I chose #[serde(skip_serializing)] to provoke the serialization error in this example, but it could also have been any other serialization error.
Info

SQLx version: 0.7.1
SQLx features enabled:

migrate
json
macros
postgres
runtime-tokio-rustls

Database server and version: PostgreSQL 15.4
Operating system: Linux 6.4.12-200.fc38.x86_64 x86_64
rustc --version: rustc 1.72.0 (5680fa18f 2023-08-23)

Yep, we've started putting together 0.8.0 so now is the time to do it! The infallibility requirement has bitten us in a few other places as well (#3053).
I like the idea of storing the error internally until .execute() is called to avoid requiring every usage everywhere to be refactored; I'd add .try_bind() to eagerly get the error where the user wants it.


fix clippy issue

is this for nightly/beta clippy? IIRC we check clippy in CI and it doesn't break there, but we only check stable clippy. the new code is definitely better though.

it was failing in the ci of current non merged PR

Ah this was about #5660. I didn't see that the PR wasn't for the main branch.


idl type (double or sequence) fails to preprocess

Two bugs:

[ ] crash bug when filling an attribute-info span from a union-type attribute with a sequence (or something like that)
[ ] bad markup (treating entire union type as an autolink) for union-types when the above doesn't crash them

I am trying to write the following IDL:
    <pre class="idl">
      dictionary IntersectionObserverInit {
        Element?  root = null;
        DOMString rootMargin = "0px";
        (double or sequence<double>) threshold = 0;
      };

When I run this through https://api.csswg.org/bikeshed/ I get the following error:
Traceback (most recent call last):
  File "/sites/api.csswg.org/bikeshed/bikeshed.py", line 5, in <module>
    bikeshed.main()
  File "/sites/api.csswg.org/bikeshed/bikeshed/__init__.py", line 181, in main
    doc.preprocess()
  File "/sites/api.csswg.org/bikeshed/bikeshed/__init__.py", line 1477, in preprocess
    fillAttributeInfoSpans(self)
  File "/sites/api.csswg.org/bikeshed/bikeshed/__init__.py", line 564, in fillAttributeInfoSpans
    match.group(1),
AttributeError: 'NoneType' object has no attribute 'group'

Is there anything else I should be specifying in the class="anchors" or class="link-defaults" sections?

Whoops, that's a bug on my part.  At no point should Bikeshed be crashing to Python. ^_^

Another point of interest, when I change it to
(double or Element)

it says
FATAL ERROR: No 'idl-name' refs found for '(double or Element)'.

Thanks!


Cannot view the Travis CI logs

Via https://github.com/concept-to-clinic/concept-to-clinic/pull/65#issuecomment-324301086
@reiinakano wrote:

Also, I can't seem to see the Travis CI log. This would be helpful so I can see what tests failed (if there are any). Since this is a public repo anyway, why not make the CI logs public as well?

@lamby duplicate of #63

@lamby This has already been fixed. Although there is a new issue stemming from this at #69

Okay, closing this in "favour" of #69. Thanks all!


autoconfig

I was about to install Gummi on my Mac (OSX Yosemite 10.10.1) and I followed the instructions in the INSTALL file:
➜  Gummi-master  ./configure; make; make install
zsh: no such file or directory: ./configure

so I tried to run ./configure.ac  and got this error:
➜  Gummi-master  ./configure.ac
./configure.ac: line 4: syntax error near unexpected token `2.65'
./configure.ac: line 4: `AC_PREREQ(2.65)'

I have these already installed via macport:

autoconf @2.69_2 (active)
autoconf213 @2.13_1 (active)

I also tried to change the required autoconfig version to 2.69 and 2.69_2 from the ./configure.ac file but I got the same error.
Perhaps the INSTALL file and the ./configure.ac  should be updated or do you suggest any workaround?

You are right, the INSTALL file is not up to date
Execute autogen.sh first, this should create the configure script.

Execute ./autogetn.sh' to generate the configure' script.
You may need to modify the AM_VERSION' variable in autogen.sh` to match the automake version on your system.

Same problem here. After executing autogen.sh:
~/gummi$ bash autogen.sh

'[' x '!=' x ']'
aclocal-1.14
autogen.sh: line 11: aclocal-1.14: command not found
autoheader
autogen.sh: line 12: autoheader: command not found
AUTOMAKE=automake-1.14
libtoolize -c --automake
autogen.sh: line 13: libtoolize: command not found
automake-1.14 --add-missing --copy --include-deps
autogen.sh: line 14: automake-1.14: command not found
autoconf
autogen.sh: line 15: autoconf: command not found
cp -f /usr/share/automake-1.14/mkinstalldirs .
cp: cannot stat ‘/usr/share/automake-1.14/mkinstalldirs’: No such file or directory
rm -rf autom4te.cache

make sure you have autoconf and automake in your system


quiver fails when temp_dir is not created by the user

running quiver by default I get exception when waiting for layer visualization:
 No such file or directory: u'./tmp/convolution2d_2_0_20161112121943_52.16916_21.06839_1000006.jpg.png'

seeing that I created ./tmp  and after that it works (although it creates and leaves a lot of stuff in there).
I am not sure what is the best way to handle that kind of data but for now maybe simple mkdir -p temp_dir be enough?

you have to first mkdir the dir manually in this moment.


Instructions use wrong keystore

Hey all, thank you for this code lab it was very helpful. I just wanted to point out an issue I spent a little while debugging earlier that might be fixed in the documentation. Perhaps this is the wrong place to report this, so please feel free to close if so.
This page https://codelabs.developers.google.com/codelabs/fido2-for-android/#2 mentions

In order to get the SHA256 hash of your developer signing certificate, use the command below. The default password of the debug keystore is "android".
$ keytool -exportcert -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore

However this code is set up to use a keystore in android/debug.jks. This took a bit to debug and I figured it might be worth mentioning in the documentation.

@yaraki can you take a look at this?


Update Admin doc to account for Enterprise Redis and inability to reboot

Here it mentions Reboot is available for all Redis tiers. It is not for Redis Enterprise. Redis RP for enterprise doesn't have a reference to reboot:

Could we update the doc so it omits Redis enterprises as one of the available options? Could we cross reference the doc and fix for other scenarios where this might be the case as well?

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

ID: 362f248c-12a5-1378-a42d-1a4722967692
Version Independent ID: 10ea83b1-ae5b-96c6-8c28-1fa7472618a0
Content: How to configure Azure Cache for Redis
Content Source: articles/azure-cache-for-redis/cache-configure.md
Service: cache
GitHub Login: @yegu-ms
Microsoft Alias: yegu

@shraboin Thank you for bringing this to our attention, we have assigned this issue to our document author @yegu-ms to further review and update the document accordingly.

Thanks for your dedication to our documentation. Unfortunately, at this time we have been unable to review your issue in a timely manner and we sincerely apologize for the delayed response. We are closing this issue for now, but if you feel that it's still a concern, please respond and let us know. If you determine another possible update to our documentation, please don't hesitate to reach out again. #please-close

@flang-msft this should take like 2 minutes to review and change for the redis doc.

#reassign: @flang-msft

@shraboin - Thanks for responding. Let me look into this as the new writer on these articles. I'll reopen the issue.
#please-open

@shraboin, thanks for flagging this for us. Based on your input, we updated the document to show that indeed there is no reboot option currently. This is something on our roadmap, so we're planning on adding this functionality in the future. Hopefully, this addresses your issue. If so, I will close issue.

#assign: @MSFTeegarden

thank you

#please-close


PoolSize not configurable at Ecto MongoDB

Hi,
I'm using Ecto Mongodb and I want to configure a custom pool size in my plug project. I was testing a few solutions but i can't do it successfully.  Do you can help me?
This is my config.exs:
use Mix.Config

import_config "#{Mix.env()}.exs"

config :feature_flags, FeatureFlags.Repo,
       adapter: Mongo.Ecto,
       mongo_url: "mongodb://ip/db?"

This is my mix.exs:
defmodule FeatureFlags.MixProject do
  use Mix.Project

  def project do
    [
      app: :feature_flags,
      version: "0.1.0",
      elixir: "~> 1.9",
      start_permanent: Mix.env() == :prod,
      deps: deps()
    ]
  end

  def application do
    [
      extra_applications: [:logger, :plug_cowboy, :mongodb, :poolboy,:mongodb_ecto, :ecto],
      mod: {FeatureFlags.Application, []}
    ]
  end

  defp deps do
    [
      {:plug_cowboy, "~> 2.1"},
      {:poison, "~> 3.1"},
      {:mongodb, ">= 0.4.9"},
      {:mongodb_ecto, "~> 0.1"},
      {:poolboy, ">= 1.5.2"}
    ]
  end
end

This is my applications.exs:
defmodule FeatureFlags.Application do
  @moduledoc "OTP application spec for Feature Flags"

  use Application

  def start(_type, _args) do
    import Supervisor.Spec
    IO.inspect(DBConnection.Poolboy)

    children = [
      worker(FeatureFlags.Repo, []),
      # Use Plug.Cowboy to register the endpoint
      Plug.Cowboy.child_spec(
        scheme: :http,
        plug: FeatureFlags.AppRestEntryPoint,
        options: [port: Application.get_env(:feature_flags, :port)]
      )
    ]

    opts = [strategy: :one_for_one, name: FeatureFlags.Supervisor, pool_size: 40]
    Supervisor.start_link(children, opts)
  end
end

defmodule FeatureFlags.Repo do
  use Ecto.Repo, otp_app: :feature_flags
end

Thanks for your help.

opts = [strategy: :one_for_one, name: FeatureFlags.Supervisor, pool_size: 40]

pool_size is an option on the repository so it would be rather:
config :myapp, MyApp.Repo,
  username: "foo",
  ...,
  pool_size: 40

Per the issue template please don't use the tracker for questions and instead post them on elixir forum, stack overflow, etc where a wider community can help you out. We reserve the tracker for bugs only. Thanks!


0.5.0

Codecov Report

Merging #27 into master will increase coverage by 1.26%.
The diff coverage is 96.34%.

@@            Coverage Diff             @@
##           master      #27      +/-   ##
==========================================
+ Coverage   95.45%   96.71%   +1.26%
==========================================
  Files          30       31       +1
  Lines        1011     1036      +25
==========================================
+ Hits          965     1002      +37
+ Misses         46       34      -12

Impacted Files
Coverage Δ

hive/lib/src/box/box_options.dart
100% <ø> (ø)
:arrow_up:

hive/lib/src/box/box.dart
100% <ø> (ø)
:arrow_up:

hive/lib/src/binary/binary_writer.dart
100% <ø> (ø)
:arrow_up:

hive/lib/src/io/buffered_file_reader.dart
100% <100%> (ø)
:arrow_up:

hive/lib/src/registry/type_registry_impl.dart
100% <100%> (ø)
:arrow_up:

hive/lib/src/box/keystore.dart
98.87% <100%> (+0.01%)
:arrow_up:

hive/lib/src/io/frame_io_helper.dart
93.93% <100%> (ø)
:arrow_up:

hive/lib/src/registry/type_registry.dart
100% <100%> (ø)
:arrow_up:

hive/lib/src/box/box_base.dart
98.66% <100%> (+0.2%)
:arrow_up:

hive/lib/src/io/buffered_file_writer.dart
100% <100%> (ø)

... and 9 more

Continue to review full report at Codecov.

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


#CX-8452 : Placement of modals is incorrect

#CX-8452 : Placement of modals is incorrect
Description

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots:
Before (If applicable):

After:

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation update
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Other... Please describe:

Checklist:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

BUILD

BUILD


Create Classes

Created a basic class structure

Need to work on the following.

#Working on Update self.files operations

Designing Mechanism to Track
Modify Operations to Set Flag
Create a Method to Refresh self.files
Implement Batch Processing
Error Handling
Testing and Validation

Updating self.files

Define a Mechanism to Track Changes
Modify File Operations to Set the Flag
Create a Method to Refresh self.files
Implement Batch Processing
Error Handling
Testing and Validation

Created a Flag system and updated most of all methods to utlise this.

Pathlib should be implemented throughout to replace os and create cleaner code.

Class should be made for CLI user experience, main logic to run said UI.

Work of error handling.


[feaLib] Accept empty statements in parser

This is a minor change, but I'm not sure if this is the best place for it.

Added

Thank you!


Lacking Registry Documentation on Terraform Registry

The [https://registry.terraform.io/providers/twilio/twilio/latest](Terraform Registry Pages) don't have the provider docs.

@tfolbrecht : Thanks for reporting. This is on our internal roadmap (Internal tracking reference - DI-1553). Pull requests and +1s on the issue summary will help it move up the backlog.


Ensure local Project model extends inatjs model; use instanceof

Closes #3728

inatjs wasn't turning comments or sounds into instances, and there wasn't even a sound model. I updated inatjs to add a sound model and turn them both into instances within observation instances. I also made sure Comment was being imported in flagging_modal. I think things are working as expected now for all places we use flagging_modal


Seems like the check in is using the TV show runtime instead of the specific episode runtime

Hi,
For a specific feature in my app I use the episode specific runtime to calculate the end of a checkin. Doing this, I found out that my checkin was 60 minutes long (the TV show runtime) while my own implementation was 72 minutes long (the episode runtime).
Is the check in using the TV show runtime or is it a bug? Would it be possible to use the episode runtime instead oft he show runtime?
Cheers,
Kevin

What specific item did this? I checked and it's using the episode runtime if we have it, but it will fall back to using the show runtime if we don't. I can check the specific item to confirm we have a runtime and also see if it was recently added to TMDB.

I just tested now with The Lord of the Rings: The Rings of Power latest episode (but I found out about the issue with a previous episode). The episode's runtime is 72 minutes, the show is referenced with a runtime of 60 minutes. If you look at start and expires at time, it's just 60 minutes.
Response Body (https://api.trakt.tv/users/me/watching?extended=full):
{"expires_at":"2022-10-16T10:30:33.000Z","started_at":"2022-10-16T09:30:33.000Z","action":"checkin","type":"episode","episode":{"season":1,"number":8,"title":"Alloyed","ids":{"trakt":6575487,"tvdb":8954351,"imdb":"tt11609048","tmdb":3894856,"tvrage":null},"number_abs":null,"overview":"New alliances are forged.","rating":7.83307,"votes":1270,"comment_count":25,"first_aired":"2022-10-14T04:00:00.000Z","updated_at":"2022-10-16T09:21:27.000Z","available_translations":["cs","de","el","en","es","fr","he","hu","it","ko","nl","pl","pt","sv","th","tr","zh"],"runtime":72},"show":{"title":"The Lord of the Rings: The Rings of Power","year":2022,"ids":{"trakt":150900,"slug":"the-lord-of-the-rings-the-rings-of-power","tvdb":367506,"imdb":"tt7631058","tmdb":84773,"tvrage":null},"overview":"Beginning in a time of relative peace, we follow an ensemble cast of characters as they confront the re-emergence of evil to Middle-earth. From the darkest depths of the Misty Mountains, to the majestic forests of Lindon, to the breathtaking island kingdom of Númenor, to the furthest reaches of the map, these kingdoms and characters will carve out legacies that live on long after they are gone.","first_aired":"2022-09-02T01:00:00.000Z","airs":{"day":"Friday","time":"00:00","timezone":"America/New_York"},"runtime":60,"certification":"TV-14","country":"us","trailer":"https://youtube.com/watch?v=x8UAUAuKNcU","homepage":"https://www.amazon.com/dp/B09QHC2LZM","status":"returning series","rating":7.31711,"votes":2343,"comment_count":79,"network":"Amazon","updated_at":"2022-10-16T08:35:08.000Z","language":"en","available_translations":["ar","bg","ca","cs","da","de","el","en","es","fa","fr","he","hr","hu","id","it","ja","ka","kn","ko","lt","my","nl","pl","pt","ro","ru","sl","sr","sv","th","tr","uk","vi","zh"],"genres":["fantasy","science-fiction","action","adventure","drama"],"aired_episodes":8}}

I think I found the issue. If a scrobble/checkin was sent using the episode info only like:
{
  "episode": {
    "ids": {
      "trakt": 1234
    }
  }
}

That lookup is cached and it was too aggressive. It still needs to be cached, but I reduce it a lot so there will only be a 1hr cache before the episode is updated with a changed runtime. I'll push out this fix tomorrow and it should just start working better.


Wrong request to the DB

Hello! I installed version 3.0.1 of Superset to display charts! I have a MongoDB database so that the superset can work with it, I installed Apache Drill 1.21.1
Everything works, but there is a problem with the Drill to Details functionality. When I click the "Drill To Detail" button I get this error: "Unexpected error: Error: The number that was passed in is not a number." If I look at Apache Drill's logs, a request comes:
SELECT COUNT() AS COUNT(*)
FROM mongo.events_base.events
LIMIT 50000
and indeed, if I check this request in the SQL Lab tab, it returns null
But! if I change to SELECT COUNT() AS COUNT  it works well, it retunrs 919176
If I clicl the "View as table" it works well. And the request normal :
SELECT vendor AS vendor,
COUNT(*) AS count
FROM mongo.events_base.events
GROUP BY vendor
LIMIT 100

I would be very grateful for any help in this matter, we have not been able to get around this for 2-3 weeks

I'm tempted to close this as stale, but curious to hear if you're still facing this, or found an acceptable workaround. I'm also curious if @cgivre sees a way forward here.

@NomadBYlife Do you have to alias your columns as COUNT(*)?  It seems like something post-Drill is not liking that alias and therefore the obvious workaround would be to use a different alias.


Modals/Prompt shouldn't close on submit if there is a validation error

Is your feature request related to a problem? Please describe.
Refers to https://github.com/HyphaApp/hypha/pull/3807#issuecomment-2013140208
Is your feature request related to an existing functionality? Please describe.
Related to all modals/prompts
Describe the solution you'd like
Modal shouldn't close on submit if there is a validation error. Users can use the cross sign(X) to close but the validation error should be visible otherwise it is confusing.
Additional context
Look for other modals as well.
Priority

Low priority (annoying, would be nice to not see)

Affected roles

Staff
Reviewers
Partners

It also seems like it gives a false indication of an update to the users. ie. the example given in #3807 is still applicable even when there isn't a validation error, as if you add a valid reviewer to the application and close the modal without pressing Update, reopening the model will still show the reviewer as added despite them not being a reviewer on the submission.
So (to me) the expectation would be that when you re-opened the modal and changes made before pressing Update would be gone

The modal is not a separate page, just some HTML at the bottom of the current page. Therefor it is not reset until you reload the page.
Maybe rebuild all the modals with htmx?

Converting all modals to htmx should fix this.


docs: Fix typo in installing from scratch

Change "insode" to "inside".
Note:
Original PR was here https://github.com/apache/incubator-superset/pull/10985, but the CI seemed to continually be stuck even after multiple retries. So I'm trying again with a new PR and a new commit.

I'm still very confused about what's going on here, for some reason not all the checks are running

Ya, I'm at a loss as well @nytai. I guess you could make your own PR with this change separately to see if that works?

Yeah I'll open a PR, this probably isn't worth spending more time on

Ah, looks like the same thing happened on my PR. Looks like it's this filter here https://github.com/preset-io/incubator-superset/blob/master/.github/workflows/superset-python.yml#L9

Codecov Report

Merging #11026 into master will decrease coverage by 10.43%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master   #11026       +/-   ##
===========================================
- Coverage   65.86%   55.42%   -10.44%
===========================================
  Files         826      406      -420
  Lines       38976    13564    -25412
  Branches     3669     3443      -226
===========================================
- Hits        25671     7518    -18153
+ Misses      13195     5868     -7327
- Partials      110      178       +68

Flag
Coverage Δ

#cypress
55.42% <ø> (-1.15%)
:arrow_down:

#javascript
?

#python
?

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

Impacted Files
Coverage Δ

...uperset-frontend/src/dashboard/util/dnd-reorder.js
0.00% <0.00%> (-100.00%)
:arrow_down:

...rset-frontend/src/dashboard/util/getEmptyLayout.js
0.00% <0.00%> (-100.00%)
:arrow_down:

...et-frontend/src/components/Menu/LanguagePicker.tsx
0.00% <0.00%> (-100.00%)
:arrow_down:

...dashboard/components/resizable/ResizableHandle.jsx
0.00% <0.00%> (-100.00%)
:arrow_down:

.../src/dashboard/util/getFilterScopeFromNodesTree.js
0.00% <0.00%> (-93.48%)
:arrow_down:

...uperset-frontend/src/utils/getClientErrorObject.ts
0.00% <0.00%> (-89.19%)
:arrow_down:

.../src/dashboard/components/FilterIndicatorGroup.jsx
11.76% <0.00%> (-88.24%)
:arrow_down:

...c/explore/components/controls/withVerification.jsx
9.09% <0.00%> (-87.88%)
:arrow_down:

...src/dashboard/components/gridComponents/Header.jsx
10.52% <0.00%> (-86.85%)
:arrow_down:

...rset-frontend/src/profile/components/Favorites.tsx
0.00% <0.00%> (-86.67%)
:arrow_down:

... and 692 more

Continue to review full report at Codecov.

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


applying a different --git* combination to workload should replace rather than merge existing git settings

WIP
Description of problem
current behavior merges --git values.
in the case where the original workload was created with --git-commit
if the user subsequently wants to update the workload using --git-tag or git-branch the workload will not be updated because on the backend fluxCD will give precedence to the commit and ignore the tag/branch.
this could be confusing for the user
Proposed solution
<Please describe your proposed solution, preferably in the following style:>
Given <Some Condition>
When <Something Happens>
Then <This other thing should happen?>

Example
<Code snippets that illustrate the when/then blocks>
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Not sure we should implement this because all other flag behavior is executed as a merge rather than replace.
Also - would we ONLY do this for --git-comit, --git-tag, --git-branch - and not require the --git-repo?
The behavior is likely to be confusing.


Cater for the case where stdout feeds more than one line

This has only been tested on my machine where it does this multiline thing - it needs testing on other machines that don't, but I've Thought Deeply about what happens then, and can't see a problem.

Coverage decreased (-0.006%) to 20.323% when pulling 8c44fd9524cfe034299f77f137ec88f3caba96be on over-eager-exec into c5c4cf9f68f9707223d3b7f2d44cfbb0071c0d07 on master.


Scale 0.5 at 4K looks noticably worse than rife-ncnn-vulkan's UHD mode

Setting the scale to 0.5 for 4K content doesn't seem to improve results over 1.0, and looks worse than the UHD mode in RIFE-NCNN.

Revert to last version, should be consistent with UHD mode.


Improvement/add finish reason to generation info in chat open ai

Description:  ChatOpenAI model does not return finish_reason in generation_info.
Issue: #2702
Dependencies: None
Tag maintainer: @baskaryan
Thank you

thanks @ncomtono!


Different Results between android.transitions and TransitionsEverywhere

Hi, I've been playing around with the KitKat (and above) version of the android transition framework, mainly exploring its features. I'm still relatively new when it comes to all the bells and whistles of what it can and can't do.
After creating a sample app with KitKat's framework, i decided to change import Transitions-Everywhere and simply replace the imports to compare. Let me say that the library is impressive, good work :)
Long story short, there are a few noticeable differences and I'm wondering what am I doing wrong.
First, I've created a sample project which allows you to see the same code running on either framework (the code is literally a copy/paste with the imports/names changed to reflect which one is which).
It's available here: https://github.com/Gryzor/TransitionsEverywhereComparison
(Please run it on KitKat and above, I didn't add checks for the Android counterpart which obviously only works on KitKat and above).
Noticeably, if you look at android_transition_set.xml (and its almost identical transition_everywhere_set.xml counterpart), you will notice that it tries to play together to different targets:
changeBounds
ChangeColor(custom transition taken from Google's samples, each version uses the corresponding framework)
fadeIn
slide
There are two scenes: scene_1 and scene_2. They are not too fancy, just a few widgets that have a couple different properties.
Tapping Go "button" will alternate between both scenes. The "Backwards" transition is just an AutoTransition (I'm only really interested in going forwards)
The code for each activity is almost identical, except for the fact that they inflate the corresponding TransitionManager from XML, which, in turn, points to the corresponding TransitionSet.
PROBLEMS IN Transitions Everywhere
(note, I only point problems when going from scene 1 to scene 2, the reverse is just a standard AutoTransition that I only added to make it easier to observe the first transition multiple times).

The  Line Of Text Above (red), doesn't fade in at the same time, it's as if it appears after the animations are done (?)
The Custom Color transition is not executed in neither view (Go button and "This is a line of Text"  (yellow/purple).
The lines of text below fade out then fade in, when they shouldn't because they should only be targeted by the change bounds. All other Transitions have different/specific targets.
The Slide In (I JUST SHOWED UP!) doesn't happen (it fades in together with the others).
The Go Text bug is unrelated to either framework as it seems to be a limitation mentioned here: https://developer.android.com/training/transitions/overview.html#Limitations (and I have no idea how to overcome that yet).

What am I missing? :)
p.s.: one guess is that the xml definitions for transitionseverywhere must be changed so instead of <Fade> I may have to use a different name, but I'm not sure.

Hello!
Yes, there are differences how to use xml inflation for Transitions-Everywhere. You can found an example in the article<EMAIL_ADDRESS>(find with "Create Transition with xml").
What should you do: put xml file in the anim folder and replace all "android:" tags with "app:" like in the example.

Hello! Thank you for your prompt response. I have indeed changed that and it seems to work (I pushed the change to the above repo if you want to check it). Seems like they both perform the same now. Nice :)
One final question, in my xml resources, now Android Studio complains that transitionSet and transitionManager must be declared. It works, but it's a "red error", is there any workaround this?

Thanks!

I don't know how to fix it. Its just a lint check and it knows nothing about the transitionManager in anim folder. Why we use anim here because transitions folder works only starting from kitkat.
I happy to hear that is work the same as framework version for you! It was a purpose to create the library :)


Error in Bert example in Lightning demo notebook

📚 Documentation
the notebook which contains examples of MNIST, GAN, etc. has also an example how to finetune Bert which is broken. This is the error message:

`---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
 in ()
----> 1 bert_mnli_train_dataloader, bert_mnli_val_dataloader, bert_mnli_test_dataloader = generate_mnli_bert_dataloaders()
 in generate_mnli_bert_dataloaders()
11                                           pad_on_left=False,
12                                           pad_token=tokenizer.pad_token_id,
---> 13                                           pad_token_segment_id=0)
14   train_dataset = TensorDataset(torch.tensor([f.input_ids for f in features], dtype=torch.long),
15                                 torch.tensor([f.attention_mask for f in features], dtype=torch.long),
TypeError: glue_convert_examples_to_features() got an unexpected keyword argument 'pad_on_left'
`

the function generate_mnli_bert_dataloaders() calls the method glue_convert_examples_to_features() which - according to the documentation - is not handling the padding.
Fixed the error and hit the next one:

MisconfigurationException: Your val_dataloader has shuffle=True, it is best practice to turn this off for validation and test dataloaders.

I guess this is the result of using RandomSampler above.

@Borda I am sorry, if I gave you the impression, that I finished debugging the example. I didn't. I just got past the first bug, but I never found out, whether my fix (removing all lines relating to padding) is really working. Just wanted to let you know that one of the basic examples -- basically one of the first things you see after reading the website -- seems to be broken.

we shall move these examples to the repo so we can simply fix it...
cc: @nateraw

I believe this can be closed now after #3591 . @fotisj go ahead, if you agree.


HDFS-16444. Show start time of JournalNode on Web

JIRA: HDFS-16444.
Before:

After:

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 36s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  1s

codespell was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
33m 30s

trunk passed

+1 :green_heart:
compile
1m 32s

trunk passed with JDK Ubuntu-11.0.13+8-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
compile
1m 22s

trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
checkstyle
1m  2s

trunk passed

+1 :green_heart:
mvnsite
1m 31s

trunk passed

+1 :green_heart:
javadoc
1m  6s

trunk passed with JDK Ubuntu-11.0.13+8-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
javadoc
1m 36s

trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
spotbugs
3m 25s

trunk passed

+1 :green_heart:
shadedclient
23m 14s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
1m 20s

the patch passed

+1 :green_heart:
compile
1m 26s

the patch passed with JDK Ubuntu-11.0.13+8-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
javac
1m 26s

the patch passed

+1 :green_heart:
compile
1m 15s

the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
javac
1m 15s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m 52s

the patch passed

+1 :green_heart:
mvnsite
1m 20s

the patch passed

+1 :green_heart:
javadoc
0m 53s

the patch passed with JDK Ubuntu-11.0.13+8-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
javadoc
1m 30s

the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
spotbugs
3m 27s

the patch passed

+1 :green_heart:
shadedclient
22m 42s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
233m 35s

hadoop-hdfs in the patch passed.

+1 :green_heart:
asflicense
0m 47s

The patch does not generate ASF License warnings.

335m 41s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3943/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/3943

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell

uname
Linux 97e7efb51218 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / ca2b6cb075903e4ee8a009418dd147d1559346c4

Default Java
Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.13+8-Ubuntu-0ubuntu1.20.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3943/1/testReport/

Max. process+thread count
3163 (vs. ulimit of 5500)

modules
C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3943/1/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.

Thanks @ayushtkn for the review.

@tomscut Thanks for your contribution! @ayushtkn @virajjasani Thanks for your reviews ! Merged

+1 (non-binding)

Thanks @virajjasani for the review.

@tomscut Thanks for your contribution! @ayushtkn @virajjasani Thanks for your reviews ! Merged

Thanks @ferhui for the review and merging it.


Missing Unicode glyphs

I am working on a Pharo package that uses many math-like Unicode symbols, many of which are not shown correctly in GToolkit (at least under macOS). Tested with a fresh GToolkit downloaded today.
Example: '∀ X:boolean ∀ Y:boolean X ∨ Y ⇒ X ⊻ Y ⊻ (X ∧ Y)'
In a GToolkit playground this shows as

My first idea was that the glyphs could be missing from the Source Code Pro / [Source Sans Pro(https://adobe-fonts.github.io/source-sans-pro/) fonts used by GToolkit, but when I paste my test string into Adobe's demo site, it is displayed correctly. It also displays correctly in Apple's TextEdit with the "Source Code Pro" font selected.

The issue is that Source Code Pro does not have the glyphs. When a font does not have a glyph different tools might search for a fallback font.
Since we moved to Skia from Moz2D, we do not have this fallback anymore. It would be great to have it, but until then, please try with a font that has the glyphs explicitly.

OK, so how can I change the font in GToolkit? Source Code Pro seems to be hardcoded.

It was temporarily addressed here: https://spectrum.chat/gtoolkit/help/changing-the-font-for-code-display~8b2a70b4-b633-4f49-9d75-d5765bc370bc


resolve slave-shard-fail (switch to offline state) flow's bookkeeping gap

In issue #455 we discussed the states that have to be implemented. Not just the primary cluster will work with those states, but also the slave cluster.
So if we a slave shard goes into offline state, either because we detect a connection issue, or the config gets updated and dictated us so, the following steps will happen:

The tlogserver (which was previously writing the data to the slave shard which just failed) will send a message to the tlogclient such that the nbdserver can see that a slave server is offline, such that from that point on, we'll keep a list of blocks (see: #445) we write to the primary server, in that same primary storage server;
Once the upper layer has decided what to do we either repair or respread that data from the primary cluster to the slave server such that the normal tlog-syncing for that shard index can happen again, which action exactly depends on which status will be assigned to it in a config update (see #455 to know more about those states);

In step 1 lies the problem. There is a period in between the slave shard going offline, and the nbdserver knowing about it.

Rethinking about it this morning, and I have a feeling this issue might be invalid.
The tlogStorage doesn't write the data to the internal (deduped/nondeduped) blockStorage until the tlogserver sends a FlushOK messages which contains the sequences flushed. As the tlogserver is also the one sending the SlaveShardFailed message, we are talking about the same direction, and thus this should be still in time, without having some kind of gap.
So for now I'll close this issue, will re-open this issue again, only if it does turn out this is a problem.


[ISSUE] Error Marshaling Json Response

On the following code snippet, I get the error
json: cannot unmarshal string into Go struct field CurrentWeatherData.cod of type int on some locations (e.g. Canais) but others (e.g. Toronto, China) work.
Code:
w, err := owm.NewCurrent("C", "EN", OPEN_WEATHER_API_KEY)
if err != nil {
	return nil, err
}

if err := w.CurrentByName(location); err != nil {
		return nil, err
}

I have tested the api response and it appears to be correct. The most confusing thing is that the "cod" field in the Json response does have an int.

Fixed; Issue was that location had a leading space. Perhaps CurrentByName can trim the input? Improving the 404 output would have helped me as well.


Add assumeLineDelimiter to applyPatch() options

Fixes #157
Fixes #228
Fixes #346
Currently return value from structuredPatch cannot be applied with applyPatch. This is because linedelimiter is missing in the hunks of the return value.
This PR adds new option assumeLineDelimiter to applyPatch. By setting the option, patches can be applied even if the line delimiter information is missing. So applyPatch can work with structuredPatch.
// Let's say \n is used for newline
const old = ...;
const new = ...;
const patch = structuredPatch('file1', 'file2', old, new, 'header1', header2');
const patched = applyPatch(old, patch, { assumeLineDelimiter: '\n' });
assert.equal(new, patched);

I haven't scrutinized the existing code too deeply yet but my first thought is that a better fix might be to set linedelimiters to ['\n'] in structuredPatch, similarly to how parsePatch does. It looks like those two functions are attempting to return results of the same type, but the latter is missing the entire linedelimiters property that the former includes; we should probably fix that, at which point this PR becomes moot?

Closing in favour of https://github.com/kpdecker/jsdiff/pull/393; I don't think there's a need for the assumed delimiter to be configurable. (Even if we generate a patch using .structuredPatch on a file with Windows line endings, it'll just treat the lines as ending with \r characters and thus be handled fine by code that is hard-coded to think line endings are always \n characters.)


Port #672 and #686 to musl.

Looks like CI may be failing?

It looks like offending syscalls were added in musl 1.16, you're using 1.15.
http://www.openwall.com/lists/musl/2016/12/25/2
What about updating musl on your side?

Oh certainly! You can update the various scripts in ci/docker for the musl builders

It's looks like we've run into #665 on musl too:
bad AF_MAX value at byte 0: rust: 42 (0x2a) != c 43 (0x2b)
bad PF_MAX value at byte 0: rust: 42 (0x2a) != c 43 (0x2b)

Want to update them?

It's not so easy. These constants are defined in src/unix/notbsd/linux/mod.rs. This means that updating them will break the glibc CI, since Ubuntu 17.10 still has glibc 2.24. We would need to have glibc 2.25 in our glibc CI.

Oh yeah that's fine, want to duplicate the definition and push them down the module hierarchy?

The same will have to be added on x86 and x86_64 for Android.
Maybe we should rethink the whole thing? There'll be three copies of the same syscall table which is Linux-specific.
Maybe it would be better to simply generated them based on the installed libc?

Duplication is fine, we're not going to be generating the libc crate based on what was found at compile time

Why not?

Sorry this isn't really quite the PR to debate this on, that question is much broader than just this. If you'd like to land this then the best way will be to duplicate the definitions I believe, otherwise if you'd like to wait and hold off we can continue discussion on perhaps a dedicated issue.

So let's land it with duplication now and discuss it in a separate issue.

@bors: r+

:pushpin: Commit 0ef465a has been approved by alexcrichton

:hourglass: Testing commit 0ef465a1a73317811dc9d7813f9b0bc91bfbf5fb with merge 5e6853b9c136721fa8c37af54f5df5c1126edbf6...

:sunny: Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing 5e6853b9c136721fa8c37af54f5df5c1126edbf6 to master...


Background video playback is incorrectly paused

As of version 3.4.0 background video playback does not work correctly anymore. This is not related to the iOS version, as I first incorrectly assumed. This regression is likely connected to the fixes made for PiP in 3.4.0.
Issue type
Incorrect behavior
Environment information

Application version: 3.4.0
iOS version: Tested on 14.8.1, 15.1 and 15.2
Device: Physical

Reproducibility
Always reproducible
Steps to reproduce

Enable background video playback.
Play some video and reduce it into the mini player. Playback continues in the background.
Lock the device. Playback is incorrectly paused.

Note that background playback continues when the device is locked while the video layer is visible.

The most common cases are fixed with SRGMediaPlayer 6.2.1 release.
AirPods issue still persist, but I think, not new #199.

The issue is still occurs, especially with audio only streams. A restart of the device helped, but it is annoying since it happens multiple time a week.
I use V 3.5.0 (373)

Thanks for the feedback and sorry this issue affects you.
Background video playback (which this issue is originally about) is a tricky thing, but background audio (which the issue you describe is about) is usually pretty straightforward to implement.
I suspect the problem is related to iOS itself since we saw this issue raising recently, even if we didn't change anything to support audio playback in background (it's basically setting a flag to enable it, unlike background video playback which requires a substantial amount of additional work).
The fact that a device restart, usually a forced one, fixes the issue, is probably a sign this is (sadly) not related to the app itself. I could never reproduce it myself (maybe there is a reliable way but I could never identify one) so I never got the chance to debug what is happening and to report this issue to Apple if I can confirm the problem is on iOS side.
Which iOS version and which kind of device are you using, BTW?

@ganti Thanks for the update. We'll keep listening to what our users say (through our official support channels or in App Store reviews) to see if the problem becomes more widespread than expected.
Usually forced restarts have always been a great help, but until one of our devices is affected (so that we can debug the issue) I sadly have no clue how we could get to the bottom of the story.
I hope the situation will improve on your side with further iOS updates. If we happen to be able to debug the issue we'll keep you posted.


USB: Call USB_DC_INTERFACE callback when endpoints are found

Provide also alt_set to callback to make right choice
Fixes #13560

Codecov Report

Merging #14829 into master will decrease coverage by <.01%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master   #14829      +/-   ##
==========================================
- Coverage   52.51%   52.51%   -0.01%
==========================================
  Files         309      309
  Lines       45048    45050       +2
  Branches    10419    10419
==========================================
  Hits        23656    23656
- Misses      16584    16586       +2
  Partials     4808     4808

Impacted Files
Coverage Δ

subsys/usb/usb_device.c
11.33% <0%> (-0.05%)
:arrow_down:

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 cb44b7e...c396124. Read the comment docs.

Applied in another PR.


Add select_by_tag to ParallelBlock

Implements #694

Just to double-check, does the current implementation of this method returns branches that contain at least one feature with the filter tag or only columns that contains the Tag. I think the latter would be preferred. For example, let's say I want to filter only sequential features (Tags.SEQUENCE / Tags.LIST). Typically sequential features might be in both "categorical" (e.g. sequence of product ids) and "continuous" (sequence of product prices) branches. If a user calls select_by_tag(Tags.SEQUENCE), he would hope that only sequential features are returned, and not the whole "categorical" and "continuous" branches because they contain sequential features.

@gabrielspmoreira It's the former with this implementation, i.e., we return categorical and continuous branches with filtered columns if the user had those branches in the original parallel block before the filtering. Wouldn't the user want to keep the whole categorical and continuous branches if they were both in the original parallel block and they both contain sequential features?
One option would be to add an optional parameter, something like return_columns_only=True, and return only the columns if True and keep the original branches if False. I'm not sure what the default behavior should be though. I would have guessed return_columns_only=False would be a preferred default.

I think it could be useful to add some better docs around this method since it might be slightly confusing for users. This because we select branches by features and not by branch-name. I started with trying to explain it better in this issue.

returns branches that contain at least one feature with the filter tag or only columns that contains the Tag.

@gabrielspmoreira  Are you thinking of the case where a branch of the ParallelBlock is itself another ParallelBlock that we can also call select_by_tag on? or something else?
If we wanted some other way to select sub-sets of branches, we'd need to come up with a mechanism for them to declare how to be sub-selected (perhaps a check for the attribute select_by_tag would work. And if there are other types of blocks that are valid to select a subset of by tag we could implement this method).
One thing about the logic 'filter branches that contain at least one feature with the tag' - We may run into issues if a branch requires all features (or a superset of those specified by the tag). Depending on the expectations about how this tag affects the input features to these branches. If for example a branch inputs contains features tagged with ({"user", "item"}) and requires all of them to function correctly and we call .select_by_tag("user"), this will return the branch expecting both user and item features to be passed.
We might need a way to specify on a branch schema which features are required/optional. And potentially an option to select_by_tag to control whether the branch selection criteria is 'at least one input feature with the tag' or 'all input features with the tag'

Update:
I changed the approach so that ParallelBlock calls the select_by_tag method of the branches: EmbeddingTable and TabularBlock. Now, ParallelBlock simply calls EmbeddingTable.select_by_tag() and TabularBlock.select_by_tag() (and also Filter.select_by_tag.
With the previous implementation, the schema change was not being propagated to the branches, so even though the ParallelBlock's schema was filtered correctly, the output features were not being filtered correctly. That is, the following didn't work with the previous implemention, but now it does:
    batch = mm.sample_batch(music_streaming_data, batch_size=10, include_targets=False)
    continuous_outputs = continuous_inputs(batch)
    assert sorted(continuous_outputs.keys()) == sorted(continuous_inputs.schema.column_names)

Also, more on Gabriel's earlier point:

Just to double-check, does the current implementation of this method returns branches that contain at least one feature with the filter tag or only columns that contains the Tag. I think the latter would be preferred.
I double-checked and compared the output formats of ParallelBlock with and without select_by_tag, and realized that I was doing it wrong. ParallelBlock should not have the branch names in its schema (the branch names are in the attribute parallel_layers) and it had only the columns in the schema. Thus, now it's changed so that even after select_by_tag the schema has only column that contains the tags.

Note: I'm not sure why tensorflow/examples test is failing and can't reproduce it locally. On my local machine, all tests under examples passed.


Feature/3590/update angular

For dockstore/dockstore#3590
Some changes because of Angular 9

bundle size decreased by 15%
build time seems faster (differential loading not enabled yet though)
build error messages are more detailed
automatic budget setting to warn if components are too large (wdl-viewer)
new Typescript!

Main downside is that two of our dependencies are not exactly compatible with Angular 9 even though it appears to work just fine

@ngx-lite/json-ld has a Angular 9 branch but no work done on it since October 2019 (using -next unstable Angular 9)
ng2-ui-auth has no branch, no work done anywhere since December 2019

Creating issues for the below if this PR gets merged.
TODO:

Fix and then re-enable the disabled tsconfig rule (pretty sure all these automatic directive additions are wrong and it should be component)
Test everything in more detail
Find replacement for those two dependencies

List of things I've personally tested:

ngx-markdown
sharebuttons (Cypress also tests this)
login (Cypress might test this?)
json-ld

Angular 10 is out already 😆


Fix configuration for GPR work with Tilt

Overview
Currently quickstart only works with the basic stack of the quickstart anything else is currently not supported. Have Tilt configuration work with the GHR and GPR setup of quickstart.
Criteria

[ ] Update dashboards within grafana
[ ] Update ports with the set up of Tilt

Leaving as triage now, requires dashboards as code in new OpenObserve and then an adjustment of criteria.


Feature Request: Reusing services for mutliple redux variables

Summary

[X] Tell us about the problem your pull request is solving.

At the moment, is it only possible to use a service once.
But there might be situations, where you want the same services being stored in different variables.
At the moment, the code assume serviceName => variableName, thus providing a way of  renaming the serviceName only.
My proposal here is to variableName => serviceName, which would allow something like.
myUser -> users
currentlySelectedUser -> users
myBoss -> users

[X] Are there any open issues that are related to this?

No

[X] Is this PR dependent on PRs in other repos?

No

However, this will be a breaking change.

Ok, I thought about it a little bit and found a better non-breaking proposition.
User of your library could now use
{ '/users/:slug': ['myUser', 'currentlySelectedUser', 'myBoss'] }

I will have to think on this.
I understand the issue and would prefer a more baked-in solution.

What's the verdict on this, because it seems a good solution?


tests: add tests that are supposed to fail for tests/sysvars

currently there's only one test that only checks the happy path

I was stupid and didn't do "closes"/"resolves" in the PR description. Unless you want more tests, I think this can be closed.


Add script to set genotypes for small deletions to missing

This is based on work from @cc2qe for the GTEx paper. This script sets deletion genotypes to missing if the library for the sample did not have sufficient power for deletions of that size.

Coverage remained the same at 83.12% when pulling 5c32862a30e9d75ffd67685e8c68d6e4d115bb43 on ernfrid:del_size_filter into eb0444bcb74bafb952cc9cf04d4766f1bce5fc3b on hall-lab:develop.


feat: support mask for raft log store

Add mask support for raft log store to combine raft log store and the WAL of the state machine together.
After applying commands to the state machine, the raft log entries are masked, which means they are not deleted, but cannot be accessed by the raft algorithm. After the commands of the masked raft log entries are persisted, they can be safely compacted.
Ref: #88 .

Celebrate issue/pr number reaches 100 and loc reaches 10000, 🎉.
(Nothing to celebrate in fact.


DOI Save And Submit

DOI release drafts can now be saved and submitted for review to ENG node.
Resolves #14
Resolves #16

The message has been changed to 'Your DOI will be submitted to Engineering Node. You will be notified if the DOI can be released or if updates are required.'


pretty url action params not work on Camel case module or controller name

controller  class OneAndTwo
controller id will be one-and-two
but pretty url not work,when my action have params
example:
public fucntion actionTest($id) {}
yii's any url create tool will return one-and-two/test?id=xxxxxxxxxxx
if my controller not a camel case
url create tool will return oneandtwo/test/xxxxxxxx
how can i fix it ?

How do you create URLs?

@samdark

if my controller not a camel case
url create tool will return oneandtwo/test/xxxxxxxx

Where is trouble?

how can i fix it ?

@samdark There is nothing to fix.

Hmm... right. If controller action isn't camel-cased it should not return camel cased URL. If you need it, use URL manager.

ok
i found my problem
in my urlManager config
rule => [
'controller:one-and-two/action:test/id:\w+' => 'one-and-two/test'
]
and when i use camel case controller name (OneAndTwo)
yii's any url create will return
one-and-two/test?id=xxxxxx
that's different to
rule => [
'controller:one-and-two/action:test/id:\w+' => '/'
]
url tool will return
one-and-two/test/xxxxxx
if i havent use camel case controller name (Nocamel)
rule => [
'controller:nocamel/action:test/id:\w+' => 'nocamel/test'
]
return
nocamel/test/xxxxxx