Saleor 1659 use query params in channels picker

I want to merge this change because...

PR intended to be tested with API branch:
Screenshots

Pull Request Checklist

[ ] All visible strings are translated with proper context.
[ ] All data-formatting is locale-aware (dates, numbers, and so on).
[ ] Translated strings are extracted.
[ ] Number of API calls is optimized.
[ ] The changes are tested.
[ ] Data-test are added for new elements.
[ ] Type definitions are up to date.
[ ] Changes are mentioned in the changelog.

Test environment config

API_URI=https://master.staging.saleor.rocks/graphql/

Task linked: SALEOR-1659 Channel Availability picker should use query params


Sort vulnerabilities by overdue SLA

Is your feature request related to a problem? Please describe
There is currently no way to sort vulnerabilities by overdue SLA. This functionality is useful when attempting to prioritize patching of vulnerabilities.
Describe the solution you'd like
As a user of DefectDojo, I want to be able to sort the open vulnerabilities by overdue SLA so that I can prioritize my patching strategy.
Describe alternatives you've considered
An alternative could be filtering specifically overdue vulnerabilities. That would likely require implementing a custom filter on the finding object
Additional context
I brought this up in slack a few days ago

It would be good to include a new "SLA" option in the findings filter that would allow you to filter issues:

That are out of SLA
To input a number which would correspond to issues which will be out of SLA within the given number of days.

WDYT?

It would be good to include a new "SLA" option in the findings filter that would allow you to filter issues:

That are out of SLA
To input a number which would correspond to issues which will be out of SLA within the given number of days.

WDYT?

Yeah I think both of those options are great! At a bare minimum, I think Feature 1 would be enough


Convert about page to sphinx-design

Reference Issues/PRs

Fixes #50
What does this implement/fix? Explain your changes.

Uses sphinx-design instead of sphinx-panel in the project's Sphinx docs. Sphinx-design provides a nicer design aesthetic and I believe sphinx-panel is no longer maintained.
Does your contribution introduce a new dependency? If yes, which one?

sphinx-design is a new documentatino dependency (instead of sphinx-panel).
What should a reviewer concentrate their feedback on?
Do the affected documentation pages render correctly and are the panels "clickable".

Codecov Report

Merging #93 (f0876b0) into main (d9eb9f9) will decrease coverage by 0.06%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #93      +/-   ##
==========================================
- Coverage   60.86%   60.79%   -0.07%
==========================================
  Files          23       23
  Lines        1477     1477
==========================================
- Hits          899      898       -1
- Misses        578      579       +1

Impacted Files
Coverage Δ

skbase/lookup/_lookup.py
43.47% <0.00%> (-0.37%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Automatic seeding of newly created tenants

Description
Default Seeds For Newly Auto-Migrated Tenants

Actual behavior
No seed action executed
Expected behavior
Seeders be applied once a new tenant is created

Information

hyn/multi-tenant version: 5.3.*
laravel version: 5.6
database driver and version: MariaDB 10..
webserver software and version: Apache 2.4
php version: 7.2.4

tenancy.php config
<?php

/*
 * This file is part of the hyn/multi-tenant package.
 *
 * (c) Daniël Klabbers<EMAIL_ADDRESS> *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 *
 * @see https://laravel-tenancy.com
 * @see https://github.com/hyn/multi-tenant
 */

use Hyn\Tenancy\Database\Connection;

return [
    'models' => [
        /**
         * Specify different models to be used for the global, system database
         * connection. These are also used in their relationships. Models
         * used have to implement their respective contracts and
         * either extend the SystemModel or use the trait
         * UsesSystemConnection.
         */

        // Must implement \Hyn\Tenancy\Contracts\Hostname
        'hostname' => \Hyn\Tenancy\Models\Hostname::class,

        // Must implement \Hyn\Tenancy\Contracts\Website
        'website' => \Hyn\Tenancy\Models\Website::class
    ],
    /**
     * The package middleware. Removing a middleware here will disable it.
     * You can of course extend/replace them or add your own.
     */
    'middleware' => [
        // The eager identification middleware.
        \Hyn\Tenancy\Middleware\EagerIdentification::class,

        // The hostname actions middleware (redirects, https, maintenance).
        \Hyn\Tenancy\Middleware\HostnameActions::class,
    ],
    'website' => [
        /**
         * Each website has a short random hash that identifies this entity
         * to the application. By default this id is randomized and fully
         * auto-generated. In case you want to force your own logic for
         * when you need to have a better overview of the complete
         * tenant folder structure, disable this and implement
         * your own id generation logic.
         */
        'disable-random-id' => false,

        /**
         * The random Id generator is responsible for creating the hash as mentioned
         * above. You can override what generator to use by modifying this value
         * in the configuration.
         *
         * @warn This won't work if disable-random-id is true.
         */
        'random-id-generator' => Hyn\Tenancy\Generators\Uuid\ShaGenerator::class,

        /**
         * Enable this flag in case you're using a driver that does not support
         * database username or database name with a length of more than 32 characters.
         *
         * This should be enabled for MySQL, but not for MariaDB and PostgreSQL.
         */
        'uuid-limit-length-to-32' => env('LIMIT_UUID_LENGTH_32', false),

        /**
         * Specify the disk you configured in the filesystems.php file where to store
         * the tenant specific files, including media, packages, routes and other
         * files for this particular website.
         *
         * @info If not set, will revert to the default filesystem.
         * @info If set to false will disable all tenant specific filesystem auto magic
         *       like the config, vendor overrides.
         */
        'disk' => null,

        /**
         * Automatically generate a tenant directory based on the random id of the
         * website. Uses the above disk to store files to override system-wide
         * files.
         *
         * @info set to false to disable.
         */
        'auto-create-tenant-directory' => true,

        /**
         * Automatically rename the tenant directory when the random id of the
         * website changes. This should not be too common, but in case it happens
         * we automatically want to move files accordingly.
         *
         * @info set to false to disable.
         */
        'auto-rename-tenant-directory' => true,

        /**
         * Automatically deletes the tenant specific directory and all files
         * contained within.
         *
         * @see
         * @info set to true to enable.
         */
        'auto-delete-tenant-directory' => false,

        /**
         * Time to cache websites in minutes. Set to false to disable.
         */
        'cache' => 10,
    ],
    'hostname' => [
        /**
         * If you want the multi tenant application to fall back to a default
         * hostname/website in case the requested hostname was not found
         * in the database, complete in detail the default hostname.
         *
         * @warn this must be a FQDN, these have no protocol or path!
         */
        'default' => env('TENANCY_DEFAULT_HOSTNAME'),
        /**
         * The package is able to identify the requested hostname by itself,
         * disable to get full control (and responsibility) over hostname
         * identification. The hostname identification is needed to
         * set a specific website as currently active.
         *
         * @see src/Jobs/HostnameIdentification.php
         */
        'auto-identification' => env('TENANCY_AUTO_HOSTNAME_IDENTIFICATION', true),

        /**
         * In case you want to have the tenancy environment set up early,
         * enable this flag. This will run the tenant identification
         * inside a middleware. This will eager load tenancy.
         *
         * A good use case is when you have set "tenant" as the default
         * database connection.
         */
        'early-identification' => env('TENANCY_EARLY_IDENTIFICATION', true),

        /**
         * Abort application execution in case no hostname was identified. This will throw a
         * 404 not found in case the tenant hostname was not resolved.
         */
        'abort-without-identified-hostname' => env('TENANCY_ABORT_WITHOUT_HOSTNAME', false),

        /**
         * Time to cache hostnames in minutes. Set to false to disable.
         */
        'cache' => 10,

        /**
         * Automatically update the app.url configured inside Laravel to match
         * the tenant FQDN whenever a hostname/tenant was identified.
         *
         * This will resolve issues with password reset mails etc using the
         * correct domain.
         */
        'update-app-url' => false,
    ],
    'db' => [
        /**
         * The default connection to use; this overrules the Laravel database.default
         * configuration setting. In Laravel this is normally configured to 'mysql'.
         * You can set a environment variable to override the default database
         * connection to - for instance - the tenant connection 'tenant'.
         */
        'default' => env('TENANCY_DEFAULT_CONNECTION'),
        /**
         * Used to give names to the system and tenant database connections. By
         * default we configure 'system' and 'tenant'. The tenant connection
         * is set up automatically by this package.
         *
         * @see src/Database/Connection.php
         * @var system-connection-name The database connection name to use for the global/system database.
         * @var tenant-connection-name The database connection name to use for the tenant database.
         */
        'system-connection-name' => env('TENANCY_SYSTEM_CONNECTION_NAME', Connection::DEFAULT_SYSTEM_NAME),
        'tenant-connection-name' => env('TENANCY_TENANT_CONNECTION_NAME', Connection::DEFAULT_TENANT_NAME),

        /**
         * The tenant division mode specifies to what database websites will be
         * connecting. The default setup is to use a new database per tenant.
         * If using PostgreSQL, a new schema per tenant in the same database can
         * be setup, by optionally setting division mode to 'schema'.
         * In case you prefer to use the same database with a table prefix,
         * set the mode to 'prefix'.
         * To implement a custom division mode, set this to 'bypass'.
         *
         * @see src/Database/Connection.php
         */
        'tenant-division-mode' => env('TENANCY_DATABASE_DIVISION_MODE', 'database'),

        /**
         * The database password generator takes care of creating a valid hashed
         * string used for tenants to connect to the specific database. Do
         * note that this will only work in 'division modes' that set up
         * a connection to a separate database.
         */
        'password-generator' => Hyn\Tenancy\Generators\Database\DefaultPasswordGenerator::class,

        /**
         * The tenant migrations to be run during creation of a tenant. Specify a directory
         * to run the migrations from. If specified these migrations will be executed
         * whenever a new tenant is created.
         *
         * @info set to false to disable auto migrating.
         *
         * @warn this has to be an absolute path, feel free to use helper methods like
         * base_path() or database_path() to set this up.
         */
        'tenant-migrations-path' => database_path('migrations/tenant'),

        /**
         * The default Seeder class used on newly created databases and while
         * running artisan commands that fire seeding.
         *
         * @info requires tenant-migrations-path in order to seed newly created websites.
         * @info seeds stored in `database/seeds/tenants` need to be configured in your composer.json classmap.
         *
         * @warn specify a valid fully qualified class name.
         */
//        'tenant-seed-class' => false,
        'tenant-seed-class' => Database\Seeds\Tenant\TenantTableSeeder::class,
//      eg an admin seeder under `app/Seeders/AdminSeeder.php`:
//        'tenant-seed-class' => App\Seeders\AdminSeeder::class,

        /**
         * Automatically generate a tenant database based on the random id of the
         * website.
         *
         * @info set to false to disable.
         */
        'auto-create-tenant-database' => true,

        /**
         * Automatically generate the user needed to access the database.
         *
         * @info Useful in case you use root or another predefined user to access the
         *       tenant database.
         * @info Only creates in case tenant databases are set to be created.
         *
         * @info set to false to disable.
         */
        'auto-create-tenant-database-user' => true,

        /**
         * Automatically rename the tenant database when the random id of the
         * website changes. This should not be too common, but in case it happens
         * we automatically want to move databases accordingly.
         *
         * @info set to false to disable.
         */
        'auto-rename-tenant-database' => true,

        /**
         * Automatically deletes the tenant specific database and all data
         * contained within.
         *
         * @info set to true to enable.
         */
        'auto-delete-tenant-database' => env('TENANCY_DATABASE_AUTO_DELETE', false),

        /**
         * Automatically delete the user needed to access the tenant database.
         *
         * @info Set to false to disable.
         * @info Only deletes in case tenant database is set to be deleted.
         */
        'auto-delete-tenant-database-user' => env('TENANCY_DATABASE_AUTO_DELETE_USER', false),

        /**
         * Define a list of classes that you wish to force onto the tenant or system connection.
         * The connection will be forced when the Model has booted.
         *
         * @info Useful for overriding the connection of third party packages.
         */
        'force-tenant-connection-of-models' => [
//            App\User::class
        ],
        'force-system-connection-of-models' => [
//            App\User::class
        ],
    ],

    /**
     * Global tenant specific routes.
     * Making it easier to distinguish between landing and tenant routing.
     *
     * @info only works with `tenancy.hostname.auto-identification` or identification happening
     *       before the application is booted (eg inside middleware or the register method of
     *       service providers).
     */
    'routes' => [
        /**
         * Routes file to load whenever a tenant was identified.
         *
         * @info Set to false or null to disable.
         */
        'path' => base_path('routes/tenants.php'),

        /**
         * Set to true to flush all global routes before setting the routes from the
         * tenants.php routes file.
         */
        'replace-global' => false,
    ],

    /**
     * Folders configuration specific per tenant.
     * The following section relates to configuration to files inside the tenancy/<uuid>
     * tenant directory.
     */
    'folders' => [
        'config' => [
            /**
             * Merge configuration files from the config directory
             * inside the tenant directory with the global configuration files.
             */
            'enabled' => true,

            /**
             * List of configuration files to ignore, preventing override of crucial
             * application configurations.
             */
            'blacklist' => ['database', 'tenancy', 'webserver'],
        ],
        'routes' => [
            /**
             * Allows adding and overriding URL routes inside the tenant directory.
             */
            'enabled' => true,

            /**
             * Prefix all tenant routes.
             */
            'prefix' => null,
        ],
        'trans' => [
            /**
             * Allows reading translation files from a trans directory inside
             * the tenant directory.
             */
            'enabled' => true,

            /**
             * Will override the global translations with the tenant translations.
             * This is done by overriding the laravel default translator with the new path.
             */
            'override-global' => true,

            /**
             * In case you disabled global override, specify a namespace here to load the
             * tenant translation files with.
             */
            'namespace' => 'tenant',
        ],
        'vendor' => [
            /**
             * Allows using a custom vendor (composer driven) folder inside
             * the tenant directory.
             */
            'enabled' => true,
        ],
        'media' => [
            /**
             * Mounts the assets directory with (static) files for public use.
             */
            'enabled' => true,
        ],
        'views' => [
            /**
             * Enables reading views from tenant directories.
             */
            'enabled' => true,

            /**
             * Specify a namespace to use with which to load the views.
             *
             * @eg setting `tenant` will allow you to use `tenant::some.blade.php`
             * @info set to null to add to the global namespace.
             */
            'namespace' => null,

            /**
             * If `namespace` is set to null (thus using the global namespace)
             * make it override the global views. Disable by setting to false.
             */
            'override-global' => true,
        ]
    ]
];

Seeders be namespaced or not, seeds do not seem to get executed. Where can I see error logs?
<?php

namespace Database\Seeds\Tenant;

use Illuminate\Database\Seeder;
use Database\Seeds\ResponsibilitiesTableSeeder;
// use \Database\Seeds\ResponsibilitiesTableSeeder; (namespaced or not, no seeds generated)
use Database\Seeds\RolesTableSeeder;
// use \Database\Seeds\RolesTableSeeder; (namespaced or not, no seeds generated)

class TenantTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        $this->call([
            ResponsibilitiesTableSeeder::class,
            RolesTableSeeder::class,
        ]);
    }
}

