Map better loading

Fails

:no_entry_sign:

[danger-plugin-jest] Could not read test results. Danger cannot pass or fail the build.

:no_entry_sign:

This PR includes changes to the Emission Pod's native code but does not have a package.json
change for the update to the "native-code-version". If this is fine, add #native_no_changes to your PR message.

  Generated by :no_entry_sign: dangerJS

merge on green


Modify the readme a bit

A shortlist of the changes:

Removed the bit about supporting cracked copies of the game - It's not a good look, and you will end up alienating a lot of people by having it there
Made Minecraft and Forge in Requirements into Clickable Links
Modified links to releases to always point at the latest release
Reworded the message about the security notice.

Thank you.


Add git-blame-ignore-revs

Can be used to ignore formatting commits etc.
Hitas Pull Request
Description
Adds .git-blame-ignore-revs to be able to ignore certain refs (like formatting) from blame output. Configure this to the project with:
git config blame.ignoreRevsFile .git-blame-ignore-revs

Using it is optional.
Pull request checklist
Check the boxes for each DoD items that has been completed:

Frontend

[ ] Changes have been tested

Backend

[ ] Changes have been tested
[ ] Automatic tests has been added
[ ] OpenAPI definitions have been updated
[ ] Database migrations will work in test environment
[ ] Oracle migration has been updated
[ ] initial.json has been updated to work with migrations

Test plan

No need to test, simply adds a file for the future.

Tickets

git config blame.ignoreRevsFile .git-blame-ignore-revs

This could be added to the readme (and maybe even include an example of usage?) :)

Mention to readme added


The ability to store allureConfig.json in the specified folder

At this moment the allureConfig.json is searched in the directory where the project is being built.
Need to add a setting with which you can specify where the allureConfig.json will be stored.
An message with information will also be added in exception, when trying to find allureConfig.json if it was not found.

Feature will be available from version 2.6


Update get-device-secure-score.md

Add US Gov API note.

Fair enough, good job. May I offer a word of advice regarding MarkDown?
It is generally recommended in MarkDown to add a blank space between the indent marker ( > ) and any following text. This is also known as "MarkDown indent marker compatibility spacing". I hope you may find the advice useful in your future use of the indent marker (also known as "quote marker").


[@kubb/swagger] Incorrect content type for response

What version of kubb is running?
kubb/2.12.3 darwin-x64 node-v20.10.0
What platform is your computer?
MacOS
What version of external packages are you using(@tanstack-query, MSW, React, Vue, ...)
No response
What steps can reproduce the bug?
Thank you for the excellent software!
I'm working with an API that returns non-JSON data for several endpoints. Unfortunately, it seems that @kubb/swagger incorrectly returns the content type as "application/json" for all of them. I've looked through the source and have found that the response output uses the body value instead. According to the oas documentation:
#getContentType() 	Retrieve the primary request body content type. If multiple are present, prefer whichever is JSON-compliant.
The correct function to use seems to be getResponseByStatusCode.
Thanks!
How often does this bug happen?
Every time
What is the expected behavior?
Expect non-JSON endpoints to set the correct content type for response.
Swagger/OpenAPI file?
https://github.com/googlemaps/openapi-specification/blob/main/dist/google-maps-platform-openapi3.yml
Additional information
No response

Actually, upon further inspection, it does appear that the correct function is used, but the value is ignored in favour of the content request schema:
    // check if contentType of content x exists, sometimes requestBody can have contentType x and responses 200 y.
    const responseJSONSchema = schema?.content?.[contentType]
      ? (schema?.content?.[contentType]?.schema as OasTypes.SchemaObject)
      : (operation.getResponseAsJSONSchema(statusCode)?.at(0)?.schema as OasTypes.SchemaObject)

This doesn't seem right.


openstack cloud provider monitor-delay and monitor-timeout are broken

What kind of request is this (question/bug/enhancement/feature request):
BUG
Steps to reproduce (least amount of steps as possible):
Edit a cloud yaml for an openstack provisioned cluster and do this:
cloud_provider:
  name: "openstack"
  openstackCloudProvider:
    block_storage:
      ignore-volume-az: false
      trust-device-path: false
    global:
      auth-url: "NOPE"
      domain-name: "NOPE"
      password: "NOPE"
      tenant-id: "NOPE"
      username: "NOPE"
    load_balancer:
      create-monitor: false
      manage-security-groups: false
      monitor-delay: "10s"
      monitor-max-retries: 2
      monitor-timeout: "30s"
      subnet-id: "NOPE"
      use-octavia: true
    metadata:
      request-timeout: 0

Result:
The UI barfs the following error:
Validation failed in API: rancherKubernetesEngineConfig cloudProvider=InvalidFormat 422: openstackCloudProvider=InvalidFormat 422: loadBalancer=InvalidFormat 422: monitor-delay=InvalidFormat 422: strconv.ParseInt: parsing "10s": invalid **syntax**

Other details that may be helpful:
https://kubernetes.io/docs/concepts/cluster-administration/cloud-providers/#load-balancer
https://github.com/kubernetes/cloud-provider-openstack/blob/master/docs/provider-configuration.md#load-balancer-optional-parameters
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): 2.2.2
Installation option (single install/HA): HA

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported):
Machine type (cloud/VM/metal) and specifications (CPU/memory):
Kubernetes version (use kubectl version):

(paste the output here)

Docker version (use docker version):

(paste the output here)

I have the same problem. Rancher requires an "int" value for monitor-delay and monitor-timeout but k8s requires also a valid time unit (s,m,h,...)¹.
[1] https://kubernetes.io/docs/concepts/cluster-administration/cloud-providers/#load-balancer

Close in favor of https://github.com/rancher/rancher/issues/14577


Use cifmw_dlrn_report_promote_source to set proper dlrn reporting target

In update job, we deploy the system using cifmw_repo_setup_promotion: current-podified var and update it to podified-ci-testing via different update vars.
dlrn_report role works on repo-setup vars. In this case, dlrn will report the job status against current-podified. But we want to report the status against podified-ci-testing. In this case, current dlrn-report does not work.
In order to fix that we are adding a new var cifmw_dlrn_report_promote_source to set the proper dlrn target against which job should report. It will not affect existing job. As it's value depends on cifmw_repo_setup_promotion case.
As a pull request owner and reviewers, I checked that:

[x] Appropriate testing is done and actually running
[x] Appropriate documentation exists and/or is up-to-date:

[x] README in the role
[x] Content of the docs/source is reflecting the changes

/approve

/lgtm


Add behindProxy option to App.listen()

Addresses https://github.com/denoland/fresh/issues/2660.
The behindProxy option lets Fresh respect X-Forwarded-Proto, X-Forwarded-Host, X-Forwarded-Port, and X-Forwarded-For headers (if any).  This is useful when Fresh is behind a reverse proxy like nginx or Caddy.

@marvinhagemeister Does Fresh's middleware support replacing request objects? At first glance, it doesn't seem to support that.

Apparently FreshContext.req is readonly.

@marvinhagemeister Apparently FreshContext.req is readonly.  Should I suppress the TypeScript error and set ctx.req by force?

Let's remove the readonly in FreshContext.

Let's remove the readonly in FreshContext.

@marvinhagemeister: Just opened a separate pull request.


Uncatched exception in DeviceExtension.WaitForPropertyValueInternal()

See #26

Thank you @agardiol !
I'll get this tested right away and get it published for you in the v5.x release


CAA: occassionally a pod fails to delete with "device or resource busy"

I noticed, a peer pod pod is stuck at Terminating sometimes with this CAA log message:
2024/04/12 11:25:32 [adaptor/proxy] RemoveContainer: containerID:38e09293259c58a404578e509198c638bc0814750f6184f5efadfe5b9b616019
2024/04/12 11:25:32 [adaptor/proxy] RemoveContainer fails: rpc error: code = Internal desc = Device or resource busy (os error 16)

haven't found a pattern so far. it might happen only in mkosi images, but i'm not sure yet.

haven't seen this in a long time, ci tests are rather stable these days, so we assume it's been fixed


Measure E2E latency in V3

We need to measure the time it takes for a newly uploaded package to appear in catalog --> Lucene --> Registration blob and when it is available for download via V3 endpoint. There should be some bench mark around it and we need to see if we are meeting those requirements.

Was this one finished? If so please go ahead and close the issue.

Duplicate of this: https://github.com/NuGet/NuGetGallery/issues/3239


Clarify in the docs the DocBook standard version supported by this project

I might be mistaken but I do not see a place in the documentation where it says what versions of the DocBook standard are supported. Does the project still support DocBook 4.x? Does it support DocBook 5.2? Is it supported completely?
Does it support the DocBook Publishers schemas as well?

@ndw thanks for clarifying this aspect. Is the DocBook Publishers schema part of the DocBok 5.2 standard?

Publishers is a separate spec, but it is covered by the xslTNG stylesheets. I've added that to the guide. Thanks again!

By the way, there's a complete report of what's supported and what isn't: https://xsltng.docbook.org/report/


test: stub connection in unit test to emulate multi adapter support within the same suite

Tests are currently running assuming the adapter is always sqlite.
This PR introduce:

a check to use the stub a connection based on the adapter in use
added tests for statement adapter
stub correctly the connection to avoid to apply always sqlite quoting
add missing test cases to ci

mysql suite is still not passing due to:

boolean represented sa tinyint
some tests assuming sqlite as default adapter
trying to perform real inserts with pg adapters

Count of failing tests: 6
They are going to be addressed in a separated PR


Suggestion: Opt-in distributive control flow analysis

Search Terms
distributive control flow anaylsis; correlated types; union call signatures; conditional types
Suggestion: Opt-in distributive control flow analysis
Provide a way to tell the type checker to evaluate a block of code (or expression) multiple times: once for each possible narrowing of a specified value of a union type to one of its constituents.  The block (or expression) should type-check successfully if (and only if) each of these evaluations does.  Any values or expressions whose types are computed or affected by any of these evaluations should become the union of that computed or affected by the evaluations... that is, it should be distributive.
This allows some JavaScript patterns that currently don't work in TypeScript.
This suggestion would introduce new syntax at the type system level... preferably something which would currently cause a compiler error so it's guaranteed not to break existing code.   I propose the syntax type switch(x) and as if switch(x) below, just to have something concrete to use...  better suggestions are welcome.
Use Cases
This would ease the pain of:

using "correlated" or "entangled" records in the absence of existential types #14466
calling overloaded functions on union types #14107 or #7294 without requiring the difficult general solution

