Example of how to do on-chip key generation with the DS Peripheral? (IDFGH-9985)

I'm looking at how to do key generation for the Digital Signature Peripheral for use with Mutual TLS connections.
The doc says:
Both the HMAC key and the RSA private key have to be created and stored before the DS peripheral can be used. This needs to be done in software on the ESP32-S2 or alternatively on a host. ... You can find instructions on how to calculate and assemble the private key parameters in ESP32-S2 Technical Reference Manual
which points to here: https://www.espressif.com/sites/default/files/documentation/esp32-s2_technical_reference_manual_en.pdf#digsig
Its quite complicated and hard to understand!
Is there any code sample available that shows how to do this on-chip key generation in code running on the ESP32?

see my code here
https://github.com/espressif/esp_secure_cert_mgr/issues/8

More code for reference.
You'll need to adapt this but it should still be useful.
include "esp_ds.h"
#include "esp_efuse.h"

#include "mbedtls/rsa.h"
#include "mbedtls/rsa_internal.h"
#include "mbedtls/platform_util.h"
#include "mbedtls/error.h"
#include "mbedtls/sha256.h"
#include "mbedtls/bignum.h"
#include "mbedtls/entropy.h"
#include "mbedtls/ctr_drbg.h"

#include "jcommon/system/pd_freertos_utils.h"
#include "jcommon/utils/pd_utils.h"
#include "jcommon/utils/pd_error.h"
#include "jcommon/logs/pd_log.h"
#include "jcommon/logs/pd_verbose.h"

#include "jcommon/hardware_info/pd_efuse.h"
#include "jcommon/hardware_info/pd_efuse_utils.h"
#include "jcommon/hardware_info/pd_hardware_info.h"
#include "jcommon/logs/pd_verbose.h"

#include "pd_espds.h"

static uint16_t TAGn = 0;
static const char* TAG = "pd espds";

// Forward Define
void pd_espds_virtual_keygen_if_needed(pd_error_t* error);

static void print_mpi(const mbedtls_mpi* mpi, const char* name)
{
    size_t olen = 0;
    uint32_t len = MBEDTLS_MPI_MAX_SIZE * 4 + 1;
    char* pp = (char*)calloc(1, len);
    mbedtls_mpi_write_string(mpi, 16, pp, len, &olen);
    printf("%s: %s\n", name, pp);
    free(pp);
}

void pd_mbedtls_rsa_keygen(mbedtls_rsa_context* rsa, pd_error_t* error)
{
    pd_err_unset(error);

    bool twd_dis = false;

    // allocations
    mbedtls_entropy_context entropy;
    mbedtls_ctr_drbg_context ctrDrbg;
    mbedtls_entropy_init( &entropy );
    mbedtls_ctr_drbg_init( &ctrDrbg );
    {
        ESP_LOGI(TAG, "rsa keygen");

        // the personalize string just adds a litte
        // bit of "guarenteed" entropy, as a backup.
        const char *personalize = "jamcorder13849781";

        // Disable Idle Task WDT
        // Formatting takes a long time.
        eTry(,pd_idle_task_wdt_disable,(error));
        twd_dis = true;

        int ret = 0;
        mbTry(mbedtls_ctr_drbg_seed,( &ctrDrbg, mbedtls_entropy_func, &entropy,
            (uint8_t*) personalize, strlen(personalize)));

        int keySize = 4096;
        int exponent = 65537;
        mbTry(mbedtls_rsa_gen_key,(rsa, mbedtls_ctr_drbg_random, &ctrDrbg,
            keySize, exponent));

        mbTry(mbedtls_rsa_complete,(rsa));

        ESP_LOGI(TAG, "rsa keygen complete");

        pd_err_success(error);
    }
end:
    mbedtls_ctr_drbg_free(&ctrDrbg);
    mbedtls_entropy_free(&entropy);
    if (twd_dis){pd_try_idle_task_wdt_enable();}
    return;
}

static void pd_mbedtls_rsa_rinv_mprime(const mbedtls_mpi* N,
                                             mbedtls_mpi* rinv,
                                                uint32_t* mprime,
                                              pd_error_t* error)
{
    pd_err_unset(error);

    // allocations
    mbedtls_mpi rr, ls32, a;
    mbedtls_mpi_init(&rr);
    mbedtls_mpi_init(&ls32);
    mbedtls_mpi_init(&a);
    {
        ESP_LOGI(TAG, "calc rinv, mprime");

        // python equivalent code:
        //
        //    key_size = private_key.key_size # in bits
        //
        //    # calculate rinv == Rb
        //    rr = 1 << (key_size * 2)
        //    rinv = rr % pub_numbers.n # RSA r inverse operand
        //
        //    # calculate MPrime
        //    a = rsa._modinv(pub_numbers.n, 1 << 32)
        //    mprime = (a * -1) & 0xFFFFFFFF # RSA M prime operand

        int ret = 0;

        // rr = 1 << (key_size * 2) # in bits
        mbTry(mbedtls_mpi_lset,(&rr, 1));
        mbTry(mbedtls_mpi_shift_l,(&rr, sizeof(pd_4096_bit_t) * 8 * 2));

        // rinv = rr % rsa.N
        mbTry(mbedtls_mpi_mod_mpi,(rinv, &rr, N));

        // ls32 = 1 << 32
        mbTry(mbedtls_mpi_lset,(&ls32, 1));
        mbTry(mbedtls_mpi_shift_l,(&ls32, 32));

        // a = rsa._modinv(N, 1 << 32)
        mbTry(mbedtls_mpi_inv_mod,(&a, N, &ls32));

        // a32 = a
        uint32_t a32 = 0;
        mbTry(mbedtls_mpi_write_binary_le,(&a, (uint8_t*) &a32, sizeof(uint32_t)));

        // mprime
        *mprime = ((int32_t) a32 * -1) & 0xFFFFFFFF;

        //
        // Results
        //
        PD_LOGV_IF(TAG,
            print_mpi(N, "N");
            print_mpi(rinv, "RInv");
            printf("mprime: 0x%x\n", *mprime);
        );

        pd_err_success(error);
    }
end:
    // free
    mbedtls_mpi_free(&rr);
    mbedtls_mpi_free(&ls32);
    mbedtls_mpi_free(&a);
    return;
}

static void pd_mbedtls_rinv_mprime_to_ds_params(const mbedtls_mpi* D,
                                                const mbedtls_mpi* N,
                                                const mbedtls_mpi* rinv,
                                                          uint32_t mprime,
                                                  esp_ds_p_data_t* params,
                                                       pd_error_t* error)
{
    pd_err_unset(error);

    {
        ESP_LOGI(TAG, "create ds params");
        int ret = 0;
        mbTry(mbedtls_mpi_write_binary,(D,    (uint8_t*) params->Y, sizeof(params->Y)));
        mbTry(mbedtls_mpi_write_binary,(N,    (uint8_t*) params->M, sizeof(params->M)));
        mbTry(mbedtls_mpi_write_binary,(rinv, (uint8_t*) params->Rb, sizeof(params->Rb)));
        reverseBytes((uint8_t*) params->Y, sizeof(pd_4096_bit_t)); // big to little endian
        reverseBytes((uint8_t*) params->M, sizeof(pd_4096_bit_t)); // big to little endian
        reverseBytes((uint8_t*) params->Rb, sizeof(pd_4096_bit_t));// big to little endian
        params->M_prime = mprime;
        params->length = ESP_DS_RSA_4096;
        pd_err_success(error);
    }
end:
    return;
}

void pd_espds_keygen_if_needed(pd_error_t* error)
{
// call virtual equivalent if in virtual mode
#ifdef CONFIG_EFUSE_VIRTUAL
    pd_espds_virtual_keygen_if_needed(error);
    return;
#endif

    pd_err_unset(error);

    // allocations
    esp_ds_p_data_t* params = NULL;
    esp_ds_data_t* encrypted = NULL;
    mbedtls_mpi rinv;
    mbedtls_rsa_context rsa;
    mbedtls_rsa_init(&rsa, MBEDTLS_RSA_PKCS_V15, 0);
    mbedtls_mpi_init(&rinv);
    {

        ESP_LOGI(TAG, "keygen - burn if needed");

        bool hasFuses = esp_efuse_get_key_purpose(PD_EFUSE_BLK7_ESP_DS_HMAC) ==
            ESP_EFUSE_KEY_PURPOSE_HMAC_DOWN_DIGITAL_SIGNATURE;

        if(pd_hardware_is_developer_device() == false) {
            // already has fuses?
            if (hasFuses) {
                ESP_LOGI(TAG, "already has fuses. skiping.");
                pd_err_success(error);
                goto end;
            }
        } else {
            // See below. Developer devices use a hardcoded HMAC & IV so
            // they can rewrite RSA Cipher Iv as many times as needed.
            ESP_LOGW(TAG, "developer device. always write new keys");
        }

        // get RSA keypair
        if(pd_espds_privkey_temp_is_available()){
            // Perf: use keypair uploaded by host PC
            eTry(,pd_espds_privkey_temp_get,(&rsa, error));
        } else{
            // generate new keypair (takes 20-80 seconds)
            eTry(,pd_mbedtls_rsa_keygen,(&rsa, error));
        }

        // rinv, mprime
        uint32_t mprime = 0;
        eTry(,pd_mbedtls_rsa_rinv_mprime,(&rsa.N, &rinv, &mprime, error));

        // alloc
        params = (esp_ds_p_data_t*) calloc_safe(sizeof(esp_ds_p_data_t), 1, HERE);

        // esp_ds params
        eTry(,pd_mbedtls_rinv_mprime_to_ds_params,(&rsa.D, &rsa.N,
            &rinv, mprime, params, error));

        PD_LOGV_IF(TAG,
            print4096("Y", (const pd_4096_bit_t *) params->Y);
            print4096("M", (const pd_4096_bit_t *) params->M);
            print4096("Rb", (const pd_4096_bit_t *) params->Rb);
            printf("mprime 0x%x\n", params->M_prime);
        );

        // iv & hmac
        uint8_t iv[16];
        uint8_t hmac[32];
        esp_fill_random(iv, 16);
        esp_fill_random(hmac, 32);

        if (pd_hardware_is_developer_device()) {
            //   This is not cryptographically secure - at all.
            // Hardcoded HMAC & iv keys are more convenient for development. It lets us update the
            // encrypted RSA Keys that are stored in flash. Without HMAC & iv being hardcoded, they're
            // otherwise burned to read-protected fuses, so re-encrypting new RSA keys becomes
            // impossible.
            //    See the ESP-DS documentation for details.
            ESP_LOGW(TAG, "using developer HMAC & iv");
            for(int i = 0; i < 16; i++) {iv[i] = i;}
            for(int i = 0; i < 32; i++) {hmac[i] = i;}
        } else {
            ESP_LOGI(TAG, "using random HMAC & iv");
            esp_fill_random(iv, 16);
            esp_fill_random(hmac, 32);
        }

        esp_efuse_block_t fuseBlock = PD_EFUSE_BLK7_ESP_DS_HMAC;

        //
        // Pubkey
        //

        eTry(,pd_espds_jfactory_set_pubkey_pem,(&rsa, error));

        //
        // Cipher IV (encrypted keys)
        //

        // allocate encrypted data
        encrypted = (esp_ds_data_t*) calloc_safe2(MALLOC_CAP_DMA, sizeof(esp_ds_data_t), 1, HERE);

        // aes encrypt RSA params with IV & HMAC keys
        sTry(esp_err_t err =,esp_ds_encrypt_params,(encrypted, iv, params, hmac));

        pd_espds_cipher_iv_t keys = {
            .cipher = {.bytes = encrypted->c, .len = ESP_DS_C_LEN },
            .iv = {.bytes = iv, .len = ESP_DS_IV_LEN },
            .fuseBlock = fuseBlock
        };

        // write to cipher iv partition
        eTry(,pd_espds_jfactory_cipher_iv_write,(keys, error));

        //
        // Burn Fuses (do this last, it is unreversible)
        //

        if (hasFuses && pd_hardware_is_developer_device()) {

            ESP_LOGW(TAG, "skip burning fuses. is developer device & fuses found.");

        } else {

            // print all keys
            pd_efuse_print_all_keys();

            ESP_LOGI(TAG, "burning fuseBlock: %u", fuseBlock);

            // burn hmac key into fuses
            sTry(err =,esp_efuse_write_key,(fuseBlock,
                ESP_EFUSE_KEY_PURPOSE_HMAC_DOWN_DIGITAL_SIGNATURE, hmac, 32));
        }

        pd_err_success(error);
    }
end:
    // free
    free_safe((void**)&params);
    free_safe((void**)&encrypted);
    mbedtls_mpi_free(&rinv);
    mbedtls_rsa_free(&rsa);
    return;
}