What am I doing wrong? I even added TenantTableSeeder namespace to Composer.json as per documentation. php artisan tenancy:db:seed --website-id=n is the only one that works for me, but using the base DatabaseSeeder::class offered by Laravel.

Did you add the TenantTableSeeder to the main database/seeds/DatabaseSeeder.php file?

Is the Database\Seeds\Tenant\TenantTableSeeder resolvable? You can try to instantiate it from within Tinker to check.

You don't need to namespace it by default. Just add database/seeds/tenant/TenantTableSeeder.php file and set the config to 'tenant-seed-class' => TenantSeeder::class,.

Did you add the TenantTableSeeder to the main database/seeds/DatabaseSeeder.php file?

Already did. Same result.

Is the Database\Seeds\Tenant\TenantTableSeeder resolvable? You can try to instantiate it from within Tinker to check.

I'm not sure if I am doing it right, but here is the result. Had to namespace DatabaseSeeder, else unknown class. Similar result is given if Database\Seeds\Tenant\TenantTableSeeder is used.

You don't need to namespace it by default. Just add database/seeds/tenant/TenantTableSeeder.php file and set the config to 'tenant-seed-class' => TenantTableSeeder::class,.

Add to where exactly?
I am still coming up empty. Had to manually do it. Appreciate you guys' help anyway.
As an aside, is it possible to create a tenant-agnostic login page for this? I'm not sure, but what I have in mind is similar to AWS Console where uuid or some identifier is referenced on login.

You should probably also run composer dump-autoload.


Can O' Spam: Watch u5bets.com

Can O' Spam requests the watch of the watch_keyword u5bets\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Approved by Makyen in Charcoal HQ


⚠ Turnos 24x7 has degraded performance

