When using props as array, it's giving an error

import React, { Component } from 'react';
import PropTypes from 'prop-types';

const videoExtensions = ['mp4', 'webm', 'ogg'];

export default class Video extends Component {
  static propTypes = {
    mp4: PropTypes.string.isRequired,  // eslint-disable-line
    webm: PropTypes.string, // eslint-disable-line
    ogg: PropTypes.string, // eslint-disable-line
  };

  render() {
    return (
      <video>
        {
          videoExtensions.map(ext => <source key={ext} src={this.props[ext]} type={`video/${ext}`} />)
        }
      </video>
    );
  }
}

When removing the eslint-disable-line, keep getting errors, any suggestions?

What errors do you get?
It looks like you're dynamically extracting prop values; there's no way a linter could know that's what you're doing. It'd be better to either hardcoded them everywhere, or, dynamically compute them everywhere.

I just want to verify that this is the only option, as I though...
Thanks!


Sharding and reporting issue

When tests are executed with shardTestFiles option set to true, reports per each file are created separately, since onPrepare is called per each file and only on this level new Reporter instance is added to Reportes. Can there be a way to create more global onPrepare function, to attach something like whole suite listener once per suite?
Here is example config:
exports.config = {
    seleniumAddress: seleniumAddress || 'http://localhost:4444/wd/hub',
    multiCapabilities: [

        {
            'browserName': 'chrome',
            'version': browserVersion || '',
            shardTestFiles: true,
            maxInstances: 1
        }
    ],
    suites: {
        homepage: ['specs/loginTest.js', 'specs/angularTest.js']
    },
    jasmineNodeOpts: { showColors: true,
        isVerbose: true,
        includeStackTrace: true
    },
    onPrepare: function () {
        require('jasmine-reporters');
        var HtmlReporter = require('protractor-html-screenshot-reporter');
        jasmine.getEnv().addReporter(new HtmlReporter({
            baseDirectory: 'screenshots33', docTitle: 'my reporter'
        }));
    }
};

At this point only last executing spec will be reported (since it is overridden). But i think it should be grouped.

Hi there,
I tried this but is doesn't seem to work for me, I still only see one of the shards in the results. I also saw this which seems to indicate the feature isn't available yet;
https://github.com/jintoppy/protractor-html-screenshot-reporter/issues/43

Is this resolved anywhere? I see the files only for one of the shards as well

I experience the same problem with each shard overwriting the previous report (protractor 3.2.2, jasmine-reporters 2.1.1).
And lightsaway's solution does not work for me, too. For every single spec being tested a new reporter instance is created. States in the scope of the config file are not stored across the test runs.

Hi, is there any working solution? Tried singleton, and https://github.com/bhovhannes/junit-report-merger
And both does not work.

Yeah, this doesn't work for me either... sadface