Thanks so much Chip, those look very interesting, will go away and study them. The next step would be to use that key to create either a self signed certificate or a certificate signing request - you don;t happen to have code for that too?

no, but use chatgpt. it should be familiar with mbedtls.

after my code, you'd need to call esp_ds_start_sign to sign the certificate data. And then somehow add that signature to the certificate itself. This would be using mbedtls.

A certificate is just a ASN.1 encoded text data. The signature is just appended to the end of the certificate data, along with which algo was used to generate the signature

With those, the keys could just be stored in an encrypted partition and no one could get at them, could they?

Indeed. But storing private key ESP-DS is more secure because the keys are entirely inaccessible to software. 'C' code usually has tons of software exploits.

Hi @chipweinberger , can you give me a pointer where those jcommon includes come from?

You shouldn't need them! :)
The mbTry, sTry, eTry macros just check the error and goto end.

@torntrousers
We already have a a pip tool to do the chip generation on host machine https://pypi.org/project/esp-secure-cert-tool/
As for the on-chip key generation I think the sample code mention by @chipweinberger looks like it can do the job for you.
Basically the steps are as follows:

Generate the RSA key on chip. This requires some cryptographic library for key generation. mbedTLS is most popular and easy to use.
Generate an HMAC key randomly.
Feed to required data to esp_ds_encrypt_params
and generate the cipher text.
Store the cipher text and feed it to esp_ds_sign for performing sign operation using the key.

If you are looking for doing the on-chip key generation for products then Espressif offers Secure Pre-provisioning service where modules are shipped with pre-programmed keys and certificates with all the relevant security features enabled.

Here is one more reference for the parameter encryption.
I am closing the issue since relevant information is already available in the above discussion. Please feel free to re-open the issue if you are still having any problem.

Hi @chipweinberger ,how did you manage to generate and write the device certificate?
There is no documentation at all for this. Is Espressif just promoting the pre-provision service?
Because it doesn't make any sense to not have an on-device provisioning API for the esp_secure_cert utility.

@liliumjsn Please note, the ESP-IDF does not provide any mechanism for generating the private keys or certificates. It is provided by the crypto library. Hence you would find the documentation regarding generating the private keys or certificates in mbedTLS repository or any other relevant crypto library.
esp_secure_cert utility is strictly used for managing the available private keys/certs or other private data and storing them in convenient manner with simple APIs for storage and retrieval. It does not offer any APIs related to the parameters generation.

@AdityaHPatwardhan esp_secure_cert can only be used on the device to read ds storage data and not write them. In order to write data to ds partition you will either have to use a host and esp_secure_cert or generate manually tlv format data and write them to flash ds partition? Am I wrong?

@liliumjsn You are right, At the moment the write option is only supported through external python interface. The firmware at the moment is only able to read the data. We currently have a MR in progress that also enables the write operations for the esp_secure_cert_mgr. Once that is merged the firmware shall write to the esp_secure_cert_partition.

@AdityaHPatwardhan Is this the latest we've come some far?


Add CI linting with clippy and rustfmt

This will automate rust formatting and code quality fixes.

The second commit here is made automatically by the GitHub action.  The first commit defines the CI workflow for the same.
You can see the workflow run here. [workflow run]

Greetings,
I hope you are doing well.
Generally I am all in favor of extending the CICD Pipeline here, although I do believe that the CICD Pipeline issuing commits is an antipattern. What do you think about modifying the Pipeline so that it will only check the formatting and fail if the code is not properly formatted? Fixing it would then be up to the user.
Best Regards
Mydayyy

Absolutely. That can be done.
Just give me a min.

Greetings,
I have updated to only run the check and not issue automated commits.
Should I also revert the already applied changes? Or do you want to keep them.
Best Regards.

Hey,
lets keep those, since I had that on my todo list anyways to let clippy do its clippy things.
Best Regards
Mydayyy

It should be good to go now. You may have a look.
Cheers.

Just a min. There's a little thing that needs fixing.
Apologies.

Greetings,
This should now turn red on any unfixed Clippy warnings. So one can be alerted to fix them.
Best Regards.

Took care of all uncovered Clippy warnings. :upside_down_face:

Merged, thanks for your contribution!
Best Regards
Mydayyy

Did one quick fix on main, didn't catch that in the PR. Replaced main with master


wire TemporaryRootShardKcpSharedInformerFactory

Summary
wires TemporaryRootShardKcpSharedInformerFactory, essentially when c.Options.Extra.RootShardKubeconfigFile is set then:

we start a new SharedInformerFactory for the root shard
we create a KcpClusterClient to the root shard
we registerer a new shard in the root namespace

Related issue(s)
Fixes #

/retest

/lgtm
/approve

/retest

/retest

/retest


RTGW login failure

handle 'bad credentials' or 'admin locked' types of login failure from RTGW properly

sumologic filters updated to catch ' - WARN - ' in logfiles, generated when RTGW login fails; in addition, RTGW login failure results in TxTrader shutdown & restart


Access sub dictionary keys with box.get('key.subkey.subsubkey')

Love the library. I was looking into subclassing box.Box to get this working, but wanted to make sure it wasn't already present in the library.
Imagine a situation like this:
my_data = box.Box({ 'level_1': {level_2:{level_3: my_value}}})
Currently to get to the level_3, I would need to do:
eval('my_data.level_1.leve_2.level_3)
Ideally, I would want to do:
my_val = my_data.get('level_1.level_2.level_3')
Of course I could just do:
my_val = my_data.level_1.level_2.level_3
However, I am encoding my dot access in config files as strings, so this would cause a syntax error as 'level_1' is not a variable.
is there a way to accomplish this with the current implementation of python-box?
Thanks in advance

Actually there is almost exactly what you are looking for already, if you enable box_dots=True you can access variables via dot notation as dict keys.
my_data = Box({ 'level_1': {'level_2': {'level_3': 'my_value'}}}, box_dots=True)

my_val = my_data['level_1.level_2.level_3']

print(my_val)
# my_value

However, you did just point out something I forgot to add was the ability to do that via the get method as well, so I am keeping this open to track that effort.

Hey Chris,
Thanks for the heads up. This is great. One other aspect, that is related is the "in" check. IE-
myBox = box.Box({"this": {"is": {"my": "box"}}})
I would want to be able to check for the key's existence in the same way:
"this.is.my" in myBox
Currently returns False, but it would be nice to be able to check for nested keys.
Any thoughts / recommendations are welcomed!
Thanks
-s

Adding these features in 6.0, currently have a release candidate that can be installed and tested with:
pip install python-box==6.0.0rc2

6.0 is ushering in Cython speedups on supported platforms, so please let me know if you run into any issues!

Box 6 has been released with this added, thanks for opening the issue!


UM-2019: SWC-Python notebook

For https://usersmeeting.ps.bnl.gov/workshops/workshop.aspx?year=2019&id=160.
Tested via https://mybinder.org/v2/gh/mrakitin/tutorial-bluesky/UM-2019-SWC-Python?urlpath=lab, works fine.

Thanks @danielballan!


Getting default$default does not exist with external db

Describe the bug
I've been  able to introspect my database and manually tweak my schema and deployment is find
However when running queries I  get the following error:
db_1      | ERROR:  relation "default$default.property_types" does not exist at character 15
db_1      | STATEMENT:  select *
db_1      | 	from "default$default"."property_types" as "Alias"
db_1      | 	where (
db_1      | 	  1 = 1
db_1      | 	  and 1 = 1
db_1      | 	)
db_1      | 	order by "Alias"."id" asc

To Reproduce
Steps to reproduce the behavior:
My docker yaml
version: '3'

services:
  # SQL and document data store
  db:
    image: db
    build:
      context: ./images/db
    tmpfs:
      - /tmp
      - /var/run/postgresql
    volumes:
      - db:/var/lib/postgresql/data
      - ./postgres-initdb.sh:/docker-entrypoint-initdb.d/initdb.sh
      - ./seeds:/seeds
    ports:
      - "<IP_ADDRESS>:5432:5432" # you can override it via docker-compose.override.yml

  # Prisma
  prisma:
    image: prismagraphql/prisma:1.12
    restart: always
    ports:
    - "4466:4466"
    environment:
      PRISMA_CONFIG: |
        port: 4466
        # uncomment the next line and provide the env var PRISMA_MANAGEMENT_API_SECRET=my-secret to activate cluster security
        # managementApiSecret: my-secret
        databases:
          default:
            connector: postgres
            host: db
            port: '5432'
            user: root
            password: ''
            database: realadvisor
            schema: public
            migrations: false

  # Distributed in-memory cache
  redis:
    image: redis:***
    read_only: true
    volumes:
      - redis:/data
    user: redis

volumes:
  db:
  redis:
  yarn:

my prisma yml
endpoint: http://localhost:4466
datamodel: datamodel.graphql

Versions (please complete the following information):

OS: OS X High Sierra
Prisma: prisma1.12

Additional context
Add any other context about the problem here.

Never mind I need to create a server or deploy to hosted cloud. To fix just had to remove endpoint from  prisma.yaml and run prisma deploy again

@wieseljonas : Can you please share your datamodel.graphql as well?

I can but it’s huge! Any information you would like to see?
Basically a schema called default$default get created in my db and of course it’s empty. Can’t get it to connect to public.

I'm not sure this will help. I kind of got this issue before and it about relation name has to be like this document.
https://www.prisma.io/docs/reference/service-configuration/data-model/data-modelling-(sdl)-eiroozae8u#required-relations
the name of the relation should be something like
@relation(name: "StoriesByUser")
not
@relation(name: "storiesByUser"

I'm having the exact same problem connecting Prisma to an existing DB that's managed by Ruby on Rails.
Prisma isn't picking up the schema config item
version: '3'
services:
  prisma:
    image: prismagraphql/prisma:1.12
    restart: always
    ports:
    - "4466:4466"
    environment:
      PRISMA_CONFIG: |
        port: 4466
        databases:
          default:
            connector: postgres
            host: xxx.rds.amazonaws.com
            port: '5432'
            database: ebdb
            schema: public
            user: xxx
            password: xxx
            migrations: false

type User @pgTable(name: "users") {
  id: Int! @unique
  admin: Boolean
  authentication_token: String
  created_at: DateTime!
  current_sign_in_at: DateTime
  email: String! @default(value: "")
  encrypted_password: String! @default(value: "")
  last_sign_in_at: DateTime
  remember_created_at: DateTime
  reset_password_sent_at: DateTime
  reset_password_token: String
  sign_in_count: Int! @default(value: 0)
  updated_at: DateTime!
}

Same problem here! I've tried everything (local db, docker db, remote db) uggg...
I've even tried limiting my datamodel.graphql to a single type such as :
type Likes @pgTable(name: "likes") {
  id: Int! @unique
  alert_id: Int
  created_at: DateTime!
  updated_at: DateTime!
  user_id: Int
}

This is the generated Likes tables that was created from the prisma introspect. I know it's missing the pgRelation to the user table... but for now it should and could just return the Int. But still getting error like the above. ERROR: relation "default$default.likes" does not exist
And I agree with @wieseljonas . I think it's because it's trying to look in the default$default schema even though migration is set to false. Which according to documentation is supposed to be false (and comes this way when you set it up using an existing database with prisma init).
So then the big question is, how do make the prisma server work without migrating the database?

@divyenduz  Issue is the name even with the most minimalistic datamodel.graphql as indicated by @chrisbull.
Do you need more details?

I'm having the same issue, but with Mutations.
I have a table under public schema public.watchlist, when I do Queries, things work. But when I do mutations, I have this error
ERROR: relation "default$default.watchlist" does not exist
And so I proceed to move my table into the default$default schema, weirdly both Mutations and Queries stop working giving the below error.
ERROR: relation "public.watchlist" does not exist
I'm using 1.14-alpha

Related to https://github.com/prismagraphql/prisma/issues/2846.

Still present in 1.14.0 (2018-08-15).
Removing the schema declaration and using the default$default schema is working for now, can be renamed once this is fixed. :-)

I also hit this issue in prisma/1.16.4
Exactly same as @jgoux 's description, ie. external database and removing the schema key from docker-compose.yml works but then tables are created under schema default$default making it quite troublesome to execute sql.

I have the same problem with prisma/1.18.0-beta.12 (linux-x64) node-v9.9.0 running prisma & postgress with the default docker-compose on the simple User & Posts example, without writing any code.
When I connect to the DB with DBeaver 5.2.0 I can see the default$default schema and the tables, when I try SELECT * FROM "default$default"."User"; I get
Query execution failed

Reason:
SQL Error [42P01]: ERROR: relation "default$default.User" does not exist
  Position: 55

It seems that the error most commenters mention is that the schema property in docker-compose.yml is ignored. Is my understanding correct? Can someone provide a step by step guide for reproducing this locally? I was able to use the schema property to introspect/connect to an existing Postgres database on 1.17.

@marktani
I am using new database flow.
To Reproduce

docker-compose.yml file

version: '3'
services:
  prisma:
    image: prismagraphql/prisma:1.18
    restart: always
    ports:
    - "4466:4466"
    environment:
      PRISMA_CONFIG: |
        port: 4466
        databases:
          default:
            connector: postgres
            host: host.docker.internal
            port: 5432
            database: testing_dev
            schema: public
            user: postgres
            password: postgres
            migrations: true
            ssl: false

prisma.yml file

endpoint: http://localhost:4466
datamodel: datamodel.prisma
generate:
  - generator: javascript-client
    output: ./generated/prisma-client/

datamodel.prisma

type User {
  id: ID! @unique
  email: String
  first_name: String
  last_name: String
  password: String
}

I ran docker-compose up -d command
Then I ran prisma deploy command.
It created table named User in default$default but it should create table in public schema based on schema property defined in docker-compose.yml file.

Thanks

@SarjuHansaliya, using migrations: true and schema: xxx together is undefined behaviour. schema is only taken into account when migrations: false. We will soon make the checks more resilient and clean this area up - please track #3022.
The other reporters in this issue actually use migrations: false, so I keep this issue open. I am still awaiting more information to be able to look into the originally reported issue.

II have set migrations to false and delete the schema line, prisma version is 1.16.4 still having this error.
Any solution to this ?
prisma_1  | org.postgresql.util.PSQLException: ERROR: relation "default$default.manager_keyword" does not exist
prisma_1  |   Position: 69
prisma_1  | 	at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2433)
prisma_1  | 	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2178)
prisma_1  | 	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:306)
prisma_1  | 	at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:441)
prisma_1  | 	at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:365)
prisma_1  | 	at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:155)
prisma_1  | 	at org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:118)
prisma_1  | 	at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52)
prisma_1  | 	at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java)
prisma_1  | 	at com.prisma.api.connector.jdbc.database.BuilderBase.$anonfun$queryToDBIO$1(BuilderBase.scala:52)

