Generated objects never collected from gc

Hi, I don't know if I'm making something wrong or if the graalvm/js has some serious memory leaks.
If I'm running a simple script that generates 1 million entrys at a js object, the java heap grows but never gets smaller after closing the context.
If I'm using the try-with-resources Statement, the memory is free after a manual gc call at VisualVM. But why does the manual call of context.close() not working?
Here is the example code:
import java.io.IOException;

import org.graalvm.polyglot.Context;
import org.graalvm.polyglot.Source;
import org.graalvm.polyglot.Value;

public class App {
    public static void main(String[] args) {
        String script = "var accounts = {};\r\n" + "\r\n"
                + "var startAdress = \"pUp8SlSvRw2CVLRorXXUGbcryt7ogQjbTGS0K30yhWTww4C5AUlGalS2vSDMtYQXK\";\r\n"
                + "\r\n" + "\r\n" + "function fillAccounts() {\r\n" + "    for(var i=0; i < 10000000; i++) {\r\n"
                + "        accounts[startAdress+i] = 500;\r\n" + "    }\r\n" + "\r\n"
                + "    print('Accounts size: '+Object.keys(accounts).length);\r\n" + "}\r\n" + "";

        GraalScriptExecutor exe = new GraalScriptExecutor();
        exe.eval(script);
        try {
            exe.call("fillAccounts");
        } catch (NoSuchMethodException e) {
            e.printStackTrace();
        }
        exe.close();
        new App().waitMethod();
    }

    private synchronized void waitMethod() {

        while (true) {
            try {
                this.wait(2000);
            } catch (InterruptedException e) {

                e.printStackTrace();
            }
        }

    }
}

class GraalScriptExecutor {
    Context context;

    public GraalScriptExecutor() {
        context = Context.newBuilder("js").build();
    }

    public void eval(String script) {
        try {
            Source src = Source.newBuilder("js", script, "script.js").cached(false).build();
            context.eval(src);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public Object call(String method, Object... params) throws NoSuchMethodException {
        if (!context.getBindings("js").hasMember(method)) {
            throw new NoSuchMethodException("Can't find method " + method);
        }

        Value function = context.getBindings("js").getMember(method);

        return function.execute(params);
    }

    public void close() {
        context.close();
    }
}

Screenshots from VisualVM:

My guess is the garbage collector never kicks in to free the memory, since it sees no need. The application is just idle, there is nothing that need the memory to be freed..

Hi @KevinRoebert
thanks for your report. I can confirm I can see that behavior (@hanzr that was my hope as well, but GC kicks in before doing a heap dump).
We will investigate what is causing that.
Best,
Christian

The context is only freed atm if Context itself is no longer referenced.
Changing the close method to do something like this:
    public void close() {
        context.close();
        context = null;
    }

Should do the trick.

Hi,
thanks @chumer. In addition, we seem to have a problem in LibGraal that retains references from compiled code to those objects. On GraalVM 19, the problem goes away with the above fix of context = null AND starting the Java instance with java -XX:-UseJVMCINativeLibrary App (deactivating LibGraal). That is a temporary workaround, we will fix this (it might be fixed in the master branch already, we are currently double-checking).
Best,
Christian

@chumer Seems to work at my example.
@wirthi I'm looking forward to the final fix: D

The problem has two parts.

Related to libgraal Truffle compilation. The GraphInfo and CompilationResultInfo from last Truffle compilation are not freed. They are freed by successive Truffle compilation. Fixed by - https://github.com/oracle/graal/commit/ca279440a182cfb0358c71665aca0c9062f89c0b.
JVMCI issue. The IndirectHotSpotObjectContantImpl holding an object on the HotSpot heap needs a SVM GC cycle to free the HotSpot object. The SVM GC cycle is completely unrelated to HotSpot GC cycles. This problem requires an introduction of JVMCI scopes similar to JNI local reference frames. We are working on this.

Finally the JVMCI with required changes was merged and Truffle uses scopes for JavaConstants.
https://github.com/oracle/graal/commit/d08bd9ed7ec02a5116c4bfb26649921650a49675
Fixed for GraalVM 19.2.0

We have just merged https://github.com/oracle/graal/commit/5e372d9e7a047305d56f78b22074da1327287c98
which will land in 20.1
Data associated with a context instance is now internally freed when Context.close() is invoked.
So instead of:
  public void close() {
        context.close();
        context = null;
    }

you can now just do:
  public void close() {
        context.close();
    }


Can not parse multiline variable in env file

TSIA
This bug occurs with GCP credential includes -----BEGIN PRIVATE KEY-----\n....----END PRIVATE KEY-----\n to me.
Reproduce
Put .env
SECRET_KEY=-----BEGIN PRIVATE KEY-----\nmy-secret-key----END PRIVATE KEY-----\n

Put docker-compose.yml
version: '3.8'
services:
  myapp:
    image: alpine
    env_file:
      - .env
    command: echo key-$SECRET_KEY

Run
$ lima nerdctl compose up
FATA[0000] unexpected character "-" in variable name near "PRIVATE KEY-----\\nmy-secret-key----END PRIVATE KEY-----\\n\n"

Expected
same with docker's env_file behavior.
$ docker compose up
[+] Running 1/0
 ⠿ Container repro-nerdctl-env-myapp-1  Created         0.0s
Attaching to repro-nerdctl-env-myapp-1
repro-nerdctl-env-myapp-1  | key------BEGIN PRIVATE KEY-----nmy-secret-key----END PRIVATE KEY-----n

Versions
$ system_profiler SPSoftwareDataType
Software:

    System Software Overview:

      System Version: macOS 12.0.1 (21A559)
      Kernel Version: Darwin 21.1.0
      Boot Volume: Macintosh HD
      Boot Mode: Normal
      Computer Name: mizchi
      User Name: Kotaro Chikuba (kotaro.chikuba)
      Secure Virtual Memory: Enabled
      System Integrity Protection: Enabled
      Time since boot: 28 days 1:35

$ lima uname -a
Linux lima-default 5.13.0-27-generic #29-Ubuntu SMP Wed Jan 12 17:43:56 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux

$ lima --version
limactl version 0.8.1

$ lima nerdctl --version
nerdctl version 0.14.0

this issue is fixed in nerdctl version 0.16.0
limactl version 0.8.1 should wrap 0.16.0 : https://github.com/lima-vm/lima/releases/tag/v0.8.1
plz verify that you are pointing to the right lima

@mizchi I will close this issue do not hesitate to repoen if you still face problems


If logic not supported in action?

I'm trying to make a newly created window stack onto the last existing window (or stack) when there are two windows (or stacks) in the current space. Corresponding command:
yabai -m signal --add event=window_created action="if [ $(yabai -m query --windows --space | jq '.[].\"split-type\"' | grep none | wc -l | tr -d ' ') -eq 0 ]; then yabai -m window last --stack \$YABAI_WINDOW_ID; echo true >> /tmp/test; fi"
If there is only one window (or stack), the value of split-type will only be none, so the result of $(...) is larger than 0. Thus the if branch is not taken.
But the reality is that when there is only one window (or stack), the if branch is still taken.
Not sure what went wrong.

The if branch in this similar action is also taken when the if condition is false:
yabai -m signal --add event=window_created action="if ! yabai -m query --windows --space | jq '.[].\"split-type\"' | grep -q none; then yabai -m window last --stack \$YABAI_WINDOW_ID; fi"

Turns out two-window layout can also have none split type windows which are minimized. So the following command is more appropriate: yabai -m signal --add event=window_created action="if yabai -m query --windows --space | jq '.[].\"split-type\"' | grep -q vertical; then yabai -m window last --stack \$YABAI_WINDOW_ID; fi".
But again, when there is no vertical split window, the branch is still taken. This is soooooooo confusing.


Fix tab links

Tab links are not always consistent and change if a new tab gets added in-between existing tabs.

could you please assign me this issue i want to work on it

We dont assign issues to new contributors. If you are interested in solving an issue please go ahead and make a pull request.

okey.... thankyou sir @mariobehling


Update : geometric primitive.cylinder to avoid GC

PR Details

Related Issue

Types of changes

[x] Docs change / refactoring / dependency upgrade
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[ ] My change requires a change to the documentation.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.
[x] I have built and run the editor to try this change out.

Test Success

Thanks !

You're welcome. I'm happy to help

Note for later: I see a lot of code-style change that don't conform to the rest of the code base and will likely be changed again the next time the file is touched. Please refrain form using your "preferred code style" and stick to what is currently present.
For instance, we never align statements by adding additional spaces before the = sign.

Note for later: I see a lot of code-style change that don't conform to the rest of the code base and will likely be changed again the next time the file is touched. Please refrain form using your "preferred code style" and stick to what is currently present.
For instance, we never align statements by adding additional spaces before the = sign.

Yes， I remember


 I wanted to install your package "noxzemart/rt-instagram-sdk-php", but the command "composer require noxzemart/rt-instagram-sdk-php" gives me the error "InvalidArgumentException] Could not find a matching version of package noxzemart/rt-instagram-sdk-php. Check the package spelling, your version constraint and that the package is available in a stability which matches your minimum-stability (stable)." Could you tell me how to solve this problem? I will be glad of any of your answers.
thanks!

Hello
what PHP framework are you use ?
 I
wanted to install your package "noxzemart/rt-instagram-sdk-php", but the
command "composer require noxzemart/rt-instagram-sdk-php" gives me the
error "InvalidArgumentException] Could not find a matching version of
package noxzemart/rt-instagram-sdk-php. Check the package spelling, your
version constraint and that the package is available in a stability which
matches your minimum-stability (stable)." Could you tell me how to solve
this problem? I will be glad of any of your answers.
thanks!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/noxzemart/rt-instagram-sdk-php/issues/1, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AURSROHLCRWZN2W7CMPI5H3TUMT5XANCNFSM47H262EA
.

without framework, server on local machine. Exploring the possibilities of programmatically working with Instagram, running scripts through the console or IDE

without framework, server on local machine. Exploring the possibilities of programmatically working with Instagram, running scripts through the console or IDE

ok so please try from this packagist
https://packagist.org/packages/liamcottle/instagram-sdk-php or https://packagist.org/packages/bloolight/instagram-sdk-php
it is same.

thanks for your answer and help,
trying to solve the problem myself, I found and tested many similar packages at https://packagist.org/, but they all throw errors with old dependencies (I tried using the --with-all-dependencies switch, but the problem may not be solved). Of all these packages, your updates are the newest, so I disturbed you, I apologize.

I downloaded the source_code archive, and a little later I will try to add your package to autoload from composer manually.

I managed. I added your package folder to the 'vendor' directory, removed the composer.lock file, added the package name with version "^1.0" to the root composer.json file. But most importantly, I manually set the version number to low for all the dependent packages already installed. For example, netresearch/jsonmapper needed version 1.0, and I had 4.0. And then the command "composer update" completed everything successfully, updates were downloaded, dependencies were linked and a new composer.lock file was created. The problem has been resolved. Further it will be very interesting to try to work with your package.
I want to say thank you very much for your response and desire to help.

Glad to hear it!
On Thu, 24 Jun 2021 at 9:24 PM ressw @.***> wrote:

thanks for your answer and help,
trying to solve the problem myself, I found and tested many similar
packages at https://packagist.org/, but they all throw errors with old
dependencies (I tried using the --with-all-dependencies switch, but the
problem may not be solved). Of all these packages, your updates are the
newest, so I disturbed you, I apologize.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/noxzemart/rt-instagram-sdk-php/issues/1#issuecomment-867679706,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AURSROHEQCILGIZOELIZZYLTUM53DANCNFSM47H262EA
.


Add a "replication" volume to ES containers

This is so we can download an ES snapshot from integration, copy it
into the container, and then restore the snapshot from the local
filesystem.  Restoring directly from s3 is undesirable because these
snapshots can be several gigabytes, and if the connection drops during
the restore it has to be started again.
The ES configuration files are needed because the path.repo option
can't be set by environment variables.

Here is the script I've got working, which is based on the script for the dev VM.  The key bits are lines 52 to 75:
# `docker cp` reliably hangs after copying 6.4GB, so instead of
# using that spin up a container with the host directory
# bind-mounted and run `cp` inside the container.
local replication_dir="/replication/elasticsearch-${ver}"
govuk docker compose run --rm -v $archive_path:/import "elasticsearch${ver}" bash -xc "
  [[ -e '${replication_dir}' ]] && rm -r '${replication_dir}'
  cp -a /import '${replication_dir}'
"

govuk docker run search-api lite bash -xc "
  es='http://elasticsearch${ver}:9200'
  curl -XDELETE \"\${es}/_all\"
  curl \"\${es}/_snapshot/snapshots\" -X PUT -H 'Content-Type: application/json' -d '{
    \"type\": \"fs\",
    \"settings\": {
      \"compress\": true,
      \"readonly\": true,
      \"location\": \"${replication_dir}\"
    }
  }'
  snapshot_name=\$(curl \"\${es}\"/_snapshot/snapshots/_all | ruby -e 'require \"json\"; STDOUT << (JSON.parse(STDIN.read)[\"snapshots\"].map { |a| a[\"snapshot\"] }.sort.last)')
  curl -XPOST \"\${es}/_snapshot/snapshots/\${snapshot_name}/_restore?wait_for_completion=true\"
"

The replication script is run inside the container, there's a temporary volume mounted to /import which is used to copy the replicated data from the host to the replication volume.  I thought about using the same volume for each service which needs replication, but there's no particular need for that to be the case - I'm open to having separate volumes with more specific names

Since we remove everything in /replication during the script, it seems strange to keep it around as a permanent volume. Does it kill performance to do the restore directly from the bind-mounted /import volume? Or perhaps there's some other use of /replication I'm missing.

I'll have a go at modifying my script to not need a persistent volume

I've got a mostly-working script which doesn't need a new volume, or configuration files in this repository (though it does generate a config file when it runs).  I'll close this PR.


[release-v1.12] Reduce the scope for the Config validation webhook to only the knative-eventing namespace. (#7792)

Config validation applies to system namespace only
The webhook is currently handling all ConfigMaps in the cluster.
cherry-pick of https://github.com/knative/eventing/pull/7792/files

/test 415-test-encryption-auth-e2e-aws-415

/cc @creydr @Cali0707


Updates USAGE-GUIDE for s2n_connection_client_cert_used API

Resolved issues:
resolves  https://github.com/awslabs/s2n/issues/1727
Description of changes:
Updates s2n_connection_is_client_authenticated()vdescription in USAGE-GUIDE.md to s2n_connection_client_cert_used as this commit re-named the API.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #2106 into master will increase coverage by 0.59%.
The diff coverage is 94.77%.

@@            Coverage Diff             @@
##           master    #2106      +/-   ##
==========================================
+ Coverage   80.41%   81.01%   +0.59%
==========================================
  Files         233      247      +14
  Lines       17634    18400     +766
==========================================
+ Hits        14181    14907     +726
- Misses       3453     3493      +40


Download NIPS images using multiple processes

This should give a boost when downloading the images. My PEP8 linter cried until I changed the indentation level to 4 spaces, I hope that's fine :)

I signed it!

Dear @AlexeyKurakin,
Thanks a lot for your extensive feedback. I removed the additional dependencies and copied the code to download_images_multiprocessed.py, just as you said. A minor change I applied to both versions was to check first whether the output directory already exists before downloading the images into it.
Best Regards,
Willi

Thanks again for your feedback!
Now, I'm checking whether output_dir is a relative or absolute path and handle that accordingly. The multi-threading version was merged into the original download_images file and a flag was added. The README was adapted correspondingly.

This PR has not received much activity lately. @WGierke did you address comments made by @AlexeyKurakin in his review?

Sorry for the delay.
I was too busy with evaluation of the first round of the competition, that's why didn't update this PR.
I have few more minor comments which I will post soon.

No problem, just checking :)

@WGierke did you get a chance to make the edits that Alex asked for?

I am closing this because it has been inactive for over a month but feel free to reopen if changes asked by Alex have been taken care of.

@npapernot I'm sorry about not implementing the feedback on time and not answering your question. That was a busy month... I'd be very happy if you could reopen this PR again and have a look at the changes once again I just pushed :)

