Include version in public header

It would be helpful for consumers to know the version of the library during compilation.
So I propose to define at least LIBSAMPLERATE_VERSION in samplerate.h.
A good way done by other projects is to have _VERSION a string, and _VERSION_[MAJOR|MINOR|PATCH] as 3 additional defines.
Examples: https://github.com/opencv/opencv/blob/master/modules/core/include/opencv2/core/version.hpp or https://github.com/esp8266/Arduino/blob/master/tools/sdk/include/version.h
Boost uses a single number: https://www.boost.org/doc/libs/1_70_0/boost/version.hpp
Example uses:
#ifndef LIBSAMPLERATE_VERSION_MAJOR
  code for pre 0.1.10
#elif LIBSAMPLERATE_VERSION_MAJOR >=1
  code for 1.x
#elif ...

The API for libsamplerate has not changed since its first release in 2002. In 2004 a couple of new functions were added to the API.
You are proposing a solution to a problem that does not yet exist. When (and if) the API changes a version number can be added.

In 2004 a couple of new functions were added to the API.

Well then there should have been a version added in 2004.

You are proposing a solution to a problem that does not yet exist.

Older versions may have bugs specific users run into but they may still want to support them by providing work-arounds. Providing the version in the header is very low effort and can help a lot under specific circumstances.
Additionally a version in the header helps to write a CMake FindModule. If this is not chosen I'd propose to add a CMakeConfig additionally to the PkgCfg which helps for non-unix systems where pkgcfg is not commonly used.

Older versions may have bugs specific user

Any version other than the latest release us unsupported.

Additionally a version in the header helps to write a CMake FindModule.

People have contributed CMake build systems for other projects I maintain without doing this. You should figure out how to add CMake support without doing this.

Any version other than the latest release us unsupported.

I think you got it the wrong way round. I was talking about users supporting to use an older release of libsamplerate in their project, e.g. because that is the version bundled with package managers and therefore most commonly used.
How is a user supposed to find out which version he is using? Only current way is through pkgconfig which requires a configure step and setting a version define for each project. And pkgconfig is not even supported on all platforms
I don't understand the hard feelings against this. It is a commonly used approach by many libraries, very easy to implement (1-4 lines) especially easy to test (if not using a configure step to generate that version on build which would remove the need to write a test) and may help users.

I think you got it the wrong way round. I was talking about users supporting to use an older release of libsamplerate in their project, e.g. because that is the version bundled with package managers and therefore most commonly used.

It is still completely un-necessary because the libsamplerate API (and in fact application binary interface, with the exception of some added functions) has remained un-changed since its first release.

How is a user supposed to find out which version he is using?

If the API has remained un-changed for the last several releases why does this even matter?

I don't understand the hard feelings against this.

An unnecessary change is unnecessary.

If the API has remained un-changed for the last several releases why does this even matter?

To find out if he is using the latest version
To find out if he needs to work-around a known bug in an older version than the latest
Do that at configure and/or compile inside build scripts run at other peoples computers

To find out if he is using the latest version

The package manager can tell them which version but can't tell them if its the latest (they should go to the website for that). Also remember that the header and the library binary may be out of sync.

To find out if he needs to work-around a known bug in an older version than the latest.

Which bugs?

Do that at configure and/or compile inside build scripts run at other peoples computers

If there has only ever been one API for this library, why would configure scripts need to know anything more than presence/absence?

Also remember that the header and the library binary may be out of sync.

True. But if they are installed together this is unlikely.

Which bugs?

Example: https://github.com/erikd/libsamplerate/issues/11 with  CVE-2017-7697

If there has only ever been one API for this library, why would configure scripts need to know anything more than presence/absence?

