update logs of notification module.

details: https://docs.adyen.com/development-resources/webhooks/understand-notifications

 {
  err: {
   message: "undefined is not iterable (cannot read property Symbol(Symbol.iterator))"
   name: "TypeError"
   stack: "TypeError: undefined is not iterable (cannot read property Symbol(Symbol.iterator))
    at /workspace/node_modules/p-map/index.js:23:28
    at new Promise (<anonymous>)
    at module.exports (/workspace/node_modules/p-map/index.js:12:9)
    at Object.processNotifications (/workspace/src/handler/notification/notification.handler.js:12:9)
    at exports.notificationTrigger (/workspace/index.js:21:19)
    at /layers/google.nodejs.functions-framework/functions-framework/node_modules/@google-cloud/functions-framework/build/src/invoker.js:100:17
    at processTicksAndRejections (internal/process/task_queues.js:79:11)"
  }
  hostname: "localhost"
  level: 50
  msg: "Unexpected error when processing event"
  name: "ctp-adyen-integration-notifications"
  notification: [
   0: {
    NotificationRequestItem: {
     additionalData: {
      hmacSignature: "cjiTz03EI0jkkysGDdPJQdLbecRVVU/5jm12/DTFEHo="
     }
     amount: {
      currency: "EUR"
      value: 10100
     }
     eventCode: "AUTHORISATION"
     eventDate: "2019-01-30T18:16:22+01:00"
     merchantAccountCode: "CommercetoolsGmbHDE775"
     merchantReference: "8313842560770001"
     operations: [
      0: "CANCEL"
      1: "CAPTURE"
      2: "REFUND"
     ]
     paymentMethod: "visa"
     pspReference: "test_AUTHORISATION_1"
     success: "true"
    }
   }
  ]
  pid: 1
  v: 0
 }

 {
  err: {
   message: "undefined is not iterable (cannot read property Symbol(Symbol.iterator))"
   name: "TypeError"
   stack: "TypeError: undefined is not iterable (cannot read property Symbol(Symbol.iterator))
    at /workspace/node_modules/p-map/index.js:23:28
    at new Promise (<anonymous>)
    at module.exports (/workspace/node_modules/p-map/index.js:12:9)
    at Object.processNotifications (/workspace/src/handler/notification/notification.handler.js:12:9)
    at exports.notificationTrigger (/workspace/index.js:21:19)
    at /layers/google.nodejs.functions-framework/functions-framework/node_modules/@google-cloud/functions-framework/build/src/invoker.js:100:17
    at processTicksAndRejections (internal/process/task_queues.js:79:11)"
  }
  hostname: "localhost"
  level: 50
  msg: "Unexpected error when processing event"
  name: "ctp-adyen-integration-notifications"
  notification: [
   0: {
    NotificationRequestItem: {
     additionalData: {
      hmacSignature: "cjiTz03EI0jkkysGDdPJQdLbecRVVU/5jm12/DTFEHo="
     }
     amount: {
      currency: "EUR"
      value: 10100
     }
     eventCode: "AUTHORISATION"
     eventDate: "2019-01-30T18:16:22+01:00"
     merchantAccountCode: "CommercetoolsGmbHDE775"
     merchantReference: "8313842560770001"
     operations: [
      0: "CANCEL"
      1: "CAPTURE"
      2: "REFUND"
     ]
     paymentMethod: "visa"
     pspReference: "test_AUTHORISATION_1"
     success: "true"
    }
   }
  ]
  pid: 1
  v: 0
 }

Merged into the #528


Contemplate whether TaskResult et al are needed when the Async versions exist and can bind tasks seemlessly

Decided to put some task functions in a separate package while leaning on the async counterparts for the CEs.


Beaglebone and host

I want to assign this between two parties Beagle bone black and my computer !  It works for that implementation?

Hello,
Sorry I'm not sure to understand what you are talking about 😕

For the diffie helman key exchange , i want to set up the key exchange  end to end flow. I have my pc in linux and i have a beaglebone black connecting on ethernet with my pc. It is possible to use this keyexchange code for generate public and private keys and in the end generate a key secret ? . Finally i want to have a key exchange between two parties , two devices!

Ho I see
It depends of your threat model. But in this scenario, I think that it's way simpler to only use symmetric encryption to encrypt data between the devices and put the same secret key on both your computer and Beaglebone.
DH Key exchange is more useful when the two (or more) parties need to communicate without having the occasion to exchange keys physically.
At the end of the day, key exchange's role is to establish a shared symmetric encryption key, so if you can completely skip key exchange step, you may as well do it.


WIP: Implemenet Cilium as CNI

Add cilium CNI
Ignore azure-container-configured-network-policy
AKS tf don't understand this since we are using BYOCNI
Notes:
We appear to be needing to use the default ServiceMonitors.
On the other hand we could create the services by ourselves aswell.

This PR is currently on hold. But we will keep it open.
Changing it to WIP

This PR is superceeded by #1142.


Change resolution

When i am watching an MV the videos quality is always set on the lowest option and the video it's pixelated
There should be an option that forces the video to a higher resolution like some extensions on Chrome or Firefox.
1: First photo on the YT Music client:

2: Second image on browser with extension that forces the resolution at 1080P:

@ZombieAnidata whats the extension name used?

The extension that i use is called YouTube High Resolution. https://addons.mozilla.org/en-US/firefox/addon/youtube-high-definition/

Ye I'm already implementing it

@ZombieAnidata implemented in v0.10.9


Optimizing Images

Does anyone know how to make this awesome plugin resize and optimise the images when they are saved?
I want to optimize them like Google suggests here:
https://developers.google.com/speed/docs/insights/OptimizeImages

Perhaps try image-optimizer https://github.com/spatie/image-optimizer/blob/master/README.md and implement it right after the file uploading event


feat: Update equinix_network_device.md

feat: Update equinix_network_device.md

I manually added added the NE team as reviewers for this PR and created https://github.com/equinix/terraform-provider-equinix/pull/703 to get that automatically in the future.


Add boilerplate verify scripts

This is an alterntaive to #195.
Rather than spending hours discussing vendoring vs subtrees, I decided it
might be easier to allow people to see the differences and compare them
since it only took a few minutes to throw this together.
I don't think this is fundamentally different from #195 except it vendors
in the other repo instead of using a git subtree.
This one should pass CI though.
I wanted to delete even more files but I wasn't sure which ones were still needed so I tried to just limit the deletes to the same ones in #195.  We can clean up the rest later, or in this PR if someone knows for sure which are ok to remove.
Signed-off-by: Doug Davis<EMAIL_ADDRESS>

I think I've kind of given up on the idea of repo-infra for now.  I don't personally have the bandwidth at this point to make something durable that will meet everyone's needs.  So, we can just copy the code for now and refactor later, IMO.

Before this goes in, I would like:

repo-infra to be updated with documentation for using it via vendor
The glide cache to be ignored without having to be called in the pipeline

done: https://github.com/kubernetes/repo-infra/pull/3

After https://github.com/kubernetes/repo-infra/pull/3 and glide.yaml in this PR is updated appropriately to reference that latest version of repo-infra, then this LGTM.

ok - the repo-infra PR is merged and this one has been rebased/updated.

LGTM

LGTM

LGTM pending good CI.

just fixed the CI - should be good in a few minutes


Invalid feature listing

The following section no longer works due to changes in the current version of the program.

Click Data in the Properties tab in the options panel on the right.

Under Fields, enable the Attachments field. The Attachments field associated with the SharePoint list will appear in the form.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: e663e437-2bc9-980f-9ba6-6eeab01ee9a4
Version Independent ID: ae7da14b-2234-2815-9fd1-272a0984f129
Content: Attachments control: reference - PowerApps
Content Source: powerapps-docs/maker/canvas-apps/controls/control-attachments.md
Service: powerapps
GitHub Login: @fikaradz
Microsoft Alias: fikaradz

How does the Reset property work with this control? Default is false

Thank you for reaching out. The content is updated to reflect updated behavior. Please allow some time to reflect changes.


Ability to parse tile metadata from *.pivotal file