Thanks!

@AlexeyKurakin could you take a look since this related to the competition?


Query parameters persisted between requests

I just ran into an issue where query parameters were being persisted between disparate requests. (Cucumber scenarios, in my case.) I don't think this is the expected behavior, but I could be mistaken.
Here's the outline:

request 1 was calling get using a query parameter set directly in the URL and another in a hash of parameters. (e.g. get("clients?foo=bar", {per_page: 1}))
request 2 was calling get without any query parameters. (e.g. get("clients"))
the controller action triggered by request 2 was seeing params[:foo]
using the parameters hash instead of embedding key/values in the URL seems to have solved the problem

I don't have time to dig into the library and/or attempt a fix at the moment, but I can try to revisit this in the future if this issue is indeed a bug.

Thanks @ethagnawl for the details! Sounds incredibly weird indeed. If you can construct a failing test case for this, I think we can more than happily get someone to look into it a bit.

Closing for lack of feedback. @ethagnawl, if we can get a repro case I'll gladly look into this.

@perlun Sorry, I haven't had a chance to properly revisit this yet. I spent about an hour trying to mimic the behavior in a unit test but wasn't successful. When I find some time, I'll try to reintroduce the bug into my application and work backwards from there. I'll re-open if I find anything worth sharing.


BUG: run_momentum_table.py pulling in strange numbers and not complete table for Uniswap v3

Running python3 run_momentum_table.py uniswap_v3 12<PHONE_NUMBER>00 2000000 returns {}
Further tests  on daily liquidity show the following:
1 => {}
100=> {hex}
1000 => {USDT, DAI, USDC}
10000 => {USDC}

Is there a problem with the API?
Coingecko API Calls History:

Total Monthly API Calls: 24,584 / 500,000
Remaining monthly API Calls: 475,416

I think it was the selloff in the past 12 hours. Everything was down so no tokens with +% return and thus no return tables.
If there's no positive returns the table will be empty.

Closing for now.


Fix package on debugtrap_unsupported.go

Signed-off-by: John Howard<EMAIL_ADDRESS>Silly bug on daemon\debugtrap_unsupported.go which had the signal package rather than daemon as it should be.

LGTM

LGTM


Longest Substring Without Repeating Characters

Question- Given a string s, find the length of the longest substring without repeating characters.
Language- C++
time complexity- O(n)
Space complexity- O(n)
I would like to work on this issue using hash map or declaring a vector of same size. Please assign me this.

You can start working on this issue. All the best!


cannot upload high resolution pictures in android app

Submit feature requests to http://www.mattermost.org/feature-requests/. File non-security related bugs here in the following format:
Summary
I got uploading error because of high resolution pictures (4896x6528px) files
Environment Information

Device Name: Huawei P30Pro
OS Version:  10
Mattermost App Version: 1.38.1
Mattermost Server Version: 5.30.0

Observed behavior
I got uploading error because of high resolution pictures (4896x6528px) files in 2 scenarios:

from gallery select files, then share to mattermost, in mattermost there is no file displayed.
in mattermost, select from gallery, attached the file then I got the error file is not loaded (see screen capture). When I select post message, the loaded message is empty without any attachments.

In windows application of mattermost is possible to load big resolution files without any problems. On server I have file size limit 100MB.
What did you see happen? Please include relevant error messages and/or screenshots.

Possible fixes

If I decrease the resolution of file the file to aprox. 4200 x 4200px, the file is loaded.
The best approach would be to be asked by application if you want to resize the picture and afterward to be trimmed at optimal resolution for mattermost.

Hey @agnivade what was the server restriction for this? Are we planning on removing that restriction? IIRC it was because of a potential image bomb

Hey @agnivade what was the server restriction for this? Are we planning on removing that restriction? IIRC it was because of a potential image bomb

With a quick look, I am not seeing any mobile specific restriction on image uploads. If the file can be uploaded from a windows client, it should work for mobile also.
@gpopesc - Would you be able to share the server logs at a DEBUG level when this failure happens?

With a quick look, I am not seeing any mobile specific restriction on image uploads. If the file can be uploaded from a windows client, it should work for mobile also.
@gpopesc - Would you be able to share the server logs at a DEBUG level when this failure happens?

Thank you very much for your answer.
I think you can put a warning in the app when somebody try to share big images or/and may be you can resize the image when it is uploaded (like whatsapp and other apps)
I my case there is a possible bug in Huawei camera for selfies and I cannot change the resolution (in the actual software version). I need to use a not standard camera app or to resize the pictures, which is a little bit annoying.
The message on the server is:
{"level":"error","ts":1609835106.621962,"caller":"mlog/log.go:229","msg":"image-4c347546-4328-487c-b337-979f4fff3c61.jpg dimensions (4896 by 6528 pixels) exceed the limits.","path":"/api/v4/files","request_id":"ahjg779w1jfnte5ymh1zai76bc","ip_addr":"<IP_ADDRESS>","user_id":"tyrgh7ohj7da3e5brjfxbdt3qe","method":"POST","err_where":"uploadFileTask","http_code":400,"err_details":""}

Thank you very much for your answer.
I think you can put a warning in the app when somebody try to share big images or/and may be you can resize the image when it is uploaded (like whatsapp and other apps)
I my case there is a possible bug in Huawei camera for selfies and I cannot change the resolution (in the actual software version). I need to use a not standard camera app or to resize the pictures, which is a little bit annoying.
The message on the server is:
{"level":"error","ts":1609835106.621962,"caller":"mlog/log.go:229","msg":"image-4c347546-4328-487c-b337-979f4fff3c61.jpg dimensions (4896 by 6528 pixels) exceed the limits.","path":"/api/v4/files","request_id":"ahjg779w1jfnte5ymh1zai76bc","ip_addr":"<IP_ADDRESS>","user_id":"tyrgh7ohj7da3e5brjfxbdt3qe","method":"POST","err_where":"uploadFileTask","http_code":400,"err_details":""}

Please close if you consider

