Use cd -P instead of realpath (fixes #4030)

This fix #4030, just like what #4025 does, but using different approach.
This fix use cd -P instead of detecting the existence of realpath or readlink -f.

:+1:

A couple of fixes:

Use $PWD instead of calling pwd (avoids an extra call).
Wrap both PROJECT_ROOT=.... between " to support folders with spaces, like this: PROJECT_ROOT="...".

I missed this issue and put in #4106 recently, which also uses :A but is coded slightly differently (only does one :A resolution, which I think is all that's needed), and does the $PWD and quoting. Sorry about that. This should "closes #4106" so whichever PR is merged cleans up the other one automatically.

Well, #4106 is actually better as you explained there, so if you can address my latest comment I'll suggest we merge that one instead.


Bug: [OpenAPI] Two different schemas with the title (...) have been defined

Description
Trying to access the OpenAPI schema for the MCVE of https://github.com/litestar-org/litestar/issues/1809 I'm getting
500: Two different schemas with the title UserOrder have been defined.
first: {"properties":{"_id":{"type":"integer"},"name":{"type":"string"}},"type":"object","required":["_id","name"],"title":"UserOrder"}
second: {"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object","required":["id","name"],"title":"UserOrder"}
To fix this issue, either rename the base classes from which these titles are derived or manually
set a 'title' kwarg in the route handler.

So apparently I can't use the very same model as both request parameter and response if the model has one or more aliased fields?
URL to code causing the issue
No response
MCVE
# Your MCVE code here

Steps to reproduce
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

Screenshots
"![SCREENSHOT_DESCRIPTION](SCREENSHOT_LINK.png)"

Logs
No response
Litestar Version
2.2.1
Platform

[ ] Linux
[ ] Mac
[ ] Windows
[ ] Other (Please specify in the description above)

[!NOTE]
While we are open for sponsoring on GitHub Sponsors and
OpenCollective, we also utilize Polar.sh to engage in pledge-based sponsorship.
Check out all issues funded or available for funding on our Polar.sh Litestar dashboard

If you would like to see an issue prioritized, make a pledge towards it!
We receive the pledge once the issue is completed & verified
This, along with engagement in the community, helps us know which features are a priority to our users.

Closed as dup of https://github.com/litestar-org/litestar/issues/2471

On the surface they look different (there's no alias in the other issue) but I guess the root cause it the same.

Sorry, I can reopen if its different- wouldn't be the first time I've jumped to a conclusion.

It's ok, let's leave it closed and get back to it if the fix to 2471 doesn't fix this.

The good news is that 2471 seems to have fixed the crash reported originally. The bad news is that the generated schema is wrong: the actual response field is "id" not "_id".

So I guess this needs to be reopened.

This sounds like a different issue to the title of this report @gsakkis - feel free to open a new one with a MCVE.

The MCVE is identical to https://github.com/litestar-org/litestar/issues/1809, I can either edit the title or open a new one.

feel free to open a new one with a MCVE.


Build issue

We are encountering an issue related to Gradle while attempting to build."
Running 'gradlew :app:bundleRelease' in /home/expo/workingdir/build/android
Downloading https://services.gradle.org/distributions/gradle-7.5.1-all.zip
10
%.
20%.
30
%.
40%.
50%.
60%
70%.
80%.
90%.
100%
Welcome to Gradle 7.5.1!
Here are the highlights of this release:

Support for Java 18
Support for building with Groovy 4
Much more responsive continuous builds
Improved diagnostics for dependency resolution
For more details see https://docs.gradle.org/7.5.1/release-notes.html
To honour the JVM settings for this build a single-use Daemon process will be forked. See https://docs.gradle.org/7.5.1/userguide/gradle_daemon.html#sec:disabling_the_daemon.
Daemon will be stopped at the end of the build

Task :react-native-gradle-plugin:pluginDescriptors
Task :react-native-gradle-plugin:processResources
Task :react-native-gradle-plugin:compileKotlin
w: /home/expo/workingdir/build/node_modules/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/ReactExtension.kt: (10, 37): 'BaseVariant' is deprecated. Deprecated in Java
w: /home/expo/workingdir/build/node_modules/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/ReactExtension.kt: (119, 30): 'BaseVariant' is deprecated. Deprecated in Java
w: /home/expo/workingdir/build/node_modules/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/ReactExtension.kt: (135, 26): 'BaseVariant' is deprecated. Deprecated in Java
w: /home/expo/workingdir/build/node_modules/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/ReactExtension.kt: (157, 32): 'BaseVariant' is deprecated. Deprecated in Java
w: /home/expo/workingdir/build/node_modules/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/ReactExtension.kt: (163, 31): 'BaseVariant' is deprecated. Deprecated in Java
w: /home/expo/workingdir/build/node_modules/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/ReactExtension.kt: (171, 36): 'BaseVariant' is deprecated. Deprecated in Java
w: /home/expo/workingdir/build/node_modules/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/ReactPlugin.kt: (114, 48): 'reactRoot: DirectoryProperty' is deprecated. reactRoot was confusing and has been replace with root to point to your root project and reactNativeDir to point to the folder of the react-native NPM package
w: /home/expo/workingdir/build/node_modules/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/TaskConfiguration.kt: (10, 37): 'ApplicationVariant' is deprecated. Deprecated in Java
w: /home/expo/workingdir/build/node_modules/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/TaskConfiguration.kt: (11, 37): 'BaseVariant' is deprecated. Deprecated in Java
w: /home/expo/workingdir/build/node_modules/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/TaskConfiguration.kt: (12, 37): 'LibraryVariant' is deprecated. Deprecated in Java
w: /home/expo/workingdir/build/node_modules/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/TaskConfiguration.kt: (27, 51): 'BaseVariant' is deprecated. Deprecated in Java
w: /home/expo/workingdir/build/node_modules/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/TaskConfiguration.kt: (130, 12): 'ApplicationVariant' is deprecated. Deprecated in Java
w: /home/expo/workingdir/build/node_modules/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/TaskConfiguration.kt: (131, 12): 'LibraryVariant' is deprecated. Deprecated in Java
w: /home/expo/workingdir/build/node_modules/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/TaskConfiguration.kt: (251, 14): 'BaseVariant' is deprecated. Deprecated in Java
Task :react-native-gradle-plugin:compileJava NO-SOURCE
Task :react-native-gradle-plugin:classes
Task :react-native-gradle-plugin:inspectClassesForKotlinIC
Task :react-native-gradle-plugin:jar
FAILURE: Build failed with an exception.

Where:
Build file '/home/expo/workingdir/build/android/build.gradle' line: 41
What went wrong:
A problem occurred evaluating project ':allboatsrise-expo-marketingcloudsdk'.

Failed to apply plugin class 'org.gradle.api.plugins.BasePlugin'.
No signature of method: org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.maven() is applicable for argument types: (build_a4pmw2504rhdm3lg68kv7pbd1$_run_closure1$_closure2$_closure4) values: [build_a4pmw2504rhdm3lg68kv7pbd1$_run_closure1$_closure2$_closure4@6506dde9]
Possible solutions: min(), max(), take(int), max(java.util.Comparator), min(java.util.Comparator), max(groovy.lang.Closure)

Try:

Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.

Get more help at
https://help.gradle.org
BUILD FAILED in 1m 34s
5 actionable tasks: 5 executed
Error: Gradle build failed with unknown error. See logs for the "Run gradlew" phase for more information.

SDK version?

"expo": "~47.0.14",

You'll have to try an older version of the package. Latest one supports 49+
https://github.com/allboatsrise/expo-marketingcloudsdk/blob/d2064a3f94efe44b68cabef19c9922122de1e57b/package.json#L55

Closing as it seems to be related of using unsupported combination of Expo and plugin versions.


Readme improvements

Turns out that you can use FORCE_COLOR because tap-diff uses chalk. This is super useful when using watchers like tape-watch, so I thought it was worth documenting.
I also replaced a tap-notify typo, which should be tap-diff.

Thank you!

Turns out that you can use FORCE_COLOR because tap-diff uses chalk. This is super useful when using watchers like tape-watch, so I thought it was worth documenting.

I think to try to adopt this. also thank you too!


Don't bundle acorn dependencies

I'd really love to see this merged is there anything blocking it where I can help?


:seedling: Vendor dependencies

Please check if the PR fulfills these requirements

[ ] Tests for the changes have been added (for bug fixes / features)
[x] PR title follows the guidelines defined in  https://github.com/ossf/scorecard/blob/main/CONTRIBUTING.md#pr-process

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

What is the current behavior? (You can also link to an open issue here)
Fixes https://github.com/ossf/scorecard/issues/1188

What is the new behavior (if this is a feature change)?
Vendor dependencies for hermetic builds.

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)

Other information:

Dependabot can upgrade packages even if they are vendored. Example https://github.com/tektoncd/chains/commit/76face8707fef6dde70673cad36eb38ca16c6533#diff-630ba09448af522154f38ef7685ef1f44b0f3e9430f80829a03ce24f400f3754

Have we reached a consensus on #1188 yet to submit this PR? @laurentsimon @inferno-chromium fyi.

Have we reached a consensus on #1188 yet to submit this PR? @laurentsimon @inferno-chromium fyi.

It was simple to do. If we don't agree then I can close it.

Have we reached a consensus on #1188 yet to submit this PR? @laurentsimon @inferno-chromium fyi.

It was simple to do. If we don't agree then I can close it.

I don't have a strong opinion. It helps for hermetic builds, but nobody can verify yet, so it's not urgent. It may be useful to merge this PR to explore how vendoring works and if there are problems with it we have not anticipated - to inform guidelines for OSS in general. TL:DR: I'm fine with this PR.

Have we reached a consensus on #1188 yet to submit this PR? @laurentsimon @inferno-chromium fyi.

It was simple to do. If we don't agree then I can close it.

I don't have a strong opinion. It helps for hermetic builds, but nobody can verify yet, so it's not urgent. It may be useful to merge this PR to explore how vendoring works and if there are problems with it we have not anticipated - to inform guidelines for OSS in general. TL:DR: I'm fine with this PR.

I'm on the same page. Although I personally don't fully understand the pros/cons of vendoring dependencies. @oliverchang do you have any feedback here?

Have we reached a consensus on #1188 yet to submit this PR? @laurentsimon @inferno-chromium fyi.

It was simple to do. If we don't agree then I can close it.

I don't have a strong opinion. It helps for hermetic builds, but nobody can verify yet, so it's not urgent. It may be useful to merge this PR to explore how vendoring works and if there are problems with it we have not anticipated - to inform guidelines for OSS in general. TL:DR: I'm fine with this PR.

I'm on the same page. Although I personally don't fully understand the pros/cons of vendoring dependencies. @oliverchang do you have any feedback here?

One concern is repo size. How much is our repo going to be? Say, we run scorecard on our own repo which vendors dependencies: will the tarball contain all the dependencies? Scorecard will OOM if this is the case.
I know github supports submodule links, is this possible in our case?
If we want to vendor dependencies for hermetic building, then it may be better to run go mod vendor followed by go build at release time, rather than having a copy of all dependencies in our repo? And if we also want to comply with SLSA's "history is kept for ever", then we can make the dependencies fetched part of the released artifact on GitHub - if its not too big, or somewhere else.

Have we reached a consensus on #1188 yet to submit this PR? @laurentsimon @inferno-chromium fyi.

It was simple to do. If we don't agree then I can close it.

I don't have a strong opinion. It helps for hermetic builds, but nobody can verify yet, so it's not urgent. It may be useful to merge this PR to explore how vendoring works and if there are problems with it we have not anticipated - to inform guidelines for OSS in general. TL:DR: I'm fine with this PR.

I'm on the same page. Although I personally don't fully understand the pros/cons of vendoring dependencies. @oliverchang do you have any feedback here?

One concern is repo size. How big is our repo going to be? Say, we run scorecard on our own repo which vendors dependencies: will the tarball contain all the dependencies? Scorecard will OOM if this is the case. I know github supports submodule links, is this possible in our case?
If we want to vendor dependencies for hermetic building, then it may be better to run go mod vendor followed by go build at release time, rather than having a copy of all dependencies in our repo? And if we also want to comply with SLSA's "history is kept for ever", then we could keep a copy of fetched dependencies as part of the released artifact on GitHub - if it's not too big, or somewhere else.

This is the case with Kubernetes/Kubernetes and scorecard doesn't OOM.

Not too familiar with vendoring in Go in general, but what benefit does this give us over just having go.mod/go.sum?
Is it just protecting against some library we depend on getting deleted at some point, or are there other benefits here?

Not too familiar with vendoring in Go in general, but what benefit does this give us over just having go.mod/go.sum?
Is it just protecting against some library we depend on getting deleted at some point, or are there other benefits here?

Other than that https://stackoverflow.com/a/67927672


Add react-app-rewire-less

I tested it on small project with Less

both development and build mode works
locally tested it by adding this to my small project dependency (not sure if there is better way to test unreleased modules from different repositories/packages):

  "devDependencies": {
    "react-app-rewire-less": "../../../_tmp/react-app-rewired/packages/react-app-rewire-less",
    ...
  }

@Hurtak thanks - I'll publish this along with some other updates next week.

@Hurtak FYI - your rewire is now published 🎉.
https://www.npmjs.com/package/react-app-rewire-less

Thanks!


add ground filtering CSF

https://www.cloudcompare.org/doc/wiki/index.php?title=CSF_(plugin)

this is done for v0.8.0


Artisan::call('horizon:terminate') The command "horizon:terminate" does not exist.

When i call the command from the command line it works.
If you ask why i'm calling the horizon:terminate from my application, well i have a settings module that allows users to update the application configuration by updating the .env file.
After doing so,
I want to do two things
        Artisan::call('config:cache');
        Artisan::call('horizon:terminate');

The config:cache works but the horizon:terminate does not.

You need to have Horizon installed for this. This is the issue tracker for the Laravel framework, not Horizon.

@driesvints That is the problem, Horizon is already installed and it says command not found

Can you first please try one of the following support channels? If you can actually identify this as a bug, feel free to report back and I'll gladly help you out.

Laracasts Forums
Laravel.io Forums
StackOverflow
Discord
Larachat
IRC

Thanks!

@shadoWalker89 Not sure where you're calling that Artisan command, but you can only call that through the "terminal".
Hope this https://github.com/laravel/horizon/blob/3.0/src/HorizonServiceProvider.php#L168 helps to understand the cause perhaps?

@brunogaspar Thanks, that explains why i'm getting command not found.
For now what i'm doing
exec('cd '.base_path().' && /usr/local/bin/ea-php72 artisan horizon:terminate');

@brunogaspar About why i'm calling that command, like i said in the issue message, the administrator of the application can change configurations saved within the .env file. I need to terminate horizon so it can pickup the new config values

Yup, figured much.
Your solution is not bad, although not super Laravel Clean :)