Currently these can only be addressed either by using unsafe type assertions, or by duplicating code to walk the compiler through the different possible cases.
Examples
A "correlated" or "entangled" record type
Consider the following discriminated union UnionRecord:
type NumberRecord = { kind: "n", v: number, f: (v: number) => void };
type StringRecord = { kind: "s", v: string, f: (v: string) => void };
type BooleanRecord = { kind: "b", v: boolean, f: (v: boolean) => void };
type UnionRecord = NumberRecord | StringRecord | BooleanRecord;

Note that each constituent of UnionRecord is assignable to the following type for some type T:
type GenericRecord<T> = { kind: string, v: T, f: (v: T) => void };

This means that, for any possible value record of type UnionRecord, one should be able to safely call record.f(record.v).   But without direct support for existential types in TypeScript, it isn't possible to convert a UnionRecord value to an exists T. GenericRecord<T>.  And thus it is impossible to safely express this in the type system:
function processRecord(record: UnionRecord) {
  record.f(record.v); // error, record.f looks like a union of functions; can't call those
}

Right now, the ways to convince TypeScript that this is okay are either to use an unsafe assertion:
function processRecord(record: UnionRecord) {
    type T = string | number | boolean; // or whatever
    const genericRecord = record as GenericRecord<T>; // unsafe
    genericRecord.f(genericRecord.v);
    genericRecord.f("hmm"); // boom?
}

or to explicitly and unnecessarily narrow record to each possible constituent of UnionRecord ourselves:
const guard = <K extends UnionRecord['kind']>(
  k: K, x: UnionRecord): x is Extract<UnionRecord, {kind: K}> => x.kind === k;
const assertNever = (x: never): never => { throw new Error(); }
function processRecord(record: UnionRecord) {
    if (guard("n", record)) {
        record.f(record.v); // okay
    } else if (guard("s", record)) {
        record.f(record.v); // okay
    } else if (guard("b", record)) {
        record.f(record.v); // okay
    } else assertNever(record);
}

^ This is not just redundant, but brittle: add another GenericRecord<T>-compatible constituent to the UnionRecord, and it breaks.
While it would be nice if the type checker automatically detected and addressed this situation, it would probably be unreasonable to expect it to aggressively distribute its control flow analysis over every union-typed value.   I can only imagine the combinatoric nightmare of performance problems that would cause.  But what if you could just tell the type checker to do the distributive narrowing for a particular, specified value?  As in:
function processRecord(record: UnionRecord) {
  type switch (record) {  // new syntax here
    record.f(record.v); // okay
  }
}

The idea is that type switch(val) tells the type checker to iterate over the union constituents of typeof val, similarly to the way distributive conditional types iterate over the naked type parameter's union constituents.  Since the code in the block has no errors in each such narrowing, it has no errors overall.  (Note that any performance problem caused by this should be comparable to that of compiling the "brittle" code above)
That is: if a value x is of type A | B, then type switch(x) should iterate over A and B, narrowing x to each in turn.  (Also, I think that if a value t is of a generic type T extends U | V, then type switch(t) should iterate over U and V.)
Additionally, any value whose type would normally be narrowed by control flow analysis in the block should end up as the union of all such narrowed types, which is very much like distributive conditional types.  That is: if narrowing x to A results in y being narrowed to C, and if narrowing x to B results in y being narrowed to D, then type switch(x) {...y...} should result in y being narrowed to C | D.
Another motivating example which shows the distributive union expression result:
Calling overloaded functions on union types
Imagine an overloaded function and the following oft-reported issue:
declare function overloaded(x: string): number;
declare function overloaded(x: number): boolean;
declare const x: string | number;
const y = overloaded(x); // expected number | boolean, got error

Before TypeScript 2.8 the solutions were either to add a third redundant-information overload which accepted string | number and returned number | boolean:
declare function overloaded(x: string | number): number | boolean;  // add this

or to narrow x manually in a redundant way:
const y = (typeof x === 'string') ? overloaded(x) : overloaded(x);
// y is number | boolean;

Since TypeScript 2.8 one could replace the three overloaded signatures with a single overloaded signature using conditional types:
// replace with this
declare function overloaded<T extends string | number>(x: T): T extends string ? number : boolean;

which, when the argument is a union, distributes over its types to produce a result of number | boolean.
The suggestion here would allow us to gain this behavior of distributive conditional types acting at the control flow level.  Using the type switch(x) code block syntax for a single expression is a bit messy:
let y: string | number | boolean;  // something wide
type switch(x) {
    y = overloaded(x); // okay
}
y; // narrowed to number | boolean;

If we could introduce a way to represent distributive control flow for an expression instead of as a statement, it would be the simpler
const y = (overloaded(x) as if switch(x));  // y is number | boolean

where the as if switch(x) is saying "evaluate the type of the preceding expression by distributing over the union constituents of typeof x".
Whew, that's it.  Your thoughts?  Thanks for reading!
Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript / JavaScript code (new syntax is currently an error)
[x] This wouldn't change the runtime behavior of existing JavaScript code (has no effect on emitted js)
[x] This could be implemented without emitting different JS based on the types of the expressions (has no effect on emitted js)
[x] This isn't a runtime feature (e.g. new expression-level syntax) (has no effect on emitted js)

A few notes on this proposal.

we have always overlaid type system concepts on top of JS patterns. e.g. control flow analysis and type guards. And that has served us well. That first guaranteed a natural and ergonomic user experience, and second allows our analysis engine to understand plain JS. having a new syntax to call a function with a union type is not seamless nor ergonomic.
"without requiring the difficult general solution" i do not think that is true. i think the implementation issues with this proposal are more or less the same issues with https://github.com/Microsoft/TypeScript/issues/7294, namely that context sensitive declarations get a type based on the first context they are checked in.

I believe https://github.com/Microsoft/TypeScript/issues/7294 is still the right approach there. we just need to figure out the machinery to make it work.

Hmm, fair enough.. union-type function calls has other more attractive potential solutions.
I still keep running into the correlated/entangled record issue and I'd love to have some idiomatic TS way of dealing with it, so if you have any idea there I'd be thrilled to hear it.
Thanks for your feedback!

Another use case from this question not involving function calls:
interface Fish  {
  type: 'FISH',
}

interface Bird  {
  type: 'BIRD',
  flyingSpeed: number,
}

interface Ant  {
  type: 'ANT',
}

type Beast = Fish | Bird | Ant

function buildBeast(animal: 'FISH' | 'BIRD' | 'ANT') {
    const myBeast: Beast = animal === 'BIRD' ? {
        type: animal,
        flyingSpeed: 10
    } : {type: animal} // error
}

In this proposal, something like the following would leave the emitted JavaScript (essentially) unchanged and allow the code to compile in a non-redundant type-safe way:
function buildBeast(animal: 'FISH' | 'BIRD' | 'ANT') {
    const myBeast: Beast = animal === 'BIRD' ? {
        type: animal,
        flyingSpeed: 10
    } : ({type: animal} as if switch(animal)) // okay
}

this is a different issue though. this works in the simple case of one property, i.e. { p: "A" } | { p: "B" } is equivalent to { p : "A" | "B" } but once you add another property it does not, i.e { p1: "A", p2: "A" } | { p1: "B", p2: "B" } is not equivalent to { p1: "A" | "B", p2: "A" | "B" }.
We could add special support for one property, thought it is not clear if the value added would warrant the cost needed to detect that there is only one union property in the type that can be merged.

I'm sure every particular case that could be addressed by this suggestion could instead be fixed by a cleverer type checker, and that each instance of cleverness needed could be seen as a separate issue (related records ≠ union function parameters ≠ single-property union distribution).    But in the absence of such cleverness, it would be nice for developers to have a handle they can turn to lead the type checker through a more exhaustive analysis which could verify (or falsify) the type safety of these patterns.

But in the absence of such cleverness,

I hear you. but our budget to add new features is tight. once something is added, it can not be removed when the compiler gets cleverer, so we tread slowly on these issues.

i think the implementation issues with this proposal are more or less the same issues with #7294, namely that context sensitive declarations get a type based on the first context they are checked in.  I believe #7294 is still the right approach there. we just need to figure out the machinery to make it work.

Even so, I'm wondering if either #7294 (or the related #14107) would actually handle the use case presented here, namely the correlated nature of the two arguments to the function.   For example,
function processRecord(record: UnionRecord) {
  record.f(record.v); // error, record.f looks like a union of functions; can't call those
}

wouldn't be fixed if I interpret record.f as a single function whose argument is string & number & boolean.  I'm still forced to walk through each possible narrowing of record manually.  Or am I missing something?

wouldn't be fixed if I interpret record.f as a single function whose argument is string & number & boolean. I'm still forced to walk through each possible narrowing of record manually. Or am I missing something?

that works for a single argument function, but not if you have multiple arguments. gets more complicated once you through contextual types for context sensitive constructs (lambdas and object literals) into the mix. Overload resolution is a complicated piece of machinery.

Even in the single-argument function case, the perfect solution to unions/intersections of functions wouldn't address correlated values, right?  It's an unrelated issue as far as I can tell.
In case I haven't explained it properly (and if anyone else is watching), the issue is that you have a value record whose property types exhibit something like a "joint distribution":

ACTUAL POSSIBILITIES
typeof record.f =  (v: number) => void
typeof record.f =  (v: string) => void
typeof record.f =  (v: boolean) => void

typeof record.v = number
✓

typeof record.v = string

✓

typeof record.v = boolean

✓

It is obvious from that chart that record.f(record.v) is type safe.  But the compiler ends up treating the type of record.f to be independent of that of record.v.  That is, it naturally takes a "marginal distribution" for each property, which throws away the relationship between the variables, and instead views record as if it were:

LOSSY INTERPRETATION
typeof record.f =  (v: number) => void
typeof record.f =  (v: string) => void
typeof record.f =  (v: boolean) => void

typeof record.v = number
✓
✓
✓

typeof record.v = string
✓
✓
✓

typeof record.v = boolean
✓
✓
✓

in which record.f might not accept an argument of type record.v.
Is there an existing issue filed somewhere which mentions this situation?  Mostly I just want to have someplace canonical to point people when they run into it themselves.

I do not think we are disagreeing on the desired behavior. Given call on a union of signatures, the compiler needs to verify that for every signature the call is valid, and the result is a union of the return types of the resolved signatures. When looking at a signature from one constituents of the union, say record.f in your example, we can narrow the type of record to match, this way the type of record.v would have the correct type and the overload resolution would succeed.
but again the challenge here is how to implement this in the current system.

