Change SecurityRequirementsOperationFilter

Moved from https://github.com/aspnetboilerplate/aspnetboilerplate/issues/3473:
context.ApiDescription.ActionAttributes Deprecated
please Change Class SecurityRequirementsOperationFilter to
using System.Collections.Generic;
using System.Linq;
using Abp.AspNetCore.Mvc.Extensions;
using Swashbuckle.AspNetCore.Swagger;
using Swashbuckle.AspNetCore.SwaggerGen;
using Abp.Authorization;

namespace EventCloud.Web.Host.Startup
{
    public class SecurityRequirementsOperationFilter : IOperationFilter
    {
        public void Apply(Operation operation, OperationFilterContext context)
        {
            var controllerAndActionAttributes  = context.ControllerActionDescriptor.GetControllerAndActionAttributes(true);

            if (controllerAndActionAttributes.OfType<AbpAllowAnonymousAttribute>().Any())
            {
                return;
            }

            if (controllerAndActionAttributes.OfType<AbpAuthorizeAttribute>().Any())
            {
                operation.Responses.Add("401", new Response { Description = "Unauthorized" });

                var permissions = controllerAndActionAttributes.OfType<AbpAuthorizeAttribute>().SelectMany(p => p.Permissions)
                    .Distinct();

                if (permissions.Any())
                {
                    operation.Responses.Add("403", new Response { Description = "Forbidden" });
                }

                operation.Security = new List<IDictionary<string, IEnumerable<string>>>
                {
                    new Dictionary<string, IEnumerable<string>>
                    {
                        { "bearerAuth", permissions }
                    }
                };

            }

        }
    }
}

I have error in this code
var controllerAndActionAttributes = context.ControllerActionDescriptor.GetControllerAndActionAttributes(true);
This is Error:
Severity	Code	Description	Project	File	Line	Suppression State Error	CS1061	'OperationFilterContext' does not contain a definition for 'ControllerActionDescriptor' and no extension method 'ControllerActionDescriptor' accepting a first argument of type 'OperationFilterContext' could be found (are you missing a using directive or an assembly reference?)

@behiunforgiven
Please see this PR:
https://github.com/aspnetboilerplate/module-zero-core-template/pull/308

@behiunforgiven ControllerActionDescriptor is only present in Swashbuckle.AspNetCore v2.5.0.
See https://github.com/aspnetboilerplate/module-zero-core-template/commit/3eb3a899bfe30fb478ca398475b74925031c79b8#diff-8c6fbeacca2404834f8be18bfc66e3c5.

Hello,
Wouldn't be ok like this:
public class SecurityRequirementsOperationFilter : IOperationFilter
    {
        public void Apply(Operation operation, OperationFilterContext context)
        {
            var controllerAndActionAttributes = context.MethodInfo.DeclaringType.GetCustomAttributes(true)
                        .Union(context.MethodInfo.GetCustomAttributes(true));

            if (controllerAndActionAttributes.OfType<AbpAllowAnonymousAttribute>().Any())
            {
                return;
            }

            var actionAbpAuthorizeAttrs = controllerAndActionAttributes.OfType<AbpAuthorizeAttribute>();

            if (!actionAbpAuthorizeAttrs.Any() && controllerAndActionAttributes.OfType<AbpAllowAnonymousAttribute>().Any())
            {
                return;
            }

            var controllerAbpAuthorizeAttrs = controllerAndActionAttributes.OfType<AbpAuthorizeAttribute>();
            if (controllerAbpAuthorizeAttrs.Any() || actionAbpAuthorizeAttrs.Any())
            {
                operation.Responses.Add("401", new Response { Description = "Unauthorized" });

                var permissions = controllerAbpAuthorizeAttrs.Union(actionAbpAuthorizeAttrs)
                    .SelectMany(p => p.Permissions)
                    .Distinct();

                if (permissions.Any())
                {
                    operation.Responses.Add("403", new Response { Description = "Forbidden" });
                }

                operation.Security = new List<IDictionary<string, IEnumerable<string>>>
                {
                    new Dictionary<string, IEnumerable<string>>
                    {
                        { "bearerAuth", permissions }
                    }
                };
            }
        }
    }

Inspired by https://github.com/domaindrivendev/Swashbuckle.AspNetCore#operation-filters

We recently update Swashbuckle.AspNetCore in https://github.com/aspnetboilerplate/module-zero-core-template.
When we tested the template, SecurityRequirementsOperationFilter was not filtering the operations on swagger -ui.
@acjh is that the expected behavior ?

No, that is not the expected behavior. Why was SecurityRequirementsOperationFilter completely removed in https://github.com/aspnetboilerplate/module-zero-core-template/commit/d4129cfa90288cc1dadb3fa43b4721ec02fce93e?

Hi, i've applied the solution of zetic-be. Is this solution verified?
everything seems to work from my end.

@jonassix if that works for you, you can keep it in your project. I will try to test it and include into the template.

Moved back to https://github.com/aspnetboilerplate/aspnetboilerplate/issues/3473


LoadError

