artisan (tenancy:run) route:list doesn't show tenant routes

Description
On the cli php artisan route:list would show a list of all defined routes in the application. With tenancy perhaps one would use php tenancy:run route:list to load in all tenancy requirements.

Actual behavior
The list (with or without tenancy:run) only shows routes that are defined in routes/web.php, not the routes that are defined in routes/tenants.php.
Expected behavior
The routes defined in routes/tenants will also be listed on command line interface.

Information

hyn/multi-tenant version: 5.3.1
laravel version: 5.7.16
database driver and version: mysql 5.7.24
webserver software and version: nginx 1.15.5
php version: 7.2.11

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' => true,
    ],
    '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,
//      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,
        ]
    ]
];

webserver.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
 */

return [

    /**
     * Apache2 is one of the most widely adopted webserver packages available.
     *
     * @see http://httpd.apache.org/docs/
     * @see https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu
     */
    'apache2' => [
        /**
         * Whether the integration with Apache2 is currently active.
         */
        'enabled' => false,

        /**
         * Define the ports of your Apache service.
         */
        'ports' => [
            /**
             * HTTP, non-SSL port.
             *
             * @default 80
             */
            'http' => 80,
            /**
             * HTTPS, SSL port.
             *
             * @default 443
             */
            'https' => 443
        ],

        /**
         * The generator taking care of hooking into the Apache services and files.
         */
        'generator' => \Hyn\Tenancy\Generators\Webserver\Vhost\ApacheGenerator::class,

        /**
         * The view that holds the vhost configuration template.
         */
        'view' => 'tenancy.generators::webserver.apache.vhost',

        /**
         * Specify the disk you configured in the filesystems.php file where to store
         * the tenant vhost configuration files.
         *
         * @info If not set, will revert to the default filesystem.
         */
        'disk' => null,

        'paths' => [

            /**
             * Location where vhost configuration files can be found.
             */
            'vhost-files' => [
                '/etc/apache2/sites-enabled/'
            ],

            /**
             * Actions to run to work with the Apache2 service.
             */
            'actions' => [
                /**
                 * Action that asserts Apache2 is installed.
                 */
                'exists' => '/etc/init.d/apache2',
                /**
                 * Action to run to test the apache configuration.
                 *
                 * @set to a boolean to force the response of the test command.
                 * @info true succeeds, false fails
                 */
                'test-config' => 'apache2ctl -t',
                /**
                 * Action to run to reload the apache service.
                 *
                 * @info set to null to disable reloading.
                 */
                'reload' => 'apache2ctl graceful'
            ]
        ]
    ],

    /**
     * Nginx webserver support.
     *
     * @see http://nginx.org
     */
    'nginx' => [
        /**
         * Whether the integration with nginx is currently active.
         */
        'enabled' => true,

        /**
         * The php sock to be used.
         */
        'php-sock' => 'unix:/var/run/php/php7.2-fpm.sock',

        /**
         * Define the ports of your nginx service.
         */
        'ports' => [
            /**
             * HTTP, non-SSL port.
             *
             * @default 80
             */
            'http' => 80,
            /**
             * HTTPS, SSL port.
             *
             * @default 443
             */
            'https' => 443
        ],

        /**
         * The generator taking care of hooking into the nginx services and files.
         */
        'generator' => \Hyn\Tenancy\Generators\Webserver\Vhost\NginxGenerator::class,

        /**
         * The view that holds the vhost configuration template.
         */
        'view' => 'tenancy.generators::webserver.nginx.vhost',

        /**
         * Specify the disk you configured in the filesystems.php file where to store
         * the tenant vhost configuration files.
         *
         * @info If not set, will revert to the default filesystem.
         */
        'disk' => null,

        'paths' => [

            /**
             * Location where vhost configuration files can be found.
             */
            'vhost-files' => [
                '/etc/nginx/sites-enabled/'
            ],

            /**
             * Actions to run to work with the Nginx service.
             */
            'actions' => [
                /**
                 * Action that asserts nginx is installed.
                 */
                'exists' => 'sudo /etc/init.d/nginx',
                /**
                 * Action to run to test the nginx configuration.
                 *
                 * @info set to a boolean to force the response of the test command.
                 *  true succeeds, false fails
                 */
                'test-config' => 'sudo /etc/init.d/nginx configtest',
                /**
                 * Action to run to reload the nginx service.
                 *
                 * @info set to null to disable reloading.
                 */
                'reload' => 'sudo /etc/init.d/nginx reload'
            ]
        ]
    ]
];

database.php config
<?php

return [

    /*
    |--------------------------------------------------------------------------
    | Default Database Connection Name
    |--------------------------------------------------------------------------
    |
    | Here you may specify which of the database connections below you wish
    | to use as your default connection for all database work. Of course
    | you may use many connections at once using the Database library.
    |
    */

    'default' => env('DB_CONNECTION', 'mysql'),

    /*
    |--------------------------------------------------------------------------
    | Database Connections
    |--------------------------------------------------------------------------
    |
    | Here are each of the database connections setup for your application.
    | Of course, examples of configuring each database platform that is
    | supported by Laravel is shown below to make development simple.
    |
    |
    | All database work in Laravel is done through the PHP PDO facilities
    | so make sure you have the driver for your particular database of
    | choice installed on your machine before you begin development.
    |
    */

    'connections' => [

        'sqlite' => [
            'driver' => 'sqlite',
            'database' => env('DB_DATABASE', database_path('database.sqlite')),
            'prefix' => '',
            'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
        ],

        'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '<IP_ADDRESS>'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'prefix_indexes' => true,
            'strict' => true,
            'engine' => null,
        ],

        'pgsql' => [
            'driver' => 'pgsql',
            'host' => env('DB_HOST', '<IP_ADDRESS>'),
            'port' => env('DB_PORT', '5432'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'charset' => 'utf8',
            'prefix' => '',
            'prefix_indexes' => true,
            'schema' => 'public',
            'sslmode' => 'prefer',
        ],

        'sqlsrv' => [
            'driver' => 'sqlsrv',
            'host' => env('DB_HOST', 'localhost'),
            'port' => env('DB_PORT', '1433'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'charset' => 'utf8',
            'prefix' => '',
            'prefix_indexes' => true,
        ],

        'system' => [
            'driver' => 'mysql',
            'host' => env('TENANCY_HOST', '<IP_ADDRESS>'),
            'port' => env('TENANCY_PORT', '3306'),
            'database' => env('TENANCY_DATABASE', 'tenancy'),
            'username' => env('TENANCY_USERNAME', 'homestead'),
            'password' => env('TENANCY_PASSWORD', 'secret'),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ]
    ],

    /*
    |--------------------------------------------------------------------------
    | Migration Repository Table
    |--------------------------------------------------------------------------
    |
    | This table keeps track of all the migrations that have already run for
    | your application. Using this information, we can determine which of
    | the migrations on disk haven't actually been run in the database.
    |
    */

    'migrations' => 'migrations',

    /*
    |--------------------------------------------------------------------------
    | Redis Databases
    |--------------------------------------------------------------------------
    |
    | Redis is an open source, fast, and advanced key-value store that also
    | provides a richer body of commands than a typical key-value system
    | such as APC or Memcached. Laravel makes it easy to dig right in.
    |
    */

    'redis' => [

        'client' => 'predis',

        'default' => [
            'host' => env('REDIS_HOST', '<IP_ADDRESS>'),
            'password' => env('REDIS_PASSWORD', null),
            'port' => env('REDIS_PORT', 6379),
            'database' => env('REDIS_DB', 0),
        ],

        'cache' => [
            'host' => env('REDIS_HOST', '<IP_ADDRESS>'),
            'password' => env('REDIS_PASSWORD', null),
            'port' => env('REDIS_PORT', 6379),
            'database' => env('REDIS_CACHE_DB', 1),
        ],

    ],

];

.env
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:GwkB/BVGuIZBIAGsdGu1YNaHcrPXDbmZz6RleGh1SLg=
APP_DEBUG=true
APP_URL=http://localhost

LOG_CHANNEL=stack

DB_CONNECTION=tenant
DB_HOST=<IP_ADDRESS>
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

TENANCY_HOST=<IP_ADDRESS>
TENANCY_PORT=3306
TENANCY_DATABASE=tenancy
TENANCY_USERNAME=homestead
TENANCY_PASSWORD=secret

BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120

REDIS_HOST=<IP_ADDRESS>
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1

MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

LIMIT_UUID_LENGTH_32=true
TENANCY_DEFAULT_CONNECTION=tenant

routes/web.php
<?php

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/', function () {
    return view('welcome');
});

routes/tenants.php
<?php

Route::middleware('web')
    ->namespace('App\\Http\\Controllers\\')
    ->group(function ()
    {
        Auth::routes();

        Route::get('/home', 'HomeController@index')->name('home');
    });

