Fix all mypy issues

Summary of changes
Progress towards #2345
I'm not familiar with tox or this project's CI setup, could I get a hand to ensure that mypy errors are blocking on the CI now that they're all fixed with base configuration?
Changes:

Fixed all mypy issues with base configurations
Updated mypy.ini to fit the current state of type-checking in this project:

Added comments to explain configuration decisions
Explicitly target oldest supported Python version
Excluded vendored modules, the build folder, dynamic "extern" modules and a file that was causing "duplicate module name" issues with mypy

mypy . --python-version=3.8 --platform=linux|win32 results:

A handful of separate PRs have been created and split from this one following review discussion:

#4096
#4097
#4099 or #4227
#4144
#4231
#4232
https://github.com/jaraco/skeleton/issues/96
https://github.com/python/typeshed/pull/11310
https://github.com/python/typeshed/pull/11451
https://github.com/python/typeshed/pull/11454
https://github.com/pytest-dev/pytest/pull/11565
https://github.com/pytest-dev/pytest/pull/11600

Pull Request Checklist

[ ] Changes have tests (see my comment/question about enforcing this in the CI)
[x] News fragment added in newsfragments/. (should not affect the end user yet)
(See documentation for details)

(closed accidentally)

@jaraco I've listed in the PR description, other related PRs that would be beneficial to handle first.

Thanks for doing the work here. I've reviewed the dependent changes and merged the ones I think should be merged. Only #4099 I think should be closed without merging. Happy to merge this when you're ready.

@jaraco This PR is back up to date and ready to merge / review additional changes. But I also created https://github.com/jaraco/skeleton/pull/107 which can be done independently to reduce coverage false-positives with static-typing

I'm guessing those sudden test failures are not related to m changes? They also appear in #4151

Btw, with over 40 commits and lots of "oops" commits. Is this gonna be squashed merged? Or should I squash my git history?

Btw, with over 40 commits and lots of "oops" commits. Is this gonna be squashed merged? Or should I squash my git history?

If you are more comfortable that way, I think you can do is a git rebase -i and organise the commit history in a way that makes sense to you. Then just update the PR with a push-force... Otherwise, if you tell me that it should be squashed as a whole, I am also happy to oblige.
FYI, I recently merged a bugfix contributed by a member of that community that was having problems with building. That affects primarily build_meta, but I see that the file is not changed in this PR, so hopefully it will not cause too much trouble 🤞.

I'm comfortable and experienced with interactive rebases, but for this PR you can just squash as a whole.

Thank you very much @Avasam! That was a heroic piece of work.

I have a doubt:
How are you running mypy? When I try to run mypy --python-version=3.8 --platform=linux ., I still get back 3 errors, which I suppose should be ignored as configured in mypy.ini:
$ mypy --python-version=3.8 --platform=linux .
setuptools/command/build_clib.py:6: error: Cannot find implementation or library stub for module named "distutils._modified"  [import-not-found]
setuptools/command/build_clib.py:6: note: See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports
setuptools/config/_validate_pyproject/formats.py:180: error: Cannot find implementation or library stub for module named "trove_classifiers"  [import-not-found]
setuptools/command/build_ext.py:19: error: Cannot find implementation or library stub for module named "Cython.Distutils.build_ext"  [import-not-found]
Found 3 errors in 3 files (checked 146 source files)

I can see that at least setuptools/_distutils and setuptools/config/_validate_pyproject are excluded in mypy.ini.
(I have installed mypy==1.8.0, mypy-extensions==1.0.0, typing_extensions==4.9.0)
Is this something that is supposed to happen?

@abravalheri Thank you too for your support!
The last two (trove_classifiers and Cython) are just missing installs, although I think Cython isn't installed in CI. For distutils._modified I don't remember why it could differ, maybe because I have an editable install of setuptools 🤷♂
Since I figured out how to enable mypy in CI, I'll have a very small follow-up PR that does just that an appropriately ignores "missing-imports" that happens on CI with a comment.


defaults like in ChartJs

Is there a way to set default options as it is possible in ChartJs?
I would like to change some default options of all my annotations in several charts in one place:
label.font.style = 'normal' for annotation type line;
label.xPadding=4 for annotation type line;
label.yPadding=2 for annotation type line;
drawTime='beforeDraw' for all annotation types

You can  set the defaults, after the plugin is registered, in Chart.defaults.plugin.annotation

Unfortunately, this doesn't really help me. We have about 50 charts, all of which have very different annotations.
If I see this correctly, Chart.defaults.plugin.annotation only helps to globally add annotations.
But that's not a big deal for me, I solved it by using a own class to define annotations like:
import { autoinject } from 'aurelia-framework';
import { AnnotationOptions, AnnotationType } from 'chartjs-plugin-annotation/types/options';
import { FontSpec } from 'chart.js';
import { DeepPartial } from 'chart.js/types/utils';

export class Annotation<TYPE extends AnnotationType>
{
    constructor(annotation: DeepPartial<AnnotationOptions>)
    {
        annotation.drawTime = annotation.drawTime ?? 'beforeDraw';

        if (annotation.type == 'line' && annotation.label)
        {
            annotation.label.enabled = annotation.label.enabled ?? true;
            annotation.label.font = annotation.label.font ?? {
                style: 'normal'
            } as FontSpec;
            annotation.label.xPadding = annotation.label.xPadding ?? 4;
            annotation.label.yPadding = annotation.label.yPadding ?? 2;
        }

        if (annotation.type == 'box')
        {
            annotation.borderWidth = annotation.borderWidth ?? 0;
        }

        Object.keys(annotation).forEach(key =>
        {
            this[key] = annotation[key];
        });
    }
}

Looks like I did not really read what I was answering to. Those are annotation element options, so the defaults can be configured in Chart.defaults.elements.boxAnnotation for example.
The element id and its defaults set at registration can be seen from the source:
https://github.com/chartjs/chartjs-plugin-annotation/blob/16b68b7133b23b560d20362591dfedfb9c40d855/src/types/box.js#L87-L102


Can not delete first line in script editor with delete line hotkey when script has only one line

Tested versions
Reproduced in v4.2.1.rc1.official [daeb1c729]
Reproduced in v4.2.stable.official [46dc27791]
System information
Godot v4.2.1.rc1 - Windows 10.0.22631 - Vulkan (Forward+) - dedicated AMD Radeon RX 6700 XT (Advanced Micro Devices, Inc.; 31.0.23013.1023) - AMD Ryzen 9 5900X 12-Core Processor (24 Threads)
Issue description
When using the delete line editor shortcut

to delete the top line in a script that only has one line, the line is not deleted and the following error message is outputted to the output:
scene/gui/text_edit.cpp:3581 - Index p_from_line = -1 is out of bounds (text.size() = 1).
https://github.com/godotengine/godot/assets/111653551/5b49906b-eb47-403c-b4d9-40159c5fe728
Steps to reproduce

Create a new Godot project
Create a new script
Delete every line but the first line
Make sure there are no empty lines in the script
Set the delete line shortcut in the editor settings to whatever you want
Try to delete the line in the script with the shortcut (Place the text cursor in the line you want to delete -> press shortcut)

Minimal reproduction project (MRP)
See "Steps to reproduce"

Problem is this section which when there's only 1 line attempts to access line -1.
https://github.com/godotengine/godot/blob/b94eb58d35b3dd8a9f522bc90df0db73862ef326/editor/code_editor.cpp#L1409-L1413
A potential solution:
if (line != text_editor->get_line_count() - 1) {
	text_editor->remove_text(line, 0, line + 1, 0);
} else if (text_editor->get_line_count() == 1) {
	text_editor->remove_text(line, 0, line, text_editor->get_line(line).length());
} else {
	text_editor->remove_text(line - 1, text_editor->get_line(line - 1).length(), line, text_editor->get_line(line).length());
}

Side effect being that you can call delete lines on an empty line and it adds an undo state despite no changes.


Investigate whether GitLink can be integrated with SourceLink