Me too. :(

@nnennajohn @qualityshepherd
I did reporting with:
https://github.com/bhovhannes/junit-report-merger
So logic is -

Generating separate junit xml for each thread
After - using this merger in afterLaunch function in config to combine all together. Here is my code, hope this might help

combineReportFiles(SPECS_REPORTS_PATH, JUNIT_TEST_REPORT, exitCode) {
        // Since shardTestFiles = true; executes onPrepare() each time - our report files are overwritten each execution.
        // Logic is to report results from test files each to his own file, and then combine into one XML file,
        // that is suitable for Jenkins

        var xmlMerger = require('junit-report-merger');
        var fs = require('fs');
        var defferMerge = Promise.defer();

        let filesList = fs.readdirSync(SPECS_REPORTS_PATH);
        let filesWithPaths = filesList.map(function (filename) {
            return `${SPECS_REPORTS_PATH}/${filename}`;
        });

        console.log('Combining all XML files with specs reports into one...', filesWithPaths);
        // It took me 2 days to understand that 3rd parameter is options, not callback.
        xmlMerger.mergeFiles(JUNIT_TEST_REPORT, filesWithPaths, undefined, function (err, result) {
            if (err) {
                console.error(err, '\n Problems while combining test results to single file.')
            } else {
                console.log(`JUNIT test report created: ${JUNIT_TEST_REPORT} `);
            }
            defferMerge.resolve(exitCode);
        });
//Returning promise - protractor will wait for it to be resolved before finishing nodejs process.
        return defferMerge.promise;
    };

I think I tried the singleton option. It appears that since protractor.conf.js is called multiple times when shardTestFiles is set, that its not fundamentally a singleton anymore...

var Base = require('mocha').reporters.Base
var mochaMulti = require('mocha-multi')

var getReporter = function(runner, options) {
		if (global.currentReporter) {
			console.log("was already populated")
			Base.call(global.currentReporter, runner)
			global.currentReporter._reporters.forEach(reporter => Base.call(reporter, runner))
		} else {
			console.log("we hit/n/n/n\n\n\n\n")
			console.log(global.currentReporter)
			global.currentReporter = mochaMulti
			global.currentReporter(runner, options)
		}
		console.log("returning", currentReporter)
}

looked at code... they start a new command line process each time for each file, which seems stupid >:(


⚠ Bofrost.be has degraded performance

In 8aa36c9, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1414 ms

Resolved: Bofrost.be performance has improved in 963dcfc.


In example scenes, middle clicking gives me an error: Invalid access to property or key 'keycode' on a base object of type 'InputEventMouseButton'.

Issue description
Middle clicking gives me an error in the example scenes: Invalid access to property or key 'keycode' on a base object of type 'InputEventMouseButton'..  The error is on line 92 in player_character_body_2d_4.3.gd.
Steps to reproduce

Add Phantom Camera to a new project and enable plugin.
Open 2d_example_scene.tscn and run it.
Middle click the mouse.

(Optional) Minimal reproduction project
No response

Resolved in #415
Thanks for the report!


Consider extracting Windows ADMX MSI files using /a switch

Hi. The Windows 10 and Windows 11 ADMX MSI files support extraction through the /a (administrative install) switch. This doesn't require installation / uninstallation / admin privileges, so you may prefer this method over the current approach.

@msfreaks Please close this issue.


Refactor!

Add excerptBreakpoint function that adds a <span id="read-more" /> element where the excerpt comment was found
Convert to ESM and upgrade all packages and convert to Typescript

@manovotny just a heads up that I forked your project and added additional breaking functionality, converting it to Typescript + ESM in the process! Great work on the original package, let me know if you're interested in this gigantic swing in the upstream package, completely understand if not, just wanted you to see!
(The use case I made this for was to directly link to the first unread paragraph on read more links for https://eligundry.com/blog)

Nice work, @eligundry! I would be interested in pulling the changes up stream, so fire away if you want!


Issue with injected JS file (page select widget)

I noticed the page select widget wasn't showing any pages, and a look at the console showed two static paths merged into one.
I originally raised this as a djangocms-link issue but was asked to raise here as it's a cms core issue.
Here's a screenshot to highlight the issue (top line, yellow highlight);

This only occurs when DEBUG = False
Environment

Python version: 2.7
Django version: 1.10.6
django CMS version: 3.4.2

Does your S3 bucket contain only hashed files or also the original ones? I'm asking because while CMS would be able to detect the correct path, but won't be able to guess hashed filename.
Could you try this branch to see if it fixes the problem for you https://github.com/divio/django-cms/pull/5929

@vxsx yeah the bucket contains the originals alongside the hashed files.
I'll try to take a look at that branch as soon as possible but I'm being kept busy fixing a few other bits.
If it helps, my storage classes look like this;
from django.conf import settings
from django.contrib.staticfiles.storage import ManifestFilesMixin
from django.utils.deconstruct import deconstructible

from storages.backends.s3boto import S3BotoStorage

@deconstructible
class DeconstructableS3BotoStorage(S3BotoStorage):
    pass

@deconstructible
class MediaStorage(S3BotoStorage):
    location = '{sub_bucket}/{folder}'.format(
        sub_bucket=settings.AWS_S3_SUB_BUCKET,
        folder=settings.MEDIAFILES_LOCATION
    )

    def path(self, name):
        return self._normalize_name(name)

@deconstructible
class StaticStorage(ManifestFilesMixin, S3BotoStorage):

    # https://s3-{region}.amazonaws.com/{bucket}/{sub_bucket}/static
    location = '{sub_bucket}/{folder}'.format(
        sub_bucket=settings.AWS_S3_SUB_BUCKET,
        folder=settings.STATICFILES_LOCATION
    )


Updates to JsonReader and JsonWriter Based on Additional Requirements

Description
Adds additional APIs to JsonReader and JsonWriter based on needs when converting JsonPatchOperation to using stream-style serialization.
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

API change check for com.azure:azure-core
API changes have been detected in com.azure:azure-core. You can review API changes here


Not Working in New Mac-book M1

Following is shown when i try to run application

@zmstone Thanks for transfer to here.
@dedhdude Hi, we already support running on M1, please download the correct installation package. Refer to the following links and screenshots.
Download here: https://github.com/emqx/MQTTX/releases/download/v1.7.3/MQTTX-1.7.3-arm64.dmg

Hi, if there is no problem, I will close this issue. Thanks.


set_meta overrides array values

Godot version:
3.1.1 & b0f0e0e2fc95743adccf76ce82696be5b9553536
OS/device including version:
Windows 10 & Ubuntu 19.04
Issue description:
I try to add instances of a TextureRect element to an array. Before adding them, I set metadata information with the method .set_meta("id", "some_name"). After adding x elements to the array, the first x elments have the meta information of the last element I pushed to the array.

Note the output.
I also did talk about that issue with some guys on the godot discord. Some were able to reproduce it, some were not. If someone wants to work on that, and is not able to reproduce it, I am more than happy to help.
Steps to reproduce:

Create a new project
Add a new Node (I did use the "Other Node" button)
Attatch a new GDScript to the created node
Add following code to the script

extends Node

var items = []
const tex = preload("res://TextureRect.tscn")

func _ready():
	createItem("cat")
	createItem("cow")
	createItem("dog")
	read_meta()

func read_meta():
	for i in items:
		print(i.get_meta("id"))

func createItem(item_name):
	var item := tex.instance()
	item.set_meta("id", item_name)
	print(item.get_meta("id"))
	add_child(item)
	items.append(item)

Create a new scene
Add a single TextureRect node using the "Other Node" button
Run the project and check the debug output.

Minimal reproduction project:
project.zip

Wow, nice find

..wait
Arn't you supposed to use duplicate() here?

Hmm, here is something that I find interesting:
	var tex = load("res://TextureRect.tscn")
	var item = tex.instance()

If you use a local variable that instances the scene (not a referenced instance variable), the output is correct. This might be why I've never ran into this problem because I've always done it like this.
However, I could totally see how this is a bug because when the developer uses instance(), it's implied   it's a new instance being created? Thus, the meta values should be unique.

@girng I assume, that if you replace load with preload, you will again get the wrong output. The reason it works with load might be that it loses reference to the packed scene object, which in turn loses reference to the problematic metadata dictionary.

@bojidar-bg Just tested, yep you are right


Left Side Navigation overlaps Footer on Getting Started Page for reduced screen size

Steps

Go to osf.io and click on the Help dropdown in the navbar
Click on the Getting Started Page
Reduce the screen size and scroll down
Notice the left side navigation bar

Expected
I would expect the left side navigation bar to have responsive sizing for reduced window sizes so that it does not overlap the footer
Actual
The left side navigation bar overlaps the text in the footer with reduced window sizes.

@GaryKriebel I just checked get-start page on production. It looks like the issue has already been solved. We can close this one now.

@GaryKriebel @haoyuchen1992 I am still seeing this:

How might this be resolved visually? Would we expect the left-side navigation to turn into a scrolling overlay? Such that it remains above the footer, but only displays 2-3 items, giving option to scroll for more?

@lbanner I think the reason for this issue is that we don't set a bottom offset for the affix.  If the bottom offset is set, the nav-bar will not down to to the bottom and then it will not overlap with the footer. I will send a fixed PR for this.


Bug/inconsistency menuitems searchitems

The strategy of this solution is to untoggle user selection when any search event is called (keyUp or cleanSearch). That way, the menu behaves consistently, as previously designed.


1

0% of end-end tests have passed
Total executed tests: 1
Failed tests: 1
Passed tests: 0

Failed tests (1)Click to expand1. test_login_with_incorrect_passwordTap on ContinueButtonWait for CreateAccountButtonE   selenium.common.exceptions.NoSuchElementException: Message: 'NameInput' is not found on the screenDevice sessions:Device 1

0% of end-end tests have passed
Total executed tests: 1
Failed tests: 1
Passed tests: 0

Failed tests (1)Click to expand1. test_login_with_incorrect_passwordE   selenium.common.exceptions.NoSuchElementException: Message: 'NameInput' is not found on the screenDevice sessions:Device 1

0% of end-end tests have passed
Total executed tests: 1
Failed tests: 1
Passed tests: 0

Failed tests (1)Click to expand1. test_login_with_incorrect_passwordE   selenium.common.exceptions.NoSuchElementException: Message: 'NameInput' is not found on the screenDevice sessions:Device 1

0% of end-end tests have passed
Total executed tests: 1
Failed tests: 1
Passed tests: 0

Failed tests (1)Click to expand1. test_login_with_incorrect_passwordE   selenium.common.exceptions.NoSuchElementException: Message: 'NameInput' is not found on the screenDevice sessions:Device 1

0% of end-end tests have passed
Total executed tests: 1
Failed tests: 1
Passed tests: 0

Failed tests (1)Click to expand1. test_login_with_incorrect_passwordE   selenium.common.exceptions.NoSuchElementException: Message: 'NameInput' is not found on the screenDevice sessions:Device 1

0% of end-end tests have passed
Total executed tests: 1
Failed tests: 1
Passed tests: 0

Failed tests (1)Click to expand1. test_login_with_incorrect_passwordUnexpected alert is shown: 'You are using an app installed from a nightly build. If you're connected to WiFi, your interactions with the app will be saved as video and logs. These recordings do not save your passwords. They are used by our development team to investigate possible issues and only occur if the app is install from a nightly build. Nothing is recorded if the app is installed from PlayStore or TestFlight.'Device sessions:Device 1

0% of end-end tests have passed
Total executed tests: 1
Failed tests: 1
Passed tests: 0

Failed tests (1)Click to expand1. test_login_with_incorrect_passwordTap on ProfileButtonWait for ShareMyContactKeyButtonE   selenium.common.exceptions.NoSuchElementException: Message: 'LogoutButton' is not found on the screenDevice sessions:Device 1

0% of end-end tests have passed
Total executed tests: 1
Failed tests: 1
Passed tests: 0

Failed tests (1)Click to expand1. test_login_with_incorrect_passwordTap on ProfileButtonWait for ShareMyContactKeyButtonE   selenium.common.exceptions.NoSuchElementException: Message: 'LogoutButton' is not found on the screenDevice sessions:Device 1

0% of end-end tests have passed
Total executed tests: 1
Failed tests: 1
Passed tests: 0

Failed tests (1)Click to expand1. test_login_with_incorrect_passwordTap on ProfileButtonWait for ShareMyContactKeyButtonE   selenium.common.exceptions.NoSuchElementException: Message: 'LogoutButton' is not found on the screenDevice sessions:Device 1

0% of end-end tests have passed
Total executed tests: 1
Failed tests: 1
Passed tests: 0

Failed tests (1)Click to expand1. test_login_with_incorrect_passwordTap on ProfileButtonWait for ShareMyContactKeyButtonE   selenium.common.exceptions.NoSuchElementException: Message: 'LogoutButton' is not found on the screen
 Unexpected alert is shown: 'You are using an app installed from a nightly build. If you're connected to WiFi, your interactions with the app will be saved as video and logs. These recordings do not save your passwords. They are used by our development team to investigate possible issues and only occur if the app is install from a nightly build. Nothing is recorded if the app is installed from PlayStore or TestFlight.'Device sessions:Device 1

0% of end-end tests have passed
Total executed tests: 1
Failed tests: 1
Passed tests: 0

Failed tests (1)Click to expand1. test_login_with_incorrect_passwordTap on ProfileButtonWait for ShareMyContactKeyButton 'LogoutButton' is not found on the screen, also Unexpected Alert is shown: 'You are using an app installed from a nightly build. If you're connected to WiFi, your interactions with the app will be saved as video and logs. These recordings do not save your passwords. They are used by our development team to investigate possible issues and only occur if the app is install from a nightly build. Nothing is recorded if the app is installed from PlayStore or TestFlight.'Device sessions:Device 1

https://goo.gl/images/8LRKxb

100% of end-end tests have passed
Total executed tests: 1
Failed tests: 0
Passed tests: 1

Passed tests (1)Click to expand1. test_password_in_logcat_sign_inDevice sessions:Device 1


No LiveContainer in SideStore

There is no LiveContainer on my SideStore so I can’t install it.
https://imgur.com/a/jGJMEIX

LiveContainer is not in any AltStore/SideStore source yet so you need to install it manually by downloading ipa from "Actions" tab.

LiveContainer is not in any AltStore/SideStore source yet so you need to install it manually by downloading ipa from "Actions" tab.

I had it when I first installed SideStore but I accidentally deleted it. It was supported because that’s how I downloaded it, it was on SideStore already


add a command line option to only run a specific case id

Issue #203
I just didn't run lint script and got too many warnings. I still get some though, but at least not as many 😄
I cannot get the filtering part, where and how I should filter main tasks, and changed configuration in "main.ts" file. I'm open to any kind of feedback! Thank you in advance :)

I just didn't run lint script and got too many warnings. I still get some though, but at least not as many 😄

Don't worry too much about it, the linter is set to very strict, so it's rare to not find something

I cannot get the filtering part, where and how I should filter main tasks, and changed configuration in "main.ts" file.

You will have to hand through the id to run from main to executor to the task list builder. In that you can filter by checking task.id against the taskId you provided.

I'm open to any kind of feedback! Thank you in advance :)

Thanks for the effort, this looks very good as a starting point!

Could you please kindly review?^^ And maybe reach out to me on Discord: @madss20 ? Cause it's getting quite long :) have a nice rest of your day!

@madina0801 sent you a friend request on discord, username should be obvious :)
I believe I underestimated this task :( I didn't expect it to be this complicated.


Images being compressed to 0 bytes

Not sure if I am doing something wrong but my images are being compressed to nothing. I've tried both:
return gulp.src('src/img/*.jpg')
    .pipe(imagemin({
        use: [imageminMozjpeg()]
    }))
    .pipe(gulp.dest('dist/img'));

and
return gulp.src('src/img/*.jpg')
    .pipe(imageminMozjpeg()())
    .pipe(gulp.dest('dist/img'));

with the same results. When using imagemin I get the message "Minified 2 images (saved 374.3 kB - 100%)".
Let me know if you need any more info from me.

@josh18 Can you show us the image that causes this problem?

It's probably just my system, I don't plan on using this anymore so feel free to close this issue.
Just in case you want more info, when I try to install the plugin now via npm install imagemin-mozjpeg I get the error message:
The `/{removed_path}/node_modules/mozjpeg/vendor/cjpeg` binary doesn't seem to work correctly
  ⚠ mozjpeg pre-build test failed
  ℹ compiling from source
  ✖ Error: autoreconf -fiv && ./configure --disable-shared --prefix="/{removed_path}/node_modules/mozjpeg/vendor" --bindir="/{removed_path}/node_modules/mozjpeg/vendor" --libdir="/{removed_path}/node_modules/mozjpeg/vendor" && make && make install
Command failed: /bin/sh -c autoreconf -fiv
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: running: /usr/local/Cellar/autoconf/2.69/bin/autoconf --force
configure.ac:22: error: possibly undefined macro: AC_PROG_LIBTOOL
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
autoreconf: /usr/local/Cellar/autoconf/2.69/bin/autoconf failed with exit status: 1

    at ChildProcess.exithandler (child_process.js:203:12)
    at emitTwo (events.js:87:13)
    at ChildProcess.emit (events.js:172:7)
    at maybeClose (internal/child_process.js:817:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)

On OS X 10.7.5 (could well be the issue) and node v4.0.0.


Return JSON results through function call

First, thanks for the tool!
Second, is there a easy place in the code to return a JSON object instead of having it write out to a file? Basically, I would like to call the bloodhound collector from my own code and get a JSON object. Something like this

def mytest():
results = bloodhound(params)
print results # JSON result here

Looks like the file is being created in outputworker.py and a couple others so I figured I can create JSON objects there, redirect it to a function and return the result?
I believe I can accomplish this but if you had any tips while I look over the code that would be great!
Thanks

At second glance this might be tougher than I thought with the daemon queues...

This is not really possible. BloodHound enumerates in phases and outputs different json files at the end of each phase. The best approach is to run bloodhound and then read the files from disk.

Yeah.... I just went with adding the JSON outputs to a database when the Queues complete and grabbing it from there. Thanks for the quick answer.


feat(opentrons-ai-client): filter out retired and old labware

Overview
This PR filters out old and no longer supported labware for use in all of the opentrons ai app.
Changelog

Filter out retired labware

Review requests
Make sure old labware (like GEB tip racks) no longer show up in the app
Risk assessment
Low

oopsy need to fix some tests


spec.updateStrategy.rollingUpdate.maxUnavailable  cannot be 0

Expected Behavior
no error report
Actual Behavior
report The DaemonSet "ovs-ovn" is invalid: spec.updateStrategy.rollingUpdate.maxUnavailable: Invalid value: intstr.IntOrString{Type:0, IntVal:0, StrVal:""}: cannot be 0
Steps to Reproduce the Problem

bash install.sh

Additional Info

Kubernetes version:
Output of kubectl version:

Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.5", GitCommit:"aea7bbadd2fc0cd689de94a54e5b7b758869d691", GitTreeState:"clean", BuildDate:"2021-09-15T21:10:45Z", GoVersion:"go1.16.8", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.5", GitCommit:"aea7bbadd2fc0cd689de94a54e5b7b758869d691", GitTreeState:"clean", BuildDate:"2021-09-15T21:04:16Z", GoVersion:"go1.16.8", Compiler:"gc", Platform:"linux/amd64"}

- kube-ovn version:

(master release)

- operation-system/kernel version:

**Output of `awk -F '=' '/PRETTY_NAME/ { print $2 }' /etc/os-release`:**
**Output of `uname -r`:**

(paste your output here)

<!-- Any other additional information -->

assign to me pls

Please attach the k8s version. The daemonset requires feature gate DaemonSetUpdateSurge, which is enabled by default since v1.22.

Please attach the k8s version. The daemonset requires feature gate DaemonSetUpdateSurge, which is enabled by default since v1.22.
v1.21.5

DaemonSetUpdateSurge
we can get the k8s version than set the value?

We do not support this behavior.


[10.x] 'set authentication guard' middleware

In the config/auth.php file, the default authentication guard is defined. But currently, the framework does not provide an easy way to define that a route uses a different guard. It only currently does this when you use the 'authenticate' middleware. Sometimes a route is accessible by both guests and authenticated users, so the 'authenticate' middleware can not be used. If an authenticated user is present you want to customize the page/content/... based on that user. To get that working, you have to provide the guard name everywhere you access the auth user.
// Assume the default authentication guard is 'web'

Route::('some-route-that-can-be-accessed-by-both-guests-and-authenticated-users', function () {
    // A user might be authenticated, but not using the default 'web' authentication guard

    // That means the following will always be null even if a user is correctly authenticated
    // because it uses that default 'web' authentication guard
    if (auth()->user()) {
        // This will never be executed even if an authenticated user is present ...
    }

     // To fix that, you have to explicitly set the authentication guard
    if (auth('foo')->user()) {
        // This now works if an authenticated user is present ...
    }

    // This also causes issues when working with gates.
    // The gate will immediately fail even if an authenticated user is present
    Gate::authorize('view', $project);
    // To fix that, you have to manually provide the authenticated user
    Gate::forUser(auth('foo')->user())->authorize('view', $project);
});

This PR fixes that by middleware that allows you to set the guard on a route using middleware.
// Assume the default authentication guard is 'web'

Route::('some-route-that-can-be-accessed-by-both-guests-and-authenticated-users', function () {
    // Now you don't have to provide the correct guard name everywhere
    dump(auth()->user());

    // And you don't have to explicitly provide the user using the 'forUser' method
    Gate::authorize('view', $project);
})->middleware('guard:foo');

In this example I use a 'guard' alias for the middleware, which I would add to the Laravel skeleton if this PR is merged.

I don't follow. The authentication middleware included with Laravel calls shouldUse already for whatever guard passes authentication?
            if ($this->auth->guard($guard)->check()) {
                return $this->auth->shouldUse($guard);
            }

But that is only if use the authenticate middleware. If you don't use that middleware (because the route can be accessed by both guests and authenticated users), then there is no middleware to set the guard on that route.

I notice that it can be confusing for new Laravel devs when routes are not using the default guard, especially when those routes do not use the authenticate middleware.
Even with the authenticate middleware, it is a bit strange that you have to provide the guard name only when it is not the default guard, for example on API routes (auth:api).
With the addition of this middleware, it would be possible to add this middleware to the middleware groups in the Kernel and ensure each group already uses the correct guard:
protected $middlewareGroups = [
    'web' => [
        \Illuminate\Auth\Middleware\SetAuthenticationGuard::class . ':web',
        // ...
    ],

    'api' => [
        \Illuminate\Auth\Middleware\SetAuthenticationGuard::class . ':api', // or 'sanctum' ...
        // ...
    ],
];

Then in the routes files themselves, you can just always use the auth middleware without having to specify the guard in the case of the API routes. It makes the web and API routes files behave the same.

Hmm, I think I'll just let this be defined in your own application for now. Thanks!


Consider moving to _privateField to follow the official C# style guide and reduce naming collisions

Question and/or Comment
Hey there recently when playing around a bit in the stride source code I noticed that Stride currently uses camelCase for private fields.
This makes it very annoying to work with parameters with the same name.
To work around this issue often parameters are suffixed or strangly named values (see CommandList as an example)
I would like to ask if it is possible to loose this restriction or move to the standard style guide of C# and use _privateField instead.
As far as I can see it there wouldn't be compatibility issues as I only suggest naming changes for private fields.
See here for reference https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals/coding-style/identifier-names

I like your suggestion, especially since game engine code can become extremely long—spanning multiple screens. This would be also particularly helpful when dealing with many variables.

I think this is a great idea. I also always found private vars a bit off in Stride due to this. This will be very tedious work and the only downside is it will cause merge conflicts with 99% of PRs but I still think its worth it.

Probably, this approach would make sense when:

New additions are being added to our codebase
The existing codebase is being updated for other reasons
Large sections of code would benefit from such an update

In other words, it might not make sense to change everything solely for the sake of this suggestion, unless majority is already done? 🤔

Probably, this approach would make sense when:

New additions are being added to our codebase
The existing codebase is being updated for other reasons
Large sections of code would benefit from such an update

In other words, it might not make sense to change everything solely for the sake of this suggestion, unless majority is already done? 🤔

If it were only done on new PRs then we would be relying on the people making those PRs to be aware of this wanted change.
The changes would be too infrequent for this to ever come to light and ever be finished.
I think if the goal is to be known as the C#/.NET engine, following code standards set by the language would be a benefit and to not change the areas just because not all the code would benefit feels wrong to me.

IMO this change will be like ripping off a bandaid and just getting it done so that it doesnt continue to be an issue in the future. Of course saying that, someone will have to take this one either project by project or all at once.

Project by project is also good idea. I would add then also removing empty spaces at the end of anything :)
I suggested December 2023, be a month of Docs, maybe 2024 Q1, could be a spring of minor refactoring and code clean up 🤣

Not sure if we want to rename all parameters as well or only change the private fields.
The second option in with rider is just a button click. It can do that automatically for a whole project in a few seconds.
The biggest issue I see here is with potential issues in Asset serialization where we might have private fields serialized with their current name.

I also like this comment very much

I think if the goal is to be known as the C#/.NET engine, following code standards..

I agree, especially because adhering to C#/.NET coding standards makes the codebase more accessible and easier to understand for developers familiar with those standards. It's much simpler to follow established guidelines.
Of course, this would mean that the current maintainers would need to familiarize themselves with these standards, as it would represent a change for them.

I think a global .editorconfig could go a long way.
On a similar note, dotnet format could be enforced in a CI check before pr merges.
On another similar note, so could https://github.com/belav/csharpier if whitespace formatting is something we want to enforce.

.editorconfig is the way to go I think as it is supported without any extensions in VS, VS Code as well as Rider.
I personally use one for every project I do and it is very easy to setup.
It also ensures all devs opening the prohect to use the same settings which increases code quality and avoids whitespace diff changes.

The same here regarding the .editorconfig and my projects.

I see Stride also have .editorconfig, shouldn't it be in the /build folder?

I think .editorconfig is in the right place, maybe we should consider deleting all stylecop leftovers, because project was droped as far as I know.

Duplicate of #1371 - this is a non-issue, converting the codebase will introduce tons of unexpected issues and require a lot of work on the part of the contributor and even more so on the reviewer, all this to kill git blame and doesn't actually provide any consequential gain.

This makes it very annoying to work with parameters with the same name.

You should never use a prefix as the sole distinction between function local and class local member, it is impossible that the both of them have the exact same context, use a name that clarifies the intent of the function local member better.
Closing the other one, but I very much feel like we should close this one as well. This is just a waste of time to me.

You should never use a prefix as the sole distinction between function local and class local member, it is impossible that the both of them have the exact same context, use a name that clarifies the intent of the function local member better.

How about constructor injection?
public class MyClass
{
  private readonly SomeService _service;

  public MyClass(SomeService service)
  {
     _service = service;
  }
}

@Eideren that is just not true the _ helps tremendously tp distinguish fields from variables and parameters. Depending on your IDE you can't tell if it is a parameter and I for example had several bugs in my changes because I mixed up parameter and field value.
Now beeing part of the .NET Foundation I would higly recommend to follow the official coding standard as it should have never been this way anyway. 95% of the Gitblame shows you Xenko Team anyway so there is not really a lot of information to loose and at some point you will trim the history anyway I guess.

Some arguments for:

Code that is formatted the same way becomes easier to read once you understand the formatting.
Cleaner code base is enforced with proper .editorconfig and analyzers, increasing the signal-to-noise ratio of the code.

Some arguments against:

Increases barrier to entry for contributing because you have to understand the required formatting.
Slower iteration process if steps to enforce the formatting are added to CI.

Anecdotal data:
I use all of the tools I mentioned here at $work, and while initially it messed up the git history a bit, I've come to love it.
I think it makes PR's easier to read as well.

You should never use a prefix as the sole distinction between function local and class local member, it is impossible that the both of them have the exact same context, use a name that clarifies the intent of the function local member better.

How about constructor injection?
public class MyClass
{
  private readonly SomeService _service;

  public MyClass(SomeService service)
  {
     _service = service;
  }
}

primary constructors would lead to go back to non underscored fields for such things

How about constructor injection?

It's just a method, same thing applies.

95% of the Gitblame shows you Xenko Team anyway so there is not really a lot of information to loose and at some point you will trim the history anyway I guess.

That's not really a strong argument in your favor, that '5%' is still very much worthwhile, and we may trim history far off in the future, but this is not nearly the same thing.
I'm not going to stop you working on this, just know that you will have to offer your help for people working on forks like Kryptos and Phr00t, as well as ongoing PRs as this change will create merge conflicts for them. It's very likely that no maintainers would have the time or motivation to look over your changes, there's no way we merge such a huge amount of change without reviewing and testing it properly.

Regarding the argument:

Increases barrier to entry for contributing because you have to understand the required formatting.

As this discussion shows, since we are bringing this to the table, some of us new contributors are already familiar with the mentioned standards and are advocating for them.
For new contributors who aren't familiar with these standards, they'd still have to learn the project-specific formatting anyway 🤷♀🤷♂.
The real change would be for our dear existing maintainers, who are being nicely 😂 nudged toward adopting the suggested standards.

While I definitely think auto-formatting and hard enforcement of the standard is the best choice, I do recognize that it is not a one-sided clear winner.
Another case to be considered as an argument against is

Updates to the official style guide will again mess up the git history

I think we can adjust our style going forward without rewriting our git history, and consider a project-wide re-format once we make enough style changes to warrant one.

Let me start by saying that relying on "official" guidance for private members isn't exactly a strong reason. A much stronger one is to have a consistent formatting across the code base.
I want to point out that there's a lot of variance in people's preferences (e.g. I much more prefer an explicit this to any naming prefix). The way teams I worked with usually deal with it is that they use an editorconfig file with naming convention enforcement (it's a compilation error to not use the correct naming convention).
I rarely have an issue navigating stride code base and very often my navigation happens on GitHub itself where there's no IDE support for determining what is a field and what isn't. As Eideren points out - in most cases there should be a contextual distinction between names.
Having said that, given we have potentially many new developers coming in to look at the code base and they have opinions and habits, we do need to agree on a common middle ground.
If we end up going this way I would propose the following:

If you're introducing a completely new file, you should follow the underscore notation for private fields
If you're modifying an existing file you should use the convention specified within it (unless your changes anyways impact every usage of the private members and there would be no blame information left anyways).

But how do we enforce it? Mention it explicitly in every PR review? I don't think editorconfig format is capable of directing changes at new files only.
As with everything, if there's no enforcement or such enforcement takes more energy than it's perceived to be worth, then it's not going to happen consistently.
And we would end up with an inconsistent code base for many years, as rewriting it all takes time.

As Eideren points out - in most cases there should be a contextual distinction between names.

It's more mentally taxing to figure it out by context, than it is to be able to just read it from the underscore.  I still think it was worth pointing out though.

A much stronger one is to have a consistent formatting across the code base.

💯 !
There's a lot of mental overhead in navigating a codebase with structural inconsistencies, and even if the naming of private members is a small thing, every little bit adds up.

Thanks for all the feedbacks!
Just an additional personal opinion and history: I feel _ quite break the typing flow for local variable (that are accessed very often).
And the idea was that IDE can easily highlight/differentiate variable vs field. We used this. in case of any ambiguity (i.e. function parameter).
Also there was no clear standard at the time, I remember many code base with _ and many others without.
OTOH, I agree that if not careful in a manual refactor (i.e. removing a field), the code might still compile and suddenly act unexpectedly on the parameter.
Happy to go toward any consensus we might reach, I won't put any veto on it.
However, as mentioned several time, it's a considerably large change breaking history/branches and there's also the issue of consistency, so I think it would have to be a clear improvement & majority of people in favor to be worth doing.

My two cents to all of that.
I havn't planned a big discussion like this. I would vote against partial changes as it introduced wrong assumptions when reviewing a file where we didn't change to underscore yet.
this. would work for me as well but we should then enforce this using the editor config and also disable the warnings about ambuiguity of parameterName vs fieldName. For me at least Rider complains a lot if I use the same name for the parameterName and fieldName even though it is perfectly valid.
My biggest issue is especially with parameterName = fieldName as it is SO easy to forget a single this. and introduce bugs which might not even be catched in a review. That's why I personally love the idea of the underscore prefix and strongly recommend it.
But for me at least it really comes down to a ALL or NOTHING descision. Because as mentioned above different conventions per file is a REALLY bad idea imho.

If the decision ends up being doing a change, we should probably also decide what other style/formatting settings Stride should have, and do them in one fell swoop.
I don't know if this is the case anywhere in the code, but we should also remove any occurrences of the name field in anticipation of https://github.com/dotnet/csharplang/issues/140.

I don't know if this is the case anywhere in the code, but we should also remove any occurrences of the name field in anticipation of dotnet/csharplang#140.

The proposal says the field keyword would be contextual (like value in the setter) so it shouldn't be an issue outside of that context. Otherwise it would be a significant breaking change.

This would completely break any changes I've made to the code for my game... I imagine I'm not the only one in a situation like this (I know phr00t has a nice fork).... so I'm giving a strong "pls no"


Requesting adding "extensions" behaviour to twig.environment

As part of my FormExtension.js work, it seems to me that is makes sense for my extension to be registered In the twig environment via twig.environment.addExtension (I.e. verbatim to \Twig_Environment).
Two queries:

Does it seem reasonable to do this? In which case the extension can also provide additional globals, filters, functions as per Twig
This means that the current implementation won't work until it is updated to use extensions too (I think). E.g. instead of having a call to my method FormExtension.render_errors, as per Twig, I'd like the compiler to generate "this.env_.getExtension('form').renderErrors(...)" (I can't remember the exact syntax right now).

What do you think? Sound like this is the way to go ahead?

We might indeed need to do this. Do you feel comfortable with adding it?

Excellent. Yes I believe I can make a start, so I'll start a PR tomorrow.
Thanks.


SkipTokenVerification should completely skip token verification

Title
SkipTokenVerification should completely skip token verification
Summary
SkipTokenVerification should completely skip token verification.
Right now, it gets the access token from request and parses it the token as a JWT (Oauth spec according spec doesn't assume access token must be JWT) and checks if the access token is expired.
Why?
If we completely skip token verification, users who have authorization servers providing different types of access tokens will be able to use this flag.
How
Refactor authenticationMiddleware.

@ackerleytng @statik @fredbi what do you think?

@ackerleytng @statik @fredbi what do you think?

I updated the issue with as I understand it, please correct it if my understanding is not correct.
SkipTokenVerification was meant to be for testing only, and I think the logic is rather difficult to follow, because it is distributed over a few places in the code.
I feel that if we want to allow people to use alternative types of access tokens, we should be supporting other means of verification, instead of asking people to use SkipTokenVerification as a feature.
I think that we should in fact remove this option or make what it is skipping more precise.

I updated the issue with as I understand it, please correct it if my understanding is not correct.
SkipTokenVerification was meant to be for testing only, and I think the logic is rather difficult to follow, because it is distributed over a few places in the code.
I feel that if we want to allow people to use alternative types of access tokens, we should be supporting other means of verification, instead of asking people to use SkipTokenVerification as a feature.
I think that we should in fact remove this option or make what it is skipping more precise.

i had typo in title..., what i can see from code it is effectively used only in authenticationMiddleware for veryfing access token, with turning of verification we would completely leave on user how he would like to verify access token and they could use our proxy in combination with some other software to verify access token in incoming requests right away (maybe they already have some solution prepared and we are effectively stopping them to use our proxy because of this), later we can add several options for verification but this would be quite big task to make it cleanly and properly so users would need to wait quite a lot of time for this

i had typo in title..., what i can see from code it is effectively used only in authenticationMiddleware for veryfing access token, with turning of verification we would completely leave on user how he would like to verify access token and they could use our proxy in combination with some other software to verify access token in incoming requests right away (maybe they already have some solution prepared and we are effectively stopping them to use our proxy because of this), later we can add several options for verification but this would be quite big task to make it cleanly and properly so users would need to wait quite a lot of time for this

I'm okay to go ahead if @statik or @fredbi are for fully skipping token verification, or if any users chime in to request this.
The original developers must have had their reasons for retaining the functionality for checking expiration but skipping other verification, because it would have been easier to skip verification completely.
There might exist some users who are, like you suggested, using gatekeeper to just validate expiration, but are validating the rest of the JWT using their own software, and changing the definition of this flag would reduce their security. (If there are any users relying on this flag to validate expiration, please chime in on this issue!)

I'm okay to go ahead if @statik or @fredbi are for fully skipping token verification, or if any users chime in to request this.
The original developers must have had their reasons for retaining the functionality for checking expiration but skipping other verification, because it would have been easier to skip verification completely.
There might exist some users who are, like you suggested, using gatekeeper to just validate expiration, but are validating the rest of the JWT using their own software, and changing the definition of this flag would reduce their security. (If there are any users relying on this flag to validate expiration, please chime in on this issue!)


Need a way to have the run do daffodil's 'limited validation'

Need a way to have the run do daffodil's 'limited validation'. Basically to see the see the stream of validation errors as they are produced. This is just another option to set on daffodil when creating the Daffodil Data Processor. There's a withValidation(...) call.

@mbeckerle, a member of the development team is seeking the "why" to this issue, which I believe is a request that came from one of your 1.2.0 RC evaluations of the extension.
I believe the stream of validation errors would help the schema author by pointing out errors as they write the schema so that they can make corrections as they go, kind of like what an on-going code checker/lint would provide.
@mbeckerle, please correct or elaborate, if necessary.

I believe you are correct here. The notion is when debugging, we might as well see validation errors as they are created which is what Daffodil's limited evaluation does. When parsing when it constructs each simple value node it verifies that the facet checks all work. I think it may also check number of recurrences for arrays are within max/min, at the end of an enclosing element.

@scholarsmate @mbeckerle I'm trying to think of how the validation errors should be displayed to the user. More specifically, how they should map into DAP events and types. We could just log the errors using the normal (Scala) logger. But an alternative would be to encode these as an Output event which would get rendered in a better way, presumably. What do you think?

A viewer that gives somes sort of scrollable collapsable view of these log and diagnostic info would be helpful. I do think they should cross DAP over to the client and get displayed as they are created.
This stuff is way too verbose and poorly formatted currently, lots of very long path names in it, etc.
There are JIRA tickets to improve this for ordinary API and command line usage, but in the IDE I do think it deserves a panel that, for example, collapses all errors of the same type so you don't see them repeating (and shows a count instead for example).
What I can't say is how important is this releative to other features needed.

@mbeckerle @scholarsmate any example schemas which produce diagnostics that I can use to test? I'm not sure if any of the ones I've been using produce anything.

EDIFACT is on github. Search for DFDLSchemas EDIFACT to find.

Ah, those will be schema-comilation warnings. If you are looking for data validation errors,... I will need to find a schema that produces those.
Daffodil itself has tests that contain tdml:validationError to expect specific validation errors.

Ah, those will be schema-comilation warnings. If you are looking for data validation errors,... I will need to find a schema that produces those.
Daffodil itself has tests that contain tdml:validationError to expect specific validation errors.

I found https://github.com/apache/daffodil/blob/main/daffodil-japi/src/test/java/org/apache/daffodil/example/ValidatorApiExample.java#L76 so far and have verified that I'm capturing those validations. I'll look to see if there are more around in that repo, thanks!
Just to be clear, this ticket is about the data validation, not schemas themselves?

Also, do the data validation diagnostics accumulate throughout the parse, or does it act like a stack? I'm wondering whether to emit them only at the end (in the case of accumulation), or when they are encountered.

They get saved in the parse state.
Lots of validation errors might be encountered during speculative parsing that backtracking needs to discard.
The parser does have streaming behavior though, so when it is not speculating, it should both issue infoset output and associated validation errors on the fly.  I did not verify that this in fact happens. @stevedlawrence can you comment on this?
The challenge is that this happens not when validating the element, but later when it is acertained that the element is not going to get backtracked.

The parser does have streaming behavior though, so when it is not speculating, it should both issue infoset output and associated validation errors on the fly.

Validation errors are accumulaed in a diagnostics data structure and removed when backtracking. Those Diagnostic live on the PState. We do not stream out validation diagnostics like we do the infoset, so for normal users they don't see them until the very end of a parse.
But the debugger doesn't really want to using the "streaming" infoset stuff anyways, since we only "stream" things out when we know they won't be backtracked. The debugger will want to show the current infoset at the current breakpoint regardless if backtracking might happen, and just hide parts of the infoset if backtracking does occurs. I assume the DAP stuff already does this by reading the infoset directly from the PState? The validation messages are stored in the PState in the diagnostics member, so can be accessed in a similar way, and so can be done during parsing instead of at the end. Note that this same member stores things like SDE's and processing errors, so it's not just validation errors.
Also, there is a function on each infoset node that says if the element is valid or not, but there is not related diagnostic there.
Note that this is only with the "limited" validation feature. Full validation uses xerces and just validates everything at the end of a parse. We might someday figure out how to have Xerces validate as we parse (but similar to the streaming stuff, it won't see infoset's that might be backtracked).

How does something like this look?

The text in the block looks good, though I'd like to find some way to trim a prefix of that big long file path based on say, the current project's root dir?
If that block is a pop up that's the wrong idea.
It should be a thing like the call-stack on the left, where you can open it and see the contents as things get added.
It should have two sub-categories within it for processing errors and for validation errors.
Think of it this way. In some cases, every parsed element will generate one of these validation errors, and the user may simply want to ignore that for hours/days/weeks while worrying about bigger problems like parse errors. So they can't be anything that makes too much noise or requires dismissal via any UI gesture.

The text in the block looks good, though I'd like to find some way to trim a prefix of that big long file path based on say, the current project's root dir?

I can extract the particular fields, and possibly massage them, from the diagnostic data structure rather than this impl which uses toString.

If that block is a pop up that's the wrong idea.

It's the hover text. 👍

It should be a thing like the call-stack on the left, where you can open it and see the contents as things get added. It should have two sub-categories within it for processing errors and for validation errors.
Think of it this way. In some cases, every parsed element will generate one of these validation errors, and the user may simply want to ignore that for hours/days/weeks while worrying about bigger problems like parse errors. So they can't be anything that makes too much noise or requires dismissal via any UI gesture.

It's in the "Parse" subtree under the "Variables" pane, so it's expandable/contractable. I'll separate the errors from warnings as separate trees.

The text in the block looks good, though I'd like to find some way to trim a prefix of that big long file path based on say, the current project's root dir?

I can extract the particular fields, and possibly massage them, from the diagnostic data structure rather than this impl which uses toString.

This might be fixed when DAFFODIL-2100 is resolved, which is currently planned to be fixed in the next release (though not fixed yet). It would be nice if VSCode didn't have to worry about this stuff and could just rely on Daffodil to do the right thing.

This might be fixed when DAFFODIL-2100 is resolved, which is currently planned to be fixed in the next release (though not fixed yet). It would be nice if VSCode didn't have to worry about this stuff and could just rely on Daffodil to do the right thing.

I'll add a TODO comment about the issue and hopefully any future deprecated methods will alert us of any useful changes to make in the extension.

Ok here's an updated view, hover text visible:


fix: export align and direction info

Fixes #2775

Related to #2610

LGTM @im-adithya. Just a couple of small changes.
It's not essential to this PR, but if you have some spare time, it might be worth adding a unit test for this in @lexical/html, which will test $generateNodesFromDOM to make sure the correct direction and alignment are being added.
You can use the below logic to test the editor update:
const html = '
asdfasdf

asdfasdf

شسيبشسيب

شسيبشسيب
'

editor.update(() => {
    const parser = new DOMParser();
    const dom = parser.parseFromString(html, 'text/html');
    const nodes = $generateNodesFromDOM(editor, dom);
    const root = $getRoot();
    root.clear().append(...nodes);
});

Sure!

Fixes #2610

I don't think this solves the issue yet as the reconciliation still overrides the RTL setting, though this can be considered as one step towards complete implementation of Bidirectional Support.

@im-adithya I'm closing this for now, but feel free to reopen if you're able to drive it to completion.


IMU and Gyroscope Calibration Parameters

I calibrated my Compass, Gyroscope and Accelerometer for a pixhawk with px4 firmware. I am doing visual inertial slam so I need to know the IMU and Gyro Calibration parameters but I don't know where to find those. Will be glad if someone helps me here.

@SubMishMar  you need connect to QGC , and switch params set. you will find these calibration.
gyro: CAL_GYRO0_XOFF CAL_GYRO0_YOFF CAL_GYRO0_ZOFF CAL_GYRO0_XSCALE ``CAL_GYRO0_YSCALE CAL_GYRO0_ZSCALE
acc : CAL_ACC0_XOFF.... CAL_ACC0_XSCALE...(X/Y/Z)
mag : CAL_MAG0_XOFF CAL_MAG0_XSCALE ...(X/Y/Z) :smiley:

you aslo can upload your log , You can find these parameters on the log loaded website (below the site)
link: https://review.px4.io/plot_app


[Date Picker] Year selection is broken

Trying to select a year from the date picker throws an error, using version 0.13.
Uncaught TypeError: Cannot read property 'isSelectedDateDisabled' of undefined
Can be reproduced on:
http://material-ui.com/#/components/date-picker

On the other hand, it seems to work fine if you click the month after selecting the year.

I will have a look

+1
Broken for a month now?

Well, yes, it's still broken, we need better unit test for the datepicker.

+7 for this and fixing this and  with a large # of values. Some of us are trying to get apps into production using this stuff

I agree, this should be a priority.

This should be fixed on the master branch, sorry for this long response time!

@oliviertassinari Any idea how long it will take to get this into 0.14.0?  using 0.14.0-rc1 in order to get around some other broken things in x.13.x.

We should have kept a 0.13.x to release hot fixes,  but we didn't.
I hope that we can release 0.14 before the end of the year. We are doing heavy changes with this up coming release.


Fix acceleration plots with oscillating measurements

Before

After

So the real problem here isn't the graph drawing tool, it's the oscillations. Can you fix in controls?

I'll try next Friday!


Usage of "when" for conditional validations

Thanks for your great library!
I am wondering if it would be possible to define conditional validation rules in a json schema, since I used this feature a lot with Joi.
Taken from their examples page:
const schema = {
    a: Joi.valid('a', 'b', 'other'),
    other: Joi.string()
        .when('a', { is: 'other', then: Joi.required() }),
};

Can such conditional validation rules be expressed via a static schema with enjoi?
Thanks!

@tlivings
could you please give me a short code example how to accomplish this by using custom types with enjoi? thanks a lot!


NIFI-8385: Add FlowFiles from logging to bulletins

Thank you for submitting a contribution to Apache NiFi.
Please provide a short description of the PR here:
Description of PR
FlowFiles logged in logger Object[] param are now parsed and added to Bulletins.
JIRA: https://issues.apache.org/jira/browse/NIFI-8385

Extended LogMessage with FlowFile attribute. Created LogMessage builder to avoid excessive method overloading in StandardLogRepository. Extended the classes with the new method implementing this interface: rules.handlers.MockComponentLog, util.MockComponentLog, MockComponentLogger, NopComponentLog, SimpleProcessLogger, TerminationAwareLogger.
Extended LogRepository with new method to use LogMessage as parameter.
In StandardLogRepository each method gets the flow file from the logger Object[] argument or from the LogMessage object.
Created Bulletin builder to avoid excessive method overloading in BulletinFactory
Removed Bulletin descendants: SystemBulletin, MockBulletin, ComponentBulletin
Removed nifi-mock/src/main/java/org/apache/nifi/reporting/BulletinFactory
Changed factory to builder in: MockReportingContext, StandardRemoteProcessGroup, BulletinAdapter, ControllerServiceLogObserver, ProcessorLogObserver, ReportingTaskLogObserver, TestNodeBulletinStrategy, StandardPublicPort, TestSiteToSiteBulletinReportingTask
Extracted ID generation from BulletinFactory to BulletinIdProvider (used by Bulletin.Builder too)
Moved LogMessage to nifi-api
Code cleanup: ReportingContext, TestAlertHandler, ScriptedActionHandlerTest, SiteToSiteBulletinReportingTask

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[x] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[x] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[x] Has your PR been rebased against the latest commit within the target branch (typically main)?

[ ] Is your initial contribution a single, squashed commit? Additional commits in response to PR reviewer feedback should be made on this branch and pushed to allow change tracking. Do not squash or use --force when pushing to allow for clean monitoring of changes.

For code changes:

[ ] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[ ] Have you written or updated unit tests to verify your changes?
[ ] Have you verified that the full build is successful on JDK 8?
[ ] Have you verified that the full build is successful on JDK 11?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[ ] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check GitHub Actions CI for build issues and submit an update to your PR as soon as possible.

I will squash the commits after fixing review items.

Thanks for the contribution @Lehel44 , will review.

Okay, I'm not sure what exactly happened here... I will create a new PR soon...

Hi @markap14
I got some problems with git, but finally managed to fix it. I fixed the review items and extended the Bulletin builder with the timestamp option to fix the timestamp override in BulletinAdapter.

Thanks @Lehel44. I took a look at this again. Somehow, it did not occur to be before that Bulletin is in nifi-api. This means we have to be very careful about what we do here. We must maintain backward compatibility.
So while I do think Bulletin should be immutable, we cannot make these changes until a 2.0 API. We can't remove methods like setters. So those changes need to be reverted. When these Bulletins are passed to a Reporting Task (I think that's the only extension point that has access to bulletins) it would probably make sense to wrap them in an ImmutableBulletin class that throws an Exception if any of the setters are called, because ReportingTasks are not intended to have the ability to modify existing Bulletins, only generate new ones.
Additionally, we should not be storing a reference to the FlowFile in the bulletin. The JIRA indicates that we want the FlowFile UUID, and that's fair game to store there. But not the FlowFile itself. The FlowFile can potentially take up a huge amount of heap space if it has really large attributes (or tons of attributes).


Deceased Graph is not showing properly when Uniform option is turned on

When uniform option js turned on, the graph for deceased is not showing any curves. It is not working properly. Please see the screenshot attatched to it.

This is the reason why we have a button to toggle uniform scale option. When the deceased and confirmed data has such huge difference, this is bound to happen.


de-duplicate targets from portNumber annotation

We ran into an issue where sidecar containers (i.e vault agent) get registered as targets due to inheriting the pod's annotations for autodiscovery and resulting in alloy scraping the pod multiple times. This fix does a similar check as the portName check above it, and removes these additional targets if the portNumber annotation is specified and the container does not have a corresponding port number exposed.

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


Added new go example with library override in golang/dep/dep-override

This example is a modified version of https://github.com/srcclr/example-go-golangdep

@hendychua Many thanks for the review. I had addressed your comment, and please let me know if further changes are required.


TTS Playback on LNX link Device

Describe the solution you'd like
The ability to play TTS on a LNX link device. I tried to use Browser Mod, but across several different computers of different operating systems, the media player portion doesn't work at all. I haven't gotten any help from that project, so I've just about given up on it working for me in that way. This seems close, just not able to play TTS.
Additional context
I couldn't figure out how to play media, only pause/play, although not sure if I would use for actual media playback or not.

I have updated the mqtt-mediaplayer with the option to play_media which includes TTS, media_player.play_media and anything related.
As for playing the media on lnxlink the cvlc app could be used which supports images, video, video stream, mp3.
I will let you know when I update it with this functionality.

Thanks. Can you give me an example of how to use it though for TTS. I could not figure it out. I added in the new play_media line and updated.

The LNXLink still doesn't support the play_media, you will have to wait, but you can test it by checking the mqtt commands.
Here is an example of the TTS service call:
service: tts.google_say
data:
  entity_id: media_player.desktop_linux
  message: Hello world!

And the result on the MQTT side:
{
  "media_type": "audio/mpeg",
  "media_id": "http://<IP_ADDRESS>:8123/api/tts_proxy/1341b19136178w6bc42212s385fa09447x8_en_-_google_translate.mp3"
}

Okay, I do see that. I misunderstood the last part of your previous post. Thanks.

I've just updated LNXLink to version 2023.1.1 which supports media_play.
It will take a few minutes to get updated on PyPi, so be patient.
Keep in mind that I've also changed the mqtt-mediaplayer from /media/playmedia to /media/play_media

Thanks, works great!


With Transport gRPC Enabled App Begins Tossing 500 Errors Because Can't Find Default Credentials

In the process of debugging a performance issue submitted earlier #363  I have also enabled gRPC for a subset of our application calls. When gRPC is enabled however the app begins tossing errors about not able to find default credentials. This is running on Compute Engine and the credentials work for REST calls. is it required to setup a JSON credential file with gRPC?

It shouldn't be required, per my understanding. Could you share the full error please?

in /vendor/google/auth/src/ApplicationDefaultCredentials.php line 56
ApplicationDefaultCredentials.php line 156
Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information

Thanks! It's possible that the GCECredentials::onGce() call may be failing in compute engine for some reason. I will investigate further and let you know what I find, in the meantime - does creating a service account and using that work for you?

Creating a service account file and using a file for it slowed the process down significantly. I'm digging into why and working on a better testbed to dig into the issue.

Digging into this it certainly seems the credential has some effect. The latency chart only shows median and slowest 2%, but that slowest 2% is > 9s. Should I report this to Compute Engine support? I ran the pubsub key for about 12 hours and it had better performance, but seems to have caused other issues. I'll look into that part. I blocked out account names since I'm unclear about their security implications.

Very interesting. It is certainly possible, as there are quite a few layers of code that manage the gRPC making it's way up to where it is available through the PubSubClient offered by our library. Requests around 9s is definitely a red flag, and it does seem worth bringing up with compute engine support.
Thanks for the research thus far!

@GLStephen did you ever hear back from the compute engine team? Is it still an ongoing issue, or does it seem to have been resolved?

Since we haven't heard back on this for some time, I'm going to close this out. If this is still an on going issue please feel free to re-open.


Skip Attchments linked to EmailTemplate Object

Attachments linked to EmailTemplate objects cannot be linked to the EmailTemplate as a ContentDocument, so should be skipped to prevent errors

Thanks @jamesmelville for digging in and helping out with the project. Some other folks have ran into even more objects that don't support the attachment conversion so I'm planning in next update to provide options to select which object(s) should or should not be considered for conversion. This will also help out for example when third-parties like Drawloop, Conga, etc. specifically use attachments and the sudden disappearance of them would break those apps.


don't emit "unused @ts-expect-error" in unchecked js files

Fixes #39867
Files with // @ts-nocheck should emit absolutely no errors. The same goes for JS files if checkJs: false
However, TS2578: Unused '@ts-expect-error' directive. is still emitted in files that are not supposed to be typechecked.
This PR changes that behaviour so that error TS2578 is not thrown for files with // @ts-nocheck or JS files if checkJs: false. Added 3 test cases to confirm that it works.

Hi @sheetalkamat, is there anything I need to do before this can be merged? We would love to see this bug fix released :)


Missing dependencies with MediatR version 10

MediatR version 10 moved the INotification interface into a new assembly MediatR.Contracts, so, using the latest MediatR without referencing that new assembly breaks the compilation of the application.

MediatR issue: https://github.com/jbogard/MediatR/issues/690

@OmiCron07 Can you test that the 5.0.0 preview works for you? https://www.nuget.org/packages/MediatR.Courier/5.0.0-preview0001

It compiles and executes!

Thats great i will release a stable version soon

the 5.0.0 release fixes this


[stable/concourse] Optionally not mount k8s secrets

What this PR does / why we need it:
This PR allows you to mount an empty dir to the location secrets are expected to manage them outside of kubernetes secrets.
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

/assign @william-tran

What would be the alternative?
  ## Use kubernetes secrets to store the secrets. Setting this to false will mount an
  ## empty directory to the secrets paths. Only set this to false if you intend to inject
  ## the secrets to the secrets paths outside of helm

For the last line in this comment, I would change the word helm to kubernetes, because setting secrets.create to false allows you to use k8s secrets outside helm.

What would be the alternative?
we are using a tool which works a bit like aqua https://www.hashicorp.com/blog/aqua-security-helps-enterprises-to-securely-manage-secrets-in-containers-with-vault manages the integration of vault and kubernetes secret environment variables and file contents


[WIP] client: intercept simple impl

Execute cargo build in intercept directory
move /target/debug/libintercept.so to the directory that needs to be intercepted， and cd to the directory
Execute LD_PRELOAD=./libintercept.so ./filename

Will theses codes meerge to main branch?

Will theses codes meerge to main branch?

I think it will be merged in the end

Will theses codes meerge to main branch?

Yes, it will work with FUSE to provide services for different layers of applications in the future.
I'm not sure is it good to merge into this repo now though.


gamers details- more for helium to ignore

Hotspot b58 Addresses
112n4XvEBnF8aPbpqRWrbefBJ1ppraxGnoWqZcTuLFkMpXdtdRbb
114vD8dPLrcoDWLbgxQkXNXXPUNCBFaZikTgRHcMxAWQ5uvijUf
11H7awp8r5A5juFdK4Z3A6qiHLKuYp992LJTWf4MVMUswL1uXQf
11swi9UhjdciEZMEB8S8YDgfmaitkhQ92Vb1sC8SQstFkTrGTiv
11kYkEJ9tz7s9ZN5nbm7kbXfZ3oAZAc9XomkCSJusVbJZjuCqaB
Discord Handle
tower1#9919
Reason(s)
clearly gaming the system, witnessing beacons that are impossible to witness in the real world, all rssi signals are the same linked to the same wallet

All of them are already in the denylist. Please close the ticket.


🐛 [firebase_database] firebase database has non-null-safe libraries

Bug report
I have the latest firebase_database dependency ^6.1.0
All the packages support null safety
dart migrate
Migrating *path to project*

See https://dart.dev/go/null-safety-migration for a migration guide.

Analyzing project...
[------------------------------------------------------------------------------------------------------------------------------------------/]
Bad state: Error: package has unmigrated dependencies.

Before migrating your package, we recommend ensuring that every library it
imports (either directly or indirectly) has been migrated to null safety, so
that you will be able to run your unit tests in sound null checking mode.  You
are currently importing the following non-null-safe libraries:

  package:firebase_database/firebase_database.dart
  package:firebase_database/src/utils/push_id_generator.dart

Please upgrade the packages containing these libraries to null safe versions
before continuing.  To see what null safe package versions are available, run
the following command: `dart pub outdated --mode=null-safety`.

To skip this check and try to migrate anyway, re-run with the flag
`--skip-import-check`.

flutter pub outdated --mode=null-safety
Showing dependencies that are currently not opted in to null-safety.
[✗] indicates versions without null safety support.
[✓] indicates versions opting in to null safety.

All your dependencies declare support for null-safety.

flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel beta, 2.0.0, on Microsoft Windows [Version 10.0.19042.867], locale en-IN)
[√] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
[√] Chrome - develop for the web
[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.9.0)
[!] Android Studio (not installed)
[√] VS Code (version 1.54.1)
[√] Connected device (3 available)

! Doctor found issues in 1 category

flutter pub deps -- --style=compact
Dart SDK 2.12.0
Flutter SDK 2.0.0
app 3.1.6+13

dependencies:
- firebase_analytics 7.1.1 [firebase_analytics_platform_interface firebase_analytics_web firebase_core flutter meta]
- firebase_core 1.0.1 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_crashlytics 1.0.0 [firebase_core firebase_core_platform_interface firebase_crashlytics_platform_interface flutter stack_trace]
- firebase_database 6.1.0 [flutter firebase_core]
- firebase_performance 0.6.0 [flutter firebase_core]
- firebase_storage 8.0.0 [firebase_core firebase_core_platform_interface firebase_storage_platform_interface firebase_storage_web flutter]
- flutter 0.0.0 [characters collection meta typed_data vector_math sky_engine]
- google_maps_flutter 2.0.1 [flutter flutter_plugin_android_lifecycle google_maps_flutter_platform_interface]
- shared_preferences 2.0.4 [meta flutter shared_preferences_platform_interface shared_preferences_linux shared_preferences_macos shared_preferences_web shared_preferences_windows]

dev dependencies:
- flutter_launcher_icons 0.9.0 [args image path yaml]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters charcode collection matcher meta source_span stream_channel string_scanner term_glyph typed_data]
- pedantic 1.11.0