Ran into the same issue (with another package).
It seems only commands registered outside of the if ($this->app->runningInConsole()) call are available to be called from within the app's runtime with Artisan:call.
Made a little write up explaining my solution.
In my case, I'm the maintainer of the package and could easily work around the limitation. But you could probably register the horizon:terminate command yourself in your app's commands() function in app/Console/Kernel.php.

Ran into the same issue (with another package).
It seems only commands registered outside of the if ($this->app->runningInConsole()) call are available to be called from within the app's runtime with Artisan:call.
Made a little write up explaining my solution.
In my case, I'm the maintainer of the package and could easily work around the limitation by taking the command I want to use in Laravel out of the if statement.
But I just tested that you can register the horizon:terminate command yourself in your app's $commands array in app/Console/Kernel.php.
For instance, I did this.
protected $commands = [
    \Nonoesp\Folio\Commands\CreateUserCommand::class,
];

While the CreateUserCommand is only registered to the console by the package, I can explicitly make it available for my entire application calling it with Artisan::call('folio:user {email} {password}') (which is this command's signature).

I tried that out ... after some research in the laravel files I tried to set the commands up via the AppServiceProvider as the solution with the Kernel.php did not change anything:
public function register()
    {
        //
        $this->commands([
            \Laravel\Horizon\Console\StatusCommand::class,
            \Laravel\Horizon\Console\TerminateCommand::class,
            \Laravel\Horizon\Console\ContinueCommand::class,
            \Laravel\Horizon\Console\HorizonCommand::class
        ]);
    }

But now I am running into new issues. It seams, that horizon simply is not callable via Aritsan::call() or did I miss something?

Ran into the same issue (with another package).
It seems only commands registered outside of the if ($this->app->runningInConsole()) call are available to be called from within the app's runtime with Artisan:call.
Made a little write up explaining my solution.
In my case, I'm the maintainer of the package and could easily work around the limitation by taking the command I want to use in Laravel out of the if statement.
But I just tested that you can register the horizon:terminate command yourself in your app's $commands array in app/Console/Kernel.php.
For instance, I did this.
protected $commands = [
    \Nonoesp\Folio\Commands\CreateUserCommand::class,
];

While the CreateUserCommand is only registered to the console by the package, I can explicitly make it available for my entire application calling it with Artisan::call('folio:user {email} {password}') (which is this command's signature).

I tried that out ... after some research in the laravel files I tried to set the commands up via the AppServiceProvider as the solution with the Kernel.php did not change anything:
public function register()
    {
        //
        $this->commands([
            \Laravel\Horizon\Console\StatusCommand::class,
            \Laravel\Horizon\Console\TerminateCommand::class,
            \Laravel\Horizon\Console\ContinueCommand::class,
            \Laravel\Horizon\Console\HorizonCommand::class
        ]);
    }

But now I am running into new issues. It seams, that horizon simply is not callable via Aritsan::call() or did I miss something?

Ran into the same issue (with another package).
It seems only commands registered outside of the if ($this->app->runningInConsole()) call are available to be called from within the app's runtime with Artisan:call.
Made a little write up explaining my solution.
In my case, I'm the maintainer of the package and could easily work around the limitation by taking the command I want to use in Laravel out of the if statement.
But I just tested that you can register the horizon:terminate command yourself in your app's $commands array in app/Console/Kernel.php.
For instance, I did this.
protected $commands = [
    \Nonoesp\Folio\Commands\CreateUserCommand::class,
];

While the CreateUserCommand is only registered to the console by the package, I can explicitly make it available for my entire application calling it with Artisan::call('folio:user {email} {password}') (which is this command's signature).

I tried that out ... after some research in the laravel files I tried to set the commands up via the AppServiceProvider as the solution with the Kernel.php did not change anything:
public function register()
    {
        //
        $this->commands([
            \Laravel\Horizon\Console\StatusCommand::class,
            \Laravel\Horizon\Console\TerminateCommand::class,
            \Laravel\Horizon\Console\ContinueCommand::class,
            \Laravel\Horizon\Console\HorizonCommand::class
        ]);
    }

But now I am running into new issues (i.e. horizoncommand: Call to undefined function Laravel\Horizon\Console\pcntl_async_signals()) . It seems, that horizon simply is not callable via Aritsan::call() or did I miss something? Maybe because of Laravel 7 ?

Just did this as you suggested and the terminate command works for me. All the multiple horizon instances are terminated instantly on my local machine. Still have to test on the server.
 /**
     * The Artisan commands provided by your application.
     *
     * @var array
     */
    protected $commands = [
        TerminateCommand::class,
    ];

I am on Laravel 8 so may be that's why it worked for me without any error.
Thank You.

Laravel 10
<?php

namespace App\Console;

use Laravel\Horizon\Console\TerminateCommand;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;

class Kernel extends ConsoleKernel
{
	/**
	 * Register the commands for the application.
	 */
	protected function commands(): void
	{
		$this->load(__DIR__ . '/Commands');
		$this->registerCommand(new TerminateCommand());

		require base_path('routes/console.php');
	}
}

Works perfect!


Need a cross button.

Need a cross button here.

Verified this issue on dev app v2.0.01(374)


[Bug?] Home App "Off" Switch not working in Automations

Hello!
The off "switch/mode" in the Home App works just fine, unless you're using automations to control the thermostats.
As the Home App automations cannot solely send the "off" command without sending a temperature, it seems that the temperature is set in that case after actually turning off the thermostat, so it is immediately turned back on.
I've found a workaround by using the Eve App which allows you to set Mode and Temparature Separately for Scenes, but with the regular Home App, temparature and state seem to be processed in the wrong order!

I also experienced this. Thanks for the tip to use another app to create the scene. I created the scene using Home+ and seem to work.

it's a UI Problem with the Home-App (Apple)
Use the free Eve-App (or the HomeController App) - With both you are able to add a scene where you ONLY set the Mode, without a temperature
(this one should go in BOLD into the readme ;))


V8 assign compositevent to state

Updated the way composite bindings are registered and the binders bound to activities. Previously compositeEvents were still bound to states they don't belong to. Same with events in the composite event.
Before the change:

After:

Note The after image is 'technically' not correct but that has nothing to do with the state machine but more with the visualizer. For example 'IntakeNew' is a substate of 'Intake'. Events are registered to the 'Intake' state but the TransitionTo is set to 'IntakeNew'. This is purely a visual thing.

Just a heads up, you need to rebase this PR into a single commit:
git remote add mt https://github.com/MassTransit/MassTransit.git
git fetch mt
git checkout develop
git rebase mt/develop
git checkout v8-assign-compositeevent-to-state
git rebase develop

If it is multiple commits:
git rebase -i HEAD~2 (or however many commits it is)

Select all the commits change to S for squash, and then edit the commit message.
Then push/force to your repository branch.

Also, does this change any of the resulting behavior? I'd expect it does with links to Initial, etc. being removed...

Broken Test: https://github.com/MassTransit/MassTransit/blob/develop/tests/MassTransit.Tests/SagaStateMachineTests/CompositeEventsInInitialState_Specs.cs

Also, does this change any of the resulting behavior? I'd expect it does with links to Initial, etc. being removed...

mmm... Yes you might be right... Let me redo this in a new branch (in stead of re-using the old one) to make sure I'm fully up to date.
I made a choice between binding the 'floating' events to the state of the composite event versus binding to all states.
e.g.:
CompositeEvent(() => Third, x => x.CompositeStatus, First, Second);

Initially(
    When(Start)
        .TransitionTo(Waiting));

During(Waiting,
    When(Third)
        .Then(context => context.Instance.Called = true)
        .Finalize());

In this PR the 'Second' event will be bound to the 'Waiting' state only. But, it might be better to assign to all states.
That will 'mess up' a visualization. But on the other hand, 'Second' can always be assigned to a specific state if needed like:
CompositeEvent(() => Third, x => x.CompositeStatus, First, Second);
Initially(
    When(Start)
        .TransitionTo(Waiting));

During(Waiting,
    When(Second),
    When(Third)
        .Then(context => context.Instance.Called = true)
        .Finalize());

@phatboyg I'll abandon this PR and create a new later today.

Any thoughts on this discussion? https://github.com/MassTransit/MassTransit/discussions/3411
Not even using composite event, but it shows an extra line...


log in callbacks works after epoch_end but not before epoch

What does this PR do?
This PR should enable to log within "val" function of callbacks.

Fixes #4167 3813
Before submitting

[ ] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[ ] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure your PR does only one thing, instead of bundling different changes together? Otherwise, we ask you to create a separate PR for every change.
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?
[ ] Did you verify new and existing tests pass locally with your changes?
[ ] If you made a notable change (that affects users), did you update the CHANGELOG?

PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃

Hello @tchaton! Thanks for opening this PR.

In the file pytorch_lightning/trainer/connectors/logger_connector.py:

Line 218:80: W291 trailing whitespace

In the file pytorch_lightning/trainer/evaluation_loop.py:

Line 107:109: E502 the backslash is redundant between brackets
Line 108:13: E128 continuation line under-indented for visual indent
Line 108:48: W291 trailing whitespace
Line 225:5: E303 too many blank lines (2)

In the file pytorch_lightning/trainer/trainer.py:

Line 598:121: E501 line too long (134 > 120 characters)

In the file tests/base/callback.py:

Line 5:1: E302 expected 2 blank lines, found 1
Line 7:121: E501 line too long (123 > 120 characters)
Line 7:124: W291 trailing whitespace
Line 25:1: W293 blank line contains whitespace
Line 28:1: W293 blank line contains whitespace
Line 29:32: W292 no newline at end of file

In the file tests/models/test_onnx.py:

Line 135:1: E302 expected 2 blank lines, found 1

In the file tests/trainer/logging/test_eval_loop_logging_1_0.py:

Line 325:1: E302 expected 2 blank lines, found 1
Line 337:121: E501 line too long (176 > 120 characters)
Line 339:1: W293 blank line contains whitespace
Line 378:121: E501 line too long (148 > 120 characters)

Do see the Hitchhiker's guide to code style


Create a Mesop Demos app

Creates a Mesop Demos app to showcase various examples which consists of the live Mesop app and its corresponding code side-by-side.
Live demo: https://mesop-y677hytkra-uc.a.run.app/

Most of the examples here are forked from existing examples, but cleaned up to make it more user-friendly.
Although it's somewhat duplicative to have these examples, I think it's somewhat better to have separate examples for documentation purposes vs. testing purposes as the latter may test edge cases whereas the documentation is focused on the common use cases.
These new examples are type-checked but not tested.

Addresses part of #51.
Reminder to self: update markdown to link to these demos.

Thanks, I've added a demo for each component, mostly based on our current examples but cleaned up for readability. I think if we have a few more real-world examples that will be great.


SPARKC-170: Fixed wrongly resolved last commit SHA (it was resolved with line separator)

retest this please


v-model 和v-on:input value 出现 不支持qq输入法和 五笔输入法的问题

Version
2.4.2
Reproduction link
http://jsfiddle.net/wsr78d2w/4/
Steps to reproduce

这样书写的时候 出现 不支持qq输入法和 五笔输入法的问题
What is expected?
  这种情况可以正常工作
What is actually happening?
在qq输入法输入的时候 ，会显示汉字之前 也将字符添加进去
而五笔输入法 出现不了弹框  只会输入 字母

Please follow the Issue Reporting Guidelines and provide a minimal JSFiddle or Github repository containing a set of reproducible steps that can lead to the behaviour you described. Make sure to boil down the problem as much as possible. Thanks!
you can use this jsfiddle as a starting point

In the lastest Chrome,it works,but some computer it doesnot work! Maybe In the jsfiddle it alse work!So i donot know how to describe it ! I just want to know someone  encounter it!

Maybe you can ask on the forum, the Discord server, gitter or StackOverflow.

I guess this is not relevant with Vue but with your input software. Please try to remove Vue dependency and see if it still happen.

Maybe I can have a check somehow to help you.
@ddcouples Is it possible to provide a more minimized demo which only contains necessary code to reproduce this problem without nothing else?
Thanks.

Closing due to inactivity. Please open a new issue with a reference to this one if you can follow up with more information.


[PROPOSAL] Release 2.8.2

What are you proposing?
Proposing to release 2.8.2 with https://github.com/opensearch-project/opensearch-java/pull/725 https://github.com/opensearch-project/opensearch-java/pull/723 and other fixes (a user is looking for this fix).
Any objections @dblock @VachaShah ?

No objections!

None at all!

https://github.com/opensearch-project/opensearch-java/releases/tag/v2.8.2


Update single column on Adapter not working

in RecyclerView i'm trying to update single column by this code:
Text textRow = SQLite.select()
                .from(Text.class)
                .where(Text_Table.contentId.eq(textInfo.getContentId())).querySingle();
textInfo.setLastCheckPostVisit(SystemClock.elapsedRealtime());
textInfo.update();

textRow.setLastCheckUpdatedPostTime(DateUtilities.getCurrentDateAsDate());
textInfo.update();

after each showing items on adapter this column as lastCheckPostVisit is zero always, whats problem on my code and i can't update that?
update column by single instance
@Table(database = AppDatabase.class)
public class Text extends BaseModel {
    @PrimaryKey(autoincrement = true)
    private int id;

    ...
    @Column(defaultValue = "300000")
    private long lastCheckPostVisit;

    ...
}

I think it is because you are updating textInfo twice and never textRow. Seems like a copy&paste issue ;)

@Devenias ohhhhh, I'm so sorry, Thanks,


prepare_VideoEdit() spammed indefinitely when no images are found

In the image,  this error message is spammed indefinitely when the bot cannot find any image or video to edit.

I have no clue how this happened, this should prevent it from even seeing itself in circumstances like this
if message.author.id == bot.user.id and not '║' in message.content:
        return

I have no clue how this happened, this should prevent it from even seeing itself in circumstances like this
if message.author.id == bot.user.id and not '║' in message.content:
        return

Probably.
But the last part of the check should rather be:
... and '║' not in message.content: ...

I have no clue how this happened, this should prevent it from even seeing itself in circumstances like this
if message.author.id == bot.user.id and not '║' in message.content:
        return

Probably.
But the last part of the check should rather be:
... and '║' not in message.content: ...

I have no clue how this happened, this should prevent it from even seeing itself in circumstances like this
if message.author.id == bot.user.id and not '║' in message.content:
        return

Probably.
But the last part of the check should rather be:
... and '║' not in message.content: ...

The syntax in Python is different (SUBSTRING not in STRING)

Apologies, I was wrong. I have edited the original message.

this still broke?

Apologies for the delay.
I'll check if the issue still persists as I recently removed the bot because we didn't use it that much.
I will keep you updated.
Thank you.
Link


How to get a relative high confidence results in the circumstance of using a imbalanced data

Hi,
A lot of thanks to you and your team for the great contributions to singlecell DE analysis and  making this  wonderful package !
I was using Libra to run DE analysis in my own sc-seq dataset.However I have a few questions about how these data type present below influences the final statistical power in finding real DE genes(pesudo methods)
Type one : Imbalanced cell number data when a certain celltype number vary dramatically between biological replicates .
For example：
data like this
Biologicalreplicates | Celltype num | Label
SampleA | 2000 | control
SampleB | 3000 | control
SampleC | 4000 | control
SampleD | 1000 | case
SampleE | 2000 | case
SampleF | 1500 | case
Question : Can i choose a cell number ,for instance 1000 or even samller one as a new celltype number for every Biologicalreplicates ,and then resample every Biologicalreplicates to make a balanced data  for pesudo-bulk ?
Type two : DE analysis between different celltype
Question : In my understandings , pesudo-methods are better than singcell-methods in the circumstance of making DE within a certain celltype ,is it also a good method in the circumstance of making DE between different celltype (find important marker gene)?
Forgive my poor english expression and awful question format , Hope to get your reply !
Thanks
Yufeng

Balancing your data is an interesting question. We never benchmarked it but the premise behind modelling the counts should avoid this as being an issue. With regards to marker genes, in theory the same principles should hold, so you could use it for this. However, it might make things difficult to compare with existing atlases of your tissue.


Observability pack search bar nits

Relates to https://github.com/newrelic/developer-website/issues/1459
PR Build
Issue
There are several improvements we can make to the search bar in the olly pack results section of the pack catalog.
Acceptance Criteria

[x] increase the size of the search icon as it looks really small at the current scale.
[x] increase the size of the search bar so it fills the gap between the results value.
[x] when the search bar is expanded , bottom align the search bar instead of to align
[x] there is no way to close the search bar when open, I think we need a way for a user to close it.
[x] on mobile the search bar should be the same size as the sort by and filter drop downs.
[x] showing XXresults should update based on search results.

Crude mock ups

Search bar now renders automatically on mobile as I think that's a better XP

perfect... 💯

Hi @jpvajda,
Can we work a bit on the vertical alignment of the items on that bar? The input boxes and the text on the right should be h-aligned.
I think that without removing the dropdown labels and the view switch, it would be difficult. But of course open to other suggestions if you have better ideas.
On my original proposal, I removed the labels of the dropdown UI (we can keep the title on the code for a11y) as the first options on the dropdowns were self-explanatory (it said Everything instead of All if I remember it correctly). Also, the list view is not providing much until we have hundreds of items there, so I was proposing to remove it to simplify that bar a bit as it has many items.

@kukukaka

I don't think we should remove the list view, as this is being designed to scale as the pack library grows. I'd rather plan for scale instead of removing a feature that is already in the UI.

For the vertical alignment, can you you contribute your CSS change for this functionality? It's a lot of easier if our product designers can work along with us in code, if you are willing and interested to get these fine details aligned. If you can't contribute the project directly in the past we had our designers pair with an engineer and do some final tightening of CSS, which I'm happy to arrange.


Enrich pipeline root span attributes with the build cause

[x] Make sure you are opening from a topic/feature/bugfix branch (right side) and not your main branch!
[x] Ensure that the pull request title represents the desired changelog entry
[x] Please describe what you did
[ ] Link to relevant issues in GitHub or Jira
[ ] Link to relevant pull requests, esp. upstream and downstream changes
[x] Ensure you have provided tests - that demonstrates feature works or fixes the issue

What
Enrich the attributes with the build cause. It allows more than one build reason.
Why
This will help to understand how many builds are categorised as index branching, manually triggered, downstream based or any other reasons.
Test
Manually triggered
Expand to view

Parenstream triggered
Expand to view

Timer based
Expand to view

Very interesting. Can you explain why you have chosen to name your attributes ...cause.name and ...cause.value?
I remember us doing it for ci.pipeline.parameter.name and ci.pipeline.parameter.value but I don't catch how the .name/ .valuepair works for causes.
I would have expected a multivalued list of the parent job names or the login that triggered the job...
When I see
            run.getCauses().stream()
                .forEach( cause -> {
                    causeValues.add(((Cause)cause).getShortDescription());
                    causeNames.add(((Cause)cause).getClass().getSimpleName());
            });

It makes me think of cause.description and cause.type and I don't see something like cause.pipeline_name.
I see the challenge with the multiple types of causes.

Maybe the following use cases:

Thats Already in the description od this PR, they are collapsed . Though those screenshots used the previous attribute names.  I'll update them anyway
Or do you mean in the README.md?

If a pipeline triggers a downstream pipeline, do we see them in one unique trace or is there a disconnect with 2 distinct traces?

aha, gotcha! It is disconnected and we tracked in https://github.com/jenkinsci/opentelemetry-plugin/discussions/98
We could potentially do in a follow up, as we need to figure out how to support build(wait:false...)

@v1v I didn't see your screenshots in the description.
Some ideas that came to my mind

The attributes describing the cause (ci.pipeline.run.cause.*) should be multivalued to capture the chain of causes up to the root cause (e.g. Git push triggers a job that trigger a downstream job)
The ci.pipeline.run.cause.* attributes could be:

ci.pipeline.run.cause.description: list of human readable description of build causes
ci.pipeline.run.cause.xxx (name to be fined): list of machine readable cause like

UserIdCause:cyrille-leclerc,
UpstreamCause:checkout-protobuff#23,
GitHubPushCause:cyrille-leclerc
...

Examples:

Description
ci.pipeline.run.cause.description
ci.pipeline.run.cause.xxx

Manually triggered
["Started by user Cyrille Le Clerc"]
["UserIdCause:cyrille-leclerc"]

Timer based trigger
["Started by timer"]
["TimerTrigger"]

Triggered by GitHub push
["Started by GitHub push by cyrille-leclerc"]
["GitHubPushCause:cyrille-leclerc"]

Triggered by parent job triggered by GitHub push
["Started by upstream project 'checkout-protobuff' build number 23", "Started by GitHub push by cyrille-leclerc"]
["UpstreamCause:checkout-protobuff#23", "GitHubPushCause:cyrille-leclerc"]

Some ideas that came to my mind

See https://github.com/jenkinsci/opentelemetry-plugin/pull/187/commits/f5051d5a5469e2be57fc36cd072f020dcb39cd83
I also updated the images in the description to reflect the latest changes
Please bear in mind, I used Xxx attribute name for the time being, until we agree the name.


Release <IP_ADDRESS>

OpenSearch 1.3.8 has been released, see release notes.
Official OpenSearch release ticket: https://github.com/opensearch-project/opensearch-build/issues/3012
Checklist:

[ ] Compatibility Matrix is updated (TODO: link to the Release commit)
[ ] Release <IP_ADDRESS> tag is present in the repo
[ ] Release artifacts are available and downloadable
[ ] Release notes published
[ ] Forum announcement published

Hi all!
are there any plans to do a release for OpenSearch 1.3.8 any time soon??
TIA!
Best

Looking forward to it! Thanks!

Done: https://forum.opensearch.org/t/prometheus-exporter-plugin-2-6-0-0-and-1-3-8-0-released/12921


[AutoPR keyvault/resource-manager] KV multiapi Readme

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/3416

This PR has been merged into https://github.com/Azure/azure-sdk-for-python/pull/2927


German (de-de) translation of functions-app-settings article misleading

Sorry, i couldn't find the source for the german (de-de) translation, nor a feedback button on the rendered documentation website, so i try it here:
The german translation of this:
https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/azure-functions/functions-app-settings.md?plain=1#L22 visible rendered here https://learn.microsoft.com/de-de/azure/azure-functions/functions-app-settings#appinsights_instrumentationkey
says:

Sie sollten weder APPINSIGHTS_INSTRUMENTATIONKEY noch APPLICATIONINSIGHTS_CONNECTION_STRING verwenden.

This translated back to english would be "...neither...nor...", which is wrong.
It should rather say:

Sie sollten nicht APPINSIGHTS_INSTRUMENTATIONKEY und APPLICATIONINSIGHTS_CONNECTION_STRING gleichzeitig verwenden.

(It is not a direct translation of "both", which would be "beide", but is better understandable by a native german speaker.)

@timdeluxe
Thanks for your feedback! We will investigate and update as appropriate.


rejected promises triggered by devtools causes crash

Describe the bug
If there's a  query which throws, usually const { status, data, error } = useQuery(...) one would just use error and render the error in jsx
However, if that throw is the result of clicking refetch in the devtools, the entire app crashes (see screenshot)
To Reproduce
Steps to reproduce the behavior:
https://codesandbox.io/s/strange-drake-9dyow?resolutionWidth=320&resolutionHeight=675&file=/pages/index.js

Open the repro demo in browser
wait for a auto refetch to fail (it fails 50% of the time)
See the page change
hit refetch in devtools until it fails
app crashes

Expected behavior
App does not explode :P
Screenshots
when rejected naturally:

When 'refetched' by devtools:

Desktop (please complete the following information):

OS: macOS
Browser: chrome
Version: canary

confirmed. seems like a good first issue since a fix would be non-production impacting. do you want to give it a shot?

Thanks for the quick response!
I could get to fixing it in a week or so, if no one else has worked on it by then.

sounds good 👍

Hey @TkDodo, I opened a fix for this issue with #2344

:tada: This issue has been resolved in version 3.16.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Credit Card Validator

I wrote a quick custom validator to check to the creditCard numbers via the Luhn algorithm. I think it would be useful to add to the default validators, I wasn't sure the best way to contribute but if others want it here it is. Its based on this git project:
https://gist.github.com/DiegoSalazar/4075533
Formsy.addValidationRule('isCCNumber', function(values, value) {

  	// accept only digits, dashes or spaces
	if (/[^0-9-\s]+/.test(value)) return false;

	// The Luhn Algorithm. It's so pretty.
	var nCheck = 0, nDigit = 0, bEven = false;
	value = value.replace(/\D/g, "");

	for (var n = value.length - 1; n >= 0; n--) {
		var cDigit = value.charAt(n),
			  nDigit = parseInt(cDigit, 10);

		if (bEven) {
			if ((nDigit *= 2) > 9) nDigit -= 9;
		}

		nCheck += nDigit;
		bEven = !bEven;
	}

	return (nCheck % 10) == 0;
});

@ryangall7 thanks! this is just what I was looking for. I'm having trouble figuring out how to get this validation rule (or any other custom or built-in validation rules) to run onChange. It'd be nice to notify the user of the state of the rule as they are filling out the CC form.
Any ideas?

Hard to say without seeing your code. But how are you building out your form elements? Be sure to read this section of the Formsy documentation  https://github.com/christianalfoni/formsy-react#building-a-form-element-required

On May 18, 2016, at 8:08 PM, Lance Anderson<EMAIL_ADDRESS>wrote:
@ryangall7 https://github.com/ryangall7 thanks! this is just what I was looking for. I'm having trouble figuring out how to get this validation rule (or any other custom or built-in validation rules) to run onChange. It'd be nice to notify the user of the state of the rule as they are filling out the CC form.
Any ideas?
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub https://github.com/christianalfoni/formsy-react/issues/339#issuecomment-220216918


.NET 4.5 support

How come there isn't any .NET 4.5 support, is it just that you don't need it or are there features missing in the framework?
I tried creating .NET 4.5 projects (see this branch) but the XML-files generated are missing the <iterations> tags. If you don't know of any issues I might dig further into the problem.

4.5 support isn't something we've needed yet.  I wouldn't be surprised if we've taken dependencies on 4.6-specific behavior, but I also wouldn't be surprised if that was totally unnecessary. :)

Ok. Then I'll try once more getting my changes to work.

I haven't had as much time as I would have liked but I'm now seeing the same problems with .NET 4.6 as with .NET 4.5. I'll create a new issue if I manage to pin down the problem.

I've now narrowed down my issues. They were unrelated to .NET 4.5 and I have created a new issue (#109) for the actual problem. I don't really need .NET 4.5 support anymore. Not sure what your process is like but you could probably close this issue.


button styling meshes with background

The Issue
Discussed this with @seanyesmunt briefly, see below:

Expected Behaviour
Tell us what should happen.
Actual Behaviour
Tell us what happens instead.
Suggested Solutions
Tell us your suggested solutions if you have any.
System Configuration

LBRY Daemon version:
LBRY App version:
LBRY Installation ID:
Operating system:

Anything Else

Screenshots

Closed via https://github.com/lbryio/lbry-app/pull/1225


Lint exploded client

Thank you for doing that! I'll take care of the rest of the linting; having to review it is pretty inefficient. Feel free to take care of any other changes that will be more fun to you ;-) I am merging your PR and fixing the comments myself. Cheers again!


satisfy promql warning on metric name

Prometheus UI gives a warning for ambiguous metric type

Thanks for the PR. I agree that your suggested naming would be better. As of now, Prometheus does not support aliases or renaming and therefore I'm a bit hesitant of merging this change. As everyone would need to update their rules / dashboards.
Maybe a good way to go is to have both of them exposed and mark the old ones as deprecated... 🤔

@thde thats a great idea!

Thanks for the suggestion @thde ! I made the changes and tested on my setup. Here's what my modified build shows:
$ curl -s localhost:9136/metrics | grep rtorrent

# HELP rtorrent_client_requests_total A counter for requests from the rtorrent client.
# TYPE rtorrent_client_requests_total counter
rtorrent_client_requests_total{code="200",method="post"} 18
# HELP rtorrent_downloaded_bytes Total downloaded bytes, deprecated
# TYPE rtorrent_downloaded_bytes counter
rtorrent_downloaded_bytes 1.70632466289e+11
# HELP rtorrent_downloaded_bytes_total Total downloaded bytes
# TYPE rtorrent_downloaded_bytes_total counter
rtorrent_downloaded_bytes_total 1.70632466289e+11
# HELP rtorrent_exporter_build_info A metric with a constant '1' value labeled by version, revision, branch, goversion from which rtorrent_exporter was built, and the goos and goarch for the build.
# TYPE rtorrent_exporter_build_info gauge
rtorrent_exporter_build_info{branch="",goarch="amd64",goos="linux",goversion="go1.22.4",revision="unknown",tags="unknown",version=""} 1
# HELP rtorrent_info rtorrent info.
# TYPE rtorrent_info gauge
rtorrent_info{ip="",name="rtorrenthost"} 1
# HELP rtorrent_torrents_total Torrent count by view.
# TYPE rtorrent_torrents_total counter
rtorrent_torrents_total{label="",view="hashing"} 0
rtorrent_torrents_total{label="",view="main"} 122
rtorrent_torrents_total{label="",view="seeding"} 122
rtorrent_torrents_total{label="",view="started"} 122
rtorrent_torrents_total{label="",view="stopped"} 0
# HELP rtorrent_up Was the last scrape of rTorrent successful.
# TYPE rtorrent_up gauge
rtorrent_up 0
# HELP rtorrent_uploaded_bytes Total uploaded bytes, deprecated
# TYPE rtorrent_uploaded_bytes counter
rtorrent_uploaded_bytes 1.91207689583e+11
# HELP rtorrent_uploaded_bytes_total Total uploaded bytes
# TYPE rtorrent_uploaded_bytes_total counter
rtorrent_uploaded_bytes_total 1.91207689583e+11


Menu responsive problem

I have some problems with my menu.
The stackable option works only for mobile size but some elements get out of widow size before this size.
https://puu.sh/yklpk/a351a573ea.png
I tried to add "wide device" classes, but it works only in grid, apparently and I didn't find a way to correctly put a grid inside a menu.
Is there a way to have the mobile responsive comportment but for another size ?
or another way to fix my problem ?
If not I could transform my menu to a sidebar but... I prefer classic top menu.
here is the html of my menu, if it can help you.

                Series/Chapters

                        <?php
                        echo $this->tag->linkTo([
                            'admin/series/',
                            'Manage series',
                            'class' => ''
                        ]);
                        ?>

                        <?php
                        echo $this->tag->linkTo([
                            'admin/series/add',
                            'Add new series',
                            'class' => ''
                        ]);
                        ?>

                        <?php
                        echo $this->tag->linkTo([
                            'admin/chapter/add',
                            'Add new chapter',
                            'class' => ''
                        ]);
                        ?>

                Users/Teams

                        <?php
                        echo $this->tag->linkTo([
                            'admin/users/',
                            'Manage users',
                            'class' => ''
                        ]);
                        ?>

                        <?php
                        echo $this->tag->linkTo([
                            'admin/teams/',
                            'List teams',
                            'class' => ''
                        ]);
                        ?>

                        <?php
                        echo $this->tag->linkTo([
                            'admin/teams/add',
                            'Add new team',
                            'class' => ''
                        ]);
                        ?>

                Settings

                        <?php
                        echo $this->tag->linkTo([
                            'admin/settings/',
                            'General settings',
                            'class' => ''
                        ]);
                        ?>

                        <?php
                        echo $this->tag->linkTo([
                            'admin/settings/reader',
                            'Reader settings',
                            'class' => ''
                        ]);
                        ?>

                        <?php
                        echo $this->tag->linkTo([
                            'admin/settings/theme',
                            'Theme',
                            'class' => ''
                        ]);
                        ?>

                        <?php
                        echo $this->tag->linkTo([
                            'admin/settings/registration',
                            'Registration',
                            'class' => ''
                        ]);
                        ?>

            <a class="green item" href="<?php echo $this->url->get(''); ?>">

                Back to Reader

            <?php
            echo $this->partial('shared/header_session', ['logged_in' => $logged_in]);
            ?>

Hi @etshy, I couldn’t reproduce it in an isolated test case. Could you please fork this JSFiddle to see if you can reproduce it there?

I just add some items in the menu and start reducing the window size.
The width of all the button/links/dropdown menu is arounf 925px and the stackable put the different item on diffrent line at 768px and lower.
So there is some sizes where the menu go out of the window.
I'll post a jsFiddle when I'll have the time to do it.

Here is the jsFiddle https://jsfiddle.net/ca0rovs3/102/
Sorry for the wait, I was busy.
So, with the fiddle, if you resize horizontally, you'll see that the buttons at right will go out of the screen.
here is a screen from the fiddle :
https://puu.sh/ynvDQ/1eb232a6cb.png

@etshy Thank you. I think it works as expected; .stackable adds a breakpoint and some styles changes at 767px, and your menu is simply too big. Here’s the media-query and the variable’s inheritance:
https://github.com/Semantic-Org/Semantic-UI/blob/796d2f66e26ae5bb76c604fe6a36914ad3d2fe2a/src/definitions/collections/menu.less#L1214-L1215
https://github.com/Semantic-Org/Semantic-UI/blob/796d2f66e26ae5bb76c604fe6a36914ad3d2fe2a/src/themes/default/globals/site.variables#L524-L525
https://github.com/Semantic-Org/Semantic-UI/blob/796d2f66e26ae5bb76c604fe6a36914ad3d2fe2a/src/themes/default/globals/site.variables#L203-L208
It will probably be best to override the variable for the menu component only in installation_folder/src/site/collections/menu.variables: paste something like @largestMobileScreen: 957px; there and rebuild the framework.

Thanks for the explanation. I'll do that then.


Diagnose performance issue

We had a dataset of about 900 images which took 2.24 min to churn through ML_PREDICT. If we just manually write a for-loop in python over the json form of the same dataset and apply the model, it takes about 5s.
Current suspect is that the performance issue comes from the model being each time we invoke the ML_PREDICT pandas_udf.

@da-tubi do you remember how you partitioned that dataframe and what did you set the batch size to? Would you or @Renkai be able to confirm the cause? e.g., time the model load time and confirm how many times the pandas_udf was invoked?

Processing 1377 frames on GPU took 4.82 min to complete (including write the data to parquet).
%sql
CREATE OR REPLACE MODEL logo_sample_m
PREPROCESSOR 'rikai_ext.yolov5.pre_processing'
POSTPROCESSOR 'rikai_ext.yolov5.post_processing'
OPTIONS (
  num_workers=0,
  batch_size=1,
  device='gpu'
)
USING 'mlflow:///logo_detection';

create table tmp.da_preds as
from (
  from tmp.da_video_frames
  select
    video_uri,
    frame_id,
    ts,
    image_data,
    ML_PREDICT(logo_sample_m, image_data) as pred
)
select *
where size(pred.boxes) > 0

cache tmp.da_video_frames in memory, we could reduce the time from about 5 minutes to 1.65 minutes

Now it costs about 10 seconds to process a 30-seconds video.

https://github.com/eto-ai/rikai/issues/367 and https://github.com/eto-ai/spark-video/issues/14 would be helpful to improve performance!

cache tmp.da_video_frames in memory and repartition it in only one partition.
The total time could be reduced.
| tmp.da_video_frames | total frames | total time |  frames per second | how many seconds for 150 frames |
| S3 | 1377 | about 5m | | |
| memory (2 partition) | 1377 | 1.57m | 14 | 10  |
| memory (1 partition) | 1377 | 1.24m |  |  |

Using Rikai 0.0.12 with https://github.com/eto-ai/rikai/pull/361 patched.

I think this is good now


Android Basics: Done button missing -- change-app-theme

URL of codelab
https://developer.android.com/codelabs/basic-android-kotlin-training-change-app-theme?hl=ko#8
In which task and step of the codelab can this issue be found?
last step
Describe the problem
there is no escape btn

Thanks for your very useful lecture

@ghost
The issue that you presented to us is important, and I thank you for bringing it to our attention. Could you please let us know on what OS and browser it happened?

@ghost
The issue is closed as no further clarification of it was provided.


Segment fault using portmidi with callback

Sometimes when calling <backend>.open_input(<port_name>, callback=<callback>), excluding the first time, the application crash with segment-fault.
The strange fact is, without the callback all works fine, and when looking/debugging the code the problem seems located in portimidi.Input._check_error, that sometimes raise an OSError (bad pointer).
I've used this code to spot the problem, the segment-fault occur between "START 2" and "END" prints
import mido

backend = mido.Backend('mido.backends.portmidi', load=True)
port = backend.open_input()

def change_port(backend, port, port_name):
    port.close()
    return backend.open_input(backend.get_input_names()[0])

def change_port_callback(backend, port, port_name):
    port.close()
    return backend.open_input(backend.get_input_names()[0],
	                          callback=lambda *a: None)

print('START 1')
port = change_port(backend, port)
port = change_port(backend, port)
port = change_port(backend, port)
port = change_port(backend, port)
print('START 2')
port = change_port_callback(backend, port) # Here
port = change_port_callback(backend, port) # Or here
port = change_port_callback(backend, port) # Or here
port = change_port_callback(backend, port) # Or here
print('END')

Is this related to https://github.com/olemb/mido#known-bugs ?
PortMidi in Ubuntu is mistakenly compiled in debug mode, which causes it to print out error message instead of returning an error code:

    PortMidi: `Bad pointer'
    type ENTER...PortMidi call failed...

See https://bugs.launchpad.net/ubuntu/+source/portmidi/+bug/890600

This means here is no way for Mido to catch the error and raise an exception.

This regularity occurs in two places: in PortMidi when you close a port that has a callback, and in pygame when you close any port.

I'm running on ArchLinux and the package doesn't seem compiled in debug mode, here the PKGBUID:
https://projects.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/portmidi
Here the raised OSError:
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python3.4/threading.py", line 920, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.4/threading.py", line 868, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib/python3.4/site-packages/mido/backends/portmidi.py", line 216, in _thread_main
    self._receive()
  File "/usr/lib/python3.4/site-packages/mido/backends/portmidi.py", line 191, in _receive
    _check_error(num_events)
  File "/usr/lib/python3.4/site-packages/mido/backends/portmidi.py", line 35, in _check_error
    raise IOError(pm.lib.Pm_GetErrorText(return_value))
OSError: b"PortMidi: `Bad pointer'"

And here something related form "pypm" code (found googling) at https://bitbucket.org/aalex/pyportmidi/src/f84ec7fa21ad7e7adf4b92f19098340896db7faa/pypm.pyx?at=default#cl-234
if err < 0:
    s = Pm_GetErrorText(err)
    # Something's amiss here - if we try to throw an Exception
    # here, we crash.
    if not err == -10000:
        raise Exception,s
    else:
        print "Unable to open Midi OutputDevice=",OutputDevice," err=",s

I think I've discovered the problem.
In PortCommon._close() we call pm_Close(self._stream), and while the pm_Close() function free the midi reference (line 00879 http://portmedia.sourceforge.net/portmidi/doxygen/portmidi_8c-source.html),
the callback _thread loop could call Input._receive(), and in this we call Pm_Poll(self._stream), (line 00393), actually the function checks if the passed object is NULL, but for some reason (i'm not a ctype expert), the self._stream is not a NULL object:
form https://docs.python.org/3/library/ctypes.html
NULL pointers have a False boolean value

but running the following in portmidi.Input._receive()
print(self._stream, '->', bool(self._stream))

we get this
c_void_p(<somebignumber>) -> True

And here we get the segment-fault.
The "bug" can be solved using a lock (in _close() and _thread_main()) and checking the callback before the _receive() function, like this:
def _thread_main(self):
    [...]
    try:
        while self.callback and self._lock.acquire(False):
            self._receive()
            for message in self._parser:
                if self.callback:
                    self.callback(message)
            self._lock.release()
            sleep()

Or doing something like this in PortCommon (not tested):
    # And adding a lock
    def _close(self):
        _check_error(pm.lib.Pm_Close(self._stream))
        self._stream = None   # ctype take this as a NULL
        _state['port_count'] -= 1

But maybe there' s some way to ensure that the self._stream become a null reference when freed in pm_Close().

Ouch. I should have seen this when I wrote the code.
Anyway, I've added some syncronization now. I decided to got with an event instead of a lock as this makes the intention a little bit clearer. You can find the new version in my develop branch.
Here's the test program I used to reproduce the segfault:
import mido

i = 0
    while True:
    print(i)
    port = mido.open_input(callback=lambda message: None)
    port.close()
    i += 1

It now runs without any problems. Let me know how things are on your end.
Thanks for reporting this!

Now works perfectly.
Thanks again for this great project!


MariaDB  no longer supported - admin post screen 400

Issue Summary
I cannot access my posts. When I try to access my Posts (Drafts/Scheduled/Published) , I get the error message  "Request not understood error, cannot list posts. Could not understand request. "

For example when I try to access the Drafts tab, the call to
https://nicogreve.de/ghost/api/admin/posts/?formats=mobiledoc%2Clexical&limit=30&page=1&filter=status%3Adraft fails with the response:
{
	"errors": [
		{
			"message": "Request not understood error, cannot list posts.",
			"context": "Could not understand request.",
			"type": "BadRequestError",
			"details": null,
			"property": null,
			"help": null,
			"code": "ER_BAD_FIELD_ERROR",
			"id": "<removed: dont know if sensitive>",
			"ghostErrorCode": null
		}
	]
}

But the website itself works just fine. I can also open the Pages tab without any problems.
The error also occurs with all browser Addons disabled and running in private mode.
Steps to Reproduce
See above
Ghost Version
5.21.0
Node.js Version

v16.18.0
v16.17.1
v16.16.0

How did you install Ghost?
via npm
Database type
Other
Browser & OS version
ArchLinux - Firefox/Chromium
Relevant log / error output
No response
Code of Conduct

[X] I agree to be friendly and polite to people in this repository

@ngreve - Are you using Maria? I had that and reported here #15727, but then I realized it was because of Maria and finally did the swap over to mysql8 and it went away.

Yes, I am using MariaDB. Unfortunately switching to Mysql is not an option. My distro does not have an official package for mysql. If this is not fixable by the Ghost dev team, please close this issue and I will have to switch to another CMS

This impacted me as well.
The issue occurs in the subquery for counting conversions. MariaDB seems to struggle with referencing a table that is the more than the "parent" of the subquery. If the post WHERE clause is done more than one child down, the issue occurs.
This Gist has the original query and a manually updated one that produces the same results. Haven't run a query plan on it to see what (if any) performance impact would arise.
 Probably not inefficient from a query performance perspective, but inefficient from a data transfer perspective.)

Sorry for taking a couple of days to get to this. As of Ghost v5 the Ghost team are no longer maintaining support for any database in production other than MySQL 8.
I've explained this a few times on the forum, but I'll also explain here:
For MySQL5, MariaDB was a 100% compatible drop in replacement. Since then, the MariaDB team have opted to diverge and not keep compatibility with MySQL. Along side this, the ORM and query builder that we depended on to maintain compatibility have not matured enough or received enough contributions to fully handle the differences.
These things combined left our tiny team with the burden of handling incompatibilities, and it was actively detracting from us being able to deliver new features.
Therefore, as of v5 we declared MySQL8 the only DB supported in production knowing full well with the features we intended to build that at some point we'd hit a breaking change in MariaDB, which has now happened.
Ghost is an open source project, and if there's an individual or preferably a group of individuals who want to take on the burden of supporting MariaDB, that is of course possible however I think that realistically the effort belongs in knex.

Thanks to everyone here in elaborating. I've just encountered this error today, when I'd been trying to switch from MySQL to MariaDB and wondered if I'd just messed something up.
Maybe I'll consider running an older version of Ghost instead. 🤔 I do not need any of the subscription features; and since I'm self-hosting low-traffic blogs on a small server I can't really enlarge, memory usage is becoming a problem. I run both MariaDB and MySQL. MySQL runs 3 Ghost blogs and nothing else, and has ~50% bigger memory use than MariaDB running 11 app DBs...

Any advice to migrate from MariaDB to MySQLv8?

There's loads of discussions around this on the forum: https://forum.ghost.org/t/how-to-migrate-from-mariadb-10-to-mysql-8/29575
I'm going to close this issue now. If someone wants to take on the work of mariadb compatibility, we can reopen.

Introduced by:
https://github.com/TryGhost/Ghost/commit/22fe1c01de5bde5075ddb942bd8cba6e9e4d700f#diff-3149f93d170c65cd0c97a204a2d19c6102351b3c542c357aa342874699521237R1363
Seems to be that can be fixed by simple escaping of table's name (posts.id to `posts`.id)


Fixed error format index

When retrieving data from instagram but it failes, for what ever reason, the error logger breaks the execution because of a syntax error with str().format().

@jokerejoker Please can you change the line to this:
msg = _('Failed to retrieve media - Reason: {0}').format(e)

Python 2.6 and before (as well as Python 3.0) require that you number the placeholders:
'{0} {1}\n'.format(numb, foo)

We should be using named arguments.  Make it easier to read but I'll do that.
Thanks.

@mishbahr I have changed the variable to a key argument :)


Loading SNOMED for testing purposes

Hey B2ihealthcare team,
We are trying to quickly load the SNOMED CT resources into snow-owl version 7 (retrieved using this https://docs.b2i.sg/snow-owl/index/installation) for testing purposes. According to the documentation (https://github.com/b2ihealthcare/snow-owl/blob/7.x/documentation/src/main/markdown/configuration_reference.md) there should be a way to turn of indexing. At part "Component Identifier Configuration" there is a setting with name "source" which can have two possible values: INDEX and MEMORY. The MEMORY setting is not an acceptable configuration so we are wondering if there is another way to achieve this. Could you help us with this issue?
Thanks in advance!
PS: Do you already have a docker file for snow-owl?

@mirind4, thank you for your questions.
Not sure exactly which index would you like to turn off?
That configuration reference is for the 6.x version of Snow Owl and it is currently being migrated over to the new https://docs.b2i.sg site.
You can find the available configuration options for that node in this class.
Regarding Snow Owl Docker images:
You can find the current state of the official Snow Owl Docker image in this repository/branch:
https://github.com/b2ihealthcare/snow-owl-docker/tree/7.x
Here is some guidance on how to import an RF2 release into Snow Owl:
To import a SNOMED CT RF2 release after successfully starting Snow Owl Server, you have two options:

Use the sctimport console command

Connect to the OSGi console via telnet localhost 2501 and use the sctimport rf2_release command.
Example command to import the SNOMED CT INT Release:
sctimport rf2_release -t SNAPSHOT -b MAIN -v  SNOMEDCT
Replace the  with an actual file path to a local SNOMED CT RF2 release and execute the command.
You can import a FULL release as well, but that will take more time to complete (change the -t argument value to FULL).
The console will ask for a username that will be used as an author for each commit made by the RF2 importer.
You can use any valid username at this point, by default there is a snowowl user available.
The importer will import the SNAPSHOT or FULL content based on your decision (-t argument) to the MAIN branch (-b argument) of the SNOMED CT repository.

Use the SNOMED CT Import REST API

Endpoint category is available here: http://localhost:8080/snowowl/snomed-ct/v3/#/imports
First, an RF2 import configuration must be created. This configuration tells Snow Owl how an RF2 release should be treated when importing it into the SNOMED CT index.
Use the POST /imports endpoint for that with the following JSON body:
{
  "branchPath": "MAIN",
  "codeSystemShortName": "SNOMEDCT",
  "createVersions": true,
  "type": "SNAPSHOT"
}

This responds with a Location header where you can find the ID for this import configuration.
To start the import, an RF2 file must be uploaded for this configuration via the POST /imports/:importId/archive endpoint.
To monitor the import process, you can poll the import via GET /imports/{importId}.
The status will change to COMPLETED when the import is done.
After successfully importing the SNOMED CT RF2 content, you can use the various SNOMED CT Component APIs to query and/or modify the data.
Hope this helps. Let me know if you have any further questions.
Cheers,
Mark

Hey @cmark,
First and foremost sorry for the late response, I just got back from vacation (from Balaton :) ).
Thanks for your detailed answer! We have picked the second approach you mentioned and we could successfully import SNOMED CT contents. Right now we are learning and investigating the terminology service, following the SNOMED API and SNOMED FHIR Services documentations.
I think the issue can be closed, thanks again for your support.
Üdvözlettel,
mirind4

Hi @mirind4,
No worries, thanks for your reply. I hope you have had a great time at Balaton. :)
Glad to hear you have successfully imported your first SNOMED CT content into your Snow Owl instance. May I ask which RF2 Edition/Extension you have imported?
If you have any further questions/issues do not hesitate to contact us.
Üdv.:
Márk