That makes sense, thanks.

So, this was closed as a duplicate of #7294 which was recently closed via #29011.  I don't think that fix (even after its caveats are addressed) will deal with correlated types.  Could I reopen this?  Or open a new issue to track narrowing of correlated types?  I keep seeing questions about this but I don't know where to direct them for an official answer.  Right now the answer is "use type assertions", but I'd love to see an official place for this issue, even if the suggestion here isn't the solution for it.

Wow, I really want something like this now that #30769 is in place.

This is also a possible way to address #12184, btw.


input+lnrpc: realign witness types

#7460
This PR brings the StandardWitnessType enum back in line with the WitnessType enum.
To avoid breaking compatibility with the existing protobuf definition, I added the missing enum values there, and renumbered the enum values in the input package to match.
I wasn't quite sure how to go about testing this. Really you'd want to iterate over all the values of a defined enum. Not sure if this is even possible in Go. So instead I created a map from enum values to strings, and compared the values in that map with the generated protobuf enum values. Admittedly it's not foolproof.
Whilst I was there, I also thought it made sense to refactor the String method to use this new map.
EDIT: I reworked this a little, and the test now uses the String method directly without creating a global map.

I wasn't quite sure how to go about testing this. Really you'd want to iterate over all the values of a defined enum. Not sure if this is even possible in Go.

Haven't taken a look at the PR but couldn't you go through

I think we need to test the mapping where it is needed in the codebase, because this will not prevent any errors when we are not actually changing the function where the mapping is done. mapping
My recommendation:
Write a function which does the mapping getWitnessType(input.StandardWitnessType) walletrpc.WitnessType and then test this function for all input types and make sure no unknown witness type is returned where its not expected.

I think we need to test the mapping where it is needed in the codebase, because this will not prevent any errors when we are not actually changing the function where the mapping is done. mapping
My recommendation: Write a function which does the mapping getWitnessType(input.StandardWitnessType) walletrpc.WitnessType and then test this function for all input types and make sure no unknown witness type is returned where its not expected.
Try to use make lint which catches some coding style|formatting bugs

@ziggie1984 thanks for the feedback, I have

created a getWitnessType function to do the mapping
made a test to ensure that the mapping is correct
run make lint and resolved any linting issues

Would you mind taking another look?

@emilioziniades, remember to re-request review from reviewers when ready

@guggero: review reminder
@emilioziniades, remember to re-request review from reviewers when ready

@guggero: review reminder
@emilioziniades, remember to re-request review from reviewers when ready

@guggero I've rebased the fixup commits. The PR is ready for a final pass.


tool add request for rna fusion

Hello,
I find arriba very attractive for rna fusion.
https://github.com/suhrig/arriba
Should I try to add this myself or it's better to request to bcbio?
Many thanks!

Hi Segun,
Nice one, that looks pretty awesome. We are definitely up for taking pull requests but we could also work on adding it together. The first step would be running and making sure it actually runs and we can reproduce the results. Then we can take what we did and formalize it in bcbio.  I think we already produce the STAR alignments with the proper flags so it would be nice to figure out if we could hook up what we are already doing to arriba.

Thanks Rory.  We use bcbio pipeline and my colleague had been testing in parallel hoping to integrate with bcbio later if we observe decent performance. So far the results are promising and outperforming the two fusion tools available in bcbio for our target genes. Please let me know if you need any help from my end.

Thanks, Sebastian was super nice and updated the bioconda recipe so it will be compatible with bcbio, so that's one step down.

Thanks Rory for the follow-up.  It's very exciting to see the progress.  Please keep me posted.
Regards,
Segun

I have this functional for GRCh37 and am testing it now on https://www.ncbi.nlm.nih.gov/bioproject/PRJNA252360/ to make sure the results are reasonable on a toy dataset. @areddy965 has some nice real samples to test it on once we finish having it integrated.

Thanks so much for the hard work. That is really exciting news!  Can’t wait to try this tool in bcbio.

I have implemented support for arriba with GRCh37 only. If you update your data, installation and tools with:
bcbio_nextgen.py upgrade -u development --tools --data --genomes GRCh37

it will pull in the fusion blacklist files from arriba and will run arriba if you use STAR as the aligner and add arriba to the fusion_callers list. I've run it and it is functional, but haven't looked at the output yet to see if it is doing a reasonable job. But this is a good starting point for us to figure out if it is doing a good job and how we can tweak it to doing better. I'm out tomorrow but will look at the results later on this week, and am now working on hg38 support, which is going to be more involved as arriba needs the STAR aligner and STAR doesn't support hg38 with the alts, so we have to add an alt-free STAR index.

That's awesome, thanks Rory. We'll have a look at it as well; I'm particularly interested to see if it can handle input from other aligners, particularly DRAGEN, which would allow us to support hg38 that way.

Awesome. on my vacation, but I am super excited to give a try when returning to work.

Testing this now as well. Does the current install make use of the blacklist?

got updated and can see arriba is available. thanks.
Should I simply add arriba under fusion_caller in yaml and it would work?

Hi Segun,
Yup that will do it-- when I'm done with the full release I'll update all the documentation.

awesome

Works well - it produces less noise than Pizzly, verdict is out whether it's also as sensitive. I can only test it on samples with single (driver) fusions; would love to get my hands on a public test set.

Alright. It works functionally and calls some events, but missed 5/5 driver events that I've now looked at, some with strong evidence and called by Pizzly. Even looking at the unfiltered output Pizzly has basic support for some of the fusions where Arriba sees 0/0 splitread/discordant support.
I'll try to run it outside of bcbio to see if I can get different results that way.

