Error running Angular 2 in cordova in iPad, Attempted to assign to readonly property.

Hey guys,
I'm getting this error when I try to run Angular 2 v2.0.1 in Cordova v4.2 on the iOS 9.3 iPad. I can run the app in the Xcode simulator, but not on the iPad. Thanks!
Unhandled Promise rejection: (7)
"(SystemJS) Attempted to assign to readonly property.
__
execute
invoke@file:///var/containers/Bundle/Application/9D1D5DCD-CB77-4AAA-BCB3-8755D9B63DF6/app/www/node_modules/zone.js/dist/zone.js:323:34
run@file:///var/containers/Bundle/Application/9D1D5DCD-CB77-4AAA-BCB3-8755D9B63DF6/app/www/node_modules/zone.js/dist/zone.js:216:50
file:///var/containers/Bundle/Application/9D1D5DCD-CB77-4AAA-BCB3-8755D9B63DF6/app/www/node_modules/zone.js/dist/zone.js:571:61
invokeTask@file:///var/containers/Bundle/Application/9D1D5DCD-CB77-4AAA-BCB3-8755D9B63DF6/Reading%20Asst.app/www/node_modules/zone.js/dist/zone.js:356:43
runTask@file:///var/containers/Bundle/Application/9D1D5DCD-CB77-4AAA-BCB3-8755D9B63DF6/app/www/node_modules/zone.js/dist/zone.js:256:58
drainMicroTaskQueue@file:///var/containers/Bundle/Application/9D1D5DCD-CB77-4AAA-BCB3-8755D9B63DF6/app/www/node_modules/zone.js/dist/zone.js:474:43
g@file:///var/containers/Bundle/Application/9D1D5DCD-CB77-4AAA-BCB3-8755D9B63DF6/app/www/node_modules/core-js/client/shim.min.js:8:10017
file:///var/containers/Bundle/Application/9D1D5DCD-CB77-4AAA-BCB3-8755D9B63DF6/app/www/node_modules/core-js/client/shim.min.js:8:10139
k@file:///var/containers/Bundle/Application/9D1D5DCD-CB77-4AAA-BCB3-8755D9B63DF6/app/www/node_modules/core-js/client/shim.min.js:8:14294
Error loading file:///var/containers/Bundle/Application/9D1D5DCD-CB77-4AAA-BCB3-8755D9B63DF6/app/www/app/boot.js"

"; Zone:"
""
"; Task:"
"Promise.then"
"; Value:"
Error: (SystemJS) Attempted to assign to readonly property. __ execute invoke@file:///var/containers/Bundle/Application/9D1D5DCD-CB77-4AAA-BCB3-8755D9B63DF6/app/www/node_modules/zone.js/dist/zone.js:323:34 run@file:///var/containers/Bundle/Application/9D1D5DCD-CB77-4AAA-BCB3-8755D9B63DF6/app/www/node_modules/zone.js/dist/zone.js:216:50 file:///var/containers/Bundle/Application/9D1D5DCD-CB77-4AAA-BCB3-8755D9B63DF6/app/www/node_modules/zone.js/dist/zone.js:571:61 invokeTask@file:///var/containers/Bundle/Application/9D1D5DCD-CB77-4AAA-BCB3-8755D9B63DF6/app/www/node_modules/zone.js/dist/zone.js:356:43 runTask@file:///var/containers/Bundle/Application/9D1D5DCD-CB77-4AAA-BCB3-8755D9B63DF6/app/www/node_modules/zone.js/dist/zone.js:256:58 drainMicroTaskQueue@file:///var/containers/Bundle/Application/9D1D5DCD-CB77-4AAA-BCB3-8755D9B63DF6/app/www/node_modules/zone.js/dist/zone.js:474:43 g@file:///var/containers/Bundle/Application/9D1D5DCD-CB77-4AAA-BCB3-8755D9B63DF6/app/www/node_modules/core-js/client/shim.min.js:8:10017 file:///var/containers/Bundle/Application/9D1D5DCD-CB77-4AAA-BCB3-8755D9B63DF6/app/www/node_modules/core-js/client/shim.min.js:8:10139 k@file:///var/containers/Bundle/Application/9D1D5DCD-CB77-4AAA-BCB3-8755D9B63DF6/app/www/node_modules/core-js/client/shim.min.js:8:14294 Error loading file:///var/containers/Bundle/Application/9D1D5DCD-CB77-4AAA-BCB3-8755D9B63DF6/app/www/app/boot.js
(SystemJS) Attempted to assign to readonly property.
__
execute
invoke — zone.js:323
run — zone.js:216
invokeTask — zone.js:356
runTask — zone.js:256
drainMicroTaskQueue — zone.js:474
g — shim.js:4005
k — shim.js:4373

(anonymous function) — console-via-logger.js:173
consoleError — zone.js:461
_loop_1 — zone.js:490
drainMicroTaskQueue — zone.js:494
g — shim.js:4005
(anonymous function) — shim.js:4018
k — shim.js:4373
// here is my package.json
{
"name": "client-app",
"version": "1.1.0",
"description": "Client",
"author": "Scientific Learning",
"license": "UNLICENSED",
"private": true,
"scripts": {
"tsc": "tsc",
"tsc:w": "tsc -w",
"clean": "gulp clean",
"compile": "gulp compile",
"test": "gulp test",
"junit-test": "gulp junit-test",
"start": "concurrent "npm run tsc:w" "gulp connect" ",
"postinstall": "typings install"
},
"dependencies": {
"@angular/common": "~2.1.0",
"@angular/compiler": "~2.1.0",
"@angular/core": "~2.1.0",
"@angular/forms": "~2.1.0",
"@angular/http": "~2.1.0",
"@angular/platform-browser": "~2.1.0",
"@angular/platform-browser-dynamic": "~2.1.0",
"@angular/router": "~3.1.0",
"bootstrap": "4.0.0-alpha.4",
"bootstrap-sass": "3.3.7",
"core-js": "2.4.1",
"countup.js": "1.7.1",
"jquery": "2.2.4",
"ng2-bootstrap": "1.1.9",
"ng2-translate": "2.5.0",
"odometer": "0.4.7",
"reflect-metadata": "^0.1.8",
"rxjs": "5.0.0-beta.12",
"systemjs": "0.19.39",
"shelljs": "0.7.4",
"tether": "1.3.7",
"typescript": "2.0.3",
"zone.js": "^0.6.25"
},
"devDependencies": {
"concurrently": "3.0.0",
"del": "2.2.2",
"devbridge-styleguide": "^0.4.17",
"gulp": "3.9.1",
"gulp-clean": "^0.3.2",
"gulp-autoprefixer": "3.1.1",
"gulp-connect": "5.0.0",
"gulp-log-capture": "0.0.6",
"gulp-sass": "2.3.2",
"gulp-sourcemaps": "1.6.0",
"gulp-tslint": "6.1.2",
"gulp-typescript": "3.0.1",
"gulp-war": "0.1.4",
"gulp-zip": "3.2.0",
"jasmine-core": "2.5.2",
"jasmine-jquery": "2.1.1",
"karma": "1.3.0",
"karma-chrome-launcher": "2.0.0",
"karma-cli": "1.0.1",
"karma-jasmine": "1.0.2",
"karma-junit-reporter": "1.1.0",
"rav2-data-api"<EMAIL_ADDRESS>"run-sequence": "1.2.2",
"tslint": "3.15.1",
"typescript": "2.0.3",
"typings": "1.4.0"
}
}

This repo is for Angular 1.x. The Angular 2+ repo is over there.


Update copyrights on Footer.js

That's what I meant but according to my contributions, you can change your commit message to something more explanatory, try changing it to something like "Update copyright on footer automaticly"

All this is unnecessary anyway, no need to change the year.


Chat: Fix reset recipe

This PR closes #2301.
Test plan
https://github.com/sourcegraph/cody/assets/44617923/7b62a24f-4da6-4dad-ab7e-4433444bc553

@toolmantim @philipp-spiess Can I have a review please?


Project Progress or whatever idk

Warning: formalities has left this post
Yeah I know this is for issues but I'll be using this particular issue as my progress report uh, blog, thing.
Anyway, this report uh thing starts between v1.0.0 soon to go to v1.0.1.
Couple of things happened since v1.0.0

Fixed readme
Fixed the mess that was the manpage
Revamped the installation script (some things still undone but yeah)
Bug fixes
More bug fixes
Me playing some random capycabra game idk

Things I'm currently working on

Metadata recollection since songs are missing that rn
More possible flags for the CLI version
More bug fixes (my totally favorite part of programming 🙃)
Getting albums
Getting Liked songs (I personally use this one as a mega playlist)

Haven't tested the app on other OS yet, so, probably more bugs there. Scripts won't work for windows for sure, that will need a whole new

Update v1.0.1
Couple of things I fixed

Fixed bug where you got stuck on login
Music now has proper metadata
Fixed bug where yt-dlp retrieved the wrong video
Improved documentation
Cleaned Code a little
Fixed mayor issues with install script
Better guards when user cancelled the program
Spotituby can now retrieve all songs as a playlist
Get albums (not utilized in the CLI yet)
Fixed bug where playlists were not fully retrieved, now you can retrieve all songs from the playlist
Other minor bug fixes

There's still a lot of work to do. I have to finish some hw projects from college rn so once I get those done I'll work on any bugs found.


Bump fxmacker/cbor to 1.3.0

A new version has been released which brings some performance improvements. We are currently using an unreleased interim version.

I just released fxamacker/cbor v1.3.2.
It fixes issues discovered by an updated fuzzing program that includes "toarray" struct tag and more.

@fxamacker thanks for letting us know and thanks for your great library!


Sort Gists by last updated

Hi, It would be awesome if we could toggle the sorting between alphabetical and Last Updated to make it easier to find the most recent Gists
Awesome AddIn!

I’ll add this later today 👍

Just published v0.0.3, which changes the default sort order of gists to their last updated time. Let me know if this works for you!


Redesign homepage

Placeholder issue.
Probably remove company/project logos. /cc #595

I'd like to be part of site modernization, if possible. Could you let me know if there is something I can contribute to? @jasonlong

@Meghana-12 The site redesign work hasn't really progressed since I haven't been able to allocate enough time to it. If/when this work picks back up, I can let you know about possible places to help.

Sure, thank you so much!

With that 👍 I feel confident to close this issue.


Add gradient transformer

This PR adds a basic gradient transformer, as well as tests to verify.

Hey, this is great.
I'd love to add gradient support. However since there is a w3c spec for gradients I'd love to use it for the transformer as well.
{
  "mostly-yellow": {
    "$type": "gradient",
    "$value": [
      {
        "color": "#ffff00",
        "position": 0.666
      },
      {
        "color": "#ff0000",
        "position": 1
      }
    ]
  }
}

The specs don't include an angle. However until they do add an angle we can add an optional angle property:
{
  "mostly-yellow": {
    "$type": "gradient",
    "angle": 45,
    "$value": [
      {
        "color": "#ffff00",
        "position": 0.666
      },
      {
        "color": "#ff0000",
        "position": 1
      }
    ]
  }
}

Would you be able to adjust this PR?

Hey, this is great. I'd love to add gradient support. However since there is a w3c spec for gradients I'd love to use it for the transformer as well.
{
  "mostly-yellow": {
    "$type": "gradient",
    "$value": [
      {
        "color": "#ffff00",
        "position": 0.666
      },
      {
        "color": "#ff0000",
        "position": 1
      }
    ]
  }
}

The specs don't include an angle. However until they do add an angle we can add an optional angle property:
{
  "mostly-yellow": {
    "$type": "gradient",
    "angle": 45,
    "$value": [
      {
        "color": "#ffff00",
        "position": 0.666
      },
      {
        "color": "#ff0000",
        "position": 1
      }
    ]
  }
}

