Assertion error when clean is combined with -p flag.

Problem
In cargo 1.43.0 (3532cf738 2020-03-17)  but not in 1.42 the following assertion can be triggered when running cargo clean -p my-package:
thread 'main' panicked at 'assertion failed: self.host', src/tools/cargo/src/cargo/core/profiles.rs:920:13
stack backtrace:
   0: backtrace::backtrace::libunwind::trace
             at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.44/src/backtrace/libunwind.rs:86
   1: backtrace::backtrace::trace_unsynchronized
             at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.44/src/backtrace/mod.rs:66
   2: std::sys_common::backtrace::_print_fmt
             at src/libstd/sys_common/backtrace.rs:78
   3: <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt
             at src/libstd/sys_common/backtrace.rs:59
   4: core::fmt::write
             at src/libcore/fmt/mod.rs:1063
   5: std::io::Write::write_fmt
             at src/libstd/io/mod.rs:1426
   6: std::sys_common::backtrace::_print
             at src/libstd/sys_common/backtrace.rs:62
   7: std::sys_common::backtrace::print
             at src/libstd/sys_common/backtrace.rs:49
   8: std::panicking::default_hook::{{closure}}
             at src/libstd/panicking.rs:204
   9: std::panicking::default_hook
             at src/libstd/panicking.rs:224
  10: std::panicking::rust_panic_with_hook
             at src/libstd/panicking.rs:470
  11: std::panicking::begin_panic
  12: cargo::core::compiler::unit_dependencies::compute_deps
  13: cargo::core::compiler::unit_dependencies::deps_of
  14: cargo::core::compiler::unit_dependencies::deps_of_roots
  15: cargo::core::compiler::unit_dependencies::build_unit_dependencies
  16: cargo::ops::cargo_clean::clean
  17: cargo::commands::clean::exec
  18: cargo::cli::main
  19: cargo::main
  20: std::rt::lang_start::{{closure}}
  21: std::rt::lang_start_internal::{{closure}}
             at src/libstd/rt.rs:52
  22: std::panicking::try::do_call
             at src/libstd/panicking.rs:303
  23: __rust_maybe_catch_panic
             at src/libpanic_unwind/lib.rs:86
  24: std::panicking::try
             at src/libstd/panicking.rs:281
  25: std::panic::catch_unwind
             at src/libstd/panic.rs:394
  26: std::rt::lang_start_internal
             at src/libstd/rt.rs:51
  27: main
  28: __libc_start_main
  29: <unknown>

Steps

Use Rustup to upgrade to cargo 1.43.0
enter into a package directory
run cargo clean -p package-name where "package-name" is a valid package name to be cleaned.

Notes
cargo clean without the -p flag works fine.
Output of cargo version:
cargo 1.43.0 (3532cf738 2020-03-17)
This is running on x86_64 GNU/Linux .

Thanks for the report. I can't quite figure out a way to reproduce this. Is this in a public repo that I can look at?  If not, do you think you could create a reproduction?

@ehuss I have invited you to the repository. You can see how the code is being invoked in the .github/workflows/cibuild.yml config file.

Thanks @tkaitchuck!  I see the problem, it is embarrassingly easy to hit (cargo clean -p foo for any foo with a build dependency).
cargo clean -p has had a long history of not working very well.  I'm taking a look to see if there is some slightly better approach for how it can work.


When setState within the realtime.connection.on().listen() method

ablyRealtime.connection.on().listen((event) {
      if (event.current == ably.ConnectionState.connected) {
        if (mounted) {
          setState(() {
            isAblyConnected = true;
          });
        }
      } else {
        if (mounted) {
          setState(() {
            isAblyConnected = false;
          });
        }
      }
    });

This is my source code, but initState is adding listeners. Usually the app is in the background. When I come back to foreground, the connection state changes, but if the current state is not connected, I'm trying to show the loading UI, but sometimes I only see a black screen on my Android device. Of course, the iPhone works fine. If anyone is using the loading UI when the connection state is not connected, please advise
┆Issue is synchronized with this Jira Task by Unito

Did you also test this on emulator app? Can you bundle the sample code and upload it as a example app so we can test it from our side?

It is an environment where the connection state is maintained in the simulator and cannot be tested. It only occurs when it is tested with a real device

It seems mounted might be returning false because widget might not be fully loaded when coming from background to foreground. You should rather use https://stackoverflow.com/a/61647060/7363205

Or you can simply update the state after adding some delay. That way, component will be mounted. But it's not that of a efficient way to update component state. you should try above options first.

Hi @walkerJung let me know if above solution worked for you. If it did, we can close the issue.

ablyRealtime.connection.on().listen(
      (event) {
        if (mounted) {
          setState(() {
            isAblyConnected = event.current == ably.ConnectionState.connected;
          });
        }
      },
    );

I changed my source code like this. It works as expected, but sometimes it takes about 20 seconds for the connection state to change to connected, and I think showing the loader UI during this time is bad for the user experience. Is there a way to connect faster? This is an issue that only happens on Android physical devices

How does the status change of connection work when the app comes back to foreground from background?

I've tested it and the connection state is disconnected when the app goes to the background on an Android real device and comes back to the foreground in 2 to 3 minutes.

Connection has different states =>
CONNECTED => DISCONNECTED => keeps trying to connect with disconnectedRetryTimeout(15s) for 2 minutes => if still not connected goes into SUSPENDED state and keeps retrying indefinitely with suspendedRetryTimeout(30s).

It only goes into FAILED state if error received on connection ( invalid auth token ) is not reytrayable.

When the app moves to the background
The state changes from connected to disconnected,
So you keep trying to reconnect every 15 seconds for 2 minutes even in the background?
If it doesn't reconnect for two minutes, it goes into suspended state
Does it make sense that when you get suspended, you try to reconnect once every 30 seconds?

Yeah, because the error received is retryable, I think you should log this behaviour in the logcat or something

It changes back to connected when it's disconnected or suspended, but Android devices seem to take some time, is there any way to speed up this part?

You can set disconnectedRetryTimeout and suspendedRetryTimeout to change the reconnect timeouts.

Even if you set it to 1000ms, there is no difference in the time it connects again

May I ask you to upload the example repo. for this? Also, proper steps to reproduce the same .

It's a little hard to share the entire repository of the app. Is it okay if I share the apk file?

You can create a new project. with ably specific flutter code only with keys removed. That shouldn't take much time WDYT. I can test with apk file but I will need exact source code to look for proper error.

OK, I'll give it a try.
Is there anything wrong with setting disconnected RetryTimeout and suspendRetryTimeout to 1 second?

No, there's no issue doing that 👍


Show spinner while pushing package

This modifies package push to show a spinner while its uploading so there is some user feedback.
Also adds a pkg alias for package.

Can you add something to show the process? Like a gif so we can see what happens when the command runs, when it's running and when it's finished?

Can you add something to show the process? Like a gif so we can see what happens when the command runs, when it's running and when it's finished?

@mcncl I started work on a progress bar in https://gist.github.com/jradtilbrook/4691ab924bc89743e7e4b6d8a3424173 but this approach has quite a few issues; it only shows based on reading the file off disk, not actually uploading it, and even after we do that, the server takes some time to open and inspect it to save it so we are left with a chunk of time we cannot know much about.
There is going to be improvements to the push command to use multipart uploads so I'm think we wait for that, which should give us a much more accurate progress measure


com.ibnux.smsgateway.data.MyObjectBox not found

I think you have not pushed on the repo the class MyObjectBox
Can you update the project?
Thank you :)

Just build the project
It will created automatically
Read documentation about objectbox in here
https://docs.objectbox.io/getting-started

thank you


Enhanced LRC file format support

Enhanced LRC format is an extension of Simple LRC Format developed by the designer of A2 Media Player.
I'll announce if I have any progressive work done.

I've checked a branch feature/enhanced-lrc for this feature, please watch this out if you're interested.

Hello is this feature currently ongoing? just curious thanks

Hello is this feature currently ongoing? just curious thanks

Hi, so sorry for the late reply, so far I really do not have much parttime for open source projects because the company job troubles me a little, so the update might be delayed, I will update the status if I get started this feature.

@jayasme hey thanks for the reply it's totally fine! :)


fix: preserve original error stack