I've recently noticed the updates and hard work you are putting into SourceLink, which is great. I also read the request to work more together, and I believe that's a good point. I would like to investigate the requirements / steps to merge GitLink and SourceLink into a single package so there will be one "go-to" package for devs.
A few things that I believe should be supported are:
Command line tooling
The tools should be executable as a command line tool.
Dynamic repositories (not all build servers have access to a local .git)
Some build servers (and the trend is moving towards this) don't check out the .git directory (too much overhead, and it's usually not required). However, this makes it a bit harder for the tooling to find out the remote repository. I think we can either pass this in as command line parameters or via msbuild property definitions. What are you thoughts?
Integration with MSBuild
@AArnott has been doing a lot of work on GitLink v3 (currently in alpha), and it would be nice if we can also merge his ideas into play (since it's a great idea to integrate with msbuild & work directly with pdb files). The package that is currently available simply requires the NuGet to be installed and the rest is done out of the box (it knows the pdb location, etc).
@ctaggart What are your thoughts, do you think it's feasible to migrate this or is SL2 very different from SL1 and should GL just be "as-is"? Do you still plan to keep working on SL1 or will SL2 completely replace SL1?

I've recently noticed the updates and hard work you are putting into SourceLink, which is great. I also read the request to work more together, and I believe that's a good point. I would like to investigate the requirements / steps to merge GitLink and SourceLink into a single package so there will be one "go-to" package for devs.

Thank you @GeertvanHorrik! I would like this. I mentioned so on the Contributing wiki page.

What are your thoughts, do you think it's feasible to migrate this or is SL2 very different from SL1 and should GL just be "as-is"? Do you still plan to keep working on SL1 or will SL2 completely replace SL1?

I encourage you to try SourceLink v2 out. Hopefully, you've seen my blog post announcing v2. SourceLink v1, GitLink, and PdbGit are all tools to enable source server support. SourceLink v2 is the only one to enable source link support. I see source link support replace source server support. They both are for providing the source code, but source server support is a better design baked into the compilers. With that and new APIs, this tool is much simpler. I ported the needed functionality to C# in part because I am hoping to add you and @AArnott as contributors to this project.
Please try out SourceLink v2. dotnet-sourcelink-git is a command line tool. SourceLink.Create.GitHub is a simply MSBuild integration that wraps it and makes it really easy to use. Adding those two to a new Directory.Build.props:
<Project>
  <ItemGroup>
    <PackageReference Include="SourceLink.Create.GitHub" Version="2.0.2" PrivateAssets="all" />
    <DotNetCliToolReference Include="dotnet-sourcelink-git" Version="2.0.2" />
  </ItemGroup>
</Project>

is all it takes for a lot of projects. If test projects need to be excluded, then @AArnott came up with IsTestProject:
<Project>
  <PropertyGroup>
    <IsTestProject>$(MSBuildProjectName.Contains('Test'))</IsTestProject>
    <DebugType>embedded</DebugType>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="SourceLink.Create.GitHub" Version="2.0.2" PrivateAssets="all" />
    <DotNetCliToolReference Include="dotnet-sourcelink-git" Version="2.0.2" />
  </ItemGroup>
</Project>

Please try it out and let me know what you think.

but source server support is a better design baked into the compilers.

@ctaggart I think you meant "source link support is a better..."

I'm in favor of combining efforts as well. 👏
I haven't studied SourceLinkv2's architecture enough to give pro's and con's about it, but from a user standpoint, I see these benefits of each (which our combined solution should retain all of IMO, or at least most):
GitLink goodness:

Supports all C# project types (older csproj and newer)
Supports all NuGet versions (project.json, packages.config, and PackageReference)
Supports classic Windows PDBs
Supports Source Server (SRCSRV) encoding of PDBs that is compatible with most debuggers used on Windows today.
Normalizes capitalization of source files so they can be downloaded from the server even if the local disk uses different capitalization
Support a build that is not within a git checked out folder (by passing in extra parameters).

SourceLinkv2 goodness:

Supports portable PDBs
Supports Source Link which is the future of debugging into remote source code
Embeds source files into the PDB that are not tracked by git
Rewrites line endings in source files before the compiler sees them if they do not conform to what git records so debuggers see the hashes equal.
Offers CLI commands (to whom is this valuable ❓)

Feel free to comment if I'm missing something and we can edit to fix it up. This might serve as something of our todo list.

Sounds good, I will try to play with SL 2 tomorrow. A few questions that might be simple to answer:

I use Fody a lot (which transforms some code after compilation and updates the pdb). In theory this should not affect the behavior of SL 2, but just wanted to make sure. Is my assumption correct that it's save to combine these?
You mention that SL2 will also work with the classic desktop, but @AArnott mentions that it supports all stuff.

Do you think it's worth the effort of merging GL into SL1 or would that be a waste of resources? If we can already start using SL2 for desktop projects as well, then I vote not to combine these. Then we will release GL as is and hopefully we can deprecate that one in the future (once portable pdb stuff is the facto standard).

Is my assumption correct that it's save to combine these?

I'm guessing Fody doesn't yet support portable PDBs. So Fody would be broken in the scenarios where SL2 works today. Also it probably is broken if the project chooses to embed the PDB in the assembly itself unless Fody supports that.

You mention that SL2 will also work with the classic desktop, but @AArnott mentions that it supports all stuff.

This confuses me. Who is "you" in this context? SL2 only works on portable PDBs, which is not the default for desktop projects but can be turned on with a project property. SL2 does not support the windows legacy PDBs.

Do you think it's worth the effort of merging GL into SL1 or would that be a waste of resources?

I wouldn't bother. Either one works fine as-is. Merging GL and SL2 (or perhaps SL1 and SL2) in order to get all the scenarios supported that people care about does sound interesting.

Do you think it's worth the effort of merging GL into SL1 or would that be a waste of resources? If we can already start using SL2 for desktop projects as well, then I vote not to combine these. Then we will release GL as is and hopefully we can deprecate that one in the future (once portable pdb stuff is the facto standard).

I expect the portable pdb format to become de facto standard very soon. There is still a decent list of unsupported scenarios, but @tmat and others are looking to shink that. I would appreciate input from them too about where we should focus our efforts. I don't think it is worth the effort to merge GL and SL1. We should port over GL features/code to SL2 to fill any gaps.
If anyone is looking to work on some SourceLink code, Error with SourceLink with BouncyCastle #175 would be a good one. I just put down steps to reproduce it. Since it is a command line application, it makes it easy to reproduce errors.

Assuming Portable PDB takes the world by storm, we still have the issue that (I think) SL2 only works on very new project types. There's a whole world of code out there that hasn't upgraded yet and may not for years. It sounds like @ctaggart is in favor of filling this requirement within SL2, but this would require letting a nuget package stand alone (without a DotNetCliTool item) in these projects. Are you willing to go along with that, @ctaggart? I ask because we've discussed this before and you seemed resistant to the idea.

@AArnott It works with old project types too. You just need to use MSBuild 15. For example, take an old project, build it with MSBuild 15, then add a Directory.Build.props and build it again. Can you try that out?

Really? I guess I took it for granted that DotNetCliTool only works in the .NET SDK project types. If that's not the case, that's great. I'll try this out sometime in the next few days.

Me too. :-)

I put together a Sourcelink.Create.CommandLine, which just uses the git command line to create the sourcelink.json. It does not call out to dotnet sourcelink-git. All of the commands may be replaced, in case you want to use hg or svn. I think this addresses some additional scenarios that you both brought up. It is currently available from the AppVeyor NuGet feed. https://ci.appveyor.com/project/ctaggart/sourcelink/build/2.1.0-b444/artifacts

I'll look into it asap, some stuff has come up but I expect that I can get to this this week.

@AArnott DotNetCli just requires MSBuild 15. I tested it just now with the test plan for 2.1 in #188. I've published 2.1 with Sourcelink.Create.CommandLine, which allows something to work with the F# projects where dotnet doesn't work.

The thing I could use the most help on right is driving adoption.

supporting aspnet's adoption of this. Everyone will probably follow what they decide.
making this a .NET Foundation project. #138

I think an adoption deterrent is that ILSpy malfunctions for assemblies with portable PDBs next to them. It's a known issue, but one they should at least patch.

I finally have time to work on this now. I'll first try if I can make this work on some repositories to get used to the source code. Once I have an understanding how SL2 works, we can analyze what needs to be done.

Cool. Try to use SourceLink.Create.CommandLine first. A good example is Rx.NET https://github.com/ctaggart/SourceLink/issues/167#issuecomment-297423617.  There is new documenation for Source Link here https://github.com/dotnet/core/blob/master/Documentation/diagnostics/source_link.md

@GeertvanHorrik, thanks for rearranging the solution as part of #209! Any more thought on this topic & becoming a SourceLink Collaborator? I just sent you an invite. One think that is new is that Microsoft is adding source link support to Windows PDB files too #194.

Thanks for the invitation. I can't promise hard deadlines since contribute to a lot of OSS projects, but I'll try to help out where possible.

@GeertvanHorrik @ctaggart @AArnott just seeing this thread just now.  Really happy to see a combining of efforts on this.  Looking forward to checking out what you guys are able to create!

@ctaggart there are a lot of up-for-grabs labels, but what are the easiest tasks to get started with?

@GeertvanHorrik, it would be good to tag and publish a 2.2.0 in a week or two #234.  I just cleaned out the issues. The easiest would be in order as I see:

#236 get unit tests running
#233 GitHub url with trailing slash, add unit tests
#223 High priority messages converting OriginUrl, to unblock Roslyn adoption
#201 Audit MSBuild tasks to log errors if returning false

More difficult, reviewing and merging the two other open pull requests.

I'm still trying to get this into the .NET Foundation. #138
I've talked to Microsoft and I think this will happen. All parties will be involved.

@ctaggart said...
I've talked to Microsoft and I think this will happen. All parties will be involved.

That is great news! 😄


add rater for generated answer

Write a new class RaterForGeneratedAnswerConfig in the config file.
Write a new notebook to show how to use and give 3 examples.
The prompt of this config may need elaborately designed.

Also I find a bug that if I change response_format={"type": "text"} to response_format={"type": "json_object"} in generated_answer.ipynb, GPT3.5 seems to ignore my prompt to not include any example in prompt, thus can not parse a right result.

old prompt:

GPT3.5
GPT4

text
expected response
expected response

json_object
wrong response
expected response

I write a new prompt for this task. This prompt is longer (consume more tokens) but more informative.

GPT3.5
GPT4

text
expected response
expected response

json_object
right format, but low self-consistency
expected response

Also I obeserved that GPT-4 have a higher confidence and self-consisitency for each input than GPT-3.5


Exported missing eval-range

eval-range was missing from the exported functions in hotpot.api.eval but was mentioned in the README, so I assumed it was intended to be exported, just like the rest of eval- (or compile-) functions.

:+1:  Thanks!

I thank you! :) Cheers!


Add undo option to the commands

The command pattern is expected to offer a way to undo commands, but currently there is no way to do this.
Add an undo option.
This may be do with an UndoableCommand interface, which has an undo() method.

Added an UndoCommand interface for this.


waybar: Update libcava to version 0.10.3

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

@NixOS/nix-formatting - seems there is an issue with the formatting of nixfmt...

Please go to the Nixpkgs root directory, run nix-shell, then:
nixfmt 'pkgs/by-name/wa/waybar/package.nix'

Did you do that? :)

Please go to the Nixpkgs root directory, run nix-shell, then:
nixfmt 'pkgs/by-name/wa/waybar/package.nix'

Did you do that? :)

yes

thank you @khaneliman that did the trick

run nix-shell

This is the important part! There's a shell.nix in the Nixpkgs root directory that gives you the correct nixfmt version. Notably even pkgs.nixfmt-rfc-style might not be the right version.

@ofborg eval

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 345774

x86_64-linux

:white_check_mark: 1 package built:

waybar

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 345774

x86_64-linux

:white_check_mark: 1 package built:

waybar

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 345774
x86_64-linux
✅ 1 package built:

woah is that a new format for that command? looks awesome

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 345774
x86_64-linux
✅ 1 package built:

woah is that a new format for that command? looks awesome

https://github.com/Mic92/nixpkgs-review/pull/419 using gaetans PR that supports multi platform reviews and has some nice new formatting

Result of nixpkgs-review pr 345774 run on aarch64-linux 1

1 package built:

waybar

Result of nixpkgs-review pr 345774 run on aarch64-linux 1

1 package built:

waybar

Result of nixpkgs-review pr 345774 run on aarch64-linux 1

1 package built:

waybar

Result of nixpkgs-review pr 345774 run on aarch64-darwin 1

Result of nixpkgs-review pr 345774 run on x86_64-darwin 1

Please follow the contributing guide when naming your commits.

fixed, please let me know if i missed something

Rename your commit to waybar: 0.10.2 -> 0.10.3. This follows more closely to contributing guidelines

Rename your commit to waybar: 0.10.2 -> 0.10.3. This follows more closely to contributing guidelines

thanks, added libcava as the commit update only this dependency

Have you reviewed if the patches are still necessary? If they aren't could you have them removed?

no, i have not as the fix update a single dependency and nothing else

Have you reviewed if the patches are still necessary? If they aren't could you have them removed?

The patch is necessary until the package version is bumped..

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 345774

x86_64-linux

:white_check_mark: 1 package built:

waybar

aarch64-linux

:white_check_mark: 1 package built:

waybar

x86_64-darwin

aarch64-darwin


Consider reversing order in this.handlers

Here is an annoying suggestion ;) Could you consider reversing the order of data we need pass to this.handlers in the store?
So instead of this.handlers = {methodName: actionName}, you would write this.handlers = {actionName: this.methodName}. I know it's painful to change this, so maybe a new method could be introduced (e.g. like bindActions in fluxxor).
There are couple of reasons:

No need to have method name string matching (e.g. easier refactoring)
IDE will stop complaining about all these handler methods not being used (because there would be an explicit this.reference in the code)
And to me personally it's somehow easier to read the flow in this way - when action X happens, run method Y.

I know you will then lose the possibility to bind the same handler to multiple events using an array as a value, but I would rather duplicate the binding for each action.

It's recommended to use the @handles decorator anyway if you're using at least Babel stage 1.

@taion Thanks for the cool tip, did not know about this decorator.

Well, it's not documented... yet.
Does that work for your use case?

Certainly! Ditching now all my handlers in favor of the new decorator. So I guess my initial becomes irrelevant now.


thanks for the lovely big blue Sync Changes button!

Issue Type: Feature Request

The lovely big blue sync changes button has saved me from getting repetative stress injuries hunting for the "sync" submenu item.  This feature request is to ask you to find who did that and pass on my personal thankyou :-)
VS Code version: Code 1.67.1 (da15b6fd3ef856477bf6f4fb29ba1b7af717770d, 2022-05-06T12:37:03.389Z)
OS version: Windows_NT x64 10.0.19044
Restricted Mode: No

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.67.2. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

Duplicate of #

//cc @misolori

cc @eamodio


Kind request to change Expert to Edit

The purpose of the 'Expert' button is to edit the user configuration. So why not have that button show 'Edit' instead of 'Expert'?

@bleutzinn I don't think this would be a good change. You can edit the user by clicking on the username - that's the friendly way. Then we have an expert mode when you click on the expert button.

Ah, I see. Sorry, I've never clicked on the user name. I suppose my attention was directly drawn towards the "Actions" column.
Thanks.


GetKeyPressed() only reading one char and not resetting

I am creating a Game and wanted to get the Name of the Player via a text input field. I tried to replicate the example with the text input field, but as soon as I call GetKeyPressed I end up in a endless loop and the one key I pressed is read all the time, so it never gets reset. I thought I made a mistake so I just copied the example into my main.cpp and tried it again. Same behavior the key I am pressing first gets read and lopped through the whole time. Should I just manually reset it the key variable? But this isn't the intended behavior or?
I am using MacOs and CLion/CMake to build the project if that matters.

int GetKeyPressed() returns the last key pressed anytime its called. The Player may not have typed anything so nothing is returned. But as soon as a key is pressed it will always get that key.
Try something like:
if IsKeyPressed(GetKeyPressed()) //Checks if the key that was last pressed is currently input.
{
//Your code adding it to a string.
}
This in theory should return false and ignore any other inputs until the player hits another key.

But the example code on the website works. I don’t understand why it isn’t working for me. They are not handling it like that. I understand that if a key from a GetKeyPressed is called the key gets deleted from the queue.

@HenningCode that's weird, it should work ok. Are you calling GetKeyPressed() in your game loop?

Yes I did that, but that didn't work, so I just copied the whole example into my main.cpp and tried to run it.
Now I build a new main.c with cmake and without any IDE. This doesnt work either. As soon as I type  a char i get stuck inside the loop and the game "crashes"
`cmake_minimum_required(VERSION 3.1.0)
project(Example)
set(CMAKE_CXX_STANDARD 11)
find_package(raylib REQUIRED)
include_directories(${raylib_INCLUDE_DIR})
add_executable(Example main.c)
target_link_libraries(Example ${raylib_LIBRARIES})
`
I am building like this with clang version 9.0.1 and cmake version 3.16.3 and I am on macOS Catalina 10.15.3.

@HenningCode did you try the example provided directly?

Yes I just fully copy and pasted it. I didn't change anything.

@HenningCode I imagine you are using latest raylib from github master branch, right?

I was using 2.5.0 installed with brew and now I updated to 2.6.0. I kind of works not but It feels really slow and the backspace is often not recognized. But the main Problem seems to be solved.

@HenningCode ok, master branch is raylib 3.0 but not released yet. If it feels slow it can be related to FPS. I'll close the issue for now.

Thats fine. Is the brew installed library not always up to date?

@HenningCode I'm afraid it's quite outdated... raylib is changing almost daily.


Implement basic SchemaFetcher

Description
Achievement
Implement basic schema fetcher based on existing schemaRegion interfaces.
Future work
Implement schema fetcher with auto create.

LGTM~


acstgen: kubernetes: consider switching to kubeadm

Filing this for ongoing and future discussion/consideration.
This could dramatically reduce the amount of code we maintain to deploy Kubernetes.
Advantages:

removing 90+% of the yaml we have in the repo for Kubernetes (cloud-config, certs, etc)
not having to worry about drift between upstream addons and our addon yamls

Disadvantages:

no HA option in kubeadm (if it even matters)
no easy way to get a kubeconfig out (yet)
unclear which addons are deployed

Something else we should consider, probably should still just follow kubeadm but they may adopt this: https://github.com/kubernetes/community/blob/master/contributors/design-proposals/kubelet-rootfs-distribution.md
also, removing myself since I'm clearly not looking at kubeadm right now.

closing old issue

Hm... could we maybe have a "backlog" tag and keep these sorts of things open? This is really something we should do eventually. Or else is there somewhere else we're keeping track of these sorts of things?


More high-level admin documentation

What are sessions? What do I use them for?
What are admin requests?
What are tokens?
What are roles?

i suppose these things aren't as well documented by hoodie for two reasons:

they're under development (so subject to change)

they're common themes across web apps.

django, for example, has excellent documentation of sessions, admin actions, and groups (analogous to roles).
a little more documentation could definitely be helpful, however, as hoodie is a little different than libraries for the server-side.  an easy way to get started on such documentation might be in the form of brief descriptions, links to other projects, and then descriptions of the difference (or possibly "the hoodie difference ™/∇") between these terms as they're used in other frameworks and what they mean wrt. hoodie.

Sorry this is all in the flux, better documentation is lucking, but let me give this a spin.

What are sessions? What do I use them for?

For now, hoodieAdmin.sessions only support the add method, because CouchDB keeps no state of sessions, so things like hoodieAdmin.sessions.findAll() or hoodieAdmin.sessions.on("remove", handler) cannot be implemented at this time.
hoodieAdmin.sessions.add({username: 'courajs'}) allows us is to generate a valid session for user "'courajs'", helpful for debugging issues with your app for example.

Requests

This definitely need some explanation. Requests is a simple way to extend the hoodie-account-server’s logic. A request is for example "passwordreset", another request could be "upgrade", which would require e.g. a stripe token and if successful it would update the user’s account to a new plan.
You can pass a requests option to the hoodie-account-server hapi plugin. Requests are also not yet persisted, but will be in future.

Tokens

Tokens allow a user to sign in / authenticate once. For example, instead of sending a new password in an email as response to a password reset request, we should send a token. We would store this token in the user account and remove it once it has been used.

Roles

Roles can be used for things like user groups, sharing data, etc. Roles directly map to CouchDB’s roles, they can be used to give a user read/write access to a database.
For example, we want to implement user groups in the future, probably as a plugin. The plugin would listen for a new signup, store the company of the user in a separate database like groups, then take the document id (say it’s groupid123) and create a new database "group/groupid123". Then we would add a role group/groupid123 to the users account and start replicating between the user’s database and the group’s database. The user could then add more user accounts for their colleagues, and each user would get the same role and also a replication to the group database, so all users from the same group can collaborate on their groups data.

Awesome! Chatting with @gr2m I also asked how you use the sessions generated by sessions.add(). Essentially it's a low-level primitive, so that isn't really determined yet. You could perhaps write a function to place the sessionId into localStorage, "taking over" that session. Or you could perhaps use it to create a valid session in another browser to have your admin & user-specific sessions at the same time.

to have your admin & user-specific sessions at the same time

as a side note, we do not use cookies but send session ids in request headers, so you can have several sessions at the same time in the same browser. For example you can be signed in as an admin and as a user, which is why we can put the admin dashboard at /hoodie/admin on the same domain, without interfering with an existing user session

Good to know 😁


my cart system has a critical bug which the products can not be added

i have checked the cart and there is no bug


[Polkadot Asset Hub] [Moonbeam] Add support for NCTR token

Please add support for NCTR token on Polkadot Asset Hub and Moonbeam.
If you want to integrate an asset (fungible token/ NFT), you would need to provide

Name of the asset:
NCTR (Apillon) on PAH
xcNCTR (Apillon) on Moonbeam
Origin blockchain of the asset: Polkadot Asset Hub, Moonbeam
Is it available on other blockchains? Yes
Metadata of the asset:
On PAH (ID 1024) https://assethub-polkadot.subscan.io/assets/1024
On Moonbeam: https://moonbeam.moonscan.io/token/0xFfFFfFfF8A9736B44EbF188972725bED67BF694E
https://moonbeam.subscan.io/assets/184218609779515850660274730699350567246
Logo of the token: https://www.figma.com/design/z9s6aLTLoUdjMwoXLyWcPz/01.SubWallet-Project-Logo?node-id=7023-35&t=tOqXbytrgr0FHFbS-4
Is your asset transferable? Yes
Coingecko: no

NCTR holders: 169a2i3nCNGv9dscdvy61xEgfDU3595ynWJn4xKyaTR8oB1F
xcNCTR holders: 0xD1cd69BBd8c99403D4A08084479Af8bC9b98dC77


Spinner does not work in Popup

Framework7 version: 5.0.0-beta.19
Framework7 Vue version: 5.0.0-beta.19
Vue.js version: 2.6.10
Platform and Target: Windows 10 / Chrome Web Browser

Describe the bug
<f7-preloader> does not work in Popups.
To Reproduce
Add to main component:
<f7-popup tablet-fullscreen :opened="false" :animate="false">
      <f7-page>
        <f7-navbar title="Preloader"></f7-navbar>
        <f7-block>
          <f7-preloader :size="50"></f7-preloader>
        </f7-block>
      </f7-page>
    </f7-popup>

Expected behavior
Preloader shown.
Actual Behavior
Preloader not shown
Screenshots

Additional context
Does work in simple page:
  <f7-page>
    <f7-navbar title="Preloader"></f7-navbar>
    <f7-block>
      <f7-preloader :size="50"></f7-preloader>
    </f7-block>
  </f7-page>

framework7-vue is on same version?

Updated both to 5.0.0-beta.19 - same issue.

Would be good to see JSFiddle or live example as i can't replicate it

Working in the page: https://jsfiddle.net/5b3qvf1n/3/
Working in the popup with theme=md: https://jsfiddle.net/5b3qvf1n/12/
Not working in the popup with theme=ios: https://jsfiddle.net/5b3qvf1n/12/
Seems to be buggy in ios only?

@nolimits4web - Thank you! My son loves Kidoverse by the way :-D

@nolimits4web - I figured out it's working when there is some content in the element - this will work:
<f7-preloader> </f7-preloader>
This not:
<f7-preloader></f7-preloader>

My son loves Kidoverse by the way :-D

Nice, thanks 👍 :)