Command line interface
vagrant@laravel-app-multi-tenant-route-list:~/code$ artisan route:list
+--------+----------+----------+------+---------+--------------+
| Domain | Method   | URI      | Name | Action  | Middleware   |
+--------+----------+----------+------+---------+--------------+
|        | GET|HEAD | /        |      | Closure | web          |
|        | GET|HEAD | api/user |      | Closure | api,auth:api |
+--------+----------+----------+------+---------+--------------+
vagrant@laravel-app-multi-tenant-route-list:~/code$ artisan tenancy:run route:list
+--------+----------+----------+------+---------+--------------+
| Domain | Method   | URI      | Name | Action  | Middleware   |
+--------+----------+----------+------+---------+--------------+
|        | GET|HEAD | /        |      | Closure | web          |
|        | GET|HEAD | api/user |      | Closure | api,auth:api |
+--------+----------+----------+------+---------+--------------+

The routes are perfectly working when going there with a browser:

@luceos Perhaps I am trying something that is not ment to be. Could you elaborate on how you think about tenant routes in scope other then http protocol (like cli)?

Hi @fletch3555 thank you for your time,
The example I give on this page is with a clean install of Laravel 5.7. And hyn/multi-tenant is auto loaded in the app.
composer.json
{
    "name": "laravel/laravel",
    "type": "project",
    "description": "The Laravel Framework.",
    "keywords": [
        "framework",
        "laravel"
    ],
    "license": "MIT",
    "require": {
        "php": "^7.1.3",
        "fideloper/proxy": "^4.0",
        "hyn/multi-tenant": "5.3.*",
        "laravel/framework": "5.7.*",
        "laravel/homestead": "^7.19",
        "laravel/tinker": "^1.0"
    },
    "require-dev": {
        "beyondcode/laravel-dump-server": "^1.0",
        "filp/whoops": "^2.0",
        "fzaninotto/faker": "^1.4",
        "mockery/mockery": "^1.0",
        "nunomaduro/collision": "^2.0",
        "phpunit/phpunit": "^7.0"
    },
    "config": {
        "optimize-autoloader": true,
        "preferred-install": "dist",
        "sort-packages": true
    },
    "extra": {
        "laravel": {
            "dont-discover": []
        }
    },
    "autoload": {
        "psr-4": {
            "App\\": "app/"
        },
        "classmap": [
            "database/seeds",
            "database/factories"
        ]
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "minimum-stability": "dev",
    "prefer-stable": true,
    "scripts": {
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover --ansi"
        ],
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate --ansi"
        ]
    }
}

Homestead.yaml
ip: <IP_ADDRESS>
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
    - ~/.ssh/id_rsa
folders:
    -
        map: /home/anne/WebDev/playground/laravel-app-multi-tenant-route-list
        to: /home/vagrant/code
sites:
    -
        map: homestead.test
        to: /home/vagrant/code/public
    -
        map: foo.test
        to: /home/vagrant/code/public
databases:
    - homestead
    - tenancy
name: laravel-app-multi-tenant-route-list
hostname: laravel-app-multi-tenant-route-list

There is no customized code in the fresh installed Laravel app.
The only added code is in:

config/webserver.php
config/tenancy.php
routes/tenants.php
routes/web.php
.env
Homestead.yaml

(All mentioned files are shown in the above.)
I think this may qualify as 'standard out-of-the-box' installation of Tenancy, wouldn't you agree?

Test without auto-loading.
composer.json snippet
    "extra": {
        "laravel": {
            "dont-discover": [
                "hyn/multi-tenant"
            ]
        }
    },

config/app.php snippet

    'providers' => [

        /*
         * Laravel Framework Service Providers...
         */
        Illuminate\Auth\AuthServiceProvider::class,
        Illuminate\Broadcasting\BroadcastServiceProvider::class,
        Illuminate\Bus\BusServiceProvider::class,
        Illuminate\Cache\CacheServiceProvider::class,
        Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
        Illuminate\Cookie\CookieServiceProvider::class,
        Illuminate\Database\DatabaseServiceProvider::class,
        Illuminate\Encryption\EncryptionServiceProvider::class,
        Illuminate\Filesystem\FilesystemServiceProvider::class,
        Illuminate\Foundation\Providers\FoundationServiceProvider::class,
        Illuminate\Hashing\HashServiceProvider::class,
        Illuminate\Mail\MailServiceProvider::class,
        Illuminate\Notifications\NotificationServiceProvider::class,
        Illuminate\Pagination\PaginationServiceProvider::class,
        Illuminate\Pipeline\PipelineServiceProvider::class,
        Illuminate\Queue\QueueServiceProvider::class,
        Illuminate\Redis\RedisServiceProvider::class,
        Illuminate\Auth\Passwords\PasswordResetServiceProvider::class,
        Illuminate\Session\SessionServiceProvider::class,
        Illuminate\Translation\TranslationServiceProvider::class,
        Illuminate\Validation\ValidationServiceProvider::class,
        Illuminate\View\ViewServiceProvider::class,

        /*
         * Package Service Providers...
         */
        Hyn\Tenancy\Providers\TenancyProvider::class,
        Hyn\Tenancy\Providers\WebserverProvider::class,

        /*
         * Application Service Providers...
         */
        App\Providers\AppServiceProvider::class,
        App\Providers\AuthServiceProvider::class,
        // App\Providers\BroadcastServiceProvider::class,
        App\Providers\EventServiceProvider::class,
        App\Providers\RouteServiceProvider::class,

    ],

Composer dumpautoload
vagrant@laravel-app-multi-tenant-route-list:~/code$ composer dump
Generating optimized autoload files> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Discovered Package: beyondcode/laravel-dump-server
Discovered Package: fideloper/proxy
Discovered Package: laravel/nexmo-notification-channel
Discovered Package: laravel/slack-notification-channel
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Package manifest generated successfully.
Generated optimized autoload files containing 4217 classes

Route list with duplicate definitions in routes/web.php and routes/tenants.php
vagrant@laravel-app-multi-tenant-route-list:~/code$ artisan route:list
+--------+----------+------------------------+------------------+------------------------------------------------------------------------+--------------+
| Domain | Method   | URI                    | Name             | Action                                                                 | Middleware   |
+--------+----------+------------------------+------------------+------------------------------------------------------------------------+--------------+
|        | GET|HEAD | /                      |                  | Closure                                                                | web          |
|        | GET|HEAD | api/user               |                  | Closure                                                                | api,auth:api |
|        | GET|HEAD | home                   | home             | App\Http\Controllers\HomeController@index                              | web,auth     |
|        | GET|HEAD | login                  | login            | App\Http\Controllers\Auth\LoginController@showLoginForm                | web,guest    |
|        | POST     | login                  |                  | App\Http\Controllers\Auth\LoginController@login                        | web,guest    |
|        | POST     | logout                 | logout           | App\Http\Controllers\Auth\LoginController@logout                       | web          |
|        | POST     | password/email         | password.email   | App\Http\Controllers\Auth\ForgotPasswordController@sendResetLinkEmail  | web,guest    |
|        | GET|HEAD | password/reset         | password.request | App\Http\Controllers\Auth\ForgotPasswordController@showLinkRequestForm | web,guest    |
|        | POST     | password/reset         | password.update  | App\Http\Controllers\Auth\ResetPasswordController@reset                | web,guest    |
|        | GET|HEAD | password/reset/{token} | password.reset   | App\Http\Controllers\Auth\ResetPasswordController@showResetForm        | web,guest    |
|        | GET|HEAD | register               | register         | App\Http\Controllers\Auth\RegisterController@showRegistrationForm      | web,guest    |
|        | POST     | register               |                  | App\Http\Controllers\Auth\RegisterController@register                  | web,guest    |
+--------+----------+------------------------+------------------+------------------------------------------------------------------------+--------------+

Route list with definitions in routes/tenants.php only
vagrant@laravel-app-multi-tenant-route-list:~/code$ artisan route:list
+--------+----------+----------+------+---------+--------------+
| Domain | Method   | URI      | Name | Action  | Middleware   |
+--------+----------+----------+------+---------+--------------+
|        | GET|HEAD | /        |      | Closure | web          |
|        | GET|HEAD | api/user |      | Closure | api,auth:api |
+--------+----------+----------+------+---------+--------------+

Thank you @luceos ,
Test with tenancy:run  fails indeed as you predicted:

(Test is done with Laravel auto discovery and without auto discovery but manually load package in config/app.php.)

https://github.com/hyn/multi-tenant/issues/584#issuecomment-424677030
This implies it should work.., right? What am I missing?

Hi, I have the same problem right now... how did you solve? Thanks

This is not solved and won't be put on our backlog. Feel free to PR a command that lists the tenant routes.

I created a TenancyRoute command like this, and it worked:
<?php

namespace App\Console\Commands;

use Closure;
use Hyn\Tenancy\Environment;
use Hyn\Tenancy\Models\Website;
use Illuminate\Console\Command;
use Hyn\Tenancy\Providers\Tenants\RouteProvider;
use Illuminate\Support\Facades\Route as RouteFacade;
use Illuminate\Support\Arr;
use Illuminate\Support\Str;
use Symfony\Component\Console\Input\InputOption;
use Illuminate\Routing\Route;

