Hide previous comments hides all but last comment

First of all, I would like to thank you for the amazing, and almost feature complete action. I'm actively using it and find it very helpful.
I have one minor issue with the action when using it in combination with multiple environments and PRs.
I would like to basically either:

Update the existing comment in-place, selecting it by some unique identifier (like borchero/terraform-plan-comment action does)
Fold only comments that match latest comment identifier prefix

Reason for this is the fact I'm using matrix strategy for Terraform Plan jobs, and during some runs I can get plan outputs for multiple Github Actions Environments, so the current behavior of the hide-previous-comments (as discussed in #57) doesn't suit me well since it hides all previous comments except the last submitted one, which means that all latest plan outputs are hidden but one (whichever completes last).

Thanks @ivantomica - We'll review and try to understand the issue. We'll see what we can do.

@RobertKelly we are also using this action with a matrix to run over several environments and running into this issue.
To give some idea what this looks like in a workflow:
jobs:
  generate_accounts_matrix:
    name: generate-accounts-matrix
    runs-on: ubuntu-latest
    outputs:
      accounts: ${{ steps.set-matrix.outputs.accounts }}
    steps:
      - uses: actions/checkout@v4
      - name: generate-accounts-matrix
        id: set-matrix
        run: |
          # Some scripting here to get a list of AWS accounts
          echo "accounts=$ACCOUNTS" >> "$GITHUB_OUTPUT"

Then we use it like so:
terraform-plan:
    needs: [generate_accounts_matrix]
    name: 🚀 Terraform Plan
    strategy:
      matrix:
        accounts: ${{ fromJSON(needs.generate_accounts_matrix.outputs.accounts) }}
    # runs-on: ubuntu-latest
    runs-on: codebuild-stuff-${{ matrix.accounts }}-runner-${{ github.run_id }}-${{ github.run_attempt }}
    steps:
      - uses: actions/checkout@v4
      - name: Terraform Version Check
        run: terraform --version
      - name: Terraform Init
        run: |
          tf_path=$(ls ./profiles | grep -e '${{ matrix.accounts }}')
          terraform init -reconfigure -backend-config=${tf_path}/terraform/this.terraform.tfbackend
      - name: Terraform Plan
        run: |
          tf_path=$(ls ./profiles | grep -e '${{ matrix.accounts }}')
          terraform plan -out=tfplan.plan  -var-file=${tf_path}/terraform/this.auto.tfvars
          terraform show -json tfplan.plan | jq . > tfplan.json
      - name: Terraform Change PR Commenter
        uses<EMAIL_ADDRESS>        with:
          json-file: ./tfplan.json
          expand-comment: true
          include-plan-job-summary: true
          comment-header: "Terraform Plan for ${{ matrix.accounts }}"
          # hide-previous-comments: true # This does not work when running a matrix strategy where multiple comments are left on one run

