ReactInvalidComponentException: Could not find a component named 'Components.CommentsBox'. Did you forget to add it to App_Start\ReactConfig.cs?

Thanks for filing a bug! To save time, if you're having trouble using the library, please check off the items you have tried. If you are just asking a question, skip right to the bottom.
Please verify these steps before filing an issue, and check them off as you go

[x ] The relevant native JavascriptEngineSwitcher library packages are installed (such as JavaScriptEngineSwitcher.V8.Native.win-x64)
[ x] The VC++ 2017 runtime is installed
[ x] The value of SetUseReact and SetUseBabel is correct in ReactConfig.cs or Startup.cs
[ x] I've looked at the sample projects in this repo to verify that my app is configured correctly

I'm using these library versions:
-ReactJS.NET: React.Core 5.2.11, React.AspNet 5.2.11
-JavaScriptEngineSwitcher: JavaScriptEngineSwitcher.V8 3.12.15
-react and react-dom: (N/A if using bundled react, or version number) N/A
-webpack: (N/A if using bundled react) 4.43.0
-node: (N/A if using bundled react) N/A
Runtime environment:

OS: (Mac, Windows, Linux flavor. Include 32-bit/64-bit and version)
.NET Framework or .NET Core Version:

Steps to reproduce
Install files for React JS Net. Add assets to web project. Complete webpack installation process using node and npm. Add components folder and relevant files from sample.  Add views and models to home controller for testing purposes and add initial code to render root component.
I cannot render components to the view the same as I can render the RootComponent from my home.jsx file similar to the webpack demo.
I am adding to the expose-components.js file as such:

import React from 'react';
import ReactDOM from 'react-dom';
import ReactDOMServer from 'react-dom/server';

import RootComponent from './home.jsx';
import Emotion from './emotion.jsx'
import CommentsBox from './comments/Sample.jsx'

// any css-in-js or other libraries you want to use server-side
import { ServerStyleSheet } from 'styled-components';
import { renderStylesToString } from 'emotion-server';
import Helmet from 'react-helmet';

global.React = React;
global.ReactDOM = ReactDOM;
global.ReactDOMServer = ReactDOMServer;

global.Styled = { ServerStyleSheet };
global.Helmet = Helmet;

global.Components = { RootComponent };
global.Emotion = { Emotion };
global.CommentsBox = { CommentsBox };

Then I am attempting to call my component in the view as such:
@using React.AspNet
@{
    ViewData["Title"] = "Comments";
}

Comments

    @Html.React("Components.CommentsBox", new { someProp = "some value from .NET" })

@Html.ReactInitJavaScript();

I am getting the following error:
ReactInvalidComponentException: Could not find a component named 'Components.CommentsBox'. Did you forget to add it to App_Start\ReactConfig.cs?
My web pack file is here:
const path = require('path');
const ManifestPlugin = require('webpack-manifest-plugin');

module.exports = {
	entry: './components/expose-components.js',
	output: {
		filename: '[name].[contenthash:8].js',
		globalObject: 'this',
		path: path.resolve(__dirname, 'wwwroot/dist'),
		publicPath: '/dist/'
	},
	mode: process.env.NODE_ENV === 'production' ? 'production' : 'development',
	optimization: {
		runtimeChunk: {
			name: 'runtime', // necessary when using multiple entrypoints on the same page
		},
		splitChunks: {
			cacheGroups: {
				commons: {
					test: /[\\/]node_modules[\\/](react|react-dom)[\\/]/,
					name: 'vendor',
					chunks: 'all',
				},
			},
		},
	},
	module: {
		rules: [
			{
				test: /\.jsx?$/,
				exclude: /node_modules/,
				loader: 'babel-loader',
			},
		],
	},
	plugins: [
		new ManifestPlugin({
			fileName: 'asset-manifest.json',
			generate: (seed, files) => {
				const manifestFiles = files.reduce((manifest, file) => {
					manifest[file.name] = file.path;
					return manifest;
				}, seed);

				const entrypointFiles = files.filter(x => x.isInitial && !x.name.endsWith('.map')).map(x => x.path);

				return {
					files: manifestFiles,
					entrypoints: entrypointFiles,
				};
			},
		}),
	]
};

And I'm able to reference the home.jsx file as such in my index file:
@using React.AspNet
@{
    ViewData["Title"] = "Home Page";
}

Welcome

    @Html.React("Components.RootComponent", new
    {
  someProp = "some value from .NET"
})

@Html.ReactInitJavaScript();

The above code renders fine but my comments box code does not work.
Any insight is appreciated on this.

I figured this out. I was not running npm run build in between updates so it was not finding my components. Closing with this comment. Hope this helps anyone in the future.


fix: Fix linting, integrate ruff and typo check pre-commit checks

Motivation
After realizing that our current isort setup is misfunctional and doesn't do anything, I started integrating ruff via pre-commit hooks alongside some other useful tools like spell checkers and file line ending sanitizers.
I tried to keep the change as small as possible and therefore disabled some ruff rules (like the ruff isort equivalent, ruff format, line ending cleanup, ...). Those can be enabled at a point in time when no PRs as it could yield quite some merge conflicts.
In theory, the python_comliance script could be replaced completely by pre-commit hooks, however, in this PR I didn't want to waste too much time on CI adjustments. I just want to have the pre-commit hooks for my sanity.
Avoiding typos also makes sense I guess :)

Generally LGTM

shouldn't we put this into main to keep the diff of the other PR small?
i think in the python compliance script we still might want to use mamba in case micromamba is not available. everything else LGTM!

I merged in #447 so that there wouldn't be any merge conflicts later after merging #447 into main. Switching base branches on GitHub still makes sense to hide the the diff that comes from the other branch. I didn't intend to merge this PR into the other one.


Adding CSS classes to years (viewMode 2) doesn't work

Adding CSS classes to certain years, for example using the beforeShowDay or onRender callbacks, doesn't work with year selections (minViewMode 2). The functions get called but return values have no effect.

@sth519 please add a jsfiddle example showing the case, makes it easier to debug ;) You can use this jsfiddle as a base to create your case!

Simplified example: http://jsfiddle.net/ro9ufa3k/1/
If you comment out the view mode settings, everything works as documented. However, I have not found a way to assign classes in the year selection mode.

Any ideas on how to fix this? I'm not familiar with the codebase of this project, so any pointers in the right direction are highly appreciated.
Thanks!

Any ideas?

The option you use in the example is the before show day callback and it only applies to the day viewmode. There is another option 'beforeShowMonth' but there is not one yet for the year view
So if I understand you correct, what you try to achieve needs an new option 'beforeShowYear'?

Yes. The reason is that I need to highlight certain years in the dropdown list.

Ok, I will label this issue as an feature and have it go into the 1.5.0 release!

Thanks!

Fixed in #1436


Test Parity: Custom Pre-fill Cypress Test with Collaterals

Description

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

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

Checklist:

[ ] I have signed the Adobe Open Source CLA.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes and the overall coverage did not decrease.
[ ] All unit tests pass on CircleCi.
[ ] I ran all tests locally and they pass.

https://jira.corp.adobe.com/browse/CQ-4350379
Logged a backlog ticket to temporarily unblock this PR
cc: @nit23uec @rismehta


Create a Drawing view

Like an Ink Canvas.
Ref - https://medium.com/@mmartosdev/android-ink-practical-guide-c403e1dd78f0

Addon - Record the path and retrace it with boosted color as an animation


Create org.javalite.common.Formatter class with toJson() and toXml() methods

I think Model should be able to use these new Formatter methods when Model.toJson() or Model.toXml() are called.
BUT is not so straightforward, since Model may insert the children before closing the brace and also has the beforeClosingBrace() method, so we need a way to have a beforeClosingBrace() method in the Formatter too... @ipolevoy, what do you think?

yeah, did not think of that. Maybe formatter can emit an object that can do this?

Then this Builder object will need receive a Callback object, something like:
format(map, true, "foo", "bar").with(new JsonFormatCallback() {
    @Override public void beforeClosingBrace(
            StringBuilder sb, boolean pretty, String indent, Map<String, ?> map, String... keys) {
        // do it here
    }
}).toJson();

Which looks too complicated. I'm still in favor of using inheritance to solve this, having a JsonAndXmlSerializable (another bad name for DataTransferObject) and making Model extend it. The superclass will have an abtract beforeClosingBrace(), and Model would override it to output the children... thoughts?

 But in this case, inheritance might be better. However Model already extends CallbackSupport. What do you suggest?
How about this:
Formatter.toJson(map, true, braceListener, writer, "foo", "bar");

BraceListener or TagListener are interfaces implemented by user model

CallbackSupport has package visibility, so my suggestion is we delete it and more its methods to Model. That would even allow void fireBeforeSave(Model m) to become void fireBeforeSave()...
I had the same idea you suggested, but that would be weird because the class that has a composition with the map would implement BraceListener at the same time (also giving the doubt of passing the map as a parameter to BraceListener method or not)... humm, no. Inheritance still looks a better design.

Please, propose a complete API design here, lets talk!

@ipolevoy, added code to my fork: https://github.com/ericbn/activejdbc/commit/8c9850c4fdb6bf159f43270718be4a1ea2041af9
Change resulted in 194 added lines for the JSON implementation.
I tried several things and your idea of having a BraceListener and not using inheritance was the best. Also, I created a JsonSerialize builder so one can do things like:
JsonSerialize.map(map).pretty(true).withAttributes("name", "last_name").toString();
JsonSerialize.collection(list).pretty(true).toStringBuilder(sb);

and that can be used with the Model and LazyList too:
person.jsonSerialize().pretty(true).withIdent("  ").toStringBuilder(sb);
Person.findAll().jsonSerialize().pretty(true).toString();

These should replace the toJson() methods. A call like Model.toJson(true) always gave me the thought of "true what?"...  :- )
Still need to add all the javadocs. Also, I we approve this approach, I'll then implement it for XML serialization too.

By profiling the test json with the solution above and comparing it to the last run with Jackson, we improved the number of responses created in one minute from 86,119 to 1,423,530! (A profiling using Templator instead of Jackson to render the responses, created 667,629 of them in one minute.)
Spent 93.3% with ActiveWeb methods, 2.7% with JSON serialization, and 0.6% with Templator, which was initialized, even not being used to render the response.