Hi @cmark,
We have imported the SNOMED CT International downloaded from SNOMED INTERNATIONAL MLDS.
Thanks again for your kind help!
Keep it up!
Üdvözlettel,
Dániel


Messed up transformation of groups

See for example: The clip path is not transformed in the PDF.
The bug also appears sometimes for <image> in a <g>roup.

I debugged a lot to understand the code structure and find a workaround in my debug branch. It works for clip_line.svg example above but messes up on other instances, e.g. the tests/example.svg.
Any ideas on why the code fails?

Hey!
Sorry for the late response. Unfortunately, I don't have the bandwidth right now to fix this issue. The culprit could be that the group code seems to be doing nothing with the transform it's been given at all --- but the whole transform handling could be made more robust.
Eventually, I want to fix this by using transform matrices in the PDF content stream more rather than the pre-baked coordinates using the CoordToPdf struct ...


enhancement(http): add error codes 20029 and 50055

Add two new HTTP error codes:

20029: The write action you are performing on the server has hit the write rate limit1
50055: Invalid Guild2

Part of #1171.

Codecov Report

Merging #1326 (94bd78c) into main (ea71104) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main    #1326   +/-   ##
=======================================
  Coverage   30.97%   30.98%
=======================================
  Files         365      365
  Lines       14495    14501    +6