Would you be able to adjust this PR to be more inline with the specs?

Yeah no problem! Let me implement this.

Hey @lukasoppermann , are there any other w3c transformers (aside from gradients) that you need help with?

Hey @lukasoppermann hope all is well on your end! I updated the PR to include your suggestions. Let me know if you have any suggestions. Thanks!

Hey, looks great. I have two things:

Why did you add json5 and this packages to the package.json? Can we remove that?
Could you add a second test with an angle. It would be great to have both tests. And maybe add a third test with more items in the gradient.

And did you run the test? Somehow I have the feeling this code does not work. I think in the transformer it would need to iterate over the array items from $value, doesn't it?

@lukasoppermann I implemented the suggestions you made in the previous comment. Just one question, concerning the gradient transformer, it seems we are returning an array within an array. Not quite sure how to address this but open to suggestions.

@dougwperez great, I will have a look.
Concerning the array, do you mean hear: https://github.com/lukasoppermann/style-dictionary-utils/pull/15/files#diff-befdab94e5d95c5d68b731e690edf7505c5d88476571b20485be8221fc518c0bR14 ?
We could just use join(",") right? Or are you talking about something else?

@lukasoppermann, I just pushed up some changes (prior to your edits to the comment). Take a look, and I can use your code in the comment if necessary.

Hey, I can't see the changes, are you sure you pushed it?
Otherwise sounds good, we can continue on Wednesday. 👍

@lukasoppermann  Just pushed up now. 👍

Hey @dougwperez the changes are good. But what I mentioned above is still needed.

@lukasoppermann Hi, I implemented your suggested code. Just had to use the trim() method to remove some whitespaces and add a ternary condition for adding the "%" and the "," only when an angle or a position argument are provided. Let me know if this works.

Hey @dougwperez I have a few nitpicky changes. Would you rather I comment on them or are you fine with me merging and changing it afterwards? What do you feel better about>

Just a bit of cleanup like
${Math.floor(stop.position * 100) || ""}${stop.position ? "%" : ""}
// to
${stop.position ? `${Math.floor(stop.position * 100)}%` : ""}

It's shipped, thanks for the help.


OkHttp 3.0.1 -> 3.2.0

New version. The integration tests are failing locally (java.lang.NoClassDefFoundError: com/google/gson/JsonParseException) but this happened even without the change

I have specified it explicitly. My concern is whether the adapter is compatible with my specified version of OkHttp. How do I make sure of that?

It will be compatible with all 3.x versions since OkHttp isn't going to
break API compatibility unless there's a major version bump.
On Tue, Mar 1, 2016 at 12:32 PM alixwar<EMAIL_ADDRESS>wrote:

I have specified it explicitly. My concern is whether the adapter is
compatible with my specified version of OkHttp. How do I make sure of that?
—
Reply to this email directly or view it on GitHub
https://github.com/JakeWharton/retrofit1-okhttp3-client/pull/2#issuecomment-190823051
.


Question: Multiple Private Registry

Expected Behaviour

We want to support multiple private registries in the OpenFaaS cloud, just like OpenFaaS.
I would like to know the specific method.
Current Behaviour

I actually ran OpenFaaS on Azure and tried to get it to work with multiple Private Repository registrations.
As for OpenFaaS Cloud, I've only read the USER_GUIDE.

Hi @okhiroyuki, apologies about taking so long to get back to you.
What's the usecase for multiple private registries for OpenFaaS Cloud?
Currently the core components build and push the images up to a registry and this same one is used to pull and run the functions. How would you see multiple private registries working for OFC, is this for part of a build on the dockerfile lang?

Hi @Waterdrips , Thank you for your reply.
I thought the expected behavior would be for the user to be able to specify their own registry, but this was a question I was asking without knowing how openfaas cloud works.
This issue can be closed and is fine.

Thanks @okhiroyuki - happy to take any feedback on openffas cloud, the installer and anything that could be improved.
If your not on the OpenFaaS slack it would be great to see you join.

/slack

/close


Using microkernels for single core code.

IREE CPU already uses microkernels, use that as the baseline to get this flow working.
Here is a gist that explains how this is plumbed through on the CPU side https://gist.github.com/bjacob/2c160c102cee33562826c730945b49f2

I've raised a PR to tackle the first step : --iree-amdaie-lower-to-ukernels : https://github.com/nod-ai/iree-amd-aie/pull/175

Short summary:
I'm able to generate the following construct now :-
aie.device(ipu) {
    aie.core(...) {
          func.call @matmul_scalar_bf16_bf16(...)
    } { link_with = "mm.o" }
    aie.core(...) {
          func.call @matmul_scalar_bf16_bf16(...)
    } { link_with = "mm.o" }
    aie.core(...) {
          func.call @matmul_scalar_bf16_bf16(...)
    } { link_with = "mm.o" }
}

(As expected each core will have a reference of the microkernel they individually are running).
We are successfully able to reach this stage starting from the following input IR :-
func.func @matmul_small(%lhs : tensor<8x16xbf16>,
    %rhs : tensor<16x32xbf16>) -> tensor<8x32xbf16> {
  %empty = tensor.empty() : tensor<8x32xbf16>
  %cst = arith.constant 0.0 : bf16
  %fill = linalg.fill ins(%cst : bf16) outs(%empty : tensor<8x32xbf16>) -> tensor<8x32xbf16>
  %2 = linalg.matmul ins(%lhs, %rhs : tensor<8x16xbf16>, tensor<16x32xbf16>)
      outs(%fill : tensor<8x32xbf16>) -> tensor<8x32xbf16>
  return %2 : tensor<8x32xbf16>
}

Long summary:

I went through some basics of the AIR/AIE dialect to understand better how to position the func.call thingy.

I figured the first instance to fiddle was air-to-aie  - was able to make some progress with that by changing the aie::CoreOp creation itself.

Tried backtracking and found the actual source where a fix would get us through the above construct. It was in air-par-to-herd pass - updated the creation of air::HerdOp itself.

I've added all my local fix to MLIR-AIR along with the current IR log in the same gist as yesterday's: Fix + IR log.

Updates:

Added support for linalg.matmul along with the already added support for linalg.generic.
Here is the WIP branch.

After installing mlir-aie - I had difficulty getting hold of mm.o.
Was able to get through the issue with a workaround - root cause xchesscc_wrapper doesn't seem to be using the aietools path passed and xchesscc is not found in the xcorad* server.
I've added the workaround here as a_workaround_for_generating_mm.o.sh.

Updated the function signature of the matmul_scalar_* - both at mm.c as well as the IREE ukernel op I'm forming.
I've added the updated mm.c file here mm.c.
Was able to generate mm.o file after updating too (with the fix in point 2 above).

Tried the e2e invocation but it fails at the XCLBin generation.
Have added the e2e log here as ukernel_e2e_runtime.mlir.

NOTE: The links attached is the same gist link (with updated content) which I've previously used to provide an update to this tracker.

Hi @Abhishek-Varma, my understanding is that aiex.ipu.dma_memcpy_nd always has to operate on 32 bit data types right now (as AIE DMAs have 4 byte granularity), so the bf16 data type is interpreted as i32. I think we have following options to solve this:

Update the hal ops to work on i32 as well
Update mlir-air/aie to accept other data types as well, but under certain constraints, like strides and sizes need to be multiples of 4 byte words.

Option 1 is probably the easiest to get things working as air/aie seems to have taken the 'reinterpret data type' approach to ensure multiples of 4 byte words in DMA operations. But not sure what the plans are there longer term? @erwei-xilinx Any thoughts?
cc @MaheshRavishankar

memref.assume_alignment %2, 64 : memref<8x32xbf16>

Oh no Abhishhek you went down the same rabbit hole as I did! This the pass I added in air to fix it https://github.com/Xilinx/mlir-air/commit/e8a32b0af311c15b29a2e368c86ab1a965bd2324 (it should be live in the latest iree-amd-aie now).
@MaheshRavishankar also mentioned a pass in IREE for this, liminate memref.assume_alignment

Hi @Abhishek-Varma, my understanding is that aiex.ipu.dma_memcpy_nd always has to operate on 32 bit data types right now (as AIE DMAs have 4 byte granularity), so the bf16 data type is interpreted as i32. I think we have following options to solve this:

Update the hal ops to work on i32 as well
Update mlir-air/aie to accept other data types as well, but under certain constraints, like strides and sizes need to be multiples of 4 byte words.

Option 1 is probably the easiest to get things working as air/aie seems to have taken the 'reinterpret data type' approach to ensure multiples of 4 byte words in DMA operations. But not sure what the plans are there longer term? @erwei-xilinx Any thoughts?
cc @MaheshRavishankar

My understanding is that option 2 is already done

https://github.com/openxla/iree/blob/main/compiler%2Fsrc%2Firee%2Fcompiler%2FCodegen%2FCommon%2FCleanupBufferAllocViewPass.cpp is the lass in IREE that removes hal.interface.binding that are dead (i.e. uses are only in alignment operations)
I have looked at this PR itself to get all the details

So reinitializing the mlir-air submodules in iree-amd-aie helped.
The error reported earlier is not there anymore. @newling @MaheshRavishankar
For bf16 I'm now getting :-
ld.lld: error: undefined symbol: me_primitive::control_rnd
>>> referenced by mm.o
>>>               /proj/xcohdstaff6/abhvarma/iree/build/mm.o:(void matmul_scalar<bfloat16, bfloat16, 4, 4, 4>(bfloat16*, unsigned int, bfloat16*, unsigned int, bfloat16*, unsigned int))
clang-17: error: ld.lld command failed with exit code 1 (use -v to see invocation)

I'm not sure why it complains within the same mm.o that I used for i32's case too.
I'm attaching the IR e2e log for reference.

Updates besides the bf16's case :-

I've updated the revision incorporating all the "generalizability" I was aiming for in the iree-amdaie-lower-to-ukernel pass.
It's ready for re-review : https://github.com/nod-ai/iree-amd-aie/pull/175

I've raised a draft PR on MLIR-AIR : https://github.com/Xilinx/mlir-air/pull/463
Here we need to converge on two points :-
a. How do we glue in mm.o (building and all) to verify e2e.
b. Who amongst IREE/MLIR-AIR/MLIR-AIE should take the onus of adding the path - in the draft PR I've listed possible solutions and have gone ahead with one of them - we can discuss about this during sync.

Updates :

I worked on updating --iree-amdaie-lower-to-ukernel to handle the linalg.generic we get at the end of simple-pack pipeline.
I also worked on figuring out how to eventually build the e2e test which requires mm.o - since we need link_with - I figured the answer to yesterday's question that I posed - I'm indeed letting IREE take the onus of spilling out where the Ukernel is. And the best way to do this was updating getFnAndDefAttrs of --iree-amdaie-lower-to-ukernel.

I'm attaching the IR e2e log - you'd see that now the link_with construct beautifully gets relayed from iree_codegen.ukernel -> func.call.
I'm happy because this further cleanly integrates with MLIR-AIR changes for which I raised draft PR. :)
We need to discuss how to glue in mm.o (and the corresponding changes) for e2e - I've created the following write up for us to discuss better.
RFC - DISCUSS UKERNEL INTEGRATION.
So, we are using mm.c to put down pieces for the ukernel based lowering via IREE codegen. The idea is to first do the bare minimum required i.e. a non-performant matmul run via the microkernel.
Section A (walk-through):
Following is how it has been tested to work (taking example of matmul_scalar_i32_i32 API) :-

Through iree-amdaie-lower-to-ukernel we will create  :

iree_codegen.ukernel "matmul_scalar_i32_i32" (
                      lhs_memref_base_pointer, lhs_memref_offset,
                      rhs_memref_base_pointer, rhs_memref_offset,
                      out_memref_base_pointer, out_memref_offset )