@ericbn, great, that  we have performance improvement!
However, not sure I like the new API (I'm blunt, am I :) ).
For instance, class JsonSerialize needs to be called Serializer and contain two methods: toJson and toXml for now.
I'm not too craxy about the names of methods:
    public JsonSerialize jsonSerialize() {
        return JsonSerialize.map(attributes, this).withAttributes(attributeNamesLowerCased());
    }

    @Override
    public JsonSerialize jsonSerialize(String... attributeNames) {
        return JsonSerialize.map(attributes, this)
                .withAttributes(!empty(attributeNames) ? attributeNames : attributeNamesLowerCased());
    }

Why not call them toJson and have two more overloaded methods?
I'm also not fond of the builder pattern in this case either. A builder pattern is good in places where you have optional parameters, and you can use fluent interfaces to progressively configure the outcome. Writing builder pattern is no fun, and maintaining it is also hard. I propose to refactor the class JsonSerialize to not have the builder pattern. Also, what purpose the JsonSerializable interface is serving - only to satisfy the builder pattern??? Can we kill it?
I would suggest this:
public class Serializer {

   // default pretty == false,
  public static String toJson(map);
   // default pretty == false,
  public static String toJson(map, braceListener);
  public static String toJson(map, braceListener, pretty);
}

I know this is more overloaded public methods, but their implementation and maintenance will be a whole lot easier!
We do not need to use indent as a parameter, since toJson() method is mostly consumed by web services.
Additionally, the semantics of the method:
public void toStringBuilder(StringBuilder sb)

are incorrect. By all Java conventions, the name implies that it returns StringBuilder, but instead it writes to it. It needs to be renamed to write:
public void write(StringBuilder sb){...}

Agreed?

Also, we were going to call this Formatter? See name of this issue :)

I thought serializing describes this action better than formatting... agree?

I think some your observations apply better to other parts of the code than here. For example, the builder pattern is overused and could be better replaced by overloading methods at ValidationBuilder (it only has the message() method) for example:
 addValidator(v).message(m);
 // could be:
 addValidator(v, m);

We have some optional parameters -- attributeNames and ident. The pretty parameter can be optional with a default as false too...

We have a boolean parameter -- pretty. In the case of XML we have two boolean parameters -- pretty and declaration. I think they are confusing when you need to pass them all as flags in a method, like toXml(true, true, "first_name", "last_name"). I don't like this. Makes me wonder "true and true what?" and always go back to the javadoc to check...

We have to serialize maps and collections too. And for map serialization we can have an optional listener. AND we can output as String or to a StringBuilder. Now try to create the overloaded methods for all the possible combinations! Try it! I did!  ;- )  This is good case for a builder pattern, I think. Take a look at my implementation and see how I reused many parts of the code for the map and collection serialization using hierarchy.

I don't like creating extra objects when not needed, but in this case I liked the solution a lot.  ;- )

Yeah, we can review the names, though I like most of them as they read good as
 p.jsonSerialize().pretty(true).withAttributes("first_name", "last_name").toStringBuilder(sb);
 // serialize is the verb, then we have the adjectives and substantives in the middle
 // and finally the "to string" or "to string builder" at the end, so it reads fluently!

I didn't start with toJson, but with jsonSerialize, so "to json to string" would be better replaced by "json serialize to string". Also we have toStringBuilder(sb) receiving a StringBuilder as is a mutable object and we append to it, and toString() returning a String as it is a immutable object.

I agree we can keep the "old" toJson() method. But I would not force the new methods to have the same name just because we already have the other one there.

Thoughts?
Also, lets leave this for the next release, right? So, we keep it in my fork for now...

Also, we must not forget the motivation of having the Serialize also outside of the Model and LazyList classes, so one can do for example:
String json = JsonSerialize.map(map).pretty(true).toString();
// or
JsonSerialize.collection(list).toStringBuilder(sb);

This is all contemplated in the current solution.

OK, you have a point about the builder pattern. Still this API needs love
how bout this:
p.toJson().pretty().attributes("first_name", "last_name").writeTo(sb)
..
String json = JsonFormat.map(map).pretty().toString();
...
JsonFormat.collection(list).writeTo(sb);

Ok, let's add more love to it then!  ;- )
I still prefer Serialize more than Format. Format for dates and number is ok. Serialize for Object --> JSON, XML (and Unserialize for the opposite direction).
I don't like the possibility of p.toJson().toString()... reads confusing. Also, I prefer withAttributes() over attributes() (the same for withIndent())... we can have to(sb) instead of toStringBuilder(sb).
JsonSerialize.collection(list).to(sb); // reads english: serialize collection to sb.
JsonSerialize.map(map).pretty().withAttributes(attrs).withIndent("").toString();
// also reads english: serialize map, pretty, with attributes attrs, with indent "", to string.

How about this?
Serialize.collection(list).to(sb); // reads english: serialize collection to sb.
Serialize.map(map).pretty().include(attrs).indent(" ").toString();

?

Yeah, I like this one!
I would just call it JsonSerialize because we'll have a XmlSerialize too. What do you think?

I don't think we should use the same class for both because the options are a little bit different, XML has the extra "declaration" option.

so what? I'd combine the two in the same class Serializer. The name is shorter, and to the point.

we can also use it for protobufs in the future if we go that direction

How do we differentiate between serialization as JSON or XML? If not with JsonSerialize and XmlSerialize... I'm afraid other solutions will lead to creating another object besides the builder...

Serialize.collection(list).to(sb); reads beautifully but does not say in which format to serialize, so is not implementable.

How about this:
Serialize.collection(list).toJson(sb);
String json = Serialize.map(map).pretty().include(attrs).indent(" ").toJson();

Serialize.collection(list).toXml(sb);
String xml = Serialize.map(map).pretty().include(attrs).indent(" ").toXml();

We need to pass the listener (brace listener or tag listener) depending if it's JSON or XML, at the beginning, so we cannot postpone to know the output type just in the end...
I got to this:
Serialize.toJson(list, braceListener).appendTo(sb);
String json = Serialize.toJson(map).pretty().include(attrs).indent(" ").toString();

Serialize.toXml(list, tagListener).appendTo(sb);
String xml = Serialize.toXml(map).pretty().withXmlDeclaration().toString();

Now I think we need to have an alternative better name for toString() (maybe asString()?) and a better name for withXmlDeclaration() too. Suggestions?

this actually looks good. I suggest to keep toString and rename withXmlDeclaration  to includeDeclaration

This didn't prove to be a good solution. Code got too complex and it performs worse than Jackson.
My suggestion is we close/abandon this.

@ericbn, shall we revert changes?

@ipolevoy, I committed everything in my fork, so no need to worry about this. The javalite repo was not affected.  :- )

@ericbn , sorry - I'm known to create confusion :)


Hover is not working on macOS (12.3).

In macOS (12.3), hover works only under two conditions: first, when the window utilizes setFocus, and second, when a click event occurs in the hover area.
https://github.com/ahkohd/tauri-macos-spotlight-example/assets/44762964/eb262322-bbd2-4c2f-87b2-4afdfd003bd6

@ahkohd, any chance we can fix this? 😄

On it. It's hard to test because I don't have a macOS with 12.3.

@ahkohd any chance we can fix this? 😄

@ahkohd any chance we can fix this? 😄

🙏

@ahkohd any chance we can fix this? 😄

Thanks for your help on this issue! Really appreciate it!

@jia1e Thanks for your help on this issue! Really appreciate it!

Sorry, I'm late to the party. I want to add this solution to the example, so I'll reopen this issue until it's merged!
Thanks, @ruoxiaomo, for reporting this, and thanks, @jia1e, for finding a fix.

Sorry, I'm late to the party. I want to add this solution to the example, so I'll reopen this issue until it's merged!
Thanks, @ruoxiaomo, for reporting this, and thanks, @jia1e, for finding a fix.

that's ok, Let's Perfect it together!

@ruoxiaomo , please can you help test this PR if it works on your older macOS?
https://github.com/ahkohd/tauri-macos-spotlight-example/pull/15

@ahkohd yeah, it can be work in my mac!

Nice I have merged the #15.


