maven-publish fails when using example conditional signing code

Expected Behavior
Running ./gradlew clean publishToMavenLocal should succeed.
Current Behavior
A crash with the following error message:
Signing Gradle Module Metadata is not supported for snapshot dependencies.

Here is the full context and stack trace:
./gradlew clean publishToMavenLocal --stacktrace
> Task :signMainPublication FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':signMainPublication'.
> Signing Gradle Module Metadata is not supported for snapshot dependencies.

* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':signMainPublication'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:187)
        at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:263)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:185)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:166)
        at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109)
        at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
        at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
        at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
        at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:374)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:361)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:354)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:340)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
        at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
Caused by: org.gradle.api.InvalidUserCodeException: Signing Gradle Module Metadata is not supported for snapshot dependencies.
        at org.gradle.plugins.signing.InvalidSignature.generate(InvalidSignature.java:32)
        at org.gradle.plugins.signing.Sign.generate(Sign.java:221)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:104)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:49)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:42)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:28)
        at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:721)
        at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:688)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.run(ExecuteActionsTaskExecuter.java:539)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
        at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:524)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:507)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$300(ExecuteActionsTaskExecuter.java:109)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.executeWithPreviousOutputFiles(ExecuteActionsTaskExecuter.java:258)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:247)
        at org.gradle.internal.execution.steps.ExecuteStep.lambda$execute$1(ExecuteStep.java:33)
        at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:33)
        at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:26)
        at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:63)
        at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:35)
        at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:49)
        at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:34)
        at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:43)
        at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:73)
        at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:54)
        at org.gradle.internal.execution.steps.CatchExceptionStep.execute(CatchExceptionStep.java:34)
        at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:44)
        at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:54)
        at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:38)
        at org.gradle.internal.execution.steps.CacheStep.executeWithoutCache(CacheStep.java:153)
        at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:67)
        at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:41)
        at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:49)
        at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:44)
        at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:33)
        at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:38)
        at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:24)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:92)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:85)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:55)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:39)
        at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:76)
        at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:37)
        at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:36)
        at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:26)
        at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:94)
        at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:49)
        at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:79)
        at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:53)
        at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:74)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.lambda$execute$2(SkipEmptyWorkStep.java:78)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:78)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:34)
        at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:39)
        at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:40)
        at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:28)
        at org.gradle.internal.execution.impl.DefaultWorkExecutor.execute(DefaultWorkExecutor.java:33)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:174)
        ... 30 more

* Get more help at https://help.gradle.org

BUILD FAILED in 1s
6 actionable tasks: 6 executed

Context
This is using example code copied directly from the documentation in order to attempt to do conditional signing.  Example code should ideally work without issues.
Simplifying the example code to say signing is never required also fails:
signing {
    required { false }
    sign publishing.publications.main
}

However, wrapping the next statement in a conditional succeeds:
signing {
    required { false }
    if( required ) {
        sign publishing.publications.main
    }
}

It looks like this was a known bug, but it was supposed to be fixed in https://github.com/gradle/gradle/pull/11037.  It still seems to be present.
Steps to Reproduce

A trivial reproduction is in https://github.com/lbergelson/gradle-signing-bug
to reproduce:
clone the repo
git clone git@github.com:lbergelson/gradle-signing-bug.git
cd gradle-signing-bug

run this
./gradlew clean publishToMavenLocal

Your Environment

I'm running on OSX 10.14.6 using gradle 6.0 and java 8.
Build scan URL: https://scans.gradle.com/s/mgu44gih76pum

As a more general issue, it's not clear to me why you're not allowed to sign SNAPSHOTs.

We're also seeing this one.

I have the same issue

Same here

required = false just means, that it is not required as the name of the flag suggests, not that it is not done, it only becomes optional.
If the necessary properties are set, the signing is done but if not, it does not fail.
If required is true and the properties are not set, the build will fail.
By wrapping the sign call in the if, you only sign if required, no matter whether the properties are set or not.
With Gradle 6.2 the signing of snapshot releases should work again.
For further information see https://github.com/gradle/gradle/pull/11906 and https://github.com/gradle/gradle/issues/12070


Use luma picking module in scatterplot layer.

Add a new prop to Layer class to specify picking highlight color, by default its value is set to 'NULL_PICKING_COLOR' which will disable highlighting.
Set highlighting for scatterplot layer of layer-browser example.
NOTE: Not ready to merge, also requires luma changes.

@ibgreen , highlighting in scatterplot layer (in layer-browser and in examples/scatterplot) works with these changes.

Most of these changes are covered by https://github.com/uber/deck.gl/pull/848, closing ...


♻ Refactor rebalance API endpoints

Generated summary (powered by Graphite)

Description for Pull Request
TL;DR

Added freezegun library to pre-commit-config.yaml
Updated OrderPlacementResult to Order in main.py
Added new endpoints for preparing and placing orders in main.py
Added tests for preparing and placing orders in test_api.py
Added OrdersPlaceResponse model in main.py
Added test for stopping rebalancing with insufficient funds in test_cli.py

What changed

Added freezegun library to pre-commit-config.yaml for testing purposes
Updated OrderPlacementResult to Order in main.py for consistency and clarity
Added new endpoints for preparing and placing orders in main.py to handle order operations
Added OrdersPrepareResponse and OrdersPlaceResponse models in main.py to handle responses for order operations
Added tests for preparing and placing orders in test_api.py to ensure functionality
Added test for stopping rebalancing with insufficient funds in test_cli.py to handle edge case scenario

How to test

Run the application and make a GET request to /strategies/all-weather-kr/orders to prepare orders
Make a POST request to /strategies/all-weather-kr/orders with the prepared orders to place orders
Check the response for successful placement of orders
Run the test cases in test_api.py and test_cli.py to ensure functionality and edge case handling

Why make this change

Added freezegun library for testing to improve test coverage and accuracy
Updated OrderPlacementResult to Order for consistency and clarity in the codebase
Added new endpoints and models for preparing and placing orders to enhance order management capabilities
Added tests to ensure proper functioning of order preparation and placement
Added test for stopping rebalancing with insufficient funds to handle edge case scenarios and improve robustness of the application.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#106
#105  👈
#104
#103
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @mingi3314 and the rest of your teammates on  Graphite

Merge activity

Mar 17, 11:23 AM EDT: @mingi3314 started a stack merge that includes this pull request via Graphite.


using vep 86 in bcbio

Hi Brad,
Is there a reason the latest version of VEP wasn't included into the latest release? I understand if it isn't possible to include all the modifications I've requested earlier, but I think as for the vep release, newer = better no?
Thanks again!
M

We hadn't yet worked on any of the additional VEP modules you added, so haven't worked on bumping the database and tool version yet. I was hoping to get dbNSFP working and then see about the possibility of adding in the new modules. There is potentially some value in just increasing versions, but also downsides. It requires testing to ensure the new version is actually better, and also imposes the cost of re-building the data indexes for everyone. Definitely happy to support you if you have the ability to test the new version and include the additional modules, sorry we haven't had the opportunity to do so yet.

Hi Brad,
Thanks for the quick response. What steps need to be taken for the newest release to be included? I saw that someone else had taken on the dbNSFP issue, as I haven't had much time anymore to further solve any issues. I do think this problem is resolved now?
As for the testing of the latest version, currently our pipeline is set up to just use bcbio for mapping, variant calling and QC. After this is finished, we use VEP v86 and all plugins mentioned earlier to annotate the resulting VCF, after which we use vcf2db to create a gemini compatible db (support for hg38). This method has yielded some great results, both for GRCh37 and hg38, with several clinical cases solved using the resulting db. So we know it actually works.
We'd be delighted if we could plug this method into bcbio, because of the underlying parallelization, which should speed up our analysis significantly. The recipe for vep 86 is in bioconda and works fine.
It also includes the files needed for the plugins to run.
I would like to propose the following steps to be taken

[ ] Bump vep to v86
[ ] Add ggd recipe for dbNSFP (hg38)
[ ] Add ggd recipe for dbSCNV (GRCh37 and hg38)
[ ] (if possible) Add mechanism that allows users to set the required dbNSFP fields manually (e.g. in the bcbio_system.yaml)
[ ] (if possible) Add mechanism that allows users to activate/deactivate vep plugins.

I'd be happy to help develop/set this up. There is also still some work that needs to be done on the bioconda recipes for GeneSplicer and MaxEntScan, but perhaps I could ask some help on that front from the bioconda community.
I'd love to hear your thoughts on this. We're so close to being able to use bcbio as our go to pipeline for almost every routine analysis.
Thanks!
M

some preliminary work in chapmanb/cloudbiolinux#233

Thanks much for all this work. I left comments with small suggestions/questions in the two PRs and am happy to merge these in to get it working for you. Thanks again for making this all happen.

Thanks!
I will need some help with added extra plugins to the VEP routine. Are you willing to provide me with some pointers on how I should add those?
M

Hi Matthias and Brad!
Is it possible to add an option turning --pick in VEP off? This one forces VEP to report one effect per variant. It is ok by default, because without --pick the database size and running time will increase. But sometimes it is desired to report all effects.
Thanks,
Sergey

Sergey;
Sorry about the issues and confusion with --pick. This is off by default and turned on when setting clinical_reporting: true:
https://github.com/chapmanb/bcbio-nextgen/blob/master/bcbio/variation/effects.py#L140
so if you don't set that it should report multiple variants. Hope this helps.

Thanks Brad;
Yes, I do use clinical_reporting. Unfortunately I need HGVS notation and no --pick at the same time. Maybe it is possible to split clinical_reporting and vep_pick: true/false sometime in the future?
Sergey