What I'm trying as a workaround is to see if I can use GitHub CLI to delete all the comments prior to the run. But it would be nicer if there was a method built into this action so we don't need to fiddle with GH CLI.
(If it works I'll paste an update here)
A better option would be if we were able call the action once just to clear/hide all of its comments, as a preceding step.
That might be a simple workaround to implement, than trying to match up which comments relate to which runs etc.
Something like this:
terraform-clear-comments:
    needs: [generate_accounts_matrix]
    uses<EMAIL_ADDRESS>        with:
          hide_all_comments: true

terraform-plan:
    needs: [terraform_clear_comments]

@ivantomica @baolsen A fix to hide-previous-comment has been released in https://github.com/liatrio/terraform-change-pr-commenter/releases/tag/v1.7.1
You will need to set a custom comment-header for each matrix job (see the updated docs)

Amazing, just what I was looking for! Thank you!


LongPollingTransport' does not contain a definition for 'AddHeaders' and no extension method 'AddHeaders' accepting a first argument of type 'LongPollingTransport'

Hi man, thks for your job, i found out your project on google search and i'm trying to test it,
but the method AddHeaders doesn't exits, . could do you help me? tnks.

With the cometd stuff, try using couchlands pull request which adds support for headers.
https://github.com/Oyatel/CometD.NET/pull/19


Infinit loop using delay, force

I just tried some examples with the new delay and force functions but they produce infinitiy loops in the browser. Here is my example:
(define stream-car car)

(define stream-cdr
  (lambda (stm)
    (force (cdr stm))))

(define-syntax stream-cons
  (syntax-rules ()
    ((_ head tail) (cons head (delay tail)))))

(define make-stream
  (lambda (seed proc)
    (letrec
      ((stream-builder
         (lambda (n)
           (stream-cons n (stream-builder (proc n))))))
      (stream-builder seed))))

(define stream-item
  (lambda (str k)
    (if (= k 0)
      (stream-car str)
      (stream-item (stream-cdr str) (- k 1)))))

(define stream-map
  (lambda (f str)
    (stream-cons
     (f (stream-car str))
     (stream-map f (stream-cdr str)))))

(define print-stream
  (lambda (stm n)
    (cond
      ((<= n 0) (display "...")(newline))
      (else
       (display (stream-car stm))
       (display ", ")
       (print-stream (stream-cdr stm) (- n 1))))))

(define nat_zahlen (make-stream 0 (lambda (n) (+ n 1))))
(print-stream nat_zahlen 11)

This example works on https://bluishcoder.co.nz/jsscheme/ and should produce:
(print-stream nat_zahlen 11)
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ...

Hmm, it looks like working fine with my browser.

Which version are you using? Recently I've updated the implementation of delay and force with this commit.

How did you define stream-cons, as BiwaScheme does not have define-syntax yet? I used the following definition.
(define-macro (stream-cons head tail)
  `(cons ,head (delay ,tail)))

I see, the problem was define-syntax when I use the version with define-macro it works as intended. The strange effect was the infinit loop when calling with define-syntax so I was unable to debug what was the wrong part :-) thx yhara


[UNDP-916][DEVELOP]: Heros Organisms Fixed Issues

Heros Organisms Fixed Issues.

PR contain unwanted comits


fix: event page update

Sorted the list of events on the event page and changed the title on the community navbar from "Meetings" to "Events."
https://github.com/asyncapi/website/pull/917
cc @akshatnema

83 files changed and targets master - is it correct?

83 files changed and targets master - is it correct?

Thanks man 😄

we have banner in https://github.com/asyncapi/community/issues/640
I though your idea was to use it in https://deploy-preview-1449--asyncapi-website.netlify.app/community/events

we have banner in asyncapi/community#640
I though your idea was to use it in https://deploy-preview-1449--asyncapi-website.netlify.app/community/events

Yes, I use this current one you can see in the events as fallbacks when it loads events that don't have a cover.
You can't see it now cuz we haven't merge with master

ok for me, @akshatnema if you approve, we can merge

/rtm


Add select alternate color command

Added new command for handling alternate color.
Fixes #39

Thanks, looks good!


h2 dependency update but not version in H2Database.java

https://github.com/flyway/flyway/blob/flyway-10.21.0/pom.xml contains a dependency to H2 version 2.3.232 but https://github.com/flyway/flyway/blob/flyway-10.21.0/flyway-core/src/main/java/org/flywaydb/core/internal/database/h2/H2Database.java was not updated. This way you still get Flyway upgrade recommended: H2 2.3.232 is newer than this version of Flyway and support has not been tested. The latest supported version of H2 is 2.2.224..
It's fixed in 11.0.0 but perhaps some safeguard should prevent this from happening.

Hi @simonstratmann ,
The fix is also available in version 10.22.0. If you prefer not to upgrade to 11.0, could you consider trying 10.22.0 instead?


Custom Cell Render

In https://github.com/sgratzl/lineup_custom_renderer @sgratzl implemented a first version of a box plot cell renderer as well as a shape cell renderer. In addition, it would be useful to create custom renderers such as:

Heat map
Spark line
Bar chart
Box plot with median (initial version exists already)
Temporal line chart (Filter dialog selects time point that is taken for ranking).

I've updated @bikramkawan's description above. Bikram will take care of creating those additional cell renderers. @sgratzl, please support him with this. He already started to play with a heatmap cell renderer.

please don't forget to work in a separate branch

I have pushed work so far I have done in the brach 'bikram-customcellrenderer'. I have some question regarding the implementation of custom renderer.
So far I have made custom renderer for heat map, sparkline and boxplot. I have used dummy data for now and the output looks as here.

I am confused on how to gather information from Column A and Column C to generate heat map or other renderers. What will be the data structure needed to generate custom renderer.

@sgratz:l is it already possible that one custom cell renderer takes the data from multiple columns in the data model (such as C and A in the example shown above).
a heat map is actually not much different from a combined column that shows a stacked bar, which would be just a different representation of the same data (multiple columns). so in the end we could have multiple types of combined columns: stacked bar, heatmap, sparkline, box plot. all of them take the data from multiple columns.

I don't get it.
You are suggesting a datastructure like:
{
  name: 'test',
  v1: 3,
  v2: 1,
  v3: 4,
  v4: 5,
  v...
  v100: 4,
  other: 1000
}

where each column is defined independently, having its own type, definition, and so on. So, a heatmap / sparkline / ... could be combined with any other number column, (e.g., other) from a different context.
What are the advantages compared to:
{
  name: 'test',
  v: [3, 1, 4, 5, ..., 4],
  other: 1000
}

which introduces a multi value column that can be visualized using a spark line, heatmap, boxplot?

yes, that is what I would expect, too. is that also the way how combined stacked columns are defined?

Currently everything is based on the first datastructure. A combined columns is a composite of other columns. In the stacked bar case, each columns has its own mapping, column, ... So, they are heterogeneous.
However, in a sparkline case, each "member" should be of the same type, have the same domain, have the same meaning. Otherwise stitching them together has no meaning at all.

I have replace the constant numbers by some random data points.
The data structure for each row looks like below:
{
    a: 10,
    b: 20,
    c: 30,
    d: 'Row1',
    cat: 'c1',
    custom: {min: 10, max: 100, mean: 30},
    heatmapcustom: heatmapdata(6, 1, 30),
    sparklinecustom: getrandom(100, 1, 10),
    boxplotcustom: boxdata(60, 1, 100)

  }

Now the heatmapcustom contains the random array of number so as for sparkline and box plot.
For example heaptmapdata(6,1,30) will generate 6 numbers which are in range of 1 and 30.
For box plot i have calculated five numbers  mean, median, q1,q3 and max.
Now it looks like.

Update:

Update: I have added the User Sorting criteria. Please comment if this is good way to represent or not .

Looks fine for the first iteration.


[C++][Parquet] Read only specified top-level columns in DebugPrint

At the moment, ParquetFileReader instantiates Scanners for all columns and reads contents of all columns. We should be able to specify a subset of top-level columns to be read.
Reporter: Aliaksei Sandryhaila / @asandryh
Assignee: Aliaksei Sandryhaila](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=asandryh) / @asandryh
Related issues:

[C++] Estimate dynamic memory usage using FileMetadata (is depended upon by)

Note: This issue was originally created as PARQUET-568. Please see the migration documentation for further details.

Wes McKinney / @wesm:
Issue resolved by pull request 81
https://github.com/apache/parquet-cpp/pull/81


feat(Dialog): a new optional prop for the close button

Overview

Added a new optional prop for the close button related to its tip.

PR Checklist

[ ] Related to designs:
[x] Related to JIRA ticket: ENT-233
[x] I have run this code to verify it works
[ ] This PR includes unit tests for the code change
[ ] This PR includes testing instructions tests for the code change
[ ] The alpha package of this PR is passing end-to-end tests in all relevant Codecademy repositories

Testing Instructions

Run yarn start
Visit http://localhost:6006/?path=/docs/molecules-modals-dialog--dialog
A new prop closeButtonTipText should be visible in the Code Playground section

PR Links and Envs

Repository
PR Link
PR Env

LE Enterprise
LE Enterprise Link
LE Enterprise Env

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

📬Published Alpha Packages:@codecademy/gamut@56.1.0-alpha.b67490.0@codecademy/gamut-kit@0.6.430-alpha.b67490.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://66aa6950474e0f1136b8beed--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut@56.1.0-alpha.2b7787.0@codecademy/gamut-kit@0.6.430-alpha.2b7787.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://66ab2e805dabdd880ef0e99b--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut@56.1.0-alpha.88b31f.0@codecademy/gamut-kit@0.6.431-alpha.88b31f.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://66ab88fbb76dd62564f3891d--gamut-preview.netlify.appDeploy Logs

this looks great! could you open a PR with the gamut-kit alpha package? there are instructions here on how to do that. we just like to make sure nothing is breaking + all tests are passing.
will ✅ once that's done!

Hi @dreamwasp, here's a PR that uses this alpha version: https://github.com/codecademy-engineering/mono/pull/7110

📬Published Alpha Packages:@codecademy/gamut@56.2.0-alpha.7916db.0@codecademy/gamut-kit@0.6.435-alpha.7916db.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://66bb4c78450da30a8965c5ad--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut@56.2.0-alpha.372732.0@codecademy/gamut-kit@0.6.435-alpha.372732.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://66bcb41e665218ba5fb2f0c3--gamut-preview.netlify.appDeploy Logs


[QUESTION] Enable shape features in pipeline module

Hey all,
I am trying to enable shape features in the pipeline module.
For all the other feature classes the pipeline works as expected.
I tried enabling the classes as a whole.
feature_extractor = RadiomicsFeaturesExtractor() feature_extractor.enableFeatureClassByName('shape', True) feature_extractor.enableFeatureClassByName('glcm', True) radiomic_features = feature_extractor.computeFeatures(image_itk, mask_itk, prefix)
As well as enabling features by name.
feature_extractor = RadiomicsFeaturesExtractor() feature_extractor.enableFeaturesByName(shape=['Compactness1'], glcm=['Autocorrelation']) radiomic_features = feature_extractor.computeFeatures(image_itk, mask_itk, prefix)
None of the above options returns the shape features. Is there something wrong with my configuration?
Cheers,
Matt
Version (please complete the following information):

OS: [macOS Catalina 10.15.3]
Python version: [3.6.4]
PyRadiomics version [3.0]

I am unable to reproduce the issue you are reporting.
I modified this example file to enable shape features with the following:
extractor.enableFeatureClassByName('shape')

ran it as follows with the latest version of code:
$ python examples/helloRadiomics.py

and the output clearly includes shape features:
Computed original_shape_Elongation: 0.5621171627174117
Computed original_shape_Flatness: 0.46105975346582595
Computed original_shape_LeastAxisLength: 28.58442318537648
Computed original_shape_MajorAxisLength: 61.99722046980875
Computed original_shape_Maximum2DDiameterColumn: 49.490854979101925
Computed original_shape_Maximum2DDiameterRow: 65.88905951721043
Computed original_shape_Maximum2DDiameterSlice: 53.59397776919529
Computed original_shape_Maximum3DDiameter: 69.60099030590368
Computed original_shape_MeshVolume: 16147.51180013021
Computed original_shape_MinorAxisLength: 34.849701666854735
Computed original_shape_Sphericity: 0.4798234536231475
Computed original_shape_SurfaceArea: 6438.821603779402
Computed original_shape_SurfaceVolumeRatio: 0.3987500788652454

Perhaps something is wrong with your mask?

I already have the image and the mask in memory and therefore use the "computeFeatures" method rather than "execute".
Apparently, I need to call "computeShape" as an additional step, since shape features are skipped in "computeFeatures".
`
Handle calculation of shape features separately
if featureClassName.startswith('shape'):
continue
`

@mattmagic149, what you're looking for is the function execute on feature_extractor, this also handles shape feature calculation. function computeFeatures and computeShape are both called from execute. This also ensures the filters are applied if enabled.

@mattmagic149, did you manage to make your pipeline work?


Deeplink pattern

Would it be possible to support pattern for deeplinks? For example DeepLink(action = ".*/dashboard").

Hi!
We simply pass whatever you provide as the pattern back to official compose navigation library. So, I don't know whether this is possible or not, but I suppose it isn't, given you're opening the issue 😅
So if it isn't, I would suggest you opening an issue on the official compose navigation library.


Reason for train_freq=4 for DQN?

I'm wondering why training only occurs every 4 steps instead of every step? If a greater diversity of transitions is desired wouldn't it be better to append to the replay buffer every n steps?

Well does 4 qualify as n? Specific choice of n is hyperparameter, that you can play with. It's not something to fix here.


$location.url() doesn't always change page

I have a case where if I am using a service that saves a callback to the scope and that callback uses $location.url() to change the page, it doesn't work on the first click. It will however work on the second click. Here is my example:
http://jsfiddle.net/icub3d/kkS8h/3/
Note that if I $scope.$apply() right after the $location.url() call, it will work every time. The console log shows the the url itself is changing, but the page is not always changing.

I have the same problem while redirecting to another page in IIS 7.5.. But this code is working in local machine.. when I hosted it on IIS 7.5.. its not working ..using angular 1.2.10... tried everything to solve ....but none of them works

Was this problem ever solved?

@MortimerNeuss Doesn't seem to have been, not as of 1.4 anyway. Until I added a $rootScope.$apply when setting $location.url() inside a service method, it was only actually pushing the update about 1/3 of the time.

@bathos (or anyone else still seeing this error on v.1.4.x/v1.5.x), could you post a live reproduction (e.g. a demo usingCodePen, Plnkr etc) ?

Just in case someone somewhere runs into this problem. window.location.assign() did the trick for me. :)

Just in case someone somewhere runs into this problem. window.location.assign() did the trick for me. :)

Solve to me! Thanks my friend! Salved my day hahaha


Where is serialize

Hello,
I would like to use the function serialize from the api description but unfortunately it is not present. The goal is to save an inmemory database to the hdd. If there is a different possiblity I would appreciate it as well. Could you help me?
Best regards

Maybe it is just missing in the type definitions? I am using typescript.

Maybe it is just missing in the type definitions? I am using typescript.

This package does not contain any TypeScript. You are probably using https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/better-sqlite3 . Open an issue or pull request there.

Thank you, yes this is correct.


How fetch url through Javascript Agent

please give me an example about how fetch url in js code with using JavaScript Agent

I don't think that will work, but you can use a Website or PostAgent to fetch the url and pass the data to the JavaScriptAgent.

thanks for your help, i will try it


Add LANG to alluxio-env.sh

What changes are proposed in this pull request?
Add LANG to alluxio-env.sh.template
Why are the changes needed?
Fix #14724
Does this PR introduce any user facing changes?
No

alluxio-bot, merge this please


Issue #9407 fixed

Configurable Product - https://github.com/bagisto/bagisto/issues/9407

Checked and Found Everything is working fine except when we remove the images from varients still the checkbox are selected.
Video
https://github.com/bagisto/bagisto/assets/92721837/db559d81-4831-4605-a72b-e56c4036f8f7

@suraj-webkul
Checked and Found that now the configurable product is working fine.
-> Checked the Options in Mass Update
-> Checked Inventory.
-> Checked SKU
-> Checked each Varient Price and other sections.
Checked and Found working fine. Please find the video for reference.
Video
https://github.com/bagisto/bagisto/assets/92721837/ab6fe40f-4f6f-47e8-a9df-aa48258f760a


Automate publishing process

Short doc on automated publishing with github actions: https://code.visualstudio.com/api/working-with-extensions/continuous-integration#github-actions-automated-publishing
Example workflow: https://github.com/microsoft/vscode-platform-specific-sample/blob/main/.github/workflows/ci.yml

Done in #58 and #60


[Feature] Select which tracks to process

Description
I'd like to be able to select which parts of a model to process.
For example, instead of generating both the vocals and accompaniment, generate just the accompaniment. In my project, the vocals aren't necessary, so it seems like only generating the accompaniment would cut the processing time in half.
Maybe this feature already exists? I made a naive attempt to do this by removing "vocals" from the instrument_list in the 2stem config file. This only generated an accompaniment.wav file, as I hoped! But, the result was just the original audio. Neither the vocals or accompaniment were isolated.
Possibly a duplicate of #8

Hi @gazugafan,
it would be possible to generate only the accompaniment part and not the vocals one, but anyway you'll have to go through the whole model for computing the mask (this means the model still has to estimate a vocal spectrogram to be able to estimate the accompaniment separation mask), so you won't cut the processing time in half. In particular, if you're not using GPUs, I expect the computation gain to be quite low.
The operations you can save are the inverse Fourier transform of the vocals, and possibly the export of the audio waveforms (to whatever supported audio file). For saving on the second one, you can simply use the python API and load

Yeah, if the speed gains will be minimal, then there's not much point. Thanks for the detailed info!


Make the decimal points optional

I would be great if the decimal points are optional and the format not shown if the user does not tap the period (.) to enter the decimal points.
1,250

if user enters .99 then show decimal format
1,250.99

Thank you

@Sun3 Thank you for feature request. I will figure it out. :)

That's awesome, thank you.

Hi, I was just checking if this feature is possible.
Thank you.

Hello, Sun.
For now, It is not possible.
There is optional decimal but you want it would be automatic decimal.
I think some people can be confused about it and It has to be used for
global currency.
But I will figure it out in a better way. Thank you :)
On Fri, Aug 14, 2020 at 11:01 PM Sun<EMAIL_ADDRESS>wrote:

Hi, I was just checking if this feature is possible.
Thank you.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/gtgalone/currency_text_input_formatter/issues/2#issuecomment-674339021,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFQWZNJMME2FQW7PQFQI7G3SAX265ANCNFSM4PW34BWQ
.

Thank you, I appreciate it.

ps: I thought that one way to avoid confusion is to have an optional flag to allow optional decimal or the number of decimal places.
Thanks,
Marco

@Sun3 Thank you Marco, for now there is options number for decimal.
CurrencyTextInputFormatter(
   locale: 'ko',
   decimalDigits: 0,
   symbol: 'KRW(원) ',
)

But this case cannot use any decimal, You need to turn off / on strict decimal right?
For you, How about using FilteringInputFormatter with RegExp?
FilteringTextInputFormatter.allow(RegExp(r'^\d*\.?\d*$'))

It can be helpful for you :)

Thanks for the help.


27037-6-dynamic-endpoint-handlers

config file priv/chttpd_handler.cfg for dynamic handlers, wip.
FogBugz: 23037 (#6)

Dynamic handlers were landed based on @iilyak work. Could you close this PR please?


Discoverability of commands

Quick suggestion - It would be great if atom-typescript's commands were listed in an item under the Packages menu.
The menu would serve as a helpful, always up-to-date reminder of what atom-typescript can do and what the keyboard shortcuts for those commands are.  This menu could also include a link to the project readme.

We prefix all our commands with "TypeScript". Press ctrl + shift + p to open atoms command pallet and type in typescript to see the list. Definitely worth mentioning this in the docs.

I'd like to mention that the https://atom.io/packages/keybinding-cheatsheet is an excellent plugin for this. Simply filter typescript and you get all the keybindings.

I suspect that a lot of people (myself included) don't use the command palette and instead rely on and expect the menus in an application to function as an index to the application's functions and a place to look up and learn the keyboard shortcuts.


"Electron" stays open as a background process after closing the application

After closing Electron, the app runs in the background as a non-responsive thread...

Fixed in cb73b32


Improve error reporting

Discussion with @sk1p

Show exception traceback in GUI
General discussion point: Handle and report exceptions at the workers. They tend to get messy. Perhaps make very clear where an exception occurred, as a first step?

One way to improve debugging capabilities from the GUI would be to have a log functionality, that is driven by a logging handler implementation that sends the log over the websocket connection. This would include exceptions, and also log messages from other Python libraries.
For our own logging, we could later use https://github.com/hynek/structlog to make the logs more machine-readable and filterable in the client.
Handling exceptions on workers may actually not be the best idea - at least we need to re-throw them afterwards to properly fail the Future. The point would be to properly handle them at points where we retrieve the results from the cluster.

@sk1p sounds good! We'll really need that as soon as we allow custom code.
With "handling" I meant dealing with them in a way that a user knows what happened. Right now it can be difficult to spot where and how the error happened if you don't understand the internal workings of dask.distributed and LiberTEM.   The minimum would be a clear information that it was a worker that encountered trouble. It would also help to not just dump all the tracebacks together, but to collapse them by default and generate a list where you can see "oh, ALL the workers threw an exception" and then pick out one to look at more closely.


How to Support PHP LSP

I Need Use Lapce Coding.
But, I don`t know How to Use PHP Language Server Proto

Someone has to make plugin that implements PHP LSP

In order to do this, you need:

A PHP LSP server
A PHP LSP plugin for Lapce.

You can find examples of such plugins here:
lapce-go
lapce-cpp-clangd
While there is no clear documentation yet (the plugin API is still in its infancy, although it's the next priority and should be addressed very soon), most of the code should be straightforward.
If you have any questions regarding any part though, feel free to ping in the discord, or in this issue!

There is a PHP LSP plugin now for lapce. Github link
Install the plugin from lapce plugin menu: PHP (Intelephense)
Install the lsp server: npm i intelephense -g
Check the path to binary: whereis intelephense
Add the path to plugin settings in lapce: Path to Intelephense executable
P.S: it takes a while to index a project first time


Merge gRPC services?

Currently Pachyderm splits functionality across several gRPC services (e.g. PFS vs PPS), even though:

The CLI with regard to its UI does not expose these distinctions (though it does in places in the usage docs.)
The go client exposes a single APIClient with all the functionality (though it does also define individual clients for each service.)

We minimize the distinction between these disparate services to users, yet do not reflect this with gRPC definitions.
This ambiguity makes it unclear if a distinction should be made between services for client library authors. While go's support for anonymous structs allows our go client to support both setups, it's not clear what to do in other languages; e.g., it's led me to mulling on which evolutionary path is best for the python library (distinct classes or a single class?)
I'm not sure if it would be better to just merge all functionality into a single gRPC service, but wanted to bring this up to see what others think.

I'm generally a fan of having separated grpc services, admittedly a lot of that is probably just that I'm used to it. But we do use the fact that they're separate in a few places. For example: the sidecar is basically a pachd node that strips out some of the services that the worker doesn't need to have access to.  I don't think these uses are crucial, or that we couldn't accomplish something similar in a different way though. The other argument I see for keeping it the way it is is that I think it's served as a good way to split up the code, again something that could be accomplished in other ways, but I think the way we have things split up right now does make a lot of sense, and of course has the advantage that it exists in the code base today.

Given that, do you think it makes sense for pachyderm libraries to keep functionality separated by service as well? Or merge it all into one, as per python-pachyderm#129?

My recollection is that we were talking about this as a potential difference between what we want to use as an "internal" API (ie separate GRPC services exposed on the internal k8s network) vs a public pach API: a single, merged API namespace, that matches up with what users see in the CLI, and has internal-only functionality removed (object API, probably some internal-use-only fields?). This public-vs-private distinction is something @msteffen has been talking about for ages, and probably becomes more important as we want to start provided better public-API backwards compat promises

There isn't much in terms of internal APIs, and we ultimately decided that it's not worthwhile to hide them.
Going to close this out, given @jdoliner's prior comment.


Bessell bandpasses need to be converted to photon transmission?

@kbarbary I noticed that the default Bessell bandpasses are taken directly from the B90 paper. Those bandpasses use a convention that is different than most other sources. Bessell defines the transmission as energy detected/photon incident [fixed an error here that Kyle pointed out], rather than the more conventional photons detected/photons incident.
So instead of integrating (lambda)(F_lambda)(trans)(dlambda) to get "counts" like for most of the bandpasses you have (and your synthetic photometry code does (F_lambda/nu)(trans)(dlambda), same thing modulo constants), for Bessell you need to integrate (F_lambda)(Bessell_trans)(dlambda) to get "counts". In other words, Bessell_trans is proportional to lambda*trans.
In MLCS2k2 I allow for either of these conventions and keep track in the bandpass file. I think everyone else just adopts the modern photon transmission convention like you've done. So the simplest fix would be to just adjust your Bessell transmissions to photon units, by dividing each Bessell transmission value by lambda and then renormalizing. For B or V the results should look like Table 3 of Maiz Apellaniz (2006).
This is described more in the Appendix A of the Maiz Apellaniz paper, or footnote 2 of Suntzeff et al. (1998), reiterated in footnote 3 of Jha et al. (2006). This is one of those in-the-weeds issues that keeps coming up and is hard to squash.

I remember this issue from before SNCosmo, and I could never figure out which transmission function file followed which of the two conventions. Maybe, we could add some metadata to each bandpass file to specify the photon/energy convention, and on instantiation change the normalization to photon convention (if the bandpass is in energy). That way we can keep the original files for comparison.
Are there other transmission functions files which have energy conventions? If you have a list, we could make sure we add that information.

Yes, you could keep track and do the synthetic photometry properly for each convention (that's what MLCS2k2 does). But just making them all photon convention would be fine too (I don't think we'll be going back to energy counting detectors anytime soon...)
I think all of the rest of the sncosmo builtin ones (des, hst, jwst, kepler, sdss) are okay.
Here are the passbands I have in MLCS2k2 with energy units (RESPUNIT=ergs in the FITS header):
JHKs_2MASS.fits
UBVRI_Astier.fits (these are the Bessell passbands, just shifted in wavelength as prescribed by Astier et al. 2006)
RI_BTC.fits (CTIO 4m BTC camera from late-90s)
UBVRI_Bessell.fits (Bessell 1990)
RI_CTIO4m.fits (Mosaic camera on CTIO4m)
B45,V45_CTIO4m.fits (High-Z team special filters)
UBVRI_Cohen (Cohen et al. 2003)
UBVRI_Kessler (Bessell passbands adjusted in wavelength as suggested in Kessler et al. (2009))
RI_LRIS (Keck LRIS)
UBVRI_Marriner (Landolt/Cohen passbands but put on BD+17 zeropoint, not Vega)
RIZ_Suprime.fits (Subaru Suprime camera passbands)
all of these are in the aux/passbands subdirectory from
http://www.physics.rutgers.edu/~saurabh/mlcs2k2/mlcs2k2.v007.tar.gz
or
http://www.physics.rutgers.edu/~saurabh/xfer/synphot.mlcs2k2.20140619.tar.gz

I think we should either:

change the files on disk to all be the same convention (photon transmission)
add an argument to sncosmo.read_bandpass() to specify the other transmission and do the conversion upon read. That is, the returned sncosmo.Bandpass object will always be in photon transmission.

I'm leaning towards the later, simply for data fidelity and traceability (with clear comments in the Bessel bandpass files!).

... or rather, the conversion functionality should go into the initializer for sncosmo.Bandpass, and read_bandpass() should pass a keyword along to the initializer.

Thanks for the list!
@kbarbary : I too like the second for exactly the same reason. But I wonder if we can make it possible for the user to not have to put in the keyword. While one may expect the user to read comments in the bandpass file, it is an easy mistake to make and forget adding the keyword (even if the argument has no default value, someone will copy code for the DES bandpass and make this mistake).
That is why I would prefer having some metadata in bandpass files that are in the energy convention, and the initializer to read that metadata and do the conversion as you suggest.

The default will be photon transmission fraction, so 99% of the time, the user will not have to change anything. Also, for any built-in bandpasses, sncosmo.get_bandpass() will just Do The Right Thing.
I agree that more explicit metadata is always better. However, none of the raw bandpass files contain this information, and there is no standard for the format of this metadata.

The default will be photon transmission fraction, so 99% of the time, the user will not have to change anything.

Exactly. And while super convenient, I think this increases the chance of user error in the one percent of cases where they should be using it, because many user will not be used to thinking about it.

I  agree that more explicit metadata is always better. However, none of the raw bandpass files contain this information, and there is no standard for the format of this metadata.

True. And I don't know what is the best way to solve this. Is inserting metadata in energy transmission files a good thing? This leaves open the possibility for users to read the file and compare the data with say, Bessell's  paper and satisfy themselves that this is what SNCosmo uses (as opposed to storing a converted it directly). Or does it make sense to add a file with the metadata with the same filename and a different extentsion  to read this in.

@rbiswas4 Any progress on this? We should fix this sooner rather than later.

Not fixed yet ... having some trouble with astropy.utils.get_pkgdata_filename
This is all in:
https://github.com/rbiswas4/sncosmo/tree/bessellb_changes

@rbiswas4 I finished the work you started and squashed it all into one commit: e79a49c which is now in master.
@saurabhwjha might want to check that the new bessell definitions are correct (in master).

Also backported this fix to a v1.1.1 bugfix release.


Only show the output/error-log-spam once when running a single test.

Showing the same error message three times is dumb; if you're only running one test, you're definitely not going to need to scroll. Running groups of tests it's still valuable to show the three different views (as-it-happens, report, failures) because the size of these groups often differs (e.g. lots of tests, handful of failures).

Fixed in https://github.com/lihaoyi/utest/commit/3c46263d745e37406e2246e90d9e128114ac1575


Fix tests with enoent error message on non-english systems.

It was kinda dumb to hard-code the text. Tested with German on Windows.
Fixes #8271

r? @alexcrichton
(rust_highfive has picked a reviewer for you, use r? to override)

@bors: r+

:pushpin: Commit 80e55c774bc779377b487e85cb458cea4639c99a has been approved by alexcrichton

:hourglass: Testing commit 80e55c774bc779377b487e85cb458cea4639c99a with merge 6030f57da9328b56435b9b1af6c231bfde6a74d5...

:sunny: Test successful - checks-azure
Approved by: alexcrichton
Pushing 6030f57da9328b56435b9b1af6c231bfde6a74d5 to master...


UserDefinedForm

Is there an easy way of using UserDefinedForms with fluent ? For now all pages would display same form . What would be the best logic to deal on this ? Thanks

Closing due to inactivity, feel free to reopen if this is still a problem

Side note: you can apply the fluent extension to any DataObject, so if you were to apply it to all of the userforms data models you should be able to make forms translatable down to each individual form field option too. Note that it would increase your DB size substantially.


Key length limitation in Mysql

When using utf8_general_ci collation in mysql, "Specified key was too long; max key length is 767 bytes" occurs.
According to this post: http://stackoverflow.com/a/16820166, I modified all sa.String(length=256) to length=255 and it worked.
How can we solve this problem? Should I just modify the migrations script, or create a new migration script? If I modify the old scripts, those who is already using mysql will have inconsistent column length; if I create a new script, the problem still happens because the old migration scripts will be run first.

You need to alter models.py and then generate a new migration script caravel db migrate -m "adjusting key length".

But older scripts will be run first, right? So for the clean install, the initiation will stop before the new script I create is run.

What kind of database do you use in production? Have you tried mysql?  I think there are some compatibility issues - like SQLite has auto increment in primary keys by default but mysql does not.

We use MySQL in production and it works well for us.


HomeKit automation to turn off aircon sometimes turns on aircon when it’s already off

Describe The Bug:
Have an automation in homekit to turn off aircon when the window is open
Sometimes when the window opens the AirCon turns on/or stays on(there was a beep)
To Reproduce:
Intermittent but quite often, open window that triggers turn off aircon command
Expected behavior:
Should just turn off the AirCon.  Aircon off command is off only command (at least using remote button)
Logs:
Show the Homebridge logs here, remove any sensitive information.

Plugin Config:
"name": "Nature Remo Platform",            "accessToken": "Xxxxxxxx",            "LIGHT": false,            "AC": true,            "TV": false,            "platform": "NatureRemoPlatformPlugin"
Screenshots:
/

Environment:

Plugin Version: 2.0.1
Homebridge Version:  1.5.0
Node.js Version:  16.16.0
NPM Version:
Operating System:  Raspbian

I think when a HomeKit command arrives near the same time as nature remo status arrives that nature remo status over writes the comnand and sends the nature status I the command instead of the HomeKit request

Sorry, I can't reproduce it.


Mail with List-Unsubscribe-Post header does not get whitelisted in DKIM headers

Issue Summary
I am attempting to integrate one-click unsubscribe to my emails. I have List-Id and List-Unsubscribe headers set up, and recently added List-Unsubscribe-Post, following RFC8058. Unfortunately, Gmail will not show the "Unsubscribe" button.
#4 of the spec specifies:

Additional Requirements

The message needs at least one valid authentication identifier.  In
this version of the specification, the only supported identifier type
is DKIM [RFC6376].  Hence, senders MUST apply at least one valid DKIM
signature to the message.
The List-Unsubscribe and List-Unsubscribe-Post headers MUST be
covered by the signature and included in the "h=" tag of a valid
DKIM-Signature header field.
If the message does not have the required DKIM signature, the mail
receiver SHOULD NOT offer a one-click unsubscribe for that message.

(Emphasis mine)
Here are the headers as reported by Gmail:
List-Id: <digest.2.my.site>
List-Unsubscribe: <https://my.site/email/unsubscribe/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW1wbGF0ZSI6ImRpZ2VzdCIsInVpZCI6MiwiaWF0IjoxNTUwNzAwMTY3LCJleHAiOjE1NTMyOTIxNjd9.gExTDZ4qbbSqClIazz2Cc38tXQY2E-A-LzcvrsFG1rs>
List-Unsubscribe-Post: List-Unsubscribe=One-Click

However, here is the DKIM signature, note the missing List-Unsubscribe-Post header, although list-unsubscribe is present.
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nodebb.org; h=content-transfer-encoding:content-type:from:mime-version:list-id: list-unsubscribe:subject:to; s=s1; bh=ecVCRuV9D20XWPvAhAezXrbVGtbF+HhsiPKNYErwQHw=;
I have an authenticated domain with SendGrid, and use Automated Security. I believe the missing header in the DKIM-Signature field may be the reason why Gmail refuses to show the Unsubscribe button.
Technical details:

sendgrid-nodejs Version: v6.3.1
Node.js Version: v10.15.1

Hello @julianlam,
Thanks for submitting a GitHub issue! We are very sorry that you are running into this problem. In order to better serve you, as this does not present itself as a library specific issue, we would like to ask that you reach out to our support team at https://support.sendgrid.com.
Thank you!
SendGrid DX Team

Any news about this issue? I'm Python SDK user, experienced the same issue - List-Unsubscribe-Post header does not get whitelisted in DKIM headers.
How could I add it via API?

@fannigurt Despite the suggestion from @thinkingserious, the SendGrid team seemingly does not consider this high priority. I have opened a support ticket, and they've essentially passed the buck over to Gmail, and suggested I send mailto: instead of http: in list-unsubscribe.
So basically, there's not much support for list-unsubscribe-post...?
The ticket: https://support.sendgrid.com/hc/en-us/requests/1941763?flash_digest=73772eec7f0a813f891b294090fb70bea78b85f9

@julianlam we can make the full message by ourselves and sign it with custom DKIM, but wait, why we need Sendgrid? 😁
Ok, seems like we need to build a new bike: make mailto: format and then using Imbound Parse hook the unsubscribe message from user client, parse it and make unsubscription in database. Looks strange 🤔

@julianlam you try?
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nodebb.org; h=content-transfer-encoding:content-type:from:mime-version:list-id: list-unsubscribe:list-unsubscribe-post:subject:to; s=s1; bh=ecVCRuV9D20XWPvAhAezXrbVGtbF+HhsiPKNYErwQHw=;


Update jekyll-toc to v0.9.1 and add no_toc_section to no_toc_section_class

@XhmikosR Hi, I've notices you already upgraded jekyll-toc to v0.9.1 but it looks like you haven't changed _config.yml setting, so I did make a change to _config.yml as a sample.
Hopefully it works as you expected.
Thanks.

Thanks, but the branch was just WIP. Plus I just replaced the headers yesterday with h5 before you released 0.9.1. So I need to revert that here.

@toshimaru: I think it looks good now, thanks for adding the feature :)


Make organization_id nullable

This PR makes the organization_id field nullable on the following objects in preparation for future changes:

Connection
Directory
Profile

This is a breaking change, so we'll need to bump the major version.
Resolves SDK-308.

Under what circumstances would a connection not have an organization ID?

Under what circumstances would a connection not have an organization ID?

Today all connections will have an organization ID.
We're currently investigating some changes to the WorkOS platform that will allow connections to exist outside of organizations. We don't have anything to announce on this just yet, but we'll be reaching out to impacted developers before making any changes would impact that value of the organization_id at runtime.


Keep file date when copying and remember used folders

It would be great to keep the file creation date when copying files. I use Open MTP for copying files from my camera and I need the file dates to be correct.
And an option to remember the last used folders would be great!

The file creation date is already been set for the copied files. Could you download the latest release and check this again?
Cheers

Oh, you're right. Sorry. Don't know what went wrong - now it works! Thanks for your great work with this app!

Great.. closing this


⚠ ClamAV has degraded performance

In 5dfa14e, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 70 ms

Resolved: ClamAV performance has improved in b2cdf31 after 5 minutes.


Drivers for NXP SC16IS75x I2C/SPI to UART/GPIO bridges

Adds drivers for the NXP SC16IS75x series MFDs, which provide one or more UART channels and several GPIO pins over either I2C or SPI.
Closes #246.

Could we add a simple sample or implement our version of the all drivers test case that exists upstream?

@tobiaskaestner now, we use the Zephyr upstream tests for build all drivers.


get step index or step name inside container

Feature request
I noticed we can get pipeline name, task name inside a container. (https://tekton.dev/docs/pipelines/variables/)
Is it possible to get step name or step index inside a container?

for example, with following script, I can set task name and namespace as environment variables, and use them inside my container.
Is there a way to do the same for step name or step index?
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
  name: task-name
spec:
  steps:
    - name: step-name
      env:
        - name: TASK_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
        - name: NAMESPACE
          value: metadata.namespace
      image:  myimage:latest
      script: |
        #!/bin/sh
        echo $TASK_NAME
        echo $NAMESPACE


oop jacobian can't preserve array-like objects

forwarddiff_color_jacobian automatically converts array-like input object into array. When f depend on specific property of the input object, the jacobian will fail. MWE:
using OrdinaryDiffEq, SparseDiffTools
mutable struct SimTypeg{T,T2} <: DEDataMatrix{T}
  x::Array{T,2} # two dimensional
  f1::T2
end
function f(u)
  u.f1*u[1]
end
u0 = SimTypeg(fill(0.00001,2,2),0.0)
forwarddiff_color_jacobian(f,u0)

Does it also convert SArrays?

No, because vec(x) keeps SArray. https://github.com/JuliaDiffEq/SparseDiffTools.jl/blob/aaaa9048de136cf222967d3f4c5d13315cbf9208/src/differentiation/compute_jacobian_ad.jl#L102

Does this at least not break anything that currently exists?

Does this at least not break anything that currently exists?

It break at least one test in OrdinaryDiffEq.jl: https://github.com/JuliaDiffEq/OrdinaryDiffEq.jl/blob/master/test/interface/data_array_test.jl

Looks like there's a few other things to work out with resizing.


os: remove executable bit from booting-on-vultr.md

LGTM, this must have been set by the contributor.


chore: bootstrap noir natively if nargo is invalid

On mac, after bootstrap with cache, if one runs
❯ ./noir/noir-repo/target/release/nargo
zsh: exec format error: ./noir/noir-repo/target/release/nargo

So check to see that our cached version of nargo is compatible, and build if need be.

Benchmark results
No metrics with a significant change found.

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit f6f34b7c and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
64 txs

l1_rollup_calldata_size_in_bytes
5,700
18,884
36,452

l1_rollup_calldata_gas
66,456
239,528
468,848

l1_rollup_execution_gas
194,404
500,834
908,106

l2_block_processing_time_in_ms
1,180 (-1%)
4,476
8,848

note_successful_decrypting_time_in_ms
199 (-1%)
545 (+1%)
991 (+1%)

note_trial_decrypting_time_in_ms
6.96 (-13%)
63.0 (+7%)
123 (+9%)

l2_block_building_time_in_ms
11,191
44,660
89,202

l2_block_rollup_simulation_time_in_ms
7,279
29,365 (+1%)
58,641

l2_block_public_tx_process_time_in_ms
3,880 (-1%)
15,231 (-1%)
30,447 (-1%)

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
14,024 (-4%)
27,360 (-2%)

note_history_successful_decrypting_time_in_ms
1,257 (+2%)
2,397 (+1%)

note_history_trial_decrypting_time_in_ms
98.8 (+19%)
138 (+21%)

node_database_size_in_bytes
18,784,336
35,520,592

pxe_database_size_in_bytes
29,923
59,478

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
255 (+1%)
44,736
28,001

private-kernel-ordering
195 (+1%)
52,625
14,627

base-rollup
655
177,932
997

root-rollup
68.7
4,320
825

private-kernel-inner
323 (+1%)
73,715
28,001

public-kernel-app-logic
170 (-1%)
32,254
25,379

merge-rollup
8.49
2,840
997

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
2 leaves
8 leaves
16 leaves
32 leaves
64 leaves
128 leaves
512 leaves
1024 leaves
2048 leaves
4096 leaves

batch_insert_into_append_only_tree_16_depth_ms
9.73 (-1%)
10.9 (-3%)
12.5 (-16%)
16.0 (-2%)
21.9 (-1%)
34.8 (-1%)
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.9
17.5
23.0
31.6
47.0
79.0
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.565 (-1%)
0.606 (-3%)
0.530 (-16%)
0.494 (-2%)
0.458 (-1%)
0.436 (-1%)
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
N/A
N/A
N/A
45.6
72.1
229 (-1%)
444
864 (-1%)
1,708 (-1%)

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
N/A
N/A
N/A
96.0
159
543
1,055
2,079
4,127

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
N/A
N/A
N/A
0.468
0.446
0.418 (-1%)
0.416
0.411 (-1%)
0.410 (-1%)

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
N/A
N/A
N/A
53.6
106
336
658 (-1%)
1,310
2,597

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
N/A
N/A
N/A
104
207
691
1,363
2,707
5,395

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
N/A
N/A
N/A
0.478
0.479
0.454
0.453 (-1%)
0.454
0.451

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
N/A
N/A
60.9
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
N/A
N/A
109
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
N/A
N/A
0.533
N/A
N/A
N/A
N/A
N/A
N/A

Miscellaneous
Transaction sizes based on how many contracts are deployed in the tx.

Metric
0 deployed contracts

tx_size_in_bytes
19,179

Transaction processing duration by data writes.

Metric
0 new note hashes
1 new note hashes

tx_pxe_processing_time_ms
2,690
1,382 (+1%)

Metric
0 public data writes
1 public data writes

tx_sequencer_processing_time_ms
0.0311 (+14%)
474


Fix intermittent unittest failures

Grafana datasources secret discovery and AlertmanagerConfig creation
tests were failing because we don't wait for the PagerDuty secret don't
exists.
Change is to wait for the PagerDuty secret resource to be available.
Signed-off-by: Arun Kumar Mohan<EMAIL_ADDRESS>

Fixes issue: https://github.com/red-hat-storage/ocs-osd-deployer/issues/158

Tests are passing.
@bindrad, can you please check this PR and confirm?
Thanks

consider my vote as removed, will re-check again as there's something else causing the issue for me and simply increasing the time isn't working for me.

Closing this PR as the PR https://github.com/red-hat-storage/ocs-osd-deployer/pull/164 resolves it


Incorporating Sinusoidal pitching motion in body.

Hi,
In my project I need to incorporate sinusoidal pitching of any airfoil. I was stuck in that. I have also seen issue #5 but I don't know what to upgrade. So, I was asking if it is possible to do so with LUMA and if yes how can we do so.
Hope you could help.
Thank  You.

As you saw in #5, this isn't implemented yet, but it should be possible to get it working in a rudimentary way with a bit of coding.  I am assuming that you want to use an IBM body, not a bounceback body.  In that case, assuming that the IBM body is rigid, you should be able to add code to set the position and velocity of each node at each timestep.  LUMA should then use this updated velocity to calculate the correct force to apply back to the fluid.
I think you want to write a new function, say, ObjectManager::ibm_apply_prescribed_movement, and call it in ObjectManager::ibm_moveBodies in ObjectManager_ops_ibm.cpp between the blocks "Loop through flexible bodies and apply FEM" and "Update IBM markers".
This new function would have to select which bodies (in iBody) to apply the movement to.  I would implement the actual movement routine in the IBBody class, which is the one that hold the markers.   In the IBBody object, you will need to loop over markers from Body, the superclass, and update position (from Marker, the superclass) and markerVel (from IBMarker).  I would start by applying a constant velocity and updated position to all markers in the x direction, and simulating something like an impulsively started flat plate (e.g. a filament in 2D), and testing your result against the literature.  If this works, then you can think about how to deal with the rotation.  You will obviously need to specify a centre of rotation and a time-varying rotation, from which you can calculate the position and (angular) velocity of each node.

Hi,
We have incorporated the function ObjectManager::ibm_apply_prescribed_movement as suggested. The function takes current time instant as input and updates the position and velocity of the markers. The function is able to update the position (correctly) and velocity of the marker. But the velocity values in the domain start becoming nan as the motion starts and it propagates from the region near the filament to the whole domain.
We were printing the marker velocity values at certain positions of the filament during the motion, and they seemed alright.
Currently, we are trying to give pitching motion to a rigid filament (pitching point is the leading edge (1st marker)).
We just want to know, if we are missing anything while updating the velocities of the markers.
We are attaching two snapshots at time instant 20 and 40:
20 ---->

40 ---->

Hi,
We had made the desired function for moving the body. The function is basically iterating through all iBody present in the simulation and it is updating the position and velocity markers of them.
We are using  a single body (Rigid Filament Array) to perform sinusoidal pitching. We are successfully changed the position the body at every time instant. We had also updated the Velocity marker at every time instant. But we are getting NaN values.
This is the function we used.

double actual_time = timeinstant/2000.0; // dimensional time
double omega = 8; // angular frequency in radian per second
double amplitude = 10; // in degrees
double amp_radian = amplitude * (3.14159265359/180); // amplitude in radian
double instant_angle = (amp_radian * sin(omega * actual_time)); // theta(t) = theta_max*sin(2*pi*f*t)

for (size_t ib = 0; ib < iBody.size(); ib++) { // looping through each body

	// setting the pivot position: postion of the 1st marker
	double x_pivot = iBody[ib].markers[0].position0[0];
	double y_pivot = iBody[ib].markers[0].position0[1];

	for (size_t i = 0; i < iBody[ib].markers.size(); i++) { // looping through each marker

		#if (L_DIMS == 2)
			// getting the x,y co-ordinates if its 2D
			double x_pos = iBody[ib].markers[i].position0[0];
			double y_pos = iBody[ib].markers[i].position0[1];
		#endif

		// calculating the new position of a marker by rotating the point about the pivot pitching point
		double new_x_pos = (x_pos-x_pivot)*cos(instant_angle) - (y_pos-y_pivot)*sin(instant_angle) + x_pivot;
		double new_y_pos = (x_pos-x_pivot)*sin(instant_angle) + (y_pos-y_pivot)*cos(instant_angle) + y_pivot;

		// updating marker position
		iBody[ib].markers[i].position[0] = new_x_pos;
		iBody[ib].markers[i].position[1] = new_y_pos;

		// calculating r
		double r = sqrt(pow((new_x_pos - x_pivot),2) + pow((new_y_pos - y_pivot),2));

		// calculating u and v of a marker
		double new_u = -amp_radian*r*omega*sin(instant_angle)*cos(omega*actual_time);
		double new_v = +amp_radian*r*omega*cos(instant_angle)*cos(omega*actual_time);

		//updating marker velocities
		iBody[ib].markers[i].markerVel[0] = new_u;
		iBody[ib].markers[i].markerVel[1] = new_v;
		}
	}
}

Do we have to update any other variable?? Please tell us why we are getting NaN values.

Thank You.

Could it be something to do with whether the bodies are marked as "flexible" in LUMA?  Have you had to make other changes to the code in order to get ibm_moveBodies to be called?  The reason I ask is that ibm_moveBodies is only called if ObjectManager::hasFlexibleBodies is true.  It might be that if you have made the body flexible, then other parts of LUMA might think that they have to do evolve the structure as a flexible body, and this might be causing problems.  Can you describe exactly what you did?  e.g. could you fork the repository and push all your changes to a branch in the fork, so we can see them?

Yes, you are right. We removed the condition before calling the ibm_moveBodies. Now it gets called irrespective of whether the body is rigid or flexible.
We did make another small change/correction recently.
Anyway we doing the fork repository as you have suggested.
Thanks

Hi I have forked the repo.. Kindly check..

I noticed that you commented out ibm_subIterate; was that intentional?
In your commit (https://github.com/paulakash24/LUMA/commit/f31b9197c17befe5880b6f1d636d21aa39d66018), you seem to have changed a lot of whitespace, and there are some changes in there that don't look relevant, so it's very hard to see what you were intending to change.
I can make a guess as to what is wrong, but you would have to try to track down whether this is the case yourself.  LUMA identifies bodies as either flexible or not flexible.  Currently, only flexible bodies can move, and when they do move, certain things need to be updated, like the IBM support points, epsilon, etc.  It might be that this is not happening because the body is not flexible.
For example, this code
	// Loop through flexible bodies and update the support points for all valid markers existing on this rank
	for (size_t ib = 0; ib < iBody.size(); ib++) {

		// Only do if on this grid level
		if (iBody[ib]._Owner->level == level && iBody[ib].isFlexible)
			ibm_findSupport(static_cast<int>(ib));
	}

in ObjectManager_ops_ibm.cpp:86, is only refinding the support points if the body is flexible.  I suspect you could remove that && iBody[ib].isFlexible part and have it recompute the support points for all bodies.  Maybe that would fix it?  But in general, you could search through the code and look for things that are only done for flexible bodies, and see if they should be done for moving bodies as well.

Yes. After doing the fork, I figured these things out actually (what you just said). I removed those flexibility check for calling ibm_findsupport in ObjectManager_ops_ibm.cpp and all such checks in ObjectManager_ops_ibm_mpi::ibm_updateMarkers.
I also used the conversion factor of velocities now.
And sorry if I changed the code layout a lot.
Now it is consistent. I can mention the body as rigid. And give rigid body motion.
I commented subIterate as I thought it was not necessary as it is a rigid body motion (positions and velocities are calculated). So currently, we are in a state that "rigid body motion" is working fine for all kind of bodies. This part is done probably. We need to validate.
Now we are trying to give different kinds of motion to flexible bodies. And here we require some suggestions. We have two things in mind:

Give pitching motion to a flexible filament (about the leading edge).
We want to prescribe motion (motion of any king, i.e., plunging, or some other where we will specify the position and velocity to the first marker) to the leading edge of the flexible filament. And we would expect the rest of the flexible body to follow that first point.

Can we get some suggestions on these? It would be very helpful. This would enable us to approach a large set of problems which we were thinking of tackling.
Thanks


[Snyk] Upgrade eslint from 8.57.0 to 8.57.1

Snyk has created this PR to upgrade eslint from 8.57.0 to 8.57.1.
As this is a private repository, Snyk-bot does not have access. Therefore, this PR has been created automatically, but appears to have been created by a real user.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 1 version ahead of your current version.
The recommended version was released 24 days ago, on 2024-09-16.

Release notes

Package name: eslint

8.57.1 - 2024-09-16Bug Fixes

a19072f fix: add logic to handle fixTypes in the lintText() method (#18900) (Francesco Trotta)
04c7188 fix: Don't lint same file multiple times (#18899) (Francesco Trotta)
87ec3c4 fix: do not throw when defining a global named __defineSetter__ (#18898) (Francesco Trotta)
60a1267 fix: Provide helpful error message for nullish configs (#18889) (Milos Djermanovic)
a0dea8e fix: allow name in global ignores, fix --no-ignore for non-global (#18875) (Milos Djermanovic)
3836bb4 fix: do not crash on error in fs.walk filter (#18886) (Milos Djermanovic)
2dec349 fix: skip processor code blocks that match only universal patterns (#18880) (Milos Djermanovic)

Documentation

6a5add4 docs: v8.x Add EOL banner (#18744) (Amaresh  S M)
b034575 docs: v8.x add version support page to the dropdown (#18731) (Amaresh  S M)
760ef7d docs: v8.x add version support page in the side navbar (#18740) (Amaresh  S M)
428b7ea docs: Add Powered by Algolia label to the search (#18658) (Amaresh  S M)
c68c07f docs: version selectors synchronization (#18265) (Milos Djermanovic)

Build Related

35d366a build: Support updates to previous major versions (#18870) (Milos Djermanovic)

Chores

140ec45 chore: upgrade<EMAIL_ADDRESS>(#18913) (Milos Djermanovic)
bcdfc04 chore: package.json update for @ eslint/js release (Jenkins)
3f6ce8d chore: pin<EMAIL_ADDRESS>(#18910) (Milos Djermanovic)
9f07549 chore: ignore /docs/v8.x in link checker (#18660) (Milos Djermanovic)

8.57.0 - 2024-02-23

    from eslint GitHub release notes

Commit messages

Package name: eslint

5b9414c 8.57.1
f66806d Build: changelog update for 8.57.1
140ec45 chore: upgrade<EMAIL_ADDRESS>(#18913)
bcdfc04 chore: package.json update for @ eslint/js release
3f6ce8d chore: pin<EMAIL_ADDRESS>(#18910)
a19072f fix: add logic to handle fixTypes in the lintText() method (#18900)
04c7188 fix: Don't lint same file multiple times (#18899)
87ec3c4 fix: do not throw when defining a global named `__defineSetter__` (#18898)
60a1267 fix: Provide helpful error message for nullish configs (#18889)
35d366a build: Support updates to previous major versions (#18870)
a0dea8e fix: allow `name` in global ignores, fix `--no-ignore` for non-global (#18875)
3836bb4 fix: do not crash on error in `fs.walk` filter (#18886)
2dec349 fix: skip processor code blocks that match only universal patterns (#18880)
6a5add4 docs: v8.x Add EOL banner (#18744)
b034575 docs: v8.x add version support page to the dropdown (#18731)
760ef7d docs: v8.x add version support page in the side navbar (#18740)
428b7ea docs: Add Powered by Algolia label to the search (#18658)
9f07549 chore: ignore `/docs/v8.x` in link checker (#18660)
c68c07f docs: version selectors synchronization (#18265)

Compare

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

No breaking changes.


Table row and cell contextual class priority

When specifying one of the contextual classes (.info, .success, .warning, .danger), I would expect the class specified at the cell level to override the one set at the row level. This is the case for .danger, but not the case for the others at present. In the example below you can see that in row two and three column three overrides the cell styles with the row style, whereas column four exhibits the behaviour I would expect to see:
http://www.bootply.com/2uFui3H1ta

Hi @svallis!
You appear to have posted a live example (http://s.bootply.com/render/2uFui3H1ta), which is always a good first step. However, according to Bootlint, your example has some Bootstrap usage errors, which might potentially be causing your issue:

line 9, column 9: W013: Bootstrap version might be outdated. Latest version is at least 3.3.2 ; saw what appears to be usage of Bootstrap 3.3.1
line 73, column 9: W013: Bootstrap version might be outdated. Latest version is at least 3.3.2 ; saw what appears to be usage of Bootstrap 3.3.1

You'll need to fix these errors and post a revised example before we can proceed further.
Thanks!
(Please note that this is a fully automated comment.)

Updated live example:
http://www.bootply.com/SJ7S3DkPuU

Duplicate of #12418. Nested usage of the table contextual background color classes is not supported.


Adding Willow to the dev requirements

Adding Willow to the dev requirements  as the runtests.py script errors without it installed.

Hi @cpsimpson,
Willow should get installed as part of the standard Wagtail dependencies when you run python ./setup.py develop - requirements_dev.txt is only intended to contain the developer-specific packages that aren't covered by the default Wagtail install. We'd want to avoid requirements_dev.txt becoming a duplicate of the standard dependency list from setup.py, as it would be easy for the two to get out of sync.
(Having said that, I'm not sure why we've got Pillow in requirements_dev...)

Ok thanks @gasman. I was following through the steps on http://docs.wagtail.io/en/latest/contributing/developing.html#coding-guidelines, it didn't mention that step.  It might be worth adding to the docs, unless I just missed it there.


add eventtype contract test inputs with > 100 inline event variables

Notes
Adding a second set of contract test inputs that have > 100 inline event variables.
This can be used to test the new batch API functionality in the eventtype handler.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

FYI, just waiting on these PRs before I merge this one, as these contract tests might fail without the changes to use batch APIs:
https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-frauddetector/pull/39
https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-frauddetector/pull/40


ssh password dialog should not show plain text

When requesting a restart of the server, a dialog pops up, and asks for a password. The user's input should be presentedd by e.g. '*'

Password dialog still not optimal, but this case is fixed in the new version.


Fix #9579 - ignore disabled input in Abide

@ncoden To resolve #9579 so that disabled inputs are not validated

Next time, please use a better name for commit, like Fix #9579 - ignore disabled input in Abide

Sorry about that - realised after I'd moved longer description to the body.
Tried to update docs but can't see how to edit "Javascript Reference" which seems the most appropriate place. The abide.md file doesn't include this or the SASS reference. Presumably this is generated elsewhere?

"Javascript Reference" is generated from the comments above functions and options, like here. But I think we should also add a section to the docs (like Ignored inputs with an example for [data-abide-ignore], [type="hidden"] and [disabled]`).

validateInput() comment updated and I've added two further examples below the data-abide-ignore one.
Perhaps the [type="hidden"] one could be clearer but it's hard to see how!

Section before Initial State seems to just hang without explanation. It seems to be an example of how to show error state initially both in the label and with callout. Is that right @gakimball ?

Merged!  Thanks @colinmackinlay


Fixed barometric sensor readings

Used current latest version of TI's Android source code to write this patch

@martin-doyle thanks, nice work!

Note this change did not work with firmware version 0.89 (Jan 31 2015), I had to update to 1.01 (Mar 13 2015) via the iOS app.

Yes, I use firmware 1.01 and did not check version 0.89.
Now, it is clear why TI tests for the data length:
4 => old firmware

4 => new firmware

@martin-doyle hmm, I'm wondering if something similar should be done in node-sensortag ... thoughts?


[HOLD for payment 2023-08-01] [$1000] Web - Multiple errors are displayed on add new contact method

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:
Precondition: logged in user should at verified phone number contact method

Open the app
Open settings
Open profile
Open Contact method
Click on New contact method
Write phone number which is already existing for the user and click on Add
Write @ after it and observe that app now displays 2 contradicting errors below the field

Expected Result:
App should only display one error at a time while adding new contact method
Actual Result:
App displays 2 error methods at a time when we add phone number which is already a contact of user, click on add and write @ after the number
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.39-5
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/108b8538-91b4-49a2-ac1c-7185df20622c
https://github.com/Expensify/App/assets/93399543/d553c4fc-085a-460d-ad6c-4923f7ffa84e
Expensify/Expensify Issue URL:
Issue reported by: @dhanashree-sawant
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1689176460712529
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01854db3eb3bfd067b
Upwork Job ID:<PHONE_NUMBER>560108032
Last Price Increase: 2023-07-14

Proposal
Please re-state the problem that we are trying to solve in this issue.
Multiple errors are displayed on add new contact method.
What is the root cause of that problem?
When adding new contact method, the errors are generated as follow.
https://github.com/Expensify/App/blob/138a41c745761898867e14fd199940f34875d3ac/src/pages/settings/Profile/Contacts/NewContactMethodPage.js#L91-L109
Because we add @ after phone number, it is not a valid format, so the first invalidContactMethod error message will be added to errors.
And when parsing phone number, awesome-phonenumber remove @ and store valid phone number to number.e164.
Therefore, generated validateIfNumber is same as existing contact method, and then the second invalidContactMethod error message will be added to errors.
So the two error message will be displayed.
What changes do you think we should make in order to solve the problem?
We can return errors in every if clause in order to display only one error message.
    if (_.isEmpty(values.phoneOrEmail)) {
        ErrorUtils.addErrorMessage(errors, 'phoneOrEmail', 'contacts.genericFailureMessages.contactMethodRequired');
+       return errors;
    }

    if (!_.isEmpty(values.phoneOrEmail) && !((parsePhoneNumber(phoneLogin).possible && Str.isValidPhone(phoneLogin.slice(0))) || Str.isValidEmail(values.phoneOrEmail))) {
        ErrorUtils.addErrorMessage(errors, 'phoneOrEmail', 'contacts.genericFailureMessages.invalidContactMethod');
+       return errors;
    }

    if (!_.isEmpty(values.phoneOrEmail) && lodashGet(props.loginList, validateIfnumber || values.phoneOrEmail.toLowerCase())) {
        ErrorUtils.addErrorMessage(errors, 'phoneOrEmail', 'contacts.genericFailureMessages.enteredMethodIsAlreadySubmited');
+       return errors;
    }

    if (!Permissions.canUsePasswordlessLogins(props.betas) && _.isEmpty(values.password)) {
        errors.password = 'contacts.genericFailureMessages.passwordRequired';
    }

    return errors;

What alternative solutions did you explore? (Optional)
None.

Was able to reproduce. Only happens for phone numbers, not emails.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Multiple error messages are displayed for a field in a new contact method form.
What is the root cause of that problem?
Validation in NewContactMethodPage form uses ErrorUtils.addErrorMessage to append errors. According to the current implementation, both enteredMethodIsAlreadySubmited and invalidContactMethod can occur simultaneously, and the desired output is only to display one error at a time for a contact method field.
What changes do you think we should make in order to solve the problem?
One simple solution with minimal change can be to set errors.phoneOrEmail = 'message' instead of using ErrorUtils.addErrorMessage. This way, users will get errors based on their last action, i.e. if they were entering an existing number, they'll get the The Entered Contact Method already exists. error, and if they enter invalid input, they'll get Invalid contact method. error message only.
What alternative solutions did you explore? (Optional)
An alternative solution can be to add else if blocks so that we don't execute unnecessary checks for the same inputID if there is an error, and the error object will have only one error for that at a time.

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~0187d9eaf406c53b7b

@fedirjh Agree, @GItGudRatio's proposal also makes sense to me, assigning them!

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~016c7b8ae165dc0bda

@mallenexpensify let's get them paid out! https://github.com/Expensify/App/issues/22819#issuecomment-1648822842

Issue reporter: @dhanashree-sawant owed $250
Contributor: @GItGudRatio paid $1500 via Upwork, inc. 50% urgency bonus
Contributor+: @fedirjh paid $1500, inc. 50% urgency bonus
@dhanashree-sawant can you please accept the job and reply here once you have?
https://www.upwork.com/jobs/~01854db3eb3bfd067b

Thanks @mallenexpensify, I have accepted the offer.

Also once you are available, can you let us know your feedback on this issue? Sorry we had some issue with 2 offers for one job, you could help us solve that

@mallenexpensify friendly bump on payment!

Updated above, also pasting here.
Issue reporter: @dhanashree-sawant paid $250
Contributor: @GItGudRatio paid $1500 via Upwork, inc. 50% urgency bonus
Contributor+: @fedirjh paid $1500, inc. 50% urgency bonus


[Звичайний пошук] Сlubs from different cities are displayed in the search results after selecting one city

Environment: Windows 8.1 Pro; Opera 80.0.4170.63.
Reproducible: always.
Build found: last commit
Steps to reproduce

Go to 'https://speak-ukrainian.org.ua/dev/'
Choose the location (e.g. 'Харків')
Click on the 'Який гурток шукаєте?' search field
Enter the name of the club (e.g 'Центр дитячої та юнацької творчості')
Verify the location of the clubs in the search result

Actual result
The clubs that are displayed in the search result belong to diffrent cities after selecting one city.
Expected result
The clubs that are displayed in the search result belong to the selected city.

Additional information:
The issue is also topical for searching centers.
User story and test case links
E.g.: "User story #77
Labels to be added
"Bug", Priority ("high"), Severity ("major"), Type ("Functional").

Bug is fixed


Add some missing icons

add missing rss icon
add missing chevron-up-down (formerly known as selector)
add missing bars-arrow-down (formerly known as sort-descending)
add missing bars-arrow-up (formerly known as sort-ascending)

@RobinMalfait some of the optimized versions don't look right such as bars-arrow-down.svg (the source file looks ok though).


Add split operator

https://www.tensorflow.org/api_docs/python/tf/split
Split is also need to dis-aggregate horizontally-fused intermediate results.
Though there are two approaches for better performance:

MIOpen supports fusion of splits with other operators (e.g., conv_bias_relu).
MIOpen supports channel-first tensor format which avoids the need for doing split.

How is split different than the slice operator?

"split" returns multiple slices in one kernel call.   Unless we support multiple return values for one instruction, we might as well return multiple slices in one big array.   The implementation may or may not use the slice operator implementation.
Parameters:
axis:  axis to be splitted.
size: an array of integers specifying dimensions after the split.

Or we can just insert multiple slices since those dont require any kernel to be ran.

Existing implementation of "slice" operators seems to assume that data layout in a slice is always contiguous.   I do not know what our "slice" operator is used for.   For the split operator, if the axis to split is not the 1st one, data layout is not contiguous.

in test\gpu\miopen.cpp,  "slice" and "concat" are compared with cpu implementation, shouldn't they be compared to expected results?   If both cpu and gpu use the same algorithm,  but the algorithm is wrong.  This will still verify that it passes.
Do we have a documentation on expected behaviors of our operators?
Existing implementation for both "slice" and "concat" is quite different from my understanding.
My understanding is like this:
https://eli.thegreenplace.net/2015/memory-layout-of-multi-dimensional-arrays/

For "should not they be compared to expected results?"
In my understanding, tests in miopen.cpp is to ensure CPU implementation and GPU implementation generate the same results. Our CPU and GPU implementations are supposed to use the same algorithm, but they are two different implementations, which can generate different results if one or both are wrong. As for compared to expected results, that is in the cpu test/cpu_ops_test.cpp file, in which outputs are compared to expected results."
As for documentation, they are two sources. One is the onnx operator webpage; the other is the numpy index/slice at https://docs.scipy.org/doc/numpy-1.13.0/reference/arrays.indexing.html
it is supposed to generate the same results as numpy index/slice.

Shucai,  thanks for the pointer, I now see your cpu_ops_test.  I followed the example to write some tests to help me to understand its behavior,  It looks correct so far.  So,  I might be able to use slice operator instead of using split.

I was a bit puzzled on how the contiguous layout is guaranteed since "slice" only returns a pointer.
I found that a "contiguous" instruction is inserted after each "slice" instruction which does the job.  For the gpu target, this turns into a kernel call in "nary_nonstandard".
So back to Paul's initial question, can we use "splice" instead of "split" instead?
Yes, we can,.  But we will need multiple "splice" instructions, each of them is followed by "gpu::contiguous", which introduces multiple kernel calls.
My conclusion is:  we need a split operation, which unified multiple slices and "gpu::contiguous" in one kernel call.

The "contiguous" operators are removed if the operators support non-standard layouts. So if these are feed into operators such as add or relu then "contigous" will be removed.
If we want to do a one time contiguous across several slices, we can use "concat" for that. We will need to do another slice after the concat but that second slice will be packed and contiguous.

Even better, we could have a pass that finds several contiguous operators and fuses them into concat, which will fuse contiguous for more than just slices.
Although, in this case we will need to optimize concat as it currently runs several kernels instead of one.

A "split" algorithm that does not rely on "contiguous" will be preferable.
Input: one array
Output: one array
Calculate the mapping of input index and output index, and copy the data accordingly,

Also, it is better if MIOpen can support the fusion of split.  When MIOpen writes the result of "conv_bias_relu", it can write to the "split" output directly.

My two cents:

There is an issue of ONNX operators as well as internal IR.  I think it makes sense to accept the ONNX split operator.
Next question is in regard to our internal IR.  I would bias towards introducing a split operator.
Separate from this is the overall aspect of "layout planning"; I think here it makes sense to understand not just for split, but also other operators that don't have to change layouts (e.g. reshape) what type of optimization we do and how it is organized into passes.  I'd rather see that described as whole rather than just focused on split by itself.

Just took a quick look, the following are our operators that may need contiguous inserted after.
transpose
squeeze
unsqueeze
reshape
as_shape
identity
flatten
broadcast
multibroadcast
scalar

* There is an issue of ONNX operators as well as internal IR.  I think it makes sense to accept the ONNX split operator.

The split operator uses multiple outputs which we dont support. Instead, we would just map it to multiple slice operators.

* Next question is in regard to our internal IR.  I would bias towards introducing a split operator.

I dont think we can support a full split in our IR. We can concat the splits in a single tensor if each split has the same tensor shape, but that is not always the case:
node = onnx.helper.make_node(
    'Split',
    inputs=['input'],
    outputs=['output_1', 'output_2'],
    axis=1,
    split=[2, 4]
)

expected_outputs = [np.array([[1., 2.], [7., 8.]]).astype(np.float32),
                    np.array([[3., 4., 5., 6.], [9., 10., 11., 12.]]).astype(np.float32)]

expect(node, inputs=[input], outputs=[y for y in expected_outputs], name='test_split_variable_parts_2d')

* I'd rather see that described as whole rather than just focused on split by itself.

Most of the operators that just change the shape are done in a target-independent manner, since all they really do is modify the shape of the tensor. There are only a few that require implementations on the gpu: contiguous, concat, and gather, but we try to keep those operators to a minimum.

We currently do not support multiple results in one instruction, which might need a change if more cases  like this are encountered in the future.   As of now,  we can return all splitted tensors in one flattened array.  The consumers of split can get the data by indexing into this big array using "base + offset".  We have "load" instruction for this purpose.
"contiguous" is essentially a "transpose".  Using "transpose" to do the extraction of  slices is easier to understand and code.   But it is expensive.    The question is whether we can find an algorithm to map the indexes of input/output array and to move the data in a single kernel that is efficient to run on GPU.  I am thinking along this line.

As of now, we can return all splitted tensors in one flattened array. The consumers of split can get the data by indexing into this big array using "base + offset". We have "load" instruction for this purpose.

Ah yes, in this case, "load" will work and we dont need to call to the contiguous operator.

Using "transpose" to do the extraction of slices is easier to understand and code. But it is expensive.

If the consumers need contiguous inputs, then we need to do this "transpose", unfortunately. As an optimization, we could batch process several contiguous operators(which is essentially a concat operator).

I think I know how to map the index between input and output, which can be computed at compilation time and passed to kernel.
Borrowing OCL syntax, (will be ported to HIP),  the kernel declaration will be like:
// out[index_map[i]] = in[i]
__kernel void vector_copy(__global const float * restrict in,
__global float* restrict out,
__global const int* index_map,
const int N)

We currently do not support multiple results in one instruction, which might need a change if more cases like this are encountered in the future.

One other case is the RNN operators. which can generate two or three results. We have a workaround to get the result we want, but we still cannot not output multiple results simultaneously.
If we met more cases like this, we had better change earlier.

We currently do not support multiple results in one instruction, which might need a change if more cases like this are encountered in the future.

One other case is the RNN operators. which can generate two or three results. We have a workaround to get the result we want, but we still cannot not output multiple results simultaneously.
If we met more cases like this, we had better change earlier.

Should we create a new issue to track the multiple results?

Yes, please open a new issue.

No change.


set owners of resources created to different roles

Is your feature request related to a problem? Please describe.
I would like to authenticate with a "scripting admin" identity and set ownership of various resources created to different roles. This allows creating/maintaining/destroying resources owned by multiple roles in a single TF project
Describe the solution you'd like
Below is a proposed TF (owner can default
provider snowflake {
    username = "MYUSER"
    private_key_path = "id_rsa"
    account = "MYACCOUNT"
    region  = "us-east-1.aws"
    role = "ACCOUNTADMIN"
}
resource snowflake_database database1 {
  name  = "DATABASE1"
  owner = "ROLE1"
}
resource snowflake_database database2 {
  name  = "DATABASE2"
  owner = "ROLE2"
}

For idempotence, owner roles set might need to be restricted to roles available to username (authenticating to Snowflake)
https://docs.snowflake.com/en/sql-reference/sql/grant-ownership.html
GRANT OWNERSHIP
Describe alternatives you've considered
Alternative approach would be to run a sequence of Terraform (and CLI?) projects

create table1, table2 as ACCOUNTADMIN
assign ownership of database1 to role1
assign ownership of database2 to role2
continue with database1 configuration as role1
continue with database2 configuration as role2

Perhaps a similar approach to other resources can be utilized for granting ownership to roles:
resource "snowflake_warehouse_grant" "processing_wh_ownership" {
  warehouse_name = snowflake_warehouse.processing_wh.name
  privilege      = "OWNERSHIP"

  roles = ["SYSADMIN"]
}

@davidmlee-okta thank your comment. I continue to learn Snowflake permission capabilities. As described above, my understand is if the script transfers OWNERHSHIP of a resource to a role different from what it is running under, the next run wouldn't be able to update those resources.

Snowflake roles are inherited, so as long as ROLE1 and ROLE2 in your example are descendants of ACCOUNTADMIN (which they will by by default), then the script will be able to run again.
You can test this with the following script in a sandbox environment:
use role accountadmin;
create database if not exists grant_test;
create schema if not exists grant_test.public;
create table if not exists grant_test.public.test (id int);
grant ownership on table grant_test.public.test to role sysadmin;
grant ownership on table grant_test.public.test to role sysadmin;
//drop database if exists grant_test; -- if you want to delete the db, uncomment this line


Peptidome clustering, processing popup not hidden

The peptidome clustering feature of the web app allows users to select a custom FASTA-file to upload. After such a file is selected, a popup in the lower left side of the browser is shown that says "Processing proteome". This popup is not hidden when the processing is done. The following error message is then produced in the console:
Uncaught (in promise) TypeError: c.find(...).size is not a function at k (myGenomes.js:256)
k @ myGenomes.js:256
Promise.then (async)
(anonymous) @ myGenomes.js:198
dispatch @ jquery.js:4670
y.handle @ jquery.js:4490

This feature is no longer supported.


Feature: Limit

I'm interested in working on the limit feature , as mentioned by the 1.0 Roadmap.

https://github.com/wovalle/fireorm/pull/19


Exception evaluating SpringEL expression: "searchResults.isEmpty()" (search)

 -
     -

Hint: the query "and"
    should return some results.

Hello, can you give more detail about this issue?
When it happens and how to reproduce it.


Make codegen-pure's field defaults match protoc's

Split out from #510. @stepancheg I don't particularly care about these changes, but they directly fall out from not calling field.clear_default_value() in normalize_descriptor.
I'm quite confident that the change to quote_bytes_to is valid, as it just adds escaping for single quotes (') like in the C++ version: https://github.com/protocolbuffers/protobuf/blob/f9d8138376765d229a32635c9209061e4e4aed8c/java/core/src/main/java/com/google/protobuf/TextFormatEscaper.java#L79-L81
I'm less sure about the float change (it's hard to say exactly what snprintf will do with %g on all platforms: https://github.com/protocolbuffers/protobuf/blob/c0b79c5a398f4eec51ef92784e9d940febdccc52/src/google/protobuf/stubs/strutil.cc#L1245-L1287), but it's definitely true that google/protobuf will render a default value of 10.000 as 10, and this change matches google/protobuf on that specific case.

This required the following changes:

Suppressing trailing ".0" from rendered floats
Escaping single quotes in the text format
Normalizing escape sequences in byte-valued defaults

Great PR as usual. Thanks!


⚠ Thumbnails API Endpoint has degraded performance

In d69cbd8, Thumbnails API Endpoint (https://thumbnails.roblox.com/v1/assets?assetIds=82738847&format=Png&isCircular=false&size=30x30) experienced degraded performance:

HTTP code: 200
Response time: 5732 ms

Resolved: Thumbnails API Endpoint performance has improved in 78d5b43.


list available: show LTS and STABLE

Hello,
This PR fixes #111 and loads node versions from https://nodejs.org/download/release/index.json

Let me know if I did something stupid, first time in my life that I've put my eyes on go code.
Cheers,
Frederico Silva

Thanks! Nothing immediately "wrong" stood out and you followed the original syntax, making it easy to review. I really appreciate it when someone steps out of their comfort zone, so props to you!

I see v6 !


[Panorama] Android image fix

https://app.clickup.com/t/24546942/MP-10677
This PR aims to make sure that the Android panorama viewer to be able to :

Display spherical and cyclindrical images properly.
Display any image imported from the web.
Display an image scanned from iphone dermandar.

By simplifying the byte reading.
By removing the unnecessary options passed to google ar.
By rotating byte array based on exif.

@ldalzottomp once this is merged to package, do we need to do any updates on mpx side?

@antonhudz Yes. Once merged, I will create a version commit and update mpx.


docs(analytics): Desired analytics data

This PR introduces a long lived analytics document that describes our analytics mechanism.
Currently only includes which data we'd like to record, backed solely on client side capabilities of the app.
The question still remains how to actually store the data, which will be addressed in a subsequent PR.
Related to https://github.com/cdklabs/construct-hub-webapp/issues/8.

Keep please

Keep


doc: fix README.md aggregation documentation

Summary
This PR fixes:

misleading localField lookup, replaced by as
incorrect query closing bracket }, replaced by ]
incorrect update returning the updated document, replaced by Mongo update filter

Enhancement:

move projection outside aggregation pipeline to MongoBulkDataMigration properties, for consistency

Hey @Jordanlelay @cortysuss3 this is a documentation PR for the public repo mongo-bulk-date-migration.


Optionally create local directories as needed for drs downloads

┆Issue is synchronized with this Jira Story

closed via #324


MudNavLink ForceLoad

Is your feature request related to a problem? Please describe.
MudNavLinks works good for pages. However in layoutcomponent, StateHasChanged() maybe insufficient. Sometimes we need to re-render whole layout and show new data on layout component.
Describe the solution you'd like
MudMenuItem already have ForceLoad property.
The same can be add to MudNavLink.

This issue is now organized in our feature requests project at https://github.com/Garderoben/MudBlazor/projects/11
Note: the issue is closed but that doesn't mean that this won't be implemented. Check the project to see how it is scheduled. If enough users vote for a different scheduling it can be changed. Also, if you want to PR this feature you may do so any time.

@mikes-gh Fixed in PR #2114, this can be closed now