🐛 [OFFICIAL] Generated Issue: ParserException

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
Sentry Report: https://jikan-ev.sentry.io/share/issue/215e6ac98e42452c90f4339598713c73/
Req: https://api.jikan.moe/v4/anime/31758/episodes/2
MAL: https://myanimelist.net/anime/5/_/episode/2
Episodes pages that do not exist for anime do not return 404. Instead they return HTTP 200 w/o any listing. Should be a quick fix with a node empty check and empty array return.
Expected Behavior
The API should have returned a successful response with data.¤t_behavior=The API has returned an error:
Jikan\Exception\ParserException
Status code: 0
Message: Failed to parse 'https://myanimelist.net/anime/31758/_/episode/2'
Trace: /var/www/jikan-rest/vendor/jikan-me/jikan/src/Exception/ParserException.php on line 24
Steps To Reproduce
Http Request: `GET /v4/anime/31758/episodes/2
Environment
No response
Anything else?
No response

Duplicate #561


Useless

This library doesn't work on a linux/ubuntu environment and there is no support provided.
This library belongs in the bin

You provide zero details on your issue so that's helpful.  It DOES work on Linux I am using it on Nobara.  What you may be running into is Wayland vs. X11.  I had to install KDE Plasma and use X11 rather than wayland.  This library apparently needs contributors to add the new wayland support.

This library doesn't work on a linux/ubuntu environment and there is no support provided.
This library belongs in the bin

I'm using lubuntu which is a flavor of ubuntu, and it works for me.
Are you sure you followed the docs and install all of the requirements first before using the library?

#603


Added docker file that cross-compiles for Raspberry Pi Zero

At the moment, https://github.com/cross-rs/cross doesn't support RPi Zero, due to it being the armv6 architecture. Trying to build a cross-rs image with packages from the raspian archive resulted in lots of problems with glibc, so this didn't work either.
Eventually, I pieced together parts from https://capnfabs.net/posts/cross-compiling-rust-apps-linker-shenanigans-multistrap-chroot/ and https://earthly.dev/blog/cross-compiling-raspberry-pi/ to come up with a docker file that uses multistrap to generate a RPi compatible sysroot, and then gets a linker from https://github.com/tttapa/docker-arm-cross-toolchain
The result is a docker image that you can build once with docker build and then call docker run to build (or incrementally rebuild) the haxo binary.
I imagine support for newer RPis will be much simpler to add, but for now at least (I have a RPi Zero 2 coming in the mail :)) I don't have anything else to test on, so I think it's worth submitting this as is.
This is much faster than building on the RPi Zero directly, and I've tested it on Mac M1 and Linux. Mac M1 is much slower than Linux because the container itself is amd64, which means that the Mac is natively arm, emulating amd64, to cross compile to arm. There's probably a better way, but at least it works...

Amazing work, @petermoz
I just tested this on my linux workstation (AMD Ryzen 7 5700U, archlinux) and it was so fast (the compilation step took 16 seconds) that I had to triple check to convince myself that the actual executable had been built.
I cannot test it on a RPi Zero at the moment, but I don't see any reason for postponing the merge.

Thanks for merging, and cool to see all the CI pipeline stuff you're doing!

I just tested this on my linux workstation (AMD Ryzen 7 5700U, archlinux) and it was so fast (the compilation step took 16 seconds) that I had to triple check to convince myself that the actual executable had been built.
Hah yeah I had a similar reaction myself. It's going to make any subsequent development for the Pi Zero so much easier

Hi @petermoz,

I imagine support for newer RPis will be much simpler to add, but for now at least (I have a RPi Zero 2 coming in the mail :))

Did you receive your RPi Zero 2 yet?  Do you plan to create another docker file for it?  If no, would you mind dumping some notes into an issue with some guidance on how to do that?  Maybe someone will pick that challenge.  The RPi Zero 2 has become my default architecture at the moment, I would love to add it to the CI workflow.  Thanks!

Hi @jcard0na, yes it arrived, but unfortunately I haven't even managed to solder on the headers yet.
Is there a chance the Pi Zero 1 binary is compatible with the Pi Zero 2 without any changes? I thought it might be, so I copied the same binary across to a fresh raspian install on the Pi Zero 2 and it seems to start ok. Of course it crashes when it can't find the haxo hardware, so I can't check if it fully works - maybe you've discovered an issue further into the code?

Is there a chance the Pi Zero 1 binary is compatible with the Pi Zero 2 without any changes?

Oh, I did not think of that.  I'll try that next week.  Thanks!

Had a chance to put everything together today, and the same binary works fine on the RPi Zero 2 :)
I have no idea if a binary compiled for armv7 would be any faster

Oh, thanks for checking.

I have no idea if a binary compiled for armv7 would be any faster

I doubt there is a meaningful difference as we don't do any floating-point arithmetic.


v1.2 backport 18 07 30

#4998
#5029
#5039

No conflicts during backport.

This change is

@raybejjani Just changed up the branch, good catch.

Uually I only notice when it shows me a massive diff with conflicts... too fresh a branch I guess


create function to take in countryCode and manupulate info to isolate one object in console

done but show Columbia at first? new issue created


how to run EEG-PROCESSING-TOOLBOX in matlab

Hello,
This may not be issue for you but I am stuck for how to use this toolbox.
Can you please share if there is any tutorial for the same.
Thanks in Advance.

There is not specific tutorial! However, there is a number of example files that may help you figure out how to use the toolbox.


Add O/S Kernel version to the SBOM

In addition to capturing the OS_FULL_VERSION, it would be worth adding a seperate section to capture the O/S Kernel version, particulary in the context of docker containers, where the underlying O/S kernel may be different to the O/S.

The solution will be to combine O/S and kernel information in the OS_FULL_VER element of the SBOM

This is what the new labels will look like..
"properties" : [
{
"name" : "OS version",
"value" : "Fedora Linux 35 (Kernel: 4.18.0-372.9.1.el8.x86_64)"
},
"properties" : [
{
"name" : "OS version",
"value" : "Alpine Linux 3.14.6 (Kernel: 4.18.0-372.9.1.el8.x86_64)"
},


Add socket_opts options to ESME

I needed to make some changes to the ESME's socket configuration, specifically overriding the supported SSL ciphers (erlang changed the defaults recently and we needed the old ones)
This PR adds the socket_opts keyword pair to the ESME opts allowing users to add additional socket options to the connection, the specific options supported are purposely omitted from the docs as they vary on the transport.
We've been running this for a few months now in production and has worked without issue.
I've also corrected the misleading transport_opts in the ESME test (as it wasn't implemented in the module to begin with)

Hello!
Thanks a lot for your contribution. There are few questions about the PR.


[] Yes
[x] No

Pull Request Type
What kind of change does this Pull Request introduce?

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

How to Test
Just run the steps in https://github.com/Azure-Samples/azure-spring-boot-samples/blob/main/keyvault/azure-securtiy-keyvault-jca/run-with-command-line-server-side/README.md
What to Check
Verify that there is no error like no main manifest attribute, in run-with-command-line-server-side-1.0.0.jar.
Other Information

/check-enforcer override

/check-enforcer override

HI, @saragluna

Please help to approve this PR again.
The check failure is not cause by the change in this PR. We can fix it in another PR.


Backend for datastorage

Set up database and tie it into the backend.
Need to setup db-tables for users, datasets, studies.

Closing as support has been added and tested.


embedded charts broken

Describe the bug
embedded charts are broken
https://visualize.admin.ch/de/v/IYdcAI0tH0Io?dataSource=Prod
and show duplicate legend and duplicate hierarchy in filters 👀
To Reproduce
Steps to reproduce the behavior:

Go to https://visualize.admin.ch/de/v/IYdcAI0tH0Io?dataSource=Prod
see duplicate legend
open filter
see broken hierarchy (introduced intermediate level & duplicate elements)

Expected behavior
chart as displayed here https://visualize.admin.ch/de/v/yHbeA1GiyqXB?dataSource=Prod

single legend
no intermediate level in hierarchy

no duplicates in hierarchy

Screenshots or video

duplicate legend

duplicate hierarchy

Environment (please complete the following information):

Visualize environment and version: PROD v3.22.9 (a09cdc3)

@bprusinowski a rapid fix would be helpful

Hi @Rdataflow, after the first look, it might be a problem with the data, as we get these hierarchies when querying LINDAS:

We don't have any logic to handle this, as I don't think this is an expected situation. Let me know if it's otherwise, I think the simples option would be to drop duplicates by name 👀

@kronmar already double checked the data. It seems to be an issue in the logic of visualize. Therefore we ask you to fix the logic.

Maybe here a relevant query: https://s.zazuko.com/3aAR4HP
All cubes in the history have basically the same hierarchy. But all from different shapes.


Introducing $(ARCH) for helm

Description
Introducing the $(ARCH) for helm in lib.Makefile will make helm binary code generic for all architectures.
It eliminates the need of hardcoding specific architecture values.

Related issues/PRs

Todos

[ ] Tests
[ ] Documentation
[ ] Release note

Release Note

TBD

Reminder for the reviewer
Make sure that this PR has the correct labels and milestone set.
Every PR needs one docs-* label.

docs-pr-required: This change requires a change to the documentation that has not been completed yet.
docs-completed: This change has all necessary documentation completed.
docs-not-required: This change has no user-facing impact and requires no docs.

Every PR needs one release-note-* label.

release-note-required: This PR has user-facing changes. Most PRs should have this label.
release-note-not-required: This PR has no user-facing changes.

Other optional labels:

cherry-pick-candidate: This PR should be cherry-picked to an earlier release. For bug fixes only.
needs-operator-pr: This PR is related to install and requires a corresponding change to the operator.

 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.

/sem-approve


open-shell-np: Add version 4.4.170

Relates to https://github.com/ScoopInstaller/Extras/issues/5100

[x] I have read the Contributing Guide.

/verify

/verify

/verify

@Zliced13 It's hanging in the pre_uninstall. I see msiexec.exe /V running,

@rasa Fixed, try it now to see if it works.

@Zliced13 It's still hanging on uninstall, even after I manually kill the msiexec.exe /V process:
--> Running: scoop install  open-shell-np.json

Installing 'open-shell-np' (4.4.170) [64bit]
Loading OpenShellSetup_4_4_170.exe from cache
Checking hash of OpenShellSetup_4_4_170.exe ... ok.
Running pre_install script...
Running installer script...
Replacing Start Menu with Open Shell, please wait and don't cancel the script...
Done!
Linking ~\scoop\apps\open-shell-np\current => ~\scoop\apps\open-shell-np\4.4.170
'open-shell-np' (4.4.170) was installed successfully!

--> Refreshing environment variables

--> Comparing ARP entries

DisplayName DisplayVersion Publisher           ProductCode
----------- -------------- ---------           -----------
Open-Shell  4.4.170        The Open-Shell Team {F07C0CF2-6021-403A-99CA-1164340B09FB}

PS C:\Users\WDAGUtilityAccount\Desktop\bucket> scoop uninstall open-shell-np
Uninstalling 'open-shell-np' (4.4.170).
Running pre_uninstall script...
Restoring previous Start Menu, please wait and don't cancel the script...

@rasa It worked fine for my VM, how come it doesn't work for yours?

@rasa It worked fine for my VM, how come it doesn't work for yours?

I don't know. My Sandbox is Windows 10 based. Are you Windows 11?
Perhaps something like this would be more stable (with comments):
        "Start-Process 'msiexec' -Verb 'RunAs' -ArgumentList @('/x', \"$dir\\setup.msi\", '/qn')", # removed -Wait
        "while (Test-Path \"$env:ProgramFiles\\Open-Shell\") { Start-Sleep -Milliseconds 5500 }", # but maybe exit after 60 seconds or so?
        "Start-Process 'taskkill' -Wait -Verb 'RunAs' -WindowStyle 'Hidden' -ArgumentList ('/F', '/IM', 'explorer.exe')", # maybe remove wait, and wait for the process to die?
        "Start-Process 'explorer.exe' -Verb 'RunAs' -WindowStyle 'Hidden'" # why -Wait here?

I'm using Windows 10 on my VM.

PS C:\Users\WDAGUtilityAccount\Desktop\bucket> scoop install .\open-shell-np.json
Installing 'open-shell-np' (4.4.170) [64bit]
Loading OpenShellSetup_4_4_170.exe from cache
Checking hash of OpenShellSetup_4_4_170.exe ... ok.
Running pre_install script...
Running installer script...
Replacing Start Menu with Open Shell, please wait and don't cancel the script...
Done!
Linking ~\scoop\apps\open-shell-np\current => ~\scoop\apps\open-shell-np\4.4.170
'open-shell-np' (4.4.170) was installed successfully!
PS C:\Users\WDAGUtilityAccount\Desktop\bucket> scoop uninstall open-shell-np
Uninstalling 'open-shell-np' (4.4.170).
Running pre_uninstall script...
Restoring previous Start Menu, please wait and don't cancel the script...
Previous Start Menu Restored!
Unlinking ~\scoop\apps\open-shell-np\current
'open-shell-np' was uninstalled.
PS C:\Users\WDAGUtilityAccount\Desktop\bucket>


Upgrade to JaCoCo 0.8.1

Description
Upgrade the JaCoCo dependency to the latest available GA version, 0.8.1.

Code complete.


random_byte and PHP5.5

Hy,
I had a problem, on your release 3.7.1  #182 you add random_byte function in src/Provider/Node/RandomNodeProvider.php but you don't change your composer.json file.
Please change to minimum requirement 7.0.
Thank you.

Can you provide more information about the problem you're having?
I added paragonie/random_compat as a requirement. This library is a polyfill that provides random_bytes() functionality to earlier versions of PHP, so there is no need to set the minimum requirement to PHP 7.0.

Thank you for your reactivity.
paragonie/random_compat was required in my vendor. I used 3.7.1 version
The code i have is this :
use Ramsey\Uuid\Provider\Node\RandomNodeProvider;
use Ramsey\Uuid\Uuid;

.....

public static function generate()
{
        $randomNodeProvider = new RandomNodeProvider();
        $uuid1 = Uuid::uuid1($randomNodeProvider->getNode());

in ̀RandomNodeProvider->getNode`, random_byte function is using without function_exists protection. I think it could be interesting to use function_exists if you want to have php 5.4 compatibility
Other thing, if paragonie/random_compat is using only for provides random_bytes you might remove-it from dependencies on your composer.json of your v4.0
Thank you.