class TenancyRoute extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'tenancy:route:list {--name} {--path} {--method} {--sort} {--reverse} {--c|compact} {--columns} {--json}';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'List all registered routes on tenant';

    /**
     * The table headers for the command.
     *
     * @var array
     */
    protected $headers = ['Domain', 'Method', 'URI', 'Name', 'Action', 'Middleware'];

    /**
     * The columns to display when using the "compact" flag.
     *
     * @var array
     */
    protected $compactColumns = ['method', 'uri', 'action'];

    /**
     * Create a new command instance.
     *
     * @return void
     */
    public function __construct()
    {
        parent::__construct();
    }

    /**
     * Execute the console command.
     *
     * @return mixed
     */
    public function handle()
    {
        $website = Website::first();
        if (! $website) {
            $this->error('Tenant not found!');
            return true;
        }

        $app = app();

        $app[Environment::class]->identifyHostname();
        $app[Environment::class]->hostname();

        $hostname = $website->hostnames()->first();
        config(['tenancy.hostname.default' => $hostname->fqdn]);

        // Refresh routes with above configuration now set.
        $app->call([new RouteProvider($app), 'boot']);

        $routes = RouteFacade::getRoutes();

        $this->displayRoutes($this->getRoutes($routes));
    }

    /**
     * Compile the routes into a displayable format.
     *
     * @return array
     */
    protected function getRoutes($data)
    {
        $routes = collect($data)->map(function ($route) {
            return $this->getRouteInformation($route);
        })->filter()->all();

        if ($sort = $this->option('sort')) {
            $routes = $this->sortRoutes($sort, $routes);
        }

        if ($this->option('reverse')) {
            $routes = array_reverse($routes);
        }

        return $this->pluckColumns($routes);
    }

    /**
     * Get the route information for a given route.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @return array
     */
    protected function getRouteInformation(Route $route)
    {
        return $this->filterRoute([
            'domain' => $route->domain(),
            'method' => implode('|', $route->methods()),
            'uri'    => $route->uri(),
            'name'   => $route->getName(),
            'action' => ltrim($route->getActionName(), '\\'),
            'middleware' => $this->getMiddleware($route),
        ]);
    }

    /**
     * Sort the routes by a given element.
     *
     * @param  string  $sort
     * @param  array  $routes
     * @return array
     */
    protected function sortRoutes($sort, array $routes)
    {
        return Arr::sort($routes, function ($route) use ($sort) {
            return $route[$sort];
        });
    }

    /**
     * Remove unnecessary columns from the routes.
     *
     * @param  array  $routes
     * @return array
     */
    protected function pluckColumns(array $routes)
    {
        return array_map(function ($route) {
            return Arr::only($route, $this->getColumns());
        }, $routes);
    }

    /**
     * Display the route information on the console.
     *
     * @param  array  $routes
     * @return void
     */
    protected function displayRoutes(array $routes)
    {
        if ($this->option('json')) {
            $this->line(json_encode(array_values($routes)));

            return;
        }

        $this->table($this->getHeaders(), $routes);
    }

    /**
     * Get before filters.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @return string
     */
    protected function getMiddleware($route)
    {
        return collect($route->gatherMiddleware())->map(function ($middleware) {
            return $middleware instanceof Closure ? 'Closure' : $middleware;
        })->implode(',');
    }

    /**
     * Filter the route by URI and / or name.
     *
     * @param  array  $route
     * @return array|null
     */
    protected function filterRoute(array $route)
    {
        if (($this->option('name') && ! Str::contains($route['name'], $this->option('name'))) ||
             $this->option('path') && ! Str::contains($route['uri'], $this->option('path')) ||
             $this->option('method') && ! Str::contains($route['method'], strtoupper($this->option('method')))) {
            return;
        }

        return $route;
    }

    /**
     * Get the table headers for the visible columns.
     *
     * @return array
     */
    protected function getHeaders()
    {
        return Arr::only($this->headers, array_keys($this->getColumns()));
    }

    /**
     * Get the column names to show (lowercase table headers).
     *
     * @return array
     */
    protected function getColumns()
    {
        $availableColumns = array_map('strtolower', $this->headers);

        if ($this->option('compact')) {
            return array_intersect($availableColumns, $this->compactColumns);
        }

        if ($columns = $this->option('columns')) {
            return array_intersect($availableColumns, $this->parseColumns($columns));
        }

        return $availableColumns;
    }

    /**
     * Parse the column list.
     *
     * @param  array  $columns
     * @return array
     */
    protected function parseColumns(array $columns)
    {
        $results = [];

        foreach ($columns as $i => $column) {
            if (Str::contains($column, ',')) {
                $results = array_merge($results, explode(',', $column));
            } else {
                $results[] = $column;
            }
        }

        return $results;
    }

    /**
     * Get the console command options.
     *
     * @return array
     */
    protected function getOptions()
    {
        return [
            ['columns', null, InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY, 'Columns to include in the route table'],
            ['compact', 'c', InputOption::VALUE_NONE, 'Only show method, URI and action columns'],
            ['json', null, InputOption::VALUE_NONE, 'Output the route list as JSON'],
            ['method', null, InputOption::VALUE_OPTIONAL, 'Filter the routes by method'],
            ['name', null, InputOption::VALUE_OPTIONAL, 'Filter the routes by name'],
            ['path', null, InputOption::VALUE_OPTIONAL, 'Filter the routes by path'],
            ['reverse', 'r', InputOption::VALUE_NONE, 'Reverse the ordering of the routes'],
            ['sort', null, InputOption::VALUE_OPTIONAL, 'The column (domain, method, uri, name, action, middleware) to sort by', 'uri'],
        ];
    }
}


Use libvirt based on Leap15 image

I'm not sure if we've agreed on suse_infra_image_version, so feel free to propose something better

Testing locally


Possibly include Zev Kronenberg's tools (pFst ect.)