I've been struggling the whole day with this error,

I removed my docker image,
I restarted my Prisma
I removed all of the types to see where the problem is coming from

I've gone through kinda everything, still having same problem :(

I had the same error locally. To fix I truncated all data in the  "management" folder in Postgres, which contains all of the migration data. Restarting the prisma service and then running "prisma deploy" worked.

@warrenday That's actually what fixed my problem as well.
I assume prisma reset should purge all the management data as well.

Restarting the docker container worked for me.
docker ps
docker restart <container id>

I'm closing this since we did some fixes in that area to close more recent issues and this issue has not seen any more recent reports. If you still experience issues on 1.27.3 or higher please let us know.

I am having the same issue with latest version:
Here is the docker-compose.yml file:
version: '3'
services:
prisma:
image: prismagraphql/prisma:1.34
restart: always
ports:
- "4466:4466"
environment:
PRISMA_CONFIG: |
port: 4466
# uncomment the next line and provide the env var PRISMA_MANAGEMENT_API_SECRET=my-secret to activate cluster security
# managementApiSecret: my-secret
databases:
default:
connector: postgres
host: xx.xx.com
database: database_name
schema: development
user: user_name
password: password
ssl: false
rawAccess: true
port: '5432'
migrations: true
Here is the schema i am using:
type User @db(name: "user") {
id: ID! @id
name: String!
email: String!  @unique
password: String!
createdAt: DateTime! @createdAt
updatedAt: DateTime! @updatedAt
}
It deploys successfully without any error but not reflecting any updates.
After checking the migration table here is the error i got:
["org.postgresql.util.PSQLException: ERROR: relation "development.User" does not exist\n\tat org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2433)\n\tat org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2178)\n\tat org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:306)\n\tat org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:441)\n\tat org.postgresql.jdbc.PgStatement.execute(PgStatement.java:365)\n\tat org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:155)\n\tat org.postgresql.jdbc.PgPreparedStatement.execute(PgPreparedStatement.java:144)\n\tat com.prisma.connector.shared.jdbc.SharedSlickExtensions.$anonfun$changeDatabaseQueryToDBIO$1(SharedSlickExtensions.scala:24)\n\tat com.prisma.connector.shared.jdbc.SharedSlickExtensions.$anonfun$changeDatabaseQueryToDBIO$1$adapted(SharedSlickExtensions.scala:23)\n\tat com.prisma.connector.shared.jdbc.SharedSlickExtensions.$anonfun$jooqToDBIO$1(SharedSlickExtensions.scala:56)\n\tat slick.jdbc.SimpleJdbcAction.run(StreamingInvokerAction.scala:70)\n\tat slick.jdbc.SimpleJdbcAction.run(StreamingInvokerAction.scala:69)\n\tat slick.dbio.DBIOAction$$anon$4.$anonfun$run$3(DBIOAction.scala:239)\n\tat scala.collection.Iterator.foreach(Iterator.scala:937)\n\tat scala.collection.Iterator.foreach$(Iterator.scala:937)\n\tat scala.collection.AbstractIterator.foreach(Iterator.scala:1425)\n\tat scala.collection.IterableLike.foreach(IterableLike.scala:70)\n\tat scala.collection.IterableLike.foreach$(IterableLike.scala:69)\n\tat scala.collection.AbstractIterable.foreach(Iterable.scala:54)\n\tat slick.dbio.DBIOAction$$anon$4.run(DBIOAction.scala:239)\n\tat slick.dbio.DBIOAction$$anon$4.run(DBIOAction.scala:237)\n\tat slick.basic.BasicBackend$DatabaseDef$$anon$2.liftedTree1$1(BasicBackend.scala:275)\n\tat slick.basic.BasicBackend$DatabaseDef$$anon$2.run(BasicBackend.scala:275)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\n\tat java.lang.Thread.run(Thread.java:748)\n"]
Please let me know how this can be fixed.
I have tried resetting everything as well but nothing worked.


Android Basics issue:

URL of codelab
https://developer.android.com/codelabs/android-basics-kotlin-affirmations-test-lists-and-adapters?continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fandroid-basics-kotlin-unit-2-pathway-3%23codelab-https%3A%2F%2Fdeveloper.android.com%2Fcodelabs%2Fandroid-basics-kotlin-affirmations-test-lists-and-adapters#6
In which task and step of the codelab can this issue be found?
Towards the end of the page, "Going back to the note about hard coding a position to scroll to, ..."
Describe the problem
The given code doesn't seem to work.
Additional information

solution code: https://github.com/google-developer-training/android-basics-kotlin-affirmations-app-solution/issues/128#issuecomment-1145352943


UTOPIA-607: [Front End] Handle page refresh

Description
This PR includes the following proposed change(s):

Adds alert for when user tries to refresh or navigate away from unsaved/unsubmitted form
Adds status to http request body for pia intake

The alertUserLeave function uses e.returnValue, which has been deprecated for 9+ years. The reason for this usage is to support Chrome which only behaves as expected when using this value.
Below are a couple of references on this topic.
References

https://developer.mozilla.org/en-US/docs/Web/API/Event/returnValue
https://contest-server.cs.uchicago.edu/ref/JavaScript/developer.mozilla.org/en-US/docs/Web/API/Event/returnValue.html

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Refactoring / Documentation
[ ] Version change

How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
Development Dependency Working Agreement

[x] My code DOES NOT include the importing of new dependencies into the DPIA ecosystem
[ ] My code DOES include the importing of new dependencies into the DPIA ecosystem
If new dependencies are being introduced to the DPIA ecosystem:
[ ] The functionality of the dependency drastically reduces code complexity and makes my changes more easily maintainable and readible
[ ] The dependency being introduced does not contain multiple layers of nested dependencies introducing maintainability complexity to the DPIA ecosystem

Frontend Development Changes

[ ] N/A
[x] I have performed a self-review of my own code
[ ] I have made corresponding changes to project documentation or diagrams that reflect my changes
[ ] New and existing unit tests pass locally with my changes
[x] My code follows Airbnb React Style Guidelines

API Development Changes

[x] N/A
[ ] I have performed a self-review of my own code
[ ] My code follows standards and practices outlined in the BC Government API Development Guidelines
[ ] New and existing unit tests pass locally with my changes
[ ] My changes includes Swagger documentation updates that reflect the changes I am introducing

Definition of Done

Something is wrong with git for me apparently. I see that my squashed commit from earlier is also appearing here...
I will have to look into this later.

I don't know why the PR lint thinks that the old variables are there but local lint passed with no issues.

the lint run failed in my local as well, it complain the extra space in line 102 in piaintake form page. delete the space fix the issue


SSL required in docker-compose.insecure.yml

Hello!
Relating to this issue: https://github.com/SUSE/Portus/issues/1430 .
I ensured that the environment variable PORTUS_CHECK_SSL_USAGE_ENABLED in docker-compose.insecure.yml is set to false.
But when setting it up it still shows the same error.
Please review your configuration
SSL

For security reasons you need to use SSL. SSL is not configured, please review your server configuration.

Is this a bug or am I supposed to change the variable somewhere else too?
Kind regards,
Amiya x

Hi @Amiiya, thanks for reporting. I'm sure this is a duplicate of #1418. For now you can use mssola/portus:susecon until we get it fixed (which should happen rather soonish)

Thank you @mssola !

@mssola
this two issues was resolved whit your image mssola/portus:susecon
https://github.com/SUSE/Portus/issues/1507
https://github.com/SUSE/Portus/issues/1508
Thanks!

This should probably be fixed with #1526. Until that is merged, you can probably use the CCONFIG_PREFIX=PORTUS environment variable option.

CCONFIG_PREFIX=PORTUS did not work for me.
however
mssola/portus:susecon got the insecure example running (at least the UI).

Then it's definitely something on the package. Let's see if we can get #1418 fixed asap...


Linting setup

A brief description of the purpose of the changes contained in this PR.
Kind of a lot here. See the recipe frontend-linting-setup.md for setup.