I think it could be interesting to use function_exists if you want to have php 5.4 compatibility

There is no need to use function_exists() with random_bytes(), since paragonie/random_compat does this already. See here: https://github.com/paragonie/random_compat/blob/634bae8e911eefa89c1abfbf1b66da679ac8f54d/lib/random.php#L61-L66

you might remove-it from dependencies on your composer.json of your v4.0

#194 dropped paragonie/random_compat from the 4.x branch.

Can you provide more information about the problem you're having? If you're seeing an error when trying to use ramsey/uuid, please let me know what the error is.
paragonie/random_compat provides random_bytes() functionality to versions of PHP earlier than 7.0. If you're running PHP 7.0 or later, it is safe to include paragonie/random_compat, since it's checking to see if the function exists. If the function already exists, then paragonie/random_compat does nothing.
There should be no problems when using ramsey/uuid on PHP 5.5. If you are seeing errors, please paste the error messages here so that I can help debug the problem.
Thanks!

Are you still having problems using the library on PHP 5.5?


Fix memory leak: clean up storages when elements removed

All Tracked* collections have an internal map of 'storages'. These were not being cleaned up when elements were removed from the collection, or when the collection was cleared. That meant that every object which was ever in the collection continues to be referenced, and will never be garbage collected. Depending on the use-case, this can lead to an unbound memory leak.
This commit ensures that the storages are deleted/cleared appropriately.

@NullVoxPopuli any chance we can get this fix in before the imminent release?

thank you @davidtaylorhq!


fixFix nereids fail to parse tablesample bug.

backport https://github.com/apache/doris/pull/26981

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


Import location

pub.dev says -->  import 'package:riverpod/riverpod.dart';
but working location is -->  import 'package:flutter_riverpod/flutter_riverpod.dart';
flutter_riverpod: ^0.13.1+1
Wasted time figuring this out, no auto import appeared in vscode.

No idea why the package is not recognised, or where I got "flutter_riverpod".
But, also with a clean Flutter install, not recognised.
Could be issue on my side, but all other packages import fine.
import 'package:riverpod/riverpod.dart';
void main() {
runApp(ProviderScope(child: MyApp()));
}
The function 'ProviderScope' isn't defined.
Try importing the library that defines 'ProviderScope', correcting the name to the name of an existing function, or defining a function named 'ProviderScope'

pub.dev says --> import 'package:riverpod/riverpod.dart';

Where does pub say that?

On the package install page sorry.

Just a little more clarity re what's happening:

I don't know what the difference is between these two, or where I even got "flutter_dev" from as it's not the package name indicated in pub.dev - https://pub.dev/packages/riverpod/install
Both of these install as a dependency in my pubspec file fine with exit code 0

flutter_riverpod: ^0.14.0+1
riverpod: ^0.14.0+1

With "flutter_riverpod:" as dependency, and importing with:
import 'package:flutter_riverpod/flutter_riverpod.dart';
It works fine.

When I use "riverpod:" as dependency, and import with:
import 'package:riverpod/riverpod.dart';
The message "The function 'ProviderScope' isn't defined." appears

That's expected
As per the installation guide, if you want to you want to use riverpod with Flutter, flutter_riverpod is the way to go

Off course! Thanks Remi


Incorrect results with groupby sorted input and large data set

tl;dr - While the fix in #2220 verified nicely for the smaller data set that made #1912 easy to repro, repeated Rug tests with the full 70 GB wrccdc data set indicate a new problem has been introduced with the fix in #2220.
The issue shows up with several of the Rug count_every tests. To have a place to start, I've been focused on the count_every_1w test with the full 70 GB wrccdc data set. The Z query is every 1w count() | head 50. With the fix to #2220 in place that puts the null values last in the sort order, the correct reference output in NDJSON format would be:
{
  "count": 3131,
  "ts": "2018-11-08T00:00:00Z"
}
{
  "count": 475593430,
  "ts": "2018-03-22T00:00:00Z"
}
{
  "count": 96242990,
  "ts": "2017-03-23T00:00:00Z"
}
{
  "count": 26,
  "ts": null
}

After seeing output diverge from this in recent commits, I created this cycle.sh script that helped me confirm that the symptom appears to show up at query time.
$ gzcat cycle.sh.gz
#!/bin/bash
SPACE=wrccdc
NUM=1
while true
do
  echo "Run #$NUM:"
  zq -version; zapi new -k archivestore $SPACE
  zapi -s $SPACE postpath /Users/phil/Downloads/sampledata/$SPACE/zeek-logs/[!l]*.log*
  while true
  do
    echo "================================="
    date
    zapi -s $SPACE get -f ndjson 'every 1w count() | head 50' | jq .
  done
done

That script ingests the data only once, then in repeated queries, we sometimes see the expected result, but often it's wrong. The following samples are from recent zq commit ab604bb. Sometimes the null records seem to "split" one of the buckets:
Sun Feb 28 13:55:18 PST 2021
{
  "count": 3131,
  "ts": "2018-11-08T00:00:00Z"
}
{
  "count": 280917502,
  "ts": "2018-03-22T00:00:00Z"
}
{
  "count": 26,
  "ts": null
}
{
  "count": 194675928,
  "ts": "2018-03-22T00:00:00Z"
}
{
  "count": 96242990,
  "ts": "2017-03-23T00:00:00Z"
}

Sometimes there's duplicate buckets with the null records on the other side.
 Here's the exhaustive set of results at each commit along the path, from oldest to newest:

Commit
cycle.sh output
zqd log during run
Summary

82630a5
cycle-82630a5.log.gz
zqd-cycle-82630a5.log.gz
Commit right before #2220 fix. Shows same symptom as #1912: Buckets have correct counts, but null bucket skips around.

563142a
cycle-563142a.log.gz
zqd-cycle-563142a.log.gz
Commit for #2220. Starts to show the symptom shown above with incorrect/duplicate buckets.

ab604bb
cycle-ab604bb.log.gz
zqd-cycle-ab604bb.log.gz
A very recent zq commit showing the symptom of incorrect/duplicate buckets still occurring.

One of the theories I pursued while doing the runs was that maybe the bad results only showed up while compaction was running, but it looks like this is not the case. For instance, in zqd-cycle-ab604bb.log.gz, the timestamp for the Compact completed event is<PHONE_NUMBER>, which is Sunday, February 28, 2021 2:18:04 PM Pacific. Meanwhile, the datestamps of the repeated queries in cycle-ab604bb.log.gz show the bad results continue to be logged out beyond 2:30 PM Pacific after compaction has finished.

@philrz thanks, I was noticing the same thing. Will dig in.

Verified in zq commit c5ecae7.
I started the repro script shown above and let it run for several hours, with its output captured in output.txt.gz. The null entry appeared at the bottom of the query response In all of the 157 runs that were captured, indicating everything is now consistently working as expected.
Thanks @mattnibs!


Add arpitgenius489

hey arpit good to see you contribute
looks good to me 👍

Thanks! I am so happy to start my open-source journey 😊

Looks good to me Thanks for contributing

Thanks!
By the way, I have seen you on twitter previously. Happy to contribute here! 😁

Looks good to me Thanks for contributing

Thanks! By the way, I have seen you on twitter previously. Happy to contribute here! 😁

That's great 🚀
Keep going 👍


Devops: clean up branch images on merge

Branch images are currently piling on in the registry, they should be cleaned up automatically

New CI workflow just fixed that


Unable to change IP adress of Dirigera Hub

Thanks for this amazing project 👌!
When changing the IP address of the Hub, Integration -> Configure, it will not save the new IP address.

It's saying OK, but nothing has been changed. Was checking the home assitant log, and still saw the old IP address.
For now I've managed to change the IP Address editing the: config/.storage/core.config_entries file manually.

I bumped into something similar I think. I just changed the IP of my Dirigera Hub to make it permanent on the network and the IP was in the name of the integration even after setting the new IP. In the Dirigera mobile app I've seen home assistant added again and again but the integration reported an error. It's pretty late here so instead of debugging I just deleted the entry and added it from scratch and it worked from there.

I habe the same problem and found no solution until now. Delete the integration does no solve the issue. Any help?

I clicked add entry, put the new IP address in and followed the rest of the integration steps. The "stuck" IP address disappeared and now connected with the Dirigera Hub


Dependency issues when executing bootstrap

Package version (if known): 3.3
Describe the bug
The bootstrap during install fails due to dependency issues:
pipenv.exceptions.ResolutionFailure]: Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
  First try clearing your dependency cache with $ pipenv lock --clear, then try the original command again.
 Alternatively, you can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
  Hint: try $ pipenv lock --pre if it is a pre-release dependency.
ERROR: Could not find a version that matches pytest-celery>=0.0.0a1 (from invenio-celery==1.2.1->invenio[auth,base,elasticsearch7,files,metadata,postgresql]==3.3.0->-r /tmp/pipenvtpb6j4nvrequirements/pipenv-q0qhum93-constraints.txt (line 3))
Skipped pre-versions: 0.0.0a1, 0.0.0a1

