Validation loss and accuracy is increasing while training accuracy is improving

This is my first attempt at doing something with CNNs, so I am probably doing something very stupid - but can't figure out where I am wrong...
The model seems to be learning fine, but the validation accuracy is not improving (ever - even after the first epoch), and validation loss is actually increasing with time. It doesn't look like I am overfiting (after 1 epoch?)  - must we off in some other way.

I am training a CNN network - I have ~100k images of various plants (1000 classes) and want to fine-tune ResNet50 to create a muticlass classifier. Images are of various sizes, I load them like so:
from keras.preprocessing import image

def path_to_tensor(img_path):
    # loads RGB image as PIL.Image.Image type
    img = image.load_img(img_path, target_size=(IMG_HEIGHT, IMG_HEIGHT))
    # convert PIL.Image.Image type to 3D tensor with shape (IMG_HEIGHT, IMG_HEIGHT, 3)
    x = image.img_to_array(img)
    # convert 3D tensor to 4D tensor with shape (1, IMG_HEIGHT, IMG_HEIGHT, 3) and return 4D tensor
    return np.expand_dims(x, axis=0)

def paths_to_tensor(img_paths):
    list_of_tensors = [path_to_tensor(img_path) for img_path in img_paths] #can use tqdm(img_paths) for data
    return np.vstack(list_of_tensors)

The database is large (does not fit into memory) and had to create my own generator to provide both reading from the disk and augmentation. (I know Keras has .flow_from_directory() - but my data is not structured this way - it is just a dump of 100k images mixed with 100k metadata files).
The generator version below doesn't do any augmentation for the time being - just rescaling:

def generate_batches_from_train_folder(images_to_read, labels, batchsize = BATCH_SIZE):

#Generator that returns batches of images ('xs') and labels ('ys') from the train folder
#:param string filepath: Full filepath of files to read - this needs to be a list of image files
#:param np.array: list of all labels for the images_to_read - those need to be one-hot-encoded
#:param int batchsize: Size of the batches that should be generated.
#:return: (ndarray, ndarray) (xs, ys): Yields a tuple which contains a full batch of images and labels.

dimensions = (BATCH_SIZE, IMG_HEIGHT, IMG_HEIGHT, 3)

    train_datagen = ImageDataGenerator(
        rescale=1./255,
        #rotation_range=20,
        #zoom_range=0.2,
        #fill_mode='nearest',
        #horizontal_flip=True
    )

    # needs to be on a infinite loop for the generator to work
    while 1:
        filesize = len(images_to_read)

        # count how many entries we have read
        n_entries = 0
        # as long as we haven't read all entries from the file: keep reading
        while n_entries < (filesize - batchsize):

            # start the next batch at index 0
            # create numpy arrays of input data (features)
            # - this is already shaped as a tensor (output of the support function paths_to_tensor)
            xs = paths_to_tensor(images_to_read[n_entries : n_entries + batchsize])

            # and label info. Contains 1000 labels in my case for each possible plant species
            ys = labels[n_entries : n_entries + batchsize]

            # we have read one more batch from this file
            n_entries += batchsize

            #perform online augmentation on the xs and ys
            augmented_generator = train_datagen.flow(xs, ys, batch_size = batchsize)

            yield  next(augmented_generator)

This is how I define my model:

def get_model():

    # define the model
    base_model = ResNet50(input_shape=DIMENSIONS, weights='imagenet', include_top=False)

    # Freeze the layers which you don't want to train. Here I am freezing all but the last 2 layers
    for layer in base_model.layers[:-2]:
        layer.trainable = False

    model_gen = models.Sequential()

    # Add the vgg convolutional base model
    model_gen.add(base_model)

    #Adding custom Layers
    model_gen.add(layers.GlobalAveragePooling2D(name='avg_pool_2'))
    model_gen.add(layers.Dense(1000, activation='softmax'))

    # compile the model
    model_gen.compile(
        loss='categorical_crossentropy',
        optimizer=optimizers.Adam(1e-3),
        metrics=['acc'])

    return model_gen

I then use the following function to do a 5 fold CV for the model:
The code below only looks at the first fold - because the other ones don't work either...

from sklearn.model_selection import train_test_split, StratifiedKFold
folds = list(StratifiedKFold(n_splits=5, shuffle=True, random_state=1).split(train_images, train_to_integer))
# train_to_integer is a dense representation of Y_train below. Y_train is a one-hot-encoded version

#train the model on each fold
history = []

for j, (train_idx, val_idx) in enumerate(folds):

    if j >=1: # check the first fold only here
        break

    print('\nFold ',j)
    X_train_cv_path = train_images[train_idx]
    y_train_cv = Y_train[train_idx,:]

    X_valid_cv = train_images[val_idx]
    y_valid_cv= Y_train[val_idx,:]

    load_name_weights = "./keras_models/model_fold_" + str(j) + "_weights.h5"
    save_name_weights = "./keras_models/model_fold_" + str(j) + "_weights.h5"

    #saves the model after each epoch if the validation loss decreased
    checkpoint = ModelCheckpoint(save_name_weights, monitor='val_acc', verbose=1,
                                 #save_best_only=True,
                                 save_weights_only=False,
                                 mode='auto', period=1)

    early = EarlyStopping(monitor='val_acc', min_delta = 0, patience=5, verbose=1, mode='auto')

    callbacks = [checkpoint,early]

    train_generator = generate_batches_from_train_folder(
        images_to_read = X_train_cv_path,
        labels = y_train_cv,
        batchsize = BATCH_SIZE)

    #print('generating validation data...')

    valid_generator = generate_batches_from_train_folder(
        images_to_read = X_valid_cv,
        labels = y_valid_cv,
        batchsize = BATCH_SIZE)

    #x_valid_cv = paths_to_tensor(X_valid_cv) # this takes paths to images and return the np array

    #valid_datagen = ImageDataGenerator(rescale=1./255)
    #valid_generator = valid_datagen.flow(x_valid_cv, y_valid_cv, batch_size=BATCH_SIZE)

    try:
        model = load_model(load_name_weights)
        print('model loaded : ',load_name_weights)

    except:

        print('model not loaded - generating from scratch')
        model = get_model()

    history_fold = model.fit_generator(
                train_generator,
                steps_per_epoch = len(X_train_cv_path) // BATCH_SIZE,
                epochs = 10,
                verbose = 1,
                validation_data = valid_generator,
                validation_steps= len(X_valid_cv) // BATCH_SIZE,
                callbacks = callbacks)

    history.append(history_fold.history)

    history_file = './temp_data/fold_at3_history_data'
    np.save(history_file,history,allow_pickle=True)

    print('finished the test')

I have done various things - like checked that my generator is actually not yielding the same batch over and over - checked that both train and valid generators are basically the same, but nothing seems to show where the problem is...

So I have a scenario where my loss is converging; but my validation loss is diverging as well.  This depends on what I'm training and how far into the epochs I am.  So for some scenarios it tends to start around epoch 150 but in other items it starts in epoch 50 or epoch 200.
I'm going to piggy back here a bit and just ask if there is a known callback we can use with our model.fit() function which can check if our validation loss is increasing and if so for how long and by how much.
Even more ideal would be to identify the epoch where it started to diverge and roll the weights back to that epoch.
The issue is clearly an over-fitting one; In my scenario a callback would be great because I overfit through over-training.
Here is a print out of the losses during a second "walk".  There is significant transfer learning in my solution and this is a step where it continues to train but the data is very similar to the step prior to it.
Epoch 4/200

2s - loss: 55.8033 - val_loss: 26.4454
Epoch 5/200
2s - loss: 53.3749 - val_loss: 26.3017
Epoch 6/200
3s - loss: 51.0523 - val_loss: 26.2110
Epoch 7/200
2s - loss: 48.8308 - val_loss: 26.1701
Epoch 8/200
2s - loss: 46.7058 - val_loss: 26.1759
Epoch 9/200
2s - loss: 44.6733 - val_loss: 26.2252
Epoch 10/200
2s - loss: 42.7294 - val_loss: 26.3153
Epoch 11/200
2s - loss: 40.8699 - val_loss: 26.4434
Epoch 12/200
2s - loss: 39.0916 - val_loss: 26.6070
Epoch 13/200
2s - loss: 37.3903 - val_loss: 26.8036

did you solve it  ?


Crashlytics Crash Reports - Instantaneous Crash on Certain Devices

Description
An instantaneous crash on launch occurs on certain devices even when there is no code related to rive on the project. just bundling the package in the build causes this.
Devices I am aware of -  Samsung  - Galaxy M11, Note 10+ 5G, VIVO - V2101, Y71, OPPO - F17 PRO.
Fatal Exception: java.lang.RuntimeException: Unable to get provider androidx.startup.InitializationProvider: r0.b: sa.b: Could not find 'libjnirivebridge.so'. Looked for: [armeabi-v7a, armeabi], but only found: [].
at android.app.ActivityThread.installProvider(ActivityThread.java:5858)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:5447)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5386)
at android.app.ActivityThread.-wrap2(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1546)
Additional context
This looks similar to https://github.com/realm/realm-java/issues/6812
We have a bunch of features ready to pushed on production using rive but this crash has deterred us from rolling out to production. Can provide additional information if you could hint me in the right direction.

Thanks for getting back to us @shubham-stan. Please let me know what you find with 4.1.0 and I'll forward this to the rest of the team.

I am experiencing a similar issue, @shubham-stan, with version 9.3.6.
The error message is:
Unable to get provider androidx.startup.InitializationProvider: k3.c: Fe.b: Could not find 'librive-android.so'. Looked for: [arm64-v8a, armeabi-v7a, armeabi], but only found: [].
cc: @HayesGordon

Hi @Lukmannudin, do you have a reproducible example? If so, could you please share that? We can investigate initializing Rive differently for the React Native runtime.


Header internal (pages) menu

Figma link: https://www.figma.com/file/w60dl1XPUvSaRncv1Utmnb/Openverse-Releases?node-id=25%3A2962

Questions

Does this need to be a named, standalone component, or just a popover + button in the header component?
This three dot icon sticks out to me as odd. It's a lighter weight than any of the other icons in the system
What are the focus + hover styles of these inner links? Related to a similar question in #479