Zev Kronenberg (jewmanchue) has a set of nice tools based on vcflib called GAPT++
https://github.com/jewmanchue/vcflib/wiki
I've reorganized his code to make it 'stand-beside' vcflib (suitable for inclusion as a submodule):
https://github.com/travc/GPAT
It seems like a reasonable idea (to me at least) to include GPAT as a submodule in the official vcflib.
It is his and your (ekg's) call of course.
Even if it isn't included, others may find it useful... Just clone it within the vcflib directory, or even clone it someplace else and change the VCFLIB_PATH variable at the top of the Makefile.
My fork of vcflib includes GPAT as a submodule and the Makefile has been modified to compile it:
https://github.com/travc/vcflib/tree/GPAT

Yes ++++. I will pull this in if you can provide a patch. In fact Zev and I
have talked about it before.
On May 25, 2015 12:56 AM, "Travis Collier"<EMAIL_ADDRESS>wrote:

Zev Kronenberg (jewmanchue) has a set of nice tools based on vcflib called
GAPT++
https://github.com/jewmanchue/vcflib/wiki
I've reorganized his code to make it 'stand-beside' vcflib (suitable for
inclusion as a submodule):
https://github.com/travc/GPAT
It seems like a reasonable idea (to me at least) to include GPAT as a
submodule in the official vcflib.
It is his and your (ekg's) call of course.
Even if it isn't included, others may find it useful... Just clone it
within the vcflib directory, or even clone it someplace else and change the
VCFLIB_PATH variable at the top of the Makefile.
My fork of vcflib which includes GPAT as a submodule and the Makefile has
been modified to compile it:
https://github.com/travc/vcflib
—
Reply to this email directly or view it on GitHub
https://github.com/ekg/vcflib/issues/93.

It is ready to merge, but I think you or Zev should be the owner of the GPAT repository (which is linked as a submodule).  He seems amenable, but is travelling at the moment.
Anyway, I think this link will create a pull request / patch.
https://github.com/ekg/vcflib/compare/master...travc:GPAT?expand=1

@travc thanks. done.


BUG: "ValueError: Values falls after last bin" on resample('1D') of df with DST index, new in 0.15.2

I just upgraded to pandas 0.15.2 and now hit this when I do resample. It worked fine in 0.15.1 (I rolled back to 0.15.1 to confirm). As far as I can tell it occurs when the first date in the index is during daylight savings and the last is not, or vice versa.
For example, with a date just before and another just after the DST change date of April 6:
df = pd.DataFrame(index=pd.DatetimeIndex(['2014-04-04 10:00:00', '2014-04-07 10:00:00']), data={'open':0.5}).tz_localize('Australia/Sydney')
print(df.resample('1D', how={'open':'first'}))

Traceback (most recent call last):
File "D:/Documents/Programming/Projects/IB/play.py", line 1332, in
main()
File "D:/Documents/Programming/Projects/IB/play.py", line 48, in main
print(df.resample('1D', how={'open':'first'}))
File "C:\Users\Tom\Anaconda\envs\py2test\lib\site-packages\pandas\core\generic.py", line 3005, in resample
return sampler.resample(self).finalize(self)
File "C:\Users\Tom\Anaconda\envs\py2test\lib\site-packages\pandas\tseries\resample.py", line 85, in resample
rs = self._resample_timestamps()
File "C:\Users\Tom\Anaconda\envs\py2test\lib\site-packages\pandas\tseries\resample.py", line 275, in _resample_timestamps
self._get_binner_for_resample(kind=kind)
File "C:\Users\Tom\Anaconda\envs\py2test\lib\site-packages\pandas\tseries\resample.py", line 123, in _get_binner_for_resample
self.binner, bins, binlabels = self._get_time_bins(ax)
File "C:\Users\Tom\Anaconda\envs\py2test\lib\site-packages\pandas\tseries\resample.py", line 184, in _get_time_bins
bins = lib.generate_bins_dt64(ax_values, bin_edges, self.closed, hasnans=ax.hasnans)
File "pandas\lib.pyx", line 1064, in pandas.lib.generate_bins_dt64 (pandas\lib.c:17790)
ValueError: Values falls after last bin
On the other hand if I roll back to 0.15.1 I get what I expect:
open
2014-04-04 00:00:00+11:00   0.5
2014-04-05 00:00:00+11:00   NaN
2014-04-06 00:00:00+11:00   NaN
2014-04-07 00:00:00+10:00   0.5
Alternatively in 0.15.2 if I add another date in the previous year, such that the first and last dates are either both in daylight savings (even in a different year) or both not in daylight savings, it also seems to work fine.

@fantabolous adding to the master DST resample issues. Which I believe
cc @rockg is tackling
pull-requests welcome of course.

closed by #9623


Invalid blobs on 13.0.5

Spec:

Safari 13.0.5
macOS 10.15.3

When I tried the default code on the readme the data in the 'dataavailable' returns invalid data. When looking at these blobs the event only returns two distinct file size: 44B and 4140B. The 44B bit file gives an error in the player while the 4140B file is able to be played but contains no sound.
In order to investigate the issue I looked at the https://ai.github.io/audio-recorder-polyfill/ example but that gave exactly the same results (2 diff files size, both containing no useful information). I looked at the https://github.com/ai/audio-recorder-polyfill/issues/4 discussion and tried to reboot my pc. This allowed me to get one recording but all recordings after that failed again. I rebooted again but then it gave me directly an 44B file.
If you need further investigating from my side please send.

New Safari supports MediaRecorder. This is why I will not support this project.
But I will accept and release PR.

Oké I can understand that the project won't be updated. I will have to look for a different solution since Safari 13 only allows MediaRecorder support via experimental features and I can't ask to enable experimental features.


Provide http-interop compatibility

This patch provides compatibility with http-interop 0.2.0, via the following features:

MiddlewarePipe:

now implements ServerMiddlewareInterface.

now allows piping http-interop ServerMiddlewareInterface and MiddlewareInterface instances.

now allows piping callable middleware with the signature:
function ($request, DelegateInterface $delegate) : ResponseInterface

Now exposes a setResponsePrototype() method; when set, callable middleware implementing the legacy interface will be decorated as ServerMiddlewareInterface instances.

Next:

Now implements DelegateInterface.

Dispatch:

Now provides a process() method mimicing the DelegateInterface; this method is used by Next when dispatching ServerMiddlewareInterface instances.
Now identifies http-interop middleware and dispatches them properly.

Additionally, this patch provides decorator classes for decorating legacy callable middleware, callable middleware compatible with ServerMiddlewareInterface, and callable delegates. This latter feature can be used to adapt existing callable middleware classes to implement ServerMiddlewareInterface:
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Middleware\DelegateInterface;
use Psr\Http\Middleware\ServerMiddlewareInterface;
use Zend\Diactoros\Response\JsonResponse;
use Zend\Stratigility\Delegate\CallableDelegateDecorator;

class PingMiddleware implements ServerMiddlewareInterface
{
    public function __invoke(
        ServerRequestInterface $request,
        ResponseInterface $response,
        callable $next
    ) {
        return $this->process($request, new CallableDelegateDecorator($next, $response));
    }

    public function process(ServerRequestInterface $request, DelegateInterface $delegate)
    {
        return new JsonResponse(['ack' => time()]);
    }
}

Finally, the patch provides migration documentation to both v1.3 and v2.0. Another patch will be submitted shortly against the dev-2.0.0 branch that incorporates the patches from this branch, with updates to provide the final 2.0.0 functionality around http-interop compatibility.

Pinging @zendframework/community-review-team , @michaelmoussa , and @xtreamwayz for review, please.

@xtreamwayz I've addressed all your points of feedback; thanks! Additionally, wrote tests for the CallableMiddlewareWrapper as well as the CallableInteropMiddlewareWrapper to ensure behavior is as expected.

LGTM.


updated docs to reflect new AAD application after migration

Signed-off-by: Karan<EMAIL_ADDRESS>Which issue this PR addresses:

Updates AAD applications post-migration
What this PR does / why we need it:
doc update

Test plan for issue:

Is there any documentation that needs to be updated for this PR?

Should we publish these APP IDs? I guess they're already out there, but are they necessary to specify the exact APP ID?
We could instead point to: This appid is contained within x environment variable in our secrets for a given environment.
The data isn't secret, but could be sensitive.

I can update the doc to remove the app ID and instead provide the location for where to find them in secrets


Use specific version of Fosstars Rating Core

https://github.com/SAP/fosstars-rating-core-action/blob/1818f063dd4fe6422375f280e17c1c2e07f7da95/Dockerfile#L9
The action should use a specific version of fosstars-rating-core. It would be also good to add an input parameter that specifies a version to be used.

Wait for 1.2.0
https://github.com/SAP/fosstars-rating-core/milestone/16


chore: change lightning ci dir

releate to https://github.com/pingcap/tidb/pull/52289

replay test link https://do.pingcap.net/jenkins/blue/organizations/jenkins/pingcap%2Ftidb%2Fmerged_integration_lightning_test/detail/merged_integration_lightning_test/338/pipeline/


Convert over to invoking "dockerd" directly instead of relying on the "docker daemon" translation

This is going to be especially important for 1.13+ where docker daemon is now officially deprecated (and in at least -rc1, appears to have issues: https://github.com/docker/docker/issues/28368).

For reference, the 1.13 failure is tracked upstream at https://github.com/docker/docker/issues/28329


Simple REST API

This PR adds a simple REST API for the main mapping functionality of the SiteMapper class.

Awesome! Can you also add an endpoint for map_sitelist_to_human_ref, for posting multiple sites?

Sure, added, so now the endpoints are exactly the same as the names of the functions in api.py.

Working after rename


A flag to enable icon support in telescope

The telescope.nvim plugin has support for icons through an optional dependeny: nvim-web-devicons.
In nixvim, there is no dedicated flag to enable this optional feature.
Depending on whether another plugin (e.g. lualine) that relies on nvim-web-devicons is enabled or not, the icon feature will be provided or not in telescope. If not, pkgs.vimPlugins.nvim-web-devicons may be added to extraPlugins manually.
I think it would be nice if there was a dedicated plugin.telescope.enableIconSupport flag to enable nvim-web-devicons.

This is something that I've thought of recently and wasn't sure if it was the best practice to keep adding options to every plugin that might use icons. Some plugins are just automatically adding it as a dependency, some offer it as an option like
iconsEnabled = mkOption {
        type = types.bool;
        description = "Toggle icon support. Installs nvim-web-devicons.";
        default = true;
      };

I think for now, I can add it as a quick option, though. But, it would be nice to have an easier to maintain solution.

Nixvim doesn't have a well defined way to manage optional dependencies currently.
Most of the time (in newer code, anyway), we provide nullable package options, allowing users to a) set to null to forego installing and b) select a different version or overridden variant of the package to install instead.
Adding a iconsPackage option that defaults to pkgs.vimPlugins.nvim-wev-devicons but can be set to null if unwanted is probably the right approach here?


[WIP] Update to official BouncyCastle package

Portable.BouncyCastle is the official portable BouncyCastle package.

Thanks for your PR, I added it to the verification process.


Include "accession" in metadata

Rather than replacing "accession" with "strain" in the initial wrangle_metadata.py script, instead keep "accession" column and create an additional "strain" column. This will allow export rule to recognize this "accession" column and include field in tooltips.
Also, remove genbank_accession_rev as "Accession" coloring. Now "Accession" will be automatically recognized and displayed in tooltip without having to have a coloring provided.

Ideally it'd be a clickable link to GenBank, however I'll look into this separately...

I did a quick search of Auspice to see how the accession/url works. The special treatment of accessions comes from AccessionAndUrl, where the accession gets associated with a url if it meets one of these conditions:

the node has a genbank_accession
the node has a gisaid_epi_isl ->
the node has both an accession and a url

I think we want to use condition (3) since we support arbitrary non-GenBank sequences for monkeypox.
I can added the url field in ingest for GenBank sequences. For arbitrary sequences, the url would have to be added through manual annotations.


added a function of string, ends_with #133

@luluai-cn seems good!
Is it possible to add a integ tests for this? For example, make the following query supported
select S from part where startsWith(S, 's')