A clear and concise description of what the bug is.
Steps to Reproduce

Start a vanilla CentOS 8.2 VM, install dependencies, add Python 3.7 with altinstall
Follow this: https://invenio.readthedocs.io/en/latest/quickstart/quickstart.html
After executing ./scripts/bootstrap the error appear.

Expected behavior
No error due to dependency issues.

Managed to fix this by first running pipenv lock --pre.

Nope, that is a bit aggressive as it e.g. gives problems later: pkg_resources.UnknownExtra: nbconvert 6.0.7 has no such extra feature 'execute'.

I got the same issue.
I just commented the check:
ef requires(self, extras=()):
"""List of Requirements needed for this distro if extras are used"""
dm = self._dep_map
deps = []
deps.extend(dm.get(None, ()))
# for ext in extras:
# try:
# deps.extend(dm[safe_extra(ext)])
# except KeyError as e:
# raise UnknownExtra(
# "%s has no such extra feature %r" % (self, ext)
# ) from e
return deps

in /home/ubuntu/.local/share/virtualenvs//lib/python3.6/site-packages/pkg_resources/init.py
I then got an error with npm so I did:
sudo apt-get install npm
sudo npm install npm -g

and the ran :
./scripts/bootstrap
I know that doesn't solve the root cause but the instance seems to be running and I did a few tests.

Thanks for the report. We'll try to address it in our upcoming sprint.


What Limit did I hit? Tail Recursion and Non-Determinism

I get the following result:
?- state(8,_), fail; true.
tpl: src/heap.c:23: alloc_grow: Assertion `min_elements <= max_elements' failed.
Aborted

On the other hand SWI-Prolog gives me:
?- time((state(8,_), fail; true)).
% 17,852 inferences, 1.750 CPU in 1.751 seconds (100% CPU, 10201 Lips)
true.

Something with copy_term/2. Or some other issue?
Test case is here:
tail.p.txt

Heap allocation. Something's growing. Looks like a bug.
On Sun, Mar 12, 2023 at 8:53 AM Jean-Luc-Picard-2021 <
@.***> wrote:

I get the following result:
?- state(8,_), fail; true.
tpl: src/heap.c:23: alloc_grow: Assertion `min_elements <= max_elements' failed.
Aborted
On the other hand SWI-Prolog gives me:
?- time((state(8,_), fail; true)).
% 17,852 inferences, 1.750 CPU in 1.751 seconds (100% CPU, 10201 Lips)
true.
Something with copy_term/2. Or some other issue?
Test case is here:
tail.p.txt
https://github.com/trealla-prolog/trealla/files/10949650/tail.p.txt
—
Reply to this email directly, view it on GitHub
https://github.com/trealla-prolog/trealla/issues/140, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFNKSETMVWJPJIGKOAT2MN3W3T66BANCNFSM6AAAAAAVXXTKZM
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Fixed, but this runs very slow for Trealla.
On Sun, Mar 12, 2023 at 8:53 AM Jean-Luc-Picard-2021 <
@.***> wrote:

I get the following result:
?- state(8,_), fail; true.
tpl: src/heap.c:23: alloc_grow: Assertion `min_elements <= max_elements' failed.
Aborted
On the other hand SWI-Prolog gives me:
?- time((state(8,_), fail; true)).
% 17,852 inferences, 1.750 CPU in 1.751 seconds (100% CPU, 10201 Lips)
true.
Something with copy_term/2. Or some other issue?
Test case is here:
tail.p.txt
https://github.com/trealla-prolog/trealla/files/10949650/tail.p.txt
—
Reply to this email directly, view it on GitHub
https://github.com/trealla-prolog/trealla/issues/140, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFNKSETMVWJPJIGKOAT2MN3W3T66BANCNFSM6AAAAAAVXXTKZM
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Maybe copy_term/2 is special in Trealla Prolog? I just found
an elegant way to show a stack_overflow in Dogelog Player,
hooking into the aperiodic garbage collector:
             } else if (count > GC_MAX_TRAIL) {
                gc();
                if (count > GC_MAX_TRAIL)
                    throw make_error(new Compound("system_error",["stack_overflow"]));

Seems to work:
len([], N, N).
len([_|L], N, M) :- H is N+1, (true; fail), len(L, H, M).

?- X = [_|X], len(X, 0, N).
Error: system_error(stack_overflow)
        user:12

But what if the goal stack grows, and the trail doesn't grow so much.
Seems I need to count the length of the goal stack as well.


Denylist Status From 3 Months

My minor helium is on denylist since 3 months ago,
what to do??
It's name  is (Future Shamrock Cyborg)
Do you have any solution ???

This is not where you should submit denylist removal requests. That needs to be done at Crowdspot: https://docs.helium.com/mine-hnt/crowdspot/#submit-a-removal-request


I/O response goes missing during a multi-threaded workload

I'm using 2.1-2build1 with Linux kernel 5.15.0. I have a program that is multi-threaded though in reality there are only two threads working at any given point in time.
Each thread has its own ring and does the following to initialize the ring:
const int ret = io_uring_queue_init(maxevents, ring, 0);

Read I/O's are submitted using the following piece of code using param num_requests:
for (int64_t i = 0; i < num_requests; ++i) {
      struct io_uring_sqe *sqe = io_uring_get_sqe(ring);
      // Check for sqe being NULL omitted
      // io_uring_prev_readv/writev returns void
      // Need to support kernel 5.4.0 as well...
      io_uring_prep_readv(
            sqe, io_details->fd, io_details->iovec, 1, io_details->offset);
      // io_uring_sqe_set_data returns void
      io_uring_sqe_set_data(sqe, io_details);
      // io_uring_submit returns the number of sqes successfully submitted,
      // as we are submitting only 1 seq, the expected return value on
      // success is 1, else 0 on failure
      const int ret = io_uring_submit(ring);
      // Check for ret = 1 omitted
}

I/O completions are tracked using the following piece of code using two params num_requests and min_num_requests:
  for (int64_t i = 0; i < num_requests; i++) {
    struct io_uring_cqe *cqe;
    struct IoDetails *io_details;
    int ret = 0;
    // For the minumum number of requests, we wait till completion
    if (i < min_num_requests) {
      ret = io_uring_wait_cqe(ring, &cqe);
    } else {  // Beyond this, we do not wait, just return if something completed
      ret = io_uring_peek_cqe(ring, &cqe);
    }
    if (!ret) {
      io_details = (struct IoDetails *)io_uring_cqe_get_data(cqe);
      io_uring_cqe_seen(ring, cqe);
    } else {
      break;
   }
}

This works well for small files but for files >= 100 GB, an I/O goes missing every so often (once every 3000-10000 times). Here is an example where a read to offset<PHONE_NUMBER> is never responded to. In this run of the program, all invocations of io_uring_peek_cqe return -11. The log parameters are operation(ring_id, fd, offset, size)
io_uring_submit(139659743424736,98,2950692864,1048576)
io_uring_submit(139659743424736,98,2951741440,1048576)
io_uring_submit(139659743424736,98,2952790016,1048576)
io_uring_submit(139659743424736,98,2953838592,1048576)
io_uring_submit(139659743424736,98,2954887168,1048576)
io_uring_wait_cqe(139659743424736,98,2952790016,1048576)
io_uring_wait_cqe(139659743424736,98,2953838592,1048576)
io_uring_wait_cqe(139659743424736,98,2954887168,1048576)
io_uring_wait_cqe(139659743424736,98,2950692864,1048576)
io_uring_submit(139659743424736,98,2955935744,1048576)
io_uring_submit(139659743424736,98,2956984320,1048576)
io_uring_submit(139659743424736,98,2958032896,1048576)
io_uring_submit(139659743424736,98,2959081472,1048576)
io_uring_wait_cqe(139659743424736,98,2955935744,1048576)
io_uring_wait_cqe(139659743424736,98,2956984320,1048576)
io_uring_wait_cqe(139659743424736,98,2958032896,1048576)
io_uring_wait_cqe(139659743424736,98,2959081472,1048576)

Are there multi-threading issues I should be aware of. Even if threads have their own ring, is there any synchronization required? Could this be because of the underlying FS? Are there any debugging logs I can turn on?

If each thread is using its own ring, no there should not be any multi threading issues that you need to be aware of. The kernel side is always fine, it's just on the liburing side. But again, with separate rings, not really a concern.
Do you have a reproducer for this? I don't think it's a threading issue, but it could be a bug in the 5.15-stable kernel, potentially.

I'll work on creating a reproducer and attach to this issue.

Unless I misunderstand something, OP's code doesn't reap completions correctly, as it only waits for min_num_requests to complete.
However, this doesn't explain why request<PHONE_NUMBER> is not reaped the next time io_uring_wait_cqe() is called.

Unless I misunderstand something, OP's code doesn't reap completions correctly, as it only waits for min_num_requests to complete.

Could you please clarify your concern? The intent is to wait for min_num_requests only and anything beyond is speculative using io_uring_peek_cqe. Is the call to io_uring_peek_cqe incorrect?

io_uring_peek_cqe() doesn't enter the kernel and only fetches the completions that were already added to the ring buffer by the last io_uring_wait_cqe().
Does you code work OK when you set min_num_requests to a very large number?
As written, your code should eventually overflow the CQ buffer, as you leave some completions behind with each iteration.

I have not provided the entire code (which was primarily presented to highlight threading issues ) but to give a summary of the test driver, max events = 8, num_requests = 8 and min_num_requests = 4. Reading a large file involves 1000s of requests and the test driver breaks them into chunks based on the parameters above.
The invariant is that the test driver keeps track and issues as many io_uring_wait_cqe requests as there are io_uring_submit requests. Also if any of the io_uring_peek_cqe requests are successful, then the number of  io_uring_wait_cqe requests are deducted accordingly. I ljust finished a 100 GB read with 1 MB IO size and just 3 missing IOs. So based on the assertion that all requests are accounted for, and from experimental data, I don’t see how there could be a CQE overflow.
Hope this helps clarify your concerns.

Got it. What you describe is different from the snippets in your original message. Happy to look at your working example once you have it.

I'm unable to reproduce this outside of the environment where I am observing this. Will reopen this when I have more data, closing this issue for now.


Remove cucumber and tests

Context
We introduced cucumber at the start of the build to increase our understanding and communicate how things should work. Over time we've built more acceptance tests and built a lot of documentation. The cucumber tests aren't actively maintained anymore, and the tests are covered by other specs.
Changes proposed in this pull request
This removes the tests and the cuke infrastructure itself.
Guidance to review
Is there anything tested by cucumber that isn't tested by the specs?
Link to Trello card
https://trello.com/c/deEWrAsx/305-we-have-cucumber-tests-but-were-not-really-maintaining-or-using-them
Things to check

[X] This code doesn't rely on migrations in the same Pull Request
[X] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[X] API release notes have been updated if necessary
[X] New environment variables have been added to the Azure config

Where else can the business logic for these features be found and interpreted this clearly?

@fofr I think a combination of system tests, unit tests, code, design history, in-app documentation and the application itself. Anything in particular you are thinking about?

Where else can the business logic for these features be found and interpreted this clearly?

The only one I'd be worried about is features/reject_by_default.feature – there's a few edge-cases in there that may need to be added ?

Don't want this to fall by the wayside — having a look at reject_by_default.feature

@benilovj does 212f6a6 do the job?

@benilovj does 212f6a6 do the job?

Yep, looks good 👍


Maya: GUI elements inconsistency

There is a bit of inconsistency in OpenPype's Maya GUI elements
It can be quite frustrating for a new user to navigate through different parts of OP.
To help visually we can use the same icons in OpenPype menu as we use in side-shelf and match the order.  (Later we can open discussion about the order itself as it can be improved as well and should follow the workflow better)

We should also unify the naming as it differs and makes it even more confusing

side-shelf
OpenPypeMenu
Tool Title bar

Look Manager
Look assigner...
Look Manager

Loader
Load...
Asset Loader

Inventory
Manage...
Scene Inventory

Haven't looked at other host implementations, but I suppose it will be similar
[cuID:]

I think personally the icons would also benefit from dropping the gradient and have a single color tint. Overall that just feels easier to the eye - or have some more definition on the icons like the Tray "P" icon.

I agree. Unifying the colours for now and making sure they are used everywhere would be a good start
I'd also replace the Pyblish icon with something that fits OP visual, the funnel is not particularly recognisable as publishing symbol by most people I talk to.

@mkolar Would be good to discuss this naming convention internally at Ynput and then report back with the preferred naming convention we should apply across hosts and labels to be consistent.

I'd also replace the Pyblish icon with something that fits OP visual, the funnel is not particularly recognisable as publishing symbol by most people I talk to.

I'd say this could be a separate issue, nonetheless - if you have anything in mind already that'd be great. Otherwise maybe a dedicated issue of designing maybe icons for certain tools (if needed) could be worth it.

I'd also replace the Pyblish icon with something that fits OP visual, the funnel is not particularly recognisable as publishing symbol by most people I talk to.

@mkolar I was just looking for this and noticed there's still no such icon in resources icons.


Fix: Docker Image Name

Hiya! First time contributor here.
What

[x] update the docker image example in README to aws-lambda-runtime-simulator

Why
I presume aws-lambda-api-simulator is deprecated / was a test build / separate project and aws-lambda-runtime-simulator is the right image corresponding to this project, so figured I'd fix the docs

Thanks for the contribution


Update trin-bridge to use TrustedProvider + switch to surf for performance

What was wrong?
Trin-Bridge doesn't use TrustedProvider it uses custom functions to do the job instead
How was it fixed?
Switch TrustedProvider to use surf since trin-bridge needs it for performance reasons.
Then I removed the custom fetch logic and moved it to trustedprovider
To-Do

[x] Add entry to the release notes (may forgo for trivial changes)
[x] Clean up commit history

Holding off on reviewing this for now... One reason we use ureq inside trin and surf only inside trin-bridge is that ureq is a very lightweight library, and sufficient for the needs of trin. Whereas we only need surf which is a fairly heavy library, to handle the intense load of concurrent requests that happen inside the bridge code. We've discussed this before and decided against using surf inside trin to keep the dependencies light.... we can discuss this again during the sync tm, but I'm not sure if the benefits gained from consolidating http request code into a single type (TrustedProvider) in both trin & trin-bridge are worthwhile. In fact they might unnecessarily complicate things since we really don't care about making consensus requests inside trin at all...
We should also discuss what we want to do with infura. We've discussed completely dropping infura support before, and relying solely on validating data via data fetched from the network. This could lead us to dropping the TrustedProvider entirely. Just some thoughts, we'll discuss the options tm.

closed for https://github.com/ethereum/trin/issues/755


Dataset Creation

Ability to define a dataset. A dataset is a collection of named fields and their aggregating procedures. It should have

A dataset module that provides methods for defining fields, and their aggregators
A PageviewDataset class that defines fields necessary for computing content recommendations

Closing this issue now. Relevent issues would be created in separate gems repo as and when this task is prioritized.


Error message when using Alarm with the plugin

When using the sitewise plugin we see the error message frequently and it doesnt relate to the tresholds that are set.

Error message
tsdb.HandleRequest() response error &{failed to fetch query data: RequestError: send request failed caused by: Get "https://1.1.1,1:443/properties/history?assetId=332e370e-9b62-4e1b-8201-54766f853d58&endDate=2021-03-31T15%!A(MISSING)42%!A(MISSING)00Z&maxResults=250&propertyId=c272dda2-e199-4b31-947f-9237b92515ce&startDate=2021-03-31T15%!A(MISSING)37%!A(MISSING)00Z": dial tcp <IP_ADDRESS>:443: connectex: No connection could be made because the target machine actively refused it. failed to fetch query data: RequestError: send request failed caused by: Get "https://<IP_ADDRESS>:443/properties/history?assetId=332e370e-9b62-4e1b-8201-54766f853d58&endDate=2021-03-31T15%3A42%3A00Z&maxResults=250&propertyId=c272dda2-e199-4b31-947f-9237b92515ce&startDate=2021-03-31T15%3A37%3A00Z": dial tcp <IP_ADDRESS>:443: connectex: No connection could be made because the target machine actively refused it. A <nil> [] [] 0xc00144ce10}

DeadlineExceeded happens when the query takes too long -- is it possible that this happens in cases where the query is slow?

Closing as there has been no movement on this. Please reopen if it is still an issue.


BAM support

Hello,
We are using unmapped bam files for storing and archiving our sequence data. It would be really nice if fastp can take bam files as input and output fastq/bam files.
Best,
Bekir

Actually I am going to kick off another project to build a comprehensive mapping file QC tool, which will work for BAM/SAM/CRAM.
But this mapping QC tool will be majorly designed for mapped BAM/SAM/CRAM, not for unmapped bam.
I remember that unmapped bam need larger space and will discard some information (some information in the first line of 4-line FASTQ record). What's the biggest benefit for using unmapped bam to store FASTQ files?
Although it's designed and promoted by BROAD, I still saw a lot of debates about it. And I would like to listen to your considerations before we can start unmapped bam support.
Thanks
Shifu

Our primary concern is to keep metadata specific to Illumina sequencing run such as RTA software version, instrument model, SBS kit version etc. You can add this in the bam header but you can't do that with fastq files. What is more, we can archive the multiplexed bam files and delete Illumina run folders. If we expperience a problem with barcodes, it is much easier to rerun demultiplexing on bam files instead of .tar.gz BCL files. bam files might take a bit more space but we don't think it is important considering their added benefit.
IMHO, you can simply use HTSlib to read bam files and process them just like the reads that you get from fastq files. You can check this unmapped bam file as an example:
https://drive.google.com/file/d/1j1Yjy1zU1F8dPpf-lQVkoP3FkK--FOqL/view?usp=sharing
I am not sure if there is any information that we lose by using bam files, can you please explain a bit more?
Best,
Bekir


MatInput: (keyup.enter) calling matPrefix method

Bug, feature request, or proposal:
Bug
What is the expected behavior?
on matInput when you press enter (keyup.enter)="myFunction(), it should NOT calls  click method on matPrefix
What is the current behavior?
method (keyup.enter)="myFunction() on matInput first calling method on matPrefix, then method on input.
What are the steps to reproduce?

Try to type anything, then press enter
See console (first calls click method on matPrefix, then on matInput)

https://stackblitz.com/edit/angular-wxpesf?file=app%2Finput-prefix-suffix-example.ts
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Material 6.0.0, all Browsers

Isn't that the default behavior of html forms? Any button inside a form that doesn't explicitly have type="button" will trigger the form submission.


Don't use Skiko event-related entities on ios, macos, js and wasm platforms

This is the part that will help to adopt changes addressed in https://github.com/JetBrains/skiko/pull/893
But this changes are self-consistent and work with current skiko dependency as well

LGTM, I'd add this patch to remove skiko being mentioned completely and did a little investigation on key!!:
Refactor_a_bit.patch


[VS Code] Agent terminated with exit code: 2 and signal null:

Error:
Agent terminated with exit code: 2 and signal null:
Steps to Reproduce:

Version Data

extensionName
VSLS

extensionVersion
0.3.535

protocolVersion
2.2

applicationName
VSCode

applicationVersion
1.26.1

platformName
Linux

platformVersion
4.15.0-32-generic

@smokytheangel0 Thanks for reporting this! We're tracking this issue via #779, so I'm going to close this as a duplicate. However, if you could grab your logs by running the Live Share: Export Logs command, and attaching the resulting zip to #779, that would be greatly appreciated. Thanks!


Proposal: Add head and foot hooks

Summary
As a user, I would like the ability to insert my own code before the the closing </head> tag and closing </body> tag. This would mean I could add my own JavaScript / HTML / CSS either inline or as a link for use across the whole site, without rewriting the original theme code.
For example:
    ...
    {{ site.end_of_head ? site.end_of_head : '' }}
</head>

and:
    ...
    {{ site.end_of_body ? site.end_of_body : '' }}
</body>

Upon further consideration I think it would be better if this wasn't added in as the additional complexity may not be worth the benefit. Adding code to the head or footer of any page isn't had hard to achieve if you create a new layout file or replace an include, or even pull in the include from the theme and tag on some additional code.


Remove the "unsigned content" warning

I'm getting the following warning when installing the plugin:

I'm not sure what's causing this or how to fix it.

We're not signing our plugins.  Retitled.  @elharo found a nice link describing the process:
http://www.codetrails.com/blog/sign-your-eclipse-project

https://github.com/GoogleCloudPlatform/gcloud-eclipse-tools/issues/89


Simplify example configurations

Codecov Report

Merging #29 (fdd159b) into main (d046e6b) will not change coverage.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@           Coverage Diff           @@
##             main      #29   +/-   ##
=======================================
  Coverage   77.53%   77.53%
=======================================
  Files           4        4
  Lines         227      227
  Branches       26       26
=======================================
  Hits          176      176
  Misses         47       47
  Partials        4        4

Flag
Coverage Δ

unittests
77.53% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


[Change]: Update SATRE principles

Summary
Updating the current design principles for the specification
Source
WP3/WP1
Detail
At the moment the specification principles are here
Where
Principles
Proposal
We're looking to update these to be more focused on what principles TREs using the SATRE specification should follow. This includes:

#169
#170
#171
#173
#176
#200

Based on convos with @machintim, we feel of the ones currently on the specification:

1 is covered in #169
2 is ~for discussion here~ in #176
3 probably isn't a principle, and similar topics are covered in #171
4 is not a principle (it's a principle of the project)

~@jemrobinson, @JimMadge or @manics - would you be able to reword 2 (sensitivity tiers) in the style @machintim has commented in #170 or #171 ahead of the Collab Cafe tomorrow?~
Who can help
@jemrobinson, @manics, @JimMadge, also @edwardchalstrey1 @craddm

I've added #176 as my first attempt at this. Feel free to comment/edit it as needed.

See the raw notes from the Collab Cafe on this here

There were some additional thoughts on principles from the Cafe:

Maintaining buy-in/ confidence in usefulness of the TRE for people using or wanting to use (or indeed paying to use) the TRE. Education and marketing are important. Cost effectiveness/ value for money/return on investment (in the general sense, not necessarily just £) are important.

This feels like it is covered in #169

Accountability - registered owners for certain elements

Could this be a separate principle, or is it just covered in roles?

Transparency sits across various elements of these principles

This feels like something covered #173 and #170

Culture of best practice and safety e.g. Near Miss Reporting requirement and transparency

See transparency above


Introduce Navigation Material for M3

I know it's just a draft but would be nice to be able to override the confirmValueChange too. I am doing that in an app with the old version and would have to rewrite a lot if we loose that possibility.

We're not considering this as it could impact state synchronization. I believe there is an upstream ticket to track adding a sheetGesturesEnabled parameter though which we would then expose.

That would be great!

Any progress on this one? Really looking forward to it

is there any update on this?

Any updates on this? The only material dependency I am using in my app is the bottom sheet and it is getting annoying to always be on the lookout for material imports instead of material3.

Has this been abandoned? We can't migrate completely to M3 because of this library. Would be nice if we had some info if it is worth waiting or if it would be better to throw out Accompanist Navigation.

With the release of Compose Material 1.7.0-alpha04, the Material team has added a new artifact: androidx.compose.material:material-navigation, which fully replaces Accompanist Navigation Material.
As such, we are closing all PRs here on Accompanist. Any future work in this space will be done as part of the androidx.compose.material3 or related artifacts.


FS-93 - 1 Auto-generate F[_] parameter from

This PR carries a few steps regarding ticker #93. The goal of that ticket is to remove the need to specify the F[_] high-kind parameter in the @free and @module annotation. This PR carries a partial solution, which helps us to remove the parameter from the @free-annotated traits. The approach followed in this PR is:

We introduce a trait EffectLike[F[_]], that contains a couple of type aliae OpSeq[A] and OpPar[A], for FreeS[F,A] and FreeS.Par[F,A], respectively.
We use macro freshTypeName to generate a high-kind type F from the @free annotated type. This name should not collide with any one chosen by the user.
We change the macro to edit the original @free-annotated trait, to introduce the extra param F[_], and add its inheritance from EffectLike[F].

Codecov Report

Merging #194 into master will increase coverage by 0.08%.
The diff coverage is 80%.

@@            Coverage Diff             @@
##           master     #194      +/-   ##
==========================================
+ Coverage   74.51%   74.59%   +0.08%
==========================================
  Files          37       37
  Lines         310      311       +1
  Branches        2        2
==========================================
+ Hits          231      232       +1
  Misses         79       79

Continue to review full report at Codecov.

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


Add getScreenConfig prop for DrawerNavigator contentComponent

The PR adds getScreenConfig property to the Drawers content component.  If one needs to implement custom drawer menu (in place of DrawerNavigatorItems`), he may want to also customize navigation options. The PR makes it possible.
It is a PR-in-discussion, which may be altered or declined (the related issue is here #478)

Sure, thing! If you are going to expose withCachedChildNavigation, passing router down fills more natural.


Markers / achievements / events

Bit of an odd-one here but something I'm not aware of anyone else doing - how possible would it be to be able to have things triggered by say distance travelled, or damage taken, or acquiring an achievement and so on?
Not really certain that many / any would want this as a central part of their server, but it'd definitely allow some interesting fluff and story.

I don't really think that something like that has really something to do with jobs and it also can't be represented by the current way i create jobactions so i don't think i will add something like that in the foreseeable future.


Missing files in uploaded generated_splits.tar

Thanks for your great work. I find that the training data for class 'Cabinet' is missing in the .tar file.  Would you please provide the h5 and pickle data?

hey，man are you found it？


Can't reopen filedock after close

When you click on the "x" button to close the filedock widget, there is no easy way to get it back.  Or is there?  I didn't see anything in the dropdown menus.  There probably should be a toggle under the view menu.

Hi @WillieMaddox ,
Try to disable advanced mode by going to menu/view or using the hotkey, ctrl+shift+a.
As you said, it will be better add a toggle button or checkbox to show or hide that, but I don't have freecycle to do that.

What is freecycle?

At any rate, how would I go about getting the filedock widget back?  I tried refreshing with make, but no joy.

In the meantime, to get the filedock widget back, just delete ~/.config/Unknown Organization/labelImg.conf and restart labelimg.py

@WillieMaddox ,
If I have free time, I am willing to add a toggle button or checkbox to show or hide that. However, I am busy with my current project :)