Running the same sample with the defaults outside of bcbio gives different results that match the expectations. This is with the same STAR install and FASTQs. If the blacklist is the same I would suspect that the GTF might be source (GENCODE19 vs bcbio's ref-transcripts.gtf?

Thanks Oliver, looping in our talk over Slack here:
Running Arriba with just a:
./arriba -x ../MDX190048_RNA004663_B_ALL_Case_6_T_RNA-ready.bam -o fusions.tsv -O fusions.discarded.tsv -a GRCh37.fa -g ref-transcripts.gtf -b database/blacklist_hg19_hs37d5_GRCh37_2018-11-04.tsv.gz -T -P
Finds the missed fusion and ~20 others that have strong support. That's the bcbio-generated STAR BAM, the bcbio gtf, and their blacklist.

I'm checking right now if the -i parameter is bugged, and that's what is causing uninteresting_contigs to get set. https://arriba.readthedocs.io/en/latest/internal-algorithm/#read-level-filters describes what uninteresting_contigs means.

Ok! I think that is it:
with -i set
Loading annotation from '/n/app/bcbio/biodata/genomes/Hsapiens/GRCh37/rnaseq/ref-transcripts.gtf'
Loading assembly from '/n/app/bcbio/biodata/genomes/Hsapiens/GRCh37/seq/GRCh37.fa'
Reading chimeric alignments from '../align/SRR1659952/SRR1659952_star/SRR1659952.bam' (total=2882489)
Filtering multi-mappers and single mates (remaining=2882489)
Detecting strandedness (no)
Annotating alignments
Filtering duplicates (remaining=2142320)
Filtering mates which do not map to interesting contigs (1) (remaining=73956)
Estimating mate gap distributionWARNING: not enough chimeric reads to estimate mate gap distribution, using default values
Filtering read-through fragments with a distance <=10000bp (remaining=71667)
Filtering inconsistently clipped mates (remaining=71446)
Filtering breakpoints adjacent to homopolymers >=6nt (remaining=71172)
Filtering fragments with small insert size (remaining=13468)
Filtering alignments with long gaps (remaining=13468)
Filtering fragments with both mates in the same gene (remaining=13280)
Filtering fusions arising from hairpin structures (remaining=11775)
Filtering reads with a mismatch p-value <=0.01 (remaining=10967)
Filtering reads with low entropy (k-mer content >=60%) (remaining=10836)
Finding fusions and counting supporting readsWARNING: Some fusions were subsampled, because they have more than 300 supporting reads
 (total=11361)
Merging adjacent fusion breakpoints (remaining=11354)
Estimating expected number of fusions by random chance (e-value)
Filtering fusions with both breakpoints in adjacent non-coding/intergenic regions (remaining=11026)
Filtering intragenic fusions with both breakpoints in exonic regions (remaining=10467)
Filtering fusions with <2 supporting reads (remaining=1682)
Filtering fusions with an e-value >=0.3 (remaining=814)
Filtering fusions with both breakpoints in intronic/intergenic regions (remaining=784)
Filtering PCR fusions between genes with an expression above the 99.8% quantile (remaining=782)
Searching for fusions with spliced split reads (remaining=783)
Selecting best breakpoints from genes with multiple breakpoints (remaining=69)
Searching for fusions with >=4 spliced events (remaining=69)
Filtering blacklisted fusions in '/n/app/bcbio/biodata/genomes/Hsapiens/GRCh37/rnaseq/fusion-blacklist/arriba-blacklist.tsv.gz' (remaining=12)
Filtering fusions with anchors <=23nt (remaining=12)
Filtering end-to-end fusions with low support (remaining=11)
Filtering fusions with no coverage around the breakpoints (remaining=11)
Indexing gene sequences
Filtering genes with >=30% identity (remaining=9)
Re-aligning chimeric reads to filter fusions with >=80% mis-mappers (remaining=6)
Selecting best breakpoints from genes with multiple breakpoints (remaining=6)
Searching for additional isoforms (remaining=6)
Assigning confidence scores to events
Writing fusions to file 'SRR1659952-fusions.tsv'
Writing discarded fusions to file 'SRR1659952-fusions.discarded.tsv'

without -i set
Loading annotation from '/n/app/bcbio/biodata/genomes/Hsapiens/GRCh37/rnaseq/ref-transcripts.gtf'
Loading assembly from '/n/app/bcbio/biodata/genomes/Hsapiens/GRCh37/seq/GRCh37.fa'
Reading chimeric alignments from '../align/SRR1659952/SRR1659952_star/SRR1659952.bam'
 (total=2882489)
Filtering multi-mappers and single mates (remaining=2882489)
Detecting strandedness (no)
Annotating alignments
Filtering duplicates (remaining=2142320)
Filtering mates which do not map to interesting contigs (1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 X Y) (remaining=1543505)
Estimating mate gap distribution (mean=41.196, stddev=28.0094)
Filtering read-through fragments with a distance <=10000bp (remaining=1514872)
Filtering inconsistently clipped mates (remaining=1509037)
Filtering breakpoints adjacent to homopolymers >=6nt (remaining=1474665)
Filtering fragments with small insert size (remaining=917037)
Filtering alignments with long gaps (remaining=917037)
Filtering fragments with both mates in the same gene (remaining=915470)
Filtering fusions arising from hairpin structures (remaining=900624)
Filtering reads with a mismatch p-value <=0.01 (remaining=850576)
Filtering reads with low entropy (k-mer content >=60%) (remaining=836516)
Finding fusions and counting supporting readsWARNING: Some fusions were subsampled, because they have more than 300 supporting reads
 (total=894138)
Merging adjacent fusion breakpoints (remaining=894078)
Estimating expected number of fusions by random chance (e-value)
Filtering fusions with both breakpoints in adjacent non-coding/intergenic regions (remaining=891730)
Filtering intragenic fusions with both breakpoints in exonic regions (remaining=886683)
Filtering fusions with <2 supporting reads (remaining=60344)
Filtering fusions with an e-value >=0.3 (remaining=16674)
Filtering fusions with both breakpoints in intronic/intergenic regions (remaining=16232)
Filtering PCR fusions between genes with an expression above the 99.8% quantile (remaining=4999)
Searching for fusions with spliced split reads (remaining=5021)
Selecting best breakpoints from genes with multiple breakpoints (remaining=523)
Searching for fusions with >=4 spliced events (remaining=527)
Filtering blacklisted fusions in '/n/app/bcbio/biodata/genomes/Hsapiens/GRCh37/rnaseq/fusion-blacklist/arriba-blacklist.tsv.gz' (remaining=147)
Filtering fusions with anchors <=23nt (remaining=91)
Filtering end-to-end fusions with low support (remaining=77)
Filtering fusions with no coverage around the breakpoints (remaining=69)
Indexing gene sequences
Filtering genes with >=30% identity (remaining=50)
Re-aligning chimeric reads to filter fusions with >=80% mis-mappers (remaining=25)
Selecting best breakpoints from genes with multiple breakpoints (remaining=22)
Searching for additional isoforms (remaining=23)
Assigning confidence scores to events
Writing fusions to file 'SRR1659952-fusions.tsv'
Writing discarded fusions to file 'SRR1659952-fusions.discarded.tsv'

I didn't notice it, but with -i set it is just looking at 1. Let me try it with commas instead of spaces for -i.

Yup, that was it-- the help says it can be space or comma separated, but only comma separated works. Will file a bug and push a fix.

Oh boy. Thanks for investigating!

One feature request: could you expose the -k parameter through the config YAML? Either similar to variant_regions or coverage as a way to feed fusion information to Arriba or (since it's Arriba specific) via the resources/options path. I think this will go a long way to rescue known variants.

Yep, will do.

Okey doke, hg38 is all set for this. I haven't tested it yet but it should work.

wow. Thanks a lot.  I have been waiting for this since we use hg38.

If you have an hg38 STAR index made, you'll have to nuke it and re-make it so it makes a stripped down one without the ALTs/decoys/HLA regions.

nuke it and run bcbio_nextgen.py upgrade --data --genomes hg38 --aligners star

Testing it vs the previous reference data (if I can get the index built...)

Thanks, I'm sure there will be issues so let me know if anything doesn't work. I was torn about whether or not to include the decoy regions and decided against it; we can revisit that decision if it turns out having them is a good idea. I was just going by what the STAR manual suggests to provide.

Got it working. hg38 seems to be having issues with the blacklist; I am seeing an increase in fusions called. Re-running the same version across GRCh37 to verify.

Thanks-- I had to reformat the blacklist to match our chromosome naming, maybe arriba doesn't like that, am testing it out now.

On the good news side it works well with GRCh37 even without the added known fusion support. I've not yet tested this for hg19; holding off until hg38 works. Thanks for all your work on this, Rory.

Thanks-- sorry I didn't include any of the blacklist stuff for hg19, are you all using that? I can add it if folks are using it.

I'll upgrade to the current dev version and re-run to confirm. hg19 should be the same blacklist as GRCh37, think Arriba changes the naming convention internally.

Great, added support for hg19 as well. I also included all of the other files that are needed to generate the arriba plots as part of the data install.

Thanks, this is all set I think. I haven't added the plots yet, but I've tested it on a spike in dataset and it looks like it works well, so I think we have something solid in place we can improve on. Thanks everyone for pushing to get this integrated and for all the help testing!


⚠ Turnos 24x7 has degraded performance

In b81ad63, Turnos 24x7 (https://reservas-dev.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 991 ms

Resolved: Turnos 24x7 performance has improved in fb32514.


Wr/parking orbit

What does this PR do?
updates to core3 command5 (not published yet)
needs heavy testing and QA
What issues does this PR fix or reference?
@W-10743791@
@W-10811265@

QA Notes • 2022.04.05 updates
auth:list
⚪ All aliases are listed as undefined

Working now 🟢

⚪ Unrelated to plugin:auth: All Instance URLs are truncated, is there a way to show the whole string?

Working now 🟢

auth:list --json
⚪ JSON contract changed! alias is now an array with the key aliases

Alias is no longer an array 🟢
Alias key is always added (alias: "") 🔴

Probably not a big deal but users could be checking that alias is undefined or that the alias key does not exist. This has the potential to break conditionals.

auth:device:login
⚪ Not working with V3!

Working now 🟢

auth:sfdxurl:store --json
⚪ JSON contract changed (V3 missing clientSecret but it is empty :thinking:)

Working now 🟢

🔴 auth:accesstoken:store is asking to override an auth file that doesn't exist.

sfdx force:org:create -s -f config/project-scratch-def.json
sfdx force:org:display

You’ll need Access Token and Instance URL

sfdx auth:logout
ls -lah ~/.sfdx

Note that there is not an auth file for logged out user

sfdx auth:accesstoken:store -s -r THE_INSTANCE_URL

Paste in the Access Token
It will ask you if you want to override non-existent file

I think we're good! 🚀 Was able to log in with all of the auth methods:
sfdx auth:web:login
sfdx auth:jwt:grant
sfdx auth:sfdxurl:store
sfdx auth:device:login
sfdx auth:accesstoken:store


Feature: add dark mode for ForgotPassword

Issue #87  📐

I <amitgiri72> have worked for #87

Guidelines 🔐
I accept the fact that I have followed the guidelines and have not copied the codes from around the internet

[x] Contribution Guidelines
[x] Code of Conduct

Issue to be closed 🛅

My pull request closes #87

Screenshots 📷
Here are the pictures of changes that I have made 🔽

First you ask to get assigned to an issue, please

See account recovery text not visible for light mode

Fixed :  account recovery text not visible for light mode

ask in the issue to get assigned


⚠ Bofrost.at has degraded performance

In ef82690, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1069 ms

Resolved: Bofrost.at performance has improved in cd6151d.


Allow for AWSHelperFn objects in Tags

Fixes #1385
Usecase: We would like to add a dynamically named tag, depending on the value of a Stack parameter, for example if a string is provided, create a tag based on that value.  Currently this is not possible.
This update allows for multiple args to be passed into the Tags constructor, as long as all are either dictionaries, or AWSHelperFn objects.  It also adds a Tag object, to represent a single resource tag, and enforce proper formatting.

@markpeek  Any feedback on this PR?

Thanks!


Add Number of 'Search Results'

Could we add the number of results after each search at the top of the page? Thank you!

Are you thinking of something like

Chant Results
41 chants found with the search query
/ TABLE /

Yes, exactly!

I will add this as part of PR #32 since it's a very small change that can be helpful for development on that branch too.


OpenDAL should return a permission error while object storage list_objects returns 404

Ideally, an object storage service will return an empty object list while listing not exist paths. However, services like s3 and oss returns 404 when users don't have enough permission. OpenDAL should return a permission error instead to avoid confusion.
ref: https://aws.amazon.com/premiumsupport/knowledge-center/404-error-nosuchkey-s3/

Not a big problem.


Webpack 5 - document is not defined

In my webpack.config.js file I have:
output: {
    ...
    libraryTarget: "umd",
    globalObject: "this",
},

...

new StaticSiteGeneratorPlugin({
    locals: {},
    globals: {
        window: {},
    },
}),

ERROR in ReferenceError: document is not defined
    at evalmachine.<anonymous>:127444:36
    at evalmachine.<anonymous>:127466:13
    at evalmachine.<anonymous>:133637:12
    at webpackUniversalModuleDefinition (evalmachine.<anonymous>:3:20)
    at evalmachine.<anonymous>:10:3
    at Script.runInContext (node:vm:139:12)
    at Script.runInNewContext (node:vm:144:17)
    at module.exports (/Users/justinschwartz/Documents/GitHub/chrome-extension/node_modules/eval/eval.js:84:12)
    at /Users/justinschwartz/Documents/GitHub/chrome-extension/node_modules/static-site-generator-webpack-plugin/index.js:42:22
    at fn (/Users/justinschwartz/Documents/GitHub/chrome-extension/node_modules/webpack/lib/Compilation.js:509:9)

webpack 5.72.0 compiled with 1 error in 47986 ms

Add to globals document you can mock that with JS-DOM library
 globals: {         document: {},     },


fix: Text format getting lost when using suggestion/autocorrect on iOS

fixes #4801
Auto-correct/suggestions on iOS (and macOS?) trigger the insertReplacementText input type event, and inserting the nodes generated from the text/html data cause the formatting to be lost.
That isn't an issue if only the text/plain data is used to insert the text. With the insertReplacementText there's probably no need to be using the HTML data anyways.

That's a good point. I'll need to look into it more.
BTW, this comment I made on the issue has more info about the stacktrace of what happens when you press a suggestion

What is the HTML value we're getting from the iPhone?

The HTML value seems to be just plaintext, which then leads to a TextNode being generated from it.

I have also been facing this issue and proposed another solution in https://github.com/facebook/lexical/pull/5789

According to #5789 this has been fixed


In what programming language it is written?

What the program do ?
In what programming language it is written?

The program will print the message "Hello World".
This program is written in JAVA proframming language

This program will simply print the message"Hello world"
This program is written in JAVA programming language.
On Sat, 13 Oct 2018 at 11:37, DSajini<EMAIL_ADDRESS>wrote:

What the program do ?
In what programming language it is written?
You can view, comment on, or merge this pull request online at:
https://github.com/Hacktoberfest-2018/Hello-world/pull/2231
Commit Summary

commit Hello.java file

File Changes

A Hello.java
https://github.com/Hacktoberfest-2018/Hello-world/pull/2231/files#diff-0
(11)

Patch Links:

https://github.com/Hacktoberfest-2018/Hello-world/pull/2231.patch
https://github.com/Hacktoberfest-2018/Hello-world/pull/2231.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Hacktoberfest-2018/Hello-world/pull/2231, or mute
the thread
https://github.com/notifications/unsubscribe-auth/Ap373I-QfBWfdrkF6LRhXZCFDQ4a2q0gks5ukYMbgaJpZM4XaecG
.

This pull request do not contains files in specific folders. Please fix it and reopen


Update readme.md

To trigger a dummy commit

@Saekrede1 Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@Saekrede1 Thank you for signing the Contributor License Agreement!


added a health check path

Required for all non-trivial PRs

[X] Rebased/mergable
[] Tests pass
[ ] CHANGELOG.md updated
[X] Sign CLA (if not already signed)

Required only if applicable
You can erase any checkboxes below this note if they are not applicable to your Pull Request.

[ ] TICKscript Spec updated

resolves #1830

@elad-nach Thanks for the PR! Kapacitor already has a health check endpoint /ping. Since the AWS ELB requires the response to be a 200 OK. I think the best change is to have the /ping endpoint return a 200 OK instead of a 204 No Content. That way the ELB will still work and we don't have two endpoints for the same purpose.
Can you update this PR to modify the /ping endpoint instead of adding a new endpoint?

@nathanielc thanks for the quick review. I didn't touch the /ping endpoint due to the assumption that this endpoint is already being used, maybe by influx or other daemons on the stack and this might turn out to be a breaking change (if someone's using it - they're probably also asserting the 204 and the assertion would now break).
Will adjust the PR nevertheless.

closing this. not sure why the tests are still failing after my adjustments but the overhead of dealing with this is already past my expectations


Conan not found when installed through winget

I have installed conan on my windows machine through winget with the following command:
winget install "Conan Package Manager". After cloning and configuring the project cmake reported that it cannot find conan.
After a little investigation i found out, that conan is installed as "Conan" through winget. The cmake find_package call unfortunatly searches for "conan". Thus it cannot find conan when installed with winget.

maybe i created my project from an old fork... I`ll check that...

It looks like the problem is in the downloaded conan.cmake file from conan.io.
If Line 793 in the downloaded conan.cmake file is changed from find_program(CONAN_CMD conan) to find_program(CONAN_CMD conan Conan) it works. I try to report the issue in the conan.io repository.

I opened cmake-conan issue 385 for this. I`ll leave this open until it is fixed there.

find_program searches for conan.exe. Does winget install conan as Conan.exe? That is strange and it is a bug in winget if that's the case not CMake.

I'll check as soon as i have a spare minute :)
But one note: Aren't many Powershell commands UpperCamelcase?
I'll check that as well... Maybe my Clion/Powershell combination has something to do with this issue 🤷♂

I'll check as soon as I have a spare minute :)
But one note: Aren't many Powershell commands UpperCamelCase?
I'll check that as well... Maybe my Clion/Powershell combination has something to do with this issue 🤷♂

PowerShell's built-in commands are case insensitive. I always use them as lowercase to prevent confusion.

From my memory:
When i tried executing conan Powershell told it could not find it while Conan produced the expected output. (But that is exactly what find_program told me as well...).

wow... i feel super stupid right now... "have you tried turning it off and on again"
Actually after turning my pc on again after a week or so, PowerShell, CMD and cmakes configure inside CLion find both conan and Conan...
So my problem suddenly disappeared over night. I'll close this issue as it is no issue for me anymore. Never thought i need Windows to reboot so that it finds the lowercase version of that executable.


Filtering not supported for fields of type email

When trying to search for items using the new Email field, PodioBadRequestException is thrown with this message:
"Filtering not supported for fields of type email".
How can we filter the items in the meanwhile?

Filtering by an Email field is not supported by Podio API. You can use Search in app API to achieve the same.

Is there a way to search by the exact email? When I use App search with email<EMAIL_ADDRESS>it returns all the items that have 'gmail.com' and even '.com'

I have also gone through the same situation. There is no way to restrict to exact matches in Podio search API.


fix: abort conflicting cherry-pick before starting new one

Thank you for submitting this pull request
fixes https://github.com/kiegroup/git-backporting/issues/144
Description
When the process should backport the same change to multiple target branches, before checking out the next target branch:

Checks whether the current local repository contains any conflict
If yes, it means a previous cherry-pick failed, therefore it aborts the cherry-pick with cherry-pick --abort
Checkout the new  target branch

How Has This Been Tested?

Manually tested running:
node dist/cli/index.js -pr https://github.com/lampajr/backporting-example/pull/63 --no-squash -tb "prod,develop" -d -f /tmp/bp --strategy "ort" --strategy-option "find-renames"

The develop backport should work, the prod one shouldn't, here the output:
[WARN ] Trying to backport an open pull request
[DEBUG] [prod] Cloning repo..
[INFO ] [prod] Cloning repository https://github.com/lampajr/backporting-example.git to /tmp/bp
[DEBUG] [prod] Creating local branch..
[INFO ] [prod] Creating branch bp-prod-0404fb9-11da4e3
[DEBUG] [prod] Fetching pull request remote..
[INFO ] [prod] Fetching origin pull/63/head:pr/63
[DEBUG] [prod] Cherry picking commits..
[INFO ] [prod] Cherry picking 0404fb922ab75c3a8aecad5c97d9af388df04695
[DEBUG] [prod] Cherry picking command git cherry-pick,-m,1,--strategy=ort,--strategy-option=find-renames,0404fb922ab75c3a8aecad5c97d9af388df04695
[INFO ] [prod] Cherry picking 11da4e38aa3e577ffde6d546f1c52e53b04d3151
[DEBUG] [prod] Cherry picking command git cherry-pick,-m,1,--strategy=ort,--strategy-option=find-renames,11da4e38aa3e577ffde6d546f1c52e53b04d3151
[ERROR] [prod] Something went wrong backporting to prod: Error: Error: Auto-merging file2.txt
CONFLICT (content): Merge conflict in file2.txt
error: could not apply 11da4e3... Update file2.txt
hint: After resolving the conflicts, mark them with
hint: "git add/rm <pathspec>", then run
hint: "git cherry-pick --continue".
hint: You can instead skip this commit with "git cherry-pick --skip".
hint: To abort and get back to the state before "git cherry-pick",
hint: run "git cherry-pick --abort".
hint: Disable this message with "git config advice.mergeConflict false"

Showing git diff:
diff --cc file2.txt
index 93e9c13,bf04643..0000000
--- a/file2.txt
+++ b/file2.txt
@@@ -2,5 -2,4 +2,9 @@@ feature2: update
  test2: updated
  feature2: updated x 2
  feature1: updated
++<<<<<<< HEAD
 +force conflict
 +force conflict x2
++=======
+ multiple commit change
++>>>>>>> 11da4e3 (Update file2.txt)

[DEBUG] [develop] Cloning repo..
[INFO ] [develop] Cloning repository https://github.com/lampajr/backporting-example.git to /tmp/bp
[INFO ] [develop] Folder /tmp/bp already exist. Won't clone
[DEBUG] [develop] Found conflicts in branch bp-prod-0404fb9-11da4e3
[WARN ] [develop] Found previously failed cherry-pick, aborting it
[INFO ] [develop] Checking out branch develop
[DEBUG] [develop] Creating local branch..
[INFO ] [develop] Creating branch bp-develop-0404fb9-11da4e3
[DEBUG] [develop] Fetching pull request remote..
[INFO ] [develop] Fetching origin pull/63/head:pr/63
[DEBUG] [develop] Cherry picking commits..
[INFO ] [develop] Cherry picking 0404fb922ab75c3a8aecad5c97d9af388df04695
[DEBUG] [develop] Cherry picking command git cherry-pick,-m,1,--strategy=ort,--strategy-option=find-renames,0404fb922ab75c3a8aecad5c97d9af388df04695
[INFO ] [develop] Cherry picking 11da4e38aa3e577ffde6d546f1c52e53b04d3151
[DEBUG] [develop] Cherry picking command git cherry-pick,-m,1,--strategy=ort,--strategy-option=find-renames,11da4e38aa3e577ffde6d546f1c52e53b04d3151
[WARN ] [develop] Pull request creation and remote push skipped
[INFO ] [develop] {
  "owner": "lampajr",
  "repo": "backporting-example",
  "head": "bp-develop-0404fb9-11da4e3",
  "base": "develop",
  "title": "[develop] Update file1.txt",
  "body": "**Backport:** https://github.com/lampajr/backporting-example/pull/63\r\n\r\nThis PR aims to reset a file",
  "reviewers": [
    "lampajr"
  ],
  "assignees": [],
  "labels": [],
  "comments": []
}

As you can see, the first one (against prod) failed but the second one (against develop) succeeded as expected.
Checklist

[ ] Tests added if applicable.
[ ] Documentation updated if applicable.

Merge criteria:

[x] The commits and have meaningful messages; the author will squash them after approval or will ask to merge with squash.
[ ] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[ ] The developer has manually tested the changes and verified that the changes work

Note: dist/cli/index.js and dist/gha/index.js are automatically generated by git hooks and gh workflows.

First time here?

This project follows git conventional commits pattern, therefore the commits should have the following format:
<type>(<optional scope>): <subject>
empty separator line
<optional body>
empty separator line
<optional footer>

Where the type must be one of [build, chore, ci, docs, feat, fix, perf, refactor, revert, style, test]

NOTE: if you are still in a work in progress branch and you want to push your changes remotely, consider adding --no-verify for both commit and push, e.g., git push origin <feat-branch> --no-verify - this could become useful to push changes where there are still tests failures. Once the pull request is ready, please amend the commit and force-push it to keep following the adopted git commit standard.

How to prepare for a new release?

There is no need to manually update package.json version and CHANGELOG.md information. This process has been automated in Prepare Release Github workflow.
Therefore whenever enough changes are merged into the main branch, one of the maintainers will trigger this workflow that will automatically update version and changelog based on the commits on the git tree.
More details can be found in package release section of the README.

fyi @earl-warren


Investigate better attributed text in SwiftUI for Twitter feed

https://twitter.com/mrackwitz/status/1321180816806944769

https://swiftui-lab.com/attributed-strings-with-swiftui/?utm_campaign=iOS%2BDev%2BWeekly&utm_medium=email&utm_source=iOS%2BDev%2BWeekly%2BIssue%2B482


i think the new version dll also have some  bugs

first, thankyou for your reply and your work, i have updated the dll to the Release 8,but when i start game and want to load old save,the game has  crashed.my old save was base on the  Release 7.

hmm Can I have your saved data?
And tell me all the MOD you have enabled.

i am sorry that i can only tell you my old save was base on hip mod beacause i deleted my old save last night

Okay.
Please let me know if it occurs again


kube-vip.io/manifests/controller.yaml missing?

It looks like https://kube-vip.io/manifests/controller.yaml is no longer available. However, https://kube-vip.io/manifests/rbac.yaml is still available. Can you fix or are you moving these manifests to GitHub permanently?

Ah apologies, the website move was more complicated than first expected. The controller.yaml should come from the cloud controller repo.

Yes, that points to the latest release of the cloud controller :-) I'll try and do a redirect on the main site.

You da man!


[$1000] iOS Chrome shows navigate text field arrow with keyboard

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Go to login screen
Tap in email textfield
Look at the arrow above keyboard

Expected Result:
It should not show arrows or should show disabled arrows
Actual Result:
It shows enabled textfield navigation arrow -> Clicking on which takes user at bottom to select language.
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[x] iOS / Chrome
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.2.90-7
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/43996225/228310638-4434b57f-d417-49ed-82d9-c5fcd87f901c.MP4

Expensify/Expensify Issue URL:
Issue reported by: @DinalJivani
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1679990129829729
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~015815438bd3f86a4d
Upwork Job ID:<PHONE_NUMBER>276985856
Last Price Increase: 2023-03-31

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

Reviewing this now.

Current assignee @isabelastisser is eligible for the External assigner, not assigning anyone new.

Triggered auto assignment to Contributor-plus team member for initial proposal review - @rushatgabhane (External)

Triggered auto assignment to @roryabraham (External), see https://stackoverflow.com/c/expensify/questions/7972 for more details.

@roryabraham this is IOS feature to navigate between multiple field with help of up down arrow button and "Done" will hide keyboard.
https://user-images.githubusercontent.com/17126628/229192884-c74b8c9b-51b4-4f43-aca6-14fb085bc2d0.mp4

Proposal
Please re-state the problem that we are trying to solve in this issue.
In iOS Chrome shows navigate text field arrow with keyboard.
What is the root cause of that problem?
There is another select input  present in the bottom of the page for language selection so keyboard in chrome shows the arrow which navigates to the bottom of the page or near to the language select input.
What changes do you think we should make in order to solve the problem?
In LoginForm.js file.
In the view of the username input we can attach a function which will detect the press.
<View accessibilityLabel={this.props.translate('loginForm.loginForm')} style={[styles.mt3]} onTouchStart={() => this.handlePress()}>
    handlePress() {
        const target = this.input;
        const inputSelectorString = 'input,select,textarea';
        const formInputs = Array.from(target.closest('form').querySelectorAll(inputSelectorString));

        const otherInputs = Array.from(document.querySelectorAll(`${inputSelectorString}:not(form ${inputSelectorString})`));

        // eslint-disable-next-line rulesdir/prefer-early-return
        otherInputs.forEach((input) => {
            if (!formInputs.includes(input)) {
                input.setAttribute('tabindex', '-1');
            }
        });
    }

On HandlePress function
It finds the input which are in the current form.
Then finds the input which are not in the current form and sets their tabIndex to -1.
Screenshot after applying the changes
https://user-images.githubusercontent.com/46092576/229374992-df3504cd-18e7-4c1e-a581-2a2c93c56260.MP4
What alternative solutions did you explore? (Optional)
None

Not overdue, waiting for more proposals.

@rushatgabhane thoughts on the proposal above?

Hey @rushatgabhane , can you please review the proposal above when you have a chance? Thanks!

@soumyajit4419 thanks for your proposal

On HandlePress function. It finds the input which are in the current form.
Then finds the input which are not in the current form and sets their tabIndex to -1.

@soumyajit4419 that sounds like a workaround

On HandlePress function. It finds the input which are in the current form.
Then finds the input which are not in the current form and sets their tabIndex to -1.

@soumyajit4419 thanks for your proposal but it looks like a workaround. Can you think of a more general and static approach? (without loops)

@rushatgabhane
I have updated my proposal.
Proposal

@rushatgabhane, @isabelastisser, @roryabraham Whoops! This issue is 2 days overdue. Let's get this updated quick!

@rushatgabhane, @isabelastisser, @roryabraham Whoops! This issue is 2 days overdue. Let's get this updated quick!

Not overdue, waiting for more proposals!

@rushatgabhane @isabelastisser @roryabraham this issue was created 2 weeks ago. Are we close to approving a proposal? If not, what's blocking us from getting this issue assigned? Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks!

📣 @koko57 You have been assigned to this job by @mountiny!
Please apply to this job in Upwork and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review 🧑💻
Keep in mind: Code of Conduct | Contributing 📖

@isabelastisser @rushatgabhane sorry for no updates from my side - still working on another issue. If the @soumyajit4419's updated proposal is ok, please go with this one

@koko57 @rushatgabhane @isabelastisser @roryabraham this issue is now 3 weeks old. There is one more week left before this issue breaks WAQ and will need to go internal. What needs to happen to get a PR in review this week? Please create a thread in #expensify-open-source to discuss. Thanks!

I've checked it also on Brave mobile version - the arrow down is also disabled, but actually I wonder why, as it seems a default behavior to be able to navigate between inputs and selects for all the mobile browsers. Adding a tabIndex=-1 seems to be a working solution, if implemented only for mobile. Will do some more investigation tommorow.

@koko57, @rushatgabhane, @isabelastisser, @roryabraham Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

Bump @koko57, thanks!

For now I didn't found any other solution.

@koko57 @rushatgabhane @isabelastisser @roryabraham this issue is now 4 weeks old and preventing us from maintaining WAQ, can you:

Decide whether any proposals currently meet our guidelines and can be approved as-is today
If no proposals meet that standard, please take this issue internal and treat it as one of your highest priorities
If you have any questions, don't hesitate to start a discussion in #expensify-open-source

Thanks!

Current assignee @rushatgabhane is eligible for the Internal assigner, not assigning anyone new.

Yeah, I agree. As it's not something that has a negative impact on the UX, imho it's no need to make  workarounds just for one browser.

Agreed, closing this out


BVNetwork.NotFound.Core.Data.DataAccessBaseEx : An error occurred while logging a 404 handler error.

BVNetwork.NotFound.Core.Data.DataAccessBaseEx : An error occurred while logging a 404 handler error.
System.Data.SqlClient.SqlException (0x80131904): String or binary data would be truncated.
The statement has been terminated.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction)    at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)    at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)    at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)    at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)    at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at BVNetwork.NotFound.Core.Data.DataAccessBaseEx.<>c__DisplayClass15_0.b__0()
ClientConnectionId:00e0d577-838a-49ea-8cfd-b21ee69937d4
Error Number:8152,State:30,Class:16
ClientConnectionId before routing:7c4a665b-9608-497e-a7a2-d100f0b58fff
Routing Destination:b78e4e6ba90c.HS3.tr3144.northeurope1-a.worker.database.windows.net,11011