In 1f37abc, Turnos 24x7 (https://reservas-dev.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 1585 ms

Resolved: Turnos 24x7 performance has improved in e09c8c8.


Getting an issue in an established game

Hello there! I absolutely love this module and have been using it in all of my games.
I do, however, have an issue in a current game where I do not have the option of selecting pronouns in the player configuration menu, nor does anything show up.
I have been getting the following error:
VM12643:8
Error: This is not a registered game setting
at ClientSettings.get (foundry.js:1146)
at Object.grabSavedSettings (player-pronouns.js:260)
at playerPronounsReady (player-pronouns.js:297)
at Function._call (eval at  (libWrapper-consts.js:8), :4:14)
at Function.callAll (foundry.js:153)
at Game.setupGame (foundry.js:4307)
at async Game._initializeGameView (foundry.js:5117)
at async Game.initialize (foundry.js:4202)

@A7207 can you please supply of screenshot of your settings while I investigate this?

Ahhh, I think I know what the issue is. What game system is this in?

@A7207 I have fixed it and it should now work for you. This issue was that there is a setting to save the selected pronouns to the actor's gender field... however I only show said setting for supported game systems (currently 5e (DnD5e, DNDJP5e & sw5e) and PF2e). Unfortunately, when trying to grab the setting when getting the saved settings values, I was still checking for that gender setting even though it wasn't available.
I've fixed that. If that is functionality you would also like access too, let me know what game systems you use and I'll see if I can figure out what the gender variable is called for the actors in those systems.

@vtt-lair I would love to have access for that in PF1e, and thank you so much for taking a look at it. I really appreciate this module, as do my players.

@A7207 I'm planning on changing the way I've implemented that setting to always be available and default to a specific variable name in the hope that the majority of game systems uses the same variable name. I'll test it on PF1 and just add it as one of the confirmed systems once that is done. Expect the update round about the weekend or start of next week.


Unable to create multiple grains even though the test project does

System.Exception : A grain has already been created in this silo. Only 1 grain per test silo should ever be created. Add grain probes for supporting grains.

Here is my code:
using System;
using System.Reflection;
using System.Threading.Tasks;
using FakeItEasy;
using AutoFixture;
using FluentAssertions;
using GenericPlatform.Interfaces;
using GenericPlatform.Silo.Grains;
using Microsoft.Extensions.Logging;
using NUnit.Framework;
using Orleans;
using Orleans.Runtime;
using Orleans.TestKit;
using Orleans.TestKit.Services;

namespace GenericPlatform.Grains.Tests
{
    public class EntityDefinitionGrainTests:TestKitBase
    {
        private EntityDefinition state;

        [OneTimeSetUp]
        public void OneTimeSetup()
        {
            this.state = new EntityDefinition();
            SetupState<EntityDefinition, EntityDefinitionGrain>(this.state);

        }
        private void SetupState<TState,TGrain>(TState state)
        {
            var mockState = A.Fake<IPersistentState<TState>>();
            A.CallTo(() => mockState.State).Returns(state);

            var mockMapper = A.Fake<IAttributeToFactoryMapper<PersistentStateAttribute>>();
            A.CallTo(() => mockMapper.GetFactory(A<ParameterInfo>._, A<PersistentStateAttribute>._))
                .Returns(context => mockState);

            Silo.AddService(mockMapper);
            var logger = A.Fake<ILogger<TGrain>>();
            Silo.ServiceProvider.AddService(logger);
        }

        [Test]
        public async Task VersionShouldBe_Zero_On_Initialization()
        {
            this.state = new EntityDefinition();
            var grain = await Silo.CreateGrainAsync<EntityDefinitionGrain>("0");

            var result = await grain.GetDefinition();
            result.Version.Should().Be(0);
            result.Properties.Should().BeEmpty();
        }

        [Test]
        public async Task VersionShouldBe_1_On_AfterOneOperation()
        {
            this.state = new EntityDefinition();

             var grain = await Silo.CreateGrainAsync<EntityDefinitionGrain>("0");
            await grain.AddProperty("Name", typeof(string).FullName!);
            var result = await grain.GetDefinition();
            result.Version.Should().Be(1);
            result.Properties.Should().ContainKey("Name");
        }
    }
}

@ElanHasson I'm not as familiar with NUnit, but did some quick reading here:
https://docs.nunit.org/articles/nunit/writing-tests/attributes/onetimesetup.html
Based on the docs, I think the lifecycle of your fixture is SingleInstance (based on the presence of the non-static [OneTimeSetUp] method). I think the problem here stems from the out-of-the-box difference between NUnit and xUnit. The test suite/demos in this repo use xUnit, which only operates in a mode equivalent to NUnit's InstancePerTestCase.
To simplify the implementation of the TestKit and to better match some of the runtime semantics of Orleans, a single TestKitSilo instance only works to produce a single grain activation. It is expected that you create a new TestKitSilo, run a unit of work, and then throw it away. I think there are many ways to accomplish this with NUnit and many may come down to personal preference. I'd be happy to brainstorm some code examples if that's helpful, though.
I think it's worth explicitly calling this out in the README.

Thanks Kyle, I had similar thoughts.
It's been a while since I was working on that repo on question, so memory is a bit fuzzy.
I Agree with your assessment. What about a Reset() be method on the base class? Why can't I clear the "container"?

You can clear the container with the following. 😄
new TestKitSilo()

In all seriousness... Clearing the container would require re-creating and re-registering the various services/mocks. The [OneTimeSetUp] approach still wouldn't work. With [OneTimeSetUp], you'd instead need to loop through the various services/mocks and call their own Reset methods (which is different and specific to each mocking framework). Unfortunately, that flies opposite to the one-shot nature of the TestKitSilo, and it would likely require significant changes for little to no benefit.
Are you able to refactor your test fixture setup to use [SetUp] instead (also note the change in class inheritance)?
public class EntityDefinitionGrainTests
{
    private EntityDefinition state;
    private TestKitSilo silo;

    [OneTimeSetUp]
    public void OneTimeSetup()
    {
        this.state = new EntityDefinition();
    }

    [SetUp]
    public void Setup()
    {
        this.silo = new TestKitSilo();
        this.SetupState<EntityDefinition, EntityDefinitionGrain>(this.state);
    }

    private void SetupState<TState,TGrain>(TState state)
    {
        var mockState = A.Fake<IPersistentState<TState>>();
        A.CallTo(() => mockState.State).Returns(state);

        var mockMapper = A.Fake<IAttributeToFactoryMapper<PersistentStateAttribute>>();
        A.CallTo(() => mockMapper.GetFactory(A<ParameterInfo>._, A<PersistentStateAttribute>._))
            .Returns(context => mockState);

        this.silo.AddService(mockMapper);
        var logger = A.Fake<ILogger<TGrain>>();
        this.silo.ServiceProvider.AddService(logger);
    }

    [Test]
    public async Task VersionShouldBe_Zero_On_Initialization()
    {
        this.state = new EntityDefinition();
        var grain = await this.silo.CreateGrainAsync<EntityDefinitionGrain>("0");

        var result = await grain.GetDefinition();
        result.Version.Should().Be(0);
        result.Properties.Should().BeEmpty();
    }

    [Test]
    public async Task VersionShouldBe_1_On_AfterOneOperation()
    {
        this.state = new EntityDefinition();
        var grain = await this.silo.CreateGrainAsync<EntityDefinitionGrain>("0");

        await grain.AddProperty("Name", typeof(string).FullName!);

        var result = await grain.GetDefinition();
        result.Version.Should().Be(1);
        result.Properties.Should().ContainKey("Name");
    }
}

The above might be more complicated than you need. It all depends on your expectation to reuse the state instance field. If that could also be recreated, then you could move everything into the [SetUp] method and drop the [OneTimeSetUp] method.
In my opinion, the base class is so trivial it's not adding any value to the library. We don't use it in our projects anymore. There were cases with xUnit where we wanted to reuse a single TestKitSilo across multiple test cases (effectively the exact opposite case of this NUnit issue). We ended up finding that simply refactoring the setup code was the easiest approach.
I think you have two options to setup the fixture with NUnit:

You can setup the TestKitSilo in a [OneTimeSetUp] method if you want to share a single grain activation across multiple test cases. To do this, simply move the CreateGrainAsync call from your test cases to your [OneTimeSetUp] method, and save the return value as an instance field.
You can setup the TestKitSilo in a [SetUp] method if you want unique, separate grain activations per test case.

A special case of #2 would be the above code sample that combines [OneTimeSetUp] and [SetUp]. You setup some services in a [OneTimeSetUp] method and reuse them across multiple test cases, but you still create the TestKitSilo in the [SetUp] method for unique, separate grain activations per test case.

We just switched as a team from NUnit to xUnit for a large project I'm working on.
I might as well work more in it :)
We can close this-- the info you provided should help others find this conversation and if they don't have the luxury of switching, can revive this dialog 😄
Thanks for your help!


Identify IAM Policies which allow privilege escalation via STS AssumeRole

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
This check will identify IAM Policies which allow an IAM Principal (a Role or User) to escalate their privileges due to insecure STS permissions. It is AWS best practice to only use explicitly defined Resources (Role ARNs) for an sts:AssumeRole action:

If Resource is set to *, the user can assume any role in any account that trusts the user's account. (In other words, the role's trust policy specifies the user's account as Principal). As a best practice, we recommend that you follow the principle of least privilege and specify the complete ARN for only the roles that the user needs.
https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_permissions-to-switch.html#roles-usingrole-createpolicy

I've seen this a handful of times, most often by having a policy with the Action sts:AssumeRole and the Resource *, in an environment which also contains highly privileged Roles like - for example - Administrator with the AdministratorAccess policy attached. If a low-privileged Principal is given a Policy which includes this type of insecure STS Role assumption permission, it allows them to switch to any other defined IAM Role. This is typically called privilege escalation, though it could be used to choose a lower-privilege Role.
In simple terms, the check looks for a Resource containing an * (i.e. a non-explicit ARN) and an Action which is either sts:* or starts with sts:AssumeRole (to include the three methods of Role assumption).
This could be considered a a "false positive" if there is no another Role in the account which has more permissions, and the account will never ever have such a Role in the future. Which is not likely.
Output
 7.98 [extra798] Ensure that no custom policies exist which allow permissive role assumption (e.g. sts:AssumeRole on *)
       INFO! Looking for custom policies: (skipping default policies - it may take few seconds...)
       INFO! STS AssumeRole Policies should only include the complete ARNs for the Roles that the user needs
       INFO! Learn more: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_permissions-to-switch.html#roles-usingrole-createpolicy
       FAIL! Policy arn:aws:iam::000000000000:policy/BadSTSWithMultiplePolicies allows permissive STS Role assumption
       FAIL! Policy arn:aws:iam::000000000000:policy/SimpleBadSTSPolicy allows permissive STS Role assumption
       FAIL! Policy arn:aws:iam::000000000000:policy/BadSTSAllowsStarRole allows permissive STS Role assumption
       FAIL! Policy arn:aws:iam::000000000000:policy/BadAllSTSActionsPolicy allows permissive STS Role assumption

Or
 7.98 [extra798] Ensure that no custom policies exist which allow permissive role assumption (e.g. sts:AssumeRole on *)
       PASS! No custom policies found that allow permissive STS Role assumption

Test Cases
It will FAIL policies which look like the following:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "*"
        }
    ]
}

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "rds:*",
                "s3:*",
                "sts:AssumeRole",
                "ec2:*"
            ],
            "Resource": "*"
        }
    ]
}

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "sts:*",
            "Resource": "*"
        }
    ]
}

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "sts:AssumeRoleWithSAML",
            "Resource": [
                "arn:aws:iam::000000000000:role/a-good-explicit-role",
                "arn:aws:iam::000000000000:role/*"
            ]
        }
    ]
}

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "arn:aws:iam::000000000000:role/a-good-explicit-role"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "*"
        }
    ]
}

It will PASS with policies like the following:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "arn:aws:iam::000000000000:role/a-good-explicit-role"
        }
    ]
}

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "s3:GetObject",
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "sts:AssumeRoleWithWebIdentity"
            ],
            "Resource": "arn:aws:iam::000000000000:role/a-good-explicit-role"
        }
    ]
}

References

https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html
https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_permissions-to-switch.html

Thanks @nickmalcolm, it looks pretty helpful. Please, give me some days to review and test it before merging. Cheers!

Awesome, thanks for accepting the new check! Thanks also for your work on
this great tool.
On Fri, 28 Aug 2020 at 2:31 AM, Toni de la Fuente<EMAIL_ADDRESS>wrote:

Merged #646 https://github.com/toniblyx/prowler/pull/646 into master.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/toniblyx/prowler/pull/646#event-3699936662, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AACTTENHZNQHSKEHELHMHALSCZU4PANCNFSM4QF2Y5XQ
.
--
Cheers, Nick


Retry loop in ContainerReconciler exhausts system RAM

Is there an existing issue for this?

[x] I have searched the existing issues

Describe the bug
When the container runtime is not healthy, Aspire retries forever with no delay, eventually exhausting system memory.
We recently upgraded to Aspire 9.0 rc1 and started using its ability to manage a Docker container to run Azurite. This morning I tried to run my .net app, but I forgot to pass the run flag that would also start the Azurite container. During the boot process, Aspire continually retried waiting for the container to be healthy, spewing logs to stdout so fast that eventually my Terminal died once it exhausted system memory. The process was using 29GB when I terminated it, nearly all of that consisting of retry log messages (see screenshot)

Expected Behavior
When retrying, it should backoff and/or eventually give up. It should not run a hot loop with no delay.
Steps To Reproduce
No response
Exceptions (if any)
No response
.NET Version info
> dotnet --info
.NET SDK:
 Version:           9.0.100-rc.2.24474.11
 Commit:            315e1305db
 Workload version:  9.0.100-manifests.cea95dba
 MSBuild version:   17.12.0-preview-24473-03+fea15fbd1

Runtime Environment:
 OS Name:     Mac OS X
 OS Version:  15.0
 OS Platform: Darwin
 RID:         osx-arm64
 Base Path:   /usr/local/share/dotnet/sdk/9.0.100-rc.2.24474.11/

.NET workloads installed:
There are no installed workloads to display.
Configured to use loose manifests when installing new manifests.

Host:
  Version:      9.0.0-rc.2.24473.5
  Architecture: arm64
  Commit:       990ebf52fc