In order to reduce the amount of boilerplate code needed in automation scripts, om should expose a command to parse & display the product_name and product_version when passed a *.pivotal file.
This would prevent the need for automation scripts to unzip & parse metadata from a *.pivotal tile for use cases such as staging & applying changes for a product.
For example, consider this stage-product.sh concourse task which uses om:
FILE_PATH=$(find ./pivnet-product -name "*.pivotal" | sort | head -1)
unzip "$FILE_PATH" metadata/*

PRODUCT_NAME="$(
	cat metadata/*.yml |
		grep '^name' |
		cut -d' ' -f 2
)"

DESIRED_VERSION=$(
	cat metadata/*.yml |
		grep '^product_version' |
		cut -d' ' -f 2 |
		tr -d "'\""
)

$OM_LINUX \
	--target "https://${OPSMAN_DOMAIN_OR_IP_ADDRESS}" \
	--client-id "${OPSMAN_CLIENT_ID}" \
	--client-secret "${OPSMAN_CLIENT_SECRET}" \
	--skip-ssl-validation \
	stage-product \
	--product-name "$PRODUCT_NAME" \
	--product-version "$DESIRED_VERSION"

In order to pass in the --product-name and --product-version, we have to unzip & parse the tile metadata.
Getting the product name & version are issues you would run into when trying to do a selective deploy, associating a stemcell to a product, configuring a product, etc.
Inspired by #162 and #159

I support this in general... it may be worth thinking a bit about the UX.  Do we want separate commands for product and version?  Is there anything else we'd want to parse from the tile?  If so, should those all be separate commands or one command with flags for the data you get out?
For example, I could imagine something like:
om tile-metadata -p /path/to/tile.pivotal --product-version --format=json
# prints product name as json

om tile-metadata -p /path/to/tile.pivotal --product-name --product-version --format=json
#prints product name and version as json

om tile-metadata -p /path/to/tile.pivotal --product-name --product-version
#prints product name and version as table

om tile-metadata -p /path/to/tile.pivotal
#prints a bunch of other stuff too

... but perhaps you have something else in mind?

I definitely like it.
The only concern I have is with how the output formatting of tile-metadata could be used. If the output were a table or json, it would require more parsing logic in automation scripts. I think a table or json would be fantastic, and I hope there could be another output mode which outputs the raw string of a single --property flag. (Or maybe output it as a space-separated list?)
If the output of tile-metadata -p tile.pivotal --some-property could be a 'raw value', it could be used for many common om use-cases && it wouldn't require any extra parsing or binaries like jq:
om upload-product --product=path/to/file.pivotal

om upload-stemcell --stemcell=path/to/stemcell.pivotal --force --floating=false

om stage-product \
	--product-name=$(om tile-metadata -p path/to/file.pivotal --product-name) \
	--product-version=$(om tile-metadata -p path/to/file.pivotal --product-version)

# not a command, but just for example.
# this assumes `--product-version` also works on the stemcell
om stage-stemcell \
	--stemcell-version=$(om tile-metadata -p path/to/stemcell.pivotal --product-version) \
	--product-name=$(om tile-metadata -p path/to/file.pivotal --product-name)

om configure-product \
	--product-name=$(om tile-metadata -p path/to/file.pivotal --product-name) \
	--config=path/to/config.yml # etc

We like this and want to use it - currently p-automator is shelling out to unzip for this, which is a dependency we'd prefer to eliminate by switching to using this command to get values to pass to stage-product.
If engineering work is needed to get the PR across the line, let us know.

Just as a general disclaimer, I don't plan on opening a PR-- I don't mean to sound whiny or lazy, it's just that I'm a huge dummy and my go skills are self-described as "definitely not great". I did a quick PoC to see what the UX workflow might look like, but someone with more experience & foresight should take the mantle on this. Sorry.

Thank you very much for this. Our selective-deploy concourse task went from THIS...
-#!/bin/bash	+#!/usr/bin/env bash

-set -eu
-[ 'true' = "${DEBUG:-}" ] && set -x
 chmod +x om/om-linux	 chmod +x om/om-linux
-OM_LINUX="$(pwd)/om/om-linux"	+export PATH="$PATH:$(pwd)/om"

-STAGED=$(	+om-linux -k \
-	$OM_LINUX \	+	--connect-timeout $OM_CONNECT_TIMEOUT \
-		--target "https://${OPSMAN_DOMAIN_OR_IP_ADDRESS}" \	+	--request-timeout $OM_REQUEST_TIMEOUT \
-		--client-id "${OPSMAN_CLIENT_ID}" \
-		--client-secret "${OPSMAN_CLIENT_SECRET}" \
-		--skip-ssl-validation \
-		--connect-timeout 1800 \
-		--request-timeout 3200 \
-		curl \
-		--path /api/v0/staged/products
-)
-
-# Should the slug contain more than one product, pick only the first.
-FILE_PATH=$(find ./pivnet-product -name "*.pivotal" | sort | head -1)
-unzip "$FILE_PATH" metadata/*
-
-PRODUCT_NAME="$(cat metadata/*.yml | grep '^name' | cut -d' ' -f 2)"
-
-RESULT=$(echo "$STAGED" | jq \
-	--arg product_name "$PRODUCT_NAME" \
-	'map(select(.type == $product_name)) | .[].guid')
-
-# TODO cleanup these jq statements
-DATA=$(echo '{"deploy_products": []}' | jq ".deploy_products += [$RESULT]")
-
-$OM_LINUX \
-	--target "https://${OPSMAN_DOMAIN_OR_IP_ADDRESS}" \
-	--client-id "${OPSMAN_CLIENT_ID}" \
-	--client-secret "${OPSMAN_CLIENT_SECRET}" \
-	--skip-ssl-validation \
-	--connect-timeout 1800 \
-	--request-timeout 3200 \
-	curl \
-	--path /api/v0/installations \
-	--request POST \
-	--data "$DATA"
-
-# https://github.com/aegershman/pcf-pipelines-selective-deploy/issues/1
-# This should reattach the log stream to the current apply-changes job
-# We shouldn't have to parse the "installation_id" returned from the POST
-# above; we should be able to just do "apply-changes" and instead of it
-# actually applying changes, it reattaches to the log stream.
-#
-# Also, just in case this does screw up somehow, we're passing in
-# skip-deploy-products in the hopes that it only applies changes
-# to the director & not the entire foundation.


[feat][broker][PIP-195] Support internal cursor properties - part4

Master Issue: #16763
Motivation
Now, the cursor properties support overall update and modifying a single value concurrently by #17164, but setCursorProperties will all key-value is removed before update properties, this will cause internal property loss, so use a special prefix to prevent internal properties.
More context see: https://github.com/apache/pulsar/pull/17164#issuecomment-1236872277, https://github.com/apache/pulsar/pull/17164#issuecomment-1241523618, https://github.com/apache/pulsar/pull/17164#issuecomment-1241536546
Modifications
Use a special prefix to prevent internal properties.
Verifying this change

[x] Make sure that the change passes the CI checks.

(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end deployment with large payloads (10MB)
Extended integration test for recovery after broker failure

Documentation

[ ] doc-required
(Your PR needs to update docs and you will update later)

[x] doc-not-needed
(Please explain why)

[ ] doc
(Your PR contains doc changes)

[ ] doc-complete
(Docs have been already added)

Matching PR in forked repository
PR in forked repository: https://github.com/coderzc/pulsar/pull/4

@lhotari @eolivelli @Jason918 @codelipenghui @mattisonchao PTAL.

the tests failed in Broker Group 3 because of OOM, I filed #17714 . It's most likely not caused by the changes in this PR.

@lhotari @eolivelli @Jason918 @codelipenghui @mattisonchao PTAL

Codecov Report

Merging #17712 (f01a4d4) into master (a2c1534) will decrease coverage by 17.22%.
The diff coverage is 25.00%.

@@              Coverage Diff              @@
##             master   #17712       +/-   ##
=============================================
- Coverage     47.23%   30.00%   -17.23%
+ Complexity    10430     5679     -4751
=============================================
  Files           692      613       -79
  Lines         67766    58391     -9375
  Branches       7260     6087     -1173
=============================================
- Hits          32009    17520    -14489
- Misses        32192    38385     +6193
+ Partials       3565     2486     -1079

Flag
Coverage Δ

unittests
30.00% <25.00%> (-17.23%)
:arrow_down:

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


Create a third display image example using nanovg

I wrote the example: https://github.com/kallaballa/V4D/commit/7fc418f8c00612c15de4e67798ddd5be80a31a4c
Docs still missing.

Wrote source and markdown documentation and published it: https://viel-zu.org/opencv/doxygen/html/dc/d59/v4d_display_image_nvg.html


Increase the file ID corresponding to the license

Describe the Feature
tern uses the scancode extension function, and the resulting output cannot see which layer or file the license originated from, so it will not be used for subsequent use. Can you consider adding direct output according to the output format supported by the scancode tool itself?
Use Cases
Facilitate compliance management of components or modules

You can certainly find that information using the YAML or JSON format. Run tern report -x scancode -f yaml -o output.yaml or tern report -x scancode -f json -o output.json.

Hi @00032118 -- just for some context -- the default report is intended to give users a high level overview of their container contents -- almost like a short summary. Adding a list of every single file that scancode finds in each layer would significantly increase the length of this document and defeat the purpose of the summary. As Nisha suggested, please take a look at some of the other output formats. I think you can also use the spdxtagvalue format to find this information.
Closing this bug.


atbash_cipher test suite is impossible(?) to satisfy

Unless I'm missing something, the requirements and the test are contradictory.
Specifically, you can't encode and then decode a sentence and expect the decoded sentence to match the original, since whitespace is not encoded, unless decoding involves guessing word boundaries, which is outside the scope.
I took a look at the Java tests to see how it evaluates this problem, and it provides expected encodings, not a full round trip.
Looking at the Nitpicks interface for Erlang, there are no submissions for this problem.

Ah, I can't see nitpicks for problems I haven't submitted, but I'm still skeptical this is a solvable problem.

I'm pretty sure that decoding ignores word boundaries and just uses groups of five.

The test explicitly encodes and decodes the sentence, expecting the output to match the input. The specification is reasonable, but the test is not.
https://github.com/exercism/xerlang/blob/master/atbash-cipher/atbash_cipher_tests.erl#L16-L18 https://github.com/exercism/xerlang/blob/master/atbash-cipher/atbash_cipher_tests.erl#L16-L18
-John

On Aug 26, 2015, at 9:27 PM, Katrina Owen<EMAIL_ADDRESS>wrote:
I'm pretty sure that decoding ignores word boundaries and just uses groups of five.
—
Reply to this email directly or view it on GitHub https://github.com/exercism/xerlang/issues/62#issuecomment-135235318.

Oh, yepp. I see what you mean. This was not included in the original exercise. I would suggest that we remove it.

As I poke around the other tests, there's very little consistency on how to treat underspecified cases.
E.g., the Ruby test removed whitespace between integers, while the Erlang test doesn't even expect punctuation to be removed. The Ruby test expects capitals to be lower-cased when encoded, while the Erlang test expects them to remain upper-case.
I'm preparing a PR for this test to make it a little less slanted towards cases the developer can't possibly expect to solve without looking at the test in advance, but I'd suggest this problem in general get a much clearer specification or be dropped entirely.

Aha, I figured it out.
The tests ignore this part of the specification:

Ciphertext is written out in groups of fixed length, the traditional group size
being 5 letters, and punctuation is excluded.

Anyway, I don't know the protocol here. Would completely dropping these tests (and tweaking the README, since it makes impossible statements like "Decoding gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt gives The quick brown fox jumps over the lazy dog.") in favor of tests ported from another language be a problem?
It's unclear to me how Exercism manages "epochs" in problems; if one user solves them using one test suite, and another using a different test suite, I can see potential confusion when nitpicking. On the other hand, since the tests are checked out just once, a user shouldn't care all that much if things change later.
And I don't see people downloading others' code to run against the test, so I guess my concern is largely unjustified.
Thoughts?

Would completely dropping these tests (and tweaking the README [...]) in favor of tests ported from another language be a problem?

No, not at all. We're having a related discussion about clarity, purpose, focus, and consistency here: https://github.com/exercism/xjavascript/issues/105

It's unclear to me how Exercism manages "epochs" in problems

It's not been handled consistently. In most cases we've just sort of shrugged and decided that the point is to have an interesting and useful discussion, and that the code that is there is the code that is there. Unfortunately, we haven't communicated that clearly, which sometimes leads to people leading with "this doesn't pass the tests!", which is counter to the purpose of the site.
In a few tracks we've started introducing a simple versioning/book-keeping system, where we have a final test that asserts on some constant, and then the solution implements that constant. E.g.:
https://github.com/exercism/xruby/blob/master/hamming/hamming_test.rb#L81-L84
This at least gives nitpickers an indication that the version might be different from what they saw.

And I don't see people downloading others' code to run against the test, so I guess my concern is largely unjustified.

I do that sometimes. There's a hack for it in the CLI, too, because I was pretty fed up with copy/pasting:
exercism download SUBMISSION_ID

Since #66 is merged, can't this get closed?

agreed, thanks.


Use stable rustc for docs CI

The intra-doc linking now works on rust stable.  No need to use
nightly anymore.
Also update caching action which is simpler to use in more recent
versions.

Thanks!


Cannot pass the payment process on the select country window

Hello,
I'm trying to get into the payment process and I'm selecting my location in Denmark and all I see is that

I have an internet connection and I saw if I switch to Italy for example there seems to work.
Why for DK no?
Thank you for your help

Hi Jakub, thanks for your notification, this is good to know. I'm using Paddle as a Payment provider and I'm not sure why this is happening - presumably it's an issue on their end. I'll close this ticket for now.

Awesome - thanks for your support!


NullPointer on iOS when receiving empty Response?

Please complete the following information:

2.0.7
iPhone 14

Describe the Bug:
NullPointerException gets thrown on iOS but not on Android.
Hello!
I call an Endpoint where I may get an ErrorResponse, but not always. Looks like this:
    @PATCH("api/stop")
    @Headers(
        "Accept: application/json",
        "Content-Type: application/json",
    )
    suspend fun stopTask(
        @Body task: Task,
    ): ApiResponse<ErrorResponse?>

See the ErrorResponse is optional.
When calling the Endpoint:
 taskApi.stopTask(task).getOrThrow()?.let {
   // ErrorResponse Handling
}

>>>RESPONSE: 204 No Content
METHOD: HttpMethod(value=PATCH)
FROM:
COMMON HEADERS
-> Access-Control-Allow-Credentials: true
-> Access-Control-Allow-Headers: Content-Type, Authorization, Content-Length, X-Requested-With
-> Access-Control-Allow-Methods: POST, PUT, GET, DELETE, HEAD, PATCH
-> Access-Control-Max-Age: 3600
-> Cache-Control: no-cache, no-store, max-age=0, must-revalidate
-> Connection: keep-alive
-> Content-Security-Policy: default-src 'none';
-> Content-Type: application/json
-> Date: Tue, 22 Oct 2024 13:17:23 GMT
-> Expires: 0
-> Pragma: no-cache
-> Server: nginx/1.18.0 (Ubuntu)
-> Strict-Transport-Security: max-age=31536000; includeSubDomains
-> Vary: Origin, Access-Control-Request-Method, Access-Control-Request-Headers
-> X-Content-Type-Options: nosniff, nosniff
-> X-Frame-Options: DENY, deny
-> X-XSS-Protection: 0, 1; mode=block;
BODY Content-Type: application/json
BODY START

BODY END

It throws the Nullpointer:
0   shared                              0x109193ef7        kfun:kotlin.Throwable#<init>(){} + 95
1   shared                              0x10918d3a7        kfun:kotlin.Exception#<init>(){} + 87
2   shared                              0x10918d5c7        kfun:kotlin.RuntimeException#<init>(){} + 87
3   shared                              0x10918d7e7        kfun:kotlin.NullPointerException#<init>(){} + 87
4   shared                              0x1091ca067        ThrowNullPointerException + 131
5   shared                              0x10a549223        kfun:com.skydoves.sandwich.ktorfit.ApiResponseConverterFactory.object-1.$convertCOROUTINE$0.invokeSuspend#internal + 887
6   shared                              0x10a549453        kfun:com.skydoves.sandwich.ktorfit.ApiResponseConverterFactory.object-1.convert#internal + 295
7   shared                              0x10a52ba97

What I would expect is that getOrThrow would return a NULL object, signaling me that the Api Call was successful but no Response object was available. This is exactly how it works on Android.
Am I missing something?
Thank you for your help :)

Hey @anox1337, getOrThrow always throws an exception if the respond is not the properly backed. You can use getOrNull instead in this situation.

Hey @anox1337, sorry for the delayed response. To be honest, the better API design for the empty body (204) is receiving Unit response, since you will be only handling success or failure, and you can achieve it already by utilizing the ApiResponse. For more information, you can refer to this doc: https://skydoves.github.io/sandwich/empty-body/


Allow alphanumerical group ids

Currently setGroup requires an integer, which will be set as label of the resulting cluster.
But it's more helpful to have alphanumerical cluster names at the end.
Therefore I currently do a string replace on the unique integer id but it would be nice to just set the group id as string.

@Sebobo Thanks for your input, I think you're raising a good point. There's currently some discussion to remove this whole feature in the underlying library, perhaps you can join the discussion in https://github.com/graphp/graph/pull/168? :+1:


Fix: Update Helm ingress template & document

Description

Change path type in rule of ingress template to Prefix
Update document for Helm installation without domain

Type of change

Bug fix (non-breaking change which fixes an issue)

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

@geekup-legodevops, do we need to increment the version of Helm charts in this PR?

@geekup-legodevops, do we need to increment the version of Helm charts in this PR?
Yes @sharat87 we will increase it to version 1.5.2


Bug: Debug pathname flows

Problem
there's some issues when setting the path of a document and changing it
Steps to Reproduce

Expected Behavior

Debug Info

@ericvicenti feel free to add any insights on here
cc @GaboHBeaumont


deeplearning4j spark get stuck when two executors was assigned to one same physical machine

Issue Description
Running dl4j spark on a yarn cluster, when two executors was assigned to one same machine (with the same ip), tasks on one of the executors was blocked and would never be finished.
When executors were all distributed on different machines, this issue does not appear.
Version Information
Please indicate relevant versions, including, if relevant:

Deeplearning4j version
dl4j.spark.version: 1.0.0-beta4_spark_2
dl4j-version: 1.0.0-beta4

Platform information (OS, etc)
-Djavacpp.platform=linux-x86_64

CUDA version, if used
no cuda, on spark cluster with cpu only

NVIDIA driver version, if in use

Finally we solved this problem, it seems that there is a problem in dl4j spark network strategy. Two executors (JVM) on the same machine share the same ip and port. Then one of the executors can not establish udp connection to the driver (since the port is already occupied by another JVM process). We solved this problem by adding a PortSupplier subclass to bind the port to the process id of the JVM, in Scala, the code looks like this:
package org.nd4j.parameterserver.distributed.v2.transport.impl

import java.lang.management.ManagementFactory

import org.nd4j.base.Preconditions
import org.nd4j.linalg.exception.ND4JIllegalStateException
import org.nd4j.parameterserver.distributed.v2.transport.PortSupplier

class ProcessBindPortSupplier extends PortSupplier {

  // Bind the port to the process ID
  override def getPort(): Int = {
    val name = ManagementFactory.getRuntimeMXBean().getName();
    val pid = name.split("@").apply(0)
    return pid.toInt % 64511 + 1024
  }

}

When build the VoidConfiguration, assign the PortSupplier like this:
  val voidConfigurationBuidler = VoidConfiguration.builder()
    .unicastPort(port)
    .controllerAddress(driverIp)
    .portSupplier(new ProcessBindPortSupplier)


Prince/chore: fetch crowdin master

Changes:
Fetched newly translated strings

Preview Link: https://fetch-crowdin-master.deriv-com-preview-links.pages.dev

Name
Result

Build status
Completed ✅

Preview URL
Visit Preview

Action URL
Visit Action


Selecting correct wallet from CBOR Hex

Hey Allessandro, I'm fairly new to development on Cardano...here's my issue...

I created a wallet on the CLI and funded it.
I want to select that wallet in Lucid using the selectWalletFromPrivateKey method.
So what I do is attempt to convert the CLI wallet CBOR hex into a bech32 encoded private key and use that.
At first it seems to work, I'm able to convert the CBOR into bech32...but when Lucid selects the wallet, none of the funds are there and the payment address is different

I'm at my wits end here. Here's what I'm doing - I'm hoping you can set me straight...
import { Lucid, C } from 'lucid-cardano';

const lucid = await Lucid.new(new Blockfrost("https://cardano-mainnet.blockfrost.io/api/v0", PROJECT_ID, "Mainnet"));

// This is a demo CLI wallet.
const cborHex = "58209ccf4dc565bbcc400e09c7f9f4e20c31c7c411ac5692e7b045383d08def9ee5c";
const privateKey = C.PrivateKey.from_normal_bytes(Buffer.from(cborHex.substring(4), 'hex'));
const wallet = lucid.selectWalletFromPrivateKey(privateKey.to_bech32()).wallet;

console.log(wallet.address())
// Outputs: addr1vx7cef3rn0m0xtj4ps66h2tcqasme4m8l5fvs0ktg6802zgn0vjqp

console.log(wallet.getUtxos())
// Outputs: []

What am I doing wrong?

I created a wallet on the CLI and funded it.

Did you create the wallet address without a stake key? Just to be sure here

I'm not sure - the wallet address was generated through your CardanoCli package...I have a stake key if needed.

I'm not sure - the wallet address was generated through your CardanoCli package...I have a stake key if needed

Is the address you generated with the CLI longer than addr1vx7cef3rn0m0xtj4ps66h2tcqasme4m8l5fvs0ktg6802zgn0vjqp?

Yes.
// CLI wallet info
//
// payment addr: addr1qx7cef3rn0m0xtj4ps66h2tcqasme4m8l5fvs0ktg6802z25s4v95yucylgx3zqsmvdmk7jptzg2nztlgt24jf8cea4qlha987
// payment.sKey CBOR: 58209ccf4dc565bbcc400e09c7f9f4e20c31c7c411ac5692e7b045383d08def9ee5c
// payment.vKey CBOR: 5820a9e7345f7cd0d69f52b8ffc90160b87311e930bf021dba3b5ece950472d5566d
//
// stake addr: stake1u92g2kz6zwvz05rg3qgdkxam0fq43y9f39l5942eynuv76sls0z02
// stake.sKey CBOR: 582045abf0c4abd1dd5c4071ef4f81bea7fe202429e8a92fcc546e63b9b148ea7e27
// stake.vKey CBOR: 58207538fd682808f0bea3a7fdf8ed1381c93046c873322d9a6b61246e0f2ce16264

Yeah the address you used in the CLI has a stake credential inside (Base address). The one you see in Lucid is an Enterprise address. It has the same payment credential, but there is no stake credential attached. Right now Lucid only gives you back UTxOs that match exactly that address even tho the payment credential may be the same. Maybe I'm gonna change that behaviour.
Try to generate an Enterprise address in the CLI (without stake credential) and see if it matches: addr1vx7cef3rn0m0xtj4ps66h2tcqasme4m8l5fvs0ktg6802zgn0vjqp


purpose of PostBuild Target

trying to grok this...it's not clear to me what the postbuild target you have is doing/why t's needed
  <Target Name="PostBuild" AfterTargets="PostBuildEvent">
    <ItemGroup>
      <OutputFiles Include="$(OutDir)Views\*"></OutputFiles>
    </ItemGroup>
    <Move SourceFiles="@(OutputFiles)" DestinationFolder="$(OutDir)bin" OverwriteReadOnlyFiles="true"></Move>
  </Target>

i don't see any differences in output with this enabled or commented out...is this an attempt to make live editing function?

This is a leftover of me trying to get this to work, before I learned to access the views with Assembly.LoadFile() on the views assembly.
I thought it would be nice to be able to edit the views without rebuilding the application, but I couldn't get that to work.
Removed it, thanks. 71b7224f92e9ddabb32c1efb235a556d14763a65

Yeah i tried like hell to get runtime compilation working...
first just bringing in the assembly makes the sdk not publish the startup extension for whatever reason..i dont understand functions enough to know why this happened. Easy enough to hack around to attempt
Then the dependencies of the runtime compilation assembly are not moved to the netcoreapp/bin directory so they cant be loaded... again im at a loss but easy enough to copy paste some stuff to get past for a bit
Then runtime compilation was looking in /netcoreapp/bin for the views.  Again easy enough to add a file provider to the project root
Then and only then did i give up the runtime compilation said it couldnt load Microsoft namespace or System.Type on and on. Im guessing it uses its own app domain, but how can it not find the most basic types? Really confusing


pretrained densenet does not work on CPU

When I try to initialise pretrained densenet121, I get the error AssertionError: Torch not compiled with CUDA enabled (while other networks work). Using http://download.pytorch.org/whl/torch-0.2.0.post1-cp36-cp36m-macosx_10_7_x86_64.whl and torchvision-0.1.9 on CPython 3.6.2 on OS X 10.12.6.
Here is the full traceback:
In [2]: for m in [resnet50, inception_v3, densenet121]:
   ...:     m(pretrained=True)
   ...:
venv/lib/python3.6/site-packages/torchvision/models/inception.py:65: UserWarning: src is not broadcastable to dst, but they have the same number of elements.  Falling back to deprecated pointwise behavior.
  m.weight.data.copy_(values)
Downloading: "https://download.pytorch.org/models/densenet121-241335ed.pth" to /Users/kostia/.torch/models/densenet121-241335ed.pth
100.0%
---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
<ipython-input-2-28619da1d19b> in <module>()
      1 for m in [resnet50, inception_v3, densenet121]:
----> 2     m(pretrained=True)
      3

venv/lib/python3.6/site-packages/torchvision/models/densenet.py in densenet121(pretrained, **kwargs)
     26                      **kwargs)
     27     if pretrained:
---> 28         model.load_state_dict(model_zoo.load_url(model_urls['densenet121']))
     29     return model
     30

venv/lib/python3.6/site-packages/torch/utils/model_zoo.py in load_url(url, model_dir, map_location)
     56         hash_prefix = HASH_REGEX.search(filename).group(1)
     57         _download_url_to_file(url, cached_file, hash_prefix)
---> 58     return torch.load(cached_file, map_location=map_location)
     59
     60

venv/lib/python3.6/site-packages/torch/serialization.py in load(f, map_location, pickle_module)
    229         f = open(f, 'rb')
    230     try:
--> 231         return _load(f, map_location, pickle_module)
    232     finally:
    233         if new_fd:

venv/lib/python3.6/site-packages/torch/serialization.py in _load(f, map_location, pickle_module)
    377     unpickler = pickle_module.Unpickler(f)
    378     unpickler.persistent_load = persistent_load
--> 379     result = unpickler.load()
    380
    381     deserialized_storage_keys = pickle_module.load(f)

venv/lib/python3.6/site-packages/torch/cuda/__init__.py in _lazy_new(cls, *args, **kwargs)
    264 @staticmethod
    265 def _lazy_new(cls, *args, **kwargs):
--> 266     _lazy_init()
    267     # We need this method only for lazy init, so we can remove it
    268     del _CudaBase.__new__

venv/lib/python3.6/site-packages/torch/cuda/__init__.py in _lazy_init()
     82         raise RuntimeError(
     83             "Cannot re-initialize CUDA in forked subprocess. " + msg)
---> 84     _check_driver()
     85     torch._C._cuda_init()
     86     torch._C._cuda_sparse_init()

venv/lib/python3.6/site-packages/torch/cuda/__init__.py in _check_driver()
     49 def _check_driver():
     50     if not hasattr(torch._C, '_cuda_isDriverSufficient'):
---> 51         raise AssertionError("Torch not compiled with CUDA enabled")
     52     if not torch._C._cuda_isDriverSufficient():
     53         if torch._C._cuda_getDriverVersion() == 0:

AssertionError: Torch not compiled with CUDA enabled

I think the files we're serialized with the old method and now can't be properly read with the new serialization. I've tried loading, saving and re-loading on a CUDA enabled machine - which seems to work.
I will try to upload these new files somewhere sensible tomorrow so that the pre-trained locations can be updated.
cc: @fmassa

I have encountered the same problem. In addition, although on GPU the model using pre-trained resnet and densenet both work well and on CPU the model using pre-trained resnet works well, I am not really sure my modification, bold for GPU and italic for densenet, is correct.
class EncoderImageFull(nn.Module):

    def __init__(self, embed_size, finetune=False, cnn_type='vgg19',
                 use_abs=False, no_imgnorm=False):
        """Load pretrained VGG19 and replace top fc layer."""
        super(EncoderImageFull, self).__init__()
        self.embed_size = embed_size
        self.no_imgnorm = no_imgnorm
        self.use_abs = use_abs

        # Load a pre-trained model
        self.cnn = self.get_cnn(cnn_type, True)

        # For efficient memory usage.
        for param in self.cnn.parameters():
            param.requires_grad = finetune

        # Replace the last fully connected layer of CNN with a new one
        if cnn_type.startswith('vgg'):
            self.fc = nn.Linear(self.cnn.classifier._modules['6'].in_features,
                                embed_size)
            self.cnn.classifier = nn.Sequential(
                *list(self.cnn.classifier.children())[:-1])
        elif cnn_type.startswith('resnet'):
            if torch.cuda.is_available():
                self.fc = nn.Linear(self.cnn.module.fc.in_features, embed_size)
                self.cnn.module.fc = nn.Sequential()
            **else:
                self.fc = nn.Linear(self.cnn.fc.in_features, embed_size)
                self.cnn.fc = nn.Sequential()**

        _elif cnn_type.startswith('densenet'):
            self.fc = nn.Linear(self.cnn.module.classifier.in_features, embed_size)
            self.cnn.module.classifier = nn.Sequential()_

        self.init_weights()

    def get_cnn(self, arch, pretrained):
        """Load a pretrained CNN and parallelize over GPUs
        """
        if pretrained:
            print("=> using pre-trained model '{}'".format(arch))
            model = models.__dict__[arch](pretrained=True)
        else:
            print("=> creating model '{}'".format(arch))
            model = models.__dict__[arch]()

        **if torch.cuda.is_available():**
            if arch.startswith('alexnet') or arch.startswith('vgg') or arch.startswith('densenet'):
                model.features = nn.DataParallel(model.features)
                model.cuda()
            else:
                model = nn.DataParallel(model)
                model = model.cuda()

        return model

    def init_weights(self):
        """Xavier initialization for the fully connected layer
        """
        r = np.sqrt(6.) / np.sqrt(self.fc.in_features +
                                  self.fc.out_features)
        self.fc.weight.data.uniform_(-r, r)
        self.fc.bias.data.fill_(0)

    def forward(self, images):
        """Extract image feature vectors."""
        features = self.cnn(images)

        # normalization in the image embedding space
        features = l2norm(features)

        # linear projection to the joint embedding space
        features = self.fc(features)

        # normalization in the joint embedding space
        if not self.no_imgnorm:
            features = l2norm(features)

        # take the absolute value of the embedding (used in order embeddings)
        if self.use_abs:
            features = torch.abs(features)

        return features

I will re-generate the models with the new serialization today and then update the URLs in torchvision.

fixed in master by @alykhantejani

Hi Folks, I am facing the same exact issue/error whenever I try to load any densenet modeL. I don't have any issue loading any other pre-trained model. I tried to download the densenet  models manually from https://github.com/pytorch/vision/pull/251/commits/489d6e7e8daf5cb992177826d78bd2ce7444646a and load them using torch.load, but I still get the error: AssertionError: (AssertionError('Torch not compiled with CUDA enabled',), <class 'torch.cuda.FloatTensor'>, ()). I am using macOS Sierra version 10.12.6.
I would really appreciate any help resolving this issue. Here is the full traceback:
`---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
 in ()
----> 1 torch.load('densenet121-241335ed.pth')
/Users/hassanshallal/anaconda/lib/python2.7/site-packages/torch/serialization.pyc in load(f, map_location, pickle_module)
229         f = open(f, 'rb')
230     try:
--> 231         return _load(f, map_location, pickle_module)
232     finally:
233         if new_fd:
/Users/hassanshallal/anaconda/lib/python2.7/site-packages/torch/serialization.pyc in _load(f, map_location, pickle_module)
377     unpickler = pickle_module.Unpickler(f)
378     unpickler.persistent_load = persistent_load
--> 379     result = unpickler.load()
380
381     deserialized_storage_keys = pickle_module.load(f)
/Users/hassanshallal/anaconda/lib/python2.7/site-packages/torch/cuda/init.pyc in _lazy_new(cls, *args, **kwargs)
264 @staticmethod
265 def _lazy_new(cls, *args, **kwargs):
--> 266     _lazy_init()
267     # We need this method only for lazy init, so we can remove it
268     del _CudaBase.new
/Users/hassanshallal/anaconda/lib/python2.7/site-packages/torch/cuda/init.pyc in _lazy_init()
82         raise RuntimeError(
83             "Cannot re-initialize CUDA in forked subprocess. " + msg)
---> 84     _check_driver()
85     torch._C._cuda_init()
86     torch._C._cuda_sparse_init()
/Users/hassanshallal/anaconda/lib/python2.7/site-packages/torch/cuda/init.pyc in _check_driver()
49 def _check_driver():
50     if not hasattr(torch._C, '_cuda_isDriverSufficient'):
---> 51         raise AssertionError("Torch not compiled with CUDA enabled")
52     if not torch._C._cuda_isDriverSufficient():
53         if torch._C._cuda_getDriverVersion() == 0:
AssertionError: (AssertionError('Torch not compiled with CUDA enabled',), <class 'torch.cuda.FloatTensor'>, ())
`
Thanks

@hassanshallal update your torchvision with: pip install -U torchvision

Thanks a lot for the feedback, I can now upload and use the densenet pre-trained models.


[Platform]: Should access ppp popup

[Platform]: Should access ppp popup
Shows popup to partners ip when they open public platform for the first time.
Please include a summary of the change and which issue is fixed. List any dependencies that are required for this change.
Issue: # issue-2936
Deploy preview: preview
Type of change
Please delete options that are not relevant.

New feature (non-breaking change which adds functionality)

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce.

Test A: Open public platform on whitelisted ips.

Checklist:

[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] Any dependent changes have been merged and published in downstream modules

HI @chinmehta, this is looking good!
Please see below a small change to the text for this feature (additional text in bold):
We are pleased to inform you that you have access to our exclusive Partner Preview Platform (PPP). This will have pre-publication data from OTAR projects IN ADDITION TO ALL THE PUBLICLY AVAILABLE DATA, PROVIDING early access to the latest features, updates, and innovations before they are made available to the public.
With the additional text it is really clear that the PPP also contains all the platform data + prepublication.


Assess code splitting for core contracts (libraries, proxies etc.)

(In work issue)
tl;dr Code splitting with libraries and/or proxies could make the code cleaner.
Feature requested for a while. Latest discussion: https://github.com/raiden-network/raiden-contracts/pull/213#issuecomment-410789290
History
Initial contracts from the raiden repo https://github.com/raiden-network/raiden/tree/9e12805fccf777cda8446b33842ad7ca3215d6c8/raiden/smart_contracts had a structure based on libraries.
This does not exist in the current contracts.
My main reasons for not keeping it in the https://github.com/raiden-network/raiden/pull/1286 refactoring:

It added a lot of duplicate code, making it more difficult to implement the protocol changes that followed.
Other (possibly better?) patterns surfaced for code splitting/upgradability. I thought that code splitting might go hand in hand with the upgradability issue that was and still is open: https://github.com/raiden-network/spec/issues/22.
Therefore, I thought it might be better for the contracts development to handle this issue after the protocol is stable and we have time to research other patterns.

Current issues
we are facing that might be solved with better code splitting:

Current TokenNetwork contract has the old NettingChannel and ChannelManager combined in a single contract. Therefore, this can happen: https://github.com/raiden-network/raiden-contracts/pull/213#issuecomment-410788010
Current TokenNetworkRegistry contract imports the TokenNetwork contract and deployment is > 5mil gas, with an expensive token network creation >3mil gas
There are some functions that receive a lot of variables as input, therefore filling up the stack faster. E.g. updateNonClosingBalanceProof, settleChannel, cooperativeSettle. This currently prevents us to have clean state modifiers https://github.com/raiden-network/raiden-contracts/issues/197

Known existing solutions:
TODO: properly document known existing solutions.

As mentioned above, there are two main issues:
A. TokenNetworkRegistry bytecode size -> either running into Contract code size exceeds EIP170 limit of 24577 or contract being too hard to deploy when the block gas limit is lower.
B. stack too deep error in settleChannel, updateNonClosingBalanceProof, cooperativeSettle when trying to use modifiers / clean up the code.
Possible solutions for A:
1. Delegate Proxy with separate TokenChannel
Moving the channels code into a separate contract, therefore we could have something like: (note that the proxy setup can be improved, this is just a proof of concept)
contract TokenNetworkRegistry {
    address public erc20_token_channel_implementation;
    mapping(address => address) public token_to_token_networks;
    event TokenNetworkCreated(address indexed token_address, address indexed token_network_address);

    constructor(address _erc20_token_channel_implementation) {
        erc20_token_channel_implementation = _erc20_token_channel_implementation;
    }

    // Note: if we are going to support multiple token standards (and we should), then we could have:
    // mapping(uint256 => address) public token_standard_to_implementation;
    // function setImplementation(uint256 standard, address implementation) {
    //     require(token_standard_to_implementation[standard] == 0);
    //     token_standard_to_implementation[standard]
    // }

    function createERC20TokenNetwork(address _token_address)
        external
        returns (address token_network_address)
    {
        require(token_to_token_networks[_token_address] == address(0x0));

        TokenNetwork token_network;
        token_network = new TokenNetwork(_token_address, erc20_token_channel_implementation);
        token_network_address = address(token_network);

        token_to_token_networks[_token_address] = token_network_address;
        emit TokenNetworkCreated(_token_address, token_network_address);

        return token_network_address;
    }
}

contract TokenNetwork {
    Token public token;
    TokenChannel public token_channel_implementation;
    // mapping (address => Channel) public channels;

    event ChannelOpened(
        address indexed channel_identifier,
        address indexed participant1,
        address indexed participant2,
        uint256 settle_timeout
    );
    event ChannelRemoved(uint256 indexed channel_identifier);

    constructor(address _token_address, address _token_channel_implementation) {
        token = Token(_token_address);
        token_channel_implementation = TokenChannel(_token_channel_implementation);
    }

    function openChannel(address participant1, address participant2, uint256 settle_timeout) {
        TokenChannel channel = TokenChannel(new TokenChannelProxy(
            token_channel_implementation,
            address(this),
            participant1,
            participant2,
            settle_timeout
        ));
        emit ChannelOpened(address(channel), participant1, participant2, settle_timeout);
    }
}

contract TokenChannelData is ProxyData {
    address token_network;
    address participant1;
    address participant2;
    uint256 settle_block_number;

    mapping(address => Participant) public participants;

    struct Participant {
        uint256 deposit;
    }

    event ChannelNewDeposit(
        uint256 indexed channel_identifier,
        address indexed participant,
        uint256 total_deposit
    );
}

contract TokenChannel is TokenChannelData {
    function setTotalDeposit(address participant, uint256 total_deposit)
    {
        Participant storage participant_state = participants[participant];
        participant_state.deposit = total_deposit;
    }
}

contract TokenChannelProxy is Proxy, TokenChannelData {
    constructor(
        address proxied,
        address _token_network,
        address _participant1,
        address _participant2,
        uint256 _settle_block_number
    ) Proxy(proxied) {
        token_network = _token_network;
        participant1 = _participant1;
        participant2 = _participant2;
        settle_block_number = _settle_block_number;
    }
}

PROs:

solves the bytecode size issue
creating a new TokenNetwork will cost way less gas (I assume less than 800k, instead of 3.5mil as it is now)
doesn't duplicate as much code as the libraries approach (see https://github.com/raiden-network/raiden/tree/6ada80cc0a5aa012b1cf8ab3704b0b63a6dc7fb5/raiden/smart_contracts) and we don't have to deal with linked libraries issues (e.g. compiling using linked libraries & remappings needs some tweaks due to the ~36 characters limit on the library name)
if we want upgradable contracts in case of bugs (big topic, will be discussed in https://github.com/raiden-network/raiden-contracts/issues/258), this implementation would allow us to offer users the chance to upgrade their implementation address, migrate their data and destroy the old TokenChannel contract (research needs to be done to see how much would this cost).

CONs:

storage management; note the additional TokenChannelData contract that needs to be inherited by both TokenChannelProxy and TokenChannel, in order to keep the storage aligned between the implementation contract and the proxy that we create for each channel. This is very important. We might want to make a TokenChannelDataInternal for TokenChannelProxy, to not have the getters in the ABI (needs more thought, this means duplicating storage definitions).
a bit more costly than our current implementation: the above is 210535 gas -> ~25k + 32k CREATE + 20k * 5 SSTORE + 375  LOG4. So, the main difference comes from also storing the _token_network address and the proxied address. But it is way less costly than using the old libraries approach (see https://github.com/raiden-network/raiden/tree/6ada80cc0a5aa012b1cf8ab3704b0b63a6dc7fb5/raiden/smart_contracts)
this implementation would require changes in the Raiden client (to be looked into)
an additional call to TokenNetwork will be needed when the TokenChannel contract will be destroyed, in order to keep the network state clean for the Raiden client

Note for DelegateProxy, if we use it, we should follow https://github.com/ethereum/EIPs/blob/master/EIPS/eip-897.md:
interface ERCProxy {
    // Forwarding proxy id = 1
    // Upgradeable proxy id = 2
    function proxyType() public pure returns (uint256 proxyTypeId);
    function implementation() public view returns (address codeAddr);
}

2. Delegate Proxy for the TokenNetwork.
The pattern is the same as in 1., but we do not have a separate channel contract.
PROs:

deploying a TokenNetwork will cost less gas (I assume <500k instead of the 3.5 mil we have now)
again, it would keep the upgradability option open with minimal source code changes

CONs:

if used alone, it won't help us that much with bytecode size (especially if we want revert messages https://github.com/raiden-network/raiden-contracts/pull/213); we can pair this with a TokenNetworkUtils contract/library that will contain pure functions for various calculations, as shown in https://github.com/raiden-network/raiden-contracts/pull/264

3. Libraries
Using libraries, as done in the old implementation https://github.com/raiden-network/raiden/tree/6ada80cc0a5aa012b1cf8ab3704b0b63a6dc7fb5/raiden/smart_contracts

solves bytecode size only if we also have a separate TokenChannel contract (equivalent to the old NettingChannel contract)
we decided against this for a reason: mainly the big gas cost needed for opening a channel; I would not recommend this approach now, that DelegateProxy can do the same thing but way cheaper.

Possible solutions for B:
1. structs for external/public calls
With the new ABI encoder from solc 0.5.0, we can also use structs for public or external functions. This can potentially mitigate the issue with the stack filling up (not sure how much, needs to be tested) and can potentially lead to cleaner code.
We are currently using structs for internal function calls - see https://github.com/raiden-network/raiden-contracts/blob/052faf488da140e84bb854272f96a5cdec773b38/raiden_contracts/contracts/TokenNetwork.sol#L1322-L1325
The stack too deep issue when adding modifiers appeared with settleChannel, updateNonClosingBalanceProof, cooperativeSettle . So, these would look like:
// NOW:
function settleChannel(
        uint256 channel_identifier,
        address participant1,
        uint256 participant1_transferred_amount,
        uint256 participant1_locked_amount,
        bytes32 participant1_locksroot,
        address participant2,
        uint256 participant2_transferred_amount,
        uint256 participant2_locked_amount,
        bytes32 participant2_locksroot
    )

// AFTER:

struct SettlementData {
        address participant;
        uint256 transferred;
        uint256 locked;
        bytes32 locksroot;
    }

function settleChannel(
        uint256 channel_identifier,
        SettlementData participant1,
        SettlementData participant2
    )

// NOW:
function updateNonClosingBalanceProof(
        uint256 channel_identifier,
        address closing_participant,
        address non_closing_participant,
        bytes32 balance_hash,
        uint256 nonce,
        bytes32 additional_hash,
        bytes closing_signature,
        bytes non_closing_signature
)

// AFTER
struct BalanceData {
        bytes32 balance_hash;
        uint256 nonce;
        bytes32 additional_hash;
        bytes closing_signature;
}
function updateNonClosingBalanceProof(
        uint256 channel_identifier,
        address closing_participant,
        address non_closing_participant,
        BalanceData balance_data,
        bytes non_closing_signature
)

// NOW:
function cooperativeSettle(
        uint256 channel_identifier,
        address participant1_address,
        uint256 participant1_balance,
        address participant2_address,
        uint256 participant2_balance,
        bytes participant1_signature,
        bytes participant2_signature
)

// AFTER:
struct CooperativeSettlementData {
        address participant1_address;
        uint256 participant1_balance;
        address participant2_address;
        uint256 participant2_balance;
}

function cooperativeSettle(
        uint256 channel_identifier,
        CooperativeSettlementData coop_settlement_data,
        bytes participant1_signature,
        bytes participant2_signature
    )

2. Functions instead of modifiers
Instead of using modifiers, which keep the stack occupied until the function call is finished, we could use normal functions, that we always call first (code style to enforce readability and security). These would not fill up the main stack.

Team retreat November - we scoped out upgradability and decided to go with the approach suggested in https://github.com/raiden-network/raiden-contracts/pull/264 (splitting pure functions in a separate library).
Using the DelegateProxy pattern on the TokenNetwork contract in order to lower gas costs is not a priority, so it can be scoped out from Ithaca and reconsidered in case the economic model would require it.


add edge name to show gw cmd result, and refactor T0/T1 Gateway relat…

#70
#71
#72
Sorry for the big patch.

Thank you for great contribution!


Add ZZZ space

Add space for ...
Etherscan: https://etherscan.io/address/0xc75f15ada581219c95485c578e124df3985e4ce0
CoinGecko: https://www.coingecko.com/en/coins/zzz-finance
Website: https://zzz.finance/
Twitter: https://twitter.com/zzzfinance

We've made a major global update, please follow the updated documentation. https://docs.snapshot.page/guides/create-a-space#3-space-metadata
Don't forgot to remove comments in .json format files.


Add industrial landuse polygons

For example, in the SF Bay Area: https://www.openstreetmap.org/way/31300762
https://www.openstreetmap.org/edit?#map=16/38.0037/-122.0443
From the wiki landuse=industrial
See also:

TagInfo landuse=industrial

This will be used to color code buildings in these zones distinct from non-industrial.

These are already in tiles, they just weren't style in the scene file.
http://vector.mapzen.com/osm/all/16/10550/25278.topojson?api_key=vector-tiles-HqUVidw


I am New To Tensorflow How To learn can anyone Provide Step by Step Process

Please go to Stack Overflow for help and support:
http://stackoverflow.com/questions/tagged/tensorflow
If you open a GitHub issue, here is our policy:

It must be a bug or a feature request.
The form below must be filled out.
It shouldn't be a TensorBoard issue. Those go here.

Here's why we have that policy: TensorFlow developers respond to issues. We want to focus on work that benefits the whole community, e.g., fixing bugs and adding features. Support only helps individuals. GitHub also notifies thousands of people when issues are filed. We want them to see you communicating an interesting problem, rather than being redirected to Stack Overflow.

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
TensorFlow installed from (source or binary):
TensorFlow version (use command below):
Bazel version (if compiling from source):
CUDA/cuDNN version:
GPU model and memory:
Exact command to reproduce:

You can collect some of this information using our environment capture script:
https://github.com/tensorflow/tensorflow/tree/master/tools/tf_env_collect.sh
You can obtain the TensorFlow version with
python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)"
Describe the problem
Describe the problem clearly here. Be sure to convey here why it's a bug in TensorFlow or a feature request.
Source code / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached. Try to provide a reproducible test case that is the bare minimum necessary to generate the problem.

https://www.tensorflow.org/get_started/
For more targeted questions on how to use TensorFlow, use Stackoverflow.
Good luck!


Make Option<Html<...>> renderable

Allow Option<Html<CTX, Self>> in the html!-macro
I'm submitting a ...  feature request
I'm sure some people will ask for this at some point, myself included. Imagine you have a component that only renders certain elements when a condition is met. It might look like this:
    fn view(&self) -> Html<CTX, Self> {
        if condition {
            html! {

                    <button onclick=|_| Msg::Increment,>{ "Increment" }</button>
                    <button onclick=|_| Msg::Decrement,>{ "Decrement" }</button>

            }
        } else {
            html! {

                    <button onclick=|_| Msg::Increment,>{ "Increment" }</button>
                    <button onclick=|_| Msg::Decrement,>{ "Decrement" }</button>

...

            }
        }
    }

Sure, many things can be done with css- and html-attributes instead too, but at some points they won't be enough anymore. And, if you're rendering other components, you might want to have your children really removed instead of telling them to hide.
With Option<Html<...>> as renderable one would have instead:
    fn view(&self) -> Html<CTX, Self> {
            html! {

                    <button onclick=|_| Msg::Increment,>{ "Increment" }</button>
                    <button onclick=|_| Msg::Decrement,>{ "Decrement" }</button>
                    { self.secretDiv() }

            }
        }
    }

    fn secretDiv(&self) -> Option<Html<CTX, Self>> {
        if someCondition {
            Some(html! {

...

            });
        } else {
           None
        }
    }

You can see what I'm getting at. None will not be rendered at all and Some will have its boxed value rendered.
I'll just leave this here and wait what other people have to say about this.
Context (Environment)

Rust: rustc 1.28.0-nightly (a1d4a9503 2018-05-20)

yew: v0.3.0

target: wasm32-unknown-unknown

cargo-web: v0.6.1

I came up with a hack to allow if expressions to return Html by just providing an empty node in the else block.
pub fn empty_vdom_node<CTX, CMP>() -> Html<CTX, CMP>
    where
        CTX: 'static,
        CMP: Component<CTX>
{
    VNode::from(VList::new())
}

While this hack works, I think support for Option would be nice as it squares well with the rest of the Rust ecosystem.

I tried to add this code to src/virtual_dom/vnode.rs:
    fn from(value: Option<VNode<CTX, COMP>>) -> Self {
        match value {
            Some(t) => t,
            None => VNode::VText(VText::new(""))
        }
    }
}

impl<CTX: 'static, COMP: Component<CTX>, T: ToString> From<T> for VNode<CTX, COMP> {
    fn from(value: T) -> Self {
        VNode::VText(VText::new(value.to_string()))
    }
}

(The last function already existed). I get an "conflicting methods"-error:
error[E0119]: conflicting implementations of trait `std::convert::From<std::option::Option<virtual_dom::vnode::VNode<_, _>>>` for type `virtual_dom::vnode::VNode<_, _>`:
   --> /home/line/Projects/yew/src/virtual_dom/vnode.rs:108:1
    |
99  | impl<CTX, COMP: Component<CTX>> From<Option<VNode<CTX, COMP>>> for VNode<CTX, COMP> {
    | ----------------------------------------------------------------------------------- first implementation here
...
108 | impl<CTX: 'static, COMP: Component<CTX>, T: ToString> From<T> for VNode<CTX, COMP> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `virtual_dom::vnode::VNode<_, _>`
    |
    = note: upstream crates may add new impl of trait `std::fmt::Display` for type `std::option::Option<virtual_dom::vnode::VNode<_, _>>` in future versions

From what I can see Option<_> is or can be a ToString and the newly created function would confuse the compiler. I'm only a rust beginner so i'd like you to take a look at this and give your opinion. @hgzimmerman

Without looking into Yew's source too much at the moment, this strikes me as odd, as ToString (or Display) don't seem to be implemented for std::option::Option<_>.
My best guess would be that somewhere in Yew's source, one of those traits are implemented for Option<VNode<_,_>>, as I would think that that is the only scenario that Rust's coherence rules would allow for this compiler error to exist. Unfortunately, a quick ripgrep of the source doesn't bring up any implementations that would cause this error, leaving me confused as well.
I'll take a closer look in the near future.

I just found out about that too, and the solution is brought upon us by the last line of the error message. upstream creates may add ..., I have no idea what this means. But I believe if we want to add Option<_> as html-able we need to cut back on the stringable things that can be converted. From what i've seen every object that implements the Debug-Trait can be converted to a string, and normally you don't want to use them in your html-macro. Maybe we have to only allow strings to be converted to nodes, and some hand-picked types that implement ToString.

Update: I've gotten it to work by removing the support for everything other than strings (e.g. int32's etc.). Code will follow soon and as said before i want some people to look over it to give their opinion. On the one hand I want Option to be renderable, on the other hand re-adding render-support for every datatype (int's, uint's, things i don't know i've broken) will be ugly.

Update: With this macro you can easily add types that should render into a text-node with their stringified version as content:
macro_rules! textual_vnode_type {
    ($($type:tt),*) => {
        $(
        impl<CTX: 'static, COMP: Component<CTX>> From<$type> for VNode<CTX, COMP> {
            fn from(value: $type) -> Self {
                VNode::VText(VText::new(value.to_string()))
            }
        }
        )*
    };
}

textual_vnode_type!(u8, u16, u32, u64, u128,
                    i8, i16, i32, i64, i128);

For testing i used the macro with the integer-types, and it works. If we were to remove the From<T: ToString>-Implementation and re-implement a certain subset of them manually this might be a good way to do it. Still ugly, but ok.

After trying it again today, and asking the rust-discord-community for help, I can't seem to get a solution that satisfies me.
Either Option<T> is Renderable and the conflicting ToString-implementations are added manually afterwards (which will make things very tedious) or there is a conflict between Option<T> and ToString.
The problem is that some day some drunk maintainer could decide to implement ToString for Option<T> and then the compiler has conflicting options which Renderable-impl to use.
I tried to do something like impl<...> From<Option<T>> for VNode<COMP> where Option<T>: !ToString and
trait MyMarker {}

impl<T: ToString> MyMarker for T {}
impl<T> !MyMarker for Option<T> {}

The second one was my attempt to create a trait that only applies to everything ToString except Option<T>. But I'm hitting the limits of stable-rust and nightly-rust and I don't think there will be any improvements to this in the near future.
My only idea I have left is adding an own Option<T>-type in the yew crate (=> that way we can be sure it doesn't implement ToString) and provide reasonable support to convert it to a std::option::Option<T> and do other stuff with it.

Closing because returning html! {} is now possible


Error TS2351 for new SchemaBuilder when testing with ts-jest

Code:
export const builder = new SchemaBuilder({});

Error when running test:
error TS2351: This expression is not constructable.
Type 'typeof import("C:/Users/[...]/node_modules/@pothos/core/dts/index")' has no construct signatures.

Package versions:
"@pothos/core": "3.40.1"
"typescript": "5.2.2"
"jest": "29.7.0",
"ts-jest": "29.1.1",

Repository with error reproduction
Related: #597

I think this is a bug in ts-jest.  If you follow the esm documentation it says:

Ensure that tsconfig has module with value for ESM, e.g. ES2015 or ES2020 etc...

If change your tsconfig to use those settings:
  "module": "ES2022",
  "moduleResolution": "Node",

Everything works fine.  The error you are seeing comes from typescript using settings different than those in the tsconfig in the repo (running the build command/tsc works fine).
I'd recommend opening an issue with ts-jest, since this seems related to them changing or not respecting some options in the repos tsconfig.   I personally don't use ts-jest, so not sure about next steps for debugging this further

Thanks so much for your help. It is working for me now.


Add s3 support

Describe the bug

Hadoop indexing failed to save segment at s3 storage
Duplicated datasourceName in segment path at s3 and local storage (segments/foo/foo/...)

Expected

Hadoop indexing 후 s3 storage


Remove CUDA 11.7 builds; add 11.8

CC @atalman @malfet

Hey @ptrblck, we are in the process of killing CircleCI in favor of GitHub Actions (#7611). Thus, your patch would be removed soon. Plus, it is missing the parts on GitHub Actions that also need to be patched. I'll send a few new commits here for future reference.

In the future, we also need to set this on the CMake workflow as I did in 79ae3e6e2851623a86acdb196d19fef18f4bff9a / #7417.

Linux GPU failure looks valid
Traceback (most recent call last):
  File "/work/test/test_models.py", line 705, in test_classification_model
    _assert_expected(out.cpu(), model_name, prec=prec)
  File "/work/test/test_models.py", line 155, in _assert_expected
    torch.testing.assert_close(output, expected, rtol=rtol, atol=atol, check_dtype=False, check_device=False)
  File "/opt/conda/envs/ci/lib/python3.8/site-packages/torch/testing/_comparison.py", line 1511, in assert_close
    raise error_metas[0].to_error(msg)
AssertionError: Tensor-likes are not close!

Mismatched elements: 1 / 50 (2.0%)
Greatest absolute difference: 5.10198974609375 at index (0, 22) (up to 0.2 allowed)
Greatest relative difference: 0.2689853608608246 at index (0, 22) (up to 0.2 allowed)

Since the CPU test is just fine, this means that our GPU output now diverges from the CUDA 11.7 one.
We already have quite a few hacks in
https://github.com/pytorch/vision/blob/bd4471ccc73644ef7dde79f11cc7507d760546e1/test/test_models.py#L676
@NicolasHug do you know if we had something like above before?

I'm not sure, the failure is rather concerning especially considering it happens on such a simple arch like ResNet. Are we sure this isn't an upstream regression?


TFLiteToFirebaseML Component

Firebase ML is a great place to store TFLite model.
With Firebase ML, we can guarantee that mobile devices can be equipped with the latest ML model without explicitly embedding binary in project compiling stage. We can even A/B test different versions of a model with Google Analytics.
It would be nice if there is a TFX component that helps publishing TFLite model to Firebase ML.
What do you think?

so this is equivalent to FirebasePublisher mentioned in https://github.com/tensorflow/tfx/issues/4125

It sounds like a great idea to me!  Have you joined https://groups.google.com/a/tensorflow.org/g/sig-tfx-addons ?

@rcrowe-google
yes! I have joined the group already :)
What are the next steps to proceed?

For anyone that might be wondering how well TFLite and Firebase go together here's a blog post:
https://blog.tensorflow.org/2020/06/enhance-your-tensorflow-lite-deployment-with-firebase.html

@rcrowe-google
yes! I have joined the group already :)
What are the next steps to proceed?

You need to write a proposal.  See the proposals README


urls.py, views.py, templates

After continuing to slog through writing class-based views, I did some googling and realized that the problems I've been having don't have anything to do with the CBVs.
In the rush to get the site over to the designers last semester, I didn't realize that I hardcoded the form actions into the HTML as opposed to using Django's URL syntax. While the views worked, writing the forms that way had a trickle-down effect on the views and URLs, which is why I've had such a hard time adding more complicated functionality.
I think the only solution is to rebuild the front-end routes from the ground up, but I may be wrong. I've already started that process, but James and I will probably talk through this Friday.

I think I've figured out a solution. Not sure if it's best practice, but it works so...


Make this a tele bot

Make the emojify fork a tele bot

LGTM

Oh my bad I messed up, I meant to merge this to my own main branch


Some questions about Nerofest.

I wanted to ask if anyone has tried using this script to automate Nerofest farming. If yes, how did you do it? Did you go for a guaranteed 3T or it can be facecarded?

Guaranteed 3T is by far the best option for any lotto farming event. It is guaranteed, and has the best return on investment for the cost of the subscription.

Could you elaborate a bit on how you set it up? If possible, I would like to facecard it as well but I can't figure it out since I am using this for the first time.

Note that you don't have to set absolutely every turn up if you plan of facecarding.
Here is an example :
--AutoSkill
Enable_Autoskill = 1
Skill_Confirmation = 0
Skill_Command = "hi,#,0,#,abcdefghi456"
"hi,#" => With this, you would use your 3rd servant's 2nd and 3rd skill on the first turn (let's say a support Waver). The "#" represents the end of the round, so in this case the script would not use any other skill for the first round, and will simply select plain face cards until the end of the round.
"0,#" => With this, faceturning, plain and simple.
"abcdefghi456" => the script unleashes hell on the boss(es).
By playing with "#", you can plan each round instead of going too specific with each turn which could be boring to do, and less adaptative (if you are unlucky with your NP damage for instance, and some foe is still barely alive).
You have to adjust the settings to your setup, but it's quite simple to do (don't be afraid to try your own shenanigans while monitoring the script, so you can stop it if anything goes wrong and correct your setup accordingly).

I created a pull request with CE's for nerofest that I have added for myself: https://github.com/29988122/Fate-Grand-Order_Lua/pull/223
Good luck with lotto farming all

I confirmed the merge, good job and thanks!

Is it possible to use auto_gift_exchange for exchanging the Spins? Whenever I use those script, it seems to be clicking Nero face instead of the 10 Spins icon below her.

Yeah, I've got the same issue. Maybe that module was for previous Christmas lottery, and the UI is not exactly the same (not sure, since I started playing FGO after that) ?
I don't want to stop my script right now, since I've go a lot of apples to burn, but maybe tinkering with the offset might be enough ? Remember that we will be able to open boxes for a few days after the end of Nerofest, so you can worry about that later :)
But still, if anyone has some insight to share in order to correct this script, I think it would be helpful for a bunch of us :D

Can you try this script?
https://raw.githubusercontent.com/forgehe/Fate-Grand-Order_Lua/master/_auto_nero_lottery.lua
It just clicks on one space over and over again, which should activate the 10 roll until the petals are all used up.

I have the same issue on my device. I'll go through it soon to take a look. The benefit of the provided script we have is that it also performs box resets so I would like it to work as it should.

Alrighty, I have updated the gift exchange. It should work so long as you don't have a notch :D

@TryBane for the notch user I should just put extra x offset myself, right?

Yes, if you are aware of what the extra offset is, then just add that to the xOffset. The gift exchange script uses the old resolution solution. Not the one that is supposed to fix notch resolutions.

@TryBane thanks for the script. I tried it with a bunch of boxes and it works flawlessly and with the new check for the full present box, it's perfect 🥇

Awesome. I'll close this thread as the initial question has also been answered

@TryBane Just want to ask, but how could I edit the script so that the auto gift exchange could work on my phone? Still got the previous problem of clicking above the 10 spins

Change this. Add a value to yOffset if it is clicking too high, or subtract if it is too low. For x, add a value if it is too far the left, subtract if it is too far to the right.

Alright it works. Need to double both of the value so that it properly click on the right place. Though, looks like it doesnt reset the prize huh, just clicking

If it isn't resetting the prize, you'll have to do that to the yOffset itself rather than just that one instance.
Remove the change you made and place this right above it:
yOffset = yOffset * 2


refactor(test): mv scripts/source/ e2e_test/source_legacy/basic/scripts/

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?

Checklist

[ ] I have written necessary rustdoc comments
[ ] I have added necessary unit tests and integration tests
[ ] I have added test labels as necessary. See details.
[ ] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934).
[ ] My PR contains breaking changes. (If it deprecates some features, please create a tracking issue to remove them in the future).
[ ] All checks passed in ./risedev check (or alias, ./risedev c)
[ ] My PR changes performance-critical code. (Please run macro/micro-benchmarks and show the results.)

[ ] My PR contains critical fixes that are necessary to be merged into the latest release. (Please check out the details)

Documentation

[ ] My PR needs documentation updates. (Please use the Release note section below to summarize the impact on users)

Release note
If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#18891  👈
#18890
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @xxchan and the rest of your teammates on  Graphite


update-prod-static: Remove unused --prev-deploy option

It’s unused since commit 079ddae4c84cabb3d51fd88b93e5afdfd76c8111 (#12676).
Testing plan: Ran upgrade-zulip-from-git on https://andersk.zulipdev.org.

Merged, thanks @andersk!  I could imagine our bringing back some version of this if it would result in webpack being much faster for iterative production deployments -- webpack being slow is a major issue for being able to update production quickly.  But I don't think that potential future work is a reason to not delete the useless option we have today for a similar purpose.


Error: Too many result rows to serialize: Try using a LIMIT statement

I get this error when attempting to connect to my postgres instance.
There doesn't seem to be any way around it unless I'm missing something,

Looks like this is a dupe of #19


Notifications?

I’ve received multiple notifications on repos, however I cannot see them. Is this a setting i need to turn on?

@jacc can you let us know what type of notifications? I assume this means you had notifications on GitHub.com but they didn’t show up on GitHawk? Are they in private or org repos? You might need to request access.
Sent with GitHawk

oddly enough, this triggered a notification! is it based on mentions?

It’s anything that the GitHub notifications API will give us! Some examples:

Mentions
Activity in Issues and Pull Requests that you’re active in
Activity in Repositories you’re watching

Sent with GitHawk

ah ok. that makes much more sense. thank you!!


updated assignment

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
What did you learn from the changes you have made?
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
How were these changes tested?
A reference to a related issue in your repository (if applicable)
Checklist

[ ] I can confirm that my changes are working as intended

Appreciate . Thanks
Regards
On Wed, Oct 2, 2024 at 12:54 PM amanda-ng518 @.***>
wrote:

@.**** approved this pull request.
A1 PASS
you should get 8 for Q3 and ~0.947 for Q4
—
Reply to this email directly, view it on GitHub
https://github.com/MRKGITCODE/applying_statistical/pull/1#pullrequestreview-2343534896,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AYY63WWCROUBOVDZRTGGBB3ZZQQM5AVCNFSM6AAAAABPFQHXSCVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDGNBTGUZTIOBZGY
.
You are receiving this because you authored the thread.Message ID:
@.***>


LDAP documentation for method is wrong

Description
The LDAP documentation at http://port.us.org/docs/Configuring-Portus.html refers to setting ldap: method which doesn't work. It should be ldap: encryption: method.
Steps to reproduce

Specify an environment variable for PORTUS_LDAP_METHOD for simple_tls
Run Docker container
Get 401 unauthorized with very little debugging information

Expected behavior: LDAP authentication works
Actual behavior: 401 unauthorized

Portus version: 2.4

Thanks for the heads up :+1:

The documentation has been updated. Thanks for your feedback :clap:


Is there any way to get the whole assembly status in the iOS SDK?

-(TransloaditResponse*)deleteAssembly:(NSString*)assemblyID;
The method expects an assemblyID, but I am not able to figure out where to get this from when the assembly upload is invoked(Using invoke assembly method)
@MMasterson

If I am able to get the assemblyID, I can update the status by pinging https://api2.transloadit.com/assemblies/{assemblyID}

That's right!

@tim-kos I am not able to get the assemblyID from the iOS SDK. Could you guide me in this regard?
Not sure why this issue is closed?

@tim-kos Can you please tell us the procedure to get assembly ID on iOS end?

It should be in the response from the POST request to api2.transloadit.com/assemblies.
So something like this:
TransloaditResponse *response = [transloadit invokeAssembly:assembly withError:&error];
(NSString *)[[response getData] objectForKey:@"assembly_id"]


HTML

HTML
User Story
As a bootcamp student
I want the rework notes to be structured on a webpage
so that I can easily find and read information
Acceptance Criteria
GIVEN a Prework Study Guide website
WHEN I visit the website in my browser
THEN I see four boxes titled HTML, CSS, Git, Javascript with associated notes listed

took a while to get here but I got here hopefully.


Problem with switching to a certain account from primary

0.5.16-BETA
I noticed that there is a problem when switching from my primary account to a certain account (it has a pretty long private label, see screenshot: http://s9.postimg.org/3yuhaosxb/account_switch_bug.png).
I click on it, but it just doesn't switch. One time it did switch, but it switched back to primary after few seconds.
If I switch to any other accounts (no problems with other accounts), I can then switch to the long private label one without problems.

Is this problem occuring only when using a slow NIS like a cubie or a general observation? I had this "not switching to another account" problem back when NIS/NCC was too slow during spamming phases.

I will have to look into that later, but what I can definitely say: Switching to other accounts is no problem, but that one with the longer private label is a problem often.

Can't confirm, I'm switching from primary to long label account, without problems, if you'll figure out what it is drop us a line.


WIP/DNM: Fixup OSERDES features to handle missing bits

May help with https://github.com/SymbiFlow/symbiflow-arch-defs/issues/1307 or https://github.com/SymbiFlow/symbiflow-arch-defs/issues/1536

Strange: X-Ray (Presubmit) says that: foss-fpga-tools/prjxray/presubmit/tests finished with status: FAILED. But the check X-Ray (Presubmit) - Tests actually passed.

I did some more testing and found some issues with this PR.  Still investigating solutions.

I did some more testing and found some issues with this PR. Still investigating solutions.

I believe I've fixed the issues I discovered.


Combining movements not working as expected

Theres 1 big issue with the current way to combine movements
everything has to be in time order otherwise shit hits the fan hard.
i was attempting

Rotate Playfield
MoveX to left and right
Add Bounce to the Playfield to the beat

Issue that im facing is that none of these movements are constant. The result from that is that 1 of the prior methods actually adds alot of X and Y Positions but the next Function after doesnt edit all of them resulting in a sudden jump back to the old position.
Currently im not sure how i can tackle this issue, the method that only partially fills X and Y will deffinetly have to edit all positions that come after it but i dont quite understand by what.
is it the absolute? doest it have to be the difference between now and then? this needs deffinetly more work then i wanted and is getting alot more complicated with more complicated issues.

should be fixed


[WIP] Add infrequent Icinga alert for ad-hoc dashboards

This adds a new alert to check if there are any ad-hoc dashboards in
the Grafana instance associated with the environment. Such dashboards
aren't in version control, tend to be temporary, and accumulate over
time. Having this alert will motivate us to clean them up - currently
our dashboard landscape is quite confusing, because there are so many.

If we like this and want to merge, we should first actually cleanup all the old dashboards identified by this alert, so we don't show the alert unnecessarily.

[ ] fix monitoring -> grafana connectivity
[ ] cleanup dashboards not in code
[ ] write documentation to go with alert

What severity is this alert going to show up as? Warning?

Alternative approach that doesn't add another alert for people to ignore because the dashboards it moans about aren't theirs: delete all dashboards that aren't in code after 7 days.

@issyl0 yeah, it would be a warning. I originally thought of doing a SlackBot, but I don't think that's possible because the bot needs access to all our Grafana instances. An alert was the next best thing people would see that wouldn't be destructive. I don't think we should delete dashboards without asking, since they may be needed temporarily e.g. for an ongoing incident.
Once the initial cleanup is done, I don't see this alert coming up very often. If it does, it seems reasonable to be alerted about a new dashboard, since Grafana is a shared space. I've some TODOs for this, one of which is to write a doc around the alert; we could recommend the dashboard be deleted unless someone 'claims' it with a PR i.e. there's a policy.


Update imaging acquisition media

this is a string now, make it an enum

@dyf what are the options for the enum?

it's basically just oil versus water, I think.  Confirm with JohnR and MikeT.


keyboardmaestro doublet removed

Kept the original version (that I actually created with appNewVersion).

fixed in the fragments branch


Not all YouTube Live videos are detected

Tested here: https://youtube-downloader-jan16.herokuapp.com/
This YouTube Live video is working
https://www.youtube.com/watch?v=ujHcGRIXEzU
This YouTube Live video isn't working
https://www.youtube.com/watch?v=mKgd69jEQRw
PS: for example, all live or already recorded videos is not working from this channel
https://www.youtube.com/channel/UC_xGHV_7l3VHjMFq69_LHjg/videos
Do you have a solution/update for this case?

This can be solve it.
https://github.com/Athlon1600/youtube-downloader/pull/93

This can be solve it.
https://github.com/Athlon1600/youtube-downloader/pull/93

This can be solve it.
#93

This patch solved it.
Thank you!

This can be solve it.
#93

This patch solved it.
Thank you!


fix bugs

adding lost initialization of the const statistic class variables in the relative .cpp files.

Thanks.


invalid web extension management

Attempting to delete a non-existent web extension path.
Traceback (most recent call last):
  File "/home/me/git/ComfyUI/nodes.py", line 1800, in load_custom_node
    module_spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/home/me/git/ComfyUI/custom_nodes/ComfyUI_3dPoseEditor/__init__.py", line 49, in <module>
    update_web()
  File "/home/me/git/ComfyUI/custom_nodes/ComfyUI_3dPoseEditor/__init__.py", line 25, in update_web
    shutil.rmtree(extensions_folder)
  File "/usr/lib/python3.11/shutil.py", line 722, in rmtree
    onerror(os.lstat, path, sys.exc_info())
  File "/usr/lib/python3.11/shutil.py", line 720, in rmtree
    orig_st = os.lstat(path, dir_fd=dir_fd)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/home/me/git/ComfyUI/web/extensions/ComfyUI_3dPoseEditor'

And instead of copying to the actual path of the web extension, it is recommended to use the following approach:
https://github.com/ltdrdata/ComfyUI-Inspire-Pack/blob/c269c5c01a82dc5113c60fdfb482dee33727690a/__init__.py#L34

I rewrite all the load method, now may work fine.

Really nice work!


Properly capitalise room name of DM rooms

Tested with nicknames suck as Peetz0r

This should now be fixed in master in a way it doesn't blow up. Closing.


File Manager display doesn't work in Blue Arrow Skin

possibly needs to have a container in the component

Now just uses straight div's


Fix CI problems

CI needs composer-phive-bridge! Now PHIVE does not get called.

Root package 'bitexpert/composer-phive-bridge' cannot require itself in its composer.json

Oh nooooooooo! Composer is more clever then I am.

Fatal error: Uncaught Error: Using $this when not in object context in src/Plugin.php:97

😞 Another great failure.

Now CI includes phive install as we cannot start up ourselves.


KAFKA-13883: Implement NoOpRecord and metadata metrics

Public Changes

A new configuration flag metadata.max.idle.interval.ms
A new metrics group "broker-metadata-metrics" to the brokers
Four new metrics to the KafkaController metric group
Increase the IBP and metadata.version
A new metadata  record called NoOpRecord which is only written if we have a matching metadata version

Implementation Changes
The KRaft controller schedules an event to write NoOpRecord to the metadata log if the metadata version supports this feature. This event is scheduled at the interval defined in metadata.max.idle.interval.ms. Brokers and controllers were improved to ignore the NoOpRecord when replaying the metadata log.
The replica control manager was also changed to accept a metadata version supplier to determine if leader recovery state is supported.
Other Changes
Fixed a bug where metadata version 3.3-IV1 was not marked as changing the metadata.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Merging since the failure are unrelated. The failure at in the ZK tests and this is a KRaft only change:
testTopicIdUpgradeAfterReassigningPartitions() – kafka.controller.ControllerIntegrationTest


Chadsbranch

gets refugee POST & GET working with a local database. Doesn't connect to the azure DB yet (I don't yet know the server name, probably don't have permission yet, etc.).
I don't recommend accepting this PR at this point since it works with a DB on my local box, but getting it up for comment/discussion.
Please note:

I removed the (scheme?) on the database tables I was using, e.g. instead of [SiteOfRefugeAPI.Models].[SpokenLanguages] I cut it down to [SpokenLanguages]. This was mostly because I couldn't figure out how to get the former to work, though I also like the simpler queries.
I didn't spend time trying to figure out how to return the correct code, just returned OkObjectResult.
There are a few questions / requirements guesses in the code, and I've tried to comment on the ones I noticed.

looks likely I have a bug on possession_date I didn't notice...it's doing a datetime offset and looks clearly wrong. Looks like the data from GET reflects what's in the DB so presumably on POST

My feedback is over on https://github.com/cmills47/sor-api/pull/1. Otherwise looks good

Dana help me merge a few days ago


Layer Panel tool-tip bug resolved

Layer panel name tooltip errors
Fixed Two errors :

The arrow pointing to the text loads in AFTER the rest of the tooltip
2 .Occasionally the tooltip will go too far to the right on hover. It's very inconsistent. Perhaps it's appending it to the end of the string location.

I am pulling a new request regarding the same.
Sorry for the inconvenience

this is the new pull request : https://github.com/onlook-dev/onlook/pull/608


Android 8.1.0 WindowManager$BadTokenException:Unable to add window android.view.ViewRootImpl$W@f390edf -- permission denied for window type 2003

FATAL EXCEPTION: main
Process: com.example, PID: 12265
android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@f390edf -- permission denied for window type 2003
at android.view.ViewRootImpl.setView(ViewRootImpl.java:789)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:356)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:93)
at android.app.Dialog.show(Dialog.java:330)
at com.facebook.react.devsupport.DevSupportManagerImpl.showProgressDialog(DevSupportManagerImpl.java:762)
at com.facebook.react.devsupport.DevSupportManagerImpl.reloadJSFromServer(DevSupportManagerImpl.java:767)
at com.facebook.react.devsupport.DevSupportManagerImpl.handleReloadJS(DevSupportManagerImpl.java:658)
at com.facebook.react.XReactInstanceManagerImpl$3$1.run(XReactInstanceManagerImpl.java:412)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

buildToolsVersion 由“27”降为'26.0.2'运行正常

Is there a way around this ? I don't want to upgrade to RN version because it starts breaking everything else. I'm working with RN 0.47.2.

I ran into this issue as well and not in a situation to take on a full upgrade. Anyone resolution to this? Looks like some sort of a special permission gate we have to open up with Android 8+

I initially tried upgrading RN, but upgrading it to even 0.48 started giving my problems with packages and styling. So I decided to downgrade the targetSdkVersion from 27 to 25. Everything works fine now :)

Hey @hzburki! I am facing the same problem. Have an app wrote with RN 0.40 and many other dependencies. I was building to targetSdkVersion 22. But now... to upload the APK to Google Play its demands targetSdkVersion 26. Any ideas? Or should I reestructure (create a new RN, add all dependencies [one by one] and than import the existing code)??? Quite desperate here! :-D

Hi @lord22shark, first of all is it absolutely necessary to upgrade to sdk 26? Why not try version 25.
Alternately you can also upgrade your RN version. So that it matches the SDK you want. There are medium articles and even some github repos to help you do that.

I am facing the same issue on the latest react native version(0.61.5). Please help.