dump() and dd() not working in console.

Description
dd() and dump() do not work as expected from the console.
Actual behavior
Dumping may or may not work. Most often it will only output every second parameter, but sometimes will not generate any output at all.
Expected behavior
Normal output from the commands.
Information

hyn/multi-tenant version: 5.3.1
laravel version:5.7.25
database driver and version: Postgres 10.5
webserver software and version: NGINX 10.15.5
php version: 7.2

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', true),

        /**
         * 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' => DatabaseSeeder::class,
//      eg an admin seeder under `app/Seeders/AdminSeeder.php`:
//        'tenant-seed-class' => App\Seeders\AdminSeeder::class,

        /**
         * Automatically generate a tenant database based on the random id of the
         * website.
         *
         * @info set to false to disable.
         */
        'auto-create-tenant-database' => env('TENANCY_AUTO_CREATE_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' => env('TENANCY_AUTO_CREATE_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', true),

        /**
         * 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', true),

        /**
         * 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' => false,

        /**
         * The php sock to be used.
         */
        'php-sock' => 'unix:/var/run/php/php7.1-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' => '/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' => '/etc/init.d/nginx configtest',
                /**
                 * Action to run to reload the nginx service.
                 *
                 * @info set to null to disable reloading.
                 */
                'reload' => '/etc/init.d/nginx reload'
            ]
        ]
    ]
];

Error log
n/a
Steps to reproduce
Update /routes/console.php:
Artisan::command('inspire', function () {
    dump("test1", "test2");
    dd("test3", "test4");
    $this->comment(Inspiring::quote());
})->describe('Display an inspiring quote');

and run:
php artisan inspire

Just a quick note:
@mikebronner is fiddling with this himself. This might not be something on our end.

dump and dd might will be dropped, might already be impacting this environment?

@luceos Where did you hear that dump() and dd() will be dropped? I only read that array and string helper functions are on the chopping block. Would love to read up on anything else that is being dropped as well. :)
I found the conflict: hyn/multi-tenant doesn't seem to work well with beyondcode/laravel-dump-server, which is included in Laravel 5.7 composer.json file by default.

Further debugging suggests that this may not be a conflict with this package after all. I will close this issue for now until I can reproduce it consistently in regards with this package.


Fix incorrect value for maxBytes + add missing comma + format

Description of changes:

add missing comma after the buffering object
change the invalid value for maxBytes
correct indentation

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Thank you for providing corrections for the example.


add dimensioned streams to DynamicMap mul clone

Adds any dimensioned streams to DynamicMap clone operation when overlay '*' operator is
invoked.
Without this, the operation converts a bounded DynamicMap (and therefore displayable) to an
unbounded one (and therefore fails to render).

Makes sense to me and thanks for the tests!


Environment overrides Style/onSetup(_:)

In v4.0.0+ it works like it does in SwiftUI. I thought it was rather neat, however, that NumberTextStyle could choose the correct keyboard automatically. So I will have to think about how I can reintroduce this feature, so it works alongside the environment.

The most straight forwards solution is to make DiffableTextStyles provide optional values for each environment value and then set values as user ?? style ?? default. I do not know if there is a better alternative, however.

Another option is to have styles transform the environment, rather than the view.

I made my own environment thing-y in a small text-based side project, and it was implemented a linked-list-esque-thing-y. In that case, it would’ve been fine to mutate it. SwiftUI’s environment seems link-y when using dump(_:) on it, but dunno. A backup style preferences environment is probably safer.

Hm. I think an environment approach only works if it is guaranteed that every environment value is optional…

Yet another option is to make a protocol with getters for each value…

Another thing I’ve been thinking about is if it makes sense for styles to be the provider of this kind of behavior. I’m not sure styles should have any platform awareness. I’m inclined to say that it doesn’t make sense, considering how much time is spent on dependency cycles. The behavior it enables is 100% desirable, however. Smart views, best views. If there’s a way to set different configurations/preferences/defaults on DiffableTextField [some platform, some tech] where [some style] then that would be more ideal, I think.

OK, so here’s the problem. Image
enum Key: EnvironmentKey {
    static let defaultValue: Value = .default
}

It would be read in the environment as
environment[Key.self] as Value

But because it returns a non-optional value, and replaces omissions with Key.defaultValue, it is impossible to determine if the user has set it or not. To intercept a non-optional environment value (like SwiftUI’s keyboardType) with a style specific default, EnvironmentValues would have to provide another accessor such as
extension EnvironmentValues {
    subscript<Key>(optional key:  Key) -> Key.Value? where Key: EnvironmentKey { … }
}

This could then be read as
environment[optional: Key.self] ?? Style.defaultValue ?? Key.defaultValue

So I'm not entirely sure it's possible to implement this. Hm.

I don’t see a solution that is maintainable/extensible enough to warrant deviating from standard SwiftUI behavior, so I will retire this feature for the time being.


Aquatone default threads

Hi I think it aquatone's thread should be cpu core * 2. Now the default thread is 20 so it easy to crash if you run in small vps.

Nice suggestion. I actually get some crash when running aquatone on mass domain 😆

It's should be fix now.


Parsing @UUID to reference items on enchanted item descriptions doesn't work

While using the attribute system.description.value on an enchant effect, if you add an item reference that contains @UUID, it will get parsed as a 0 on the actual description once the enchant is applied, breaking the item reference.

Effect Value

Actual description once the enchant is applied, @UUID gets cleaned to 0.

Not able to reproduce, have you tested this without module enabled?

It's actually on Midi's side now that i've tested this further, sorry for the issue.


Anax v2.13 odbctroubleshoot cli

Describe your pull request here: Adding troubleshooting doc for IBM Db2 Database Plug-in
List the file(s) included in this PR: troubleshoot-ibm-db2-database-plug-in.md
After creating the PR, follow the instructions in the comments.

Post-merge feedback resolved in PR 3368


Store OCSP response in kubernetes secret

Is your feature request related to a problem? Please describe.
Cert-manager is capable of making OCSP request and validating certificate based on acquired OCSP resposne.
This response could be stored in corresponding kubernetes secret as DER encoded OSCP staple.
Server could utilize stored OSCP response to enable OSCP stapling.
Describe the solution you'd like
Cert-manager is capable of validating certificate via OSCP protocol.
Response from OSCP server can be stored in corresponding kubernetes secret.
This would allow server to attach above mentioned response in TLS handshakes.
Cert-manager regenerates certificates that are close to their TTL.
I suggest that cert-manager would manage OSCP staples in similar manner and store them in kubernetes secret along the actual cert.
Proposed kubernetes secret entry names:

tls.oscp-staple
tls.staple
tls.oscp

Describe alternatives you've considered
Custom made controller to pre-fetch OSCP responses.
Additional context
OSCP stapling is quite widely implemented TLS extension optimizing server authentication.
Server presents OCSP response along with certificate upon TLS handshake.
Since OCSP response is signed by CA that issued certificate, client can validate server certificate without making an OSCP request to CA.
This optimization offloads CA infrastructure and shortens overall handshake duration.
I'll happily contribute my implementation of this feature.
Updates:

Original Istio issue where discussion began:  https://github.com/istio/istio/issues/17763
Design document courtesy of @sebltm https://docs.google.com/document/d/15wwYyVyOluubL2KIM89b2X8NFwyhMVxq2_I1MESrZdI/edit?pli=1
As @jskarpe mentioned Istio merged Stage 1 PR for this feature: istio/istio#43209

/kind feature

I'd also need this. I've got some code that fetches OCSP staples and puts them in an object, would be happy to provide some code and start the process on this

There's two advantages to this approach as I see it:

We get to leverage the already implemented path of adding OCSP response for Envoy staple on the TLS handshake
Cert-manager will get knowledge of revoked certificates, and can trigger a new certificate issuing (ie. ACME) flow to get a non-revoked certificate to replace it

As a side-note, this approach is already supported by both Istio and Envoy. Ref. https://github.com/istio/istio/pull/43209
As such, this approach would fit nicely into this existing ecosystem.

Thanks for the good issue description and comments!
I've done a bit of reading around this, some thoughts in relation to discussions we already had in cert-manager meeting etc

this comment from Roland Shoemaker seems to summarize the value of OCSP staples in general

as I understand from security perspective there shouldn't be a difference from whether the staple is fetched by cert-manager or by server (i.e istio or nginx) because the staple is ultimately verified by the client by looking at its signature that was applied by the OCSP server (likely the CA)

(As already discussed with @lukbuc )The implementation of this could be quite complicated as it would need to tie into the existing certificate issuance flow as well as do a periodic staple retrieval (not even thinking about anything like enforcing renewal yet). This would definitely require a design document beforehand as at this point it is not yet clear if it could be implemented in such a way as to not make the issuance flow potentially unrealiable/too complex