I figured out it's working when there is some content in the element - this will work:

Will be fixed in next update


Constraint support

I'm using version 5.6.0 and I have some issues with route constraint (IRouteConstraint from ASP.NET Core). My Route definition is:
[Route("/{custom:test}/api/v{v:apiVersion}/[controller]/[action]")]
[ApiVersion("1.0")]
this generate swagger with parameters for custom and v plus paths with {custom} and {v}. I would like swagger to take actual parameter values.
For now I have customized parameters and paths in OperationFilter and DocumentFilter but it is a hack for me.
Is this some bug in constrain handling or I could do this by come configuration?

Based on the attributes you're using, I'm assuming you're using the Microsoft.AspNetCore.Mvc.Versioning library. That library provides excellent documentation around integrating with Swashbuckle - have you followed those intstructions?
https://github.com/microsoft/aspnet-api-versioning/wiki/API-Documentation#aspnet-core

Based on the attributes you're using, I'm assuming you're using the Microsoft.AspNetCore.Mvc.Versioning library. That library provides excellent documentation around integrating with Swashbuckle - have you followed those intstructions?
https://github.com/microsoft/aspnet-api-versioning/wiki/API-Documentation#aspnet-core

Closing due to inactivity


csrf_token() throws undefined in testing while {{ form.csrf_token }} passes

Hi I want to unittest a manual form that uses csrf_token():

It throws UndefinedError: 'csrf_token' is undefined.
When I have a form object and I invoke {{ form.csrf_token }} in testing it works.
I expect the manual use of csrf_token() in unittests not to break the tests because of undefined.
Am I doing something wrong or is this a bug?
THX and Regrads

I have run into this too. I did a search on the whole code base for the project and csrf_token() method is not defined anywhere. I ended up grabbing the token from the session object: session['csrf']

http://stackoverflow.com/questions/31888316/how-to-use-flask-wtforms-csrf-protection-with-ajax#answer-31888868
You need to load CsrfProtect(app) or:
csrf = CSRFProtect()
def create_app():
app = Flask(name)
csrf.init_app(app)
then you can access csrf_token()


Really long 0 min time slot

After installing the app or when creating new time slot manually, it's very long though it should be only 16pt.

@sofokli1 I believe it's fixed? I can't manage to reproduce it anymore. How about you?

i fixed it


Perf: Use RouteValueDictionary in AnchorTagHelper rather than creating a new Dictionary

Fixes #4624
This fix has dependency on the Routing PR https://github.com/aspnet/Routing/pull/335
Scenario https://github.com/aspnet/MusicStore  app .
loadtest -k -n 1000 --rps 20  http://localhost:5000
Before

After

Total savings is 1.3% in total bytes

:shipit: from me, but @dougbu should signoff as well

:shipit:


Editor hang/poor performance with a large number of tests in a file

I'm investigating some performance issues in Dart when you have a large number of tests in a single file. Many of these issues are in the Dart extension, but while working on it I've been seeing a few bad hands in the editor that I think may be a VS Code issue. It seems to happen during syncDecorations which I suspect are related to the test icons in the gutter.
The test file I'm using has approximately 2,500 tests in the file.

Here's an export of the profile from the dev tools:
slow_decorations.json.zip
Note: I can't give precise repro steps using the Dart extension right now because I'm still making performance improvements (if you try to reproduce this with the published version of the extension you'll see significant performance issues in the extension that I'm working on), but if this profile isn't helpful on its own and you need more, I may be in a position to publish a pre-release version with some of my fixes soon.
@connor4312 FYI - I don't know if this is general decorations code or test-specific, but I think the anonymous function showing up a lot in the profile relates to this code here:
https://github.com/microsoft/vscode/blob/2377c7a4c5f81d131567d9b35ba8d32a9f070649/src/vs/workbench/contrib/testing/browser/testingDecorations.ts#L199

Repro steps:

Use the test provider sample

node -p "new Array(2500).fill(0).map((a, i) => \`1 + \${i} = \${i + 1}\`).join('\n')" > sample/big.md

F5, open big.md, and click on a decoration

@connor4312 seems much better now, thank you!


Created an AWS S3 Copy Object connector

Can someone please have a look?

@lburgazzoli @zregvart @rhuss


No Types Returned with Docker Spotlight