The above op is converted to a func.call @matmul_scalar_i32_i32(.....).
This is then 1:1 linked with the microkernel defined in the object file of mm.c and it works.

Section B (fiddling with mlir-aie):
Now, let's look at the changes required to make this happen :-

The function declaration/definition of matmul_scalar was changed to include *_memref_offset arguments.

template <typename T_in, typename T_out, int M, int K, int N>
void matmul_scalar(T_in *a, unsigned offsetA, T_in *b, unsigned offsetB, T_out *c, unsigned offsetC) {
  event0();
  for (int row = 0; row < M; row++) {
    for (int col = 0; col < N; col++) {
      T_out running_sum = 0;
      for (int i = 0; i < K; i++) {
        running_sum += a[offsetA + row * K + i] * b[offsetB + i * N + col];
      }
      c[offsetC + row * N + col] += running_sum;
    }
  }
  event1();
}

Arrangements to include/support i32 via the microkernel was done (commented out the matmul_variant related APIs)

#define combos(X)                                                              \
  X(int32, i32, int32, i32, 4, 4, 4)                                           \
  X(int16, i16, int16, i16, 4, 4, 4)                                           \
  X(bfloat16, bf16, bfloat16, bf16, 4, 8, 4)                                   \
  X(bfloat16, bf16, float, f32, 4, 8, 4)

The following command was run to generate mm.o (I might've missed it but I couldn't find mm.o being generated while building mlir-aie - therefore had to generate it explicitly after fighting with mlir-aie/build/bin/xchesscc_wrapper):-

./build/bin/xchesscc_wrapper AIE2 -I \
         /proj/xbuilds/SWIP/2023.2_1013_2256/installs/lin64/Vitis/2023.2/aietools/include \
         -c reference_designs/ipu-xrt/matrix_multiplication/mm.cc -o mm.o