My main concern at this point is to whom would it actually be valuable. Istio will now be reading staples from Secrets, but are there any others who do that? It seems like ingress-nginx, kong, looks like traefik also are instead either looking at or already retrieving the staples themselves

Note: as an alternative to putting this in-tree, there could be an out-of-tree implementation with a combination of an external controller and a mutating webhook. The webhook could ensure that when a Certificates Secret is updated with a new X.509 certificate, a new staple is also fetched and added. The controller could deal with the periodic renewals part and do any other actions such as apply Issuing condition to trigger re-issuance if it detects an invalid staple response. (I've not thought this through in great detail)

We definitely need a design document for this, but I've taken a first stab at it in https://github.com/cert-manager/cert-manager/pull/5830 to get an idea of how this could work in the cert-manager issuance flow

I have the beginnings of a project in place to monitor all certs in a cluster (not just those issued by cert-manager) and store the response in the respective secret. It would be nice if the ingress controllers could come to some consensus about how to fetch this data from the secrets and serve it up. If it’s of interest to anyone else I’ll open it up and publish publicly.

Discussed again at the cert-manager biweekly meeting on 24 Aug 2023.
/remove-lifecycle rotten
/reopen

I have the beginnings of a project in place to monitor all certs in a cluster (not just those issued by cert-manager) and store the response in the respective secret. It would be nice if the ingress controllers could come to some consensus about how to fetch this data from the secrets and serve it up. If it’s of interest to anyone else I’ll open it up and publish publicly.

@travisghansen Yes, please  link to your implementation.
It seems to me that ocsp-staple-fetcher (or whatever it is called) makes perfect sense as a separate controller which can be deployed independently of cert-manager.
We probably solve this issue by linking to your project from the cert-manager.io site and writing a tutorial.

The advantage of OCSP Stapling as an extension is that certificate check requests will be done less frequently because of staple usage.
As mentioned before most web browsers like Chrome, Firefox, and Safari support OCSP stapling.
OCSP stapling needs to be in sync with the certificate because if the OCSP response is not in sync with the certificate, clients might use a response that no longer accurately represents the certificate's status
There is also one thing that is good to be considered with OCSP stapling. There is a security extension OCSP Must-Staple that can be added to an SSL certificate to ensure the certificate’s status is checked every time a website is visited. When a certificate has OCSP Must-Staple enabled, the website’s server must get the client an OCSP staple whenever it receives an SSL certificate.
Also adding this functionality fits to the implementation that is currently supported in envoy and istio https://github.com/istio/istio/pull/43209.

@paweljoz do you have reasons why an operator external/independent of cert-manager doesn't fulfill the goals you outlined?

I would also like to have such functionality. It doesn't matter if it'll be a separate controller or a cert-manager built-in as long as it all plays nicely together / is officially supported by cert-manager.
Are You still working on the subject?

@travisghansen As long as it fulfills the goals and is officially supported by cert-manager works for me

The online certificate status protocol (OCSP) is a more efficient way of check if a certificate is revoked than looking up Certificate Revocation Lists. By stapling the OCSP response directly into the TLS handshake, it's even more efficient as no additional request is needed. Ref. https://www.grc.com/revocation/ocsp-must-staple.htm
Checking certificate revocation is particularly relevant in regards to compliance, when this is typically mandatory.
In the case of must-staple flag for certificates, the result would be a "fail-hard" - rendering the full certificate invalid. For these certificates it's crucial that certificate issuance and OCSP response is collected at the same time before installing the certificate. In the case of Istio, populating both the certificate and OCSP response in the secret at the same time would accomplish this.
As such, it makes sense that certificate issuing and OCSP response happens in lock-step inside cert-manager before provisioning the certificates. An out-of-band process for OSCP responses would not support must-staple certificates.

Must staple is orthogonal to whatever manages the ocsp responses in my opinion but indeed should be supported by cert-manager.
@lukpep yes I’ve created the project/org but lack a few minor things to clean up (create a chart, etc) before publishing further. It won’t be long and it should be ready for broader testing.
Out of curiosity and for testing purposes I would be interested to know how many certs people have in a single cluster that need stapled responses?

OK, initial stab is here: https://github.com/ocsp-manager/ocsp-manager

We currently have a few hundred that we wish to manage with cert-manager instead of semi-manually. Target is to support a few thousands. (OCSP stapling needed due to specific compliance requirement, currently blocking migration)

Yeah, go ahead and give it a try and open an issue in the project if you need some help doing initial configuration and providing initial feedback.

Did anyone happen to try out the manager and have any feedback to share?

I haven't tested the project itself, but as far as I can tell it's an out-of-band solution? I see at least two challenges with this for our use-case:

Every certificate will have a period without OCSP stapling. Potentially violating compliance which requires OCSP staple (for us, government security requirement in order to be an eligble vendor)
OCSP Must-Staple will fail validation in this time frame

It is an out of band solution yes. There are ways around the timeframe you’re referencing but under normal operation the ocsp data will be there very quickly…like within 1s or so.

It is an out of band solution yes. There are ways around the timeframe you’re referencing but under normal operation the ocsp data will be there very quickly…like within 1s or so.

@travisghansen If you have time, please write a short tutorial showing how to use ocsp-manager + cert-manager + ingress. We could add a link to the https://cert-manager.io/docs/tutorials/ page.

I intend to extend the project to have a mutating webhook to ensure the response is there immediately upon create/update. Once that’s done we can write some doc and get some testing.

/remove-lifecycle stale

Alternative go solution https://github.com/signicat/ocsp-controller

Push for that one! Would love it too

I still have plans to release that. The core functionality is/was done but I never got around to implementing the webhook. Once I do that I can release.

/remove-lifecycle stale


Add our best practices to the README

We have specified those in the Slack channel

finish :)

finish again
its ok now?

We have specified those in the Slack channel

Where is the PR? Can you mention the issue # on the PR? I can trace from the issue your PR.


chore(build): support build lua-tiktoken on Windows

relate to #102

🆒

Sorry I forgot to add windows as part of the release workflow. Should be there soon enough


Add cluster + session setting expose_object_columns

This new settings dictates whether inner columns of object data types shall be exposed at information_schema.columns andpg_catalog.pg_attribute.
Some apps do not support correct quoting of subscript expressions, the whole subscript will be quoted instead of just the identifier part (e.g. "my_col['a']" instead of "my_col"['a']).
Thus these apps will break if they use column information based on the system tables. To support such apps, exposing of all object inner columns can be disabled by this new setting.
The setting is implemented as a runtime cluster setting and additionally as a session setting, which by default derived its value from the cluster setting. The later will override the former for each session.
Existing sessions won't be affected if the runtime setting is modified during the lifetime of a session.

We decided to to go for the opposite approach, see #10485.


Basic AT commands problem in esp_private.h

I try to get the RAM of the ESP32 using ESP_AT_LIB. I notice that a basic AT command "ESP_CMD_SYSRAM"in esp_private.h line 69 may help me, but i can't find anything about it in esp_int.c like others such as "ESP_CMD_GMR". Does it mean that I have to write my own code or I miss something?

Header file tries to contain all possible commands, but I didnt find it useful to actuakky implement to retrieve ram usage from ESP32.
In thus case manual work is necessary to send command and then interpret it properly.


Replace httpbin.org/headers with WebListener Get

Replaces calls to httpbin.org/headers with WebListener Get.
reference #2504
(side note: I'm not sure what the point is of these vs the ones in #4798. I think a separate issue needs to be worked to streamline these tests as there appears to be many that perform the same exact checks against slightly different URLs without much difference in behavior or expected outcome).

@markekraus,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

Test fails due to #4800


Added 'Authorization' header with bearer token

Added Authorization header with bearer token defined in RFC 6750
related issues: #1522 #902 #1487

@rhiroshi Could we turn this off when DeviseTokenAuth.cookie_enabled? This PR increases the cookie size considerably, and unnecessarily since an Authorization header doesn't make sense when using the cookie transport method.

commented with a different account. I will create a PR this week to address this

@rhiroshi any update on making it possible to disable this header when DeviseTokenAuth.cookie_enabled is true? Thanks!

@theblang @barillax Created the PR, sorry for the delay


[4.2] SR-8999: NSData contentsOf expects st_size to be the size of the file.

Modify FileHandle._readDataOfLength(untilEOF:options:) to ignore
stat.st_size and just use the result of read() to determine whether
to keep reading.

Also convert syscall error handling to throw instead of calling
fatalError().

NSData.readBytesFromFileWithExtendedAttributes(options:) now uses
FileHandle._readDataOfLength(untilEOF:options:) to read from a file
rather than duplicating the file reading logic.

(Linux) Add a test to read a file in /sys which reports
stat.st_size > size of the file's contents.

(cherry picked from commit 5733313eef587d400980ba1aeb40134dd8357b0a)
SR-8999: Ensure the FileHandle read methods call fatalError() on error

readDataToEndOfFile(), readData(ofLength length: Int) and
.availableData should call fataError() if there are IO errors,
not return an empty Data().

(cherry picked from commit d58337726234323e6a96ca8c0e69056035793240)

@swift-ci test 4.2


mkpr

Applied mkpr on undefined
./x.sh

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@210ffe6). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #1110   +/-   ##
=========================================
  Coverage          ?   89.46%