=======================================
+ Hits         4490     4493    +3
- Misses      10005    10008    +3

Impacted Files
Coverage Δ

http/src/api_error.rs
8.72% <100.00%> (+1.12%)
:arrow_up:

http/src/routing/route_display.rs
15.54% <0.00%> (-0.38%)
:arrow_down:

http/src/routing/route.rs
7.14% <0.00%> (-0.28%)
: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 ea71104...94bd78c. Read the comment docs.


Using NetBeauty together with Visual Studio Installer Projects

Hey guys,
NetBeauty works great when building the application from VS. To deliver the app, I like to use the VS Installer Project.
The installer uses the publish item to gather the files from the project. However, it looks like, that the installer uses the not beautyfied version where all the libs are placed in the root folder
Anyone has an idea?

I found a solution. I added a lib folder to the installation folder and used a lot of filters to control which file goes where...

I found a solution. I added a lib folder to the installation folder and used a lot of filters to control which file goes where...

can you upload a demo to show us how to achieve this? and it would be great if i put it into NetBeauty2 as example project.

Yeah sure, where should I upload the test solution?

in this issue is fine.

Not cleaned up yet... But I hope you figure it out...
NetBeauty2InstallerDemo.zip

yeah, don't worry about this


Set up "push tag to release" workflow