Section C (point-of-convergence)
We need to converge on how we need would want to use microkernels (starting with the non-performant variant in iree-amd-aie's CI).

We clearly need to deal with the Section B.1 and B.2 - can this be handled in MLIR-AIE or do we have the required version in iree-amd-aie?
With respect to Section B.3 - can we simply take the xchess_wrapper and keep it within iree-amd-aie? And then invoke that with Vitis and the microkernel architecture to generate mm.o (object files) while we build IREE?
With respect to Section B.2 (required for simple-pack pipeline) - we also need to perform a similar modification to  matmul_vector - any suggestions?

The following comment I added in my WIP branch would help reinforce why I'm suggesting Section C.2 :-
static std::string getPathToUKernelObjectFile(std::string ukernelObjectFile) {
  // TODO(avarma): The idea is that we build the microkernel object files while
  // building IREE with iree-amd-aie plugin. This way we know where the object
  // files is going to reside and by extension the onus of spilling out the path
  // to the same is going to be on IREE(iree-amd-aie); therefore we would want
  // this path to bear that onus. For now, since it is a WIP/RFC, I'm hardcoding
  // it to the path on my xcorad* machine.
  std::string pathToParentFolder = "/proj/xcohdstaff6/abhvarma/iree/build/";
  return pathToParentFolder + ukernelObjectFile;
}

The above function I've added to the iree-amdaie-lower-to-ukernel pass and that's the "beautiful" aspect of it since now all information required by the lower stack is captured by iree_codegen.ukernel.

Updates :-

While trying to integrate yesterday's --iree-amdaie-lower-to-ukernels with mlir-air - I found that one more round of update was required in MLIR-AIR to be able to fetch link_with construct properly.
I worked on implementing that and have pushed my changes to MLIR-AIR along with the test cases : https://github.com/Xilinx/mlir-air/pull/463

Was working on experimenting with my RFC suggestion yesterday and have added a WIP which we can use while trying to discuss in sync - Compile microkernel during build.

Updates:

Was working on basic integration - figured it's best to add another flag to point to the ukernel path.
Cleaned up the implementation and have raised a PR : https://github.com/nod-ai/iree-amd-aie/pull/193
Was trying to build up MLIR-AIR - ran into a few build issues - would ask around.
Tried instead to look into the CI failure log and have addressed it - https://github.com/Xilinx/mlir-air/pull/463
Trying to see how to use iree_cc_library instead of add_custom_target/function to generate .o file - the base idea is going to remain the same (for now) w.r.t my proposed design - WIP of .o file's generation via iree-amd-aie.

My updates :-

Using @daveliddell 's pointers - I first tried getting the xclbin's generation via aiecc.py - no issues there.
With the same system setup I retried generating xclbin via IREE - it still led to the same issue reported earlier :-

    ld.lld: error: undefined symbol: me_primitive::control_rnd
>>> referenced by mm.o
>>>               /proj/xcohdstaff6/abhvarma/iree/build/mm.o:(void matmul_scalar<bfloat16, bfloat16, 4, 4, 4>(bfloat16*, unsigned int, bfloat16*, unsigned int, bfloat16*, unsigned int))
clang-17: error: ld.lld command failed with exit code 1 (use -v to see invocation)

NOTE: `me_primitive::control_rnd` is a Vitis specific thing.

On testing the updated MLIR-AIR logic for Pad based pipeline, I bumped into an issue of the link_with not getting relayed to aie.core.
I have raised a PR that fixes the same : https://github.com/Xilinx/mlir-air/pull/473

My updates for the day are as follows :-

Added required changes and updated mlir-air/mlir-aie submodules - https://github.com/nod-ai/iree-amd-aie/pull/203
Worked on the CMakeLists.txt that I was adding to help compile .o microkernel object file while building MLIR-AIE : https://github.com/Xilinx/mlir-aie/pull/1109
Used 1 and 2 to further confirm that the first e2e vanilla microkernel of i32 type for the Pad based pipeline can soon be reproducible by all of us!

CC: @MaheshRavishankar

Adding an update for the current state of ukernel support of Pad-Pack :-

We will have a performant Pad-Pack ukernel working once Generalize tile/pack PR and Update Pad-Pack ukernel in MLIR-AIE build gets merged.

@erwei-xilinx pointed out a performant mismatch on the current implementation and rightly pointed out that's because of the non-performant linalg.fill.
We have a performant ukernel variant that addresses the slow zero fill issue.
I worked on updating the --iree-amdaie-lower-to-ukernels pass to lower a zero-filling linalg.fill to a ukernel.
Attaching my WIP branch which would rightly lower the linalg.fill to the ukernel.

The above leads to an issue in MLIR-AIR - I worked on triaging it and it's originating at air-dependency pass (I had to add a fix to this pass previously while working on ukernel and looks like I might have to update it further).

Input that is leading to the issue :-
%base_buffer, %offset, %sizes:4, %strides:4 = memref.extract_strided_metadata %alloc_9 : memref<16x16x4x4xbf16, 2 : i32> -> memref<bf16, 2 : i32>, index, index, index, index, index, index, index, index, index
func.call @zero_bf16(%base_buffer, %c0_7) : (memref<bf16, 2 : i32>, index) -> ()
scf.for %arg19 = %c0_7 to %c256_8 step %c8 {
  %7 = affine.apply affine_map<()[s0] -> (s0 * 8)>()[%arg19]
  %alloc_10 = memref.alloc() : memref<8x16x4x8xbf16, 2 : i32>
  air.dma_memcpy_nd (%alloc_10[%c0_7] [%c4096] [%c1_6], %arg16[%c0_7, %5, %7] [%c8, %c64, %c8] [%c8, %c2048_5, %c1_6]) : (memref<8x16x4x8xbf16, 2 : i32>, memref<128x2048xbf16, 1 : i32>)
  %alloc_11 = memref.alloc() : memref<16x8x8x4xbf16, 2 : i32>
  air.dma_memcpy_nd (%alloc_11[%c0_7] [%c4096] [%c1_6], %arg17[%c0_7, %7, %6] [%c16_4, %c64, %c4] [%c4, %c128_3, %c1_6]) : (memref<16x8x8x4xbf16, 2 : i32>, memref<2048x128xbf16, 1 : i32>)
  %base_buffer_12, %offset_13, %sizes_14:4, %strides_15:4 = memref.extract_strided_metadata %alloc_10 : memref<8x16x4x8xbf16, 2 : i32> -> memref<bf16, 2 : i32>, index, index, index, index, index, index, index, index, index
  %base_buffer_16, %offset_17, %sizes_18:4, %strides_19:4 = memref.extract_strided_metadata %alloc_11 : memref<16x8x8x4xbf16, 2 : i32> -> memref<bf16, 2 : i32>, index, index, index, index, index, index, index, index, index
  func.call @matmul_bf16_bf16(%base_buffer_12, %c0_7, %base_buffer_16, %c0_7, %base_buffer, %c0_7) : (memref<bf16, 2 : i32>, index, memref<bf16, 2 : i32>, index, memref<bf16, 2 : i32>, index) -> ()
  memref.dealloc %alloc_10 : memref<8x16x4x8xbf16, 2 : i32>
  memref.dealloc %alloc_11 : memref<16x8x8x4xbf16, 2 : i32>
}

Input that generates correct IR :-
linalg.fill ins(%cst : bf16) outs(%alloc_9 : memref<16x16x4x4xbf16, 2 : i32>)
scf.for %arg19 = %c0_7 to %c256_8 step %c8 {
  %7 = affine.apply affine_map<()[s0] -> (s0 * 8)>()[%arg19]
  %alloc_10 = memref.alloc() : memref<8x16x4x8xbf16, 2 : i32>
  air.dma_memcpy_nd (%alloc_10[%c0_7] [%c4096] [%c1_6], %arg16[%c0_7, %5, %7] [%c8, %c64, %c8] [%c8, %c2048_5, %c1_6]) : (memref<8x16x4x8xbf16, 2 : i32>, memref<128x2048xbf16, 1 : i32>)
  %alloc_11 = memref.alloc() : memref<16x8x8x4xbf16, 2 : i32>
  air.dma_memcpy_nd (%alloc_11[%c0_7] [%c4096] [%c1_6], %arg17[%c0_7, %7, %6] [%c16_4, %c64, %c4] [%c4, %c128_3, %c1_6]) : (memref<16x8x8x4xbf16, 2 : i32>, memref<2048x128xbf16, 1 : i32>)
  %base_buffer, %offset, %sizes:4, %strides:4 = memref.extract_strided_metadata %alloc_10 : memref<8x16x4x8xbf16, 2 : i32> -> memref<bf16, 2 : i32>, index, index, index, index, index, index, index, index, index
  %base_buffer_12, %offset_13, %sizes_14:4, %strides_15:4 = memref.extract_strided_metadata %alloc_11 : memref<16x8x8x4xbf16, 2 : i32> -> memref<bf16, 2 : i32>, index, index, index, index, index, index, index, index, index
  %base_buffer_16, %offset_17, %sizes_18:4, %strides_19:4 = memref.extract_strided_metadata %alloc_9 : memref<16x16x4x4xbf16, 2 : i32> -> memref<bf16, 2 : i32>, index, index, index, index, index, index, index, index, index
  func.call @matmul_bf16_bf16(%base_buffer, %c0_7, %base_buffer_12, %c0_7, %base_buffer_16, %c0_7) : (memref<bf16, 2 : i32>, index, memref<bf16, 2 : i32>, index, memref<bf16, 2 : i32>, index) -> ()
  memref.dealloc %alloc_10 : memref<8x16x4x8xbf16, 2 : i32>
  memref.dealloc %alloc_11 : memref<16x8x8x4xbf16, 2 : i32>
}

What is happening here is that while figuring out air.execute it doesn't take into account the air.execute that wraps the output buffer and as a result it fails at a very later stage in the pipeline in DmaToChannel pass.
Both the above inputs are VALID - air-dependency is failing to handle the former case.
Pasting below the invalid air.execute :-
Current case (I intentionally adding the beautiful/assembly format of the invalid IR) :-
  %async_token_47 = air.execute [%arg20, %async_token_45, %async_token_43] {
    func.call @matmul_bf16_bf16(%results_42#0, %c0_25, %results_44#0, %c0_25, %results_34#0, %c0_25) : (memref<bf16, 2 : i32>, index, memref<bf16, 2 : i32>, index, memref<bf16, 2 : i32>, index) -> ()
  } {id = 22 : i32}

Expected case :-
  %async_token_47 = air.execute [%arg20, %async_token_45, %async_token_43, %async_token_31] {
    func.call @matmul_bf16_bf16(%results_42#0, %c0_25, %results_44#0, %c0_25, %results_34#0, %c0_25) : (memref<bf16, 2 : i32>, index, memref<bf16, 2 : i32>, index, memref<bf16, 2 : i32>, index) -> ()
  } {id = 22 : i32}

I'll dig further on this and try adding a fix for the same as well.

@Abhishek-Varma Thanks for looking into this.


ctrl+shift select code block   Abnormal behavior affects use

Does this issue occur when all extensions are disabled?: Yes

VS Code Version:  Version: 1.74.3 (user setup)
Commit: 97dec172d3256f8ca4bfb2143f3f76b503ca0534
Date: 2023-01-09T16:59:02.252Z
Electron: 19.1.8
Chromium: 102.0.5005.167
Node.js: 16.14.2
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.22621
Sandboxed: No

OS Version:  Windows 11

Steps to Reproduce:

use ctrl+shift select code block
use ctrl + shift + -> or  ctrl + shift + <-

https://user-images.githubusercontent.com/44134842/215122008-c1209bf9-2e89-48f1-beb9-dcce16b99395.mp4

any update ?

Let's first try to find out what command executes on your machine, with your settings and your keybindings when pressing Ctrl+Shift+LeftArrow. Could you please try the following:

Run the command Developer: Toggle Keyboard Shortcuts Troubleshooting
This will activate logging of dispatched keyboard shortcuts and will open an output panel with the corresponding log file.
Press exactly the keybinding you desire.
check what VS Code detects and what command is invoked.

If you are having trouble understanding the output, please feel free to paste here and I can try to help.

I use the dichotomy query method to debug the discovery settings "editor.accessibilitySupport": "on"  caused the problem


Add Level Properties + Container Traits

I've added the container_traits for vector, set & unordered_map. If the template parameters look good, we can get the levels to inherit from these container traits.

We should also stick to a naming scheme, please use Vec, Set and Map as it matches with IK, etc.

No need to inherit, but replace Containers with one type instead of a pack and pass an instance of container_traits by default.

@hameerabbasi inside container_traits, do I set the container-type, say TVec to std::vector<uintptr_t>. If not, what should I replace uintptr_t with?

inside container_traits, do I set the container-type, say TVec to std::vector<uintptr_t>. If not, what should I replace uintptr_t with?

Use template <TVec<typename>, TSet<typename>, TMap<typename, typename>>, then use container_traits<...>::vector<IK>.

template <TVec, TSet, TMap<typename, typename>>

That is a way of saying we aren't taking types, but generics in the template. Like std::vector (a generic) instead of std::vector<uintptr_t> (a type).

@hameerabbasi Is the latest commit close to what we want in container_traits? Or instead of taking IK and PK, we can specify them in the levels?

We should specify them in the levels, not here.

Okay, so we are taking a generic like std::vector as the template parameter, but inside container_traits, we need a type for Vec, so we'll have something like using Vec = TVec<[type]>, how do I get [type]?

You don't. You specify the generic itself: using Vec = TVec;, and use it as: container_traits<...>::Vec<[type]>
Think of it as specifying a function pointer versus an argument to a function.

You don't. You specify the generic itself: using Vec = TVec;
This line is throwing error C3205. It says that the argument list for template template parameter is missing.

Hmm, we'll have to find out how it's spelled, but it's the right API at least.

@hameerabbasi I've just changed the compressed level container types. If it looks okay, I will make the changes for all levels and in the tests too.

Looks okay, some syntactic errors but I hope you'll be able to figure those out. 😉

Hint: You have an extra template in some places. It never shows up after ::.

Hint: You have an extra template in some places. It never shows up after ::.
But it compiles on my windows machine only if the template is specified. Is it because of MSVC?

Add it before ContainerTraits.

Actually, I tried this, but it does not compile. I checked this thread according to which specifying template for dependent templates is necessary. I guess adding typename wherever we are using types should get CI passing.

That sounds about right!


Is it possible to export a diagram to a pdf file?

Perhaps by means of Canvas...

Hello!
It is not canvas it is html.
View this library: https://github.com/MrRio/jsPDF
and View: https://github.com/jerosoler/Drawflow/issues/67#issuecomment-726790902
Jero

Hello!
Thanks for the tip!
I will study these tools.
Oleg
пн, 24 мая 2021 г. в 21:30, Jero Soler @.***>:

Hello!
It is not canvas it is html.
View this library: https://github.com/MrRio/jsPDF
and View: #67 (comment)
https://github.com/jerosoler/Drawflow/issues/67#issuecomment-726790902
Jero
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jerosoler/Drawflow/issues/177#issuecomment-847245199,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKZJLXANO2SEUJO6374UZG3TPKLMPANCNFSM45NTS5SA
.


Please provide a Wizard to create a plugin!

Hello,
Currently most of the features and functions are already there. Any experienced user will be able to create a plugin with lots of features and functions right away with the Builder plugin. However, it took me - as a newbie - hours to find things out what I needed to do and where, while working with the Builder plugin.
I suggest that you provide a Wizard to give a guided process step by step. Not too difficult.
It helps everyone to invoke a new plugin process and keep on feeding values.
It should lead to pages which requires an input first.
It should also help in establishing relationships to other existing plugins and components as well as pulling values from other tables, i.e. especially using dependent drop downs with values that are based on other internal database tables.
This means a special feature, which says "Create an extended plugin of an existing one". With this, for e.g., I could create an extended plugin that is based on User or Location plugin. Consequently, the original Rainlab plugin remains intact and the Builder only creates respective details, data and linkages based on the existing ones with new names, etc.

http://octobercms.com/support/article/ob-18
This is what you need.

Hi LittleTom,
Thanks for the hint.
A short answer is "NO". I have placed this message only after watching these Videos.
I have successfully built my own plugin that works without problems. Only because of my experience to work with the Builder Plugin and acquiring sufficient knowledge, I have opened the issue, which I consider have done so after sufficient investigation myself, training overall the required and giving a deep thought on the process of making a new plugin.
Thus any further suggestion by anyone, or even by the developers, that draws attention away from my Issue opened is not supportive or helpful at all.

I think this is more a question of learning and experience than the Builder implementation. Even if the Wizard existed, there's always a room for questions and the trial and error method. Builder is a complex development tool which incapsulates many plugin development tasks into a single user interface. Spending several hours to grasp concepts of a new system is expected.


unwire the tests from all properties

All the tests relying on properties or band names should be run on subselection of these one as the complete set of available properties/bands is always changing.

I think we are now good


Fix PostgreSQL error caused by blank TSV headers

Fixes AJ-1028
This PR fixes an issue caused by extra tabs in a TSV file, specifically in the headers. This created empty columns and serializing issues for Postgres (specifically, ERROR: zero-length delimited identifier).
This fix is inserted in TsvStreamWriteHandler.java when we're processing records. It iterates through the attributes (which converts the Treemap to a Set since while looping and removing directly would give us false negatives if the value remove() returns is null) removing any entries with empty keys (aka empty TSV headers).
We're now seeing happy 200s

could be useful to add a unit test for this scenario in here (@davidangb keep me honest if this is the right place) https://github.com/DataBiosphere/terra-workspace-data-service/blob/main/service/src/test/java/org/databiosphere/workspacedataservice/service/StreamingTest.java


implement UMP request-response correlator for non-RT-safe operations

It is possible that an AAP plugin receives non-RT-safe operations via AAPXS SysEx8.
It should not be expected that such operations are performed in realtime manner, but it is valid if such requests were intended to be asynchronous operations. extension() operation via Binder could prevent realtime process() calls on its RT thread (extension() on non-RT thread could block RT audio processing thread), so at realtime ACTIVE state everything should be on a process() call.
Some extension functions need a response to the request. Since it may not be completed within one realtime request-reply process() call, such non-RT request should be performed asynchronously at the aap::LocalPluginInstance, which sends the reply back to the client only when it is ready. Then the client aap::RemotePluginInstance also needs to waited for the result until it is returned by the service.
We need such a correlator implementation down to somewhere like cmidi2 layer.

This needs to be worked on in the context of https://github.com/atsushieno/aap-core/issues/171 which means it will be post-0.7.8 work...

It's done in aapxs-v080 branch. Once we merge aapxs-v080 branch, we can close this issue.

It is merged into main.


Fix releasing + beta release info

Fixes issues with the release flow

upgrades action/node-setup to latest
include meta data of the latest beta release

3min late for my nit changes. I'll make a small PR for the CHANGELOG updates.

3min late for my nit changes. I'll make a small PR for the CHANGELOG updates.

oops.
better to make the changes in the changeset files so they are there for the actual release

better to make the changes in the changeset files so they are there for the actual release

Good point, I'll do that 👍


Create a bot that will run the script on the server side and create a commit to this repo

Probably use github actions


CI: ensure submodules have the same linter config

On second thought, I think this will be more annoying than helpful.


mdcat: 0.23.2 -> 0.24.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/lunaryorn/mdcat/releases.
meta.description for mdcat is: "cat for markdown"
meta.homepage for mdcat is: "https://github.com/lunaryorn/mdcat"
meta.changelog for mdcat is: ""
Updates performed

Rust version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
/nix/store/q2b35614766lfwqzz6a8ai6adwwa52d7-mdcat-0.24.1/bin/mdcat passed the binary check.
1 of 1 passed binary check by having a zero exit code.
1 of 1 passed binary check by having the new version present in output.
found 0.24.1 with grep in /nix/store/q2b35614766lfwqzz6a8ai6adwwa52d7-mdcat-0.24.1
found 0.24.1 in filename of file in /nix/store/q2b35614766lfwqzz6a8ai6adwwa52d7-mdcat-0.24.1

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
0 i686-linux rebuild(s)
1 x86_64-darwin rebuild(s)
0 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
mdcat

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/q2b35614766lfwqzz6a8ai6adwwa52d7-mdcat-0.24.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A mdcat https://github.com/r-ryantm/nixpkgs/archive/3d390bd9dc6075f920c07903fdc483b60ad8ce7f.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/q2b35614766lfwqzz6a8ai6adwwa52d7-mdcat-0.24.1
ls -la /nix/store/q2b35614766lfwqzz6a8ai6adwwa52d7-mdcat-0.24.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

mdcat

Maintainer pings
cc @davidtwco @SuperSandro2000 for testing.

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

1 package built:

mdcat


riot 3.1.x compatible?

hi,
i'm install prestui in my proyect and i set riot+compiler.min load but i receive this error:
Uncaught TypeError: Cannot read property 'opts' of undefined
prestui is compatible with recent versions of riot?
if not, what version i must use?
thanks

Hi,
No, not yet. I'm still working on it.
You can use the 2.6 version until it's done:
https://cdnjs.cloudflare.com/ajax/libs/riot/2.6.7/riot+compiler.min.js


Update the CircleCI db/schema.rb check to output the diff on fail

This is the fix by itself for outputting db/schema.rb's git diff.

@gazayas This is awesome.

@andrewculver Thanks :raised_hands:


Related pages

There is no info about the related pages in the project readme. It would be good to add it.

Done in https://github.com/pokatomnik/mrakopedia-api/pull/14


feat: multi-service rpc for iroh-one

This patch enables iroh-one rpc control enpoint to serve the same
calls as the independent gateway, store and p2p programs. To that end,
the following changes are made:

decouple iroh-one rpc from iroh-gateway rpc.
create a iroh-one specific grpc definition, with 3 services.
upddate the rpc macros to support multiple services.

@dignifiedquire I changed or added a bunch of paste!() modifiers (from :lower to :snake, and :camel) to match better the code generated by prost.
I tried to minimize manually written code as much as possible in iroh-one/src/rpc.rs since we just relay calls to the store and p2p services that are already instantiated.

Hey @fabricedesre! We've been putting in some real thought about how we want to proceed with allowing for communication between an iroh-one process and a iroh cli, and I wanted to gather feedback.
Rather than having a specific RPC API that opens up only the gateway to outside communication, we would rather keep a single RPC API & refactor the RPC servers to allow for passing RPC messages on multiple types of communication channels.
So for the iroh-one case, you would have a gateway, p2p, and store service each with an RPC client that can communicate over mem to each other, and an RPC server that can respond to both mem requests & gRPC requests for interacting with each other & the iroh cli.
This would double down on our reliance on the gRPC APIs internally, but would still keep the APIs private.
Question, though: would this setup still suit your use case?

I'm not sure I understood everything you wrote @ramfox :)
The current situation in iroh-one is:

store and p2p are accessible each over a memory rpc channel.
the gateway uses these memory channels to coordinate the resolver with store & p2p.
a grpc (tcp or uds) server exposes the gateway service only. Store & p2p are not accessible from the outside.

What this PR does is:

no change to the internal store and p2p setup. The gateway still uses memory channels to communicate internally.
the grpc endpoint, instead of just exposing the Gateway service, also exposes a Store and a P2P service (in gateway_one.proto). When a request is received for one of these services, we either answer directly for the Gateway one, or proxy the call over a memory channel if it's a Store or p2p call.

I'm not sure how it would look like from a client point of view. Each service should be usable independently even if they are all served over the same grpc endpoint, but I don't know if the tonic code generation allows that.

I favored option 2 because that looked cleaner from the iroh-one perspective, and I envisioned the api to be smart enough to know what to do when being configured with a single grpc access point vs. several ones. I don't know if there's an overhead to run a single grpc endpoint with 3 services vs. 3 endpoints with a single service each.
So... feel free to implement your way, that's not a blocker for me. I feel it's more work though.

Given the upcoming changes in RPC we won't be merging this as is, so I am going to close this for now. But we are planning to fix the problem this PR addresses, promised :)


Electron-93 (Always on top)

Spectron test for always on top feature.
@VikasShashidhar Please review. Thanks.

LGTM 👍


POC: use SVGR to create JS wrappers of icons

Is your feature request related to a problem? Please describe.
This work is related to this ticket: https://github.com/AlaskaAirlines/Icons/issues/264
This work is intended to try another take on the intended outcome using an already existing utility called SVGR.
Describe the solution you'd like
POC implementation of SVGR to generate JS files usable within React.
https://react-svgr.com/docs/cli/
Describe alternatives you've considered
See original issue #264 and PR attached there.
Additional context
No response
Exit criteria
No response

Closing this ticket in favor of a documentation guide. Users should be able to use icons with one install and on added typescript file. https://github.com/AlaskaAirlines/AuroDocsSite/issues/272


References to kube-ui should be removed

There are many references to the old kube-ui project which should be replaced/rewritten because of the new dashboard.

Looks done.

http://kubernetes.io/docs/user-guide/ui/


jstree virtualization

Hi Ivan,
Is there a way to virtualize the tree?
i have ~100K nodes in it and it takes it about 20-25 seconds to responds(sometimes the page stops responding at all).
is there a way to render the tree nodes when the user actually scrolls to the point they are at?
Thanks,
Jonathan

Hi @jbacalo,
I didn't try it but maybe an approach:
Catch the "open_node" event get the ID of the node, and add the nodes yourself:
http://stackoverflow.com/questions/20632707/progressive-loading-of-jstree-on-node-open
Or maybe this approach could help aswell:
http://stackoverflow.com/questions/8078534/jstree-loading-subnodes-via-ajax-on-demand

Hi,
The lazy-loading techniques by @graphefruit will be a good fit if this tree has many levels. If lazy-loading is what you are looking for - it is cleanly explained both in text and examples on the homepage of this repo.
If you have a large amount of nodes on the same level (with a common parent) lazy loading will not help in any way. You can experiment with disabling core.worker but my guess is that if you have a flat list of 100K nodes it won't help much.
The idea you describe will be pretty hard to implement on a deep structure like a tree, but I am working on a VDOM implementation so I hope that will decouple jstree from the DOM and will give a speed boost in rendering. It would also open up the possibility to render nodes only when they are visible.
So I am closing this for now as it is not doable for v.3, but I hope v.4 will solve any problems with large amount of nodes.

Hi @vakata ,
Thanks for you quick answer!
Do you have an assumption when will v.4 be released?
Also do you maybe have a suggestion for a control i could use that does support this capability and looks like a tree?

I hope to push out some betas in a month or two.

Thanks!
Will keep following the project


Autofac resolving repositories dependencies

Great sample.  Could you please provide example - how to resolve dependencies of repositories in .net core app? For repostiories
Thanks.

@inpicksys I'm not familiar with Autofac, I normally use the built-in DI from .net core (3.1 in this case).
I have quickly put together an example on how I'd use it in a DI context, in this particular instance from a console application. See the commit https://github.com/abelperezok/DynamoDB-BaseRepository/commit/32c7c40543a22233aac93c954df0926236504566
Observe that there are no changes at all in the library, all changes are done at presentation level, also you can see that the only modification to the method TestCRUD_UserRepository() is the addition of a parameter of type IUserRepository that replaces the manual creation in the previous version. All the rest remains exactly the same.
See this page from Microsoft docs for more information https://docs.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection?view=aspnetcore-5.0
I hope this helps, let me know if you have any more questions


Fix the error/warn log usage

zap doesn't do this well, when errors are not presented without zap.Error
/assign @dprotaso mattmoor

Done.

/lgtm


extracting IP address as String from SocketAddress

NIO internally has a method to get the IP address as a string representation from a SocketAddress (used for description) but we don't export it to the user.
We should add
extension SocketAddress {
    var ipAddress: String? { get }
}

to make that easy.

+1
Unfortunately descriptionForAddress is an internal func, so an extension outside of SwiftNIO is impossible without copying the descriptionForAddress. I just have a project where need the IP address, so I came up with this code:
extension SocketAddress {
	var ipAddress: String? {
		switch self {
		case .v4(let addr):
			var mutAddr = addr.address.sin_addr
			// this uses inet_ntop which is documented to only fail if family is not AF_INET or AF_INET6 (or ENOSPC)
			return try! descriptionForAddress(family: AF_INET, bytes: &mutAddr, length: Int(INET_ADDRSTRLEN))
		case .v6(let addr):
			var mutAddr = addr.address.sin6_addr
			// this uses inet_ntop which is documented to only fail if family is not AF_INET or AF_INET6 (or ENOSPC)
			return try! descriptionForAddress(family: AF_INET6, bytes: &mutAddr, length: Int(INET6_ADDRSTRLEN))
		case .unixDomainSocket(_):
			return nil
		}
	}
}

func descriptionForAddress(family: CInt, bytes: UnsafeRawPointer, length byteCount: Int) throws -> String {
	var addressBytes: [Int8] = Array(repeating: 0, count: byteCount)
	return addressBytes.withUnsafeMutableBufferPointer { (addressBytesPtr: inout UnsafeMutableBufferPointer<Int8>) -> String in
		inet_ntop(family, bytes, addressBytesPtr.baseAddress!, socklen_t(byteCount))
		return addressBytesPtr.baseAddress!.withMemoryRebound(to: UInt8.self, capacity: byteCount) { addressBytesPtr -> String in
			String(cString: addressBytesPtr)
		}
	}
}

This works for me until you update the code :)

@Lupurus my code was meant as a strawman of a PR for SwiftNIO itself and therefore it's fine to use an internal method :). If you want, you could open a pull request adding the functionality to SwiftNIO.


Setting pSalePrice to null resets it to 0 in the new version

When importing the product data in PHP, I do the following:
                 $dbProductData = [
                     'pName' => $productData['name'],
                     'pDesc' => $productData['description'],
                     'pSKU' => $productData['id'],
                     'pPrice' => $productData['price'],
                     'pSalePrice' => null,
                     'pNoQty' => false,
                     'pAllowDecimalQty' => false,
                     'pQtyLabel' => '',
                     'pMaxQty' => 0,
                     'pfID' => $fID,
                     'pActive' => $is_active,
                     'pQty' => $productData['pQty'],
                     'pBackOrder' => $productData['pBackOrder'],
                     'pShippable' => 1,
                     'pTaxable' => 1,
                     'pTaxClass' => $taxClassId
                     //'pBackOrder' => $productData['pBackOrder']
                 ];

When saving that data with saveProduct, pSalePrice gets set to 0. It wasn't a problem in earlier versions. I've narrowed down the problem to this commit:
https://github.com/concrete5-community-store/community_store/commit/00d7bd69147c6407b1040185278f674486b431db
setSalePrice function was changed from:
    public function setSalePrice($price)
    {
        $this->pSalePrice = ('' != $price ? (float)$price : null);
    }

to
    public function setSalePrice($price)
    {
        $this->pSalePrice = ($price !== '' ? (float)$price : null);
    }

Since null is not empty string, it gets converted to float, which sets it to 0. I guess the idea behind that fix is to try to make it accept 0 as a valid value? I think isBlank function might be a better fit for this:
function isBlank($value) {
    return empty($value) && !is_numeric($value);
}

since I think it shouldn't interpret null or a missing pSalePrice value as 0.

I see what you mean here, the setSalePrice function was coded directly to handle the product edit page in the dashboard, but I can how that's not the only context where it would be used.
I'll review this soon for the most appropriate solution.

Does this fix work for what you are doing with your import?
https://github.com/concrete5-community-store/community_store/commit/87538bf79aaac74a54946974a0459379c27ebc8f#diff-38304138b8c50b9d00b25f35812a2451R596

Hi,
Yes, it should solve the problem. Thanks, nice to have that fixed.


Refactoring of our DTO's

It implies a restructuration of our folder
Changing all our controller who send DTO
changing all our form who create/send DTO
Changing all our services who send DTO's(might change that to Not use the entity method in our DTO's)

array is apparently not of type array for symfony insight...


implemented delete user button in about me page

Fixed a bug where you could trigger and exception by not having any cheeps to show AND implemented the delete button

Can we get some tests on this?


k8s 1.6 Flex Volume support

Summary
Update FlexREX to handle FlexVolume enhancement in k8s 1.6 (if enhancements are merged)
New Feature
See: https://github.com/kubernetes/kubernetes/pull/41804

Fixed with #808


Fixes ambiguous Nullable Attribute

Fixes nullability checking to only look for the .NET Framework Nullable attribute
Addresses #1976

@PascalSenn - looks like a CI run had failed infrastructure (.NET crashed). Can we re-run it please?

@PascalSenn  - just a ping about re-running the failed CI due to infrastructure :)