Use an in-memory cache for client tests

This is an attempt to try to speed up some of the CI tests as per #1029.  Just wanted to see if it'd make a difference - I'm guessing if so, not much of one, but pprof says io seems to be one of the higher calls by time.
Ran the following on master:
$ go test -c github.com/docker/notary/client
$ ./client.test -test.cpuprofile=cpu.prof
$  go tool pprof client.test cpu.prof
Entering interactive mode (type "help" for commands)
(pprof) tree
17.59s of 19.87s total (88.53%)
Dropped 621 nodes (cum <= 0.10s)
Showing top 80 nodes out of 372 (cum >= 4.99s)
----------------------------------------------------------+-------------
      flat  flat%   sum%        cum   cum%   calls calls% + context
----------------------------------------------------------+-------------
                                             0.93s 64.16% |   github.com/docker/notary/client.(*TUFClient).downloadTargets
                                             0.34s 23.43% |   crypto/rand.hideAgainReader.Read
                                             0.18s 12.40% |   bufio.(*Writer).flush
     4.90s 24.66% 24.66%      4.91s 24.71%                | syscall.Syscall
----------------------------------------------------------+-------------
                                             3.09s   100% |   math/big.nat.montgomery
     3.09s 15.55% 40.21%      3.09s 15.55%                | math/big.addMulVVW
----------------------------------------------------------+-------------
                                             0.21s 48.48% |   runtime.findrunnable
                                             0.21s 47.03% |   runtime.mallocgc
                                             0.02s  4.49% |   runtime.gcFlushBgCredit
     1.22s  6.14% 46.35%      1.22s  6.14%                | runtime.mach_semaphore_signal
----------------------------------------------------------+-------------
                                             0.50s 54.35% |   math/big.nat.montgomery
                                             0.14s 15.22% |   runtime.gcDrain
                                             0.13s 14.13% |   runtime.typedmemmove
                                             0.09s  9.78% |   runtime.stkbucket
                                             0.04s  4.35% |   bytes.(*Buffer).Write
                                             0.02s  2.17% |   bytes.(*Buffer).grow
     1.05s  5.28% 51.64%      1.05s  5.28%                | runtime.memmove
...

And the following on this branch:
$ go test -c github.com/docker/notary/client
$ ./client.test -test.cpuprofile=cpu.prof
$  go tool pprof client.test cpu.prof
Entering interactive mode (type "help" for commands)
(pprof) tree
15.76s of 18.35s total (85.89%)
Dropped 660 nodes (cum <= 0.09s)
Showing top 80 nodes out of 360 (cum >= 0.27s)
----------------------------------------------------------+-------------
      flat  flat%   sum%        cum   cum%   calls calls% + context
----------------------------------------------------------+-------------
                                             3.07s   100% |   math/big.nat.montgomery
     3.07s 16.73% 16.73%      3.07s 16.73%                | math/big.addMulVVW
----------------------------------------------------------+-------------
                                             2.70s 97.85% |   runtime.systemstack
                                             0.06s  2.15% |   runtime.gcFlushBgCredit
     3.06s 16.68% 33.41%      3.06s 16.68%                | runtime.mach_semaphore_signal
----------------------------------------------------------+-------------
                                             0.29s 65.91% |   crypto/rand.hideAgainReader.Read
                                             0.15s 34.09% |   bufio.(*Writer).flush
     1.74s  9.48% 42.89%      1.74s  9.48%                | syscall.Syscall
----------------------------------------------------------+-------------
                                             0.54s 66.67% |   math/big.nat.montgomery
                                             0.09s 11.11% |   runtime.growslice
                                             0.09s 11.11% |   runtime.typedmemmove
                                             0.04s  4.94% |   bytes.(*Buffer).Write
                                             0.03s  3.70% |   runtime.stkbucket
                                             0.02s  2.47% |   bytes.(*Buffer).grow
     0.99s  5.40% 48.28%      0.99s  5.40%                | runtime.memmove
----------------------------------------------------------+-------------
                                             4.45s   100% |   math/big.nat.expNNMontgomery
     0.78s  4.25% 52.53%      4.45s 24.25%                | math/big.nat.montgomery
                                             3.07s 85.04% |   math/big.addMulVVW
                                             0.54s 14.96% |   runtime.memmove
----------------------------------------------------------+-------------
                                             0.10s   100% |   runtime.lock
     0.75s  4.09% 56.62%      0.75s  4.09%                | runtime.usleep
...

Probably the next thing to try is to reduce the amount of crypto done, maybe with cached keys.