Adopts the release workflow from https://github.com/bazel-contrib/rules-template, which includes automatic publishing to the Bazel Central Registry (BCR).

@eed3si9n Please take a look at the CONTRIBUTING.md file, releasing will require you to add the Publish to BCR app to this repo and your fork of the bazel-central-registry repo as one-time setup.
The README currently lists the first version as 0.1.0, but feel free to use a different one. Since I can't test the workflow, please let me know if anything doesn't work and I can help.


feat: Select and insert widgets

Builds a framework to define widgets allowing users to select some sub-expressions of the main goal to generate a tactic call. Four examples using this framework are included, generating calls to tactics conv, congrm and gcongr and generating new calc steps. Also includes a calc tactic code action to start a calc proof.

I apologize for the typos. I think there isn't much risk in merging this since it does not produce any visible trace in Mathlib, and users will probably suggest a lot more new features if they can use it in normal Mathlib. I can already tell you the calc widget will be slightly better once https://github.com/EdAyers/ProofWidgets4/pull/27 will be available, but it will be easy to add later.

bors d+

bors merge


Compiling Error (Version 0.7.1h of Psych Engine)

Describe your bug here.
It is giving me an error, saying that it is missing "Build.xml". Is there a current solution to the said problem?
Command Prompt/Terminal logs (if existing)
Error: Could not find include file "C:/HaxeToolkit/haxe/lib/hxCodec/2,6,1/project/Build.xml