@PascalSenn - got CI to run by closing + re-opening the PR and things look to be green!

I will have a look.

@PascalSenn do we need this on version 10 as well?

@jonmill thanks for your contribution. We value your effort. This one will be merged today into version 11.

Fix for version 10 is here: #1982

https://github.com/ChilliCream/hotchocolate/releases/tag/11.0.0-preview.131

Welcome as 47th contributor to Hot Chocolate 🎉

https://github.com/ChilliCream/hotchocolate/releases/tag/10.5.0-preview.3

@michaelstaib thanks for taking a look! I appreciate the quick turnaround!


Page Attribute Display - Date Format

When displaying the public date of a page using the Page Attribute Display block and using a date format of 'F jS, Y' the date is displayed in correctly. The 'S' should be the ordinal suffix for the date (st, nd, rd, th) but it gets converted by Punic\Calendar::convertPhpToIsoFormat() to I believe the seconds display for the date.
I'm not sure if this should be filed with https://github.com/punic/punic instead?

It's the same: I'll take a look at it in a few hours. Thanks

Yes, there's a problem in Punic (in the only function that I didn't wrote myself: I reused a function taken from Zend Framework 1)

I opened a new issue in punic: https://github.com/punic/punic/issues/57

This problem should be fixed by #2417

thanks!


