Understand how to start

Hi :)
My goal is to understand how I can apply fine tuning to such neural network, and so I want to run your code and play with it ;)
My problem is that deep learning is a new topic for my studies, so I have some problems to understand each part of your software.
I have read the YOLO paper and I have an idea about how it works.
I have prepared dataset, as you suggest in the section "Usage for python Code", but my first question is:

Who generates annotations from images in VOC format?
Are annotations only labels for images? What is their meaning?

Once that annotations are generated, I have to generate anchors. Does your gen_anchors script updates the raw about anchors  in the conf.json file?
Thank you so much for your response!

Hi,
1)Who generates annotations from images in VOC format?
A)Annotations for images are created manually using tools like labelImg (https://github.com/tzutalin/labelImg)
2)Are annotations only labels for images.What is their meaning?
A)Annotations are ground truth labels of the images. They have info about what all objects are present in the image (<name>raccoon</name>) and their bounding box coordinates relative to the image (<bndbox> <xmin>81</xmin> <ymin>88</ymin> <xmax>522</xmax>) <ymax>408</ymax> </bndbox>
This info is later parsed to be used accordingly .
As the author mentioned, copy the generated anchors printed on the terminal to the anchors setting in config.json

Thank you Manjeera! You have been very clear!
Maybe you can help me once again...
When I run the script in order to generate anchors, the code produces an exception:
FutureWarning: Conversion of the second argument of issubdtype from floattonp.floatingis deprecated. In future, it will be treated asnp.float64 == np.dtype(float).type.   from ._conv import register_converters as _register_converters Using TensorFlow backend. Traceback (most recent call last):   File "gen_anchors.py", line 137, in <module>     main(args)   File "gen_anchors.py", line 129, in main     centroids = run_kmeans(annotation_dims, num_anchors)   File "gen_anchors.py", line 73, in run_kmeans     indices = [random.randrange(ann_dims.shape[0]) for i in range(anchor_num)]   File "/usr/lib/python2.7/random.py", line 193, in randrange     raise ValueError, "empty range for randrange()" ValueError: empty range for randrange()
Can you help me to understand where is the origin of the exception?
Besides, can you give me a short description of the flow of the software?
Once that I created anchors, I have to preprocess my images and so train again, in order to update my weights, and so I have to run train script? or frontend script?
However, where the author indicates his changes respect to yolo original? Where he changes and does the fine tuning?

You have to run train.py script
In train.py, the following piece of code imports YOLO from frontend.
    yolo = YOLO(backend             = config['model']['backend'],
                input_size          = config['model']['input_size'],
                labels              = config['model']['labels'],
                max_box_per_image   = config['model']['max_box_per_image'],
                anchors             = config['model']['anchors'])

Let's see what happens in frontend.py. The following piece of code imports the FullYoloFeature from backend
elif backend == 'Full Yolo':
            self.feature_extractor = FullYoloFeature(self.input_size)

Let's see what happens in backend.py
The model is constructed till layer 22(including layer 22), and the weights from the original yolo are loaded in this model given by the following piece of code
        self.feature_extractor = Model(input_image, x)
        self.feature_extractor.load_weights(FULL_YOLO_BACKEND_PATH)

Now moving back back to frontend.py, the author creates the final layer(layer 23) according to no. of classes,no. of anchors etc. He/She initializes this layer with random weights. You can see that in the below code
# make the object detection layer
        output = Conv2D(self.nb_box * (4 + 1 + self.nb_class),
                        (1,1), strides=(1,1),
                        padding='same',
                        name='DetectionLayer',
                        kernel_initializer='lecun_normal')(features)
        output = Reshape((self.grid_h, self.grid_w, self.nb_box, 4 + 1 + self.nb_class))(output)
        output = Lambda(lambda args: args[0])([output, self.true_boxes])

        self.model = Model([input_image, self.true_boxes], output)

        # initialize the weights of the detection layer
        layer = self.model.layers[-4]
        weights = layer.get_weights()

        new_kernel = np.random.normal(size=weights[0].shape)/(self.grid_h*self.grid_w)
        new_bias   = np.random.normal(size=weights[1].shape)/(self.grid_h*self.grid_w)

        layer.set_weights([new_kernel, new_bias])

The above layer is what is finetuned. When the Model is called, the following piece of code `features = self.feature_extractor.extract(input_image) extracts the features from the backend model(layer1-layer22) and the rest of the Model is finetuned( layer23)
Now back to train.py, the following piece of code loads weights in the frontend model(layer23) also if you have pretrained weights for it rather than initializing with random weights.
    if os.path.exists(config['train']['pretrained_weights']):
        print("Loading pre-trained weights in", config['train']['pretrained_weights'])
        yolo.load_weights(config['train']['pretrained_weights'])

This is my understanding. It is better if you go through the code and check it yourself.

Thank you very much!
I have tried to run the train script with pretrained weights in order to finetune the network, but it starts from the 1st epoch and seems that it repeats the training of all layers. Is it possible to finetune only some layers in the yolo net?

1st epoch is not equivalent to 1st layer. Please google the terms, you will get a better understanding.
Like I mentioned above, layer 23 is only fine-tuned when you run the training script. The features from the previous layers are extracted and the fed into layer 23.

Sorry Manjeera, maybe I have been unclear! Now I understand what epoch means.
My idea of fine tuning is that I can froze some layers of the network, preserving their weights (pretrained weights in the config.json file?) and then training new layers or retraining some layers.
When I run the train script, I expect that the input goes through all convnet in order to update only the new layer weights, but I see that there are around 50000 parameters, and so I think that the whole network is retrained. What are their goal? What am I missing? How can I check if weights are changed?
Anyway, thank you very much for your time and patience!
Best regards :)

Your idea of fine tuning is correct. Did you check the #paramenters through model.summary(). ?
The goal is supposedly to retrain only the final layer of the network for a new dataset.
You can get layer weights using get_weights(). And then compare.

thank you! Sorry, but I have other dubts and questions :(
I have seen the parameters and I think that they are too many, but probably I'm wrong!
My dubt is that if I want to train only the layer 23, I should have less trainable parameters.
Furthermore, I have understood that if I want to froze some layers of a NN, I should use their flag "trainable" and pone it to "FALSE". I didn't see any piece of code that emulates this procedure.
Can you help me to understand what is their meaningful?
For example
Total params: 50,578,686 Trainable params: 50,558,014 Non-trainable params: 20,672
Furthermore, the output of summary function is subdivided into layer, output shape, param and connected layer.
`Layer (type)                    Output Shape         Param #     Connected to
input_1 (InputLayer)            (None, 416, 416, 3)  0

model_1 (Model)                 (None, 13, 13, 1024) 50547936    input_1[0][0]

DetectionLayer (Conv2D)         (None, 13, 13, 30)   30750       model_1[1][0]

reshape_1 (Reshape)             (None, 13, 13, 5, 6) 0           DetectionLayer[0][0]