Sergey;
Thanks for the feedback. I pushed fixes to bcbio which decouple HGVS and pick in the latest development version. Now HGVS is on by default and you can specify using canonical transcripts only (--pick in VEP) with effects_transcripts: canonical. I dropped clinical_reporting although it's behavior is left in to be back compatible with older configurations. Hope this provides what you need for using VEP. Thanks again for the feedback.

Thanks Brad!


Fix trigger service test

Purpose

triggerServiceTest was failing due to a removal of a module in Ballerina Central (staging). Fixed that by updating the relevant test

Fixes #
Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[ ] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Sure, I'll create the issue and mention here

@HasithaAthukorala, shall we send a PR with this change to the master branch also? Since we may not sync this branch immediately.

@MaryamZi Sent the PR to the master as well, https://github.com/ballerina-platform/ballerina-lang/pull/34232

Created the issue https://github.com/ballerina-platform/ballerina-lang/issues/34234


FutureViewModel  not updating Ui after updating data

The Futureviewmodel is not Updating Ui after data is updated ,if you have any example post here

We use this in all our apps. It works perfectly fine. Can you share your code for your future viewmodel and your view.


RDF::Reader.for(:json) returns nil

According to the docs RDF::Reader.for(:json) should return RDF::JSON::Reader but  is returning nil instead.

The defined extension for RDF/JSON is ".rj", as defined in the RDF/JSON NOTE. Why would you expect this format to respond to ".json"?

Okay, never mind, this is an error in the Reader documentation, it should be ".rj". I'll fix that and turn the test into a negative test.


Improvements on check_acked_status [6612]

This should fix #747 improving the edge case where check_acked_status is called between a reader being matched and reception of its acknack message

Build status:

Linux
Mac
Windows
Performance

Build status:

Linux
Mac
Windows
Performance

Failed tests not related.


Enable android chart animations

As far as I can tell from my preliminary testing, animations are working on android. This PR would stop victory-native from disabling them.

thanks @hasLandon!
It looks like @imranolas made a commit in October to disable them - https://github.com/FormidableLabs/victory-chart-native/commit/e842a3264786d3a242af3df53af6e862c3a2940b. Imran (or @boygirl), do you remember the specifics of that?

I did just a little testing, and it looks good to me, too...

@chrisbolin There was an issue with react-native-svg on android that would result in the app crashing when animating SVG. This has since been fixed but at the time the interim fix was to disable animations for android.
It should be safe to re-enable android animations now.

released as 0.8.2


Add auth when getting api data

Detailed Description
Need to add authenticathion into auth route when getting the data from api.
Context

Would like to add auth to the api, but this means upgrading the app so that it can still pull the data
this has been done here

Possible Implementation

You will need a client id, this will be used to go to Auth0 and get a access token. Here is some documentation on this
Im not sure how you pass this to the api, or how often you need to do this? This might be a bit of investigation for the issue to do
Optional: Could you use the token from the app google login?

Testing
set up the api with fake data

swicth to 'issue/2-auth0' branch on the nowcasting_api
run 'docker-compose up '. this takes about 20 seconds to run, as lots of fake data is added
change nowcasting app to look at locahost:8000, in in this line of code
do magic code to add authentication when getting data

hi @peterdudfield, I'm just starting to look at this issue. For an initial client ID that I'll need to get an access token, will it be possible to start by using the client ID in my .env.local file in the nowcasting app?

see slack, ive message you there- thanks for looking into this


Perhaps changing the license to a more permissive one?

I have seen this project and it looks really good, I really like that it's written entirely on Kotlin, and I would like to use editor module on my application, but my application is not GPL compatible. So I was just asking if you could consider changing the license to a more permissive one (ex Apache 2.0, MIT, EPL.. etc)
I completely understand that this is your code and effort, you are free to license it under what you want.
Have a nice day, I hope to see your project growing up!

Thank you for your attention to this toy project. I'm glad to changing the license to MIT, as I have the time to maintain it. https://github.com/haodong404/codroid/commit/c59f5350d1cf75fd078cd7de4905908f8b012672


Jokes fixes (filename typo, missing information)

I saw (and fixed) the following issues when working through the tutorial:

A missing import of Link in app/routes/login.tsx in the User Registration section.
While SESSION_SECRET was referenced in the text, I felt it was unclear that we needed to get active at that point. I added a separate line with the emoji to make it clear the reader needed to get active here.
Multiple references to app/utils/session.ts - I assumed this should be app/utils/session.server.tsx. Presumably a leftover from a previous version of the tutorial.

@kentcdodds Similar to these changes there's also the following sentence: "Go ahead and just add this to the default component, loader, or action of each of the routes." (in Error Boundary - should be around line 4033). I felt like this was supposed to include a code snippet or similar ('this'), because you then go on to look at the error boundaries in action. Presumably some sort of throw Error() call. I didn't feel confident enough about this to actually edit that section though.
I'm mentioning this in a comment, because there doesn't really seem to be a suitable issue template or discussion forum for documentation issues as of yet in the issue tracker. If you'd prefer this be brought up in the Discord, do let me know.

Thanks @lswest 👏👏


body id="null"

It assign id="null" to the body intermittently.

I haven't seen this behaviour at all. Can you make a reproduction, please?

Maybe its something with just firefox... but.
Just with a clean meteor app, adding iron:router and multiply:iron-router-progress.
Html file.

	<meta charset="UTF-8">
	<title>Progress test</title>

<template name="Layout">

		Home
		Page one
		Page two

		{{> yield}}

</template>

<template name="Home">

Home page

</template>
<template name="One">

Page one

</template>
<template name="Two">

Page two

</template>

Js file.
Router.configure({
	layoutTemplate: 'Layout'
});
Router.route('/', {
	template: 'Home'
});
Router.route('/one');
Router.route('/two');

And if I open the inspector, I can see that id="null" it's assigned to the body intermittently when route change occurs.


chore: fix readme links

@Orkuncakilkaya if the threads are resolved, can you please merge this? I don't know how to run or bypass the pipelines. Thank you!


module.noParse with Array of RegExp no longer works

I'm submitting a bug report
Webpack version:
2.1.0-beta.24 - 26
Please tell us about your environment:
OSX Sierra 10.12.1
Current behavior:
module.noParse no longer accepts array of RegExp, but spits out an error stating it should either be RegExp or [RegExp]:
Invalid configuration object. Webpack has been initialised using a configuration object that does not match the
API schema.
 - configuration.module.noParse should be one of these:
   [RegExp] | RegExp
   Don't parse files matching. It's matched against the full resolved request.

Expected/desired behavior:
That it should work as it did in -beta.22 and down.

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem along with a gist/jsbin of your webpack configuration.
I'm dynamically adding vendor scripts and noParse entries, but it has worked up until now:

const vendorDictionary = {
    'jquery': join(nodeModulesRoot, 'jquery', 'dist', 'jquery.min.js'),
    'angular': join(nodeModulesRoot, 'angular', 'angular.min.js'),
    '@scholastic/reader': join(nodeModulesRoot, '@scholastic', 'ereader', 'dist', 'bundle.reader.js')
};

// condensed to only include what is necessary...
let config = {
    resolve: {
        alias: {}
    }
    entry: {
        vendorJs: []
    }
    module: {
        noParse: []
    }
}

function addVendor(name, vendorPath) {
    config.resolve.alias[name] = vendorPath;
    // using noParse for build perf gains
    config.module.noParse.push(new RegExp(vendorPath));
    if (config.entry.vendorJs.indexOf(name) === -1) {
        config.entry.vendorJs.push(name);
    }
}

Object.keys(vendorDictionary).forEach(v => addVendor(v, vendorDictionary[v]));

Language: ES6 w/ babel-loader

Should be fixed in beta.27

@sokra I am still having this issue with<EMAIL_ADDRESS>


Revert "fix: go version in go mod is correct now"

Reverts knative-extensions/eventing-kafka-broker#3950
I think if everything and us start using 1.22 installations, we wouldn't need this

/test upgrade-tests

/test upgrade-tests


chore(deps): upgrade go dependencies

from: https://github.com/jenkins-x-plugins/secretfacade.git

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign rawlingsj
You can assign the PR to them by writing /assign @rawlingsj in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


List creator - get all active items via SMS

As a list creator, I need be able to send a text with a magic command that will reply with all the items on the active list and their current status (purchased/un-purchased)

should be doable if the message sent contains the word show or view


Trigger warning enhancement

Pull request
Proposed changes

Fix #62

Types of changes

[ ] New feature (non-breaking change which adds functionality).
[x] Enhancement (non-breaking change which enhances functionality)
[ ] Bug Fix (non-breaking change which fixes an issue).
[ ] Breaking change (fix or feature that would cause existing functionality to change).

Checklist

[x] I have read the CONTRIBUTING document.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

Summary by CodeRabbit

New Features

Introduced a customizable back button feature on the content page for sensitive topics, enhancing navigation within the platform.

There is some code duplication at the moment. The following snippet appears in two places. @coderabbitai do you have a suggestion to simplify the code? Move it _includes/featureor so?
    <div class="alert alert-danger alert-dismissible fade show" role="alert" id="trigger-warning" style="display: none;">
        {{ site.data.theme.trigger-warning-text-item | default: "This item may contain sensitive content." }}
        <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
    </div>


Issues with paths, nested objects

Given a JSON file that looks like
{
  "data": {
    "subkey": {
      "list": [{ "item": { "foo" : "red" } }, { "item": {"foo" : "orange"}}]
    }
  },
  "monkey": {
    "list" :  [{ "foo" : "red" }, { "foo" : "orange"}]
  },
  "bobos": [{ "item": { "foo" : "red" } }, { "item": {"foo" : "orange"}}],
  "fudge" : "delicious"
}