I was thinking that it should be a part of the ContentSwitcher component because on mobile there are no dots: a click on the Content button opens both the Content switcher and the list of pages.


Create Java Project

[x] create java project
[x] build JDBC connections
[x] make Util Connection class

Create a DBUtil class for connecting while we need the DB
Crate another class to check the status of the connections - Result OK


Data Science with Python: ANOVA (Analysis of Variation)

Description
Welcome to the 'DSWP' Team, good to see you here.
With this issue, readers will get introduced to the core information about 'ANOVA (Analysis of Variation)'.
To get assigned to this issue, add your serial numbers mentioned in the spreadsheet of "Data Science with Python", the approach one would follow and the choice you prefer (Documentation, Audio, Video). You can go with all three or any number of options you're interested to work on.
If you had referred any resources, add them up in "DS Resources". Similarly, if you had used datasets, include them in "DS Datasets".
Domain: Statistics
Mentors Assigned : @Pushpit07 / @aishanii
Points to Note :
The issues will be assigned on a first come first serve basis, 1 Issue == 1 PR.
"Issue Title" and "PR Title" should be the same. Include issue number along with it.
Changes should be made inside the Datascience_With_Python/ directory & Datascience_With_Python branch.
Follow Contributing Guidelines & Code of Conduct before start Contributing.
This issue is only for 'GWOC' contributors of 'DSWP' domain.
All the best. Enjoy your journey ahead. 😎
Domain
Datascience with Python
Type of Contribution
Audio, Video, Documentation
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

@prathimacode-hub , Mam
I am M. Ashish Reddy. I would like to do video on this issue.
Batch number: 5
serial number:174.
Approach: A detailed explanation with examples and real life uses

Video is done, only audio available. @ashish-reddy-20-08

Issue assigned to @ashish-reddy-20-08 for audio contribution

I mentioned in discord to not close the issue. @Pushpit07


[CLOSED] [Merge after add attachments PR] refactor content items into payload

 Issue by mathildathompson
Wednesday 23 March 2016 at 15:54 GMT
Originally opened as https://github.com/alphagov/specialist-publisher/pull/683

Test were becoming very long and unreadable, so extracted the cma_case_content_item into a Payload;
This branch was created form the add-attachments branch because it uses some of the code in it;

mathildathompson included the following code: https://github.com/alphagov/specialist-publisher/pull/683/commits

 Comment by danielroseman
Wednesday 30 March 2016 at 10:00 GMT

Needs a rebase.


Import Custom Validation Rule by linking to json generated from MapCSS

To Test:
Add Point with Healthcare Facility preset but don't add a name tag
https://api.myjson.com/bins/lo480

Also set up the framework to build in some validations from the JOSM MapCSS Tag Checks

More of these can be brought in once we build out
https://github.com/radiant-maxar/mapcss-parse

Hmm this never proceeded and lots has changed about the validation system in the last year…
@abalosc1 Do you mind if we close this in favor of a revised implementation?


Integrate permissions with catalog-backend refresh endpoint

Hey, I just made a Pull Request!
We create a new AuthorizedRefreshService which wraps around the existing refresh service and handles authorization.
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[x] Added or updated documentation
[x] Tests for new functionality and regression tests for bug fixes
[x] All your commits have a Signed-off-by line in the message. (more info)

The PR has been updated to use a new AuthorizedRefreshService (as discussed offline) which thinly wraps around the existing refresh service and handles authorization.

@Rugvip This should be ready for another pass!


Can't recognize hover on triple intersection

With the default order that the g elements are laid out, when I hover over the triple intersection center it shows that I'm hovering over one of the double intersections, shown here. (My mouse was not included in the screen shot, but it's in the triple intersection center.

However, when I change the order of the g elements, it properly recognizes the hover. (mouse in the same place).

I could have Javascript rearrange the g elements after the fact, but that would be inelegant and may cause a temporary flash of the elements on the screen.
Would it be possible to have the g elements laid out in the number of sets order even if they are not all added at the same time (some are adding with an update)?

Is this after calling venn.sortAreas ? Calling this method in your mouseover handler should arrange everything in the proper order. I didn't do a static ordering because I wanted the current selection to be on top of the other items.
The file 'examples/intersection_tooltip.html'  has an example of this working. I also wrote a blog post that used this with data that gets updated http://www.benfrederickson.com/distance-metrics/

Nope, that fixed it!
Thanks for the prompt response!


[CH] Pass the partition values to the ch backend by the subtrait plan instead of analysing the file path

Description
Pass the partition values to the ch backend by the subtrait plan instead of analysing the file path

Don't need to add this feature for the mergetree file format, the CH backend will save the partition values in the mergetree data and read the data from the mergetree data directly.

Don't need to add this feature for the mergetree file format, the CH backend will save the partition values in the mergetree data and read the data from the mergetree data directly.

Don't need to add this feature for the mergetree file format, the CH backend will save the partition values in the mergetree data and read the data from the mergetree data directly.


Fixes a bug where gamepads are not filtered

Fixes #500. I believe the issue was caused by the InputStreams::button_pressed() function. I rewrote the associated block to filter out unassociated gamepads, but also to let through any gamepad if no associated gamepad is defined.
I make no guarantees regarding if this is a well-written solution. Feedback is appreciated!

Perhaps we can change the associated_gamepad in InputMap from Option<Gamepad> to an enum that represents multiple handling options like:
pub enum GamepadValueSource {
    Any,
    Only(Gamepad),
    Prefer(Gamepad),
}

Do you need any guidance on gamepad processing, or should I create a PR to your branch?

I think to start with, it may be best to make a pull request onto my branch.

Fully on board with that direction :)

Created the PR

Finally had the opportunity to verify controller behaviors-- The set_exclusive_gamepad() function feels like a nice solution to not break the the API.

I will begin writing a suite of tests for this functionality.

I came upon a problem in building my tests, as I am not certain of the intended behavior of GamepadValueSouce::Prefer. It seems obvious to me that, in cases where an input is received from more than one gamepad, the plugin should prefer one gamepad over the other. However, there may arise cases in which one gamepad provides input (such as a "Press" on Gamepad 1), then on the next frame another gamepad provides an opposing input (such as a "release" on Gamepad 2).
In these circumstances, should I expect the system to respect the high state of the preferred gamepad, or should I expect it to respect the Gamepad whose state changed most recently?

Ahh, if I'm not mistaken, Prefer uses the original code logic. If the specified gamepad doesn't have input, it fetches from others that are registered.
Maybe it should be changed to fetch from elsewhere only if it's not functioning properly, or add a new variant?

I think that Prefer is probably just a footgun: I don't see how that behavior would ever be useful.

Oh no, it seems like there was a misunderstanding on my part, which led to the bug introduced in #466. The old code was actually correct.

Closed since #504 merged


If a Story table finds a variable match but not a value match, we should error