transitive dependencies:
- archive 3.1.2 [crypto path]
- args 2.0.0
- async 2.5.0 [collection]
- boolean_selector 2.1.0 [source_span string_scanner]
- characters 1.1.0
- charcode 1.2.0
- clock 1.1.0
- collection 1.15.0
- crypto 3.0.0 [collection typed_data]
- fake_async 1.2.0 [clock collection]
- ffi 1.0.0
- file 6.1.0 [meta path]
- firebase 9.0.0 [http http_parser js]
- firebase_analytics_platform_interface 1.1.0 [flutter meta]
- firebase_analytics_web 0.2.0+1 [firebase firebase_analytics_platform_interface flutter flutter_web_plugins meta]
- firebase_core_platform_interface 4.0.0 [flutter meta plugin_platform_interface]
- firebase_core_web 1.0.1 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_crashlytics_platform_interface 2.0.0 [collection firebase_core flutter meta plugin_platform_interface]
- firebase_storage_platform_interface 2.0.0 [collection firebase_core flutter meta plugin_platform_interface]
- firebase_storage_web 1.0.1 [async firebase_core firebase_core_web firebase_storage_platform_interface flutter flutter_web_plugins http js meta]
- flutter_plugin_android_lifecycle 2.0.0 [flutter]
- flutter_web_plugins 0.0.0 [flutter js characters collection meta typed_data vector_math]
- google_maps_flutter_platform_interface 2.0.1 [flutter meta plugin_platform_interface stream_transform collection]
- http 0.13.0 [http_parser meta path pedantic]
- http_parser 4.0.0 [charcode collection source_span string_scanner typed_data]
- image 3.0.1 [archive meta xml]
- js 0.6.3
- matcher 0.12.10 [stack_trace]
- meta 1.3.0
- path 1.8.0
- path_provider_linux 2.0.0 [path xdg_directories path_provider_platform_interface flutter]
- path_provider_platform_interface 2.0.1 [flutter meta platform plugin_platform_interface]
- path_provider_windows 2.0.0 [path_provider_platform_interface meta path flutter ffi win32]
- petitparser 4.0.2 [meta]
- platform 3.0.0
- plugin_platform_interface 2.0.0 [meta]
- process 4.1.0 [file path platform]
- shared_preferences_linux 2.0.0 [flutter file meta path path_provider_linux shared_preferences_platform_interface]
- shared_preferences_macos 2.0.0 [shared_preferences_platform_interface flutter]
- shared_preferences_platform_interface 2.0.0 [flutter]
- shared_preferences_web 2.0.0 [shared_preferences_platform_interface flutter flutter_web_plugins meta]
- shared_preferences_windows 2.0.0 [shared_preferences_platform_interface flutter file meta path path_provider_platform_interface path_provider_windows]
- sky_engine 0.0.99
- source_span 1.8.0 [charcode collection path term_glyph]
- stack_trace 1.10.0 [path]
- stream_channel 2.1.0 [async]
- stream_transform 2.0.0
- string_scanner 1.1.0 [charcode source_span]
- term_glyph 1.2.0
- test_api 0.2.19 [async boolean_selector collection meta path source_span stack_trace stream_channel string_scanner term_glyph matcher]
- typed_data 1.3.0 [collection]
- vector_math 2.1.0
- win32 2.0.0 [ffi]
- xdg_directories 0.2.0 [meta path process]
- xml 5.0.2 [collection meta petitparser]
- yaml 3.1.0 [collection source_span string_scanner]