Add support for ambient light levels

Without vertex interpolation:

Vertex interpolation should make the border between the two areas a lot smoother.

@nsg This now fully support all server features. I'd say it's ready for review!


Crash with 1.2.27

https://pastebin.com/u89jKhqU
Debug wire-frames were on and I was just flying around.
It took much longer for a crash to happen than the last version. Big Thanks for the update!

Should be improved in next version (promise will release soon)


Native Link

Document or support native Next.js link by allowing spread of a function call to retrieve href and as props from an href string (and perhaps vice-versa). E.g.:
import Link from 'next/link';

<Link {...Router.linkPage('greeting', {name: 'John'})}>
  click here
</Link>

import Link from 'next/link';

<Link {...Router.link('/hello/John')}>
  click here
</Link>

Hi @AndersDJohnson, I didn't test yet but your first example should work out of the box.
I'll test an document that when I get back from vacation.

Here you go.

@BDav24 Thanks. What about my .link example which accepts a string rather than a page and params? Could we reverse parse it? Might be more ergonomic.

Do you have a more detailed example of what you need?
Because if you already have the final url, why not passing it directly to next/link?
import Link from 'next/link'

<Link href="/hello/John">click here</Link>


NICE TO HAVE: chart for matching demand and supply

For both storage and demand management, an important measure of success is the match between (local) supply and (local) demand at every point in time. Any mismatch results in the need for transportation of electricity and, therefore, load on the network.
It would be really nice to visualise this somehow. For example, we could show the supply and the demand as a function of time and, in addition, the difference between them:

I could image two variations of this plot:

Connection level: the information of supply and demand is only shown at the end-points of the network. The information for this is already available there so this should be the easy option (right @antw ?). I would suggest to show one plot that sums all supply and demand at (possibly selected) end-points.
Network level: the chart can be plotted for every node of the network (as the load chart). This is much more involved as the negative load (supply) and positive load (demand) are currently not communicated throughout the network, only the effective load (right?)

Assigning to @grdw to pick up in case of time :smile:


Can a consumer also be a producer and vice versa?

Had a quick play. I think it is a common use case to allow a consumer to emit new events and to allow a producer to listen for certain events. Do we plan to support this?

👋Hey @benjis! It sure can, what have you tried that it doesn't work? I whipped up a quick test and this works:

  describe "Hybrid (Producer + Consumer)" do
    it 'should be able to emit and receive message' do
      Hybrid = Class.new

      acknowledged = 0

      Hybrid.class_eval do
        include Rocketman::Producer
        extend Rocketman::Consumer

        on_event :hello do
          acknowledged += 1
        end

        def produce
          emit :hello
        end
      end

      expect { Hybrid.new.produce }.to change { acknowledged }.from(0).to(1)
    end
  end

Hi @edisonywh, my apologies that I wasn't clear enough about the use case I mentioned.
What you provided works already. That is to allow a hybrid class to publish/emit and listen to it's own messages.
What I was thinking is more like to allow a hybrid class to emit a new message within on_event block:
  describe "Hybrid (Producer + Consumer)" do
    it 'should be able to emit and receive messages' do
      Hybrid = Class.new

      acknowledged = 0

      Hybrid.class_eval do
        include Rocketman::Producer
        extend Rocketman::Consumer

        on_event :hello do
          acknowledged += 1
          emit :ahoy
        end

        on_event :ahoy do
           acknowledged += 1
        end

        def produce
          emit :hello
        end
      end

      expect { Hybrid.new.produce }.to change { acknowledged }.from(0).to(2)
    end
  end

At the moment this will raise NoMethodError: undefined method 'emit' for Hybrid:Class.

Oh, that is definitely possible.
The reason that it's not working right now is because inside the block of on_event, the context of self refers to the class itself, not an instance, whereas emit is an instance_method.
To make this work, just do the following:
- include Rocketman::Producer
+ extend Rocketman::Producer

Do you want to update the README to reflect this? I'll be happy to merge that. Thanks for raising this :)

@edisonywh, thanks for looking into it. To get the above spec passes, I think Hybrid class may have to include and extend Rocketman::Producer. Happy to update the README file to reflect this.


CAMPD About Page Design

@tlageman-epa —
Hello,
Below are the screens for the About CAMPD page designs.

About CAMPD
About CAMPD (dev link)

CC @JanellC @JorjaComer @MoAdeyoju @addisgmichael


When createing a new file, folder, class, no option to specify location

Type: Feature Request
When I create a new file, folder or class and so no. I would like to be given a prompt to select an existing location like a folder, package to create in, as well as given an option to type a new name to have a folder, package created for me.
Extension version: 0.21.1
VS Code version: Code - Insiders 1.75.0-insider (11238faea62d570d77afe6edfe05c8b732c44a2b, 2022-12-13T05:22:26.937Z)
OS version: Linux x64 6.1.2-1-default
Modes:
Sandboxed: Yes

Steps:
CTRL+SHIFT + P
Java: New Java Class (many other options)
Given a prompt to enter class name, then it just get created somewhere.

VSCode current behavious to create a new file and folder, work like the following.

You set focus of the location by going to the "Explorer"
CTRL+SHIFT+P: New file | folder

The file | folder gets create in the set location.
So I suggest the java project manager is context sensitive.
If the Explored has the focus, follow the same behavious like vscode.
If the focus is somewhere else, like the Editor, then provide a 2nd prompt to select or type the location as work as I mention in my original post.

There is no option to create a java package, even thought it's simply a folder. The dev then needs to type in the package syntax manually, which is a poor experience.

If the Explorer has focus, follow the same behavious like vscode (for file, folder).

When I first implement this feature, there is no way to get the focus of the File explorer, so we get the path of the current active editor and if it's a Java class, create a new class under the same package.

I suggest the java project manager is context sensitive.
You can create class/paclages from the the Java Project explorer, have you tried it?

I tired using Java Project, same brokeb behavior. I create packaged, I put focus on the Java Project package, then tried to create a new class and interface using CTRL+SHIFT+P. Files are created in the wrong place, and I don't want to be using my mouse and right clicking.
The goal here is developer productivity.

Also it should not matter from the user's perspective what has focus, "Explorer" or "Java Projects", they should expect the same bahaviour.

There are two types of focus:

Click focus - when you click on an item with the mouse (selected).
Cursor focus - when you use cursor keys to nagivate

Creating a new file/class/package with CTRL+SHIFT+P, should use the "Cursor focus" for the location (frist).
If you press enter after using the cursor key to make a selection (set focus), it will expand and collapse the tree node and this is a jarring experience.
So I suggest, the coding logic should be
Use cursor focus first for location, if it doesn't exist, use "click/select focus", and then finally current location of editor file.
If the API to get this information doesn't exist, you or someone needs to implement this.
The way I am working now, if I use shortcut to set focus to "Java Projects", use the cursor key to select a location and then I have another shortcut configured that when I press CTRL+N, it will do the samething as "CTRL+SHIFT+P > Java New Class".

I would just start simple with fixing this, here are my thoughts.

User press CTRL+SHIFT > Java New Class
User is prompted to enter class name (currently implement).
User is then prompted to enter location.

For step 3, I just do it just like how CTRL+P work.
It will show you a list of files, but you sohuld just so a list of locations.
The user can start trying to filter list of available locations and select one, or the user types in a new path which start from the root of the project.
Likewise if the user select from a list of availavle locations, they can then type a new sub-location (folder/package name), hit enter again and the new file/class etc is created there.
Later I focus on a improved "Java Projects" treeview focused functionality.

Creating a new file/class/package with CTRL+SHIFT+P, should use the "Cursor focus" for the location (first).

AFAIK, the current VS Code tree view API does not expose the capability to get the cursor focused node. Correct me if I'm wrong.


Service side rendering

Rendered
Originally posted by @caridy at https://github.com/salesforce/lwc/pull/1048

This proposal is superseded by https://github.com/salesforce/lwc-rfcs/pull/23.


Memory leak opening and closing file with osicat-posix:open

Hi,
I experience memory leaks when opening and closing file with osicat-posix:open, using sbcl 1.2.11
When I run the code below, my sbcl process memory use augments by some hundred MB:
(defun testmemleak ()
(dotimes (i 10000000)
(let ((fd (osicat-posix:open "/tmp/memleak" (logior osicat-posix:o-rdwr))))
(osicat-posix:close fd))))
If I run the same code, but using sb-posix instead of osicat-posix, I don't have the issue.
Regards

This is not the official osicat repository. Please submit your bug report on osicat/osicat.
I created the repository before osicat migrated to github, so you cannot see that it is a fork. I do not use it anyway, so I will delete it.

Ok. I've recreated my issue on the good repo :)


Fix Appveyor's badge

Relates to https://github.com/docker/datakit/pull/117#discussion_r64048501, and https://github.com/docker/datakit/commit/966dd4f2acda115cb3600bcb3bcbcd9b52324ccb#diff-04c6e90faac2675aa89e2176d2eec7d8 (Next up: really, really fix AppVeyor badge :wink:)
LGTM


security: ADVZ verify_share should ensure merkle leaf matches Share data

As observed in #659 , Share struct contains two copies of payload data: one in Share::evals and another in Share::evals_proof. The copy in Share::evals_proof is checked against its merkle path here:
https://github.com/EspressoSystems/jellyfish/blob/92714a4cc509fac07b8e8fc321fc0271c5dbe6b6/vid/src/advz.rs#L536-L542
All subsequent verification is done against Share::evals. Currently we do not check that these two copies are equal, so there's a potential security vulnerability. This issue could be fixed by checking that these two copies are equal. But a far better solution is to eliminate the duplicate copy as suggested in #659. Presumably, any fix for #659 will also fix this issue.
[EDIT: Kudos to @akonring for noticing this potential vulnerability.]

Duplicate #659.


REACT: Add feature to export as PNG, JPG, PDF

I want to work on this feature

I want to work on this feature


Add Home Controller

In this PR, we add a home controller.
Closes https://github.com/ucsb-cs156-f22/team01-f22-7pm-1/issues/1

LGTM


Issue with temp directory missing on CI server while attempting to install provisioning profile

Question Checklist

[ √] Updated fastlane to the latest version
[√ ] I read the Contribution Guidelines
[√ ] I read docs.fastlane.tools
[ √] I searched for existing GitHub issues

Question Subject
Issue with temp directory missing on CI server while attempting to install provisioning profile
Question Description
Using TeamCity to run a lane to build and upload to TestFlight. Issue with temp directory missing on CI server while attempting to install provisioning profile
[11:25:23]	[Step 3/4] [10:25:23]: Installing provisioning profile...
[11:25:23]	[Step 3/4] sh: /Users/wk7767/buildAgent/bin//temp/buildTmp/fastlane20190628-78683-bfgbn6/cms.err: No such file or directory
...
[11:25:24]	[Step 3/4] [10:25:23]: No such file or directory @ rb_sysopen - /Users/wk7767/buildAgent/bin/$workDir/temp/buildTmp/fastlane20190628-78683-bfgbn6/cms.err
[11:25:24]	[Step 3/4]
[11:25:24]	[Step 3/4] bundler: failed to load command: fastlane (/Users/wk7767/.rbenv/versions/2.6.3/bin/fastlane)
[11:25:24]	[Step 3/4] Errno::ENOENT: No such file or directory @ rb_sysopen - /Users/wk7767/buildAgent/bin/$workDir/temp/buildTmp/fastlane20190628-78683-bfgbn6/cms.err