and a template that looks like
Should be 'red orange':
{{#data.subkey}}subkey ok{{#list}}list ok{{#item}}item ok{{foo}} {{/item}}{{/list}}{{/data.subkey}}
Should be 'red orange':
{{#data}}data ok{{#subkey}}subkey ok{{#list}}list okay{{#item}}item ok{{foo}} {{/item}}{{/list}}{{/subkey}}{{/data}}
Should be 'red orange':
{{#monkey}}{{#list}}{{foo}} {{/list}}{{/monkey}}
Also should be 'red orange':
{{#monkey.list}}{{foo}} {{/monkey.list}}
Also should be 'red orange':
{{#bobos}}{{#item}}{{foo}} {{/item}}{{/bobos}}

I think all the cases should work?  Right now, the only case that is rendering correctly seems to be the second to last one (monkey.list).
I'm looking at the source now, but I thought I'd report it to make sure I'm not looking for something that in fact shouldn't work.

Hi Bruno,
I just checked in the fix for this. All JSON objects get deserialized as dictionaries. Since dictionaries implement IEnumerable, your {{#data.subkey}} section was trying to loop over the KeyValuePair objects inside the dictionary. Those objects don't have list properties. Now that I check for IDictionary before IEnumerable, it's working fine.
Thanks for the report!

Thank you @jdiamond !  I will be giving this a try today.

Works fantastic for me.  Thanks again for responding so quickly. I want to send you chocolates.


iphone XR ios 12.1.3 unsupported

Describe the bug
A clear and concise description of what the bug is and what you expected to happen.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Screenshots
If applicable, add screenshots to help explain your problem.
Device (please complete the following information):

iOS Version:
iOS Device:
unc0ver Version:

Place an "x" between the brackets if true:

[ ] this is a bug others will be able to reproduce
[ ] this issue is present with all tweaks uninstalled(except for default packages) or disabled
[ ] this issue is present after a rootfs restore
[ ] this issue is present on the latest version of unc0ver

Logs
If applicable, add logs or error messages here.

unc0ver is for iOS 12.0-12.1.2 only so obviously 12.1.3 isn’t supported...

Today I see site final v3.0.1 is add 12.1.3 -12.2
Sent from my iPhone

On Apr 24, 2019, at 8:56 PM, Sarah H<EMAIL_ADDRESS>wrote:
unc0ver is for iOS 12.0-12.1.2 only so obviously 12.1.3 isn’t supported...
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Last updated at: 04/23/2019
04/23/2019 - v3.0.1 was released for production with the following changes:
Iterate the proc list with proper data locks in Unrestrict to fix a possible race condition in the kernel (Important stability fix)
Fix a typo in the app
Fix a bug in logging
Add iOS 12.1.3 - 12.2 support for the restart button

but not working XR ios 12.1.3

You’re on A12. Unc0ver doesn’t support A12 yet. Wait until Unc0ver supports A12, and try again. And also fix your bug report and put actual information in there. Case closed.

For the restart button. Only the restart button works for 12.1.3 - 12.2


UI: Twitter card & others

About

add favicon (DecentLand logo). URL
add Twitter card (note: use the ship's image on the homepage for the card's content image)
add repo's GH URL in the footer of the homepage

fixed with #19  :)


Fix non file read DayTimeInterval errors [databricks]

Related to #7324
Resolves the non-file read issues which I'm handling separately because it needs a refactor of some of the shim structure.
Shims the TimeAdd, Abs, DivideDTInterval, and MultiplyDTInterval overrides so they can be shared by 330+ DB and non-DB shims. The small refactor in shim structure will create a common 330 shim to unify the getExprs logic.

build

Also resolved test_div_by_zero_ansi failures in https://github.com/NVIDIA/spark-rapids/issues/7327


Vue Login Form "remember" checkbox state ignored

Checking the form.remember checkbox on the login page (LoginForm.vue) does nothing.
The AJAX request always sends remember: "", even when checked.
My environment: MacOS Sierra, Chrome 61.

I am having the same issue. Click event does not get to the checkbox, v-model does not change on click.

I figured out the problem, the time of icheck initialization matters. I assume the icheck is initialized before it should be. If you wrap initialization in setTimeout(fnc, 1000) is starts working.
My dirty workaround:

I've added nextTick() to LoginForm.vue:

    mounted () {
        this.$nextTick(() => {
            this.initialitzeICheck('remember');
        });
    },

InitializeIcheck.js - wrap to document ready, set timeout.

export default {
  methods: {
    initialitzeICheck (field) {
        const component = this;
        const compObj = $('input[name=' + field + ']');

        $(document).ready(() => {
            setTimeout(() => {
                compObj.iCheck({
                    checkboxClass: 'icheckbox_square-blue',
                    radioClass: 'iradio_square-blue',
                    increaseArea: '20%'
                });
            }, 10);

            setTimeout(() => {
                compObj.on('ifChecked', function (event) {
                    component.form.setField(field, true);
                    component.form.errors.clear(field);
                });

                compObj.on('ifUnchecked', function (event) {
                    component.form.setField(field, '');
                });

            }, 10);

        });
    }
  }
}

Thanks @ph4r05 for the report and for possible solution. There are other issues related with icheck (https://github.com/acacha/adminlte-laravel/issues/363) so I think that instead of solving this issue I will reimplement the Login component without icheck.

@acacha thanks I did the same. I used vue-toggle component


Add Migration Guide for Event Hubs

Adds migration guide for Event Hubs that focuses on our core scenarios and illustrates, in code, the differences between using the two different libraries.

Needs some improvements. Will create a new PR.


Initialize all cluster deployment conditions

As per kube api guidelines, conditions should be placed by the controller as soon as possible, to indicate that it has began processing the resource. If a decision cannot be made regarding the status of the condition at that time, it can be set to Unknown.
xref: https://issues.redhat.com/browse/HIVE-1529

@dgoodwin Where do you suggest would be the right place to initialize InstallerImageResolutionFailedCondition? I'm inclined to initialize it as a part of ClusterDeploymentController Reconcile...

Yeah that sounds fine.

/assign @dgoodwin
/cc @abhinavdahiya

/lgtm

/hold cancel


Function to return key state array

When dealing with keyboard key combinations, I've found it very convenient to be able to look in a keyboard state table rather than having to get each relevant key. This is something you can do with SDL2, and is something I believe could be of benefit to the GLFW3 API.
Using it could look something like this:
vector2_t velocity = {.x = 0.0, .y = 0.0};
const char *keyboard = glfwGetKeyboardState(window);
if (keyboard[GLFW_KEY_UP]    || keyboard[GLFW_KEY_W]) velocity.y -= 1.0;
if (keyboard[GLFW_KEY_DOWN]  || keyboard[GLFW_KEY_S]) velocity.y += 1.0;
if (keyboard[GLFW_KEY_LEFT]  || keyboard[GLFW_KEY_D]) velocity.x -= 1.0;
if (keyboard[GLFW_KEY_RIGHT] || keyboard[GLFW_KEY_A]) velocity.x += 1.0;
return vector2_normalize(velocity);

I read through the GLFW source code and started hacking on a possible implementation, but then I realized that the whole sticky key deal makes things more complicated. As _GLFW_STICK keys may not be reported to the GLFW user, those key states have to be changed to either GLFW_PRESS or GLFW_RELEASE when calling the function.
The solutions I've thought of are to either (1) prevent the user from using the function if sticky keys are enabled, (2) arbitrarily set all _GLFW_STICK keys to GLFW_PRESS when calling the function, or (3) somehow mimic the behavior of the glfwGetKey() function.
Is this a function people would use, and whats thought do you have regarding its implementation in relation to sticky keys?

#define keyboard(key) glfwGetKey(window, key)
vector2_t velocity = {.x = 0.0, .y = 0.0};
if (keyboard(GLFW_KEY_UP)    || keyboard(GLFW_KEY_W)) velocity.y -= 1.0;
if (keyboard(GLFW_KEY_DOWN)  || keyboard(GLFW_KEY_S)) velocity.y += 1.0;
if (keyboard(GLFW_KEY_LEFT)  || keyboard(GLFW_KEY_D)) velocity.x -= 1.0;
if (keyboard(GLFW_KEY_RIGHT) || keyboard(GLFW_KEY_A)) velocity.x += 1.0;
return vector2_normalize(velocity);```

One way this could be useful is with multithreading. It would be nice to be able to call glfwGetKeyboardState on the main thread, then copy it off for another thread's use.


Tasks 1499-1504

Created from this, as I did not have the permission to edit files:
https://github.com/allenai/natural-instructions-expansion/pull/332

@Palipoor, can you check these files?


Feature (idempotency): integrate utility with CI/CD merge process

Description of the feature request
Problem statement
Every time a PR is merged a number of checks and actions are run on the utilities to make sure that the changes introduced are compatible with the existing code.
Additionally, the workflow that runs on merge also builds the documentation and API docs and publishes it.
Summary of the feature
This unit of work tracks the activities and changes needed for the new utility to be part of the merge workflow.
Code examples
N/A
Benefits for you and the wider AWS community
N/A
Describe alternatives you've considered
N/A
Additional context
N/A
Check list

[ ] Publish doc & api doc (blocked until the feature is completed)
[ ] Release (blocked until the feature is completed)

Out of scope

Adding a similar build & test steps to all (handled in #1100
Changing e2e tests workflow to run tests of this utility (handled in #1098)

Related issues, RFCs
#447

Put this on-hold. Waiting for the implementation to be completed first.

Since this commit, testing and linting for the existing tests of this utility are being run when a PR is merged.
Closing the issue as completed.


Allow a history in matcher tests

Adding here as note taking while I add basic regular expressions...
Instead of using expression: RegExp, make it test: IMatchTest with:
export interface IMatchTest {
    exec(input: string, history: <something>[]): string[] | undefined;
}

There needs to be a context/history of past commands so simple phrases like "end the loop" know what they're ending. I don't yet know what that should look like. Maybe the command classes themselves?

Maybe the commands should have a start and/or stop context option, where context is stored as the starting class or an enum?


fix(dep)!: move emotion to peer dependency

https://emotion.sh/docs/for-library-authors

If you do choose to use Emotion in your library, it is best to list the Emotion packages as peer dependencies in your package.json. This ensures that your library and the consuming application get the same instance of each Emotion package.

@pionxzh @rtritto

@anthonyalayo can you try to restore yarn.lock from previous commit and then run yarn?

@rtritto @pionxzh ready for review

And we also need to update the installation guide on the README and document.
Let's move @mui in this PR together?

And we also need to update the installation guide on the README and document.

Yes

Let's move @mui in this PR together?

Can be done here, but is better to do in another PR to test/fix issues

@pionxzh @anthonyalayo both @emotion/* dependencies should be removed from devDependencies

@pionxzh @anthonyalayo both @emotion/* dependencies maybe should be removed from devDependencies.
Note: also for react and react-dom.

Why they should be removed from devDependencies?
I thought they are all necessary to be included for development. And I just tried, it will cause both document and testing fail. 🤔


Support for theme extensions

Is there any support for theme extensions at the moment? Or any plan or workarounds?

I found my way here looking for theme extension support aswell. Did you find a workaround for the time being?


Pre-Release branch

Can somebody point me to the latest pre-release branch?

I suppose it is the "develop" branch.


removed script tags and now adding via require statement

This is for task 55. The script tags were to changed point to local directory instead of being inserted via a require statement and the original script tags. Unit tests all pass.

I think we actually might be able to delete all of the other lforms files except for the three minified files that are called within index.html, since I don't think we would ever be rebuilding the minified within public/static. I believe if we make future changes to lforms, we would just want to manually re-upload the modified minified files. I just tried running after deleting all of the added lforms files except for ./static/lforms/lforms-26.2.0/styles/lforms.min.css, ./static/lforms/lforms-26.2.0/lforms.min.js, and ./static/lforms/lforms-26.2.0/fhir/lformsFHIRAll.min.js and everything still works as expected. I would double check with @mgramigna about this.
We also probably want to modify the part in the README about adding the lforms references to index.html to reflect how we now refer to the minified lforms code from within our own project.

Yep I agree. I left them in there so Matt could take a look at them just in case we might need them in the future but agreed it did work without all those minus those files you mentioned.

Removed all but the three files we need


how to add track_total_hits parameter

Hi,
I want to add track_total_hits in the rawSearch method. But that parameter is same level as query, sort, aggs, etc as I know. Is there any way to use top level paremter like the track_total_hits?

Hey @epicsagas, it's currently not possible. I've added this feature in my list.

awesome!! thank you!!

Same here, I would like to use 'min_score' on Top Level but looking into the code, that ist currently not possible.
Shouldn't be to hard to implement though.
Looking forward to this feature :)

The total hits tracking is now possible since v1.13.0 🎉 Check the usage example here.
@hebinet, if you want min_score to be configurable, please create a separate feature request 🙂

@babenkoivan Awesome!!! thank you!! 🎉


add lix getter method

Summary
add resource lix getter method to allow being override by resource implementation.
Testing Done
./gradlew build
Checklist

[ ] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable)

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

Project coverage is 67.56%. Comparing base (4ce25b1) to head (538c2ec).

Files with missing lines
Patch %
Lines

...m/linkedin/metadata/restli/BaseEntityResource.java
78.94%
4 Missing :warning:

Additional details and impacted files
@@             Coverage Diff              @@
##             master     #415      +/-   ##
============================================
+ Coverage     67.44%   67.56%   +0.11%
+ Complexity     1518     1517       -1
============================================
  Files           137      137
  Lines          5947     5932      -15
  Branches        640      640
============================================
- Hits           4011     4008       -3
+ Misses         1665     1653      -12
  Partials        271      271

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


Show current STX USD value on the transaction page

In Amount row
In Fees row

:tada: This issue has been resolved in version 1.43.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


iOS TextInput color does not change with re-render

Is this a bug report?
Yes
Have you read the Bugs section of the Contributing to React Native Guide?
Absolutely
Environment

react-native -v: react-native-cli: 2.0.1 react-native: 0.45.1

node -v: v7.7.2

npm -v: 4.1.2

Target Platform (e.g. iOS, Android): iOS

Development Operating System (e.g. macOS Sierra, Windows 10): macOS Sierra

Steps to Reproduce

Create a TextInput and a Button.
Create a StyleSheet with two separate and distinguishable styles for the TextInput
Create a state boolean to select between the styles
Create a style variable that selects between the styles based on state var from step 3.
Create a button with a function that set's the state to change the TextInput's style onPress
Click button
Watch iOS not work. 😭

Expected Behavior
All style changes (color, backgroundColor, etc.) are applied to TextInput when the component is re-rendered after a state change.
Actual Behavior
TextInput text color changes after first button press, but does not change on subsequent presses.
However, all other styling changes are applied as the component re-renders.
Reproducible Demo
https://snack.expo.io/SJKDa6q4Z

Hi there! This issue is being closed because it has been inactive for a while. Maybe the issue has been fixed in a recent release, or perhaps it is not affecting a lot of people. Either way, we're automatically closing issues after a period of inactivity. Please do not take it personally!
If you think this issue should definitely remain open, please let us know. The following information is helpful when it comes to determining if the issue should be re-opened:

Does the issue still reproduce on the latest release candidate? Post a comment with the version you tested.
If so, is there any information missing from the bug report? Post a comment with all the information required by the issue template.
Is there a pull request that addresses this issue? Post a comment with the PR number so we can follow up.

If you would like to work on a patch to fix the issue, contributions are very welcome! Read through the contribution guide, and feel free to hop into #react-native if you need help planning your contribution.

It seems like an issue of iOS 11.
checkout @shergin comment at https://github.com/facebook/react-native/issues/16200

Got this problem in my iOS 11, not sure about previous iOS.


What is the difference between Open Intent Detection and Out-of-domain Detection?

Nice work.
I have a question about the difference between Open Intent Detection and Out-of-domain Detection? It seems that some work[1-4] in Out-of-domain Detection very related to Open Intent Detection.
There are also two works published in TASLP related to this repository [5-6].

GOLD: Improving Out-of-Scope Detection in Dialogues using Data Augmentation
Energy-based Unknown Intent Detection with Data Manipulation
OutFlip: Generating Out-of-Domain Samples for Unknown Intent Detection with Natural Language Attack
Modeling Discriminative Representations for Out-of-Domain Detection with Supervised Contrastive Learning
Learning to Classify Open Intent via Soft Labeling and Manifold Mixup
Towards Textual Out-of-Domain Detection without In-Domain Labels

I have the same doubts, and I hope to get an answer and reply from the author. Thanks a lot~

@HanleiZhang

Hi, first very sorry about my replying lateness. That's a very good question. Indeed, there are some differences between out-of-domain detection and open intent detection in some aspects:
(1) Out-of-domain (OOD) detection focuses on detecting if an example is misclassified as out-of-distribution [1]. Thus, it is essentially a binary classification task. However, open intent detection needs to distinguish specific known classes of in-domain (ID) samples.
(2) The evaluation metrics of OOD detection and open intent detection are rather different. The former usually uses AUROC, AUPR, and FPR metrics to evaluate the performance of a binary classifier, while the latter needs to evaluate both the known class and open class performance.
(3) Many OOD detection methods need OOD samples during training. Some use labeled OOD data [1, 2], while others use pseudo-generated/constructed OOD data during training [3, 4, 5]. Open intent detection does not use labeled OOD data and may use pseudo OOD data during training. The paper [6] you mentioned belongs to open intent detection. Thanks for your paper recommendations [5, 6].
Finally, we would like to recommend you read our latest paper Learning Discriminative Representations and Decision Boundaries for Open Intent Detection. This paper stresses the difference between ood detection and open intent detection. Enjoy it!
[1] A Baseline for Detecting Misclassified And Out-of-Distribution Examples in Neural Networks.
[2] GOLD: Improving Out-of-Scope Detection in Dialogues using Data Augmentation.
[3] OutFlip: Generating Out-of-Domain Samples for Unknown Intent Detection with Natural Language Attack.
[4] Modeling Discriminative Representations for Out-of-Domain Detection with Supervised Contrastive Learning.
[5] Towards Textual Out-of-Domain Detection without In-Domain Labels.
[6] Learning to Classify Open Intent via Soft Labeling and Manifold Mixup.

Thanks for your reply. I get it.


Add a (Python) code styling guideline, linter, & CI job for style checking

Short
Add a (initially Python) code styling guideline, linter, & CI job for checking that style
Proposal
Because this project is growing and new people will be joining it makes sense to find a common ground when it comes to code style. (Including naming conventions, linters, documentation, etc.)
I am aware that the dashboard already utilizes prettier & eslint.
The Python part of the codebase however seems to be lacking any kind of style enforcement.
I would recommend starting with tiny changes to get everyone on board and introduce more rules/tools as time goes on and ease the transition/adjustment time. Code style should support the developers and not punish them during their work.
Python Tools I am working with in my job that I can recommend are:

formatter: https://github.com/psf/black
linter https://flake8.pycqa.org/en/latest/
import sorter: https://github.com/PyCQA/isort
general style guide: https://peps.python.org/pep-0008/

The good part about these tools is that they can be easily included as VSCode extensions.
Further ideas:

Settle on a naming convention (based on e.g. pep8)
Add (more) helpful comments, especially for newcomers. (This can easily become a burden and lead to "overengineering", so we need to agree on when and how comments should be used -> Preferably with a "commenting style" such that readability is improved)
Think about introducing Python's type hints <- Even further increases in readability & comprehension
-- https://docs.python.org/3/library/typing.html
-- https://docs.python.org/3.7/library/typing.html

E.g. the "How to" setup and or even naming conventions/style guides can/should be written down in a dedicated place.
We could place them into the oakestra.io/docs/contribute section, or even write them down in markdown files in the repo, so that they can easily be referenced during development.
A CI job would also be necessary so that every contribution is checked for style violations to stay consistent and not introduce any new irregularities.
Ratio
Currently, there seem to be no code styling rules or listers used in this project. Sooner or later this will lead to unnecessary difficulties in the domains of readability, comprehension, refactorability, etc. Every large(r) project I have been working on utilized these standards to improve collaboration and code quality, thus Oakestra will benefit from this too.
Impact
Depending on the strictness and amount of newly introduced rules and tools this could lead to adjusting almost every file in the oakestra repos.
Development time
Ongoing process. The initial introduction of one or two "soft" linters and writing code-style documentation should not take more than a day. Adjusting the code base to these new rules can take up more time ~ a couple of days.
Status
Looking for feedback. I am new to the project and I do not want to force anyone into adhering to new rules that a newcomer proposed. I want to make this a team effort where everyone is on board.
Checklist

[ ] Discussed
[ ] Documented
[ ] Implemented
[ ] Tested

@Malyuk-A Can I assign this to you?

@giobart yes, go ahead 👍

@Malyuk-A is this issue still being worked on? If yes, can you set its status appropriately in the roadmap?


Improve support for cron (inc production)

Upgrade cron library to v3.
Limit Cloud Run concurrency to "1" to avoid duplicate data being produced.

On reviewing Cloud Run it appears to also be doing a health check on the same URL as the request to pull new packages.
Please hold off while I figure out a fix.

The health check is on the port 8080 accepting TCP connections. I think it is okay (i.e. not causing work)


[BUG] v2.4.0.beta - Decrypted data is written to disk

While trying to find some kind of file IO related bug in 2.4.0, I accidently found a bug that decrypted data is written in disk when "Save current file(Ctrl-S)" is performed multiple times rapidly.
I wrote a simple GO program that reads and prints test.mdenc whenever it changes. Below is the result I got by repeatedly pressing Ctrl-S.

package main

import (
	"fmt"
	"log"
	"os"

	"github.com/fsnotify/fsnotify"
)

func onChange() {
	data, err := os.ReadFile("test.mdenc")
	if err != nil {
		panic(err)
	}
	fmt.Println(string(data))
}

func main() {
	w, err := fsnotify.NewWatcher()
	if err != nil {
		panic(err)
	}
	defer w.Close()
	go func() {
		for {
			select {
			case e, ok := <-w.Events:
				if !ok {
					return
				}
				if e.Name == "test.mdenc" {
					onChange()
				}
			case err, ok := <-w.Errors:
				if !ok {
					return
				}
				log.Println("error:", err)
			}
		}
	}()
	err = w.Add(".")
	if err != nil {
		panic(err)
	}
	<-make(chan struct{})
}

2.4.0-beta.2
Windows 11
No extra io related factors (e.g. Google Drive or antivirus)

Originally posted by @wirekang in https://github.com/meld-cp/obsidian-encrypt/issues/163#issuecomment-2156077549

Hi @wirekang, v2.4.0-beta.3 should fix this issue.

Great. I can't reproduce the bug in 2.4.0-beta.3.


Header loading like app store

Plz. How to custom header like apple app store

see here

So i need indicator progress follow scrolldown like apple

I think you need RefreshStyle.Behind+ onOffsetChange+Clipper,the more details please read document


GEMM results and gemm_configs are out of sync

One example:
This spreadsheet has data for the config below:
6144 | 48000 | 2048 | T | N
But the above config is not found in the training_set here:
https://github.com/baidu-research/DeepBench/blob/master/code/kernels/gemm_problems.h

@dagamayank , Thanks for pointing this out. I have created a PR with the fix. All the kernels with M=6144 were impacted. Could you please take a look and confirm that it addresses this issue?

I've merged the PR with the fix. Please let me know if you still see any issues. Thanks!


Hook up and test Galaxy plugin validation

Feature Request
Desired behaviour
Hook up and test Galaxy plugin validation for tools, workflows, and test parameter files
That last one may need input from Galaxy folks. See https://github.com/galaxyproject/dockstore-galaxy-interface/issues/1
┆Issue is synchronized with this Jira Story
┆Issue Type: Story
┆Fix Versions: Dockstore 1.9
┆Sprint: Sprint 32 Grouper
┆Issue Number: DOCK-1173

Galaxy validation errors are surfacing in UI for descriptors. Don't believe test parameter validations exist yet, but there's an issue in the plugin repo for that. Will just close this ticket.


Updated Message.cs: made 'name' the first parameter so in the inspector the names are shown in a List of Message's rather than 'element 0' etc.

What I changed:
Updated Message.cs so that the first parameter is the name variable.
Reason:
When creating a list of messages using "List() messages = new List();" it creates a list of message objects in the inspector but each message on the list shows as 'element 0', 'element 1', 'element 2' etc., but if the first parameter is a string called 'name' the messages on the list will be named after the parameter name.
This is useful because now we can have all the messages on our list of messages in the inspector collapsed and still see what they are called which means we don't need to have every item on the list expanded to see what is what.
It looks nicer, it's more convenient and will allow for a slightly faster workflow when using lists of messages in the inspector. Also, just why not? The variable was already there and so it only makes sense.
(PS I am using the OpenUPM version so I can't change the script myself even in my own project so you will need to test this first just in case of human error)

This is a great change but I'm afraid it's also a breaking change.

I see my error I didn't consider that you would have to alter all the instances where Message is called and put the name parameter first and also then the name parameter would no longer be optional.
I need to go to sleep but I will make an Attribute tomorrow that will change the element names based on the name variable even though it is not the first parameter.

I think what I can do in the meantime is write a custom property drawer for the messages.

I think that it's fun to move the position of the field, but we want to revert the constructor changes.
And I'll be fine with this.

I've made the changes you suggested, I put everything back how it was and only moved the field. I was able to test this time and seems to be working. Thank you.

One last suggested changes to bump the version number in the package.json file

Thank you, I'm still learning. I'll remember to bump the version number next time.


sess.run() returns invisible string for a tf.summary.merge_all() op.

HI,
I have a problem to read the outpur of sess.run:
here is the code:
        tf.summary.scalar('Loss', loss)         tf.summary.scalar('Accuracy', accuracy)         write_op = tf.summary.merge_all()        summary_train = sess.run(write_op, feed_dict=feed_dict_train)
where, write_op is a op from tf.summary.merge_all().
The output summary_train is something like: \n\nLoss??\n\nAccuracy?????
Do you have any idea how I can get the numbers for the loss and accuracy from summary_train
Look forward to your response
Hao

That string is a binary-encoded protocol buffer. If you want to render something more human readable, you'll need to parse it as a tf.summary.Summary object:
summary_train = sess.run(write_op, feed_dict=feed_dict_train)

summary_pb = tf.summary.Summary()
summary_pb.ParseFromString(summary_train)
print(summary_pb)


Failure when installing xcode-install: jwt requires Ruby 2.1

I am trying to install xcode-install (2.0.9, 2.1.1, 2.3.1) and getting weird dependency issues.
Based on RubyGems xcode-install requires only Ruby >= 2.0.0. But unfortunately I get the following errors:
ERROR:  Error installing xcode-install: jwt requires Ruby version >= 2.1

I do not want to update Ruby to some newer version as it is not that easy. Could it be that the dependencies changed and xcode-install requires Ruby 2.1?
The weird thing is that 4 months ago I installed version 2.0.9 and it worked without problems. So it seems that one of the dependencies is not pinning to a specific version and requires now a new Ruby.

@martinm82 You should add these lines to your ~/.bash_profile?

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"


Folder imports

In order to reduce the length / complexity of the imports, we could replace:
from ivadomed.loader import utils as imed_loader_utils, adaptative as imed_adaptative, film as imed_film

by
from ivadomed import loader as imed_loader

To allow this, we would need to add in the init.py these following lines:
from loader import *
from adaptative import *
from utils import *
from film import *

that sounds great!
my suggestion however would be, instead of renaming functions/classes with "imed_" prefix, why not doing:
import ivadomed as imed
import ivadomed.loader

# in the code
imed.loader

it takes the same amount of characters, it is more explicit and it allows to use automatic completion within IDE.


allow storage network config on mgmt cluster

Problem:
1.4 restricts to configure storage network  using mgmt cluster because of the vlan status check introduced from
https://github.com/harvester/harvester/issues/2995
Solution:
skip checking vlan status for mgmt cluster
Related Issue:
https://github.com/harvester/harvester/issues/7212
Test plan:
1.Prepare a Harvester v1.4.0 cluster
2.Edit the storage-network setting
3.add vlan-id, Ensure the mgmt cluster network is selected and give an ip range
5.The configuration should be successful and LH pods must be allocated a secondary network in the ip range provided.

https://github.com/Mergifyio backport v1.4

@Mergifyio backport v1.4


Add Project Euler problem 1 example

I'm sure there was a more straightforward way to solve this Project Euler problem, but this is the solution I landed after a few iterations of playing with the language, showcasing some of the features.

Thanks!


Move project to cpplint/cpplint

If we move the project to a organisation we can have multiple collaborators on the project and share the maintenance. We use this version of cpplint internally at work and would happily spend time maintaining the project, issues and PRs.

Seconded!

So I for one am happy to add @mattyclarkson to the pypi list of people with rights to make releases.
Not sure if @theandrewdavis is very active right now, he might be inclined to just pass on the baton.
We can wait a couple of days for him to reply (ping again if I forget).
An independent github organisation might be overkill for now. My personal vision is for this to remain a close siamese twin of the google upstream, only adding Python3 compatibility and very tiny changes.
For that scope, I think a github organization feels too "big".
However, if @mattyclarkson becomes main maintainer, he is free to decide such matters as well.

@tkruse, I think it makes the project feel more of a community project rather than one persons project. I don't particularly want to be the sole maintainer but am happy to share the load with a few maintainers. I will generally be available to work on this though as we use it at work.
I agree that we should keep it close to the upstream cpplint as possible :+1:

@tkruse is right -- I'm no longer using cpplint at work so I haven't had the motivation to work on it. Would be great if you'd like to take over, @mattyclarkson.
If you'll let me know what your username on pypi is, I'll add you as an owner. And I will theandrewdavis/cpplint to point to wherever y'all decide cpplint should live (cpplint/cpplint or mattyclarkson/cpplint)

@theandrewdavis, my user name on PyPi is mattyclarkson. I would prefer if the project moved to cpplint/cpplint so that if the maintainer needs to change again we can just add/remove people from the organisation. I've never moved a personal project to an organisation but when we did it with civetweb/civetweb the owner of that just got in contact with the GitHub support people I think. Having an organisation makes it easier to share the Travis permissions. S'up to you guys though, really.
I'm happy to keep maintaining it whilst we use it at work. Would be nice if a few of you are around to bounce ideas/PRs off.

@mattyclarkson No need to involve GitHub staff.
Create the organization, then give @theandrewdavis admin privileges in the organization. He can then trivially transfer the repo to the organization via The Danger Zone™ options,

Full details can be found here:
https://help.github.com/articles/transferring-a-repository-owned-by-your-personal-account/

OK have made the organisation. https://github.com/cpplint
How should be part of the organisation team?

That was simple enough. You're on the pypi now, @mattyclarkson, and the repo is transferred.

Rock on :metal:


Unexpected Token %

I receive the following error when trying to run the basic example:
%%
^

SyntaxError: Unexpected token %

Erh, what exactly is your code?
From that error message alone, it seems as though you're trying to execute a record-jar's data as JavaScript source...

const load = require('load')
const data = load("languages01.txt")

var jar  = new RecordJar(data);

for(var i = 0; i < jar.records.length; ++i){
	console.log( jar.records[i] );
}

My goal is to take the IANA subtag registry found here:
https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
And create a single json file that has all the subvalues as the key and the description as the value:
{
	"aa": "Afar",
	"ab": "Abkhazian"
}

@namsoila If you're still having troubles, please be sure to let me know.


fix: print the css configuration input

:tada: This PR is included in version 1.7.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


RFC Proposal Path

As discussed in our retro, we need to formally have a processes

This is taken deeply from Rust, Python, and React Native existing templates

We'll need to prioritize writing the proposals that we made verbally.
My goal is to fold this into the new website's documentation under the "Developer Hub".
I might tweak the header of the template to render better on the website.

What ticket does this address?

What ticket does this address?

This was an action item from the standup ❤

I read through it, looks like a very good starting point.
I just had this one minor question above.

I think the RFC approach is good. I also believe, as is outlined in the process, that getting consensus on ideas is an important phase of proposal. Does it make sense to have a step before your RFC process steps that is a small white paper about the idea before it is committed to the RFC process?

Does it make sense to have a step before your RFC process steps that is a small white paper about the idea before it is committed to the RFC process?

I tried to cover this in
https://github.com/prince-chrismc/pyrsia-sandbox/tree/proposal-path/docs/rfc#before-creating-an-rfc

The most common preparations for writing and submitting an RFC include talking the idea over on our official Slack channel, discussing the topic in a GitHub issue.

Perhaps is a little unclear or hidden?

Perhaps is a little unclear or hidden?

Looking it over, i felt it could be improved!
https://github.com/prince-chrismc/pyrsia-sandbox/blob/proposal-path/docs/rfc/readme.md#summary
Thanks for the input 👏

I was reading through this and the references from RUST community.
For our small team and purpose this is very detailed and has too many required sections.
I would like this to be simplified as
TL;DR
What is the Issue?
Solutions available
Proposed Solution
Comments
And provide references in case we are making such a fundamental change that other sections may make sense and let the proposer choose to add sections.
In general reduce the barrier for people to submit proposals, but give them a little bit of structure.

@betarelease it's unlear if you are referring to the template of the proposal workflow 😕
Which file (or both) so I take that feedback into account for?


Update README.md w/ Meeting info

Updated meeting information
Added Release tracking tag
What type of PR is this?

subproject management

@wrathwolf @bigludo7 added the weekday within the schedule 😉
Will merge now, as the meeting is soon happening. Just open a new PR is further changes are necessary.


remove/rename default dirs in ~

remove public, templates
lowercase others

not planned, don't want to alter them


Setup register sandbox environment

Context
Create Sandbox environment
Changes proposed in this pull request
Create Sandbox environment
Guidance to review

 Register sandbox environment

 Register sandbox environment


Adding fellow data and changing config.yml

Please, go through these steps before you submit a PR.

[x] My Pod Leader knows I'm working on this Pull Request
[x] I've explained what the Pull Request is adding.
[x] I've explained why this is important.

Issue :- #13
Have added the fellow data received so far and changed the _config.yml file

That was another issue so, was gonna make another PR. Should I add in this one only??

Hey @sumana2001 , made the fellow cards, tries to add some animations
Issues :- #11 and #13


Add Additional mount point to LIS hub to support return of graded materials

Context
A request was raised (https://2i2c.freshdesk.com/a/tickets/228) to allow a hub administrator to upload files directly to users accounts:

Can I ask for advice about uploading marked notebooks directly to the
students' storage?
When I was running my own hub, I would prepare a tar file with marked
notebooks that would unpack until all the students accounts, giving
them their submitted, marked notebook, with the OKpy tests, in a
special folder, marked, in their cloud storage. I'd do that by
ssh'ing into the pod that mounted the cloud storage, and unpacking
from there.
Specifically, the tar file would have structure:
student-1/marked/homework_1/my_notebook.ipynb
student-1/marked/homework_1/tests/q1.py
student-1/marked/homework_1/tests/q2.py
student-2/marked/homework_1/my_notebook.ipynb
... etc
Can you suggest some way I can do the same thing with our current
cloud setup? Either through an API or by direct access?

Proposal
I think a solution is to add an additional NFS mount point to allow hub administrators read/write access to all folders on a Google Filestore.
This additional file access provided to hub administrators is not any more than they previously had (a hub admin can already start and log into the single-user notebook server of any user).
To achieve this we should add the following keys to lis.values.yaml:
jupyterhub:
  singleuser:
    admin:
      extraVolumeMounts:
        - name: home
          mountPath: /home/jovyan/allusers
          subPath: /

We also should add documentation to https://infrastructure.2i2c.org/en/latest/topic/storage-layer.html (or elsewhere as appropriate) explaining that it is possible to mount a the Filestore in a way that provided read/write access to all hub admins (if that is ever a feature requested on other hubs).
Updates and actions
No response

+1. We should also carefully tell them that this means they can completely delete everyone's work accidentally so BE CAREFUL

The hub admin asked for this feature asap, so I'm self-assigning this and tackle it in https://github.com/2i2c-org/infrastructure/pull/1811


Add new maintainers to project

It seems like this project is a bit frozen right now. Maybe it would be a good idea to add new maintainers to this project to resolve this issue? @ArturGajowy seems to be a good candidate, if he would like to take this.
cc @plouc

Hi @duxet,
Thank you for the suggestion.
You're almost right, the project is not very active for now as I don't have enough time to work on it.
But if you look at the https://github.com/plouc/mozaik/tree/v2.x branch, you'll see more activity :)
I focus on the next release, which is already testable.
I'm not against adding new maintainers to the project,but before we jump into this, I'd like to see contributions on Mozaïk itself (no offense :) just to see if people understand the internals of the tool as they'll have to validate pull requests on it), and of course, see if people are willing to become so.
@juhamust is also a good candidate IMHO as he have already contributed/helped a lot and built several extensions.
Regards

Thank you for your recognition, @plouc. Extensions and documentation are easy easy way to contribute to the project, when you have limited time available (as people usually do). But I know from the fact those contributions can motivate the project author, hence being beneficial for the others, too :)
Speaking of motivation, here's an image from SC5 office, utilising the Mozaik powered dashboard 24/7.

So while Mozaik development may be quiet at times, I think Mozaik 1.4.x is already production ready, and I'm sure Mozaik 2.x will only be better.
I think a project becomes stagnated only after the author stops accepting the PRs, which is not the case with Mozaik. But perhaps you @plouc could highlight the areas where the help and contribution is needed most - making the contribution easier, too. And also promote the existing extensions more, for example updating the http://mozaik.rocks/extensions/ (or instructing the extension authors how the can update the list themselves)

@juhamust, I've updated extensions listing, also added a step by step guide on how to automatically and freely build/host/publish an extension demo, if you want to try it out for one of your extension, I'll be interested in your feedback :).

@juhamust, while I'm working on the website, do you mind if I add a reference to SC5 on the homepage ?

Thanks @plouc, we'd be more than happy to have our company logo listed in Mozaik homepage - after all, we've happy users of Mozaik for some time now 👍
Here is the ready-made logo (https://sc5.io/):

I'm also looking forward to contribute to the project also in the future - at least in form of new extensions. I'll tryout updating the extension listing and let you know the outcome.

@juhamust, thank you! I've added the logo, I've changed the color for plain black, I hope it's not a problem.

@juhamust your dashboard looks great! Can you share some info (maybe code) about the widgets and where the data come from ? Thanks!

Thanks @paolomainardi - big thanks to goes to Mozaik -project itself, too :) Most of the widgets seen in photo we've already published as open source / are available:

https://github.com/SC5/mozaik-ext-calendar
https://github.com/SC5/mozaik-ext-analytics
https://github.com/juhamust/mozaik-ext-slack
https://github.com/plouc/mozaik-ext-weather

To be exact, the photo does not include all the widgets that have been configured. Moreover, based on our experience, the dashboard is easier to follow when the widgets are switched using https://github.com/juhamust/mozaik-ext-switch instead of multiple dashboards.
There are few extensions that could be open sourced still, but some, like the pull-ups leaderboard uses our own backend so there is no point of sharing that without the backend.

Hi @plouc: I've been using Mozaik v2 for several months and am planning to raise some PRs over the next week or so for some features and minor bug fixes that we've made.
I'd be happy to make other contributions too while I'm at it. Is there anything in particular that would be useful for getting Mozaik v2 out of alpha?

@hgcummings, awesome! mainly documentation in fact… the website contains slate guides

@plouc Thanks for your work on Mozaik. I'd like to check in to see if you still plan on moving forward with v2 and if you are interested in adding maintainers to help out and possibly create a Mozaik org to better organize all of the dependencies and extensions.
I submitted a pull request to fix the weather widget due to an API change and found there was already a pull request to fix it that was a year old that had not been addressed.


postgresql-client-10 version 10.1 no longer in pgsql repos

Great work!
I've been testing with the v10 branch a bit and when I wanted to rebuild with the newly merged master the Docker images no longer build:
Step 4/32 : RUN  wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | apt-key add - &&      sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" >> /etc/apt/sources.list.d/pgdg.list' &&      apt-get update &&      apt-get install -y libffi-dev libssl-dev postgresql-client-10=10.1\* barman=2.3-2.pgdg80+1 openssh-server
 ---> Running in 32f3413dedce
OK
Get:1 http://security.debian.org jessie/updates InRelease [63.1 kB]
Get:2 http://apt.postgresql.org jessie-pgdg InRelease [56.4 kB]
Ign http://deb.debian.org jessie InRelease
Get:3 http://deb.debian.org jessie-updates InRelease [145 kB]
Get:4 http://deb.debian.org jessie Release.gpg [2434 B]
Get:5 http://deb.debian.org jessie Release [148 kB]
Get:6 http://security.debian.org jessie/updates/main amd64 Packages [608 kB]
Get:7 http://apt.postgresql.org jessie-pgdg/main amd64 Packages [152 kB]
Get:8 http://deb.debian.org jessie-updates/main amd64 Packages [23.1 kB]
Get:9 http://deb.debian.org jessie/main amd64 Packages [9064 kB]
Fetched 10.3 MB in 4s (2415 kB/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
E: Version '10.1*' for 'postgresql-client-10' was not found
ERROR: Service 'backup' failed to build: The command '/bin/sh -c wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | apt-key add - &&      sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" >> /etc/apt/sources.list.d/pgdg.list' &&      apt-get update &&      apt-get install -y libffi-dev libssl-dev postgresql-client-10=10.1\* barman=2.3-2.pgdg80+1 openssh-server' returned a non-zero code: 100

Seems 10.1 has been superseded by 10.2 in the psql repos.

hehehe.... doing hotfix to use 10.2. Thanks for the heads up! ;)

fixed.


accept tcp <IP_ADDRESS>:4242: use of closed network connection

This error is printed whenever a SIGHUP is sent to an endless server. The server continues to run but this error is causing my program which calls endless to panic. Where is the error coming from?

I also have the same error @j-xhan

I think I know the reason~

I do have the same message when I kill my server (SIGTERM):
accept tcp [::]:8080: use of closed network connection
But the problem is when I want the change the port, if I just restart (SIGHUP), I do have this message and the server stay on the old port.
The work around is killing + starting the server, so no benefit of a "Zero downtime restarts" library ;)
Any help is welcome.


feat: add mgunyho/tere

mgunyho/tere: Terminal file explorer
$ aqua g -i mgunyho/tere

Reviewers aren't necessarily familiar with this package, so please describe how to confirm if this package works well. Please confirm if this package works well yourself as much as possible.
Command and output
$ tere

# open a terminal file explorer
~/aqua-registry
..
.git
.github
aqua
pkgs
.cmdx.yaml
.gitattributes
.gitignore
.prettierignore
aqua-all.yaml
aqua-checksums.json
aqua-local.yaml
aqua-policy.yaml
aqua.yaml
CONTRIBUTING.md
LICENSE
README.md
registry.yaml
renovate.json5

tere 1.3.1 - Type something to search, press '?' to view help or Esc to exit.
search:                              gap search from start - smart case - sort:name - 6 / 19

If files such as configuration file are needed, please share them.

Reference

https://github.com/mgunyho/tere
https://github.com/mgunyho/tere/releases/tag/v1.3.1
https://github.com/mgunyho/tere/releases/tag/v1.1.0
https://github.com/mgunyho/tere/releases/tag/v1.0.0

Thanks!

Released. https://github.com/aquaproj/aqua-registry/releases/tag/v3.119.0


Documentation Request: Configuring OpenTelemetry with Spring Boot Micrometer

Hello,
Currently, I am using the Java Agent method, which is straightforward to set up and I highly recommend it for getting started. However, I've noticed that this approach misses many Observations and metrics that follow the Spring Boot Observability recommendations. When I tried to enable Micrometer instrumentation, I encountered the following issues:

Duplicate metrics (e.g., the HTTP request is provided by both Spring Boot and the OpenTelemetry Auto instrumentation).
The traces built with Micrometer are not exported.

I've observed similar issues with the OpenTelemetry Spring Boot Starter.
So, I believe there is a third way to configure OpenTelemetry with Spring Boot: Spring Boot Native Support for OpenTelemetry protocol
Interestingly, the Spring team is actively working on integrating observability into all Spring modules, such as:

Spring Security
Spring Data MongoDB
Spring Kafka
...

These integrations provide valuable insights about the application.
Request
Can we provide a comprehensive documentation guide that explains how to configure Spring Boot logs, traces, and metrics export to the OpenTelemetry protocol? This would be beneficial for users looking to leverage the full observability capabilities of Spring Boot with OpenTelemetry.
Offer
I am willing to contribute by writing the article if needed.
Thank you for considering this request.
Best regards

@open-telemetry/java-approvers @open-telemetry/java-instrumentation-approvers please take a look

see https://github.com/open-telemetry/opentelemetry-java-instrumentation/discussions/11403

Hello,
I understand your point of view and would like to seek some clarification regarding the spring-boot-starter.

When I run the spring-petclinic application with the opentelemetry-spring-boot-starter configured as explained in the documentation, I only see a few metrics (e.g., nothing related to JDBC). You can see an example of this in the sample repository.

Why is Micrometer disabled by default?

I followed the documentation to enable Micrometer, and while I do see metrics, Micrometer Tracing is not working. How can I configure the starter or Micrometer Tracing to work properly? You can see an example of this in the sample repository.

Thank you for your assistance.

Should I move this issue to the open-telemetry/opentelemetry-java-instrumentation repository ?

I understand your point of view and would like to seek some clarification regarding the spring-boot-starter.

When I run the spring-petclinic application with the opentelemetry-spring-boot-starter configured as explained in the documentation, I only see a few metrics (e.g., nothing related to JDBC).

the spring starer doesn't have as many instrumentations as the agent - this is one example

Why is Micrometer disabled by default? I followed the documentation to enable Micrometer, and while I do see metrics.

because it creates

metrics that are redundant and this drives up costs
metrics that do not follow semantic conventions

Micrometer Tracing is not working. How can I configure the starter or Micrometer Tracing to work properly? You can see an example of this in the sample repository.

please report this to the owners of micrometer tracing


Use thread local decoder cache in Binary toStringUsingUTF8()

In Binary toStringUsingUTF8(), new String(...) is slower because it instantiates a new Decoder, while Charset#decode uses a thread-local decoder cache, it is much faster.
ByteArraySliceBackedBinary is using Charset#decode, while, ByteArrayBackedBinary and ByteBufferBackedBinary are still using new String()
Reporter: Zhenxiao Luo / @zhenxiao
Assignee: Zhenxiao Luo / @zhenxiao
Related issues:

String decode using 'new String' is slow (duplicates)

Note: This issue was originally created as PARQUET-74. Please see the migration documentation for further details.

Julien Le Dem / @julienledem:
Thanks for submitting a patch.
This has been merged in
https://github.com/apache/incubator-parquet-mr/pull/40


django.db.utils.ProgrammingError: can't adapt type 'dict' against Django main

Issue Summary
As of https://github.com/django/django/commit/5c23d9f0c32f166c81ecb6f3f01d5077a6084318 in https://github.com/django/django/pull/16297, our tests fails against Django's main branch.
That commit separates how JSONField and its lookups serialise the data. Previously, the serialisation is handled in get_prep_value(), which is database-agnostic. As of that commit, the serialisation is put into get_db_prep_value() so that Django can do database-specific serialisation. In addition, the DataContains and ContainedBy lookups (that support JSON values for the right-hand side) now inherit from FieldGetDbPrepValueMixin so that it utilises the get_db_prep_value() in JSONField.
Meanwhile, our serialisation of StreamField is implemented in get_prep_value(), as we don't do database-specific handling. For handling non-StreamValue values, e.g. dict in JSONField's contains lookup, we delegate get_prep_value() to JSONField:
https://github.com/wagtail/wagtail/blob/dd0d2c4b884436802e6464f5479641aa20c6f9d8/wagtail/fields.py#L213-L215
Now that JSONField.get_prep_value() does not handle serialisation, this delegation doesn't do anything. As a result, one of our tests that ensure JSONField lookups are compatible with StreamFields that have use_json_field=True has been failing. This shouldn't be a major concern for most users, as we don't have publicly documented use cases for querying StreamFields with JSONField lookups. However, we do document that the lookups are supported:
https://github.com/wagtail/wagtail/blob/119f288a3cf91775687aafffe19ac4c92bb45e0a/docs/reference/streamfield/blocks.md?plain=1#L13
Thus, it'd be nice to have this fixed.

By default, get_prep_value(value) is called by get_db_prep_value(value, connection, prepared=False) (if it's not overridden), dropping the connection reference in the process. Unfortunately, this means we can't change the delegation to JSONField.get_db_prep_value() because we no longer have the reference to the connection in get_prep_value(). We could import from django.db.connection, but that's the default connection (Django can have multiple connections, is that something we support?), so it's not ideal.
We can move our StreamField serialisation to get_db_prep_value(), e.g.
diff --git a/wagtail/fields.py b/wagtail/fields.py
index 15bdd60027..cac433d8e1 100644
--- a/wagtail/fields.py
+++ b/wagtail/fields.py
@@ -193,7 +193,7 @@ class StreamField(models.Field):
             # Test succeeded, so return as a StreamValue-ified version of that value
             return StreamValue(self.stream_block, value)

-    def get_prep_value(self, value):
+    def get_db_prep_value(self, value, connection, prepared=False):
         if (
             isinstance(value, StreamValue)
             and not (value)
@@ -210,9 +210,11 @@ class StreamField(models.Field):
             return json.dumps(
                 self.stream_block.get_prep_value(value), cls=DjangoJSONEncoder
             )
-        else:
+        elif connection:
             # When querying with JSONField features, the rhs might not be a StreamValue.
-            return self.json_field.get_prep_value(value)
+            return self.json_field.get_db_prep_value(value, connection, prepared)
+        else:
+            return json.dumps(value, cls=DjangoJSONEncoder)

     def from_db_value(self, value, expression, connection):
         if self.use_json_field and isinstance(expression, KeyTransform):
@@ -240,7 +242,7 @@ class StreamField(models.Field):

     def value_to_string(self, obj):
         value = self.value_from_object(obj)
-        return self.get_prep_value(value)
+        return self.get_db_prep_value(value, connection=None)

     def get_searchable_content(self, value):
         return self.stream_block.get_searchable_content(value)

but that feels risky because that means get_prep_value() will no longer be called, so if people extend StreamField and override get_prep_value() (do people do that?), this potentially breaks that. In addition, it's not consistent with how we mirror a similar API with get_prep_value() in our blocks definitions.
On the other hand, we don't really do database-specific serialisation handling anyway, so I'm thinking we can just drop the delegation entirely and just use json.dumps() directly:
diff --git a/wagtail/fields.py b/wagtail/fields.py
index 15bdd60027..7ce0086327 100644
--- a/wagtail/fields.py
+++ b/wagtail/fields.py
@@ -212,7 +212,7 @@ class StreamField(models.Field):
             )
         else:
             # When querying with JSONField features, the rhs might not be a StreamValue.
-            return self.json_field.get_prep_value(value)
+            return json.dumps(value, cls=DjangoJSONEncoder)

     def from_db_value(self, value, expression, connection):
         if self.use_json_field and isinstance(expression, KeyTransform):

Thanks @laymonage - I really appreciate your inside view on this. I can't imagine how long it would have taken to untangle this for myself!
So, to make sure I'm following this correctly:

Despite StreamField not actually being a JSONField, the filter(body__contains=value) still (somehow) correctly identifies django.db.models.fields.json.DataContains as the lookup class it should be using.
In the new Django 4.2 code, this now takes a code path through FieldGetDbPrepValueMixin, which calls the field's get_db_prep_value method.
If our field was an actual JSONField, the custom get_db_prep_value method would then go on to call adapt_json_value and perform the backend-specific handling of the JSON value (which might be stringifying it, or converting it into a Jsonb value).
However, StreamField isn't a JSONField, so it ends up using the base get_db_prep_value method from django.db.models.fields.Field, which calls our get_prep_value method and never ends up doing any adapting of the raw JSON value.

If that's correct:

Your proposed fix of applying json.dumps in get_prep_value is essentially replicating Django's old behaviour. However, I'm assuming that the motivation for this change in Django is that psycopg3 no longer accepts a serialized JSON string here, and insists on a Jsonb value instead. Doesn't that mean that this is going to break again once people start using psycopg3?
Could we instead fix this by adding a get_db_prep_value method on StreamField that delegates to self.json_field.get_db_prep_value? If my theory is correct, this would only come into play for the lookups that use FieldGetDbPrepValueMixin, and our normal streamfield operations would continue to use get_prep_value.

Despite StreamField not actually being a JSONField, the filter(body__contains=value) still (somehow) correctly identifies django.db.models.fields.json.DataContains as the lookup class it should be using.

Yep, it's because we have these overrides:
https://github.com/wagtail/wagtail/blob/682ed3b21fa6924b1e1a6023f80ce7beea570071/wagtail/fields.py#L130-L138

In the new Django 4.2 code, this now takes a code path through FieldGetDbPrepValueMixin, which calls the field's get_db_prep_value method.

Correct.

If our field was an actual JSONField, the custom get_db_prep_value method would then go on to call adapt_json_value and perform the backend-specific handling of the JSON value (which might be stringifying it, or converting it into a Jsonb value).

Correct.

However, StreamField isn't a JSONField, so it ends up using the base get_db_prep_value method from django.db.models.fields.Field, which calls our get_prep_value method and never ends up doing any adapting of the raw JSON value.

Yes, but only when the method falls to the else block:
https://github.com/wagtail/wagtail/blob/682ed3b21fa6924b1e1a6023f80ce7beea570071/wagtail/fields.py#L196-L215
That happens when get_prep_value() is called by the DataContains/ContainedBy lookups (i.e. the value is not a StreamValue).

Your proposed fix of applying json.dumps in get_prep_value is essentially replicating Django's old behaviour. However, I'm assuming that the motivation for this change in Django is that psycopg3 no longer accepts a serialized JSON string here, and insists on a Jsonb value instead. Doesn't that mean that this is going to break again once people start using psycopg3?

I assume it won't just break (I haven't tried though), because it seems that passing serialised JSON string still works, but does mean that it won't let psycopg3 do any further tinkering/optimisations with the data and yes, we'll be replicating Django's old behaviour.

Could we instead fix this by adding a get_db_prep_value method on StreamField that delegates to self.json_field.get_db_prep_value? If my theory is correct, this would only come into play for the lookups that use FieldGetDbPrepValueMixin, and our normal streamfield operations would continue to use get_prep_value.

Yes, but that means we'll have to add the if checks in get_db_prep_value(). Let me try...

Updated #9693 with the new approach.


Add template evaluation on single secret insert

This PR adds template evaluation on newly created secrets using ´gopass insert´.

Codecov Report

Merging #1023 into master will decrease coverage by 0.03%.
The diff coverage is 41.94%.

@@            Coverage Diff             @@
##           master    #1023      +/-   ##
==========================================
- Coverage   63.26%   63.23%   -0.03%
==========================================
  Files         180      180
  Lines        9976    10000      +24
==========================================
+ Hits         6311     6323      +12
- Misses       2879     2886       +7
- Partials      786      791       +5

Impacted Files
Coverage Δ

pkg/action/templates.go
59.09% <ø> (ø)
:arrow_up:

pkg/action/insert.go
33.93% <0%> (-1.26%)
:arrow_down:

pkg/store/sub/templates.go
61.9% <100%> (ø)
:arrow_up:

pkg/action/edit.go
37.74% <40%> (+5.08%)
:arrow_up:

pkg/tpl/funcs.go
53.85% <50%> (-1.26%)
:arrow_down:

Continue to review full report at Codecov.

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


Claims do not prevent damage from weapons in the off-hand slot.

 Right click on another player, that's it.
I only list the above as a sanity check as I was indeed unaware of how the off-hand slot worked myself.
Sponge: 1.10.2-2202-5.1.0-BETA-2019
GP Build: 2015
Thanks

@Rob5Underscores Diamond swords cannot be used in offhand so I have no clue what you mean by this. Only weapons that have right-click functions can be used such as a bow but that would still fall into another flag. What permissions plugin are you using?
"The main hand is also the only hand that can hit or break (left-click), even if there are no items in the main hand. This means that the off-hand cannot left-click with an item. This makes most weapons and tools unusable in the off-hand, with the exception of ones that have a right-click function."

Apologies - misdiagnosed the issue.
This is down to a, currently unknown, mod in Sky Factory 3 which allows off-hand items to attack.
Is it still possible to add protection from this? If so, my permissions plugin is PermissionsEX, if it helps.

Issue resolved by mod author.
Cheers


[UWP] Media player support

Guys, where are we with this? I like the generic concept of media with multiple sources and a poster. Are you ready to move it to the HTML renderer? Want some help? It'd help my project so I totally see myself making it happen internally if you freeze it past 2 or 3 weeks from now.