UTXO is listed as unconfirmed after 400+ confirmations

Background
I have a utxo that is listed as unconfirmed in my wallet, however has many confirmations:
$ lncli listunspent
{
	"utxos": [
		{
			"address_type": 0,
			"address": "bc1qr55fjt0f4d66uuphvs9xwxptd8cnaz90fqfh0j",
			"amount_sat": 2760667,
			"pk_script": "00141d28992de9ab75ae7037640a67182b69f13e88af",
			"outpoint": "53f4812c3ffd1e32f207ca8403b4008a15893a952cf459ade93378712b9a0cb0:0",
			"confirmations": 0
		},
		...
	]
}

Your environment
lnd v0.14.2 with bitcoind 23.0rc2

Fixed by updating to bitcoind 23.0rc4


[Bug] Regrowth effect not working on modded weapons

I currently have a promethium katana, using the mod Simply Swords. No matter how long it is in my active hand, it does not regain durability. This problem does not extend to my other promethium gear, such as my armor. My guess is that this bug has to do with the weapon being a unique modded one.
I'm unsure if the bug is with Mythic Metals or Simply Swords, so I will be opening this issue under both.

Can confirm this, using another weapon from Simply Swords on minecraft 1.20.1 (mod version 0.19.7). Tools made from prometheum do regenerate, but the rapier weapon does not no matter if where it is in my inventory

I don't blame Sweeney for this, as the Prometheum handling and Ability "API" is very poor.
With the final release of 1.20.1 I am simplifying the code for this, which should make it much easier to implement the changes required for the Prometheum tools.

Generally the system for auto repair should be way better now. For both 1.20 and 1.21 there are better systems in place for this, which are documented in the PATCHNOTES.md file.
Specifically for 1.21 feel free to pass this to any mod developers which can add compat: https://github.com/Noaaan/MythicMetals/blob/1.21/PATCHNOTES.md#ability-changes


Per-form CSRF tokens

Hello. Is it worth adding a note about the new per-form CSRF tokens feature in Rails 5 and recommending to turn it on?
config.action_controller.per_form_csrf_tokens = true

Hey @monfresh, sorry for the late response. I haven't used this feature yet and "the attack described here is very niche" according to the Rails PR, so don't think it's worth including.


loop index i shadows another variable

https://github.com/mpi-advance/locality_aware/blob/30cfa96f2b72748c34232926499febc18f4eca00/src/collective/tests/test_alltoall.cpp#L54

2spooky4me


Highstock dependency on angular2-highcharts

We have observed that the angular2-highcharts library uses highstock internally, as it supports Highcharts and Highstock both.
But we have only license for Highcharts library.
So is there any way to exclude highstock library while using angular2-highcharts?

Unfortunately I don't know have ideas how it is possible to provide highcharts only and highstock as an optional module like the map or other highcharts module. The root of this problem is how original highcharts CommonJS modules presented: http://www.highcharts.com/docs/getting-started/install-from-npm. So probably it makes sense to create issue here https://github.com/highcharts/highcharts/issues so they move highstock to a module.

As long your not using highcstock charts you are in no problems (though i would advice asking Highcharts about that to be extra sure).
Also on same note, https://github.com/gevgeny/angular2-highcharts/blob/master/src/Highcharts.ts#L4
this binding to Highstocks.src.js can be exchanged to just Highcharts.src.js? That is if not using any Highstocks functionality?

Also on same note, https://github.com/gevgeny/angular2-highcharts/blob/master/src/Highcharts.ts#L4
this binding to Highstocks.src.js can be exchanged to just Highcharts.src.js? That is if not using any Highstocks functionality?

Yes, i think it would work, you can do it in your local repo.

It worked but i havent used charts extensively so wasnt sure if some part is dependant onto it.

You can use webpack to override specific modules.
Really I'd rather have support for passing in a configured Highcharts instance

Could you give an example on how that would look in webpack config @graingert ? I'm new to webpack.

create an injectable stub service:
@Injectable()
export class AsyncHighchartsService {
  async getHighcharts(): void {} //stub
}

Then depend on it from your component.
Then export two version of the component in default modules, in index, export a version that provides a hard coded AsyncHighchartsService implementation that pull it out via an import statement, and another module on angular2-highcharts/custom that leaves the implementation up to the user

then a user can replace the getHighcharts async method with a direct import of highstock/highcharts whatever they choose, or they can async load it via a webpack chunks, or they can async load using whatever too they want.


Added port for re2 2017-12-01 release

RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python. It is a C++ library.
https://github.com/google/re2

Thanks! I simplified this a bit by using vcpkg_from_github() instead of vcpkg_download_distfile().


Edit Page Order in Title Bar

Admin users should be able to change the order of the pages in the title bar.

Completed as of bda929488d8b29fc1d3775f551bb157b27a32b0c


chore(dependencies): Removes unecessary pyjsparser

@hawkeyexp It shouldn't be a big deal as this code path shouldn't have been taken anymore.
If it would've been taken, users would have immediately noticed, as on a PI f.e. it would've taken >20 sec to parse the JS...


[Article] Preview and test

This already exists here: https://toddle.dev/docs/preview-and-publishing


fix(core-notification): make notification flex grid gutterless

This fixes an issue where notification text will not line up with the rest of the page's text.
Changes:

@tds/core-notification: 1.1.0 => 1.1.1

As per discussion between @theetrain @marcod1419 and I, @marcod1419 will be re-evalutating the solution here as this one does not address the underlying issue of padding property collision on the Column component.

@theetrain and I have discovered a larger in scope underlying issue to this problem, so I'll close this pull request while we come up with a more robust solution.


Move health checks

Move from host and deploy to a new high level section Heath checks and metrics. That could be an empty heading with health checks and metrics article .

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

ID: c0cbb094-29e9-740a-9fd6-db372641d753
Version Independent ID: 52d8efc9-a336-71d9-6d90-98173cbf6bf4
Content: Health checks in ASP.NET Core
Content Source: aspnetcore/host-and-deploy/health-checks.md
Product: aspnet-core
Technology: aspnetcore-hostdeploy
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

@tdykstra  please approve

How about a new section under Fundamentals, named something like Logging and monitoring, which would contain Logging, HTTP logger, W3C Logger, Health checks, and Metrics.

Fundamentals\Logging\metrics

Overview (external)
metrics tutorial
Microsoft.AspNetCore.Hosting & Kestrel metrics make this doc
SignalR metrics


Update 03_Build_an_Embeddings_index_from_a_data_source.ipynb

display(HTML(df.to_html(index=False))) works in a browser development environment, but will display a message like this "<IPython.core.display.HTML object>" in a local environment. Added suggestions to those who run the script in vscode or local command line environment. Instead of displaying the result to a browser, write the html result into a local file, and then use the browser to open the html file to view the result.

Thank you for the contribution!


Logrushook didn't log the actual caller

If logrus is passed to the serverparams in server.go, the pkg logger is become a proxy and log all the log to logrus via the logrushook.
The issue is that if we set the reportCaller, the result is not correct as the detected caller is from the hook in logging.go. Below is an example result:

The expected result is from the place pkg logger is called, like.

The issue affects logs logged against the pkg logger directly (i.e. logs logged from within sysl-go itself). The issue is that logrus overwrites the caller directly in the logrus.Entry.log method, making it impossible to set a custom value beforehand. This change cannot be cleanly[1] supported without a logrus change.
[1] A workaround would be to SetReportCaller to false before calling logrus.Entry.log then setting it to true afterwards but the logrus logger is mutable which would result in inconsistent logging through multiple threads.

I'm going to deprioritise this. The caller is logged as an attribute so the information isn't lost, just not consistent with logs logged directly against logrus.


Catch up to all latest PromQL features, enable experimental functions

This updates UI and backend dependencies such that PromLens supports the latest PromQL features, such as:

limitk() / limit_ratio() operators
all current experimental functions, such as mad_over_time() and native histogram ones
updated function documentation

Hey @juliusv, we fixed up the build and a bunch of the dependencies. You should be able to rebase this now.


Document O_DIRECT flag for pipe2

From the man page linked in the description

Thanks! I've applied your suggestion! I had to insert additional spaces at the end to let Markdown generate a new line between the options. I generated documentation for x86_64 Linux, FreeBSD and NetBSD to ensure they all look OK.


Fix TargetGroup and Rule reconciliation

TargetGroups and rules now reconcile correctly adding the following
correct behaviors.

Unused TGs are deleted

When a new service is pointed to, the existing rules are updates with
the new service's TG

This is pretty close and in my testing seems stable.
There is however a no-op rule modification firing off unnecessarily when you're using multiple rules.
I've narrowed it down to the deepequals throwing false due to order of rule condition attributes (sorting issue).


Modification to live docs page next-steps-submit-app-cloud-partner-portal

Hi,
Can you modify the page with the attached modifications which are highlighted yellow in the Word document?
I am hoping you can modify the page name as well replacing the Cloud Partner portal with Partner Center as modified in the document. I would also like to keep the existing URL with an auto redirect to the new page if possible.
next-steps-submit-app-cloud-partner-portal.docx
Thank you,
Dustin

Hi can you provide an ETA on this edit please?

@dustindonahue Sorry for the delay. I just saw your issue. I can help with this change.

Done.


[Improvement] Implement more robust runtime collection and compilation

On top of the existing runtime this improvement also tries to check the maven or gradle (todo) to collect as much information about the runtime of the project, if that is not possible, the user might be prompted to enter the home directory of the runtime, the user might also configure the runtimes statically in the plugin's configuration.
Furthermore dependencies on other plugins such as nvim-jdtls is removed, and the changes rely only on native the nvim lsp or coc.nvim.

@rcasia ported part of the original implementation, removed nvim-jdtls dependency as i see no reason for it was using 1 wrapper around client.request. Tested with both coc and native lsp seems to be working as expected.

@rcasia could you check this pr out ? Thanks


React todo-list tutorial

In this project, I did the following :

Create React App using vite vite.
use these React concepts:

React Components
Props and state usage.
Events.
Lifting state up.
Hooks.

User can add a task.
User can remove a task.
User can edit a task.
Data is stored in local storage.

Hi @otmaneechchafyky, thanks for your suggestion and I'll ensure to implement it.


Show mod on help and config

Please ignore the other commits, failed and pushed to main instead of the supposed branches

Thats the new command


Code signing configuration

Why is there not already an LLC/Ltd company set up around this, along with release of rights, so a code signing cert can be applied for, and then checked into source control, as a pfx, with the password in the build script?

Related: #22


Where is Filter parameters in the code?

Dear Kipf,
Congrats for your wonderful work and well-written code.
It is a couple of weeks I have started analying your code and found it a perfect reference for my research. I was wondeing where in the code you have defined the parameters of the filter as mentioned in the paper.
Thank you so much for your help.

Thanks! Right here:
https://github.com/tkipf/pygcn/blob/master/pygcn/layers.py#L18
On Mon, Apr 20, 2020 at 2:16 AM fansariadeh<EMAIL_ADDRESS>wrote:

Dear Kipf,
Congrats for your wonderful work and well-written code.
It is a couple of weeks I have started analying your code and found it a
perfect reference for my research. I was wondeing where in the code you
have defined the parameters of the filter as mentioned in the paper.
Thank you so much for your help.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/tkipf/pygcn/issues/61, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABYBYYH2PWCOCJFWOQBXZ3TRNOH4DANCNFSM4MMAS6QA
.


Pulse animation issue while recording voice

In demo app(iOS), I can see the pulse animation effect(In Voice Button Request screen see the effect around microphone image) but same I have implemented in my app but unable to get same effect. Can you please help me to sort the same. Also couple of times getting request time out issue.

You can see code https://github.com/api-ai/api-ai-ios-sdk/blob/master/ApiAI/UIKit/Private/AIVoiceLevelView.m


Not running in ONNX Runtime

Hi,
I'm currently using pipeless v1 currently in Jetson Orien with Jetpack 5.1.2, I've the ONNX runtime installed, and if I run the independent code out form pipeless, my inference runs fine. But when I run it using pipeless using onnx runtime, it throws the following error
terminate called after throwing an instance of 'onnxruntime::OnnxRuntimeException'
  what():  /home/user/onnxruntime/include/onnxruntime/core/framework/ort_value.h:85 const T& OrtValue::Get() const [with T = onnxruntime::Tensor] IsTensor() was false. Trying to get a Tensor, but got: (null)

This happens for the given example of onnx-yolo as well. And if I were to use the Ultralytics YOLO the .pt version of the model, the pipeless gets stucks and doesn't reach to the point where it process frame.
Any help would be appreciated.
Thanks

Hi @vaghawan ,
I have not seen that error before, which version of the onnx runtime are you using?


Tiny: Add InExpression argument check

Just to tighten things up, it's currently possible to construct in invalid InExpression via Update.

I am not sure we need to add this validation as it is all provider code and highly unlikely to end up with both non-null unless typo or intentionally badly written code.

I am not sure we need to add this validation as it is all provider code and highly unlikely to end up with both non-null unless typo or intentionally badly written code.

I agree it's highly unlikely, it's just a validation check which also documents the invariant of this class. Is there any downside?

Downside is maintenance. We have a lot of invariant in query pipeline, we don't have validation checks which throws exception for every one of them. We could add those but cost of maintaining them/updating them if anything changes is high compared value it provides.

I'm not saying we should start a systematic search of all unexpressed invariants or anything. This is just something I came across which doesn't cost anything to do and improves correctness/readability a bit. We can do these opportunistically as we come across them (like I did here). I don't think this single correctness check adds any burden of maintenance.

Blocked on #19233

@smitpatel moved the check from the constructor to Update as requested.


Future support of react-d3-components

As more of a general question, I'm wondering what the future holds for the support and maintenance of react-d3-components. Issues and pull requests seem to get addressed promptly, but I noticed that releases have been less-frequent as of late. I'm wondering if there's any planned release cycle and/or a commitment to maintain this awesome project for the foreseeable future. Thanks!

Valid and good question. First I have to release a new npm with the latest pull reqs.
I really want to finish the current development branch. Just to support layering of components ( to make custom components ). Probably should leave the animations for later.
I would appreciate some help if somebody has some free time on their hands. Particularly developing new chart types or animations.

@codesuki I will be interested to add more graphs if this is still active

Can they be added as a standalone addon? Otherwise, feel free to send a PR.

I will pull your repo and start working on them then. Will PR when I start adding new graphs.
Or maybe create an github.io page where we can add more examples

Sounds great!


[W09-B2][WEEK7] Add short form for some commands

Add alias for commands eg. f for find

Changes Unknown when pulling 6c4ee3f8d50b65bb20cc03422d46416ade9cb392 on wangyiming1019:yiming into ** on CS2103T-W09B2:master**.


Database 'default' is in an inconsistent state!

Hello All
I have run the updated 1.sql ( including the drop table )
still i am facing the issue, can you all please help me
I have also run the following - ( based on FAQ link )
export jvm_args="-Devolutionplugin=enabled -DapplyEvolutions.default=true -mem 1024 -J-Xloggc:$project_root../logs/elephant/dr-gc.date +'%Y%m%d%H%M' -J-XX:+PrintGCDetails"
export  jvm_props="-Devolutionplugin=enabled and -DapplyEvolutions.default=true"
nohup /apps/dr_elephant/target/universal/dr-elephant-2.0.13/bin/dr-elephant -Djava.library.path=/lib/native -Dhttp.port=8080 -Ddb.default.url="jdbc:mysql://it00512:3306/drelephant?characterEncoding=UTF-8"" -Ddb.default.user=root -Ddb.default.password=********* > /apps/dr_elephant/dr.log 2>&1
Error stack trace -
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/apps/dr_elephant/target/universal/dr-elephant-2.0.13/lib/ch.qos.logback.logback-classic-1.0.13.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/apps/dr_elephant/target/universal/dr-elephant-2.0.13/lib/org.slf4j.slf4j-simple-1.6.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/apps/dr_elephant/target/universal/dr-elephant-2.0.13/lib/org.slf4j.slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/apps/opt/cloudera/parcels/CDH-5.11.2-1.cdh5.11.2.p2699.2946/jars/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
[info] play - database [default] connected at jdbc:mysql://it00512:3306/drelephant?characterEncoding=UTF-8
[error] play -
Oops, cannot start the server.
@76pacppo4: Database 'default' is in an inconsistent state!
at play.api.db.evolutions.Evolutions$.checkEvolutionsState(Evolutions.scala:193)
at play.api.db.evolutions.Evolutions$.databaseEvolutions(Evolutions.scala:348)
at play.api.db.evolutions.Evolutions$$anonfun$evolutionScript$2.apply(Evolutions.scala:313)
at play.api.db.evolutions.Evolutions$$anonfun$evolutionScript$2.apply(Evolutions.scala:311)
at scala.Option.map(Option.scala:145)
at play.api.db.evolutions.Evolutions$.evolutionScript(Evolutions.scala:311)
at play.api.db.evolutions.EvolutionsPlugin$$anonfun$onStart$1$$anonfun$apply$1.apply$mcV$sp(Evolutions.scala:462)
at play.api.db.evolutions.EvolutionsPlugin.withLock(Evolutions.scala:507)
at play.api.db.evolutions.EvolutionsPlugin$$anonfun$onStart$1.apply(Evolutions.scala:461)
at play.api.db.evolutions.EvolutionsPlugin$$anonfun$onStart$1.apply(Evolutions.scala:459)
at scala.collection.immutable.List.foreach(List.scala:318)
at play.api.db.evolutions.EvolutionsPlugin.onStart(Evolutions.scala:459)
at play.api.Play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(Play.scala:88)
at play.api.Play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(Play.scala:88)
at scala.collection.immutable.List.foreach(List.scala:318)
at play.api.Play$$anonfun$start$1.apply$mcV$sp(Play.scala:88)
at play.api.Play$$anonfun$start$1.apply(Play.scala:88)
at play.api.Play$$anonfun$start$1.apply(Play.scala:88)
at play.utils.Threads$.withContextClassLoader(Threads.scala:18)
at play.api.Play$.start(Play.scala:87)
at play.core.StaticApplication.(ApplicationProvider.scala:52)
at play.core.server.NettyServer$.createServer(NettyServer.scala:280)
at play.core.server.NettyServer$$anonfun$main$3.apply(NettyServer.scala:316)
at play.core.server.NettyServer$$anonfun$main$3.apply(NettyServer.scala:311)
at scala.Option.map(Option.scala:145)
at play.core.server.NettyServer$.main(NettyServer.scala:311)
at play.core.server.NettyServer.main(NettyServer.scala)

I met the same error,
Database 'default' is in an inconsistent **state
but I found two tables were created in my database.
play_evolutions
yarn_app_result

Were u able to resolve the issue
Are we supposed to keep all the tables as part of 1.sql or remove them
Can anyone please suggest or help us on this.

hi jibran123:
have you seen any error information in logs/application.log ?
which version of mysql are you use?  upgrade your mysql to 5.7 if you use the lower versions because of mysql 5.6 (includes prior versions) InnoDB max index length is 767 bytes, mysql 5.7.7 is up to 3072 bytes.

hello
i do not see that error in application.log
following is the o/p of application.log
Starting Application...
2018-01-29 07:35:27,303 - [INFO] - from application in pool-1-thread-1
Stopping application...
2018-01-29 07:35:27,376 - [INFO] - from application in pool-1-thread-1
Starting Application...
2018-01-29 07:35:27,381 - [INFO] - from application in pool-1-thread-1
Stopping application...
2018-01-29 07:35:27,455 - [INFO] - from application in pool-1-thread-1
Starting Application...
2018-01-29 07:35:27,484 - [INFO] - from application in pool-1-thread-1
Stopping application...
2018-01-29 07:38:31,988 - [INFO] - from application in pool-1-thread-1
Starting Application...
2018-01-29 07:38:32,014 - [INFO] - from application in pool-1-thread-1
Stopping application...
2018-01-29 07:38:33,437 - [INFO] - from application in pool-1-thread-1
Starting Application...
2018-01-29 07:38:33,438 - [INFO] - from application in pool-1-thread-1
Stopping application...
2018-01-29 07:38:33,567 - [INFO] - from application in pool-1-thread-1
Starting Application...
2018-01-29 07:38:33,580 - [INFO] - from application in pool-1-thread-1
Stopping application...
is there any more troubleshooting i can do
i am sure i am missing something very cosmetic, but i have this urgent client requirement to fix this set up.
Thanks in advance.

have you configured the database connector in app-conf/elephant.conf ?

yes, thats done

Have you tried running each statement manually that is in the sql files?

yeah i did that
i have even updated the mysql version
i also updated the 1.sql and now i am getting this error inspite of following all the steps
[info] play - database [default] connected at jdbc:mysql://it0645:3306/drelephant
[error] play - Specified key was too long; max key length is 767 bytes [ERROR:1071, SQLSTATE:42000]
Oops, cannot start the server.
@7755npnf2: Database 'default' is in an inconsistent state!

Any update on this? I am facing the same issue?

@jibran123 : you can refer to https://github.com/linkedin/dr-elephant/wiki/FAQ#2-specified-key-was-too-long-max-key-length-is-767-bytes-error1071-sqlstate42000  ti get rid of max length error. It worked for me.

@jibran123
you can refer to dr-elephant/issues#230


[8.x] Batch jobs

This PR allows the following:
$batchId = (new Batch([
    new ProcessRows(1,1000),
    new ProcessRows(1001, 2000),
]))->then(function () {
     // Do something after the 2 jobs has ran.
})->otherwise(function () {
    // Do something if any job fails.
})->dispatch();

If any of the jobs fail, the whole batch will be considered failed and will be deleted from storage.
However, people can use allowFailure() and the batch will continue running even if any/all jobs fail.
(new Batch([
    new ProcessRows(1,1000),
    new ProcessRows(1001, 2000),
]))->then(function () {
     // Do something after the batch is done.
})->allowFailure()
   ->dispatch();

Inside each job user must check if the batch still exists or not before running the job so they don't process jobs of a batch that has already failed. To check if the batch is still running:
// Inside the job class.
public function handle()
{
    if (! $this->batchIsActive()){
        return;
    }

    // Run the job logic.
}