.NET SDKs installed:
  8.0.304 [/usr/local/share/dotnet/sdk]
  9.0.100-rc.2.24474.11 [/usr/local/share/dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 8.0.8 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 9.0.0-rc.2.24474.3 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 8.0.8 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 9.0.0-rc.2.24473.5 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

Other architectures found:
  None

Environment variables:
  Not set

Anything else?
Aspire 9.0 RC1
9.0.0-rc.1.24511.1

cc: @davidfowl You asked us to try the containerized version of Azurite, so we did, and so far it's working ok, except for the above :)

When you say fixed in 9.0, do you mean the RC1 version that went out last week shouldn't have this issue? because that's what we're on.
How would one go about trying "builds from main"? Do you have any instructions you could share?

This is an obvious bug
I see you are using macos, you can try servbay, which is better than docker

How would one go about trying "builds from main"? Do you have any instructions you could share?

Yeah, can you try the following steps: https://github.com/dotnet/aspire/blob/main/docs/using-latest-daily.md#add-necessary-nuget-feeds


Failed to consume

I am trying to run this program:
Make Donald 200000000
As long as Donald is very much greater than 10000000; do this:
Donald is Donald minus 1000000 but
say Donald is very nice
Amazing!
America is great.

but get this error:
failed to consume 10, got 40instead.
is_error
passed in parenthetical with more than one expression
failed to consume 11, got 5instead.
is_error
Compiled, starting execution
-------------------

Traceback (most recent call last):
  File "src/trumpscript/main.py", line 32, in <module>
    main()
  File "src/trumpscript/main.py", line 29, in main
    Compiler().compile(sys.argv[1])
  File "src/trumpscript/compiler.py", line 20, in compile
    exec(compile(modu, filename="<ast>", mode="exec"))
TypeError: expected some sort of expr, but got <_ast.Assign object at 0x7fb6bae52550>

failed to get a LParen token, got a Word instead. This is because you don't have a comma after as long as. Also this program won't work until I find the time to actually put less than and greater than comparisons into the parser.
Also it's improperly written on other fronts as well. As we don't have the greater than or less than features built, the syntax for them isn't quite nailed down, but the code you wrote is trying to assign > 1000000 to Donald.

Failed to consume 11 got 5 is when you encounter greater than rather than the expected semicolon

I know that this is a few months late, but I believe this bug was fixed when greater than and less than were added in on Jan. 27th. The same example as above, with correct syntax, would be
Make Donald 200000000
As long as, Donald "is" very much greater than 10000000; do this:
Donald is, Donald minus 1000000; but
say Donald "is" very nice
Amazing!
America is great.

Thanks! Should I close this?

Yup, looks like this works now!


Fix version number in Python example

What does this PR do?
Replace llama3 with llama3.1  in code example to avoid model not found error.
Feature/Issue validation/testing
Please describe the tests that you ran to verify your changes and relevant result summary. Provide instructions so it can be reproduced.
Please also list any relevant details for your test configuration.
To reproduce the error, copy and paste the sample python code. The response is {'error': 'model "llama3" not found, try pulling it first'}.
This fix was tested manually by observing a proper, non-error response when using the appropriate version number.
Before submitting

[x] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you read the contributor guideline,
Pull Request section?
[ ] Was this discussed/approved via a Github issue? Please add a link
to it if that's the case.
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?

Thanks for contributing 🎉!

Thanks @wstnmssr can you please sign the CLA?

Thanks @wstnmssr can you please sign the CLA?

Hey @init27, I tried to do this but after submitting the form, I was not able to authenticate with my GitHub account. Upon submitting, I was taken to https://code.facebook.com/cla/individual/sign/, which was just a blank page.

@wstnmssr Can you try with https://code.facebook.com/cla/individual link?
You should be checking at https://code.facebook.com/cla
Let me know if you run into any issues

@init27 That's the link I've been using, and I'm running into the same issue I described earlier. When I am redirected to the URL I mentioned, this is all I see:

That's strange-can you try the same with a different browser please?

That's strange-can you try the same with a different browser please?

Looks like it works in safari. I agree, odd that it is not working for me in chrome.


Build fixes for GCC2 and GCC7 WIP.

OK, I had to hack up a libroot to work around https://github.com/diversys/liblayout/issues/2, and then add another hack to agg to work around https://dev.haiku-os.org/ticket/14531, but GCC7 WonderBrush seems to work just fine.

Wow, thanks! I'm diving right into the diff...


Decide / establish FINOS presence at GHC

The new AI working group will have a focus area on ensuring we avoid bias in software engineering-
The DEI SIG is not funding a booth or presence, but it is championing the benefits of having a presence.
We can have a FINOS booth (or, potentially co-located with LF?) but need the AI SIG to help us drum up support.
(ideas / comments from James)

Adding myself and @Perelmuter to this issue - we will need additional owners and can discuss on the co-chair call-

Morgan Stanley has an office on Market Street very near the conference in Philadelphia - is that worth exploring? Also, Microsoft, BlackRock, JP Morgan-

Removing myself from this issue due to focus on FINOS Open Source Day participation. Rita expressed interest in owning this work and we can add her as an owner once her github account (ritachaturvedi) has been added to the FINOS GitHub organization (a FINOS request has been created for that)


Enable -Xfatal-warnings and other linty flags

The list of scalac options is stolen from Cats.
We lose two bits of functionality:

Can no longer set reason phrase on servlet backends.  It was deprecated, and doesn't work on Tomcat anyway without special server configuration.  I'd rather have fatal warnings than this obscure feature.
We lost the Java 8 optimizations for the Scala 2.11 build.

Fixes #648.

Note also that 2.11.8 is a little picker than 2.10.6 on warnings.  This might be the time to cut over to 2.11 as the default build and 2.10 as the one Travis provides a safety net for.  With the introduction of macrocompat, this should now be viable.

This is the end of the line for json4s-native.  Is that okay?
Need to allow deprecation for scalaz-7.2 to avoid a branch.

Current coverage is 60.23% (diff: 26.58%)

Merging #684 into master will increase coverage by 0.21%

@@             master       #684   diff @@
==========================================
  Files           199        199
  Lines          4404       4423    +19
  Methods        4098       4137    +39
  Messages          0          0
  Branches        304        281    -23
==========================================
+ Hits           2643       2664    +21
+ Misses         1761       1759     -2
  Partials          0          0

Powered by Codecov. Last update 7f838ba...97e02b3

codecov/patch is bad because I reindented InstrumentedHandler.  I'd like a pass on this one.

I'd like to get this merged if Travis likes it.  This is difficult to keep in sync with master.

Looks good to me, though it wasn't extremely thorough. Given the nature of the changes, I'm happy to merge it.

Sorry, by 'it' I meant my review. The work is really good, but sometimes my use of English is not. 😀


Created Contact-Page

Hey,
i just finished your requested Contact-Page.
To use it without a Backendservice you have to Sign-Up on https://www.emailjs.com.

Create a Email-Service for your need. I used Gmail for testing.
Copy the Service-ID you will need it.

Create a new Email-Template.
Again Copy the Template-ID.

Style the Template how ever you want to. NOTE: {{Parameter}} have to be named like in my Example or you have to change them in the Contact.jsx, because these are the values of the Userinput.
On the Right there is an Input Labeled "To Email" add the mail to which the contacts are to be sent

Copy your Publickey which can be found in your Account.
Insert the Service-ID, Template-ID and PublicKey into the corresponding fields of the .env-File and start the Application.
If there are any questions or problems feel free to ask.
Hope it fits.
@

#14


autotune improvements (including token based authentication support)

autotune fixes

support for tokenbased authenitcation for autotune
support for use of API_SECRET when Nightscout site is default denied
skip files that are not complete for oref0-autotune-export-to-xlsx.py (instead of throwing error)
out of the box support for other locales (set LC_NUMERIC=en_US.UTF-8 in oref0-autotune-recommends-report.sh)
add units to oref0-autotune-recommends-report.sh
deprecate API_SECRET_READ oref0-autotune.sh (but if API_SECRET is set to the hashed version, it will still work)
meaningful errors if essential files do not exists (e.g. settings/pumpprofile.json)

@scottleibrand : this one is ready for review.
I don't understand why Github Desktop insist on changing the spaces of several files in this checkout.
The files that were meant to be changed are:

I will recreate a branch from dev in another git client and reapply the changes tomorrow.

Closed this pull request because GitHub Desktop is unreliable for merging.
See https://github.com/openaps/oref0/pull/563 for the correct pullrequest


Bad translation

Some words are still in Englisch (1) or very bad translated into German (2). Example: usingmedical (1), visor (1), wischen (2)...
And why do you advise to use a antibiotic soap?
And what is SRG?

Dokumentdetails
⚠ Bearbeiten Sie diesen Abschnitt nicht. Er ist für die Verknüpfung von docs.microsoft.com zum GitHub-Artikel erforderlich.

ID: c9b9efc6-78cd-1f1e-bcd5-3e02130b7bd9
Version Independent ID: 9ce2e642-96f3-ec9c-e8bd-1e5c8846d1e1
Content: HoloLens 2 – häufig gestellte Fragen zur Geräte Pflege und-Reinigung
Content Source: devices/hololens/hololens2-maintenance.md
Product: hololens
Technology: windows
GitHub Login: @Teresa-Motiv
Microsoft Alias: v-tea

@joergkarl - Thank you for pointing this out.
I will get this issue over to the Win10 ITPro translation/localization writing team for investigation.
Thank you for reporting and making the docs better. Much appreciated.
I made a note to request the team to update this when the work is complete.

@tinamcN @officeglobal - Can you please assist with this Translation/Localization issue?
Thank you.

@joergkarl thank you for reporting this and the examples are very helpful.   I sent the article to be human translated which will take a few days..   The issue with "usingmedical" is caused by the machine translation tool which seems to have joined 2 English words which it could then obviously not translate to German.   I think the German word for "visor" is "Visier" but somehow the MT tool did not recognise that word.  I reported these to the MT tool owners for further investigation.
@mypil regarding the issues about recommending antibiotic soap and SRG can you ask the writing team to comment as they are from the English article, it would be good to spell out what SRG means.

@joergkarl the article is now human translated and the translation issues should be fixed.  @Teresa-Motiv can you review the issues regarding antibiotic soap and SRG?

I've forwarded the questions to the original doc author Saira.

@Teresa-Motiv - Do you have any updates on this issue? Is this already fixed?
Thank you.

Just to answer the question "And what is SRG?" : Surface Relief Grating (Oberflächenreliefgitter)
From https://www.imaginativeuniversal.com/blog/2015/10/18/how-hololens-displays-work/ :

Nanometer wide structures or gratings are placed on the surface of the waveguide at the location where we want to extract an image. The grating effectively creates an interference pattern that diffracts the light out and even enlarges the image. This is known as SRG or surface relief grating as shown in the above image from holographix.com.

@joergkarl : To answer your question "And why do you advise to use a antibiotic soap?", I would like to point out the possibility of bacterial growth or virus transfers in general. Because some of the Hololens parts are soft, some with a microporous surface, it is important to make sure you reduce the amount of bacteria left behind after each use, due to skin particles left behind, making the soft materials an easy target for bacterial growth. This can be mitigated by using antibacterial soap or detergents, diluted in water, according to the manufacturer's description and recommendation.

Looking back at what I just wrote, I think it should be noted that using initials for technical terms, even if they are in common use when discussing the technical aspects of the device, it should be avoided in less technical articles like this page. The initials "SRG" should be replaced by its full description, Surface Relief Grating (or lowercase "surface relief grating").

@joergkarl - Thank you for submitting feedback.
From our understanding, the issue you raised has been answered by @TinaMcN and @illfated  so we will close this issue.
Thank you for your contribution to make the docs better! Much appreciated!


README.md - Add NodeJS lambda example

Recommend smash merge, handful of typo/lint commits aren't needed in history.


Propagate consumer group status in Trigger and fallback to Broker delivery spec

As per title.
/kind cleanup

/assign @aavarghese @matzew


how to export the complete map of a game? 🤔

Hi, I'm trying to export the game "rust legacy", I'm only interested in the map and some other objects, but actually I only have problems with the map because it is exported only half, it's weird, maybe facepunch use some script to create the rest of the map I do not know the truth, I would like to know if there is a way to export the entire map.

Since this game can no longer be found original, I try to extract the resources from the pirated versions, I have tried with several versions like these:

https://www.mediafire.com/file/z0yxpyj41qxcov9/RustDayZero2021+BAJA+GAMA.rar/file
https://mega.nz/file/iQZhVDyb#nnW6ePOCGo9Olbvj-FPsUF0U1lxHdQT47NQ9Ie9St-Y
https://www.mediafire.com/file/tb2xb3nnzqwdfgl/Rust_Yoneis_V0.3_Render.rar/file

No promises, but you can try my AssetRipper fork.

No promises, but you can try my AssetRipper fork.

It does not work for me :'(

Could you upload your AssetRipper log from the rip? It's in the same folder as the exe and will be called AssetRipper.log

In the registry it says that some files are missing, but when I look for them manually in the folders and put everything together in the bundles folder (where all the .unity3d files are) the complete map still doesn't appear.
AssetRipper.log

The log says everything is "fine." Other than you not giving it the whole game, it exported okay. The rest of the map is either somewhere else in the rip or in one of the files you didn't include.

The log says everything is "fine." Other than you not giving it the whole game, it exported okay. The rest of the map is either somewhere else in the rip or in one of the files you didn't include.

I made several exports even putting all the files in the same folder and with different versions but I don't know why it doesn't export completely :'(

When I open the folder where the .exe of the game is included, AssetRipper does not search in all the subfolders as for example in "bundles" where it includes all the .unity3d files with the assets and that leads me to open directly the folder "bundles" with AssetRipper and that's why not all the dependencies are loaded, anyway in that case putting everything in the same folder is still not exported.

I was able to rip the whole game without issue. I renamed bundles to StreamingAssets and placed it in the data directory. Then I dropped the exe into AssetRipper. I did not look for your map.
AssetRipperConsole.log


@angular/animations dependency is mandatory but not dependent on

package.json has dev dependency @angular/animations but it should be regular dependency. Otherwise the project that includes this datepicker component does not build.

@angular/animations is part of your angular project, so it is not a regular dependency.


Incorporated prettier and removed redundant files

We would like to use an updated version of eslint for syntax and highlighting and prettier for code formatting.

Prettier has been updated in https://github.com/financialforcedev/eslint-config/pull/11 so I'm closing this PR


PermissionError running Flaskserver from IDE on Raspberry PI

Traceback (most recent call last):
File "/home/pi/github/ThermostatSupervisor/flaskserver.py", line 46, in
app.run(host='<IP_ADDRESS>', port=flask_port)
File "/usr/lib/python3/dist-packages/flask/app.py", line 943, in run
run_simple(host, port, self, **options)
File "/usr/lib/python3/dist-packages/werkzeug/serving.py", line 814, in run_simple
inner()
File "/usr/lib/python3/dist-packages/werkzeug/serving.py", line 774, in inner
fd=fd)
File "/usr/lib/python3/dist-packages/werkzeug/serving.py", line 660, in make_server
passthrough_errors, ssl_context, fd=fd)
File "/usr/lib/python3/dist-packages/werkzeug/serving.py", line 577, in init
self.address_family), handler)
File "/usr/lib/python3.7/socketserver.py", line 452, in init
self.server_bind()
File "/usr/lib/python3.7/http/server.py", line 137, in server_bind
socketserver.TCPServer.server_bind(self)
File "/usr/lib/python3.7/socketserver.py", line 466, in server_bind
self.socket.bind(self.server_address)
PermissionError: [Errno 13] Permission denied