A variable match but not a value match indicates that there's very likely a misspelling of the value, and that it's a dev error, not that we just aren't able to match. Continuing on might work, but might also cause the interview to be different from what the tester expects, and hides the real issue (which is that they misspelled the value).
Bonus for dropdowns and choices; list the values that we did see on the screen, and also list which fields were never set by the table.
Some code on an older branch that will need to be re-contextualized before it's useful;
diff --git a/lib/scope.js b/lib/scope.js
index ae15f03..dc74518 100644
--- a/lib/scope.js
+++ b/lib/scope.js
@@ -1660,10 +1660,11 @@ module.exports = {
   },  // ends setCustomDatatype {}

   enter_answer: {
-    button: async function ( scope, { handle, answer }) { await scope.tapElement( scope, handle ); },
+    button: async function ( scope, { handle, answer }) { await scope.tapElement( scope, handle ); return true },
     textarea: async function ( scope, { handle, answer }) {
       await scope.setText( scope, { handle, answer });
       await scope.afterStep(scope);  // No showifs for this one?
+      return true;
     },
     select: async function ( scope, { handle, answer }) {
       // Note: I don't remember what's really going on in here.
@@ -1681,21 +1682,30 @@ module.exports = {
       // values.
       // let option = await handle.$(`option[value="${ answer }"]`);
       let option = await scope.page.$(`option[value="${ answer }"]`);
+      let success = false;
       if ( option ) {
         await handle.select( answer );  // And use that value to set it
+        success = true;

       // If that literal value isn't on the page, it should be a base64 encoded value
       // TODO: Can these be double encoded? Can they be encoded like objects?
       } else {
         let base64_name = toBase64( answer );
         await handle.select( base64_name );
+        let base64_option = await scope.page.$(`option[value="${ base64_name }"]`);
+        if (base64_option) {
+          await handle.select( base64_name );
+          success = true;
+        }
       }

       await scope.afterStep(scope, { waitForShowIf: true });
+      return success;
     },
     canvas: async function ( scope, { handle, answer }) {
       await scope.draw_signature( scope );
       await scope.afterStep( scope );
+      return true;
     },
     input: async function ( scope, { handle, answer }) {
       /* Set value of some `input` element to the given value. */
@@ -2051,6 +2061,9 @@ module.exports = {
       let num_unused_rows = 0;
       for ( let row of var_data ) {
         if ( row.times_used === 0 ) {
+          if (row.times_var_matched > 0) {
+
+          }
           num_unused_rows += 1;
           let source_row = row;
           // TODO: Make the row object flatter so we don't need to dig in this way
@@ -2102,6 +2115,25 @@ module.exports = {
     // TODO: Since we now continue only once no matter what, we can put
     // the error in the caller of the function, though we may want
     // to pass the symbol to print as well.
+    if ( error.was_found ) {
+      let field_map = {};
+      let trigger_map = {};
+      for (let field of fields) {
+        if (!field.was_set && field.guesses.length > 0) {
+          for (let guess of field.guesses) {
+            if (guess["var"] in field_map) {
+              field_map[guess["var"]].push(guess["value"]);
+            } else {
+              field_map[guess["var"]] = [guess["value"]];
+            }
+            trigger_map[guess["var"]] = field.trigger;
+          }
+        }
+      }
+      for (let field in field_map) {
+        console.log(`didn't set field: ${ JSON.stringify(field) }: ${ JSON.stringify(field_map[field]) } (${ trigger_map[field] })`);
+      }
+    }
     return error;
     // TODO: Maybe we should return something else or something in addition about used vars
   },  // Ends scope.setFields()

I think this would be considered a breaking change, as it changes expected behavior and error throwing. As such, it should probably be part of the prep for v5.

From our discussions: We should warn instead of error, though we're not sure where we should place the warning.


Add client id field to purchase

Check if client ID already exists in db before creating new purchase.

@gzurowski Do you think passing in a unique client_id from the frontend is not needed?
Do you have other thoughts / ideas here? The big idea was to tie a transaction initiated from the FE to the BE.

Yeah, this makes sense. I will close this PR and look into using Redis instead.


N.BrotliEncoder is not a constructor

Describe the bug
Trying to use Brotli compression (via compression-webpack-plugin) in StackBlitz Node container results in an error:
N.BrotliEncoder is not a constructor

Link to the blitz that caused the error
https://stackblitz.com/edit/stackblitz-bug-no-brotli?file=vue.config.js
Steps to reproduce

Use Vue CLI 5 to scaffold project, and configure compression-webpack-plugin to Brotli-compress .js files:

// vue.config.js
const CompressionPlugin = require('compression-webpack-plugin')

module.exports = {
  transpileDependencies: true,
  configureWebpack: {
    plugins: [
      new CompressionPlugin({
        filename: '[path][base].br',
        algorithm: 'brotliCompress',
        test: /\.js$/,
      }),
    ],
  },
}

Serve project with npm run serve
Observe error in terminal and preview panes

Expected behavior
Webpack dev server uses Brotli compression for .js files (as observed in DevTools Network panel).
Screenshots
No response
Platform
Browser name  = Chrome
Full version  = 94.0.4606.61
Major version = 94
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36
performance.memory = {
  "totalJSHeapSize": 82930761,
  "usedJSHeapSize": 81318793,
  "jsHeapSizeLimit":<PHONE_NUMBER>
}
Hash = 2c9073eccdf0736e23acc49c5a06b18dd822d7ed

Additional context
No response

This is a known limitation and it's in our internal tracker.

This seems to work now.

While the Brotli error is no longer reproducible, a different error occurs in StackBlitz:
r.init is not a function

There is no stacktrace in the browser console.

Yes, we still haven't had a chance to work on this but we are aware of it and it's already tracked internally.

Still getting this in September '22, any updates?

No, unfortunately not. We'll post an update here if we land this but I can't speak to an ETA.

If it's of any use, the r.init issue can be reproduced quite easily with ts-node --esm seemingly regardless of environment as long as ts-node is installed.
Here's the error and trace I get when doing so:
TypeError: r.init is not a function
    at BrotliCompress.Brotli (https://node-p4wgwo.w.staticblitz.com/blitz.421e70ed35311a61ea4321fec3fad6b3e279633a.js:6:1726958)
    at new BrotliCompress (https://node-p4wgwo.w.staticblitz.com/blitz.421e70ed35311a61ea4321fec3fad6b3e279633a.js:6:1727133)
    at https://node-p4wgwo.w.staticblitz.com/blitz.421e70ed35311a61ea4321fec3fad6b3e279633a.js:6:1725551
    at compress (/home/projects/node-p4wgwo/node_modules/ts-node/dist/child/argv-payload.js:9:42)
    at callInChild (/home/projects/node-p4wgwo/node_modules/ts-node/dist/child/spawn-child.js:25:67)
    at bootstrap (/home/projects/node-p4wgwo/node_modules/ts-node/dist/bin.js:42:50)
    at main (/home/projects/node-p4wgwo/node_modules/ts-node/dist/bin.js:32:12)
    at Object.eval (/home/projects/node-p4wgwo/node_modules/ts-node/dist/bin.js:578:5)
    at Object.function (https://node-p4wgwo.w.staticblitz.com/blitz.421e70ed35311a61ea4321fec3fad6b3e279633a.js:15:141194)
    at Module._compile (https://node-p4wgwo.w.staticblitz.com/blitz.421e70ed35311a61ea4321fec3fad6b3e279633a.js:6:219079)

What's the best workaround for this?
Using TSX? it's kind of heavy.

Brotli support was recently added and this now works! :tada:
(Note that in Node 18, you need to run your example with NODE_OPTIONS=--openssl-legacy-provider for it to work).


Expanded send history

Type: Feature Request
Currently I can press the up arrow for a previous command.  However a multiple line history in which a previous send can be clicked on with the mouse resend the text, would be nice.
Or maybe a side window into which I can enter frequently used commands would be nice.
Thanks you for your consideration and a very useful tool.
Mike

We have placed this on the backlog. We plan to use the number of up-votes to help us prioritize, so please up-vote the issue, once we get enough we will revisit!


Components without $el will cause destroy hook to fail

https://github.com/declandewet/vue-meta/blob/776ddf62a233079dbd0c90cfdd8f8fc749188fcd/src/shared/plugin.js#L89-L93
Using vuelidate creates components that do not have an $el property, but still have _hasMetaInfo set to true, which results in the setInterval never being cleared. There may be other plugins that create similar components.
Changing the line to if (this.$el && this.$el.offsetParent !== null) return would resolve this issue.

Thank you for reporting this issue, it's fixed by #196

Cool, thanks. Glad I could help. 👍


Links doesn't work properly with history: createWebHistory

When I switch router mode from hash to web history and try to access any page from sidebar or breadcrumb, app downloads all of the files again and again like opened from scratch. It works like old non single page applications.
But when I put a router link myself like:
<router-link to="/dashboard">hello</router-link>
It works normally. Loads only page related files.

Mac OS Monterey
Chrome 97.0.4692.99 Arm

I checked AppSidebarNav.js and set custom prop to false in h function that creates RouterLink.
It solves 2 problems and creates 2 problems.
Solved problems:
1- createWebHistory is working fluidly
2- router.beforeEach was triggered twice before I set 'custom' prop to false. Now it triggers only once.
Created problems:
1- 'custom' prop's definition in node_modules>vue router>RouterLink says:
Whether RouterLink should not wrap its content in an a tag. Useful when using v-slot to create a custom RouterLink
Therefore now all sidebar li tag are wrapped in a tag. It seems doesn't affect anything badly but works.
2- breadcrumb and other components that has router-link are working like my first comment. i guess they all have this custom property :(

In AppSidebarNav.js code is look like this:
{
	default: (props) => h(
		resolveComponent(item.component),
		{
			active: props.isActive,
			href: props.href,
			onClick: () => props.navigate(),
		},
		{
			default: () => [
			item.icon &&
				h(resolveComponent('CIcon'), {
				customClassName: 'nav-icon',
				name: item.icon,
				}),
			item.name,
			item.badge &&
				h(
				CBadge,
				{
					class: 'ms-auto',
					color: item.badge.color,
				},
				{
					default: () => item.badge.text,
				},
				),
			],
		},
	),
},

You can customize the child item using render function h. Here is my code that does the trick:
{
	default: (props) => h(
		resolveComponent(item.component),
		{
			active: props.isActive,
		},
		{
			default: () =>  h(
				RouterLink,
				{
					to: props.href,
					class: 'nav-link',
					onClick: () => props.navigate(),
				},
				{
					default: () => [
					item.icon &&
						h(resolveComponent('CIcon'), {
						customClassName: 'nav-icon',
						name: item.icon,
						}),
					item.name,
					item.badge &&
						h(
						CBadge,
						{
							class: 'ms-auto',
							color: item.badge.color,
						},
						{
							default: () => item.badge.text,
						},
						),
					],
				},
			),
		},
	),
},

I have removed href and onClick props from the original code. And shifted them into RouterLink render function and href converted to "to" attribute for RouterLink. For css added the class nav-link.
That does the trick.
Hope it helps.

@zeeforum Yes it helped, thank you!

@zeeforum Yes it helped, thank you!

Links doesn't work properly with history: createWebHistory
The issue not resolved yet.


finatra-doc: fix some incorrect doc

Problem
framework.rst

Logging trait was moved by
https://github.com/twitter/finatra/commit/df00da029b91bd77e42d5e294137ea5c69cc

FlagFactory was deleted by
https://github.com/twitter/finatra/commit/134b285401268ba42b0113d09d3671535b43

link to finatra request scope was incorrect.

modules.rst

link to flags.html#modules-depending-on-other-modules was incorrect.

logging/index.rst

SLF4JBridgeHandler was moved by
https://github.com/twitter/finatra/commit/807d22f5783b057341d4149 .
so, we don't need to include Slf4jBridgeModule because,
TwitterServer will handle this.
User should use LoggerModule instead of Slf4jBridgeModule when use
finatra without TwitterServer and, user does not need to use
Slf4jBridgeModule when use finatra with TwitterServer.

Logging was moved by
https://github.com/twitter/finatra/commit/df00da029b91bd77e42d5e294137e

Solution
fix it.

Codecov Report

Merging #404 into develop will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop     #404   +/-   ##
========================================
  Coverage    94.26%   94.26%
========================================
  Files          224      224
  Lines         3314     3314
  Branches       263      263
========================================
  Hits          3124     3124
  Misses         190      190

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 06ca1d8...e2993d3. Read the comment docs.

Thanks so much @matsu-chara, this has been merged in 8194d2a.


Enable Dynamic code analysis

What is the feature request? What problem does it solve?
Reserach dynamic code analysis and if they are applicable for our project: https://bestpractices.coreinfrastructure.org/en/projects/5363#analysis

Triaged. Closed as stale.


Default block template defined in page_theme.php doesn't work anymore

Public function getThemeDefaultBlockTemplates() in page_theme.php of a theme package doesn't work for custom templates anymore in 8.4.0RC2.
For custom blocks, as well as core blocks previously it was possible to define a custom template as default in page_theme.php in order to have it applied automatically each time the related block is added to a page.
To reproduce (example with two core blocks):

Define a custom template for the file block and the autonav block as default in page_theme.php:

public function getThemeDefaultBlockTemplates()
    {
        return array(
		'file' => 'custom_file',
		'autonav' => 'custom_nav',
        );
    }

The paths to the custom block templates for "file" and "autonav" should be:

packages/custom_theme_package/blocks/file/templates/custom_file/view.php
packages/custom_theme_package/blocks/autonav/templates/custom_nav/view.php

The custom templates don't get applied when one of the blocks is added to a page.

Not sure when this function stopped working, i think it happened after upgrade from concrete5 8.3.x to 8.4.0RCx.

I can confirm this issue using the develop branch.
I also tested this in 8.3.2 and default block templates worked correctly.


Deploying a standard app using Maven module as deployment src from Community Edition fails

Steps to reproduce:

Create a Maven based AE standard app
Import into IntelliJ CE
Do a Maven build (I think there's another bug I need to file here if you try and deploy without ever having done a build)
Notice that it thinks the app is 'app engine flexible'
do a deployment
Notice that it tries to stage the App Engine packaged war as a standard Java archive and do a flex deployment.

Expected outcome:

deployment config would show it as a standard app
deployment would be turned off or be smart enough to deploy it somehow.

Just noting that I am unable to reproduce the bug hinted at by #3: the deployment correctly kicks off a maven build even its the first time for a freshly cloned maven ae standard project.
Proposed solution I will explore: if the user opens an AE standard app in CE, then the deployment window will show an error (even if all fields are properly configured) indicating that UE must be used for an AE standard app.
Actual deployment within CE is something we should explore in the future in a different PR.

There are some changes that need to go in to address this issue for UE too. Currently, if an AE standard project is opened up in Ultimate but the user doesn't configure the GAE framework as shown in the screenshot then the AE standard facet does not get applied:

Then attempting to deploy this project gives the following deployment window. Note that it recognizes it as 'flexible' and so the issue now is identical to the CE issue:

So a similar thing needs to be done for UE too - it should be recognized as a 'standard' project, but not deployable - with wording indicating that the framework needs to be configured (ideally with a link if possible).

I'm starting to wonder if we should couple the deployment strategy to the facet.  I don't like the idea of having to duplicate the logic of determining whether a module is standard or not, but perhaps the fact that a user hasn't configured a facet shouldn't determine the way we detect and deploy an application.

Where is the duplication you refer to? There wouldn't be any duplication between CE and UE. One approach I could take is adding an isDeployableToAppEngineStandard method to the AppEngineDeployableInterface. It would be hardcoded to false for the clearly non AE standard source, and for the ones that could go either way, it would be determined at creation time.

After offline discussion with @patflynn and more thinking about this, here are my current thoughts:

We will not get rid of the AE standard facet. This is a good place to add UI for things like configuring libs.

Deployment will no longer be tied to the presence of the AE framework (and therefore the facet). If a user attempts to deploy an app engine standard project without having configured the framework / facet, this should still work - deployment is currently only dependent on an SDK which was moved out of the facet. In order to make this work we will need a deployment-config-time check to see if the project is an AE standard project.

If attempting to deploy an AE standard app with no viable deployment source - e.g. in CE with no exploded-war types - the user will be shown an error message and deployment will be disabled (in a future PR we can add support for maven based standard apps). This behavior is distinctly different than what currently happens where in this case we just assume its a flex deployment.

@patflynn, @joaoandremartins - what do you guys think of this plan?

Sounds good.  You mention removing the SDK config from the Facet. I thought
it was at the application level anyway.  Do you mean just removing the UI
that passes through to the application level config?
On Tue, Aug 23, 2016 at 12:10 PM, Etan Shaul<EMAIL_ADDRESS>wrote:

After offline discussion with @patflynn https://github.com/patflynn and
more thinking about this, here are my current thoughts:

We will not get rid of the AE standard facet. This is a good place
to add UI for things like configuring libs.

Deployment will no longer be tied to the presence of the AE
framework (and therefore the facet). If a user attempts to deploy an app
engine standard project without having configured the framework / facet,
this should still work - deployment is currently only dependent on an SDK
which was moved out of the facet. In order to make this work we will need a
deployment-config-time check to see if the project is an AE standard
project.

If attempting to deploy an AE standard app with no viable deployment
source - e.g. in CE with no exploded-war types - the user will be shown an
error message and deployment will be disabled (in a future PR we can add
support for maven based standard apps). This behavior is distinctly
different than what currently happens where in this case we just assume its
a flex deployment.

@patflynn https://github.com/patflynn, @joaoandremartins
https://github.com/joaoandremartins - what do you guys think of this
plan?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/gcloud-intellij/issues/820#issuecomment-241786534,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHf5HYMen3alzwkcyJlP61vEXX8q9I0-ks5qixtxgaJpZM4JljA4
.

I meant that the SDK was already removed from the facet. There is no longer any UI on the facet level for configuring the SDK.

If we're deploying standard apps as flex apps, because we can't deploy them as standard, I agree we should stop this. I would be very surprised to see it happening as a user, and just spinning up flex instances might incur in more costs than if standard instances were spun up.
I don't know what to think about declaring libraries at the facet level. On one hand, there is already the Libraries screen where, theoretically, that should be handled. On the other hand, as a user, I think it's more intuitive to specify which App Engine libs I want to select from an App Engine screen, rather than a generic Libraries one, but I might be isolated here.
Apart from specifying libs, I don't see any other use for a facet. Could we use it to proxy appengine-web.xml settings like app ID, version, etc?

@joaoandremartins regarding your lib point: I see the facet as a good place to create a more user friendly UI for configuring the libs. Rather than automatically adding everything, or having the user manually browse to jars, the facet could expose a UI that allows them to select what they want (similarly to how it currently works for the soon-to-be-removed datanucleus stuff).
I'm not sure at the moment what else we'd want to use the facet for, but I anticipate using it more in the future. But regardless I don't think its a good idea to remove it altogether.

Yes, I agree with you. I actually think we could use the facet as a way to configure an App Engine app settings management (https://cloud.google.com/appengine/docs/java/config/appref), if I'm not misunderstanding what facets should be used for.

I think that's exactly what they're for.  Good idea.
On Tue, Aug 23, 2016 at 4:20 PM, João Martins<EMAIL_ADDRESS>wrote:

Yes, I agree with you. I actually think we could use the facet as a way to
configure an App Engine app settings management (https://cloud.google.com/
appengine/docs/java/config/appref), if I'm not misunderstanding what
facets should be used for.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/gcloud-intellij/issues/820#issuecomment-241863912,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHf5Ha0bbpFd9Vg3bgqDvKelOXQe0bbVks5qi1X6gaJpZM4JljA4
.

That's not a bad idea. But it would get a little hairy though having both the appengine-web.xml and the these facet settings.

The way I see it, the facet would serialize on appengine-web.xml. We could maybe even reuse the same UI for the facet and deployment, where I think you're already specifying some deployment settings.

Ah yea. Having the facet and appengine-web.xml synced would be really nice. It solves the pain of having to write xml with a nice UI.

An update to the plan for this that I outlined previously. Specifically dealing with this point:

If attempting to deploy an AE standard app with no viable deployment source - e.g. in CE with no exploded-war types - the user will be shown an error message and deployment will be disabled (in a future PR we can add support for maven based standard apps). This behavior is distinctly different than what currently happens where in this case we just assume its a flex deployment.

Because of limitations with the way IJ handles the deployment panel for cases with no deployment sources - specifically it doesn't show any custom panel and gives us no opportunity for showing error messages - I am leaning towards just having an empty deployment panel for this scenario (clicking run will pop up a generic error saying no deployment source was selected):

The alternative would be to create a dummy deployment source just for the sake of being able to show an error message to the user. However, this doesn't feel clean to me and there is no way to visually mark the deployment source with red text (or something similar).

I think this is fine in the context of us providing better support shortly
after.
On Mon, Aug 29, 2016 at 4:46 PM, Etan Shaul<EMAIL_ADDRESS>wrote:

An update to the plan for this that I outlined previously. Specifically
dealing with this point:
If attempting to deploy an AE standard app with no viable deployment
source - e.g. in CE with no exploded-war types - the user will be shown an
error message and deployment will be disabled (in a future PR we can add
support for maven based standard apps). This behavior is distinctly
different than what currently happens where in this case we just assume its
a flex deployment.
Because of limitations with the way IJ handles the deployment panel for
cases with no deployment sources - specifically it doesn't show any custom
panel and gives us no opportunity for showing error messages - I am leaning
towards just having an empty deployment panel for this scenario (clicking
run will pop up a generic error saying no deployment source was selected):
[image: image]
https://cloud.githubusercontent.com/assets/1735744/18066796/ed9df292-6e07-11e6-9d47-90e2ccaf71b1.png
The alternative would be to create a dummy deployment source just for the
sake of being able to show an error message to the user. However, this
doesn't feel clean to me and there is no way to visually mark the
deployment source with red text (or something similar).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/gcloud-intellij/issues/820#issuecomment-243250596,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHf5HXwwqq8uz-vGMvjk0aLwKDdgVwQJks5qk0UugaJpZM4JljA4
.


dev: Separate countdown and stopwatch reducers #11

Link: #11
Description:

Separated reducers
Added countdown dispatch and actions
Fix countdown export names on
Added working basic principle on counter setting
Added sass dependencies for future use

Merged.


feat: Reduce scala modules and publish jar packages with scala versions at the same time(#4192)

What is the purpose of the change
1, Reduce scala modules in linkis-storage module.
2, Translate linkis-storage service classes from Scala to Java  using Chatgpt.
3, Add unit test class with new code.
Related issues/PRs
Related issues: #4192
Related pr:#4192
Brief change log
1, Reduce scala modules in linkis-storage module.
2, Translate linkis-storage service classes from Scala to Java  using Chatgpt.
3, Add unit test class with new code.
4, finish test linkis-storage  module ,using hiveEngine, shell, pipeline engine, io engine.
Checklist

[x] I have read the Contributing Guidelines on pull requests.
[x] I have explained the need for this PR and the problem it solves
[x] I have explained the changes or the new features added to this PR
[x] I have added tests corresponding to this change
[x] I have updated the documentation to reflect this change
[x] I have verified that this change is backward compatible (If not, please discuss on the Linkis mailing list first)
[x] If this is a code change: I have written unit tests to fully verify the new behavior.

I still need to continue the review, you can not modify it now

I still need to continue the review, you can not modify it now

Ok , I got it.

Thank you, I have finished the review

Thank you, I have finished the review

I have modified code, you could have a further review .Thanks.


"Access denied" when retrieving access token for service account credential

I have installed Google.Cloud.Speech.V1P1Beta1 -Version 1.0.0-beta02 package. And in C#, I am trying to run this QuickStart given here https://cloud.google.com/speech-to-text/docs/quickstart-client-libraries
It executes properly before the line
var response = speech.Recognize(new RecognitionConfig()
{
Encoding = RecognitionConfig.Types.AudioEncoding.Linear16,
SampleRateHertz = 16000,
LanguageCode = "en",
}, RecognitionAudio.FromFile("audio.raw"));
And after this no response is received. Please guide

I don't see that line of code in the sample - have you changed it? Also, could you clarify what you mean by "after this no response is received"? Do you mean:

An exception is thrown
A response was received, but response.Results is empty
The call never completed

?
I've just had it working correctly with a wav file - the sample rate was 44100 rather than 16000, but that's all I had to change in the sample code.

This is what Is happening at my end. Nothing is happening.

The call never gets completed. Attaching the screenshot for reference

I would suggest adding some more diagnostics then - adding Console.WriteLine(response) for example would show the complete response.
My guess is that for whatever reason, no speech is being recognized. I can't really tell why without knowing what your file is like.
It's not clear what the screenshot is showing, to be honest - if you're never hitting the breakpoint, that would suggest that SpeechClient.Create is never completing.

Yes, I am able to hit the breakpoint on the first line and even on the second. But after that, breakpoint disappears and there is nothing happening.

Even if i replace it with a .wav file, it doesnt do anything

whatstheweatherlike.zip
This is the wav file im using

Okay, I've used your wav file and seen output of "what's the weather like" - having commented out the sample rate line entirely. I see this whether I'm using Google.Cloud.Speech.V1 or Google.Cloud.Speech.V1P1Beta1. (I'd suggest using Google.Cloud.Speech.V1 for the moment though, just to see if that makes a difference.)
It would be useful if you could add a line of code at the end, just Console.WriteLine(response);, and then run the code from the command line - that way we don't have anything to worry about in terms of debugger interaction. If you could do that and let me know the result, that would help.
Additionally, could you let me know anything "interesting" in terms of your network configuration? Are you behind a proxy, for example? We've seen issues where gRPC-based APIs (such as this) don't work with some older proxies that don't support HTTP 2 properly.

It never hits the Console.WriteLine(response); line.

I tried turning my firewall off, still no luck

I'm surprised that didn't end up surfacing before. Hmm. That suggests you can't get a token for your credential - can I check that this is a service account credential? (I assume you've set GOOGLE_APPLICATION_CREDENTIALS to the appropriate path?)
As an aside, copying and pasting the text from the console is generally more useful in issues than showing screenshots. Just use a code block with a type of "text".

How do i show you the service account credential? (Yes, I have set the environment variable to the correct path)

I am getting an inner exception of Access is denied. And the message shows , an error occurred sending your request

Okay, well at least that's simpler to work with. Are you certain this service account credential hasn't been revoked? Perhaps create a new one and try with that, just to validate? (I'm going to edit the title of the issue to indicate the immediate issue, although later I may create a new issue to work out why you saw a hang rather than the failure to start with.)

I did not revoked but i did generate the key file again, can that be problem causing?

I'm not sure what you mean by "generate the key file again". Once a service account credential file has been downloaded, it can't be downloaded another time.
Are you certain you've got a service account file rather than an "API key"? (That has a "regenerate key" option.)
On the Credentials part of the Google Cloud Console, I'd expect to see an entry under "Service account keys" rather than under "API keys".

You mean the account that i created using my credit card details?

No, I mean a service account. At the moment I really don't know what kind of key you've got, but I'd expect you to have a service account for your project already. On the Credentials screen you can create service account credentials for your project - click on the "Create credentials" button and then select "Service account key". On the next screen, select a service account in your project (you may well only have one) and leave the format option as JSON (the default). Click on "Create" and you'll get the JSON file that contains the service account credentials.

See there are four service accounts and one key.

That's one API key - but four service account keys. Ignore the API key entirely - it's not what you want. You want a service account key.
It looks like you've created four service account keys today - are those the ones you were using in the earlier tests?
If you look at the JSON file your environment variable refers to, it should include "type": "service_account" - does it?

Yes it does

Okay. Next up, let's remove all the defaulting mechanism (including the environment variable) and load the file directly. Could you try this code instead, with the path to your JSON file filled in at the right place in the obvious way?
using Google.Apis.Auth.OAuth2;
using System;

public class AuthTest
{
    public static void Main(string[] args)
    {
        ICredential credential = GoogleCredential
            .FromFile(@"PATH_TO_YOUR_JSON_FILE_HERE")
            .CreateScoped("https://www.googleapis.com/auth/cloud-platform");
        // Note: not for use in production code! Should be okay in a test console app.
        string token = credential.GetAccessTokenForRequestAsync().Result;
        Console.WriteLine(token);
    }
}

The same error occurs. Access Denied

Okay, at this point it's very hard to know what's going on.
Could I check which country you're running this from? I can't remember whether there are geographical restrictions, but let's try to rule that out as a starting point...

Pakistan

Okay, I doubt that's the problem then. Next step - let's try creating a new service account for testing purposes, in case there's something off with the one you're using at the moment:

Go to https://console.cloud.google.com/iam-admin/serviceaccounts and select "Create service account"
On the next screen, specify a "Service account name" like "authtest". The middle field can be left as the default. Add a description for the final field.
On the next screen, just click "Continue" (you don't need to add any more roles)
On the final screen, click "Create key" to create a new JSON file. (You don't need to add anything in the "Grant users access to this service account" area.)

Then try again with that service account credential. If that gives the same error, I'll need to ask internally, as I can't see why it would fail...

Any updates on this? It would be nice to understand what's going on.

I tried with a new service account but my account has been suspended after that. Can't update until my accounts unlocked. Thanks
Sent from Yahoo Mail on Android
On Tue, Feb 5, 2019 at 5:19 PM, Jon<EMAIL_ADDRESS>wrote:
Any updates on this? It would be nice to understand what's going on.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

They reactivated the account, i recreated the service account and now its working well. Thank you @jskeet for your constant help and availability. I truly appreciate it :) 👍

Righto, will close the issue now.

@jskeet How to turn this grpc tracing off? in C#

I am getting this error now -> Status(StatusCode=Unavailable, Detail="Getting metadata from plugin failed with error: Exception occurred in metadata credentials plugin. System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.Http.WinHttpException: Access is denied
at System.Net.Http.WinHttpHandler.ThrowOnInvalidHandle(SafeWinHttpHandle handle)
at System.Net.Http.WinHttpHandler.EnsureSessionHandleExists(WinHttpRequestState state)
at System.Net.Http.WinHttpHandler.d__101.MoveNext()
--- End of inner exception stack trace ---
at Google.Apis.Http.ConfigurableMessageHandler.d__59.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Net.Http.HttpClient.d__58.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Google.Apis.Auth.OAuth2.Requests.TokenRequestExtenstions.d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Google.Apis.Auth.OAuth2.ServiceAccountCredential.d__23.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Google.Apis.Auth.OAuth2.TokenRefreshManager.d__12.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Google.Apis.Auth.OAuth2.TokenRefreshManager.d__10.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Google.Apis.Auth.OAuth2.ServiceAccountCredential.d__24.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Grpc.Auth.GoogleAuthInterceptors.<>c__DisplayClass2_0.<b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Grpc.Core.Internal.NativeMetadataCredentialsPlugin.d__12.MoveNext()")


Create a new unpartitioned parquet sink which does NOT write _SUCCESS

We have a use case where we want to have an unpartitioned sink, but do not want to write the _SUCCESS flag, as that is written later once metadata is written to the same sink. This is a drop-in replacement of ParquetScroogeSource which acts as a non-committing sink.

Closing in favour of https://github.com/CommBank/ebenezer/pull/154


How to attach the debugger to a service without Visual Studio?

I'm trying to hit a breakpoint in a service while working with Rider.
I tried the following but never managed to get the breakpoint to work

Debug the AppHost project from the UI
Run AppHost from the console and attach the AppHost process (couldn't see the processes for other services)

Same question for VS Code + C# Dev Kit too.

IDE Integration is required - this is the only issue in Rider repo I could find on Aspire.

Hitting the breakpoint also seems to also be an issue with within Visual Studio.  This is my experience when running the AspireWithDapr sample.

Can attach the debugger manually via "Debug > Attach to process" and selecting the required application, in my case the Dapr API Service.

@PShipstone what version of Visual Studio are you using? Debugging all orchestrated projects when launching the AppHost project requires Visual Studio 2022 17.9 preview 1

IDE Integration is required - this is the only issue in Rider repo I could find on Aspire.

Everyone who is interested in rider support should probably upvote this issue in the jetbrains bug tracker.

Any progress with this?

Personally, I opened the issue just to receive guidelines regardless the best approach to debug a project hosted in Aspire.
As I mentioned in the opening post, I didn't see any process for the projects and attaching to the AppHost.exe process didn't mark the debugger as attached.
So the question is:
Does a Aspire application require special arrangements from the IDE for a debug experience?

oh, here they are!

Thanks for the clarification!


Pass extra link arguments to all linked targets

Still missing the build.rs keywords to choose more specifically which targets link args should be applied to, but the main PR mentions we can do that later.
Need anything else?

@reitermarkus -- ping?
Rebased onto upstream master again to fix the merge conflict. I can just move this to an upstream PR if you're no longer focused on it.

Thanks for the ping, I didn't get a notification about this because apparently forks aren't watched automatically. I'll rebase my branch.

Thanks, @nshp! I cherry-picked this in https://github.com/reitermarkus/cargo/commit/3a603e773dfc42b3b0005bad4eb1336ddefd06fd.

@reitermarkus Looks like the documentation patch was lost to the git-merge ether somehow:
diff --git a/src/doc/src/reference/unstable.md b/src/doc/src/reference/unstable.md
index 4fdaca896..1710779bd 100644
--- a/src/doc/src/reference/unstable.md
+++ b/src/doc/src/reference/unstable.md
@@ -29,7 +29,8 @@ in build scripts:
 * [`cargo:rustc-link-arg-bins=FLAG`](#rustc-link-arg-bins) — Passes custom
   flags to a linker for bin crates.
 * [`cargo:rustc-link-arg=FLAG`](#rustc-link-arg) — Passes custom
-  flags to a linker for all supported crates.
+  flags to a linker for `cdylib` crates, `bin` crates, examples binaries,
+  benchmarks, and tests.

 #### `cargo:rustc-link-arg-bins=FLAG`

Feel free to just commit that yourself if you think it's valuable.


The Login form is not working

The Login form is not working ,
The Login Button is not initiating any action .

The Login form is not working ,
The Login Button is not initiating any action .


Question about MAX_LINE_LENGTH in parsing.py

Hello,
Thanks for your working. I'm using this package to parse email but I meet a problem.
The question is raised from https://github.com/mailgun/flanker/blob/8421b0eeea977b813f8edd39619a8c17d3cd41a7/flanker/mime/message/headers/parsing.py#L61-L65
Is the MAX_LINE_LENGTH necessary?

In general I am all for limits, they help protect limited system resource and do no let operations run excessively long.
The value of this particular limit is a legacy that was introduced long time ago and nobody remembers why. It makes no sense. If anything it should be 998. And we should probably updated it to be that way.
But why are you asking? Have you seen email headers longer than 10k in the wild?

We decided to get rid of this limit after all. Fixed in #184.

Thanks for letting me know the issue is considered!


Need the ability to add to collection an action or function in Resource Explorer

As a user, when I am on Resources Explorer and I click 'more actions' on a function
I want to see an 'Add to collection' option
So I can add the function to my collection
Acceptance Criteria


Unifying all devices using resin-rootA/B as root partition

Unifying boot, by using partition label resin-rootA/B instead of physical mmcblk0p2/3

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

@resin-jenkins ok to test

As we disucssed in the other PR please merge this in https://github.com/resin-os/resin-raspberrypi/pull/166 and address @floion 's comments.


A preset that has a (peer) dependency on a package in a private repo

I have a preset that has a peer dependency on a package that's published on a private github repo. When I use presetter use it takes a long time and then finally crashes complaining it cannot find this dependency on registry.npmjs.org which makes sense as it isn't there.
I tried to put this configuration in a .npmrc in the module that wants to use the preset, but it didn't work. (I'd prefer to have this .npmrc to be part of the preset anyway).
I tried passing through this configuration through the npm_package_repository_url environment variable but it wasn't successful.
Perhaps there's a better way to do this I'm not aware of, or perhaps presetter needs support for this in some way.

I'm guessing if the private registry setting is missing.
In line with npm, when using a private registry you have to use
npx --registry <path to a private registry> presetter use <a preset package in your private registry>

Would you mind sharing with my the exact command you used above?

@faassen node 14 and private registry supports have been added in v3.1.
It should support all of your use cases now :)


The kube files generated by goctl do not work in the new version of k8s

The autoscaling/v2beta1 API version of HorizontalPodAutoscaler is no longer served as of v1.25.
see https://kubernetes.io/docs/reference/using-api/deprecation-guide/
see https://kubernetes.io/docs/reference/using-api/deprecation-guide/#horizontalpodautoscaler-v125

[resource mapping not found for name: "basic-rpc-hpa-c" namespace: "go-zero-looklook" from "basic-rpc.yaml": no matches for kind "HorizontalPodAutoscaler" in version "autoscaling/v2beta1"
ensure CRDs are installed first, resource mapping not found for name: "basic-rpc-hpa-m" namespace: "go-zero-looklook" from "basic-rpc.yaml": no matches for kind "HorizontalPodAutoscaler" in version "autoscaling/v2beta1"
ensure CRDs are installed first]

kubectl api-versions | grep autoscaling

autoscaling/v1
autoscaling/v2
autoscaling/v2beta2

kubectl version --output yaml

clientVersion:
buildDate: "2023-01-18T15:51:24Z"
compiler: gc
gitCommit: 8f94681cd294aa8cfd3407b8191f6c70214973a4
gitTreeState: clean
gitVersion: v1.26.1
goVersion: go1.19.5
major: "1"
minor: "26"
platform: darwin/arm64
kustomizeVersion: v4.5.7
serverVersion:
buildDate: "2022-11-09T13:29:58Z"
compiler: gc
gitCommit: 872a965c6c6526caa949f0c6ac028ef7aff3fb78
gitTreeState: clean
gitVersion: v1.25.4
goVersion: go1.19.3
major: "1"
minor: "25"
platform: linux/arm64


Skip braces on single-line if-statements

What is the feature you'd like to have?
I want single line if-statements to render in their short form without braces, since that's how C works and it will make the code more compact. I still want to have braces around the other scopes, just not around short ones.
Is your feature request related to a problem?
General IL presentation and ease-of-use
Are any alternative solutions acceptable?
I could use the mode with no braces, but then I get kinda lost when many scopes end all at once, so I do still want some braces, just only necessary ones.
Additional Information:
Also need to consider 1-line vs 1-statement blocks, eg you can have nested for-loops but if each only has 1 statement you could theoretically remove all the braces. I only want to have the innermost one's braces removed though, otherwise it gets too confusing.

This has been implemented in >=4.1.5403-dev via the "rendering.hlil.renderBracesSingleStatement" setting


Revert "Add Operations of Array by Gaurisha R Srivastava"

Reverts div-bargali/Data-Structures-and-Algorithms#90

Why do you want to revert it? @Gaurisha21

Why do you want to revert it? @Gaurisha21

Because I had not Opened an Issue for it

That was before the rule changes. Since it was merged, it means it is valid PR and accepted.

That was before the rule changes. Since it was merged, it means it is valid PR and accepted.

Oh okay, I am really sorry. I am really new and did not know the actual working amd rules.
But now I have ipened an Issue for the same. And yuo have assigned it to me, will it work?
Please forgive me for such a newbie mistake.

@div-bargali dear sir, I, hereby, request you to kindly
'Un-Revert' the Pull Request,if possible, as I did not know that it was a valid Pull Request. Sir, I understand that this is highly unprofessional and irritating, but please consider this as I am a total beginner and had no idea on how this works. Please consider this as a valid PR and Un-Revert the merge.


Looking for work

Am a Ruby on Rails developer and have successfully completed multiple projects based on PEATIO. If you are in need of a developer, please let me know.
Services include:
1 - Adding new coins
2- Customizing the front end
3- Setting up hot and cold wallets
4- Setting up production environment
5- Guiding a team in production
Contacts:
Skype: waiswa.joshua.
Email<EMAIL_ADDRESS>Thanks.

https://github.com/peatio/peatio/issues/842


engrampa: 1.26.0 -> 1.27.0

Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

1.27.0 is a development release. Usually we wait for the stable release of mate packages. The next one would be 1.28.0.

Oh, they do odd-unstable releases? 🙄


python311Packages.weasel: remove dev and lint depedencies

Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 274096 run on x86_64-linux 1

28 packages built:

python310Packages.fastai
python310Packages.fastai.dist
python310Packages.spacy
python310Packages.spacy-lookups-data
python310Packages.spacy-lookups-data.dist
python310Packages.spacy-transformers
python310Packages.spacy-transformers.dist
python310Packages.spacy.dist
python310Packages.textacy
python310Packages.textacy.dist
python310Packages.textnets
python310Packages.textnets.dist
python310Packages.weasel
python310Packages.weasel.dist
python311Packages.fastai
python311Packages.fastai.dist
python311Packages.spacy
python311Packages.spacy-lookups-data
python311Packages.spacy-lookups-data.dist
python311Packages.spacy-transformers
python311Packages.spacy-transformers.dist
python311Packages.spacy.dist
python311Packages.textacy
python311Packages.textacy.dist
python311Packages.textnets
python311Packages.textnets.dist
python311Packages.weasel
python311Packages.weasel.dist

</details


[Suggestion] Lightweight version of Moya?

Hey guys 👋
I am using Moya in some projects and I love how it abstracts Alamofire and how easy it is to use. ❤
But, personally, I see a problem with Moya when it comes to projects that does not necessarily need that much networking.
For instance, there are projects that just need a small networking provider to request JSON data from an endpoint and map it to a Decodable object. I would rather write my own provider rather that installing Moya(together with Alamofire and Result) which increases the amount of dependencies for something that supposed to be easy.
My suggestion would be to introduce a lightweight Moya version (i.e Moya-Lite as a separate library) with no other dependencies to support just some basic, common networking tasks.

Working only with Decodable objects.

Similar to this: https://github.com/jdisho/TinyNetworking
(My intention is not to advertise my networking library, but more as an example to better understand my suggestion.)
Hopefully I was clear otherwise I am open to answer some questions.
Let me know what do you think. 😊

@jdisho Thanks for writing this up 👍
To be honest, I’m not sure what a lighter weight version of Moya would look like. The Moya codebase is already extremely small and well focused. I’m not sure if a thinner layer could even be considered Moya anymore.
It sounds like in this situation someone should just be using Alamofire directly. Making the request you described above with Alamofire is less than 15 lines of code with decoding included.
Sent with GitHawk

You misunderstood my suggestion @SD10, probably I am not explaining it well 😄
What I am suggesting is to have a Moya-Lite version with no dependencies on Alamofire and Result, with the same project goals and covering basic networking cases like exchanging data with some endpoints using CRUD methods and working only with Codable objects.
I don't have anything against Moya's usability, it is easy, understandable, concise and as you mentioned, well focused. I am concerned about the dependencies it introduces when installing it, Alamofire and Result in some cases.
Before embedding a framework to any project, I make sure that I will use its functionalities as much as possible. For example, I have worked in many projects where only a small networking provider (a wrapper around URLSession with less than 500 lines of code) to request data from some endpoints and decode them, was enough for the whole networking part and using Alamofire just for that is not necessary.
The same thing is also when it comes to Moya.

@jdisho I have similar feelings when it comes to dependencies but Alamofire is a reasonable dependency IMO. It's used in ~600k apps with ~40million downloads according to CocoaPods alone. And if you examine the Alamofire codebase it's not as large of a project as you'd expect it to be.
As for Result, I feel you on this one. However, it's really lightweight too 😆 It just doesn't make sense for Moya to have its own internal Result type, because the official Result dependency offers a small set of more robust features.
So I'm not sure I really see the benefits of building another project that is free of these dependencies.
I'm also thinking this discussion could be possibly related to:
#556: Any possibility for a network abstraction engine
#495: Making Moya more ignorant
I've played around with these ideas but I could never think of any architecture that provides more value here
Let's see if any other Moya contributors can provide any input

Especially since we rely heavily on Alamofire, I don't see this making too much sense. I don't know the initial reasons to have Alamofire as a dependency though, and I do not know if it would be worth it dropping the dependency at this point.

Are there any strong opinions or instances were you really need Moya over URLSession when dependency size is important?

I am not saying to get rid of Alamofire and change the core part of Moya.
I am suggesting to create another OSS as a lightweight version of Moya, just as a wrapper around URLSession supporting some common and basic networking tasks. Just requesting data with parameters or with an Encodable object and decoding the response. Similar to this
Thoughts? @BasThomas

I get it, but I still don't see the point of it:

Are there any strong opinions or instances were you really need Moya over URLSession when dependency size is important?

When it comes to projects were 40-50 endpoint have to be implemented and some of them have different Tasks to do(requesting with parameters, encodable object to body, uploading, downloading), I will use Moya because it is easier to use, offers less coupling. At this case I don’t care about the dependency size. @BasThomas
I see the dependency size as a problem when it comes to projects that does not require that much networking tasks. 😕
Sent with GitHawk

But in the smaller projects you would probably not need the “overhead” of Moya, and you can use a simple URLSession. Right?
Sent with GitHawk

Right @BasThomas , the "overhead" of Moya in not necessary in smaller projects, that's why I am suggesting to have a light version of it, with the same interface, as a wrapper around URLSession 😄

I feel like if the project is that small that it doesn't warrant the use of Moya, it doesn't warrant the use of a network abstraction beyond URLSession or Alamofire in general.
Personally, I don't really care about my dependencies in small projects, it's quite the opposite actually. I don't want dependencies in a large project because the effort to replace them is massive. I could change networking layers on an app that only has a handful of requests and not be bothered in the slightest.

Thanks for your opinions 😊 @BasThomas @SD10
What do other @Moya/contributors think?

I understand the intent of the original author but I disagree on it.
I prefer using a heavily-tested dependency such as Alamofire than to diverge Moya into two smaller dependencies. Especially as I don't anticipate it'll bring any performance benefit whatsoever to use URLSession without any dependencies (as Alamofire does that, and does it well)
My 2 cents.

Making a library that has the features of Moya but doesn't rely on Alamofire wouldn't make the library smaller, it would make it bigger, and that much more code for contributors to maintain.  If a project is trying to minimize dependencies then something like Moya (which is, at its heart, an interface to a wrapper for URLSession) is just not a good match.  Using URLSession directly, or Alamofire directly, would both be better options.

Thanks for your opinions 😊

@jdisho I like this idea and plan to either write a small library (maybe named SimpleMoya?) or a GitHub gist with an article explaining on how to use it based on an implementation similar to this. You can find a usage example here in the same project.
In my opinion, using this SimpleMoya approach can be seen as a first step for people who don't really understand Moya immediately (and I've come across many of them) but still want a somehow structured approach in writing their APIs. The advantage of such a tiny implementation would be to learn the basics of Moya. But such a project or article should also have clear instructions on how to migrate to the "full Moya" experience once convinced of this method of implementing APIs.
Since this thread was closed by the OP himself and because the title "lightweight" is misleading, I'm reopening this and changing the title to "simpler". My purpose of keeping this open is to keep the discussion open about if the Moya community should use this "simplified" approach for teaching new Moya users the basic ideas of Moya and how this could be done specifically.

Sorry for the delay, I'm actually sympathetic to @jdisho's issues, I'm currently working on an app where we're incredibly constrained on binary size, so I wouldn't be able to take a dependency like Alamofire, I can't use Moya because of that, so I have a minimal reimplementation I've been using with graphql.
I'd love to see a variant of Moya that takes out Alamofire (more likely, offers a compile time option to use either Alamofire or NSURLSession).

Microya!

@orta I liked your name suggestion so much that it motivated me to actually refactor the Moya-inspired simple network abstraction layer I linked above and actually bring Microya to life:
https://github.com/Flinesoft/Microya
I hope you're fine with me using the name. 💯 points for that idea! 😆

Microya is a great name, but I think that more recognizable name is MicroMoya or MoyaMicro.

Nice work! - I think we should link to Microya from the README in here?

@orta yeah, there is also the Community Project section.
I guess there could be many projects that try to simplify Moya in its own way. This one is a nice alternative when you can't afford Moya itself but still want some abstraction layer on top of your JSON api. Still, it lacks many features that Moya is known for and this kinda proves the point that we, as a Moya community, shouldn't really make our own micro version of Moya.

As the size of Moya increases, it wouldn't be a bad thing to look at breaking up the repo into logical modules. This would allow people to create an Alamofire-Moya adapter (using current code) or whatever is their session framework of choice.

@kgnadinger one thing to be aware of is that breaking the repo into smaller pieces introduces significant amounts of overhead for the maintainers. Additions to the code, like alternate adapters, could be done in the current repo setup.
I'm not saying we can't (or shouldn't) do this, but it does have costs that need to be weighed.


Ensure manager gets set into runner group creation

Codecov Report
Attention: Patch coverage is 50.00000% with 1 lines in your changes are missing coverage. Please review.

Project coverage is 85.84%. Comparing base (3a88a76) to head (57a27cb).

Files
Patch %
Lines

runner_manager/jobs/startup.py
50.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #588      +/-   ##
==========================================
- Coverage   85.92%   85.84%   -0.09%
==========================================
  Files          31       31
  Lines        1243     1243
==========================================
- Hits         1068     1067       -1
- Misses        175      176       +1

Flag
Coverage Δ

api
66.53% <50.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Floorplan failed to work with custom cell in interactive mode

Description
Hi, I am trying to put a custom cell but still in sky130 tech into a simple example design, i.e. using a custom inverter cell instead of the standard cell inverter to run the design flow of an inverter. The interactive mode is required to complete the design flow. For putting a custom cell into a design, the corresponding lef file (basically cell lef) should be included as well, e.g. adding set lefs [path] and add_lefs -src $lefs is needed. The run_synthesis works well, however, the run_floorplan pops out an error says No macros found. The error message can be found in the log section. Did I miss something? Could anyone point me in the right direction? I will appreciate it!
Expected behavior
The custom cell can be added to the design, i.e. the tool will use the custom cell to run the flow, the interactive mode can be completed without errors.
Environment
WARNING: issue-survey appears to be running inside the OpenLane
container.

This makes it difficult to rule out issues with your
environment.

Unless instructed specifically to do so, please run this command
outside the OpenLane container.
---

Kernel: Linux v4.15.0-191-generic
Distribution: centos 7
Python: v3.6.8 (OK)
OpenLane Git Version: c91abed14f73b142b0e0b5e7f43425471256397f
pip: INSTALLED
python-venv: INSTALLED
---
PDK Version Verification Status: OK
---
Git Log (Last 3 Commits)

c91abed 2022-08-31T13:14:54+02:00 Streamlined PDK/SCL Configuration (#1297) - Mohamed Gaber -  (HEAD -> master, origin/master, origin/HEAD)
ae089d8 2022-08-31T11:38:39+02:00 Update OpenROAD, Magic + DEF DRC Enhancement (#1296) - Mohamed Gaber -  ()
e14b1fd 2022-08-29T11:43:42+02:00 Add vertical and horizontal spacing to `add_pdn_stripe` calls (#1289) - Dinesh Annayya -  (tag: 2022.08.30)
---
Git Remotes

origin  https://github.com/The-OpenROAD-Project/OpenLane.git (fetch)
origin  https://github.com/The-OpenROAD-Project/OpenLane.git (push)

Reproduction Material
issue_reproducible.zip
Logs
[STEP 6]
[INFO]: Running basic macro placement (log: designs/inverter/runs/RUN_2022.09.02_18.35.04/logs/placement/6-basic_mp.log)...
[ERROR]: during executing openroad script /openlane/scripts/openroad/basic_mp.tcl
[ERROR]: Log: designs/inverter/runs/RUN_2022.09.02_18.35.04/logs/placement/6-basic_mp.log
[ERROR]: Last 10 lines:
[INFO ODB-0226] Finished LEF file:  /openlane/designs/inverter/runs/RUN_2022.09.02_18.35.04/tmp/merged.nom.lef
[INFO ODB-0127] Reading DEF file: /openlane/designs/inverter/runs/RUN_2022.09.02_18.35.04/tmp/placement/5-global.def
[INFO ODB-0128] Design: inverter
[INFO ODB-0130]     Created 2 pins.
[INFO ODB-0131]     Created 1 components and 6 component-terminals.
[INFO ODB-0133]     Created 2 nets and 2 connections.
[INFO ODB-0134] Finished DEF file: /openlane/designs/inverter/runs/RUN_2022.09.02_18.35.04/tmp/placement/5-global.def
[ERROR MPL-0004] No macros found.
Error: basic_mp.tcl, 36 MPL-0004
child process exited abnormally

It seems that OL asssumes that EXTRA_LEF implies macros which isn't true here.

It seems that OL asssumes that EXTRA_LEF implies macros which isn't true here.

I see. Do you think it works when I do not add EXTRA_LEF in the config.tcl? But how the OL can config the custom cell lef?

I think the OL team will need to fix this.  In the short term you could comment out the call to basic_macro_placement in /scripts/tcl_commands/floorplan.tcl

@AyaseErii
can you share your config.tcl used to run this flow?

Yeah: EXTRA_LEFS is for macros. We'd need to consider a way to properly support custom cells, which isn't as simple as it sounds sort of adding a variable like DONT_ASSUME_MACROS or something similarly cryptic.
I'd ask you to use the manual workaround provided by @maliberty for now until we can address this problem.

Thanks! Commenting out the basic_macro_placement helps to pass the floorplan. However, another error pops out when I was running write_powered_verilog. The error shows as below:
% write_powered_verilog
[ERROR]: write_powered_verilog missing required -output_def

Then I use write_powered_verilog -output_def -output_verilog, the tool pass one step of Writing Powered Verilog but pops out can't read "arg_values(-output_verilog)": no such element in array. Since it was not an error, I continued to the last command run_antenna_check. However, the final .gds does not include the custom cell at all. Does anything go wrong?

We just never tried custom cells, frankly, so there are a whole bunch of tools that are likely to misbehave.
Would you mind sharing the original design folder (and the files for the custom cell)? I can try to come up with a workaround until we implement proper support for custom cells.

We just never tried custom cells, frankly, so there are a whole bunch of tools that are likely to misbehave.
Would you mind sharing the original design folder (and the files for the custom cell)? I can try to come up with a workaround until we implement proper support for custom cells.

Thanks for the reply! And sure, please find the zip file below:
inverter.zip
It is a very simple design, i.e. using the design flow to generate an inverter. This file includes a custom inverter inv_sc.mag and a cell lef file inv_sc.lef as well as config.tcl required to run the flow. The zip file should include all the files to run the flow.
Right now, using the interactive mode, the tool still uses the inverter from standard cell lib rather than my custom one.
Goal: the tool should use my custom inverter to complete the flow, and my custom inverter should appear in the final gdsii rather than standard inverter.
Feel free to let me know if you need other info.
Thanks!

Note that I recently changed MPL-0004 to a warning

I'm curious why you need a custom inverter...

Thanks for the question! Right now, we are trying to make a custom inverter cell that meets our expected specs (e.g. power) for an ASIC design while probably sacrificing a few other specs (e.g. area) that we accept. A standard inverter cannot meet our expected specs.

Note that I recently changed MPL-0004 to a warning
I'm curious why you need a custom inverter...

inv_sc5 is the same area as sky130_fd_sc_hd__inv_1 - does it achieve lower power somehow?

I would say I am trying to use another device flavor (hvt) to build a custom cell, starting from the simplest change.

inv_sc5 is the same area as sky130_fd_sc_hd__inv_1 - does it achieve lower power somehow?

sky130_fd_sc_hdll claims to be low leakage.  We do need to support custom cells so its mostly just curiousity.

Thanks for bringing that suggestion! We probably want the leakage even lower than the cell in hdll library.

sky130_fd_sc_hdll claims to be low leakage. We do need to support custom cells so its mostly just curiousity.


VG-3996: support for modal tasks

Codecov Report

Merging #137 into master will decrease coverage by 0.21%.
The diff coverage is 32.35%.

@@            Coverage Diff             @@
##           master     #137      +/-   ##
==========================================
- Coverage    79.6%   79.38%   -0.22%
==========================================
  Files         117      117
  Lines        7804     7835      +31
  Branches     1186     1190       +4
==========================================
+ Hits         6212     6220       +8
- Misses       1592     1615      +23

Impacted Files
Coverage Δ

app/src/taskrunner/task-modal-service.js
20% <0%> (-3.53%)
:arrow_down:

app/src/layout/header-controller.js
81.73% <20%> (-9.35%)
:arrow_down:

app/src/taskrunner/task-controller.js
79.86% <44.44%> (-2.63%)
:arrow_down:

app/src/taskrunner/status.js
86.71% <57.14%> (-0.84%)
:arrow_down:

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 69c5334...3edd092. Read the comment docs.


Remove buyer's full name and add admins

Replace buyer's full name with their first name and add partner admin to the message+ some cleanup

merge on green


9126.1 DEV Add a new field in system_settings.sql.template named `minimumSCMAccountAgeInDays"

https://github.com/Shippable/pm/issues/9126

Completed


⚠ ClamAV has degraded performance

In 2d79cdb, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 72 ms

Resolved: ClamAV performance has improved in 494b1a5.


Write Part section of report

Requirements copy directly from report template as shown below:
Insert your parts selection discussion here. Use a level 3 header to separate each subsystem.
Make sure to update, to reflect any changes since DP1!
This section should address these course outcomes:
identify, formulate, & solve complex engineering problems by applying principles of engineering, science, & mathematics
acquire & apply new knowledge as needed, using appropriate learning strategies
Include BOM as Appendix C.

All done except the BOM, for which I create a new issue (#36) for it and will be done later.
Please review @YingzhuoYang


Max players

Create voice channel
Set user limit based on the game's maximum players when creating voice channel

Oh. It would appear ESLint has done something weird.


Default integer size on Windows is 4 byte.

From the documentation if no signature for @jit is given the decorated function implements lazy compilation. The problem arises from the fact that on Windows np.int_ is np.int32.
The minimal example:
import numpy as np

def range_(max):
    return np.arange(max)

arr = range_(100)
arr.dtype     # will be dtype('int32')

but with jitted version it is int64:
import numpy as np
from numba import njit

@njit
def range_(max):
    return np.arange(max)

arr = range_(100)
arr.dtype     # will be dtype('int64')

Python 3.6.3
numpy 1.13.3
numba 0.35
Windows 10

This is an intended behavior.  The function dispatcher will use the largest machine int type instead of picking the minimal int type.  This leads to typing of range_(intp) => np.arange(intp) -> array of intp.  Using the minimal type will likely lead to compiling too many version (i.e. one for int8, one for int32, ...)
I noticed a real issue here when I wanted to suggest a workaround.  Numba should support the dtype keyword argument here for user to specify which the dtype to use.  However, our arange doesn't support keywords yet.   So, users must use the 4 argument form np.arange(start, stop, step, dtype) which isn't pretty.

I apologize for having provided an inadequate example :-) in fact, I meant the following:
import numpy as np
import numba as nb
arr = np.arange(10)
print("Initial: ", arr.dtype)

def npfun(arr):
    arr = arr + np.array([10])
    return arr

print("numpy  : ", npfun(arr).dtype)

@nb.njit
def jitfun(arr):
    arr = arr + np.array([10])
    return arr

print("njit   : ", jitfun(arr).dtype)

#----------------------------------

Initial:  int32
numpy  :  int32
njit   :  int64

So it is not typesafe. Yes it is easy to fix in the code by providing dtype='i4' but this behaviour is not compliant with numpy. FWIW, that in numpy the default size for np.int_ was 8 bytes on a 64-bit system, and not compiler-dependent. But they defined it the same as long ... and in VS it is still 4 byte.
I understand that this will add additional costs for the maintenance. But it seems to me that this design choice (8 byte - default for np.int_) should be at least noted in the Docs.


v6 new Mail constructor

I want to express a possible issue/frustration with the new version.
The Mail class now requires 4 mandatory params. To me, that should never be the case. Why was that even implemented? What was the issue that was tried to be solved?
Consider my case, where I have to send a batch to 10,000 people, and all my classes are initializing the Mail object WAY before I even loop the email addresses.
I used to easily create a few Mail objects and set custom headers and such. Now, I have to find the first lead just to init the Mail class ... makes no sense.
I'm not sure if it's just me, but I'll stick to the old version for now, rather than use this counter-intuitive way of sending with the library.
I can understand this for single emails maybe ... so you don't have to manually init all the classes and so on ... but that should have been a choice, not a forced option. My 2 cents.
I propose that those params be set back as optional.

Hi @raulp!
Thank you so much for taking the time to provide some feedback and just in time as development on v7 of this library is underway.
Do you mind moving this conversation here? Thanks!
With Best Regards,
Elmer

Oh, wonderful ... hope i can get some bandwidth, might even help with some PR's if possible.
Thanks !


Fix #898

@daniels220, you may want to try this out to see if it fixes your scenario. The eventual fix is quite simple and is similar to what was discussed. It works for the new tests that reproduced the issues of blocking on the mouse down, and the duplicate selection changing events.
A test for marquee selection is still pending, but this will still fire two selection changing events - one for initial loss of any selection, and the 2nd for the eventual new selections.

I've noticed one problem, which is that if drags an item out of the list in the same gesture (i.e. mouse down on new selection, then drag out) that the selection does not update correctly.

I've noticed one problem, which is that if drags an item out of the list in the same gesture (i.e. mouse down on new selection, then drag out) that the selection does not update correctly.

Fixed in latest


Code completion adds "prefix0" prefix on import with hide

This is probably a tricky corner case of issue #37916.
I already have the following import in my code:
import 'package:flutter/material.dart' hide Step;

(I hide Step from material because I already have a class named Step in my code)
When I use completion on a class from the material library, for example GestureDetector, Dart Code completes with prefix0.GestureDetector and adds the following import:
import 'package:flutter/material.dart' as prefix0;

Thanks for this report @nbros.  I haven't been able to reproduce this just yet...   Are you on the latest Flutter?  Are you still seeing the issue?

Hello,
I tried again with the latest version from master and it works now (no superfluous prefix0).
With:
Flutter 1.10.15-pre.93 • channel master • https://github.com/flutter/flutter.git
Framework • revision 3fea2838df (8 hours ago) • 2019-10-11 16:18:00 -0700
Engine • revision eed171ff35
Tools • Dart 2.6.0 (build 2.6.0-dev.7.0 965b8cb1d8)

Thanks

Thanks for following up!


Trigger an event only after sliding is completed(continuous = false)

Thanks for the great library. I would like to have some UISlider type features on this but I am not sure how to approach this.
Currently "valueChanged" event is triggered many times while user is moving the slider thumb. I would like to get an event triggered only when user has completed sliding. UISlider has a property named "continuous" which helps for this kind of situation. However I am not sure how to approach this with ColorSlider.
I would also like to separate the slider thumb from preview view. Right now the slider thumb is acting as preview too. I would like to set a thumb image similar to UISlider which doesn't change its color based on slider position. Instead I would like to connect a separate UIView as Preview View for slider and that UIView would be a fixed static view without any animation along with slider movement. I guess I can implement the thumb image part by implementing  "ColorSliderPreviewing" protocol, but just wanted to confirm that. I will also listen to "valueChanged" event for updating preview view background color. Hope that is the right approach.

Hi @akhilcb! Thanks for the feedback.
You can get the event triggered only when the user has completed sliding by using the .touchUpInside and .touchUpOutside, which respectively will only trigger when a selection finishes with a touch inside or outside the slider bounds.
That approach sounds correct. You can implement ColorSliderPreviewing and use the demo app as a guide to show a handle that doesn't animate or even show the selected color. Then, listening for valueChanged will let you implement your own preview that doesn't move.

Thanks for the quick reply. I will check it out.


fix misleading annotation of LoadRegionsInKeyRange

The annotation of LoadRegionsInKeyRange seems to be misleading.
I think it is better to fix it.
It once wasts time of me when i am troubleshooting a tidb bug.
As issue #924 describe.

plz fix the DCO check.

low risk, merging.