=========================================
  Files             ?        7
  Lines             ?      712
  Branches          ?       77
=========================================
  Hits              ?      637
  Misses            ?       75
  Partials          ?        0

Continue to review full report at Codecov.

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


Pokemon/Moves: Learn "Level" categorised incorrectly

If a pokemon learns a move by level up and also by another condition (e.g. TM), we only show that this can be learnt by the special case.
This is caused by the way that we process the data when we build the moves table, if any alternatives to level up are found, we take the first and place this in the lvl column as the method.
We need to determine if we should simply show the level if they can learn by level and another method, or if we need to re-write this to display many methods if there are multiple methods.
Thoughts, @aqmnguyen ?

Turns out this is related to the logic we run when passing the response to the page. Re-assigning to you @aqmnguyen


chore: bump chroma-go to latest version

Signed-off-by: bjwswang<EMAIL_ADDRESS>Changelogs:

Bump chroma-go to latest version which optimizes lots of things. See https://github.com/amikos-tech/chroma-go/pull/4
Remove empty file agents/executor

PR Checklist

[x] Read the Contributing documentation.
[x] Read the Code of conduct documentation.
[x] Name your Pull Request title clearly, concisely, and prefixed with the name of the primarily affected package you changed according to Good commit messages (such as memory: add interfaces for X, Y or util: add whizzbang helpers).
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. Fixes #123).
[x] Describes the source of new concepts.
[x] References existing implementations as appropriate.
[x] Contains test coverage for new functions.
[x] Passes all golangci-lint checks.

LGTM. If you're associated with that project could you ask that they start doing versioned releases?

sure.will let you know if they do .


feat: print identity and provider during signing

I fixed the linter offline and pushed the changes. Should pass the tests now. Thanks!


update for 1.2?

This is the most underrated mod in the history of KSP.
What's needed to be done?
Is this possible?
I'm looking to dive into C# if I can do anything to help.

I've been sniffing around the update to see what needs to be done.
BetterCrewAssignment does a better job of managing default assignments, so
that functionality can be dropped.
Just need to get vacations working.
On Nov 4, 2016 3:56 AM, "X-Trade"<EMAIL_ADDRESS>wrote:

This is the most underrated mod in the history of KSP.
What's needed to be done?
Is this possible?
I'm looking to dive into C# if I can do anything to help.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/fingerboxes/CrewQueue/issues/11, or mute the thread
https://github.com/notifications/unsubscribe-auth/ACiXFuWkiYvYxlm2nlaAabYh46HlGiRQks5q6w9xgaJpZM4KpaXJ
.

This would definitely be nice to see.


Fix item use create measure template option not working with aoe spells

What issue is this fixing? Is there an associated bug report in the tracker?

What issue is this fixing? Is there an associated bug report in the tracker?

It fixes https://github.com/foundryvtt/dnd5e/issues/2289

Marking as blocked on #2387

This should now be resolved on the 2.4.x branch and AbilityUseDialog will now be better-behaved about respecting options passed to it. Please feel free to re-open the original issue if not.


fix(react): fix missing record props in ArrayBase.Item

Before submitting a pull request, please make sure the following is done...

[x] Ensure the pull request title and commit message follow the Commit Specific in English.
[x] Fork the repo and create your branch from main.
[ ] If you've added code that should be tested, add tests!
[ ] If you've changed APIs, update the documentation.
[x] Ensure the test suite passes (npm test).
[x] Make sure your code lints (npm run lint) - we've done our best to make sure these rules match our internal linting guidelines.

formily升级到2.0.0-rc.19后，ArrayBase.Item需要添加record属性

跑的分支版本貌似不对？

你试试重新拉个分支再提一下？

你试试重新拉个分支再提一下？

ok，这里看起来同时去构建了 current 和 base 分支，current是合并后的分支，能跑过去，base是原本的main分支，跑不过去。我试试用 main 分支去提


New appimage does not work on Manjaro Gnome

I am using appimagelauncher but it does nothing. Usually I can run or integrate and run. This time none works. How to debug? Cheers!

Hi, thanks for reporting this. I've just tested the AppImage on Ubuntu and it's working for that platform.
Did the installation with AppImageLauncher work for previous versions of the app?
If you have Node installed, would you mind testing whether you can run the app locally? If not, I can spin up a VM and have a look as well.

https://github.com/samuelmeuli/mini-diary/releases/download/v2.0.1/mini-diary-2.0.1-x86_64.AppImage Works just fine. I may try to run the app locally like you suggested but at the moment I can't so if you are able to test on a Manjaro install that would be helpful :). I've also deleted the old config for the app to make sure the config didn't interfere with the new appimage. But made no difference.