Hello there
I add gem into the project. I have added configuration as well. Locally works fine, but when I deploy it on the development machine, then  I'm getting error: /lib/zeitwerk/kernel.rb:35:in require': cannot load such file -- google/ads/google_ads/api_versions (LoadError)`
My configuration file:
`
require "google/ads/google_ads"
Google::Ads::GoogleAds::Config.new do |c|
c.treat_deprecation_warnings_as_errors = false
c.warn_on_all_deprecations = false
c.developer_token = Rails.application.secrets.dev_token
c.client_id = Rails.application.secrets.google_client_id
c.client_secret = Rails.application.secrets.google_client_secret
c.login_customer_id = Rails.application.secrets.google_login_customer_id
c.log_level = 'WARN'
c.log_target = STDOUT
end`
When I run zeitwerk:check on my local machine everything is fine.
When I run zeitwerk:check on development machine, I got the errors: LoadError: cannot load such file -- google/ads/google_ads
Any help?

This looks like it may be the same issue as from issue #355. What gem version are you using? Can you try using the most recently published gem and see if that resolves it?

I'm using version 10.0, but on my local machine 10.0 works fine too. Any other advice? Anyway I will try to update to latest version.

We had an issue where files weren't marked as executable that should be fixed as of 16.0.0. Please try that version of the gem.
I'm not sure how you could still be using 10.0.0 since that only supported up to v6 of the API, which has since been removed. The newest version of the gem will support the latest API versions as well. You should expect to update your gem version at least a few times a year to keep up to date with the latest API changes.

Hello again and thanks for you support. But here i have gem hell, when I'm trying to update gem at 16.0.0, then i have problem with faraday versions. One example is below:
`In Gemfile:
carrierwave-azure_rm was resolved to 0.1.2, which depends on
azure-storage (~> 0.12.1.preview) was resolved to 0.12.3.preview, which depends on
faraday (~> 0.9)
google-ads-googleads (~> 16.0) was resolved to 16.0.0, which depends on
  gapic-common (~> 0.6.0) was resolved to 0.6.0, which depends on
    faraday (~> 1.3)`

I tried to update faraday but it does not works, what can you advice?

The library azure-storage seems to depend on a version of faraday < 1.0, whereas we require >=1.3 but <2.0. Clearly, these are not compatible, so there's no single version of faraday that fits both requirements. azure-storage hasn't been updated since 2017, so it looks out of date.
I'm not sure there's a good way to resolve that short of finding an alternative to that other library. You could try forking it and updating the dependencies yourself, or reaching out to the owner to see if they're still around to make a new version with updated dependencies.


reader_dispatch doesn't yield any reader

Maybe it's just me, but when I run python benchmark_detectors.py runtime in examples/benchmark, I do not get any records, i.e. the line records = list(reader_dispatch(db_slug, data_dir)) yields an empty list. Is this caused by our recent changes in v0.4.0?

Exactly, thanks for noticing! Fixed in #68


Add cmsdk.com

cmsdk.com cropped up recently, another copycat.

Thanks!
Please provide evidence to ease my work.
Original: https://stackoverflow.com/questions/60121647/select-from-multiple-tables-in-sequelize
Copycat: https://cmsdk.com/node-js/select-from-multiple-tables-in-sequelize.html


Single quotes not accepted by mpremote

mpremote-vccode seems to wrap file paths etc in single quotes which do not seem to be accepted by mpremote. If I try the same commands with double quotes they will work. Maybe mpremote has changed to only accept double quotes?
For example when I try an use the file system ls command I get this error
C:\projects\owonpy>py.exe -m mpremote connect COM3 fs ls '/'
ls :'/'
Traceback (most recent call last):
File "", line 2, in
TypeError: unsupported types for truediv: 'str', 'str'
BTW: I like the extension, it will be a handy addition when using mpremote so I am hoping this is an easy fix or there is some setting I should be using.

Well, shoot. That's a new one. Single quotes have always worked up until now. Can you tell me what version of mpremote you're using? Maybe something's changed??? I'll try to reproduce the error.

Looks like it's a shell thing.
If I use PowerShell, everything is fine...
PS C:\Users\Dave\src> py.exe -m mpremote connect COM9 fs ls '/'
ls :/
         964 boot.py
         101 config.py
           0 lib/
         461 main.py

If I use cmd.exe, I get an error similar to yours...
C:\Users\Dave>py.exe -m mpremote connect COM9 fs ls '/'
ls :'/'
Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
TypeError: unsupported types for __truediv__: 'str', 'str'

Probably just change your default terminal to PowerShell in VSCode.
https://stackoverflow.com/questions/44435697/change-the-default-terminal-in-visual-studio-code

Thanks - that was my problem


crumbs: init at version 0.0.2

Let me know if there are any errors with the way this derivation is written.
Motivation for this change
I wanted to add this little utility to Nix to make installing it easier.
Things done

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

[x] NixOS
[ ] macOS
[x] other Linux distributions

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

I have submitted new changes applying your suggested changes. Tested the new derivation and it installs properly.

This should ideally be rebased into one commit with the message crumbs: init at version 0.0.2.

I added a few more comments, but it looks good to me overall.

Removed a trailing comma in the includes header of default.nix

@Thesola10 looks like you might have mixed something up on that last push:

hash mismatch in fixed-output derivation '/nix/store/7km1gylsg0xscbp538rfq4w8rqa3zbp8-source':
wanted: sha256:1m7fwjw74fy8pgsvjda1c7awl2y5jr0r3fb5a6v5rddym5w52s0b
got:    sha256:0j7axygbaz3bcpjngybigk333lga67bg7g8gw47j4xx3gyc9qf2n

@aanderse there's a reason behind it. I think I had used a specific commit for reference instead of version 0.0.2, and so I pushed the wrong hash.

@Thesola10 is this currently building on your system? I pulled again and got this:

autoreconf: running: automake --add-missing --copy --force-missing
Makefile.am: error: required file './README' not found
autoreconf: automake failed with exit status: 1

this is very weird. noticed it also does that with 0.0.3...

Upon second look, it seems that the --force-missing option that autoreconfHook adds is causing this. I just wrote a test configurationPhase locally to test that and it works again. Can I push that, or is there a cleaner way?

Also, I'm kind of weirded out by the fact that @GrahamcOfBorg doesn't seem to test whether the actual derivation can build properly...

Also, I'm kind of weirded out by the fact that @GrahamcOfBorg doesn't seem to test whether the actual derivation can build properly...

I'll be asking the bot to build your program once it builds on my machine.

Can I push that, or is there a cleaner way?

Please rewrite the git history.

Please rewrite the git history.

Of course. I was asking if there was a better way than to redefine configurePhase.

Of course. I was asking if there was a better way than to redefine configurePhase.

Ah... sorry I read that wrong the first time :laughing: I'll defer to @jtojnar for all autoreconfHook related questions though :)

You really should not override configurePhase it breaks things like configureFlags. You can call automake in preConfigure.
Or you can override the flags autoreconfHook sets with autoreconfFlags:
https://github.com/NixOS/nixpkgs/blob/05a53ecd827c5910e34171e7681c56913b29add1/pkgs/build-support/setup-hooks/autoreconf.sh#L5

@jtojnar thanks for the advice! After testing, though, what worked was setting automake and autoconf as nativeBuildInputs, and overriding automakeFlags to --add-missing.

I would not expect automakeFlags to do anything, it is not defined in nixpkgs.
It looks like they have pregenerated ./configure script in the repo so autotools should not be needed at all unless the script is incorrectly generated and we need to regenerate it.

I would not expect automakeFlags to do anything,

You're right, it does not seem necessary. In any case, using autoconf and automake instead of autoreconfHook seems to work.

After another test, it would seem that configure is pre-generated. Which is weird, since I remember a previous version required to automake it.

@Thesola10 seems like only outstanding issue is addressing the 0.0.3 comment mentioned in https://github.com/NixOS/nixpkgs/pull/58960#discussion_r272304117.

the 0.0.3 comment
Do you mean that I need to bump the derivation to crumbs 0.0.3? I can do that, just making sure

I think all of the discrepancies in the build process (like autoreconfHook) come from the difference between master and release tags in the crumbs repo.

the 0.0.3 comment

Do you mean that I need to bump the derivation to crumbs 0.0.3? I can do that, just making sure

I did mean that. I ran checked out your branch and it does build fine as is on 0.0.3.
While in there I happened to notice this: https://github.com/fasseg/crumbs/blob/master/crumbs-completion.bash
Any motivation to add this to your package? Seems valuable :smile:

Any motivation to add this to your package?

Would adding it into $out/share/bash-completion/completions work?

Here are a few examples of bash and fish shell completions searching through the codebase turned up:
https://github.com/NixOS/nixpkgs/blob/cfa3f9bb996e4c871c8574fb5302512ed4485abc/pkgs/development/tools/kubectx/default.nix
https://github.com/NixOS/nixpkgs/blob/11318d1ba2d3a06dcffa9144042c1397eff4ac9e/pkgs/applications/science/logic/elan/default.nix
https://github.com/NixOS/nixpkgs/blob/25e7f59516b2c8254df13b448a2ed5e28b848dd3/pkgs/applications/version-management/pijul/default.nix

Added the autocomplete scripts in a postInstall directive, since I saw these examples were overriding installPhase (which I kinda don't like, always prefer builtin to handwritten). The files end up where they need to be, and the derivation builds fine.
Oh and I bumped to 0.0.3 while we're at it.

Looking good. The fish completions reference gfind instead of find so I made this change and then they worked:
  prePatch = ''
    sed -i 's|gfind|find|' crumbs-completion.fish
  '';

and in the postInstall
-    cp $src/crumbs-completion.bash $out/share/bash-completion/completions/crumbs
-    cp $src/crumbs-completion.fish $out/share/fish/vendor_completions.d/crumbs.fish
+    cp crumbs-completion.bash $out/share/bash-completion/completions/crumbs
+    cp crumbs-completion.fish $out/share/fish/vendor_completions.d/crumbs.fish

and in the postInstall
-    cp $src/crumbs-completion.bash $out/share/bash-completion/completions/crumbs
-    cp $src/crumbs-completion.fish $out/share/fish/vendor_completions.d/crumbs.fish
+    cp crumbs-completion.bash $out/share/bash-completion/completions/crumbs
+    cp crumbs-completion.fish $out/share/fish/vendor_completions.d/crumbs.fish

Wouldn't the reference to $src make it more semantically clear what is happening?

$src wasn't patched.

The original repo mentions a /etc/crumbs.conf file, and a quick strace confirms that our built crumbs accesses it from its derivation path (expected). Should I add configuration entries to generate the file?

As far as I can tell crumbs.conf is trivial and provides a very sane default. Given the crumbs executable has a way to override the location of crumbs.conf I think leaving everything as you currently have it is perfectly reasonable.

Side note -- why is the "changes requested" blocker still present? Is my branch ready for merging?

@GrahamcOfBorg build crumbs
I guess I was waiting to hear if you were satisfied with my response :smile:

@Thesola10 thank you for your contribution! :tada:


Fix a hang when the remote hangs up rudely

Bad ordering:
1. Remote close
2. TCP closed
3. Local confirms
=> no ConnectionClosed raised, client hangs forever

Checked autobahn suite, seems OK.
thank you


create_cherry_pick does not exists, only in the v5.1 and v6.0 folders

Getting *** AttributeError: 'GitClient' object has no attribute 'create_cherry_pick'.

Clients contain only subset of the most stable APIs, for that to happen it has to be marked as Released by the owners and at least one major API release had to happen with that API.
If it is missing it means that is was not considered released/stable at the time, in the new release 7.1.0b2 there is a lot more APIs that are in the Released folder which is used by the default clients, including the create_cherry_pick


Hot to use "rest" protocol in dubbo, any demo？

how to use rest protocol in dubbo？

Hi,
We recommend you send email to<EMAIL_ADDRESS>or subscribe it, which is preferred way for discussing questions like this.
We'd like github issues to be a pure place for tracking determined features, enhancements or bugs.
Thank you.

https://github.com/apache/incubator-dubbo-docs/pull/14 the dubbox's documents will be merged,hope it can help you

可以参考这个CSDN博客：https://blog.csdn.net/nmyphp/article/details/79174225

Please check this doc: http://dubbo.apache.org/#!/docs/user/references/protocol/rest.md?lang=zh-cn


Fix install of requirements.txt

Use '-r' flag instead of '-f' flag
Thanks for contributing to instascrape! Please review and fill out the checklist below before submitting your request.
All Submissions:

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes, as applicable?
[ ] Have you successfully ran tests with your changes locally?

Additional Notes
Feel free to include any additional information regarding your PR below:
Just noticed a slight mistype while going through the readme. Figured it'd be good to submit a PR for it (not for Hacktoberfest).
pip install -f requirements.txt failed for me with ERROR: You must give at least one requirement to install (maybe you meant "pip install requirements.txt"?)

Hey Alex, great catch! Thank you 👍


Symfony2 projects need to run scripts during assemble phase

I was wondering if the parameter
--no-scripts

in the assemble script can be removed? Since symfony 2 projects run scripts during composer install eg.

clearing Cache
build Bootstrap
install assets of all bundles to the public web directory
create app/config/parameters.yml

...
"scripts": {
        "post-install-cmd": [
            "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget"
        ],
        "post-update-cmd": [
            "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget"
        ]
    },
...

As an alternative solution I would suggest to make an sti-php-symfony image, which is based on either php-55-centos7 or php-56-centos7

I can't think of any particular reason we couldn't remove that... @luciddreamz can you provide any insight here?

got confirmation from @luciddreamz, we'll remove it.

Thank you for the update


Time Series for Scores

Development of scores over time, ideally per task group and overall score. Originated in #194

Separate component / dedicated view (first iteration).

Separate component / dedicated view (first iteration).

There is now a dedicated view that allows for visualization of the temporal development of different scoreboards. Open questions in need of discussion:

How often should this view be updated?
How often should scores be re-calculated?
Integration with existing views?
Look & feel

There is now a dedicated view that allows for visualization of the temporal development of different scoreboards. Open questions in need of discussion:

How often should this view be updated?
How often should scores be re-calculated?
Integration with existing views?
Look & feel


How to get width of the label ?

When I create a label like the following..
lv_obj_t *label = lv_label_create(lv_scr_act(), NULL);
lv_label_set_text(label, "Hello LittleVGL");
How can I receive the width of this label?
Thank you.

https://docs.littlevgl.com/en/html/object-types/obj.html#_CPPv416lv_obj_get_widthPK8lv_obj_t

We use GitHub issues for development related discussions.
Please use the forum to ask questions.
It's possible to sign in to the forum with your GitHub account... you don't need to make a separate account.


Update zio, zio-test, zio-test-sbt to 2.0.18

About this PR
📦 Updates

dev.zio:zio
dev.zio:zio-test
dev.zio:zio-test-sbt

from 2.0.6 to 2.0.18
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "dev.zio" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "dev.zio" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #116.


Problem with the AsHTTPBodyReader function

I'm facing a problem while using your uploader. Whenever I upload a file, the uploader adds some header and footer data that corrupts my files. As a result, I can't open my images. Could you please explain what I should do to solve this problem?
data before upload: this is te2st@
data after upload:
----------------------------809015558382901059574012
Content-Disposition: form-data; name="file"; filename="test.txt"
Content-Type: text/plain
this is te2st@
----------------------------809015558382901059574012--

Hey @mar-coding,  thanks for making the issue. Could you add a bit more context? Or a snippet of your current code? Thanks


pad uefi fat file length

I got the following error during build:
Error: failed to create UEFI disk image

Caused by:
    No space left on device
thread 'main' panicked at 'build failed', simple_boot/src/main.rs:100:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Aborted (core dumped)

This error occured because the file size of the uefi binary was too close to the created uefi fat file size (in my case the uefi binary was 4184064 bytes and the fat file was 4194304 bytes big). I solved it by adding some padding to make sure that the difference between the binary's size and fat file's size isn't too small. I don't know much about fat so I just guessed the padding. If there's a proper way to calculate the required padding we should probably add that instead.

Thank you! I'm not sure if there is a better solution either, so let's just merge this for now.

Published together with https://github.com/rust-osdev/bootloader/pull/182 as v0.10.8


skip some tests when run with (ultest-run-file)

Describe the bug
language/runner: ruby/rspec
There are two problem that I found:

(ultest-run-file) skips some tests.
UltestSummary ignores rspec context.

log
15:39:03 | INFO | MainThread | logging.py:create_logger:101 | Logger created
15:39:04 | DEBUG | MainThread | __init__.py:__init__:44 | Handler created
15:39:04 | INFO | MainThread | tracker.py:_init_test_file:97 | Initialising test file /Users/marocchino/Documents/internal_system/internal_system/spec/test_spec.rb
15:39:04 | DEBUG | Thread-1 | __init__.py:_handle_coroutine:62 | Starting job with group update_positions
15:39:04 | INFO | Thread-1 | tracker.py:_async_update:57 | Updating positions in /Users/marocchino/Documents/internal_system/internal_system/spec/test_spec.rb
15:39:04 | DEBUG | Thread-1 | file.py:parse_file_structure:25 | Converted pattern {'test': ['\\v^\\s*def (test_\\w+)', '\\v^\\s*test%(\\(| )%("|\')(.*)%("|\')', '\\v^\\s*it%(\\(| )%("|\')(.*)%("|\')'], 'namespace': ['\\v^\\s*%(class|module) (\\S+)', '\\v^\\s*describe%(\\(| )%("|\')(.*)%("|\')', '\\v^\\s*describe%(\\(| )(\\S+)']} to {'test': [re.compile('^\\s*def (test_\\w+)'), re.compile('^\\s*test(?:\\(| )(?:"|\')(.*)(?:"|\')'), re.compile('^\\s*it(?:\\(| )(?:"|\')(.*)(?:"|\')')], 'namespace': [re.compile('^\\s*(?:class|module) (\\S+)'), re.compile('^\\s*describe(?:\\(| )(?:"|\')(.*)(?:"|\')'), re.compile('^\\s*describe(?:\\(| )(\\S+)')]}
15:39:04 | DEBUG | Thread-1 | tracker.py:_async_update:84 | New test /Users/marocchino/Documents/internal_system/internal_system/spec/test_spec.rb found in /Users/marocchino/Documents/internal_system/internal_system/spec/test_spec.rb
15:39:04 | DEBUG | Thread-1 | tracker.py:_async_update:84 | New test<PHONE_NUMBER>3942723129 found in /Users/marocchino/Documents/internal_system/internal_system/spec/test_spec.rb
15:39:04 | DEBUG | Thread-1 | tracker.py:_async_update:84 | New test will_be_16824078959065154280 found in /Users/marocchino/Documents/internal_system/internal_system/spec/test_spec.rb
15:39:04 | DEBUG | Thread-1 | tracker.py:_async_update:84 | New test<PHONE_NUMBER>9065154280 found in /Users/marocchino/Documents/internal_system/internal_system/spec/test_spec.rb
15:39:04 | DEBUG | Thread-1 | tracker.py:_async_update:84 | New test<PHONE_NUMBER>3942723129 found in /Users/marocchino/Documents/internal_system/internal_system/spec/test_spec.rb
15:39:04 | DEBUG | Thread-1 | tracker.py:_async_update:84 | New test will_be_4-2092094269204336961 found in /Users/marocchino/Documents/internal_system/internal_system/spec/test_spec.rb
15:39:04 | DEBUG | Thread-1 | tracker.py:_async_update:84 | New test will_be_5-2092094269204336961 found in /Users/marocchino/Documents/internal_system/internal_system/spec/test_spec.rb
15:39:04 | DEBUG | Thread-1 | tracker.py:_remove_old_positions:129 | No tests removed
15:39:04 | DEBUG | Thread-1 | __init__.py:_handle_coroutine:82 | Finished job with group update_positions
15:39:14 | INFO | MainThread | __init__.py:run_nearest:126 | Running nearest test in spec/test_spec.rb at line 0
15:39:14 | DEBUG | MainThread | __init__.py:_register_started:288 | Registering will_be_16824078959065154280 as started
15:39:14 | DEBUG | MainThread | __init__.py:_register_started:288 | Registering<PHONE_NUMBER>9065154280 as started
15:39:14 | DEBUG | Thread-1 | __init__.py:_handle_coroutine:62 | Starting job with group will_be_16824078959065154280
15:39:14 | DEBUG | Thread-1 | processes.py:run:50 | Starting test process will_be_16824078959065154280 with command ['bundle', 'exec', 'rspec', 'spec/test_spec.rb:9'], cwd = /Users/marocchino/Documents/internal_system/internal_system, env = None
15:39:14 | DEBUG | MainThread | __init__.py:_register_started:288 | Registering will_be_4-2092094269204336961 as started
15:39:14 | DEBUG | Thread-1 | __init__.py:_handle_coroutine:62 | Starting job with group<PHONE_NUMBER>9065154280
15:39:14 | DEBUG | Thread-1 | processes.py:run:50 | Starting test process<PHONE_NUMBER>9065154280 with command ['bundle', 'exec', 'rspec', 'spec/test_spec.rb:17'], cwd = /Users/marocchino/Documents/internal_system/internal_system, env = None
15:39:14 | DEBUG | MainThread | __init__.py:_register_started:288 | Registering will_be_5-2092094269204336961 as started
15:39:14 | DEBUG | Thread-1 | __init__.py:_handle_coroutine:62 | Starting job with group will_be_4-2092094269204336961
15:39:14 | DEBUG | Thread-1 | processes.py:run:50 | Starting test process will_be_4-2092094269204336961 with command ['bundle', 'exec', 'rspec', 'spec/test_spec.rb:26'], cwd = /Users/marocchino/Documents/internal_system/internal_system, env = None
15:39:14 | WARNING | Thread-1 | __init__.py:_handle_coroutine:76 | Exception throw in job: Task <Task pending name='Task-15' coro=<PositionRunner._run_separately.<locals>.run() running at /Users/marocchino/.local/share/nvim/site/pack/packer/start/vim-ultest/rplugin/python3/ultest/handler/runner/__init__.py:153> cb=[_wait.<locals>._on_completion() at /usr/local/Cellar/python@3.9/3.9.7_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/tasks.py:513]> got Future <Future pending> attached to a different loop
15:39:14 | WARNING | Thread-1 | __init__.py:_handle_coroutine:77 | Traceback (most recent call last):

  File "/Users/marocchino/.local/share/nvim/site/pack/packer/start/vim-ultest/rplugin/python3/ultest/handler/runner/__init__.py", line 153, in run
    (code, output_path) = await self._processes.run(

  File "/Users/marocchino/.local/share/nvim/site/pack/packer/start/vim-ultest/rplugin/python3/ultest/handler/runner/processes.py", line 54, in run
    async with self._vim.semaphore:

  File<EMAIL_ADDRESS>line 14, in __aenter__
    await self.acquire()

  File<EMAIL_ADDRESS>line 413, in acquire
    await fut

RuntimeError: Task <Task pending name='Task-15' coro=<PositionRunner._run_separately.<locals>.run() running at /Users/marocchino/.local/share/nvim/site/pack/packer/start/vim-ultest/rplugin/python3/ultest/handler/runner/__init__.py:153> cb=[_wait.<locals>._on_completion() at /usr/local/Cellar/python@3.9/3.9.7_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/tasks.py:513]> got Future <Future pending> attached to a different loop

15:39:14 | DEBUG | Thread-1 | __init__.py:_handle_coroutine:82 | Finished job with group will_be_4-2092094269204336961
15:39:14 | DEBUG | Thread-1 | __init__.py:_handle_coroutine:62 | Starting job with group will_be_5-2092094269204336961
15:39:14 | DEBUG | Thread-1 | processes.py:run:50 | Starting test process will_be_5-2092094269204336961 with command ['bundle', 'exec', 'rspec', 'spec/test_spec.rb:32'], cwd = /Users/marocchino/Documents/internal_system/internal_system, env = None
15:39:14 | WARNING | Thread-1 | __init__.py:_handle_coroutine:76 | Exception throw in job: Task <Task pending name='Task-18' coro=<PositionRunner._run_separately.<locals>.run() running at /Users/marocchino/.local/share/nvim/site/pack/packer/start/vim-ultest/rplugin/python3/ultest/handler/runner/__init__.py:153> cb=[_wait.<locals>._on_completion() at /usr/local/Cellar/python@3.9/3.9.7_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/tasks.py:513]> got Future <Future pending> attached to a different loop
15:39:14 | WARNING | Thread-1 | __init__.py:_handle_coroutine:77 | Traceback (most recent call last):

  File "/Users/marocchino/.local/share/nvim/site/pack/packer/start/vim-ultest/rplugin/python3/ultest/handler/runner/__init__.py", line 153, in run
    (code, output_path) = await self._processes.run(

  File "/Users/marocchino/.local/share/nvim/site/pack/packer/start/vim-ultest/rplugin/python3/ultest/handler/runner/processes.py", line 54, in run
    async with self._vim.semaphore:

  File<EMAIL_ADDRESS>line 14, in __aenter__
    await self.acquire()

  File<EMAIL_ADDRESS>line 413, in acquire
    await fut

RuntimeError: Task <Task pending name='Task-18' coro=<PositionRunner._run_separately.<locals>.run() running at /Users/marocchino/.local/share/nvim/site/pack/packer/start/vim-ultest/rplugin/python3/ultest/handler/runner/__init__.py:153> cb=[_wait.<locals>._on_completion() at /usr/local/Cellar/python@3.9/3.9.7_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/tasks.py:513]> got Future <Future pending> attached to a different loop

15:39:14 | DEBUG | Thread-1 | __init__.py:_handle_coroutine:82 | Finished job with group will_be_5-2092094269204336961
15:39:16 | DEBUG | Thread-1 | processes.py:run:76 | Process will_be_16824078959065154280 complete with exit code: 0
15:39:16 | DEBUG | Thread-1 | __init__.py:_register_result:299 | Registering will_be_16824078959065154280 as exited with result {"id": "will_be_16824078959065154280", "file": "/Users/marocchino/Documents/internal_system/internal_system/spec/test_spec.rb", "code": 0, "output": "/var/folders/2w/hk_dhmjx0jv2p00mzx9y59vr0000gp/T/ultestem5g_l06/__Users__marocchino__Documents__internal_system__internal_system__spec__test_spec_rb/will_be_16824078959065154280_out"}
15:39:16 | DEBUG | Thread-1 | __init__.py:_handle_coroutine:82 | Finished job with group will_be_16824078959065154280
15:39:16 | DEBUG | Thread-1 | processes.py:run:76 | Process<PHONE_NUMBER>9065154280 complete with exit code: 0
15:39:16 | DEBUG | Thread-1 | __init__.py:_register_result:299 | Registering<PHONE_NUMBER>9065154280 as exited with result {"id": "26824078959065154280", "file": "/Users/marocchino/Documents/internal_system/internal_system/spec/test_spec.rb", "code": 0, "output": "/var/folders/2w/hk_dhmjx0jv2p00mzx9y59vr0000gp/T/ultestem5g_l06/__Users__marocchino__Documents__internal_system__internal_system__spec__test_spec_rb/26824078959065154280_out"}
15:39:16 | DEBUG | Thread-1 | __init__.py:_handle_coroutine:82 | Finished job with group<PHONE_NUMBER>9065154280

To Reproduce
Steps to reproduce the behavior:
# frozen_string_literal: true

require 'rails_helper'

RSpec.describe 'Test' do
  describe '1' do
    let(:number) { 1 }

    it 'will be 1' do
      expect(number).to eq(1)
    end
  end

  context 'when 2' do
    let(:number) { 2 }

    it '2' do
      expect(number).to eq(2)
    end
  end

  describe '3' do
    let(:number) { 3 }

    context 'when 4' do
      it 'will be 4' do
        expect(number).to eq(4)
      end
    end

    context 'when 5' do
      it 'will be 5' do
        expect(number).to eq(5)
      end
    end
  end
end

and run with (ultest-run-file)
Expected behavior
run against entire suite in this file.
Screenshots

but, skip for nested context.

and rspec `context` are ignored in summary.
Additional context
But I can run will be 4 and will be 5 tests with (ultest-run-nearest).

So the ignored context is actually a vim-test problem. It defines this to search for tests/namespaces:
let test#ruby#patterns = {
  \ 'test': [
    \ '\v^\s*def (test_\w+)',
    \ '\v^\s*test%(\(| )%("|'')(.*)%("|'')',
    \ '\v^\s*it%(\(| )%("|'')(.*)%("|'')',
  \],
  \ 'namespace': [
    \ '\v^\s*%(class|module) (\S+)',
    \ '\v^\s*describe%(\(| )%("|'')(.*)%("|'')',
    \ '\v^\s*describe%(\(| )(\S+)',
  \],
\}

You can fix this by setting it to this
let test#ruby#patterns = {
  \ 'test': [
    \ '\v^\s*def (test_\w+)',
    \ '\v^\s*test%(\(| )%("|'')(.*)%("|'')',
    \ '\v^\s*it%(\(| )%("|'')(.*)%("|'')',
  \],
  \ 'namespace': [
    \ '\v^\s*%(class|module) (\S+)',
    \ '\v^\s*describe%(\(| )%("|'')(.*)%("|'')',
    \ '\v^\s*describe%(\(| )(\S+)',
    \ '\v^\s*context%(\(| )%("|'')(.*)%("|'')',
    \ '\v^\s*context%(\(| )(\S+)',
  \],
\}

though I'm not familiar with Ruby so there may be further issues with those patterns.
If that does work I'd suggest creating a PR for vim-test so others can benefit :grin:
For the other problem, it doesn't ignore tests but looks like there is an issue with asyncio which is odd...
RuntimeError: Task <Task pending name='Task-18' coro=<PositionRunner._run_separately.<locals>.run() running at /Users/marocchino/.local/share/nvim/site/pack/packer/start/vim-ultest/rplugin/python3/ultest/handler/runner/__init__.py:153> cb=[_wait.<locals>._on_completion() at /usr/local/Cellar/python@3.9/3.9.7_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/tasks.py:513]> got Future <Future pending> attached to a different loop

Do you have any other Python remote plugins running?

Describe the bug language/runner: ruby/rspec There are two problem that I found:

(ultest-run-file) skips some tests.
UltestSummary ignores rspec context.

log
15:39:03 | INFO | MainThread | logging.py:create_logger:101 | Logger created
15:39:04 | DEBUG | MainThread | __init__.py:__init__:44 | Handler created
15:39:04 | INFO | MainThread | tracker.py:_init_test_file:97 | Initialising test file /Users/marocchino/Documents/internal_system/internal_system/spec/test_spec.rb
15:39:04 | DEBUG | Thread-1 | __init__.py:_handle_coroutine:62 | Starting job with group update_positions
15:39:04 | INFO | Thread-1 | tracker.py:_async_update:57 | Updating positions in /Users/marocchino/Documents/internal_system/internal_system/spec/test_spec.rb
15:39:04 | DEBUG | Thread-1 | file.py:parse_file_structure:25 | Converted pattern {'test': ['\\v^\\s*def (test_\\w+)', '\\v^\\s*test%(\\(| )%("|\')(.*)%("|\')', '\\v^\\s*it%(\\(| )%("|\')(.*)%("|\')'], 'namespace': ['\\v^\\s*%(class|module) (\\S+)', '\\v^\\s*describe%(\\(| )%("|\')(.*)%("|\')', '\\v^\\s*describe%(\\(| )(\\S+)']} to {'test': [re.compile('^\\s*def (test_\\w+)'), re.compile('^\\s*test(?:\\(| )(?:"|\')(.*)(?:"|\')'), re.compile('^\\s*it(?:\\(| )(?:"|\')(.*)(?:"|\')')], 'namespace': [re.compile('^\\s*(?:class|module) (\\S+)'), re.compile('^\\s*describe(?:\\(| )(?:"|\')(.*)(?:"|\')'), re.compile('^\\s*describe(?:\\(| )(\\S+)')]}
15:39:04 | DEBUG | Thread-1 | tracker.py:_async_update:84 | New test /Users/marocchino/Documents/internal_system/internal_system/spec/test_spec.rb found in /Users/marocchino/Documents/internal_system/internal_system/spec/test_spec.rb
15:39:04 | DEBUG | Thread-1 | tracker.py:_async_update:84 | New test<PHONE_NUMBER>3942723129 found in /Users/marocchino/Documents/internal_system/internal_system/spec/test_spec.rb
15:39:04 | DEBUG | Thread-1 | tracker.py:_async_update:84 | New test will_be_16824078959065154280 found in /Users/marocchino/Documents/internal_system/internal_system/spec/test_spec.rb
15:39:04 | DEBUG | Thread-1 | tracker.py:_async_update:84 | New test<PHONE_NUMBER>9065154280 found in /Users/marocchino/Documents/internal_system/internal_system/spec/test_spec.rb
15:39:04 | DEBUG | Thread-1 | tracker.py:_async_update:84 | New test<PHONE_NUMBER>3942723129 found in /Users/marocchino/Documents/internal_system/internal_system/spec/test_spec.rb
15:39:04 | DEBUG | Thread-1 | tracker.py:_async_update:84 | New test will_be_4-2092094269204336961 found in /Users/marocchino/Documents/internal_system/internal_system/spec/test_spec.rb
15:39:04 | DEBUG | Thread-1 | tracker.py:_async_update:84 | New test will_be_5-2092094269204336961 found in /Users/marocchino/Documents/internal_system/internal_system/spec/test_spec.rb
15:39:04 | DEBUG | Thread-1 | tracker.py:_remove_old_positions:129 | No tests removed
15:39:04 | DEBUG | Thread-1 | __init__.py:_handle_coroutine:82 | Finished job with group update_positions
15:39:14 | INFO | MainThread | __init__.py:run_nearest:126 | Running nearest test in spec/test_spec.rb at line 0
15:39:14 | DEBUG | MainThread | __init__.py:_register_started:288 | Registering will_be_16824078959065154280 as started
15:39:14 | DEBUG | MainThread | __init__.py:_register_started:288 | Registering<PHONE_NUMBER>9065154280 as started
15:39:14 | DEBUG | Thread-1 | __init__.py:_handle_coroutine:62 | Starting job with group will_be_16824078959065154280
15:39:14 | DEBUG | Thread-1 | processes.py:run:50 | Starting test process will_be_16824078959065154280 with command ['bundle', 'exec', 'rspec', 'spec/test_spec.rb:9'], cwd = /Users/marocchino/Documents/internal_system/internal_system, env = None
15:39:14 | DEBUG | MainThread | __init__.py:_register_started:288 | Registering will_be_4-2092094269204336961 as started
15:39:14 | DEBUG | Thread-1 | __init__.py:_handle_coroutine:62 | Starting job with group<PHONE_NUMBER>9065154280
15:39:14 | DEBUG | Thread-1 | processes.py:run:50 | Starting test process<PHONE_NUMBER>9065154280 with command ['bundle', 'exec', 'rspec', 'spec/test_spec.rb:17'], cwd = /Users/marocchino/Documents/internal_system/internal_system, env = None
15:39:14 | DEBUG | MainThread | __init__.py:_register_started:288 | Registering will_be_5-2092094269204336961 as started
15:39:14 | DEBUG | Thread-1 | __init__.py:_handle_coroutine:62 | Starting job with group will_be_4-2092094269204336961
15:39:14 | DEBUG | Thread-1 | processes.py:run:50 | Starting test process will_be_4-2092094269204336961 with command ['bundle', 'exec', 'rspec', 'spec/test_spec.rb:26'], cwd = /Users/marocchino/Documents/internal_system/internal_system, env = None
15:39:14 | WARNING | Thread-1 | __init__.py:_handle_coroutine:76 | Exception throw in job: Task <Task pending name='Task-15' coro=<PositionRunner._run_separately.<locals>.run() running at /Users/marocchino/.local/share/nvim/site/pack/packer/start/vim-ultest/rplugin/python3/ultest/handler/runner/__init__.py:153> cb=[_wait.<locals>._on_completion() at /usr/local/Cellar/python@3.9/3.9.7_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/tasks.py:513]> got Future <Future pending> attached to a different loop
15:39:14 | WARNING | Thread-1 | __init__.py:_handle_coroutine:77 | Traceback (most recent call last):

  File "/Users/marocchino/.local/share/nvim/site/pack/packer/start/vim-ultest/rplugin/python3/ultest/handler/runner/__init__.py", line 153, in run
    (code, output_path) = await self._processes.run(

  File "/Users/marocchino/.local/share/nvim/site/pack/packer/start/vim-ultest/rplugin/python3/ultest/handler/runner/processes.py", line 54, in run
    async with self._vim.semaphore:

  File<EMAIL_ADDRESS>line 14, in __aenter__
    await self.acquire()

  File<EMAIL_ADDRESS>line 413, in acquire
    await fut

RuntimeError: Task <Task pending name='Task-15' coro=<PositionRunner._run_separately.<locals>.run() running at /Users/marocchino/.local/share/nvim/site/pack/packer/start/vim-ultest/rplugin/python3/ultest/handler/runner/__init__.py:153> cb=[_wait.<locals>._on_completion() at /usr/local/Cellar/python@3.9/3.9.7_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/tasks.py:513]> got Future <Future pending> attached to a different loop

15:39:14 | DEBUG | Thread-1 | __init__.py:_handle_coroutine:82 | Finished job with group will_be_4-2092094269204336961
15:39:14 | DEBUG | Thread-1 | __init__.py:_handle_coroutine:62 | Starting job with group will_be_5-2092094269204336961
15:39:14 | DEBUG | Thread-1 | processes.py:run:50 | Starting test process will_be_5-2092094269204336961 with command ['bundle', 'exec', 'rspec', 'spec/test_spec.rb:32'], cwd = /Users/marocchino/Documents/internal_system/internal_system, env = None
15:39:14 | WARNING | Thread-1 | __init__.py:_handle_coroutine:76 | Exception throw in job: Task <Task pending name='Task-18' coro=<PositionRunner._run_separately.<locals>.run() running at /Users/marocchino/.local/share/nvim/site/pack/packer/start/vim-ultest/rplugin/python3/ultest/handler/runner/__init__.py:153> cb=[_wait.<locals>._on_completion() at /usr/local/Cellar/python@3.9/3.9.7_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/tasks.py:513]> got Future <Future pending> attached to a different loop
15:39:14 | WARNING | Thread-1 | __init__.py:_handle_coroutine:77 | Traceback (most recent call last):

  File "/Users/marocchino/.local/share/nvim/site/pack/packer/start/vim-ultest/rplugin/python3/ultest/handler/runner/__init__.py", line 153, in run
    (code, output_path) = await self._processes.run(

  File "/Users/marocchino/.local/share/nvim/site/pack/packer/start/vim-ultest/rplugin/python3/ultest/handler/runner/processes.py", line 54, in run
    async with self._vim.semaphore:

  File<EMAIL_ADDRESS>line 14, in __aenter__
    await self.acquire()

  File<EMAIL_ADDRESS>line 413, in acquire
    await fut

RuntimeError: Task <Task pending name='Task-18' coro=<PositionRunner._run_separately.<locals>.run() running at /Users/marocchino/.local/share/nvim/site/pack/packer/start/vim-ultest/rplugin/python3/ultest/handler/runner/__init__.py:153> cb=[_wait.<locals>._on_completion() at /usr/local/Cellar/python@3.9/3.9.7_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/tasks.py:513]> got Future <Future pending> attached to a different loop

15:39:14 | DEBUG | Thread-1 | __init__.py:_handle_coroutine:82 | Finished job with group will_be_5-2092094269204336961
15:39:16 | DEBUG | Thread-1 | processes.py:run:76 | Process will_be_16824078959065154280 complete with exit code: 0
15:39:16 | DEBUG | Thread-1 | __init__.py:_register_result:299 | Registering will_be_16824078959065154280 as exited with result {"id": "will_be_16824078959065154280", "file": "/Users/marocchino/Documents/internal_system/internal_system/spec/test_spec.rb", "code": 0, "output": "/var/folders/2w/hk_dhmjx0jv2p00mzx9y59vr0000gp/T/ultestem5g_l06/__Users__marocchino__Documents__internal_system__internal_system__spec__test_spec_rb/will_be_16824078959065154280_out"}
15:39:16 | DEBUG | Thread-1 | __init__.py:_handle_coroutine:82 | Finished job with group will_be_16824078959065154280
15:39:16 | DEBUG | Thread-1 | processes.py:run:76 | Process<PHONE_NUMBER>9065154280 complete with exit code: 0
15:39:16 | DEBUG | Thread-1 | __init__.py:_register_result:299 | Registering<PHONE_NUMBER>9065154280 as exited with result {"id": "26824078959065154280", "file": "/Users/marocchino/Documents/internal_system/internal_system/spec/test_spec.rb", "code": 0, "output": "/var/folders/2w/hk_dhmjx0jv2p00mzx9y59vr0000gp/T/ultestem5g_l06/__Users__marocchino__Documents__internal_system__internal_system__spec__test_spec_rb/26824078959065154280_out"}
15:39:16 | DEBUG | Thread-1 | __init__.py:_handle_coroutine:82 | Finished job with group<PHONE_NUMBER>9065154280

To Reproduce Steps to reproduce the behavior:
# frozen_string_literal: true

require 'rails_helper'

RSpec.describe 'Test' do
  describe '1' do
    let(:number) { 1 }

    it 'will be 1' do
      expect(number).to eq(1)
    end
  end

  context 'when 2' do
    let(:number) { 2 }

    it '2' do
      expect(number).to eq(2)
    end
  end

  describe '3' do
    let(:number) { 3 }

    context 'when 4' do
      it 'will be 4' do
        expect(number).to eq(4)
      end
    end

    context 'when 5' do
      it 'will be 5' do
        expect(number).to eq(5)
      end
    end
  end
end

and run with (ultest-run-file)
Expected behavior run against entire suite in this file.
Screenshots

but, skip for nested context.

and rspec context are ignored in summary.
Additional context But I can run will be 4 and will be 5 tests with (ultest-run-nearest).

I have the exact same issue using flutter. Ultest command only runs the first two test groups and ignores the rest.

I have absolutely nothing to add here because it is all over my head but do you mind sharing the font you are using?

@marocchino @mgokbulut Could you try with the latest commit to see if tests are still not completing?

@marocchino @mgokbulut Could you try with the latest commit to see if tests are still not completing?

Just checked, the problem seems to be fixed for flutter. Don't know about ruby tho 👀 @marocchino

Great :smile: The problem actually has nothing to do with the language but I will wait for @marocchino to close to confirm

@rcarriga Great! The problem seems to be fixed for ruby. Thank you! 👍🏽
@Rofer11607 it's name is 'monofur'.


Support PIXI v4

Changes text localHeight calculation to newer method in PIXI v4 Text class.
Changes mouse local coordinates to be in line with PIXI v4 setup.

Thanks @sexybiggetje!
Just a quick question, did you test this? I'm asking because at the moment I don't really have time to test it. If you say that you have tested it, I'll take your word for it, but I don't want to merge untested code...

Using it on a client project :)

Cool! Thanks again!
If you know of some features that are lacking, feel free to send PR:s for such things too! I mean it doesn't have to be only bug fixes. Would be happy to merge them too if they make sense! :)


docs: Resolve Dagger version dynamically

This will fetch the version from https://dl.dagger.io/dagger/latest_version and template it in all doc pages on deploy.
Resolves https://github.com/dagger/dagger/issues/1854
Resolves https://github.com/dagger/dagger/issues/2205
Resolves https://github.com/dagger/dagger/issues/2351

I still don't understand the reasoning behind putting the dagger binary version inside the docs -- what problem are we solving?

This and putting no version at all has the same effect
~Half our users are on macOS and installing through brew without using DAGGER_VERSION
Docs do depend on the version of dagger, that is very true

For instance, the new output feature doc page can ONLY be followed by users with the next release which is not out yet: #2265
The output feature will also affect other unrelated docs pages (e.g. if we display snippets of dagger and relying on outputs)
That's a problem and I agree with that. But the solution might be to add disclaimer banners (e.g. "requires dagger 0.2.9 or higher") or something. I don't think hardcoding the version helps with any of that

This and putting no version at all has the same effect

@aluzzardi do you mean that :
curl -L https://dl.dagger.io/dagger/install.sh | sh would do the same thing as curl -L https://dl.dagger.io/dagger/install.sh | DAGGER_VERSION=0.2.9 sh? No need to set DAGGER_VERSION to get the latest version ?
If yes, I agree that we definitely do not need to have this dynamic version mecanism.

I still don't understand the reasoning behind putting the dagger binary version inside the docs -- what problem are we solving?

We are hard-coding the version of the latest dagger CLI release in various places, as initially captured in #1854 (we have added a few more since then). We are doing this so that we have deterministic starting points for code examples, or linking to specific parts of our codebase.

This and putting no version at all has the same effect

No version means main, while a specific version means this specific tag

~Half our users are on macOS and installing through brew without using DAGGER_VERSION

Using curl and a specific version means that bin/dagger will be that specific version. This can coexist with brew, and is a great solution to brew's inability to install a specific version.

For instance, the new output feature doc page can ONLY be followed by users with the next release which is not out yet: feat: Print action outputs to console #2265

You are right, there are situations when we are publishing docs for an unreleased version of Dagger. In that case, we don't use the latest released version which gets dynamically resolved, but a specific version, e.g. >= 0.2.9.

The output feature will also affect other unrelated docs pages (e.g. if we display snippets of dagger and relying on outputs)

Yes, that is definitely one of the follow-ups. In that case, I am wondering whether we want to keep an outdated version of dagger in the docs (since the output is linked to it), or we expect readers to notice the discrepancy and submit improvements to the examples, instead of the dagger versions (which is what has been happening in the last month).

No version means main, while a specific version means this specific tag.

I believe this only affects 1200-local-dev.md, when doing git checkout <VERSION>, which could be replaced by a git checkout $(dagger version --short).
No other documentation page would reference main if we were to loose DAGGER_VERSION.
1200-local-dev.md is even a special case since it mixes installing dagger and running an example at once, while it's not true for all the other documentation pages.
Were we following the same structure (local-dev is an example only), dynamically updating git checkout v0.2.X wouldn't help since it's entirely dependent on which version of dagger the user is using.

Using curl and a specific version means that bin/dagger will be resolved to that specific version. This can coexist with brew, and is a great solution to brew's inability to install a specific version. It's also great being able to do this: https://github.com/thechangelog/changelog.com/blob/4291f328c53d89b63feb1c3affab580770927933/2022.fly/Makefile#L58-L64

Just on a single docs page. There's no relationship between DAGGER_VERSION and 1204-secrets.md
Again, I don't understand the problem that's being solved. It would be helpful to see an example of a broken scenario that's fixed by DAGGER_VERSION.

Making sure the user installs the latest version?

Removing DAGGER_VERSION does just that. With or without: same outcome

Making sure the dagger binary is compatible with the docs page the user is viewing?

Still broken on all pages except 1200-local-dev.md
Would also be broken for 1200-local-dev.md if we were to have a separate 1234-install.md
Dynamically checking out based on the user's dagger version would fit that

Core Reference API?

The documentation is for a SPECIFIC version of Core
Pointing to any other tag than the one documented will be a mismatch
Whether it's main or the latest tag, it's the same sort of mismatch

These are the problems that we have currently:

How do we link to latest released universe.dagger.io packages? https://github.com/dagger/dagger/pull/2404/files#diff-98af41b3bbc1c3486b8fea4c0e568d838bc562039bd94d56bc0515fec514a395 & https://github.com/dagger/dagger/pull/2404/files#diff-89d31acc694a4c8662162819393063442be9ae69922b13b0034968699e489640
How do we link to latest released dagger.io packages? https://github.com/dagger/dagger/pull/2404/files#diff-de1c0d68098ddfd5bd57ecdbb600e06fb554a41c10c6cd06f325e3336a947290
How do we install a specific dagger version? https://github.com/dagger/dagger/pull/2404/files#diff-8714bdb51cdd72074c3d20cacbd68b00500b3eeab44447f6418236496edf6bb0R49 & https://github.com/dagger/dagger/pull/2404/files#diff-e309255ddd52101788f3de79596d0b93496c72d4b04059e44154f9e12b63e4d0L70
How do we link to latest released Dagger CI workflow? https://github.com/dagger/dagger/pull/2404/files#diff-2e7838dd9e6f075d3028b6ed3dc1de37c8a95fa15c87086fcefa6c46b5102f4b

Talking to @aluzzardi this is what we settled on:

Legit.
Lock to the version they were written for. When we update the core packages, we should update this version in the docs to reflect this. This may require a checklist.
Don't couple installing a specific version with installing the latest version. Replace specific dagger version in the CLI output with a placeholder, same as GIT_SHA
Legit.

Where we use git checkout, use $(dagger version --short) instead of a specific version. This will require implementing the --short flag.
In conclusion, continue as proposed with this.

I am picking this one up again. Will ask for your review @slumbering as soon as everything is green. Would be great to get it merged today.

This one has been going on for too long 🎡
We are planning to get it merged with @slumbering on July 25th. I'm going to solve the conflicts now and transition it from draft to open so that it's easier to push through come Monday.


Im getting 500 (Internal Server Error)

Im not sure why iam getting this error do i need to pay or the free trial can be used?

Same. But I tried to see what code I recived and this is 429 - Rate limit reached for requests.
Don't know how to use this without a paid plan.

same here

This is related to openai API.


Repo.parallel can accept objects

This commit updates repo.parallel such that it can accept plain JavaScript objects. In this case, the return payload is an object who's keys match the shape provided.
This also allows generator actions to yield objects
function getPost (id) {
  return fetch(`/posts/${id}`)
}

function getComments (id) {
  return fetch(`/posts/${id}/comments`)
}

function getPostWithComments (id) {
  return function * (repo) {
    let { post, comments } = yield { post: repo.push(getPost, id), comments: repo.push(getComments, id) }

    post.comments = comments

    return post
  }
}

repo.push(getBlogPost, 1)

Codecov Report

Merging #452 into repo-parallel-upstream will increase coverage by 0.49%.
The diff coverage is 70%.

@@                    Coverage Diff                     @@
##           repo-parallel-upstream     #452      +/-   ##
==========================================================
+ Coverage                   95.61%   96.11%   +0.49%
==========================================================
  Files                          33       32       -1
  Lines                        1118     1080      -38
  Branches                      204      201       -3
==========================================================
- Hits                         1069     1038      -31
+ Misses                         45       38       -7
  Partials                        4        4

Impacted Files
Coverage Δ

packages/microcosm/src/utils.js
94.52% <0%> (-4.1%)
:arrow_down:

packages/microcosm/src/coroutine.js
48% <0%> (+5.14%)
:arrow_up:

packages/microcosm/src/action.js
98.31% <100%> (+0.88%)
:arrow_up:

packages/microcosm/src/addons/action-queue.js
80% <0%> (-20%)
:arrow_down:

packages/microcosm/src/effect-engine.js
88.88% <0%> (-11.12%)
:arrow_down:

packages/microcosm/src/microcosm.js
98.11% <0%> (-0.95%)
:arrow_down:

packages/microcosm/src/key-path.js
78.57% <0%> (ø)
:arrow_up:

packages/microcosm/src/addons/indexing.js

... and 5 more

Continue to review full report at Codecov.

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


[dist] generate release-bin tar file

Purpose

Linked issue: close #246
This pr is aims to solve this feature.

Tests

API and Format

Documentation

@wuchong @luoyuxia  PTAL，thinks


COMP_expand_block: spelling (algorithm)

Checklist

[x] documentation is added or updated
[ ] tests are added or updated

We'll either need a CLA filled in or the line 'CLA: trivial' added to the commit message to indicate that this is a trivial change (which I think it is).

From the command line: git commit --amend to reedit the commit message.  Add CLA: trivial on a line by itself down the bottom (best to surround this with blank lines).  Then git push -f to send the amended version back here.

24 hours has passed since 'approval: done' was set, but this PR has failing CI tests.  Once the tests pass it will get moved to 'approval: ready to merge' automatically, alternatively please review and set the label manually.

Please do not add merge commits. Instead use git rebase to rebase the commits.

missing CLA: trivial


[logging] Prevent deduplicated log lines

Overview
Logs if retransmitted will have different _ids and could be duplicated.  Providing a _id for each document that is unique, will ensure that log messages are not overwritten or repeated.
Solution
In order to prevent duplication, we either need to add a unique id before transmission retries.  We have a couple options:

Make a UUID put that in the original JSON log
Use Logstash fingerprinting to hash the contents to generate ID https://www.elastic.co/guide/en/logstash/current/plugins-filters-fingerprint.html

Related Issues
Parent Issue: https://github.com/libra/libra/issues/5441

ID change https://github.com/libra/libra/pull/5619
There will need to be a change to logstash afterwards

@sherry-x Does this have to be redone for vector?  Duplicated logs shouldn't happen very often, but it can cause confusion, which is why I prioritized this.

Yes, if we need this we will have to redo this on vector here https://github.com/libra/partners/blob/master/validator/helm/files/vector.toml

since this is owned by the association, I'm just going to close this issue.  it's low likelyhood and low impact


Cross-Platform Emulator Activity Testing

The old emulator had a feature that allowed sending an activity to the chatbot for any of the activity types. Will that eventually be added to the new emulator?

Yes, it is a priority to add something equivalent to the new emulator.

Thank you.


add chap4-multilayer-perceptrons of Paddle

Hello, we added the code based on paddlepaddle for the chapter 4 ：multilayer-perceptrons.

what is the current Cuda version on the server?

@cheungdaven seems like paddle is not able to find CUDA device. Similar issue in #1103

We've both CUDA 11.2 and CUDA 10.2.

hello，do you need a paddlepaddle engineer to solve the problem together?

We've both CUDA 11.2 and CUDA 10.2.

hello，do you need a paddlepaddle engineer to solve the problem together?

Hi @tngt , I am looking into this issue. Can we discuss this in the slack channel?

ooking into

ok i'm online

We've both CUDA 11.2 and CUDA 10.2.

hello，do you need a paddlepaddle engineer to solve the problem together?

Hi @tngt , I am looking into this issue. Can we discuss this in the slack channel?

ok i'm online

@d2l-bot please rebuild!

Hi @tngt,
@cheungdaven and I looked into the issue. The problem here is that d2lbook intelligently only wants to assign GPUs to the notebooks which really demand GPUs. So it has various patterns it looks for to see if the notebook needs GPU. For example a notebook like https://github.com/d2l-ai/d2l-zh/blob/master/chapter_preliminaries/calculus.md doesn't really require a GPU. But paddlepaddle when installed for CUDA will always try to run everything on GPUs. In this case when such a notebook is encountered for paddle and d2lbook doesn't make the CUDA DEVICES VISIBLE, then we end up with these CUDA errors.
There are a few possible solutions:

We change d2lbook to allow paddle to find GPUs for all the notebooks. This will solve the problem but may not be best in terms of resource usage in CI and parallelization of resources when building in CI.
We add paddle.device.set_device('cpu') after import paddle line, in all the notebooks where CPU is not required. This one is a better solution.

Ideal way should be (like it is with all other frameworks), that, if GPUs are not found, paddle should automatically run everything on CPU. Is that possible? For now @cheungdaven installed paddlepaddle-gpu==2.2.2.post112 and with that it is not possible automatically.
cc @astonzhang

Hi @tngt,
@cheungdaven and I looked into the issue. The problem here is that d2lbook intelligently only wants to assign GPUs to the notebooks which really demand GPUs. So it has various patterns it looks for to see if the notebook needs GPU. For example a notebook like https://github.com/d2l-ai/d2l-zh/blob/master/chapter_preliminaries/calculus.md doesn't really require a GPU. But paddlepaddle when installed for CUDA will always try to run everything on GPUs. In this case when such a notebook is encountered for paddle and d2lbook doesn't make the CUDA DEVICES VISIBLE, then we end up with these CUDA errors.
There are a few possible solutions:

We change d2lbook to allow paddle to find GPUs for all the notebooks. This will solve the problem but may not be best in terms of resource usage in CI and parallelization of resources when building in CI.
We add paddle.device.set_device('cpu') after import paddle line, in all the notebooks where GPU is not required. This one is a better solution.

Ideal way should be (like it is with all other frameworks), that, if GPUs are not found, paddle should automatically run everything on CPU. Is that possible? For now @cheungdaven installed paddlepaddle-gpu==2.2.2.post112 and with that it is not possible automatically.
cc @astonzhang

I tested the second solution this afternoon, it does not work anymore. I still got the same coda issue altering specifying the device to cpu. So I think the first solution is the only feasible one so far. You can double check. @AnirudhDagar

@tngt just give me a moment, I'm consolidating everything (will probably make changes to the d2lbook package) and will comment on the PRs with the steps ahead. Just wanted to let you know so that you can utilise your time in a better way. Thanks for being patient :))

@tngt just give me a moment, I'm consolidating everything (will probably make changes to the d2lbook package) and will comment on the PRs with the steps ahead. Just wanted to let you know so that you can utilise your time in a better way. Thanks for being patient :))

Thanks，I would like to know how long it will take and what does the paddle team need to do? Now I see that the chapter2 has been merged, are we going to continue PR other chapter?

Hi @tngt, sorry if I didn't make it clear after my review. Yes, now that we have fixed the CUDA issue within d2lbook, please continue with other chapters. They should be fine. I'll also do a cursory review of the other open PRs.
This is the expected workflow for raising the PR:

Add paddle support for a chapter by modifying the source markdown files and testing them locally.
Run d2lbook build lib (You may need to install it by pip install git+https://github.com/d2l-ai/d2l-book) to save all the functions marked with #@save in d2l/paddle.py. Before sending the PR, please also commit these lib changes in paddle.py file.

Feel free to follow the steps in https://github.com/d2l-ai/d2l-en/blob/master/CONTRIBUTING.md for a detailed d2l development workflow.

d2l lib changes are not reflected in this PR. Please run d2lbook build lib and commit the changes. You'll need to rebase this PR against the paddle branch before that. Thanks @zbp-xxxp :))
We'll have to wait for #1119 before merging this anyway. I guess you can wait until #1119 is merged and then make the requested changes.

Copy that. Thank you too ~

Thanks. Closing this PR per https://github.com/d2l-ai/d2l-zh/pull/1186#issuecomment-1211490440


Detox Instruments Integration (Phase 1)

This PR aims to add initial integration between Detox and Detox Instruments.
Detox will load or use the already loaded Profiler framework and call its APIs to record performance metrics for each test. Each recording will be collected by the artifacts manager.
Discussion/Tasks

[ ] Determine optimal way of collecting performance metrics (one recording for entire suite vs one recording per describe vs one recording per test)
[ ] Artifacts manager should collect the recordings
[ ] Finalize the actual performance collection config
[ ] Change Detox server to notify testee in case tester is disconnected (to support ⌃+C)

@noomorph Could you please take the "Artifacts manager should collect the recordings" and "Change Detox server to notify testee in case tester is disconnected" tasks? Thanks

For now, every test has its own recording file. I first sanitize the fullName string for file name: :/\?%*|"<> characters turn into _. To that the .dtxrec extension is added, and these files are saved under the app's Documents folder.


Confirm transaction dialog not fully displayed, causes e2e test failure

On Pixel 5 it works perfectly, and it looks like below on Nexus S and Pixel XL.

I am trying to fix this.

Nice catch - It might be related to the code that raises the screen above the Navigation Bottom Bar. I don't see this issue because I use gesture navigation on all my hardware test phones, so I should switch that off on some phones.


Accessibility Review

Website URL
http://linkfree.eddiehub.io
GitHub Repo URL
http://github.com/EddieHubCommunity/LinkFree

Thanks Eddie for requesting a review. The video will go live next Saturday. The site is already pretty accessible but here's the things I found which I will add as issues to the repo:

The menubar and dropdown components are not fully accessible but they're prime react components. Prime react have a statement saying they're working on it so we should keep an eye on when they say the issue is fixed in case we need to use a n updated component.
The menubar should be moved into a header component on all pages
Links on the homepage 'Eddie Jaoude' and 'instructions' need distinguishing from normal text. At the moment people who don't perceive color can't tell they are links
There are several 'learn more' links on the profile page. These should be given some extra info so that screen reader users know what they will learn more about if they click on them.
Search icon should ideally have a label


Mage_Core_Exception:

Having an issue getting this work?
Have you come across this?
Mage_Core_Exception:File /path_to_site/media/tmp/catalog/product/6/1/61ufdofhdql.sl1000__1.jpg does not exist

@CharlesSellers when exactly this happens?

When you try to upload a product image


Update CHANGES.rst

3.4.1's year was 2019 and I changed it to 2020

Thanks @hrbrmstr! This is already fixed in master, but makes sense to fix it in a branch as well.


405 Method Not Allowed

I'm keep getting this error do you guys know why?
Visualization Unsuccessful, error: {"message":"Request failed with status code 405","name":"AxiosError","stack":"AxiosError: Request failed with status code 405\n at qte (https://[CENSORED URL]/dashboard/assets/index-22a6d29c.js:295:959)\n at XMLHttpRequest.d (https://[CENSORED URL]/dashboard/assets/index-22a6d29c.js:295:4075)","config":{"transitional":{"silentJSONParsing":true,"forcedJSONParsing":true,"clarifyTimeoutError":false},"adapter":["xhr","http"],"transformRequest":[null],"transformResponse":[null],"timeout":0,"xsrfCookieName":"XSRF-TOKEN","xsrfHeaderName":"X-XSRF-TOKEN","maxContentLength":-1,"maxBodyLength":-1,"env":{},"headers":{"Accept":"application/json, text/plain, /","api-key":"[CENSORED API KEY]","Content-Type":"application/json"},"baseURL":"https://[CENSORED URL]/dashboard/","method":"post","url":"collections/me_BOT/points/scroll","data":"{"limit":500,"color_by":"source","with_vector":true}"},"code":"ERR_BAD_REQUEST","status":405}

Is there any update?

What request are you trying to execute through the web UI?
Are you sure the HTTP method you're using is correct?

Actually, I would like to run the visualization from this url with sshpass on UI:
http://localhost:6333/dashboard/
I am getting the same error with @samedovzaur:
Visualization Unsuccessful, error: {"message":"Request failed with status code 405","name":"AxiosError","stack":"AxiosError: Request failed with status code 405\n at qte (http://localhost:6333/dashboard/assets/index-22a6d29c.js:295:959)\n at XMLHttpRequest.d (http://localhost:6333/dashboard/assets/index-22a6d29c.js:295:4075)","config":{"transitional":{"silentJSONParsing":true,"forcedJSONParsing":true,"clarifyTimeoutError":false},"adapter":["xhr","http"],"transformRequest":[null],"transformResponse":[null],"timeout":0,"xsrfCookieName":"XSRF-TOKEN","xsrfHeaderName":"X-XSRF-TOKEN","maxContentLength":-1,"maxBodyLength":-1,"env":{},"headers":{"Accept":"application/json, text/plain, /","Content-Type":"application/json"},"baseURL":"http://localhost:6333/dashboard/","method":"post","url":"collections/online_retail/points/scroll","data":"{"limit":500,"with_vector":true}"},"code":"ERR_BAD_REQUEST","status":405}

We also have this problem. We are running a dockerized qdrant and access it via nginx with TLS. We tried to debug the proxying and everything, but couldn't get it to work.
Accessing the web UI in general works. But clicking on "RUN"  in visualize causes the same error as above.
A curl POST call directly on the host also causes a 405, so it looks like it's not an nginx or TLS problem.
curl -v --data '' http://localhost:6333/dashboard/collections/<mycollection>/points/scroll

*   Trying <IP_ADDRESS>:6333...
* Connected to localhost (<IP_ADDRESS>) port 6333 (#0)
> POST /dashboard/collections/<mycoellection>/points/scroll HTTP/1.1
> Host: localhost:6333
> User-Agent: curl/7.81.0
> Accept: */*
> Content-Length: 0
> Content-Type: application/x-www-form-urlencoded
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 405 Method Not Allowed
< content-length: 50
< vary: Origin, Access-Control-Request-Method, Access-Control-Request-Headers
< content-type: text/plain; charset=utf-8
< date: Fri, 09 Feb 2024 15:36:27 GMT
<
* Connection #0 to host localhost left intact
Request did not meet this resource's requirements.

Any info we can provide to help narrow this down?

Got this issue as well, any known workarounds or fixes?


Question: raw-loader in vite

We use raw-loader in webpack:
import ts_codes from '!!raw-loader!./main.ts';

Does vite have equivalent usage? Is it necessary to write a plugin?

The syanx is not supported for now.
The current implement of transform resource is rely on internal logic (eg.scss, ts) and also support external transform plugin.
It is maybe helpful for some case. emmm.It is an way of query resource in webpack, but i think it is not good idea for resoure query spec(uri + query + hash).It will increase cost with user learn it and we need support this syanx.

A simple transform will do:
const rawTransform = {
  test: (path, query) => !!query.raw,
  transform: src => `export default ${JSON.stringify(src)}`
}

Sorry about unitention reopen this....


Added table.from_union and respective tests

Pull Request Description
Table.from_union creates a new table when passed in a vector of tables. This is especially helpful when a grouped method is run multiple times, as it can create a unified result set.
Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[X] The documentation has been updated, if necessary.
[X] All code follows the
Scala,
Java,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
All code has been tested:

[X] Unit tests have been written where possible.

You need to run prettier on the CHANGELOG.md file: https://github.com/enso-org/enso/actions/runs/8282083005/job/22662099505?pr=9343#step:8:515


Adding Vigour, Vivacity, and Vitality

The Pull Request resolves Issue #306
Description:
A brief description about the addition or edits made.
Notes: Delete all the text including this!

The #306 should be replaced with the specific Issue being referenced.

Hey @nomitpahuja
This issue is already resolved by a previous PR. I am closing your PR.
Please contribute to some other open issue.
Thanks for contributing!


python3 example parses 'True' incorrectly

In trying to build my own parser I could not understand an issue I was having. I am using CNAME, as well as the literal "false". Obviously I want false to matched before CNAME. It seems like no matter where I put CNAME I cannot get the grammar to work.
The python3 example does the same thing, False/True and CNAME -> NAME. But it does not help because it is wrong.
https://github.com/lark-parser/lark/blob/c637f3b35e55e867daad7ee447e8568cf6739ed9/examples/python3.lark#L122
https://github.com/lark-parser/lark/blob/c637f3b35e55e867daad7ee447e8568cf6739ed9/examples/python3.lark#L127
from lark import Lark, Transformer, v_args
with open('python3.lark') as f:
    l = Lark(f.read(), start='eval_input')

print(l.parse('True'))
>>> Tree(eval_input, [Tree(testlist, [Tree(var, [Token(NAME, 'True')])])])

The result should surely be
>>> Tree(eval_input, [Tree(testlist, [Tree(const_true, [])])])

This is due to a bug in the Earley parser. It should prioritize strings over regexps.
But, the python3 grammar in the examples was written for LALR(1). The following works fine:
from lark import Lark, Transformer, v_args
with open('examples/python3.lark') as f:
    l = Lark(f.read(), start='eval_input', parser='lalr')

print(l.parse('True'))

There is a new and better implementation of the Earley parser, that needs a bit more work. Hopefully it will solve many of these issues.


Does OmegaConf keep information about the ordered map of the raw configuration?

Pseudocode:
from omegaconf import OmegaConf

conf = OmegaConf.load("xxxx.yml")
conf.lc

>>> line: 10, col: 5

For example, this is supported with yaml https://yaml.readthedocs.io/en/latest/detail/. Obviously it won't work for the Python API. I wonder how could this be supported or could I extend OmegaConf myself. Does OmegaConf preserve the tree during resolution? It would be super useful for me as I am trying to build some sort of LSP IDE feature on top of it so navigation/go to definition would be easier.
I know for DictConfig there is a _parent attribute, is there a way that I can extend the config resolution method so that these metadata can be kept.

I think you could extend the DictConfig and ListConfig constructors so that when you create the config in https://github.com/omry/omegaconf/blob/ed9601045f2342f87604a5c5b6029aa4fff4c0da/omegaconf/omegaconf.py#L832 you can pass this information when available, which could then be stored in the metadata (you'd also have to add this to the ContainerMetadata class).


Recent update (1/30/2024) broke Memoria, can no longer extract files

The most recent update that dropped today (1/30/2024) for Final Fantasy I-VI Pixel Remaster broken Memoria and files can no longer be extracted.

Here is a snippet of the LogOutput.log that I'm getting that might help solve this:
[Info   :Memoria FF PR] [Harmony] SystemConfig_BattleType successfully applied. [Warning:  HarmonyX] AccessTools.DeclaredMethod: Could not find method for type Last.Management.UserDataManager and name FromJson and parameters  [Error  :Memoria FF PR] Failed to initialize the mod: System.Exception: Failed to patch methods. ---> HarmonyLib.HarmonyException: Patching exception in method null ---> System.ArgumentException: Undefined target method for patch method static void Memoria.FFPR.IL2CPP.HarmonyHooks.UserDataManager_FromJson::Postfix(string json)   at HarmonyLib.PatchClassProcessor.PatchWithAttributes (System.Reflection.MethodBase& lastOriginal) [0x00047] in <e91f9877f5984f8e82e24dfb4afeb4ec>:0    at HarmonyLib.PatchClassProcessor.Patch () [0x00068] in <e91f9877f5984f8e82e24dfb4afeb4ec>:0     --- End of inner exception stack trace ---   at HarmonyLib.PatchClassProcessor.ReportException (System.Exception exception, System.Reflection.MethodBase original) [0x0006c] in <e91f9877f5984f8e82e24dfb4afeb4ec>:0    at HarmonyLib.PatchClassProcessor.Patch () [0x00093] in <e91f9877f5984f8e82e24dfb4afeb4ec>:0    at Memoria.FFPR.EntryPoint.PatchMethods () [0x00040] in <0c162c4635614a789ada51182df596c0>:0     --- End of inner exception stack trace ---   at Memoria.FFPR.EntryPoint.PatchMethods () [0x000c7] in <0c162c4635614a789ada51182df596c0>:0    at Memoria.FFPR.EntryPoint.Load () [0x00040] in <0c162c4635614a789ada51182df596c0>:0  [Error  :   BepInEx] Error loading [Memoria FF PR 1.0.0]: System.Exception: Failed to patch methods. ---> HarmonyLib.HarmonyException: Patching exception in method null ---> System.ArgumentException: Undefined target method for patch method static void Memoria.FFPR.IL2CPP.HarmonyHooks.UserDataManager_FromJson::Postfix(string json)   at HarmonyLib.PatchClassProcessor.PatchWithAttributes (System.Reflection.MethodBase& lastOriginal) [0x00047] in <e91f9877f5984f8e82e24dfb4afeb4ec>:0    at HarmonyLib.PatchClassProcessor.Patch () [0x00068] in <e91f9877f5984f8e82e24dfb4afeb4ec>:0     --- End of inner exception stack trace ---   at HarmonyLib.PatchClassProcessor.ReportException (System.Exception exception, System.Reflection.MethodBase original) [0x0006c] in <e91f9877f5984f8e82e24dfb4afeb4ec>:0    at HarmonyLib.PatchClassProcessor.Patch () [0x00093] in <e91f9877f5984f8e82e24dfb4afeb4ec>:0    at Memoria.FFPR.EntryPoint.PatchMethods () [0x00040] in <0c162c4635614a789ada51182df596c0>:0     --- End of inner exception stack trace ---   at Memoria.FFPR.EntryPoint.PatchMethods () [0x000c7] in <0c162c4635614a789ada51182df596c0>:0    at Memoria.FFPR.EntryPoint.Load () [0x00093] in <0c162c4635614a789ada51182df596c0>:0    at BepInEx.IL2CPP.IL2CPPChainloader.LoadPlugin (BepInEx.PluginInfo pluginInfo, System.Reflection.Assembly pluginAssembly) [0x00011] in <c0121e200c83491fbf9ba7d59e7f512a>:0    at BepInEx.Bootstrap.BaseChainloader1[TPlugin].LoadPlugins (System.Collections.Generic.IList1[T] plugins) [0x0025c] in <c7fa4791a6ea40b480e1c7d3e638b502>:0  [Message:   BepInEx] Chainloader startup complete [Error  :Unhollower] Exception in IL2CPP-to-Managed trampoline, not passing it to il2cpp: System.MissingMethodException: Method not found: void Last.Management.ResourceManager.DestroyGroupAsset(string)   at (wrapper dynamic-method) Memoria.FFPR.IL2CPP.ResourceExporter.Trampoline_VoidThisMemoria.FFPR.IL2CPP.ResourceExporterUpdate(intptr,UnhollowerBaseLib.Runtime.Il2CppMethodInfo*) [Info   :Memoria IL2CPP] [ContentCatalogData_CreateLocator] Resource file extensions have been successfully parsed. [Error  :Unhollower] Exception in IL2CPP-to-Managed trampoline, not passing it to il2cpp: System.MissingMethodException: Method not found: void Last.Management.ResourceManager.DestroyGroupAsset(string)   at (wrapper dynamic-method) Memoria.FFPR.IL2CPP.ResourceExporter.Trampoline_VoidThisMemoria.FFPR.IL2CPP.ResourceExporterUpdate(intptr,UnhollowerBaseLib.Runtime.Il2CppMethodInfo*) [Error  :Unhollower] Exception in IL2CPP-to-Managed trampoline, not passing it to il2cpp: System.MissingMethodException: Method not found: void Last.Management.ResourceManager.DestroyGroupAsset(string)   at (wrapper dynamic-method) Memoria.FFPR.IL2CPP.ResourceExporter.Trampoline_VoidThisMemoria.FFPR.IL2CPP.ResourceExporterUpdate(intptr,UnhollowerBaseLib.Runtime.Il2CppMethodInfo*)

Seconded. Had no idea an update happened, was just trying to mod!
[Error  :Memoria FF PR] Failed to initialize the mod: System.Exception: Failed to patch methods. ---> HarmonyLib.HarmonyException: Patching exception in method null ---> System.ArgumentException: Undefined target method for patch method static void Memoria.FFPR.IL2CPP.HarmonyHooks.UserDataManager_FromJson::Postfix(string json)
at HarmonyLib.PatchClassProcessor.PatchWithAttributes (System.Reflection.MethodBase& lastOriginal) [0x00047] in :0
...

For now, you can PROBABLY keep modding by using this method:
[code]

Find the app ID, depot ID, and manifest ID of the build you are searching for on steamDB
open steam console via run cmd "steam://open/console"
type e.g. for the last build of FF1PR "download_depot 1173770 1173771<PHONE_NUMBER>366825129"
Run mods and game from new given directory
[/code]

Fixed:
https://github.com/Albeoris/Memoria.FFPR/releases


[Bug]: Default HVAC mode for climate

Requirements

[X] I have updated Mushroom to the latest available version
[X] I did a search to see if there is a similar issue or if a pull request is open.

Current Behavior
Now clicking on the climate map causes the device to turn on/off with setting the default hvac mode as "heat".
Expected Behavior
It would be more correct to untie the set hvac mode  "heat"  from the on/off function of device in one of the following ways:

Provide the user with a manually set HVAC mode when the device turn on fuction call;
Remove the default hvac mode setting when the device is turned on.

Steps To Reproduce
This is a problem for multisplit AC's. For such AC's, it is impossible to set the "cool" and "heat" modes simultaneously for indoor units.
Thus, if one of the blocks is in the "cool" mode, when the next block is turned on by clicking on the card, the integration will try to set the "heat" mode. Since this is not possible, therefore the AC will turn off.
Context
YAML state

Environment
- Browser: Chrome (114.0.5735.135)
- HA Version: 2023.6.3
- Mushroom: 2.8.1

Anything else?
No response

Hello. Mushroom can not control the default the default HVAC mode. You can write a script and call it from the action if you want custom behavior.


Add support for "belongsTo" relationships for create forms

Issue #, if available:
Description of changes:
This change supports "belongsTo" relationships for forms, putting an <Autocomplete> field into the form allowing one related model to be selected.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report

Merging #755 (25daa7c) into tagged-release/cms-support (f63a424) will not change coverage.
The diff coverage is 100.00%.

@@                     Coverage Diff                     @@
##           tagged-release/cms-support     #755   +/-   ##
===========================================================
  Coverage                       92.05%   92.05%
===========================================================
  Files                             114      114
  Lines                            4204     4204
  Branches                         1164     1163    -1
===========================================================
  Hits                             3870     3870
  Misses                            313      313
  Partials                           21       21

Impacted Files
Coverage Δ

...-react/lib/forms/form-renderer-helper/all-props.ts
100.00% <100.00%> (ø)

...ct/lib/forms/form-renderer-helper/display-value.ts
94.91% <100.00%> (ø)

.../forms/form-renderer-helper/event-handler-props.ts
98.78% <100.00%> (ø)

...b/forms/form-renderer-helper/render-array-field.ts
100.00% <100.00%> (ø)

...-ui-react/lib/utils/forms/array-field-component.ts
100.00% <100.00%> (ø)

...te-form-definition/helpers/model-fields-configs.ts
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


strand.md: Case consistency for pseudo-code accessors

e.g. (1) Forward-inter-nucleotide vs. (2) Forward-Inter-Nucleotide vs (3) forward-inter-nucleotide -- pick one
The current doc is mostly (1), so, unless (3) is preferred, consistency can be ensured by correcting Forward-Inter-Nucleotide, Reverse-Inter-Nucleotide, Forward-Intra-Nucleotide, and Reverse-Intra-Nucleotide.

Thanks!  Fixed in the above referenced commit.


Documentation: Region lifecycle new features

Related to #7

This issue was moved to RadicalFx/documentation#19


Subnetmask for client check /24

in line 249 : IPV4_EXISTS=$(grep -c "$CLIENT_WG_IPV4/24" "/etc/wireguard/${SERVER_WG_NIC}.conf")
is it correct that you check for /24 and not for /32, in line 310 you create user entrys for wg0.conf withs static /32.

Fixed by https://github.com/angristan/wireguard-install/commit/0a612774ac0fe2af6a6ce2f0ab8c70ec27702ae8


docs: terraform state is a local file

initial impression of reading the readme was that the state file was for the already existing state file. in my case i have it in s3.
when actually running it, i discovered

i had to run aws2tf in my local cloned copy
it created a directory for everything including the local state file (this means it wont corrupt an already existing state file elsewhere)
it wont complement the already existing tf files i wrote for my resources but start from scratch

Correct aws2tf uses it's own local state file - I'll update the docs to clarify. Thank you

docs updated


alt+tab

Instead of sorting, is it possible to toggle along the history of activated windows (back, and forward); that is, in most-recently-used order?
This is actually the default behavior in most other alttabs (cf. https://github.com/sagb/alttab).

I'm not entirely sure if Hyprland has the capability to return a list of recently visited windows, i'll get back to you once I've gathered more information on this.

Thank you. If this information is not provided by hyprland itself, then it would be a good escape to just use the windowswitcher’s most-recently-used order.

I would desperately need this functionality.

The last property in hyprctrl clients is focusHistoryID and it does the job. I hope this will help!

the problem with implementing this feature is that hyprland-rs (the library used to interface with hyprland) currently doesn't focusHistoryID.
There is a commit

Seems that you are working on this option, which I really appreciate. Thank you.
The role model is of course the option ’Ctrl+Tab cycles through tabs in recently used order’ in firefox,
which enables ‘Ctrl+Tab’ and ‘Ctrl+Shift+Tab’.

sorting by recently used windows is now supported, but using it will just cycle through the current and last used window, as the order of focused windows changes on first execution

@aloispichler there might be the a better solution available when running in daemon-mode.
The Daemon could load the order in which windows were selected on start, so you could switch to e.g. the 3. most recently used window.
I don't see a possibility for implementing this in CLI mode because the script wouldn't know whether to use the previous or the current order.
However, you could use the --offset option to directly switch to the 3rd element, but this doesn't seem practical to me.
(the --offset option and daemon/gui mode will be available in the next release)

Seems to be some excellent work which I will try soon. Look forward to seeing the Arch package!

added in latest release

I was working with your app today. Nice experience, indeed! Thank you. I used the AUR-version.
Here are few points:

If --sort-recent is selected, then the GUI should --sort-recent as well.
Cycling should NOT reveal the window: the window should reveal only after being finally selected.
It would be desirable to select the next window by $mod+$key+…+$key$ at key release. Now, this is $mod+key$, …, $mod+key$ and $mod$ (extra release) to stop the deamon.

All three points above are the default behavior of Ctrl-Tab in Firefox (with setting 'Ctrl+Tab cycles through tabs in recently used order').
Overall: very pleasant experience, thanks again!

It would be desirable to select the next window by $mod+$key+…+$key$ at key release. Now, this is $mod+key$, …, $mod+key$ and $mod$ (extra release) to stop the deamon.

If i understand this correctly you currently use the GUI Config.
Repeated switching without releasing the $mod key / holding $key is possible with the GUI + Keyboard Config. (This however stops the daemon after releasing the $mod key, so you $mod+$key+…+$key-$mod to switch and close) (This currently switches at every command and not after the daemon exits)

Could you provide the part of your hyprland config that calls hyprswitch.
This would allow me to debug the First Problem you mentioned

I use:
# open hyprswitch
$key = TAB
$modifier = SUPER
$switch_release = SUPER_L
$reverse = SHIFT

# open hyprswitch
bind=$modifier, $key, exec, hyprswitch --ignore-workspaces --sort-recent --do-initial-execute --daemon
bind=$modifier $reverse, $key, exec, hyprswitch --ignore-workspaces --sort-recent --do-initial-execute --daemon -r

# close hyprswitch
bindr=$modifier, $switch_release, exec, hyprswitch --stop-daemon

This config is intended to be used if you want to click on the windows in the GUI
If you want to want a config with more default keyboard shortcuts you could try the GUI + Keyboard Config.
If you just want to be able to hold down the $key key to continue switch windows without pressing the $modifier key every time you should use binde=$modifier, $key, ... (the e repeats the command)

Aaaah, yes indeed, amazing! I am sorry I have misunderstood the usage in the read.me.
I really like this app.

If --sort-recent is selected, then the GUI should --sort-recent as well.

Could you try to try to give more detailed explanation on what you did, what happened and what you expected to happen (maybe in a new issue?)


i18next::languageUtils: rejecting language code not found in supportedLngs: search.json

Describe the bug
run "yarn dev", and show error:
i18next::languageUtils: rejecting language code not found in supportedLngs: search.json
i18next: languageChanged search.json
i18next: initialized {
  debug: true,
  initImmediate: true,
  ns: [ 'home' ],
  defaultNS: 'common',
  fallbackLng: [ 'en' ],
  fallbackNS: [ 'common' ],
  supportedLngs: [ 'en', 'fr', 'cimode' ],
  nonExplicitSupportedLngs: false,
  load: 'all',
  preload: false,
  simplifyPluralSuffix: true,
  keySeparator: '.',
  nsSeparator: ':',
  pluralSeparator: '_',
  contextSeparator: '_',
  partialBundledLanguages: false,
  saveMissing: false,
  updateMissing: false,
  saveMissingTo: 'fallback',
  saveMissingPlurals: true,
  missingKeyHandler: false,
  missingInterpolationHandler: false,
  postProcess: false,
  postProcessPassResolved: false,
  returnNull: false,
  returnEmptyString: true,
  returnObjects: false,
  joinArrays: false,
  returnedObjectHandler: false,
  parseMissingKeyHandler: false,
  appendNamespaceToMissingKey: false,
  appendNamespaceToCIMode: false,
  overloadTranslationOptionHandler: [Function: handle],
  interpolation: {
    escapeValue: true,
    format: [Function: bound format],
    prefix: '{{',
    suffix: '}}',
    formatSeparator: ',',
    unescapePrefix: '-',
    nestingPrefix: '$t(',
    nestingSuffix: ')',
    nestingOptionsSeparator: ',',
    maxReplaces: 1000,
    skipOnVariables: true
  },
  lng: 'search.json',
  ignoreJSONStructure: true
}
i18next::languageUtils: rejecting language code not found in supportedLngs: search.json

Hi @kakuilan, this normally happens due to browser language trying to load content not available (in your case only en and fr are available).
Anything different than those (eg. en-US, fr-FR, etc), will result in an error for the library - the actual cause of the error will depend on browser configuration and OS localization.
If you want to suppress the warning, I recommend you include the clause load: 'currentOnly' inside the getOptions functions in app/[locale]/i18n/settings.ts, to suppress the warning.
If you have any questions, I recommend you reading the i18next Configuration Doc
HTH

Hi @kakuilan, this normally happens due to browser language trying to load content not available (in your case only en and fr are available). Anything different than those (eg. en-US, fr-FR, etc), will result in an error for the library - the actual cause of the error will depend on browser configuration and OS localization.
If you want to suppress the warning, I recommend you include the clause load: 'currentOnly' inside the getOptions functions in app/[locale]/i18n/settings.ts, to suppress the warning.
If you have any questions, I recommend you reading the i18next Configuration Doc
HTH

Ok, thank you, and http://localhost:3000/search.json is not a json format, where the configuration of the problem?


Adding Cloudy tendencies

Purpose

To-do

Content

[ ] I have read and checked the items on the review checklist.

Sajjad, this all looks fantastic -- thank you for merging my commits with the new KiD structure!

Thank you for adding Cloudy to KiD!


updates the logging for ha failover to be correct

This puts the correct host and port for the current @client in the logging message.
I think there is a bug in failover, but it is hard to tell based on the incorrect log messages. I may also work on some tests for HA namenodes but that can go in another PR.

Oh, and here is a log of the startup with out this change.
{:timestamp=>"2016-09-28T19:19:14.980000+0000", :message=>"Webhdfs check request failed. (namenode: hdfs-namenode0:50070, Exception: {\"RemoteException\":{\"exception\":\"StandbyException\",\"javaClassName\":\"org.apache.hadoop.ipc.StandbyException\",\"message\":\"Operation category READ is not supported in state standby\"}})", :level=>:error}
{:timestamp=>"2016-09-28T19:19:14.991000+0000", :message=>"Got exception from hdfs-namenode0:level=>:warn}
{:timestamp=>"2016-09-28T19:19:15.018000+0000", :message=>"Webhdfs check request failed. (namenode: hdfs-namenode0:50070, Exception: {\"RemoteException\":{\"exception\":\"StandbyException\",\"javaClassName\":\"org.apache.hadoop.ipc.StandbyException\",\"message\":\"Operation category READ is not supported in state standby\"}})", :level=>:error}
{:timestamp=>"2016-09-28T19:19:15.019000+0000", :message=>"Got exception from hdfs-namenode0:level=>:warn}
{:timestamp=>"2016-09-28T19:19:15.043000+0000", :message=>"Webhdfs check request failed. (namenode: hdfs-namenode0:50070, Exception: {\"RemoteException\":{\"exception\":\"StandbyException\",\"javaClassName\":\"org.apache.hadoop.ipc.StandbyException\",\"message\":\"Operation category READ is not supported in state standby\"}})", :level=>:error}
{:timestamp=>"2016-09-28T19:19:15.044000+0000", :message=>"Got exception from hdfs-namenode0:level=>:warn}


Fix images which are not showing

Job stories
When I'm browsing a site I want all images to be showing correctly so that I understand the content and don't worry that I'm missing something because the content is unfinished
Acceptance

[ ] Images currently showing as "![[Pasted image XXXXXXX.png]]" are fixed to show the intended image

Tasks

[ ] ...

Notes
There are some pasted images, e.g. on notes pages, which are not currently showing. E.g. https://web3.lifeitself.us/notes/hypha.earth
@rufuspollock comment 26/7: "Those just need a markdown fix - it is using obsidian syntax."
A list of the notes pages where this is relevant:

[ ] dao-according-to-ethereum.md
[ ] democracy.earth.md
[ ] diatom.fund.md
[ ] hypha.earth.md
[ ] panvala.com.md
[ ] yogacoin.tech

@khalilcodes could we prioritize this as a fix into the remark-wiki-links plugin to support transcluded images as per https://github.com/flowershow/remark-wiki-link-plus/issues/1

@rufuspollock @catherinet1 started to work on this fix