To for example require a specific version. E.g one without  CVE-2017-7697. The configure runs on somebody elses computer. You (usually) can't just tell them: Check your package manager (if you even have one) for versions of library X, Y and Z to be above a, b and c.
To automate that you either do that at configure time (Search for libX version >=a) or at compile time (#if LIBX_VERSION < a #error "Unsupported version")

True. But if they are installed together this is unlikely.

Linux distros usually get it right. The problem is when people mix locally installed and package installed libraries and headers.

Example: #11 with CVE-2017-7697

Version 0.1.9 was released in 2016 which already contained a fix for that. Unfortunately the history page was not updated to include this release, and the git history actually calls it 1.0.9 which shows I rushed this release out the door as soon as I found the bug. Notice that I found the bug before the CVE was published. Also the download page only lists 0.1.9, so they are encouraged to get the latest version.
If anyone does have a machine with version 0.1.8 of libsamplerate, they probably have dozens of other libraries and applications with far worse CVEs than that one.
I remain unconvinced that adding a version number to the header file adds any real benefit. However, I could pretty easily be convinced to add a function to the library of type:
const char * src_version (void) ;

because that cannot go wrong the way a version number in a header file can.

The problem is when people mix locally installed and package installed libraries and headers.

Well if they somehow manage to get /opt/src/include/samplerate.h together with /usr/local/lib/libsamplerate.a then whatever. Can't account for everything.

Version 0.1.9 was released in 2016

This is just an example. What else was done after 0.1.9 which gets into 0.1.10 which users might be interested in? In #67 a user already requested to NOT have a configure step which would be able to find out the version from a package manager. For those cases (assuming an installed libsamplerate but no configure step in user projects) the header would be the only way to assert a version at compile time.
If you really want the extra safety why not use both? A user could then add something like if(LIBSAMPLERATE_VERSION != src_version()) throw error in their startup
BTW: I'd rather use a mangled numeric number (see boost) to be able to do: if(src_version() >= 109) or similar (e.g. if(src_version() >= SRC_MAKE_VERSION(0,1,9)).

It is still completely un-necessary because the libsamplerate API (and in fact application binary interface, with the exception of some added functions) has remained un-changed since its first release.

Unfortunately I just ran into an issue which shows that this is not true: src_clone was added after 0.1.9 causing builds against system libsamplerate to fail (wrote the code against the git version): https://github.com/erikd/libsamplerate/commit/945b9939d296c939385fbecfc762c4c335f73dfe


Use workqueue backoff

What this PR does / why we need it:
With this PR we will no longer requeue with the constant 30s on errors but leverage the exponential backoff functionality of the underlying workqueue.
Part of gardener/gardener#2253
Release note:

NONE

/area/quality
/kind/enhancement
/needs/review
/priority/normal
/size/xs


Catching all errors in validators is dangerous

The following seems like a reasonable way to check for uniqueness of email for a given collection:
// 'unique:users:email'
Checkit.Validators.unique = function(val, collection, field) {
  collection = require('./collections/' + collection);
  var query  = {};
  query[field] = val;

  collection.fetch(query).then(function(resp) {
    if (resp.length > 0) {
      throw new Error('error message');
    }
  });
};

However, since Checkit considers any error type to be a failed validation, by the time I'm handling the validation failures for a model save, there's no way to differentiate between errors thrown by programmer error, database connection issues, or anything other than the "expected" failed validation.
In the example above, simply mis-typing the collection name ('unique:uers:email') might result in something like this...
model.save().then(function(model) {
  res.json(model);
}).caught(Checkit.Error, function(err) {
  res.statusCode = 422;
  res.json(err.toJSON());
});

...returning errors like { "email": ["Cannot find module './collection/uers'"] }. Worse if one accidentally does something like this...
process.env.MY_SECRET_SOMETHING.slce(1); // I meant to type "slice"!

...which might return { "email": ["Object my-secret-something-value has no method 'slce'"] }.
Unless I'm missing something, there's currently not a way around this. In light of this, I think it makes sense for Checkit to throw errors that are of anything other than a specific type (maybe Checkit.ValidationError) separately.

Just hit this again, wondering if there's a better way to do this yet @tgriesser. Looks like a function to check each individual error in a Checkit.Error instance is still the safe bet.

I think the cleanest way to handle this is to always throw Checkit.ValidationError, then making sure that other errors are not collected inside Checkit and instead bubble up through the promise.
I wrote a small patch to support this behavior. Let me know and I can open a pull request.


Fix indentation, capitalize sentences, add code ticks

Fix indentation: A single space indent does not render as a nested bullet point on Github. Padded to 4 spaces total indentation.
Capitalize sentences for consistency.
Wrap code in tick marks.

Thanks!


[OIS] Platform and examples implementation

Provide Open IoT SDK platform implementation:

build system integration
platform layer implementation
system layer integration
GN build integration
streamer implementation

Implement Matter examples for OIS platform

shell example implementation
lock-app example implementation
unit tests application implementation
add Gtihub workflow to validate OIS examples
add Pytests integration tests for OIS examples

Add Open IoT SDK platform documentation

@andy31415 Can we go forward with this PR?


List of Azure Regions which support Zone-Redundant HA may be incomplete

I was able to create a Zone Redundant HA configuration for Azure DB for Flexible Server in East US 2 which according to the table here should not be possible.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 789139e9-15bb-58a9-7dc3-bd85c0bcfee5
Version Independent ID: cda59fed-f3ff-aa09-a13c-027a54e4141a
Content: Azure Database for PostgreSQL - Flexible Server
Content Source: articles/postgresql/flexible-server/overview.md
Service: postgresql
GitHub Login: @sunilagarwal
Microsoft Alias: sunila

Hi, @perktimeThanks for your feedback! We will investigate and update as appropriate.

Hi, @perktime
I am seeing Zone-Redundant HA option is disabled when I select East US 2 region, can you please provide more information or retry once again if you are still able to create.

Azure infrastructure has placed some restrictions which is prohibiting us to enable HA in that region. We are working on resolving this, but we do not have an ETA at this time. As soon as this is resolved we are going to update the documentation.
Until then please try a close region like East US to enable zone redundant HA

Please feel free to re-open this if you require any further assistance.

#Please-close


Catch error for commands with output capture = false

This is a proposed fix for inconsistency in handling exit status of command with include-command-output-in-response set to true and false.
Currently, if include-command-output-in-response: true and command exits with error code != 0, webhook will return error code 500. However, when set to false, webhook ignores errors and always returns code 200.
Moreover, there are two different paths in the code for each case, which seems as additional inconsistency.
This PR ensures command is spawned in a consistent manner and returns code 500 if command fails in both output capturing and non-capturing modes. There is no need to spawn a separate goroutine, because handler is spawned as a goroutine when the request comes in. This PR executes command in the same goroutine as the handler.
It also fixes issues we have discussed in PR #167:

rate limit now works in both output capturing and non-capturing modes.
removes the issue with handling channels due to additional goroutine being spawned.
writing to non-existant channel is not possible as no additional goroutine.

Let me know if this solution works.

Unfortunately, this approach will hang the request while the command is executing (even though we're not interested in this output). That is the reason I used a separate goroutine in this case. I would fire off the command in the background and close the request.
:-(

Ah ok, I haven't realized you intended this way. Then I have two questions:

When forking command in background and not waiting for it, you always return 200, even if command has failed. Would it not make sense to add a special config parameter if you want for request return immediately? I.e. by default webhook waits for command to complete and looks at exit code, returns 200 if all ok, and 500 if command failed. If you specify something like spawn-and-return: true then it simply spawns the script and does not wait for its completion. If this makes sense to you (and I kinda like such functionality) I can get a PR ready on Saturday probably.

If we spawn and return request immediately, there is no easy way for us to track number of concurrent processes. The only way we can implement this is by looking at the list of processes running in the system and counting the ones that match the command we are about to start. This is unreliable though, because command can change the process name string. I would suggest that we have rate limiting applied only to cases when webhook waits for the process to complete, and ignores this parameter for entries with spawn-and-return: true.

Let me know your thoughts, I think I can get this done this Saturday if you agree to this.

When forking command in background and not waiting for it, you always return 200, even if command has failed. Would it not make sense to add a special config parameter if you want for request return immediately? I.e. by default webhook waits for command to complete and looks at exit code, returns 200 if all ok, and 500 if command failed. If you specify something like spawn-and-return: true then it simply spawns the script and does not wait for its completion. If this makes sense to you (and I kinda like such functionality) I can get a PR ready on Saturday probably.
We actually have the opposite behavior, we have a special config parameter if you want for request to wait the script execution (include-command-output-in-response etc...), because it's used way less than the 'fire-and-forget' method.

If we spawn and return request immediately, there is no easy way for us to track number of concurrent processes. The only way we can implement this is by looking at the list of processes running in the system and counting the ones that match the command we are about to start. This is unreliable though, because command can change the process name string. I would suggest that we have rate limiting applied only to cases when webhook waits for the process to complete, and ignores this parameter for entries with spawn-and-return: true.

Either case would be a step forward, but maybe we could store the list of currently running hook commands and count them instead, and clean them out periodically using a separate goproc?

add Executions field in the Hook object
whenever the hook command should be invoked (either sync or async), if the hook has concurrency control flag set, go through the Executions array, count how many unterminated objects are in there, see if we can spawn another one and add the reference to the new os.Cmd into the Executions field)
have a separate go proc that will periodically go through all hooks and clean up the finished executions

@adnanh Later is better than never! :) I'll get a stab at it over the weekend.


Update documentation for wallet 0.54

See: https://github.com/vegaprotocol/vega/issues/5766
tl;dr

vegaprotocol/go-wallet is being deprecated.
https://github.com/vegaprotocol/vega/issues/5766 will push people to upgrade at the appropriate time
The wallet that works for 0.54 will not work with networks below 0.54
The wallet that works for older networks will not work on 0.54

Tasks

[ ] Update all commands to the new format (probably vega wallet instead of vegawallet
[ ] Prune old wallet documentation (may need to be a separate issue so that it happens at a more appropriate time
[ ] Update tools links to point to the proper repo

Created for future reference, marked as blocked while 0.54 still isn't out


why hbase10 create so many thread

I used ycsb to test performance between  hbase094 and hbase1.1.2 , but when i used hbase10 , it would create too many thread that couse  OOM , I donit know why?
here is my test:

python ./bin/ycsb load hbase094 -P workloads/write_workload -p threadcount=50
top -b -n 1 -H | grep test | grep java | wc -l
185

python ./bin/ycsb load hbase10  -P workloads/write_workload -p threadcount=50
top -b -n 1 -H | grep test | grep java | wc -l
13079

What version of YCSB are you using?

both 0.50 and 0.70 has this question. but i used 098 to test hbaes1.1.2 the threads is normal.

In version 0.7.0 we switched to using a single connection object, so I'd expect the thread count to drop.
Just to clarify, you're saying that when the 0.7.0 hbase10 client is run against an HBase 0.98 cluster the high thread count still happens, but if you use the same to talk to an HBase 1.1.2 cluster then it doesn't?

As we know, in HBase,  the version 0.98 client can talk to version 1.1.2 server. I do a test by useing hbase098  talk to HBase 1.1.2 cluster, the high thread count problem was not happen.

python ./bin/ycsb load hbase098 -P workloads/write_workload -p threadcount=50
top -b -n 1 -H | grep test | grep java | wc -l
182

I  test this in 0.50

AFAIK, the high thread count for the hbase10 binding was due to us originally doing 1 connection per client thread. That should have been fixed in 0.7.0.
Please make sure your test is using 0.7.0 to compare the hbase098 and hbase10 bindings.

I test my case in 0.7.0 , the problem is still there.
in  hbase098 , the thread count is 339
in  hbase10 , the thread count is 12356
if you have not met the problem,  Can you give me some idea to find the differences .

I suppose I'd start investigating by using jstack and hoping the thread purposes could be determined by names.

There is a bug in the Hbase10 thread init that allows it to create multiple connection objects. I  submitted a patch here: https://github.com/brianfrankcooper/YCSB/pull/651

I used 1  thread to  test  hbase10  in 0.7.0  ,   In jstack i   see many connection thread

cat thread.info | grep hconnection | wc -l
256

how many region servers do you have?

3 region servers in my  test cluster.

oof. that is a lot of threads. Have you taken a look at jstack to get an idea of where they're coming from?

i create hbase table in one region , so actually it should have one connection .....
i look my jstack info , most thread  info  are like :

"hconnection-0x1a48563c-shared--pool1-t186" daemon prio=10 tid=0x00007f698c668800 nid=0x1016 waiting on condition [0x00007f69fd2d1000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for  <0x000000060aa1e460> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082)
at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)

And just  one thread info seen  right connection:

"hconnection-0x1a48563c-shared--pool1-t185" daemon prio=10 tid=0x00007f698c667000 nid=0x1015 in Object.wait() [0x00007f69fd3d2000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.apache.hadoop.hbase.ipc.RpcClientImpl.call(RpcClientImpl.java:1243)
locked <0x000000075f556038> (a org.apache.hadoop.hbase.ipc.Call)
at org.apache.hadoop.hbase.ipc.AbstractRpcClient.callBlockingMethod(AbstractRpcClient.java:216)
at org.apache.hadoop.hbase.ipc.AbstractRpcClient$BlockingRpcChannelImplementation.callBlockingMethod(AbstractRpcClient.java:300)
at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$BlockingStub.multi(ClientProtos.java:31937)
at org.apache.hadoop.hbase.client.MultiServerCallable.call(MultiServerCallable.java:128)
at org.apache.hadoop.hbase.client.MultiServerCallable.call(MultiServerCallable.java:53)
at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:200)
at org.apache.hadoop.hbase.client.AsyncProcess$AsyncRequestFutureImpl$SingleServerRequestRunnable.run(AsyncProcess.java:701)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)

why i run 30 thread to insert hbase1.1.2  is faster than 200 thread.

Since this is a different issue and this one is already closed can you open a new issue?

Is this issue related to PR #651? It was just merged into master and may fix the OOM error?


new test failure on travis/osx

Seeing:
1) mapnik.Datasource should validate with known shapefile - ogr:
     AssertionError: { AREA: 1638094,
  FIPS: 'RS',
  ISO2: 'RU',
  ISO3: 'RUS',
  LAT: 61.988,
  LON: 96.689,
  NAME: 'Russia',
  REGION: 150,
  SUB deepEqual { AREA: 1638094,
  FIPS: 'RS',
  ISO2: 'RU',
  ISO3: 'RUS',
  LAT: 61.988,
  LON: 96.689,
  NAME: 'Russia',
  POP2005: 143953092

This started when I rebuild and uploaded a new OS X SDK. Likely something to do with gdal version. This helped me realize that we are testing with gdal 1.11.1 from mason but actually using gdal 1.11.2 from mapnik-packaging for binaries. So, currently building a mason gdal 1.11.2 to see if I can locally replicate the test failure.

I accidentally packaged an SDK with GDAL 2.0. So re-uploaded and this is now fixed (https://travis-ci.org/mapnik/node-mapnik/jobs/56176531). Will track GDAL 2.0 issues at https://github.com/mapnik/mapnik/issues/2736


Discussion: Improve F# to C# interoperability

Issue with overloads and lambdas
I'm trying to make this same call: https://github.com/picoe/Eto/blob/develop/Samples/Tutorials/Tutorial4/Main.cs#L55
textBox.TextBinding.BindDataContext<MyObject>(
    r => r.TextProperty
    , (r, val) => r.TextProperty = val
);

I can write this easily in C#.
To get there in F#, this is what I would initially get working (after trying the same thing as C# code):
textBox.TextBinding.BindDataContext<_>(
            Func<MyObject,_>(fun (r) -> r.TextProperty)
            , Action<MyObject,_>(fun (r) value -> r.TextProperty <- value)
        ) |> ignore

With help of more experienced F# user I attempted this:
textBox.TextBinding.BindDataContext<MyObject>(
    fun (r : MyObject) -> r.TextProperty
    , fun (r: MyObject) value -> r.TextProperty <- value
) |> ignore

which fails due to tuple mishaps (which is easy to troubleshoot), finally settled to
textBox.TextBinding.BindDataContext<_>(
    (fun (r : MyObject) -> r.TextProperty)
    , (fun (r: MyObject) value -> r.TextProperty <- value)
) |> ignore

Is there something we can do to make C# idiomatic and FP oriented code easy to consume from F#?
This is guaranteed to annoy C# developer trying out to call their nice FP enabled API from F#, at least in cases where overload resolution or type inference significantly differs from C#/VB.NET.
Related

F# adoption (1 - 4) #798 #803 #809 #1339
Improve C# to F# interoperability (#1254)

Naive suggestion without knowing all the type inference details: seems like a function that takes a delegate, when passed a lambda, could infer the types of the lambda arguments (and expected return value) from the generic parameters of the delegate

Adding some info for that specific use case, this is what is defined in Eto.Forms:
DualBinding<TValue> BindDataContext(IndirectBinding<TValue> dataContextBinding, DualBindingMode mode = DualBindingMode.TwoWay, TValue defaultControlValue = default(TValue), TValue defaultContextValue = default(TValue))
DualBinding<TValue> BindDataContext(string propertyName, DualBindingMode mode = DualBindingMode.TwoWay)
DualBinding<TValue> BindDataContext<TObject>(Expression<Func<TObject, TValue>> propertyExpression, DualBindingMode mode = DualBindingMode.TwoWay)
DualBinding<TValue> BindDataContext<TObject>(Func<TObject, TValue> getValue, Action<TObject, TValue> setValue, Action<TObject, EventHandler<EventArgs>> addChangeEvent = null, Action<TObject, EventHandler<EventArgs>> removeChangeEvent = null, DualBindingMode mode = DualBindingMode.TwoWay, TValue defaultGetValue = default(TValue), TValue defaultSetValue = default(TValue))

(Looking at the signatures, this gives back some faith in F# :slightly_smiling_face:)
I can understand that the compiler has work picking the correct overload, although C# handles it gracefully with less information.
The issue I intend to discuss is what can we do in F# to smoothen the interop with Func / Action / delegates as lambda and make the F# code look closer to the idiomatic C# call?

Can you do this?
textBox.TextBinding.BindDataContext<MyObject>(
    (fun r -> r.TextProperty), (fun r value -> r.TextProperty <- value)
) |> ignore

If so this boils down to existing suggestions to allow fun x -> y to be x => y with different precedence (i.e. no parentheses)?

(Note language design should really be discussed in fslang-suggestions, slack, stackoverflow etc please, though some discussion threads are used in this repo)

@dsyme I can't do that, it was my initial attempt, it fails to infer MyObject on .TextProperty

Lookup on object of indeterminate type based on information prior to this program point. A type annotation may be needed prior to this program point to constrain the type of the object. This may allow the lookup to be resolved.

For both call sites.
Sorry I'm using this repository as I intended to have discussion before we can identify if a plausible language suggestion can be drafted.

@dsyme That works (even without specifying ) in a simple case - I'm not sure if it's one of the overloads, or the optional arguments, that breaks it.
For example, this works fine:
open System

type Test<'b> () =
    member __.BindDataContext<'a> (getValue : Func<'a,'b>, setValue : Action<'a,'b>) = ()
    member __.BindDataContext (setValue : 'b) = ()

type R = { mutable Foo : string }
let r = { Foo = "Foo" }
let t = Test<string> ()

t.BindDataContext( (fun f -> f.Foo), (fun f v -> f.Foo <- v) )```

I confirm the case I'm facing is a bit ill due to presence of complex overloads, but I've seen similar cases where lambda syntax won't work as I'd expect (with C# background), requiring more annotations.
It would be great if we could identify some ways to make inference and lambda work in more cases (when overload resolution is involved), if we have good certainty this won't be breaking change, which I understand this could be tricky.
In this case, we have only 2 overloads with a generic parameter, and only one can accept 2 delegates, so we might be able to get it work in this specific case.

@dsyme regarding the extra parens around fun x -> y, I don't consider it a big issue (although for C# users, this is a bit odd), I guess it would be breaking change if there was an overload taking a Tuple<Func<TObject,TValue>, Action<TObject,TValue>> so I don't think it is needed.
I'll search the suggestion and put a :-1: on it :smile:

Closing old discussion

Another head scratching overload resolution situation:
open System
open System.Threading.Tasks
let makeTask () = new Task<_>(fun () -> 1)
let task = makeTask()
//let runningTask = Task.Run(fun () -> task) // can't find overload
//let runningTask = Task.Run(Func<_>(fun () -> task)) // can't find overload
//let runningTask = Task.Run<_>(Func<_>(fun () -> task)) // can't find overload
//let runningTask : Task<_> = Task.Run<_>(Func<_>(fun () -> task)) // can't find overload
//let runningTask = Task.Run(Func<Task<_>>(fun () -> task)) // can't find overload
//let runningTask = Task.Run(Func<Task<int>>(fun () -> task)) // can't find overload
//let runningTask = Task.Run<int>(Func<Task<int>>(fun () -> task)) // can find overload!
//let runningTask = Task.Run<int>(Func<Task<_>>(fun () -> task)) // can find overload!
//let runningTask = Task.Run<int>(Func<_>(fun () -> task)) // can find overload!
let runningTask = Task.Run<int>(fun () -> task) // can find overload!

there is no way to use type inference to omit the return type of the task in this example.

The equivalent C#:
using System;
using System.Threading.Tasks;
Task<int> makeTask => new Task<int>(() => 1);
var task = makeTask();
var runningTask = Task.Run(() => task);

I got the code checking on first attempt and without annotating the call to Task.Run.
@dsyme is there any plan to make the overload resolution work better in such cases? Many C# APIs rely on similar overloads and calling it from F# is a tedious exercise in fighting with the compiler to make it pick the correct one.


How to ignore the curly brackets or specific template format when formatting HTML

I'm using jinja2 template in my HTML code. When write and format the code on save, the code became weird.
{% extends 'base.html' %}
{% block main %}

    {{ include "header.html" }}
    {{ incldue "control.html" }}
    {{ include "log.html" }}

{% endblock %}

Above code became as below after formatting:
{% extends 'base.html' %} {% block main %}

    {{ include "header.html" }} {{ incldue "control.html" }} {{ include "log.html" }}

{% endblock %}

Can I ignore the template format or just only curly brackets (or specific patterns) when formatting HTML?
Steps to Reproduce

Write HTML code with template-specific bracket
Save (editor.formatOnSave: true)

System Info

VSCode Version: 1.22.1 950b8b0d37a9b7061b6f0d291837ccc4015f5ecd x64
OS Version: macOS Sierra 10.12.6

Ooh it seems like same issue to #46468

I'll reference that link. Sorry for duplicate question.


fix call to next-auth AuthHandler

The API changed to 2 parameters instead of 1: https://github.com/nextauthjs/next-auth/blob/main/packages/next-auth/src/core/index.ts#L266
Closes # .
Checklist:

[ ] issue number linked above after pound (#)

replace "Closes " with "Contributes to" or other if this PR does not close the issue

[ ] manually checked my feature / checking not applicable
[ ] wrote tests / testing not applicable
[ ] attached screenshots / screenshot not applicable

@BracketJohn honestly, I'm not sure :)
I think I just had a very weird cache of next-auth which caused this issue.
What happened was that I didn't get the callbacks/events to trigger unless I did this change. But testing again it works so we can ignore this


Type conversion from BigInt to Bytes

https://thegraph.com/docs/en/developing/assemblyscript-api/#type-conversions-reference

@schmidsi are you saying this needs to be added to the docs?

@azf20 Yes. Or maybe even better support it in TS. Sorry for not better speccing this out since I was focusing on something else but wanted to leave the note here.
I ended up with something like:
Bytes.fromI32(event.params.tokenId.toI32()

But to transform a BigInt to I32 is removing info and should be avoided. Better would be Bytes.fromBigInt or BigInt.toBytes(). But for now, we could document the code above.


Create to-do list app

@Priyanshi662 i would like to create to do list app. please assign it to me under jwoc'24.

I would also like to work under this issue under JWOC 2024.


[Snyk] Security upgrade bootstrap from 4.6.0 to 5.0.0

This PR was automatically created by Snyk using the credentials of a real user.![snyk-top-banner](https://github.com/andygongea/OWASP-Benchmark/assets/818805/c518c423-16fe-447e-b67f-ad5a49b5d123)
Snyk has created this PR to fix 2 vulnerabilities in the npm dependencies of this project.
Snyk changed the following file(s):

dashboard/package.json
dashboard/package-lock.json

Vulnerabilities that will be fixed with an upgrade:

Issue
Score

Cross-site Scripting (XSS) SNYK-JS-BOOTSTRAP-7444580
  688

Cross-site Scripting SNYK-JS-BOOTSTRAP-7444617
  688

[!IMPORTANT]

Check the changes in this PR to ensure they won't cause issues with your project.
Max score is 1000. Note that the real score may have changed since the PR was raised.
This PR was automatically created by Snyk using the credentials of a real user.

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

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Cross-site Scripting (XSS)

superseded by #397


jasper-daemon.service fails to start

There's a man going around asking people to join his slackware page, and Google+ page for the last year called Matthew Curry. As far as I am aware he has no connection to the original code of Jasper. Needless to say his "images" of Jasper do not ever work. Do not trust this scam artist. Needless to say the most help he's offered people in the past year is asking them to join slackware on Google+, and vice versa. The issue I am having (like thousands of other Jasper users) is a common one. Jasper refuses to start at boot. Even when you do "wait for network" in raspi-config. This is what I, and many others get when doing a debug of the code.

The code does not work, and all it seems to do is collect your information. Jasper is nothing more than a bugged out scam of it's former glory. I have a RPi3 with (like most people because the RPi3 doesn't work correctly otherwise) 3A power supply and a USB soundcard (that doesn't make a difference when disconnected) Also yes I changed everything in the profile to my information.

How do you know that it is collecting your information? Are you saying Matthew Curry is collecting it?


How to change invocation word? Instead of " turn on"

I would like to know if I could get help to change invocation name instead of " turn on" to "make" or "take" or "go to"

Not as good, but you can set anything you want as the spoken trigger for a routine
Get Outlook for iOShttps://aka.ms/o0ukef

From: temocastro<EMAIL_ADDRESS>Sent: Wednesday, March 27, 2019 2:58:13 PM
To: kakopappa/arduino-esp8266-alexa-multiple-wemo-switch
Cc: Subscribed
Subject: [kakopappa/arduino-esp8266-alexa-multiple-wemo-switch] How to change invocation word? Instead of " turn on" (#66)
I would like to know if I could get help to change invocation name instead of " turn on" to "make" or "take" or "go to"
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/kakopappa/arduino-esp8266-alexa-multiple-wemo-switch/issues/66, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AksU2tACe_c1dOi8C8ywnNmsK_ODfoAqks5vatA1gaJpZM4cMyqY.

How? Where? I don't know where to begin, need the name of the .h or .cop to modify at least


Add high-level docs for server-side auth

It makes sense to first describe the server-side auth concepts (and circulate with others) and only then to add C# implementation.
@jboeuf  for initial review.
CC @nathanielmanistaatgoogle, @murgatroid99 , @apolcyn  (as this will need to be exposed in other languages at some point).
The tentative C# implementation is here: https://github.com/grpc/grpc/pull/9632/files

Known test failures:
#9762
#9399
#9804
#9937
#9797


Failed to load plugin node: Cannot find module 'eslint-plugin-node'

Fixes  Failed to load plugin node: Cannot find module 'eslint-plugin-node' error in VS CODE

Pull Request Test Coverage Report for Build 69

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 66:
0.0%

Covered Lines:
631

Relevant Lines:
631

💛  - Coveralls


The game crashed*

The game crashed after I click on a match making game. I already checked for the Osiris version, It is the latest version and I'm using the CSGhost 4.3.1

Please, close
https://github.com/danielkrupinski/Osiris/issues/3577

https://anonfiles.com/x4O7QfI1x4/Osiris_that_does_not_crash_rar this is the fixed version that I coded

This is GitHub.
If you want to help or contribute, please fork the project and send a pull request.
Please try this one: #3586

https://anonfiles.com/x4O7QfI1x4/Osiris_that_does_not_crash_rar this is the fixed version that I coded
Thanks for helping me but I already know where to code.


[web] how to change the url location in GET

i  build my project in flutter web ,and i found the page routes didnot contain the Parameters what i pushed by last page
for examper :
push page A to page B
we used the way in code  =====> getCurrentState().pushNamed('/B', arguments: {'id'：123});
and when i click page A to page B in web
the url is :  http://localhost:8080/#/B    (maybe is push Parameters by POST )
but i want to push Parameters by GET in url  .like  http://localhost:8080/#/B?id=123  ,
how can i change ?
plz help .thank u

Hi @369235109
It seems you are asking for assistance on personal code. Please see https://flutter.dev/community for resources and asking questions like this,
you may also get some help if you post it on Stack Overflow and if you need help with your code, please see https://www.reddit.com/r/flutterhelp/
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you


DO NOT MERGE! Fast Forward stable to 83d52327c48d246ac112ac15bf87ccf358949baa.

This PR will be merged automatically once checks are successful.

Jenkins job istio-testing/postsubmit passed


Add a DEPRECATED macro for a conistent style of deprecation messages

Motivation:

deprecation messages are currently inconsistent and ugly

https://dlang.org/phobos-prerelease/std_functional.html#.binaryReverseArgs
https://dlang.org/phobos/std_traits.html#.isConvertibleToString
https://dlang.org/phobos/std_c_stdlib.html
https://dlang.org/phobos/std_datetime.html#.AutoStart
https://dlang.org/phobos/std_datetime_stopwatch.html
https://dlang.org/phobos/std_exception.html#.enforceEx

this also makes it a lot easier to grep for deprecated symbols that are still visible in the docs (removing them is often forgotten / done a few months later)

Preview:

Mobile:

In  Ddoc:
$(DEPRECATED 2.088, reverseBinaryArgs,
    Use $(REF reverseArgs, std,functional) instead.
)

CC @JackStouffer @jmdavis
See also: https://github.com/dlang/DIPs/pull/108

Do we really need something so loud? What's wrong with the red text that we've been using for ages now? It's already arguably pretty obnoxious, and this is far worse.

Red background is too much. Maybe red border + text?

I suppose a related question that maybe should affect the DIP on deprecations is which release should be listed in the documentation. The way that I've normally handled it is to say that the symbol would be removed in the release that it's removed from the documentation, which makes it easy to figure out when it should be removed from the documentation but has sometimes had the downside of confusing folks about how long the deprecation cycle is. So, maybe we should just be listing when it will be removed from Phobos and then remove it from the documentation the appropriate number of releases ahead of that release. If we have a standard number of releases for the deprecation cycle as proposed in the DIP, then counting back should then be easy enough.

FWIW I was inspired by this from the NodeJs documentation:
https://nodejs.org/api/assert.html#assert_legacy_mode

Red background is too much. Maybe red border + text?

Like this?

What's wrong with the red text that we've been using for ages now?

Hard to read (it's completely in red) + easier to grep + plus consistent "experience".

I suppose a related question that maybe should affect the DIP on deprecations is which release should be listed in the documentation.

That's an excellent question (!) and should definitely be defined by the DIP.

Yes, that looks much better. Could you post a larger screenshot with how it looks in the context of the surrounding definitions?

(I also pushed a temporary commit, s.t. it can be previewed on DAutoTest)

Looks like there are some uses in Druntime that need to be fixed first:

I think a good way to quantify this is that the warning should catch your eye when you're reading the symbol's definition, but not be loud enough that it distracts you while you're scrolling through the symbol list. With that in mind I think it's still too loud, what do you think?


Compile errors with VisualStudio

I am trying to compile lfs with Microsoft Visual Studio C/C++ so I can support unit testing and debug of our embedded code.   I get some rather obvious compiler errors.  Am I missing something?  How do other compilers accept this?  Here is what I find:
    // next step, clean up orphans
    err = lfs_fs_preporphans(lfs, -hasparent);

The variable hasparent is declared as a local boolean.   How can you make a boolean negative?   This is a warning.
    info->type = lfs_tag_type3(tag);

The variable tag is an int32_t and this treats it as a in8_t.  This is a warning
    return lfs_npw2((a & -a) + 1) - 1;

The variable a is passed in as a uint32_t.   This code attempts to take the negative of an unsigned integer.  This is a compile error.  There are two places where this same pattern occurs.
I would think other compilers will have the same kinds of issues.   Are these simply accepted as part of lfs?  This is my first time building lfs so I am unsure of the current development state.  I have heard good things about it from others but these warnings and errors are concerning and appear to be something all compilers would face.
....and yes, I do understand what the code in these examples is trying to do.  It isn't that a compiler can't do these operations, my question is regarding the syntax used that does not seem to avoid warnings and errors.

I was wondering about these as well, but I decided to just disable the warnings on our branch. :(
Other than that, with some small changes everything works fine. I can't get the test cases to build under MSVC, though! It uses some specific C extension to deduce the type of integers...
Our changes for MSVC support (plus our feature PRs) are in the following branch.
https://github.com/BRTSG-FOSS/littlefs/commits/fork/esd

Would it be possible to fix these warnings?


增加ss://，增加复制功能

Coverage increased (+0.02%) to 86.002% when pulling 91e37d634fcee451e1403ecf0a45c555af96cade on develop into fde59a9d7c0a1f837ab7ba3a65594ce228f07f3d on master.


NuGet restore is very slow on self-hosted agent run as service

Agent Version and Platform
Current agent version: '2.154.3'
OS: Windows
Platform: x64
Azure DevOps Type and Version
dev.azure.com, just build agent is self-hosted.
https://dev.azure.com/krossk/
What's not working?
NuGet restore task is very slow. I have already tried Developer Community. So the setup is this:

We use latest nuget.exe, now it is the version 5.1.0.
We use custom nuget.config where there are two nuget sources: standard nuget.org and our own nuget server. Our nuget server is not private. It is public, so from the agent view, it is the same as nuget.org, just different URL.
Solution has 7 projects.
The total number of restored packages is 81. Only 4 of them are hosted on our own nuget server, the rest are packages from nuget.org.
Total size of restored packages is around 830 MB.
The build runs on our self-hosted machine/agent.
Our build agent(s) run as a service.
The machine is not bad: Intel Xeon, 64GB RAM, SSD disk. And this is our build machine - there is no other software running.

NuGet restore task always takes around 11 minutes (usually between 10 and 13). And all the packages are in the local NuGet cache, they are not downloaded from the internet. I tried standard NuGetCommand@2 task and also simple script step running nuget.exe directly - this makes no difference.
At the Developer Community we were suggested to try changing the mode the agent is running. And this is the thing. When the agent is started manually (interactively), everything is OK. NuGet restore takes 15 seconds when all the packages are in local cache, and around 40 seconds when the cache is empty and the packages are downloaded from the internet.
When the agent is started as a service again, package restore lasts 11 minutes again.
We do not experience this slowness with the other types of steps (build, publish artifacts...). All of them are fine, just nuget restore is not working as expected.
For testing purposes, there were no steps in the build pipeline, just NuGet restore.
Agent and Worker's Diagnostic Logs
Agent_20190719-140904-utc.log
Worker_20190722-140600-utc.log

@aasim, can you take a look at this issue?
Looks like the "NuGet Restore" task can take much longer to complete when the agent is configured to run as a service vs. when it's run interactively.
From the agent's point of view, once the agent is launched, it doesn't take any specific decisions on whether it's running as any of the modes. The only difference is that running an account as a service allows running as the agent as another account. Maybe doing so causes the authentication/authorization flow in NuGet to take a slower path?

I've noticed that NuGet restore is also very slow on Microsoft-hosted agents (also see #2134, which got dismissed). I guess the underlying issue is the same.
Anyway, here's some info I found out from a project of mine, in case it could be helpful:

Caching the global packages cache does not seem to help, so the problem is apparently not tied to network speed. This is slow even though NuGet is not supposed to need network access.
I took a binary log of a restore through MSBuild (with all packages already cached), and here's what it shows:

Most time is spent in RestoreTask, and it is definitely the bottleneck
The MsBuild task which invokes the _IsProjectRestoreSupported target (in _FilterRestoreGraphProjectInputItems) also seems a bit too slow, but this may be an unrelated issue.
The logs of RestoreTask are similar to what I'm getting on my machine, and I couldn't spot any meaningful difference except for the concurrent job count. Unfortunately, MSBuildLogViewer doesn't show the timestamps of individual log lines and I don't know if this information is available in the binlog itself, but I can check that.

We have the same issue. It takes 5 minutes to restore packages. Any solution found?

Hi there, we seem to have the same Problem, Nuget restore sitting around 5 minutes before the logs come in, the total task takes 9minutes...

Hi, what was taking 20-30 seconds before, now lasts for 10-15 mins - very disappointing... Please check and fix!

Same issue here - I just installed a fresh agent and NugetCommand is taking 11ish minute.

me too, I've been pulling my hair out -- 11 minutes to restore a ~65 project sln, that's been unchanged for over a year.  (Build is running under a service account as well)

4-5 minutes per nuget restore on our Azure build pipelines. 15 seconds on local machine.

I experience similar issues as described above, however I do not think that this can be necessarily linked to azure pipelines agent. I have a restore time around 2.5 minutes on a Jenkins node (run as a service) and 10-20 seconds on my local machine. (tried with -NoCache as well) My best guess would be to poke around the nuget.exe issues.

We also experience this issue!
Some time 1 month back both Jenkins and TFS, nuget restore times went x10.
For the Jenkins we run the service as a user, I just logged in as that user and restarted the server.
After that the problem was solved!
For TFS I have tried more or less everything I can think of! The times are not going down :/

Hi everyone, this seems to be a known issue with NuGet - please see this link for more details.
As @ArtourK mentioned - one of possible solution could be to set environment variable NUGET_CERT_REVOCATION_MODE = "offline" - it is not recommended under normal circumstances, but could help to resolve issue with longer execution time.
Let me close this at the moment since it doesn't seem to be related to agent - please feel free to ask any further questions.

Hi everyone, this seems to be a known issue with NuGet - please see this link for more details.
As @ArtourK mentioned - one of possible solution could be to set environment variable NUGET_CERT_REVOCATION_MODE = "offline" - it is not recommended under normal circumstances, but could help to resolve issue with longer execution time.
Let me close this at the moment since it doesn't seem to be related to agent - please feel free to ask any further questions.

What a disappointment, Restore Packages took 3 mins, Build solution took <50 seconds. Extremely slow.

@anatolybolshakov Can you please share how to set this "environment variable" in Azure Pipelines? The documentation I found does not say anything about setting environment variables... https://docs.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=azure-devops&tabs=yaml%2Cbatch#environment-variables

For me, the restore took 3 minutes. Ended up switching from NuGet restore task (NuGetCommand@2) to DotNet restore task (DotNetCoreCLI@2). Now the restore takes only 16 seconds.

I don't have the issue number (sorry 😢) but there was a long open issue in the NuGet repo pointing out that the NuGet restore was many orders slower when run in an Azure pipeline with the task agent registered as an NT service. People kept adding to the issue but the NuGet team eventually closed it saying they couldn't reproduce the problem. This root problem has probably been around for a long time.

We have the same issue - NuGet restore task is extremely slow.
2023-10-16T13:16:01.4641069Z [command]D:\NuGet\nuget.exe restore D:\AzureBuild\agent\_work\Solution1.sln -Verbosity Detailed -NonInteractive -ConfigFile D:\AzureBuild\agent\_work\nuget.config
2023-10-16T13:16:25.7774019Z NuGet Version: <IP_ADDRESS>
2023-10-16T13:16:25.7776436Z MSBuild auto-detection: using msbuild version '<IP_ADDRESS>04' from 'C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\bin'. Use option -MSBuildVersion to force nuget to use a specific version of MSBuild.
2023-10-16T13:16:25.7781152Z MSBuild P2P timeout [ms]: 408000
2023-10-16T13:16:25.7785147Z C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\bin\msbuild.exe "C:\WINDOWS\TEMP\NuGetScratch\****.nugetinputs.targets" /t:GenerateRestoreGraphFile /nologo /nr:false /v:q /p:NuGetRestoreTargets="C:\WINDOWS\TEMP\NuGetScratch\****.nugetrestore.targets" /p:RestoreUseCustomAfterTargets="True" /p:DisableCheckingDuplicateNuGetItems="True" /p:RestoreTaskAssemblyFile="D:\NuGet\nuget.exe" /p:RestoreSolutionDirectory="D:\AzureBuild\agent\_work\" /p:RestoreConfigFile="D:\AzureBuild\agent\_work\nuget.config" /p:SolutionDir="D:\AzureBuild\agent\_work\" /p:SolutionName="Solution1"
....
2023-10-16T13:16:27.8906813Z     15 package(s) to D:\AzureBuild\agent\_work\Proj1.csproj

As you can see, there is almost 25 seconds delay after the nuget command is executed and only then we see the output. The real package restore takes around 2 seconds. When I execute the same command from the command line it executes immediately - this delay of 25 seconds does not exist.
Any idea what might be wrong? Each pipeline restores 10+ solutions and when there is a 30 seconds delay per each restore task, 5 minutes are lost for the machine doing nothing.

Why is disabling an important security feature considered an acceptable resolution to this problem?

Struggled with this forever.  Only solution I discovered that wasn't waiting forever was to use MSBuild task and the deprecated Nuget restore configuration setting.
steps:
- task: MSBuild@1
  displayName: 'Restore Nuget Packages (deprecated but fast)'
  inputs:
    platform: '$(BuildPlatform)'
    configuration: '$(BuildConfiguration)'
    msbuildArguments: '-target:Restore /p:RestoreUseSkipNonexistentTargets="false"'
    restoreNugetPackages: true

I've noticed the same issue where it seems the startup time for nuget.exe to get to the first log message (printing the nuget.exe version string) takes 30 seconds - 1.5 minutes. Once the package restoring begins, that goes quickly. Must be wasting huge amounts of capacity across the entire fleet of hosted agents

same issue here - in my case i took ~15 seconds just to tell me this: (called nuget -x)
NuGet.Commands.CommandException: Unknown command: "-x"
   v NuGet.CommandLine.CommandManager.GetCommand(String commandName)
   v NuGet.CommandLine.CommandLineParser.ParseCommandLine(IEnumerable`1 commandLineArgs)
   v NuGet.CommandLine.Program.MainCore(String workingDirectory, String[] args)


Term search is not retrieving all annotated gene products

When I search on "DNA recombination" and download gene products in pombe  I get 103 gene products. For PomBase I get  117.
I compared the lists and the following were not in both lists:
However, the ones that I spot checked WERE annotated to DNA recombination in AmiGO
19 elements included exclusively in "List 2":
SPCC24B10.08c
SPAC30D11.10
SPBC3D6.11c
SPBC9B6.02c
SPAC6B12.02c
SPCC1020.14
SPBC887.14c
SPAC27E2.08
SPAC13D1.01c
SPAC167.08
SPAC26A3.13c
SPBC1921.02
SPBC1289.17
SPAC1687.03c
SPAP27G11.15
SPAC9.04
SPAC2E1P3.03c
SPAPB15E9.03c
SPAC19D5.09c

Could you qualify the exact procedure that you're using to generate these download lists so that we can duplicate the describe behaviour? I'm having trouble teasing out what you were doing here.

http://amigo2.berkeleybop.org/amigo/term/GO:0006310
select link to gene products
http://amigo2.berkeleybop.org/amigo/search/bioentity?q=*:*&fq=regulates_closure:"GO:0006310"&sfq=document_category:"bioentity"
filter on pombe
gives 103 results.
Download results.
Compared to PomBase where I have 117.
Difference (genes not in list downloaded from AmiGO)  is above.
Gene products above ARE annotated to "DNA recombination" when I go to the page for the gene product.....

actually the whole list is not a problem. Some are transposons, we don't submit these to GO
These are the ones which were not included in the dwonload results, but when I checked the pages, they had a "DNA recombination" annotation
SPCC24B10.08c	ada2	SAGA complex subunit Ada2	protein_coding	III
SPAC6B12.02c	mus7	DNA repair protein Mus7/Mms22	protein_coding	I
SPBC887.14c	pfh1	5' to 3' DNA helicase, involved in DNA recombination and repair Pif1
SPAC30D11.10	rad52	DNA recombination protein, Rad51 mediator Rad52 (previously Rad22)
SPBC1921.02	rad60	DNA repair protein Rad60
SPAC1687.03c	rfc4	DNA replication factor C complex subunit Rfc4 (predicted)
SPAP27G11.15	slx1	structure-specific endonuclease catalytic subunit Slx1	protein_coding
SPBC3D6.11c	slx8	SUMO-targeted ubiquitin-protein ligase E3 Slx8
( I did not check them all, but I checked 3)

see on the mus7 page
http://amigo2.berkeleybop.org/amigo/search/annotation?q=mus7
double-strand break repair via homologous recombination
but it sin't in the search results

First hypothesis is there is an ontology difference between the two loads; 2nd is that a difference in GAFs between two loads
Let's take one example:
http://www.pombase.org/spombe/result/SPCC24B10.08c
(7 terms)
http://amigo2.berkeleybop.org/amigo/gene_product/PomBase:SPCC24B10.08c
(10 terms)
Let's explore the differences here

OK, forget my example, let's look at mus7

but I can see the annotation in AmiGO which should place it in my result set
"double-strand break repair via homologous recombination"
is an is_a descendant of "DAN recombination"

..so AmiGO isn't internally consistent...

It looks like a discrepancy between bioentity and annotation results
@hdietze please look at this
Annotations:
http://amigo2.berkeleybop.org/amigo/term/GO:0006310
select "PomBase"
Type "mus7" in free text filtering. You will see the direct annotation to 'double-strand break repair via homologous recombination' as expected
Entities
http://amigo2.berkeleybop.org/amigo/search/bioentity?q=*:*&fq=regulates_closure:"GO:0006310"&sfq=document_category:"bioentity"
Select "PomBase"
type "mus7"
It doesn't show up

(btw, I'm trying to debug using gannet, but gannet is gone)

(gannet is not considered a "production" item, so does not exist outside of labs)

We've figured it out. The PAINT annotations are clobbering the bioentity closure.

Many thanks @ValWood.

Short term, the GAFs have been reordered anyways, so the more expected default will win. Long-term, well, we can continue on the other ticket.

Reopening until we've decided a resolution. Should we turn off bioentity views for now?

That is not something that can be done without some fairly invasive code.

@cmungall What AmiGO-level fix would you suggest?

It looks like only PomBase is affected by this. A bug in the paint publishing pipeline leaks PomBase entries into paint_other; normally this shouldn't be catastrophic, but when combined with the only-now-revealed bioentity clobbering issue, the problem arises.

Okay, as I understand this, the close of this is near. With the fix and reload coming as part of #272 (which should close it out, thanks to @hdietze ) and the reordering of the GAF load already in, the PomBase annotations that shouldn't be there should have their closures be clobbered by the correct ones anyways--just by ordering. So triaged until the more major upstream PAINT/owltools fix that will give us more general fixes for this kind of issue.

I think I followed all the tickets and you don't require any feedback from me, but ping me if you do.
A couple of question, just curious.
What is PAINT clobbering? why is only PomBase affected? Have we done something differently?
A while ago, I asked how pombe PAINT annotations were getting into AmiGO, without coming through PomBase (we do not currently include PAINT annotations, but we plan to shortly.We would filter  those redundant with  experimental annotations, and those where we have reported a problem here https://github.com/geneontology/go-annotation/issues so that the numbers in PomBase and AmiGO agreed).
Will the reload fix the problem with th missing description lines too?

From @hdietze 's remark above, you can start looking at the cascade of issues from here: geneontology/go-site#115. TL;DR: there is nothing wrong with any data that PomBase is producing, we're triaging it now, will have better solutions in the future.
As far as missing description lines goes, I'm assuming that's long names? Those were likely lost in the clobber as well. We'll know in a few hours when this load completes.

"mus7" now shows up and the PomBase count from above now reports as 117.


Fixing the default behaviour of expose_dsl_globally

I'm going to tackle #1931 but in doing so I came across a cucumber scenario I believe is broken (the scenario doesn't describe what it does, and changing the scenario to match the description results in a failure) ping @myronmarston

Well found where that was going wrong...

This will certainly solve the problem, but I wonder if we can do away with the need to call RSpec.configuration from autorun.  Can we move where the DSL is exposed by default from RSpec.configuration into another spot that is automatically executed when rspec-core is loaded?  It would be nice to change this:
  def self.configuration
    @configuration ||= begin
                         config = RSpec::Core::Configuration.new
                         config.expose_dsl_globally = true
                         config
                       end
  end

to this:
  def self.configuration
    @configuration ||= RSpec::Core::Configuration.new
  end

@myronmarston I reworked this, WDYT

Better.  It still feels kinda weird to have to mutate the configuration from it's instantiated state at load time, though.  Here's an alternate solution that's based on your technique that I think I like better:

Add expose_globally! right after the RSpec::Core::DSL.expose_globally! method def
Add expose_globally! right after the RSpec::Core::SharedExampleGroup::TopLevelDSL.expose_globally! method def

It seems more cleaner and more natural to me to put the responsibility in those places since they manage the DSL.
That said, I don't care too much and am happy to see this fix so if you prefer how you have it now, merge away once it's green.

Add expose_globally! right after the RSpec::Core::DSL.expose_globally! method def

Add expose_globally! right after the RSpec::Core::SharedExampleGroup::TopLevelDSL.expose_globally! method def

It seems more cleaner and more natural to me to put the responsibility in those places since they manage the DSL.

I see those as splitting the responsibility personally... After all it's only because our config is supposed to default to exposing these globally that we do this at all... I'm looking forward to removing this line in 4.0 :)

Fair enough, merge away.


The operation couldn’t be completed. (LibFido2Swift.FIDO2Error error 0.)

Describe the bug
Trying to login into my dev account using hardware key. It shows field and says insert your pysical key and enter the PIN. I have YubiKey 5C NFC. There is no PIN, but it requires to touch the key to authenticate.  When I touch the key it enters some hidden text into that PIN field and next screen is an error The operation couldn’t be completed. (LibFido2Swift.FIDO2Error error 0.)
To Reproduce
Steps to reproduce the behavior:
Tap install.
Sign in with hardware key.
Xcodes shows PIN screen.
You touch the key.
Xcodes shows an error.
There is no way to skip PIN screen.
Expected behavior
I should be able to sign in.
Screenshots

Version

OS: macOS 15.1
Xcodes: 2.4.0

@kinoroy can I get you to perhaps answer any issues on the hardware key?

Yeah at the moment, devices without a FIDO2 PIN set aren't supported, sorry about that.
However, it seems I incorrectly assumed a PIN was required by Apple as the Relying Party but that doesn't seem to be the case now that I am testing it.
So, it should be possible to support PIN-less authentication and I can work on opening a PR to allow it
Thanks for the report!


Util is missing

The file util.py is not in the repository anymore.

util.py was intentionally removed in version 4.0.0.


Fix MDL sheen BSDF

Similar to the other BSDFs, mx_sheen_bsdf in the MDL generator also needs to pass the volume properties to the next layer. If this is missing, SSS and attenuation do not work if a sheen layer is present in the material.

Thanks for posting this change, @proog128, and make sure to fill out a Contributor License Agreement (either individual or corporate) if you haven't already, so that we can review and merge this work:
https://github.com/materialx/MaterialX/blob/main/CONTRIBUTING.md

Oh, sorry, I haven't filled that out yet. I will check, it may take a few days.

@jstone-lucasfilm I signed the CLA and sent it to<EMAIL_ADDRESS>a couple of days ago. Not sure if you have received it yet, let me know if anything is missing.

@proog128 Thanks for the reminder, and I've just bumped the appropriate thread within Lucasfilm, so that we can get your CLA approved.


how to specify the venv when running uv pip install

i'm trying to write a pyprojectx install script for basedmypy where the user can pass --python 3.8 etc, but i am struggling to figure out how to do this
i originally had:
[tool.pyprojectx.aliases]
install = ["uv venv", "uv pip install -r test-requirements.txt -e ."]

but when this was invoked:
> ./px install --python 3.8
px install --python 3.8 .venv8                                                                                Using CPython 3.8.10 interpreter at: C:\Users\AMONGUS\AppData\Local\Programs\Python\Python38\python.exe
Creating virtual environment at: .venv8
Activate with: .venv8\Scripts\activate
error: C:\Users\AMONGUS\projects\basedmypy\.venv8 does not appear to be a Python project, as neither `pyproject.toml` nor `setup.py` are present in the directory

which makes sense, uv pip install expects packages, not a venv directory, so i switched to writing a separate python script, along the lines of:
# psuedo code, for brevity
from subprocess import check_call

# parse args ...
check_call(["uv", "venv" "--python", args.python, f".venv{args.python}"])
check_call(["uv", "pip" "install", "-r", "test-requirements.txt", "-e", ".", "--python", args.python])

this has the issue that uv pip doesn't know anything about the newly created venv...
so i've tried all these things, but i can't seem to get anywhere, am i missing something here?
> uv venv --python 3.8 .venv8
Using CPython 3.8.10 interpreter at: C:\Users\AMONGUS\AppData\Local\Programs\Python\Python38\python.exe
Creating virtual environment at: .venv8
Activate with: .venv8\Scripts\activate
> uv pip install -r test-requirements.txt -e . --python 3.8
error: No virtual environment found for Python 3.8; run `uv venv` to create an environment, or pass `--system` to install into a non-virtual environment
> uv pip install -r test-requirements.txt -e . --python 3.8 --prefix .venv8
error: No virtual environment found for Python 3.8; run `uv venv` to create an environment, or pass `--system` to install into a non-virtual environment
> uv pip install -r test-requirements.txt -e . --python 3.8 --target .venv8/Lib/site-packages
error: No virtual environment found for Python 3.8; run `uv venv` to create an environment, or pass `--system` to install into a non-virtual environment

ideally, i want a simple command that will create a venv with a specific name and install dependencies in it:
> uv pip install <blah blah> --python 3.8 --venv .venv8

better yet, when specifying python version, uv could have a set way of naming and identifying the different venvs
or maybe, you think that is a bad ux, and everyone should just recreate the same .venv every time they want to switch python versions then i guess this issue is invalid
with basedmypy specifically, i need to switch Python versions constantly

The second call should use --python f".venv{args.python}", not --python args.python.

ah, that makes sense, thanks

okay thanks, so that does resolve my question and my situation. the only thing left is the request for a shorthand, instead of needing to write a script

I don't think we're likely to add a mechanism to create a virtualenv as part of a pip install command (if that's what you're referring to), since the commands are already composable?
uv venv --python 3.8 .venv-3.8 && uv pip install -r test-requirements.txt --python .venv-3.8

yeah, okay. just can't easily abstract that into an alias, all good, thanks so much for responding as always 😁


Emails not being grabbed on initial call within CI

So I have something odd, the following
    let emails = server.call('emailStub/getEmails');
    let count = 0;
    while(!emails[0]){
      if(count === 1000){
        throw new Error('No emails picked up after 1,000 tries');
      }
      count++;
      emails = server.call('emailStub/getEmails');
    };

works no problem locally. However, in CI (circle), the error is thrown, and the odd thing is that it ONLY happens with the first email test. subsequent tests that implement this exactly as above, do in fact get the email and pass accordingly. Any ideas?

Apologies, running this via chimp

The other odd thing is that if I SSH into the instance and run the test manually...it passes...

Chalk this one up to user error.
I was running meteor in test mode via meteor test --full-app --driver-package tmeasday:acceptance-test-driver --settings settings.json
And when I'd run the tests for the first time, it would not work, but it would on second runs. This is because I didn't do a fresh restart of the meteor server. When I would restart the server manually then it would fail consistently. After looking at all the wrong places I finally discovered I was simply forgetting to actually stub the emails via server.call('emailStub/stub');.


[GIE Doc] Add the GIE FAQs document

Summary

🤖 Generated by Copilot at 18b8dda
Add a new FAQ section for GIE Gremlin Usage to the documentation. The section covers some common questions and answers about the features and usage of GIE Gremlin, a query language extension for GraphScope. The change helps users to better understand and use GIE Gremlin for graph analytics and graph neural network scenarios.
What do these changes do?
copilot:changelog

Related issue number
Fixes #2522

should include the FAQs in index.rst

done


[Bug Report] Popper of el-select (in el-table-row) won't move when container is scrolled

Element UI version
1.4.4
OS/Browsers version
Win7/Chrome 60.0.3112.113
Vue version
2.4.4
Reproduction Link
https://jsfiddle.net/rwo1sou4/
Steps to reproduce

Click el-select to show dropdown.
Scroll out of the table

What is Expected?
The pop up go with the el-select component
What is actually happening?
The pop up stick at original side.
Root cause and suggestion
The problem should caused by popper.js used in element-ui. It only listens to the nearest scrollable parent (in the sample it is el-table__body-wrapper). So no updating is caused when scroll outside the table.
When check the github of popper.js, looks the problem is fixed in latest version, suggest to update the version of popper.js. Or manually trigger update of popper in the vue-popper.

I've had similar problems

similar problems too

https://jsfiddle.net/rwo1sou4/5/ 最新版已无此问题。


Fixing formatting and Pre-reg banner relevant period is incorrect on …

…check your answers page
JIRA link
https://companieshouse.atlassian.net/browse/ROECCT-275
Change description
Pre-reg banner relevant period is incorrect on check your answers page
Work checklist

[ ] Tests added where applicable
[ ] UI changes meet accessibility criteria

Merge instructions
We are committed to keeping commit history clean, consistent and linear.  A BREAKING CHANGE can be part of commits of any type,
types other than fix: and feat: are allowed, for example build:, chore:, ci:, docs:, style:, refactor:, perf:, test:, and others,
footers other than BREAKING CHANGE: <description> may be provided.

Both the functionality and the code changes look good to me.
Since no unit test here, do you think we could just add the following line of code after line 301 of the existing unit test in the accompanying check.your.answers.controller.spec.ts file? Just to cover this change and help protect against this functionality on the Check your answers page ever being broken?
expect(resp.text).toContain(RELEVANT_PERIOD);

Hi Craig, its just a bug fix while whole page(relevant-period-statements.html) is under the flag and I added test for that with the feature ticket. ROECCT-212


some of the new tiles shows space under it

Why is the floor see trough oh god the space is here
Originally posted by @MaloTV in https://github.com/CM-14/CM-14/issues/709#issuecomment-1832473933

oh, fuck.

looks like this for the maints version too


silence

@pat
current test run is pretty noisy ... prefer silence to see when something is actually broken

Definitely keen to get this merged in, but looks like the tests are all failing :( Any chance you can fix it? Or if you need me to look into it, I should be able to find some time soon.

fixed

fixed

Merged this in, and then pulled the silencing of migrations/schema import over to Combustion instead :) Thanks!


Added my username

Yay.

The name over there is WordPress account. You can see it in this page
https://en-gb.wordpress.org/plugins/cloudflare/advanced/
FYI the nick you changed is the account tag rather than the account name. I'd suggest getting and account with the same tag

Welcome to the team, guy.

@thellimist Not quite sure what you mean, but this is the account I have right now https://profiles.wordpress.org/manatarms. Is this what you meant ?

Correct @manatarms on WordPress.org.


Could we visualize filter-branch?

We have no concept of the working directory so maybe it's not useful?

Could it be visualized as something like a rebase?


Change structure of output and log directories

Description

To make the path of the output files clear, its structure is modified.
Log files are moved into the COM directory.
This change partially follows the NCO implementation standards (path under COMROOT).

Anticipated changes to regression tests:

[ ] Is baseline change expected ?

Subcomponents involved:

[ ] DA_update (ufs-community/land-DA)
[ ] ufsLand.fd (NOAA-EPIC/ufs-land-driver-emc-dev)
[ ] ufs_model.fd (ufs-community/ufs-weather-model)
[ ] vector2tile_converter.fd (NOAA-PSL/land-vector2tile)
[x] none

Linked PR's and Issues:

Resolves Issues #71 , #74

Testing (for CM's):

RDHPCS

[x] Hera
[x] Orion
[ ] Jet
[ ] Gaea
[ ] Cheyenne

CI

[ ] Completed

PW-Clouds

[ ] AWS
[ ] AZURE
[ ] GCP

Orion-login-4[11] chjeon$ ctest
Test project /work/noaa/epic/chjeon/landda_test/land-DA_workflow/sorc/build
    Start 1: test_vector2tile
1/7 Test #1: test_vector2tile .................   Passed    7.99 sec
    Start 2: test_create_ens
2/7 Test #2: test_create_ens ..................   Passed    8.77 sec
    Start 3: test_letkfoi_snowda
3/7 Test #3: test_letkfoi_snowda ..............   Passed   61.51 sec
    Start 4: test_apply_jediincr
4/7 Test #4: test_apply_jediincr ..............   Passed    4.86 sec
    Start 5: test_tile2vector
5/7 Test #5: test_tile2vector .................   Passed   14.08 sec
    Start 6: test_land_driver
6/7 Test #6: test_land_driver .................   Passed   10.95 sec
    Start 7: test_ufs_datm_land
7/7 Test #7: test_ufs_datm_land ...............   Passed  586.78 sec

100% tests passed, 0 tests failed out of 7

Total Test time (real) = 695.06 sec

@chan-hoo don't we need to remove line 347 of app_build.sh or replace with "module purge'? I thought this was necessary to build successfully?

@zach1221, removed.
Orion-login-4[4] chjeon$ ctest
Test project /work/noaa/epic/chjeon/landda_test/land-DA_workflow/sorc/build
    Start 1: test_vector2tile
1/7 Test #1: test_vector2tile .................   Passed    8.55 sec
    Start 2: test_create_ens
2/7 Test #2: test_create_ens ..................   Passed   13.62 sec
    Start 3: test_letkfoi_snowda
3/7 Test #3: test_letkfoi_snowda ..............   Passed   73.37 sec
    Start 4: test_apply_jediincr
4/7 Test #4: test_apply_jediincr ..............   Passed    5.00 sec
    Start 5: test_tile2vector
5/7 Test #5: test_tile2vector .................   Passed   12.93 sec
    Start 6: test_land_driver
6/7 Test #6: test_land_driver .................   Passed    8.49 sec
    Start 7: test_ufs_datm_land
7/7 Test #7: test_ufs_datm_land ...............   Passed  590.54 sec

100% tests passed, 0 tests failed out of 7

@chan-hoo I can approve if you are ok with my last two commits. There is jenkins pipeline ctest failure (test 6), which is nothing to do with this pr. we can capture after merging this pr. let me know.

@jkbk2004, they look good. please approve this pr.


First time flow

verbiage in sample files needs some work....
LMK if you have any thoughts around the opinions codified in these sample configs
cc @jthandy

I'm not sure we should create the ~/.dbt directory like this.  I believe if someone did a sudo pip install dbt (once we get the package into pip), that directory would be created with root's permissions, which isn't good.  Plus, I don't really see what value it adds.
Otherwise, I like this.

It was a confusing experience for me as a member of this target audience to find that ~/.dbt hadn't been created for me. I have definitely had to modify stuff in hidden folders before but never had to make one...it feels like something the setup program always does for stuff I use. However, I agree it shouldn't be owned by root. If there isn't some other good / easy way to create this with user privileges I'm fine saying the user has to create it; we just have to document that.

Documenting it is the better option IMO.  Even if we create the folder, we still need to document how to create the file - so I don't think creating the folder automatically adds a whole lot of value.

@drewbanin I think we decided to kill this, yes? if so, just close out and add comments on the reasoning.

Killing this -- does not provide any value. I think the docs are out of date too


Enable multiple QPDFWriters for the one QPDF document

To enable the pattern of update, preview, update, preview...  the PDF document must be generated multiple times using the QPDFWriter class.  Currently not all changes are written when a subsequent QPDFWriter is constructed from the same QPDF object.   Either allow two or more QPDFWriters for the one document or enable alternate ways to get the current state PDF representation or a specified page, from a single QPDF object.

I think this should work for the current qpdf release in most cases, particularly with QPDFWriter's defaults. I'm not 100% certain that it will work properly with linearized or encrypted files, and I don't think I've tested it with object stream generation. However, feel free to give this a try and update this issue with any specific problems you find. I will leave this open as a reminder to add specific tests to the test suite to ensure that this functionality works and continues to work and will update the docs to reflect it as a supported mode of operation if it does. For now, you can assume that I am not going to make future changes that will preclude this working or make it work less well than it does. The test suite does actually do this already in a few cases, so it's at least partially exercised.

This came up in #1100 as well.


Fix unbalanced tags causing a rendering error

Fixes rendering error where content after aside is shown in raw markdown (From "## Intercept the web page requests" onward)
Filed as https://github.com/google-developer-training/pwa-ecommerce-demo/issues/19
What's changed, or what was fixed?

item 1
item 2

Fixes: #issue
Target Live Date: YYYY-MM-DD

[ ] This has been reviewed and approved by (NAME)
[ ] I have run npm test locally and all tests pass.
[ ] I have added the appropriate type-something label.
[ ] I've staged the site and manually verified that my content displays correctly.

CC: @petele

:tada: This has been pushed live to https://developers.google.com/web/


Search Namespaces not working

https://user-images.githubusercontent.com/40840436/152558959-cebf12d1-b123-4522-9cc3-f02dc5b54e28.mov
Happening on 5.4.0-beta.0. This was working in 5.4.0-alpha.1

User error (don't pick kube for search term)


Improve docs generation

build.sh -w now performs a full install of dependencies instead of relying on local installation tricks.

It was always in out/web-doxs already. But dependencies weren't getting pulled because wat.


Buddy list: Prep work for adding two section layout

This PR extracts all the unambiguous commits that we can merge from #20072.
Fixes:

Screenshots and screen captures:
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.

I merged the couple commits ending in 20f36431ec3a03a78cdda03563f2801fc5cdf00b.
I'll note that the "Remove compose_fade" commit is not a "prep commit" we can merge early, since it removes a feature.

Rebased, and removed compose fade commit!

Rebased, and removed compose fade commit!

Just to clarify, we absolutely plan to remove the compose fade feature; @timabbott just wanted to make sure that we don't do it prematurely (i.e. before merging the rest of the PR).

Just to clarify, we absolutely plan to remove the compose fade feature; @timabbott just wanted to make sure that we don't do it prematurely (i.e. before merging the rest of the PR).

Yeah, that's why I haven't removed it from main PR #20072.

@timabbott I think this is ready for another review from you. I'd love to keep making progress on this one!

I've rebased the PR to remove the merge conflict.

Let me know when this is updated to no longer remove any existing functionality -- that's an essential requirement for a mergeable prep commit series.

I've also removed compose fade commit a long time back is there any other change/commit that you think is removing existing functionality?

Closing, as this project was finally merged in the last few weeks. Thanks for all the effort on this @Riken-Shah!


Add hover effect on whole cards of categories page

On light mode there is no hover effect on cards.
I would like to add hover effect on cards of categories page in light mode.
Kindly assign me this issue under the gssoc'24-ext, hacktoberfest'24 and hacktoberfest-accepted.

Kindly assign me this issue


HIVE-28133: Log the original exception in HiveIOExceptionHandlerUtil#handleRecordReaderException

What changes were proposed in this pull request?

Logging improvements
Why are the changes needed?

Troubleshooting
Does this PR introduce any user-facing change?

No
Is the change a dependency upgrade?

No
How was this patch tested?

on a cluster

LGTM, but created HIVE-28135 as a followup

LGTM, but created HIVE-28135 as a followup

it seems like a dead code with 0 implementations. should we then drop the whole stuff in 1 go?

LGTM, but created HIVE-28135 as a followup

it seems like a dead code with 0 implementations. should we then drop the whole stuff in 1 go? or maybe someone adds the handlers via aux jars?

even if they add it via aux jars, I still don't get the point of defining flexible exception handlers for record reader exceptions, not even a single google match that made sense, so I believe we can let this awesome handler chain go :)

@abstractdog, should we merge this or wait for HIVE-28135?

LGTM, we can merge until I finalize HIVE-28135


*: support stale read

Signed-off-by: linning<EMAIL_ADDRESS>
What problem does this PR solve?
Issue Number: close #xxx
Problem Summary:
What is changed and how it works?
Proposal: xxx
What's Changed:
Related changes

PR to update pingcap/docs/pingcap/docs-cn:
PR to update pingcap/tidb-ansible:
Need to cherry-pick to the release branch

Check List
Tests

Unit test
Integration test
Manual test (add detailed scripts or steps below)
No code

Side effects

Performance regression

Consumes more CPU
Consumes more MEM

Breaking backward compatibility

Release note

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


使用release-ci.Dockerfile构建镜像失败

在x86的机器上希望使用构造一个amd64的编译镜像，我使用了在shell脚本里使用了以下命令
docker buildx build --platform="linux/amd64" --tag "${CI_IMAGE_NAME}_${PLATFORM}:${CI_IMAGE_TAG}" -f release-ci.Dockerfile --load .

其中release-ci.Dockerfile使用本仓库中对应的release-ci.Dockerfile https://github.com/secretflow/devtools/blob/main/dockerfiles/release-ci.DockerFile
构建过程中发生以下错误：
=> ERROR [2/9] RUN yum install -y centos-release-scl epel-release     && yum update -y     2.0s
------
 > [2/9] RUN yum install -y centos-release-scl epel-release     && yum update -y     && yum clean all:
0.690 Loaded plugins: fastestmirror, ovl
1.410 Determining fastest mirrors
1.472 Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=container error was
1.472 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"
1.477
1.477
1.477  One of the configured repositories failed (Unknown),
1.477  and yum doesn't have enough cached data to continue. At this point the only
1.477  safe thing yum can do is fail. There are a few ways to work "fix" this:
1.477
1.477      1. Contact the upstream for the repository and get them to fix the problem.
1.477
1.477      2. Reconfigure the baseurl/etc. for the repository, to point to a working
1.477         upstream. This is most often useful if you are using a newer
1.477         distribution release than is supported by the repository (and the
1.477         packages for the previous distribution release still work).
1.477
1.477      3. Run the command with the repository temporarily disabled
1.477             yum --disablerepo=<repoid> ...
1.477
1.477      4. Disable the repository permanently, so yum won't use it by default. Yum
1.477         will then just ignore the repository until you permanently enable it
1.477         again or use --enablerepo for temporary usage:
1.477
1.477             yum-config-manager --disable <repoid>
1.477         or
1.477             subscription-manager repos --disable=<repoid>
1.477
1.477      5. Configure the failing repository to be skipped, if it is unavailable.
1.477         Note that yum will try to contact the repo. when it runs most commands,
1.477         so will have to try and fail each time (and thus. yum will be be much
1.477         slower). If it is a very temporary problem though, this is often a nice
1.477         compromise:
1.477
1.477             yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true
1.477
1.477 Cannot find a valid baseurl for repo: base/7/x86_64
------
release-ci.Dockerfile:3
--------------------
   2 |
   3 | >>> RUN yum install -y centos-release-scl epel-release \
   4 | >>>     && yum update -y \
   5 | >>>     && yum clean all
   6 |
--------------------
ERROR: failed to solve: process "/bin/sh -c yum install -y centos-release-scl epel-release     && yum update -y     && yum clean all" did not complete successfully: exit code: 1

而使用 https://github.com/secretflow/devtools/blob/main/dockerfiles/release-ci-aarch64.DockerFile
构造arm64的镜像是能够成功构建没有问题的，
同时我修改了 release-ci.Dockerfile中的基础镜像，https://github.com/secretflow/devtools/blob/main/dockerfiles/release-ci.DockerFile#L1-L5
修改为以下内容：
FROM centos:centos8

RUN cd /etc/yum.repos.d/ \
    && sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* \
    && sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* \
    && yum update -y \
    && yum install -y dnf-plugins-core \
    && yum config-manager --set-enabled powertools \
    && yum clean all

则能够成功构建基于amd64架构的镜像。
请问我这里使用centos8作为基础系统镜像是否会存在问题？

在x86的机器上希望使用构造一个amd64的编译镜像，我使用了在shell脚本里使用了以下命令
docker buildx build --platform="linux/amd64" --tag "${CI_IMAGE_NAME}_${PLATFORM}:${CI_IMAGE_TAG}" -f release-ci.Dockerfile --load .

其中release-ci.Dockerfile使用本仓库中对应的release-ci.Dockerfile https://github.com/secretflow/devtools/blob/main/dockerfiles/release-ci.DockerFile 构建过程中发生以下错误：
=> ERROR [2/9] RUN yum install -y centos-release-scl epel-release     && yum update -y     2.0s
------
 > [2/9] RUN yum install -y centos-release-scl epel-release     && yum update -y     && yum clean all:
0.690 Loaded plugins: fastestmirror, ovl
1.410 Determining fastest mirrors
1.472 Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=container error was
1.472 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"
1.477
1.477
1.477  One of the configured repositories failed (Unknown),
1.477  and yum doesn't have enough cached data to continue. At this point the only
1.477  safe thing yum can do is fail. There are a few ways to work "fix" this:
1.477
1.477      1. Contact the upstream for the repository and get them to fix the problem.
1.477
1.477      2. Reconfigure the baseurl/etc. for the repository, to point to a working
1.477         upstream. This is most often useful if you are using a newer
1.477         distribution release than is supported by the repository (and the
1.477         packages for the previous distribution release still work).
1.477
1.477      3. Run the command with the repository temporarily disabled
1.477             yum --disablerepo=<repoid> ...
1.477
1.477      4. Disable the repository permanently, so yum won't use it by default. Yum
1.477         will then just ignore the repository until you permanently enable it
1.477         again or use --enablerepo for temporary usage:
1.477
1.477             yum-config-manager --disable <repoid>
1.477         or
1.477             subscription-manager repos --disable=<repoid>
1.477
1.477      5. Configure the failing repository to be skipped, if it is unavailable.
1.477         Note that yum will try to contact the repo. when it runs most commands,
1.477         so will have to try and fail each time (and thus. yum will be be much
1.477         slower). If it is a very temporary problem though, this is often a nice
1.477         compromise:
1.477
1.477             yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true
1.477
1.477 Cannot find a valid baseurl for repo: base/7/x86_64
------
release-ci.Dockerfile:3
--------------------
   2 |
   3 | >>> RUN yum install -y centos-release-scl epel-release \
   4 | >>>     && yum update -y \
   5 | >>>     && yum clean all
   6 |
--------------------
ERROR: failed to solve: process "/bin/sh -c yum install -y centos-release-scl epel-release     && yum update -y     && yum clean all" did not complete successfully: exit code: 1

而使用 https://github.com/secretflow/devtools/blob/main/dockerfiles/release-ci-aarch64.DockerFile 构造arm64的镜像是能够成功构建没有问题的， 同时我修改了 release-ci.Dockerfile中的基础镜像，https://github.com/secretflow/devtools/blob/main/dockerfiles/release-ci.DockerFile#L1-L5 修改为以下内容：
FROM centos:centos8

RUN cd /etc/yum.repos.d/ \
    && sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* \
    && sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* \
    && yum update -y \
    && yum install -y dnf-plugins-core \
    && yum config-manager --set-enabled powertools \
    && yum clean all

则能够成功构建基于amd64架构的镜像。 请问我这里使用centos8作为基础系统镜像是否会存在问题？

#77


move MsalRedirectComponent to APP_INITIALIZER

Fixes #4036
Sorry about tests, they are not prepared good enough. Review the idea please

Closing due to inactivity. Please let us know if you would still like to explorer this idea, because I think it is interesting (preferably in a backwards compatible way).


Ability to show selected element in the tree (level 2 and deeper)

Hi,
I did start to use this feature as select2-to-tree and found one UI issue.
The case.

I open the selectbox and select the value inside the tree on the level 2 and more.
I open the selectbox again and see that the tree is un-collapsed and selected value not showing inside the tree.

I did investigate this moment nad see that for the open/hide you use classes 'opened' and 'showme'.
Do we have the way how to show the un-collapsed tree inside the selectbox with value that we dd select before (or with default value it it was added in the tree of values inside)?
Thanks.

My wrong..
Solution: https://github.com/i350/select2-to-tree/tree/expand-selected
Can add it into description?
As for me this is real user-frieldly option.
Thanks!


Slag cement and heat conduction changes (also fixes item duplication)

Slag cement
slag cement is ground from slag and works as a replacement for stone in the technic concrete recipe.
Crafting to prefab concrete and gloopblocks wet cement is optionally available as well.
Alternatively it can be cooked/melted to glass (inspired by slag glass)
Changes to heat conduction

Molten ore now melts or remelts metal blocks instead of replacing them with a copy of the source material. This also fixes a possible abuse of ore duplication, where a controlled source of metal would replace random things with more of the same metal.
Heat conduction now directs itself randomly, if it cannot remelt the node below itself, instead of always preferring directions in a fixed order.
When remelting/destroying other nodes, energy is conserved, which cools down the source, unless it is heated otherwise. This also helps preventing run-away melting, due to ABM's catching up.

Very nice. Sorry about the slow response, catching up on work after vacation :)

No worries. :-D


[DO_NOT_MERGE_ILLUSTRATION_ONLY] Reactive module layout SIMPLE

@cbornet this is the simple version of https://github.com/spring-projects-experimental/spring-pulsar/pull/165 where we do not split the core modules out yet but instead provide a reactive autoconfig and reactive starter which gives us the additive reactive pieces when we want them.

spring-pulsar-spring-boot-autoconfigure configures admin + client + imperative + reactive (when on the classpath)
spring-pulsar-spring-boot-starter depends on spsba and puts spring-pulsar on classpath
spring-pulsar-reactive-spring-boot-starter depends on spsba and puts spring-pulsar + reactive client on classpath

Closing in favor of https://github.com/spring-projects-experimental/spring-pulsar/pull/175