You can also add more jobs to a batch:
public function handle()
    {
        if (! $this->batchIsActive()) {
            return;
        }

        $this->batch()->add([
            new TestJob(),
            new TestJob(),
        ]);
    }

You can gather information about a batch:
$batch = Batch::find($id);

$batch->size();
$batch->pending();
$batch->processed();
$batch->failures();
$batch->isRunning();
$batch->hasFailed();
$batch->hasFinished();

This looks awesome!
When a batch is created can I query it for how many jobs are into it?
What about firing an event every time the batch counter is decremented or changed?
Can the batch counter be incremented while it's running by adding new jobs to it or sub-jobs?

It would be cool to have a way for the Batch to capture the exception and allow the callback to handle it.
Also, to know some basic statistics about the Batch itself, assuming the Batch is some kind of expensive logic. I think the time when it started and finished should be enough.

Batch::process(
    new ProcessRows(1,1000),
    new ProcessRows(1001, 2000),
)->then(function (Batch $batch) {
    User::find(3)->notify(new BatchCompleted($batch->startedAt(), $batch->finishedAt()));
})->otherwise(function (Batch $batch) {
    User::find(3)->notify(new BatchFailed($batch->getException()->getMessage()));
})->dispatch();

@themsaid so one of the things I did recently was importing from a couple of CSVs,
These had +200,000 rows each, so I wanted to batch them, the catch was that the
unfortunately the best I could do was
Import the first CSV as a single job,
Then queue the second larger CSV as individual jobs (processing 1000 rows each).
So...
I'm thinking this proposal would allow something like this proposal allow something like the following correct?
// $arrayOfFirstJobs;
// $arrayOfSecondJobs;

Batch::process($arrayOfFirstJobs)
    ->then(fn(Batch $firstBatch) => Batch::process($arrayOfSecondJobs)->dispatch()
        ->then(fn(Batch $secondBatch) => User::find(3)->notify(new BatchCompleted(
            $firstBatch->startedAt(),
            $secondBatch->finishedAt()
        )))
        ->otherwise(fn(Batch $batch) => User::find(3)->notify(new BatchFailed(
            $batch->getException()->getMessage()
        )))
    )
    ->otherwise(fn(Batch $batch) => User::find(3)->notify(new BatchFailed(
        $batch->getException()->getMessage()
    )))
    ->dispatch();

Would it be possible to add more jobs to the batch later and also can we use multiple then/otherwises?
E.g.
Batch::process($arrayOfFirstJobs)
    ->then(fn (Batch $batch) => $batch->process($arrayOfSecondJobs))
    ->then(fn (Batch $batch) => User::find(3)->notify(new BatchCompleted(
        $batch->startedAt(),
        $batch->finishedAt()
    )))
    ->otherwise(fn (Batch $batch) => User::find(3)->notify(new BatchFailed(
        $batch->getException()->getMessage()
    )))
    ->dispatch();

In the above the assumption is that if the previous then returns a batch to be processed, it's
a) Auto dispatched
b) subsequent thens are delayed until the new batch has completed.
Can we have self handling batches?
E.g.
class CsvBatch extends BatchProcessor
{

    public User $user;

    public $run = 1;

    public function __construct(User $user)
    {
        $this->user = $user;
    }

    public function finished(CsvBatch $batch)
    {
            if($this->run === 1) {
                $this->run = 2;
                return $this->process(...get_more_jobs());
            } else {
                $this->user->notify(new BatchCompleted(
                    $batch->startedAt(),
                    $batch->finishedAt()
                ));
            }
    }

    public function failed(CsvBatch $batch)
    {
            $this->user->notify(new BatchFailed(
                $batch->getException()->getMessage()
            ));
    }
}

(new CsvBatch(User::find(3)))->process(...$jobs)->dispatch();

thanks @themsaid  for this feature. Can we have the the job that make the batch fails to be passed to the otherwise closure ??

I'm not sure about storing the batch in cache:

It has an hour timeout: what if a job takes more time or just the queue is very long
Cache could be emptied for example by a cache:clear in a deploy script

Maybe it would be better to store in the cache driver (I know that not all supports it) or a definable store.

Closed pending https://github.com/laravel/framework/pull/32830


using local RNA-Seq files

Even when setting a dummy BIOPROJECT and giving a local file prefix Finder tries to download the RNA-Seq files from the NCBI
2021-03-04 11:49:45,178 - finder -   INFO - Started processing data for test
2021-03-04 11:49:45,178 - finder -   INFO - Downloading missing data from NCBI started
2021-03-04 11:49:45,179 - finder -   INFO - Running command - /usr/local/bioinfo/src/Finder/finder-a3746f0/dep/../utils/downloadAndDumpFastqFromSRA.py -s /home/agena/klopp/work/Project_test.1468/Finder/FINDER_test2_test/temp/download_these_runs  -o /home/agena/klopp/work/Project_test.1468/Finder/FINDER_test2_test/raw_data_downloaded_from_NCBI -n 6 > /home/agena/klopp/work/Project_test.1468/Finder/FINDER_test2_test/temp/download_these_runs.output  2> /home/agena/klopp/work/Project_test.1468/Finder/FINDER_test2_test/temp/download_these_runs.error
2021-03-04 11:49:45,479 - finder -   INFO - Downloading missing data from NCBI finished for test
2021-03-04 11:49:45,489 - finder -   INFO - STAR Round1 run for /work/klopp/Project_test.1468/Finder/local completed
2021-03-04 11:49:45,489 - finder -   INFO - Mapping of reads for round1 completed for test
2021-03-04 11:49:45,499 - finder -   INFO - Selecting high confidence junctions after round1 mapping completed for test
Could you provide an example with local files?

Hello @chklopp,
Thank you for your interest in finder. Initially, we developed finder to use data only from NCBI-SRA. Later we realized that users might want to provide expression data that has not been submitted to NCBI as of yet. Hence, we modified the downloading function by providing it with an empty file. I checked the timestamps and found that the downloading command started at 11:49:45,179 and completed at 11:49:45, 479. The reason why that happened is that finder sends an empty list of SRA to the program downloadAndDumpFastqFromSRA.py. If you check the file /home/agena/klopp/work/Project_test.1468/Finder/FINDER_test2_test/temp/download_these_runs you should see that it is vacant. I have taken this route simply for the ease of coding. I might change this in a future version.
What concerns me more is that it seems like the STAR mapping finished within micro-seconds which is unexpected. I will add an example with some local data. In the meantime could you please send me your metadata csv file?
Thank you.

Hereunder is the content of my metadata file
BioProject,SRA Accession,Tissues,Description,Date,Read Length (bp),Ended,RNA Seq,process,Location
DUMMY,local,test,cDNA;Illumina HiSeq 3000,3/15/17,202,PE,1,1,
local_1.fastq and local_2.fastq files are in the root directory were I launch finder.

In that case, the full path of the directory should be put in the Location field of the metadata file. Currently, it is vacant. Suppose your root directory is /home/agena/klopp/work/XYZ and the 2 files are /home/agena/klopp/work/XYZ/local_1.fastq and /home/agena/klopp/work/XYZ/local_2.fastq then you should put /home/agena/klopp/work/XYZ in the Location field.
Thank you.

I've modified the location but this has no impact on the results
2021-03-04 14:38:14,036 - finder -   INFO - Started processing data for test
2021-03-04 14:38:14,037 - finder -   INFO - Downloading missing data from NCBI started
2021-03-04 14:38:14,037 - finder -   INFO - Running command - /usr/local/bioinfo/src/Finder/finder-a3746f0/dep/../utils/downloadAndDumpFastqFromSRA.py -s /home/agena/klopp/work/Project_test.1468/Finder/FINDER_test2_test/temp/download_these_runs  -o /home/agena/klopp/work/Project_test.1468/Finder/FINDER_test2_test/raw_data_downloaded_from_NCBI -n 6 > /home/agena/klopp/work/Project_test.1468/Finder/FINDER_test2_test/temp/download_these_runs.output  2> /home/agena/klopp/work/Project_test.1468/Finder/FINDER_test2_test/temp/download_these_runs.error
2021-03-04 14:38:14,424 - finder -   INFO - Downloading missing data from NCBI finished for test
2021-03-04 14:38:14,432 - finder -   INFO - STAR Round1 run for /work/klopp/Project_test.1468/Finder/RNA-Seq2 completed
2021-03-04 14:38:14,432 - finder -   INFO - Mapping of reads for round1 completed for test
2021-03-04 14:38:14,442 - finder -   INFO - Selecting high confidence junctions after round1 mapping completed for test
2021-03-04 14:38:14,448 - finder -   INFO - STAR Round2 run for /work/klopp/Project_test.1468/Finder/RNA-Seq2 completed
2021-03-04 14:38:14,448 - finder -   INFO - Mapping of reads for round2 completed for test
2021-03-04 14:38:14,467 - finder -   INFO - Selecting high confidence junctions after round2 mapping completed for test

Hello @chklopp,
Thank you for checking it out. Could you please send me the entire log file? I need to take a see if the metadata is being read in correctly.
Thank you.

Here is the link to the progress log file :
http://genoweb.toulouse.inra.fr/~klopp/tmp/progress.log
Ch+
Christophe KLOPP
MIAT   INRA Toulouse
CS 52627
31326 Castanet-Tolosan
Tel: 33 5 61 28 50 36
Email<EMAIL_ADDRESS>@ChristopheKlopp
http://www.sigenae.org/
http://bioinfo.genotoul.fr/