Please close if you consider

Hi @gpopesc - we already resize the image when it's uploaded. The issue is that just limiting the maximum upload size is not enough. An attacker can send a carefully crafted gzipped image, which when unzipped can become much larger in memory. Therefore, we limit the maximum image dimensions that can be uploaded to prevent a potentially DOS-eable resize operation.
I agree that a better error message would help the user to actually understand what the problem is. I am going to leave it to @enahum to decide the best course of action for that.

Hi @gpopesc - we already resize the image when it's uploaded. The issue is that just limiting the maximum upload size is not enough. An attacker can send a carefully crafted gzipped image, which when unzipped can become much larger in memory. Therefore, we limit the maximum image dimensions that can be uploaded to prevent a potentially DOS-eable resize operation.
I agree that a better error message would help the user to actually understand what the problem is. I am going to leave it to @enahum to decide the best course of action for that.

Hi,
sorry @agnivade , i don't get you. With my mattermost beta android app (V2.7.1), i can't upload images bigger than 1Mo (server configuration). What i'd like is: to take a photo whatever the size (especially with iphone) and share with the MM app who would compress the picture before it uploads it to the server, just like Signal indeed. Can you give me some hints or links so that i can achieve this or understand why it's not possible ?
thank you & regards,
f.


plugins: migrate circleci, cloudbuild, github-actions, jenkins to new composability API + tweaks for lighthouse and org

Part of #3424
Fixes for lighthouse and org plugin are me forgetting to fetch entities from context in #4361. Those changes are still pending so no changesets for those

Tugboat has finished building the preview for this pull request!
Link:

https://pr4365-s7a50wcqvm4t6hmm0tcpm5ia4p2fpzt3.tugboat.qa

Dashboard:

https://dashboard.tugboat.qa/6019d10214dc583882c12e51

Tugboat has finished building the preview for this pull request!
Link:

https://pr4365-s7a50wcqvm4t6hmm0tcpm5ia4p2fpzt3.tugboat.qa

Dashboard:

https://dashboard.tugboat.qa/6019d10214dc583882c12e51

Tugboat has finished building the preview for this pull request!
Link:

https://pr4365-s7a50wcqvm4t6hmm0tcpm5ia4p2fpzt3.tugboat.qa

Dashboard:

https://dashboard.tugboat.qa/6019d10214dc583882c12e51

Tugboat has finished building the preview for this pull request!
Link:

https://pr4365-s7a50wcqvm4t6hmm0tcpm5ia4p2fpzt3.tugboat.qa

Dashboard:

https://dashboard.tugboat.qa/6019d10214dc583882c12e51


Is this library single-threaded only?

It looks like all the tests in this package use MultiThreadedEventLoopGroup(numberOfThreads: 1). However, if the number of threads is changed to > 1, then a number of the tests become unstable and will occasionally cause errors or deadlocks. The Graphiti tests use MultiThreadedEventLoopGroup(numberOfThreads: System.coreCount) and I'm finding the same instability there.
Specifically, I found that the following tests become unstable:

FieldExecutionStrategyTests

testSerialFieldExecutionStrategyWithMultipleFields (deadlock)
testSerialFieldExecutionStrategyWithMultipleFieldErrors (deadlock)
testConcurrentDispatchFieldExecutionStrategyWithMultipleFields (NIO+Extensions.swift, ln 42: EXC_BAD_ACCESS)
testConcurrentDispatchFieldExecutionStrategyWithMultipleFieldErrors (deadlock) (NIO+Extensions.swift, ln 42: EXC_BAD_ACCESS)

StarWarsIntrospectionTests

testIntrospectionDroidKindQuery (deadlock)
testIntrospectionCharacterKindQuery (deadlock)

StarWarsQueryTests

testDuplicateFieldsQuery (deadlock)
testUseFragmentQuery (deadlock)
testCheckTypeOfLukeQuery (deadlock)
testFetchLukeAndLeiaAliasedQuery (deadlock)

Is it expected that the input EventLoopGroup should always only have one thread?

@NeedleInAJayStack hey, Jay. Yeah, the library was based on the canonical JS library, which due to its JS nature it is inherently single-threaded. I'll leave this issue open so this information is easily available for others as well. We definitely welcome contributions to make it work on multithreaded environments.

Thanks Paulo, that's good to know. I won't expect any multithreaded optimization in that case.
In the meantime, I've put in a pull request that fixes the test issues when running with multiple threads: https://github.com/GraphQLSwift/GraphQL/pull/76
Thanks again!

Just to follow up on this, I've been successfully running this on MultiThreadedEventLoops for quite some time now with no issues. I think we can safely say that this package is safe for multithreaded environments.


Small documentation error in iOS Example

I'm following the wonderfully comprehensive instructions here (https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/ios_examples/README.md)  for building an iOS project with tensorflow with the makefile system.
The instructions, in the section "creating your own app" suggest adding
tensorflow/contrib/makefile/downloads/eigen-latest
to the header search paths; however this folder does not exist after running the make scripts.
I believe it should be changed to
tensorflow/contrib/makefile/downloads/eigen
(I have not seen anything suggesting tensorflow can be built for iOS using bazel, so I assume that this remains the recommended approach.)

@petewarden, can you confirm this fix is correct?

Yes, I believe it is correct.


Fix issue where rate limiter causes high resource deployment times (#4085)

Pull request opened by the merge tool on behalf of #4085

Merged into branches iso5 in 606d7d3c0fe1e163064f0cd4e59ea52fefd9122f


No Buttons

Buttons are not showing up on Mixer and sounds don't show they are connected to the board.

@SirNerdsAlot5 You've reported another issue. Does that mean this is no longer an issue?


Fix the temporary state revert before block finalization

Change summary:

Update new final frontend db with tx pool
Guide it with UPDATE_NEW_FINAL_FRONT_DB_WITH_TX_POOL node param
Update deploy scripts to set UPDATE_NEW_FINAL_FRONT_DB_WITH_TX_POOL=false for node 0 to 4
Add package scripts commands for running cloud test run

Background:

This PR fixes the issue of the temporary state revert before block finalization

Related issues:

https://github.com/ainblockchain/ain-blockchain/issues/958

Thanks for the review. Now merging.. @liayoo


Nuxt-child rendered multiple times in nested route with component

Version
v2.12.2
Reproduction link
https://codesandbox.io/s/romantic-browser-nih1p
Steps to reproduce

Open the CodeSandBox reproduction link
Navigate to the posts/1/view route.
Observe the 'Go back' link appearing multiple times
Check the network tab
The api call from the fetch() hook is triggered multiple times.

What is expected ?
Expected to see the body of the post/1 with a 'Go Back' button.
What is actually happening?
The page component view.vue file is being rendered multiple times infinitely. If an API call is present in the fetch(), will be called infinite times.
Additional comments?
I noticed this behaviour occurs only in the following condition:
The nested route is using a component with the same name as the page component. In this case, the file pages/posts/_id/view.vue file is using a component from components/Contents/Post/View.vue and is exported as <PostView>. The component name for the page is also given as PostView. If I change this name to something else, this behaviour does not happen.

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

Hi @jillztom
I am not sure to understand why you use <nuxt-child/> in https://codesandbox.io/s/romantic-browser-nih1p?file=/pages/posts/_id/view.vue

Hi @Atinux
Ignore that <nuxt-child /> inside the view.vue file, that was a mistake. The loop still exists without that.

Ok that is weird, will look at it :)

Alright, this is not related to fetch, if you console.log in created hook it will also logs infinitely.
This is because you use the same name for the page component as the PostView component you are importing...
Removing the name fixes it in pages/posts/_id/view.vue:
import PostView from "~/components/Contents/Post/View";

export default {
  // name: "PostView",
  components: {
    PostView
  },
  async fetch() {
    this.post = await this.$axios.$get(
      "https://jsonplaceholder.typicode.com/posts/1"
    );
  },
  data() {
    return {
      post: null
    };
  }
};


Workaround for Uint8Array JWK data

At least in my testing, the FIDO2 authentication always seems to fail. Peeking at the Lambda logs, I found the following:
2024-01-26T18:34:44.657Z	ca4400f5-ba8c-4d22-96e6-8d54db827ff5	ERROR	TypeError [ERR_INVALID_ARG_TYPE]: The "key.n" property must be of type string. Received an instance of Uint8Array
    at new NodeError (node:internal/errors:405:5)
    at validateString (node:internal/validators:162:11)
    at getKeyObjectHandleFromJwk (node:internal/crypto/keys:497:3)
    at prepareAsymmetricKey (node:internal/crypto/keys:549:22)
    at createPublicKey (node:internal/crypto/keys:613:5)
    at verifyChallenge (file:///var/task/index.mjs:177:96)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async addChallengeVerificationResultToEvent (file:///var/task/index.mjs:113:5)
    at async Runtime.handler (file:///var/task/index.mjs:1717:7) {
  code: 'ERR_INVALID_ARG_TYPE'
}

With a little console.log() debugging, the type of storedCredential.jwk.n is Uint8Array.
2024-01-26T18:34:44.484Z	ca4400f5-ba8c-4d22-96e6-8d54db827ff5	INFO	{
  kty: 'RSA',
  alg: 'RS256',
  e: Uint8Array(3) [ 1, 0, 1 ],
  n: Uint8Array(256) [
    169, 184, 118,  29, 122, 170, 239, 120, 140, 155, 171,  56,
    209, 133,  30, 199, 212, 123,  33, 213,  96, 229, 131,  48,
     63, 178,  72, 223,  80, 151, 216,  37, 255,  85,  94,  25,
    254, 239, 193,  53, 208, 150, 178,   9, 221, 227, 137,   9,
     30,  30, 183,  94, 214,  68, 171,  54,  27, 221, 129, 135,
     39, 191,   1,  14,  34,  37,  50, 124, 129, 137, 136,  12,
    194, 126, 238, 211, 120,  94, 178, 113,  87, 184, 104, 187,
     45,  86, 195,  86,  66, 172,   2, 243, 113, 147,  80,  26,
     36,  35, 222,   3,
    ... 156 more items
  ]
}

Description of changes:
This is more of hack, but ensuring the key data is a base64-encoded string seems to get everything back in order. I'm currently evaluating/prototyping with the amazon-cognito-passwordless-auth package, so I don't have enough time to find the true root cause, hence this being a draft PR. But, I still wanted to give you guys a heads up.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Interesting! What type of Authenticator is that you're using?

Need to have a look in the spec what we should be expecting. Is this per spec or is the particular Authenticator a bit idiosyncratic 😅

Hey, I was testing with Firefox on Windows 10 with the Windows Hello authenticator.

Wanna do that in your PR?

Friendly nudge :)

Doing it in #148


Porting functionality

Hi there,
I'm the developer of a package called netCDF-SCM. In short, the package does some of what CMIP6 pre-processing aims at, some things which CMIP6 pre-processing doesn't do and doesn't even try to do some of what you're tackling. We wrote a paper about it and the outputs here if it's of interest.
As you can tell if you look at the commit logs, we're not exactly actively maintaining netCDF-SCM. My question to you: if there is a plan to keep working on CMIP6 pre-processing over the long-term (say, years), how would you feel about porting some of the functionality from netCDF-SCM into CMIP6 pre-processing? It would take some effort (when either of us finds time, who knows), but there could be some useful shared learnings and code duplication as a result.
Cheers and congrats on a great package!