Are you modding a build from source or with Lua?
Source
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
No

I removed HxCodec then reinstalled it using haxelib git hxCodec https://github.com/polybiusproxy/hxCodec.git., it is still giving me the same error.

I managed to reinstall HxCodec, now I am getting this error:
"Unix.Unix_error(62, "recv", "")"
Is anyone able to help me?


Image Releases are partially failing on main

Pre-requisites

[X] I have double-checked my configuration
[X] I have tested with the :latest image tag (i.e. quay.io/argoproj/workflow-controller:latest) and can confirm the issue still exists on :latest. If not, I have explained why, in detail, in my description below.
[X] I have searched existing issues and could not find a match for this bug
[ ] I'd like to contribute the fix myself (see contributing guide)

What happened? What did you expect to happen?
The Windows build has been failing on CI since https://github.com/argoproj/argo-workflows/pull/13145.
While the Windows build is not used often, this means that the combined manifest for latest is not released either, per https://github.com/argoproj/argo-workflows/issues/13556#issuecomment-2331780589
Version(s)
main, does not affect existing versions (yet)
Paste a minimal workflow that reproduces the issue. We must be able to run the workflow; don't enter a workflows that uses private images.
n/a

Logs from the workflow controller
n/a

Logs from in your workflow's wait container
n/a