De : Sagnik Banerjee<EMAIL_ADDRESS>Envoyé : jeudi 4 mars 2021 14:46
À : sagnikbanerjee15/Finder
Cc : Christophe Klopp; Mention
Objet : Re: [sagnikbanerjee15/Finder] using local RNA-Seq files (#3)
Hello @chklopphttps://github.com/chklopp,
Thank you for checking it out. Could you please send me the entire log file? I need to take a see if the metadata is being read in correctly.
Thank you.

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/sagnikbanerjee15/Finder/issues/3#issuecomment-790628774, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AA6RW55G57ZLNOOLCSZ2K43TB6FK7ANCNFSM4YTAS5UA.

Hello,
I have updated the code that reads in the metadata. Please run finder again and check if it works. Also, I would recommend proving the full path to all the directories like you did in the case of the genome file. Let me know if this fails.
Thank you.

We have updated the code but the error is still there.
How can I find the commands which finder runs?
Here is the complete progress.log
2021-03-04 18:50:03,563 - finder -   INFO - Software paths have been set
2021-03-04 18:50:05,752 - finder -   INFO - validateCommandLineArguments execution successful
2021-03-04 18:50:05,753 - finder -   INFO - Metadata information created
2021-03-04 18:50:05,753 - finder -   INFO - readMetaDataFile execution successful
2021-03-04 18:50:05,754 - finder -   INFO - Starting FINDER from None checkpoint
2021-03-04 18:50:05,755 - finder -   INFO -  Program params - Namespace(addUTR=False, checkpoint=None, compressed_data_files=None, cpu='6', error_corrected_raw_data='/home/agena/klopp/work/Project_VenomGene.1468/Finder/FINDER_test/raw_data_error_corrected', files_for_ncrna={'mature_ATGC': '/usr/local/bioinfo/src/Finder/finder-a3746f0/dep/mature_ATGC.fa'}, final_GTF_files='/home/agena/klopp/work/Project_VenomGene.1468/Finder/FINDER_test/final_GTF_files', genome='/home/agena/klopp/work/Project_VenomGene.1468/Finder/Tbicarinatum.FINAL.fasta', genome_dir_olego='/home/agena/klopp/work/Project_VenomGene.1468/Finder/olego_index', genome_dir_star='/home/agena/klopp/work/Project_VenomGene.1468/Finder/star_index_without_transcriptome', indices='/home/agena/klopp/work/Project_VenomGene.1468/Finder/FINDER_test/indices', md=None, metadatafile='/home/agena/klopp/work/Project_VenomGene.1468/Finder/test_metadata.csv', mrna_md={'test': {'/work/klopp/Project_VenomGene.1468/Finder/RNA-Seq2': {'bioproject': 'DUMMY', 'condition': 'test', 'Date': '3/15/17', 'Ended': 'PE', 'desc': 'cDNA;Illumina HiSeq 3000', 'read_length': '202', 'error_corrected': 0, 'location_directory': '/home/agena/klopp/work/Project_VenomGene.1468/Finder/FINDER_test/raw_data_downloaded_from_NCBI', 'downloaded_from_NCBI': 1}}}, no_cleanup=True, output_assemblies_psiclass_terminal_exon_length_modified='/home/agena/klopp/work/Project_VenomGene.1468/Finder/FINDER_test/assemblies_psiclass_modified', output_braker='/home/agena/klopp/work/Project_VenomGene.1468/Finder/FINDER_test/braker', output_directory='/home/agena/klopp/work/Project_VenomGene.1468/Finder/FINDER_test', output_fasta_N_removed='/home/agena/klopp/work/Project_VenomGene.1468/Finder/FINDER_test/raw_fasta_N_removed', output_rcorrector=None, output_sample_fastq=None, output_star='/home/agena/klopp/work/Project_VenomGene.1468/Finder/FINDER_test/alignments', paired_end_adapterfile=None, perform_post_completion_data_cleanup=False, preserve_raw_input_data=True, protein='/home/agena/klopp/work/Project_VenomGene.1468/Finder/Solenopsis_invicta.Si_gnH.pep.all.fa', raw_data_downloaded_from_NCBI='/home/agena/klopp/work/Project_VenomGene.1468/Finder/FINDER_test/raw_data_downloaded_from_NCBI', record_time={}, run_tests=False, single_end_adapterfile=None, skip_cpd=False, smrna_md={}, softwares={'psiclass': '/usr/local/bioinfo/src/Finder/finder-a3746f0/dep/psiclass_terminal_exon_length_modified/psiclass', 'junc': '/usr/local/bioinfo/src/Finder/finder-a3746f0/dep/psiclass_terminal_exon_length_modified//junc', 'subexon-info': '/usr/local/bioinfo/src/Finder/finder-a3746f0/dep/psiclass_terminal_exon_length_modified//subexon-info', 'addXS': '/usr/local/bioinfo/src/Finder/finder-a3746f0/dep/psiclass_terminal_exon_length_modified//addXS', 'fastq-sample': '/usr/local/bioinfo/src/Finder/finder-a3746f0/dep/fastq-tools-0.8/scripts/fastq-sample', 'download_and_dump_fastq_from_SRA': '/usr/local/bioinfo/src/Finder/finder-a3746f0/dep/../utils/downloadAndDumpFastqFromSRA.py', 'transferGenomicNucleotideCountsToTranscriptome': '/usr/local/bioinfo/src/Finder/finder-a3746f0/dep/../scripts/transferGenomicNucleotideCountsToTranscriptome.py', 'find_exonic_troughs': '/usr/local/bioinfo/src/Finder/finder-a3746f0/dep/../scripts/find_exonic_troughs.R', 'olego': '/usr/local/bioinfo/src/Finder/finder-a3746f0/dep/olego/olego', 'olegoindex': '/usr/local/bioinfo/src/Finder/finder-a3746f0/dep/olego/olegoindex', 'mergePEsam.pl': '/usr/local/bioinfo/src/Finder/finder-a3746f0/dep/olego/mergePEsam.pl', 'xa2multi': '/usr/local/bioinfo/src/Finder/finder-a3746f0/dep/olego/xa2multi.pl', 'gmst': '/usr/local/bioinfo/src/Finder/finder-a3746f0/dep/gmst.pl', 'prodigal': '/usr/local/bioinfo/src/Finder/finder-a3746f0/dep/Prodigal/prodigal', 'canon-gff3': '/usr/local/bioinfo/src/Finder/finder-a3746f0/dep/canon-gff3', 'convert_exonerate_gff_to_gtf': '/usr/local/bioinfo/src/Finder/finder-a3746f0/dep/../utils/convert_exonerate_gff_to_gtf.py', 'augustus_main_dir': '/usr/local/bioinfo/src/Finder/finder-a3746f0/dep/Augustus', 'braker': '/usr/local/bioinfo/src/Finder/finder-a3746f0/dep/BRAKER/scripts/braker.pl', 'GENEMARK_PATH': '/usr/local/bioinfo/src/Finder/finder-a3746f0/dep/gmes_linux_64', 'AUGUSTUS_CONFIG_PATH': '/home/agena/klopp/work/Project_VenomGene.1468/Finder/FINDER_test/braker/Augustus/config', 'AUGUSTUS_BIN_PATH': '/home/agena/klopp/work/Project_VenomGene.1468/Finder/FINDER_test/braker/Augustus/bin', 'AUGUSTUS_SCRIPTS_PATH': '/home/agena/klopp/work/Project_VenomGene.1468/Finder/FINDER_test/braker/Augustus/scripts', 'GUSHR_PATH': '/usr/local/bioinfo/src/Finder/finder-a3746f0/dep/GUSHR'}, space_saved=None, temp_dir='/home/agena/klopp/work/Project_VenomGene.1468/Finder/FINDER_test/temp', total_space=None, verbose=1)
2021-03-04 18:50:05,755 - finder -   INFO - Started processing data for test
2021-03-04 18:50:05,756 - finder -   INFO - Downloading missing data from NCBI started
2021-03-04 18:50:05,756 - finder -   INFO - Running command - /usr/local/bioinfo/src/Finder/finder-a3746f0/dep/../utils/downloadAndDumpFastqFromSRA.py -s /home/agena/klopp/work/Project_VenomGene.1468/Finder/FINDER_test/temp/download_these_runs  -o /home/agena/klopp/work/Project_VenomGene.1468/Finder/FINDER_test/raw_data_downloaded_from_NCBI -n 6 > /home/agena/klopp/work/Project_VenomGene.1468/Finder/FINDER_test/temp/download_these_runs.output  2> /home/agena/klopp/work/Project_VenomGene.1468/Finder/FINDER_test/temp/download_these_runs.error
2021-03-04 18:50:06,050 - finder -   INFO - Downloading missing data from NCBI finished for test
2021-03-04 18:50:06,059 - finder -   INFO - STAR Round1 run for /work/klopp/Project_VenomGene.1468/Finder/RNA-Seq2 completed
2021-03-04 18:50:06,060 - finder -   INFO - Mapping of reads for round1 completed for test
2021-03-04 18:50:06,069 - finder -   INFO - Selecting high confidence junctions after round1 mapping completed for test
2021-03-04 18:50:06,076 - finder -   INFO - STAR Round2 run for /work/klopp/Project_VenomGene.1468/Finder/RNA-Seq2 completed
2021-03-04 18:50:06,076 - finder -   INFO - Mapping of reads for round2 completed for test
2021-03-04 18:50:06,109 - finder -   INFO - Selecting high confidence junctions after round2 mapping completed for test
2021-03-04 18:50:06,109 - finder -   INFO - Mapping rate in round2 test /work/klopp/Project_VenomGene.1468/Finder/RNA-Seq2 0.0
2021-03-04 18:50:06,109 - finder -   INFO - Resorting to alignment with relaxed parameters for these runs due to poor mapping /work/klopp/Project_VenomGene.1468/Finder/RNA-Seq2
2021-03-04 18:50:06,130 - finder -   INFO - STAR relaxed alignment run for /work/klopp/Project_VenomGene.1468/Finder/RNA-Seq2 completed
2021-03-04 18:50:06,131 - finder -   INFO - Mapping of reads for round3 completed for test
2021-03-04 18:50:06,158 - finder -   INFO - Selecting high confidence junctions after round3 mapping completed for test
2021-03-04 18:50:06,158 - finder -   INFO - Mapping of reads for round4 completed for test
2021-03-04 18:50:06,180 - finder -   INFO - Selecting high confidence junctions after round4 mapping completed for test
2021-03-04 18:50:06,181 - finder -   INFO - Mapping with OLego for micro-exon detection completed for test
2021-03-04 18:50:06,234 - finder -   INFO - Merging of alignments from all rounds of mapping completed for test
2021-03-04 18:50:06,234 - finder -   INFO - Mapping of all runs completed for test
and the content of the alignment directory
-rw-r--r-- 1 klopp BIOINFO 0  4 mars  18:50 test_round1_SJ.out.tab
-rw-r--r-- 1 klopp BIOINFO 0  4 mars  18:50 test_round2_SJ.out.tab
-rw-r--r-- 1 klopp BIOINFO 0  4 mars  18:50 test_round1_and_round2_SJ.out.tab
-rw-r--r-- 1 klopp BIOINFO 0  4 mars  18:50 test_round3_SJ.out.tab
-rw-r--r-- 1 klopp BIOINFO 0  4 mars  18:50 test_round1_and_round2_and_round3_SJ.out.tab
-rw-r--r-- 1 klopp BIOINFO 0  4 mars  18:50 test_round4_SJ.out.tab
-rw-r--r-- 1 klopp BIOINFO 0  4 mars  18:50 test_round1_and_round2_and_round3_and_round4_SJ.out.tab
It looks like STAR does not find the input reads but this could be verified with access to the command.

Thank you for giving it a try. Could you please send me your metadat.csv file. I want to try finder on my end using that same file and check if I can reproduce the error.
Thank you.

Here it is :
BioProject,SRA Accession,Tissues,Description,Date,Read Length (bp),Ended,RNA Seq,process,Location
DUMMY,/work/klopp/Project_VenomGene.1468/Finder/RNA-Seq2,test,cDNA;Illumina HiSeq 3000,3/15/17,202,PE,1,1,

Great thanks for sending it. I apologize for not including the section for running finder using local data in README. Your metadata should be
BioProject,SRA Accession,Tissues,Description,Date,Read Length (bp),Ended,RNA Seq,process,Location
DUMMY,local,test,cDNA;Illumina HiSeq 3000,3/15/17,202,PE,1,1,/work/klopp/Project_VenomGene.1468/Finder/RNA-Seq2
finder will access the files by appending the location to the SRA Accession. So it will find the files where they are located: /work/klopp/Project_VenomGene.1468/Finder/RNA-Seq2/local_1.fastq and /work/klopp/Project_VenomGene.1468/Finder/RNA-Seq2/local_2.fastq
I will update the README with an example ASAP.
Thank you.

Thank you.
Finder ran until braker but stopped due to lack of memory.
Is there a table giving the memory, cpu requirements and processing time per genome size?

Did the BRAKER run finish? BRAKER will run on a max of 40 cores. Can you send the progress.log file?
Thanks.


Cow: Watch instapromanager.com

Cow requests the watch of the watch_keyword instapromanager\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

instapromanager\.com has been seen in 2 true positives, 0 false positives, and 0 NAAs.

Approved by Jeff Schaller in Charcoal HQ


!Send Future violates stacked borrow rules

Tokio issue: https://github.com/tokio-rs/tokio/issues/6750
Futures issue: https://github.com/rust-lang/futures-rs/issues/2877
Explanation
The tests only fail when !Send future is used along with tokio::join! or futures::join!
Miri message
error: Undefined Behavior: trying to retag from <204081> for SharedReadWrite permission at alloc61855[0x88], but that tag does not exist in the borrow stack for this location
   --> /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.38.1/src/sync/mpsc/bounded.rs:242:22
    |
242 |         poll_fn(|cx| self.chan.recv(cx)).await
    |                      ^^^^^^^^^
    |                      |
    |                      trying to retag from <204081> for SharedReadWrite permission at alloc61855[0x88], but that tag does not exist in the borrow stack for this location
    |                      this error occurs as part of two-phase retag at alloc61855[0x88..0x90]
    |
    = help: this indicates a potential bug in the program: it performed an invalid operation, but the Stacked Borrows rules it violated are still experimental
    = help: see https://github.com/rust-lang/unsafe-code-guidelines/blob/master/wip/stacked-borrows.md for further information
help: <204081> was created by a Unique retag at offsets [0x88..0x90]
   --> tests/tokio_tests.rs:13:26
    |
13  |             let (a, b) = tokio::join!(rx1.recv(), rx2.recv());
    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: <204081> was later invalidated at offsets [0x58..0xd8] by a SharedReadOnly retag
   --> /home/runner/work/ticked-async-executor/ticked-async-executor/src/ticked_async_executor.rs:[115](https://github.com/coder137/ticked-async-executor/actions/runs/10259175195/job/28383207204#step:8:116):17
    |
115 |                 runnable.run();
    |                 ^^^^^^^^^^^^^^

The relevant debug logs are in the individual issues linked above

Isn't this a duplicate of https://github.com/rust-lang/miri/issues/3780?

For #3780, I tried the recommended fix in tokio: https://github.com/tokio-rs/tokio/pull/6744
Reference: https://github.com/coder137/ticked-async-executor/commit/6cc5e9da6c6898b59b1f5dd89723077763e78349#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542
Does not fix the issue.
Also, for some reason when using async_task  the Send variant does not cause a problem but the !Send variant does.

Replication
#[test]
fn test_local_future() {
    let (tx1, mut rx1) = tokio::sync::mpsc::channel::<usize>(1);
    let (tx2, mut rx2) = tokio::sync::mpsc::channel::<usize>(1);

    let (runnable_tx, runnable_rx) = std::sync::mpsc::channel();
    let (runnable, task) = async_task::spawn_local(
        async move {
            let (a, b) = tokio::join!(rx1.recv(), rx2.recv());
            assert_eq!(a, Some(10));
            assert_eq!(b, Some(20));
        },
        move |runnable| {
            runnable_tx.send(runnable).unwrap();
        },
    );
    runnable.schedule();
    task.detach();

    let tick_cb = || {
        runnable_rx.try_iter().for_each(|runnable| {
            runnable.run();
        });
    };

    tx1.try_send(10).unwrap();
    tick_cb();
    tick_cb();

    tx2.try_send(20).unwrap();
    tick_cb();
    tick_cb();
}

...
[dependencies]
async-task = "4.7"
tokio = { version = "1", features = ["full"] }

An attempt to minimize the example:
fn main() {
    let (_tx1, mut rx1) = tokio::sync::mpsc::channel::<usize>(1);
    let (tx2, mut rx2) = tokio::sync::mpsc::channel::<usize>(1);

    let (runnable_tx, runnable_rx) = std::sync::mpsc::channel();
    let (runnable, _task) = async_task::spawn_local(
        async move {
            let (_a, _b) = tokio::join!(rx1.recv(), rx2.recv());
        },
        move |runnable| {
            runnable_tx.send(runnable).unwrap();
        },
    );
    runnable.schedule();

    let tick_cb = || {
        runnable_rx.try_iter().for_each(|runnable| {
            runnable.run();
        });
    };

    tick_cb();
    tx2.try_send(20).unwrap();
    tick_cb();
}

Tested spawn_local with a mpmc channel and miri test passes

https://crates.io/crates/async-channel
https://crates.io/crates/flume

Seems like if recv channel has a &mut self requirement thats when this violation occurs.

@RalfJung @tiif This seems like a duplicate of #3780 afaik.
Does this mean that the blocker is upstream: https://github.com/rust-lang/rust/issues/63818?

This seems like a duplicate of https://github.com/rust-lang/miri/issues/3780 afaik.
Does this mean that the issue is upstream: https://github.com/rust-lang/rust/issues/63818?

That is my theory. It's hard to test... or is there some easy way to make Coroutine not have any niches?
Cc @compiler-errors

@RalfJung: Are you asking for, e.g., a way for a coroutine to emit a totally flat layout, where every field is at a different offset for testing? That should be possible.

I was originally thinking of the niches of the coroutine itself, so that e.g. Option<Coroutine> can't store the discriminant somewhere in the coroutine.
But your question made me realize that coroutines have their own discriminant, and that one should also not be using a niche for this.
Having fields overlap is fine otherwise.

This error persists even with https://github.com/rust-lang/rust/pull/129313. So, it's not the same problem as https://github.com/rust-lang/miri/issues/3780.

I think I found a minimized version of the same problem:
use std::{
    future::Future,
    pin::Pin,
    sync::Arc,
    task::{Context, Poll, Wake},
};

struct ThingAdder<'a> {
    thing: &'a mut String,
}

impl Future for ThingAdder<'_> {
    type Output = ();

    fn poll(self: Pin<&mut Self>, _cx: &mut Context<'_>) -> Poll<Self::Output> {
        unsafe {
            *self.get_unchecked_mut().thing += ", world";
        }
        Poll::Pending
    }
}