@sushmitasen11 There is a fix for the size of parameters: #189
After the release, it might fix this.
Do you know what URL it tried to log? The max length is 2000 chars.

i have 11.3.0 version installed still i get this issue ? In which version is this bug fixed ?
I am not having specific url to check this.

It is not yet released.

Ok thanks @marisks

The fix released in Geta.404Handler - 1.2.0


Added analysis to copy and paste key

just added analysis to Ctrl+C and Ctrl+V key
to text_moiton
and added key.MOTION_COPY
and key.MOTION_PASTE

btw, idid't write pytest

your welcome！


🐛  Resolve Windows Docker Bug & 🐍  Upgrade to Python 3.9

Issue
Fixes #180
Description

Removes unnecessary variables that won't run on Windows
Clarifies ways to run the app in the readme
Exposes 8081 as 8181 to avoid conflicts on Windows 11

Testing
Run make docker-run or make docker-dev on Windows.  It should work now.

Those code scanning results are definitely off. This might need to be a tweak to code ql

make auto-lint might fix those linting errors for that last one.

The change to python 3.9 was actually not planned just a result of the CI/CD build issues that were being seen.


v-bind in CSS values are set after the component's element is already in the DOM

Vue version
3.4.35
Link to minimal reproduction
https://play.vuejs.org/#eNp9Ul1v2zAM/CuaXuoMrd2s20vmBFuLAtuAfaDLo4DBkZhErSMZEu2mCPLfR8pJZmxr3yTeiTrecSc/Nk3etSAnUrkSYdPUFcJMOSHKRYvonfiga6sfpkrGtX+88ZtGTMWr41nJ2dyvVjUIrgiEiEJT3TtwWBZ9i75detpd2OWglZKiILQsBj/TNepgGxQRsG2oYqlfQLETAZZiL5bBb4SSpFrJ9yc0tT9AecE3nkvRWNo7UjVQT22yZVVHGPHX/WfpY3kuMRJ9aVf5ffSOXNmxdiV5JltD+N6gpXZKTkRCGKvq2j9+STUMLZwf63oN+uE/9fu45ZqSPwJECB2JPGFYhRVgD9/+/AZbOp/AjTdtTewXwDuIvm5ZY0+7bp0h2QNeUvs5eWbdah5vtwguHodioczcJ34ymU17bvQ/cq/yt+mdcnty8Wg/GfhsmN599a1DMMdIz+jBGQXa59VUxpBAimt8ecnhnPhZNhLTGYtQaLxuN7Rq+cKbp5y0XBOH393Ulsp3oDGjlPd/Jz1cdYWlsV060HE9ns15iz9BxX3KggqJU/Skf3YVn3j7tW/AJOJ63EtTuPDBQJiIcbMVFIs1tHmGBmTsMN5E6KrWWXexsM5kh+JIvOY3owMVQ0UBsfmTkytvYgLJbhqLFdDX5PuvDgJnSb5TIPnVO7n/DVR7Vf8=
Steps to reproduce
Click on "Toggle show test component"
What is expected?
The component opens with padding set to 100 initially.
What is actually happening?
The padding is animated from 0 to 100.
System Info
No response
Any additional comments?
This happens because when the component is initially mounted, the v-bind variables aren't set yet. So if onMounted triggers a DOM layout recalculation, then the padding is set to 0, after which it is immediately set to 100, triggering the animation. This didn't happen in older versions (for example 3.4.21).
But there is a similar, probably related issue that happens 3.4.35 and in older versions like 3.4.21: in some cases (I was able to reproduce it using Teleport), mounted in directives can be executed after the component already exists in the DOM but before the v-bind variables are set. If mounted then triggers a DOM layout recalculation, the same animation issue can happen again. Here's the code to reproduce it.
Basically, it would make things a lot easier if there was a guarantee that the element isn't added to the dom before the v-bind values are set to their initial values.