add a integ tests for function "ends_with".
e.g.
select left_value from table where ends_with(left_value, 'part') = true


Coloring differential output for better visualization: promtool failed cases

Problem statement
promtool executes prometheus test cases. In case of discrepancy between test cases, it shows output of expected value & received (got) values.
For one test case discrepancy, the output looks like below. Identifying the difference between exp & got values is equivalent to finding a needle in haystack, especially when there are large number of test cases.
Unit Testing:  loki.all.rules.test.yml_global
  FAILED:
    alertname: LokiRingUnhealthy, time: 40m,
        exp:[
            0:
              Labels:{alertname="LokiRingUnhealthy", app="loki-service", cancel_if_apiserver_down="true", cancel_if_cluster_status_creating="true", cancel_if_cluster_status_deleting="true", cancel_if_cluster_status_updating="true", cancel_if_outside_working_hours="true", cancel_if_scrape_timeout="true", container="service", name="service", namespace="loki", pod="loki-service-676b8c897b-rq29", severity="page", topic="observability"}
              Annotations:{description="Loki pod loki-service-676b8c897b-rq298 (namespace loki) sees 1 unhealthy ring members"}
            ],
        got:[
            0:
              Labels:{alertname="LokiRingUnhealthy", area="services", cancel_if_apiserver_down="true", cancel_if_cluster_status_creating="true", cancel_if_cluster_status_deleting="true", cancel_if_cluster_status_updating="true", cancel_if_outside_working_hours="true", cancel_if_scrape_timeout="true", container="service", name="service", namespace="loki", pod="loki-service-676b8c897b-rq298", severity="page", topic="observability"}
              Annotations:{description="Loki pod loki-service-676b8c897b-rq298 (namespace loki) sees 1 unhealthy ring members"}
            ]

Proposal
This PR, aims to fix this issue with colored output for differential labels.
Present vs proposed output
Present output

Proposed output

Reproduction steps
git clone -b yet-another-branch https://github.com/giantswarm/prometheus-hackathon-dec22/
cd prometheus-hackathon-dec22/cmd/promtool
# Downloads sample files for tests
wget https://gist.githubusercontent.com/rewanthtammana/d4315690bc80012cc01b1ff4dc88a80f/raw/19bfe81c7b8b6737d9a30a781aafb273717222ed/loki.all.rules.test.yml_global
wget https://gist.githubusercontent.com/rewanthtammana/564cf6493ca546f2cffc1fa5f80cc576/raw/948546cba1dedffa4f04f51552e83d228b4fe574/loki.all.rules.yml
# Downloads packages & runs promtool
go get -v ./...
go build -o promtool . && ./promtool test rules loki.all.rules.test.yml_global

### Note
The proposed approach of coloring differential output doesn't work on windows for now. Windows OS will continue to have the previous format of output.
Conclusion
This colored formatting approach to highlight the differential output makes things a piece of cake for end-users to visualize the essential labels/alerts to focus on.
This also fixes https://github.com/prometheus/prometheus/issues/7568

I added the --diff flag that prints the exp, got & diff. So, it makes it easier for end-users to understand the colors. All the CI checks will be intact as it's a new flag only for end user visualization.
The red color refers to an entry we want but didn't get.
The green color refers to an additional entry that we didn't expect.
We can swap colors, if required.
./promtool test rules loki.all.rules.test.yml_global --diff

@dgl over to you for review 🚀

If everything looks good, I was thinking we can include additional flag, --only-diff that will show only colored differential output without exp & got.

If everything looks good, I was thinking we can include additional flag, --only-diff that will show only colored differential output without exp & got.

This should be --diff.

Sure, we can do that @roidelapluie! I'll do that if everything else is good. What do you think?

Sure @roidelapluie. The expectation is to print only the diff without exp and got?

Yes
Le ven. 29 déc. 2023, 15:12, Rewanth Tammana @.***> a
écrit :

Sure @roidelapluie https://github.com/roidelapluie. The expectation is
to print only the diff without exp and got?
—
Reply to this email directly, view it on GitHub
https://github.com/prometheus/prometheus/pull/11738#issuecomment-1872120524,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACHHJQVJ2XYMPRZQJMXMR3YL3FWTAVCNFSM6AAAAAATB2ICSKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZSGEZDANJSGQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

@roidelapluie I cannot update this branch. I made the suggested changes in the new PR.


⚠ SceneTime has degraded performance

In 5e5d9ff, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1318 ms

Resolved: SceneTime performance has improved in 7a2b326 after 6 minutes.


Cannot assert on left-hand values

Input
# typed: true
def main
  x = T.let(4, T.nilable(Integer))
  T.must(x) += 4
end

Observed output
editor.rb:4: unexpected token tOP_ASGN https://srb.help/2001
     4 |  T.must(x) += 4
                    ^^
Errors: 1

Expected behavior
I don't expect this to work as is, but the alternative (x += 4) is also clearly wrong.  In other languages prior assertions affect the flow analysis, but I don't think Sorbet does this (the assertion must be done at the location of usage).
Is there any way to handle this, other than rewriting the code to not use +=?

How about this?
# typed: true
def main
  x = T.let(4, T.nilable(Integer))
  x = T.must(x)
  T.reveal_type(x)
  x += 4
end

This is a ruby parser restriction. You can't have a method call on left hand of assign


[jsfm] Support receive tasks in weex-js-runtime

Move the callJS and receiveTasks into a separate file. This feature has no breaking change.
By support the receiveTasks in weex-js-runtime, this method can be removed from weex-vue-framework and weex-rax-framework. It can keep the js-native communication have the same behavior.

+1


Push notification support for Blackberry10 OS.

Hi there,
As i have already used PushPlugin for android, ios and blackberry10 which is deprecated,
Now, i would like to switch to the new plugin but i found that there is no support provided for blackberry 10 in the new plugin (i had checked plugin.xml and documentation).
What about providing support for BlackBerry10 OS ?

@chetanporiya sadly I don't have the hardware necessary to do the testing for BB10. The old code from the previous plugin is in a blackberry branch. At this point I need someone with BB knowledge to contribute a PR.

Closing as BB is 0.2% of monthly mobile phone sales and we've only got 1 request for this in 2 years.


DateTime of a ZipEntry when updating a ZipFile

I just run in this same limit: http://community.sharpdevelop.net/forums/t/19039.aspx , so I added a new method.
Tested and working on my project.
Thanks,
Mdm
PS: I certify that I own, and have sufficient rights to contribute, all source code and related material intended to be compiled or integrated with the source code for the SharpZipLib open source product (the "Contribution"). My Contribution is licensed under the MIT License.

I certify that I own, and have sufficient rights to contribute, all source code and related material intended to be compiled or integrated with the source code for the SharpZipLib open source product (the "Contribution"). My Contribution is licensed under the MIT License.

Closing this in favor of #350 since it enables this use case by adding a overload to ZipFile.Add which takes a ZipEntry and a data source.
Usage:
var zipEntry = zipFile.EntryFactory.MakeFileEntry(fileName);
zipEntry.DateTime = entryDateTime;
zipFile.Add(new StaticDiskDataSource(fileName), zipEntry);


add topic tags

I suggest adding the topics unit-test, testing, fortran, cmake, ctest in the About section at https://github.com/dryman/fortran_unit_test

Thanks for the advice!


Does not load

Is there an existing issue for this?

[X] I have searched the existing issues

I'm submitting a ...

[X] bug report
[ ] feature request
[ ] support request --> Contact me over mail for support https://github.com/MShawon

Description
Traceback (most recent call last):
File "C:\users\download\YouTube-Viewer\youtube_viewer.py", line 1007, in
import wmi
File "C:\Users\download\anaconda3\lib\site-packages\wmi.py", line 105, in
from win32com.client import GetObject, Dispatch
File "C:\Users\download\anaconda3\lib\site-packages\win32com_init_.py", line 5, in
import win32api, sys, os
ImportError: DLL load failed while importing win32api: The specified procedure could not be found.
Environment
- OS : windows 11
- Python : 3.9.12
- Script version : 1.8

config.json
{
    "http_api": {
        "enabled": true,
        "host": "<IP_ADDRESS>",
        "port": 5000
    },
    "database": true,
    "views": 100000,
    "minimum": 85.0,
    "maximum": 95.0,
    "proxy": {
        "category": "f",
        "proxy_type": false,
        "filename": "GoodProxy.txt",
        "authentication": false,
        "proxy_api": false,
        "refresh": 0.0
    },
    "background": false,
    "bandwidth": true,
    "playback_speed": 1,
    "max_threads": 5,
    "min_threads": 2
}

install python 3.8 to 3.11 not anaconda
or simply download the exe version and use it without installing python


Handle Possibly not Registered Devices

Remove GPSReceiver and DirectionIndicator from leads_emulation.
In leads_vec.cli, check if the required tag exists.

Completed in COMMIT a4fbc751.


[Impeller] iOS platform views performance issues on Impeller