@Joibel could you look into this since it seems to be caused by a PR of yours?


Remove "all float64s" comment from PointCloud schema

These fields do not need to be float 64s, they can also be float 32. This confused a customer who thought they had to send float64.
@jtbandes do we support the other field types or only float32/64? If we don't support the other field types we should remove them.

packed element field supports all of the numericEnum types technically. We don't do anything in studio to make sure that they are a specific numeric type from the looks of it


[usecase-embedding] Add 4 use case for validating XWalkUIClient metho…

…d 'onConsoleMessage' and 'onReceivedTitle'
Impacted tests(approved): new 4, update 0, delete 0
Unit test platform: [Android]
Unit test result summary: pass 4, fail 0, block 0

LGTM


Module does not work on RHEL 7

Affected Puppet, Ruby, OS and module versions/distributions

Puppet:  5.5.6 (PE 2018.1.4)
Module version: 3.2.0

How to reproduce (e.g Puppet code you use)
dwhite2.sec.dte.cert.org.yaml.txt
What are you seeing
etc-rsyslog.conf.txt
and /etc/rsyslog.d/ is empty
What behaviour did you expect instead
Previous /etc/rsyslog.conf: (trimmed of comment lines)
etc-rsyslog.conf-orig.txt
Previous /etc/rsyslog.d/listen.conf:
etc-rsyslog.d-listen.conf-orig.txt
Output log
puppet-run-2018-09-07-09-48-15.txt
Use "less -r" to view without garbage