Currently errors logged by h3 always point to h3 itself rather than the source of the error, e.g.:
[h3] [unhandled] H3Error: window is not defined
    at createError (file:///private/tmp/vueqr/node_modules/.pnpm/h3@0.7.14/node_modules/h3/dist/index.mjs:238:15)
    at Server.nodeHandler (file:///private/tmp/vueqr/node_modules/.pnpm/h3@0.7.14/node_modules/h3/dist/index.mjs:431:21) {
  statusCode: 500,
  fatal: false,
  unhandled: true,
  statusMessage: 'Internal Server Error'
}
[nuxt] [request error] window is not defined
  at createError (./node_modules/.pnpm/h3@0.7.14/node_modules/h3/dist/index.mjs:238:15)
  at Server.nodeHandler (./node_modules/.pnpm/h3@0.7.14/node_modules/h3/dist/index.mjs:431:21)

This PR changes it to the original stack trace:
[h3] [unhandled] ReferenceError: window is not defined
    at $id_aX1WMBYGcH (file:///private/tmp/vueqr/.nuxt/dist/server/server.mjs:4520:5)
    at async __instantiateModule__ (file:///private/tmp/vueqr/.nuxt/dist/server/server.mjs:8426:3) {
  statusCode: 500,
  fatal: false,
  unhandled: true,
  statusMessage: 'Internal Server Error'
}
[nuxt] [request error] window is not defined
  at $id_aX1WMBYGcH (./.nuxt/dist/server/server.mjs:4520:5)
  at async __instantiateModule__ (./.nuxt/dist/server/server.mjs:8426:3)

Would you please provide a (nitro) reproduction how do you throw errors? I think we might use a simpler method but need to try.

https://stackblitz.com/edit/github-p8e2d2?file=routes%2Findex.ts

Update:

I tried with v8 native Error.captureStacktrace with no luck (might try again later)
Added implementation to use a lazy getter for input.stack also try catch to avoid runtime errors. V8 at least, generates stack trace string when this property is being accessed which is why doing this to delay and only access when needed by runtime


[do not merge] add project file

Coverage remained the same at 100.0% when pulling 896af84664d06772a5ee0066b21a97d8f5d83573 on sk/project-file into 66607a62a83cb07ab18c0b35c038fcd62987c9b1 on master.

Coverage remained the same at 100.0% when pulling 896af84664d06772a5ee0066b21a97d8f5d83573 on sk/project-file into 66607a62a83cb07ab18c0b35c038fcd62987c9b1 on master.


[LiveComponent] Fix trim classes in live_controller.js

Fix trim classes in live_controller.js .. . and should solve #1358
Add various CS / minor fixes while i looked at the code... you may refuse as it's way over the original scope :)

Thank you Simon!


OpenAIEmbeddings: Add optional an optional parameter to skip empty embeddings

Description
Issue
This pull request addresses a lingering issue identified in PR #7070. In that previous pull request, an attempt was made to address the problem of empty embeddings when using the OpenAIEmbeddings class. While PR #7070 introduced a mechanism to retry requests for embeddings, it didn't fully resolve the issue as empty embeddings still occasionally persisted.
Problem
In certain specific use cases, empty embeddings can be encountered when requesting data from the OpenAI API. In some cases, these empty embeddings can be skipped or removed without affecting the functionality of the application. However, they might not always be resolved through retries, and their presence can adversely affect the functionality of applications relying on the OpenAIEmbeddings class.
Solution
To provide a more robust solution for handling empty embeddings, we propose the introduction of an optional parameter, skip_empty, in the OpenAIEmbeddings class. When set to True, this parameter will enable the behavior of automatically skipping empty embeddings, ensuring that problematic empty embeddings do not disrupt the processing flow. The developer will be able to optionally toggle this behavior if needed without disrupting the application flow.
Changes Made

Added an optional parameter, skip_empty, to the OpenAIEmbeddings class.
When skip_empty is set to True, empty embeddings are automatically skipped without causing errors or disruptions.

Example Usage
from openai.embeddings import OpenAIEmbeddings

# Initialize the OpenAIEmbeddings class with skip_empty=True
embeddings = OpenAIEmbeddings(api_key="your_api_key", skip_empty=True)

# Request embeddings, empty embeddings are automatically skipped. docs is a variable containing the already splitted text.
results = embeddings.embed_documents(docs)

# Process results without interruption from empty embeddings

This change in 0.0.283 breaks backwards compatibility for me. When unpickling objects that used the OpenAIEmbeddings and trying to use them I get errors related to the presence of skip_empty :(
I don't know if this is the right place for this, but thought I should let someone know!
Error:
[ERROR] AttributeError: 'OpenAIEmbeddings' object has no attribute 'skip_empty'
Traceback (most recent call last):
  File "/var/task/lambda_function.py", line 107, in lambda_handler
    chat_handler(conv_id, body["content"], fast)
  File "/var/task/lambda_function.py", line 12, in chat_handler
    response = analyst_chat_response(conv_id, query, messages, fast)
  File "/var/task/lambda_function.py", line 45, in analyst_chat_response
    related_messages, related_messages_metadata = message_docs.get_related_chunks_and_metadata_faiss(rephrased_prompt, [], k=20)
  File "/var/task/docs.py", line 38, in get_related_chunks_and_metadata_faiss
    results = faiss_index.similarity_search_with_relevance_scores(query, k=k)
  File "/var/task/langchain/vectorstores/base.py", line 247, in similarity_search_with_relevance_scores
    docs_and_similarities = self._similarity_search_with_relevance_scores(
  File "/var/task/langchain/vectorstores/faiss.py", line 764, in _similarity_search_with_relevance_scores
    docs_and_scores = self.similarity_search_with_score(
  File "/var/task/langchain/vectorstores/faiss.py", line 275, in similarity_search_with_score
    embedding = self.embedding_function(query)
  File "/var/task/langchain/embeddings/openai.py", line 511, in embed_query
    return self.embed_documents([text])[0]
  File "/var/task/langchain/embeddings/openai.py", line 483, in embed_documents
    return self._get_len_safe_embeddings(texts, engine=self.deployment)
  File "/var/task/langchain/embeddings/openai.py", line 367, in _get_len_safe_embeddings
    response = embed_with_retry(
  File "/var/task/langchain/embeddings/openai.py", line 107, in embed_with_retry
    return _embed_with_retry(**kwargs)
  File "/var/task/tenacity/__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)
  File "/var/task/tenacity/__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)
  File "/var/task/tenacity/__init__.py", line 314, in iter
    return fut.result()
  File "/var/lang/lib/python3.9/concurrent/futures/_base.py", line 439, in result
    return self.__get_result()
  File "/var/lang/lib/python3.9/concurrent/futures/_base.py", line 391, in __get_result
    raise self._exception
  File "/var/task/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)
  File "/var/task/langchain/embeddings/openai.py", line 105, in _embed_with_retry
    return _check_response(response, skip_empty=embeddings.skip_empty)

That is sadly a consequence of using pickled objects, they are completely dependant on the exact versions of the libraries and code that you used at the time you dumped the object.


gh: 2.45.0 -> 2.46.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/cli/cli/releases.
meta.description for gh is: GitHub CLI tool
meta.homepage for gh is: https://cli.github.com/
meta.changelog for gh is: https://github.com/cli/cli/releases/tag/v2.46.0
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.46.0 with grep in /nix/store/65q9rx4ss0wy45wbxxnd276ygv2c9xxb-gh-2.46.0
found 2.46.0 in filename of file in /nix/store/65q9rx4ss0wy45wbxxnd276ygv2c9xxb-gh-2.46.0

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

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath
gh
github-cli

Instructions to test this update (click to expand)

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

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

Or:
nix build github:r-ryantm/nixpkgs/c06e63d68b63a63b33e229c87bb3df9ad9bb890a#gh

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

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

1 package built:

gh

Maintainer pings
cc @zowoq for testing.

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

1 package built:

gh (github-cli)

Tested Locally

Result of nixpkgs-review pr 297564 run on aarch64-darwin 1

1 package built:

gh (github-cli)

Thanks for merging, @zowoq, much appreciated! 👍


docs: Make contributing.md slightly more clear for newer contributors

Hello dear maintainers:
Based on my new experience contributing for the 1-2 time, I think the following additions on the Contributing.md could help newer contributors to know exactly what commands they should execute to sort of check their PR before CI flags it. Being more explicit over just waiting for the CI to tell you has the advantage of:

More PRs not failing tests + linting
Make contributor aware of specifically what tools the repo is using to check for correctness.
Making sure their new/change feature does not break current functionality. Specifically, i mean that just running nox or cargo test doesnt run test code for --features, but the CI does, thus a contributor would assume everything goes alright until its flagged by CI and the "angry" maintainer checks that such a basic check wasn't done by the contributor. :).

These are just my 2 cents, thanks for the great repo :).
Edit: Since I am not familiar at all with the repo, I assume there are other tips and tricks that are checked in CI and for the code, so I could gladly add them if pointed out that its missed.

I'm definitely in favour of better guidance on which tests to run locally. I usually just do the basic nox -s test and leave the rest to CI, but I'm sure this isn't the most efficient approach.

I'm definitely in favour of better guidance on which tests to run locally. I usually just do the basic nox -s test and leave the rest to CI, but I'm sure this isn't the most efficient approach.

Yeah but I feel thats what bit me, because I was changing code in rust_decimal which is only run if you manually run cargo test --features rust_decimal or if you wait for CI, thus sometimes nox -s test might not be enough


Account running out of funds error is ineligible

Problem
When user's account runs out of funds on some action - error shown is not really useful.
People don't know what to do and why this issue happening to them.
Expected Behavior
We show something like "Your account is out of space. To be able to do this or other actions, you need to add more $NEAR on it.". Also if this is a multisig specifically - mention that "Actions on multisig require space and disabled, so you need to top of account from somewhere else".
For multisig case this should be specifically managed better.
Steps to reproduce

On a 2FA account send MAX amount of funds out
Try to execute any action
Observe an error

Example transaction that user got having 36N with multisig contract: https://explorer.near.org/transactions/DgsFhiZcYQRYQV6DRxSLyRs1NAB5MSzEZDxY9toc8Y6b

@kcole16 I'm wondering if it needs some specific function to capture this error and display it in a human-readable format? The RPC returns a LackBalanceForState - which is not user friendly
Failure:
{
  "ActionError": {
    "index": null,
    "kind": {
      "LackBalanceForState": {
        "account_id": "tongcp1576.near",
        "amount": "11975657484511667873019"
      }
    }
  }
}


enhancement: OS dependency removal

Why do we need it?
it will remove any operating system dependency from the ksctl core
What it will bring?
it will help us use the ksctl core in any environment with maximum flexibility
### Sub-Tasks
- [ ] #226
- [ ] #231
- [ ] #229
- [ ] #193

Additional context

Note
This issue should not be closed until all the sub issues are resolved

Check Contribution's guidelines

From the meeting notes
we must added an extra field when storing the stateConfiguration data
like what is the clusterType

https://github.com/kubesimplify/ksctl/blob/3a122382579d7aa020cd5ed0cb161070752d49ab/internal/cloudproviders/azure/main.go#L46


Changed the double tab to one tab

The current Apache License, Version 2.0 has two tabs (8 spaces). But the officiel Apache License, Version 2.0 has one tab (4 spaces); http://www.apache.org/licenses/LICENSE-2.0.html#apply

Thank you!
I think we must find another way to fix this because the provided pull request would have a lot of impacts on all users who use the pre-configured license header.

You can make a new release (bug-fix), or host it somewhere else. I resolved it for my own projects by using and hosting my custom template. Notice, I use a custom ${year} attribute.


New performance counters related to zero-copy chunks.

/zchunks/count/{}/{}: total number of zero-copy chunks.
/zchunks/count-max/{}/{}: maximum number of zero-copy chunks per message.
/zchunks/size/{}/{}: total size of zero-copy chunks.
/zchunks/size-max/{}/{}: maximum size of zero-copy chunks.
Still need to update the documentation.

Just one question: What are zchunks?

Just one question: What are zchunks?

Zero-copy chunks. This is probably not the best name. Do you have any suggestions?

Just one question: What are zchunks?

Zero-copy chunks. This is probably not the best name. Do you have any suggestions?

What about /parcelport/count/lci/zero_copy_chunks?

Just one question: What are zchunks?

Zero-copy chunks. This is probably not the best name. Do you have any suggestions?

What about /parcelport/count/lci/zero_copy_chunks?

Some existing counters:
/parcels/count/{tcp or mpi or lci}/{sent or received}: the number of parcels sent/received
/messages/count/{tcp or mpi or lci}/{sent or received}: the number of messages sent/received
/data/time/{tcp or mpi or lci}/{sent or received}: the total time spent on data transfer on sender/receiver side
I don't think /parcelport/count/{tcp or mpi or lci}/zero_copy_chunks follows the same pattern?

Just one question: What are zchunks?

Zero-copy chunks. This is probably not the best name. Do you have any suggestions?

What about /parcelport/count/lci/zero_copy_chunks?

Some existing counters: /parcels/count/{tcp or mpi or lci}/{sent or received}: the number of parcels sent/received /messages/count/{tcp or mpi or lci}/{sent or received}: the number of messages sent/received /data/time/{tcp or mpi or lci}/{sent or received}: the total time spent on data transfer on sender/receiver side
I don't think /parcelport/count/{tcp or mpi or lci}/zero_copy_chunks follows the same pattern?

I thought it did, actually ;-) So far, performance counter names consisted out of 3 parts: the general topic (/parcelport), the 'type' (/count), and some additional information explaining what the counter measures (e.g. /{tcp|mpi|lci|...}/something). I'm fine with anything however, as long as it roughly follows the existing scheme.

I thought it did, actually ;-) So far, performance counter names consisted out of 3 parts: the general topic (/parcelport), the 'type' (/count), and some additional information explaining what the counter measures (e.g. /{tcp|mpi|lci|...}/something). I'm fine with anything however, as long as it roughly follows the existing scheme.

Okay, so the counters will be:
/parcelport/count/{tcp|mpi|lci}/zero_copy_chunks/{sent|received}: total number of zero-copy chunks.
/parcelport/count-max/{tcp|mpi|lci}/zero_copy_chunks/{sent|received}: maximum number of zero-copy chunks per message.
/parcelport/size/{tcp|mpi|lci}/zero_copy_chunks/{sent|received}: total size of zero-copy chunks.
/parcelport/size-max/{tcp|mpi|lci}/zero_copy_chunks/{sent|received}: maximum size of zero-copy chunks.
How do you think?

I thought it did, actually ;-) So far, performance counter names consisted out of 3 parts: the general topic (/parcelport), the 'type' (/count), and some additional information explaining what the counter measures (e.g. /{tcp|mpi|lci|...}/something). I'm fine with anything however, as long as it roughly follows the existing scheme.

Okay, so the counters will be: /parcelport/count/{tcp|mpi|lci}/zero_copy_chunks/{sent|received}: total number of zero-copy chunks. /parcelport/count-max/{tcp|mpi|lci}/zero_copy_chunks/{sent|received}: maximum number of zero-copy chunks per message. /parcelport/size/{tcp|mpi|lci}/zero_copy_chunks/{sent|received}: total size of zero-copy chunks. /parcelport/size-max/{tcp|mpi|lci}/zero_copy_chunks/{sent|received}: maximum size of zero-copy chunks.
What do you think?

Sounds good. The only possible issue might be that the last part of the performance counter name (the /{tcp|mpi|lci}/zero_copy_chunks/{sent|received}) could be expected to consist of two parts only (not three). Let's try if it works, If you run into issues I'll adapt the parsers responsible for taking apart the names.

zero_copy_chunks/

It works!
python hpxrun.py ./hello_world_distributed -r mpi -l 2 -t 4 -p lci -- --hpx:print-counter /parcelport/count/lci/zero_copy_chunks/sent --hpx:print-counter /parcelport/size/lci/zero_copy_chunks/sent
hello world from OS-thread 3 on locality 1
hello world from OS-thread 0 on locality 1
hello world from OS-thread 2 on locality 0
hello world from OS-thread 3 on locality 0
hello world from OS-thread 1 on locality 0
hello world from OS-thread 0 on locality 0
hello world from OS-thread 2 on locality 1
hello world from OS-thread 1 on locality 1
/parcelport{locality#0/total}/count/lci/zero_copy_chunks/sent,1,0.340167,[s],1
/parcelport{locality#1/total}/count/lci/zero_copy_chunks/sent,1,0.340653,[s],0
/parcelport{locality#0/total}/size/lci/zero_copy_chunks/sent,1,0.340326,[s],164
/parcelport{locality#1/total}/size/lci/zero_copy_chunks/sent,1,0.340934,[s],0

Could you please go over the documentation one more time and make sure LCI is mentioned wherever needed?
Otherwise, LGTM, thanks a lot!

I think it would better be done in a different PR? It seems to require a lot of changes to the documentation.

Could you please go over the documentation one more time and make sure LCI is mentioned wherever needed?
Otherwise, LGTM, thanks a lot!

I think it would better be done in a different PR? It seems to require a lot of changes to the documentation.

Sure, let's do that. Let's get this merged. Thanks!

bors merge

bors cancel

There is that compilation problem on the windows builder: https://github.com/STEllAR-GROUP/hpx/runs/6277069011?check_suite_focus=true

There is that compilation problem on the windows builder: https://github.com/STEllAR-GROUP/hpx/runs/6277069011?check_suite_focus=true

Let's not rush this in for the upcoming release. We have all the time we need here.

There is that compilation problem on the windows builder: https://github.com/STEllAR-GROUP/hpx/runs/6277069011?check_suite_focus=true

Fixed it.

bors merge


chore: add styleguide (initial version)

Here's the current version with the following atoms:

Colors;
Buttons;
Typography;

It would be awesome if we add a Design section to the Contributing part of the README. This PR should follow the conventions defined there.


Thank you for your reply and hard work!

Thank you for your reply and hard work!
I have two more questions to ask you.
1.How can I input a picture and then display the hand skeleton? like in the paper.
2.Can the input be changed from a picture to real-time gesture recognition using a depth camera?

Thank you for your reply and hard work! I have two more questions to ask you. 1.How can I input a picture and then display the hand skeleton? like in the paper. 2.Can the input be changed from a picture to real-time gesture recognition using a depth camera?

You can structure the input image to match the format expected by the "process_single_view_input" function. Subsequently, proceed to pass it through the model to obtain the output, which should then undergo processing via the "process_output" function. Finally, utilize this function to display the 2D skeleton, utilizing the first two dimensions of the "output["coord_uvd"]" data.
I believe the input of HaMuCo could be altered to accommodate depth images by converting them into 3 channels. However, HaMuCo does not fully account for the nature of depth images, rendering it suboptimal for this input format and potentially necessitating further adjustments.


Fix urls for queries with spaces

Fixes #10 - this is definitely the fault of gh_inspector.
Changed a bunch of specs to reflect spaces to ensure everything is 👍

Looks great 👍


Tests fail if http is disabled for the proxy

The tests have http:// hardcoded and will fail if proxy.http.enabled = false.  If this is disabled it should use https:// instead.  It also seems strange to have the restartPolicy set to OnFailure for a test.  If the test fails, like in the case of http being disabled, it will just keep running the tests in a crashloop.

How are you using the tests in practice? We'd originally put them in place for our CI tooling and didn't expect that end users would run them, so they make some configuration assumptions based on the default configuration we test with.
As they're templates also, you should be able to use conditionals based on the proxy.<http/tls>.enabled similar to what we have for determining the admin API URL. Would you be interested in contributing a PR?

Our pipelines run helm test and rollback if the tests don't pass.  I will see if I can get some cycles to put a PR together.  It should be pretty straight forward.


Create a 2.8.0 build

Copy pasting form the readme no longer works, as 2.8.0 has not been released.

Update of DacFx to 162.3
support for dotnet pack without requiring a .nuspec file

@jmezach ^^

Oops, forgot about that. I'll create a 2.8.0 release branch now.

No worries and thanks a lot! 🎉

2.8.0 is up on NuGet now

Perhaps we should document the release process so that everybody can do it ;).

That would be great!


CDK Version Update

The CDK is now at v1.102.0 but the blueprint currently references 1.91. At what point do we want to add something like dependabot to automatically update the different versions for the CDK and addons? Most (if not all) my issues are stemming from versioning issues.

Versioning issues are not going to be solved by CDK version update, since the moment when you update to 1.102, the CDK will move to 1.103 and it is a never ending race. So it is not going to be done to fix issues, we still need clear guidance of version of CDK customers must use.
To answer your question about when: typically it is done on a cadence every sprint (or two sprints). So we need something like a recurring issue every 2-4 weeks.  It can be accelerated if there is a specific feature in the latest CDK that we need. Is there anything specific that you would like to use in 102?

There wasn't a specific feature in 102 that stood out but was more focused on your first point as to providing guidance for customers on what version to use. If anything we'll probably just need to add a note to the README as to which version of the CDK customers should use since if you run npm install -g aws-cdk it automatically installs the latest version.

It is a great point. The README should state explicitly which CDK version must be installed. So npm install -g aws-cdk is actually a defect in the document that should be fixed.
We should always state in the README the version that we tested against to prevent negative customer experience, e.g. npm install -g<EMAIL_ADDRESS>and this version should be updated each time we move CDK to a later version. Good catch!


🍳 puffin-egui: Incorrect flamegraph frame selection input handling

Describe the bug
With prior versions it was possible to select a specific frame within the flamegraph viewer. With the lastest version selecting a specific frame focuses the ScrollArea wrapping the lists of frames instead. I think this is due to egui v0.27's changes to how input handling is performed.
To Reproduce
Steps to reproduce the behavior:

Run the eframe.rs example.
Open the flamegraph.
Pause the frame collection with space.
Select any of the previous frames.
Notice that this is not possible and scrolling is activated instead.

Expected behavior
I expect to select the frame I clicked on, as was the case with egui v0.26.

Broke by https://github.com/EmbarkStudios/puffin/pull/201

This was accidentally closed through #211, as I phrased my sentence unclearly. After that PR the issue is still present for me.


Move Linq feature into DocumentFormat.OpenXml.Packaging namespace

As discussed in #1026, this PR moves the root XElement feature-related classes contained in the DocumentFormat.OpenXml.Linq assembly into the DocumentFormat.OpenXml.Packaging namespace.
To differentiate the feature-related interface and classes from the other classes contained in the assembly, the feature-related interface and classes are moved into the Feature folder.
To align the unit tests with the changed API, the unit test methods are renamed. The W class contained in the unit test project is deleted as it is no longer required (since the DocumentFormat.OpenXml.Linq assembly now contains all generated classes, including W).
Fixes #1026

/azp run


Bugfix/warning messages with g option

This removes the warnings that used to appear if you used -g without an output file. It also makes it possible to use -g without an input file.

Although this was not addressed by this pull request, I will only mention that it really bugs me that the actual code that prints the policy digest value does not include a newline character after the policy digest value. Since this type of minor "clean-up" is consistent with this pull request, I am suggesting that we also sneak a small change in to fix this.
I am much more ambivalent about the fact that the policy digest is not printed with any type of label.
In summary, on line 174 of 'src/tpm/kmyth_seal_unseal_impl.c', I would have coded it something like:
printf("policy digest: %s\n", output_string);

I realize that this is a very subjective and somewhat trivial comment, though, and am open to disregarding it or addressing it in a better way than I suggest.

Made this change in 1c61657


Mismatch - Docker Compose Debian vs OpenShift RHEL UBI

Pick a winner and use in both areas.  Consistency is important!

https://github.com/bcgov/greenfield-template/issues/483

I'd recommend keeping this open as a low-to-medium priority.  Letting docker-compose.yml and deployment differ can introduce errors. @gormless87


Fixing columnIndex key missing from schema column

Copy/Paste doesn't work if just providing data and no schema. If the schema is auto generated, each column is missing columnIndex which is referenced when pasting content.
Fixes issue #269
Changes proposed in this pull request:

Adding columnIndex to auto generated schema column

THANKS!


DrawPhysics2D is Not available for 2021.3.17

Hi.
DrawPhysics2D is Not available for Unity 2021.3.17 at all. Can you support this major version?

Hi, thanks for the report, this seems to have been a mistaken define, unsure how it got there.
This has been fixed in 2.1.0 which is now on OpenUPM.

Thanks


Error on iPhone (TypeError: undefined is not an object (evaluating 'd.clientX'))

I'm getting this error on iphone, sometimes player not react on touching, and video not starting to play:
I — client.js:8:425TypeError: undefined is not an object (evaluating 'd.clientX')

Is this on an actual device or on a desktop browser emulating an iPhone? We've seen this on the latter, but not yet on the former. If on an actual device, can you share the device type and version? Thanks!

it's on actual device MD298KN/A (iphone 5), iOS version 10.2.1 (14D27)

We are also experiencing this issue on iPhone you can test on the main video on our homepage.
https://s3bubble.com/
Sometimes it will work sometimes it will not, I think it's down to whether the ad loads correctly or not or might be a https issue not sure.
Thanks

Hi @shawnbuso
Any updates on this?
We are experiencing issues on mobile i have moved the test to here.
http://streamiumtheme.com/action/beauty-the-beast-trailer/
It play fine through the desktop no issues works great but it you open the url on iPhone i am testing on a 6 the it just hangs and the video doesn't start.
If i test with chrome with iphone selected in devs tools i get this error and it skips.
"The media could not be loaded, either because the server or network failed or because the format is not supported."

I have setup a test suite here:
https://s3bubble.com/advert-tester/
The url i am using is.
https://googleads.g.doubleclick.net/pagead/ads?ad_type=video&client=ca-video-pub-4968145218643279&videoad_start_delay=0&description_url=http%3A%2F%2Fwww.google.com&max_ad_duration=40000&adtest=on

Thanks
Sam

@samueleastdev are you still seeing your issue? I loaded up your test page on desktop but I'm not seeing an ad, so maybe the serving expired?


Auto-merge button in viewlet needs window reload to reflect state in GitHub

Testing #3657
Changing the auto merge setting in Github requires a window reload to reflect the state in the create PR viewlet. In the PR editor the state is reflected correctly.
Before reload:

After reload:

Actually you also need to reload if the type of the allowed auto merges changes:
Before reload:

After reload:

I was trying to be smart and not make the same request multiple times since it's a value that seldom changes and that's a request that will either slow down extension activation or add delay into the "create" view showing.
Let me see if there's somewhere I can make the request that won't cause slowness at these important points.

I'll update the state when the "Cancel" button is clicked.


#55: Unified the interfaces for creation of dB Objects

Closes #55

@chiaradiamarcelo, @jakobbraun Could you please review the PR. Let me know if I have missed any class where this change might be applicable.

@chiaradiamarcelo thanks. I'll check and update the PR.

Hi @chiaradiamarcelo, I have updated the PR. Please check. If the changes are fine then please merge the PR also as I am not authorized to merge it. Thanks!!!

hey @priyank0910 , it looks great. Thanks a lot for the contribution!


Support for StripOffsets and StripByteCounts in DNG tags

Currently only DNG files that use tags TileOffsets and TileByteCounts are supported while the tags StripOffsets and StripByteCounts are not recognized (postprocess() fails with 'Unexpected end of file'... 'Input/output error').

Your best bet is to ask the libraw developers at https://www.libraw.org/forum. rawpy only wraps libraw.


Add new parser - Rapplex

Rapplex - Web Application Security Scanner
For more information, Rapplex

@AlperenY-cs I just kicked off the tests - they'll need to be green before we'll merge this PR - the Ruff linter has issues you can address now or when the rest of the tests have run.

@AlperenY-cs I just kicked off the tests - they'll need to be green before we'll merge this PR - the Ruff linter has issues you can address now or when the rest of the tests have run.

Thanks. I solved the ruff linter's problems. #fyi

@albay Closing and re-opening as the tests seem stuck for some reason

@AlperenY-cs one last thing that needed is to update the settings hash, and then I think this one will be good to go!
Details for doing so are here: https://github.com/DefectDojo/django-DefectDojo/blob/67a75710d6991a3ee3d4ed8dca7d0ef5c9cef46a/dojo/settings/settings.dist.py#L1C1-L11C106

@mtesauro Hi, is there anything I need to do?

@AlperenY-cs Looks like there's a conflict with the settings.dist.py - mind (re)doing what @Maffooch said above: https://github.com/DefectDojo/django-DefectDojo/pull/10202#issuecomment-2151063763 Other then the merge conflict, this looks good.
Once the merge conflicts are sorted out, the rest of the reviews/approvals can start happening.


Integrate HUnit changes

Thanks! I'm happy to hit the merge button, but do you have any interest in becoming a collaborator on the repo and taking over maintainership? I don't use this at all anymore.


Raspi management and uploading motion detected clips

utils/raspi/README.md can be helpful to see how the old Raspi setup worked.

[ ] Record security camera footage
[ ] #84
[ ] #48
[ ] Create a docker image that can be propagated to all systems
[ ] Create robust checks with healthchecks.io and make sure RTSP is working to the cameras
[x] #38

We have decided to create and clone SD cards to lower setup time.

I discovered that sometimes the BARLUS cameras might fail to send video, requiring a restart to have RTSP working again. We require alerts when the Jetsons fail to grab video using RTSP.

Tailscale can't reasonably setup notifs when systems go down right now, so I used healthchecks.io from last year to setup notifs from each site again using crontab to ping every minute from each device.


Missing import in SequenceR.py

Hi,
I'm attempting to use sequenceR with Cerberus, but it do not import the definitions (from app.core) in the file SequenceR.py located at in app/drivers/tools/repair/java/SequenceR.py, causing the following error: "NameError: name 'definitions' is not defined".

Hi, which branch are you using?

I'm using master branch.


Require docker&&linux

Hopefully, we will have Windows docker agents soon, so specify this requires docker and linux

@slide While you are in this repository, it would be nice to read how-to-get-vpn-client-access so you can access vpn.jenkins.io where I hide a bunch of services


⚠ GitLab Server has degraded performance

In a7d3439, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 11531 ms

Resolved: GitLab Server performance has improved in b57e2b9.


I want to change the UI of the webpage.

The UI of the website is looking too old style and I want to give a modern look to the home page specially.

Thank you.

Can I change the logo?

Can I change the logo?

Yaa you can do all the changes to improve the design.


BuilderHeader: Add miscellaneous section

added BUILDER_HEADER_MISC
added associated example
small fix to component/popover/edit_dialog.jsx
Issue #2242

@interactivellama Can you please review this?

@garygong Some design comments:
Icon should be white

I'm not sure what a tooltip on a Builder Header looks like, but blue on blue could be an issue.

@arshana Thank you for the edit dialog fix.

Looks good! Thanks @arshana for the contribution.

Fixes #2242


Remove misleading comment

The comment i.e. this preserves pre-existing values for both window.$ and	window.jQuery is demonstrably untrue:
from https://api.jquery.com/jquery.noconflict/
removeAll
Type: Boolean
A Boolean indicating whether to remove all jQuery variables from the global scope (including jQuery itself).
This can be verified by logging the value of $ before and after jQuery.noConflict(true) is called.

I'm not sure if I completely understand this, but it seems to me that window.$ is preserved:
window.$ = 'foo';

var django = django || {};
django.jQuery = jQuery.noConflict(true);

console.log(window.$);
(logs 'foo')

but not window.jQuery:
window.jQuery = 'bar';

var django = django || {};
django.jQuery = jQuery.noConflict(true);

console.log(window.jQuery);
(crashes with "jQuery.noConflict is not a function")

@timgraham hi Tim, so in the case of $, it will be removed if it is the jQuery object (presumably noConflict has some logic for determining this), but naturally preserved if it belongs to something else.
Perhaps a better comment would read something along the lines of:
i.e. this preserves pre-existing values for window.$ if $ is not a jQuery object.

Makes sense to me.

Ok, I'll update the branch, thanks.

@timgraham now reads:
(i.e. this preserves pre-existing values for window.$ if window.$  is not a jQuery object, but removes jQuery from the global namespace).
A better representation of what is actually happening I think.

Closing in absence of a response. Feel free to leave a reply and I'll make a change based on that.


[ScriptReader] Undisposed -> Leak?

NBitcoin.ScriptReader is not IDisposable, but it contains inner Stream, often MemoryStream. Should not this inner stream be disposed?

@Aprogiena  I suppose ScriptReader should be made IDisposable so that you can dispose of the Stream when Dispose gets called?
using(var reader = new ScriptReader(_Script)
{
}

yes that's what i was thinking, but as always, this will require change in quite a lot of code
but what can you do :-)


ci: Generate map & run calcprogress

Modifies calcprogress.py to use the passed in dol & map files from Makefile.
Additional changes: use default devkitPPC path by default & disables Wine debug output which clutters up the build.

lovely


only check validation when version == 2

Fixes usage with certain older PDCs

Assuming same here - you've tested with existing deployments?

Assuming same here - you've tested with existing deployments?

99% sure but it's been months :/
I'll retest.


Distributed Derivers

work to do

figure out a serialization format
let a main instance decide which distributed derivers get which premises to derive
figure out how to compose responses from workers

Is really something for 3.2.0+ in 2020+


Unit Testing Gradle Plugins: Dependency Resolution fails due to race condition

Our unit tests for a Gradle plugin involve creating a Gradle project using ProjectBuilder and then resolving the dependencies of a given configuration with configurations.<...>.resolvedConfiguration.resolvedArtifacts.
When the same dependency is added twice in different configurations, the resolution will occasionally fail due to what looks like a race condition:
    project.dependencies.add("api", "org.joda:joda-convert:2.1.1")
    project.dependencies.add("implementation", "org.joda:joda-convert:2.1.1")

Gradle will determine that it needs to download the metadata of org.joda:joda-convert:2.1.1 twice (DependencyGraphBuilder#maybeDownloadMetadataInParallel), from which point, the following seems to be happening:

Two threads will try to download the dependency
One thread creates a file lock for the descriptor.bin file (DefaultPathKeyFileStore#doAdd:143), e.g.: <...>/userHome/caches/modules-2/metadata-2.97/descriptors/org.joda/joda-parent/1.1.2/<...>/descriptor.bin.fslck
The other thread finds the file already existing and updates the file's modified-date (GFileUtils#touch:68)
The first thread deletes descriptor.bin.fslck after it is done
The second thread tries to update the modified-date, but since the file is already gone, will throw a NoSuchFileException which is ultimately translated into a ResolveException

The issue seems to happen on both Windows and Linux. I've tested it on AdoptOpenJDK 1.8.0_282-b08, AdoptOpenJDK 11.0.10+9 and AdoptOpenJdk 16.0.1+9. I've only been able to see this issue occur in unit tests using the method described above. I've not been able to replicate it using GradleRunner, or in real builds.
I've reproduced the issue with Gradle versions 7.1, 7.0, 6.8.2 and 6.1.1.
Here is a small example repository with a unit test that runs until triggering the failure. Note that the exception that is thrown in the test is a IllegalStateException - this is because Gradle tries to annotate the ResolveException, but fails because there is no Settings object in a test environment. This appears to be unrelated.

This is a duplicate of #11752


How to debug the configuration?

I am getting a lot of strange errors like this:

This LOG is just a macro:
  #define LOG( level, ... ) \
  do \
  { \
    if( level & _debugger_int_debug_level ) \
    { \
      std::clock_t ctime_clock_now = std::clock(); \
      auto chrono_clock_now = std::chrono::high_resolution_clock::now(); \
      _DEBUGGER_TIME_STAMP_HEADER \
      std::cout << tfm::format( "%s/%s:%s ", \
          __FILE__, __FUNCTION__, __LINE__ \
      ) \
      << tfm::format( __VA_ARGS__ ) << std::endl; \
      _debugger_current_saved_c_time = ctime_clock_now; \
      _debugger_current_saved_chrono_time = chrono_clock_now; \
    } \
  } \
  while( 0 )

But the erros makes no sense when using it. The code is working 100%, cquery still saying it is wrong:

Perhaps it is not using the c++11?
I had created the file .cquery with:
%clang -std=c++11
%cpp -std=c++11
-mms-bitfields
-pthread
-mms-bitfields
-ID:/User/Documents/msys64/mingw64/include/gtkmm-3.0
-ID:/User/Documents/msys64/mingw64/lib/gtkmm-3.0/include
-ID:/User/Documents/msys64/mingw64/include/atkmm-1.6
-ID:/User/Documents/msys64/mingw64/include/gdkmm
...

This is the debug log:

https://gist.github.com/evandrocoan/f84223636e72f01cd2d4d50b81cd0520

This is the full header with the LOG macro:

/*********************** Licensing *******************************************************
*
*   Copyright 2017 @ Evandro Coan, https://github.com/evandrocoan
*
*  This program is free software; you can redistribute it and/or modify it
*  under the terms of the GNU General Public License as published by the
*  Free Software Foundation; either version 3 of the License, or ( at
*  your option ) any later version.
*
*  This program is distributed in the hope that it will be useful, but
*  WITHOUT ANY WARRANTY; without even the implied warranty of
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
*  General Public License for more details.
*
*  You should have received a copy of the GNU General Public License
*  along with this program.  If not, see <http://www.gnu.org/licenses/>.
*
*****************************************************************************************
*/

/**
 * Preprocessor directive designed to cause the current source file to be included only once in a
 * single compilation. Thus, serves the same purpose as #include guards, but with several
 * advantages, including: less code, avoidance of name clashes, and sometimes improvement in
 * compilation speed. In main file this is enabled by default.
 */
#pragma once

#include "utilities.h"

/**
 * This is to view internal program data while execution. Default value: 0
 *
 *  0  - Disables this feature.
 *  1  - Basic debugging with time stamp.
 *  2  - Basic debugging without time stamp.
 */
#define DEBUG_LEVEL 1

#define DEBUG_LEVEL_DISABLED_DEBUG     0
#define DEBUG_LEVEL_WITH_TIME_STAMP    1
#define DEBUG_LEVEL_WITHOUT_TIME_STAMP 2

/**
 * MemoryManager debugging.
 */
#if DEBUG_LEVEL > DEBUG_LEVEL_DISABLED_DEBUG

  /**
   * A value like a127 (111111) for '_debugger_char_debug_level' enables all 'a' mask
   * debugging levels. To enable all debugging levels at once, use "a127 b127 c127" etc, supposing
   * the level 64 is the highest to each mask 'a', 'b', 'c', etc.
   *
   * Level A debugging:
   * a1   - Basic debug messages.
   * a2   - Function entrances
   *
   * Level B debugging:
   * b1   - Basic debug messages.
   */
  extern const char* _debugger_char_debug_level;

  /**
   * Same as `_debugger_char_debug_level`, but there is only one level defined by an integer.
   */
  extern int _debugger_int_debug_level;

  #define DEBUG
  #include <stdlib.h>
  #include <stdio.h>
  #include <cstring>
  #include <iostream>
  #include <string>
  #include <cstdarg>
  #include <chrono>
  #include <ctime>

  // C like printf support on C++
  #include "tinyformat.h"

  // C++ -> Utilities library -> Date and time utilities -> C-style date and time utilities -> std:clock
  // http://en.cppreference.com/w/cpp/chrono/c/clock
  //
  // Measure time in Linux - time vs clock vs getrusage vs clock_gettime vs gettimeofday vs timespec_get?
  // https://stackoverflow.com/questions/12392278/measure-time-in-linux-time-vs-clock-vs-getrusage-vs-clock-gettime-vs-gettimeof
  extern std::clock_t _debugger_current_saved_c_time;
  extern std::chrono::time_point< std::chrono::high_resolution_clock > _debugger_current_saved_chrono_time;

  #if DEBUG_LEVEL & DEBUG_LEVEL_WITH_TIME_STAMP
    #define _DEBUGGER_TIME_STAMP_HEADER \
      auto duration = chrono_clock_now.time_since_epoch(); \
      /* typedef std::chrono::duration< int, std::ratio_multiply< std::chrono::hours::period, std::ratio< 21 > >::type > Days; */ \
      /* Days days = std::chrono::duration_cast< Days >( duration ); */ \
      /* duration -= days; */ \
      auto hours = std::chrono::duration_cast< std::chrono::hours >( duration ); \
      duration -= hours; \
      auto minutes = std::chrono::duration_cast< std::chrono::minutes >( duration ); \
      duration -= minutes; \
      auto seconds = std::chrono::duration_cast< std::chrono::seconds >( duration ); \
      duration -= seconds; \
      auto milliseconds = std::chrono::duration_cast< std::chrono::milliseconds >( duration ); \
      duration -= milliseconds; \
      auto microseconds = std::chrono::duration_cast< std::chrono::microseconds >( duration ); \
      /* duration -= microseconds; */ \
      /* auto nanoseconds = std::chrono::duration_cast< std::chrono::nanoseconds >( duration ); */ \
      time_t theTime = time(NULL); \
      struct tm *aTime = localtime(&theTime); \
      std::cout << tfm::format( "%02d:%02d:%02d:%03d:%03d %.3e %.3e ", \
          aTime->tm_hour, minutes.count(), seconds.count(), milliseconds.count(), microseconds.count(), /* nanoseconds.count(), */ \
          std::chrono::duration<double, std::milli>(chrono_clock_now-_debugger_current_saved_chrono_time).count(), \
          (1000.0 * (ctime_clock_now - _debugger_current_saved_c_time)) / CLOCKS_PER_SEC \
      );
  #else
    #define _DEBUGGER_TIME_STAMP_HEADER
  #endif

  /**
   * Print like function for logging putting a new line at the end of string. See the variables
   * '_debugger_char_debug_level' for the available levels.
   *
   * On this function only, a time stamp as `7.484e+003 7.484e+003` will be used. It means the `CPU
   * time used` in milliseconds and the `Wall clock time passed` respectively.
   *
   * @param level     the debugging desired level to be printed.
   * @param ...       variable number os formating arguments parameters.
   */
  #define LOG( level, ... ) \
  do \
  { \
    if( level & _debugger_int_debug_level ) \
    { \
      std::clock_t ctime_clock_now = std::clock(); \
      auto chrono_clock_now = std::chrono::high_resolution_clock::now(); \
      _DEBUGGER_TIME_STAMP_HEADER \
      std::cout << tfm::format( "%s/%s:%s ", \
          __FILE__, __FUNCTION__, __LINE__ \
      ) \
      << tfm::format( __VA_ARGS__ ) << std::endl; \
      _debugger_current_saved_c_time = ctime_clock_now; \
      _debugger_current_saved_chrono_time = chrono_clock_now; \
    } \
  } \
  while( 0 )

  /**
   * The same as LOGLN(...) just below, but do not put automatically a new line.
   */
  #define LOGLN( level, ... ) \
  do \
  { \
    if( level & _debugger_int_debug_level ) \
    { \
      std::cout << tfm::format( __VA_ARGS__ ); \
    } \
  } \
  while( 0 )

  /**
   * The same as LOGLN(...), but it is for standard program output.
   */
  #define PRINT( level, ... ) \
  do \
  { \
    if( level & _debugger_int_debug_level ) \
    { \
      std::cout << tfm::format( __VA_ARGS__ ) << std::endl; \
    } \
  } \
  while( 0 )

  /**
   * The same as LOG(...), but it is for standard program output.
   */
  #define PRINTLN( level, ... ) \
  do \
  { \
    if( level & _debugger_int_debug_level ) \
    { \
      std::cout << tfm::format( __VA_ARGS__ ); \
    } \
  } \
  while( 0 )

  /**
   * Determines whether the given debug level is enabled.
   *
   * @param debugLevel       the given char* string level to the debugger.
   * @return true when the current debug output is enabled, false otherwise.
   */
  inline bool __computeDeggingLevel( const char* debugLevel )
  {
  #define COMPUTE_DEBUGGING_LEVEL_DEBUG      0
  #define COMPUTE_DEBUGGING_DEBUG_INPUT_SIZE 32

    int inputLevel;
    int builtInLevel;

    int inputLevelSize;
    int builtInLevelSize;

    int inputLevelTokenSize;
    int builtInLevelTokenSize;

    char* inputLevelToken;
    char* builtInLevelToken;

    char builtInLevelChar[ COMPUTE_DEBUGGING_DEBUG_INPUT_SIZE ];
    char inputLevelChar  [ COMPUTE_DEBUGGING_DEBUG_INPUT_SIZE ];
    char inputLevelChars [ COMPUTE_DEBUGGING_DEBUG_INPUT_SIZE ][ COMPUTE_DEBUGGING_DEBUG_INPUT_SIZE ];

    int        inputLevels  = 0;
    const char separator[2] = " ";

    inputLevelSize   = strlen( debugLevel );
    builtInLevelSize = strlen( _debugger_char_debug_level );

    if( ( 2 > inputLevelSize && inputLevelSize > COMPUTE_DEBUGGING_DEBUG_INPUT_SIZE )
      || ( 2 > builtInLevelSize && builtInLevelSize > COMPUTE_DEBUGGING_DEBUG_INPUT_SIZE ) )
    {
      std::cout << "ERROR while processing the DEBUG LEVEL: " << debugLevel << std::endl;
      std::cout << "! The masks sizes are " << inputLevelSize << " and " << builtInLevelSize;
      std::cout << ", but they must to be between 1 and 32." << std::endl;

      exit( EXIT_FAILURE );
    }

    strcpy( inputLevelChar, debugLevel );
    strcpy( builtInLevelChar, _debugger_char_debug_level );

    // So, how do we debug the debugger?
  #if COMPUTE_DEBUGGING_LEVEL_DEBUG > 0
    int currentExternLoop = 0;
    int currentInternLoop = 0;

    std::cout << "\ndebugLevel: " << debugLevel << ", inputLevelSize: " << inputLevelSize << std::endl;
    std::cout << "_debugger_char_debug_level: " << _debugger_char_debug_level << ", builtInLevelSize: " << builtInLevelSize << std::endl;
  #endif

    inputLevelToken = strtok( inputLevelChar, separator );

    do
    {
      strcpy( inputLevelChars[ inputLevels++ ], inputLevelToken );

    } while( ( inputLevelToken = strtok( NULL, separator ) ) != NULL );

    while( inputLevels-- > 0 )
    {
    #if COMPUTE_DEBUGGING_LEVEL_DEBUG > 0
      currentInternLoop = 0;
      std::cout << "CURRENT_ExternLoop: " << currentExternLoop++ << std::endl;
    #endif

      builtInLevelToken   = strtok( builtInLevelChar, separator );
      inputLevelTokenSize = strlen( inputLevelChars[ inputLevels ] );

      do
      {
        builtInLevelTokenSize = strlen( builtInLevelToken );

      #if COMPUTE_DEBUGGING_LEVEL_DEBUG > 0
        std::cout << "space" << std::endl;
        std::cout << "CURRENT_InternLoop: " << currentInternLoop++ << std::endl;

        std::cout << "builtInLevelToken: " << builtInLevelToken << std::endl;
        std::cout << "builtInLevelTokenSize: " << builtInLevelTokenSize << std::endl;
        std::cout << "inputLevelChars[" << inputLevels << "]: " << inputLevelChars[ inputLevels ] << std::endl;
        std::cout << "inputLevelTokenSize: " << inputLevelTokenSize << std::endl;
      #endif

        if( inputLevelTokenSize > 0
          && builtInLevelTokenSize > 0 )
        {
          if( isdigit( inputLevelChars[ inputLevels ][ 1 ] )
            && isdigit( builtInLevelToken[ 1 ] ) )
          {
            if( builtInLevelToken[ 0 ] == inputLevelChars[ inputLevels ][ 0 ] )
            {
              sscanf( &inputLevelChars[ inputLevels ][ 1 ], "%d", &inputLevel );
              sscanf( &builtInLevelToken[ 1 ], "%d", &builtInLevel );

            #if COMPUTE_DEBUGGING_LEVEL_DEBUG > 0
              std::cout << "builtInLevel: " << builtInLevel << std::endl;
              std::cout << "inputLevel: " << inputLevel << std::endl;
              std::cout << "Is activeated? " << ( ( inputLevel & builtInLevel ) > 0 ) << std::endl;
            #endif

              if( ( inputLevel & builtInLevel ) > 0 )
              {
                #if COMPUTE_DEBUGGING_LEVEL_DEBUG > 0
                  std::cout << "returning true..." << std::endl;
                #endif
                return true;
              }
            }
          }
        }

      } while( ( builtInLevelToken = strtok( NULL, separator ) ) != NULL );

    #if COMPUTE_DEBUGGING_LEVEL_DEBUG > 0
      std::cout << "space" << std::endl;
    #endif
    }

    #if COMPUTE_DEBUGGING_LEVEL_DEBUG > 0
      std::cout << "returning false..." << std::endl;
    #endif
    return false;
  }

#else

  #define LOG( level, ... )
  #define LOGLN( level, ... )

  /**
   * The same as LOGLN(...), but it is for standard program output when the debugging is disabled.
   */
  #define PRINT( level, ... ) \
  do \
  { \
    std::cout << tfm::format( __VA_ARGS__ ) << std::endl; \
  } \
  while( 0 )

  /**
   * The same as LOG(...), but it is for standard program output when the debugging is disabled.
   */
  #define PRINTLN( level, ... ) \
  do \
  { \
    std::cout << tfm::format( __VA_ARGS__ ); \
  } \
  while( 0 )

#endif // #if DEBUG_LEVEL > DEBUG_LEVEL_DISABLED_DEBUG

Can you include stderr logs?
But the compile errors look like STL issues. https://github.com/cquery-project/cquery/wiki/FAQ#some-cc-headers-are-not-recognized

I do not understand what you meant by stderr logs. The log I included is already from stderr. There is not stdout being captured by my logging system.
The LSP plugin for Sublime Text, capture the language server stderr and logs it with a prefix:
LSP server:

Like this:
01:51:45:615.247965 2.50e-03 - LSP.plugin.core.main.start_server:328 - starting ['F:\\cquery\\build\\release\\bin\\cquery.exe', '--language-server', '--log-all-to-stderr'], working_dir: D:\User\Dropbox\SoftwareVersioning\ComputerScienceGraduation\GraphicsComputing
01:51:45:620.753050 6.04e+00 - LSP.plugin.core.rpc.send_request:268 -  --> initialize
LSP server: date       time         ( uptime  ) [ thread name/id]              file:line     v|
LSP server: 2018-03-05 01:51:45.781 (   0.003s) [main thread  ]        loguru.hpp:1872     0| arguments: F:\\cquery\\build\\release\\bin\\cquery.exe --language-server --log-all-to-stderr

I am also launching it with: cquery.exe --language-server --log-all-to-stderr

--log-all-to-stderr means log messages will also go to stderr. But I think what you attached is the log file, which does not include all of stderr.

The log I attached is truncated, but you can view the full file:

(I believe there is an open bug to make the log file include stderr).

The only issue I could find searching by log file and is related to it, is this:

https://github.com/cquery-project/cquery/issues/357 Allow logging of lsp stdin/stdout messages to log file

But it is about stdout and stdin, which are not logged on my log. I only captured all the stderr from the server. Any stdout is not captured.

%clang
%cpp -std=c++11

%clang expands to either clang or clang++
%cpp is for .cpp .cc files while %c is for .c

This looks to me like cquery isn't finding the standard library includes on Windows. I have the same problem.

I just built cquery using Visual Studio and thanks to @MaskRay commits, I used his new features on https://github.com/cquery-project/cquery/issues/496 I generated a new log file.
@jacobdufault This new log file now seems to show some very clear errors:
F:\\cquery\\build\\release\\bin\\cquery.exe --log-all-to-stderr --log-file-append F:/SublimeText/debug2.txt

libclang: crash detected during reparsing.txt
cquery.exe-de2716.dmp.zip (The thread tried to read from or write to a virtual address for which it does not have the appropriate access.)

My logs looks mostly the same on Windows. I'm not sure yet what causes it.

Heads up. You may need three compatibility options now
https://github.com/cquery-project/cquery/wiki/Getting-started#windows
https://github.com/cquery-project/cquery/issues/509


Use the configured MenuItem model when querying

When querying the menu item model, the base model is used instead of the one defined in nova-menu.php. This is inconsistent with other actions such as updateMenuItem and deleteMenuItem.
This PR makes the behavior of the controller more consistent.

Thanks for the PR! Released it in version 5.2.1. :)


BC-folder-note: Option for subfolders

I am trying to use a central note in a folder as parent for other files in that folder and it works great, however it seems that notes in subfolders are not supported.
How about an option to have BC-folder-note also include notes that are located in subfolders of the same folder?

Ooooohh interesting! Yeah, I like this idea.
I think the easiest is what you suggest. Even notes in subfolders are just made the child of the BC-folder-note.
A fancier option would be a nested thing where subfolders have their own folder-note that they point to, as those folder notes point to the main ones

I had JUST encountered this issue! I also would love this ^^

@WychWitch @chrisgrieser in the latest version, you can add BC-folder-note-subfolder: true to a folderNote to have the notes in subfolders of that folder note get added, too :)
Let me know if this is what you meant

it works fine 🥳
But I was actually thinking targeting things only in a subfolder, for example to differentiate like this, which would actually reflect a lot of people's structure, I think?
BC-subfolder-note: down
BC-folder-note: same

Ah yes, while this is very good and I can work with it, I agree with @chrisgrieser in that My folder set up isn't meshing perfectly with this
This is how my folder structure is set up
10 - Ash In The Snow ➜ 15 - Lore ➜ 15.02 - Theology ➜ The Different Types of Gods
Each folder with a preceding number is a folder with a folder note (of the same name), and the last one is the note itself!
What I would love is there to be a setting so subfolders with folder notes can be automatically assigned a child (or whatever kind of relationship you want) of the enclosing foldernote, without necessarily touching the non-folder notes within it.
Because right now, if I click on the file The Different Types of Gods, it will have a single link to 10 - Ash In The Snow, rather going up through the other two folder notes as expected
I hope this makes sense! If this is actually a configuration issue on my part, I'm sorry for wasting anyone's time hahaha

Agreed with @WychWitch and @chrisgrieser that a "nesting" type option for sub-folders and their folder notes would be useful.
Essentially: my folders and sub-folders are already set up in a parent-child hierarchy nested multiple levels. It would be great to have that hierarchy reflected in Breadcrumbs.

Ok, I'm gonna work on this now.
The requirement for the nested-folder-note is that each subfolder along the way has to have a corresponding note with the exact same name as the folder

@chrisgrieser is this issue resolved with the addition of BC-folder-note-subfolder?

yeah, from my end, you can check this off :)
(not gonna close this myself, since others might have a different opinion, but I doubt it)

This is resolved in my opinion as well; thanks so much!

Me too!! hank you so much, its so seamless ^^


Added link to Connectors link that lists Premium Connectors

The current link does not go anywhere and customers are looking for a list of the Premium Connectors.  The Flow site provides this list, but no list exists in the PowerApps domain.

Hi, @peterbax117! Thanks for your feedback. We've fixed the broken link, and we're working on a solution to better identify premium connectors. Please stay tuned!


Change test file exclude pattern

Fixes https://github.com/fabric8-services/fabric8-wit/issues/2134
Tests from the following packages will also be executed

github.com/fabric8-services/fabric8-wit/application
github.com/fabric8-services/fabric8-wit/application/repository
github.com/fabric8-services/fabric8-wit/gormapplication

Codecov Report

Merging #2135 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #2135      +/-   ##
==========================================
+ Coverage   69.23%   69.24%   +<.01%
==========================================
  Files         163      165       +2
  Lines       15185    15238      +53
==========================================
+ Hits        10513    10551      +38
- Misses       3720     3733      +13
- Partials      952      954       +2

Impacted Files
Coverage Δ

remoteworkitem/jira.go
75% <0%> (-25%)
:arrow_down:

remoteworkitem/scheduler.go
53.65% <0%> (-7.32%)
:arrow_down:

application/repository/exister.go
88.88% <0%> (ø)

application/transaction.go
85.71% <0%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9bdf460...2ab3cfd. Read the comment docs.


skaffold does not do deploy step when using skaffold version: v2.0.1

If you run:
skaffold run -p prod --default-repo=gcr.io/${PROJECT_ID}
Build is done, but no deploy step. Reason is the skaffold.yaml file for sample-service needs to be upgraded.
Instead of:
  deploy:
    kustomize:
      paths:
      - ./kustomize/prod

I have tried the following fix to get to deployment (when using apiVersion: skaffold/v3 ):
  deploy:
    kubectl: { }
  manifests:
    kustomize:
      paths:
      - ./kustomize/prod

This is fixed in https://github.com/GoogleCloudPlatform/solutions-template/pull/27


V1.0.0

Coverage increased (+0.6%) to 86.802% when pulling 7f75744394c1852c69326c712165b0647d691d9c on v1.0.0 into 9155be08fc04adb01e947ca37c742d8a445d259e on master.


VS Feedback - problem with nuget.server?

This developer community issue appears to be complaining about changes in behavior for nuget.server? (but i'm not sure)
Internal VSTS issue 488874 + externally visible: https://developercommunity.visualstudio.com/content/problem/106046/vs2017-1533-nuget-400-bad-request.html
The customer says it was solved and shows some nuget.server source code.  Can you please take a look?

I haven't heard back in over a week from the customer.
If you are still encountering this issue, please feel free to comment and we can re-open the issue and investigate the root cause. Thanks!


checking duplicate routes

checking duplicate routes.
Duplicate routes in routing map creates  a lot of confusion.
throwing exception before adding duplicate route looks better option.
Any comments are welcome....

You added a bunch of unrelated commits, please rebase this.  Do not create an anonymous class just to raise an execption, there's no way to catch it.  It's even worse because it doesn't even inherit from Exception.  Why do you think this should be an error in all cases?  This has failing tests, and doesn't provide any new tests demonstrating the change.

Pardon please. I didn't notice it the unnecessary commits. Will rebase. :+1:

the test case should not fail. After the test the map looks like this:
Map([<Rule '/foobar/' -> None>,
<Rule '/users/' -> None>,
<Rule '/foox' -> None>,
<Rule '/foo/' -> None>,
<Rule '/' -> None>,
<Rule '/users/page/' -> None>,
<Rule '/foo//edit' -> None>,
<Rule '/foo//' -> None>,
<Rule '//' -> None>,
<Rule '/' -> None>,
<Rule '/' -> None>])
Which contains "/" twice after one is resolved from -> "int:blub" to  "".
And that is what this PR is about.

Are there any updates on this ?
We are ERP system and use werkzeug. I was thinking to patch it in our framework but it would be better if is done in werkzeug.
Thanks.

I probably do not want to pull this in. This is hard to support for general cases. This seems like something that is easy to prevent from the application side anyways.

So its like if I want to go to "/users" page, werkzeug lets you add any number of endpoints. User thinks everything is fine, but he is wrong. No Error or Even warning ??

Closing due to reasons stated, age, and lack of tests. If someone wants to work on this in the future, we need to test for and document any change in existing routing behavior.


Only create config folder in 'start' command

Fixes #520.
Fixes #1288.

This is pretty awful to review lol, and ?w=1 doesn't help much. @xPaw, do you have any advice to help reviewing this?

@astorije review the first commit, the second one is proof of concept.

@astorije review the first commit, the second one is proof of concept.

Any more advice now that you have squashed the commits? :D

I removed the second commit

You have a bunch of conflicts and you'll have more after #1443 is merged. Don't bother fixing them now, I'm happy to fix those conflicts after #1443 if you're okay with that.

Ok @xPaw, I should be done with rebasing. I also tested and saw nothing critical. Mind taking a look at what I pushed to see if you see something blatantly wrong + see the questions I posted? Thanks!


696 test build

This is to test build PLR TEST_OUTPUT for integration-service, please don't merge
Maintainers will complete the following section

[ ] Commit messages are descriptive enough (hints)
[ ] Code coverage from testing does not decrease and new code is covered (check the PR coverage on codecov)
[ ] Controllers diagrams are updated when PR changes controllers code  (if applicable)

/retest

/retest


Fix validate! in Value to return self, as is documented.

Add Pattern#valid? to improve on Statement#valid? for legitimate patterns.
Improve Query#validate! to validate patterns, not require the first pattern to not be optional, and modernize check for appropriate partition of required and optional patterns.

@bendiken & @no-reply if you could verify some assumptions on query validation. Previously, a query had to have at least one pattern, but this was updated for SPARQL to add a pattern, if none exists, as (bgp) is a legitimate SPARQL Algebra pattern, and the following is legitimate:
(left_join (bgp) (bgp (triple :a :b :c))

Which would create a Query where the first pattern is optional, and the first query has no patterns.

@gkellogg that looks right to me, and this looks good to go.
Do we want to get some tests in for this?

Working on the tests right now. Thanks.

LGTM.
Off-topic, note that we probably ought to tighten up the context type requirement a bit--never yet actually seen a store that permits blank nodes as graph identifiers, they're always URIs. (Blank nodes cause enough headache as it is ;)) That would affect RDF::Query::Pattern#valid? here.

@bendiken I think the URI constraint is correct for SPARQL, but CONCEPTS explictly allows bnode graph names.
There might be some non-horrifying use cases for bnode "named" graphs; particularly where you don't know or don't care where a graph came from, but need to query it independently over the short term.  I'd be inclined to handle bnodes in RDF::Query::Pattern without complaint.

The RDF data model allows for graph names to be BNodes, a
Though it was a contentious issue. JSON-LD allows BNodes as well, but TriG does not support it. N3 also allows literal subjects and BNode properties; I believe N3 monkey patches Statement to allow this.

@no-reply Had forgotten about that. So, yes, let's keep that as it is. Though anybody who uses the feature has only themselves to blame... it won't roundtrip with anything, modulo Gregg's comment.
@gkellogg Good point about JSON-LD.

:rocket:


[webpack v5] libraryTarget=var doesn't expose the entry module

Bug report

What is the current behavior?
After upgrading to webpack@5 builds no longer expose modules when output.libraryTarget = 'var', global variable always points to an empty object instead of the entry point module
If the current behavior is a bug, please provide the steps to reproduce.
Having config
 // config
  entry: {
    app: './src', // seems like it works correctly for { entry: '.src/' } though
  },
  output: {
    library: {
      name: 'app2',
      type: 'var',
    },
  }

load a script build with such config on the page and try to access window.app2 variable, it should point to the entry module. It is an empty object instead.
See simple reproduction

What is the expected behavior?
Having libraryTarget: 'var' exposes global variable pointing to the entry point module

webpack version:  5.x
Node.js version: 12.x
Operating System: MacOS

Related to how the webpack-dev-server inserts it's own entry point


break up setRoute into separate methods?

This is more of a usability enhancement vs. new feature but what do you think about breaking up the setRoute function into separate methods?  I dislike how 'overloaded' it is.  Depending on the params you pass in, the function will perform slightly different actions, making it hard to reason about and use.
RIght now, setRoute can be used in 4 different ways:

setRoute(route)

updates the route

setRoute(start, length)

removes a segment from the current route

setRoute(index, value)

replaces a segment of the current route

setRoute(start, length, value)

remove and set a segment on the current route

Caveat is that this will introduce breaking changes to the router (I guess we could make it backwards compatible but not a huge fan of that idea)
Also, I'm willing to submit a PR for this if you think it's a good idea
Thoughts?

went ahead and wrote some of the new potential APIs to get a better sense of how theyd look:
Router.prototype.removeSegment = function(options) {
  var url = this.explode();

  if (start < url.length) {
    url.splice(options.start, options.length);
  }

  listener.setHash(url.join('/'), options.state);

  return url;
};

Router.prototype.replaceSegment = function(options) {
  var url = this.explode();
  url[options.index] = options.value;

  listener.setHash(url.join('/'), options.state);

  return url;
};

Router.prototype.removeAndSetSegment = function(options) {
  var url = this.explode();

  if (options.start < url.length) {
    url.splice(options.start, options.length, options.value);
  }

  listener.setHash(url.join('/'), options.state);

  return url;
};

Router.prototype.setRoute = function(options) {
  var url = [options.route].join('/');
  listener.setHash(url.join('/'), options.state);

  return url;
};

Router.prototype.replaceRoute = function(options) {
  var url = [options.route];
  listener.replaceHash(url.join('/'), options.state);

  return url;
};

Sounds like a good idea, and looks much more readable to me. Why don't you do a PR, with updated tests, so others can do functional reviews? Thanks @AlbertAlquisola!!!!


error: module 'SwiftyJSON' was created for incompatible target arm64-apple-ios8.0:

Xcode12.1 run Simulators:  unknown>:0: error: module 'SwiftyJSON' was created for incompatible target arm64-apple-ios8.0: /Users/XXX/Desktop/XXX/Carthage/Build/iOS/SwiftyJSON.framework/Modules/SwiftyJSON.swiftmodule/arm64.swiftmodule

Hi @WGFcode ,
After applying cathage workaround xCode 12. I've the same issue like you.
Did you find any solution / workaround?
I applied the fix proposed by odanu : https://gist.github.com/skymobilebuilds/61f4a95bd62a3db36b52719aeab7e0d5#gistcomment-3467010
It seems work.
Best regards,

After applying cathage workaround xCode 12, I remove VALID_ARCHS in project.pbxbproj, then it is fixed.


Create proxying example.

Of course, the main goal is to make examples as intuitive as possible. We should all try out different examples to illustrate that it's relatively easy to use Noise with a minimal number of LoC.
This example constitutes of proxying messages from one node to another.
Steps

We have Node 0, 1, 2.
Nodes 1, 2 will bootstrap with Node 0.
Node 0 will send a message to Node 1.
Node 1 will proxy the message to Node 2.
Node 2 will print out that they received the message.

Style Reference
Please refer to the comment styling and example directory format for the basic example located here: https://github.com/perlin-network/noise/tree/master/examples/basic

I realise that this is an old issue, but I'm trying out the cleanup branch and would like to know whether there is a new solution for proxying messages through to all peers in the network.
I've noticed the ClosestPeers() and AllPeers() methods on *skademlia.Client but these appear to only send messages to the connected peers.
Must this be handled by application logic?
Thank you!

^ Sorry, I'm not sure how that happened.


Release Steps

Now that we have prebuilds for all OSes that trigger on tags thanks to:

@captainsafia
@lgeiger
@minrk

It's time to figure out how to do releases.
I just realized that when making a release we'll want to do:
npm version minor && git push && git push --tags

Followed by waiting for the prebuilds to come back for each OS, then finally running:
npm publish

I'm letting 1.3.0 run the course now:

v1.3.0 on Travis CI
v1.3.0 on Appveyor

Looks like the credentials for Windows are not good:
prebuild info build Packing build\Release\zmq.node into prebuilds\zmq-prebuilt-v1.3.0-node-v48-win32-x64.tar.gz
prebuild info build Prebuild written to prebuilds\zmq-prebuilt-v1.3.0-node-v48-win32-x64.tar.gz
prebuild info build Uploading 5 prebuilds(s) to Github releases
prebuild ERR! build Error: Error from GitHub: Bad credentials

(note that I haven't run npm publish yet, will do once we've uploaded for Windows)

Ok, we shipped our first all OSes release!

Now shipping a patch release since we think we've worked out the kinks.

Woo! We just did end to end with no fuss using:
npm version patch && git push && git push --tags

Amusingly, since @lgeiger used his key on Travis he makes every release. ;) Hand crafted.

I had suspicion that this wasn't really working since the Windows builds were 1/3 the size of the others. Turns out, that's correct. We don't have Windows here yet. We do have a streamlined build and release process though!

I had suspicion that this wasn't really working since the Windows builds were 1/3 the size of the others.

This is not an appveyor problem. I can reproduce this on a local 64 bit installation with visual studio 2015 as well (git lfs has to be installed as well, otherwise there are some strange linker errors).


Attempting to pass through coral USB

Please verify that you have read and understood the guidelines.
yes
A clear and concise description of the issue.
Using your frigate script for the nvidia drivers, however I am having issues getting my Coral USB to pass through. I have USB pass through working with an old tteck based container, and I believe this is because your container (unlike the original tteck script) is setup as privileged instead of unprivileged.
What settings are you currently utilizing?
Default Settings
Which Linux distribution are you employing?
Debian 11
If relevant, including screenshots or a code block can be helpful in clarifying the issue.
error log entry: frigate.detectors.plugins.edgetpu_tfl ERROR   : No EdgeTPU was detected. If you do not have a Coral device yet, you must configure CPU detectors.
The permissions on the USB indicate its a privileged container issue as I dealt with the same thing to get CIFS to mount properly.
root@frigate:~# ls -laih /dev/bus/usb/
total 0
  9 drwxr-xr-x 3 root   root    60 Nov  7 02:11 .
  8 drwxr-xr-x 3 root   root    60 Nov  7 02:11 ..
327 drwxr-xr-x 2 nobody nogroup 80 Nov  3 14:28 002

Please provide detailed steps to reproduce the issue.
No response

Indeed, I do not allow any privileged containers in my fork. However, you can manually override this by simply changing the unprivileged attribute in your config to 0 ;)


Why the model mean is set to q_posterior_mean?

why the model mean here is set to q_posterior_mean instead of

They are same equations. They look different whether x_0 is replaced(your equation) or not(authors').

see https://lilianweng.github.io/posts/2021-07-11-diffusion-models/#reverse-diffusion-process


Spiral Attributes from SF 3.0

Allow spiral/attributes component from Spiral Framework v3.0.

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


Unable to restore the convnet model trained on MNIST

Hi,
I wrote below snippet for restoring model but I get error when I apply softmax over logits.
"ValueError: Argument must be a dense tensor: got shape [1, 128, 10], but wanted [1]."
with tf.Session() as sess:
meta_file = os.path.join(checkpoints_dir, 'mnist-convnet-419.meta')  # partially documented: saver.save stores this
saver = tf.train.import_meta_graph(meta_file, clear_devices=True)
saver.restore(sess, os.path.join(checkpoints_dir, 'mnist-convnet-419'))

X = sess.graph.get_tensor_by_name("data/X_placeholder:0")
Y = sess.graph.get_tensor_by_name("data/Y_placeholder:0")
dropout = sess.graph.get_tensor_by_name("dropout:0")

w = sess.graph.get_tensor_by_name("softmax_linear/weights:0")
b = sess.graph.get_tensor_by_name("softmax_linear/biases:0")
fc = sess.graph.get_tensor_by_name("fc/relu:0")
fc = tf.nn.dropout(fc, dropout, name='relu_dropout')

logits = tf.matmul(fc, w) + b

# test the model
n_batches = int(mnist.test.num_examples / BATCH_SIZE)
total_correct_preds = 0
for i in range(n_batches):
    X_batch, Y_batch = mnist.test.next_batch(BATCH_SIZE)
    logits_batch = sess.run([logits], feed_dict={X: X_batch, Y: Y_batch, dropout: DROPOUT})
    preds = tf.nn.softmax(logits_batch)
    correct_preds = tf.equal(tf.argmax(preds, 1), tf.argmax(Y_batch, 1))
    accuracy = tf.reduce_sum(tf.cast(correct_preds, tf.float32))
    total_correct_preds += sess.run(accuracy)

print("Accuracy {0}".format(total_correct_preds / mnist.test.num_examples))

minor correction, changed
preds = tf.nn.softmax(logits_batch)
TO
preds = tf.nn.softmax(logits_batch[0])
now..it works!


MAINTAINERS: Add myself to kernel as a collaborator

Add myself to kernel as a collaborator

Ping @andyross @peter-mitsis @cfriedt


Change split names upstream and source

Partial fix for https://github.com/huggingface/datasets-server/issues/755

Changing the predecessor of split-names to dataset-info
Changing source of split-names (db instead of dataset lib in streaming mode)

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

Beware: we want to have /split-names as soon as possible, which generally means getting it from datasets using the streaming mode.
But if /dataset-info has been computed quicker, or if the streaming mode is not working, we want to fallback to using /dataset-info as the source.
It's like a race between /split-names and /dataset-info, and the first that returns a successful response is the source (like Promise.any() if we speak JS)

But for now, we don't have the concept of double source in ProcessingGraph. I'm not sure how we could implement it.

In that case I think having two different workers for now would work, lets say /split-names-db /split-names-streaming

/split-names-db would depend on /dataset-info and /split-names-streaming on /config-names
Once one of them runs, ask if there exists a result in the db, if so, skip, if not, compute according to its source
One problem here is, how to identify if the previous existing response in the db was generated because of the other parallel worker or if it is an outdated result?  Maybe we could link a response with a job id but that would increase the db document size
Also as you mention, I don't know if we support having two ancestor for a worker (In case of /first-rows, it will also have to know which of the split-names worker finished first), at least we implement also two firs-rows workers XD (/first-rows-streaming depending on /split-names-streaming and /first-rows-parquet depending on /split-names-db)
On the other hand, I think having this kind of new requirements also depends on the future implementation we will have (Maybe Airflow/Dagster). Adding extra logic to the processing graph would be obsolete after implementing a new DAG framework but I am not sure (I didn't go deeper on airflow/dagster) I just don't want to have extra logic in our pipeline processing logic to deprecate it later.

how to identify if the previous existing response in the db was generated because of the other parallel worker or if it is an outdated result
we store both the commit id and the worker version, which should be enough to say if the result is outdated or not.

I don't know if we support having two ancestor for a worker

For that, possibly the idea is to make https://github.com/huggingface/datasets-server/blob/main/libs/libcommon/src/libcommon/processing_graph.py evolve to break the current constraint where the API endpoint, the job type and the cache kind are equal. For split names, we could have:
{endpoint: "/split-names", job_type: "/split-names-streaming", cache_entry: "/split-names"}
{endpoint: "/split-names", job_type: "/split-names-db", cache_entry: "/split-names"}

For the API service, it does not change much, because it will still look at the same cache entry.


slots has error type when it's defined by defineSlots with generic.

Vue version
3.3.4
Link to minimal reproduction
https://play.vuejs.org/#eNqNUk1v2zAM/SucDkMCxDaG7uQ5Rrehh+3QFW2OvjgWk6q1PiDRSYvA/32U1XVe9oHpRvKJfO+RJ/HRufwwoChFRahd3xLWjQF+pxOE3lLId9YSehjHlK/eZBlsBwJ6dgh2B1WEgWk1rhuRwI2AUkkO3zWirooIqKFrDRytf8why3hGVcwGchg6rxxB35o9f6TAPQLS4GCPBr3qOLkBfCI0MkAgr8yemzdG4k4ZvPHWhSpRvmYqoYQNjPVi2ZjOmkBJC6whwe9iVN1iZ72sNitYLGFdQ2uea3gLJ0gqFi42LTlWsgQz6G20YVlGXGz9IYpItGuxEko76ynTrcsfgjVs6Sk61rwUWBC3Sh42gj2PcSPuiXhGUXTS8DeJvTr43CAVxunikmGFHwwpjZm0+vIiv8jfF1IFmqdzDDrbensM6LlJI1azMQUnD+gzz8ahj7v5v7Fn3+ajz0q/jY/T+VpGNoUC279T+zNLOqud6tF/c6R4Pb9Y0/a9PX6dcuQHfNXS3WP3+If8Q3hKmm48Tsxm+qn1e6RUvrq75vOZFbWVQ/+yhr8UbzHYfogcE+zTYCTTnuEmtl+mDfNFbsJVvNDwQ1QkOrkx4ad9fP6H9J902e1XF8fvEGo5aw==
Steps to reproduce
<template>
    {{ slots.footer }}
    <!-- but type of <slot name="footer" :id="1"></slot> can work. -->
</template>

<script lang="ts" setup generic="T extends string">
defineProps<{ slotNames: T }>()
const slots = defineSlots<Record<T, () => any> & { footer(props: { id: number }): any}>();
</script>

What is expected?
Property 'footer' should be in slots in template.
What is actually happening?
Property 'footer' does not exist on type 'Readonly<NonNullable<Record<T, () => any> & { footer(props: { id: number; }): any; }>> extends Ref ? V : Readonly<NonNullable<Record<T, () => any> & { ...; }>> extends Ref<...> ? unknown extends V ? undefined : V : Readonly<...>'.ts(2339)
System Info
No response
Any additional comments?
No response

/cc @so1ve

const slots = defineSlots<Record<T, () => any> & { footer(props: { id: number }): any}>(); doesn't work
but
const slots = defineSlots<{ footer(props: { id: number }): any} & Record<T, () => any>>(); works.
I guess this might be related to https://github.com/microsoft/TypeScript/issues/51092

slots looks to work:

I think this might be an issue with language tools
/cc @johnsoncodehk

Will be resolved by https://github.com/vuejs/language-tools/issues/3651


process.env.CONCAT_SIZES enables debug output

This output is written to disk at cwd +
concat-stats-for-.json and contains the sizes of the
various pieces the outputfile is made of.
This aims to enable improved debuggability / visibility of large output
assets.

cc @trentmwillis

related pr: https://github.com/ef4/fast-sourcemap-concat/pull/25

:+1: seems good to me, thanks for this!

@rwjblue / @nathanhammond would love thoughts on how to actually role this out. Is the current flag sufficient?

I dislike continually throwing a bunch of magic environment variables into the mix; it feels like we should instead have this be an option passed directly to the broccoli plugin.
We already have a few fields inside of the options hash you pass to Broccoli plugins which have special meaning and you may not use inside of your plugin. I'd propose one more that is automatically propagated, debug. So, adding to our Broccoli proposal:
{
  "annotation":
  "debug": {
    "plugin-name": {
      "whatever": "you want"
    }
  }
}

This allows you to attach a debug setting at the beginning of the build and then have it present at every single plugin along the way. (And also possibly transformed as makes sense.)
(Adding this into the documentation.)

@nathanhammond seems complicated, I'm not terribly motivated to block this PR on some configuration effort that is yet to be designed. That future configuration effort can take this case into account, and if its solves it I will happily update this to support it.

Based on our in-person conversation I captured this into the "Pit of Success" document and with @rwjblue review am happy to land.

Based on our in-person conversation I captured this into the "Pit of Success" document and with @rwjblue review am happy to land.

that sounds great. I'll happily make this work with a better config story once designed.

I still have some more work

I generally agree with @nathanhammond on this, but we can probably circle back around when we rethink general configuration concerns in ember-cli as a whole.
@stefanpenner - I do think this needs a README update though. Having a magical process.env.CONCAT_SIZES that you have to figure out by reading the source is pretty unlikely to help anyone but a super select group of folks at which point the added complexity here doesn't seem worth it.  Lets document it so others have a fighting chance...

@stefanpenner - I do think this needs a README update though. Having a magical process.env.CONCAT_SIZES that you have to figure out by reading the source is pretty unlikely to help anyone outside a super select group of folks at which point the added complexity here doesn't seem worth it. Lets document it so others have a fighting chance...

👍

any recommendations for what to write?

Ya, explain how to use the feature.  For bonus points, you could explain what the point of it is....

README update looks great!


Reduce redis memory footprint

Now that we are storing the keys in redis we are running into memory issues on
the machine.
We want to stop duplicates from existing in RabbitMQ and we will do this using
redis to store URLs which exist in RabbitMQ, however not all URL are created
equal, so instead of storing all URLs in redis we will try and keep track of
the most common URLs, stopping them being duplicated in rabbit. This means
we will reintroduce some duplication in rabbit, but allow us to manage our redis
memory usage.
We will do this by reducing the redis TTL, if the URL is encountered a again
before the TTL expires, the TTL will be extended, if it only encounters the URL
again after the TTL has expired the url will be inserted into rabbit a 2nd time
and a new TTL set.

A suggestion from Tim is to use a hash of the URL as the key instead. On production, there are ~340k keys, each only taking up 2 bytes for their value. But the key length can be around 1600 bytes for some filtering pages. Using crc32 or md5 or similar to hash the URL before using it as a key should reduce the memory usage more than reducing the TTL.

Have gone with the hash function for now as this appears to be a stable option. May reopen this in the future if we run out of memory for redis.


Add numeric input

Better alternative to input number
Also article about this.

:tada: This issue has been resolved in version 0.16.7 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[ansible/xray] timeout for xray API check is too short. Tasks fails but service is still activating.

The following task in Ansible/ansible_collections/jfrog/platform/roles/xray/tasks/install.yml is not waiting long enough before failing:
- name: Make sure xray is up and running
  ansible.builtin.uri:
    url: http://<IP_ADDRESS>:8082/router/api/v1/system/health
    timeout: 130
    status_code: 200
  register: result
  until: result is succeeded
  retries: 25
  delay: 5
  when:
    - not ansible_check_mode
    - xray_start_service | bool

Should be at least 5 minutes or 15..
- name: Make sure xray is up and running
  ansible.builtin.uri:
    url: http://<IP_ADDRESS>:8082/router/api/v1/system/health
    timeout: 130
    status_code: 200
  register: result
  until: result is succeeded
  retries: 30
  delay: 10
  when:
    - not ansible_check_mode
    - xray_start_service | bool

Note: happens only on fresh install. Future attempts are faster.

Thanks for raising this! Do you have any insights into how many seconds it took for the fresh install to connect successfully? We're trying to understand if this issue is isolated to just one environment or if it occurs consistently across others.

@chukka note that you can first wait for the xray service to be active then check the availability.