Hi @mihirpkshah
The latest firebase_database is not yet null-safe

This version is not null-safe but has been created to allow compatibility with other null-safe FlutterFire packages such as firebase_core.

There is already an open issue for getting null-safe versions for these packages.
Closing this as a duplicate of https://github.com/FirebaseExtended/flutterfire/issues/5207.
Thank you


Repo and org name chnges

Background
TSec has been gaining more following. More people are interested in the project, I've been getting more PR interest from first time contributors, and more suggestions on stuff..
This is even before the release of tsec-libsodium and while it's still in milestone "break all binary and many apis every PR" mode. This means that even with the fact that we're still a fledging project, the interest is there and it's growing.
This has made me quite happy, and I'm guessing the maintainers as well.
That said, my vision for tsec even from the begginning wasn't like, a "library for crypto stuff and that's it", it's been "Improve the cryptography and security environment in scala". This means that eventually, time permitting, I/We'd like to create different, high level crypto applications using tsec as a base (you could think of many: server-side admin panel frameworks, key distribution servers, TLS, cryptocurrencies... list goes on).
This means that eventually the repo needs to transcent my sole-ownership and become an org, to be able to host more complicated applications under one free, open-source banner. At the same time, the nametsec was the drop-in emergency replacement for the initial edgy repo name I was playing with inspired by circe's original, dank name.
Proposal
Org name (Because Crypto4s was taken :angry: ):