By default this module places all config in a file called /etc/rsyslog.d/50_rsyslog.conf (See: https://github.com/voxpupuli/puppet-rsyslog#config-file), have you checked for that file?
This was done as this module is used across a variety of distros and use cases (including managing a config file mounted as a volume into an Rsyslog docker container). While making this an option was considered, it was passed on as it is purely a preference rather than providing any additional/better functionality. That said, you can manually override the target_file for each config option by adding the target_file option to config block like so:
rsyslog::client::global_config:
  'WorkDirectory':
    value: '/var/lib/rsyslog'
    type: 'legacy'
    target_file: '/etc/rsyslog.d/10_global.conf

While we do support legacy Rsyslog config options, this module's primary target is the Rsyslog 7+ rainerscript style configuration.

@linuxdan any updates on this issue?

I will leave it open then

@linuxdan Any updates? Are you still seeing this issue?

Brand new CentOS 7 server, loaded with PuppetServer 6.3.0 and Puppet Agent 6.4.1
(Latest / greatest on https://yum.puppet.com/puppet6/el/7/x86_64/ )
and v3.3.0 of this module.
All I have in the common.yaml is
classes:

rsyslog::client

Running puppet agent still wipes out the contents of /etc/rsyslog.d and /etc/rsyslog.conf and inserts nothing.
The file that is deleted - /etc/rsyslog.d/listen.conf - is from the systemd RPM.
There are no instructions about basic client setup, so IMHO, it is still busted.

@linuxdan The docs need some updating to make this clear, but by default the module will manage and replace the /etc/rsyslog.conf file and clear the /etc/rsyslog.d directory:
defaults: https://github.com/voxpupuli/puppet-rsyslog/blob/master/data/common.yaml#L8-L9
config dir code: https://github.com/voxpupuli/puppet-rsyslog/blob/master/manifests/base.pp#L47-L55
config file (and one more config dir) code: https://github.com/voxpupuli/puppet-rsyslog/blob/master/manifests/base.pp#L64-L84
As for client configuration, the documentation addresses most of the options for client configuration, but this is designed for Rsyslog >= 8.x and expects mostly rainerscript to be used.
There is a large major release coming up, but as I'm largely the only person working on it, it is taking some time.

@dhollinger Would you agree to add some typical default values to the module data? I'd be able to provide defaults for Redhat and Debian. This would ensure that the module would leave a system's log service in a working condition.

I'd be up for defaults for OS-types, though it'd probably be best to keep it to the OS defaults and it'd have to be in the data/ directory.

Hey, folks.  I finally had time to revisit this.  It works for me now mostly thanks to the examples/common.yaml file.
So, here is the default /etc/rsyslog.conf for rsyslog-8.24.0-41.el7_7.2.x86_64
I trimmed out much of the descriptive comments and uncommented the forwarding rules:
# rsyslog configuration file

#### MODULES ####
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imjournal # provides access to the systemd journal

#### GLOBAL DIRECTIVES ####
$WorkDirectory /var/lib/rsyslog
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
$OmitLocalLogging on
$IMJournalStateFile imjournal.state

#### RULES ####
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
authpriv.*                                              /var/log/secure
mail.*                                                  -/var/log/maillog
cron.*                                                  /var/log/cron
*.emerg                                                 :omusrmsg:*
uucp,news.crit                                          /var/log/spooler
local7.*                                                /var/log/boot.log

# ### begin forwarding rule ###
$ActionQueueFileName fwdRule1
$ActionQueueMaxDiskSpace 1g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1

*.* @@remote-host:514
# ### end of the forwarding rule ###

and /etc/rsyslog.d/listen.conf :
$SystemLogSocketName /run/systemd/journal/syslog

Here is the initial YAML file I worked out from looking at the example:
---
# Node: CentOS 7

classes:
  - rsyslog::client

rsyslog::client::global_config:
  WorkDirectory:
    type: legacy
    value: '/var/lib/rsyslog'
  ActionFileDefaultTemplate:
    type: legacy
    value: "RSYSLOG_TraditionalFileFormat"
  ActionQueueFileName:
    type: legacy
    value: 'fwdRule1'
  ActionQueueMaxDiskSpace:
    type: legacy
    value: '1g'
  ActionQueueSaveOnShutdown:
    type: legacy
    value: 'on'
  ActionQueueType:
    type: legacy
    value: 'LinkedList'
  ActionResumeRetryCount :
    type: legacy
    value: '-1'

rsyslog::client::modules:
  imjournal:
    config:
      StateFile : 'imjournal.state'
  imuxsock:
    config:
      'SysSock.Use' : 'on'
      socket: '/run/systemd/journal/syslog'

rsyslog::client::legacy_config:
  messages_rule:
    key: "*.info;mail.none;authpriv.none;cron.none"
    value: "/var/log/messages"
  auth_priv_rule:
    key: "auth,authpriv.*"
    value: "/var/log/secure"
  mail_rule:
    key: "mail.*"
    value: "-/var/log/mail.log"
  cron_rule:
    key: "cron.*"
    value: "/var/log/cron"
  emergency_rule:
    key: "*.emerg"
    value: ":omusrmsg:*"
  news_rule:
    key: "uucp,news.crit"
    value: "/var/log/spooler"
  boot_rule:
    key: "local7.*"
    value: "/var/log/boot.log"
  remote_host_rule:
    key: "*.*"
    value: "@@remote-host:514"

# vim: ft=yaml:sts=2:sw=2:et

And the resulting /etc/rsyslog.d/50_rsyslog.conf
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$ActionQueueFileName fwdRule1
$ActionQueueMaxDiskSpace 1g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1
$WorkDirectory /var/lib/rsyslog
module(load="imjournal"
          StateFile="imjournal.state"

)
module(load="imuxsock"
          SysSock.Use="on"
          socket="/run/systemd/journal/syslog"

)
# auth_priv_rule
auth,authpriv.*     /var/log/secure

# boot_rule
local7.*     /var/log/boot.log

# cron_rule
cron.*     /var/log/cron

# emergency_rule
*.emerg     :omusrmsg:*

# mail_rule
mail.*     -/var/log/mail.log

# messages_rule
*.info;mail.none;authpriv.none;cron.none     /var/log/messages

# news_rule
uucp,news.crit     /var/log/spooler

# remote_host_rule
# *.*     @@remote-host:514

I thought that looks great.
However, I think the ordering matters, so I wanted to get it as close to the original as possible.
Using priority I created my v2 YAML file
---
# Node: CentOS 7 Console Workstation/Server lb-gsf14-console-05.lab.nascom.nasa.gov

classes:
  - rsyslog::client

rsyslog::client::global_config:
  WorkDirectory:
    priority: 12
    type: legacy
    value: '/var/lib/rsyslog'
  ActionFileDefaultTemplate:
    priority: 13
    type: legacy
    value: "RSYSLOG_TraditionalFileFormat"
  ActionQueueFileName:
    priority: 99
    type: legacy
    value: 'fwdRule1'
  ActionQueueMaxDiskSpace:
    priority: 99
    type: legacy
    value: '1g'
  ActionQueueSaveOnShutdown:
    priority: 99
    type: legacy
    value: 'on'
  ActionQueueType:
    priority: 99
    type: legacy
    value: 'LinkedList'
  ActionResumeRetryCount :
    priority: 99
    type: legacy
    value: '-1'

rsyslog::client::modules:
  imjournal:
    priority: 11
    config:
      StateFile : 'imjournal.state'
  imuxsock:
    priority: 10
    config:
      'SysSock.Use' : 'on'
      socket: '/run/systemd/journal/syslog'

rsyslog::client::legacy_config:
  messages_rule:
    key: "*.info;mail.none;authpriv.none;cron.none"
    value: "/var/log/messages"
  auth_priv_rule:
    key: "auth,authpriv.*"
    value: "/var/log/secure"
  mail_rule:
    key: "mail.*"
    value: "-/var/log/mail.log"
  cron_rule:
    key: "cron.*"
    value: "/var/log/cron"
  emergency_rule:
    key: "*.emerg"
    value: ":omusrmsg:*"
  news_rule:
    key: "uucp,news.crit"
    value: "/var/log/spooler"
  boot_rule:
    key: "local7.*"
    value: "/var/log/boot.log"
  remote_host_rule:
    priority: 99
    key: "*.*"
    value: "@@remote-host:514"

# vim: ft=yaml:sts=2:sw=2:et

And got this /etc/rsyslog.d/50_rsyslog.conf
module(load="imuxsock"
          SysSock.Use="on"
          socket="/run/systemd/journal/syslog"

)
module(load="imjournal"
          StateFile="imjournal.state"

)
$WorkDirectory /var/lib/rsyslog
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
# auth_priv_rule
auth,authpriv.*     /var/log/secure

# boot_rule
local7.*     /var/log/boot.log

# cron_rule
cron.*     /var/log/cron

# emergency_rule
*.emerg     :omusrmsg:*

# mail_rule
mail.*     -/var/log/mail.log

# messages_rule
*.info;mail.none;authpriv.none;cron.none     /var/log/messages

# news_rule
uucp,news.crit     /var/log/spooler

$ActionQueueFileName fwdRule1
$ActionQueueMaxDiskSpace 1g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1
# remote_host_rule
*.*     @@remote-host:514

Module doesn't work RHEL8 either. It wipes out existing configuration without providing any sensible defaults, same as RHEL7. That's not a normal behavior for a puppet module

@vchepkov I don't generally work within RHEl7 or RHEL8 anymore, so I'd love it if someone could contribute some default configurations for each OS. I'd do it, but I currently don't have time to spin up a container or VM of every OS and transcribe the defaults to the module.

From what I can see from the code, module doesn't set any sensible defaults for any OS, unless I miss something.
Ironically, the only configuration line it sets is also wrong.
instead of $IncludeConfig /etc/rsyslog.d/*.conf it should be include(file="/etc/rsyslog.d/*.conf" mode="optional") since it should be in new format, right?
I would be happy to provide defaults for RHEL, but I have to tell in advance, writing tests is not something that I am good at.

@vchepkov At the time of the writing of this module include() wasn't available in rainerscript yet, at least not to my knowledge. Additionally, any "defaults" would be set in the data/ directory as this module uses module data for defaults rather than params.pp

Correct, I was pointing out that lack of defaults in data/ is common for all OS, not just RHEL as this ticket reports

Is there any progress for this topic ? Is there any interest from the maintainers to get working defaults ?

The examples above worked for me - had to change
rsyslog::client
to
rsyslog::config
but it works for me using the latest version


Add neptune implementations for instance and dimension interface

What
Add neptune implementations for instance and dimension interfaces to satisfy requirements for import process
How to review
Sanity check
These PRs include applications which exercise this code:
https://github.com/ONSdigital/dp-import-tracker/pull/38
https://github.com/ONSdigital/dp-observation-importer/pull/54
https://github.com/ONSdigital/dp-dimension-importer/pull/51
Who can review
anyone

I will be adding some tests!


Refs #34711 -- Added reference to TypedChoiceField in ChoiceField docs.

Added a small note referring users to TypedChoiceField in the ChoiceField description if they are dealing with types other than strings – I thought this may help avoid confusion in cases like Ticket 34711
I didn't fuss over the wording too much, please update as needed.

I rebased onto main and proposed a re-wording, including the use of admonition as Mariusz requested.

Current proposal:


"No balance to pay the invoice"

Paying an invoice with over 50% of the current lightning balance will show an error when the payment is being attempted yet it is still attempting to pay. Very confusing UX. Happening on master.

this is likely my fault from the refactor I did in #472


attempted at enabling codecov

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@352d45b). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff            @@
##             master    #546   +/-   ##
========================================
  Coverage          ?   71.6%
  Complexity        ?     720
========================================
  Files             ?      49
  Lines             ?    3473
  Branches          ?     424
========================================
  Hits              ?    2487
  Misses            ?     796
  Partials          ?     190

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 352d45b...29d101d. Read the comment docs.


feat(discord): save the noon enabled state in Firebase

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines
[x] Tests for the changes have been added/updated (for bugfix/feature)
[ ] Docs have been added/updated (for bugfix/feature)

PR Type
What kind of change does this PR introduce?

[x] Feature (a new feature)
[ ] Bugfix (a bug fix)
[ ] Style (changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc))
[x] Refactor (a code change that neither fixes a bug nor adds a feature)
[x] Perf (a code change that improves performance)
[x] Test (adding missing tests or correcting existing tests)
[ ] Build (changes that affect the build system, CI configuration or external dependencies)
[ ] Docs (changes that affect the documentation)
[x] Chore (anything else), please describe:

What is the current behavior?

What is the new behavior?
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information
Closes #966.

@vvalembois basically this new PR will allow us to change the enabled state of the noon feature when the command is sent.
It will also check and update safely the Firebase guild to make sure that the objects versioning is tailor made.


Workflow for dev releases is failing

Issue description
See https://github.com/discordjs/discord-api-types/actions/runs/8145610559/job/22262268262
According to npm, the last successful @-next release was 0.37.36-next.0d47c69.1677334692, which shows it's not a one-off issue and it's been happening for a while
Code sample
No response
Package version
main
Runtime
Other / Browser
Runtime version
N/A
Priority this issue should have
Medium (should be fixed soon)

I'm aware now, fixing it right now XD

Fixed


added Value.Compare()

Value.Compare() compares two values performing best-effort comparisons.
I wrote it to fix #60, but the final solution there turned out to be much better. In any case, I think this could be helpful enhancement, so here it is.

Good idea :+1:


Add inverse link mixin and modifier class

Inverse links are a fairly common thing for service teams to need to implement, and we often see issues with the focus state being implemented incorrectly.
The upcoming changes to link styles will add even more nuance, so providing a reusable mixin and modifier class will save users time and help to make it more likely that link styles are implemented well.
We can also use this new mixin when we update the header component.
Closes #1916

@36degrees Change looks good, but I'm not sure https://github.com/alphagov/govuk-frontend/pull/2213/commits/6199cfd364965842a55656530a535064db14ddf0 belongs in this PR?


Feature/adding types to postgres db tasks

Added the possibility of field type cast in search and add index Postgresql database tasks.

Not for master branch

@iashaev couldn't you just change base branch of the PR instead of opening new one?


fish: Add fishEnvPreInit option

Motivation for this change
This new option allows for replacing the sourcing of /etc/fish/nixos-env-preinit.fish with another file, optionally passing it through fenv. The idea here is that non-NixOS users can do something like
fish.override {
  fishEnvPreInit = {
    path = "${nix}/etc/profile.d/nix-daemon.sh";
    bash = true;
  };
}

and this will set up their shell environment for Nix just as though they were running NixOS.
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[X] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

The only difference this makes to a default build is it adds single-quotes around the /etc/fish/nixos-env-preinit.fish path. This does mean it needs to do a rebuild, but it should behave the same at runtime in the absence of an override.

I was somewhat tempted to try and autodetect the bash flag based on the extension, thus allowing this to be specified as a string, but I thought that might be unnecessarily complicated.

@cole-h I updated this PR to use the new approach