I found this PR. I think it's probably due to the impact of moving functionality to onMounted in this change.
Can I participate in solving this problem?
https://github.com/vuejs/core/pull/8523

@Procrustes5
PR welcome~

Thank you for the quick turnaround 🙂 But this doesn't seem to fix the case with directives and Teleport for which I provided the example (this one). At least I can still reproduce the problem when I switch to the latest commit for the Vue version on SFC Playground.

a workaround
mounted: el => {
    // lets recalculate the layout
    nextTick(()=>{
      console.log(el.getBoundingClientRect())
    })
  },

@edison1105 Thanks, I'm aware of the workaround. It unfortunately doesn't work for my specific case.


use Flops Profiler to test model.generate()

Fix issue #2514
Nowadays, the Flops Profiler can test forward for transformers such as bert, but for t5, it actually uses model.generate() during inference. So how to use Flops Profiler to test model.generate() ?

@microsoft-github-policy-service agree

@CaffreyR, thanks for the PR. Can you please remove the binary files? Thanks!

Hi @tjruwase , do you mean the .DS_Store?

@cli99 can you review this PR?


Fix #856 - Add debug task

Many thanks for submitting your Pull Request :heart:!
Please specify parts of this PR update:

[x] Specification
[x] Schema
[x] Examples
[ ] Extensions
[ ] Roadmap
[ ] Use Cases
[ ] Community
[ ] TCK
[ ] Other