On the crypto side, we should make sure we only use RSA to test that specific signing and verification path and that it's not used anywhere else.
I think we could probably also take off a larger chunk of time by just using the database services circle provides. Even when it goes through, the logs show server/signer waiting on the database to come up for a significant period of the timeout.

Nope, if this makes a difference it seems even a little slower than the previous runs, unless that's random differences in CircleCI run time.

@endophage Agreed with DBs.  I like using our Dockerfile for everything, but yeah the slowness is kinda :(


[CR] Fix only one locale per language being downloaded

The current code only allows to download one locale per language. This simple change allows to download multiple locales.

I am currently on vacation but will review it right afterwards

I would add the changes inside an or statement in order to still support or versions

I don’t understand what you mean

(the old statement) || (the new statement)

Ah ok, sure, I'll make the change ASAP


Enable Endless Scroll

Fixes #7059
In the mentioned issue, I proposed an enhancement to implement the Endless Scroll feature in the message list. And I presented the full explanation in that issue.
In this branch:
in the first commit, I added a function to detect reaching the end of the list and load the next 25 messages automatically without involving the user.
Also, in another commit, I removed the option of clicking the footer so that only the footer is displayed (because we are loading with EndlessScroll and we don't need a Button). But we still show the footer and show the status to the user at the moment (when reaching the end of the list we show "Load up to 25 more" message, and when loading messages we show "Loading messages..." message)

I believe not everyone will like automatically loading additional messages. So while this can be the default behavior, we should retain the ability to manually load additional messages.
Rather than the approach you're using, I think we should switch to using the AndroidX paging library. That is probably a much larger effort, but will be a) more reliable and b) work better for users with large folders (see #3472).

I reviewed code and research a little about migrating to Jetpack Paging.
I have identified several areas that will require rewriting in the adapter to ensure seamless integration. Here is a summary of the changes we need to make in the adapter:

MessageListDiffCallback
Message list items getter and setter
Active message handling
Selected messages handling
Footer
Get message item
Get position by MessageReference
Selection-related actions and methods

Furthermore, we'll also need to create a new DataSource Factory and make slight modifications to our data observation, data submission to the adapter, and the load more mechanisms.
I believe these changes are necessary to ensure the successful integration of Jetpack Paging and take advantage of its benefits in terms of efficient data loading and pagination. According to Google documents It has a lot of benefits while the workload may be a lot.

In-memory caching for your paged data. This helps ensure that your app uses system resources efficiently while working with paged data.
Built-in request deduplication, which helps ensure that your app uses network bandwidth and system resources efficiently.
Configurable RecyclerView adapters that automatically request data as the user scrolls toward the end of the loaded data.
First-class support for Kotlin coroutines and flows as well as LiveData and RxJava.
Built-in support for error handling, including refresh and retry capabilities.


Can not work connection hasMany(self::className(), ['id'=>'leader_id'])

question from https://toster.ru/q/208102
There is a table of users. Each user can be a leader
id, leader_id and blah blah blah
I want to display all users who have a leader I
public function getTeam () {
      return $ this-> hasMany (self :: className (),  ['id'=>'leader_id']);
}

Connection is empty. The following data in the database

i use
<?php

				$model = \app\models\User::find()->where(['id' => 1])->one();

			?>
			<?print_r($model->team); // is empty?>

if i write
public function getTeam () {
      return $ this-> hasOne (self :: className (),  ['leader_id'=>'id']);
}
<...>
<?php
$model = \app\models\User::find()->where(['id' => 1])->one();

print_r($model->team); // all good. first user from command
?>

	public function getTeam(){
		return self::find()->where(['leader_id'=>1])->count();
		//$this->hasMany(User::className(), ['id'=>'leader_id']);
	}

return 5;

@maxyc, please use Official Yii forum to ask a questions - GitHub is a bug tracking system.


Support appending custom connection string options to some resources

Today connection strings are owned by the resource type but sometimes they need to be appended to set other options (MARS in sql for example). We should allow apps to append to the connection string expression in WithReference or at the resource level (where it makes sense).
Today this is doable with manual logic but it might need to be more first class.

Another use case besides enabling MARS is enabling special logging on PostgreSQL (see)


Rule for com.google.code.findbugs:findbugs-annotations.

It conflicts with com.github.spotbugs:spotbugs-annotations which is the newer artifact.

@jjohannes thanks for the new release!
However, there is something strange going on on my side with the new version:
Could not determine the dependencies of task ':backend:pmdIntegrationTest'.
> Could not resolve all task dependencies for configuration ':backend:integrationTestPmdAuxClasspath'.
   > Could not resolve ch.qos.logback:logback-core:1.3.14.
     Required by:
         project :backend > ch.qos.logback:logback-classic:1.3.14
      > Could not resolve ch.qos.logback:logback-core:1.3.14: Resolution strategy disallows usage of dynamic versions
   > Could not resolve ch.qos.logback:logback-core:{strictly [1.2.9, 2[}.
     Required by:
         project :backend > com.github.spotbugs:spotbugs-annotations:4.8.3
      > Could not resolve ch.qos.logback:logback-core:{strictly [1.2.9, 2[}: Resolution strategy disallows usage of dynamic versions

This doesn't happen with 1.4.
I'm not sure exactly what is happening but I do have:
compileOnly(libs.spotbugs.annotations) {
	exclude group: 'ch.qos.logback', module: 'logback-core' // causes problems because `SpotBugs` uses dynamic versioning which we've disabled
}

And
configurations.configureEach {
	resolutionStrategy {
		failOnNonReproducibleResolution()
	}
}

In my build.gradle files.
Do you understand why this happens? Is it a problem with my configuration or is that something Gradle does strangely?

@jjohannes thank you for your time and help!
I created this reproduction. Running ./gradlew check on this leads to a similar error. It's not exactly the same as my case but I think it's OK? Are you suggesting I open an issue in Gradle or in SpotBugs?

Thank you for the reproducer @boris-petrov. I think this is a bug in Gradle. I took the liberty to open an issue: https://github.com/gradle/gradle/issues/27883
Feel free to comment there if you have anything to add.


ENH: add Ultrasound remote module

PR Checklist

[ ] No API changes were made (or the changes have been approved)
[ ] No major design changes were made (or the changes have been approved)
[x] Added test (or behavior not changed)
[x] Updated API documentation (or API not changed)
[x] Added license to new files (if any)
[x] Added Python wrapping to new files (if any) as described in ITK Software Guide Section 9.5
[x] Added ITK examples for all new major features (if any)

@thewtex I think this is a good time to index it in ITK?

@thewtex I think this is a good time to index it in ITK?

Yes, I think we are there. We will likely have a few updates before the release.


Plans to switch from forked libusb to upstream libusb?

Are there any plans to switch?
Is the lack of hotplug support for windows the primary blocker?
When hotplug support for windows is added to libusb will this module switch to using libusb instead of the fork?

Yes, hotplug support is the only difference on the fork, and it would be great to switch to upstream libusb.


Possible to use steamworks.js with nwjs on Windows?

I am new to rust / napi-rs. I am trying to see if it is possible to use the precompiled steamworks.js node binaries or build new binaries to work with nwjs, instead of electron (I am using a build service which uses nwjs.)
I have tried nwjs with the npm node files on MacOS and it seems to work fine, with various versions of nwjs.
However on Windows, I can only get electron versions of my app to work.
When I try using steamworks.js with nwjs on Windows, the app crashes when loading the steamworks node binary.
I am able to build the node binaries on Windows, but I am not sure if I need to do something specific to get it compiled for nwjs (I did add nw to devDependencies with same version as my runtime (and removed electron), but that did not seem to help. Is there a step I am missing? I have seen comments about the possibility of different native node modules requiring different compiles on node vs electron vs nwjs.

Related https://github.com/napi-rs/napi-rs/issues/1096

Thanks for the reference, it appears like this issue has been corrected 9 months ago and pushed into main, so I would have though that the napi-rs being used would now work with nw.js? The version I see being used in steamworks.js is         "@napi-rs/cli": "2.14.4", which was released two weeks ago.
I have done local builds of the node files on Windows and I still get crashes. Any other thoughts? Have people gotten the steamworks.js npm module to work with nwjs already?

As I continue to research this, one thing I am considering is to see if I can target nwjs in a build using napi-rs or trying to use some intermediate files and building the final node file with something like gyp-nw. If anyone has experience with this, please let me know. I will also post a question over at the napi-rs repo.

Related https://github.com/napi-rs/napi-rs/issues/1480

Checking in on this again, in the description of this project, it mentions nw.js, but I have not been able to get projects to work with nw.js on windows (on macos I have with nw.js and on electron I have projects work w/ windows and mac). Has anyone else had success using this project with nw.js and windows?

I have created a PR on napi-rs for nwjs detection. It looks like it may come in napi-rs 3.x. One change to note on napi-rs is that they deprecated ErrorStrategy. So steamworks.js will need some changes to support it when it becomes available (3.0 is still in beta)
https://github.com/napi-rs/napi-rs/pull/2042

Just for tracking, there is a new PR by @MikalDev on napi-rs to solve this: https://github.com/napi-rs/napi-rs/pull/2053


Updated the translation about Network Fee Allowance

Updated the translation about Network Fee Allowance

@RubyJiao We're ready to get this merged, but there is a conflict to be resolved first :)

@RubyJiao Just a friendly reminder about this PR needing rebasing so we can merge it!


getShootingConeDeviation(edict_s*, Vector*)

Sadly I have no much time to check everything and figure out what can cause an issue like this so please first take a look. I'm using the 2.8.5318-dev-git339-linux release. Here's some logs:

Program terminated with signal SIGSEGV, Segmentation fault.
#0  0xf2cdbba2 in getShootingConeDeviation(edict_s*, Vector*) () from /cstrike/addons/yapb/bin/yapb.so
#0  0xf2cdbba2 in getShootingConeDeviation(edict_s*, Vector*) () from /cstrike/addons/yapb/bin/yapb.so
#1  0xffbceb1c in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
No symbol table info available.

Stack level 0, frame at 0xffbceac0:
eip = 0xf2cdbba2 in getShootingConeDeviation(edict_s*, Vector*); saved eip = 0xffbceb1c
called by frame at 0xb4
Arglist at 0xffbceab8, args:
Locals at 0xffbceab8, Previous frame's sp is 0xffbceac0
Saved registers:
eip at 0xffbceabc
End of crash report

ah, okay. thanks. so version 2.9.5395 contains the fix?

Sure.