When running an application on iOS with one platform view, its expect that we have to break the flutter frame into foreground/background in order to correctly place the platform view within the visual hierarchy. Locally I've observed that when targeting impeller, both the background and foreground frame seem to do exactly the same amount of work. Furthermore, If I add an expensive widget that does not intersect the PlatformView at all - I would expect one of the flutter render passes to slow down. Instead, both slow down.
This seems to me like we are clipping or splitting incorrectly, and might be doing far too much work. Potentially doing most of the work to draw most of the tree at least twice.
There don't seem to be any major rendering artifacts, besides the scrolling issue, so it could be that whatever clipping we use to break apart the scene happens too late in the Impeller backend.
Example app used was flutter/plugins/packages/google_maps_flutter
Apply the following diff:
diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/map_ui.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/map_ui.dart
index 3f56f4079..e935db23f 100644
--- a/packages/google_maps_flutter/google_maps_flutter/example/lib/map_ui.dart
+++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/map_ui.dart
@@ -4,6 +4,7 @@

 // ignore_for_file: public_member_api_docs

+import 'dart:math' as math;
 import 'package:flutter/material.dart';
 import 'package:flutter/services.dart' show rootBundle;
 import 'package:google_maps_flutter/google_maps_flutter.dart';
@@ -308,6 +309,10 @@ class MapUiBodyState extends State<MapUiBody> {
         Expanded(
           child: ListView(
             children: <Widget>[
+              CustomPaint(
+                size: const Size(400, 400),
+                painter: QRPainter(),
+              ),
               Text('camera bearing: ${_position.bearing}'),
               Text(
                   'camera target: ${_position.target.latitude.toStringAsFixed(4)},'
@@ -354,3 +359,35 @@ class MapUiBodyState extends State<MapUiBody> {
     });
   }
 }
+
+// Draw a "QR" like-code with 400x400 squarees.
+class QRPainter extends CustomPainter {
+  static final math.Random _random = math.Random(12455);
+
+  @override
+  void paint(Canvas canvas, Size size) {
+    final double boxWidth = size.width / 400;
+    final double boxHeight = size.height / 400;
+    for (int i = 0; i < 400; i++) {
+      for (int j = 0; j < 400; j++) {
+        final Rect rect = Rect.fromLTWH(i * boxWidth, j * boxHeight, boxWidth, boxHeight);
+        if (_random.nextBool()) {
+          canvas.drawRect(rect, Paint()
+            ..style = PaintingStyle.fill
+            ..color = Colors.red
+          );
+        } else {
+          canvas.drawCircle(rect.center, 1, Paint()
+            ..style = PaintingStyle.fill
+            ..color = Colors.blue
+          );
+        }
+      }
+    }
+  }
+
+  @override
+  bool shouldRepaint(covariant CustomPainter oldDelegate) {
+    return false;
+  }
+}

And run the app, selecting the first option.
Notice the timeline:

@cyanglaz @flar
From casual observation, it seems odd to me that we use both a display list builder and skcanvas in https://github.com/flutter/engine/blob/main/shell/platform/darwin/ios/framework/Source/FlutterPlatformViews.mm#L597-L598 . Unsure if that is related.

@zanderso

Is this an issue related to why I'm creating LayerStateStack? Basically, when we have the before/after canvas we execute state operations on both even though only one of them is reponsible for rendering at any particular time.  The background canvas gets the opposite - only state changes until we get to the PlatformView and then a mix of state changes and rendering after that.
This leads us to have a bunch of NOP saveLayers and clip/transform changes on the tail end of the foreground recording and at the leading end of the background recording. Does Impeller ignore those as well as SkCanvas does?
With LayerStateStack, we will only communicate state changes to the active recorder and when we hit a PlatformView we will transfer all outstanding state to the new recorder and stop talking to the old recorder. This may prevent the issue. You can try running this on any of the flutter commits where the LayerStateStack was landed to see if the problem is mitigated.
The 2 times it landed were:

https://github.com/flutter/engine/pull/36458
https://github.com/flutter/engine/pull/37135

The next outstanding "reland" PR is:

https://github.com/flutter/engine/pull/37394

Run any version of Flutter that has those engine commits rolled into it and see if there is a different performance profile.

Another question is whether Impeller will automatically ignore saveLayer requests that have no content in them?

cc @bdero

@jonahwilliams does your thumbs-up mean that you ran it against LayerStateStack and saw an improvement? Or just that you like the direction that is going in?

I'm going to try out with the layer state stack, but haven't yet

Another question is whether Impeller will automatically ignore saveLayer requests that have no content in them?

Yes. At render time, Impeller skips SaveLayers with empty coverage. And the coverage ends up empty when the blend mode is non-destructive and the SaveLayers contain nothing that modifies the layer's color attachment.

Perhaps impeller is just significantly slower for certain scenes? I'd still expect to see two drawFrames for a platform view, so that Skia trace is reasonable by itself

That seems likely. We'll need to repro the stuff that's slower. With the diff, I'm actually getting worse results with Skia (11 seconds per frame) than Impeller (7 seconds per frame).

Besides impeller vs Skia, I think we'll need to find a smarter way to slice up the scenes for platform views.
@zanderso do you know what engine commit the g3 app was on? Maybe that was before I landed the trivial glyph atlas caching. That would blow up time on Impeller compared to Skia if we were creating 2x glyph atlas per frame

Yes. It was last week, so prior to cl/486796593, which has the glyph atlas caching change. I will try again today.

I renamed the bug to "iOS platform views render the entire scene multiple times per frame", but this may be wrong as I haven't actually verified that there isn't a setup problem in the example app causing the overlap rectangle to be too large/encapsulate the custom painter with the 160k draw calls.

Bumping this down the P4 because there is no near-term fix that we are looking at, based on my understanding

It looks like this is actually the issue that was documented in https://github.com/flutter/flutter/issues/114784 but the cause for that issue wasn't well described. What appears to be happening is this:

Embedders break a scene into multiple layers representing what Flutter draws below, between, and above each PlatformView
When rendering each between/above layer, the rendering is broken into pieces so that we restrict the pixels we touch that are above the View so that iOS doesn't think of that area as "owned by Flutter's content" for event distribution semantics.
Due to the need to minimize rendering above a view, we break the layers that are above any view into one piece per view that only renders the stuff that intersects that view (once per view), and a final pass that renders the rest of that layer with all of the view rectangles punched out of its clip (using clipRect(kDifference)).

It's that final step where we render each layer multiple times. Because of a missing clipRect in the code that creates the pixels for each "covering a view" piece, we render the full frame for each of those pieces. The issue above is asking to add in that clipRect to minimize the rendering.
Adding that clipRect significantly reduces the amount of work done when rendering around embedders, but we could improve the savings by implementing some sort of up-front rendering op rejection based on the bounds of the op and the current clip. SkPicture rendering already does something like this, but we don't have as efficient mechanisms in DisplayList/Impeller. This rendering op culling is described in https://github.com/flutter/flutter/issues/92740

The quick fix for this issue landed in https://github.com/flutter/engine/pull/37107 and the ask for adding such optimizations in the DisplayList/Impeller layer are tracked in https://github.com/flutter/flutter/issues/92740. Closing this as completed. Let me know if there is context here that is not already captured elsewhere.


Fix memalloc problems

#718 stopped Northstar from working for two reasons:

the way the *alloc family was declared was not compatible with how the CRT worked
_recalloc_base was declared but never defined

Microsofts documentation on _recalloc is a bit bad so I followed the chromium implementation
https://chromium.googlesource.com/chromium/src/+/84db13d2045c3bc2753c4048ec1816373de0c3cc/base/allocator/allocator_shim_override_ucrt_symbols_win.h#102
If the chromium implementation is right and only the new bits are zeroed then the r5sdk implementation is wrong.
Since we need to get the old size for recalloc I also implemented _msize
Tested this myself on Windows but I would love to get another tester for this

seems to work fine

Klemmbaustein


ESM output: single runtime chunk resolved to wrong path when using subpath entrys

Bug report

What is the current behavior?
If i create entrypoints that include a path in their name, when runtimeChunk: single is set - webpack imports the runtime from the wrong directory.
If the current behavior is a bug, please provide the steps to reproduce.

using this config:
module.exports = {
	output: {
		module: true
	},
	target: ['es2022','async-node'],
	mode: "development",
	entry: {
		'/test/one': './counter',
		'/test/two': './example'
	},

	optimization: {
		usedExports: true,
		concatenateModules: true,
		runtimeChunk: 'single'
	},
	experiments: {
		outputModule: true
	}
};

Emits the following

the runtime.js file is getting imported from ../../ instead of ../
What is the expected behavior?
runtime chunk should resolve it correct location

Other relevant information:
webpack version:  5.74.0
Node.js version: 16
Operating System: OSX
Additional tools:

@alexander-akait  opened a PR https://github.com/webpack/webpack/pull/16153

@sokra We need your advice here

That seem to be caused by the leading / in the entry name


Azure Monitor Tracing doesn't work

In what area(s)?

/area tracing

What version of Dapr?

0.6.0
Expected Behavior

By following the steps in this documentation I  should have trace information in App Insight
Actual Behavior

By following the steps in this documentation I  don't have trace information in App Insight
Steps to Reproduce the Problem

Create an application deployed in Kubernetes in separate namespace - the application should use pub-sub for communication
Create App Insight account and grab instrumentation key and API key
Deploy  local forwarder using the following

kind: Service
apiVersion: v1
metadata:
  name: dapr-localforwarder
  namespace: cw
  labels:
    app: dapr-localforwarder
spec:
  selector:
    app: dapr-localforwarder
  ports:
  - protocol: TCP
    port: 55678
    targetPort: 55678
  type: ClusterIP
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: dapr-localforwarder
  namespace: cw
  labels:
    app: dapr-localforwarder
spec:
  replicas: 3 # Adjust replica # based on your telemetry volume
  selector:
    matchLabels:
      app: dapr-localforwarder
  template:
    metadata:
      labels:
        app: dapr-localforwarder
    spec:
      containers:
      - name: dapr-localforwarder
        image: daprio/dapr-localforwarder:0.1-beta1
        ports:
        - containerPort: 55678
        imagePullPolicy: Always
        resources:
          requests:
            cpu: "20m"
            memory: "50Mi"
          limits:
            cpu: "100m"
            memory: "200Mi"
        env:
          - name: APPINSIGHTS_INSTRUMENTATIONKEY
            value:  #{app-insight-key} # Replace with your ikey
          - name: APPINSIGHTS_LIVEMETRICSSTREAMAUTHENTICATIONAPIKEY
            value:  #{app-insight-apikey} # Replace with your generated api key

Deploy Tracing and Exporter using the following

apiVersion: dapr.io/v1alpha1
kind: Configuration
metadata:
  name: tracing
  namespace: cw
spec:
  tracing:
    enabled: true
    expandParams: true
    includeBody: true
---
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
  name: native
  namespace: cw
spec:
  type: exporters.native
  metadata:
  - name: enabled
    value: "true"
  - name: agentEndpoint
    value: "http://dapr-localforwarder.{app namespace}.svc.cluster.local:55678"

Is cloudwatcher the namespace you deployed your app to?

/cc @youngbupark @Haishi2016

Can you post your app deployment manifest as well?

@MohsenMahdieh configuration is working without specific namespace
kind: Configuration
metadata:
  name: tracing
  namespace: cloudwatcher
spec:
  tracing:
    enabled: true
    expandParams: true
    includeBody: true```

Please remove `namespace` to enable tracing globally.

@MohsenMahdieh, we have @youngbupark looking into this now with configuration similar to what you described. we will update today.

@MohsenMahdieh  Please review this configs https://github.com/youngbupark/samples/tree/youngp/tracing-test/2.hello-kubernetes/deploy
I created three namespaces for this test

dapr-system : deployed dapr via helm
dapr-monitoring : deployed localfowarder using yaml
samples : deployed hello kubernetes samples

From your example, tracing and native exporter component yaml must be deployed to your app's namespace and also agentEndpoint should not include protocol part. Please check this yaml in my sample.
apiVersion: dapr.io/v1alpha1
kind: Configuration
metadata:
  name: tracing
  namespace: cloudwatcher
spec:
  tracing:
    enabled: true
    expandParams: true
    includeBody: true
---
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
  name: native
  namespace: cloudwatcher
spec:
  type: exporters.native
  metadata:
  - name: enabled
    value: "true"
  - name: agentEndpoint
    value: "http://dapr-localforwarder.{app namespace}.svc.cluster.local:55678"

Is cloudwatcher the namespace you deployed your app to?

yes, it is the namespace - forgot to remove it ;)

@MohsenMahdieh please try @youngbupark's config above

@yaron2 @youngbupark should I restart app after making changes to tracing bit?

@yaron2 @youngbupark should I restart app after making changes to tracing bit?

Yes.

@yaron2 after restarting it seems to be picking up, but when I allok at application map still has the same issue. seems to me that it doesn't properly do tracing for pub sub apps?

@yaron2 after restarting it seems to be picking up, but when I look at application map still has the same issue. seems to me that it doesn't properly do tracing for pub sub apps?

when you say "properly", do you mean that you see a trace but its not correlated correctly? or do you not see anything at all?
@Haishi2016 to help here as he worked on tracing for Pub/Sub.

@yaron2 after restarting it seems to be picking up, but when I look at application map still has the same issue. seems to me that it doesn't properly do tracing for pub sub apps?

when you say "properly", do you mean that you see a trace but its not correlated correctly? or do you not see anything at all?
@Haishi2016 to help here as he worked on tracing for Pub/Sub.

@yaron2 @youngbupark  looking at again, realised it is now working. might be taking some time to gather information. all good, thanks. I am going to close the bug then.


Dual GPU scenario

I'm testing your settings and they seem very cool!
The NVIDIA scenario works only for computers with one GPU.
Nowadays a lot of computers have CPU with Integrated GPU and the NVIDIA settings explained in the README don't work because in that manner we are forcing NVIDIA variable values when the computer is using (by default) the Integrated GPU.
Did you already explore the settings scenario with Integrated GPU (e.g., Intel GPU) and NVIDIA GPU together?

Hello @D3vil0p3r,
No, I have not explored the settings scenario with an Integrated GPU (e.g., Intel GPU) and NVIDIA GPU together. Currently, I am using an old desktop with an NVIDIA Geforce GTX 745 PCIE x16 graphics card, so the NVIDIA settings explained in the README don't apply to my setup. However, if you require assistance or have any specific questions regarding your scenario, I'll be glad to help to the best of my abilities.
Best regards,
@raminsamadi123

Thank you mate.

@raminsamadi123  why those settings don't apply on your configuration if you have only NVIDIA GPU? I expect it should work.


"Add to queue" - added missing endpoint

https://developer.spotify.com/documentation/web-api/reference/player/add-to-queue/

Additional code has a test - not sure why coveralls suggests the coverage has decreased.

Released in 3.4.0.


processed image is abnormal

when I load a image , do some augmentations ,the result  is abnormal with lots of strides
`
seq = iaa.Sequential([
#iaa.Flipud(0.5),
#iaa.Dropout(0.02, name="Dropout"),

#iaa.GaussianBlur(5)

#iaa.AdditiveGaussianNoise(0, 10, True)

iaa.Sharpen(alpha=(0, 1.0), lightness=(0.75, 1.5))

#iaa.Crop(px=(0, 16)), # crop images from each side by 0 to 16px (randomly chosen)

#iaa.Fliplr(0.5), # horizontally flip 50% of the images

#iaa.GaussianBlur(sigma=(0, 5.0)) # blur images with a sigma of 0 to 3.0

])
img = scipy.misc.imread(image_dir)
images_aug = seq.augment_images(img)
misc.imshow(images_aug)
`

You are using augment_images() but only provide one image, probably of shape (H,W,C). The function then thinks that you are providing H images of shape (W,C) (i.e. 2d images), augments each one on its own and returns a completely broken result. Use augment_image() (without the s at the end) to augment a single image.
Besides, you blur two times with each having a sigma of up to 5, which is rather strong.

@aleju  thank you very much !!! It's works !!


Need for ability to use special characters in Enterprise Wallet

We face a problem while trying to enter the company name containing special characters in the login screen of enterprise Wallet.
Request you to allow use of special characters in the company name

For example - in the below image, we are unable to use the () symbols:


Please ban user "Chickenman2017"

The user "Chickenman2017" are spamming the "Remove String Spaces" kata with things such as extremely long texts and other unrelated stuff. He has only completed 1 kata.

comments removed


Mismatched image / reference arch download on page

Image on the page of the Reference Arch and Visio file download do not match.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 84bcf722-abb3-69b8-8073-15ae4a6890de
Version Independent ID: 7b2010c6-696d-de66-8e56-8ac5d3e54526
Content: Basic web application - Azure Reference Architectures
Content Source: docs/reference-architectures/app-service-web-app/basic-web-app.yml
Service: architecture-center
Sub-service: reference-architecture
GitHub Login: @EdPrice-MSFT
Microsoft Alias: pnp

The image and Visio were updated for this architecture and now match. #please-close


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_e5ybce_wnd/clone/recipe/meta.yaml:20: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_e5ybce_wnd/clone/recipe/meta.yaml:42: missing_pip_check: For pypi packages, pip check should be present in the test commands
ERROR: /tmp/abs_e5ybce_wnd/clone/recipe/meta.yaml:49: missing_documentation: The recipe is missing a doc_url or doc_source_url
WARNING: /tmp/abs_e5ybce_wnd/clone/recipe/meta.yaml:49: missing_description: The recipe is missing a description
ERROR: /tmp/abs_e5ybce_wnd/clone/recipe/meta.yaml:49: missing_dev_url: The recipe is missing a dev_url
Errors were found


Can't import preflights in seperate Svelte component

UnoCSS version
0.50.6
Describe the bug
I'm trying to add preflights to a svelte-scoped project. Since my App.svelte uses dark mode, I tried adding them to a different component. vite-plugin-svelte throws a warning (shown below), and the preflights aren't applied.
[vite-plugin-svelte] /src/components/StyleWrapper.svelte:2:1 No scopable elements found in template. If you're using global styles in the style tag, you should move it into an external stylesheet file and import it in JS. See https://github.com/sveltejs/vite-plugin-svelte/blob/main/docs/faq.md#where-should-i-put-my-global-styles.

Reproduction
https://stackblitz.com/edit/vitejs-vite-jkyxue
System Info
Arch Linux/Fedora Kinoite, Firefox 111.0.1, Node 19.8.0
Validations

[X] Read the Contributing Guidelines.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

#2552 will make some adjustments in how preflights are handled. Stay tuned.


Cursor change on icon in the Corner Label doesn't happen. Bug?

When you use the Corner Label on an image like so:

The mouse cursor does not change to indicate the Label is clickable when you're over the Icon.
Is this intended?
The behavior can be observed here: https://semantic-ui.com/elements/label.html#corner
BR
Thomas

Hi @bildsoe, thanks, but we’re already tracking it here: #4238.

Cool, thanks


Add custom methods to CLI

Implements a CLI for custom GeneratorFunc subclasses using a /path/to/module.py:class string.

Currently, no keyword arguments are passed to custom generators. Ideas for how to do this, in descending order of ease/compatibility, are:

restrict keyword argument specification to configfile or configstring
wrap command with pass_context using ignore_unkown_options and allow_extra_args in context_dict and then resolve as dictionary (example)
make a click.command factory (something like this) that reads parameters from inspect.signature and adds them as click.option calls

The first is doable by passing **h.options in the run call, like in mstcommand.
The second option may not be possible since we already pass the handler back as the leading argument in the custom command. I'm not sure how nested wrappers work like that.
The third one may not be possible if click commands can't be created during a run.

If my understanding of click is correct, we could go for two by enacting #18. Then we wouldn't need the Handler class to pass arguments around.
We would set up a group of "method" commands with the common/global options and then anything extra gets parsed. Something to attempt.

@daffidwilde Sorry about the delay here.
This now does as you suggest. We don't need the Handler class since you can actually access the parent context, and a context stores the parsed parameters in a dictionary (ctx.parent.params). Super easy!
It works great! Tested with a simple class in ./tests/custom_method.py:RAW.


Tabs versus doublespaces

I tried to use Implicit Block Function Invocation as discussed in the wiki here, and it didn't work the way I expected. The wiki says:

Any value (a) followed by a block is invokes (a) as a function. Each statement in the block is an argument to that function.

My code:
console.log
	Math.round
		123.456

The results:
--------------- jason@x001 Mon Apr 10 20:47:57 ---------------
69 ~/proj/caffeine-script-notes :) caf play.caf
CaffeineScriptParser only parsed: 46 of 69 characters

Parsing error at /Users/jason/proj/caffeine-script-notes/play.caf:6:1

Source:
...

console.log(hello)

console.log
<HERE>	Math.round
		123.456
...

expecting:
  statementWithoutEnd: toContinue: "root", startedAt: "1:1"
  importStatement:     toContinue: "root", startedAt: "1:1"

rules:
  statementWithoutEnd: "implicitArrayOrExpression tailControlOperatorComplexExpression+"
  importStatement:     "/import/ _ valueList end root"

I just realized that this is because I was using tabs for my indentation instead of two spaces. It works the way it's documented using two spaces.
However, I will take the opportunity to open the conversation about the best way to educate the user to use spaces instead of tabs, if it is necessary to do so. Python currently strongly prefers the use of tabs over spaces, but it is not fatal not to use tabs.
Should CafScript allow tabs? If so, there may be future formatting battles. If not, and I might suggest not, can we create an informative error message for those like me who will be unaware, or who forget the convention?

I've been anti-tab for a long time. Mixing tabs and spaces is the real
problem. I guess I'm biased by my own personal experience that files with
tabs end up with space indents too and then everything gets ugly. The best
solution I've found is to just always use spaces. I wish editors would
enforce files were either all tab-indented or all space-indented.
That would be one option for Caf - allow either, but o my if it's all one
or the either.
Either way, we could have much better parse errors.
On Mon, Apr 10, 2017 at 9:03 PM Jason Thane<EMAIL_ADDRESS>wrote:

I just realized that this is because I was using tabs for my indentation
instead of two spaces. It works the way it's documented using two spaces.
However, I will take the opportunity to open the conversation about the
best way to educate the user to use spaces instead of tabs, if it is
necessary to do so. Python currently strongly prefers the use of tabs over
spaces, but it is not fatal not to use tabs.
Should CafScript allow tabs? If so, there may be future formatting
battles. If not, and I might suggest not, can we create an informative
error message for those like me who will be unaware, or who forget the
convention?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/shanebdavis/caffeine-script/issues/17#issuecomment-293143699,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AADZTOByl4L-3N0esxoOoNPCFcRbRuW9ks5ruvuBgaJpZM4M5lt7
.

I meant to say that the Python community strongly encourages and prefers spaces, not tabs, and I agree with your sentiments.
I think my personal trouble is that in Xcode, I am used to hitting the tab key. However, as I'm just surprised to discover, in Xcode the tab key inserts four spaces. So it seems like there's a consensus against tabs.
Yes, we need a parse error that clearly informs the user that tabs are disallowed. Without this, a user might conclude that the language is broken. And it would be really great if your syntax highlighting extensions could configure Sublime and other editors to insert spaces when you hit the tab key, not sure if this is possible.

Improved in 0.39.0. All-tabs or All-spaces allowed; mixed mode is rejected with a clear error.


[jvm-packages] separate classification and regression model and integrate with ML package

Design of PR#
Motivation
This PR proposes to separate the regression and classification model of XGBoost into two files, which is to be consistent with the design of other machine learning libraries, e.g. Spark ML package, XGBoost Python package, etc. The most significant benefit brought by this design is to provide the clear organization of parameters and facilitate the pipeline building.
Additionally, this PR contains the integration with Spark ML package to be compatible with the latest version of Spark
Components in New Design
XGBoostEstimator
XGBoostEstimator implements the algorithm of XGBoost. Depending on the user-specified training task type, XGBoostEstimator.fit() produces either  XGBoostClassificationModel or XGBoostRegressionModel.
XGBoostModel
XGBoostClassificationModel implements the RDD-based prediction and IO functionalities of a trained XGBoost model.
XGBoostClassificationModel
XGBoostClassificationModel implements the classfication functionalities of a trained XGBoost model. It contains four specifial parameters:

outputMargin: whether to output untransformed margin value or transformed probabilities;
rawPredictionCol: depends on the value of outputMargin, it contains either untransformed margin value or the probabilities of each class;
thresholds: by setting the threshold of each class, users can control the output value in prediction column;
predictionCol: contains the eventual prediction based on the thresholds and rawPredictionCol.

XGBoostRegressionModel
XGBoostRegressionModel  implements the regression functionalities of a trained XGBoost model.
When using the built-in objective function in XGBoost, XGBoost4J will generate XGBoostClassificationModel / XGBoostRegressionModel based on the specified value of objective . Otherwise, i.e. with a customized objective function, users are supposed to have an additional parameter obj_type specified as classification/regression to instruct XGBoost4J to generate the proper model

@CodingCat Let me know if you would like to me break the general XGBParams to XGBClassification and XGBRegressionParams.

I tested. It works.
Thanks


ogmios: Switch to HTTP healthcheck

Script is not accessible in /bin/ogmios anymore, and it does the same thing, only from within the container.

@Pacman99 I'm fast-forwarding this due to downstream dependenncy, as well.


As a cloud.gov user, I want to know how to migrate from redis 3.2 to the new AWS elastic cache

In order to support our customers, we need to provide guidance and possibly tools to ease migration off of the kubernetes versions of redis to AWS.
Acceptance Criteria

[ ] GIVEN a customer using redis 3.2 hosted on kubernetes
WHEN they are ready to migrate to the new AWS service
THEN they know what to do.

Security considerations
[note any potential changes to security boundaries, practices, documentation, risk that arise directly from this story]
Implementation sketch
[links to background notes, sketches, and/or relevant documentation

[ ] [first thing to do]
[ ] [another thing to do]

Currently blocked by AWS broker missing elasticache (redis) integration for CF. Pending follow-up response from AWS. Issue open with AWS open-source repository by community.

@ChrisMcGowan @soutenniza should this be closed out in favor of new cards that reflect the latest information since AWS is no longer being pursued as the broker option?


Convert class properties to class methods

See changelog entry for motivation. Fixes https://github.com/zarr-developers/numcodecs/issues/553
TODO:

[x] Unit tests and/or doctests in docstrings
[x] Tests pass locally
[ ] Docstrings and API docs for any new/modified user-facing classes and functions
[x] Changes documented in docs/release.rst
[ ] Docs build locally
[ ] GitHub Actions CI passes
[ ] Test coverage to 100% (Codecov passes)

Thanks! I backported this PR and successfully built on Python 3.13.