Hi @znicholls, thank you so much for pinging me about this.
Let me parse out some of the questions:

I'm the developer of a package called netCDF-SCM. In short, the package does some of what CMIP6 pre-processing aims at, some things which CMIP6 pre-processing doesn't do and doesn't even try to do some of what you're tackling. We wrote a paper about it and the outputs here if it's of interest.

This looks really cool, thanks for sharing!

My question to you: if there is a plan to keep working on CMIP6 pre-processing over the long-term (say, years)

I am planning to actively maintain cmip6_preprocessing for the foreseeable future, but I could really use some more eyes on the code, so that it does not completely consume my time hehe. If you are willing to put in some cycles, that would be amazing.

, how would you feel about porting some of the functionality from netCDF-SCM into CMIP6 pre-processing?

In general, I am very open to this idea, but I think we should very clearly define what functionality should/could be ported. I am trying to avoid feature creep by not writing a 'one-does-all' tool but instead rely on a combination of specialized tools and tutorials/documentation on how to use them together. For example, I am planning to rely more heavily on cf-xarray(#59), xgcm (for more complex c-grid analysis) and daops (for a more general approach to "fixes").
From a quick browse, I see the most overlap in the 'drift removal'/'normalization' functionality. I think implementing the rolling mean approach as another option (to a linear trend) could be a very useful starting point?
Another very interesting aspect about netCDF-SCM to me seems the functionality to check for errata issues and generating provenance metadata. I would very much like to understand more what you are doing in that regard.
What functionality would be on your top list to port? Could we make a list of features like this:

Only in cmip6_pp
overlap
only in netCDF-SCM

- Fix naming?
- Remove control drift
- Errata detection

- Create ocean basin maps (using regionmask)
- dealing with cell metrics like area, depth, etc
- Conversion to other dataformats

- detecting retractions

- ...

and mark features we wish to port?
One of my main concerns regarding netCDF-SCM is that it is based on iris, while cmip6_pp is firmly based on xarray. I have zero experience with iris and think that xarray should stay at the core of cmip6_pp.
This was a long way of saying yes I guess 🤪.

I think we should very clearly define what functionality should/could be ported

I completely agree.

I am trying to avoid feature creep by not writing a 'one-does-all' tool but instead rely on a combination of specialized tools and tutorials/documentation on how to use them together. For example, I am planning to rely more heavily on cf-xarray(#59), xgcm (for more complex c-grid analysis) and daops (for a more general approach to "fixes").

Yep this is awesome. I really felt like there must be a better way than writing so much stuff myself (unfortunately when I started zarr files weren't a thing and most other tools hadn't even started).

I think implementing the rolling mean approach as another option (to a linear trend) could be a very useful starting point?

Sure: the idea isn't super complicated, but there's a bit of learning that's happened along the way which can be helpful.

Another very interesting aspect about netCDF-SCM to me seems the functionality to check for errata issues and generating provenance metadata. I would very much like to understand more what you are doing in that regard.

This is also fairly basic, the idea is that a) you can query the ESGF to work out if a dataset has been marked as retracted fairly easily (so you don't use dud data in analysis) and b) using ESGF metadata, you can generate citation tables in an automated way (which is handy for papers). It might be the simplest thing to port, but it might also be out of scope for your package (I don't really know where it best sits).

One of my main concerns regarding netCDF-SCM is that it is based on iris, while cmip6_pp is firmly based on xarray. I have zero experience with iris and think that xarray should stay at the core of cmip6_pp.

A good concern, but one that I'm hoping won't be an issue. Most of the ideas in netCDF-SCM are pretty basic so writing the same thing in xarray instead would be pretty simple I think (I've played around with xarray a bit and haven't found any major issues yet). The value of netCDF-SCM is more in the learning, edge case handling and the tests rather than the implementation. (In the worst case that some piece of iris functionality is vital (I think it's very unlikely, netCDF-SCM doesn't do anything very complicated), we can always make it an optional dependency and convert to iris, do the operation, then convert back.)

What functionality would be on your top list to port?

To be honest, at the moment I just wanted to get an idea of scope and possibilities. Sadly I have no capacity to contribute actual code right now. Given that, I think I see the following options for moving forward:

close this issue and I'll re-open if/when I have any time
make the table you suggest so we at least have an overview of what would be useful to bring in and what is handled elsewhere
just leave the issue open, and we pick things up if/when we can

I think I would favor 2. and keeping this open for future reference. We could also add this to the docs, so that other folks are aware of netCDF-SCM?

Sounds great, my attempt at the table below (maybe easier to do this in a PR so we can more easily build on each other's tables?).

Only in cmip6_pp
Overlap
Only in netCDF-SCM

Dealing with volume cell metrics
Naming fixes (although much better handled in cmip6_pp, latest stalled work in netCDF-SCM on branch time issues (I don't know the extent to which these issues are handled by cmip6_pp) is here)
Conversion to other data formats (and should probably stay that way, it's a very SCM focussed bit of functionality which could easily be wrapped around cmip6_pp in future)

Ocean basin masking
Remove piControl drift
Region masking e.g. AR6 region masking or country masking (also using regionmask plus natural earth, in theory netCDF-SCM could be fairly easily expanded to do ocean basins but that functionality isn't there at present, netCDF-SCM docs are here)

Dealing with area cell metrics (although there are some tricks to this depending on context which are probably handled differently in the two packages, see docstring of cell_weights argument here or Section 2.2.1 of the paper)
Detecting retractions and basic data license checks

Batch processing large numbers of files
Creating citation tables for papers

Decoding data reference syntax(s) into meaningful names (not sure how cmip6_pp handles this but there must be something in there? netCDF-SCM can handle CMIP5 and CMIP6, probably only cmip6_pp can handle e.g. CORDEX or Obs4MIPs)
Calculating and removing piControl rolling-mean (also calculating anomalies against piControl rather than just removing linear trend i.e. turning absolute values into perturbations?)

Handling of input4MIPs oddities (super niche so probably not worth porting, brief docs here)

Joining experiments in the same family into a single timeseries (maybe also in cmip6_pp?)

hey @jbusecke, I wanted to reach out again as I am going to get back into some of this work over the next few months. I was wondering if you had any strong thoughts on a way forward? My impression seems to be that:

cmip6_preprocessing is the right place for dealing with renaming issues (via the dependency packages) and dedrifting
the decisions about how to deal with cell areas should be left up to individuals as these depend on what someone is trying to do (having multiple packages which make different decisions about what cell areas to use is fine, rather than trying to unify all such assumptions)
the rest of the stuff in netCDF-SCM can either stay where it is or be turned into standalone packages where appropriate.

One other question: is daops the package which actually does the fixes or are they buried elsewhere? I was trying to find a list of fixes to see how many of the CMIP6 issues I've found are already covered (to get a sense of scope) but I really struggled to work out where to look.

Hey @znicholls,
I am very sorry for not responding here. Things were hectic to say the least.
I hope this answers still make some sense.

cmip6_preprocessing is the right place for dealing with renaming issues (via the dependency packages) and dedrifting

This sounds great. I am planning to work on the dedrifting again soon (#168), and will ping you in case you have some feedback. I would love if the future cmip6_pp would be able to do the rolling means and polynomial fits (cc @DamienIrving)

the decisions about how to deal with cell areas should be left up to individuals as these depend on what someone is trying to do (having multiple packages which make different decisions about what cell areas to use is fine, rather than trying to unify all such assumptions)

I would agree with this in the long term. I personally want to get this out of cmip6_pp, at least the core functionality (might keep a thin wrapper for convenience). This is much more of a general issue than just CMIP, so handling this upstream is appropriate.

the rest of the stuff in netCDF-SCM can either stay where it is or be turned into standalone packages where appropriate.

I have two things that might merit further discussion here: The ERRATA check and automatic reference generation and the Joining experiments in the same family into a single timeseries (maybe also in cmip6_pp?).
I just mentioned this in #215, I think that an errata check and the reference builder would be very useful to me and other cmip6_pp users in the future. I have no problem to leave those in  netCDF-SCM, if they can be integrated easily in the API/workflow over here. Is there a minimal example for each of these that I can try? I might have missed that earlier.
For the joining. I have actually invested quite a bit of work into the postprocessing module, which allows very general 'combination' of custom sets of datasets. There are a bunch of preset wrappers like concat_experiments and merge_variables, but the underlying logic is very general and I would like to keep it here, since I have used it very successfully in the past months. It is however NOT well (or not at all) documented right now (https://github.com/jbusecke/cmip6_preprocessing/issues/190). You can have a look at what is documented here, and check out the overlapping concat_experiments.

One other question: is daops the package which actually does the fixes or are they buried elsewhere? I was trying to find a list of fixes to see how many of the CMIP6 issues I've found are already covered (to get a sense of scope) but I really struggled to work out where to look.

As far as I know there are no actual fixes for CMIP6 implemented over at daops, that would be something I would have to start probably haha. If you would like to be involved that would be awesome. cc @agstephens
Thanks for keeping me informed about your plans. I hope I have more bandwidth going forward. If you think a 1:1 chat would help to discuss this further, I can definitely hop on a zoom some time soon.

Hi @jbusecke,

I am very sorry for not responding here. Things were hectic to say the least.

No issue at all, hope they've calmed down a bit. As you can probably tell, I'm not moving super fast on this at the moment either but I am starting to give it more thought now.
I've just started looking at intake-esm, which helpfully points right back here for pre-processing to deal with issues (https://pangeo-data.github.io/pangeo-cmip6-cloud/accessing_data.html#preprocessing-the-cmip6-datasets). Perhaps the simplest way forward then is that, as I start working with CMIP6 data again, I make issues with specific examples of pre-processing I would like to do/use cases and we can discuss (whether that be a) rtfd b) that would be cool to have in cmip6_preprocessing, but we don't have it yet (in which case I'll be happy to open a PR) c) that is handled somewhere else d) I have no idea how to handle that e) something else)?
Re errata and references: have a look at https://netcdf-scm.readthedocs.io/en/latest/usage/using-cmip-data.html. Note that it's just 'official' errata, there's no capability for handling e.g. incorrect reporting of units (so wouldn't help with #215, but I'm super interested to see if there is a way to get a solution to #215 into this package)
Re joining etc.: sounds good to keep it here. I'll see if I find any use cases that aren't covered then can happily make a PR.

Perhaps the simplest way forward then is that, as I start working with CMIP6 data again, I make issues with specific examples of pre-processing I would like to do/use cases and we can discuss

Yes that would be very much appreciated!

I'll see if I find any use cases that aren't covered then can happily make a PR.

That is super awesome. Thankful for any support here.


Support GOV.UK Frontend v5 plugin

What
GOV.UK Frontend v5 changes must be handled by the Prototype Kit to prevent broken prototypes and support issues

A test version (or pre-release) will be ready for teams to test at the end of October 2023. This gives us an opportunity to receive feedback and make necessary changes before a full release. We expect that the full release will be ready between November and December 2023.

To reduce impact on the team, management and error pages should stay on GOV.UK Frontend v4 for now
We also have various package files using $legacy parameters now deprecated in GOV.UK Frontend v5. We should suppress these deprecation warnings until the following files can be updated:

govuk-prototype-kit/lib/assets/sass/patterns/_pagination.scss
govuk-prototype-kit-step-by-step/sass/_step-by-step-navigation.scss
govuk-prototype-kit-step-by-step/sass/_step-by-step-navigation-header.scss

Why
GOV.UK Frontend v5 is a breaking change due to:

Compiled assets, fonts, views, scripts, stylesheets moving into child directory
JavaScript includes switching from <script> to <script type="module">
Legacy colour palette is now deprecated

The legacy palette was replaced in GOV.UK Frontend v3.0.0:
https://designnotes.blog.gov.uk/2019/07/29/weve-updated-the-gov-uk-colours-and-font/
Who needs to work on this
Developers
Who needs to review this
Developers
Done when

[x] Update management and error pages to use only "internal" GOV.UK Frontend
[x] Support added for <script type="module"> plugin scripts
[x] Suppress Sass warnings for $legacy deprecated colour palette
[x] Defer prototype application.js to load after plugin scripts

I've update the description to include all known remaining tasks

Just an update to track progress a little better
The following changes were made by the Prototype Kit team:

https://github.com/alphagov/govuk-prototype-kit/pull/2118
https://github.com/alphagov/govuk-prototype-kit/pull/2317
https://github.com/alphagov/govuk-frontend/pull/4101

With further fixes contributed by GOV.UK Frontend:

https://github.com/alphagov/govuk-prototype-kit/pull/2306
https://github.com/alphagov/govuk-prototype-kit/pull/2333
https://github.com/alphagov/govuk-prototype-kit/pull/2349
https://github.com/alphagov/govuk-prototype-kit/pull/2358

One further compatibility issue was flagged but it may have no impact:

https://github.com/alphagov/govuk-prototype-kit/issues/2353

I think this one is done now? Management pages will be updated in:

https://github.com/alphagov/govuk-prototype-kit/pull/2327


Links at the bottom of the page are to deprecated APIs

Hi,
This page describes the shift to the new REST APIs, but the recommended content links are to the old deprecated content only.
Cheers

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

ID: c8c28716-3b7f-2064-4c79-72d46f09f886
Version Independent ID: fd636801-4b0a-b825-78f6-55373797b3dd
Content: API concepts in Privileged Identity management - Azure AD
Content Source: articles/active-directory/privileged-identity-management/pim-apis.md
Service: active-directory
Sub-service: pim
GitHub Login: @curtand
Microsoft Alias: curtand

@benhatton-admin-unsw-edu-au Thank you for your feedback . We will investigate and update the thread.

@benhatton-admin-unsw-edu-au Thanks for the feedback. We will engage the content development team for further investigation, they will verify and perform necessary changes in the document as needed.

#reassign:@amsliu

@benhatton-admin-unsw-edu-au Thanks for providing feedback that helps improve our documentation. We are currently updating all the end-user content and we will address your issue as part of this process. We are now closing the issue. #please-close


Switch typography problem

Issue description:
I think this is not a big problem, but I have to constantly fix style files. If you remove the font, then everything will be ok.
Before:
https://monosnap.com/file/G4Myc30xZpN4g9TDf2nxk4mHOOJcg9
After:
https://monosnap.com/file/n3A54bRVTnzEsWdAmSoHP4Kxs007PO
Version used:
dev or stable

Seem not a issue. Displaying fine.

MacOs :(

I'm on OSX too and I don't have any issues.
I had this a few days ago and it turned to to be nothing more than browser caches.
In Chrome dev tools this is what did the trick for me:

After a refresh with that checked, things were back to normal.
Or you could simply reset all browser cache 7 cookies.

This problem is only in safari. But I'm satisfied with your answer.

Reopening, I haven't checked Safari yet 👍

Changed the implementation a bit so this one was fixed.
Also checked safari 😉

Niceee! Thank you so much, you are the best.


refactor blas/ext/base/dcusumors to follow current project conventions

Resolves #1474 .
Description

What is the purpose of this pull request?

This pull request:

refactors and updates the existing implementation of blas/ext/base/dcusumors to follow the current project conventions.

Related Issues

Does this pull request have any related issues?

This pull request:

fixes #1474
progresses #1152

Questions

Any questions for reviewers of this pull request?

No.
Other

Any other information relevant to this pull request? This may include screenshots, references, and/or implementation notes.

No.
Checklist

Please ensure the following tasks are completed before submitting this pull request.

[x] Read, understood, and followed the contributing guidelines.

@stdlib-js/reviewers

@Pranavchiku I've applied suggested changes. please take a look.


SME Review - Workshop outline

Please place all feedback to the workshop outline in this issue by continuing the conversation below.

Kalyan Bondugula: [Dawnmarie – Here is my high level feedback.
•	Overall, the connected factory will resonate more in the “factory floor” setting – say in discrete manufacturing. Not sure if Oil field is a great example of that. You should check few connected factory case studies – Jabil/Sandvik etc.
•	The use case introduction does not talk about any data collection/devices related point. Focused only on the Machine Learning aspect. Looks more like intro for ML workshop than IoT.
•	We need to talk about “Edge” processing and “OPC UA” framework related points which are key for Manufacturing/Oil & Gas customers.
•	SaaS is one solution option, customers may also be interested in “Build” with “PaaS”. Should be considered as an option for solution]

@DawnmarieDesJardins here is some high level feedback from me as well:

agree with @KalyanBondugula that this intro sounds more like an ML workshop and very little IoT.
we mention the capabilities and selling point of using SaaS IoT Central as much as ML and Databricks.
Would exercise 8 also include how to actually notify someone?  If not then I think it should :-) In other words let's me clear on what " Integrating the predictive maintenance model into the solution" actually means
I think a key point to make something like this real is how they will host the models later, manage and deploy them? The lab you point to in the bottom uses AMLS and Azure DevOps and it us unclear whether this will also be part of this workshop?

I like the outline and only have a few suggestions:

as discussed in review meeting on 5/30 I agree that we should have pre-trained models and available notebooks to reduce the complexity of the data science part and focus more on the IoT part (collection of data, continuous export, maybe add an alert on some telemetry threshold to trigger some action, control of the pumps
IoT Central now supports exporting and importing app templates (preview announced today), which allows to create and make available a rich set of dashboards that the student can simply import as a template. This will give the IoT Central app the look and feel of a final product.

Few suggestions from my side.

Remote field services esp in Oil and Gas / Offshore exploration typically merits edge analytics. Can we morph a part of this into edge story

ASA offers built-in ML based functions for Anomaly Detection - both in cloud and edge based on now open sourced ML.net offering. Meaning, for simple A/D scenarios customers do not need to build and train their models.  We should try and include this as a part of the crawl-walk-run approach within the ML spectrum.

Geospatial capabilities - ASA has built in Geospatial functions, again on cloud and edge, to continuously detect distance between assets, generate alerts if an asset enters or leaves a geofence etc. For oil fields etc, based on real customer scenarios safety is critical. So customers like Petrofac (now in prod) want to generate alerts if a worker with inadequate training enters a high risk site. Essentially, they have a matrix of workers (single coordinates) and allowable sites (geofences) that ASA deploys in the cloud and edge.

Talking of general analytics, i recommend introducing audience to simple concepts like time windows, native output in parquet for downstream batch processing and ML training with Spark, late arrival policies etc. These are very commonly used capabilities in many IoT scenarios.

Happy to help guide on the  implementation of these features.

Please accept these views as applicable to the 'Securing IoT end to end ' workshop as well.

In effect.. -

ML and Data filtering on the Edge: compute happens here in real-time with low latency
ASA runs in cloud for dashboarding and cross-device analytics
ML model trained in the cloud with Databricks


Abort if couldn't fetch binary

Coverage decreased (-0.04%) to 78.241% when pulling 3fd5d54f9c9ac3fb04808d91ae9dc0807c468b92 on updater-check-juha into 61cbb02ff4e753a7addf6e0dd8717e1e25563610 on master.

Coverage decreased (-0.04%) to 78.241% when pulling 3fd5d54f9c9ac3fb04808d91ae9dc0807c468b92 on updater-check-juha into 61cbb02ff4e753a7addf6e0dd8717e1e25563610 on master.

LGTM.


Update to<EMAIL_ADDRESS>

Includes updates to the meta header. See https://github.com/cfpb/design-system/pull/1757
Changes

Update to<EMAIL_ADDRESS>Update meta header markup.

How to test this PR

Pull branch, run yarn install && yarn build
Visit http://localhost:8000/about-us/blog/?page=5 and compare to production at various screen sizes.

Screenshots
Before:

After:

Before:

After:

Desktop unchanged

@anselmbradford
The space between the first category and the pipe character in the tablet and desktop view is too tight. The horizontal space before and after the pipe character should be the same. Should I open a separate ticket for this or would you prefer to address it here?


E2E tests for sink: TLS key pair rotation

Fixes #3375

Proposed Changes

Add the rekt test for keypair rotation for kafka sink

Bugs Found

[x] TLS port 8443 is not exposed for https-container

[x] In the control-plane/config/eventing-kafka-broker/100-sink/100-kafka-sink.yaml, there is no custom resource definition for the addressable

Action Items

[ ]  Backporting this ticket to upstream and midstream

/retest-required

/test-required

/retest-required

/retest-required

/retest-required

/retest-required

/test channel-integration-tests-ssl

/retest-required

/cherry-pick release-1.11

@Leo6Leo can you cherry pick this manually to release-1.11?

@Cali0707 There are some issues when merging the broker TLS keypair rotation tickets. @pierDipi mentioned that he has a PR to be merged, and after that the problem will be resolved. Then I will be manually cherry-pick on this PR just to not dealing with the merging conflicts.


With prompt, if no input is specified, the return value is not converted to the requested type

If the passed in default is a string but the type parameter is not a string then click should do its best to convert the default to the requested type.
This becomes an issue when using mypy with click.  MyPy will complain if you pass anything but a string for the default.  One option is to do a type ignore but that starts to pollute the code quickly if you have a lot of prompts that expect integer values.  Fixing this also will prevent some accidental bugs where you use different types with your type option and your default.  Click should do its best to honor the requested type.

Looks like there was already a special check for the Path type, but it doesn't seem like there was any reason to restrict it to that type, so I simplified it.


Fix #984: Skip whitespaces when parsing object blank node

Signed-off-by: Yasen Marinov<EMAIL_ADDRESS>This PR addresses GitHub issue: #984 .
Briefly describe the changes proposed in this PR:
Skip any whitespaces after the opening '[' when parsing the blank nodes. This change affects only the object parsing as in the subject parsing the whispaces are already skipped.

Thanks Yasen, but can you rebase this to the develop branch, so we can include it in the up coming 2.3.0 release?

Hi James,
I've done it. I believed I have to branch from and merge in master.
Kind Regards,
Yasen
On Thu, Feb 8, 2018 at 5:58 PM, James Leigh<EMAIL_ADDRESS>wrote:

Thanks Yasen, but can you rebase this to the develop branch, so we can
include it in the up coming 2.3.0 release?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/eclipse/rdf4j/pull/985#issuecomment-364157027, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AXkzBdo7g5iTT7mFmIXNyUd_SS9MDV0fks5tSxmrgaJpZM4R7LB2
.


fix(core): :bug: otp undefiend

add if check in useEffect of otp
Ref: #84

Seems good to go

Thanks for your review. Can you tell me how you review and test so quickly within couple of minutes?


refactor: Should prql-lib use char?

I'm less strong on this stuff — I saw a warning and made this change — is it good?

Yeah, probably. I doesn't really matter - I know cases where people just use void * for all pointers - but still, char gives more info that these are strings.

Keep in mind that the libprql_lib.h header file was autogenerated with cbindgen. That there is also a header file for C++ called libprql_lib.hpp which you did not touch.

Keep in mind that the libprql_lib.h header file was autogenerated with cbindgen. That there is also a header file for C++ called libprql_lib.hpp which you did not touch.

Ah, thanks for spotting @vanillajonathan — you're right, it says it at the top of the file 🤦 .
Do you happen to know whether we can change it to generate char? Otherwise I guess this is going to be overwritten next time we autogen...

Do you happen to know whether we can change it to generate char? Otherwise I guess this is going to be overwritten next time we autogen...

I generated a new header file and saw that it generated char, I don't know why.

Ah interesting.
If we can add the command to generate a new header to task build-lib (or task build-c), that would be a good reference, and ensure it keeps up to date...


Title case "Node.js" in docs as this is a proper noun

Reference: https://github.com/nodejs/node/commit/1d8c92e8b4b939a1fb64fb8f937b9be049dc6421

I guess so. Seems like a weird call, but if that's what they want!


Add ingredients page

This adds a Work In Progress ingredients page

merging! Stella and I went through this


Client_helper.find_master doesn't handle problem nodes well

If a node for whatever reason (e.g. a bug -- in my case it was a misconfigured cluster_id) does not respond correctly to a who_master call then find_master doesn't try querying the other nodes of the cluster. This means one bad node can result in a cluster not being reachable for (ocaml) clients.
Faulty code is at https://github.com/openvstorage/arakoon/blob/1.9/src/client/client_helper.ml#L266-L270. It should call loop there iso returning.

fixed by #131


[web] Emojis take a few seconds to render on canvaskit

I'm running my app on CanvasKit on Chrome Linux and what I'm seeing is this for a second:

Afterwards I'm seeing this for a few seconds:

And then I finally see this:

I don't understand because I definitely can see the emoji's on a normal page in Chrome, for example this just renders: 💌. But why doesn't it render normally in Flutter, and why does it have to download a font 'Noto Color Emoji' to render the emoji's. And this is only for CanvasKit, when using the HTML render it just shows me the emoji's properly without these 'transition' phases and without downloading any emoji font. Can't CanvasKit use the normal font which is used for everything else on my desktop environment or Chrome?
Originally posted by @rbozan in https://github.com/flutter/flutter/issues/74823#issuecomment-776668247

I think this might be also related to https://github.com/flutter/flutter/issues/30700

The issue is that the fallback font we're using is huge. We should find a smaller font to fall back on.

Can't CanvasKit use the normal font which is used for everything else on my desktop environment or Chrome?

Unfortunately not until fallback fonts are added to the web standards and implemented in browsers. Possibilities right now are: find a smaller font, or partition the emoji font into multiple smaller font files that are loaded on demand.

I am experiencing the same issue.
I have a section where I just use one emoji in a text. When trying to scroll to the section the page freezes for one second before showing it.
When I remove the emoji it works fine.

Unfortunately not until fallback fonts are added to the web standards and implemented in browsers.
Sorry, do you have any idea how realistic this change would be? My assumption is to not count on it any time soon.

As of right now, CanvasKit appears unusable for any modern web app because the current fallback font doesn't support all emojis end users may be accustomed to (and it is very large, as you're aware). This may seem overdramatic, but it seems unacceptable to me to have to give users an excuse for why Emojis on our app look weird or don't work.
This is a shame since CanvasKit yields a better experience on nearly every other aspect.
I'm able to bundle the default system fonts (apple fonts, namely) with my project to get proper emojis, but these files are far too large (>200MB for Apple's emoji file).
Providing some way to access the system's fonts would be a huge help - that's the only thing keeping me from using CanvasKit at this point. If that's entirely impossible then that's quite a shame.
If you have any other suggestion to access system fonts in CanvasKit, please let me know. I'd love to resolve this.

We're not only having the preloading Noto Color Emoji issue, but we're having an issue where a lazy loaded grid view of emojis is grinding the entire app to a halt during scroll. We used best practices to ensure that the Grid performance was good. This is an issue in build mode on safari web using CanvasKit renderer.
A separate issue would be the expectation that native emoji font would be used instead of Noto Color Emoji
In this screen recording the app has completely locked up. I am trying to scroll but it's totally frozen. If I wait 30 seconds it will resume.
https://user-images.githubusercontent.com/666539/113601488-677f3d80-960f-11eb-83e3-da4a3e52dfc7.mov

Made a formalized issue for the above https://github.com/flutter/flutter/issues/79882

While this issue is hanging, and I just need 4emojis on my design,  I'm using images to handle UX.

this isnt a solution

photo-editor > pasting text emoji > increasing font size > save > load asset image on flutter.

How is this still open? This is a deal breaker for modern apps.

I too am experiencing this issue. Just commenting to make sure this issue stays open :)

Please fix this. Pretty much every modern web app has emojis in it. It's not viable to download 9mb everytime in order to see them

Does anyone have a solution to at least to pre-load the emoji font so that users don't have to see a square box while it loads?

Does anyone have a solution to at least to pre-load the emoji font so that users don't have to see a square box while it loads?

I use the below solution to pre-load the font when user lands on the home screen of my app. In my app, emoji is not used on this screen and it is safe to assume that it takes users at least one second to tap on anything to leave this screen.
You may use this code without attributing me and alter it as you see fit. (eg. as public domain)
import 'package:flutter/widgets.dart';

/// After some delay this widget builds a Text() at opacity 0 that
/// contains an emoji to trigger loading of emoji font.
///
/// This widget however is not non-zero in size. So put it where it doesn't
/// affect the layout. Eg below other sufficiently large content using a stack.
class LoadEmojiFont extends StatefulWidget {
  final Duration delay;

  const LoadEmojiFont({Key? key, this.delay = Duration.zero}) : super(key: key);

  @override
  State<LoadEmojiFont> createState() => _LoadEmojiFontState();
}

class _LoadEmojiFontState extends State<LoadEmojiFont> {
  bool loadEmoji = false;

  @override
  void initState() {
    () async {
      await Future<void>.delayed(this.widget.delay);
      this.setState(() {
        this.loadEmoji = true;
      });
    }();
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return this.loadEmoji
        ? const Opacity(
            opacity: 0.0,
            child: Text('🏆'),
          )
        : Container();
  }
}

Then in a stack/row/column:
if (kIsWeb) const LoadEmojiFont(delay: Duration(seconds: 1)),

If you do need to show emojis on your first view, then you may need to dive deeper if the font can be pre-loaded during flutter load, or maybe delay that content a bit?

Any update ?

Please also be aware that loading on demand is not allowed in EU due to GDPR because any access to a *.gstatic.com domain would be in violation. This is due to IP adresses being deemed personal information which would be transmitted to a third party without the users consent. So ther should be some way to provide fallbacks or font files locally.

If you only need a few emojis, you can customize your current font by adding new emojis using FontLab.
This approach worked well for me. Since I only needed a handful of emojis, the font size increase was minimal.


feat: change the OS/2 table version to 4

fsSelection bit 7 was defined in version 4. For new fonts, vendors are encouraged to use a version 4 or later OS/2 table and to have bit 7 set.
Fixes: https://github.com/fontello/svg2ttf/issues/106

This should be done by https://github.com/fontello/svg2ttf/commit/118e7b74b87dd8b65e6cfa2060563f49872f00cd, more accurate.


[REVIEW]

Twitter profile link
https://twitter.com/nageshwarjune15?t=4ascBaX09VX-Ixu5kiiBKA&s=09

I hope it's not reviewed


Adding TensorMol interface

Interfacing TensorMol with Q|R would be useful for comparison purposes.
Describe the solution you'd like

[ ] TensorMol option to phil

[x] add ase plugin calculator

[x] add unit test for energy and gradient

[ ] unit tests need an empty directory. However, TensorMol expects datasets and networks to be in directory. This needs to be resolved.

[ ]  TensorMol expects a xyz file inside datasets folder. We want to pass in coords as an argument to run_qr()

https://github.com/qrefine/qrefine/commit/64d1bb9ce3ce94ee767e701746ad3052f67d6535

TensorMol is no longer developed.


Move pub out of sdk/

Please move tests out of the SDK sources.

This issue has been moved to dart-lang/pub#630.


Update toml.v

Sorry I've overlooked this and have made major overhauls of the whole project several times . I'm opening a PR on vlang/v to merge into master - if you still find some functionality missing, please PR it to V :)


Extend the proxy to provide RateLimit headers

SharePoint API calls (Graph, REST, CSOM) return RateLimit headers whenever the application is about the consume its resource unit quota (see https://aka.ms/sharepoint/throttling). It would be good if the proxy allowed to mimic that by allowing the user to set the resource unit quota and then the proxy can track the request coming in, calculate the resource units for the request and verify if the quota is about to expire...if so, the proxy can start to include rate limit headers in the response.
.NET 7 has support for tracking and applying rate limits, see https://devblogs.microsoft.com/dotnet/announcing-rate-limiting-for-dotnet/

This would be a great addition to use the new functionality and help developers test how their application is backing off when it starts getting rate limiting information.
@gavinbarron what do you think would be the best way to implement this?

@jansenbe thanks for that info on the rate limiting, that's going to be very helpful!
AFAIK the resource unit concept of rate limiting also applies to the SPO apis that are exposed via Graph and it's a scenario we would need to account for sooner or later.
On the implementation question, I think we need to sit down and look at how we can break apart the traffic handing to allow for some kind of middleware setup which might allow for a plug-in style of extension to the tool where a plug-in might define the rate limiting behavior.
This could allow for complex configuration via config for the middleware while still providing an option for some lightweight usage scenarios for primitive failures etc as we currently provide.

@gavinbarron could the first implementation become a part of our behaviors work along with other service limits? In the long run we could allow for more flexibility through plugins. What do you think?

@waldekmastykarz yes! That's where my thoughts were going with this one.

Duplicate of #210. We'll close this issue and track work status using #210 which is linked to the PR


Issue while looping through await operation

#code
while True:
tweets=await tweets.next()
#Error:
raise RuntimeError('Event loop is closed')

RuntimeError: Event loop is closed

yeah getting same issue


The challenged player gets to choose the topic first at the beginning of a match

Gets tested by getRandomTopics_rotating_success GameControllerServiceTest.java, added in commit ce81287


The C API lacks a binary safe leveldb_get() function.

What steps will reproduce the problem?
My C program that is using LevelDB for storing binary blobs and I ran into the
following problem with the LevelDB C API:

1)Leveldb_put() allows the programmer to pass a char* and a length for both the
"key" and "val",  which allows the programmer to store binary data,  which may
contain null bytes.

2)leveldb_get() returns a char* without a size parameter...  Digging into
./leveldb/c.cc you can see that it is using a "std:string" to return this
char*...  Not only is this not binary safe,  but std::string?  Having an
efficient slice, like the one provided in the C++ api would be much preferred.

So in short; using the C API its impossible to put() items without ever being
able to get() them back...

The solution is to provide a leveldb_get_binary()  which allows the programmer
to pass in a reference to char* and size param.  The call convention should be
consistent with the leveldb_put() function.

What is the expected output? What do you see instead?
I expected to obtain an unmolested blob of binary,  I got a null terminated
string.

What version of the product are you using? On what operating system?
libleveldb-dev:amd64 0+20120530.gitdd0d562-2
installed with apt,  under Ubuntu.

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 26 Feb 2013 at 9:24

Your right, however I know that leveldb_get() is not binary safe.   It looks
like CopyString() on line 208 that is terminating on a null byte.

Why can't you just return the efficient Slice?  That would be a great design!
Why do I have to rely on a gross std::string in C in less!  Are you expecting
people to free() this char * in C?  I am pretty sure this is also a memory leak
because there should be a std::string instance floating around somewhere...

Original comment by<EMAIL_ADDRESS>on 27 Feb 2013 at 12:16

> 2)leveldb_get() returns a char* without a size parameter...

It does return the size in *vallen:

/* Returns NULL if not found.  A malloc()ed array otherwise.
   Stores the length of the array in *vallen. */
extern char* leveldb_get(
    leveldb_t* db,
    const leveldb_readoptions_t* options,
    const char* key, size_t keylen,
    size_t* vallen,
    char** errptr);

> Digging into ./leveldb/c.cc you can see that it is using a "std:string" to
return this char*...  Not only is this not binary safe,

std::string is binary safe as long as you use the .data() method instead of
.c_str() to get its contents.  And you don't use strlen() on the pointer, but
instead use the length returned via the "vallength" out parameter.  So the
following code should work:

   char* err = NULL;
   size_t length;
   char* ptr = leveldb_get(..., &length, &err);
   Check err...
   Use ptr[0,length-1];
   free(ptr);

If  it doesn't work, it would be great if you could point us at a stand-alone
test to demonstrate this; or send a patch to db/c_test.cc that demonstrates the
problem.

> but std::string?  Having an efficient slice, like the one provided in the
C++ api would be much preferred.

A benchmark or a profile that highlights the cost of the extra copy would be
helpful.  My guess is that it will be in the noise compared to everything else
that leveldb does on a get call.

Original comment by<EMAIL_ADDRESS>on 26 Feb 2013 at 9:36

> Your right, however I know that leveldb_get() is not binary safe.   It looks
like CopyString() on line 208 that is terminating on a null byte.

CopyString looks like this:
static char* CopyString(const std::string& str) {
  char* result = reinterpret_cast<char*>(malloc(sizeof(char) * str.size()));
  memcpy(result, str.data(), sizeof(char) * str.size());
  return result;
}

Note that it carefully avoids calling .c_str() and strlen().  So it is binary
safe.  Please send a test or test-patch if you can find a bug here.

> Why can't you just return the efficient Slice?

For the same reason the Get() operator in the C++ API does not return a Slice.
A Slice has to point to memory owned by somebody else.  A leveldb
implementation that returns a Slice will not be able to figure out when to free
that backing memory without interfering with the caller's use of that result.

> That would be a great design!  Why do I have to rely on a gross std::string
in C in less!

I don't understand your point.  The interface for leveldb_get() says explicitly
that it returns a char* and the caller should free() it.  std::string does not
show up in the C interface at all.  It is an implementation detail inside
leveldb_get() that it uses a *temporary* string so it can call a string based
C++ function.

> Are you expecting people to free() this char * in C?

Yes.  That's what c.h says (see the code fragments in my earlier message).

> I am pretty sure this is also a memory leak because there should be a
std::string instance floating around somewhere...

There is no leak as far as I know.  Here are the lifetimes:
  (1) std::string gets allocated inside leveldb_get()
  (2) string is passed to the C++ DB::Get() method
  (3) DB::Get() stores some data in the strng
  (4) leveldb_get() copies string contents into a malloc-ed array
  (5) leveldb_get() returns: this destroys the string
  (6) caller uses the malloc-ed array
  (7) caller frees the malloc-ed array
Note that (1) matches up with (5) and (4) matches up with (7).  No leak.

Original comment by<EMAIL_ADDRESS>on 27 Feb 2013 at 1:08

Changed state: Invalid


specify go import path in CI

This doesn't change anything for us. It just eases enabling CI on forked repositories.

lgtm :+1:


Clangd fails to deduce type of template arguments

Trying to use clangd with neovim editor on the codebase of bitcoin. Clangd gives error clang: No viable constructor or deduction guide for deduction of template arguments of 'Span' [deduced_class_template_ctor_no_viable] on line https://github.com/bitcoin/bitcoin/blob/7b83c7d609ba61c5726650208b53111eb11a4b0e/src/compressor.h#L68
Vs Code's LSP works fine, and code compiles with both gcc 11.2 and clang 13
System information
Output of clangd --version:
clangd version 13.0.0 (Fedora 13.0.0-3.fc35)
Features: linux
Platform: x86_64-unknown-linux-gnu; target=x86_64-redhat-linux-gnu
Editor/LSP plugin: NVIM v0.6.1
Operating system: Fedora 35

Vs Code's LSP works fine

Were you testing with clangd (vscode-clangd plugin), or Microsoft's language server (vscode-cpptools plugin)?

If clang 13 compiles the code fine but clangd 13 gives an error, the issue is likely to be configuration-related. Do you have a compile_commands.json for the workspace? Can you share a clangd log?

I was testing it with Microsoft's language server.
Yes I do have a compile_commands.json created using bear.
Here is the log https://pastebin.com/e5aMmwP6

Thanks. The interesting part of the log is:

I[11:10:35.655] ASTWorker building file /main/Small Projects/bitcoin/src/compressor.h version 0 with command inferred from /main/Small Projects/bitcoin/src/compressor.cpp
[/main/Small Projects/bitcoin/src]
/usr/bin/clang++ --driver-mode=g++ -DHAVE_CONFIG_H -I. -I../src/config -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -I. -I./minisketch/include -I./secp256k1/include -I./univalue/include -I/usr/include -I./leveldb/include -I./leveldb/helpers/memenv -DHAVE_BUILD_INFO -DPROVIDE_FUZZ_MAIN_FUNCTION -Wstack-protector -fstack-protector-all -fcf-protection=full -fstack-clash-protection -Wall -Wextra -Wgnu -Wformat -Wformat-security -Wvla -Wshadow-field -Wthread-safety -Wrange-loop-analysis -Wredundant-decls -Wunused-member-function -Wdate-time -Wconditional-uninitialized -Woverloaded-virtual -Wsuggest-override -Wunreachable-code-loop-increment -Wimplicit-fallthrough -Wno-unused-parameter -Wno-self-assign -Wno-deprecated-copy -fPIE -g -O2 -c -x c++-header -std=c++17 --std=c++17 -include=$HOME/projects/bitcoin -resource-dir=/home/raghav/.local/share/nvim/lsp_servers/clangd/clangd/lib/clang/13.0.0 -- "/main/Small Projects/bitcoin/src/compressor.h"

As you can see, clangd prints the full command that it's running, and the directory (/main/Small Projects/bitcoin/src) in which it runs it.
Can you try going to that directory on the command line, and then running the same command? Do you get the same error on the command line?

It gives a different error
/main/Small Projects/bitcoin/src master ❯ /usr/bin/clang++ --driver-mode=g++ -DHAVE_CONFIG_H -I. -I../src/config -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -I. -I./minisketch/include -I./secp256k1/include -I./univalue/include -I/usr/include -I./leveldb/include -I./leveldb/helpers/memenv -DHAVE_BUILD_INFO -DPROVIDE_FUZZ_MAIN_FUNCTION -Wstack-protector -fstack-protector-all -fcf-protection=full -fstack-clash-protection -Wall -Wextra -Wgnu -Wformat -Wformat-security -Wvla -Wshadow-field -Wthread-safety -Wrange-loop-analysis -Wredundant-decls -Wunused-member-function -Wdate-time -Wconditional-uninitialized -Woverloaded-virtual -Wsuggest-override -Wunreachable-code-loop-increment -Wimplicit-fallthrough -Wno-unused-parameter -Wno-self-assign -Wno-deprecated-copy -fPIE -g -O2 -c -x c++-header -std=c++17 --std=c++17 -include=$HOME/projects/bitcoin -resource-dir=/home/raghav/.local/share/nvim/lsp_servers/clangd/clangd/lib/clang/13.0.0 -- "/main/Small Projects/bitcoin/src/compressor.h" <built-in>:1:10: fatal error: '=/home/raghav/projects/bitcoin' file not found #include "=/home/raghav/projects/bitcoin"          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated.
It looks like it was expecting a file, but got a folder from compile_flags.json

/main/Small Projects/bitcoin/src master ?1 ❯ /usr/bin/clang++ --driver-mode=g++ -DHAVE_CONFIG_H -I. -I../src/config -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -I. -I./minisketch/include -I./secp256k1/include -I./univalue/include -I/usr/include -I./leveldb/include -I./leveldb/helpers/memenv -DHAVE_BUILD_INFO -DPROVIDE_FUZZ_MAIN_FUNCTION -Wstack-protector -fstack-protector-all -fcf-protection=full -fstack-clash-protection -Wall -Wextra -Wgnu -Wformat -Wformat-security -Wvla -Wshadow-field -Wthread-safety -Wrange-loop-analysis -Wredundant-decls -Wunused-member-function -Wdate-time -Wconditional-uninitialized -Woverloaded-virtual -Wsuggest-override -Wunreachable-code-loop-increment -Wimplicit-fallthrough -Wno-unused-parameter -Wno-self-assign -Wno-deprecated-copy -fPIE -g -O2 -c -x c++-header -std=c++17 --std=c++17 -I. -resource-dir=/home/raghav/.local/share/nvim/lsp_servers/clangd/clangd/lib/clang/13.0.0 -- "/main/Small Projects/bitcoin/src/compressor.h"
Changing the -include=$HOME/projects/bitcoin  to -I.  makes it run without any errors or output.

Interesting, that seems to rule out at least most kinds of configuration issues.
Would you be able to get a log with --log=verbose added to clangd's command line arguments?

I was not able to find any way to pass the verbose flag. However, the issue resolved itself while I was trying to do that.
I am not sure why
  Add: [--std=c++17, -include $HOME/projects/bitcoin]
  # Add: [--std=c++17]```

But with this -include in my `~/.config/clangd/config.yaml` I get a bunch of  unrelated errors like the template type deduction, but upon removing it (like in the commented line), it all works well.

Anyway, thanks @HighCommander4 for taking you time to look into this, much appreciated.


Revert "Modify std.conv.octal to be usable at runtime"

Reverts D-Programming-Language/phobos#3343
I forgot that to and parse already do this:
auto x = parse!int(octalString, 8)

having 2 ways to do this, within the same module no less, is unnecessary. I'm wondering actually whether octal (the one that uses the literal at compile time) could actually simply forward to parse instead of having its own special mechanism.

Note: parse/to does not handle underscores, but I think we can probably update it to handle them.

I'm going to pull this, because I pulled the original PR, and because there is already another PR to allow the underscores.

Auto-merge toggled on


BUG ISSUE - Cannot create additional branch if there are already two

Original code in lib/prisma/branchThread
if (size < 3) {
      const updatedPhaseStage = await prisma.mainThread.update({
        where: {
          id: mainThreadId,
        },
        data: {
          phaseStage: phaseStage,
        },
      });
    } else {
      return { error: "You can't create more than 3 branches." };
    }

Prevents creation of branch if there are 3 branch thread objects existing in phaseStage object array.

Yeah seems like we have an issue in that code
So the specific issue is can't put the branchThread in the MainThread phaseStage index if there is 2 indexes in the phaseStage
Is it clear?

Yes, if two users try to create a new branch at the same time, it could result in more than three branches, even if the condition size <= 3 is checked. This problem is often referred to as a race condition, where the system's behavior is dependent on the sequence or timing of other uncontrollable events.
Any ideas for that?

@jasper-oh
What do you think of: https://www.prisma.io/docs/concepts/components/prisma-client/transactions

Ok it seems like simultaneous transaction issue. Let me check and give ya some comments asap. Thanks for sharing link.

I think it worked, here is the code
export async function createBranchThread(thread, mainThreadId) {
  try {
    await prisma.$transaction(async (prisma) => {
      const mainThread = await prisma.mainThread.findUnique({
        where: {
          id: mainThreadId,
        },
      });

      const threadFromDB = await prisma.branchThread.create({ data: thread });

      const phaseStage = mainThread.phaseStage || {};
      phaseStage[threadFromDB.id] = threadFromDB;
      const size = Object.keys(phaseStage).length;

      if (size <= 3) {
        const updatedPhaseStage = await prisma.mainThread.update({
          where: {
            id: mainThreadId,
          },
          data: {
            phaseStage: phaseStage,
          },
        });
        return { updatedPhaseStage };
      } else {
        throw new Error("You can't create more than 3 branches.");
      }
    });
  } catch (error) {
    return { error };
  }
}

We can run more tests when we meet

Nicely done @gdcho  appreciated


Fix CFG calculation

Voicebox paper suggest to use this formula:

But currently there is used such formula:

@Subuday it is the same. my version starts at 1. while yours at 0.


Transitive SSL Dependencies

I've been trying for a couple of days to get the installation to work, but unfortunately I haven't had very much success.  It's all pinned by this error:
[!] The 'Pods-Word Adventures' target has transitive dependencies that include static binaries: (/Users/panda/Desktop/Word Master v1/Pods/OpenSSL/lib/libcrypto.a and /Users/panda/Desktop/Word Master v1/Pods/OpenSSL/lib/libssl.a)
I've tried:

To add the static binaries manually including the search paths and including the files.
Installation of both open SSL as well as open ssl for iOS.

Any guidance you could provide would be greatly helpful.  I'd really like to use RMStore in my app.
Thanks,
Rich

I'm able to get it to work by directly including the Receipt verification files in my project. I import the rest of RMStore via cocoapods.
Files added directly to project:

AppleIncRootCertificate.cer
RMAppReceipt.h
RMAppReceipt.m
RMStoreAppReceiptVerifier.h
RMStoreAppReceiptVerifier.m

Podfile:
pod 'OpenSSL-Universal', '~> <IP_ADDRESS>'
pod 'RMStore'
pod 'RMStore/KeychainPersistence'

I'll try this tonight and let you know if it works.  Thank you.

Unfortunately I'm still getting the same error.  Reinstalled the pods (per above), and it's the same thing.
[!] The 'Pods-Word Adventures' target has transitive dependencies that include static binaries: (/Users/panda/Desktop/Word Master v1/Pods/OpenSSL/lib/libcrypto.a and /Users/panda/Desktop/Word Master v1/Pods/OpenSSL/lib/libssl.a)


Unread notification is not removed after reading sideways.

Describe the bug

Push notification on incoming message is not removed after this message is read outside.
To Reproduce
1.Login into Android app
2.Login into Windows Desktop app (example), same server, same credentials
3.Wait for incoming messages
4.See the push notification on smartphone about unread messages.
5.Go to Windows app and read incoming messages.
6.See the push notification is not removed.
Expected behavior
6.See the push notification is removed
Devices and Versions
Android 9, this rocket-chat {kotlin 3.5.0-2074}
Windows 10, this rocket-chat {electron 2.15.3}
Rocket server 1.1.3 engine 1.4.2

HI, it's quite unconvinient behavior better to be fixed. Is someone goint to look at it ?

This repo is now deprecated and issue will not get fixed here.
https://rocket.chat/2019/10/11/moving-mobile-apps-to-react/
https://github.com/RocketChat/Rocket.Chat.Android#important---please-read-this-first
Please close and move to the React Native Client
https://github.com/RocketChat/Rocket.Chat.ReactNative


#748 Empty placeholders: Failed to match Route configuration for upstream path

Fixes #748

#748

@raman-m I believe the PR is ready for review please give me your thoughts about this, and if there is anything I need to improve

@raman-m I addressed most of your concerns, and Looking forward to your new comments

Thanks for working on code review issues!
Too busy!... Sorry... Going to ask another Ocelot team members to review..
FYI I've added this PR to Jan'24 milestone...
If you are on fire having desire to work more, please pick up open tickets from Annual'23 backlog!... But seems there are no free tickets to assign because all Annual tickets have their PRs... Well... We can find something else...

@ggnaegi @RaynaldM  Please review!

Thanks for working on code review issues!
Too busy!... Sorry... Going to ask another Ocelot team members to review..
FYI I've added this PR to Jan'24 milestone...
If you are on fire having desire to work more, please pick up open tickets from Annual'23 backlog!... But seems there are no free tickets to assign because all Annual tickets have their PRs... Well... We can find something else...

Thanks alot, I am gonna lookup for More tickets to work on I am really excited to contribute more

@raman-m my daily submission, I addressed most of the comments regarding styling and clean code. waiting for your review

@AlyHKafoury  Did you check all user scenarios from #748 by the tests?

@AlyHKafoury Did you check all user scenarios from #748 by the tests?

Yes these are all the requests on the issue and extra ones for other cases I found that needed to be verified

OK I'm going to check code coverage and do quick final code review...

@raman-m if you have any changes you can request I am looking forward to contribute more in a lot of tickets

@raman-m is there a way I can run test coverage myself ?

Tomorrow...
Have a good evening!

@raman-m unit tests are added for the code, but I cannot check coverage yet

@AlyHKafoury commented on Jan 15:

Is there a way I can run test coverage myself?

Sure, there is! We use coverlet.collector package (see NuGet) to run code coverage by Coverlet tool. This is standard tool which included in xUnit Test Project template by Visual Studio. For NUnit template I'm not sure.
To get coverage results you need to

open console, Cmd or Bash
go to your repo and UnitTesting folder, for example in my environment: D:\github\Ocelot\AlyHKafoury\Ocelot\test\Ocelot.UnitTests
run command: dotnet test --collect:"XPlat Code Coverage"
wait for 1-2 minutes while building & testing, and you'll get a log like this:

copy the last GUID from the results list, this is GUID of .NET 8 case running.
make sure that command ReportGenerator is working in console, otherwise install dotnet-reportgenerator-globaltool by command dotnet tool install --global dotnet-reportgenerator-globaltool --version 5.2.0. See NuGet
run command with replacement of your copied GUID:
reportgenerator -reports:"d:\github\Ocelot\AlyHKafoury\Ocelot\test\Ocelot.UnitTests\TestResults\57b3a0c8-b218-4197-a5e2-b20fe6164078\coverage.cobertura.xml" -targetdir:"d:\github\Ocelot\AlyHKafoury\Ocelot\test\Ocelot.UnitTests\TestResults" -reporttypes:Html.
Sure you have to replace GUID and adjust your path to the solution folder.
you'll get a log like this:

go to d:\github\Ocelot\AlyHKafoury\Ocelot\test\Ocelot.UnitTests\TestResults folder and open index.html file in your browser

Sure your TestResults folder can be located anywhere.
Hope it helps!

I've added test cases for query strings and in middle replacements @raman-m

@raman-m should I fix https://github.com/ThreeMammals/Ocelot/commit/9f7e640ae8efdb3ff1e2325ce5e3c52c8105fa82

I've debugged a little bit, seems the problem is here
In feature branch: lines 60-64

@raman-m something is broken with Circle-CI ?

@raman-m all tests are passing locally now, please retry the Circle-CI test and check if you need more changes or unit tests

@raman-m something is broken with Circle-CI ?

Why do you think so?

@raman-m the tests fail because being unable to pull branch

Wow! Maybe CircleCI netwotking issue or GitHub deployments...

Everything is fine with your GitHub repo... I've re-cloned successfully...
Let me run the CircleCI build once again...

🆗 Let's wait the build 10 minutes... 😃  It was environment issue on CircleCI side.
Are tests green locally?

@raman-m tests have passed on Circle-CI, please do inform me if there are more needed changes

Well, Aly... I've added https://github.com/ThreeMammals/Ocelot/pull/1911/commits/2f614565564b68b68557399208ef7bf64ef06e11 which will have failed build because of Routing Tests when string downstreamURL is null while checking by these lines 851-856.
So, I added them to check query string case.
Probably it is better to move query constants to InlineData as extra parameter.
Please, fix and this will be the end of development. 😋

@raman-m I fixed the unit tests, and they also revealed a sneaky bug which I fixed also in the same commit, please review carefully the changes and inform me if there are anymore changes to do

@raman-m I believe the branch is ready for merge my side, waiting for your confirmation or change requests

It's mostly ready, but not quite...

@AlyHKafoury  I've added new these Routing tests and they failed.
Sorry, we have to fix them!... 😞
This theory should check possible breaking changes for the Catch All Query String feature. Seems this feature is broken now, or tests should be fixed.
I'm going to debug today... It will be nice if you help me too!..

@raman-m Please leave the debugging to me thanks for adding the failings tests and add more failing tests if they are needed and I can debug  them to insure I understand all ocelot functionality

Thank you!
We've made aggressive refactoring in route matching logic...
So, Better to double check current Routing sub-features.

@raman-m fixing the test cases now will submit commit today

@raman-m I added fixes for the unit tests, please review the added commits