fn force_ref(_x: &impl Future) {}

fn main() {
    let mut thing = "hello".to_owned();
    let fut = async move { ThingAdder { thing: &mut thing }.await };

    let mut fut = fut;
    let mut fut = unsafe { Pin::new_unchecked(&mut fut) };

    let waker = Arc::new(DummyWaker).into();
    let mut ctx = Context::from_waker(&waker);
    assert_eq!(fut.as_mut().poll(&mut ctx), Poll::Pending);
    force_ref(&*fut);
    assert_eq!(fut.as_mut().poll(&mut ctx), Poll::Pending);
}

struct DummyWaker;

impl Wake for DummyWaker {
    fn wake(self: Arc<Self>) {}
}

At least, this also errors with very similar symptoms (on terms of which kinds of references get created and invalidated in which order by which other accesses). My version also errors in Tree Borrows, unlike the original, but I think that is because the original happens to not write through a mutable reference again when it could.
What's happening is the following:

We are setting up a self-referential future, i.e. we have a !Unpin type with two fields where one field is a mutable reference to the other. The mutable reference has type, say, &mut String and is hence subject to all the usual aliasing constraints.
Now we are calling Pin::deref(). This safe operation creates a shared reference to the entire future. Since there is no UnsafeCell, this acts like a read of the entire future. That's bad news for our mutable reference -- having another pointer do a read clearly violates the aliasing requirements of this reference.
The next time this reference is used, we have UB.

In the example above, the problematic Pin::deref call is caused by the self.id field access here. However, that code is really not to blame. Reading the id field is perfectly fine, but for a brief moment there exists a reference to the entire Checked<F>, which covers also the inner field, and that is causing the problems. Wrapping inner in an UnsafeCell would probably help but that's a terrible hack.
I think my conclusion is that such self-referenced fields must be treated like an UnsafeCell, i.e. we can't assume they are read-only. This is not a necessary property of aliasing with mutable reference, but it is a necessary consequence of the decision that Pin::deref should be safe.

So, I will close this as yet another duplicate of https://github.com/rust-lang/rust/issues/63818 that will be resolved if/when someone implements UnsafePinned. Thanks for bringing this to our attention!

FWIW, there is a possible work-around we could apply in Miri: to treat all !Unpin coroutine types as-if they were an UnsafeCell. However, codegen would still emit noalias for such types so to ensure we don't accept code that has LLVM UB, we'd also need to make the compiler generate impl !Freeze for all coroutines that are !Unpin.
But TBH I feel like piling more and more hacks on top of each other to avoid the consequences of https://github.com/rust-lang/rust/issues/63818 is a waste of time. We know what the proper fix is, we just need to find someone willing and able to implement it. :)


submitTx returning TransactionHash

[ ] write tests for parsing TransactionHash and the submit itself
[x] change types for submit (String -> TransactionHash)

I see this got fixed! Closing


Is this project still alive

This repo seems to be inactive since many years.
Some of the dependencies are vulnerable :
https://snyk.io/advisor/npm-package/got
https://snyk.io/advisor/npm-package/marked

Any update please ?

Yeah, I haven't touched this project in awhile and don't really use it anymore either. I would be open to handing it off to someone who can maintain it.

Hey @nprail
I can maintain it if it's ok for you.
We are kind of colleges, I would say.
I own yarn-audit-html and am planning to cover npm audit too.

@elboukhari I have created an alternative version, based on this package.
It's lightweight, has no vulnerable dependencies, and works offline (without external resource requests).
Here are the links of the repository and the package on npm.

Hey @nprail!
Hope you're doing well! 😊 I was thinking it might be a good idea to submit a pull request to the project. I want to add a friendly message to the README.md suggesting folks give audit-export a try, as it's actively maintained.
What do you think?

nice tools! the inspiration and the new thanks a lot


increase checkbox size and fix header area

Prevent entire table from being focusable at once.
Make sure checkbox expands to the size of the entire cell

Fixes https://github.com/flutter/flutter/issues/19964
Fixes https://github.com/flutter/flutter/issues/19963

test?

@Hixie I've decided to address the lack of tests in a more general fashion: https://github.com/flutter/flutter/pull/20462


Update string-formatting.md

removed redundancy in sentence

Internal previews

📄 File
🔗 Preview link

docs/fundamentals/data-binding/string-formatting.md
String formatting

Hi @Mou1z
Afraid I'm closing this PR as "For more information, see XXXXXXXX" is used extensively through the docs.


Add TOX

Implement a tox.ini file with these testing environments:

[x] py38: For the testing suite
[x] style: To check PEP8
[x] coverage: Fail under 80%
[x] docstyle: Docstrings style
[x] docs: Sphinx documentation

Done!