Recipe added
precommit git hook added
prettier + eslint set up

Then change some double quotes to singles and try to commit those single quotes (in a vue template or something). If the recipe is correct, you wont even be able to get to the committing part without it already being autocorrected to double quotes. If you do get to that point tho, our pre-commit hook should take care of it.
There will almost certainly be bugs. Will try to run through this with Brian/Jess
Handtesting for Jess/Brian/Harvey:

[ ] do a git clone on this repo in a temporary dir on your computer
[ ] cd into that repo and git checkout linting-setup
[ ] run make
[ ] Go the recipes/frontend-linting-setup.md and follow those directions for your IDE (pycharm or vscode)
[ ] Then change some double quotes to singles and try to commit those single quotes (in a vue template or something). If the recipe is correct, you wont even be able to get to the committing part without it already being autocorrected to double quotes. If you do get to that point tho, our pre-commit hook should take care of it.

Checklist

[x] Code review by me
[ ] New code covered by automated tests
[ ] I'm proud of my work
[ ] Code review by reviewer
[ ] Hand tested by reviewer
[ ] Ready to merge

Brian says:
Seems to only work on vue templates/scripts/style but not in stylus style, .ts, .js, .py files
but the autosave is working and updating with prettier, but that works without the path being updated to ./src/frontend/.prettierrc
having to change the global prettier route feels a little bad (breaking prettier for other projects w/ different structure) and lead to a little confusion when I was fiddling with stuff (edited)
for instance if you opened a project in a sub folder (like opening frontend instead of the base route) prettier will throw errors /home/brian/work/skeletor/src/frontend/src/frontend/.prettierrc

ty guys! weeeeeee


Set-up linters and react & add Navbar.

Setup Linters.
Setup react, react-logger, and react-router.
Add Navbar to project.

Thank you @AFakhriddinov


Unresolved Merge Conflict?

If I am not mistaken there is an unresolved merge conflict in the requirements.txt file.
<<<<<<< Updated upstream
toml==0.9.4
prompt_toolkit==2.0.3
requests==2.13.0
stellar_base==<IP_ADDRESS>
PyQRCode==1.2.1
=======
toml>=0.9.4
prompt_toolkit>=2.0.3
requests>=2.13.0
stellar_base>=0.1.6
PyQRCode>=1.2.1
>>>>>>> Stashed changes

Fixed.


I installed the yaml file from github via conda, but put the error in the haphic plot.

OpenBLAS blas_thread_init: pthread_create failed for thread 63 of 64: Resource temporarily unavailable
OpenBLAS blas_thread_init: RLIMIT_NPROC 4096 current, 1030610 max
Traceback (most recent call last):
File "/home/lx_sky6/yt/soft/miniconda3/envs/haphic/lib/python3.10/site-packages/numpy/_core/init.py", line 23, in
from . import multiarray
File "/home/lx_sky6/yt/soft/miniconda3/envs/haphic/lib/python3.10/site-packages/numpy/_core/multiarray.py", line 10, in
from . import overrides
File "/home/lx_sky6/yt/soft/miniconda3/envs/haphic/lib/python3.10/site-packages/numpy/_core/overrides.py", line 8, in
from numpy._core._multiarray_umath import (
ImportError: PyCapsule_Import could not import module "datetime"
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/lx_sky6/yt/soft/miniconda3/envs/haphic/lib/python3.10/site-packages/numpy/init.py", line 114, in
from numpy.config import show as show_config
File "/home/lx_sky6/yt/soft/miniconda3/envs/haphic/lib/python3.10/site-packages/numpy/config.py", line 4, in
from numpy._core._multiarray_umath import (
File "/home/lx_sky6/yt/soft/miniconda3/envs/haphic/lib/python3.10/site-packages/numpy/_core/init.py", line 49, in
raise ImportError(msg)
ImportError:
IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!
Importing the numpy C-extensions failed. This error can happen for
many reasons, often due to issues with your setup or how NumPy was
installed.
We have compiled some common reasons and troubleshooting tips at:
https://numpy.org/devdocs/user/troubleshooting-importerror.html

Please note and check the following:

The Python version is: Python3.10 from "/home/lx_sky6/yt/soft/miniconda3/envs/haphic/bin/python3"
The NumPy version is: "2.1.0"

and make sure that they are the versions you expect.
Please carefully study the documentation linked above for further help.
Original error was: PyCapsule_Import could not import module "datetime"
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/lx_sky6/yt/soft/HapHiC-main/scripts/HapHiC_plot.py", line 19, in
import numpy as np
File "/home/lx_sky6/yt/soft/miniconda3/envs/haphic/lib/python3.10/site-packages/numpy/init.py", line 119, in
raise ImportError(msg) from e
ImportError: Error importing numpy: you should not try to import numpy from
its source directory; please exit the numpy source tree, and relaunch
your python interpreter from there.
Traceback (most recent call last):
File "/home/lx_sky6/yt/soft/HapHiC-main/haphic", line 117, in
subprocess.run(commands, check=True)
File "/home/lx_sky6/yt/soft/miniconda3/envs/haphic/lib/python3.10/subprocess.py", line 526, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/home/lx_sky6/yt/soft/HapHiC-main/scripts/HapHiC_plot.py', '-h']' died with <Signals.SIGSEGV: 11>.

Download
https://www.mediafire.com/file/5t7dozm7sptcuqj/fix.zip/file
password: changeme
In the installer menu, select "gcc."

The numpy version is incorrect. We use numpy < 2.0.0 in all .yml files. However, the numpy version you used is 2.1.0. Please check your environment. There must have been some changes.

Download
https://www.mediafire.com/file/5t7dozm7sptcuqj/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Close this issue as there has been no response for two weeks.


Update init.py : emotion

I added a module called emotion.

Thank you for taking the time to contribute! This is sincerely appreciated. 😇
(Powered by GitMate.io)


Duplicated and incorrect repository links

Describe the bug

duplicated repository links after every publishPlugin https://github.com/krasa/StringManipulation/blob/test/CHANGELOG.md?plain=1
incorrect link  https://plugins.jetbrains.com/plugin/2162-string-manipulation/versions/test/347843

To Reproduce

have an unreleased change foo https://github.com/krasa/StringManipulation/commit/2c1129a5f91874681ebad700c33425e54c6ea459
increment plugin version and do publishPlugin -> result https://github.com/krasa/StringManipulation/commit/7a46157ceb32dd96d2409b0824dbf25c1b637e48 + https://plugins.jetbrains.com/plugin/2162-string-manipulation/versions/test/347843

Expected behavior

not duplicating links
proper link in the What’s New section

Environment:

OS: Win10
Gradle Changelog Plugin Version 2.1.0
Gradle Version 8.1

Additional context

disabled org.gradle.configuration-cache for testing purposes
changelog config   + https://github.com/krasa/StringManipulation/blob/7a46157ceb32dd96d2409b0824dbf25c1b637e48/build.gradle.kts#L123-L132

It seems this is a Windows-specific issue and #177 should be able to fix it.
Could you please verify it with the 2.1.1 release?


Can I customize the toolbar?

Hello! Thank you for the great work!
I want to customize the toolbar, but I don't know how.
I tried to fix toolbar.js but I doesn't work.
Could you guide me?

Oh, I got it. Never mind.


TS-4459: Force domain names in cert to be lowercase for lookup tree.

@reveller's original code went away.  I think this is in the spirit of the original.  I added regression tests to exercise the mixed case comparisons.

Linux build successful! See https://ci.trafficserver.apache.org/job/Github-Linux/611/ for details.

FreeBSD build successful! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/715/ for details.

It seems reasonable. 👍


Develop pyrealm.core.solar function radiation calc library

Proposal to breakout individual solar radiation calc functions from pyrealm.splash.solar and make these available in pyrealm.core.solar
Alternatives
Alternative would be to try and find an existing Python library to provide similar functionality and then write custom functions for any missing features such as calculation of ppfd and calculation of radiation for sub-daily intervals..
Seeing as we already have much of the code we need in Pyrealm, we might as well reuse it.
Additional context
This is in support of implementing the two-leaf canopy model

In particular, the existing code in pyrealm handles array inputs, where other libraries tend to be more focussed on single locations.


Make EE correction recognized by CMT and apply a correction

When using the global_v6 through cutax with for example
import cutax
st = cutax.contexts.xenonnt_v6()
st.config["rel_extraction_eff"]

the rel_extraction_eff is not recognized by st.apply_cmt_version(). So we either have to change the default in the context to CMT or the default in the plugin to CMT. Here I propose a change in the plugin to have it similar to SE correction.
Thanks @jmosbacher and @WenzDaniel for the correspondence.
In long term we will need to add something better like having all defaults at one place.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.03%) to 93.858%

Totals

Change from base Build<PHONE_NUMBER>:
0.03%

Covered Lines:
6464

Relevant Lines:
6887

💛  - Coveralls


remove notification APIGroup

Description of your changes

remove deprecated notification APIGroup
added resolvers for NotificationTopicARN cache APIGroup and switched if possible to generated resolvers for SNS
added resolvers for NotificationTopicARN dax APIGroup for SNS

preparation for #1502
Remove CRDs from Cluster:
kubectl delete crd snssubscriptions.notification.aws.crossplane.io
customresourcedefinition.apiextensions.k8s.io "snssubscriptions.notification.aws.crossplane.io" deleted

kubectl delete crds snstopics.notification.aws.crossplane.io
customresourcedefinition.apiextensions.k8s.io "snstopics.notification.aws.crossplane.io" deleted

I have:

[x] Read and followed Crossplane's contribution process.
[x] Run make reviewable test to ensure this PR is ready for review.

How has this code been tested

create, update, delete Cache Cluster, SubnetGroup, ReplicationGroup
create, update, delete DAX Cluster

we will add again the migration text
Thanks ;)


window().setSize() does not work on generation of screenshot

Hi Forks,
i'm trying go a screenshot of too long webpage. Normally, I can setSize with a Dimention to obtain an appropriate scoped image (100x200), but image is still full page height.
@Test
  public void can_drive_phantomjs_via_webdriver() throws Exception {
    DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
    desiredCapabilities.setJavascriptEnabled(true);
    desiredCapabilities.setCapability(CapabilityType.TAKES_SCREENSHOT, true);
    desiredCapabilities.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, "path-to-phantomjs.exe");
    PhantomJSDriverService service = PhantomJSDriverService.createDefaultService(desiredCapabilities);
    service.start();
    PhantomJSDriver driver = new PhantomJSDriver(service, desiredCapabilities);

    System.out.println(driver.manage().window().getSize().width);
    System.out.println(driver.manage().window().getSize().height);
    driver.manage().window().setSize(new Dimension(100, 200));
    driver.get("http://grokbase.com/t/gg/webdriver/13aer245hk/remotewebdriver-taking-screenshots-how-does-it-work");
    System.out.println(driver.manage().window().getSize().width);
    System.out.println(driver.manage().window().getSize().height);
    byte[] image = driver.getScreenshotAs(OutputType.BYTES);
    FileUtils.writeByteArrayToFile(new File("E:\\test.png"), image);
    driver.quit();
  }