this permission error is a result of attempting to bind port 80 when not in sudo/root mode.
sudo thonny will invoke Thonny in root and then you won't see this error.
https://stackoverflow.com/questions/51396047/running-flask-on-port-80-in-linux

using port other than 80 will also mitigate this issue.


USHIFT-2546: Remove go mod toolchain on rebase

/assign @eslutsky

Which issue(s) this PR addresses:

Closes #

/lgtm


Add additional native library lookup logic.

Add additional native library lookup logic.

See #154.

This was resolved with #154


adding ZAP properties for mvn runner

adding ZAP properties for mvn runner to enable OWASP ZAP test together with Selenium

LGTM.


fix SingleChildScrollView clip bug

Description
  bool _shouldClipAtPaintOffset(Offset paintOffset) {
    assert(child != null);
    return paintOffset < Offset.zero || !(Offset.zero & size).contains((paintOffset & child.size).bottomRight);
  }

This function has two bugs:

paintOffset < Offset.zero The result is not expected
Rect.contains exclude their bottom and right edges, Cause unnecessary clipRect and affect performance

Incredibly this bug has existed for several years
Related Issues
Bug found during code review
Fixes https://github.com/flutter/flutter/issues/61434
Tests
I added the following tests:
'SingleChildScrollView does not clipRect when the child size equals parent size'
Checklist
Before you create this PR, confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I signed the CLA.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I updated/added relevant documentation (doc comments with ///).
[x] All existing and new tests are passing.
[x] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Did any tests fail when you ran them? Please read Handling breaking changes.

[x] No, no existing tests failed, so this is not a breaking change.
[ ] Yes, this is a breaking change. If not, delete the remainder of this section.

[ ] I wrote a design doc: https://flutter.dev/go/template Replace this with a link to your design doc's short link
[ ] I got input from the developer relations team, specifically from: Replace with the names of who gave advice
[ ] I wrote a migration guide: https://flutter.dev/go/breaking-changes-template Replace this with a link to a pull request that adds the migration guide to https://flutter.dev/docs/release/breaking-changes

This is breaking some Google internal golden images as noted in b/163420457. @goderbauer @Piinks @renyou: Should we do the following, or directly modify the Google internal tests? If we need to add a flag, I wonder what the best way is to expose that flag. Adding it as an optional named parameter to SingleChildScrollView constructor with deprecation warning and remove it as soon as possible?
(1) revert the commit,
(2) submit a new commit with a flag to preserve the old behavior by default, but allow new behavior to be opted in
(3) enable the flag in Google internal tests
(4) remove the flag in Flutter

@liyuqian Hi, I want to ask a question, how can I capture a special frame SkPicture by flutter screenshot --type=skia --observatory-uri, I found it only captures the 1st frame of the APP.

It should capture the current frame of the app instead of the 1st frame of
the app. In what version of Flutter did you find this problem? I'm
currently having difficulty in visualizing the skp due to
https://bugs.chromium.org/p/skia/issues/detail?id=10588
On Tue, Aug 11, 2020 at 2:06 AM xubaolin<EMAIL_ADDRESS>wrote:

@liyuqian https://github.com/liyuqian Hi, I want to ask a question, how
can I capture a special frame SkPicture by flutter screenshot --type=skia
--observatory-uri, I found it only captures the 1st frame of the APP.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/pull/63054#issuecomment-671826611,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFPMGMBX63KVGJHLOIHYNZLSAECYBANCNFSM4PWJUB7A
.

Just chatted with @renyou offline. He'll check if the failures are just small AA changes. If so, we can just rebaseline the images without having to do anything extra regarding this commit.


Web App Empty array of requests

Not handled in a user friendly way, displays nothing, we want a message telling the shelter that they have no requests of that type

To reproduce: The shelter has no pending requests for request page, for history page, has no approved or denied requests.


Authentication problem with api.followers_ids

I'm having a problem when using api.followers_ids. The code is quite simple:
user_id =<PHONE_NUMBER>
followers = api.followers_ids(user_id)

I have already test my authentication with:
# test authentication
try:
    api.verify_credentials()
    print("Authentication OK")
except:
    print("Error during authentication")

Which prints: Authentication OK.
But still I'm getting this error:
[{'message': 'Your credentials do not allow access to this resource', 'code': 220}]

Does somebody knows what I'm doing wrong?

I'm able to reproduce this. It seems to be an issue with Twitter's API:
https://twittercommunity.com/t/multiple-endpoints-are-failing-across-the-api/157534

This seems to be resolved now.


Fix the port number so the route points to the right port

There is a bug in operator-custom-metrics that is not allowing the route to be updated https://github.com/openshift/operator-custom-metrics/issues/4
To get around that, this PR reverts the port number for the metrics endpoint to the previously used port number, which the current route already points to. There was no obvious reason to change this port number anyway. This does not fix the bug in the vendored code, but is just a work around.

/lgtm


docs: Move project utilities to the docs folder

What type of PR is this? (check all applicable)

[x] 🍕 Feature
[ ] 🐛 Bug Fix
[x] 📝 Documentation Update
[ ] 🎨 Style
[ ] 🧑💻 Code Refactor
[ ] 🔥 Performance Improvements
[ ] ✅ Test
[ ] 🤖 Build
[ ] 🔁 CI
[ ] 📦 Chore (Release)
[ ] ⏩ Revert

Description
This PR moves project utilities to the docs folder.

Related Tickets & Documents

Fixes issue #166
Mobile & Desktop Screenshots/Recordings

Added tests?

[ ] 👍 yes
[x] 🙅 no, because they aren't needed
[ ] 🙋 no, because I need help

Added to documentation?

[ ] 📜 README.md
[x] 📓 docs.opensauced.pizza
[ ] 🍕 dev.to/opensauced
[ ] 📕 storybook
[ ] 🙅 no documentation needed

[optional] Are there any post-deployment tasks we need to perform?
No
[optional] What gif best describes this PR or how it makes you feel?

This needs a rebase from beta. I believe the failing check is fixed on that branch.

This needs a rebase from beta. I believe the failing check is fixed on that branch.

Checking in again @Susmita-Dey

Hey @bdougie I'm having my final year exams so busy with that. It's highly requested to give me some time till 20th July. I'll complete the tasks after that.

Hey @bdougie I'm having my final year exams so busy with that. It's highly requested to give me some time till 20th July. I'll complete the tasks after that.

Thanks for heads up. We can take this contribution over then and cherry pick your commits.
It is a quick rebase. Good luck with the exams.


Guide: How to compile OpenBLAS on Ubuntu ( Ubuntu 20.04 / Ubuntu 22.04)

Recently in the tossing project, openBLAS is used in the project, and using an older version, happens to have no binary release, and also needs to support ARM builds.
So, I wrote a document describing how to build OpenBLAS from zero to one:

The document: https://soulteary.com/2022/07/08/into-vector-computing-compiling-openblas-from-source.html (maybe need google translate)
The tossing project I mentioned: https://github.com/milvus-io/milvus

Hope the project will get better and better!

Thanks for the pointer, great writeup, just some quick comments:

why use such an old version as 0.3.9 ?
you can find all available make options with a short description in Makefile.rule
there is usually no need to run the make under sudo, it is generally safer to do it only for the make install(where you usually need to write into system folders)
you can use make lapack-test for extensive testing of BLAS and LAPACK correctness, or get xianyi's BLAS-Tester project from github (BLAS testsuite adapted from ATLAS)
the libjulia-openblas64 you found for newer Debian is probably built with the INTERFACE64=1 option (use 64bit integers), which may not be compatible with your own programs unless you use similar options when building your code
the history of OpenBLAS actually goes back ten more years, it starts with the groundbreaking GotoBLAS library of Japanese developer Kazushige Goto - Goto had to abandon it when he left academia and started work at Microsoft. (Nowadays he is probably one of the masterminds behind Intel's MKL)

You can cross-compile aarch64 binaries on x86_64 , using gcc and gfortran (and binutils) cross packages. i.e
HOSTCC=cc CC=aarch64-linux-gnu-gcc FC=aarch64-linux-gnu-gfortran TARGET=ARMV8 DYNAMIC_ARCH=1 NUM_THREADS=256
(note DYNAMIC_OLDER has no effect there)
Process is fairly similar to embedded SDK-s around. You can even use qemu binfmt to run them emulated as if they were native executables for tests. Raspberry jumps circles around emulator.
If you wish to make single package for all debians, you should use one (with) oldest (glibc) to make the package.

thank you very much @brada4 ! I will update some content later, about the above content suggestion.

Also thanks for your correction. @martin-frbg
Regarding the question, as far as I understand it:
Most projects, especially complex projects with multiple dependencies, do not have much research and investigation on the version of the basic computing library, and the updated version may have potential risks for maintainers: A lot of unanticipated workload.
Finally, an additional suggestion that I didn't mention in the article: Is it possible to have OpenBLAS use GitHub Actions to build, so that the artifacts can be added to the GitHub Release page with clarity and transparency, even to complement previous ancient releases binary file.
Thank you again for your pointers and suggestions, it is very necessary for me to write a detailed content. @martin-frbg

Binaries are provided for Windows where median developer has MSVC compiler that itself cannot build assembly and fortran code paths, as to save extreme complexity for casual end user. No problem building or getting distributed package on others (by distro, or if you choose to embed version tested by you)

yes I guess it should be possible to set up Github Actions that create binary packages for various platforms at release time. Still need to look up how that is done... the current Windows binaries are compiled and uploaded manually by me with each release.


[import/no-unused-modules] not correctly handling export { default } from 'foo' syntax

I've been really interested in using the import/no-unused-modules rule in one of my React projects, but it seems to be incorrectly reporting an error when it sees the export { default } from 'foo' syntax:
/usr/src/app/app/pages/About/index.js
  1:1  error  exported declaration 'default' not used within other modules  import/no-unused-modules

It's been a bit tricky for me to reproduce with a smaller example, as it seems to be somewhat reliant on the Babel and Webpack plugins, but I have been able to produce a branch of my project with 95% of the files removed and still demonstrate the issue. I think I've gotten the problem narrowed to the following four files in that branch:
//==============================================================================
// app/init.jsx
import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter } from 'react-router-dom';
import Routes from './routes';

ReactDOM.render((
  <BrowserRouter>
    <Routes />
  </BrowserRouter>
), document.getElementById('root'));

//==============================================================================
// app/routes.jsx
import React from 'react';
import { Route, Switch } from 'react-router-dom';

import About from './pages/About';

export default () => (
  <Switch>
    <Route path="/about" component={About} />
  </Switch>
);

//==============================================================================
// app/pages/About/index.js
export { default } from './About';

//==============================================================================
// app/pages/About/About.jsx
import React from 'react';

export default class About extends React.Component {
  render() {
    return (
      <article>
        <header>
          About the SF Service Guide
        </header>
      </article>
    );
  }
}

Any help I could get with this would be greatly appreciated. If there's a way for me to dump out extra logging information, I'd be willing to attach it here.

Here are the versions of relevant packages, and you can check out the package.json in the branch I linked to for the full details:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
On the branch I linked to, you should be able to reproduce the problem with the following commands:
git clone https://github.com/ShelterTechSF/askdarcel-web.git -b test-unused-modules
cd askdarcel-web
npm install
npm run lint

@ljharb -- any updates on getting what @richardxia worked on into the next release? 😄


Metadata to ACL Operation

This patch adds a metadata-to-acl workflow operation which can be used
to automatically add access rights for users mentioned in metadata
fields to the access control list.
The operation works like this:

Get values for configured field from the episode Dublin Core catalog
Look up if a user with this username exists
Add read and write permissions for this user

Your pull request should…

[x] have a concise title
[x] close an accompanying issue if one exists
[x] be against the correct branch
[x] include migration scripts and documentation, if appropriate
[x] pass automated tests
[x] have a clean commit history
[x] have proper commit messages (title and body) for all commits

Added another sentence mentioning this. Now it's in both the general description and in the description how this works.
The admin interface's behavior is actually pretty strange, since it presents the username to the user but seems to replace it in the backend so that the metadata value has changed when you next come back to the interface. But, I guess, that's a different issue.


Inf/NaN in shader

The expression
exp((atmos_fInnerRadius - atmos_fCameraHeight) / RaleighScaleDepth)

will be an inf if the camera height is computed as below the surface of the Earth by more than about 22m (I've not yet established why that's happened to me as it isn't). This then propagates into the atmos_color varying, and gets turned into NaNs by the rasteriser, which then pollutes every calculation the fragment shader does with anything that's dependent, eventually making the output colour NaN, ruining the whole fragment.
There should probably be some clamping here to make the shader more robust.
There might be another issue report coming later once I figure out how I got into this situation in the first place if it turns out it's Rocky's fault rather than a problem with how it's integrated into the app I'm working on.

Changing it to exp(min(atmos_fInnerRadius - atmos_fCameraHeight, 0.0) / RaleighScaleDepth) prevents the inf/NaN.

Pushed your fix :) Thanks. That is some old code ported over from osgEarth.


CSS polish

Nothing should really change because of this, purely implementation details.
cc @jmagnusson :eyes:

I think your CSS/HTML skills severly out-whey mine. So do it :wink:

@jmagnusson

@jmagnusson Feeling done, mind trying this out before I merge? :eyes: :heart:

Had to update the dev dependencies to be able to run gulp. But everything seems just fine :+1:


Error creating pseudotranscriptome from RefSeq fasta/GTF

Hello,
When running gedi -e CreatePseudo ... with a fasta and GTF file from RefSeq, it finishes in less than a second and no files are created. The output from gedi is:
2024-11-29 18:04:03.248 INFO OS: Linux 4.18.0-477.74.1.el8_8.x86_64 amd64
2024-11-29 18:04:03.301 INFO Java: OpenJDK 64-Bit Server VM 21.0.2-internal-adhoc.conda.src
2024-11-29 18:04:03.353 INFO Discovering classes in classpath
2024-11-29 18:04:03.573 INFO Preparing simple class references
2024-11-29 18:04:03.646 INFO Gedi version 1.0.6b (JAR) startup
2024-11-29 18:04:03.647 INFO Command: gedi -e CreatePseudo -fasta hg38.fa -gtf hg38.ncbiRefSeq.gtf -out pseudo
hg38.fa
Exception in thread "main" java.lang.IllegalStateException: No match found
        at java.base/java.util.regex.Matcher.checkMatch(Matcher.java:1852)
        at java.base/java.util.regex.Matcher.group(Matcher.java:687)
        at gedi.util.createOnlyExonGenome.fastaSeparator(createOnlyExonGenome.java:55)
        at executables.CreatePseudo.main(CreatePseudo.java:48)
2024-11-29 18:04:03.697 INFO Finished: gedi -e CreatePseudo -fasta hg38.fa -gtf hg38.ncbiRefSeq.gtf -out pseudo
2024-11-29 18:04:03.698 INFO Warnings: 0, errors: 0!
2024-11-29 18:04:03.699 INFO Took 462ms

I confirmed that this step works with a fasta and gtf from ensembl. Notably, the only real difference that I can think of is that the ensembl reference doesn't include the prefix "chr" in its chromosome names. Let me know if any additional information would be useful.
Best,
Isaac

Problem seems to be that the regex defined on line 54 of fastaSeparator method (Pattern p = Pattern.compile("(\\S+)\\s");, expects white space following the chromosome name in the fasta file. RefSeq fasta files typically looks like:
>chr1
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN

while a fasta file from ensembl might look like
>22 dna:chromosome chromosome:GRCh38:22:1:50818468:1 REF
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN

The regex explicitly requires there to be whitespace following the chromosome name, which exists in the Ensembl but not the RefSeq fasta file.
Since the grandRescue function in question doesn't use anything but the first capture group, maybe Pattern p = Pattern.compile("^(\\S+)"); would be better?


Expose parsed options object in ParserResult

I tried using this library in my project today. I'm able to parse the command line from the examples just fine, but found no way to access the parsed options object directly from ParserResult.
By my coding style, I prefer not use callbacks here (i.e. WithParsed and WithNotParsed). I'm already able to use the Tag property to check if parsing succeeded. Am I just missing something here or can a property exposing the parsed object be added?

You can access Options from ParserResult :
   var options =  (result as Parsed<Options>)?.Value;

@moh-hassan That's good to know, I'll use that. I think it would still be nice to have a property available neatly. Are there any specific challenges preventing that?

having a simple option to get the parsed options value back would be great. Currently with the callback options, it makes it very difficult to use the Main return value, or to use an asynchonous Main.
// doesn't work...
public static async Task<int> Main(params string[] args)
{
    Parser.Default.ParseArguments<Options>(args)
        .WithParsed(await RunMyActualProg)
       .WithNotParsed(ShowSomeError);
    // how to get my return value from `RunMyActualProg` without some weird hacks?
}

// works but is ugly...
public static async Task<int> Main(params string[] args)
{
    Options options = null;
    Parser.Default.ParseArguments<Options>(args)
        .WithParsed(o => options = o;)
       .WithNotParsed(ShowSomeError);

    if ( options !=null )
    {
       return await RunMyActualProg(options);
    }
    return 15; // some error code. Arg issues should have been printed from above
}

It would be nice to just do something like this instead:
// much cleaner than above
public static async Task<int> Main(params string[] args)
{

    (Options options, IEnumerable<CommandLine.Error> errors) result =
        Parser.Default.ParseArguments<Options>(args).Result;

    if (result.options != null)
    {
       return await RunMyActualProg(result.options);
    }
    if (result.errors != null)
    {
        foreach (var err in result.errors) { /* do something with errors */ }
        return 1; // command line error
    }
    return 15; // some error code. Arg issues should have been printed from above
}

I think have 3 properties available directly on the ParserResult would be great:

T Options which just returns the options, or default if parsing failed
IReadOnlyCollection<Error> Errors which should never return null. I'd prefer IReadOnlyCollection so a Count check can be performed easily
(T, IReadOnlyCollection<Error>) Result which just returns a ValueTuple of the 2 properties above

I think this makes the API much more flexible and readable to people who don't, or can't use the callbacks to run the application.
I could live without the 3rd option, and just store off the ParserResult using that directly as well.
// much cleaner than above
public static async Task<int> Main(params string[] args)
{

    ParserResult<Options> result = Parser.Default.ParseArguments<Options>(args);

    if (result.Options != null)
    {
       return await RunMyActualProg(result.Options);
    }
    if (result.Errors?.Count > 0)
    {
        foreach (var err in result.Errors) { /* do something with errors */ }
        return 1; // command line error
    }
    return 15; // some error code. Arg issues should have been printed from above
}

@johnjaylward
V2.8 include new WithParsedAsync / WithNotParsedAsync to support async/ await and can be used inside  async static Task Main

The new methods don't really solve the issue here

Can you provide the use case that is  not working by example.

From the original above:

By my coding style, I prefer not use callbacks here (i.e. WithParsed and WithNotParsed). I'm already able to use the Tag property to check if parsing succeeded. Am I just missing something here or can a property exposing the parsed object be added?

The main issue was not having to use the WithParsed and WithNotParsed methods at all.
The Async was just a concrete example of how those methods didn't help.
It also still doesn't solve the issue with return values from Main.
Can we just move the Value property from the Parsed<T> object and put it on ParserResult<T> instead? It seems like a more logical place to put it since ParserResult is already generic however it makes no public references to the generic type.

If you  need to return value to Main, use MapResult

No offense, but I find using the WithParsed and WithNotParsed to be very awkward. I don't really see the point of having a command-line parser being part of my call stack which makes looking at debug logs and stack traces awkward. Once the command line is parsed and I have my Options back, I have no need for the parser object to stay in the stack in any form.
Something simple like this is optimal for me from a command line parsing perspective:
public static async Task<int> Main(params string[] args)
{

    Options options = Parser.Default.ParseArguments<Options>(args)?.Value;

    if (options != null)
    {
       return await RunMyActualProg(options);
    }

    return 15; // some error code. Arg issues should have been printed from above
}

This to me shows a clear separation of concerns (command line parsing vs running the program) and I don't have random LINQ type statements making tracing my program take longer than needed.
Having WithParsed and MapResult calls just adds unneeded overhead, both from a call stack as well as from developer review.

Good casting to get option.
What about in case  Verbs?
Both WithParsed and MapResult are Extension methods for ParserResult and you can add your own.
Separate concerns are respected and both methods execute  method /function or lambda expression and auto cast Option class especially you have many verbs.

Good casting to get option.

I don't agree that that's a good way. It requires the developer to know the implementation that is returned. If an update to the library changes which implementation of the base class is used, the cast will return null. It would be a lower barrier to entry for new users of the library to have a simple property on the base class to access the parsed value or the error array. If the implementation classes don't have a valid value for those properties, returning a decent default value or null would be good.
Would you consider a PR for this if I put one together?

What about in case Verbs?

Not needed for simple cases where a developer just wants to parse some simple options and use them right away.

Both WithParsed and MapResult are Extension methods for ParserResult and you can add your own.

That puts an onus on a consumer of the library to do something that should be fairly out-of-the-box

Separate concerns are respected and both methods execute method /function or lambda expression and auto cast Option class especially you have many verbs.

I would disagree. The With* methods keep the parser in the stack for the call. This is probably fine for more complex user-cases like Verbs (like you mention), but when someone just wants to capture a -v and some/path/to/file.txt it muddies the executing code with the parser in what I feel is unnecessary.

ParserResult is an abstract class and option is accessed via Value property and remove parser from stack.
Parser deal with simple and complex many verb cases.
Can you provide an alternative solution ?

If you need to return value to Main, use MapResult

@moh-hassan I've ended up coming back to this issue 2 or 3 times when I add CommandLineParser to a new project and have forgotten how to use the ParseArguments result.
When you say use MapResult do you mean something like this?
var parseResult = Parser.Default.ParseArguments<Options>(args);
Options opts;
List<Error> errors = null;
int res = parseResult.MapResult(o => { opts = o; return 0; }, e => { errors = e.ToList(); return 0; });

if(errors?.Count > 0)
{
  Console.WriteLine($"Parsing failed: {String.Join('\n', errors)}");
}

@sipsorcery , I believe that pattern should work.
The one I've been using is to just ignore the errors as the default parser generally prints them to stderr anyway. It looks like this:
Options? options = (Parser.Default.ParseArguments(Options.FromAppSettings, args) as Parsed<Options>)?.Value;
if (options == null)
{
    // usage is automatically shown if options == null, which will be true if there is ANY problem parsing the args
    return 2; // or whatever your args-parse error code is.
}
// my options got parsed. run my program

As long as I don't need to log the argument errors somewhere, I find this is the simplest form to use (at least until v2.9 gets released.

This is also a decent way if you do want the errors:
ParserResult<Options> parserResult = Parser.Default.ParseArguments<Options>(args);
if (parserResult is NotParsed<Options> errors)
// also works by checking the `Tag` property parserResult.Tag==ParserResultType.NotParsed
{
    // do something with errors
}
else if (parserResult is Parsed<Options> opts)
// also works by checking the `Tag` property parserResult.Tag==ParserResultType.Parsed
{
    // do something with opts
}
else
{
    //somehow the result was null or something else completely unexpected
}


Page store update bug with svelte 5

Describe the bug
I'm not sure if this is a Svelte5 bug or a Svelte5 specific Sveltekit bug.
But I was not able to reproduce it in the Svelte5 repl.
Reproduction
Svelte 5 (Same example with Svelte 4 is working)
Click the "Toggle" Button.
The slotted content changes from +error.svelte to +page.svelte correctly, but the 3 lines above the button stay the same.
In the console, you can see something like: update {something: true, somethingShouldBe: false}
something is a derived state from $page.status === 401 || $page.url.pathname === '/test' while somethingShouldBe is the exact same condition but inlined in the $inspect rune.
Strange thing is, if you change throw401 to initially be true in routes/+page.server.js, it works correctly.
Or when you change all $page.status === 401 || $page.url.pathname === '/test' conditions to $page.status === 401 in routes/+layout.svelte, it works correctly as well.
Logs
No response
System Info
Svelte5
Sveltekit 1.30.3 & Sveltekit 2.*

Severity
blocking an upgrade
Additional Information
No response

I was able to reproduce it with Svelte 5

Is this still an issue for you? I'm experiencing something similar testing out Svelte 5 with a SvelteKit project. When Subscribing to the built-in Page, Error, or Navigating stores, I get their initial state in the subscribe callback, but never any subsequent updates - e.g., using the auto-subscription syntax to get the current $page.url.pathname just returns the pathname from the initially-loaded route and never updates.


Godot 4 crash when creating GPUParticle node with "Compatibility" project on Macbook M1

Godot version
4.0.stable.mono
System information
Macbook M1, 2021
Issue description
Godot 4 crash when creating GPUParticle node with "Compatibility" project on Macbook M1.
It only "Compatibility" will crash, "Forward+" or "mobile" project will not crash.
Steps to reproduce

Create a new project and select "Compatibility".
Create new node "GPUParticles2D" or "GPUParticles3D".
Godot will crash.

Minimal reproduction project
N/A

@MaxWeiChen Did you find a solution to this problem? If so, please document it here by commenting :slightly_smiling_face:

No, Sorry for that, I don't find solution, I just find other issue that same like it and it explain better then this one, so I closed this one, hope let dev can focus to follow that.
https://github.com/godotengine/godot/issues/72469


Integrate any->any asset transfers/swaps in bridge UI

Now that we have the chain abstraction toolkit done, we can use it to pretty easily add support for any->any swaps in the bridge UI.
Not supporting enough assets was one of the top complaints from users in the past

This is a UI task. We need to break down how CoinHippo needs to integrate the chain abstraction SDK and use it. Scoring based on providing the instructions to CoinHippo.

Ideal state:
We add a combined chain+asset selection modals that replace separate chain and asset selections.
We never grey out selections, we only show what is available with a given chain.
Take https://playground.mean.finance/create/137

The user selects an asset AND chain in the same selection. Depending on their selection, origin chain network is automatically switched for the user.
Say a user is connected to Ethereum, then selects $XOC+Polygon origin, then Polygon is automatically set as their network, the user is prompted to switch in their wallet, and destination is automatcially set as BSC
Say the user changes destination asset to $USDT+Arbitrum, then origin networks remains as Polygon, but the asset is changed to $USDT
Say the user then selects $XOC+Polygon on destination, then the origin chain is changed to BSC, and the user is prompted to change their network
Destination and origin chain can obviously never be the same, so if you select $XOC+Polygon as origin, then every asset + Polygon is hidden in the destination dropdown

Longer term
We want to combine with #4149
So we have the chain+asset modals AND users can swap between assets across chains

Closing this for now.


Null safety & other fixes

Null safety support (added to 0.3.0)
Fix for AndroidX related build warning
Fix for embedding version related build warning
Documentation regenerated for new null-safety version
Fixed pub.dev scoring reported issues:

dartfmt formatting was missing on 2 files: ran on all files once again
old dependencies versions reported: fixed by upgrading
no null safety support: fixed as null safety is added now

@reeteshranjan should we bump to 1.0.0 on this? What do you think?
Even with the last PR it was major overhaul.

@reeteshranjan should we bump to 1.0.0 on this? What do you think?
Even with the last PR it was major overhaul.

I think that makes sense even stability wise. I have been using the plugin pretty extensively and it's intent tunnel appears to be stable. The iOS mechanism is anyway even simpler, and with enough user protection in the presentation layer, it should be good to go.

Cool, please change it to 1.0.0 in changelog and spec yaml then and let's hit the first major version!!!

Cool, please change it to 1.0.0 in changelog and spec yaml then and let's hit the first major version!!!

Done

@drenther should I merge and publish?


Updates to OAuth samples

This PR aims to fix several issues with OAuth in the samples.

Offline map samples use an OAuth pattern where API key is sufficient.
Create and save map, Search for webmap, Authenticate with OAuth, and Navigate in AR all use repeat OAuth code. It is better if each platform has its own helper class for authentication.
Authentication itself is using the wrong TokenAuthenticationType in some cases.
There are several bugs in OAuth samples (especially when a login is cancelled).

PR does the following:

Creates helper classes for each platforms AGOL OAuth authentication.
Updates viewers to display source code for the helper classes.
Updates viewer code to properly clear the authentication manager.
Removes all OAuth code from Offline map samples.
Updates "Create and save map" to use new Basemap constructors.
Replaces Xamarin.Auth with Xamarin.Essentials.
Corrects wrong usage of OAuthImplicit.

The author map basemap loads were an artifact from when I was trying to rewrite the sample by setting the API key on the basemap. They are not needed for the new pattern.

Some issues I'm seeing in the impacted samples:
(all sample viewers)
Create and save map - Selecting to create a new map wipes out map view and does not repopulate the map view after a selection is made.

@ZackAllen Looks like you resolved all my comments/questions.
A good and necessary enhancement.
Approved.


Add support for the instances and virtual-machines endpoints.

Codecov Report

Merging #386 into master will decrease coverage by 0.32%.
The diff coverage is 90.2%.

@@            Coverage Diff             @@
##           master     #386      +/-   ##
==========================================
- Coverage   96.45%   96.13%   -0.33%
==========================================
  Files          12       14       +2
  Lines        1044     1061      +17
  Branches      121      123       +2
==========================================
+ Hits         1007     1020      +13
- Misses         16       18       +2
- Partials       21       23       +2

Impacted Files
Coverage Δ

pylxd/client.py
98.81% <100%> (+0.01%)
:arrow_up:

pylxd/managers.py
100% <100%> (ø)
:arrow_up:

pylxd/models/container.py
100% <100%> (+9.74%)
:arrow_up:

pylxd/models/virtual_machine.py
100% <100%> (ø)

pylxd/models/storage_pool.py
96.77% <50%> (-3.23%)
:arrow_down:

pylxd/models/instance.py
90.28% <90.28%> (ø)

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 ba0161c...8e351b0. Read the comment docs.


Improvements

Companion PR of https://github.com/magic-wormhole/magic-wormhole-protocols/pull/36
I'm opening this mostly for CI atm, as I don't really have a development environment for this project

Deployment considerations: I think we have six possible configurations, if we ignore which "side" of the two peers is "new" versus "old" (otherwise there are more combinations).
We can have an old or new server and old or new peers (where the relevant distinction is "are they the same or different"). So we have "both-old" peers, "both-new" peers and "mixed" peers.
The six cases are:

old server, new peers
old server, old peers
old server, mixed peers
new server, new peers
new server, old peers
new server, mixed peers

So, for the new argument ("allocate=False") to claim we need to know what happens in these cases.
Same for the proposed new flag to allocated.


NoSQL challenge improvments

Hi,
i worked some more on the datacreation stuff
This should address the open todos from #370.
Reviews are now configurable in the yml config files and the email addresses of the authors will follow the schema as discussed in #370.

[x] Eliminate datacreator configuability issue (see original comment above)
[x] Refer to user emails in datacreator as jim@' + config.get('application.domain') to keep it working in customised setups

Just rebased the branch onto develop and will merge & delete this branch once the build passes! Thanks a lot! 👍


Bindings for Haskell?

Yeah good idea. In fact we should rewrite the entire thing in haskell, that way no one will run this code, guaranteed.

I already did not submit a PR to add Haskell bindings. You can find it not listed in the Pull Requests. Feel free to add comments here if you have any feedback on it.


Recursion error when creating AutoTokenizer for llama-13b-hf

When creating AutoTokenizer for llama-13b-hf, the problem of RecursionError: maximum recursion depth exceeded while getting the str of an object occurred.
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)

in https://github.com/casper-hansen/AutoAWQ/blob/main/awq/entry.py
Maybe the original code in llm-awq is better for different model types:
# all hf model
config = AutoConfig.from_pretrained(model_path, trust_remote_code=True)
if "mpt" in config.__class__.__name__.lower():
    enc = AutoTokenizer.from_pretrained(config.tokenizer_name, trust_remote_code=True)
else:
    enc = AutoTokenizer.from_pretrained(model_path, use_fast=False, trust_remote_code=True)

I think this may be an error on the AutoTokenizer class or the repository itself. Not sure if this is easily fixable since the error is on the side of either huggingface or the person who created the repo

After looking further into this, it seems this is not something that is fixable since it relates to a broken tokenizer.

llama-7b-hf also meets the same error

Setting use_fast=False can resolve this issue.
tokenizer = AutoTokenizer.from_pretrained(model_name, use_fast=False)

Best regards,
Shuyue
July 6th, 2024


How to make it work with Chromecast

Hi,
I am trying to cast youtube live streams in chromecast, i am still getting cors error using crossorigin.me proxy.
Do any know how to make it work with chromecast?
Example live stream
https://www.youtube.com/watch?v=XOacA3RYrXk
Thanks

This ticket seems misplaced. I'll close this one since you've already opened a new ticket at the right place: https://github.com/technoboy10/crossorigin.me/issues/113


Add a way to turn a regular Parser into an IterParser so that chumsky can be used as a stream transformer

Example APIs:
Parser::into_iter_parser(self) -> impl IterParser where O: IntoIterator
IterParser::chain(self, impl IterParser) -> impl IterParser
IterParser::repeated(self) -> impl IterParser // TODO: Conflict with <Repeated as Parser>::repeated?

Existential crisis time: should IterParser and Parser be generalised? We could have:
trait Parser<I, O> {
    fn repeated() -> ...
    fn delimited_by(_, _) -> ...
    fn then(_) -> ...
    fn map(_) -> ...
    fn validate(_) -> ...
}

and then ValueParser and IterParser that extend this core trait for the following cases:

ValueParser: for parsers with exactly one output (an AST node, say)
IterParser: for parsers with any number of outputs (lexers, stream transformers, etc.)

trait ValueParser<I, O> {
    fn then_with_ctx(_) -> ...

    fn parse(_) -> Result<O, _>
    fn check(_) -> Result<O, _>
}

trait IterParser<I, O> {
    fn count() -> ...
    fn enumerate() -> ...
    fn collect() -> ...

    fn parse_iter(_) -> impl Iterator<Item = Result<O, _>>
    fn check_iter(_) -> impl Iterator<Item = Result<(), _>>
}

Thinking about https://github.com/zesterer/chumsky/issues/399#issuecomment-1514303977, it seems like we may be able to sidestep the issues with generalizing ParserIter by only enabling it for parsers which do not perform backtracking (which I believe should be true of most tokenizers). This doesn't address the larger issue, but it may be able to unblock many use cases for pipelined parsing as per #399. Would that be an acceptable interim solution?


feat: generate nonce for HttpAgent calls

Description
HttpAgent will now provide a unique nonce in calls to ensure that the replica treats each call as unique.
How Has This Been Tested?
Tested in our integration test suie
Checklist:

[x] My changes follow the guidelines in CONTRIBUTING.md.
[x] The title of this PR complies with Conventional Commits.
[x] I have edited the CHANGELOG accordingly.
[x] I have made corresponding changes to the documentation.

There is at least one place that is still calling <agent>.addTransform(makeNonceTransform()): https://github.com/dfinity/agent-js/blob/main/demos/ledgerhq/src/main.js#L86
and a few that add a different nonce transform, but without specifying the disableNonce option. Examples:

https://github.com/dfinity/agent-js/blob/main/packages/agent/src/agent/http/http.test.ts#L52
https://github.com/dfinity/agent-js/blob/main/packages/agent/src/actor.test.ts#L102

Updated the changelog with upgrade instructions!


inner_margin in Style

Fixes(?) https://github.com/Adanos020/egui_dock/issues/64
It seems that this is enough for the inner_margin setting to work in the examples.
There are a few more places (Tab, TabBuilder), but they are marked #[deprecated]

One last thing, there are some errors in CI that need resolving before I can merge.

One last thing, there are some errors in CI that need resolving before I can merge.

I messed up the merge with my own branch :)
Should be fine now.

Great, thanks!

Thank you! Please kick me if there is an opportunity to fix something on the little things.

@msheldyakov If you want, you can take a look at the list of issues and try resolving some of them!