Discussion or Issue link:

Fixes https://github.com/serverlessworkflow/specification/issues/856
What this PR does / why we need it:

Add debug task
Special notes for reviewers:
Additional information:

Just my 2 cents but I'd rather go for log rather than debug. In my mind, debugging is the whole process the developper is tackling when trying to find and solve a bug. To log is to write down an entry in a journal.

Just my 2 cents but I'd rather go for log rather than debug. In my mind, debugging is the whole process the developper is tackling when trying to find and solve a bug. To log is to write down an entry in a journal.

Yes, I think log is better than debug.

As said above, and mainly because the same can be achieved using what's already here, I recommend we instead create a new ServerlessWorkflow repository, such as serverlessworkflow/functions, or just a directory in the present repository where we can store references to "custom"/"additional" functions.
The feature requested by @fjtirado perfectly demonstrate the definition of an opiniated function used to perform (structured?) logging, using stdout and/or plain txt(and event JSON?) files.
This would be a great way to demonstrate the extensivity of the DSL, while allowing us to set the bases for the "collection/gallery" we discussed about.

tion of an opiniated function used to perform (structured?) logging, using stdout and/or plain txt(and event JSON?)

I do not think log is more "opiniated" than calling a shell from the workflow.

I do not think log is more "opiniated" than calling a shell from the workflow.

The way you are gonna implement the "log" function will be optionated, because it is much more complex and variable than, as you said, calling a shell: shell is the execution of a line of text, the command, and that works that way on all systems, unrestrictively, that way.
Log, like I said, can be plain, or structured (therefore requiring variables), have log levels (that differ from systems to systems), can be written to several outputs, might require to be formatted in a way or another, will be processed in a way or another, might or might not need to be send to an aggregator, etc, etc, etc

How do writeToStdout will look like? I do not see a way to define it the yaml

That's a very fine question! I'll need time to think about it. On your end, please consider my suggestion. We might yet again find the solution in between 😄

I do not think log is more "opiniated" than calling a shell from the workflow.

The way you are gonna implement the "log" function will be optionated, because it is much more complex and variable than, as you said, calling a shell: shell is the execution of a line of text, the command, and that works that way on all systems, unrestrictively, that way.
Log, like I said, can be plain, or structured (therefore requiring variables), have log levels (that differ from systems to systems), can be written to several outputs, might require to be formatted in a way or another, will be processed in a way or another, might or might not need to be send to an aggregator, etc.

Yes, thats true, but I think the essential part of the log is the message. Where that log is written and if the message is raw or structure (or at what level should be written) should be left to implementor choice, and should not be part of the workflow defintion.  What the writer of the flow is trying to achieve is to have some feedback of whats going on inside the flow (it is tipically a dev feature)
About the command, I did not want to discuss because is already there, but this clearly makes the definition file not portable (if the SO does not support the command)

time to think about it. On your end, please consider my suggestion. We might yet again find the solution in between 😄

For me the solution is to include the log idiom in the definition language so implementors actually implement it

Where that log is written and if the message is raw or structure (or at what level should be written) should be left to implementor choice

Unhappilly, that does not always apply. In structured mode, you cannot write the interpolated message to STDOUT, you need to have, on one hand, the non-interpolated message (ex: "Hello, {preferredUserName}"), and in another hand, a dictionary of named arguments (ex: { "preferredUserName": "Ricardo Zanini" })

@cdavernas What I was proposing is a loose way for users to actually print message to the underlying logging mechanism. Which is the underlying logging mechanism users do not really care, they just want to see the message. If they do not configure the underlying logging mechanism, the message will be tipically printed as raw message to the standart output (which is tipically the console)
The underlying logging mechanism is up to the implementation and I do not see it realistic to try to cover all variant in a language indepedepent spec (I think we agree on that), but I think the spec should have a mechanism to log raw strings (and the implementors provide addifitional configuration) The assumption here is that how the message looks is not part of the spec, it is up to the implementor (as far as the message is there somehow, they are fine)
Printing to stdout is not an edge case, it is a dev case (users want to see the progress of the workflow in the console when exeucting it the first time during testing)

About the command, I did not want to discuss because is already there, but this clearly makes the definition file not portable (if the SO does not support the command)

Yes, you are totally right! That is part of a conversation we had with @ricardozanini, where he was stating the need to restrict the environment workflows/tasks are meant to run/be isolated on.
Since we boast about the fact that the DSL is free, and vendor-neutral, I suggest we stick to the leanest Linux OS(Alpine?). Anyways, as @ricardozanini mentionned in same discussion, we should probably also document that shell command should be isolated in either an environment per workflow instance, or why not an environment per command.

Although not related to this issue, I would not have allowed the shell command in the spec. The same we do not have support to access file system or to access a DB (becuase it makes the spec not portable)  The reason Im pushing for log is just pragmatical, users of Sonataflow are using sysout a lot and assuming the existance of standard output (or underlying logging framework) is fair (as far as we leave it generic, just the raw messagem thats why I intentionally skipped level, raw/structure and destination of the log, leaving that to the implementor configuration).
Assuming the existance of a shell if fair too, but the problem is that commands are not portable, while raw strings are.

Printing to stdout is not an edge case, it is a dev case

Exactly what I am saying: Dev, as in runtime implementer. Any non-stdout alternatives would be enough for any other user. And as a dev, I will need to export my logs, formatted as explained above, so the raw message is a little more than useless in my personnal use case. Actually, like I said before, in the Synapse use case, I explicitly want to forbid users (even myself or other devs) to write to the STDOUT.
In my opinion, another mechanism that clearly separate the concerns would be more appropriate, even if its cuts off STDOUT (anyways, if your runtime wants to do so, it can). As a Synapse implementer though, I would rather not have to implement that ability for something like 0.5-1% of our user base, and provide them with a golden option to malpractice.
As a matter of fact, I am sure you would never misuse it, let alone in a debug context, but you have developped "against" users probably even far longer than me, and you know what will happen if we let that door open for one the "basic" functionality of a workflow.
Finally, I do not believe "logging" should be a core functionality. "Calls" are intented to interact with services, described by standards (all of them).

Anyway, since we do not have universal consensus on the need for a log idiom in the spec, the alternative is to log extensively in the implementation.
For example, if implementation is done in java (sl4j), when debug mode is enable, users can see all modification in the model and all service responses.
Because I guess  the reason because Sonataflow users use sysout custom function a lot might be a consequence of scarce logging on the implementation side. So, Im perfectly fine if we all agree such idiom is not needed and it is implementation task to ensure developers can follow the execution flow through intensive logging. However, Im afraid most implementation will introduce non standard extension to provide users with such facility (which as I said is "portable" because all SO support standard console an raw string). I think this issues deserver a patient vote ;)

Although not related to this issue, I would not have allowed the shell command in the spec

Agreed! Happy to speak about with you on a discussion. Might be usefull to come up with an ADR about it, too.

the problem is that commands are not portable

Commands are portable if you define a reference OS.

while raw strings are.

Yes, but allowing just raw strings to be outputted to just STDOUT is fitting your use case, but not mine, for example.
As I said, I agree that a log functionality could be needed. I do not agree that is should be restricted to a basic interpolated message, and that its output should be restricted to stdout. I do not think that writting to STDOUT should be possible.

Anyway, since we do not have universal consensus on the need for a log idiom in the spec, the alternative is to log extensively in the implementation.

Yes! We could even extensively describe/define the logging context expected for runtimes, for example, as you said, in debug mode.
I also still believe the log function should be added to the DSL core "extra" functions, but then maybe without the STDOUT approach.
@JBBianchi @ricardozanini What do you guys think?

@cdavernas  logging function based on command call is lame in my opinion

so I prefer to not include any log at all (and users collect log through http call as in your example)
and I think we should revisit the command idiom, since it is not portable and should not be there

so I prefer to not include any log at all (and users collect log through http call as in current extension example)

As you wish. And while it's true that echo logging is lame, I believe that file-based one is not, in a dev context, which is achieved by using a shell command.

I think we should revisit the command idiom, since it is not portable and should not be there

Again, it is portable if the OS is restricted (to a free one). But you are right, though, maybe we should get rid of the shell process.

@cdavernas About file based one, how it will look?

I think we should revisit the command idiom, since it is not portable and should not be there