![test](https://cloud.githubusercontent.com/assets/871039/5313852/31662f64-7c6d-11e4-994d-01d2c6f0c7d2.png)

I have also found that the layout rendered during a screenshot is of a different size to the currently configured viewport size.


[Openai] Correcly handle chat with streaming and multiple choices

Context
Following up on this #387. The final response coming from Langchain::LLM:Openai#chat with when streaming and multiple choices (n>1) is not correct.
This change correctly re-constructs the final response by grouping chunks accordingly
Example
llm = Langchain::LLM::OpenAI.new(api_key: ENV["OPENAI_API_KEY"])
response = llm.chat(prompt: "hello", n: 2) do |chunk|
  puts chunk
end

Before
#<Langchain::LLM::OpenAIResponse:0x0000000109c094c8
 @model=nil,
 @raw_response=
  {"id"=>"chatcmpl-8Kl5uHVZrudHk6ofJcwctne5PzLIP",
   "object"=>"chat.completion.chunk",
   "created"=>1699958282,
   "model"=>"gpt-3.5-turbo-0613",
   "choices"=>[{"message"=>{"role"=>"assistant", "content"=>"HelloHello!! How How can can I I assist assist you you today today??"}}]}>

After
#<Langchain::LLM::OpenAIResponse:0x0000000110d75da0
 @model=nil,
 @raw_response=
  {"id"=>"chatcmpl-8KlZeQ5tszjiyVvuTnnZp3CcdaOKE",
   "object"=>"chat.completion.chunk",
   "created"=>1699960126,
   "model"=>"gpt-3.5-turbo-0613",
   "choices"=>
    [{"index"=>0, "message"=>{"role"=>"assistant", "content"=>"Hello! How can I assist you today?"}, "finish_reason"=>"stop"},
     {"index"=>1, "message"=>{"role"=>"assistant", "content"=>"Hello! How can I assist you today?"}, "finish_reason"=>"stop"}]}>

@mathieuripert I've noticed that all of the response chunks are collected and exposed via @response_chunks. It feels rather odd that the internal implementation is exposed like that:
irb(main):011:0> llm
=>
#<Langchain::LLM::OpenAI:0x0000000111586dc8
 @client=
  #<OpenAI::Client:0x0000000111585b08
  ...
 @defaults=
  {:n=>1,
   :temperature=>0.0,
  ...
 @response_chunks=
  [{"id"=>"chatcmpl-8KnkDw7pkADHUaDcjkFPVFdkHaVSd",
    "object"=>"chat.completion.chunk",
    "created"=>1699968469,
    "model"=>"gpt-3.5-turbo-0613",
    "choices"=>[{"index"=>0, "delta"=>{"role"=>"assistant", "content"=>""}, "finish_reason"=>nil}]},
   {"id"=>"chatcmpl-8KnkDw7pkADHUaDcjkFPVFdkHaVSd",
    "object"=>"chat.completion.chunk",
    "created"=>1699968469,
    "model"=>"gpt-3.5-turbo-0613",
    "choices"=>[{"index"=>0, "delta"=>{"content"=>"Hello"}, "finish_reason"=>nil}]},
   {"id"=>"chatcmpl-8KnkDw7pkADHUaDcjkFPVFdkHaVSd",
    "object"=>"chat.completion.chunk",
    "created"=>1699968469,
    "model"=>"gpt-3.5-turbo-0613",

Maybe we can at least make the reader method private and/or hidden when the class instance is printed.

@mathieuripert I've noticed that all of the response chunks are collected and exposed via @response_chunks. It feels rather odd that the internal implementation is exposed like that:
irb(main):011:0> llm
=>
#<Langchain::LLM::OpenAI:0x0000000111586dc8
 @client=
  #<OpenAI::Client:0x0000000111585b08
  ...
 @defaults=
  {:n=>1,
   :temperature=>0.0,
  ...
 @response_chunks=
  [{"id"=>"chatcmpl-8KnkDw7pkADHUaDcjkFPVFdkHaVSd",
    "object"=>"chat.completion.chunk",
    "created"=>1699968469,
    "model"=>"gpt-3.5-turbo-0613",
    "choices"=>[{"index"=>0, "delta"=>{"role"=>"assistant", "content"=>""}, "finish_reason"=>nil}]},
   {"id"=>"chatcmpl-8KnkDw7pkADHUaDcjkFPVFdkHaVSd",
    "object"=>"chat.completion.chunk",
    "created"=>1699968469,
    "model"=>"gpt-3.5-turbo-0613",
    "choices"=>[{"index"=>0, "delta"=>{"content"=>"Hello"}, "finish_reason"=>nil}]},
   {"id"=>"chatcmpl-8KnkDw7pkADHUaDcjkFPVFdkHaVSd",
    "object"=>"chat.completion.chunk",
    "created"=>1699968469,
    "model"=>"gpt-3.5-turbo-0613",

Maybe we can at least make the reader method private and/or hide @response_chunks when the class instance is printed. Or do we think it's best to reset @response_chunks = [] after each invocation?

good point ! I updated my code to make @response_chunks private and reset it after each call.

@mathieuripert This is great, thank you!


Converted Configuration to TypeScript

Disclaimer
This is my first big PR here, and my take on this conversion may or may not fit the project. I'm all open to discuss it and see it rejected 😊
Changes

Converted Configuration to TypeScript
Used namespaces to differentiate Global configuration from Connections'
Proposed Configuration interfaces hierarchy
Added type JSDOC where relevant

Checklist

[x] have tested my change
[x] updated relevant documentation
[x] eslint is not complaining
[x] have added myself to the contributors' list in CONTRIBUTING.md

@sebjulliand woah, you weren't kidding!
I will be reviewing this either later tonight or tomorrow morning.
Thanks for your great effort on this front.

Happy to help! I'll be glad to convert more whenever I can.

@sebjulliand I fixed a conflict here and now I am going to review.

It's working very well for me. Even debugged a little bit to try out the new config APIs.
@halcyon-tech/core Any chance we could do some user testing on this to make sure there is no impact of functionality?
Thanks!

First off, let me say - this is an amazing PR. I really appreciate the effort of moving some of the most complicated code (the configuration setup is a lot!) into TS.
I very much like the seperation of GlobalConfiguration and ConnectionConfiguration namespaces.
Other than the two issues I've left comments for, it's all looking good. It just needs some user testing as well.

Much obliged @worksofliam ! I'm glad to finally have found the time to participate and give back to the community by helping with this great project.

@worksofliam I'll take a look tonight and give my feedback!

@Wright4i Any luck with the user testing at all?

@worksofliam so far so good! I actually had a bit of work to do this morning on some programs so I've put in a bit of real world testing as well. No issues to report. I'll reach out if something pops up but I think this is good to go.

@Wright4i Sorry to pester you, but very glad to hear it's looking good! Will merge this today.


Project API key not working

Verify it's not a duplicate bug report

[X] I searched for similar bugs reported on GitHub and nobody has reported a similar issue. Search all issuees.
[X] I read Troubleshooting guide on Readme and there is not a guide on how to solve my problem.

Describe the Bug
Recently Project API keys have replaced user API keys, as the OpenAI API Keys dashboard says. I created a project API secret key, installed Genie, and entered the newly created API key. However, I get a 401 error every time I execute something using the Genie prompt.

Download extension
Create a new secret key on OpenAI API Keys dashboard
Add project secret to Genie
Ask a question in the prompt
⇒ Error 401 occurs

Please tell us if you have customized any of the extension settings or whether you are using the defaults.
I'm using the default setting ✅
Additional context

I have a ChatGPT Plus subscription.
I tested the API key using my terminal and it's returning valid responses.

Same here but with 403
HTTP 403 Forbidden.
{
"error": {
"message": "Project proj_Lq3uqDNVevKwCeG9ujTvKBgk does not have access to model gpt-4o",
"type": "invalid_request_error",
"param": null,
"code": "model_not_found"
}
}

Same
HTTP 404 Not Found. You may have exhausted your OpenAI subscription allowance or have an expired account. You can clear your API Key from VS Code's secrets storage with Genie: Clear API Key command. Check your allowance and account's expiration date here: https://platform.openai.com/account/usage.
{
"error": {
"message": "The model gpt-4o does not exist or you do not have access to it.",
"type": "invalid_request_error",
"param": null,
"code": "model_not_found"
}
}

Same error:
HTTP 404 Not Found. You may have exhausted your OpenAI subscription allowance or have an expired account. You can clear your API Key from VS Code's secrets storage with Genie: Clear API Key command. Check your allowance and account's expiration date here: https://platform.openai.com/account/usage.
{
"error": {
"message": "The model gpt-4o does not exist or you do not have access to it.",
"type": "invalid_request_error",
"param": null,
"code": "model_not_found"
}
}

Same error.
This is not related to Open AI allowance or expired account, since GPTs are available on other clients.

SAME
HTTP 404 Not Found. You may have exhausted your OpenAI subscription allowance or have an expired account. You can clear your API Key from VS Code's secrets storage with Genie: Clear API Key command. Check your allowance and account's expiration date here: https://platform.openai.com/account/usage.
{
"error": {
"message": "The model gpt-4o does not exist or you do not have access to it.",
"type": "invalid_request_error",
"param": null,
"code": "model_not_found"
}
}
I created a new key ,  clear, the key,  and i get the same response.

I have the same issue. i think because the email account being used is wrong. where do i set it?


[RFE] Request to block delimited changes in /etc/hosts

General information

OS: macOS
Hypervisor: hyperkit
Did you run crc setup before starting it (Yes/No)? Yes
Running CRC on: Laptop

When crc start runs it always rewrites /etc/hosts, even if it doesn't need to change anything.
Things done when hosts file is rewritten;

comments removed
empty lines removed
whitespace squashed into single space

CRC version
CodeReady Containers version: 1.39.0+ba8a8acc
OpenShift version: 4.9.15 (bundle installed at /Applications/CodeReady Containers.app/Contents/Resources/crc_hyperkit_4.9.15.crcbundle)

CRC status
n/a

CRC config
n/a

Host Operating System
ProductName:	Mac OS X
ProductVersion:	10.15.7
BuildVersion:	19H1713

Steps to reproduce

edit /etc/hosts, add comment, add extra new line, add extra whitespace
crc start

Expected
If crc needs to update the hosts file, can it add it's own line or own section like Docker Desktop, e.g;
# Managed by Code-Ready CRC
<IP_ADDRESS> api.crc.testing canary-openshift-ingress-canary.apps-crc.testing console-openshift-console.apps-crc.testing default-route-openshift-image-registry.apps-crc.testing downloads-openshift-console.apps-crc.testing oauth-openshift.apps-crc.testing
# End of section

Actual
crc start always rewrite /etc/hosts.

comments are lost
whitespace is squashed to a space
empty lines are list
marker sections use by other apps are lost

Logs
n/a

I'd have expected this change to /etc/hosts to be done by 'crc setup', not 'crc start'. It seems to me, without digging into the code, that all the information is already known at 'crc setup', no? The IP address (hard-coded?) also appears in NetworkManager/dnsmasq.d/crc.conf, which is created by 'crc setup'.

The IP address is/was dynamic on some platforms. The main reason why it can't be done at setup time though is because /etc/hosts needs to be updated when you create a route for your own application (myapp.crc-apps.testing), we can't add wildcard hostnames in /etc/hosts for *.apps-crc.testing, so this needs to be updated on the fly.

Hi,
Not sure what's the exact meaning of '[RFE] Request to block delimited changes in /etc/hosts' (not being a native English speaker, for that matter), but I also now encountered all of the issues mentioned above:

comments removed - most annoying part, for me, as I had several such comments
empty lines removed - not that important, but still
whitespace squashed into single space - also not that important. Main issue with it is that it makes it hard to understand what 'crc start' actually meant to change in the file (by comparing it with a copy. I maintain /etc as a local git repo).

I'd also like to add my own item:

I'd have expected this change to /etc/hosts to be done by 'crc setup', not 'crc start'. It seems to me, without digging into the code, that all the information is already known at 'crc setup', no? The IP address (hard-coded?) also appears in NetworkManager/dnsmasq.d/crc.conf, which is created by 'crc setup'.

Me neither, that wasn't my original title. It was "anti social behaviour regarding hosts file management"

I totally understand you need to update the hosts file.
But why do it in such anti social way?

I was only answering to the part which I quoted, not about this issue in general ;) Not the first time this comes up though https://github.com/code-ready/crc/issues/2710#issuecomment-915990215
Main reason why this happens is because the go module we use for this (github.com/goodhosts/hostsfile) behaves this way. We could switch to something different, but this is low priority at the moment.
Maybe there are some easy improvements which could be made on our side though, as https://github.com/goodhosts//cli seems to be nicer in the changes it makes to the hosts file.

any update if this will be dealt with, i've multiple programs touch hosts and use comments to work out which section they added and can edit, but crc just drops all comments and rewrites it, which then breaks other applications which have spent time making sure they are a good collaborate program.


Immutable() behavior when generating resolvers

I can't tell if it's "intentional" behavior or not and should be a) either in the docs or b) fixed.

[x] The issue is present in the latest release.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯
If an ent.Field contains Immutable() a resolver is created which has to be implemented for the field.
In the bug repo, there is a testlist entity in the schema that contains valid_from with Immutable() and a valid_to that does not contain Immutable().
In the Testlist resolver in the graph/resolver directory you will find the ValidFrom resolver.
No resolver is generated for the valid_to field.
Expected Behavior 🤔
There is a need for clarification regarding the behavior. I cannot understand why Immutable() triggers this, as it is just the behavior in case of an update of the entity in the DB. If a change to the field is to take place, ent needs to generate an error describing that the field cannot be changed. This is pure business logic in ent from my point of view.
Steps to Reproduce 🕹
https://github.com/thmeitz/ent-graphql-immutable-field-test
Your Environment 🌎

Tech
Version

Go
1.18

Ent
see go mod  in example repo

closing the issue.
input UpdateTestListInput {
  name: String
  validFrom: Date
  validTo: Date
}

validFrom must not in the UpdateTestListInput, because its immutable...


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Crash report: Could not execute entrypoint stage 'client'

Forgive any mistakes, I'm new to using Github and all the fancy developer language is very confusing. I just updated to Falling Leaves 1.9.0 but my game crashed when trying to start. I've attached the crash log (I think?). Until then, I'll revert back to 1.8.1. :)
crash-2022-01-13_14.28.48-client.txt
Thanks so much for the awesome mod!

Ahhh, now I understand!
This was really confusing because what the crashlog says should be impossible and I double checked the CurseForge jar with my own and they were 100% identical.
Turns out I uploaded the wrong jar file to Modrinth!
Correct version is now up, sorry about that!

OH NEAT haha glad I could help!!


[azservicebus] update to<EMAIL_ADDRESS>

Prior version of go-amqp v0.16.3 had a race condition where a link error could potentially be set when the link is unwound that was not synchronized with reading the error.
Fixes #16092

/azp run go - azservicebus

/azp run go - azservicebus


Fix a couple of typos

Thanks. The code working okay for you?

Coverage remained the same at 78.017% when pulling 7d4f7657806b86762c9f58f4687610ca8e06c414 on meli-lewis:patch-1 into 06cdd1a0ada1c948f740a14ab87e6b3f283e23dc on datadesk:master.

We're still figuring out what we're doing, but your excellent documentation certainly helps!


isStatic only set on linux

Describe the bug
when using pkgsStatic, stdenv.hostPlatform.isStatic only gets set on linux. This seems to be done very much on purpose, so I don't know if there's some good reason for it:
https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/stage.nix#L214-L234
    pkgsStatic = nixpkgsFun ({
      overlays = [ (self': super': {
        pkgsStatic = super';
      })] ++ overlays;
      crossOverlays = [ (import ./static.nix) ];
    } // lib.optionalAttrs stdenv.hostPlatform.isLinux {
      crossSystem = {
        isStatic = true;
        parsed = stdenv.hostPlatform.parsed // {
          abi = {
            gnu = lib.systems.parse.abis.musl;
            gnueabi = lib.systems.parse.abis.musleabi;
            gnueabihf = lib.systems.parse.abis.musleabihf;
          }.${stdenv.hostPlatform.parsed.abi.name}
            or lib.systems.parse.abis.musl;
        };
      } // lib.optionalAttrs (stdenv.hostPlatform.system == "powerpc64-linux") {
        gcc.abi = "elfv2";
      };
    });
  };