This problem seems to be related to sandboxing in Electron v5 (see https://github.com/electron-userland/electron-builder/issues/3872). I'm downgrading to v4 again for now to fix this.


ppl changes double arithmetic

SageMath builds PPL with --disable-fpmath, https://github.com/sagemath/sage/blob/develop/build/pkgs/ppl/spkg-install.in#L7. The reason for this is, I guess, that PPL changes some aspects of double arithmetic. Namely, in initializer.hh some generic initialization happens through a
static Parma_Polyhedra_Library::Init Parma_Polyhedra_Library_initializer;

This initialization then for example calls fpu_set_rounding_direction. This has strange side effects:
>>> import cppyy
>>> from decimal import Decimal
>>> w = 0.0000000000000001224646799147353207173764029458396604625692124677580063796256126806838437914848327636718750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
>>> Decimal(w*w)
Decimal('1.499759782661857607835623101543336284205351508247989035259582954379199794559075005657977630590949047473259270191192626953125E-32')
>>> cppyy.load_library('libppl')
True
>>> cppyy.include('ppl.hh')
True
>>> Decimal(w*w)
Decimal('1.499759782661857881526729414984170448996285744559733425935743477136186465861474202882798467673097775332280434668064117431640625E-32')

Should we build a variant of ppl with --disable-fpmath here as well? @isuruf

I think we should just disable it and have it be the default.

Speaking of rounding direction, help is welcome with:

Sage Trac ticket 26956: bug in comparisons between AA and RealField with RNDU rounding
Sage Trac ticket 29957: Bug in ContinuedFraction rounding

in case you have any ideas.


feat(linter.gitlab-ci): Prevent double call to lint api during linter.gitlab-ci task

What does this PR do?
Prevent double call to lint api during linter.gitlab-ci task
Motivation
The call to lint api with our config takes 15~20s. As the linter.gitlab-ci task is in the pre-commit push, it was really painful to wait that much.
Describe how to test/QA your changes
Local run of the task:
before
[0:00:00.492194]info: Fetching Gitlab CI configurations...
[0:00:20.994323]> Testing .gitlab-ci.yml...
info: We will test 1 contexts
Test gitlab configuration with context:  [('BUCKET_BRANCH', 'nightly'), ('CI_COMMIT_BRANCH', 'main'), ('CI_COMMIT_TAG', ''), ('CI_PIPELINE_SOURCE', 'pipeline'), ('DEPLOY_AGENT', 'true'), ('RUN_ALL_BUILDS', 'true'), ('RUN_E2E_TESTS', 'auto'), ('RUN_KMT_TESTS', 'on'), ('RUN_UNIT_TESTS', 'on'), ('TESTING_CLEANUP', 'true')]
.gitlab-ci.yml config is valid
[0:00:33.298568]> Testing .gitlab/deploy_containers/deploy_containers_a7.yml...
.gitlab/deploy_containers/deploy_containers_a7.yml config is valid
[0:00:33.874816]end

after
[0:00:00.000002]info: Fetching Gitlab CI configurations...
[0:00:02.166166]> Testing .gitlab-ci.yml...
info: We will test 1 contexts
Test gitlab configuration with context:  [('BUCKET_BRANCH', 'nightly'), ('CI_COMMIT_BRANCH', 'main'), ('CI_COMMIT_TAG', ''), ('CI_PIPELINE_SOURCE', 'pipeline'), ('DEPLOY_AGENT', 'true'), ('RUN_ALL_BUILDS', 'true'), ('RUN_E2E_TESTS', 'auto'), ('RUN_KMT_TESTS', 'on'), ('RUN_UNIT_TESTS', 'on'), ('TESTING_CLEANUP', 'true')]
.gitlab-ci.yml config is valid
[0:00:22.311904]> Testing .gitlab/deploy_containers/deploy_containers_a7.yml...
.gitlab/deploy_containers/deploy_containers_a7.yml config is valid
[0:00:23.777173]end

Possible Drawbacks / Trade-offs
I changed the ignore_errors to with_linter because ignore_errors was not used in the current_code. Thus I automatically consider I should check errors if I call the linter
Additional Notes
I've done some refactoring because I felt:

reading code is really hard with method definitions within other methods
all the names were really similar, I've tried to find more explicit names, but it's maybe not better, don't hesitate to react

/merge


Fixed contributors page and headings

Added icons of GitHub and LinkedIn and placed the names in a single row to tidy the page.

Centered rest of the headings.

Hey @mihirharshe , can you update the contributor's page and then PR.

@gauravsinhaweb Do you mean to update the contributors from https://github.com/gauravsinhaweb/EduSmart/graphs/contributors ?

@mihirharshe to add all the members who contributed. Pic for reference:

@gauravsinhaweb Yes on it.


Set up documentation building properly

A properly generated class documentation should be available somewhere, be it inside the docs folder, github pages or elsewhere.
After phpdocumentor was correctly installed (i.e. not using composer), the following commands can function as a starting point for experimentation.
To make them more approachable, they could be added to the scripts section in composer.json.
        "gen-type-hierarchy": "php phpDocumentor.phar run -d \"packages/access-definitions/src/Wrapping/Contracts/Types\" -d \"packages/jsonapi/src/ResourceTypes\" -t docs2 --setting=graphs.enabled=true",
        "gen-docs": "php phpDocumentor.phar run -d \"packages/*/src/\" -t docs2"

It was not decided yet, if the generated class documentation should be put together with HTML documentation generated from the asciidoc files, or if those should reside elsewhere (or can simply be left as adoc files to be rendered by Github when opened).
Also note that asciidoctor supports automatically generating images from uxf (Umlet) files, which would need to be done manually or via custom workflow when relying on Github only.

https://github.com/gollum/gollum seems worth to be evaluated.


Get digest before push

👋
I wanted to see if the project was open to adding a cli command and a library function to get the digest of an artifact before pushing. We have some bazel rules that use ORAS to create custom artifacts and then output the digest, but we have have to do this in a reproducible way without network access. Bazel's rules_docker does something similar to this.
It seems as though I could adapt some of the code here to do this, but I wanted to get a feel for this feature before I started implementation.

Interesting. @shizhMSFT, what do you think?

I've written an internal patch to do this, extending the push command with a --dry-run flag.
A better design may be introducing a primitive digest command, but it requires abstracting part of the push command as it has a lot of the same logic. I would like to confirm a plan before undertaking any larger work.

We've had a few recent conversations about how we might achieve this. For example, the notary v2 efforts require a manifest to sign, which requires a digest.
I think there's an interesting set of factoring questions here
Should ORAS include

digest generation libraries?
manifest creation, without having to push to a registry first?

Open to discussion from other maintainers (@jdolitsky, @shizhMSFT, @jzelinskie, @vbatts, @sajayantony)

A dry run for manifest generation is interesting. Once, we have manifest, we can compute the manifest digest and sign it using notary v2 later.

@griffin - you might want to checkout https://github.com/deislabs/oras/tree/prototype-2
@shizhMSFT added the --dry-run support, along with  --export-manifest as part of the Notary v2 prototype work.
If we like, we can promote it up to main, but I do want to give credit for your suggestion.
oras push localhost:5000/foo:bar \
  --dry-run \
  --export-manifest manifest.json \
  sbom.json

cat manifest.json

Output:
{
  "schemaVersion": 2,
  "config": {
    "mediaType": "application/vnd.unknown.config.v1+json",
    "digest": "sha256:44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a",
    "size": 2
  },
  "layers": [
    {
      "mediaType": "application/vnd.oci.image.layer.v1.tar",
      "digest": "sha256:b0a764ebc678d8614c9c05e2fef857b9bf0673ed3e66a6cec0a14540942e7ad4",
      "size": 101,
      "annotations": {
        "org.opencontainers.image.title": "sbom.json"
      }
    }
  ]
}

And, new experimental reference artifact support
oras push localhost:5000/foo:bar \
  --artifact-type application/x.sample.doc.v0 \
  --dry-run \
  --export-manifest manifest.json \
  sbom.json

cat manifest.json

Output:
{
  "schemaVersion": 2,
  "mediaType": "application/vnd.oci.artifact.manifest.v1+json",
  "artifactType": "application/x.sample.doc.v0",
  "blobs": [
    {
      "mediaType": "application/vnd.oci.image.layer.v1.tar",
      "digest": "sha256:b0a764ebc678d8614c9c05e2fef857b9bf0673ed3e66a6cec0a14540942e7ad4",
      "size": 101,
      "annotations": {
        "org.opencontainers.image.title": "sbom.json"
      }
    }
  ],
  "manifests": []
}

Closing as it's covered via oras push/attach --oci-layout in main branch.
@griffin You may use a local folder test to stage the manfiest before pushing it to a remote registry. Try below commands:
oras push --oci-layout ./test:v1  foo bar # pack file `foo` and `bar` into an artifact tagged with `v1`
oras manifest fetch --oci-layout ./test:v1 --descriptor # fetch the descriptor of the generated manifest (digest included)
oras copy --from-oci-layout ./test:v1 <your.registry>/<repo>:v1 # uploading the artifact to remote registry

You need to build from main branch. This feature will be included in oras 1.0.0-rc.1 release planned for end of Jan 2023.


"Show Ferdi" on task bar icon not working

I've just updated Ferdi at 5.6.3 version. I have enabled option "Minimized Ferdi to system tray" and "Close Ferdi to system tray" but when I double click on Ferdi icon in the tray, nothing happens; the same if I right click eand select "show Ferdi". In order to see Ferdi windows, I have to relaunch it.
I'm using Windows 10.

Duplicate of #2147


Compliance Report | Compliance Report History Records |5|

Task:
Create a compliance report history record when submitting a compliance report. Similar to the transaction history record in the Credit Transfer feature (see attached screenshot), we want to track who signed and submitted the compliance report.
Format:
The record should follow the same format as the Credit Transfer feature:

<Status> on Month DD, YYYY by <First, Last Name> of <Organization Name>
Example: Submitted on March 31, 2019 by Billy Biodiesel of TFRS Fantastic Fuels

Visibility:
This entry should be visible to both the fuel supplier and government for all roles that can access the compliance reporting feature (compliance reporting role, Signing Authority, all government roles).

 Compliance Report | Compliance Report History Records |5|

resolved in sprint ursa major


⬆<EMAIL_ADDRESS>

Resolves the electron upgrade blocker

Could this also get looked at?
https://github.com/atom/settings-view/pull/1144

I tested this. I can confirm the fix worked for me.
(On a branch I made with this and #21095 merged into electron-6.1.12-bump-electron-packager-from-git, both bugs went away. :+1:)

Find in project --> Find and Replace in project works now, tested with Electron 6.
Package info/settings view can be scrolled, tested with Electron 6.

My build artifacts are here: https://dev.azure.com/DeeDeeG/b/_build/results?buildId=149&view=artifacts&type=publishedArtifacts


The performance benefits of  Efficient Source Generation

Hello, yl4579. In 2.1.1. Efficient Source Generation, you do the We note that the L factor in Equation 6 scales the value by the hop size, as Equation 5 now integrates with 1/L of steps compared to steps in Equation 2.. I want to know what is the performance benefit of this change?

I found  there is little difference in performance in cumsum in O(NL) or in O(L)). When the model generator 6.25 seconds wav,  the cumsum only cost 0.007ms(in O(NL)) .

Which sum do you refer to? Have you tried to use the original source generator with upsampled F0 input and see how the performance changes? The original SineGen module is here: https://github.com/nii-yamagishilab/project-NN-Pytorch-scripts/blob/master/project/01-nsf/hn-nsf/model.py#L303
Note that the original module first upsample F0 to the same size of the target wave and then integrate: https://github.com/nii-yamagishilab/project-NN-Pytorch-scripts/blob/master/project/01-nsf/hn-nsf/model.py#L414
If your waveform is 6.25s with sampling rate 22.5 kHz, there will be 137813 samples, but your mel only has 538 frames with a hop size of 256.
import torch
import time

up = torch.randn(1, 137813)
mel = torch.randn(1, 538)
start = time.time()
for _ in range(100):
    torch.cumsum(up, dim=-1)
print('Cumsum in time took %.4f s' % (time.time() - start))

start = time.time()
for _ in range(100):
    torch.cumsum(mel, dim=-1)
print('Cumsum in mel took %.4f s' % (time.time() - start))

Cumsum in time domain took 0.0356 s
Cumsum in mel domain took 0.0013 s

This seems significant to me.

Try it yourself if you replace the SineGen with the original implementation:
class SineGen(torch.nn.Module):
    """ Definition of sine generator
    SineGen(samp_rate, harmonic_num = 0,
            sine_amp = 0.1, noise_std = 0.003,
            voiced_threshold = 0,
            flag_for_pulse=False)
    samp_rate: sampling rate in Hz
    harmonic_num: number of harmonic overtones (default 0)
    sine_amp: amplitude of sine-wavefrom (default 0.1)
    noise_std: std of Gaussian noise (default 0.003)
    voiced_thoreshold: F0 threshold for U/V classification (default 0)
    flag_for_pulse: this SinGen is used inside PulseGen (default False)
    Note: when flag_for_pulse is True, the first time step of a voiced
        segment is always sin(np.pi) or cos(0)
    """

    def __init__(self, samp_rate, upsample_scale, harmonic_num=0,
                 sine_amp=0.1, noise_std=0.003,
                 voiced_threshold=0,
                 flag_for_pulse=False):
        super(SineGen, self).__init__()
        self.sine_amp = sine_amp
        self.noise_std = noise_std
        self.harmonic_num = harmonic_num
        self.dim = self.harmonic_num + 1
        self.sampling_rate = samp_rate
        self.voiced_threshold = voiced_threshold
        self.flag_for_pulse = flag_for_pulse
        self.upsample_scale = upsample_scale

    def _f02uv(self, f0):
        # generate uv signal
        uv = (f0 > self.voiced_threshold).type(torch.float32)
        return uv

    def _f02sine(self, f0_values):
        """ f0_values: (batchsize, length, dim)
            where dim indicates fundamental tone and overtones
        """
        # convert to F0 in rad. The interger part n can be ignored
        # because 2 * np.pi * n doesn't affect phase
        rad_values = (f0_values / self.sampling_rate) % 1

        # initial phase noise (no noise for fundamental component)
        rand_ini = torch.rand(f0_values.shape[0], f0_values.shape[2],\
                              device = f0_values.device)
        rand_ini[:, 0] = 0
        rad_values[:, 0, :] = rad_values[:, 0, :] + rand_ini

        # instantanouse phase sine[t] = sin(2*pi \sum_i=1 ^{t} rad)
        if not self.flag_for_pulse:
            # for normal case

            # To prevent torch.cumsum numerical overflow,
            # it is necessary to add -1 whenever \sum_k=1^n rad_value_k > 1.
            # Buffer tmp_over_one_idx indicates the time step to add -1.
            # This will not change F0 of sine because (x-1) * 2*pi = x *2*pi
            tmp_over_one = torch.cumsum(rad_values, 1) % 1
            tmp_over_one_idx = (tmp_over_one[:, 1:, :] -
                                tmp_over_one[:, :-1, :]) < 0
            cumsum_shift = torch.zeros_like(rad_values)
            cumsum_shift[:, 1:, :] = tmp_over_one_idx * -1.0

            sines = torch.sin(torch.cumsum(rad_values + cumsum_shift, dim=1) \
                              * 2 * np.pi)
        else:
            # If necessary, make sure that the first time step of every
            # voiced segments is sin(pi) or cos(0)
            # This is used for pulse-train generation

            # identify the last time step in unvoiced segments
            uv = self._f02uv(f0_values)
            uv_1 = torch.roll(uv, shifts=-1, dims=1)
            uv_1[:, -1, :] = 1
            u_loc = (uv < 1) * (uv_1 > 0)

            # get the instantanouse phase
            tmp_cumsum = torch.cumsum(rad_values, dim=1)
            # different batch needs to be processed differently
            for idx in range(f0_values.shape[0]):
                temp_sum = tmp_cumsum[idx, u_loc[idx, :, 0], :]
                temp_sum[1:, :] = temp_sum[1:, :] - temp_sum[0:-1, :]
                # stores the accumulation of i.phase within
                # each voiced segments
                tmp_cumsum[idx, :, :] = 0
                tmp_cumsum[idx, u_loc[idx, :, 0], :] = temp_sum

            # rad_values - tmp_cumsum: remove the accumulation of i.phase
            # within the previous voiced segment.
            i_phase = torch.cumsum(rad_values - tmp_cumsum, dim=1)

            # get the sines
            sines = torch.cos(i_phase * 2 * np.pi)
        return  sines

    def forward(self, f0):
        """ sine_tensor, uv = forward(f0)
        input F0: tensor(batchsize=1, length, dim=1)
                  f0 for unvoiced steps should be 0
        output sine_tensor: tensor(batchsize=1, length, dim)
        output uv: tensor(batchsize=1, length, 1)
        """
        f0_buf = torch.zeros(f0.shape[0], f0.shape[1], self.dim,
                             device=f0.device)
        # fundamental component
        fn = torch.multiply(f0, torch.FloatTensor([[range(1, self.harmonic_num + 2)]]).to(f0.device))

        # generate sine waveforms
        sine_waves = self._f02sine(fn) * self.sine_amp

        # generate uv signal
        # uv = torch.ones(f0.shape)
        # uv = uv * (f0 > self.voiced_threshold)
        uv = self._f02uv(f0)

        # noise: for unvoiced should be similar to sine_amp
        #        std = self.sine_amp/3 -> max value ~ self.sine_amp
        # .       for voiced regions is self.noise_std
        noise_amp = uv * self.noise_std + (1 - uv) * self.sine_amp / 3
        noise = noise_amp * torch.randn_like(sine_waves)

        # first: set the unvoiced part to 0 by uv
        # then: additive noise
        sine_waves = sine_waves * uv + noise
        return sine_waves, uv, noise

and time the results:
device = 'cuda'
F0_model = JDCNet(num_class=1, seq_len=192)
generator = Generator(h, F0_model).to(device)
stft = TorchSTFT(filter_length=h.gen_istft_n_fft, hop_length=h.gen_istft_hop_size, win_length=h.gen_istft_n_fft).to(device)

dummy = torch.randn(1, 80, 538).to('cuda')
start = time.time()
for _ in range(100):
    with torch.no_grad():
        spec, phase = generator(dummy)
print(time.time() - start)

I got 3.7535805225372314 on Nvidia RTX 3090 Ti. Using the improved SineGen, I got 2.605872869491577, about 45% improvement in speed.


postgresql v12 support

Hi!
Is there a plan to make pipelinedb support postgresql v12?

Is support for PostgreSQL 12 planned?

idem?

The pipelinedb team has joined Confluent, there were some exclusive items when the contract got signed, probably. It totally depends on whether there are other resources to keep maintain this project. Sounds sad a little bit!

Maybe they are now working on ksqlDB.


i18n(de): update astro-syntax.mdx

Description (required)

update astro-syntax.mdx
#9888

Related issues & labels (optional)

Closes #
Suggested label:

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

de
basics/astro-syntax.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.

I found a few things that were wrong.

{item} and visiable are words that don't exist, but want to highlight them. This causes the highlighting to not render. (lines 80, 93)

In the original English, client:* hydration directives is set as a link, but here, only client:* is set as a link.
This seems wrong to me, but I could be wrong, as different countries have different language usage.
If this is what you intended, please let me know!

Other than the parts mentioned above, everything else seems to be perfect!

Thank you so much for not only looking at the new content, but the whole page! Otherwise, I would never have found those mistakes!
You are right with the client: * link, the other word was not highlighted...

LGTM!

Another cool tip, now that you're one of the maintainers:
You probably have seen many reviews from other people with over 1000 commits in 3 withastro repos, but I don't know if you know how to create a review. Follow this nice guide: 😉
https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request#starting-a-review
I'm just mentioning this because you posted the review as normal comments, so maybe I can help... 😊

Follow this nice guide: 😉
https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request#starting-a-review

One important point, I always miss when starting a review myself: Click the "Start a review" button (Step 10 in the GitHug guide). It's usually green and somewhere at the bottom right of the "files changed" page. 😉

@trueberryless  Thanks!
By the way, it looks like I can only add reviews to modified code in PR, so I added this review as a general comment!
I often forget to hit the green button to complete a review, haha.

By the way, it looks like I can only add reviews to modified code in PR, so I added this review as a general comment!

Oh yeah, I didn't think about this... Sorry 😔
What HiDeoo does in this situation though, is just to add the comment at the last possible line and mention something like "can't add comment there cause out of review range"

Thanks for the tip, I'll try it next time :)


[ANT-1226] Cohérence des solver E2E

Ensure the same solver is used across all steps of Xpansion:

Use the solver described in user/expansion/settings for Antares Simulator
Use the solver described in user/expansion/settings for ProblemGeneration
No change to Benders

Limitation: Solver is not passed to Antares Simulator in case of "in-memory" mode.

putting the solver name in a file is good, i would also include all pb gen options, what do you think?


Feat: We can improve the description section.

Describe the feature
We can add font, color ,change size to it to make this look good.

Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

I would like to work on this issue please assign this task to me.

Hey! @arghadipmanna101.I have resolved this issue ,kindly review my pull request and close this issue.

Thank you sir
On Thu, 16 May 2024, 12:29 am traptijindal, @.***>
wrote:

Closed #479
https://github.com/arghadipmanna101/Flipkart_Clone/issues/479 as
completed.
—
Reply to this email directly, view it on GitHub
https://github.com/arghadipmanna101/Flipkart_Clone/issues/479#event-12822388606,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BC4OSEEMKVJV2RHKHGX5EPLZCOWCTAVCNFSM6AAAAABHWWWXGSVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJSHAZDEMZYHA3DANQ
.
You are receiving this because you commented.Message ID:
@.***
com>


Add Dream Journal Calculator

An interesting and fascinating calculator that processes user-provided dream entries and emotions, generating visual and textual insights to help users understand recurring themes and patterns in their dreams.
Inputs:
Dream Entries:
Title: Brief title of the dream.
Date: The date when the dream occurred.
Description: Detailed text entry describing the dream.
Emotions:
List of emotions experienced during the dream, provided as comma-separated values.
Outputs:
Keyword Analysis:
Word Cloud: Visual representation of the most frequently occurring words in the dream descriptions.
Recurring Words: List of keywords that appear multiple times across different entries.
Emotion Analysis:
Emotion List: Display of emotions tagged by the user.
Insights and Interpretations:
Summary of recurring themes based on the keyword and emotion analysis.
Basic interpretation of the patterns identified in the dream entries.

please assign this issue to me under gssoc


Support for JsonProperty?

Is there a way to make use of JsonProperty? I am trying to have a specific name for some fields in swagger ui and swagger json file. Currently the JsonProperty has no effects.
I tried with services.AddSwaggerGenNewtonsoftSupport() from Swashbuckle.AspNetCore.Newtonsoft V6.0.3, but no results.
If there is no support for this, what other possibilities do I have to customize filed names?
I am using an Azure Function targeting .NET Core 3.1 and the latest AzureExtensions.Swashbuckle(v3.2.2)

Hi @ben-002
You can achieve it with JsonPropertyName of System.Text.Json.Serialization;
Newtonsoft is not supported at the moment. And it might happen that it won't be.

Hi @vitalybibikov,
We're also interested in some way to configure what JSON library is used for handling these annotations.
For now we have forked the repo and added in SwashbuckleConfig.Initialize the following line services.AddSwaggerGenNewtonsoftSupport();
It would be great if we could be able to configure this from outside.
Thank you,
Cosmin

@cosminstirbu
Hi, Is it possible for you to use System.Text.Json instead?
Is there any specific use case why you've stuck with the Newtonsoft?
I don't want to add Newton, due to the fact, that it will bring more issues.
Technically, it's possible, for instance to unseal SwashbuckleConfig class, make Initialize virtual => to allow something like:
        public CustomConfig(
            IApiDescriptionGroupCollectionProvider apiDescriptionGroupCollectionProvider,
            IOptions<SwaggerDocOptions> swaggerDocOptions,
            SwashBuckleStartupConfig startupConfig,
            IOptions<HttpOptions> httpOptions)
            : base(apiDescriptionGroupCollectionProvider, swaggerDocOptions, startupConfig, httpOptions)
        {
        }

        public override void Initialize(ExtensionConfigContext context)
        {
            this.Services.AddSwaggerGenNewtonsoftSupport();
            base.Initialize(context);
        }

Fixed, please reopen if needed


ci(drone): remove privileged in build stage

ci(drone): remove privileged in build stage
Signed-off-by: Yang Chiu<EMAIL_ADDRESS>

@mergify backport v1.5.x v1.4.x

Don't need to backport the CI config.


Create a job on CI

We need to make sure that the project builds

Closing this issue since we now have a TravisCI pipeline in place.
CC @DavideD

Thanks @aguibert, Can you link on the right the correct PR under Linked Pull Requests, please?


Duplicate class warning (module-info) in bcprov and bcpkix introduced in 1.62

Version 1.62 introduced a duplicate class warning in bcprov and bcpkix with respect to their module-info entry when building a shaded JAR with maven.
[WARNING] bcprov-jdk15on-1.62.jar, bcpkix-jdk15on-1.62.jar define 1 overlapping classes:
[WARNING]   - META-INF.versions.9.module-info

This warning is not present when shading a build that utilizes 1.61.

The shaded code doesn't appear to be able to cope with multi-release jars. In this case it's probably safe to ignore the warning, but you might want to make sure the module-info class is not propagated, or if one is actually required that you build your own one from the source so that it properly captures what is in the jar.

Thankfully it is not required nor propagated for the project that generated this warning. I just wanted to bring this to your attention. Thank you for the info!


Add Windows as a target OS in Cargo dependencies

Windows was missing in the list of target OS in the Cargo dependencies. This caused builds to fail on Windows because dependencies were missing.
💻 Examples
-
🚨 Test instructions
Using cargo run -p maplibre-demo on a Windows OS now works.
✔ PR Todo

[x] Add Windows to the target_os list in the cargo dependencies

Do you think we need to add windows to other places aswell? In the platorm module there are references to linux/macos aswell.

Do you think we need to add windows to other places aswell? In the platorm module there are references to linux/macos aswell.

You're right. I forgot to do it in this pull request. I remember doing it when I was testing things on a Windows computer. I'll fix it tomorrow and test it to make sure it's all good.


[release-1.13] Remove cluster handlers from aggregate controller when cluster delete…

…d (#36910)
cherry-pick #36910
fix #37038

@hzxuzhonghu: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio_release-1.13
84405b0ef16dc67e4ad1894ef8962f23bff67529
link
true
/test release-notes_istio_release-1.13

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@hzxuzhonghu: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio_release-1.13
84405b0ef16dc67e4ad1894ef8962f23bff67529
link
true
/test release-notes_istio_release-1.13

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


ci: remove codecov install and execution

PR summary
Currently we are not getting any benefit from the codecov integration and  due to a recent security incident we decided to remove it.
PR Checklist
Please make sure that your PR fulfills the following requirements:

[x] The commit message follows the
Angular Commit Message Guidelines.
[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

PR Type

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] New tests
[x] Build/CI related changes
[ ] Documentation content changes
[ ] Other (please describe)

What is the current behavior?

What is the new behavior?

Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information

Thanks for the review @ricellis and @vmatyusGitHub! I'm about to merge this!


Cost basis computed incorrectly

Dear Catalyst Maintainers,
I think the cost basis of positions is not computed correctly. On line 98 of exchange_portfolio.py, where the cost basis is updated, there is a restriction that the order amount should be larger than zero. This causes the cost basis to be incorrect when for instance you rebalance a position by selling part of it.
To give an extreme example. Suppose I buy a unit of an asset for 1$, and that it suddenly jumps to 2$. At this point, I sell 0.5 of the asset for 1$. Then my cost basis is obviously zero, I obtained the remaining half of the asset for free. Catalyst would keep the cost basis at 1$.
Sincerely,
Samuel

Oops my bad. I should have read this before posting:
https://www.investopedia.com/terms/c/costbasis.asp
Still, I think the alternative definition of the cost basis I outline above would be much more useful to compute the profitability of the positions...


Can't start training

Hi,
When I execute
python nem.py with dataset.balls4mass64 network.r_nem nem.k=5

It prints out the following but wouldn't start training at all...
WARNING - R-NEM - No observers have been added to this run
INFO - R-NEM - Running command 'run'
INFO - R-NEM - Started
R-RNNEM/InputWrapper1/Conv/weights:0 [4, 4, 1, 16]
R-RNNEM/InputWrapper1/Conv/biases:0 [16]
R-RNNEM/LayerNormI1/LayerNorm/beta:0 [16]
R-RNNEM/LayerNormI1/LayerNorm/gamma:0 [16]
R-RNNEM/InputWrapper2/Conv/weights:0 [4, 4, 16, 32]
R-RNNEM/InputWrapper2/Conv/biases:0 [32]
R-RNNEM/LayerNormI2/LayerNorm/beta:0 [32]
R-RNNEM/LayerNormI2/LayerNorm/gamma:0 [32]
R-RNNEM/InputWrapper3/Conv/weights:0 [4, 4, 32, 64]
R-RNNEM/InputWrapper3/Conv/biases:0 [64]
R-RNNEM/LayerNormI3/LayerNorm/beta:0 [64]
R-RNNEM/LayerNormI3/LayerNorm/gamma:0 [64]
R-RNNEM/InputWrapper5/fully_connected/weights:0 [4096, 512]
R-RNNEM/InputWrapper5/fully_connected/biases:0 [512]
R-RNNEM/LayerNormI5/LayerNorm/beta:0 [512]
R-RNNEM/LayerNormI5/LayerNorm/gamma:0 [512]
R-RNNEM/NPE/fully_connected/weights:0 [250, 250]
R-RNNEM/NPE/fully_connected/biases:0 [250]
R-RNNEM/NPE/LayerNorm/beta:0 [250]
R-RNNEM/NPE/LayerNorm/gamma:0 [250]
R-RNNEM/NPE/fully_connected_1/weights:0 [500, 250]
R-RNNEM/NPE/fully_connected_1/biases:0 [250]
R-RNNEM/NPE/LayerNorm_1/beta:0 [250]
R-RNNEM/NPE/LayerNorm_1/gamma:0 [250]
R-RNNEM/NPE/fully_connected_2/weights:0 [250, 250]
R-RNNEM/NPE/fully_connected_2/biases:0 [250]
R-RNNEM/NPE/LayerNorm_2/beta:0 [250]
R-RNNEM/NPE/LayerNorm_2/gamma:0 [250]
R-RNNEM/NPE/fully_connected_3/weights:0 [250, 100]
R-RNNEM/NPE/fully_connected_3/biases:0 [100]
R-RNNEM/NPE/LayerNorm_3/beta:0 [100]
R-RNNEM/NPE/LayerNorm_3/gamma:0 [100]
R-RNNEM/NPE/fully_connected_4/weights:0 [100, 1]
R-RNNEM/NPE/fully_connected_4/biases:0 [1]
R-RNNEM/NPE/fully_connected_5/weights:0 [1012, 250]
R-RNNEM/NPE/fully_connected_5/biases:0 [250]
R-RNNEM/LayerNormR0/LayerNorm/beta:0 [250]
R-RNNEM/LayerNormR0/LayerNorm/gamma:0 [250]
R-RNNEM/OutputWrapper0/fully_connected/weights:0 [250, 512]
R-RNNEM/OutputWrapper0/fully_connected/biases:0 [512]
R-RNNEM/LayerNormO0/LayerNorm/beta:0 [512]
R-RNNEM/LayerNormO0/LayerNorm/gamma:0 [512]
R-RNNEM/OutputWrapper1/fully_connected/weights:0 [512, 4096]
R-RNNEM/OutputWrapper1/fully_connected/biases:0 [4096]
R-RNNEM/LayerNormO1/LayerNorm/beta:0 [4096]
R-RNNEM/LayerNormO1/LayerNorm/gamma:0 [4096]
R-RNNEM/OutputWrapper3/Conv/weights:0 [4, 4, 64, 32]
R-RNNEM/OutputWrapper3/Conv/biases:0 [32]
R-RNNEM/LayerNormO3/LayerNorm/beta:0 [32]
R-RNNEM/LayerNormO3/LayerNorm/gamma:0 [32]
R-RNNEM/OutputWrapper4/Conv/weights:0 [4, 4, 32, 16]
R-RNNEM/OutputWrapper4/Conv/biases:0 [16]
R-RNNEM/LayerNormO4/LayerNorm/beta:0 [16]
R-RNNEM/LayerNormO4/LayerNorm/gamma:0 [16]
R-RNNEM/OutputWrapper5/Conv/weights:0 [4, 4, 16, 1]
R-RNNEM/OutputWrapper5/Conv/biases:0 [1]
4951978 total variables

That output looks perfectly fine to me. Logs are printed every epoch, which depending on your GPU may take a while.
Perhaps you can add a print statement after each batch to check whether this is the case? Happy to help you further if really does not train.

Thanks for your quick response.
It seems really not training as there's no PID. I also checked by executing nvidia-smi.
btw I'm using NVIDIA Tesla P100 with 16GB of device RAM.

Hmm that is strange indeed. Just to be sure, do you have tensorflow-gpu installed? If you install tensorflow then it will try to run on the CPU by default.

I installed tensorflow-gpu==1.2.1, but it shows the error
ImportError: libcusolver.so.8.0: cannot open shared object file: No such file or directory

Failed to load the native TensorFlow runtime.

See https://www.tensorflow.org/install/install_sources#common_installation_problems

for some common reasons and solutions.  Include the entire stack trace
above this error message when asking for help.

I think the reason is that tensorflow 1.2.1 does not support CUDA 9, however, I'm using the gpu from our university, I can't install CUDA 8 instead of 9...
Can you think any other way that I can solve this problem?
Thank you.

This code base is several tf versions behind, so I think upgrading the code to support a later version of tensorflow would be your only alternative.
I can try to have a look at it at some point, but I don't have a lot of time available right now to do the required testing.

Thank you so much for your help. I will let you know if I have any further questions.

I was able to run the code on tensorflow 1.9 with a very minimal change on the NEMCell property names. I don't think the code needs to be updated.

I was able to run the code on tensorflow 1.9 with a change on the NEMCell property name input_shape (I had to change it to something else due to some conflict of using the RNNCell property names). Other than that, I don't think the code needs to be upgraded.


Suggest plugin install when using known cloud plugin subcommands

Fixes #3097
Gives a hint about installing the cloud plugin when trying to use plugin subcommands without the plugin.

Although I'd also consider if it would make sense to just move all the kontena cloud ... commands into the plugin?

Yep it's a bit confusing, but the cloud plugin stuff mostly include things that are needed for hosted platforms. The non-plugin subcommands are for things like stack registry and cloud-authing selfhosted masters.


Add branch info for git submodule

Because master is not default branch and doesn't exist. So we need to explicitly specify branch information.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.gitmodules
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

@mattleibow this is related to the OPS onboarding for the API docs ... the system apparently needs to check out all submodules (probably just as a generic process), and it was failing because there's no default branch info, and mono/skia doesn't have a master branch. Adding this default branch to the submodule config works around the issue ... though please let us know if that's the correct branch to use as the default.


Improve handling of ssh-keys

Right now, we rely on your ssh keys to be added to the session. When gitfs starts up, the terminal won't have the ssh keys to work with and and so all clones will fail.

See deps-cloud/indexer#13 for details on supporting per account credentials.
See deps-cloud/discovery#30 for details on public keys support.


Health graph

add realtime chart

Total Status Code Count
Average response time
D3 & NVD3 & Angular NVD3

enhance Health API documentation
homepage link correction (Bower)
add new screenshot of the web ui

LGTM, nice job @ldez !

@ldez needs a rebase :sweat_smile:

done

LGTM 🐵


Create ARM binary for releases

See https://github.com/hpdeifel/hledger-iadd/issues/39#issuecomment-515122530

Hi, @hpdeifel. Have you had any chance to deal with this?

Not yet, sorry. Thanks for the reminder

Even Nix doesn't offer binaries for ARMv7.

I've tried and failed.
Sorry, but I've realized that providing arm binaries would be too much manual work for me currently. Hopefully someone from the community could fill this role, maybe involving some form of flatpak,snap, nixos or the like.


[MISTRAL AI ERROR] Mistral AI responding with Unexpected role RoleEnum.tool error

I am using Mistral AI client in my javascript project and Mistral Ai is giving me a tool_calls response. When I call the tool and push response in messages array. And Then I call a send a second request to the Mistral AI it gives me this error:
MistralAPIError: HTTP error! status: 400 Response:
{"object":"error","message":"Unexpected role RoleEnum.tool","type":"invalid_request_error","param":null,"code":null}
My messages array contains:
Messages:  [
{
"role": "user",
"name": "User",
"content": "give me random cat image\n\n"
},
{
"role": "tool",
"name": "RandomCatImage",
"content": "{"data":{"id":"cpq","url":"[https://cdn2.thecatapi.com/images/cpq.png/",/"width/":1024,/"height/":765%7D],/"success/":true,/"message/":/"Successfully accomplished!"}"
}
]
My implementation for function calling:
for (const tool of toolCalls) {
      const functionName = tool.function.name;
      const functionArguments = JSON.parse(tool.function.arguments);

      const desiredTool = httpTools?.find((tool) => (tool?.config as HttpToolSchema["config"])?.name?.replaceAll(" ", "") === functionName);
      const httpResponse = await httpToolHandler(desiredTool?.config as HttpToolSchema["config"])(functionArguments);

      messages?.push({ role: "tool", name: functionName, content: httpResponse });
    }

I am unable to get chat response from Mistral AI after calling a tool.

I have found the bug causing this error.

I am also facing the same issue, what were your findings?


swift 5 issue

please update it to swift 5

Sure...

@creativeapps2020-github  did you got any solution?


Meaning of is_last and is_terminal and their effect on the value function

Hey Danijar,
I noticed that some environments and some wrappers (for example the TimeLimit wrapper) set is_last to True but do not set is_terminal to True. From what I can tell, the is_last flag makes sure to reset the environment on the next iteration. But, it is the is_terminal flag which is used to set the continuation flag. Since the value function only looks at the continuation flag, are you not mixing rewards of different episodes when you reset without setting is_terminal to True?
What I thought the meaning of is_last should be:
The episode ended, but there might have been additional rewards in the future, as such there is no need to update the value function at the last time step towards 0.
While I thought the is_terminal flag meant:
The episode ended and there will be no more rewards in the future, as such you can update the value function at the final timestep towards 0.
As to my questions:

Am I understanding the implementation correctly, that only setting is_last, but not is_terminal will leek rewards from the next episode? Where I am specifically referring to the implementation of the score method in the VFunction class.
Is this intended behavior and is a reset based on a time limit still considered the same episode?

Yes, exactly. is_last means the episode ended (so the following time step will be from a different episode) whereas is_terminal indicates to the algorithm that it should not consider future rewards, e.g. a TD error should bootstrap against zero. In non-episodic tasks like many DMC tasks, is_last is set but is_terminal isn't. In episodic tasks like Atari, both are set.

Thank you for the explanation. Now, it is clear to me when to set is_last and is_terminal.
I am however still a bit confused about the updates to the value function when is_terminal is set to False.
If at time step T, we set is_last=True and is_terminal=False, would it not be logical for V(s_T) to not receive an update?
Because:

is_terminal is not set, so no update towards 0
It is the end of an episode and we do not know the future rewards.

Your code, however, will look at the first rewards and values of the next episode and use these to update V(s_T).
Why would you do this? Why don't you set the target for V(s_T) to V(s_T) itself, since we are not able to obtain a better target at the moment?
I appreciate the clarification :slightly_smiling_face:


[Typescript] JSDoc should provide type information for functions if possible

In typescript, the current JSDoc snippet provides completions but does not provide type information in the comment even if its is available in the function implementation as seen below:

Instead, it should provide something like this:

There is an existing extension which does that namely vscode-comment), it would be nice if VSCode supports it natively

This seems expected. If you're writing TS code, JSDoc types are ignored. Adding them would be worse than useless as not only adding them needlessly duplicate the types, the JSDoc types are not checked by the compiler and can easily get out of date


Implement more thorough check for .tsv file

How do I use Python to check if a file is a .tsv file? I don't think it's enough to simply check for the .tsv ending because you could for example also save a comma separated file as a .tsv file
def is_tsv_file(file_path):
    try:
        with open(file_path, 'r', encoding='utf-8') as file:
            for line in file:
                # Check if the line contains tabs (tab-separated values)
                if '\t' in line:
                    return True
            return False
    except FileNotFoundError:
        print(f"File '{file_path}' not found.")
        return False
    except Exception as e:
        print(f"An error occurred: {e}")
        return False

# Example usage:
file_path = 'example.tsv'
if is_tsv_file(file_path):
    print(f"{file_path} is a TSV file.")
else:
    print(f"{file_path} is not a TSV file.")

The is_tsv_file function takes a file_path as input and attempts to open the file using the UTF-8 encoding.
It then iterates through the file line by line, checking if each line contains tab characters ('\t').
If it finds at least one line with tabs, it considers the file as a TSV file and returns True. Otherwise, it returns False.
If the file doesn't exist or if there's an error during the file access, it returns False and prints an appropriate error message.
By examining the content for tab characters, this approach is more reliable in identifying TSV files than simply relying on the file extension.

Each line in a .tsv file ends with a newline character, values within a record are separated by tab-characters
https://en.wikipedia.org/wiki/Tab-separated_values

Same question here:
https://softwarerecs.stackexchange.com/questions/61996/github-continuous-integration-to-validate-a-csv-tsv-file

https://stackoverflow.com/questions/77331752/check-if-a-file-is-a-tsv-file


Add interleaved verify mode

I not verifies in larger chunks. This makes it about 3x faster then before. It's competitive with normal verification mode.


Allow Customization of Command Signature.

By turning into a protocol and using a placeholder variable for the parameter, it’s possible to create extension protocols and subclasses to define customized command signatures that may implement additional logic or alternate syntaxes.

I'm all for the idea of changing CommandSignature to a protocol, but I think a better approach than this placeholder approach would be to include within the protocol definition:
public protocol CommandSignature {
     init(signature: String)
     ...

And then within CLI:
public static var commandSignature: CommandSignature.Type = DefaultCommandSignature.self

...
private static func parseArguments(command: Command, arguments: RawArguments) throws -> CommandArguments {
    let commandSignature = self.commandSignature.init(signature: cmd.signature)
    ...

This is just rough code (haven't tried to compile any of it) but this approach would make the somewhat confusing CLI.placeholder unnecessary

Yeah I actually noticed I have to toy around with it a bit more anyway,
after what appeared to work at first, I began running into some unexpected
issues later. I'll keep working on it and see what I can come up with.
--
Gregorio Litenstein Goldzweig
[image: glit_ind.png]
Médico Cirujano

Fono: +56 9 96343643 <+56%209%2096343643>
E-Mail<EMAIL_ADDRESS>
On January 21, 2017 at 17:45:54, Jake Heiser<EMAIL_ADDRESS>wrote:

I'm all for the idea of changing CommandSignature to a protocol, but I
think a better approach than this placeholder approach would be to include
within the protocol definition:
public protocol CommandSignature {
init(signature: String)
...
And then within CLI:
public static var commandSignature: CommandSignature.Type = DefaultCommandSignature.self
...private static func parseArguments(command: Command, arguments: RawArguments) throws -> CommandArguments {
let commandSignature = self.commandSignature.init(signature: cmd.signature)
...
This is just rough code (haven't tried to compile any of it) but this
approach would make the somewhat confusing CLI.placeholder unnecessary
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jakeheis/SwiftCLI/pull/29#issuecomment-274287184, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AGJfLDfgX8cBPybtNkMJPPVOpOF8rRVlks5rUm6CgaJpZM4LotUd
.

I took your advice into account; and, again, it's not exactly tidy but t works.
The way you'd implement a custom signature with this approach is:
public protocol ExtendedCommandSignature: CommandSignature {

    var aDifferentKindofParameter: [String] { get set }
    //... whatever else
}

protocol AnotherArgumentParser: CommandArgumentParser {
    func custom_parse(rawArguments: RawArguments, with signature: ExtendedCommandSignature) throws -> [String: Any]
}

// Note, I am using open because even though I'm keeping sources in different folders, the extended signature needed SwiftCLI membership, but I'm using it on a different target.

open class CustomCommandSignature: ExtendedCommandSignature {

    var aDifferentKindofParameter: [String] = []
 	// Rest of custom signature code...
}

open class CustomArgumentParser: AnotherArgumentParser {

	public init () {} // This is also a needed workaround only because of the way I've structured my targets.

    public func parse(rawArguments: RawArguments, with signature: CommandSignature) throws -> [String : Any] {
        let signature = signature as! ExtendedCommandSignature
        return try custom_parse(rawArguments: rawArguments, with: signature)
    }

    public func custom_parse(rawArguments: RawArguments, with signature: ExtendedCommandSignature) throws -> [String: Any] {

    	// Actual Custom Command Parser Code...

    }
}

As for the other commit, it's not really related to this particular feature, but basically it allows people to create aliases to commands including arguments and/or options so basically aliases can actually work as shortcuts for commonly used combinations.

New implementation, see #30 and opt_groups branch


[stable/sentry] delete install hooks on success

What this PR does / why we need it:
The two post-install hooks (user-create and db-init) remain in kubernetes, even when they are succesfull. Even if one does a helm delete --purge, they are not deleted, so that in order to do a re-install of sentry, e.g. they need to be deleted manually.
This PR uses the hook-delete-policy introduced in helm 2.7 (see https://github.com/helm/helm/pull/2692) to delete the jobs on success.
Checklist

[x] DCO signed
[x] Chart Version bumped

/assign @prydonius

This was apparently already done here: https://github.com/helm/charts/pull/12144 :)


Multiple Select - show dropdown as " Selected..."

Hello,
There's a UI problem introduced in my web app when I select a lot of multiple values.
Is there any way to convert the select box to " Selected..." after a certain value is hit?
In my screenshot below, instead of all of the positions, it would say
[New York City, Los Angeles] [9 positions selected]
Initial form:

After selecting a lot of positions:

Thanks.

Plunker example: https://plnkr.co/edit/SQt0hSykjjWEym0Rj8X4

http://silviomoreto.github.io/bootstrap-select/examples/#selected-text-format

Wowwwww, how did I miss that? Thanks @caseyjhol - sorry for wasting your time, my friend.


Blog Post: Zowe SDKs and Zowe CLI

by Dan Kelosky at Broadcom
@1000TurquoisePogs and @mpanch59 can you please review and mark as core or ecosystem?
https://medium.com/p/52d496ca77c7/edit?source=email-9c2a7138952e-1592229868974-activity.collection_post_submitted

It looks like https://medium.com/zowe/zowe-sdks-and-zowe-cli-52d496ca77c7 was already published? @chrisblumOMP