Crypt4s
HoneyBadgerCrypto (Gets my vote)

Repo name:

Crypto4s (Gets my vote as well)
???

Names for both org and repo  name are open for discussion, but eventually we will be renamed and transferred

👍 HoneyBadgerCrypto/crypto4s
I'm personally in favor of lowercase repo name to be consistent with the artifacts.

:+1: on crypto4s actually... I didn't really take into account the case.
Between the two, I prefer the one that matches the artifacts as well. I Don't like dealing with caps as much as the next guy.
Edited the post to reflect the change.

I'll go for Crypt4s / crypto4s but I'd prefer Crypto4s / crypto4s.
I think it could be worth trying to make contact with the owner of https://github.com/Crypto4s since it might be just a ghost repo or directly with GitHub customer service (I just made contact), there are a few happy stories out there (http://awolski.com/request-your-github-username/).
Another option could be registering the domain crypto4s.org, currently available, and claim the repository name with GitHub (I guess it's possible but a bit of a headache).

I like crypto4s as well, especially if we can get the org name. kryptos was my other thought but that's taken by a really-real person.

Digging up an old issue, I've seen some orgs named like foo-org so crypto4s-org is also an option.

I was able to acquire https://github.com/crypto4s -- I can start adding folks.

Also got crypto4s.org that we can point at GH pages.


Update plugin for SBOM generation to 2.7.10

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
2m  8s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

_ master Compile Tests _

+1 :green_heart:
mvninstall
2m 57s
master passed

+1 :green_heart:
compile
4m 44s
master passed

+1 :green_heart:
spotless
0m 41s
branch has no errors when running spotless:check.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
2m 36s
the patch passed

+1 :green_heart:
compile
4m 49s
the patch passed

+1 :green_heart:
javac
4m 49s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
xml
0m  1s
The patch has no ill-formed XML file.

+1 :green_heart:
hadoopcheck
9m 37s
Patch does not cause any errors with Hadoop 3.2.4 3.3.6.

+1 :green_heart:
spotless
0m 39s
patch has no errors when running spotless:check.

_ Other Tests _

+1 :green_heart:
asflicense
0m 11s
The patch does not generate ASF License warnings.

34m  5s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5485/1/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/5485

Optional Tests
dupname asflicense javac hadoopcheck spotless xml compile

uname
Linux fa98fb67e07a 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 208e9b1a82

Default Java
Eclipse Adoptium-11.0.17+8

Max. process+thread count
79 (vs. ulimit of 30000)

modules
C: . U: .

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5485/1/console

versions
git=2.34.1 maven=3.8.6

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Hi, @VinodAnandan , thanks for the PR.
HBase uses JIRA to track issues, so please follow the guide on our readme page to request a jira account and then file a jira issue for this problem.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 32s
Docker mode activated.

-0 :warning:
yetus
0m  3s
Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck

_ Prechecks _

_ master Compile Tests _

+1 :green_heart:
mvninstall
2m 48s
master passed

+1 :green_heart:
compile
1m 53s
master passed

+1 :green_heart:
shadedjars
4m 54s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
1m 56s
master passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
2m 34s
the patch passed

+1 :green_heart:
compile
1m 54s
the patch passed

+1 :green_heart:
javac
1m 54s
the patch passed

+1 :green_heart:
shadedjars
4m 51s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
1m 55s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
290m  5s
root in the patch passed.

320m  4s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5485/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/5485

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux d8f4266673c1 5.4.0-156-generic #173-Ubuntu SMP Tue Jul 11 07:25:22 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 208e9b1a82

Default Java
Eclipse Adoptium-11.0.17+8

Test Results
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5485/1/testReport/

Max. process+thread count
8261 (vs. ulimit of 30000)

modules
C: . U: .

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5485/1/console

versions
git=2.34.1 maven=3.8.6

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
2m 23s
Docker mode activated.

-0 :warning:
yetus
0m  3s
Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck

_ Prechecks _

_ master Compile Tests _

+1 :green_heart:
mvninstall
2m 42s
master passed

+1 :green_heart:
compile
1m 34s
master passed

+1 :green_heart:
shadedjars
5m 19s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
1m 26s
master passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
2m 14s
the patch passed

+1 :green_heart:
compile
1m 32s
the patch passed

+1 :green_heart:
javac
1m 32s
the patch passed

+1 :green_heart:
shadedjars
5m 17s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
1m 22s
the patch passed

_ Other Tests _

-1 :x:
unit
355m 17s
root in the patch failed.

383m 57s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5485/1/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/5485

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux 405c6eb59a73 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 208e9b1a82

Default Java
Temurin-1.8.0_352-b08

unit
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5485/1/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-root.txt

Test Results
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5485/1/testReport/

Max. process+thread count
5135 (vs. ulimit of 30000)

modules
C: . U: .

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5485/1/console

versions
git=2.34.1 maven=3.8.6

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Hi, @VinodAnandan , thanks for the PR.
HBase uses JIRA to track issues, so please follow the guide on our readme page to request a jira account and then file a jira issue for this problem.

@Apache9  Done


CONTRIBUTIONGUIDELINES.md

The project could use a well illustrated contribution guidelines documentation. I would love to work on it.

Sounds good @kanishkaa24. I am assigning you this issue.

Sounds good @kanishkaa24. I am assigning you this issue.


test: init testing

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


add file wrapper

Signed-off-by: Paulo Faria<EMAIL_ADDRESS>I'm not sure about the naming. mfile could be named file, but I think that's dangerous. The functions could be renamed to mfopen, mfclose, mftell, etc.. though.
Submitted under MIT/X11 license

Merged. Thanks!
In the subsequent patch I've removed all attach/detach functions from tcp/unix/udp/file.

Tested on Linux, OSX and FreeBSD.

FYI, I've tried using stdin in non-blocking way and it seems to work ok both on Linux and FreeBSD:
#include <assert.h>
#include <fcntl.h>
#include <stdio.h>
#include <poll.h>
#include <unistd.h>

int main(void) {

    int flags = fcntl(STDIN_FILENO, F_GETFL, 0);
    assert(flags != -1);
    flags |= O_NONBLOCK;
    flags = fcntl(STDIN_FILENO, F_SETFL, flags) != -1;
    assert(flags != -1);

    while(1) {
        struct pollfd pfd = {STDIN_FILENO, POLLIN, 0};
        int rc = poll(&pfd, 1, -1);
        assert(rc == 1);
        assert(pfd.revents == POLLIN);

        char buf[1024];
        ssize_t sz = read(STDIN_FILENO, buf, sizeof(buf));
        assert(sz >= 0);
        printf("%d\n", (int)sz);
        if(sz == 0)
            break;
    }
    return 0;
}

I've committed a simple implementation of mfin, mfout and mferr. Feel free to comment, complain, ridicule...


Fix CI for Rust 1.72

Objective
Rust 1.72.0 is now stable.
Notes

let-else formatting has arrived!

I chose to allow explicit_iter_loop due to https://github.com/rust-lang/rust-clippy/issues/11074.
We didn't hit any of the false positives that prevent compilation, but fixing this did produce a lot of the "symbol soup" mentioned, e.g. for image in &mut *image_events {.
Happy to undo this if there's consensus the other way.

Dang I really wanted one liners for cases like this:

https://github.com/rust-lang/rustfmt/blob/master/Configurations.md#single_line_let_else_max_width

Might be fixable: https://github.com/rust-lang/rustfmt/blob/master/Configurations.md#single_line_let_else_max_width

I think that there must be some bug with single_line_let_else_max_width because even with it set very high, lots of seemingly narrow-enough lines get formatted on multiple lines.

Dang I really wanted one liners for cases like this:

@cart This reads like it should just work as long as we remove the semicolon from after the return
https://github.com/rust-lang/rust/blob/master/src/doc/style-guide/src/statements.md#else-blocks-let-else-statements

Format the entire let-else statement on a single line if all the following are true:

the entire statement is short
the else block contains only a single-line expression and no statements
the else block contains no comments
the let statement components preceding the else block can be formatted on a single line

let Some(1) = opt else { return };

This reads like it should just work as long as we remove the semicolon from after the return

It seems like that helps in the case of else { return };, but fmt adds a semicolon inside the block in the case of e.g. else { return true; };

It seems like that helps in the case of else { return };, but fmt adds a semicolon inside the block in the case of e.g. else { return true; };

That seems like it would be caused by this "unstable" rustfmt option.. https://rust-lang.github.io/rustfmt/?version=v1.6.0&search=semi#trailing_semicolon
https://github.com/rust-lang/rustfmt/issues/3378

We seemingly can't set single_line_let_else_max_width greater than ~83 due to  https://github.com/rust-lang/rustfmt/issues/5404.
Doing so results in a spam of many
`single_line_let_else_max_width` cannot have a value that exceeds `max_width`. `single_line_let_else_max_width` will be set to the same value as `max_width`

in the console while formatting.


Fix icon not showing up in gallery

The icon that is trying to be used is https://cdn.rawgit.com/chocolatey/choco/8b6217061a4efe6543622e903996bb8eac012db2/docs/images/Choco_Icon.png which results in an HTTP 404.

Let's just use the same iconUrl that chocolatey uses just now:
https://raw.githubusercontent.com/chocolatey/choco/master/docs/logo/chocolateyicon.gif


Extended frigate

Description of changes

This PR improves the Fritgate package:

Added support for audio-recognition role
Removes some settings which broke other installed packages (issue)
Added some missing tmpfiles config
Added openFirewall option
Resolved some replace-deprecation warnings

I'm a newbie contributor..
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Welcome to Nixpkgs! Please separate your changes to the package in a commit named frigate: <changes to the package> and the changes to the module in a commit named nixos/frigate: <changes to the module>. Also, squash any fixup/formatting commits.

Hi, @GrumpyMeow. This PR was closed as there have been no updates for months, and its multiple reviews were not acted upon. It has been superceded by #357717; feel free to review that PR and ascertain that all important features from this PR are included in the new one. If #357717 has a reduced scope, consider opening new pull requests that add new features after that PR has been merged.


added description

https://app.clubhouse.io/bark/story/64151/the-tracking-service-doesn-t-store-the-full-tracking-message-from-fedex

Merging: QAed as part of https://app.clubhouse.io/bark/story/64151/the-tracking-service-doesn-t-store-the-full-tracking-message-from-fedex