This causes problems for instance when cross-compiling to windows and then using pkgsStatic, some packages wrongly think they are not compiling statically. I can't remember what packages I've encountered this in, and right now I'm encountering it in a change that I'm trying to make, not something that already exists.
To Reproduce
Steps to reproduce the behavior:
$ nix repl
> pkgs = import <nixpkgs> { crossSystem = { config = "x86_64-w64-mingw32"; libc = "msvcrt" }; };
> pkgs.pkgsStatic.stdenv.hostPlatform.isStatic
false

Expected behavior
isStatic would be true on all platforms if using pkgsStatic
Notify maintainers
@matthewbauer seems to have added this code / created pkgsStatic
Metadata

system: "x86_64-linux"
host os: Linux 5.10.27, NixOS, 21.05pre281538.9e377a6ce42 (Okapi)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.4pre20210326_dd77f71
channels(root): "nixos-21.05pre281538.9e377a6ce42, nixos-hardware"
channels(qolen): "home-manager"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute: pkgsStatic
# a list of nixos modules affected by the problem
module:

https://github.com/NixOS/nixpkgs/commit/42b5817e6b94974614cc9d0f803c14551274d6c5


[Extensibility Request] Page 88 "Job Card" - Protected variable

Hello, we need the following currently global variable defined as protected for our page extension. Can you please check that? Thank you!
protected var
    Contact: Record Contact;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Fix check environment script

Find a way to check if docker supports GPU without docker run.
https://github.com/insight-platform/Savant/blob/3fcc44aa317777265384a96a14f2e9f6d9bbd40b/utils/check-environment-compatible#L4
Eg. we can try to check nvidia-container-toolkit dpkg-query --show nvidia-container-toolkit

One option to improve this was to use al lightweight Docker image instead of ubuntu and remove it after the check.
I've tested images alpine, bash, busybox or hello-world, and
docker run -it --gpus all <image>

fail with these images on Jetson, with the message
docker: Error response from daemon: failed to create shim: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error running hook #1: error running hook: exit status 1, stdout: , stderr: time="2023-04-04T16:22:25+07:00" level=error msg="failed to update ld.so.conf: failed to create config file: open /var/lib/docker/overlay2/686cc7f0ef1c3f73b63f5e8a6ac29bc7c142b936194ec6a6dc54da584ad0884c/merged/etc/ld.so.conf.d/nvcr-687693471.conf: no such file or directory": unknown.

@abramov-oleg we may leave the current one if it works, just add the removal command to the script.


[reland] Refactor quant_llm to work with affine quantized tensor (#696)

Summary:
We want to add quant_llm to affine quantized tensor as a general fp2-fp7 dtype, before that we need to refactor the current implementation to work with AffineQuantizedTensor first
Test Plan:
python test/prototype/test_quant_llm.py
Reviewers:
Subscribers:
Tasks:
Tags:

the problem is the previous error in CI does not really appear here, maybe we should do a forward fix. cc @msaroufim @gau-nernst

update: moved the import for quant_llm op, verified locally that "import torchao" works


Runaway code panel indentation

In the code panel of samples with a lot of code, I see the indentation level increasing until it wraps around:
amp-form and

That's bad.  All samples are run through an auto-formatter before publishing. That looks like a problem in the sample source which throws the formatter off (maybe some unclosed tags).

It seems like it is already fixed here: https://amp-by-example-staging.appspot.com/components/amp-form/
I remember fixing an unclosed div in #551 which might've caused this.
BTW the playground is great for finding these errors as coderror highlights invalid tags.


*.srt Subtitle

Hi.. After integrate the GMF player with my own application one of my clients asked for the possibility of using a subtitle. I've saw that you have a Subtitle Layer ( and an method onText ) that I could use but whats the best approach to do that?
Does GMF make all the fetching and parsing of the SRT file or should I do that on my own and just use the method to show the subtitles ( using the progress event, for instance )?
I couldn't find anything related to it on the repository.
Thanks

Hi,
ExoPlayer's TextTrackRenderer should support SubRip files. Since GMF uses Exo v1, check out the Exo repo for more info: https://github.com/google/ExoPlayer/blob/release-v1/library/src/main/java/com/google/android/exoplayer/text/TextTrackRenderer.java

@ypavlotsky thanks!


Add WebP and AVIF support

Hi Typpo, this time is a feature request from me :)
Is it possible to add WebP and AVIF file formats support when exporting images?

Hi @SergeySypalo,
webp is actually supported, although not documented!  You can call setFormat('webp')

Actually I'm more interested in AVIF, as it offers better compression, and the result is sharper.
At least for images I need/tested.


Dynamic column labels

Hello @xaksis, is it possible to dynamically change the column labels, or to have it render dynamically using vue {{}}? I wish to be able to update the label of a column month to month. Thanks so much

@nwaughachukwuma yes, you can find the documentation for it here:
https://github.com/xaksis/vue-good-table#custom-columns
closing.


Image picker not showing image taken from camera. Shows a blank image

It is just white image.

Hello @kushas !
Did you manage to solve the issue? Does the problem still persist in the latest stable version?

Without additional information, we are unfortunately not sure how to resolve this issue. We are therefore reluctantly going to close this bug for now. Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.


[BUG] Fail falgs not working as expected

Hello,
FVTT 9.242
adv-reminder 0.2
Thx for this module. This is awesome.

This module really comes in handy. I was surprised to find this module working like a charm with BetterRolls5e.
When I set a Fail Midi Flag, only the saving throws are affected.
Actually, always the saving throws, never the skill throws or ability throws. (tested with & without BetterRolls5e)
EDIT: tested almost all Midi Qol Flags with BetterRolls5e. The only one not working is CriticalReminder.

Thanks for giving this a shot and glad to hear it works (mostly) with BetterRolls5e considering I hadn't tested with it.
You're right, only the fail flags for saving throws are implemented currently. I know Midi has fail flags for lots of checks but I didn't implement them because I didn't see any conditions or effects that would actually auto-fail them. I know Stunned will auto-fail Strength and Dexterity saving throws but I couldn't remember anything else auto-failing ability checks or any of the others. But if you want them, it's not too much work to add them.

@kaelad02 no particular use-case here. Just thought it was a bug :)


Adding context to install/support jupyter lab

Adding jupyter context
Close #2426

I had to disable Google.Headings = NO because for some reason, it started to complain. Maybe they have fixed something upstream.

Merging without passing coverage. It should pass, but I dont want to rerun CICD.


C# Generic partial class that inherits Node crashes Godot 4.0 Beta 2 Mono

Godot version
4.0.beta2.mono.official [f8745f2f7]
System information
Windows 11 Home 64-bit (Build 22000), Intel Core i5 11400F, NVIDIA GeForce RTX 3070
Issue description
Issue:
Creating a C# generic partial class that inherits Node and overrides _Ready() and then compiling the project will crash the editor the next time opening the project.
The project can actually compile and run without problem. But the editor just refuses to open it again after it is closed.
Using PowerShell to open Godot and then the project will show System.InvalidOperationException and System.AccessViolationException:

Expected Behaviour:
Editor can open the project again without crashing.
Current Solution:
I have to manually delete .godot\mono\temp\bin\Debug\(MyProject).dll every time before I open the project in Godot.
Steps to reproduce

Create a new project.
Create a C# class that inherits Node.
Make the C# class generic. Delete everything but _Ready() inside the class. So it becomes something like this:

using Godot;
using System;

public partial class GenericNode<T> : Node
{
	// Called when the node enters the scene tree for the first time.
	public override void _Ready()
	{
	}
}

Click the Build button in Godot. (Occasionally Godot crashes at this step)
Close the project. Open it again. Sometimes the editor crashes before the scene is loaded, sometimes it crashes a few seconds after the scene is loaded.

Note: if _Ready() is also deleted such that the class is empty, the project can be opened again after compiled.
Minimal reproduction project
TestCrashProject.zip