Update package-lock.json.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 92.00%. Comparing base (17efd08) to head (a06f734).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #349   +/-   ##
=======================================
  Coverage   92.00%   92.00%
=======================================
  Files          52       52
  Lines        3789     3789
  Branches      352      352
=======================================
  Hits         3486     3486
  Misses        302      302
  Partials        1        1

Flag
Coverage Δ

unittests
92.00% <ø> (ø)

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

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


virtcontainers: define and implement pod based external API

The existing 1.0 API is designed for an OCI runtime binary's needs.   A pod/sandbox is always restored from storage between runtime calls.   A CRI serve, however, can keep sandbox pointers in memory
Current API examples:
func StartPod(podID string) (VCPod, error) {}

func StartContainer(podID, containerID string) (VCContainer, error) {}

These calls would be extended to, respectively:
func (p VCPod) StartPod() (error) {}

func (p VCPod) StartContainer(ctr VCContainer) (error) {}

Let's use this issue to define the extended API with respect to pod lifecycle.  This should be closed once we have the API documented and implementation merged.
Sub-issues:

fetch/release sandbox: #217

cc/ @gnawux @bergwolf @laijs @sboeuf

ref: https://github.com/kata-containers/documentation/pull/27 on section Sandbox Based API

@bergwolf Are you driving implementation of these API extensions?

Will we base on https://github.com/kata-containers/runtime/pull/32 or re-implement one?

@caoruidong - No, it should be based on what was agreed to and documented @ https://github.com/kata-containers/documentation/blob/master/design/kata-api-design.md#sandbox-based-api

With relevant PRs (#259, #252, #218, #173) merged, we can close this one now.


CI: Test minimum supported stable Rust version

To avoid accidentally bumping the minimum supported stable Rust version, .travis.yml should also include a build for a fixed Rust version.
The minimum version used to be Rust 1.23.0 but is now 1.26 for the current master because of some missing ampersand characters in match bindings.

Good idea for stable protobuf branches.

CI in 1.7 and 2.0 branches now checked against rust 1.23.0, and published versions 1.7.3 and 2.0.2.

Thanks! This was really quick :)


Error updating waf ruleset

Confirmation

[X] My issue isn't already found on the issue tracker.
[X] I have replicated my issue using the latest version of the provider and it is still present.

Terraform and Cloudflare provider version
Terraform v1.3.7
on linux_amd64

provider registry.terraform.io/cloudflare/cloudflare v4.4.0
provider registry.terraform.io/hashicorp/aws v4.63.0

Affected resource(s)
cloudflare_ruleset
Terraform configuration files
resource "cloudflare_ruleset" "waf_rule" {
  name    = "default"
  kind    = "zone"
  zone_id = ""
  phase   = "http_request_firewall_managed"
  rules {
    description = "exampleruletoskip"
    expression  = "(http.host eq \"")"
    action      = "skip"
    enabled     = true
    logging {
      enabled = true
    }
    action_parameters {
      rules = {
        "4814384a9e5d4991b9815dcfc25d2f1f" = "6179ae15870a4bb7b2d480d4843b323c",
        "efb7b8c949ac4650a09736fc376e9aee" = "23548ee2b36547a1be09bb2c0550c529,4465544932e14c36961be65e12d77f44,e7e4b386797e417c998d872956c390a1,e35c9a670b864a3ba0203ffb1bc977d1"
      }
    }
  }
}