I opened #860 to describe your proposal.

About file based one, how it will look?

writeToFile:
  run:
    process:
    command: ${ "echo \"\(.message)\"" >> logs.txt }


Language Support for Worlds Without Number

System Name:
Worlds Without Number
System Repository or Foundry VTT address:
https://github.com/SobranDM/foundryvtt-wwn
The WWN v10 beta5 release: https://github.com/SobranDM/foundryvtt-wwn/releases/tag/v1.0.1-beta5
Does the system has the languages set up on Foundry?
The default list of languages is in wwn/modules/config.js file, in the "languages" variable, but the languages used by the character sheets is stored in the worlds file, through Data\worlds\[Whatever the Game World is called]\data\settings.db, under the variable key "wwn.LanguageList".
Does the system uses languages as items?
No.
[Optional] If it isn't straightforward, how do I add a language to a character?
To add languages to the system if you aren't using the default: As GM.

Go to Configure Settings.
Go to the Worlds Without Number tab.
Locate the Language option and paste in the languages you want to use.

Included by default is the languages from the WWN system stored in the config.js file.
To add languages to a sheet: As anyone.

Open the character sheet (monsters sheets don't support languages).
Go to the Details tab.
Locate the Language Column and click the + symbol.
Select the desired language.

The list of languages available is taken from the settings.db file.
Additional context
I'm uncertain whether this is common or not, but the default language list in the config.js file doesn't change, with only the wwn.LanguageList array updating if a game uses different languages than the default setting for WWN.

Thank you for being thorough. That was enough for a functioning provider.

There appears to be a bug with the system. When a GM's message is scrambled OOC, it doesn't get translated for anyone who has the language they're speaking in.

There appears to be a bug with the module. With Scramble OOC Chat Messages, a message in a language sent by the GM won't be understood by players despite knowing the language.

Should be fixed now on v1.8.7.


Implement Releases on GitHub

Context

Currently all commits go to master branch and the project is versioned and updated on pypi at various times. The master branch and pypi releases don't necessarily line up. They never line up for past releases.
Expected Behavior

Release versions are browsable on GH
Actual Behavior

No Versions
Possible Fix

Start marking release when code is versioned and updated to pypi.

You can see which versions are releases in the git history - releases are marked with a prefixed x.x.x -  string, these are the versions released to PyPI.
On the whole, for production I'd recommend that people use either a version and any successive minor version updates for a set-it-and-forget-it approach, or just run master if you're willing to do the work to keep your deploy maintained.
Once we are more stable - not likely any time soon - we can do "releases" which will work as "LTS" releases. These releases we can do on GitHub.
Does this answer the question? I can reopen if there's something I'm not seein ghere.


add key support to block manager

This PR adds an optional key argument to BlockManager.add and adds BlockManger.find_or_create_block to support providing a hashable  key when adding a block (different from the default id(block._data) used when a key is not provided. This is useful when id(block._data) is inconsistent, unavailable, expensive or otherwise inconvenient to use. This is work towards a deferred block system that will add block storage support to the converter.
Note that BlockManager.__getitem__ was specifically not updated as it would require another local import and provides no additional functionality over the more explicit `find_or_create_block.

On a general note there is a lot of ambiguity about what is considered public in ASDF. We've discussed cleaning this up in ASDF 3.0 but there are features that we need to add before the cleanup can occur. This will force us to make compromises and in this instance I'd rather not add a changelog to further confuse users if BlockManager is public.

See https://github.com/asdf-format/asdf/pull/1469#issuecomment-1473881294

At the moment, this seems inconsistent with #1468

At the moment, this seems inconsistent with #1468

Thanks! I rebased this to main now that #1468 is merged and fixed the conflicts.


Compatibility pages review

Closes: #2120

Please add grid cards to compatibility landing page.

ROCm 5.4 and older
ROCm 5.5 and newer

UCX 1.14.0 or older
COMPATIBLE

UCX 1.14.1 or newer
COMPATIBLE


email-log: Update CSS styles for dev environment email log.

Removes reliance on bootstrap alert and label rules/styles that were used or expected for this email log page.
Notes:

I think, but haven't confirmed, that when we split bootstrap to have separate copies in the portico and app bundles, that this page was overlooked.

Screenshots and screen captures:

HTML version - not scrolled

Main
Changes

HTML version - scrolled

Main
Changes

Text version

Main
Changes

Forward email modal

Main
Changes

Empty log

Main
Changes

Self-review checklist

[ ] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[ ] Each commit is a coherent idea.
[ ] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

Sure, merged, thanks @laurynmm!


fix iam roles for external-dns and tekton-bot

https://github.com/jx3-gitops-repositories/jx3-eks-vault/issues/1

So, this is already in the version stream in jxr-versions (https://github.com/jenkins-x/jxr-versions/commit/45970c497373ae54e78667bdcf2a28236707d808), seems like version stream is not getting updated for this repo. Once that is fixed, we should be good. https://github.com/jenkins-x/jxr-versions/pull/1668 -> Once this PR is merged, we should get the version stream updates for this repo.
If you do see more issues with iam roles and service accounts, u should create a PR in the jxr-versions repo :)

Thank you for the update


Fix docker and pypi upload commands

What will you find here?

using sudo for docker commands
change twine command for pip package update

now we are using an API token instead of a username/passwd so we expect a .pypirc file with the needed info for bittensor release

Beautiful.  Thanks 🙏


removing and setting up aliases is extremely slow

Describe the bug
Setting up aliases with asdf is a feature I missed from the time I was using rvm
luckily I found your plugin and it seemed to do everything I wanted
Except that it so slow to create and remove aliases, while it should be quasi instant, at least it was with rvm
why is it taking so long?
C02C931KLVDL:lyceum majobin$ time asdf alias ruby 3.1.5 --remove

real	1m52.208s
user	0m15.588s
sys	0m50.871s
C02C931KLVDL:lyceum majobin$ time asdf alias ruby 3.1.5 3.1.6
3.1.5 => 3.1.6

real	1m55.978s
user	0m15.844s
sys	0m52.389s
C02C931KLVDL:lyceum majobin$

Steps to reproduce
create or remove an alias
Expected behavior
it should be fast, nearly instant.
Screenshots

Additional context

I wrote this script to reset my ruby aliases automatically. And unfortunately, it's taking too much time to run
#!/bin/bash
# https://github.com/andrewthauer/asdf-alias
# asdf plugin add asdf-alias
# or
asdf plugin add alias https://github.com/andrewthauer/asdf-alias.git

asdf_redo_alias() {
  plugin=$1
  latest_rev=$2
  old_revisions=$3

  for cur_revision in $old_revisions
  do
    echo "removing $plugin $cur_revision and aliasing to $latest_rev"
    asdf alias $plugin $cur_revision --remove
    asdf uninstall $plugin $cur_revision
    asdf alias $plugin $cur_revision $latest_rev
  done
}

asdf_redo_alias ruby "3.2.5" "3.2.0 3.2.1 3.2.2 3.2.3 3.2.4"
asdf_redo_alias ruby 3.3.4 "3.3.0 3.3.1 3.3.2 3.3.3"
asdf_redo_alias ruby 3.1.6 "3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5"

My initial guess is that it is related to the reshim for the plugin when an alias removed. This is the function that does this. To test and verify you could commit out the line for the asdf reshim call.
The reason a reshim is called when an alias is added and removed is you can run into unknown command issues or other strange behaviour if this is not run.
If it is indeed related to the reshim, I would be open to adding an environment variable that will disable this. Then for your script you can disable it and run asdf reshim at the very end and avoid the hit for each plugin/alias.

Thanks for your answer @andrewthauer
I believe you made a small type, you meant "comment out" and not "commit out", but its okay, I understand. I can test this.

Since we had a couple of new rubies lately, I tested the alias with Line 122 commented out
And it was a lot faster.
122:  #asdf reshim "$plugin"

updated script with latest ruby versions
$ cat ~/bin/asdf-redo-alias
#!/bin/bash
# https://github.com/andrewthauer/asdf-alias
# asdf plugin add asdf-alias
# or
asdf plugin add alias https://github.com/andrewthauer/asdf-alias.git

asdf_redo_alias() {
  plugin=$1
  latest_rev=$2
  old_revisions=$3

  for cur_revision in $old_revisions
  do
    echo "removing $plugin $cur_revision and aliasing to $latest_rev"
    asdf alias $plugin $cur_revision --remove
    asdf uninstall $plugin $cur_revision
    asdf alias $plugin $cur_revision $latest_rev
  done
}

asdf_redo_alias ruby 3.2.6 "3.2.0 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5"
asdf_redo_alias ruby 3.3.6 "3.3.0 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5"
asdf_redo_alias ruby 3.1.6 "3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5"

its kind of fun


[GUI] qt4 no longer supported?

Hello
I got this error when compiling dash gui with qt4:
qt/masternodelist.cpp: In constructor 'MasternodeList::MasternodeList(const PlatformStyle*, QWidget*)':
qt/masternodelist.cpp:36:55: error: 'class QHeaderView' has no member named 'setSectionResizeMode'
     ui->tableWidgetMyMasternodes->horizontalHeader()->setSectionResizeMode(QHeaderView::Interactive);
                                                       ^
qt/masternodelist.cpp:44:53: error: 'class QHeaderView' has no member named 'setSectionResizeMode'
     ui->tableWidgetMasternodes->horizontalHeader()->setSectionResizeMode(QHeaderView::Interactive);
                                                     ^
Makefile:5739: recipe for target 'qt/qt_libbitcoinqt_a-masternodelist.o' failed

I've looked it up on the net:
void QHeaderView::setSectionResizeMode(ResizeMode mode)
This function was introduced in Qt 5.0.

source: http://doc.qt.io/qt-5/qheaderview.html#setSectionResizeMode
I think this means the gui is impossible to build with qt4, build-unix.md is misleading and --with-gui=qt4 option is unusable.

Should be fixed in #862
Thanks for reporting!

Should I close this? The PR has been merged.

Did you test if it works now? If it works it can be closed :-)


User not showing in calendar

Some users are unable to select themselves (name not showing) when trying to input days off within calendar.

Were those users added by using group alias?

We're closing old issues so we can get back to actively maintaining the extension. Feel free to reopen if this is still an issue for you.


Feature/audio units

Adding some audio playback when selecting and moving units. The UnitAttackAudio() is implemented, but it's still not called anywhere in the code.

Code looks great.
Reselecting the same platoon should not replay the select voice audio