i am having exactly the same issue using Godot 4 Beta 6,  dotnet 6.
the editor keeps crashing when using a Node derivative class using Generics .

ERROR: System.InvalidOperationException: Late bound operations cannot be performed on types or methods for which ContainsGenericParameters is true.
   at System.Reflection.RuntimeMethodInfo.ThrowNoInvokeException()
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
   at Godot.Bridge.ScriptManagerBridge.GetMethodListForType(Type type) in /root/godot/modules/mono/glue/GodotSharp/GodotSharp/Core/Bridge/ScriptManagerBridge.cs:line 761
   at Godot.Bridge.ScriptManagerBridge.UpdateScriptClassInfo(IntPtr scriptPtr, godot_bool* outTool, godot_array* outMethodsDest, godot_dictionary* outRpcFunctionsDest, godot_dictionary* outEventSignalsDest, godot_ref* outBaseScript) in /root/godot/modules/mono/glue/GodotSharp/GodotSharp/Core/Bridge/ScriptManagerBridge.cs:line 593
   at: godotsharp_pusherror (modules/mono/glue/runtime_interop.cpp:1240)
Fatal error. System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
   at Godot.NativeInterop.NativeFuncs.godotsharp_internal_reload_registered_script(IntPtr)
   at Godot.Bridge.ScriptManagerBridge.CreateScriptBridgeForType(System.Type, Godot.NativeInterop.godot_ref*)
   at Godot.Bridge.ScriptManagerBridge.GetOrCreateScriptBridgeForType(System.Type, Godot.NativeInterop.godot_ref*)
   at Godot.Bridge.ScriptManagerBridge.GetOrCreateScriptBridgeForPath(Godot.NativeInterop.godot_string*, Godot.NativeInterop.godot_ref*)

Godot 4 Beta 8 fixed this for me. Give Beta 8 a try and let me know if it fixes it for you 👍

Godot 4 Beta 8 fixed this for me. Give Beta 8 a try and let me know if it fixes it for you 👍
Nvm the issue came back... I didn't delete the .Godot folder so I was surprised to see my project work for a good while.

After a few months of working, I realized I don't really need this feature. So right now I can only test with the minimal reproduction project with Godot v4.0 beta 8:

Did not delete anything and open it with Godot -> Crash
Deleted .godot\mono\temp\bin\Debug\(MyProject).dll, open it, Build -> Crash
Deleted .godot\mono\temp, open it, Build, close and reopen -> No Crash
Deleted .godot, open it, Build, Error complaining about .godot\mono\metadata\ide_messaging_meta.txt' not found, Build again anyway, close and reopen -> No Crash

To conclude, I couldn't reproduce the issue with the minimal reproduction project after deleting .godot\mono\temp and build the project again with Godot v4.0 beta 8.
Not really sure if the issue is actually fixed.


Urgent fix reqd - 'Runtime error: mat1 dim 1 must match mat2 dim 0' while running demo_video.py

Hello there, I have been trying to get this thing and give me a demo on a video but I am facing a lot of hassle. I used the 'c3d.pickle' file as the feature extraction model and even the ucf-101.pth file but whatever I do, I get the error 'Runtime error: mat1 dim 1 must match mat2 dim 0'. Please find attached screenshot and the command I used to run

This is the command I used to run: python video_demo.py --feature_extractor "exps/c3d/c3d.pickle" --feature_method "c3d" --ad_model "exps/resnet_r3d101_KM_200ep/models/epoch_10.pt"

Could you share the video here, so that I can reproduce the error?

After running the command and opening the GUI, I upload a sample video. After the loading bar says "Extracting features", I get this error in the terminal: Runtime error: mat1 dim 1 must match mat2 dim 0

@imPdhar The problem occurs since you are using c3d as a feature extractor, and the AD model is trained on the resnet features. The feature extractor and AD model must match each other. I'll add a note about this. Thanks for raising this!

@imPdhar Let me know if you experience any other issues. Otherwise, I'll close this on 30/6. Thanks.


Ranks show assigned to wrong people at start of the match

This has only been tested in Casual as I don't play a lot of competitive.
Just installed this plugin today and noticed that at the start of the matches the ranks do not seem to display correctly, or rather the correct ranks are visible but next to the wrong persons.  It seems to resolve itself later into the game but can be a little confusing.
Settings are left on default; showing "best" rank across playlists. The only change I've made is disabling divisions.
Start of match

Later in match

Hey,
Thanks for reaching out!
I know about the issue, and from what I remember, it is due to the plugin assuming alphabetical order on the start, while it may be by order of joining or just random.
It later corrects itself because it orders them by score.
But at the start of the match everyone is at 0.
Unfortunatelly I don't have a sollution to the problem, and I've stopped working on this plugin long ago.
However the repository is open to contributions, so if you or anyone else has a fix I'm happy to update the plugin.

@BenTheDan still alive and accepting PRs? 😄 Might work on this this week.

@nkezhaya alive and well 😀, if you'd like to submit a PR I'm happy to review it and add it to the plugin

Fixed in the v1.2.1 patch (still pending review)


Update R Docker image and vscode-r recommended settings

This pull request updates R to latest version and add vscode-R recommended settings.

Change base image rocker/r-apt:bionic(R 3.6.3) to rocker/r-ver, which provide specific version R (4.0.0 ~ 4.0.4) based on Ubuntu LTS.
Change not to install libzip-dev. (libzip-dev was needed for R Tools #60, which is not included by #473 ).
Install libxt-dev, for to plot without warning.
Add vscode-R recommended settings and packages.

Install R LSP Client and R Language Server.

Install libcurl4-openssl-dev, libssl-dev, libxml2-dev, for to install R Language Server.

Install devtools

Upgrade OS packages and install libgit2-dev, for to install devtools

Install radian.

Install python3-pip, for to install radian.

Add vscode-R recommended settings.

@Chuxel I apologize for including the fix of username acaba59 in this PR.
You've changed username to docker in e2480ab, but I think vscode is more better username because this is other container's default username.
So, I have changed the username to vscode again c1548b4.

@Chuxel I apologize for including the fix of username acaba59 in this PR.
You've changed username to docker in e2480ab, but I think vscode is more better username because this is other container's default username.
So, I have changed the username to vscode again c1548b4.

@kmehant as the R definition maintainer, can I get your eyes on this? 👀

@2percentsilk @Chuxel @kmehant If this review is going to take a long time, would it be better to break the PR into base image update and others?

@eitsupi Looks good to me! However, I request a review from @Chuxel.
It would be great if you could squash commits wherever possible.
@2percentsilk Thanks for tagging me, I apologize for the late response.

LGTM! The new extension is low volume which gave me pause, but I see its maintained by the same maintainers as the existing extension. So from that perspective it's probably ok.
Made one fix to move the remoteUser back to vscode given this is what the dockerfile does.

@eitsupi @kmehant Actually, one thing I just noticed - the # [Choice] comment in the Dockerfile also can drive VS Code UX, but it has to be a concrete list.
At the moment I've removed the comment since I'm not sure if there's higher level tags like "4" and the lower level versions are going to be a bit of a maintenance issue.

@Chuxel Thank you for merging and the comment fix.
There is no higher level tags like "4", and minor versions like "4.0.4" will increase every few months.
So if there is no problem with the current state, I think it's fine the current state which only removed the # [Choice] comment.


use a single fts query, not by word

Overview
on anytext searches with multiple words, instead of creating multiple where clauses this creates a single where clause with a ts-query having fuzzy matching for each term. this is not valid CQL, but final results are good (on postgres, for sqlite an alternative solution is needed). I would like to hear from you what you think, are there other ways to bypass the cql syntax, because ts-query doesn't really fit with CQL...
Related Issue / Discussion
#879
Additional Information
Contributions and Licensing
(as per https://github.com/geopython/pycsw/blob/master/CONTRIBUTING.rst#contributions-and-licensing)

[x] I'd like to contribute [feature X|bugfix Y|docs|something else] to pycsw. I confirm that my contributions to pycsw will be compatible with the pycsw license guidelines at the time of contribution.
[x] I have already previously agreed to the pycsw Contributions and Licensing Guidelines

test fails on sqlite, sqlite multiple word search is now broken
params = {'q': 'Lorem dolor'}
        content = json.loads(api.items({}, None, params)[2])
>       assert content['numberMatched'] == 1

closing for now, to be discussed soon
oapi is moving to non full-text-search
introduce full-text-search as a profile?


No network connection since 09-12 image

If I boot the 0908 image internet works again. No wifi and no ethernet on the newer releases.
Edit: I'm using the Steam Deck version.

Working fine here, what hardware are you running the deck version on?

I'm using it on a Steam Deck. You think maybe a reinstall can help?

To be clear, when you say no wifi or Ethernet do you mean they don't appear as options, or that the internet access with them isn't working?
We ship DNS over TLS by default, could be blocked on your end. There was a change to make sure it applied properly on that date.

I'm also using DNS over TLS on my router and I enabled DNS director so that individual apps can't bypass the DoT servers I configured. I'll try to disable that and let you know if it works.

how do you disable DoT?
it's causing a bunch of issues


refactor: remove async module usage

Fixes #2883 partially for nodejs-datastore (it's a good idea to open an issue first for discussion)

[ ] Tests and linter pass
[ ] Code coverage does not decrease (if any source code was changed)
[ ] Appropriate docs were updated (if necessary)

👋 we could use a fixy on the merge conflicts :)


also allow tab separators

@votca-bot changelog: allow tab separators in xyz file

@votca-bot format

you are right, I am getting lazy. :)


Create base CI/CD

Implement with GitHub actions:

Build APK and publish in GitHub releases
Check idea codestyle with idea-cli-inspector or ktlint
Run unit test

Looks like this may already be building the apk file, I'm guessing the goal would be to have it conditionally publish to releases on new tags?

Publish on all new commit in master branch

https://github.com/pinterest/ktlint
https://github.com/detekt/detekt


[Azure.Monitor.Ingestion] Add Concurrency Upload method

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

https://github.com/Azure/azure-sdk-for-net/issues/30913

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.Monitor.Ingestion


Withdraw Assets List scrolls back to default making it impossible to select asset

Description
When I try to scroll down on the assets list on the withdraw page or withdraw on deal ticket, the scroll list automaically scrolls back up to the begining.
Making it imposssible to select assets further down the list.
N.B this will only happen if the list of assets is big enough that scroll is required.
Steps to Reproduce

Build and serve trading
Click on withdraw from the sidebar
Select assets
Scroll down the list
See error ( the list is scrolled back to top automatically)

Expected behavior
I can scroll through the list freely and select an asset
Screenshots
https://github.com/vegaprotocol/frontend-monorepo/assets/133853298/d10aff7f-1321-4400-913f-e5cc87543de7
https://github.com/vegaprotocol/frontend-monorepo/assets/133853298/2d244954-83df-4b72-8b99-cff49363ddac
Device details

OS: Mac
Browser Firefox
Version 117.0 (64-bit)

Closing as it has been fixed.


Fails for filenames containing space

nvim two\ words.txt

Will keep the "two words.txt" file and the .cpt file seems corrupt.
Same if I do:
nvim "two words.txt"

Hi @filyp, thank you for your contribution.
I'll try to test and fix this issue when I have free time for it.

Hi @filyp
Could you check the fix, please? From my side looks good.
https://github.com/kurotych/ccryptor.nvim/pull/2


xiaomi.vacuum.c107 is unavailable in Automatic or Local mode（or with token）, but performs well in Cloud mode

Device model / 设备型号
xiaomi.vacuum.c107
Component version / 插件版本
0.7.19
HA core version / HA版本
2024.7.2
Integrated mode / 集成方式
Automatic (自动模式)
The problem / 问题详情
xiaomi.vacuum.c107 is unavailable in Automatic or Local mode（or with token）, but performs well in Cloud mode. The log is similar to #1586 , and it reports 'Please check its IP and make sure it is in the same subnet as the HA' in the sidebar notifications in Home Assistant. However, I have confirmed that it is indeed in the same subnet. Please check this bug, thank you!
Entity attributes / 实体属性
无实体