Link to debug output
https://gist.github.com/greatseb/d68e729bc18548f41c2ece531458d12a
Panic output
No response
Expected output
Standard apply output
Actual output
cloudflare_ruleset.waf_rule: Modifying... [id=0f9b2d89167947328d80f3f335e17df5]
╷
│ Error: error updating ruleset with ID "0f9b2d89167947328d80f3f335e17df5"
│
│   with cloudflare_ruleset.waf_rule,
│   on rulesets.tf line 1, in resource "cloudflare_ruleset" "waf_rule":
│    1: resource "cloudflare_ruleset" "waf_rule" {
│
│ there are invalid configured rules to skip
╵
Steps to reproduce

terraform import
change
terraform apply

Additional factoids
No response
References
No response

the debug log provided is for a plan and not showing what HTTP interactions are made for the Cloudflare API. can you please attach an apply operation that includes those too?
i think this is a misunderstanding of the IDs to use here from the error message though;

there are invalid configured rules to skip

the ruleset id that we used is:
{
    "result": {
        "id": "0f9b2d89167947328d80f3f335e17df5",
        "name": "default",
        "description": "",
        "source": "firewall_managed",
        "kind": "zone",
        "version": "66",
        "rules": [
            {

The command we used in postman to retrieve this ID was:
https://api.cloudflare.com/client/v4/zones/8b277f4d20fbf51106963e6b6350d36e/rulesets/phases/http_request_firewall_managed/entrypoint
Below is the debug log for an apply operation
https://gist.github.com/greatseb/fdd93945371dc253603248211fd0915c

confirmed with the logs, those are invalid rule IDs and the API is responding as suvh. you need to find the ruleset rules that you want to skip and are able to be skipped.
you can alternatively try the cloudflare_rulesets data source to see if that yields you a better ID mapping but YMMV depending on your experience - https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/data-sources/rulesets.

followed your advice and used this to retrieve the ID:
data "cloudflare_rulesets" "example" {
  zone_id = "8b277f4d20fbf51106963e6b6350d36e"
  filter{
    kind = "zone"
    phase = "http_request_firewall_managed"
  }
}
output "cloudflare_data_output" {
  description = "mon gros penis"
  value = data.cloudflare_rulesets.example
}

and got this (snippet) at the apply
cloudflare_data_output = {
  "account_id" = tostring(null)
  "filter" = tolist([
    {
      "id" = ""
      "kind" = "zone"
      "name" = ""
      "phase" = "http_request_firewall_managed"
      "version" = ""
    },
  ])
  "id" = "3c7d194b91776e2e28d5fc6b688d36b3"
  "include_rules" = tobool(null)
  "rulesets" = tolist([
    {
      "description" = ""
      "id" = "0f9b2d89167947328d80f3f335e17df5"
      "kind" = "zone"
      "name" = "default"
      "phase" = "http_request_firewall_managed"
      "rules" = tolist([])
      "version" = "66"
    },
  ])
  "zone_id" = "8b277f4d20fbf51106963e6b6350d36e"
}

When using the ID retrieved above, got another error message:
$ terraform import cloudflare_ruleset.waf_rule zone/8b277f4d20fbf51106963e6b6350d36e/3c7d194b91776e2e28d5fc6b688d36b3
cloudflare_ruleset.waf_rule: Importing from ID "zone/8b277f4d20fbf51106963e6b6350d36e/3c7d194b91776e2e28d5fc6b688d36b3"...
data.cloudflare_rulesets.example: Reading...
cloudflare_ruleset.waf_rule: Import prepared!
  Prepared cloudflare_ruleset for import
cloudflare_ruleset.waf_rule: Refreshing state... [id=3c7d194b91776e2e28d5fc6b688d36b3]
data.cloudflare_rulesets.example: Read complete after 1s [id=3c7d194b91776e2e28d5fc6b688d36b3]
╷
│ Error: Cannot import non-existent remote object
│
│ While attempting to import an existing object to "cloudflare_ruleset.waf_rule", the provider detected that no object exists with the given id. Only pre-existing objects can be imported; check that the id is correct and that it
│ is associated with the provider's configured region or endpoint, or use "terraform apply" to create a new remote object for this resource.
╵

Releasing state lock. This may take a few moments...
$

Not sure which ID to use then as both return different errors

you're trying to do two different things hence the different errors for different IDs. in the first example, you're operating on rules within a ruleset however the second is importing a ruleset resource. they are expected to be different resources. i'd recommend taking a look at https://developers.cloudflare.com/ruleset-engine/ and the WAF examples at https://developers.cloudflare.com/waf/ to get an understanding of how these two concepts fit together as it isn't a terraform specific issue here.


Examples doesn't work

I downloaded this repository and its examples doesn't work.

Same here.

This has been fixed by PR https://github.com/HubSpot/tooltip/pull/47/commits/1488bb46c5b4d5d9edb6ee9ee1a7995e6338db1a. Why don't you pull it? ughhh


[CS2103-W16-4] RealEstatePro

🚀 RealEstatePro 🏠 allows real estate agents to efficiently manage their client base in a streamlined manner. It is optimized for CLI users so that frequent tasks can be done faster by typing in commands.

Codecov Report

Merging #23 (1d18470) into master (4f7660a) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #23   +/-   ##
=========================================
  Coverage     72.15%   72.15%
  Complexity      399      399
=========================================
  Files            70       70
  Lines          1232     1232
  Branches        125      125
=========================================
  Hits            889      889
  Misses          311      311
  Partials         32       32

Continue to review full report at Codecov.

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


add bridgeformer model in yaml

Signed-off-by: xujinling<EMAIL_ADDRESS>

conflict with the default

conflict

conflict with the default


Update similarity.py

-Add doc for each function
-Verify that everything is functional
-Clean imports if needed

-Add doc for each function ✅
-Verify that everything is functional ✅
-Clean imports if needed ✅


About CognitoCachingCredentialsProvider

I can  download files by using aws-sdk and using  Amazon Cognito to authenticate with AWS from our mobile application .  But what can I do when  I want to  download files by using another download library .
I guess it may be need a token when I download it but I dont know the exactly method . So could you give me some advices or examples? Thanks !

Hi @jason8232590,

Create a CredentialsProvider, for example:

CognitoCachingCredentialsProvider provider = new CognitoCachingCredentialsProvider(
getApplicationContext(),
"<COGNITO_IDENTITY_POOL_ID>",
Regions.fromName("<COGNITO_IDENTITY_POOL_REGION>"));

Create a AmazonS3 Client:

AmazonS3 s3Client = new AmazonS3Client(provider);
s3Client.setRegion(Region.getRegion("<S3_REGION>"));

Use TransferUtility:

TransferUtility transferUtility = new TransferUtility(s3Client, getApplicationContext());
transferUtility.
TransferObserver observer = transferUtility.upload(
MY_BUCKET,     /* The bucket to upload to /
OBJECT_KEY,    / The key for the uploaded object /
MY_FILE        / The file where the data to upload exists */
);
You can try out our S3 sample app here: https://github.com/awslabs/aws-sdk-android-samples/tree/master/S3TransferUtilitySample


[CSSolver] Refactor selectBestBindingDisjunction

Add an assert which verifies that all of the disjunction
choices has the same type variable on the left-hand side.
Based on that fact, refactor selectBestBindingDisjunction
to only check first choice to find suitable "bind" disjunctions
to favor.

@swift-ci please test

@swift-ci please test source compatibility

Build failed
Swift Test OS X Platform
Git Sha - acb94b22abbf7ba811366ec674f4ed8395020453

@swift-ci please test

Build failed
Swift Test OS X Platform
Git Sha - acb94b22abbf7ba811366ec674f4ed8395020453

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - 838f87f900222af11dcf13f93104bb8711f3a4b0

Build failed
Swift Test OS X Platform
Git Sha - 838f87f900222af11dcf13f93104bb8711f3a4b0

@swift-ci please test

Build failed
Swift Test OS X Platform
Git Sha - 96b7bc8f630dffb94952c6751dfd873e381e68c2

Build failed
Swift Test Linux Platform
Git Sha - 96b7bc8f630dffb94952c6751dfd873e381e68c2


endpoint idling

if playback stops on an endpoint for for a a certain amount of time (10m? 15m?) spotify marks that endpoint as inactive.
if playback tries to resume, spotify rejects the command as the last used endpoint is now inactive and has to be manually made active again (through the endpoint command).
this is less than ideal. two ways to approach this that I can think of:

continue to prompt user to select an endpoint when attempting to resume playback on an inactive endpoint
use last known active endpoint when playback is resumed

option 2 would require us to capture device_id on every player-oriented command to keep it in memory
would also need to pass along device_id on every player-oriented command to spotify API (API already supports this)

yeah no i'm leaving current implementation unless something changes upstream on the spotify API.


Popup "flowing" - Floated elements wrapping instead of expanding the popup

I'm having some issues getting a flowing popup to expand appropriately to fit its contents.
Example here: https://codepen.io/anon/pen/MORLRd
The label elements on the right side of the pop-up do not line up with the text that they correspond with. What would be the best way to ensure that everything remains in the same line regardless of length and the popup expands?

The workaround I found for the time being was to add about 6em of margin-right to the headers in the columns (as shown in the codepen posted above.
Solved for now.


Release 4.1.0.

@egonm12 it helps if you add a description to your PR about what changes are included.

@egonm12 it helps if you add a description to your PR about what changes are included.

I assumed the changelog would speak for itself but I will add it to the description.


Use codeocean's python api

Is your feature request related to a problem? Please describe.
We are currently using aind-codeocean-api as the main Code Ocean client.
Describe the solution you'd like
Now that Code Ocean has rolled out their own client, we should switch to using that one.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

would be great to have this migration done, I've been thinking about adding some user scripts here but would want to use the new client.

I elevated the priority.


Crop rectangle does not fit within image data

Hi,
I updated the library yesterday and, i got this issue...

java.lang.IllegalArgumentException: Crop rectangle does not fit within image data.
at com.google.zxing.PlanarYUVLuminanceSource.(PlanarYUVLuminanceSource.java:50)
at com.welcu.android.zxingfragmentlib.camera.CameraManager.buildLuminanceSource(CameraManager.java:360)
at com.welcu.android.zxingfragmentlib.DecodeHandler.decode(DecodeHandler.java:77)
at com.welcu.android.zxingfragmentlib.DecodeHandler.handleMessage(DecodeHandler.java:56)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at com.welcu.android.zxingfragmentlib.DecodeThread.run(DecodeThread.java:101)

It appears when I use the phone in landscape and open the my BarcodeScannerFragment.
I googled this error and, obviously, it means the device's camera driver has a bug.
BUT, i got the issue on multiple devices... and I don't really how to fix it...
Any clue ? Thanks
Laurent

up stair id correct , perfect .i resolve my trubel

in PlanarYUVLuminanceSource  49 line
if (left + width > dataWidth || top + height > dataHeight) {       throw new IllegalArgumentException("Crop rectangle does not fit within image data.");     }
i change rect calculate
int cameraWidth = cameraManager.getCameraResolution().y;             int cameraHeight = cameraManager.getCameraResolution().x;
to
int cameraWidth = isVertical?cameraManager.getCameraResolution().y:cameraManager.getCameraResolution().x;         int cameraHeight = isVertical?cameraManager.getCameraResolution().x:cameraManager.getCameraResolution().y;
:)

Upstairs, your "int cameraWidth = cameraManager.getCameraResolution().y; int cameraHeight = cameraManager.getCameraResolution().x;" in which file, is customized or Zxing comes with？

I had similar issue. Using zxing-android-embedded (https://github.com/journeyapps/zxing-android-embedded).
Zxing greater version 3.3.0 bring this issue to some users of my app.
Downgrading to 3.3.0 fix it.
dependencies {
implementation('com.journeyapps:zxing-android-embedded:3.6.0')
{ transitive = false }
implementation 'com.google.zxing:core:3.3.0'
}
This version is even compatible down to API level 14.


Non-header section title should not be bolded

In some ISO documents, a section header is not a real header, but a numbered clause. In this case, the text is NOT bolded. We need a way to achieve this.
Screenshot (desired output):

Code (which produces bolded title):
[[nonconformities]]
=== Nonconformity and corrective action

[[nonconformities-reqs]]
==== When a nonconformity occurs, including any arising from complaints, the organization shall:

. react to the nonconformity and, as applicable:

** take action to control and correct it;

** deal with the consequences;

No. In the rice document, such clause numbers are always bolded:

I've done this deliberately to emulate that document's formatting.

... Hang on, I've misunderstood: you want to generate that output, you're not complaining about it. The way to generate it in asciidoctor is as:
[[nonconformities-reqs]]
==== {blank}

When a nonconformity occurs, including any arising from complaints, the organization shall:

You can see that in our Asciidoctor encoding of the Rice Model document.

Ahhh good point. Let's make sure this is in the Authoring Guide. Thanks!

It was already in there, I'm making it more explicit.


Kotlin scripting broken in kotlin 1.9

Kotlin scripts are no longer compiled at runtime with the K2 compiler in 1.9.20 so Class.forName() no longer works.
https://youtrack.jetbrains.com/issue/KT-63478/K2-compiler-kts-scripts-in-source-root-compatibility-in-1.9-and-above
The options seem to be:

Use kotlin compiler how it's indented with eval https://kotlinlang.org/docs/custom-script-deps-tutorial.html
See if there's a compiler option to include kotlin scripts again

What is the performance implication of 1.? Last time I checked loading scripts with eval was x10 slower than Class. I expect this still to be the case as it's compiling on the fly, rather than just loading and executing already compiled bytecode.

Kotlin: Script 'GoblinMusician.kts' is not supposed to be used along with regular Kotlin sources, and will be ignored in the future versions by default. (Use -Xallow-any-scripts-in-source-roots command line option to opt-in for the old behavior.)

Might be worth investigating KotlinLightParser


URL Cleanup

This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).
Fixed URLs
Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

[ ] http://www.apache.org/licenses/ with 2 occurrences migrated to:
https://www.apache.org/licenses/ (https result 200).
[ ] http://www.apache.org/licenses/LICENSE-2.0 with 179 occurrences migrated to:
https://www.apache.org/licenses/LICENSE-2.0 (https result 200).

 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.:x: spring-operator sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Added error handling for Kraken::getAvail

If the response contains no result, blackbird prints the error message and tries again.
This handles cases in which the API key is invalid, password is wrong, etc.
(works well on my Mac and on Debian@Raspberry)

Thanks @beckel


Account Settings - Improve Change Password Flow

Here's the current flow for changing one's password in the new Account Settings Page:

Enter and confirm new password in the two required fields.
Click on blue "Change Password Button"
"Save Settings" button in upper right-hand corner turns blue, indicating you need to click it.
Click Save Settings and the button turns gray and shows a time stamp.
Try to go anywhere else on iNat and discover you have been surreptitiously logged out.
Log in with new password, which has been saved and is working.

Issues:
Step 3: It's not apparent that you need to click on Save Settings to actually change your password.
Step 4: a) you're logged out b) you are never told you have been logged out, which is both confusing and alarming, especially since you were changing your password.
Possible improvements?

Make "Change Password" save the new password without the user having to click on Save Settings.

If that's not possible, clearly indicate that the user needs to click on Save Settings.

Don't log the user out once their password has been changed.

If that's not possible, they should be taken to the log in screen and we should display a banner saying their password has been saved and that they need to log in again.

Make "Change Password" save the new password without the user having to click on Save Settings

This is possible and I'm fine with that. @abhasinat, would you be ok with just some green text next to the "Change Password" button that says "Password changed!" or something?

Don't log the user out once their password has been changed.

It's not immediately obvious why this is happening, but I actually think it should do this and in fact I think it should remove all authorizations you've granted to any other apps, including the iNat mobile apps, so you'll be forced to sign again. This gives people a lot more control in situations where they think their password and/or account has been compromised. Maybe that's a different issue. Anyway, I agree that "they should be taken to the log in screen and we should display a banner saying their password has been saved and that they need to log in again." I also think they need some warning in advance of that, either text on the profile editor or a confirmation dialog when they try to change their password. Thoughts, @abhasinat?

This is possible and I'm fine with that. @abhasinat, would you be ok with just some green text next to the "Change Password" button that says "Password changed!" or something?

I think that's a great idea. A good solution might be to use the error state text styling from when someone enters an invalid email or an already taken username except in green (so its a confirmation state) with the text "Password successfully changed" after a user has successfully changed their password. If we want to go with immediately taking them to the login page after changing their password, we can show them a simple green banner with the text "Password successfully changed, please log in again" at the top of the login screen.

I also think they need some warning in advance of that, either text on the profile editor or a confirmation dialog when they try to change their password.

I agree, we can add some help text under Change password such as "Changing your password will log you out of all of active iNaturalist sessions across your devices"

Revisiting this: if we sign people out after changing their password, I don't think it should update in the background. I think the password form should behave like a regular HTML form, i.e. it should leave the page and discard all other changes, sign you out, and redirect you to the log in page. If we really sign people out after they change their password, then their current session is invalid anyway and any changes they make on users/edit won't stick until they sign in again.
Are people ok with that? That should be a pretty straightforward change.

Soudns good to me.

I started an implementation of this. @kueda for the removal of authorizations, what I have so far is here https://github.com/inaturalist/inaturalist/blob/2954-password-change-flow/app/models/user.rb#L1285 . Do you think that's sufficient or are there other things we should be deleting or revoking after a password change?

@pleary I think that's sufficient. I was wondering if there was a reason to delete Doorkeeper::AccessGrant records as well, but if you change your password I don't think that implies that you revoke authorization from third parties.

This is merged into main now. The merge behavior is that password changing is independent of other user settings. There is a warning in the form that changing your password will log you out of the website, and a confirmation dialog that says the same. Once the password is successfully changed, the user is logged out (any unsaved changes to settings are lost), the user is redirected to the login page with a message saying their password was changed and they need to log in again.
It does not yet include invalidating mobile app tokens. We can add that in once the related Android issue is implemented


Update Screenful Package

Old dependency gives error : screenfull.js:102 Uncaught (in promise) TypeError: Document not active
at exit (screenfull.js:102)

Please merge this and update the package in npm.

Yes, @jpilfold , merging this pull request and updating npm would solve both issues  #23 and #29 .
Thank you.

@jpilfold , Can you please accept this pull request, so that issues #23 and #29 can be closed, we need this solved and updated in NPM package, If you don't have time for updating this to npm, please give me write access, I will merge this and update on NPM also.

Is the owner looking at this PR or not?

@jpilfold, can you merge the above changes


the sentences from the reviews need dates

From @weAllWeGot on December 1, 2016 21:18
no dates so no context. the sentences could be opinions from older reviews that arent as relavent anymore
Copied from original issue: weAllWeGot/kbai_chat_bot3#17

all done


Extract encoding / decoding of Srcbooks into its own package, introduce versioning

Refactor Srcbook Serialization: Extract and Version Encoding/Decoding Logic
Current State

Encoding and decoding operations are currently implemented in both client and server components.

Problem

Limited portability of Srcbook decoding capabilities.
Lack of versioning for the encoding algorithm poses potential compatibility issues.

Proposed Solution

Extract encoding/decoding logic into a separate package:

Suggested package name: @srcbook/serde
This package will encapsulate all serialization and deserialization functionality.

Implement versioning for the encoding algorithm:

Introduce a version identifier in the serialized output.
Develop a mechanism to detect and handle different versions during deserialization.

Benefits

Improved Portability:

Enables Srcbook decoding in a wider range of environments.
Facilitates easier integration with third-party tools and services.

Enhanced Maintainability:

Centralizes serialization logic, reducing code duplication.
Simplifies future updates and bug fixes.

Robust Compatibility Management:

Allows for graceful handling of different encoding versions.
Enables the introduction of new concepts without breaking existing implementations.
Provides a foundation for potential data migrations in the future.

Next Steps

Design the API for the @srcbook/serde package.
Implement versioning mechanism and initial compatibility checks.
Refactor existing code to utilize the new package.
Update documentation to reflect the changes in serialization handling.

@nichochar can you please provide details about the exact components having Encoding and decoding operations in both client and server?
or any beginner friendly approach to fix this issue?

Refactor Srcbook Serialization: Extract and Version Encoding/Decoding Logic
Current State

Encoding and decoding operations are currently implemented in both client and server components.

Problem

Limited portability of Srcbook decoding capabilities.
Lack of versioning for the encoding algorithm poses potential compatibility issues.

Proposed Solution

Extract encoding/decoding logic into a separate package:

Suggested package name: @srcbook/serde
This package will encapsulate all serialization and deserialization functionality.

Implement versioning for the encoding algorithm:

Introduce a version identifier in the serialized output.
Develop a mechanism to detect and handle different versions during deserialization.

Benefits

Improved Portability:

Enables Srcbook decoding in a wider range of environments.
Facilitates easier integration with third-party tools and services.

Enhanced Maintainability:

Centralizes serialization logic, reducing code duplication.
Simplifies future updates and bug fixes.

Robust Compatibility Management:

Allows for graceful handling of different encoding versions.
Enables the introduction of new concepts without breaking existing implementations.
Provides a foundation for potential data migrations in the future.

Next Steps

Design the API for the @srcbook/serde package.
Implement versioning mechanism and initial compatibility checks.
Refactor existing code to utilize the new package.
Update documentation to reflect the changes in serialization handling.


OCPBUGS-42433: Retry reconciliation with invalid configuration

What this PR does / why we need it:
Before this commit, if configuration was determined to be invalid, we simply returned a nil from the reconciliation loop and waited for something to change in the HostedCluster. This fails to account for when the reason for the invalid configuration is transient, such as a missing ConfigMap. When the ConfigMap is finally made available, the HostedCluster does not resume reconciliation.
Now an error is thrown when configuration is not valid, resulting in a requeue of the HostedCluster, until the invalid configuration is resolved.
Which issue(s) this PR fixes (optional, use fixes #<issue_number>(, fixes #<issue_number>, ...) format, where issue_number might be a GitHub issue, or a Jira story:
Fixes #OCPBUGS-42433
Checklist

[x] Subject and description added to both, commit and PR.
[x] Relevant issues have been referenced.
[ ] This change includes docs.
[ ] This change includes unit tests.

/jira refresh

/lgtm

/lgtm


when a comment is appended directly after the last letter of a line, the alignment is wrong

u_pulse_synchronizer : entity work.pulse_synchronizer
port map(
clk_1   => HSL_CLK,        -- in std_logic;
clk_2   => AXI_CLK,        -- in std_logic;
pulse_1 => line_ready_hsl, -- in std_logic;
pulse_2 => line_ready_axi-- out std_logic;
);
results in
u_pulse_synchronizer : entity work.pulse_synchronizer
port map(
clk_1   => HSL_CLK,        -- in std_logic;
clk_2   => AXI_CLK,        -- in std_logic;
pulse_1 => line_ready_hsl, -- in std_logic;
pulse_2 => line_ready_ax  i-- out std_logic;
);

solved in v1.0.1


Added additional clarification, fixed typos

Before submitting a Pull Request, please test your code.
If you created a new feature, then create the unit test function, too.
# COMPILE
npm run build

# RE-WRITE TEST PROGRAMS IF REQUIRED
npm run test:template

# BUILD TEST PROGRAM
npm run build:test

# DO TEST
npm run test

Learn more about the CONTRIBUTING

Thanks for great emension.


Add checkbox acknowledging 10% fee to cold message form

Businesses that have signed up for the $299/month full-time plan are required to pay a 10% salary fee when they hire someone they contacted via railsdevs.

[ ] On the cold message screen add a checkbox to the form stating "I understand that if I hire #{developer's name} then I will pay railsdevs 10% of their first year salary."
[ ] Invalidate the form if the checkbox is not checked
[ ] BONUS: Disable the form if JavaScript is enabled and the checkbox is not checked

@joemasilotti Can I work on this issue?

Sure thing! All yours.

Started working on this.

Closed via #371.


Blog App: Create data models

In this PR, I created a new Rails app and a data model for the app.
Changes

Set up the Rails app with a Postgres database.
Created User, Post, Comment, and Like models.
Created necessary Migration files.
Generated schema.rb file.
Added indexes to corresponding foreign key columns.

Thank you for the feedback, @ichala.


[SPARK-42945][CONNECT][FOLLOW-UP] Add user_id and session_id when logging errors

What changes were proposed in this pull request?

This is a follow-up PR for SPARK-42945 to include user_id and session_id when logging errors on the Spark Connect server side. It is to address this comment.
Why are the changes needed?

To improve debuggability.
Does this PR introduce any user-facing change?

No
How was this patch tested?

Existing tests.

Merged to master.


New feature: Remove green menu

Not to be rude, but some people really shoudn't have a green menu in their cars... I get many many mails on a daily basis from people who think they don't need to read any manual or warning, and mess up their systems... 🤕
These people really need a button that removes the entire green menu and all of its features.
I think it's best if this will be a button with the name "FIX ALL YOUR ISSUES" 😜

Agree with that!

It's insane... the response I get is either:

someone not reading anything and messing up his unit because of it
someone demanding a toolbox for MIB2STD RIGHT NOW 😨


Add h3-node to list of bindings

Hey @isaacbrodsky et al. :)
The h3-node binding is now at a proof-of-concept phase with the two primary H3 functions implemented and tested for correctness.
Putting this PR up for inclusion in the bindings list. Can wait for it being published on NPM if you prefer, though.

 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.David Ellis seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Coverage remained the same at 100.0% when pulling 8956f79261da2c1bf5113a93c74c699b9b44e601 on dfellis:master into d30341d8a6b363b06ee14fc52f1f9b7060e8aab2 on uber:master.


quassel: 0.13.1 -> 0.14.0

Motivation for this change
Fixes CVE-2021-34825
https://github.com/quassel/quassel/blob/0.14.0/ChangeLog
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review run on x86_64-linux 1

3 packages built:

quassel
quasselClient
quasselDaemon

There's quite a lot in the changelog. The fix in https://github.com/quassel/quassel/pull/581 may be better when it comes to stable.


Virtual batch norm, independent of number of replicas

Description of the model to be implemented
Virtual batch normalization is useful to achieve SOTA performance in several benchmarks. However, in the distributed setting, the implementation must change how it computes virtual batches based on whether or not the per-replica batch size is less than or greater than the virtual batch size. For example, if the per-replica batch size is 32, but the virtual batch size is 128, then virtual batch norm should reduce across 4 replicas to compute the virtual batch. However, if the per-core batch size is 256, but the virtual batch size is 128, then virtual batch norm should split the per-core batch into 2 virtual batches.
Additionally, each virtual batch may need to maintain its own EMA for use at eval time. Some implementations such as [1] will calculate EMAs using a virtual batch and then average across all virtual batch EMAs before evaluating, while others such as [2] average over virtual batches before computing a per-core EMA (and, depending on the training library, may only evaluate with the EMA from a single replica). Supporting only the behavior in [1] would be sufficient, but having a parameter to switch between [1] and [2] may be more useful. Note that calculating virtual batch EMAs in the style of [1] would require maintaining multiple EMAs per replica, when in the setting where the per-core batch size is greater than the virtual batch size (in the example above, each replica would need to maintain two EMAs calculated with a virtual batch size of 128, and average over the two and across all replicas before evaluating).
Dataset the model could be trained on
ImageNet/ResNet-50, as in [1]
Reference implementations in other frameworks
[1] https://github.com/mlperf/training_results_v0.6/blob/master/Google/benchmarks/resnet/implementations/tpu-v3-2048-resnet/resnet/resnet_model.py#L151
[2] https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/keras/layers/normalization.py#L794

Thanks, this looks life a useful feature to have. I added PR welcome if somebody wants to give it a shot

@jheek given that we didn't do this in 2 years, do you think it is worth keeping the issue, or shall we close it due to inactivity?

@jheek assigned it to you so you can make a decision, feel free to unassign yourself once you decided what to do with it!

Nowadays JAX has a lot more tools to do this. You can define a model with a virtual_batch_size and "schedule" it using pjit or xmap anyway you want. I don't think we need custom support for this in Flax anymore


BLD: Add build only CI workflow for Windows using MSVC + ifx + OpenBLAS

Reference issue

What does this implement/fix?

Additional information

So the caching works. However, https://github.com/czgdp1807/scipy/actions/runs/9486169278/job/26139890400 fails because its unable to find scipy-openblas. I passed, --with-scipy-openblas but still this error comes up.

I am installing pkgconfig from PyPI. Let's see how it goes this time.


Failed to load the native TensorFlow runtime,while running the main.py

Please have a look at the FAQ section in the README - maybe your question is already answered there.
Only issues concerning the repositories code will be answered.
The following questions will not be answered:

How to convert dataset X into IAM format?
How to modify the model to recognize text-lines/more characters/...?
General/theoretical questions regarding (handwritten) text recognition.

If you create a new issue, please provide the following information:

Versions

TensorFlow version
Python version
Operating system

Issue

Which result/error did you get?
If you think the result is wrong - what result did you expect instead?
How to reproduce the issue?
Provide all necessary data

Just to avoid misunderstandings: putting a one-liner into the issue title is not enough. The reason for the issue template is to ask for all relevant information needed for further discussions.

Closing because of inactivity.


Feature/508 private profiles

Adds a setting to the User model which defines 3 types of visibilities of their profile posts.

Public
-- It will allow everyone, unauthenticated or authenticated to see their posts.
Okuna
-- It will allow only members of Okuna to see their posts.
Private
-- It will require people to request to follow them in order to see their posts.

I have also added a case so that when a user is private, connection requests cannot be made until the other user has requested to follow and had that approved.
When switching from public to private visibility, I handle deleting pending connection requests, when switching from private to public also deleting pending follow requests.