Fastlane env:
✅ fastlane environment ✅
Stack

Key
Value

OS
10.14.5

Ruby
2.6.3

Bundler?
true

Git
git version 2.21.0

Installation Source
~/.rbenv/versions/2.6.3/bin/fastlane

Host
Mac OS X 10.14.5 (18F132)

Ruby Lib Dir
~/.rbenv/versions/2.6.3/lib

OpenSSL Version
OpenSSL 1.0.2r  26 Feb 2019

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
10.2.1

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL
en_US.UTF-8
✅

LANGUAGE

fastlane files:
`./fastlane/Fastfile`
# This file contains the fastlane.tools configuration
# You can find the documentation at https://docs.fastlane.tools
#
# For a list of all available actions, check out
#
#     https://docs.fastlane.tools/actions
#
# For a list of all available plugins, check out
#
#     https://docs.fastlane.tools/plugins/available-plugins
#

# Uncomment the line if you want fastlane to automatically update itself
# update_fastlane

default_platform(:ios)

platform :ios do

  before_all do

    ENV["KEYCHAIN_NAME"] = "fastlane-keychain"
    ENV["KEYCHAIN_PASSWORD"] = "fastlane-keychain-password"

  end

  error do |lane, exception, options|

    if lane == :qa

      begin

        delete_keychain(name: ENV["KEYCHAIN_NAME"])

      rescue => exception

      end

    end

  end

  # Test

  desc "Run the test matrix"
  desc ""
  desc "This will run tests on a device from each chipset for the supported versions of iOS."
  desc "iOS 12"
  desc "iPhone 5s - A7 chipset"
  desc "iPhone 6 - A8 chipset"
  desc "iPhone 6s - A9 chipset"
  desc "iPhone 7 - A10 chipset"
  desc "iPhone X - A11 chipset"
  desc "iPhone Xs - A12 chipset"
  lane :test_matrix do |options|

    if options[:sprint]
      scheme = "Sprint"
    elsif options[:nightly]
      scheme = "Nightly"
    elsif options[:stage]
      scheme = "Stage"
    elsif options[:prod]
      scheme = "Production"
    else
      scheme = "Sprint"
    end

    run_tests(devices: ["iPhone 5s", "iPhone 6", "iPhone 6s", "iPhone 7", "iPhone X", "iPhone Xs"],
              scheme: scheme)
  end

  desc "Run tests in Nightly environment"
  lane :run_tests_nightly do
    scan(scheme: "Nightly",
        code_coverage: true,
        device: "iPhone 6",
        output_directory: "fastlane/test_output/nightly")
  end

  desc "Run tests in Sprint environment"
  lane :run_tests_sprint do
    scan(scheme: "Sprint",
        code_coverage: true,
        device: "iPhone 6",
        output_directory: "fastlane/test_output/sprint")
  end

  desc "Run tests in Stage environment"
  lane :run_tests_stage do
    scan(scheme: "Stage",
        code_coverage: true,
        device: "iPhone 6",
        output_directory: "fastlane/test_output/stage")
  end

  desc "Gather UI & unit test code coverage against Sprint"
  lane :run_xcov do
    xcov(scheme: "Sprint",
    output_directory: "fastlane/xcov_output")
  end

  # Build

  desc "Submit a new build to QA"
  desc ""
  desc "This will do the following:"
  desc "- Ensure we were on the develop branch and it's clean."
  desc "- Clear derived data and run the tests."
  desc "- Bump the build number based on TestFlight."
  desc "- Fetch appropriate provisioning profile and certificate."
  desc "- Build Carthage dependencies."
  desc "- Build the app, and upload it to TestFlight."
  desc "- Sends success message to `#qa` on Teams."
  lane :qa do |options|

    if options[:sprint]
      scheme = "Sprint"
    elsif options[:nightly]
      scheme = "Nightly"
    elsif options[:stage]
      scheme = "Stage"
    elsif options[:prod]
      scheme = "Production"
    else
      scheme = "Sprint"
    end

    app_identifier = ["com.asdf.crm"]

    ensure_git_status_clean

    ensure_git_branch(branch: "feature") #develop

    # clear_derived_data

    sh("touch ../CRMTests/GeneratedMocks.swift")

    carthage(
      platform: "ios",
      cache_builds: true
    )

    run_tests(scheme: scheme, device: "iPhone Xs")

    build_number = increment_build_number(build_number: latest_testflight_build_number + 1) #increment_build_number(xcodeproj: "CRM.xcodeproj")

    # commit_version_bump(
    #   message: "Bumped build to " + build_number,
    #   xcodeproj: "CRM.xcodeproj"
    # )

    # push_to_git_remote

    begin

      create_keychain(
        name: ENV["KEYCHAIN_NAME"],
        password: ENV["KEYCHAIN_PASSWORD"],
        unlock: true,
        timeout: false,
      )

    rescue => exception

    end

    sync_code_signing(
      keychain_name: ENV["KEYCHAIN_NAME"],
      keychain_password: ENV["KEYCHAIN_PASSWORD"],
      type: "appstore",
      app_identifier: app_identifier,
      readonly: true
    )

    build_app(
      scheme: scheme,
      export_method: "app-store"
    )

    changelog = changelog_from_git_commits(
      commits_count: 5,
      merge_commit_filtering: :exclude_merges
    )

    upload_to_testflight(
      app_identifier: "com.asdf.crm",
      team_name: "asdf",
      changelog: "#{changelog}",
      skip_submission: true
    )

    delete_keychain(name: ENV["KEYCHAIN_NAME"])

    version = get_version_number(xcodeproj: "CRM.xcodeproj")

    build_number = get_build_number(xcodeproj: "CRM.xcodeproj")

    teams(
      title: "🚗 asdf Mobile CRM",
      message: "Version #{version} build #{build_number} uploaded to TestFlight ✈",
      facts:[
        {
          "name"=>"Changelog",
          "value"=>"#{changelog}"
        }
      ],
      teams_url: "https://outlook.office.com/webhook/..."
    )

  end

  desc "Increment build number and upload to TestFlight. SPRINT ENV"
  lane :test_flight do
    increment_build_number
    build_app(scheme: "Sprint",
              export_method: "app-store",
              export_options: {
              provisioningProfiles: {
                "com.asdf.crm" => "match AppStore com.asdf.crm"
              }
    })
    # build_app(scheme: "Sprint", export_xcargs: "-allowProvisioningUpdates")
    upload_to_testflight(app_identifier: "com.asdf.crm",
                          team_name: "asdf",
                          beta_app_feedback_email<EMAIL_ADDRESS>                          changelog: "Initial test of fastlane upload to beta channel.",
                          skip_submission: true) # to only upload the build
  end

  desc "Adhoc build for NIGHTLY ENV"
  lane :adhoc_nightly do
    build_app(scheme: "Nightly",
              export_method: "ad-hoc",
              export_options: {
              provisioningProfiles: {
                "com.asdf.crm" => "match AdHoc com.asdf.crm"
              }
    })
  end

  desc "Adhoc build for SPRINT ENV"
  lane :adhoc_sprint do
    build_app(scheme: "Sprint",
              export_method: "ad-hoc",
              export_options: {
              provisioningProfiles: {
                "com.asdf.crm" => "match AdHoc com.asdf.crm"
              }
    })
  end

  desc "Adhoc build for STAGE ENV"
  lane :adhoc_stage do
    build_app(scheme: "Stage",
              export_method: "ad-hoc",
              export_options: {
              provisioningProfiles: {
                "com.asdf.crm" => "match AdHoc com.asdf.crm"
              }
    })
  end

  # Helpers

  desc "Fetches the certificates and provisioning profiles."
  lane :fetch_certificates do

    app_identifier = ["com.asdf.crm"]

    sync_code_signing(type: "development", app_identifier: app_identifier, readonly: true)
    sync_code_signing(type: "adhoc", app_identifier: app_identifier, readonly: true)
    sync_code_signing(type: "appstore", app_identifier: app_identifier, readonly: true)

  end

  desc "Updates the provisioning profiles."


Default storage class

Kamaji and the monitoring stack use persistent volumes. I have manually set csi-cinder-sc-delete as default class. Either we have to set a default class via Git or we have to set explicit storageclasses per persistent volume. The downside with the latter approach is that we assume to have storage class x in a cluster which we currently have no reason to assume.

In the KaaS v1, there is a default storage class https://github.com/SovereignCloudStack/k8s-cluster-api-provider/blob/main/terraform/files/kubernetes-manifests.d/cinder-provider.yaml so that we can set it also in the KaaS v2. It shouldn't be a problem via cluster-addon helm values see https://github.com/kubernetes/cloud-provider-openstack/blob/master/charts/cinder-csi-plugin/templates/storageclass.yaml, e.g. set .Values.storageClass.delete.isDefault to true.

Related standard https://github.com/SovereignCloudStack/standards/issues/652


slight optimization/cleanup around the loading of sprites

Was leaving a file handle open when reading tilecodes.txt, also had PIL recreating the image object from the sprite sheet for every sprite, moved that outside the for loop so we just keep referencing the same image.

Hey thanks for the contribution! @Nobledez has been doing all the work on the level editor do I'm going to let him take a look first and then I'll merge and cut a new release afterwords.

Sounds awesome, I am working on actually reworking how the sprites and tile codes and the like are paired up, it looked a touch messy and I love what you folks are up to, so I figured I would lend a hand! Messy code is way better than code that doesn't exist!
 Hoping to try and help out a lot with this if I can.

We're both active in the #s2-modding channel in the spelunky community discord server at https://mossranking.com/discord

Sounds good!


make gRPC use proto v3.6.0 instead of v3.5.0

(LGTM and merge and maybe we keep track of this in an issue somewhere)


Major refractor to move PYTHON_PATH to top-level repo dir

PYTHON_PATH now should point to root_dir instead of apps_dir
manage.py now lives at the root dir
config is moved out to root dir
We have now a new directory config/settings
root_url is moved to config/urls.py
wsgi.py now resides at config/wsgi.py

New Structure, after the project is generated:
--- myproject/
  \--- config/
   |   |---- settings/
   |   |   \--- common.py
   |   |    |-- local.py
   |   |    |-- production.py
   |   |    |-- __init__.py
   |   |---- urls.py
   |   |---- wsgi.py
   |-- requirements/
   |-- docs/
   |-- myproject/
   |   |--- users/
   |   |--- contrib/
   |   |--- other_apps/
   |   |--- __init__.py
   |-- Procfile
   |-- setup.cfg

closes #214

This is still not ready to merge, I still need to test it comprehensively.

Accidentally, this got merged to merged to master while rebasing. master is reverted to normal. I have to open another PR. Apologies! https://github.com/pydanny/cookiecutter-django/pull/225


[FIX] Typos and clarifications

Just some suggested minor typo and style fixes.