input_2 (InputLayer)            (None, 1, 1, 1, 10,  0

lambda_2 (Lambda)               (None, 13, 13, 5, 6) 0           reshape_1[0][0]
input_2[0][0]
===============================================================================`
Is model_1 the set of layers? for example, in full yolo the model is composed by 22 layers?
What is the difference between input_1 and input_2? what is the lambda2 layer?
(None, 13, 13, 5, 6)
What are these parameters? There is one more respect to the previous...

try to freeze the layers after this line doing something like:
for layer in self.model.layers:
    layer.trainable=False

model_1 is your backend defined here
the diference between inputs is that one is your image and another is the ground truth boxes, this special input is used in the custom_loss, and it is used just in the training, for inference this input is a dummy input
the lambda function is a way to put this special input inside the model, and make it acessible by the custom_loss function, I'm not sure about that, you can verify it comparing the outputs between the lambda layer and the reshape layer, it should be the same results.
if you have some doubt how to do that, check this link
 (None, 13, 13, 5, 6) is (batch,grid_h,grid_x,anchors,predictions bboxes + classification)

thank you rodrigo!
I have tried to set the trainable flag to false how you suggest me and I see that now the number of trainable parameters is how I expect.
Anyway, can you give me an help to understand the output of the train script?
In particular, I don't understand when the output about loss function is printed... after each layer?
Furthermore, can you help me to understand some parameters of config.json file?
In particular: learning rate, object_scale, no_object_scale, coord_scale, class_scale and debug
what is the difference between epoch and warm up epoch?
Thank you for your time!
Best regards!

for sure, I can,

In particular, I don't understand when the output about loss function is printed... after each layer?

Are you talking about this line?

the loss is updated after each batch
learning rate: it is the learning rate from the optimizer
this repository are using Adam
from readme.md you can read this:

    "object_scale":         5.0 ,           # determine how much to penalize wrong prediction of confidence of object predictors
    "no_object_scale":      1.0,            # determine how much to penalize wrong prediction of confidence of non-object predictors
    "coord_scale":          1.0,            # determine how much to penalize wrong position and size predictions (x, y, w, h)
    "class_scale":          1.0,            # determine how much to penalize wrong class prediction

what is the difference between epoch and warm up epoch?

I don't much about it, but again, in the readme.md says:

    "warmup_epochs":        3,              # the number of initial epochs during which the sizes of the 5 boxes in each cell is forced to match the sizes of the 5 anchors, this trick seems to improve precision emperically

but take care with these warmup_epochs, too many on small datasets causes bad results

Thank you rodrigo!
Sorry, but I don't have the same your output :(
During each epoch I see this output repeatedly:

Loss XY 	[0.0914146677]
Loss WH 	[3.45645452]
Loss Conf 	[0.00183097296]
Loss Class 	[0]
Total Loss 	[3.54970026]
Current Recall 	[0]
Average Recall 	[0]

I have understood that these values are relative to loss function, but when are computed? after a layer?
At the end of each epoch, I see this ouput:

-5121s - loss: 10.0037 - val_loss: 10.0030
Epoch 00002: val_loss improved from 10.00391 to 10.00304, saving model to pathFile

What is the difference between loss and val_loss?

Ah, I got it, it is because you are with debug option activated. In config.json, change the debug value to false, and you will get a clean view of training.
theseoutputs that you are seening is from here in the custom loss function

I have understood that these values are relative to loss function, but when are computed? after a layer?

after each batch

What is the difference between loss and val_loss?

loss is the loss in yout training dataset and val_loss is your loss in the validation dataset

Furthermore, I have some dubts about the number of layers:

I didn't understand your question, could you provide the whole code?
model_1 is your backbone model, it can be any kind of network, for default the backbone is Full Yolo, you can set another backbend in config.json, also  this PR #281 , you can set a custom network as backend

Hi @mohamedabdallah1996
First of all tiny_yolo_backend is the weights for the backend, You do not need to set this files in the config.json, the code will automatically look for this file when loads the backend.
tiny_yolo_raccon.h5 will not work, because this is the weights for the whole model, it include the weights for the last convolution that is the detection layer, this means it will just work if your model has the same amount of classe, but you don't have, raccon has 1 class and your problem has 32. So you must leave the pre trained weights field in blank, you are not going to train from scratch, because the model will load the back weights automatically.
Which backend will should choose? It depends what is important to you, speed? precision? How diversified is your dataset? how muany samples do you have? YOu need to consider all this factors
In my opnion you must test many models and compare the results.
about the nans values, looking your config.json looks you generated your owns anchors , and some anchors has value 0, this values probabily was rounded by precision. Try to exclude this anchors. And with such small anchors looks your dataset has small dimensions too, if your dataset has too much small dimension, you must train in a biggerscale, or change the backend in order to get a bigger grid, but in this case you will need train from scratch

Hi Rodrigo!
I'm interested in the Full Yolo model.
In the paper yolo9000, the authors wrote that the final model, Darknet 19, is composed by 19 convolutional layers and 5 max pooling layers (24 layers).
Instead the author of this implementation put 22 convolutional layer and 1 max pooling layer.
This is my dubt. I think that something escapes me.
Another question is about the pretrained weight... I try to use the full_yolo_backend version and not the raccon version, because I'm interested on the original model.
When I load the raccon version, all work fine.
When I load the backend version, I have this problem:

ValueError: You are trying to load a weight file containing 44 layers into a model with 2 layers.

Can you help me to understand how to solve these problems?
thank you very much!

here is the cfg file from original yolo, and here is the yolo from this implementation,  if you compare both, you will realize that in this implemantations is missing one conv layer, this missing conv layer is here.
in this jupyter tutorial, @experiencor uses a tools that converts the weights from original yolo, to the keras version.
About the pre trained weights, read my answer to mohamed before your comment

Thank you very much!
In your previous answer to mohamed, you suggest him to modify the object scale in case of small images in the dataset. I have small images and smaller bounding boxes, in order to change the scale I have to modify "object_scale" and "coord_scale" in config.json?
I have another question: what means each value of the anchors array? In the paper they speak that the network predicts 5 bounding boxes for each cell of the feature map and then predicts 5 coordinates for each bounding box (tx, ty, tw, th, to). I see 10 elements in the result array, what are they?

you got six layers because inside this model has another model that has almost all layers:

Why your summary has different names than mine? Because I changed it in my fork
in model.layers[1] in this image has a Sequential model that is the backend, to check this model you can try model.layers[1].summary() or model.layers[1].layers to check the amount of layers

In your previous answer to mohamed, you suggest him to modify the object scale in case of small images in the dataset. I have small images and smaller bounding boxes, in order to change the scale I have to modify "object_scale" and "coord_scale" in config.json?

from readme.md:

"object_scale":         5.0 ,           # determine how much to penalize wrong prediction of confidence of object predictors
"no_object_scale":      1.0,            # determine how much to penalize wrong prediction of confidence of non-object predictors
"coord_scale":          1.0,            # determine how much to penalize wrong position and size predictions (x, y, w, h)
"class_scale":          1.0,            # determine how much to penalize wrong class prediction

I see 10 elements in the result array, what are they?

that is the values for w and h to each anchor, so if you have 10 values, actually you have 5 anchors
take a look here for a good explanation about these anchors

ooooh thank you! _
For the last question, do you know other sources where I can analyze the evaluation methods in the machine learning? I would like to know what is the best result for the mAP value, how I can evaluate it and if there is another kind of evaluation.
Sorry for my inexperience. I'm self-taught in the machine learning field.
thank you in advance

I dont know, sorry. what I learned was reading papers such as faster rcnn, retinanet, yolo, ssd, etc

@rodrigo2019 & @frasab & @mohamedabdallah1996. Thank you for the conversion. It has cleared many of my doubts. I have the small question regarding the training from scratch.

"As you mention @mohamedabdallah1996
if your images from your dataset has too much small dimension, you must train in a bigger scale, or change the backend in order to get a bigger grid, but in this case you will need train from scratch."

Could you please guide me what parameter should I change in order to train smaller object like 'Polythene or Pendrive' from scratch.


Failure creating a migration with MSSQL: Introducing FOREIGN KEY constraint '...' on table '...' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.

Bug description
I attempted to use Prisma Migrate (2.17.0) to create a migration from the Prisma schema below and got the following error:
Error: Database error: Error querying the database: 'Introducing FOREIGN KEY constraint 'FK__Comment__postId' on table 'Comment' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.' on server 46f430d4d1fc executing  on line 57 (code: 1785, state: 0, class: 16)
   0: migration_core::api::ApplyMigrations
             at migration-engine/core/src/api.rs:51

It seems that the combination of defaulting to cascading deletes and a circular relation (between User : Post : Comment : User) causes the SQL to be invalid.
How to reproduce

Create the Prisma schema
Run npx prisma migrate dev --preview-feature to generate and apply the migration

This is where the error shows up.
I was able to resolve this by updating the FK__Comment__postId constraint in the migration SQ.
-- CreateTable
CREATE TABLE [dbo].[User] (
    [id] INT NOT NULL IDENTITY(1,1),
    [createdAt] DATETIME2 NOT NULL CONSTRAINT [DF__User__createdAt] DEFAULT CURRENT_TIMESTAMP,
    [email] NVARCHAR(1000) NOT NULL,
    [name] NVARCHAR(1000),
    CONSTRAINT [PK__User__id] PRIMARY KEY ([id]),
    CONSTRAINT [User_email_unique] UNIQUE ([email])
);

-- CreateTable
CREATE TABLE [dbo].[Post] (
    [id] INT NOT NULL IDENTITY(1,1),
    [createdAt] DATETIME2 NOT NULL CONSTRAINT [DF__Post__createdAt] DEFAULT CURRENT_TIMESTAMP,
    [title] NVARCHAR(1000) NOT NULL,
    [content] NVARCHAR(1000),
    [published] BIT NOT NULL CONSTRAINT [DF__Post__published] DEFAULT 0,
    [authorId] INT NOT NULL,
    CONSTRAINT [PK__Post__id] PRIMARY KEY ([id])
);

-- CreateTable
CREATE TABLE [dbo].[Comment] (
    [id] INT NOT NULL IDENTITY(1,1),
    [createdAt] DATETIME2 NOT NULL CONSTRAINT [DF__Comment__createdAt] DEFAULT CURRENT_TIMESTAMP,
    [comment] NVARCHAR(1000) NOT NULL,
    [writtenById] INT NOT NULL,
    [postId] INT NOT NULL,
    CONSTRAINT [PK__Comment__id] PRIMARY KEY ([id])
);

-- CreateTable
CREATE TABLE [dbo].[Tag] (
    [id] INT NOT NULL IDENTITY(1,1),
    [tag] NVARCHAR(1000) NOT NULL,
    CONSTRAINT [PK__Tag__id] PRIMARY KEY ([id]),
    CONSTRAINT [Tag_tag_unique] UNIQUE ([tag])
);

-- CreateTable
CREATE TABLE [dbo].[_TagToPost] (
    [A] INT NOT NULL,
    [B] INT NOT NULL,
    CONSTRAINT [_TagToPost_AB_unique] UNIQUE ([A],[B])
);

-- CreateIndex
CREATE INDEX [_TagToPost_B_index] ON [dbo].[_TagToPost]([B]);

-- AddForeignKey
ALTER TABLE [dbo].[Post] ADD CONSTRAINT [FK__Post__authorId] FOREIGN KEY ([authorId]) REFERENCES [dbo].[User]([id]) ON DELETE CASCADE ON UPDATE CASCADE;

-- AddForeignKey
ALTER TABLE [dbo].[Comment] ADD CONSTRAINT [FK__Comment__writtenById] FOREIGN KEY ([writtenById]) REFERENCES [dbo].[User]([id]) ON DELETE CASCADE ON UPDATE CASCADE;

-- AddForeignKey
-- I changed this one from "ON DELETE CASCADE ON UPDATE CASCADE" to "ON DELETE NO ACTION ON UPDATE NO ACTION" which resolved it
ALTER TABLE [dbo].[Comment] ADD CONSTRAINT [FK__Comment__postId] FOREIGN KEY ([postId]) REFERENCES [dbo].[Post]([id]) ON DELETE NO ACTION ON UPDATE NO ACTION;

-- AddForeignKey
ALTER TABLE [dbo].[_TagToPost] ADD CONSTRAINT [FK___TagToPost__A] FOREIGN KEY ([A]) REFERENCES [dbo].[Post]([id]) ON DELETE CASCADE ON UPDATE CASCADE;

-- AddForeignKey
ALTER TABLE [dbo].[_TagToPost] ADD CONSTRAINT [FK___TagToPost__B] FOREIGN KEY ([B]) REFERENCES [dbo].[Tag]([id]) ON DELETE CASCADE ON UPDATE CASCADE;

Expected behavior
It should generate an executable migration.
Prisma information
Prisma schema:
generator client {
  provider        = "prisma-client-js"
  previewFeatures = ["microsoftSqlServer"]
}

datasource db {
  provider = "sqlserver"
  url      = env("DATABASE_URL")
}

model User {
  id        Int       @id @default(autoincrement())
  createdAt DateTime  @default(now())
  email     String    @unique
  name      String?
  comments  Comment[]
  posts     Post[]
}

model Post {
  id        Int       @id @default(autoincrement())
  createdAt DateTime  @default(now())
  title     String
  content   String?
  published Boolean   @default(false)
  authorId  Int
  author    User      @relation(fields: [authorId], references: [id])
  comments  Comment[]
  tags      Tag[]     @relation("TagToPost")
}

model Comment {
  id          Int      @id @default(autoincrement())
  createdAt   DateTime @default(now())
  comment     String
  writtenById Int
  postId      Int
  writtenBy   User     @relation(fields: [writtenById], references: [id])
  post        Post     @relation(fields: [postId], references: [id])
}

model Tag {
  id    Int    @id @default(autoincrement())
  tag   String @unique
  posts Post[] @relation("TagToPost")
}

Environment & setup

OS: Mac OS
Database: Microsoft SQL Server (Docker image: mcr.microsoft.com/mssql/server:2019-latest)
Node.js version: v14.15.0
Prisma version:

➜  sql-server git:(latest) npx prisma version
Environment variables loaded from prisma/.env
prisma               : 2.17.0
@prisma/client       : 2.17.0
Current platform     : darwin
Query Engine         : query-engine 3c463ebd78b1d21d8fdacdd27899e280cf686223 (at node_modules/prisma/node_modules/@prisma/engines/query-engine-darwin)
Migration Engine     : migration-engine-cli 3c463ebd78b1d21d8fdacdd27899e280cf686223 (at node_modules/prisma/node_modules/@prisma/engines/migration-engine-darwin)
Introspection Engine : introspection-core 3c463ebd78b1d21d8fdacdd27899e280cf686223 (at node_modules/prisma/node_modules/@prisma/engines/introspection-engine-darwin)
Format Binary        : prisma-fmt 3c463ebd78b1d21d8fdacdd27899e280cf686223 (at node_modules/prisma/node_modules/@prisma/engines/prisma-fmt-darwin)
Studio               : 0.353.0
Preview Features     : microsoftSqlServer

This still reproducible in 2.21.0-dev.38

+1

This is going to be solved with the PR https://github.com/prisma/prisma-engines/pull/1947
What this means for this problem is, if getting an error from a cascade loops, you can manually define the onDelete and onUpdate rules in the relation to not cascade.

This has now been released as a preview feature behind a preview feature flag. You can read about it in the release notes for 2.26.0: https://github.com/prisma/prisma/releases/tag/2.26.0 If you have any feedback, please use this issue: https://github.com/prisma/prisma/issues/7816

This should now work with the referentialActions preview feature enabled. We should confirm this is the case.

Let's say this a bit differently: if getting this error, we have now tools to replace the Cascade with some other action.

Upgrading to 2.26.0 and activating the referentialActions preview feature changes the default on these relations/foreign keys from ON DELETE CASCADE to ON DELETE NO ACTION. Unfortunately this is not enough to solve the problem:
The initial schema:
datasource db {
  provider = "sqlserver"
  url      = env("DATABASE_URL")
}

generator client {
  provider = "prisma-client-js"
  previewFeatures = ["microsoftSqlServer", "referentialActions"]
}

model User {
  id        Int       @id @default(autoincrement())
  createdAt DateTime  @default(now())
  email     String    @unique
  name      String?
  comments  Comment[]
  posts     Post[]
}

model Post {
  id        Int       @id @default(autoincrement())
  createdAt DateTime  @default(now())
  title     String
  content   String?
  published Boolean   @default(false)
  authorId  Int
  author    User      @relation(fields: [authorId], references: [id])
  comments  Comment[]
  tags      Tag[]     @relation("TagToPost")
}

model Comment {
  id          Int      @id @default(autoincrement())
  createdAt   DateTime @default(now())
  comment     String
  writtenById Int
  postId      Int
  writtenBy   User     @relation(fields: [writtenById], references: [id])
  post        Post     @relation(fields: [postId], references: [id])
}

model Tag {
  id    Int    @id @default(autoincrement())
  tag   String @unique
  posts Post[] @relation("TagToPost")
}

Leads to this migration with migrate dev --create-only:
-- CreateTable
CREATE TABLE [dbo].[User] (
    [id] INT NOT NULL IDENTITY(1,1),
    [createdAt] DATETIME2 NOT NULL CONSTRAINT [DF__User__createdAt] DEFAULT CURRENT_TIMESTAMP,
    [email] NVARCHAR(1000) NOT NULL,
    [name] NVARCHAR(1000),
    CONSTRAINT [PK__User__id] PRIMARY KEY ([id]),
    CONSTRAINT [User_email_unique] UNIQUE ([email])
);

-- CreateTable
CREATE TABLE [dbo].[Post] (
    [id] INT NOT NULL IDENTITY(1,1),
    [createdAt] DATETIME2 NOT NULL CONSTRAINT [DF__Post__createdAt] DEFAULT CURRENT_TIMESTAMP,
    [title] NVARCHAR(1000) NOT NULL,
    [content] NVARCHAR(1000),
    [published] BIT NOT NULL CONSTRAINT [DF__Post__published] DEFAULT 0,
    [authorId] INT NOT NULL,
    CONSTRAINT [PK__Post__id] PRIMARY KEY ([id])
);

-- CreateTable
CREATE TABLE [dbo].[Comment] (
    [id] INT NOT NULL IDENTITY(1,1),
    [createdAt] DATETIME2 NOT NULL CONSTRAINT [DF__Comment__createdAt] DEFAULT CURRENT_TIMESTAMP,
    [comment] NVARCHAR(1000) NOT NULL,
    [writtenById] INT NOT NULL,
    [postId] INT NOT NULL,
    CONSTRAINT [PK__Comment__id] PRIMARY KEY ([id])
);

-- CreateTable
CREATE TABLE [dbo].[Tag] (
    [id] INT NOT NULL IDENTITY(1,1),
    [tag] NVARCHAR(1000) NOT NULL,
    CONSTRAINT [PK__Tag__id] PRIMARY KEY ([id]),
    CONSTRAINT [Tag_tag_unique] UNIQUE ([tag])
);

-- CreateTable
CREATE TABLE [dbo].[_TagToPost] (
    [A] INT NOT NULL,
    [B] INT NOT NULL,
    CONSTRAINT [_TagToPost_AB_unique] UNIQUE ([A],[B])
);

-- CreateIndex
CREATE INDEX [_TagToPost_B_index] ON [dbo].[_TagToPost]([B]);

-- AddForeignKey
ALTER TABLE [dbo].[Post] ADD CONSTRAINT [FK__Post__authorId] FOREIGN KEY ([authorId]) REFERENCES [dbo].[User]([id]) ON DELETE NO ACTION ON UPDATE CASCADE;

-- AddForeignKey
ALTER TABLE [dbo].[Comment] ADD CONSTRAINT [FK__Comment__writtenById] FOREIGN KEY ([writtenById]) REFERENCES [dbo].[User]([id]) ON DELETE NO ACTION ON UPDATE CASCADE;

-- AddForeignKey
ALTER TABLE [dbo].[Comment] ADD CONSTRAINT [FK__Comment__postId] FOREIGN KEY ([postId]) REFERENCES [dbo].[Post]([id]) ON DELETE NO ACTION ON UPDATE CASCADE;

-- AddForeignKey
ALTER TABLE [dbo].[_TagToPost] ADD CONSTRAINT [FK___TagToPost__A] FOREIGN KEY ([A]) REFERENCES [dbo].[Post]([id]) ON DELETE CASCADE ON UPDATE CASCADE;

-- AddForeignKey
ALTER TABLE [dbo].[_TagToPost] ADD CONSTRAINT [FK___TagToPost__B] FOREIGN KEY ([B]) REFERENCES [dbo].[Tag]([id]) ON DELETE CASCADE ON UPDATE CASCADE;

Deploying that with migrate dev still leads to this error message:
C:\Users\Jan\Documents\throwaway\sqlServerCycles>npx prisma migrate dev
Environment variables loaded from .env
Prisma schema loaded from prisma\schema.prisma
Datasource "db" - SQL Server

Error: P3006

Migration `20210704124210_init` failed to apply cleanly to the shadow database.
Error:
Database error
Error querying the database: 'Introducing FOREIGN KEY constraint 'FK__Comment__postId' on table 'Comment' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.' on server EC2AMAZ-HEFESC9 executing
on line 57 (code: 1785, state: 0, class: 16)
   0: sql_migration_connector::validate_migrations
             at migration-engine\connectors\sql-migration-connector\src\lib.rs:322
   1: migration_core::api::DevDiagnostic
             at migration-engine\core\src\api.rs:89

or migrate deploy:
C:\Users\Jan\Documents\throwaway\sqlServerCycles>npx prisma migrate deploy
Environment variables loaded from .env
Prisma schema loaded from prisma\schema.prisma
Datasource "db" - SQL Server

1 migration found in prisma/migrations
Error: P3018

A migration failed to apply. New migrations can not be applied before the error is recovered from. Read more about how to resolve migration issues in a production database: https://pris.ly/d/migrate-resolve

Migration name:<PHONE_NUMBER>4210_init

Database error code: 1785

Database error:
Introducing FOREIGN KEY constraint 'FK__Comment__postId' on table 'Comment' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.

When you then add a onUpdate: NoAction to the correct relation in the schema (where the CLI output does not really help you to figure that out without a lot of SQL knowledge) like this:
datasource db {
  provider = "sqlserver"
  url      = env("DATABASE_URL")
}

generator client {
  provider = "prisma-client-js"
  previewFeatures = ["microsoftSqlServer", "referentialActions"]
}

model User {
  id        Int       @id @default(autoincrement())
  createdAt DateTime  @default(now())
  email     String    @unique
  name      String?
  comments  Comment[]
  posts     Post[]
}

model Post {
  id        Int       @id @default(autoincrement())
  createdAt DateTime  @default(now())
  title     String
  content   String?
  published Boolean   @default(false)
  authorId  Int
  author    User      @relation(fields: [authorId], references: [id])
  comments  Comment[]
  tags      Tag[]     @relation("TagToPost")
}

model Comment {
  id          Int      @id @default(autoincrement())
  createdAt   DateTime @default(now())
  comment     String
  writtenById Int
  postId      Int
  writtenBy   User     @relation(fields: [writtenById], references: [id])
  post        Post     @relation(fields: [postId], references: [id], onUpdate: NoAction)
}

model Tag {
  id    Int    @id @default(autoincrement())
  tag   String @unique
  posts Post[] @relation("TagToPost")
}

-   post        Post     @relation(fields: [postId], references: [id])
+   post        Post     @relation(fields: [postId], references: [id], onUpdate: NoAction)

Will give you this SQL now with:
-- CreateTable
CREATE TABLE [dbo].[User] (
    [id] INT NOT NULL IDENTITY(1,1),
    [createdAt] DATETIME2 NOT NULL CONSTRAINT [DF__User__createdAt] DEFAULT CURRENT_TIMESTAMP,
    [email] NVARCHAR(1000) NOT NULL,
    [name] NVARCHAR(1000),
    CONSTRAINT [PK__User__id] PRIMARY KEY ([id]),
    CONSTRAINT [User_email_unique] UNIQUE ([email])
);

-- CreateTable
CREATE TABLE [dbo].[Post] (
    [id] INT NOT NULL IDENTITY(1,1),
    [createdAt] DATETIME2 NOT NULL CONSTRAINT [DF__Post__createdAt] DEFAULT CURRENT_TIMESTAMP,
    [title] NVARCHAR(1000) NOT NULL,
    [content] NVARCHAR(1000),
    [published] BIT NOT NULL CONSTRAINT [DF__Post__published] DEFAULT 0,
    [authorId] INT NOT NULL,
    CONSTRAINT [PK__Post__id] PRIMARY KEY ([id])
);

-- CreateTable
CREATE TABLE [dbo].[Comment] (
    [id] INT NOT NULL IDENTITY(1,1),
    [createdAt] DATETIME2 NOT NULL CONSTRAINT [DF__Comment__createdAt] DEFAULT CURRENT_TIMESTAMP,
    [comment] NVARCHAR(1000) NOT NULL,
    [writtenById] INT NOT NULL,
    [postId] INT NOT NULL,
    CONSTRAINT [PK__Comment__id] PRIMARY KEY ([id])
);

-- CreateTable
CREATE TABLE [dbo].[Tag] (
    [id] INT NOT NULL IDENTITY(1,1),
    [tag] NVARCHAR(1000) NOT NULL,
    CONSTRAINT [PK__Tag__id] PRIMARY KEY ([id]),
    CONSTRAINT [Tag_tag_unique] UNIQUE ([tag])
);

-- CreateTable
CREATE TABLE [dbo].[_TagToPost] (
    [A] INT NOT NULL,
    [B] INT NOT NULL,
    CONSTRAINT [_TagToPost_AB_unique] UNIQUE ([A],[B])
);

-- CreateIndex
CREATE INDEX [_TagToPost_B_index] ON [dbo].[_TagToPost]([B]);

-- AddForeignKey
ALTER TABLE [dbo].[Post] ADD CONSTRAINT [FK__Post__authorId] FOREIGN KEY ([authorId]) REFERENCES [dbo].[User]([id]) ON DELETE NO ACTION ON UPDATE CASCADE;

-- AddForeignKey
ALTER TABLE [dbo].[Comment] ADD CONSTRAINT [FK__Comment__writtenById] FOREIGN KEY ([writtenById]) REFERENCES [dbo].[User]([id]) ON DELETE NO ACTION ON UPDATE CASCADE;

-- AddForeignKey
ALTER TABLE [dbo].[Comment] ADD CONSTRAINT [FK__Comment__postId] FOREIGN KEY ([postId]) REFERENCES [dbo].[Post]([id]) ON DELETE NO ACTION ON UPDATE NO ACTION;

-- AddForeignKey
ALTER TABLE [dbo].[_TagToPost] ADD CONSTRAINT [FK___TagToPost__A] FOREIGN KEY ([A]) REFERENCES [dbo].[Post]([id]) ON DELETE CASCADE ON UPDATE CASCADE;

-- AddForeignKey
ALTER TABLE [dbo].[_TagToPost] ADD CONSTRAINT [FK___TagToPost__B] FOREIGN KEY ([B]) REFERENCES [dbo].[Tag]([id]) ON DELETE CASCADE ON UPDATE CASCADE;

- ALTER TABLE [dbo].[Comment] ADD CONSTRAINT [FK__Comment__postId] FOREIGN KEY ([postId]) REFERENCES [dbo].[Post]([id]) ON DELETE NO ACTION ON UPDATE CASCADE;
+ ALTER TABLE [dbo].[Comment] ADD CONSTRAINT [FK__Comment__postId] FOREIGN KEY ([postId]) REFERENCES [dbo].[Post]([id]) ON DELETE NO ACTION ON UPDATE NO ACTION;

You can successfully migrate the schema:
C:\Users\Jan\Documents\throwaway\sqlServerCycles>npx prisma migrate dev
Environment variables loaded from .env
Prisma schema loaded from prisma\schema.prisma
Datasource "db" - SQL Server

The following migration(s) have been applied:

migrations/
  └─<PHONE_NUMBER>4950_init/
    └─ migration.sql

Your database is now in sync with your schema.

✔ Generated Prisma Client (2.26.0) to .\node_modules\@prisma\client in 1.07s

While there is now a manual way to fix this, I don't think this is enough to close this issue yet. We now have the tools to build a real solution, but will have to figure out what that looks like. (ideas: schema validation, better error message)

Recap of an internal discussion about this:
We have 3 options:

We don't do anything about these right now
We try to parse the error and turn it into a Prisma relevant error that tells you where you need to update the referential action in the schema (table name + FK name => model + relation field)
We implement detection of cycles in our schema validation as well and prevent migration of the schema (https://github.com/prisma/prisma/issues/4580)

Discussion of these options:

1 has the problem that the database unfortunately is in a pretty ugly state after trying to run the migration - all the table creations or changes are already done, but then the foreign key creation or update fails and the migration ends. You have to clean that up yourself, before you can update the schema file to include the required changes and create a new migration to apply
2 only improves the situation of 1 by making the "update the schema file to include the required changes" a bit, and we could possibly give some instruction how to clean up after yourself
3 is pretty complicated and takes a lot of effort, but would really solve this problem once and for all as a user could not run a migration with a schema in that state and would be protected against the mess and the error message.

Additional information:

Options 1 and 2 could become a lot nice, if we decide to wrap the SQL Server migrations into a transaction as suggested in https://github.com/prisma/prisma/issues/7641 - this would make them more viable as an acceptable user experience.

We are doing it the right way and will add detection of cyclic referential actions via: https://github.com/prisma/prisma/issues/4580
The question if we wrap migrations in transactions is handled separately: https://github.com/prisma/prisma/issues/7641


Bad use of _.rest in src/model.morphTo

Hi,
I was trying to find out why my polymorphic association won't work, and analyzing / debugging the bookshelf source code I figured out that the line below doesn't seem to serve the expected behavior.
morphTo(morphName) {
    if (!_.isString(morphName)) throw new Error('The `morphTo` name must be specified.');
    let columnNames, candidates;
    if (_.isArray(arguments[1])) {
      columnNames = arguments[1];
      candidates = _.rest(arguments, 2);
    } else {
      columnNames = null;
      candidates = _.rest(arguments);
    }
    return this._relation('morphTo', null, {morphName, columnNames, candidates}).init(this);
  }

The _.rest(arguments, 2); should be _.drop(arguments, 2);
_.rest doesn't care about a second argument

@thomasdelobel Good catch. Could you provide a PR?

To be coherent with the next versions of lodash, _.rest should be banned to use instead _.drop which do by default what the _.rest was expected for.
Yes, PR in progress :)

@thomasdelobel that code could probably be rewritten pretty trivially without using drop or rest and using normal named arguments instead.

eg:
morphTo(morphName, ...candidates) {
  candidates = _.flatten(candidates);
 // ...
}

Wow and flat your columnNames ?
It could be done in part this way, but in the case where "columnNames" is defined, "candidates" must be .shift() of _.drop(candidates) to remove the columnNames (arguments[1]) and keep only the Candidates

Oops, I misread the code. You're right.

Resolved by https://github.com/tgriesser/bookshelf/commit/cecfa8e17a4a8d03c80ddc7834ef6157b372be89


Fix nested query in case "bool" with single "must" given

Fixes #32
This PR deprecates BoolQuery::isRelevant() because it complicates everything. Too many places uses that complicated logic. Idea is "keep things simple, use single (full) query structure".
After these changes queries with single must bool will look like this:
{"bool":{"must":[{"match_all":[]}]}}

Instead of this:
{"match_all":[]}

Both ways are valid and equal. This does not influence results returned by Elasticsearch.
In the future we could simplify structure again, BUT only if we could do that in BoolQuery itself. That would be a BC break. I think each query class itself should return full array ([type=>data_array]).
Please merge this only after #48 is merged.

Merged, but IMO we need few more test cases with different queries inside for this issue.


_inWriteTransaction should be set to YES before triggering notificaions in beginWriteTransaction

Currently this is not the case, and calling beginWriteTranaction in a notification causes an assert rather than an exception.

@alazier any issue you can point to where that assertion is being hit?

A user hit this. Repro steps:

Perform a write transaction in a backround thread and wait for completion on main thread
Begin write transaction on main thread
In notification block (which is fired from beginWriteTransaction) call beginWriteTransaction
Instead of getting the 'transaction in progress' exception, we instead get an assertion. I'm happy to make the fix/write the test for this one.


Hello Arman sir, I found a update in the readme on line 10. You change your repo. name from main to master but i guess forget to change it on readme.

for these small small changes you can create an issue and make a pr directly and from next time issue name should be what you are fixing okk not hello sir and all


java heap space

I use jsoup for parsing html and get java heap space error with this code. my heap space is 8G.
I think you can improve memory usage for this kind of documents.
version jsoup 1.8.2.
Document document .....
String htmlContent = document.html();
java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2367)
at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:130)
at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:114)
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:415)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at org.jsoup.nodes.Node.indent(Node.java:581)
at org.jsoup.nodes.Element.outerHtmlHead(Element.java:1122)
at org.jsoup.nodes.Node$OuterHtmlVisitor.head(Node.java:679)
at org.jsoup.select.NodeTraversor.traverse(NodeTraversor.java:31)
at org.jsoup.nodes.Node.outerHtml(Node.java:559)
at org.jsoup.nodes.Element.html(Element.java:1164)
at org.jsoup.nodes.Element.html(Element.java:1158)
I attached file.
lawdotic.html.zip

Hi,
I think it can't be considered as a bug since your HTML file is a non-sens ;) (a ton of DL openings, then another ton of DL endings, seriously... ^^).
Sincerely,

this HTML is real world document. you can see document from this link :
http://law.dotic.ir/AIPLaw/lawview.do?sectionId=1661296&reqCode=lawView&lawId=102596&stateNo=0&allNode=1&lawViewLST.param.withInterpretation=true&requestedSectionId=1661296
this source file is about 500KB. How is can consume 8GB heap space.
document has 80000 line and if each node use 4 byte for pointer, it use 32 KB ram for DOM tree.

The Java model can't use 4 bytes only to store a single node, there's plenty of data to store in order to maintain business logic.
I guess that an optimization (to handle insane DOM trees) would introduce complex changes in the org.jsoup.nodes.Node class.
Maybe you could consider using an alternative, like PhantomJS or SlimerJS. They're able to handle your file.

(That doc crashed Chrome on my 8GB Mac Pro, btw)
You're running out of memory during HTML serialization. That just simply appends to a StringBuilder. The doc isn't using 8GB of heap, but you're running out of memory creating an array large enough to hold the output.
It's possible you'd have enough if you allocated a string builder large enough to handle the full output directly (because it avoids the array recreations for expansion).
There's possibilities to reduce the size of the Node / Element objects, but it's never going to be 4 bytes.
Will close this as not directly actionable.


Just one favicon shared by sphinx and R

Fix #1331

Confirmed that it works locally.

ok! Closing.


6/4 Publish

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

docs-ref-mapping/reference.yml
:white_check_mark:Succeeded

docs-ref-services/containerinstance.md
:white_check_mark:Succeeded

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


Question: Method to use Laravel Dusk

Hello.
I am trying to make use of Laravel Dusk and I am facing the following problem.
$ php artisan dusk
Laravel development server started: <http://<IP_ADDRESS>:8000>
Warning: TTY mode requires /dev/tty to be read/writable.
PHPUnit 7.1.5 by Sebastian Bergmann and contributors.

EEEEEEEEEEEEEEEEEEEEEEEEEEEE                                      28 / 28 (100%)

Time: 8.38 seconds, Memory: 16.00MB

There were 28 errors:

1) Tests\Browser\AdminPanel\AuthorityTest::testGuestLogin
Facebook\WebDriver\Exception\WebDriverCurlException: Curl error thrown for http POST to /session with params: {"desiredCapabilities":{"browserName":"chrome","platform":"ANY","chromeOptions":{"binary":"","args":["--disable-gpu","--headless"]}}}

I have installed Google Chrome in the machine and I don't know the exact solution to solve this error... Should I set .env.dusk.local instead of using the variables in the .gitlab-ci.yml? Or should I set the variables inside the YAML file? Hope I can get some suggestions in here.

hi @littpi did you solve this issue?

@edbizarro Not yet... I have just abandoned it for a while as I run the test through local but not the runner.
Do you have any methods to achieve this?

Just chiming in, I gave this a go and got it working (for the most part - see the bottom of the post..) with the following:
Based off https://gist.github.com/varyonic/dea40abcf3dd891d204ef235c6e8dd79
.gitlab-ci.yml:
variables:
  # Other variables...
  CHROMEDRIVER_VERSION: "2.19"
  CHROMEDRIVER_DIR: "/chromedriver"

test:
   # .. other config options
  before_script:
    # .. other install commands

    # Google Chrome / Chromedriver dependencies
    - sudo apt-get install unzip xvfb libxi6 libgconf-2-4 libnss3 wget -yqq

    # Install Google Chrome so Chromedriver works
    - wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
    - sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
    - sudo apt-get update -yqq
    - sudo apt-get install -y google-chrome-stable

    # Install Chromedriver
    - sudo mkdir $CHROMEDRIVER_DIR
    - sudo wget -q --continue -P $CHROMEDRIVER_DIR "http://chromedriver.storage.googleapis.com/$CHROMEDRIVER_VERSION/chromedriver_linux64.zip"
    - sudo unzip $CHROMEDRIVER_DIR/chromedriver* -d $CHROMEDRIVER_DIR
    - sudo chmod -R 777 $CHROMEDRIVER_DIR

  script:
    # .. Other commands, such as composer install etc

    # Start xvfb so that Chrome actually works..
    - sudo Xvfb -ac :0 -screen 0 1280x100000x16 &
    - $CHROMEDRIVER_DIR/chromedriver &
    # Note my .env file has the entry APP_URL=http://<IP_ADDRESS>:8000 so as to map dusk to artisan serve
    - php artisan serve &
    # Give things a few seconds to start (hence the sleep 5)
    - sleep 5 && php vendor/bin/phpunit -v --coverage-text --colors=never --stderr tests

Lastly, I still occasionally get the error Facebook\WebDriver\Exception\NoSuchDriverException: no such session, but am currently mitigating with the answers from https://github.com/laravel/dusk/issues/105. Specifically by adding sleep(5) at the start of my tests, and only having 1 test per file. Note that the sleep 5 command is also needed as part of the final sleep 5 && php vendor/bin/phpunit -v --coverage-text --colors=never --stderr tests above to make CI wait for chromedriver to start.

Sorry dude, I am so busy that I just read your reply now. I will try to test it again and give the feedback within a few days.

see https://github.com/edbizarro/gitlab-ci-pipeline-php/issues/48


workflows: update to use github hosted runner

all none Intel or hardware dependent jobs should all run in GitHub hosted runner
Signed-off-by: Hairong Chen<EMAIL_ADDRESS>

Should we make the commit message more specific?
For example,
all none Intel or hardware dependent jobs should all run in GitHub hosted runner => Change to Github hosted runner for container-check and license-python-check.


[Contribution] es_es update!

Hi! I'm really thankful to the last translator that updated the mod to my language, but frankly the mod was really outdated. Also there were lots of items, blocks, advancements, etc. that were not translated at all, so I have updated the json for (Spain) spanish users. Here you are!
es_es.txt
I would be glad to help in future releases if you like!

Something like this? I'm sorry, I don't have any notion of github, so if there's something wrong just tell me n_n
https://gist.github.com/kxkxrxtx/d8f5f8256775aada77ae6aaa67423f2c

It's perfect like that 👍!

Wow, loving the latest update! Finally on pair with latest But I was curious if there's some concerning about my contribution. Maybe I should post it first in the original mod? Anyway, here's the latest translation update, which now is fully updated to the original en_us.json
https://gist.github.com/kxkxrxtx/d9aa60c3562b8ee8f8374ef3da6be2dd

Like you said, I think that it's a good idea to post your modification in the original mod (forge version) issue tracker.
Because while I will update from the new version original mod, if for some reason there is changes in the spanish translation, I will just reuse the file from the original mod.
I can add your changes in the next release, but I recommand you to ask your changes in the original mod too, to ensure that your changes will not being lost in the futur ;).


[public report]: Challenge Submission Text Greater Than One Line is Not Wrapped

User Impacted
0xe95608B6a7f97bf5D076F0594EEe07e77b9781b7
Discord ID (including number)
PCWCFA#0438
Workflow Impacted
Brainstorm
Feature Impacted
Enter Submission
Issue description
Submission text > 1 line is not wrapped.

Blocking
no it is not
Relevant log output
No response

this is related to but different than: https://github.com/MetricsDAO/xyz/issues/346


namespace fix

Coverage remained the same at 93.351% when pulling a1119fbe3387302ce9b0127079f4b371b2d49cbd on fixing-small-namespace-issue into b1555aa6ac28cf7502817d985ce3f0e798899a99 on master.


[web] App does not start on Safari (flutter_svg/petitparser)

Bug
Our web app works on Chrome and Firefox just fine. However, on Safari it does not start. This bug impacts all users using the app on Safari.
Debug mode
In debug mode (flutter run -d chrome), then open the same port in Safari, and then show the JavaScript console in Safari produces the following result:
The page stays blank (white) and the following errors are logged to the JS console:

Logs
[Error] SyntaxError: Duplicate parameter 'char' not allowed in function with default parameter values.
	(anonymous function) (optional.dart.lib.js:376)
[Error] TypeError: undefined is not an object (evaluating 'packages__petitparser__src__parser__combinator__optional$46dart.src__parser__combinator__delegate')
	load__packages__petitparser__src__parser__action__cast_dart (cast.dart.lib.js:6:84)
	execCb (require.js:1696)
	check (require.js:883)
	enable (require.js:1176)
	init (require.js:788)
	callGetModule (require.js:1203)
	completeLoad (require.js:1590)
	onScriptLoad (require.js:1717)
[Error] TypeError: undefined is not an object (evaluating 'packages__petitparser__src__parser__combinator__optional$46dart.src__core__parser')
	load__packages__petitparser__src__parser__action__pick_dart (pick.dart.lib.js:6:82)
	execCb (require.js:1696)
	check (require.js:883)
	enable (require.js:1176)
	init (require.js:788)
	callGetModule (require.js:1203)
	completeLoad (require.js:1590)
	onScriptLoad (require.js:1717)
[Error] TypeError: undefined is not an object (evaluating 'packages__petitparser__src__parser__combinator__optional$46dart.src__parser__combinator__delegate')
	load__packages__petitparser__src__parser__action__flatten_dart (flatten.dart.lib.js:6:84)
	execCb (require.js:1696)
	check (require.js:883)
	enable (require.js:1176)
	init (require.js:788)
	callGetModule (require.js:1203)
	completeLoad (require.js:1590)
	onScriptLoad (require.js:1717)
[Error] TypeError: undefined is not an object (evaluating 'packages__petitparser__src__parser__combinator__optional$46dart.src__core__parser')
	load__packages__xml__src__xml__utils__character_data_parser_dart (character_data_parser.dart.lib.js:6:82)
	execCb (require.js:1696)
	check (require.js:883)
	enable (require.js:1176)
	init (require.js:788)
	callGetModule (require.js:1203)
	completeLoad (require.js:1590)
	onScriptLoad (require.js:1717)
[Error] TypeError: undefined is not an object (evaluating 'packages__petitparser__src__parser__combinator__optional$46dart.src__parser__repeater__possesive')
	load__packages__petitparser__src__parser__repeater__separated_by_dart (separated_by.dart.lib.js:7:85)
	execCb (require.js:1696)
	check (require.js:883)
	enable (require.js:1176)
	init (require.js:788)
	callGetModule (require.js:1203)
	completeLoad (require.js:1590)
	onScriptLoad (require.js:1717)
[Error] TypeError: undefined is not an object (evaluating 'packages__petitparser__src__parser__combinator__optional$46dart.src__core__parser')
	load__packages__petitparser__src__parser__misc__epsilon_dart (epsilon.dart.lib.js:6:82)
	execCb (require.js:1696)
	check (require.js:883)
	enable (require.js:1176)
	init (require.js:788)
	callGetModule (require.js:1203)
	completeLoad (require.js:1590)
	onScriptLoad (require.js:1717)
[Error] TypeError: undefined is not an object (evaluating 'packages__petitparser__src__parser__combinator__optional$46dart.src__core__parser')
	load__packages__petitparser__src__definition__reference_dart (reference.dart.lib.js:6:82)
	execCb (require.js:1696)
	check (require.js:883)
	enable (require.js:1176)
	init (require.js:788)
	callGetModule (require.js:1203)
	completeLoad (require.js:1590)
	onScriptLoad (require.js:1717)
[Error] TypeError: undefined is not an object (evaluating 'packages__petitparser__src__parser__combinator__optional$46dart.src__core__parser')
	load__packages__petitparser__src__parser__predicate__predicate_dart (predicate.dart.lib.js:6:82)
	execCb (require.js:1696)
	check (require.js:883)
	enable (require.js:1176)
	init (require.js:788)
	callGetModule (require.js:1203)
	completeLoad (require.js:1590)
	onScriptLoad (require.js:1717)
[Error] TypeError: undefined is not an object (evaluating 'packages__petitparser__src__parser__combinator__optional$46dart.src__core__parser')
	load__packages__petitparser__src__parser__repeater__limited_dart (limited.dart.lib.js:7:82)
	execCb (require.js:1696)
	check (require.js:883)
	enable (require.js:1176)
	init (require.js:788)
	callGetModule (require.js:1203)
	completeLoad (require.js:1590)
	onScriptLoad (require.js:1717)
[Error] TypeError: undefined is not an object (evaluating 'packages__petitparser__src__parser__combinator__optional$46dart.src__parser__character__parser')
	load__packages__petitparser__src__parser__character__whitespace_dart (whitespace.dart.lib.js:7:82)
	execCb (require.js:1696)
	check (require.js:883)
	(anonymous function) (require.js:1139)
	(anonymous function) (require.js:134)
	(anonymous function) (require.js:1189)
	each (require.js:59)
	emit (require.js:1188)
	check (require.js:938)
	enable (require.js:1176)
	init (require.js:788)
	callGetModule (require.js:1203)
	completeLoad (require.js:1590)
	onScriptLoad (require.js:1717)
[Error] TypeError: undefined is not an object (evaluating 'packages__petitparser__src__parser__combinator__optional$46dart.src__parser__character__parser')
	load__packages__petitparser__src__parser__character__range_dart (range.dart.lib.js:7:82)
	execCb (require.js:1696)
	check (require.js:883)
	(anonymous function) (require.js:1139)
	(anonymous function) (require.js:134)
	(anonymous function) (require.js:1189)
	each (require.js:59)
	emit (require.js:1188)
	check (require.js:938)
	enable (require.js:1176)
	init (require.js:788)
	callGetModule (require.js:1203)
	completeLoad (require.js:1590)
	onScriptLoad (require.js:1717)

Release mode
In release mode, the page does render a background gradient that we specify in Flutter, which means that Flutter does at least seem towork for an instance, however, nothing further happens, i.e. also no logs in the JS console.
Flutter versions
Flutter 1.22.0-12.1.pre • channel beta • https://github.com/flutter/flutter.git
Framework • revision 8b3760638a (6 days ago) • 2020-09-15 17:47:13 -0700
Engine • revision 4654fc6cf6
Tools • Dart 2.10.0 (build 2.10.0-110.3.beta)

Inferences
As Flutter seems to work in Safari in general (running e.g. the template app in Safari) and the initial background is rendered, I assume that this has to do with the initialization of a plugin.
The logs point at https://pub.dev/packages/petitparser.
flutter pub deps shows that the transitive dependency is caused by flutter_svg (which is used a lot).
-- flutter_svg 0.18.1
|   |-- ...
|   '-- xml 4.5.1
|       |-- ...
|       '-- petitparser 3.0.4

Conclusion
I think opening an issue here should still be helpful as this might be an issue with Flutter or the Dart to JavaScript transpiler (given that petitparser is written 100% in Dart, i.e. no JS code).
I will try to investigate if I can confirm that this is a problem with petitparser by removing the dependency on it and will further investigate. I will also open an issue with petitparser.

Hi @creativecreatorormaybenot
If you think this is an issue with Flutter itself, please provide more details for this case and a complete reproducible minimal code sample
Thank you

@TahaTesser Here are the steps:

flutter channel beta (and flutter config --enable-web).
flutter create bug
Edit the pubspec.yaml and add flutter_svg: 0.19.0 to the dependencies section.
Edit main.dart and add the following import: import 'package:flutter_svg/flutter_svg.dart;.
Now add the following line to the end of the file void mock() => SvgPicture.asset('');
flutter run -d chrome --web-port 4360
Open localhost:4360 in Safari → the Flutter app does not start.

I suppose you could also just add a petitparser dependency, however, flutter_svg is more commonly used.
If you do not add the flutter_svg / petitparser dependency, the app runs fine on Safari.

I think this might be a critical fundamental Dart transpiling bug for Flutter web. (given how easy it is to reproduce)

@TahaTesser It seems that this is also Flutter specific, see https://github.com/petitparser/dart-petitparser/issues/81#issuecomment-696601423.

I can reproduce it, thanks for providing steps, Safari console is empty

code sample
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Material App',
      theme: ThemeData.dark(),
      home: Home(),
    );
  }
}

class Home extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Material App Bar'),
      ),
      body: Center(
        child: Container(
          child: Text('Hello World'),
        ),
      ),
      floatingActionButton: FloatingActionButton(
        child: Icon(Icons.add),
        onPressed: () {},
      ),
    );
  }
}

void mock() => SvgPicture.asset('');

I strongly suspect this is a bug in dart2js - it shouldn't be emitting code that has duplicate parameters in it. I'll try to find the right person to deal witht his.

Thanks for filing https://github.com/dart-lang/sdk/issues/43520 to track the compiler issue.
Note that Dart has two compilation pipelines to JavaScript, one used for development and the other used for deployment. So it's likely that the debug vs release issues are separate problems.

Hi we are having the same exact issue in Flutter web + Safari with petit parser. Is there a workaround we could use until this gets fixed?

@venkatd You can just build in release mode.

I ran into this issue too. Had been working for months until I recently upgraded my dependencies and to Flutter 1.25.0-8.1.pre. Only Safari is effected.
Debug mode and building for release causes Safari to crash for me.
[✓] Flutter (Channel beta, 1.25.0-8.1.pre, on macOS 11.1 20C69 darwin-x64, locale en-US)
    • Flutter version 1.25.0-8.1.pre at /Users/kevinmcgill/Developer/flutter
    • Framework revision 8f89f6505b (2 weeks ago), 2020-12-15 15:07:52 -0800
    • Engine revision 92ae191c17
    • Dart version 2.12.0 (build 2.12.0-133.2.beta)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/kevinmcgill/Library/Android/sdk
    • Platform android-29, build-tools 29.0.2
    • ANDROID_HOME = /Users/kevinmcgill/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    • CocoaPods version 1.9.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] IntelliJ IDEA Ultimate Edition (version 2020.3)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 52.1.5
    • Dart plugin version 203.6912

[✓] IntelliJ IDEA Community Edition (version 2020.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 52.1.5
    • Dart plugin version 203.5981.152

[✓] VS Code (version 1.52.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.18.0

[✓] Connected device (1 available)
    • Chrome (web) • chrome • web-javascript • Google Chrome 87.0.4280.88

• No issues found!

I have it additional preceded by this bug https://requirejs.org/docs/errors.html#mismatch
Error: Mismatched anonymous define() module: function

Flutter  1.22.2, Safari 14.0.3

hi any update?


Handle dynamic document titles

Adds fallbackMethod option for dynamic document titles

static is the traditional behavior based on the original document title
dynamic uses a regex to replace the title in the event the original document title changed since the script loaded

Hey, can you think of any reason why you would want to use the static method? I'm reluctant to add extra options unless really necessary :-)


Generated appmap.yml files should include appmap_dir

The extension should set the value of appmap_dir in the generated appmap.yml file when it is created. This will help our other tools to limit the scope / area of where they look.

:tada: This issue has been resolved in version 0.40.0 :tada:
The release is available on:

v0.40.0
GitHub release

Your semantic-release bot :package::rocket:


Compatibility issues

There is a minor compatibility issue that can cause Epic Fight to malfunction when paired with Epic Fight. I know this is a compatibility bug that is not within your consideration range, but I still want to anticipate it. If it is not difficult to fix, please

I can't see any Freecam related issues reported on Epic Fights github.
My gut feeling is that this is more likely to be an issue with that mod than this one, I'd recommend reporting an issue there which references this one.
Either way, some more detail would be useful. What exactly is the "minor compatibility issue"? How exactly does it "malfunction"? What was the expected behavior?

我在 Epic Fights github 上看不到任何与 Freecam 相关的问题。
我的直觉是，这更有可能是该模组的问题，而不是这个模组的问题，我建议在那里报告一个引用这个问题的问题。
无论哪种方式，更多细节都是有用的。究竟_什么是_“次要兼容性问题”？它究竟是如何“故障”的？预期的行为是什么？

I reported discord during the epic fight

我在 Epic Fights github 上看不到任何与 Freecam 相关的问题。
我的直觉是，这更有可能是该模组的问题，而不是这个模组的问题，我建议在那里报告一个引用这个问题的问题。
无论哪种方式，更多细节都是有用的。究竟_什么是_“次要兼容性问题”？它究竟是如何“故障”的？预期的行为是什么？

During the epic fight, I reported discord (but they seemed unwilling to fix it), and when Freecam was started, there was a problem with the mode switching of the epic fight

I've tried installing Forge 47.2.32, Freecam 1.2.1+1.20, & Epic Fight 20.7.4, however I was unable to reproduce the issue.
I was able to switch "mode" (keybind R) both before and after using Freecam (keybind F4).
I also tried enabling Freecam's "Allow Interact" with mode "Player" to see if attacking while Freecam is enabled could cause issues, but the only issue I found was that Epic Fight's custom animation would (briefly) render from the player's perspective while attacking, instead of the camera's.
This testing was conducted in singleplayer (survival).

Somehow, this bug only appears in multiplayer games.
Minercraft: 1.20.1
Forge: 47.3.0
Freecam: 1.2.1
Epic Fight: 20.7.4


JSON formatting support using spaces for indentation

Added a new JSONWriter.Feature PrettyFormatWithSpace to format the output using spaces.

Codecov Report
Attention: Patch coverage is 84.72222% with 33 lines in your changes missing coverage. Please review.

Project coverage is 72.43%. Comparing base (9d3e91c) to head (8c1670c).
Report is 1 commits behind head on main.

Files with missing lines
Patch %
Lines

...rc/main/java/com/alibaba/fastjson2/JSONWriter.java
50.74%
27 Missing and 6 partials :warning:

Additional details and impacted files
@@             Coverage Diff              @@
##               main    #3225      +/-   ##
============================================
- Coverage     74.38%   72.43%   -1.95%
+ Complexity    23665    22812     -853
============================================
  Files           668      668
  Lines         92089    92111      +22
  Branches      20577    20510      -67
============================================
- Hits          68498    66723    -1775
- Misses        15233    16833    +1600
- Partials       8358     8555     +197

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


pythonPackages.bleach: declare unix support

Motivation for this change
bleach doesn't seem to depend on anything linux-specific, so I declared it to support all unix platforms. At least it makes jupyter-notebook work on darwin.
Things done

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

[ ] NixOS
[x] macOS
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

@FRidh fixed

these commits can all be squashed

FRidh done


[feature](ES Catalog) map nested/object type in ES to JSON type in Doris (#37101)

backport #37101

run buildall


Validator headers

@Aprogiena I was sloppy with comments will fix

@fassadlr please note some SC tests are failing and I am not sure about the intent of the code and how to fix it.
This is after a change to the rules mainly SmartContractFormatRule is no fullvalidation because it has a dependency on coinview.

@dangershony those integration tests are fixed in our sc-dev branch. We will be merging soon so those will be passing when we do 👍

@noescape00 please review this PR when you have time.

Looks good to me except for code & logging style.
Tests passing (except for those mentioned above), chains synced.

Ok thanks @noescape00 in that case I am happy to commit


Add method argument to resize images

Adding a param to choose which side of the image to resize (width, height or auto [ie: longest dimension])

Closing this as this project isn't maintained anymore.


monthly_to_cdm_all_v1.py issues

I ran a test on the monthly cdm conversion and discovered the following isssues with the tables:
1)decimal places incorrect source_id column in the cdm_lite table should be 0 places not 2 (/ichec/work/glamod/data/level2/land/r6.0/cdm_lite/monthly)
2) decimal places incorrect source_id column in the cdm_observations table should be 0 places not 2 (/ichec/work/glamod/data/level2/land/r6.0/observations_tables/monthly)
3) Code is not writing any values to the header files. (/ichec/work/glamod/data/level2/land/r6.0/header_tables/monthly)
4) Output files are not .gz zipped
all the code and atskfarm fiel scan be found at:/ichec/work/glamod/data/level2/land/r6.0/code/monthly

No, the changes are such that the input and output compression can be set separately.  Something which might be worth doing for the daily and subdaily scripts too just for flexibility.


create distribution tarballs of the nodejs and new modules

These are used to build the downstream images.

@vbusch These are built using makefiles now. See https://github.com/EnMasseProject/enmasse/blob/master/HACKING.md#for-building-and-running-enmasse-unit-tests-and-building-docker-image
You can just do 'make' inside ragent to build the artifacts + the docker image. or just make package to build the artifact.

@vbusch Some more details: we've been moving to makefiles for all !java stuff. In addition, we are seeking to replace the remaining gradle files with maven.

Closing this.


Fix Doc 'Input Management'

Hi, the documentation says:

The touch coordinate is not translated to your widget space because the touch is coming directly from the Window. It's your job to convert the coordinate to your local space.

but that's not correct.
https://github.com/kivy/kivy/blob/267da41decb49b1eb43f15050719b418581980f7/kivy/base.py#L254-L261
from kivy.lang import Builder
from kivy.factory import Factory
from kivy.app import runTouchApp

class Grabber(Factory.Widget):

    def on_touch_down(self, touch):
        touch.grab(self)
        return True

    def on_touch_move(self, touch):
        if touch.grab_current is self:
            print('on_touch_move()', touch.pos, 'grab')
            return True
        else:
            print('on_touch_move()', touch.pos)

    def on_touch_up(self, touch):
        if touch.grab_current is self:
            print('on_touch_up()', touch.pos, 'grab')
            touch.ungrab(self)
            return True
        else:
            print('on_touch_up():', touch.pos)

root = Builder.load_string('''
BoxLayout:
    Widget:
    RelativeLayout:
        Grabber:
''')

runTouchApp(root)

on_touch_move() (72.0, 345.0)
on_touch_move() (72.0, 345.0) grab
on_touch_move() (70.0,<PHONE_NUMBER>9999994)
on_touch_move() (70.0,<PHONE_NUMBER>9999994) grab
on_touch_up(): (70.0,<PHONE_NUMBER>9999994)
on_touch_up() (70.0,<PHONE_NUMBER>9999994) grab

The coordinates of grab-touch is same as non-grab-touch.

It's weird indeed, because the code has been doing this since the initial import, and that documentation was added later, maybe it was buggy at that point, or it was just an overlook. I'm nearly sure I've had to manually manage offsets on grabbed touches at some point though. I'll agree on this removal, at best it's a simplistic and misleading bullet point, so it's not useful to have.

I'm nearly sure I've had to manually manage offsets on grabbed touches at some point though.

DragBehavior is the one of that that being in that kind of situation. Scheduling a callback function and dispatching a touch event inside that callback function.
https://github.com/kivy/kivy/blob/038acbf6ac324c8ebca6107185d0a736c21b2fca/kivy/uix/behaviors/drag.py#L220-L234
well I feel _do_touch_up() also might need to transform the coordinate manually.
https://github.com/kivy/kivy/blob/038acbf6ac324c8ebca6107185d0a736c21b2fca/kivy/uix/behaviors/drag.py#L208-L218
I'll test it out later.

Ah, you are right, it might be becaus the touch had initially been grabbed from a different widget, dragging a widget from/to a relative layout and re-parenting it. It was some custom code though, not using kivy's DragBehavior, so i'm not saying this code is wrong, still good to check though.

Thanks :-)


Deploy MVP to phillypropertytaxrelief.org

[x] Deploy latest screener to Cloud Run
[x] Setup DNS
[x] Wait for Cloud Run to provision an SSL cert.

site is live!  phillypropertytaxrelief.org


how to get current active tab via WebExtensions.Net.Tabs.Tab ?

In Popup.razor,
 IEnumerable<WebExtensions.Net.Tabs.Tab> tabs = new List<WebExtensions.Net.Tabs.Tab>();
the tabs.Count() is 0.
I need to get current active tab and inject jquery.js to interop dom.is there possible to achieve it ?

A quick search on the extension API landed me on https://stackoverflow.com/questions/17076408/chrome-extension-what-is-the-active-tab-in-2-opened-windows/17076501#17076501
Since we are using the web extensions polyfill, the callback is wrapped into an asynchronous function. So from the popup you can just call to the same API without the callback parameter.


get expand child height

 CustomPaint(painter: new SignaturePainter(pWidth,pHeight,model.posX,model.posY)),
MyCustomPaint is a child of expand, how can't i get the current height of expand

1

1

Hi @dikeboy, Thanks for filing the issue. You could get the dimensions of any widget post rendering with the help of a key.
Please see this StackOverflow thread https://stackoverflow.com/questions/49307677/how-to-get-height-of-a-widget
Closing as this is neither a bug nor a feature request.


IncludeOS/VirtualBox - DHCP timeout

Trying to run an IncludeOS/acorn image on Virtualbox DHCP is timing out so an unusable static ip is assigned, see below.
Host is running Fedora27, VirtualBox 5.1.30.
Network adaptor was configured as Host-only adapter / vboxnet0.
VBoxNet DHCP is running on vboxnet0.
mjb      14069 13886  0 10:03 ?        00:00:00 /usr/lib/virtualbox/VBoxNetDHCP --ip-address <IP_ADDRESS> --lower-ip <IP_ADDRESS> --mac-address 08:00:27:14:74:70 --netmask <IP_ADDRESS> --network HostInterfaceNetworking-vboxnet0 --trunk-name vboxnet0 --trunk-type netflt --upper-ip <IP_ADDRESS>
Console output shows DHCP is timeing out:
 [ Network configure ] Configuring network
    [ Network ] Creating stack for VirtioNet on eth0
      [ Inet4 ] Bringing up eth0 on CPU 0
      [ Inet4 ] Negotiating DHCP (10.0s timeout)...
[ Network configure ] Configuration complete
   [ Autoconf ] Finished
================================================================================
 IncludeOS v0.11.0-rc.2 (x86_64 / 64-bit)
 +--> Running [ Acorn Web Appliance ]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     [ DHCPv4 ] Negotiation timed out (eth0)
[ Network configure ] DHCP timeout (eth0) - falling back to static configuration
      [ Inet4 ] Network configured
                IP:             <IP_ADDRESS>
                Netmask:        <IP_ADDRESS>
                Gateway:        <IP_ADDRESS>
                DNS Server:     <IP_ADDRESS>
    [ Memdisk ] Initializing
        [ FAT ] Initializing FAT12 filesystem
                [ofs=0  size=1380 (706560 bytes)]

Tested with e1000 driver (Intel PRO/1000 MT Server) and both NAT and Host-only networks are working fine for me.

Tried the same image on VirtualBox (macOS). Works fine with e1000 driver, but times out on VirtioNet.

After more investigation it seems like some things aren't supported with virtionet in VirtualBox
     [ Virtio ] Attaching to  PCI addr 0x18
                [x] Vendor ID is VIRTIO
                [x] Device ID 0x1000 is in a valid range (Virtio LEGACY)
                [x] Device Revision ID (0x0) supported
                |  |- BAR I/O @ 0xd020, size 32
                [x] Unit has valid I/O base (0xd020)
                [*] Reset device
                [ ] No MSI-X vectors
                [x] Unit has legacy IRQ 9
                Enabled redirected entry 9 ioapic 0 -> 9 on apic 0
     [ Virtio ] Initialization complete
  [ VirtioNet ] Driver initializing
                [x] Negotiated needed features
                [x] Negotiated wanted features
                [x] Device handles packets w. partial checksum
                [x] Guest handles packets w. partial checksum
                [x] There's a control queue
                [ ] Queue can handle any header/data layout
                [ ] We can use indirect descriptors
                [ ] There's a Ring Event Index to use
                [ ] There are multiple queue pairs
                [x] Merge RX buffers
                [x] RX queue (256) assigned (0x5f6000) to device
                [x] TX queue (256) assigned (0x5fa000) to device
                [x] CTRL queue (16) assigned (0x5fe000) to device
  [ VirtioNet ] Adding 128 receive buffers of size 2048
                [x] Valid Mac address: 08:00:27:5f:88:6a
                [x] Signalled driver OK
                [x] Link up
                |
                o

VirtioNet::legacy_handler() isn't being called. Proof (in VirtioNet constructor):
  Timers::periodic(3s, 1ms, [this](auto){
    this->legacy_handler();
  });

This makes the network working (DHCP resolution, demo_service TCP works etc).


pcm* commands should show version information using '-v, --version'

Currently, none of the pcm* commands list the version. It would be helpful to implement a -v, --version subcommand to list the version of the binaries and exit back to the prompt.

I think a version number, or a date string is good enough, perhaps we can create some cmake magic to extract the release tag and use that during build as a string constant for the version?

we have already PCM_VERSION macro that contains the date string and also the git hash id. It is auto-generated by git export when one downloads pcm zip/tgz from github.   What do I need to do or is this string expansion buggy?
./pcm-iio
Processor Counter Monitor  ($Format:%ci ID=%h$)
This utility measures Skylake-SP IIO information

the IDs are replaced by "git export"

the version option has been implemented:
src/pcm-iio.cpp:    cout << "  --version                          => print application version\n";
src/pcm-latency.cpp:    cout << " --version                 => print application version\n";
src/pcm-memory.cpp:    cout << "  --version                          => print application version\n";
src/pcm-mmio.cpp:    std::cout << "   --version   : print application version\n";
src/pcm-msr.cpp:    std::cout << "   --version   : print application version\n";
src/pcm-numa.cpp:    cout << "  --version                          => print application version\n";
src/pcm-pcicfg.cpp:    std::cout << "   --version   : print application version\n";
src/pcm-pcie.cpp:    cout << "  --version                          => print application version\n";
src/pcm-power.cpp:    cout << "  --version                          => print application version\n";
src/pcm-raw.cpp:    cout << "  --version                              => print application version\n";
src/pcm-sensor-server.cpp:    std::cout << "    --version            : Print application version\n";
src/pcm-tpmi.cpp:    std::cout << "   --version   : print application version\n";
src/pcm-tsx.cpp:    cout << "  --version                          => print application version\n";
src/pcm.cpp:    cout << "  --version                          => print application version\n";
src/utils.cpp:        if (check_argument_equals(*argv, {"--version"}))


webui missing

it seems like the webui is missing, how is everyone else even using this thing

it's in demos/musicgen_app.py


Marking connection as not released

https://github.com/cloudera/ibis/issues/871
When a connection is removed from the connection pool, mark released as False as it is no longer released.

Is there instructions on how to run tests locally?

py.test from your ibis clone should do the trick.

You need to run py.test ibis --impala; it will require setting some environment variables to connect to your test cluster properly. We hope to have a fully-functional Dockerfile to use for running the test suite.
What is the status of this patch? Something I can look at next week?

I've been distracted by other things at work. I'm working on getting my
environment setup so I can make sure the tests pass.
On Tue, Jul 19, 2016 at 3:53 PM Wes McKinney<EMAIL_ADDRESS>wrote:

You need to run py.test ibis --impala; it will require setting some
environment variables to connect to your test cluster properly. We hope to
have a fully-functional Dockerfile to use for running the test suite.
What is the status of this patch? Something I can look at next week?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/cloudera/ibis/pull/872#issuecomment-233746183, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA5QZFdDQq4QalNtyq9uVEUGkvulutCzks5qXSs0gaJpZM4JO3c1
.

I can also verify the patch if need be as I have a working test environment, but I'm sure it'd be useful for you to have an env set up. If we can get a ready-to-go docker image pushed to dockerhub that would be ideal.

I'm fine with that

Any way to write a test case for this?

Yup.

This should be all set to go!

I had to make a minor tweak to get the test suite passing but this is good now. Thank you!


instead of checking if user already responded, check when was last auto response made and limit by time

it should be separated to two tasks, closing it.


page not working in Example

When you try to run the page example, appear empty and white page
log :
filterBlacklist =     (
);
filterWhitelist =     (
);
restrictWeb = 1;
useContentFilter = 0;
useContentFilterOverrides = 0;
whitelistEnabled = 0;
}
but if copy link and open in Safari its working

self.appState.viewModel = TamaraSDKCheckoutViewModel(url: item.checkoutUrl, merchantURL: merchantUrl, webView: nil)


Update types_strings.txt

Corrected some miscellaneous Finnish words that I've bumped into through the UI lately and found incorrect.

Corrected some miscellaneous Finnish words that I've bumped into through the UI lately and found incorrect.


Implement add command

First approach for #18

Codecov Report

Merging #22 (22e1d06) into master (922caf8) will decrease coverage by 4.84%.
The diff coverage is 71.55%.

@@            Coverage Diff             @@
##           master      #22      +/-   ##
==========================================
- Coverage   86.40%   81.56%   -4.85%
==========================================
  Files           3        3
  Lines         103      179      +76
==========================================
+ Hits           89      146      +57
- Misses          6       17      +11
- Partials        8       16       +8

Impacted Files
Coverage Δ

pkg/config/config.go
95.74% <ø> (ø)

pkg/task/message/message.go
100.00% <ø> (ø)

pkg/task/repo/repository.go
71.55% <71.55%> (ø)

Continue to review full report at Codecov.

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


ERROR (node:1380) [DEP0005] DeprecationWarning when deploying Universal build to Vercel (Now.sh) with build -> cache: true

Version
v2.12.2
Reproduction link
https://nuxt-zeit.now.sh/
Steps to reproduce

Go to https://vercel.com/import/nuxtjs
Spin up a new Nuxt project
Clone created repository locally
Go to nuxt.config.js and change mode from 'spa' to 'universal'
Add now.json as specified in the docs: https://nuxtjs.org/faq/now-deployment/
Go to nuxt.config.js build section and specify cache: true
Push and deploy

What is expected ?
No errors during a build process
What is actually happening?
ERROR (node:1380) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.

This bug report is available on Nuxt community (#c10665)

I dont think Nuxt is using Buffer itself, but there are quite some dependencies using it if I do a grep

Yes, I think it's some dependency that is activated with enabling build caching, maybe it can be updated or replaced

@AndrewBogdanovTSS We would love your help with finding which dependency this is and if we can help update it or replace it


add docuements about test, benchmark, plotting and utility scripts

Some usage information should be added.
I'm satisfied with current provisioning, tests and benchmark chain, written in POSIX shell script and Lua. Using unit-test library like Busted and/or provisioning tool like Ansible would be more modern, but this is Lua world, where minimalism is appreciated. Surely, I want to add Windows support, but I want to keep busybox support as well.
For plotting, YAML-formatted benchmark results are generated by Lua. It is converted to gnuplot input by a Ruby script. Changing the intermediate format to JSON and using Lunajson itself for plotting have some beauty, but who cares. I want to escape from Python at a hobby-project, because I'm working on so-called "data science" for a living.

Now Lunajson Uses matplotlib to plot benchmarks. Benchmark procedure is simplified and automated. (I hadn't personally liked Python, but now I'm forgetting Ruby...)
I'll add some docs about testing and benchmark to README

Minor: typo in issue title: s/docuements/documents/


Add themesDir option to configuration

themesDir can be used to change the default path of the themes folder.
Fixes #1556

viper.GetString("themesDir") is repated a little too much, and should have its own method, I think.

Do you have an alternative name for GetThemeDir? This function would return an absolute path instead of a custom relative path.

Merged as 4758732

Merged as 4758732


Update README.md

Hey this is a new PR

Qovery can create a Preview Environment for this PR.
To trigger its creation, please post a comment with one of the following command.

Command
Blueprint environment

/qovery  preview aa190093-9b25-4c7c-8cbf-2c59eec4929d
blueprint-x

/qovery  preview c4b0fdf2-52b6-425d-8f36-9a2c978afbad
cloned-env

/qovery  preview {all|UUID1,UUID2,...}
To preview multiple environments

This comment has been generated from Qovery AI :robot:.
Below, a word from its wisdom :

Programs must be written for people to read, and only incidentally for machines to execute

/qovery preview aa190093-9b25-4c7c-8cbf-2c59eec4929d

A preview environment was automatically created via Qovery.
Click on the link below to follow its deployment and use it.
:point_right: [PR] blueprint-x - Update README.md - 2023-09-21T13:26:07Z
Another comment will be posted when deployments are terminated

Your preview environment has been successfully deployed !
Click on the link below to open your service:
:point_right: API Gateway
:point_right: Backend
:point_right: Backend 2
:point_right: Core Backend
:point_right: Frontend
:point_right: Dashboard
:point_right: SQS


Add missing form fileds to the FrameworkTest module so they can be tested

A review of the missing fields has been made as part of https://github.com/silverstripe/silverstripe-framework/issues/5698 and the majority of forms have been converted to Bootstrap as part of https://github.com/silverstripe/silverstripe-framework/issues/5677 . To make sure all forms are covered by the change to Bootstrap we need all form fields to be accounted for in the module http://addons.silverstripe.org/add-ons/silverstripe/frameworktest . A separate issue should be created to convert the remainder of form fields to Bootstrap.

Added missing fields and reviewed with Paul:
https://github.com/silverstripe-labs/silverstripe-frameworktest/commit/a499292bb4a1c3580926f0d19db1a45db106532e
https://github.com/silverstripe-labs/silverstripe-frameworktest/commit/d7d2afe25095211cdc3f08fdabe037b31d3112f7
https://github.com/silverstripe-labs/silverstripe-frameworktest/commit/e98f22f40035fa9869fbbe6600658413a1046a56
https://github.com/silverstripe-labs/silverstripe-frameworktest/commit/aaa56c176e6817a0121d9869224d065f547c16f1
https://github.com/silverstripe-labs/silverstripe-frameworktest/commit/049277d71f4855c44266d933e45515f2fda53991


Implement Feature Login Logout Sign Up

👨🏻💻 What does this PR do?
This PR adds and updates the API endpoint to let user Login Logout and Sign Up.
🧪 How has/should this change been tested?
I have tested this change thoroughly by performing the following steps:

Created unit tests to ensure the new features work as expected.
Manually tested the API endpoint using postman and browser, providing valid and invalid input data.
Checked for edge cases to ensure proper error handling.

📝 Any notes for the reviewer?
📜 Documentation
Endpoint URL:
Signing Up (POST /auth/signup):
{
    "username": "YourUsername",
    "email"<EMAIL_ADDRESS>    "password": "YourPassword",
    "role": "submitter" // Optional: Set the desired role, default is "submitter"
}

Logging In (POST /auth/login):
{
    "email"<EMAIL_ADDRESS>    "password": "YourPassword"
}

Securing Endpoints:
To secure the endpoints, I've already implemented JWT authentication with the JwtStrategy. Ensure that the @UseGuards(AuthGuard('jwt')) decorator is added to routes that need authentication. For example:
@Post('/secure-route')
@UseGuards(AuthGuard('jwt'))
secureRoute(@Body() data: any): any {
    // Your secured route logic here
}

There is a lot of change here, we will go over it on our next meeting

MERGE!!!

Looks great bro, I love the implentation you did and great commits. cheers.


Redex now supports binding

Upgrade to the new Redex with binding support! !!

Committed to branch redex-with-binding with 6e27c1fc395dfccd4ae4f54434a254cac6a2b8ee, but this version of Redex is still in beta and not easily installable, so not merging yet.

This is now mainline Redex! Closed as of 25e475e289ac346d0e187fb550438dfbcbb685e0


Using tf.data.Dataset as InferenceRunner inputsource

https://github.com/ppwwyyxx/tensorpack/blob/7a5b861ab5ff9d018f4700e95bf0985d55c1841c/tensorpack/callbacks/inference_runner.py#L80
Should this line be self._size = np.inf ?
When self._size is set as 0, there will be no output in self.stats in ScarStates,
and if it is set as inf, tf.errors.OutOfRange will be raised before the end of dataflow.

Thanks for pointing out! Could you try again?

It worked as expected after pulling the newest code  ：）


Title in front matter not exported - uses filename instead

Describe the bug
Docu-notion doesn't output all the front matter to MD. The top of page heading  "Notion title"  is used as the filename and title. The front matter has a separate title field but the export replaces whatever is in that field with the top of page heading. My goal is a short filename (for URL) with a longer title (for sidebar).
Reproduction Steps
URL of a source Notion page that, when docu-notion accesses or converts it, shows the problem:
https://jennibeadle.notion.site/0-0-3-4eed40af381f4fb8b455246b3bae0c7c
At least one of these:

URL of a docusuarus site showing the resulting page
Desired result: https://manual.paratext.org/Video-summaries/Introduction/0.2.Navigation/0.0.3
Notion result: https://sillsdev.github.io/paratext-manual/4eed40af-381f-4fb8-b455-246b3bae0c7c/
(note title displayed was copied to the document for later editing)

Expected behavior
The text in the title field of Notion document front matter, will replace the Notion document "title".
Screenshots
If applicable, add screenshots to help explain your problem.
Desired result

In Notion (showing front matter)

Docu-Notion website (showing short title not title from frontmatter)
(Note the ---title ... was copied to add after next process)

Additional context
Unfortunately, the Actions don't give me a file that I can tweak.

Yeah, docu-notion doesn't no anything about this title property you've added. Instead, it uses the title of the page. I'll label this as an enhancement. Can you say more about why you want to have the title of the page in Notion be different from what the user sees?

Actually what I want is a short filename. The title of the page is not
suitable. Since you are using it for both it seemed easier to get you to
use the front matter title field.
But I fear you are not allowing the download to computer anymore,
especially since it doesn’t work reliably. I really liked being able to do
final tweaks on my computer before committing it and deploying it.
From: John Hatton @.>
Sent: Friday, 21 October 2022 1:08 AM
To: sillsdev/docu-notion @.>
Cc: JenniBeadle @.>; Author @.>
Subject: Re: [sillsdev/docu-notion] Title in front matter not exported -
uses filename instead (Issue #15)
Yeah, docu-notion doesn't no anything about this title property you've
added. Instead, it uses the title of the page. I'll label this as an
enhancement. Can you say more about why you want to have the title of the
page in Notion be different from what the user sees?
—
Reply to this email directly, view it on GitHub
https://github.com/sillsdev/docu-notion/issues/15#issuecomment-1285885206,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZ5F7HPIRC7JCGGABO26L2DWEF37HANCNFSM6AAAAAARKC2WHA
.
You are receiving this because you authored the thread.Message ID: <
@.***>

OK, so I think your request is for a property that overrides the file name docu-notion uses. The default "strategy" for file creation uses this logic: use the slug, and if that is missing, use a sanitized version of the title. Is that right?
(I've edited out all the email stuff from your last reply... it's interesting that github is allowing comment by email, but it makes a mess. Please go ahead and reply from the site to keep the conversations clean, thanks).

But I fear you are not allowing the download to computer anymore,

This issue, and docu-notion in general, has nothing to do with what you are doing on your computer vs. anywhere else. It has no idea where you are running it.  If you are doing a docu-notion run and not getting the files you expect, go ahead and report an issue showing how to reproduce that, thanks.

Right, now I understand more about why you are using a slug for each file. I only use a slug for the first page. Your long slug makes the URL too complicated to type without any errors and doesn't give the reader any idea of the contents of the page.
Since Notion doesn't have a replace feature, I  want to avoid manually changing all 126 files.
BTW I didn't add the title property, I just filled in what was already there in Notion. And docu-notion changed the contents of the field to the Notion title in the MD file.

@JenniBeadle OK I guess I'll close this issue, but if you do need a way to control the file name separately from the title and slug, we can reopen.


feat: user organizations, fix: create,delete event

The PR I opened yesterday for create, delete event has an error. I've included it along with this.

Fixes #58

I used REST as there were problems with graphql as discussed in #58.
This is how it looks:

Let me know if there are any changes to be made. Thanks.
(Also, I had asked this somewhere else. Do you have any idea why the git-touch organization page does not load? Other orgs work normally.)
(Also, I just noticed that the status bar color does not match the app bar color. Looks a bit odd. Do you think I should change it?)

(Also, I had asked this somewhere else. Do you have any idea why the git-touch organization page does not load? Other orgs work normally.)
(Also, I just noticed that the status bar color does not match the app bar color. Looks a bit odd. Do you think I should change it?)

@pd4d10 About this?

Oh, sorry for missing these messages.

why the git-touch organization page does not load

Not sure, is it due to the error of REST API?

the status bar color does not match the app bar color

Seems to be the default behavior at Android?

Not sure, is it due to the error of REST API?

It fails every time and only for this org. Other orgs work fine. Maybe something to do with the organisation's settings.

Seems to be the default behavior at Android?

I'll try to modify it if that's ok.


Update lambdas to work with the latest version of the ML model.

Once the new model tarball is in S3. https://github.com/nasa-petal/PeTaL-labeller/issues/11
Specify model tarball name and S3 location.
https://github.com/nasa-petal/PeTaL-db/blob/main/dynamodb-cf-template.yaml#L353
How much compute power does the deployed endpoint need to generate inferences?
https://github.com/nasa-petal/PeTaL-db/blob/main/dynamodb-cf-template.yaml#L375
What input format does the model expect?
https://github.com/nasa-petal/PeTaL-db/blob/main/dynamodb-cf-template.yaml#L485

@nasa-petal/contributors This is a test status update.

@nasa-petal/contributors test


Events in v1.5: added node_relation to node_info

resolves #3167
What are you changing in this pull request and why?
In v1.5, structured events will include a node_relation object, nested within the node_info object, for node-specific events
Checklist

[x] Add versioning components, as described in Versioning Docs
[x] Add a note to the prerelease version Migration Guide

Going to merge this in since it has prior approval from @dbeatty10 and @matthewshaver


Add automatic versioning based on Git tag

Description
Adds a script for automatic detection of Git tag information. This script populates project-specific version variables, and includes a macro that can be used to generate a "version.h" file containing preprocessor definitions for version variables.
Author Progress Checklist:

[ ] Open draft pull request

[x] Make title clearly understandable in a standalone change log context
[x] Assign yourself the issue
[x] Add at least one label

[x] Make code changes (if you haven't already)
[x] Self-review of code

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my code
[ ] I have added comments to my code, particularly in hard-to-understand areas
[ ] I have only committed the necessary changes for this fix or feature
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have ensured that my fix is effective or that my feature works as intended by:

[ ] exercising the code changes in the test framework, and/or
[ ] manually verifying the changes (as explained in the the pull request description above)

[ ] My changes pass all local tests
[ ] My changes successfully passes CI checks

[x] Move pull request out of draft mode and assign reviewers
[ ] Iterate with reviewers until all changes are approved

[ ] Make changes in response to reviewer comments
[ ] Re-request review in GitHub

Reviewer Checklist:

[ ] Read the pull request description
[ ] Perform a code review on GitHub
[ ] Confirm all CI checks pass and there are no build warnings
[ ] Pull, build, and run automated tests locally
[ ] Perform manual tests of the fix or feature locally
[ ] Add any review comments, if applicable
[ ] Submit review in GitHub as either

[ ] Request changes, or
[ ] Approve

[ ] Iterate with author until all changes are approved
[ ] If you are the last reviewer to approve, merge the pull request and delete the branch

Thanks, @michael-okeefe!
I don't think we'll ever be able to future proof our best practices. They will evolve, and when the next version control system comes along, we'll have to adapt.
I don't feel like we should need to support the ZIP archive version of the code. I kind of wish we could just disable it.
I think there is a lot of meta information that would be helpful to have available beyond git stuff (e.g., operating system, compiler, architecture). Plenty of fodder for the next std::pow(wow)!