The dbpedia/dbpedia-spotlight docker image with the most recent "en" language model always returns empty types. This is different from the live API, which does return useful types, different similarity scores, and fewer entities.
Below, I pass the same query string to the Live API and Docker Image.
Notice how in both tests, I use the same text, the same confidence threshold - all parameters the same. But the responses are different. The docker image identifies "article" as an entity, the API does not. "Geneva" has many types on the live API, but has empty types on the docker image. The Similarity scores are also slightly different.
Types are important for my project, and I need the docker image's performance and reliability. Perhaps the Live API is running an older "en" language model that doesn't have this issue? How can I try running an older "en" language model in the docker image? Or perhaps types just aren't supported on the docker image? Any feedback here would be very appreciated.
The Live API:
RESPONSE
{
"@text": "this is an article about Geneva and Myanmar.",
"@confidence": "0.3",
"@support": "0",
"@types": "",
"@sparql": "",
"@policy": "whitelist",
"Resources": [
{
"@URI": "http://dbpedia.org/resource/Geneva",
"@support": "17157",
"@types": "Wikidata:Q486972,Schema:Place,DBpedia:PopulatedPlace,DBpedia:Place,DBpedia:Location,DBpedia:Settlement",
"@surfaceForm": "Geneva",
"@offset": "25",
"@similarityScore": "0.9981798618571678",
"@percentageOfSecondRank": "0.0012774176800776215"
},
...
The Docker Image
RESPONSE
{'@text': 'this is an article about Geneva and Myanmar.',
'@confidence': '0.3',
'@support': '0',
'@types': '',
'@sparql': '',
'@policy': 'whitelist',
'Resources': [
{'@URI': 'http://dbpedia.org/resource/Article',
'@support': '5163',
'@types': '',
'@surfaceForm': 'article',
'@offset': '11',
'@similarityScore': '0.895558085921875',
'@percentageOfSecondRank': '0.04661536542968175'
},
{'@URI': 'http://dbpedia.org/resource/Geneva',
'@support': '19011',
'@types': '',
'@surfaceForm': 'Geneva',
'@offset': '25',
'@similarityScore': '0.9978915725724677',
'@percentageOfSecondRank': '0.0015876939459178352'
},
...

Hello @zdan12,
This docker version of DBpedia Spotlight downloads the latest version of the selected language model, in this case, the English model.
To run DBpedia Spotlight with an old language model version:

Create a new folder, e.g., dbpedia-local

mkdir  dbpedia-local
cd dbpedia-local

Download dbpedia-spotlight.jar

wget https://sourceforge.net/projects/spotlight-multilingual-docker/files/dbpedia-spotlight-1.1.jar

Download the desired version of the language model from the Databus (for this example it is downloading the 2021.06.25 - the same as the demo)

wget https://databus.dbpedia.org/dbpedia/spotlight/spotlight-model/2021.06.25/spotlight-model_lang=en.tar.gz

untar the language model file

tar -xvf spotlight-model_lang\=en.tar.gz

run the DBpedia Spotlight service

java -Dfile.encoding=UTF-8 -Xmx15G -jar dbpedia-spotlight.jar en/ http://<IP_ADDRESS>:2222/rest

When you see the following output, the service will be ready
[main] INFO org.dbpedia.spotlight.web.rest.Server - Initiated 1 disambiguators.
[main] INFO org.dbpedia.spotlight.web.rest.Server - Initiated 2 spotters.
Dec 10, 2021 9:11:28 PM com.sun.grizzly.Controller logVersion
INFO: GRIZZLY0001: Starting Grizzly Framework 1.9.48 - 12/10/21, 9:11 PM
Server started in /home/jhernandez/dbpedia-local listening on http://<IP_ADDRESS>:2222/rest
[main] INFO org.dbpedia.spotlight.web.rest.Server -  Core threads: 5
[main] INFO org.dbpedia.spotlight.web.rest.Server -   Max threads: 5
[main] INFO org.dbpedia.spotlight.web.rest.Server - Max POST size: 2097152

Test the service

curl http://localhost:2222/rest/annotate \
    --data-urlencode "text=this is an article about Geneva and Myanmar" \
    --data "confidence=0.3" \
    -H "Accept: text/turtle"

My output was:
~$ curl http://localhost:2222/rest/annotate     --data-urlencode "text=this is an article about Geneva and Myanmar"     --data "confidence=0.2"  --data "support=0"   -H "Accept: text/turtle"
@prefix xsd:   <http://www.w3.org/2001/XMLSchema#> .
@prefix itsrdf: <http://www.w3.org/2005/11/its/rdf#> .
@prefix nif:   <http://persistence.uni-leipzig.org/nlp2rdf/ontologies/nif-core#> .

<http://www.dbpedia-spotlight.com/#offset_11_18>
        a                       nif:Phrase , nif:OffsetBasedString ;
        nif:anchorOf            "article" ;
        nif:beginIndex          "11"^^xsd:nonNegativeInteger ;
        nif:endIndex            "18"^^xsd:nonNegativeInteger ;
        nif:referenceContext    <http://www.dbpedia-spotlight.com/#offset_0_43> ;
        itsrdf:taAnnotatorsRef  <http://www.dbpedia-spotlight.com> ;
        itsrdf:taClassRef       <http://dbpedia.org/ontology/Country> , <http://schema.org/Country> , <http://www.wikidata.org/entity/Q6256> , <http://dbpedia.org/ontology/Location> , <http://dbpedia.org/ontology/Place> , <http://schema.org/Place> , <http://dbpedia.org/ontology/PopulatedPlace> ;
        itsrdf:taConfidence     "0.40074620388085513"^^xsd:double ;
        itsrdf:taIdentRef       <http://dbpedia.org/resource/Morocco> .

<http://www.dbpedia-spotlight.com/#collection>
        a               nif:ContextCollection ;
        nif:hasContext  <http://www.dbpedia-spotlight.com/#offset_0_43> ;
        <http://purl.org/dc/terms/conformsTo>
                <http://persistence.uni-leipzig.org/nlp2rdf/ontologies/nif-core/2.1> .

<http://www.dbpedia-spotlight.com/#offset_25_31>
        a                       nif:OffsetBasedString , nif:Phrase ;
        nif:anchorOf            "Geneva" ;
        nif:beginIndex          "25"^^xsd:nonNegativeInteger ;
        nif:endIndex            "31"^^xsd:nonNegativeInteger ;
        nif:referenceContext    <http://www.dbpedia-spotlight.com/#offset_0_43> ;
        itsrdf:taAnnotatorsRef  <http://www.dbpedia-spotlight.com> ;
        itsrdf:taClassRef       <http://dbpedia.org/ontology/Place> , <http://dbpedia.org/ontology/PopulatedPlace> , <http://www.wikidata.org/entity/Q486972> , <http://dbpedia.org/ontology/Settlement> , <http://schema.org/Place> , <http://dbpedia.org/ontology/Location> ;
        itsrdf:taConfidence     "0.9979568600705991"^^xsd:double ;
        itsrdf:taIdentRef       <http://dbpedia.org/resource/Geneva> .

<http://www.dbpedia-spotlight.com/#offset_36_43>
        a                       nif:Phrase , nif:OffsetBasedString ;
        nif:anchorOf            "Myanmar" ;
        nif:beginIndex          "36"^^xsd:nonNegativeInteger ;
        nif:endIndex            "43"^^xsd:nonNegativeInteger ;
        nif:referenceContext    <http://www.dbpedia-spotlight.com/#offset_0_43> ;
        itsrdf:taAnnotatorsRef  <http://www.dbpedia-spotlight.com> ;
        itsrdf:taClassRef       <http://dbpedia.org/ontology/PopulatedPlace> , <http://www.wikidata.org/entity/Q6256> , <http://dbpedia.org/ontology/Location> , <http://dbpedia.org/ontology/Place> , <http://schema.org/Country> , <http://schema.org/Place> , <http://dbpedia.org/ontology/Country> ;
        itsrdf:taConfidence     "0.9997650611279874"^^xsd:double ;
        itsrdf:taIdentRef       <http://dbpedia.org/resource/Myanmar> .

<http://www.dbpedia-spotlight.com/#offset_0_43>
        a               nif:OffsetBasedString , nif:Context ;
        nif:beginIndex  "0"^^xsd:nonNegativeInteger ;
        nif:endIndex    "43"^^xsd:nonNegativeInteger ;
        nif:isString    "this is an article about Geneva and Myanmar" .

It also contains "article" but this time you have control over the version of the language model.  I hope this information helps you.

Thank you very much Julio-Noe, I'll try this out and let you know if it works!

Hi @Julio-Noe, this works great and solved my problem! Thank you again for your super helpful response.

Perfect!!, @zdan12, I am glad to hear that it works.


No bundle in fresh install

Just installed this with a vagrant up and it does not have bundler.
I get the following error:
The program 'bundle' is currently not installed. To run 'bundle' please ask your administrator to install the package 'bundler'

If I try to install it, here's what happens:
$ gem install bundler
ERROR:  Could not find a valid gem 'bundler' (>= 0) in any repository
ERROR:  Possible alternatives: bundler

Please excuse me raising the dead, but in case someone else ends up here through Google, try the following from ask ubuntu
config.vm.provider "virtualbox" do |vb|
  vb.customize ['modifyvm', :id, "--natdnshostresolver1", "on"]
end

It was breaking ubuntu 14 (but not 12) when trying to add the brightbox-ng ppa on my Mac.

@nruth :+1: Thank you!


Update README.md

Fixed Issue #53
Updated Readme
https://github.com/Karamraj/BookTown/assets/101205226/9d615c8f-ca83-4690-a308-b65c6fc36d13

@Karamraj Review it


Add workflow to run release tests every 3 hours

Description
This can serve as a sign off. Use browser chrome. Run every 3 hours. The host has x64 per https://github.com/actions/virtual-environments/blob/releases/ubuntu20/20220306/images/linux/Ubuntu2004-Readme.md There is no official support for ARM64 yet.
Issues Resolved
Resolves https://github.com/opensearch-project/opensearch-dashboards-functional-test/issues/118
Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

This needs to go in after #122?

The results are quite stable "2 of 40 failed (5%)"
https://github.com/tianleh/opensearch-dashboards-functional-test/runs/5520318390?check_suite_focus=true


Use a dedicated method to get the signature

PR not ready for review due to unexplainable bugs.

Closing in favor to #171


Why choose torch.nn.Sequential instead of tcnn.NetworkWithInputEncoding?

Describe the bug
In the "HashMLPDensityField" class of density_fields.py, why do we choose to use "torch.nn.Sequential" instead of "tcnn.NetworkWithInputEncoding"?
In my tests, I found that with the same parameters, the implementation of tcnn.NetworkWithInputEncoding consumes less GPU memory than torch.nn.Sequential, even though I've set the latter's parameter to implementation: Literal["tcnn", "torch"] = "tcnn"."
To Reproduce
Steps to reproduce the behavior:

Dataset: lego
Compare:
Method(1):
config: implementation: Literal["tcnn", "torch"] = "tcnn",
code in Class HashMLPDensityField:

self.encoding = HashEncoding(
            num_levels=num_levels,
            min_res=base_res,
            max_res=max_res,
            log2_hashmap_size=log2_hashmap_size,
            features_per_level=features_per_level,
            implementation=implementation,
        )
if not self.use_linear:
            network = MLP(
                in_dim=self.encoding.get_out_dim(),
                num_layers=num_layers,
                layer_width=hidden_dim,
                out_dim=1,
                activation=nn.ReLU(),
                out_activation=None,
                implementation=implementation,
            )
            self.mlp_base = torch.nn.Sequential(self.encoding, network)

Method(2):
code in Class HashMLPDensityField:
config = {
            "encoding": {
                "otype": "HashGrid",
                "n_levels": num_levels,
                "n_features_per_level": features_per_level,
                "log2_hashmap_size": log2_hashmap_size,
                "base_resolution": base_res,
                "per_level_scale": growth_factor,
            },
            "network": {
                "otype": "FullyFusedMLP",
                "activation": "ReLU",
                "output_activation": "None",
                "n_neurons": hidden_dim,
                "n_hidden_layers": num_layers - 1,
            },
        }
if not self.use_linear:
            self.mlp_base = tcnn.NetworkWithInputEncoding(
                n_input_dims=3,
                n_output_dims=1,
                encoding_config=config["encoding"],
                network_config=config["network"],
            )

compare the gpu memery of two methods above.
Expected behavior
Method(1):GPU used: 3317MB
Method(2):GPU used: 3742MB

Hi @lxp-99, could you look over and try this PR? #2063


Identify stuck rules in MSMonitor and advance such rules

Impact of the new feature
ReqMgr2MS - MSMonitor
Is your feature request related to a problem? Please describe.
Perhaps. Sometimes a data transfer never completes because there is no source (data gets lost) replicas. If that happens between staging and staged (thus, between MSTransferor and MSMonitor), then MSMonitor could hold a workflow forever, because one or more of those rules would never be satisfied.
Describe the solution you'd like
When evaluating the rule progress in MSMonitor, we should have a special handling for rules in state STUCK. If such rules report an error like NO_SOURCES:NO_SOURCES, then it means that rule will never be satisfied, and MSMonitor should consider it as state OK (progress = 100%). In addition to that, we should of course make a record in the logs for such cases.
Describe alternatives you've considered
none
Additional context
Using the rucio client, these are likely the key/value pairs that we are interested in:
State:                      STUCK
Error:                      NO_SOURCES:NO_SOURCES

@nsmith- (and Benedikt, who I could not find his GH user name) would you know how often this happen (or could happen)? Just so we can properly prioritize it.
AFAIR, I have only seen it for testbed/dev workflows, usually connected to Rucio preprod.

@nsmith- (and Benedikt, who I could not find his GH user name) would you know how often this happen (or could happen)? Just so we can properly prioritize it.
AFAIR, I have only seen it for testbed/dev workflows, usually connected to Rucio preprod.

It's @dr-stringfellow
Such cases I think we need to invalidate the data in DBS so it is not used in workflows again. Would this advancing the rule cause that to happen or would the work queue elements get made and sit stuck forever?

It's @dr-stringfellow
Such cases I think we need to invalidate the data in DBS so it is not used in workflows again. Would this advancing the rule cause that to happen or would the work queue elements get made and sit stuck forever?

I'm not 100% sure, but I believe global workqueue would fail that workflow. I better get it tested somehow to make sure...
Another option would be to mark such workflows as failed, thus transitioning them from staging to failed, and provide a proper a meaningful error for that.

I'm not 100% sure, but I believe global workqueue would fail that workflow. I better get it tested somehow to make sure...
Another option would be to mark such workflows as failed, thus transitioning them from staging to failed, and provide a proper a meaningful error for that.

Just to update this GH issue.
A few cases like that have been spotted in production (and reported via P&R/general slack), affecting:
pdmvserv_task_HIG-RunIISummer20UL18NanoAODv2-00006__v1_T_201203_053223_1416
pdmvserv_task_HIG-RunIISummer20UL18NanoAOD-00010__v1_T_201203_052711_3866
the block with NO_SOURCES is:
cms:/GluGluHToZZTo2L2Q_M125_TuneCP5_13TeV_powheg2_JHUGenV7011_pythia8/RunIISummer20UL18MiniAOD-106X_upgrade2018_realistic_v11_L1v1-v2/MINIAODSIM#62df70d0-37bd-4c98-ad48-0330d2c5a1e0

as can be seen from:
>>> rucio.getRule("c3dd7e24b79543208ab418ffca8cdccc")
...
u'error': u'NO_SOURCES:NO_SOURCES'

I forced those workflows to staged and global workqueue created a GQE for them:
2021-01-12 14:08:25,962:INFO:WorkQueue:Queuing element b3c68e0f77cb075b7e3a7f58d59aec4b for /pdmvserv_task_HIG-RunIISummer20UL18NanoAOD-00010__v1_T_201203_052711_3866/HIG-RunIISummer20UL18NanoAOD-00010_0 with 3 job(s) split with Block on /GluGluHToZZTo2L2Q_M125_TuneCP5_13TeV_powheg2_JHUGenV7011_pythia8/RunIISummer20UL18MiniAOD-106X_upgrade2018_realistic_v11_L1v1-v2/MINIAODSIM#62df70d0-37bd-4c98-ad48-0330d2c5a1e0

as expected, since files are marked as valid (1) in DBS:
https://cmsweb.cern.ch/dbs/prod/global/DBSReader/files?block_name=/GluGluHToZZTo2L2Q_M125_TuneCP5_13TeV_powheg2_JHUGenV7011_pythia8/RunIISummer20UL18MiniAOD-106X_upgrade2018_realistic_v11_L1v1-v2/MINIAODSIM%2362df70d0-37bd-4c98-ad48-0330d2c5a1e0&detail=true
We need to come with a (non-expensive) approach that will catch such cases and just bypass then, without leaving the workflows in any sort of stuckness state. It requires some thought and discussion...

Just to update this GH issue.
A few cases like that have been spotted in production (and reported via P&R/general slack), affecting:
pdmvserv_task_HIG-RunIISummer20UL18NanoAODv2-00006__v1_T_201203_053223_1416
pdmvserv_task_HIG-RunIISummer20UL18NanoAOD-00010__v1_T_201203_052711_3866
the block with NO_SOURCES is:
cms:/GluGluHToZZTo2L2Q_M125_TuneCP5_13TeV_powheg2_JHUGenV7011_pythia8/RunIISummer20UL18MiniAOD-106X_upgrade2018_realistic_v11_L1v1-v2/MINIAODSIM#62df70d0-37bd-4c98-ad48-0330d2c5a1e0

as can be seen from:
>>> rucio.getRule("c3dd7e24b79543208ab418ffca8cdccc")
...
u'error': u'NO_SOURCES:NO_SOURCES'

I forced those workflows to staged and global workqueue created a GQE for them:
2021-01-12 14:08:25,962:INFO:WorkQueue:Queuing element b3c68e0f77cb075b7e3a7f58d59aec4b for /pdmvserv_task_HIG-RunIISummer20UL18NanoAOD-00010__v1_T_201203_052711_3866/HIG-RunIISummer20UL18NanoAOD-00010_0 with 3 job(s) split with Block on /GluGluHToZZTo2L2Q_M125_TuneCP5_13TeV_powheg2_JHUGenV7011_pythia8/RunIISummer20UL18MiniAOD-106X_upgrade2018_realistic_v11_L1v1-v2/MINIAODSIM#62df70d0-37bd-4c98-ad48-0330d2c5a1e0

as expected, since files are marked as valid (1) in DBS:
https://cmsweb.cern.ch/dbs/prod/global/DBSReader/files?block_name=/GluGluHToZZTo2L2Q_M125_TuneCP5_13TeV_powheg2_JHUGenV7011_pythia8/RunIISummer20UL18MiniAOD-106X_upgrade2018_realistic_v11_L1v1-v2/MINIAODSIM%2362df70d0-37bd-4c98-ad48-0330d2c5a1e0&detail=true
We need to come with a (non-expensive) approach that will catch such cases and just bypass then, without leaving the workflows in any sort of stuckness state. It requires some thought and discussion...

I just stumble upon this issue and I think it would be great to revisit it together with our DM friends. If the answer/implementation is the one mentioned above, we could see if someone in the P&R team would like to help us with this ticket.


Add pester testcases for automated testing of the code

Code of Conduct

[X] I have read and agree to the project's Code of Conduct.
[X] Vote on this issue by adding a 👍 reaction to the original issue initial description to help the maintainers prioritize.
[X] Do not leave "+1" or other comments that do not add relevant information or questions.
[X] If you are interested in working on this issue or have submitted a pull request, please leave a comment.

Description
Today we have manual testing process to test the VMware.CloudFoundation.CertificateManagement code, but this has to be put in CD/CI pipeline to automate the testing process for repeatable testing before pushing to public GitHub to test on the quality of the fix and to minimize regression defects. This also ensures, time consumed for less in testing the code.
Use Case(s)
Suppose if manual testing takes about x time, automation of the same takes x/2. Also it is more reliable and you can test even negative testcases easily.
Potential Configuration
writing pester testcases to automate the testing process
In the current code structure, there will be /tests folder, under that pester testcases will be available for testing
Also it requires input json file to hold all the credential information
References
No response

Reassigning to @sowjuec.


Update Rust runtime files

Update Rust runtime files from https://github.com/rust-lang/rust.vim/commit/889b9a7515db477f4cb6808bef1769e53493c578.
The Rust runtime files are notably out of date. The provided :RustFmt command (and the associated auto formatting features) do not work because the ftplugin uses a command line argument that is no longer supported by rustfmt.
I updated all of the Last Modified headers to the date of this commit. The only modifications I made from upstream was moving the :Cargo family of commands from a plugin/ to ftplugin/rust.vim and making them buffer-local (and cleaning them up in b:undo_ftplugin).

thanks!

@chrisbra , @k-takata , @gpanders
https://github.com/vim/vim/commit/fc93594d562dbbd9da03c89754538f91efd0c7ca#commitcomment-129229377
(Since there was no response, I'll mention it here again.)
This change resulted in the loss of many modifications made on the Vim side.
for example, In the case of runtime/doc/ft_rust.txt , specifically the commit change from e0720cbf6 to 6ebe4f970 is lost by fc93594d5.
$ cd /path-to-your-vim-dir/runtime/doc
$ git log --oneline ft_rust.txt
960822a11 runtime(doc): grammar fixes in doc (#13164)
fc93594d5 runtime(rust): sync rust runtime files with upstream (#13075)
6ebe4f970 Update runtime files
eb4904187 (tag: v9.0.0000) release version 9.0
c51cf0329 Update runtime files.
98056533b (tag: v8.2.0000, tag: v8.2.0) Vim 8.2 release
d473c8c10 Update runtime files.
d2f3a8b87 Update runtime files.
01164a654 Long overdue runtime update.
f55e4c867 Updated runtime files
e0720cbf6 Update runtime files.
3c2881dc1 Update runtime files.  Add Rust support.

Can the maintainers of https://github.com/rust-lang/rust.vim/ please incorporate the changes on the Vim side?
Also, what should I do if I want to change rust.vim related files on the Vim side in the future?

@gpanders please can you have a look at what is missing now?
I'd suggest to always try to include the changes directly upstream (that is via @gpanders and the rust-lang repository) so that this issue does no longer appear.

@h-east it looks like only changes to ft_rust.txt were lost, not any changes to the filetype plugin or syntax highlighting itself. Can you confirm that?
The commits you linked show that all of the changes were trivial (typos, formatting, etc.), so I'm not concerned about it. To second what @chrisbra said if these need to be changed they should be done in PRs to https://github.com/rust-lang/rust.vim directly (the maintainers of the rust.vim plugin are not responsible for incorporating changes made by Vim -- it's the other way around).


Project Euler problem 21 - sum of Amicable numbers upto 10000

Thank you for your contribution. Please provide the details requested below.
ISSUE NUMBER
Please provide a link to the issue this pull request addresses.
SHORT DESCRIPTION
Please provide a short description of the changes.
This is the program for problem 21 on Project Euler to find the sum of Amicable numbers till 10000.
TESTING
Please provide the necessary steps to test the solution.
The output of the program gives the solution.

Please accept my pull request.

Fixed all issues. Please accept my pull request.

There is one .java file and one .class file. Should I remove the .class file?
I am so sorry. Adding the readme.

make all the files under one folder only


Functional improvements

The screen is very nice, but it did not take into account the space for the error message which are overflowed

of course, it won't be responsive to various devices. That's the logic your app will inject.


Add a proper logger to fetch

This PR introduces a proper logger to fetch to ensure it's output is in line with other Gruntwork tools. It also makes integration testing much easier and solves the following issues:

#30
#89

Note: This PR must be merged after #88 as it improves upon it.
Design Notes

I noticed a lot of methods required multiple string params instead of a single FetchOptions struct, so I’m directly passing in a logger to follow the same pattern in most methods.
I added the logrus library but only saw the macOS binary increase by 100kb from 8.9M to ~9.0M.

Progress

[x] Replaced all of the fmt.Printf calls.
[x] Introduced the logrus library.

Nice, thanks Rob!
We should probably add a --log-level param so you can control the amount of logging.

Thanks! Yeah, I intentionally avoided that and instead defaulted to 'INFO'. I wasn't sure if it made sense because I would either suppress a lot of the existing messages by default or we'd need to sprinkle in a few debug messages around the place to actually make it useful. I thought it would be easier to leave it out to under complicate this PR, but I agree it's something we'd want in the future. I could add it but default it to 'INFO' then people can override it to 'ERROR' or 'DEBUG'. What do you think?

@brikis98 okay I've added a --log-level option and ported the logging code over to gruntwork-cli. To actually make the --log-level option worthwhile I've sprinkled in a few DEBUG log entries, so execute fetch using --log-level debug to see them.


import error

hi @javivelasco
i npm install the latest version and can not import it right
import Btn from 'react-toolbox/button'

Module not found: Error: Cannot resolve module 'react-toolbox/button'
.....

Or :
import Btn from 'react-toolbox/lib/button'

Module not found: Error: Cannot resolve 'file' or 'directory' ./style
....

Hi @mydearxym!
Sorry, the docs are wrong. I'm working on a ton on issues and couldn't change it yet. You should import components individually from react-toolbox/lib.
Thanks!

Hi @javivelasco
Can you give some example how to import components individually from react-toolbox/lib?

Yes, documentation is already updated with the proper imports. Here you have a working example.
Hope you find it useful! :)

https://github.com/react-toolbox/react-toolbox-example/blob/master/server.js Must be written in ES5. Otherwise the example does not work.

You just have to start the server with a supported node version.

Yes, working now. Thank you.
But do you know the webpack configuration to build a minified/deploy version? Because using npm run deploy is not working. With npm run build the JS and CSS is not minified and is about 1.93mb only the JS.

You can check an example on how can you configure webpack for production inside docs folder. Basically the process consists of putting all JS and CSS together, minifying and moving everything to a build folder. Then we use gh-pages package to deploy to a github pages branch and publish automatically the site. Remember to set a production flag on build to avoid transpiling with dev configuration!

@javivelasco I am seeing this problem with node v5.0.0. Is it not compatible with this version?


fix: Add apple tvos support

This PR allows using cc-rs lib to target tier 3 *-apple builds:
Apple tvOS on aarch64
Apple tvOS Simulator on x86_64

As clang should be used with this target, I've removed tests added on https://github.com/rust-lang/cc-rs/pull/704 that require gcc. Restored tests.

@thomcc @NobodyXu FYI
I've pushed the requested changes, sorry for the late reply :)


orchestra/daemon/state: do not pass fsid property to run() later

The cephadmunit takes fsid.  The old state.py handler needs to be able to take it without breaking later.  This came up due to https://github.com/ceph/ceph/pull/39304

jenkins retest this please

remote = <teuthology.orchestra.test.test_systemd.FakeRemote object at 0x7fc9813ae550>
role = 'ceph.rgw', id_ = '0', command_args = (), command_kwargs = {}

    def __init__(self, remote, role, id_, *command_args, **command_kwargs):
        """
            Pass remote command information as parameters to remote site

            :param remote: Remote site
            :param role: Role (osd, rgw, mon, mds)
            :param id_: Id within role (osd.1, osd.2, for eaxmple)
            :param command_args: positional arguments (used in restart commands)
            :param command_kwargs: keyword arguments (used in restart commands)
            """
        self.remote = remote
        self.command_args = command_args
        self.role = role
        self.cluster, self.type_ = self.role.split('.')[0:2]
        self.id_ = id_
        self.log = command_kwargs.get('logger', log)
>       self.fsid = command_kwargs.pop('fsid')
E       KeyError: 'fsid'

https://pulpito.ceph.com/sage-2021-02-17_20:20:58-upgrade:octopus-x-wip-sage-testing-2021-02-16-1622-distro-basic-smithi/


www.pushbullet.com pushbullet.com

Service for pushing mobile notifications to phone.
Not malicious
Reported upstream this is jus ta fyi

Added to allowlist


Iterating import directory entry stops at a (completely) null iterm

Currently, the iterator for PE imports stop at the first item where original_first_thunk == 0. However, we should stop at a (totally) null item, as (more-or-less clearly) stated in the PE file specification

Ok, but in winnt.h, the first field is documented as "0 for terminating null import descriptor". Do you have a file for which this change matters?

Hi, thanks for your feedback
I have seen such behaviour on malware samples.
For instance, there is a sample that you can download here : https://bazaar.abuse.ch/sample/db665f26dbc4ca92d326f2cb98faafb9e84d404346b201cd88bec91ce4206bb2/
The import directory is at file offset 0x12591C. Here are the data
00 00 00 00   00 00 00 00   00 00 00 00   00 B6 8F 12   00 20 7D 12  // first DLL (KERNEL32.DLL)
00 00 00 00   00 00 00 00   00 00 00 00   00 00 92 12   00 B0 80 12  // second DLL (GDI32.DLL)
...

The pefile Python library and the CFF explorer tool for instance agree on these imports being correct.

Thanks for investigating that. This will need a followup so that we can successfully parse these imports though. Currently we only try original_first_thunk, but if that is zero then we need to fall back to first_thunk.

Oh right, I forgot about PeFile::imports, I'll take care of it

readobj needs fixing too, and maybe we should add a new method somewhere for this logic.

OK, I've proposed a first part in #386, but I'm afraid I won't be a big help on the readobj part


Research extension custom grant validation result without sub

Works for simple cases - will add more features in later version


Tests need to be updated wrt TaxoNet and hierarchical taxonomy

See: https://travis-ci.org/github/BirdVox/birdvoxclassify/jobs/729747714

@jtcramer any updates on this issue? would be good to fix the tests in the scope of the BVC v0.1.2 release


help: Stream muting and notifications tweaks

Just a couple of small changes.
https://zulip.com/help/stream-notifications

https://zulip.com/help/mute-a-stream

Merged, thanks @alya!


Groups Label

Hello,
I have an issue when I want to search in Option groups with uppercase value.
<multiselect v-model="selectedHeader" @input="updateHeader" group-values="characteristics" group-label="name" label="name" :options="characteristics" :close-on-select="true" width="350"></multiselect>

Please provide an reproduction link using the Issue template (there’s a link to JSFiddle that can be used to present the issue).


Add support to run a substream defined as part of a subgraph

So that indexers in The Graph community can easily test that a substream-based subgraph is working, add new options to substreams run to  pull the .spkg information out of a subgraph defined on ipfs.
eg: substreams run QmeWyu8pzV3zViL5nz813NxKSab7REh9qJBivjzkCzE9Vw

This will be awesome


DRI JPEG marker is not treated as having a length byte

In marker.rs, there is a method (https://github.com/paolobarbolini/img-parts/blob/master/src/jpeg/markers.rs#L90) that determines whether a given marker has a length so the copier knows how many bytes to copy.
Unfortunately, it does not include the DRI marker in this list - thus any JPEG containing a DRI marker will be copied incorrectly and thus yield a damaged JPEG.
Simply adding DRI to the match block will resolve the issue.

Thanks for the report! Fixed in 214f337. I'll probably release v0.2.3 in a couple of hours.

That's wonderful - thanks for the fast service!
On Wed, Oct 14, 2020 at 10:33 AM Paolo Barbolini<EMAIL_ADDRESS>wrote:

Thanks for the report! Fixed in 214f337
https://github.com/paolobarbolini/img-parts/commit/214f337abd0bc047213e61bbdd4b43a0fa08ff17.
I'll probably release v0.2.3 in a couple of hours.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/paolobarbolini/img-parts/issues/1#issuecomment-708443702,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABGW6NKJMPODBFTPUK6IJNLSKWZCTANCNFSM4SQVB5GA
.

img-parts v0.2.3 is out. Closing


Split client_from_manual_flow into "get URL" and "create token from response URL" components

Description of Bug
Attempting to use the demonstration code for generating a token and authenticating within a jupyterlab notebook is warning that this is not a terminal environment and crashes.  I can get the code to work from within a terminal.  Perhaps related to the use of "prompt" rather than "input" ?
Code to Reproduce
c = schwab.auth.client_from_manual_flow(APP_KEY, app_secret=SECRET, callback_url=CALLBACK
, token_path=TOKEN_PATH )
Expected Behavior
User can authenticate from within a jupyter notebook
Actual Behavior
Code crashes on running
Error/Exception Log, If Applicable
File [/opt/conda/lib/python3.11/site-packages/schwab/auth.py:221](http://<IP_ADDRESS>:8888/opt/conda/lib/python3.11/site-packages/schwab/auth.py#line=220), in client_from_manual_flow(api_key, app_secret, callback_url, token_path, asyncio, token_write_func, enforce_enums)
    214 if callback_url.startswith('http://'):
    215     print(('WARNING: Your callback URL ({}) will transmit data over HTTP, ' +
    216            'which is a potentially severe security vulnerability. ' +
    217            'Please go to your app\'s configuration with TDAmeritrade ' +
    218            'and update your callback URL to begin with \'https\' ' +
    219            'to stop seeing this message.').format(callback_url))
### **--> 221 redirected_url = prompt('Redirect URL> ').strip()**
    223 return __fetch_and_register_token_from_redirect(
    224     oauth, redirected_url, api_key, app_secret, token_path, token_write_func,
    225     asyncio, enforce_enums=enforce_enums)

I've renamed this ticket to reflect the solution I'm thinking of applying. My plan is to get to this one alongside this issue: https://github.com/alexgolec/schwab-py/issues/85.

I've looked into this and decided that this would be quite expensive to implement. I'll be re-adding the schwab-generate-token.py script in the coming days, and the recommended method will be to generate a token off-machine and transfer it into the executing machine.


digital clock

Digital Clock

A project that shows the current time

Domain of Contribution 📊

[x] Javascript Projects

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.

Screenshots / Gif (Optional) 📸

readme file not added


Comments : Author's name does not appear if too long

Describe the Bug
Hello,
we have a user with a long name (26 letters). If he writes a comment on a page, his name does not appear on the top of the comment.
He changed his name with a shorter version (4 letters), and the name appears.
I don't know what is the exact limit, but with me (14 letters), it works.
PS : thank you very much for your work @ssddanbrown, we will plan to update bookstack to get the new notification system, it looks promising.
Steps to Reproduce

Change your name in your profile with a long name.
Write a comment in a page.
Check if the name is shown on the head of the comment.
Retry with a shorter name.

Expected Behaviour
The name should be shown, or at least with "..." at the end if it is too long.
Screenshots or Additional Context
No response
Browser Details
Brave or Firefox
Exact BookStack Version
23.06.2
PHP Version
No response
Hosting Environment
Debian 12

Thanks to @Bajszi97 in #4533, this has now been addressed, and will be part of the next feature release.
Thanks @gblondet117 for raising.


code

Hello, I trained train_cast.py on the ade20k dataset and obtained a checkpoint. pth model. Which. py file in the project should I run to check the image segmentation effect? I want to see the segmentation effect, not the classification

Did you train image recognition on ade20K and would like to check the hierarchical segmentation results?  You can check this ipython notebook.
If you fine-tuned the model on semantic segmentation in ade20K, this script would generate segmentation results.


fix(deps): update terraform github.com/terraform-ibm-modules/terraform-ibm-watsonx-saas-da to v1.7.11

This PR contains the following updates:

Package
Type
Update
Change

github.com/terraform-ibm-modules/terraform-ibm-watsonx-saas-da
module
patch
v1.7.10 -> v1.7.11

Release Notes

terraform-ibm-modules/terraform-ibm-watsonx-saas-da (github.com/terraform-ibm-modules/terraform-ibm-watsonx-saas-da)
v1.7.11
Compare Source
Bug Fixes

deps: update terraform ibm to latest for deployable architectures (#214) (083257b)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline

/run pipeline

/run pipeline

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

GitHub release
v2.5.28

Your semantic-release bot :package::rocket:


Correct Type.IsAssignableFrom() polarity

#3482
see new tests; many failed without fixes in the product code
ModelBindingHelper.ConvertValuesToCollectionType<T>() -> CreateCompatibleCollection<T>()
make FormFileModelBinder / HeaderModelBinder collection handling consistent w/ GenericModelBinder++
add checks around creating collections and leaving non-top-level collections null (not empty)
add checks around binding collections to read-only properties
add support for binding IFormFileCollection properties

nit: Correct a few existing test names since nothing is not the same as ModelBindingResult.Failed()

/cc @rynowak

:watch: I don't really have a gripe with the code changes or tests here.... but this just seems like something that becomes much harder to explain to anyone how it works and why.

:up::date:

:shipit: after removing the try/catch

:up::date:

:shipit: again!

d3c2463


How do I expand camGame (make it borderless)?

What is your question?

Doing all of this in lua, I'm on Android so I can't use the source code

I was doing a camera follow script where when left or right were hit, the angle of the camera would also change.
https://github.com/ShadowMario/FNF-PsychEngine/assets/101405920/50b4d453-341a-4db7-91b9-59f28ace2717
But I've ran into a problem, everytime I moved the camera, there would be a black background behind it (kinda like a border) and it would be in size, the exact width and height of the original position.
So how do I expand the camera so hopefully the black borders go away? Also I've tried a widescreen script but that only fixed the issue on the X position and stretched the hud even if I modified the script

Nvm I fixed it, just used a zCameraFix script.

how

just used a zCameraFix script.

But that didn't make it borderless, it just made the borders be actual borders, not a black background when changing the angle of FlxG.camera


Linux

I'd also appreciate it if people helped deploy the patcher for other operating systems, like Linux. Again, if interested, please feel free to reach out to me.

I don't see any contact info, so I figured this was a good way as any to reach out about this.
What would be required to get Linux support working? What dependencies are there? I see hints of both VS Code and Eclipse being used, either of which I can install easily.

I'd also appreciate it if people helped deploy the patcher for other operating systems, like Linux. Again, if interested, please feel free to reach out to me.

I don't see any contact info, so I figured this was a good way as any to reach out about this.
What would be required to get Linux support working? What dependencies are there? I see hints of both VS Code and Eclipse being used, either of which I can install easily.

Hi there; thank you for asking! I would recommend VS Code with Java plugins by Red Hat. The dependencies are handled with Maven, something you would also need to install. The commands for the tool that packages everything together, jpackage, are included in the repo!

Using the jpackage-mac.txt as a starting point:

/javafx-jmods-20

Rather than , why not./ for the working directory? This should work on Mac as well as Linux. (I think it's .\ on Windows?)
Where is javafx-jmods? I don't see it.

Using the jpackage-mac.txt as a starting point:

<file-path-here>/javafx-jmods-20

Rather than <file-path-here>, why not./ for the working directory? This should work on Mac as well as Linux. (I think it's .\ on Windows?)
Where is javafx-jmods? I don't see it.

Oh, that's fair; I suppose I just wanted the command convenient to run if you've just opened up the terminal and want to package the patcher regardless of the directory.
https://gluonhq.com/products/javafx/ - you'll have to tick the "include older versions" box and scroll down to the bottom for v20; we'll update the JavaFX library once I receive another translation.

Ah, good point, I was just using the terminal from in VS Code which sets the working directory. Probably shouldn't assume users will be there already.
So I downloaded and extracted javafx-jmods-20, put that folder (with javafx.*.jmod files) into The MOTHER 3 HQ Audio Patcher/ (working dir), and...
$ mvn package
[0.002s][warning][cds] A jar file is not the one used while building the shared archive file: /usr/lib/jvm/java-20-openjdk/lib/modules
[0.002s][warning][cds] /usr/lib/jvm/java-20-openjdk/lib/modules timestamp has changed.
[INFO] Scanning for projects...
[INFO]
[INFO] --------------< org.musictheorist:mother3hqaudiopatcher >---------------
[INFO] Building mother3hqaudiopatcher 1.3.1
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ mother3hqaudiopatcher ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 26 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.10.1:compile (default-compile) @ mother3hqaudiopatcher ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ mother3hqaudiopatcher ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /home/yaomtc/Software/MOTHER-3-HQ-Sound-Mixing/MOTHER-3-HQ-Sound-Mixing/The MOTHER 3 HQ Audio Patcher/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.10.1:testCompile (default-testCompile) @ mother3hqaudiopatcher ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ mother3hqaudiopatcher ---
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ mother3hqaudiopatcher ---
[INFO] Building jar: /home/yaomtc/Software/MOTHER-3-HQ-Sound-Mixing/MOTHER-3-HQ-Sound-Mixing/The MOTHER 3 HQ Audio Patcher/target/mother3hqaudiopatcher-1.3.1.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.632 s
[INFO] Finished at: 2023-04-26T16:01:47-05:00
[INFO] ------------------------------------------------------------------------

However this .jar file doesn't seem to want to run.
$ java -jar ./mother3hqaudiopatcher-1.3.1.jar
[0.002s][warning][cds] A jar file is not the one used while building the shared archive file: /usr/lib/jvm/java-20-openjdk/lib/modules
[0.002s][warning][cds] /usr/lib/jvm/java-20-openjdk/lib/modules timestamp has changed.
no main manifest attribute, in ./mother3hqaudiopatcher-1.3.1.jar

Ah, good point, I was just using the terminal from in VS Code which sets the working directory. Probably shouldn't assume users will be there already.
So I downloaded and extracted javafx-jmods-20, put that folder (with javafx.*.jmod files) into The MOTHER 3 HQ Audio Patcher/ (working dir), and...
$ mvn package
[0.002s][warning][cds] A jar file is not the one used while building the shared archive file: /usr/lib/jvm/java-20-openjdk/lib/modules
[0.002s][warning][cds] /usr/lib/jvm/java-20-openjdk/lib/modules timestamp has changed.
[INFO] Scanning for projects...
[INFO]
[INFO] --------------< org.musictheorist:mother3hqaudiopatcher >---------------
[INFO] Building mother3hqaudiopatcher 1.3.1
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ mother3hqaudiopatcher ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 26 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.10.1:compile (default-compile) @ mother3hqaudiopatcher ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ mother3hqaudiopatcher ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /home/yaomtc/Software/MOTHER-3-HQ-Sound-Mixing/MOTHER-3-HQ-Sound-Mixing/The MOTHER 3 HQ Audio Patcher/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.10.1:testCompile (default-testCompile) @ mother3hqaudiopatcher ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ mother3hqaudiopatcher ---
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ mother3hqaudiopatcher ---
[INFO] Building jar: /home/yaomtc/Software/MOTHER-3-HQ-Sound-Mixing/MOTHER-3-HQ-Sound-Mixing/The MOTHER 3 HQ Audio Patcher/target/mother3hqaudiopatcher-1.3.1.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.632 s
[INFO] Finished at: 2023-04-26T16:01:47-05:00
[INFO] ------------------------------------------------------------------------

However this .jar file doesn't seem to want to run.
$ java -jar ./mother3hqaudiopatcher-1.3.1.jar
[0.002s][warning][cds] A jar file is not the one used while building the shared archive file: /usr/lib/jvm/java-20-openjdk/lib/modules
[0.002s][warning][cds] /usr/lib/jvm/java-20-openjdk/lib/modules timestamp has changed.
no main manifest attribute, in ./mother3hqaudiopatcher-1.3.1.jar

So that .jar file is what you want to "link" with the "jpackage" command. Once Java spits out an app image, then you should be able to double-click that executable.

Alright, all set! v1.3.2 has been published.

Not sure why it was more than twice as fast before, but I ran it again with the new version and it took 1.419 seconds. If that's still unreasonably fast, I've got no idea, maybe it just runs faster on Linux or something?
So jpackage offers me three output formats: app-image, deb, and rpm. I'm not sure what the "app-image" is in the Linux context, I just know it's not an AppImage.
After installing dpkg and rpmtools, I've now created a .deb (for Debian and its derivatives) and a .rpm package (RHEL, Fedora, openSUSE, and others). I can't test the RPM yet, but I can test the .deb (I have Arch Linux and Ubuntu)

Install works, though it was put into /opt/ for some reason (I thought /bin/ was the usual place but I'm not sure).

Launching from /opt/the-mother-3-hq-sound-mixing-patcher/bin/the-mother-3-hq-sound-mixing-patcher (bit of a mouthful) I'm given the window. Everything looks good here. If I had to nitpick, "Open" is usually reserved for when you already have a file selected, and "Browse..." is when you want to look for a file.

I grabbed the ROM (fan translated) and the patch was successfully applied. I tested the sound player in both the backup and the patched version and it does seem less noisy.

Now as for what package format to go with, I think either Flatpak or the aforementioned AppImage would be best. I'm not sure how to build either one yet though. I'll attach the .deb for now.
Even zipped the .rpm is too big (29.9 MB). Let me know if you want me to share this a different way.
the-mother-3-hq-sound-mixing-patcher.deb.zip

Not sure why it was more than twice as fast before, but I ran it again with the new version and it took 1.419 seconds. If that's still unreasonably fast, I've got no idea, maybe it just runs faster on Linux or something?
So jpackage offers me three output formats: app-image, deb, and rpm. I'm not sure what the "app-image" is in the Linux context, I just know it's not an AppImage.
After installing dpkg and rpmtools, I've now created a .deb (for Debian and its derivatives) and a .rpm package (RHEL, Fedora, openSUSE, and others). I can't test the RPM yet, but I can test the .deb (I have Arch Linux and Ubuntu)

Install works, though it was put into /opt/ for some reason (I thought /bin/ was the usual place but I'm not sure).
Launching from /opt/the-mother-3-hq-sound-mixing-patcher/bin/the-mother-3-hq-sound-mixing-patcher (bit of a mouthful) I'm given the window. Everything looks good here. If I had to nitpick, "Open" is usually reserved for when you already have a file selected, and "Browse..." is when you want to look for a file.
I grabbed the ROM (fan translated) and the patch was successfully applied. I tested the sound player in both the backup and the patched version and it does seem less noisy.

Now as for what package format to go with, I think either Flatpak or the aforementioned AppImage would be best. I'm not sure how to build either one yet though. I'll attach the .deb for now.
Even zipped the .rpm is too big (29.9 MB). Let me know if you want me to share this a different way.
the-mother-3-hq-sound-mixing-patcher.deb.zip

Thank you for all this! The reason I wanted an app-image is because I just want a portable executable with no installer required. What kind of file does the "app-image" command spit out?

It actually creates a /lib/ and a /bin/. The executable is in /bin/ and will not work outside of that location. The entire directory structure is needed, as the dependencies aren't bundled into the executable. That's what AppImage or Flatpak is for (here's a comparison)
Uncompressed the folder is 94.2 MB, and 30.8 MB compressed, so I can't attach that here either. 7-zip makes it small enough but Github doesn't allow .7z files.

Here's the ZIP. https://mega.nz/file/XZ8yyaTI#MF3I3DKZc2f5kfGOAMY3Dba9I5TGZXFgijD4gHcX-X8

Here's the ZIP. https://mega.nz/file/XZ8yyaTI#MF3I3DKZc2f5kfGOAMY3Dba9I5TGZXFgijD4gHcX-X8

Thank you so much! So yeah, would you recommend an AppImage or Flatpak?
The only other thing I'm noticing is there's an icon in /lib/ that seems to be a generic Java logo. Is there any way to package the patcher with the icon file I provided?

That's actually something I forgot to mention, jpackage's only output says:

The specified icon "./patcher.icns" is not a PNG file and will not be used. The default icon will be used in its place.

That error also occurs with the .ico file, of course.

That's actually something I forgot to mention, jpackage's only output says:

The specified icon "./patcher.icns" is not a PNG file and will not be used. The default icon will be used in its place.

That error also occurs with the .ico file, of course.

Ah, simple fix! Just use any one of these files: https://github.com/MusicTheorist/MOTHER-3-HQ-Sound-Mixing/tree/main/The MOTHER 3 HQ Audio Patcher/src/main/resources/icon/app

Done. https://mega.nz/file/TYdhkaAb#_3LcddF_TJQWjiL3grE4RmSBy3QHhy520axgIZV_OKg

Done. https://mega.nz/file/TYdhkaAb#_3LcddF_TJQWjiL3grE4RmSBy3QHhy520axgIZV_OKg

Great! So, would you recommend this be made into an AppImage or should it just be distributed as-is?

Distributing it as-is in a ZIP would be non-standard, but it would be easier to not have to learn how to create an AppImage. This is probably fine for what will be a one-time-use tool for most people (and it's Java based).
Given that, I made one more change to the folder: a relative link in the root folder, using ln -s ./bin/The MOTHER 3 HQ Sound Mixing Patcher. A shortcut.
https://mega.nz/file/ud8X1TBT#rkuJhSHc5jFp0aC7Cbh4s7u2diOQcBj0ksr0xmnZU6s

Distributing it as-is in a ZIP would be non-standard, but it would be easier to not have to learn how to create an AppImage. This is probably fine for what will be a one-time-use tool for most people (and it's Java based).
Given that, I made one more change to the folder: a relative link in the root folder, using ln -s ./bin/The MOTHER 3 HQ Sound Mixing Patcher. A shortcut.
https://mega.nz/file/ud8X1TBT#rkuJhSHc5jFp0aC7Cbh4s7u2diOQcBj0ksr0xmnZU6s

Alright, thank you! Just one last question: this is an x64 release, right?

Probably, I'm on a 64-bit system and maven/jpackage don't seem to give any option for architecture

Probably, I'm on a 64-bit system and maven/jpackage don't seem to give any option for architecture

Okay! Is there any way you could provide me a screenshot?

I decided to install a Linux VM on my machine because Zorin has been interesting me for a while, and I think I'm gonna actually go with .deb and .rpm releases instead of the app-image type.
Thank you so much for your help; I'm adding your credit to the project!