The easiest way to add yourself as a contributor is to edit the Wiki page (https://github.com/bids-standard/bids-specification/wiki/Contributors). This will be merged in before any release.
And to be clear, BIDS strongly encourages any level of engagement, so let me assure you that you have contributed enough to add yourself to the list.

LOL. Fixes for the fixes pulled in. And I've added myself to the Contributors wiki page. Thanks!

Thanks @apjanke!


python310Packages.pyopengl-accelerate: unbreak on Python >= 3.10

Description of changes
While debugging a failure in friture, I wondered why it was pinned to Python 3.9. Turns out pyopengl-accelerate at the time did not compile on Python >= 3.10. However, after https://github.com/mcfletch/pyopengl/commit/cee65343744e9f369fcef3d51e19697a92b4d1c6 and https://github.com/mcfletch/pyopengl/commit/bb61b56f2fc717a332b91dafb3c0c446c22b9eba, it seems that it now does. This was already released in the current version we package: 3.1.7.
Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

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

6 packages built:

friture
friture.dist
python310Packages.pyopengl-accelerate
python310Packages.pyopengl-accelerate.dist
python311Packages.pyopengl-accelerate
python311Packages.pyopengl-accelerate.dist


Support ruby 2.7.0-preview3 in bionic

Hi,
Not able to find 2.7.0-preview3 with bionic.
https://travis-ci.org/cedarcode/cose-ruby/jobs/616384171.
Is that expected or am I missing something?
Thank you!

Second the motion

@grzuy - FYI: With preview3 released today - you can probably close this issue.

Where is ruby 2.7.0-preview3 on http://rubies.travis-ci.org web page?

I tried again today and ruby 2.7.0-preview3 is available on bionic.

Where is ruby 2.7.0-preview3 on http://rubies.travis-ci.org web page?

@jasnow I guess it wasn't there before, but it appears now, both under Ubuntu 16.04 and 18.04.

Today we got 2.7.0-rc1 - Time marches on.

Yep...
Hopefully we get support for that soon too...


tf-nightly-gpu 1.14.1 failed call to cuInit: CUDA_ERROR_UNKNOWN: unknown error

My Python version is 3.7.1, the operating system is Windows 10, the CUDA version is cuda_10.0.130_411.31_win10, the cudnn version is cudnn-10.0-windows 10-x64-v<IP_ADDRESS>, the GPU is Intel (R) UHD Graphics 620, and the tf-nightly-gpu-<IP_ADDRESS>90323 is installed.
When I run import tensorflow as tf, there is no problem.
When I run:
m1 = tf.constant([[3, 3]])
m2 = tf.constant([[2], [2]])
p = tf.matmul(m1, m2)
sess =  tf.Session()
r = sess.run(p)
there is no variable "r" in my variable explorer.
When I run:
print(p)
I get this:

What should I do? Thanks!

I know the answer.

@wmylxmj Please share the answer so that others can benefit from it. I'm running into the same error.


UML diagrams added

Added UML diagrams via Mermaid.jl
https://mermaid-js.github.io/mermaid/#/

This looks super handy, thanks! Haven't used this package a lot, but could something like Kroki.jl also be useful here?

oh sick, I wonder if this can go to Pluto itself:
https://github.com/fonsp/Pluto.jl/blob/918ebbb179a5449c1332c7bf16ad2951afe81e41/frontend/components/CellInput/mixedParsers.js#L28
then we can have a cell like
md"""
mermaind```
blah

"""


Test_Python

Description
Tested the python code from Splashkit guides website. From the Splashkit camera guides. In line 49 fill_rectangle() takes 5 positional arguments but 6 were given.
Fixes # (issue)
Type of change

[x] Documentation (update or new)

How Has This Been Tested?
Firstly, go into the splashkit website, click on documentation. Then, on the left side you can find guides and from there, test all the Python code exist.
Testing Checklist:

[ ] Tested in latest Chrome
[ ] Tested in latest Safari
[ ] Tested in latest Firefox

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have requested a review from ... on the Pull Request

Closing this as a new PR #542 has been submitted (rather than updating this one...)


Respect source passed from the API

The Pages API now exposes source branch and path metadata. We should use that to build the proper zip and tar URLs so we respect the source selector.

If you don't mind?

@jekyllbot: merge +minor


Make executable process file regardless of extension

White trying to integrate HTMLHint with SublimeLinter I found an issue with the executable for HTMLHint. As it stands HTMLHint will only process files with an .html extension (due to test on line 97 of current executable). To integrate with Sublime and allow the plugin to lint any file (e.g handlebars template etc.) I've made some changes to the executable so that if (and only if) you pass a file path via the command line it will process that file regardless of extension. If you pass nothing or a directory in it it will process files as before.
I've tried to implement the minimum to get this working, happy to discuss further, just let me know.

Can this be merged? We are using .tmpl extension for golang html templates and have to rename it to .html for linting.

This should also fix #68


Warnings in all sidecar for "TLS Inspector listener filter"

Hey,
I'm seeing this in all my side car logs:
[2018-08-02 17:56:29.368][26][warning][config] external/envoy/source/server/listener_manager_impl.cc:257] adding listener '<IP_ADDRESS>:443': filter chain match rules require TLS Inspector listener filter, but it isn't configured, trying to inject it (this might fail if Envoy is compiled without it)

I know it's only a warning, but theres one of these for each VirtualService+DestinationService for tls SNI outside the mesh.  So it's a bit spammy.
Everything appears to be working OK...

/cc @PiotrSikora

This warning is harmless (but indeed spammy).
But if you're seeing them, then it means that Pilot isn't adding listener_filters with tls_inspector to the VirtualService+DestinationService, so that should be fixed to silence the warnings.

Just to be clear @PiotrSikora when you say "should be fixed", are we implying an istio code fix here or something about my VS+DS being misconfigured?

Sorry, I mean Pilot's code.

Thanks, just checking it wasn't user error :D

cc @rshriram

@PiotrSikora @ijsnellf Correcting myself, configuring tls_inspectorexplicitly  is not required for SNI reporting, my mistake in https://github.com/istio/istio/issues/7601#issuecomment-410527139 .

Sounds like the impact is just confusing warnings. I'll fix it.

Yup, it's just a harmless warning (which is needed, in case someone builds Envoy without tls_inspector filter, which we try to auto-inject, and Envoy crashes).


Incorrect documentation about completion.menu.draw

Make sure you have done the following

[X] I have updated to the latest version of blink.cmp
[X] I have read the README

Bug Description
According to the doc here, treesitter is just a boolean, but that doesn't seem to be correct. When I look into the code, It seems to be a table( I don't know much about lua, so please correct me if I'm wrong).
Relevant configuration
completion = {
      documentation = {
        auto_show = true,
        auto_show_delay_ms = 500,
        treesitter_highlighting = true,
      },
      ghost_text = {
        enabled = true,
      },
      menu = {
        draw = {
          treesitter = {
            -- I'm not sure about this, I add this as other modules are enabled by this argument
            enabled = true
          }
        }
      }

neovim version
0.10.3
blink.cmp version: branch, tag, or commit
v0.8.2

When I look into the code, It seems to be a table( I don't know much about lua, so please correct me if I'm wrong).

That's true. See f99b03c and https://github.com/Saghen/blink.cmp/issues/438.

When I look into the code, It seems to be a table( I don't know much about lua, so please correct me if I'm wrong).

That's true. See f99b03c and #438.

Thanks for pointing out! I was wondering why it is a String[]


Doozr: Rename Core to Kernel

Caused by the latest changes to use names from Linux OS environments we need to change the Core to Kernel.

Done.


Add example to Dyn adapter

I really wonder how you came up with all the usernames.

I really wonder how you came up with all the usernames.

Wikipedia. :laughing:


RTL breaks metadata layout on small screens

On this Arabic news article and shortly on the same version in Hebrew the metadata layout gets broken at small screen sizes. See screenshots.

(originally raised on government-frontend, now moved here)

Potential solutions:

check the locale in the component erb, apply an rtl class and style accordingly
check for the global direction-rtl class and style accordingly


prevent deletion node

Hello, I think this work is redundant with the GraphView capability Deletable: https://docs.unity3d.com/2019.3/Documentation/ScriptReference/Experimental.GraphView.Capabilities.Deletable.html
That's what I use to create nodes that can't be deleted and it works well.
Can you confirm that?

sorry)))
GraphView capability Deletable: https://docs.unity3d.com/2019.3/Documentation/ScriptReference/Experimental.GraphView.Capabilities.Deletable.html
this is a good decision


Blazor broken in newer versions (above v2.30.28)

Blazor/razor broken when using C# extension with version above v2.30.28 .
It may be related to razor/blazor yet reverting C# extension to the version specified above workarounds the issue hence reporting the issue here.
C# Dev Kit is also installed yet trying different versions yields the same result. Only downgrading C# extension itself helps.
Environment data
dontet --info:
.NET SDK:
 Version:           8.0.301
 Commit:            1a0e9c0300
 Workload version:  8.0.300-manifests.011fccd5
 MSBuild version:   17.10.4+10fbfbf2e

Runtime Environment:
 OS Name:     ubuntu
 OS Version:  22.04
 OS Platform: Linux
 RID:         linux-x64
 Base Path:   /usr/share/dotnet/sdk/8.0.301/

.NET workloads installed:
 [wasm-tools]
   Installation Source: SDK 8.0.300
   Manifest Version:    8.0.6/8.0.100
   Manifest Path:       /usr/share/dotnet/sdk-manifests/8.0.100/microsoft.net.workload.mono.toolchain.current/8.0.6/WorkloadManifest.json
   Install Type:        FileBased

 [wasi-experimental]
   Installation Source: SDK 8.0.300
   Manifest Version:    8.0.6/8.0.100
   Manifest Path:       /usr/share/dotnet/sdk-manifests/8.0.100/microsoft.net.workload.mono.toolchain.current/8.0.6/WorkloadManifest.json
   Install Type:        FileBased

 [maui-android]
   Installation Source: SDK 8.0.300
   Manifest Version:    8.0.21/8.0.100
   Manifest Path:       /usr/share/dotnet/sdk-manifests/8.0.100/microsoft.net.sdk.maui/8.0.21/WorkloadManifest.json
   Install Type:        FileBased

Host:
  Version:      8.0.6
  Architecture: x64
  Commit:       3b8b000a0e

.NET SDKs installed:
  6.0.423 [/usr/share/dotnet/sdk]
  7.0.410 [/usr/share/dotnet/sdk]
  8.0.301 [/usr/share/dotnet/sdk]

VS Code version: 1.89.1
C# Extension version: v2.34.12
C# Dev Kit version: v1.8.8 (pre-release)
logs
See attachments:
csharp.log
razor.log
Steps to reproduce

Create project using dotnet new blazorwasm
Open folder in Visual Studio Code
Switch to App.razor
Every component is reported as unrecognized (RZ10012)

Expected  behavior
Razor components (both from packages and created in the project) recognized as components.
Actual behavior
Every component is reported as unrecognized (RZ10012)

We're sorry you are running into this.  We believe we have a fix in progress that should help with this issue; you can follow the status of https://github.com/dotnet/razor/issues/10547 and we will update it when we have a version number that we expect the fix to be in.

I believe this is fixed in v2.39.28 (pre-release). Please let me know if you're still having this issue


build: add Node v20 and v21 into ci with minor version removed

Add Node.js v20 and v21 into the CI pipeline.
Remove hardcoded minor version (eg. 19.7) from the node-version for those versions without specified dev dependencies.
The nvm will automatically install the latest published minor version of Node.js, without the need of update every time.

Similar to #5190, but with removed the hardcoded minor versions.

Example installation Node.js v20, without minor version specified.
Installed v20.9.x in the CI build.

I will close this pull request as per the discussion in https://github.com/expressjs/express/pull/5190#issuecomment-1806862022. It has been decided that we should maintain the minor version in the pipeline. I appreciate your proposal and your understanding in this matter. Thank you @ckng0221!


3.5 Backport of Agency consistency of peer info

Backport of #12083
We keep the Agent peer information more in sync now, this fixes an issue where temporarily the agency config could not be requested by a newly elected leader.
Jenkins:
http://jenkins.arangodb.biz:8080/view/PR/job/arangodb-matrix-pr/10986/

http://jenkins.arangodb.biz:8080/view/PR/job/arangodb-matrix-pr/11078/