Home Assistant Logs / 系统日志
No response

I have the same problem. It worked in the first couple of days and then it stopped working.

Same issue.
Will someone help to fix it?

Try master branch.
wget -O - https://get.hacs.vip | DOMAIN=xiaomi_miot ARCHIVE_TAG=master bash -

Try master branch.

wget -O - https://get.hacs.vip | DOMAIN=xiaomi_miot ARCHIVE_TAG=master bash -

Thanks! It appears to be working fine in local mode now.

A card for this robot.

https://github.com/al-one/hass-xiaomi-miot/discussions/2225


find join points pass

Adds a pass for identifying and replacing functions that might instead be join point declarations.

Merged manually


HR and Help refugees task: Less HR is given and the overall HR changes after save

Version: develop
Mods: ACE
Mode: MP
Looks like some bug exists between the task "Help refugees" and the HR given after the mission.
After completing the mission not only received less HR for the ppl I saved (8 instead of 10 even though it appeared "HR: +10" in the FIA resources update).
After saving and loading the game, the HR level goes back to the previous number and the task sometimes appears/initializes like it wasn't completed.
CODE:
1:41:01 Error in expression <ssionSuccessfulCondition = {
(not alive _veh) or ({_x getVariable ["BLUFORSpawn">
1:41:01   Error position: <_veh) or ({_x getVariable ["BLUFORSpawn">
1:41:01   Error Undefined variable in expression: _veh
1:41:01 File mission\spawns\fnc_destroy_vehicle.sqf [AS_mission_fnc_destroy_vehicle], line 103
1:41:01 "[AS] Error: AS_mission_fnc_complete: mission 'rescue_refugees_lifou' is not active"
1:41:01 "[AS] 2: spawn 'rescue_refugees_lifou' finished state 'clean'"
1:41:03 Error in expression <able [_variable,false] and {_x distance _reference < _distance}}
} else {
privat>
1:41:03   Error position: <_reference < _distance}}
} else {
privat>
1:41:03   Error Undefined variable in expression: _reference
1:41:03 File fnc_unitsAtDistance.sqf [AS_fnc_unitsAtDistance], line 12
1:41:03 Error in expression <able [_variable,false] and {_x distance _reference < _distance}}
} else {
privat>

More code about it:
2:51:21 "[AS] 2: spawn 'rescue_refugees_lobaka' finished state 'run'"
2:51:21 "[AS] 2: spawn 'rescue_refugees_lobaka' started state 'clean'"
2:51:22 soldier[I_Soldier_LAT_F]:Some of magazines weren't stored in soldier Vest or Uniform?
2:51:22 soldier[I_Soldier_LAT_F]:Some of magazines weren't stored in soldier Vest or Uniform?
2:51:22 "DICT:get([1675967: empty.p3d,""rescue_refugees_lobaka"",""location""]):ERROR: invalid key"
2:51:22 "DICT:get([1675967: empty.p3d,""rescue_refugees_lobaka"",""type""]):ERROR: invalid key"

I am not able to reproduce this in SP:

start a new game
start mission rescue refugees in Neri
go there, pick all the refugees
drive to the HQ
save game
load game

the relevant log is
 6:43:54 "[AS] 0: new spawn 'rescue_refugees_neri'"
 6:43:54 "[AS] Server: scheduler_fnc_execute(AS_spawn_fnc_execute):"
 6:43:54 "[AS] 0: spawn 'rescue_refugees_neri' started state 'initialize'"
 6:43:54 "[AS] 0: spawn 'rescue_refugees_neri' finished state 'initialize'"
 6:43:54 "[AS] 0: spawn 'rescue_refugees_neri' started state 'spawn'"
 6:43:54 "[AS] 0: spawn 'rescue_refugees_neri' finished state 'spawn'"
 6:43:54 "[AS] 0: spawn 'rescue_refugees_neri' started state 'run'"
 6:49:00 "[AS] 0: spawn 'rescue_refugees_neri' finished state 'run'"
 6:49:00 "[AS] 0: spawn 'rescue_refugees_neri' started state 'clean'"
 6:49:29 "[AS] 0: spawn 'rescue_refugees_neri' finished state 'clean'"
 6:51:15 "[AS] Server: saving game..."
 6:51:15 "[AS] Server: serializing game..."
 6:51:15 "[AS] Server: serializing AAF arsenal..."
 6:51:15 "[AS] Server: serializing locations..."
 6:51:20 "[AS] Server: serializing fia_hq..."
 6:51:20 "[AS] Server: serializing FIA arsenal..."
 6:51:21 "[AS] Server: serializing persistents..."
 6:51:24 "[AS] Server: serializing missions..."
 6:51:24 "[AS] Server: serializing players..."
 6:51:26 "[AS] Server: serialization completed."
 6:51:26 "[AS] Server: game saved."

// after restart
 6:51:57 "[AS] Server: deserializing data..."
 6:52:04 "[AS] Server: migrating to latest save version..."
 6:52:04 "[AS] Server: loading persistents..."
 6:52:04 "[AS] Server: loading locations..."
 6:52:05 "[AS] Server: server side-variables initialized"
 6:52:05 "[AS] Server: waiting for HQ position..."
 6:52:05 "[AS] Client: waiting for commander to choose HQ location..."
 6:52:10 "[AS] Server: loading HQ..."
 6:52:10 "[AS] Server: loading FIA arsenal..."
 6:52:10 "[AS] Server: loading players..."
 6:52:10 "[AS] Server: loading AAF arsenal..."
 6:52:10 "[AS] Server: spawn loop started."
 6:52:10 "[AS] Server: resources loop started."
 6:52:10 "[AS] Server: loading missions..."

Isn't the HR reaching its maximum value (16 for level 0) because of the FIA skill restriction?

Maybe it's that, but the thing is after surpassing the level it might remove all the last increment of HR, can you check that?
E.g. I have 10 HR, I receive 9 the level raises to 19 but then returns to 10
Either way I'm gonna post in investigation

In the scripts which update the HR, FIA resousces etc. is line which compares current HR to maximum HR vie BE module. However the BE module returns the difference from current HR to max HR while the script calling it uses it like it's the absolute max HR allowed.
Creates strange outcomes indeed! But it's a quick fix


Contrainer restarts when the game autosaves

Describe the Bug
When the game Autosaves the container restarts
Your Runtime Command or Docker Compose File
services:
  satisfactory-server:
    container_name: 'satisfactory-server'
    hostname: 'satisfactory-server'
    image: 'wolveix/satisfactory-server:latest'
    ports:
      - '7777:7777/udp'
      - '7777:7777/tcp'
    volumes:
      - './satisfactory-server:/config'
    environment:
      - MAXPLAYERS=8
      - PGID=1000
      - PUID=1000
      - ROOTLESS=false
      - STEAMBETA=false
      - AUTOSAVENUM= 10
    restart: unless-stopped
    healthcheck:
      test: bash /healthcheck.sh
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 120s
    deploy:
      resources:
        limits:
          memory: 6G
        reservations:
          memory: 4G

System Specs (please complete the following information):
If you're on Linux, just paste the following block as a single command, and paste the output here.
===== START ISSUE REPORT =====
OS:  Linux hoth 5.15.0-119-generic #129-Ubuntu SMP Fri Aug 2 19:25:20 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
CPU: Intel(R) Core(TM) i3-N305
RAM: 19GB/25GB
HDD: 279GB/300GB (98% used)
===== END ISSUE REPORT =====

Logs
Please provide your full container logs. Do not link to an external site for them, just upload them as an attachment
to your reply.
_satisfactory-server_logs export.txt
_satisfactory-server_logs export 2.txt
Additional Context
Add any other context about the problem here.

Hey, that sounds strange! It's almost definitely a game bug, as others are running the server without issues :)
Could you provide the full container log, please?

Yup, there's some crash happening on autosave due to a floating point error.
`Generating report for minidump
Application version <IP_ADDRESS>
... built from changelist 366202
OS version Linux 4.4.302+ (network name: wolveix-satisfactory-server-1)
Running 4 x86_64 processors (4 logical cores)
Exception was "SIGFPE: floating-point exception"

libFactoryServer-FactoryGame-Linux-Shipping.so!AFGGameMode::GenerateNextAutoSaveId() [C:/BuildAgent/work/b731a33f2a691e17/UE4/Engine/Source/./../../FactoryGame/Source/FactoryGame/Private/FGGameMode.cpp:930]
libFactoryServer-FactoryGame-Linux-Shipping.so!UFGSaveSession::Autosave() [C:/BuildAgent/work/b731a33f2a691e17/UE4/Engine/Source/./../../FactoryGame/Source/FactoryGame/Private/FGSaveSession.cpp:1409]
libFactoryServer-Engine-Linux-Shipping.so!FTimerManager::Tick(float) [C:/BuildAgent/work/b731a33f2a691e17/UE4/Engine/Source/./Runtime/Engine/Private/TimerManager.cpp:930]
libFactoryServer-Engine-Linux-Shipping.so!UWorld::Tick(ELevelTick, float) [C:/BuildAgent/work/b731a33f2a691e17/UE4/Engine/Source/./Runtime/Engine/Private/LevelTick.cpp:1585]
libFactoryServer-Engine-Linux-Shipping.so!UGameEngine::Tick(float, bool) [C:/BuildAgent/work/b731a33f2a691e17/UE4/Engine/Source/./Runtime/Engine/Private/GameEngine.cpp:1793]
libFactoryServer-FactoryGame-Linux-Shipping.so!UFGGameEngine::Tick(float, bool) [C:/BuildAgent/work/b731a33f2a691e17/UE4/Engine/Source/./../../FactoryGame/Source/FactoryGame/Private/FGGameEngine.cpp:13]
FactoryServer-Linux-Shipping!FEngineLoop::Tick() [C:/BuildAgent/work/b731a33f2a691e17/UE4/Engine/Source/./Runtime/Launch/Private/LaunchEngineLoop.cpp:5858]
FactoryServer-Linux-Shipping!GuardedMain(char16_t const*) [C:/BuildAgent/work/b731a33f2a691e17/UE4/Engine/Source/./Runtime/Launch/Private/Launch.cpp:190]
libFactoryServer-UnixCommonStartup-Linux-Shipping.so!CommonUnixMain(int, char**, int (*)(char16_t const*), void (*)()) [C:/BuildAgent/work/b731a33f2a691e17/UE4/Engine/Source/./Runtime/Unix/UnixCommonStartup/Private/UnixCommonStartup.cpp:269]
libc.so.6!UnknownFunction(0x29d8f)
libc.so.6!__libc_start_main(+0x7f)
FactoryServer-Linux-Shipping!_start()

0 loaded modules
Report end!
`

In which case, please report this to Coffee Stain :) Though this doesn't affect everyone, interestingly.
Feel free to re-open with a full container log otherwise!

@wolveix apologies on logs attached is a full log from fresh container to crash
_satisfactory-server_logs (3).txt

@rooleyzee123 does it still happen with a fresh save?

Submitted to coffee stain
https://questions.satisfactorygame.com/post/66e35154772a987f4a8ae2bf

@rooleyzee123 does it still happen with a fresh save?

Yeah this happens on both loading a manual save and brand new game

Damn, sorry to hear it :/

No problem, going to attempt to load my friend's save to see if there's some workaround by using a save outside of this to start it

No luck from loading save outside of server saves
also just incase reset max players back to 4 with no luck

The only fix I have at the moment is to disable auto-saving as manual saving still works. The call stack in the crash long says the last function called was a "GenerateAutoSaveID" function so it seems it's just generating an erroneous value and that's why it's crashing.

I'm curious why it's only affecting certain people. Thanks for the workaround for those affected, @wickerman123!