Location of config.json file.

In order to use the PSF with the Microsoft MSIX Packaging Tool, it is necessary to specify the installation folder and install into that folder, rather than a "VFS" style install that we usually prefer.  This is because PsfRuntime only looks in the Root folder of the package for the config.json file.
This could be resolved by first looking in this location, but then failing to find it look in the folder containing the running exe (or perhaps current working directory since that is easier in C++) when not found.  It might be that we'll have some issues with placement of the PSF dlls also in VFS styling, so I'm just opening this as an issue at this time.
In a VFS style package, it might be better to declare a standard VFS folder for all of the Psf components instead.  Needs more thought...

@TimMangan can you please clarify what are the benefits of placing it in the VFS? what do you mean "VFS" style install?

Here are some ideas that apply to your questions.
What do I mean by a VFS style install: A VFS style install applies to repackaging scenarios using a tool like the Microsoft MSIX Packaging Tool, where the installation folder is not entered in the wizard.
What are the benefits to a VFS style install:

A primary benefit to creating the package using VFS is that (currently) the layering of files/folders in a modification package only work with VFS style packaging. So if the enterprise wants to separate configuration data into a modification package to simply application updates from the vendor of the main package, they may do so.
Sometimes the package being created was previously natively installed.  A VFS style packaging seems to improve the odds of leftover user configuration files being found when the MSIX package is deployed.
Packagers are lazy.  They don't want to enter this information because they don't know where the installer intends to install the software.  Maybe not a great reason, but it is a reality.
Microsoft has indicated that it is considering adding a "connection group" capability in the future. Our experience with App-V indicates that we are likely to be more successful with VFS packages when and if that time comes.

Another benefit: Let's say the implementation first looks in the working directory folder, and if it doesn't find it there looks in the root folder. This would make it possible to have versions of the config.json file targeted to the application. When we get to multiple packages with independent entry points (either added to the modification package or the "connection group" functionality), it becomes impossible to have just one config.json file for the entirety of the container.

The changes for this issue were included in the 2019.12 PR (I think the number was 105)


added the getting started guide for the R client

added a markdown file
modified config.js to create a navigation element for the webpage

I haven't checked more in-depth, but let's merge and then see how it looks and make further changes separately if required.


Core: Implement autogenerator for != operators

Inspired by C++20 making != operators implicit, I was looking for a way to prepare the repo for that conversion without compromising functionality nor readability. Initially this was achieved by wrapping all existing inequality operators in a c++20 define, though that made things incredibly cluttered. Instead, this PR adds an autogenerating define that replaces the old implementations entirely. This not only cleans up the codebase by consolidating logic, but it will allow for seamlessly excluding these operators when c++20 is officially supported.

Superseded by #89660


polish lib.rs examples

This updates our lib.rs examples, showing off more of what async-std can do, and somewhat simplifying what we were already doing. Additionally it should make it nicer for people from other languages to understand what async rust is about.
Closes #522. Thanks!
Screenshots

I don't know if this is sufficient to close the issue.
const main = async function () {
  const rows = await queryDatabase()
  const apiResponse = await fetchJson()
}

I think an example that showcases multiple uses of spawning tasks into something that main can then block on is much more realistic.

Here is an example that shows passing 3 arguments within a task::block_on, 2 string arguments along with a vector of strings.
It compiles/runs successfully.
use std::env::args;
use async_std::fs::File;
use async_std::io::{self, BufReader};
use async_std::prelude::*;
use async_std::task;

async fn say_hi( mypath1_ : &str, mypath2_ : &str, myFilePaths_ : &mut Vec<String>) -> io::Result<()> {

    task::block_on(async {
        println!("mypath1_:<<{}>>",mypath1_);
        println!("mypath2_:<<{}>>",mypath2_);
        for oneFilePath2 in myFilePaths_ {
            println!("oneFilePath2:<<{}>>", oneFilePath2);
        }

        Ok(())
    })
}

fn main() -> io::Result<()> {
    let path1 = args().nth(1).expect("missing path argument");
    let path2 = args().nth(2).expect("missing path argument");

    let mut vsMyFilePaths : Vec<String> = Vec::new();
    vsMyFilePaths.push("blah1".to_string());
    vsMyFilePaths.push("blah2".to_string());
    vsMyFilePaths.push("blah3".to_string());

    task::block_on(say_hi(&path1, &path2, &mut vsMyFilePaths))
}


bot can't send message

Whenever I use this "bot.sendMessage(chat_id,'Text Here'). I get an error saying bot can't send messages to bots.

Thats right. A Bot is not able to send a message or something else to another bot. Use the Telegram Cli with a phone number to communicate between two bots.


Improvements to truss CLI.

Summary
Made some improvements to the truss CLI:

truss predict now supports --model and --model-version arguments
truss configure now exists which edits the .trussrc file

Will follow up this change with a couple more changes:

Printing URL after truss push
Clean up the get_baseten_service path -- the code here is quite messy (I wish we could use pattern matching!)
I really dislike that we edit the config.yaml after truss push, it feels pretty janky that we do that and would like to revisit that

testing
Truss Push:
$ poetry run truss push
Compressing... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
Uploading... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
✨ Model Baseten Test Model was successfully pushed ✨

|---------------------------------------------------------------------------------------|
| Your model has been deployed as a draft. Draft models allow you to                    |
| iterate quickly during the deployment process.                                        |
|                                                                                |
| When you are ready to publish your deployed model as a new version,                   |
| pass `--publish` to the `truss push` command. To monitor changes to your model and    |
| rapidly iterate, run the `truss watch` command                                        |
|                                                                                |
|---------------------------------------------------------------------------------------|

🪵  View logs for your deployment at https://app.baseten.co/models/pBDEAQ0/versions/wpjvdlw/logs
? 🗂  Open logs in a new tab? Yes

Truss predict:
@squidarth ➜ /workspaces/truss/truss-public-gh-repo-test (main) $ poetry run truss predict -d '{"inputs": "b"}'
{
  "predictions": "b"
}

@squidarth ➜ /workspaces/truss/truss-public-gh-repo-test (main) $ poetry run truss predict -d '{"inputs": "b"}' --model pBDEAQ0
{
  "predictions": "b"
}

@squidarth ➜ /workspaces/truss/truss-public-gh-repo-test (main) $ poetry run truss predict -d '{"inputs": "b"}' --model-version wpjvdlw
{
  "predictions": "b"
}

Thanks for review @bolasim , cleaned some of this up, lmk what you think.

going to follow this up w/ some tests


Why can I not download this file

https://scholarsphere-qa.libraries.psu.edu/concern/parent/44558d35k/file_sets/kh128nf364

Guessing this is related to fedora being down.

It was the issue that fedora was down.


Sort is incredibly slow

The current algorithm is O(n^2) so it's no wonder it's slow. I'm guessing performance could be very drastically improved by implementing it like:

Convert foldable into array
Sort array using Array#sort with a comparison function that uses < for primitives and ord for FL Ords
Convert array back into foldable

If the argument to sort is already an array the last step could be skipped.
That is O(n*log(n)) and should be much faster. But, it will not be stable since Array#sort is not stable.

The above could also be used to implement a stable sort. Then one would have to turn the Foldable into an array where each element is tagged with its original index. The comparison function should then break ties by using the index. That would probably make it a bit slower though.

Are you interested in submitting a pull request, Simon?

I'd love to :smile: Are there benchmarks I can run to compare the performance before and after?
I've implemented the above approach for List. The implementation can be seen here.
I've created a benchmark that measures the overall performance and roughly measures the cost of doing a stable sort vs. doing an unstable sort. With stability, the algorithm is only about 50% slower than Array#sort. Stability makes the sorting about 15% slower compared to the unstable version.

I personally think doing a stable sort is worth it. The performance difference isn't that huge and a stable sorts goes well with functional programming.
To get a bit extra performance I pull off a trick: I check the first element of the list. If it is a number or a string I do an unstable sort since it's impossible to tell if two identical numbers or strings gets exchanged. I'm not sure if there's any downsides to that.

I'd love to

Wonderful!

Are there benchmarks I can run to compare the performance before and after?

https://github.com/sanctuary-js/sanctuary-type-classes/blob/master/bench/README.md
I'm sure @Avaq will be happy to answer questions if it's not clear how to run the benchmarks.


SHA256sum mismatch in 23.10.1 release

Description
The stated SHA256 checksum on the release page does not match the tar.gz release file.
Steps to Reproduce (Bug)

Download 23.10.1 release
Attempt to confirm checksum
Receive checksum mismatch

Expected behavior: [What you expect to happen]
Checksum should match what is stated on release page:
https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/23.10.1/besu-23.10.1.tar.gz / sha256: e27645f345583f3ee447e5418302382c6f8335d2da8707bdd20033aabd86ce4c

Actual behavior: [What actually happens]
Checksum does not match:
498afb6cb4d8e5cdeae0a00db000bd2f4ed97aa833b0467ffed9668ad326f335  besu.tar.gz

Frequency: [What percentage of the time does it occur?]
100%
I have downloaded multiple times from different computers, same result.
Logs (if a bug)
N/A
Versions (Add all that apply)
23.10.1 tar.gz release file

It would also be great if the besu team could add gpg signature verification.
Thanks for all the great work!

I get the same result:
# wget https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/23.10.1/besu-23.10.1.tar.gz
--2023-11-13 16:13:04--  https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/23.10.1/besu-23.10.1.tar.gz
Resolving hyperledger.jfrog.io (hyperledger.jfrog.io)... <IP_ADDRESS>
Connecting to hyperledger.jfrog.io (hyperledger.jfrog.io)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 200
Length: 165372941 (158M) [application/x-gzip]
Saving to: ‘besu-23.10.1.tar.gz’

besu-23.10.1.tar.gz                    100%[===========================================================================>] 157.71M  5.41MB/s    in 31s

2023-11-13 16:13:36 (5.16 MB/s) - ‘besu-23.10.1.tar.gz’ saved [165372941/165372941]

# sha256sum ./besu-23.10.1.tar.gz
498afb6cb4d8e5cdeae0a00db000bd2f4ed97aa833b0467ffed9668ad326f335  ./besu-23.10.1.tar.gz

Thanks for catching this, the 23.10.1 build was updated during a build of 23.10.2.RC which is on the way. Existing artifacts are correct at those URLs, but their SHAs have changed. Release notes include both the prior and current SHAs now.
https://github.com/hyperledger/besu/releases/tag/23.10.1


usvg: Produce Text nodes in the Tree, even when text feature is diabled?

Would it be possible to change things so that we still get Text nodes in the tree even when the text feature is disabled?
In our case, we want to do our own shaping and scaling of text after having converted svg text elements to our own internal types, and don't need the text bounds or paths. What do you think of always including Text nodes in the Tree and only fencing off the functions/fields depending on shaping behind the text feature?
Note that I'm only talking about usvg here, not resvg:)

The way usvg works is that it requires to know a bounding box of each element. To get a bbox of text node we need to outline it. As simple as that.
For now, you can simply enable the text feature and do no use flattened output. The raw SVG Text data will still be available.
If the goal is to avoid the text feature dependencies then I'm afraid it's not possible and I don't see an easy way of implementing this.

Thank you for the super quick reply!
Okay, so if I naively just let the bounding box of the text node stay as the dummy, other elements in the svg would become incorrect as a result? Or if I don't resolve fonts and just use some standard fallback, that would also less accurate layouts etc?

usvg requires to know elements bboxes to resolve objectBoundingBox units. If you skip text elements - you will get incorrect results.
SVG is a horrible, horrible file format and the purpose of usvg is to remove all the complexity from it. usvg is not an SVG parser, it's a converter.
If you do not like its representation of SVG - nothing we can do about it. It's intentionally high-level.

Or if I don't resolve fonts and just use some standard fallback, that would also lead to less accurate layouts?

You can provide a fontdb with a single font and it should work ok-ish. But all uses of text + objectBoundingBox will be broken/inaccurate.

Gotcha! Thank you for taking the time to explain.
I'll just go ahead and use it as intended and load in the correct fonts when needed. Didn't even know about objectBoundingBox units, and am very happy that this crate allows me to stay blissfully ignorant!
Thanks again:)


Consider implementing per-transaction WITH

The idea is to allow a WITH block with START TRANSACTION, so that the assignments in the WITH block affect the entire transaction block and are automatically reverted when the transaction closes.
So:
WITH MODULE foo
START TRANSACTION;
...

COMMIT;

Which is roughly equivalent to the following:
START TRANSACTION;
SET MODULE foo;

...

SET MODULE <original>;
COMMIT;

Idea rejected.


opentelemetry tracer: add OTLP/HTTP exporter

Commit Message:
Add OTLP/HTTP exporter to OpenTelemetry Tracer
Co-authored-by: Alex Ellis<EMAIL_ADDRESS>Additional Description: This PR refactors the OpenTelemetry tracer, allowing it to export OTLP data via HTTP. It refactors the existing gRPC exporter into a general exporter, so the functionality can be shared between the gRPC and the new HTTP exporters. The HTTP exporter is relatively simple: it accesses the thread local cluster for the configured cluster, then sends the OTLP request.
Risk Level: Low (new, optional functionality for existing tracing extension)
Testing: Unit test and manual tests performed, exporting spans to a local OTel collector and a public/external back-end via OTLP/HTTP. Also performed tests exporting to a local OTel collector via gRPC to ensure the existing feature is unaffected.
Fixes #26352
Note: This is a continuation of #28454 as previously discussed and agreed with @AlexanderEllis and @htuch.
For posterity, here's how a "full" configuration looks like:
tracing:
  provider:
    name: envoy.tracers.opentelemetry
    typed_config:
      "@type": type.googleapis.com/envoy.config.trace.v3.OpenTelemetryConfig
      service_name: envoy-HTTP-exporter
      http_config:
        cluster_name: my_backend
        traces_path: "/api/otlp/v1/traces"
        hostname: "my-backend.com"
        headers:
          - key: "Authorization"
            value: "auth-token"
          - key: "x-custom-header"
            value: "something-custom"
        timeout: 5s

@adisuissa fixed everything. I left a couple of discussions open with my thoughts. Please let me know what you think. Thank you!

ping @adisuissa

(Sorry for the ping, I somehow read 7 hours as 7 days.)

@adisuissa addressed all comments. Should be good for maybe a final look! (build is failing to push the docs to google cloud also in other Prs)

/retest

/retest

@adisuissa Thanks

Please add an integration test that validates that this works end-to-end.

Could you please point me to an example on how this should be done? I never did so I'm quite lost. Do you mean something like configure Envoy with tracing+HTTP Exporter, make requests to it, and query the spans that are exported somewhere? Do you know if we have a mock http server we can use to "intercept" the OTLP export request Envoy sends? Would this be something that can be added as a follow up?

and consider adding a doc with a specific example that explains how to use this feature.

If it's OK for you, I'd keep the adding an example outside of this PR. I looked and the entire observability/tracing documentation is out of date/lacking. I created a issue for it. https://github.com/envoyproxy/envoy/issues/29838. I feel the entire structure needs to be worked on, because there are no examples also for gRPC, and some tracers are even deprecated but still show in some other pages, like the Lightstep one.

@adisuissa Thanks

Please add an integration test that validates that this works end-to-end.

Could you please point me to an example on how this should be done? I never did so I'm quite lost. Do you mean something like configure Envoy with tracing+HTTP Exporter, make requests to it, and query the spans that are exported somewhere? Do you know if we have a mock http server we can use to "intercept" the OTLP export request Envoy sends? Would this be something that can be added as a follow up?

A simple example could be for the admission control integration test.
I've just noticed that other tracers do not seem to have integration tests, so it may be added in a future PR (I leave it for the senior maintainer to decide).

and consider adding a doc with a specific example that explains how to use this feature.

If it's OK for you, I'd keep the adding an example outside of this PR. I looked and the entire observability/tracing documentation is out of date/lacking. I created a issue for it. #29838. I feel the entire structure needs to be worked on, because there are no examples also for gRPC, and some tracers are even deprecated but still show in some other pages, like the Lightstep one. What I can do now is maybe add another example in the examples folder.

I think that's ok, but will leave it up to the senior maintainer to decide.

/wait

/docs
@wbpcode @htuch  I went with option 2 - modified the opentelemetry.proto docs make it clear there's no formatting. All should be resolved and good to go now!

@wbpcode tried addressing the "copy" of headers. Please let me know what you think! thank you 🙌


The include/exclude logic should only filter out transitive optionals

Currently it excludes all optionals, which makes it different from the Boot behaviour.

This is already in scope for the generic cloud deployer w-i-p.


add empty demo marlowe contract and make default.

Also order demo contracts.

I'm closing this because we are not sure it's a better user experience at the moment.


Does this project supports localization?

I am building a multi-language app using Angular 7 and need to integrate the monaco-editor as the code editor. But I have found there is no options for l10n.

To configure localization for monaco, the only time window is after the monaco-editor/min/vs/loader.js script is loaded, but before monaco's main module (vs/editor/editor.main). ngx-monaco-editor unfortunately did not expose this time window to us, we have to hack our way into it.
Here is our take: in the component which hosts the monaco editor:
  ngOnInit(): void {
    this.setMonacoLocalization();
  }

  private setMonacoLocalization() {
    // HACK: we intercept the mutation when the monaco-editor/min/vs/loader.js script
    // element is added to the body. The moment this script is loaded is the only time
    // window we can access the require.config method, which must be used to configure
    // the localization settings for monaco.
    function onMutated(mutations: MutationRecord[], observer: MutationObserver) {
      for (const mutation of mutations) {
        for (let i = 0; i < mutation.addedNodes.length; ++i) {
          const addedNode = mutation.addedNodes[i];
          if (addedNode.nodeName !== 'SCRIPT') {
            continue;
          }

          const scriptNode = addedNode as HTMLScriptElement;
          if (!scriptNode.src.endsWith('monaco-editor/min/vs/loader.js')) {
            continue;
          }

          // Another HACK: we have to make sure our callback executes in prior to the
          // callback which actually loads monaco. Intercept the original event handler
          // and add it later, after our event handler.
          const originalEventHandler = scriptNode.eventListeners!('load')[0]!;
          scriptNode.removeEventListener('load', originalEventHandler);

          scriptNode.addEventListener('load', function (e) {
            (window as any).require.config({
              'vs/nls': {
                availableLanguages: {
                  '*': 'en-us',  // <-- your culture code here
                },
              },
            });
          });

          scriptNode.addEventListener('load', originalEventHandler);
          observer.disconnect();
          return;
        }
      }
    }
    new MutationObserver(onMutated).observe(document.body, {
      childList: true,
    });
  }

where that we could apply this in angular ? And Could we can change localize in the UI and then is it effect?

For anyone who stumbles across this topic in the future, the language can be added as a requireConfig property:
const monacoConfig: NgxMonacoEditorConfig = {
  baseUrl: 'assets',
  requireConfig: {
    preferScriptTags: true,
    'vs/nls': { availableLanguages: { '*': 'de' } }
  },
};

@NgModule({
  imports: [
    MonacoEditorModule.forRoot(monacoConfig),
  ]
})


Improve dynamic changing of SETTINGS parameters for decorated functions with active workflow engines

What new feature would you like to see?
Recently, we introduced a function change_settings that can be used to temporarily modify the settings of some function calls in a script. See here for details. An example is like that shown below:
from quacc import change_settings

with change_settings({"RESULTS_DIR": "/new/path/to/store/results"}):
    pass  # Your calculation here

This works wonderfully. However, as noted on that same page, if you dispatch the calculation to a remote machine (as is common with the use of a workflow engine), there is no knowledge of changes to in-memory parameters like the global SETTINGS object. We should come up with a smart and user-friendly way to address this.
For instance, let's say you want to change SETTINGS.DEBUG to True for a @job called relax_job. Most likely, it can be solved by:

Stripping the @job, @flow, or @subflow decorator (from quacc import strip_decorator) from the imported function. In this case, it'd be a @job.
Dynamically redefining the function with an update to SETTINGS.DEBUG inside of the function definition. Important: we must retain the original function's name, signature, type hints, etc. so presumably functools.wraps here.
Redecorating it with the original decorator.
Returning the redecorated function to the user

The tools to do this are likely already in quacc.wflow_tools.customizers, but the exact logic to get it right in an automated fashion currently escapes me.
For background context, refer to https://github.com/Quantum-Accelerators/quacc/discussions/2145 and my answer therein.

I've tried a workflow similar to your suggestion. I wasn't sure how to use quacc.wflow_tools.customizers to change settings for a remote machine, instead, I defined another function for it. In my working environment (latest Quacc and Parsl), it works just as I want, but there might be possible errors.
def change_settings_wf(func: Callable, settings: Dict, decorator: Callable) -> Callable:
    from quacc import change_settings
    def concatenated(*args, **kwargs):
        with change_settings(settings):
            return func.func(*args, **kwargs)

    return decorator(concatenated)

from quacc import job
relax_job = change_settings_wf(relax_job, {"DEBUG": True}, job)

I think it would be great if I could directly get the decorator from func so that the change_settings_wf doesn't need to take decorator as a keyword. Let me know your thoughts on this, or if there's a better way.

Thanks for the suggestion!
We can replace func.func(*args, **kwargs) with
from quacc import strip_decorator
return strip_decorator(func)(*args, **kwargs)

So that it works for any workflow engine.
If you'd wish to do so, feel free to open a PR and add a test for Parsl! I can add the other tests. Alternatively, if you do not have the time or desire to do so, I can work on implementing this soon.

I think it would be great if I could directly get the decorator from func so that the change_settings_wf doesn't need to take decorator as a keyword

Definitely. This was also a problem in #1865. I tried to solve it recently by appending a .quacc_decorator: Literal["job", "subflow", "flow"]  attribute onto the decorated function that could be retrieved later, but some of the workflow engines (Dask) don't support adding new attributes like this. I think I may need to write a custom function that:

Detects the workflow engine from SETTINGS
Tries to smartly detect which decorator was applied, basically using the reverse of the logic that was within quacc.wflow_tools.customizers.strip_decorator.

Not a huge fan of that approach but perhaps it's the only way. I'll keep thinking on this.

No problem!
Sure, I can work on it tomorrow since it's getting late here. But of course you can go ahead if you would like to implement it sooner.
I see, that sounds good. It seems there's no way to know the wrapper from the wrapped function without any modification. I agree that this is the only way.

It's no rush from my side. I probably won't have time to devote to this until the middle of next week. Thanks for kicking it off though! Shouldn't be too painful to implement.

No problem, just opened a PR. I only added a unit test for Parsl.
FYI, I found that there can be a potential issue in the nested call of change_settings_wf.
static_job1 = change_settings_wf(static_job, {"RESULTS_DIR": "/new/path1"}, job)
static_job2 = change_settings_wf(static_job1, {"RESULTS_DIR": "/new/path2"}, job)
#static_job in static_job2 will have "RESULTS_DIR" of "/new/path1"

This can be problematic when using flow or subflow that calls jobs in it. At the moment, I don't know how to fix it. We might need another approach for change_settings.


Generated ModelAdapter handles Nulls incorrectly in bindToInsertValues()

DBFlow Version: 4.0.2
Issue Kind (Bug, Question, Feature): Bug
Description:
The generated ModelAdapter handles nulls incorrectly. It creates two keys in the ContentValues for the same column: ex. "parent_id" and "`parent_id`".
Here is a snippet from the generated code:
    if (model.getDeviceType() != null) {            values.put("``deviceType_id``", model.getDeviceType().getId());         } else {           values.putNull("deviceType_id");         }
[the double back ticks should be single, I can't get around githubs back tick being used for code formatting]
This results in a bug when using FastStoreModelTransaction, which reuses the ContentValues instance for multiple updates. The problem is that when there are two instances of the model saved in such a transaction and first model has deviceType_id set and the second model has a null in this field then both models will be saved with the same deviceType_id of the first model, because second run of bindToInsertValues will not clear the correct ContentValues key.
The result of running the bindToInsertValues two times on the same ContentValues instance (on above example) is something like this:
ContentValues {deviceType_id=3,`deviceType_id=null}
but the SQLite will only use the deviceType_id key, not the escaped one.

fantastic catch. luckily 4.0.2 doesnt use ContentValues when inserting anymore. but anyways it will be fixed in 4.0.3.


More Native API Features

[x] get balance
[x] get gas estimate transaction payload log

[ ] user interface should reflect workspace constructor input
[ ] react panel functions should execute appropriate functions from extensstion

[ ] get ganache accounts from eth
[ ] get gas estimate
[ ] deploy ganache transaction
[ ] sign & deploy network transactions
[ ] call contract functions

update

[ ] send-ether-signed
[ ] send-ether
[ ] ganache-contract-method-call
[ ] contract-method-call


Does Suspense and Error boundries work with klyva? Also does it work with concurrent mode? They quite stressed this when introducing recoil

☝  asking for a friend :) cc @kkogovsek

Heya :D
Regarding suspense...
Well, depends on what you're asking. But for suspense, I've explicitly decided to not implement any support for that. I think if you should fetch data, use react-query or something honestly, you can generate the "keys" and "parameters" for the query in atoms of course... I know jotai has support for suspense, but I've never used it.
I honestly don't think suspense brings that much joy to the dev experience anyways? Have you tried it? It made me feel way less secure about my code.
Regarding error boundaries:
Hmm, how do you mean?
Regarding CM...
I honestly don't know? Is there any information about this?  (I mean, will your code-bases custom hook work with CM?)
Yes I have CM anxiety and I'm not even sure the code I write today will be usable when CM rolls out, and we haven't gotten that much info regarding this from the react team. Mostly some talks and no definite tools or experience around CM that makes easy to assert a good answer to your question.
I've put klyva in this table here: https://github.com/dai-shi/will-this-react-global-state-work-in-concurrent-mode#results and it looks like there are very few state management solutions that pass the "No-tearing" test. Note that recoil does not pass the test.

Heya :D
Regarding suspense...
Well, depends on what you're asking. But for suspense, I've explicitly decided to not implement any support for that. I think if you should fetch data, use react-query or something honestly, you can generate the "keys" and "parameters" for the query in atoms of course... I know jotai has support for suspense, but I've never used it.
I honestly don't think suspense brings that much joy to the dev experience anyways? Have you tried it? It made me feel way less secure about my code.
Regarding error boundaries:
Hmm, how do you mean?
Regarding CM...
I honestly don't know? Is there any information about this?  (I mean, will your code-bases custom hook work with CM?)
Yes I have CM anxiety and I'm not even sure the code I write today will be usable when CM rolls out, and we haven't gotten that much info regarding this from the react team. Mostly some talks and no definite tools or experience around CM that makes easy to assert a good answer to your question.
I've put klyva in this table here: https://github.com/dai-shi/will-this-react-global-state-work-in-concurrent-mode#results and it looks like there are very few state management solutions that pass the "No-tearing" test. Note that recoil does not pass the test.

klyva was added in https://github.com/dai-shi/will-this-react-global-state-work-in-concurrent-rendering/pull/28
and I don't see it n the table now, but don't see in https://github.com/dai-shi/will-this-react-global-state-work-in-concurrent-rendering/commits/master any other PR removing klyva. Hm.

I think I found the one removing klyva, here:
https://github.com/dai-shi/will-this-react-global-state-work-in-concurrent-rendering/commit/46187ce6ee0920ba8b35b5c572436f449b4982e9

I should make a PR when I get off work :P

Perfect. Yes - it looks like an oversight in the reorg  :)


Would it be possible to zf3 to load the module, which is required for the current router?

My app always loads all the modules, and starts the onBootstrap() all the modules in order. Would it be possible to zf3 to load the module, which is required for the current router? And models from other modules to load using autoload

No, it's not possible. By design.
The intent is fit module classes to be lightweight and provide information to the application specifically around two areas:

configuration, including routing configuration
listeners for MVC (and other) events

Autoloading can be provided by modules as well, but does not have to be. You can already setup autoloading rules for modules using composer or an application-level autoloader, and most third-party modules do this already.
If your module only provides classes, all you need is an autoloader. But if it provides configuration and/or wires event listeners, a Module class is required; it's how the module is able to provide those details to the application.


How to pass rust callbacks to js method?

I tried to pass a callback to the js method but currently it cannot be represented as WasmBoundary is not implemented.
So, what are the things that must be done to achieve an api as such:
#[wasm_bindgen]
extern {
    type Element;
    fn add_event_listener(this: &Element, ev_type: &str, listener: Box<FnMut()>);
}

Thanks for the report! This unfortunately isn't supported today, but we talked about this yesterday during the Berline all-hands and we think we've got a path forward! I'll leave some more comments soon when I get a chance.

Let me bug you once more. I wanted to know, whenever the callbacks are implemented, will we be able to pass a non-static lifetime reference of the closure?

Alright! This is now implemented with https://github.com/rustwasm/wasm-bindgen/pull/101 and the various caveats are also documented


[GH ACTION] Synchronize the docs creation with readthedocs.com

To add documentation

[x] Basic use
[ ] Tutorials [WIP]
[ ] Synchronize with readthedocs

Looks like a good start !
Don't forget to add a bit of text to the tutorials to guide the reader.
And maybe try to choose a better colorpalette to make the plots prettier. It will help to not confuse the reader with examples such as

which are barely readable. Maybe stretching the images could help (see https://docs.astropy.org/en/stable/visualization/normalization.html).


help-inline not showing at new line

In my case, the form element description (help-inline) is not showing on a new line.
I've fixed this by putting this in my override.css:
span.help-inline:before {
  display: table;
  content: "";
  zoom: 1;
  *display: inline;
}
span.help-inline:after {
  clear: both;
}

Perhaps there is a cleaner fix for this. Used browser is Firefox 7 Stable.

If you want your help text to appear on a new line instead of inline, use .help-block.


IDA 7.0 Free Not Installed

The machine enters a reboot loop with the flare-vm script trying to install IDA 7.0 Free. It downloads it on each attempt, tries to install it, says it could not install it, and then reboots the system. If you exit the script you can stop the loop, but IDA 7.0 Free won't be installed. Also suggest only installing IDA 7.0 Free and skip installing IDA 5.0 Free altogether.

@urain Do you have the exact error that cause IDA Free 7.0 to fail?
IDA 5.0 is still installed by default since IDA Free 7.0 is 64bit. We would like to provide a disassembler on 32bit systems as well, hence IDA Free 5.0

I have a similar issue that may be related to this. Here is a screenshot for reference. Any applications after IDA 7.0 are not installed.

@mt025 This is more likely related to an issue with chocolatey or boxstater (example issue here: https://github.com/chocolatey/choco/issues/1361). However, we have a temporary fix in windows 10 already.


Chapter titles are not visible in the export preview

Description:

chapter titles inserted by a user via the editor are not visible in the export preview.

To recreate:

Create a new MAWE doc
Insert a new chapter to the MAWE doc via the editor and click "save".
Access the export preview by clicking on the export icon in the top nav bar of the application.
Observe that the chapter title you inserted is not visible and only it's index.

This issue was closed due to the steps provided not being reproducible.


VC should be 14.1 and not 15.0

Svn team: can anyone confirm this fix?
atkawa7: can you give us a hint about how to confirm this fix? (Most of us don't work on Windows most of the time, so it's not obvious to us.)

@julianfoad They are using vcproj_version as a proxy to visual studio 2017. However it fails to compile  because the toolset is v141. It looks for toolset v150 but cannot find them


version information not being set correctly by installation from PyPI

The version on PyPI is somehow not setting the package version information correctly:
(astroconda) mperrin@phoenix python3.6/site-packages  > pip install pysiaf
Collecting pysiaf
Downloading https://files.pythonhosted.org/packages/a3/ac/d46815bbea01538ea07d35e27c1763f87fabac09a962593ca0f22bf2149d/pysiaf-0.1.8.tar.gz (26.2MB)
[...  lots of log messages ...]
Successfully built pysiaf
Installing collected packages: pysiaf
Successfully installed pysiaf-0.0.0

This also results in no version information after import:
In [1]: import pysiaf

In [2]: pysiaf.__version__
Out[2]: '0.0.0'

Right now this is causing an issue for the webbpsf docs build, shown below. I'm going to work around this by removing the requirement for pysiaf > 0.1.8 but that's not great to have a dependency without version info.
Processing dependencies for webbpsf==0.7.1.dev1017
Searching for pysiaf>=0.1.8
Reading https://pypi.org/simple/pysiaf/
Downloading https://files.pythonhosted.org/packages/a3/ac/d46815bbea01538ea07d35e27c1763f87fabac09a962593ca0f22bf2149d/pysiaf-0.1.8.tar.gz#sha256=8a65564c5435bc87318d7f1a1ea9b8934886daa4907004a9258092b0d2c06ef2
Best match: pysiaf 0.1.8
Processing pysiaf-0.1.8.tar.gz
Writing /tmp/easy_install-7p2wfbz0/pysiaf-0.1.8/setup.cfg
Running pysiaf-0.1.8/setup.py -q bdist_egg --dist-dir /tmp/easy_install-7p2wfbz0/pysiaf-0.1.8/egg-dist-tmp-5avtrkwl
Cloning into 'relic'...
zip_safe flag not set; analyzing archive contents...
pysiaf.__pycache__.constants.cpython-35: module references __file__
warning: no version data available!
removing '/home/docs/checkouts/readthedocs.org/user_builds/webbpsf/envs/latest/lib/python3.5/site-packages/pysiaf-0.0.0-py3.5.egg' (and everything under it)
creating /home/docs/checkouts/readthedocs.org/user_builds/webbpsf/envs/latest/lib/python3.5/site-packages/pysiaf-0.0.0-py3.5.egg
Extracting pysiaf-0.0.0-py3.5.egg to /home/docs/checkouts/readthedocs.org/user_builds/webbpsf/envs/latest/lib/python3.5/site-packages
pysiaf 0.0.0 is already the active version in easy-install.pth

Installed /home/docs/checkouts/readthedocs.org/user_builds/webbpsf/envs/latest/lib/python3.5/site-packages/pysiaf-0.0.0-py3.5.egg
error: The 'pysiaf>=0.1.8' distribution was not found and is required by webbpsf

I'm going to tag @jhunkeler in this one. Joe, pysiaf appears to be using your relic package as parts of its infrastructure, but something's apparently not quite right because it's not setting the version information correctly. Any insights?
I expect something needs fixing in pysiaf, then new packages built and pushed to PyPI. The resolution on this one may be slightly delayed, because @Johannes-Sahlmann is out of town until next week. That's somewhat unfortunate since this is causing issues for the release of webbpsf I just made. Should probably have realized that ahead of time, but my local systems all have pysiaf installed from GitHub source, and that way apparently does the right thing.
FYI I'm a co-maintainer and have write access to pysiaf here on Github, but only Johannes has access to the PyPI admin for it right now, as far as I know.


Marker tags removed despite being used

Simple optimize command can result in markers being removed:
svgo -i input.svg -o output.svg
Input file:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
  <style>
.line {
  fill: none;
  stroke: #f00;
  stroke-width: 4px;
  marker-end: url(#arrow);
}
#arrow {}
  </style>
  <defs>
    <marker id="arrow" class="arrow" overflow="visible" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" viewBox="0 0 1 1">
      <path d="M-3-3 0 0l-3 3"/>
    </marker>
  </defs>
  <path d="M 0 50 H 100" class="line"/>
</svg>

Output file:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M0 50h100" style="fill:none;stroke:red;stroke-width:4px;marker-end:url(#arrow)"/></svg>

Note that the arrow marker is missing in the output.
In the input file, if #arrow {} is either removed or changed to .arrow {}, the problem doesn't occur.
SVGO 3.3.2
Node 20.10.0

SVGO doesn't handle <style> elements well. I've been working on a version that addresses some of the limitations of SVGO, at https://www.npmjs.com/package/svgo-ll
svgo-ll keeps the <marker> element, though I did notice that it fails to delete class="line" (which doesn't cause any display problems, but it should be removed).


In 743 add last x days filtering option

Add a days back filtering option

will get data for the last x days back option selected
should be dynamic i.e. if saved in a filter and that filter applies the days back option for when the filter is used. Resolves #119

Display the data used for filtering the plot data in a more human readable way

This change is

Hello @Yu-jinKim! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file trendyqc/trend_monitoring/forms.py:

Line 61:80: E501 line too long (96 > 79 characters)


closed loop experiment sometimes stalls and then presented again

No error is reported when this happens

I believe we fixed this, please let me know if you run into this again.


Add ability to display frame extension

Daala's analyzer has the ability to display frame padding/extension, it would be useful to have this option in the aomanalyzer.

Some initial work with Nathan's analyzer:
http://git.xiph.org/?p=users/tmatth/aom.git;a=commit;h=79de67d28f407ab464f1b1e61811160f8b1d2740


Cannot create square png image from non square svg file

1528971912.svg.zip
resvg<PHONE_NUMBER>.svg<PHONE_NUMBER>.png -w 500 -h 500

will produce image with size 280x500.
Both rsvg and thorvg support such thing

Do you expected a centered or scaled/skewed content? Anyway, resvg indeed doesn't support this. It always preserves the aspect.

If user want to get image with proper aspect ratio, then it should use proper height and weight values. For now in resvg, there is now way to resize image with different aspect ratio.

So your goal is to skew the image? This is not supported. Mainly because I'm not sure why anyone would want that. Can you at least explain your use case?

Out of scope.


Rename ConfigurationOptions derive macro to OptionsMetadata

Summary
It's common practice to name derive macros the same as the trait that they implement (Debug, Display, Eq, Serialize, ...).
This PR renames the ConfigurationOptions derive macro to OptionsMetadata to match the trait name.
Test Plan
cargo build

Current dependencies on/for this PR:

main

PR #7566

PR #7591

PR #7593

PR #7549

PR #7599   👈

This comment was auto-generated by Graphite.

Merge Activity

Sep 27, 2:48 AM: Graphite rebased this pull request after merging its parent, because this pull request is set to merge when ready.


How can I init options dynamic when I click the drop-down?

Hi I have a requirement where I need to update options when the user click the the drop-down.But i can not find any event to use.  How can i do it?

Hi, added 2 events @open, @close. Hope it solves ur pb.


Issue since 3.7.0 due to use of optional chaining

disregard - closing

FYI - I've added @babel/plugin-proposal-optional-chaining to our build config so this shouldn't be an issue any longer 🤞🏼


Dump internal drawing states as HTML

Now -tags=ebitendebug shows graphics commands, but the images are represented as pointers.
What if we could dump the graphics commands and states as HTML like GOSSAFUNC?

A dumped HTML can include the following information for one frame

Called Draw* functions
Draw calls
The relationships between the function calls the draw calls


Fix getIp returning not the ip the server is bound to.

The method is currently returning the ip in the config and not the ip
the server was bound too.

This looks intentional - What have you done to investigate whether it isn't?

I start my servers using a wrapper panel, it passes the address and the port of the server via --host <ip> --port <port>. This works, but in my plugins I use Bukkit#getIP and Bukkit#getPort to pass data to the metrics. If the the ip is emtpy I skip sending metrics. The ip is not configured in the config.yml so the methods returns an empty String. However spigot is returing the IP the server has bound to, even if it is not configured in the server.properties

Thank you for this fix!


[HUDI-2320]Add support ByteArrayDeserializer in AvroKafkaSource

What is the purpose of the pull request
Add support ByteArrayDeserializer in AvroKafkaSource
Verify this pull request
When the 'value.serializer' of Kafka Avro Producer is 'org.apache.kafka.common.serialization.ByteArraySerializer',Use the following configuration
--source-class org.apache.hudi.utilities.sources.AvroKafkaSource
--schemaprovider-class org.apache.hudi.utilities.schema.JdbcbasedSchemaProvider
--hoodie-conf "hoodie.deltastreamer.source.kafka.value.deserializer.class=org.apache.kafka.common.serialization.ByteArrayDeserializer"
For now,It will throw an exception:
java.lang.ClassCastException: [B cannot be cast to org.apache.avro.generic.GenericRecord
After support ByteArrayDeserializer,Use the configuration above，It works properly.And there is no need to provide 'schema.registry.url',For example, we can use the JdbcbasedSchemaProvider to get the sourceSchema

@dongkelun Can you please help me understand the use case? I want to know what kind of data you are pushing using ByteArraySerializer.

@pratyakshsharma  Hi,The main parameters of Kafka producer are:
    val props = new Properties()
    props.put("bootstrap.servers", "<IP_ADDRESS>:9092")
    props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer")
    props.put("value.serializer", "org.apache.kafka.common.serialization.ByteArraySerializer")

See this example for detailed code：AvroSerializerProducerTest .And See this for the demo of consumer:kafkaConsume

@dongkelun So essentially I wanted to understand the reason behind using ByteArraySerDes. Because I have not seen this getting used so far in my working experience. Mostly StringSerializer or confluent Avro Serializer are the most common ones to use. So just wanted to know if one gets any additional benefit with using ByteArraySerializer in terms of data size etc.
LGTM otherwise. :) cc @yanghua

@pratyakshsharma Because our department uses nifi to extract data and then push it to Kafka, and the nifi processor uses ByteArraySerializer, I want to support ByteArrayDeserializer in Hudi.As for the benefits, I'm not very clear now,But I don't think it's very convenient to register a 'schema.registry.url'.And I found a problem in the local virtual machine verification today. I passed the verification in the company's test environment before. I don't know if there is a problem with my environment settings. I'll verify and solve it later

There is no problem with the local virtual machine verification. The reason for the problem mentioned above is that the schema of producer is not completely consistent with the schema obtained by Hudi JdbcbasedSchemaProvider.The specific differences are as follows：
The producer shcema's field:
{"name": "userId", "type": "string"}

The JdbcbasedSchemaProvider's field:
{"name": "userid", "type":["null","string"],"default":null}

Modify producer shcema's field to '{name ":" userid "," type ": [" null "," string "]," default ": null}' or '{name": "userid", "type": ["null", "string"]}',Then it can run normally


Error while running RF model

Hi. I am getting an error when I run the RF model.
I used the following command to start the run (I am using the latest version of phamb)
python /Phamb_new/mag_annotation/scripts/run_RF.py /Vamb/contigs.flt.fna.gz /Vamb/vamb/clusters.tsv /lustre7/home/bhimbiswa/MAGs/Virus/Phamb_new/annotations /Phamb_new/Result_dir

I got the following error.
Traceback (most recent call last):
  File "/lustre7/home/bhimbiswa/MAGs/Virus/Phamb_new/mag_annotation/scripts/run_RF.py", line 227, in <module>
    viral_annotation = run_RF_modules.Viral_annotation(annotation_files=viral_annotation_files,genomes=reference)
  File "/lustre7/home/bhimbiswa/MAGs/Virus/Phamb_new/mag_annotation/scripts/run_RF_modules.py", line 358, in __init__
    self._parse_viralannotation_file(filetype.lower(),file)
  File "/lustre7/home/bhimbiswa/MAGs/Virus/Phamb_new/mag_annotation/scripts/run_RF_modules.py", line 386, in _parse_viralannotation_file
    annotation_tuple = parse_function(line)
  File "/lustre7/home/bhimbiswa/MAGs/Virus/Phamb_new/mag_annotation/scripts/run_RF_modules.py", line 513, in _parse_dvf_row
    score =round(float(score),2)
ValueError: could not convert string to float: 'score'

This is how my "all.DVF.predictions.txt" file looks like.
name    len     score   pvalue
S10CNODE_1_length_374305_cov_118.066653 374305  0.4933076500892639      0.06760329330009819
S10CNODE_2_length_331174_cov_150.761282 331174  0.5215792059898376      0.05410151824155903
S10CNODE_3_length_327615_cov_134.196242 327615  0.6207031011581421      0.03997658433416421
S10CNODE_4_length_275508_cov_107.113522 275508  0.3987869620323181      0.09687287559483344
S10CNODE_5_length_273839_cov_39.234849  273839  0.37943029403686523     0.10166931037087393
S10CNODE_6_length_265257_cov_21.606357  265257  0.7501952648162842      0.029231815091774305
S10CNODE_7_length_254430_cov_27.129502  254430  0.6598391532897949      0.036350932849913135
S10CNODE_8_length_239244_cov_15.625518  239244  0.5251834392547607      0.05332729058085958
S10CNODE_9_length_235224_cov_151.910707 235224  0.4213518500328064      0.09149104917289826

Can you please help me in solving this?
Bhim

Can you try to delete the first header line? As I read the error the program fail when it tries to convert score to a float value.
float("score") # fails
float(0.4933076500892639) # should work

Best, Henry

Dear Henry,
Thank you very much for your quick reply.
I tried your solution but still got the same error.
Traceback (most recent call last):
  File "/lustre7/home/bhimbiswa/MAGs/Virus/Phamb_new/mag_annotation/scripts/run_RF.py", line 227, in <module>
    viral_annotation = run_RF_modules.Viral_annotation(annotation_files=viral_annotation_files,genomes=reference)
  File "/lustre7/home/bhimbiswa/MAGs/Virus/Phamb_new/mag_annotation/scripts/run_RF_modules.py", line 358, in __init__
    self._parse_viralannotation_file(filetype.lower(),file)
  File "/lustre7/home/bhimbiswa/MAGs/Virus/Phamb_new/mag_annotation/scripts/run_RF_modules.py", line 386, in _parse_viralannotation_file
    annotation_tuple = parse_function(line)
  File "/lustre7/home/bhimbiswa/MAGs/Virus/Phamb_new/mag_annotation/scripts/run_RF_modules.py", line 513, in _parse_dvf_row
    score =round(float(score),2)
ValueError: could not convert string to float: 'score'.

As you suggested, I removed the header line of "all.DVF.predictions.txt".
S10CNODE_1_length_374305_cov_118.066653 374305  0.4933076500892639      0.06760329330009819
S10CNODE_2_length_331174_cov_150.761282 331174  0.5215792059898376      0.05410151824155903
S10CNODE_3_length_327615_cov_134.196242 327615  0.6207031011581421      0.03997658433416421
S10CNODE_4_length_275508_cov_107.113522 275508  0.3987869620323181      0.09687287559483344
S10CNODE_5_length_273839_cov_39.234849  273839  0.37943029403686523     0.10166931037087393
S10CNODE_6_length_265257_cov_21.606357  265257  0.7501952648162842      0.029231815091774305
S10CNODE_7_length_254430_cov_27.129502  254430  0.6598391532897949      0.036350932849913135
S10CNODE_8_length_239244_cov_15.625518  239244  0.5251834392547607      0.05332729058085958
S10CNODE_9_length_235224_cov_151.910707 235224  0.4213518500328064      0.09149104917289826

Regards,
Bhim

Hi Bhim
Did you remove all header lines in the all.DVF.predictions.txt file? if you concatenated a bunch of DeepVirFinder files you will still have headers in multiple lines of the file.
Can you try something like this to make sure there are no headers left:
grep -v "pvalue" all.DVF.predictions.txt > all.DVF.predictions.NEW.txt
Then use the all.DVF.predictions.NEW.txt as input instead.
Let me know if it works.
Best,
Joachim

I solved this problem by concatenating my dvf files using the code below, keeping only the first header:
awk '(NR == 1) || (FNR > 1)' {input.dvf} > {output.dvf}
input.dvf is a list of all the input files and output.dvf is the concatenated file with only a single header.

Dear Joachim,
Thank you very much for your kind help.
I am sorry that I misunderstood Henry suggestion.
I had only removed the header from the first line and didn't realize that the header would be there for all files in the concatenated file.
So, I used the following command as you suggested and started my RF model run with the new file.
grep -v "pvalue" all.DVF.predictions.txt > all.DVF.predictions.NEW.txt

This time RF model run finished successfully.
Parsing deepvirfinder
Parsing voghmm
Parsing micompletehmm
Loading Model and annotation table
Writing: 260460 bins to file

Thank you very much @enryH and @sklucas for your suggestions.


Alternate Design of InterledgerException

This PR provides an alternative design to this PR which attempts to model Interledger Errors as a single class.
This PR instead splits the design into two components: InterledgerError.java for serialization/deserialization, and InterledgerException for java exception handling.

Closing this for now since Enrique made some adjustments in a prior PR.  I'll re-open a different PR if necessary.


Run tests on macOS

I think that it's should work without problems, but i need make sure.

Looks fine to me.

@seemethere Great job! Thanks you!


TypeError: Cannot read property '_leaflet_pos' of undefined

I am getting an error when the heatmap layer tries to redraw. It is being called in HeatmapLayer.js line 319:
var panePos = this.props.leaflet.map._getMapPanePos();
I am using the following versions of leaflet:
"leaflet": "^1.7.1",
"react-leaflet": "^2.8.0",
"react-leaflet-heatmap-layer": "^2.0.0",
The final error is:
TypeError: Cannot read property '_leaflet_pos' of undefined
getPosition
src/dom/DomUtil.js:247
244 | 	// this method is only used for elements previously positioned using setPosition,
245 | 	// so it's safe to cache the position for performance
246 |

247 | 	return el._leaflet_pos || new Point(0, 0);
248 | }
249 |
250 | // @function disableTextSelection()
View compiled
NewClass._getMapPanePos
src/map/Map.js:1476
1473 | // private methods for getting map state
1474 |
1475 | _getMapPanePos: function () {
1476 | 	return DomUtil.getPosition(this._mapPane) || new Point(0, 0);
| ^  1477 | },
1478 |
1479 | _moved: function () {
View compiled
HeatmapLayer.redraw
node_modules/react-leaflet-heatmap-layer/lib/HeatmapLayer.js:319

having the same issue as well


When testing the Blockchain class, make sure the addBlock method correctly adds previousHash to the added block

The addBlock method of the Blockchain class should pass the correct previousHash to the newly added block. This is not currently checked in the tests for the Blockchain class. So when I made the following typo:
  addBlock(transactions) {
    const previousHash = this.getHeadBlock().previousHash; // instead of this.getHeadBlock().hash;
    const newBlock = new Block(transactions, previousHash);
    this.blocks.push(newBlock);
  }

the tests didn’t catch that (although later tests did).

Fixed by #112


Update Arm to use SparkMax absolute encoder mode

The SparkMax in the 2023 season now supports directly using an absolute encoder connected to the motor. Absolute encoders are great because they do not require a home position but can instead always know where they are located.
Encoder we will use:
https://www.revrobotics.com/rev-11-1271/
Encoder breakout board to connect to motor controller:
https://www.revrobotics.com/rev-11-3326/
To code these the following objects are needed:
https://codedocs.revrobotics.com/java/com/revrobotics/cansparkmax#getAbsoluteEncoder(com.revrobotics.SparkMaxAbsoluteEncoder.Type)
We will essentially be replacing the current DutyCycleEncoder in the 2020 code with this type of encoder

I finished implementing a absolute encoder class. Its specified as absEncoder and through overviewing the documentation, I discovered that for the kQuadrature encoder type, we must pass the id of 2 to the class. Marking as done for now


It is suggested to add a muted switch on/off in rtsp-simple-server.yml

It is suggested to add a muted switch on/off in rtsp-simple-server.yml

so that it can auto play without muted.


DRAFT Import .cfg file

on-going draft to import .cfg file to WorkFlow.
Signed-off-by: SaeHie Park<EMAIL_ADDRESS>

For #68

done landing


Temperature float

Switch IMU data to floating point, both internally and over Mavlink. Closes #38, helps with #29.
Before merging, need to test the following:

[x] parameter get/set interface for both integer and floating point values
[x] accelerometer calibration, both in fcu_io and in ROSflight

I have to run but can do those tests in about an hour.

Tested and should be good to go.
Removed default temperature compensation because they seemed to be off. This might be a unit change thing, but it also seemed like the values were not consistent between units. May need to do more evaluation to come up with a good default value.

Awesome!


Please add version environment variable.

Thank you creating this module. If possible please add __version__.
>>> GPUtil.__version__
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'GPUtil' has no attribute '__version__'

I've added version in the latest commit: a6c00f048dceda5b741f4f2a7050cef83cbaf842
However, it has not been pushed to pip yet. I will keep the issue open until it has been pushed to pip.


Need a way to stop webchat.

Feature Request
Is your feature request related to a problem? Please describe.

webchat.renderwebchat is being called multiple times. The result is that when the bot talks back,we can hear multiple voices. This is because there are multiple instances running at the same time.
Describe the suggestion or request in detail
Need a webchat.disconnect() which de-allocates all resources held and stops the speech recognition/synthesis.

Additional context
Using webchat.js 4.7.0
Using it in angular

Hi @stevkan
Here is the package.json
{
  "name": "test",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "clean": "rm -rf dist",
    "hmr": "ng serve --configuration hmr",
    "ng": "ng",
    "start": "node --max_old_space_size=8048 ./node_modules/@angular/cli/bin/ng serve --configuration hmr --hmrWarning=false",
    "build": "node --max_old_space_size=20480 node_modules/@angular/cli/bin/ng build  --prod",
    "postbuild": "gulp compress",
    "dev": "lite-server",
    "build:ssr": "npm run build -- --app=ssr --output-hashing=media",
    "test": "ng test",
    "lint": "ng lint",
    "prod-build-prod": "ng build --prod=true  --configuration=production",
    "e2e": "ng e2e",
    "postinstall": "node patch.js"
  },
  "private": true,
  "dependencies": {
    "@angular-devkit/build-angular": "^0.803.21",
    "@angular/animations": "^8.2.14",
    "@angular/cdk": "^8.2.3",
    "@angular/common": "^8.2.14",
    "@angular/compiler": "^8.2.14",
    "@angular/core": "^8.2.14",
    "@angular/forms": "^8.2.14",
    "@angular/material": "^8.2.3",
    "@angular/platform-browser": "^8.2.14",
    "@angular/platform-browser-dynamic": "^8.2.14",
    "@angular/platform-server": "^8.2.14",
    "@angular/pwa": "^0.803.21",
    "@angular/router": "^8.2.14",
    "@angular/service-worker": "^8.2.14",
    "@aspnet/signalr": "^1.1.4",
    "@azure/msal-angular": "^0.1.4",
    "@nguniversal/express-engine": "^8.2.6",
    "@nguniversal/module-map-ngfactory-loader": "^8.2.6",
    "@ngxs/logger-plugin": "^3.6.0",
    "@ngxs/store": "^3.6.0",
    "@progress/kendo-angular-buttons": "^5.1.0",
    "@progress/kendo-angular-common": "^1.2.1",
    "@progress/kendo-angular-conversational-ui": "^2.0.0",
    "@progress/kendo-angular-dateinputs": "^4.2.0",
    "@progress/kendo-angular-dialog": "^4.1.0",
    "@progress/kendo-angular-dropdowns": "^4.2.3",
    "@progress/kendo-angular-editor": "^0.11.0",
    "@progress/kendo-angular-excel-export": "^3.1.0",
    "@progress/kendo-angular-grid": "^4.6.3",
    "@progress/kendo-angular-inputs": "^6.3.1",
    "@progress/kendo-angular-intl": "^2.0.0",
    "@progress/kendo-angular-l10n": "^2.0.1",
    "@progress/kendo-angular-label": "^2.0.2",
    "@progress/kendo-angular-layout": "^4.1.5",
    "@progress/kendo-angular-menu": "^2.0.1",
    "@progress/kendo-angular-notification": "2.0.0",
    "@progress/kendo-angular-pdf-export": "^2.0.0",
    "@progress/kendo-angular-popup": "^3.0.4",
    "@progress/kendo-angular-scheduler": "^1.1.1",
    "@progress/kendo-angular-scrollview": "^3.0.0",
    "@progress/kendo-angular-sortable": "3.0.1",
    "@progress/kendo-angular-toolbar": "^2.2.1",
    "@progress/kendo-angular-tooltip": "^2.1.1",
    "@progress/kendo-angular-upload": "^5.1.0",
    "@progress/kendo-data-query": "^1.5.2",
    "@progress/kendo-date-math": "^1.5.1",
    "@progress/kendo-drawing": "^1.6.0",
    "@progress/kendo-recurrence": "^1.0.0",
    "@progress/kendo-theme-bootstrap": "^4.8.0",
    "@progress/kendo-theme-default": "4.10.0",
    "@syncfusion/ej2": "^17.4.40",
    "@syncfusion/ej2-angular-buttons": "^17.4.39",
    "@syncfusion/ej2-angular-calendars": "^17.4.40",
    "@syncfusion/ej2-angular-circulargauge": "^17.4.39",
    "@syncfusion/ej2-angular-diagrams": "^17.4.40",
    "@syncfusion/ej2-angular-dropdowns": "^17.4.40",
    "@syncfusion/ej2-angular-grids": "^17.4.40",
    "@syncfusion/ej2-angular-inputs": "^17.4.39",
    "@syncfusion/ej2-angular-maps": "^17.4.40",
    "@syncfusion/ej2-angular-notifications": "^17.4.40",
    "@syncfusion/ej2-angular-splitbuttons": "^17.4.39",
    "@syncfusion/ej2-data": "^17.4.39",
    "@syncfusion/ej2-diagrams": "^17.4.40",
    "@syncfusion/ej2-inputs": "^17.4.39",
    "@syncfusion/ej2-maps": "^17.4.40",
    "@teachablemachine/image": "^0.8.4",
    "@tensorflow/tfjs": "^1.2.8",
    "@thisissoon/angular-image-loader": "^5.1.0",
    "@types/dom-mediacapture-record": "^1.0.2",
    "ajv": "^6.10.2",
    "angular-epic-spinners": "^2.0.0",
    "applicationinsights-js": "^1.0.20",
    "artyom.js": "^1.0.6",
    "aspnet-prerendering": "^3.0.1",
    "awesome-typescript-loader": "^5.2.1",
    "base-64": "^0.1.0",
    "bootstrap": "^4.4.1",
    "botframework-directlinejs": "^0.11.6",
    "compression-webpack-plugin": "^3.0.1",
    "core-js": "^3.6.3",
    "core-util-is": "^1.0.2",
    "ej-angular2": "17.4.39",
    "eslint": "^6.8.0",
    "guid-typescript": "^1.0.9",
    "gulp": "^4.0.2",
    "gulp-gzip": "^1.4.2",
    "gulp-sass": "^4.0.2",
    "hammerjs": "^2.0.8",
    "handtrackjs": "0.0.13",
    "html2canvas": "^1.0.0-rc.5",
    "html-to-text": "^5.1.1",
    "i": "^0.3.6",
    "image-to-base64": "^2.0.1",
    "increase-memory-limit": "^1.0.7",
    "install": "^0.13.0",
    "jquery": "^3.4.1",
    "jwt-decode": "^2.2.0",
    "lodash": "^4.17.15",
    "mat-progress-buttons": "^8.0.7",
    "metro4": "^4.3.4",
    "microsoft-cognitiveservices-speech-sdk": "1.8.1",
    "moment": "^2.24.0",
    "moment-timezone": "^0.5.27",
    "ng-artyom": "0.0.1-alpha",
    "ng-drag-drop": "^5.0.0",
    "ng2-search-filter": "^0.5.1",
    "ngx-color": "^4.1.0",
    "ngx-color-picker": "^8.2.0",
    "ngx-export-as": "^1.4.0",
    "ngx-moment": "^3.5.0",
    "ngx-pagination": "^5.0.0",
    "ngx-permissions": "^7.0.3",
    "ngx-pinch-zoom": "^2.2.4",
    "ngx-powerbi": "^2.0.0",
    "ngx-quicklink": "^0.1.5",
    "npm": "^6.13.4",
    "npm-check-updates": "^4.0.1",
    "observable-webworker": "^3.2.3",
    "offline-plugin": "^5.0.7",
    "popper.js": "^1.16.0",
    "popups": "^1.1.3",
    "powerbi-client": "^2.8.0",
    "purgecss-webpack-plugin": "^1.6.0",
    "qtip2": "^3.0.3",
    "recorder-js": "^1.0.7",
    "recordrtc": "^5.5.8",
    "rxjs": "^6.5.3",
    "rxjs-compat": "^6.5.3",
    "speak-tts": "^2.0.8",
    "survey-angular": "^1.1.26",
    "survey-creator": "^1.1.26",
    "surveyjs-widgets": "^1.1.26",
    "syncfusion-javascript": "17.4.39",
    "typescript": "~3.4.5",
    "uglifyjs-webpack-plugin": "^1.0.0-rc.0",
    "utf8": "^3.0.0",
    "uuid": "^3.3.3",
    "vis": "^4.21.0",
    "webpack": "^4.41.5",
    "webpack-bundle-analyzer": "^3.6.0",
    "webpack-cli": "^3.3.10",
    "webpack-dev-server": "^3.10.1",
    "yfiles": "./lib/es-modules/yfiles-22.0.3.tgz",
    "zone.js": "^0.10.2"
  },
  "devDependencies": {
    "@angular-builders/custom-webpack": "^8.4.1",
    "@angular/cli": "^8.3.21",
    "@angular/compiler-cli": "^8.2.14",
    "@angular/language-service": "^8.2.14",
    "@angularclass/hmr": "^2.1.3",
    "@ngxs/hmr-plugin": "^3.6.0",
<EMAIL_ADDRESS>"^17.3.2",
    "@types/jasmine": "~3.5.0",
    "@types/jasminewd2": "~2.0.8",
    "@types/jquery": "^3.3.31",
    "@types/lodash": "^4.14.149",
    "@types/node": "^12.12.22",
    "angular2-template-loader": "^0.6.2",
    "codelyzer": "^5.2.1",
    "css-loader": "^3.4.2",
    "guess-parser": "^0.4.12",
    "guess-webpack": "^0.4.12",
    "html-loader": "^0.5.5",
    "html-webpack-injector": "^1.1.2",
    "html-webpack-plugin": "^3.2.0",
    "jasmine-core": "~3.5.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~4.4.1",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage-istanbul-reporter": "^2.1.1",
    "karma-jasmine": "~2.0.1",
    "karma-jasmine-html-reporter": "^1.5.1",
    "protractor": "~5.4.2",
    "scss-loader": "0.0.1",
    "style-loader": "^1.1.2",
    "to-string-loader": "^1.1.6",
    "ts-loader": "^6.2.1",
    "ts-node": "~8.5.4",
    "tslint": "^5.20.1",
    "webpack-dashboard": "^3.2.0"
  },
  "optionalDependencies": {
    "grunt-usemin": "^3.1.1",
    "http-server": "^0.6.1",
    "node-sass": "^4.13.0"
  },
  "browserslist": [
    "last 1 version",
    "> 1%",
    "maintained node versions",
    "not dead"
  ]
}

@stevkan On further testing, i noticed that,for every input i give there is one
activities call to /v3/directline/conversations
and multiple calls to /cognitiveservices/v1
Additional info:
                                               directline           cognitiveservices
open bot once:                                   1                               1
close bot open again                             1                               2
close bot open again                             1                               3

and so on. Find screenshot below
The renderWebchat function is listed in the  first comment

Hi @compulim , is this something within the scope of how the cognitiveservices call is happening via webChat.

@prashanthsridhar, I'm still unable to reproduce the issue. Furthermore, I'm not seeing any calls coming thru that match or even look similar to the ones you have identified up above (i.e. v1?deploymentId...). I'm inclined to think that there is some other process in your code that is resulting in those calls being made. I'm also inclined to think that these additional calls are interrupting your speech service from functioning properly, however it's hard for me to know since I can't see all of your code.
Can you check for any other processes that may be calling Cognitive Services? Or, can you provide any additional code (and the file it's living in) that is associated to Web Chat being implemented?
This is the code I'm using for connecting speech. It is taken from the 03.speech/g.hybrid-speech sample. You'll notice that the "README.md" file demonstrates how to pass the authorizationToken and region while the "index.html" file demonstrates how to pass credentials. As you can see, there aren't any "v1" calls being made.

Hi @stevkan ,i am using custom speech and voice. I think the "v1?deploymentId" call is  for custom speech.

Hi @stevkan ,implementing webchat with angular and custom web speech will be ideal to reproduce this issue.

I am also facing a similar issue.

Hi @stevkan please find sample to reproduce this issue here :
https://github.com/prashanthsridhar/WebchatSample
substitute the keys as required.
Once you are on localhost,click the "click me" button, say hi,click on it again to hide the chat window. Follow this three times. The third time the reply will be hello  voiced out three times

Hi @stevkan ,any update on this issue?

Hi @prashanthsridhar, I was able to repro using your code and I believe the issue is your inclusion of two properties that shouldn't be supplied.
In both speechToTextPonyfillFactory and textToSpeechPonyfillFactory you only need to pass in the subscriptionKey and region. If you look at the available properties able to be passed in (see here), you'll notice that neither speechRecognitionEndpointId nor speechSynthesisDeploymentId are listed.
As soon as I removed those two properties, keeping only subscriptionKey and region in each, speech worked without issue with no repeating API calls being made. The below screenshot is after following your repro steps.

Please remove the errant properties and try again. Hopefully, this will resolve the issue for you.
As this appears to have resolved the problem, I am going to close this issue. If the problem persists, please feel free to reopen.

Hi @stevkan the link you provided has those properties as seen below

Moreover the issue exists even after removing those properties.
Please reopen the issue.


ParticleEffect bug

Screenshot: http://docs.rudev.org/stream/672c19dafdce3dba2af194a335ea1a55
First emitter (index 0) contents '- Image Path -' image directory, but not real path. This problem can be corrected if remove "premultipliedAlpha" line, but... this is wrong.
I was looking for a long time error, so I think it should be added try\catch inside loadEmitterImages method.
Sorry for bad English =)

This is pitfall of loading 2d particles as we do, you must use the same version of LibGDX as the one that is used in the Particle Editor.  If you mismatch these versions, and in this case we add an option for premultipliedalpha to particles, your old particle effect will no longer work with a newer version of LibGDX.
This probably won't be resolved until the whole 2D particles API is refactored. See https://github.com/libgdx/libgdx/issues/909

Metadata may be necessary to add to the file Particle? Namely the version of the editor and display an error when it does not coincide.


fix to get cores of SNO cluster

issue: https://issues.redhat.com/browse/ACM-3464

/lgtm

/hold

/lgtm
/unhold

/test e2e


Only fetches 99 items.

It will only fetch 99 items for me.
I have a 157 on my airtable.
Other than that, I think it works fine.
at = airtable.Airtable('appua4wbLWf65hiXG/', 'my_api_key')
clients = at.get('Clients')

print clients

It fetches only one page of records(that is limited to 100 records). The api call returns an "offset" to fetch the next page. See the forEach implementation in the JS client: https://github.com/Airtable/airtable.js/blob/master/lib/table.js#L73

Is there a way to increase this page limit? I think I might be missing something.
Pardon me, I'm new to this.
Im using this code to return a list of the records on my table, using the 'Name' field as the keys, and a dict as a value for each one.
def get_clientlist():

    at = airtable.Airtable('appua4wbLWf65hiXG/', 'my_api_key')
    clients = at.get('Clients')['records']
    client_list = {}
    for item in clients:
        name = item['fields']['Name']

        client_list[name] = item['fields']

return client_list

As @syrnick suggested, you could do something like using offset:
def get_clientlist():
    at = airtable.Airtable('appua4wbLWf65hiXG/', 'my_api_key')
    client_list = []
    clients = at.get('Clients')
    offset = clients.get('offset')
    client_list.append(clients['records'])
    while offset:
        clients = at.get('Clients', offset=offset)
        offset = client.get('offset')
        client_list.append(clients['records'])
    return client_list

You could also do everything in a while loop, problem being that offset must be a string with this version.

Thanks a ton, guys. I got it working now.
Sorry for the late reply.
And since this isn't technically an 'issue', I'll close it.

@MikeVaughanG how did you print out client_list?  Using your code above, I added two lines at the bottom:
`def get_clientlist():
at = airtable.Airtable('BASE ID', 'API KEY')
client_list = []
clients = at.get('Project%20Tracker')
offset = clients.get('offset')
client_list.append(clients['records'])
while offset:
clients = at.get('Project%20Tracker', offset=offset)
offset = client.get('offset')
client_list.append(clients['records'])
return client_list
a = get_clientlist()
print a`
However, I'm getting the following error:
Traceback (most recent call last):   File "airtable_test.py", line 22, in <module>     a = get_clientlist()   File "airtable_test.py", line 17, in get_clientlist     clients = at.get('Project%20Tracker', offset=offset)   File "/usr/local/lib/python2.7/site-packages/airtable/airtable.py", line 76, in get     if offset and check_string(offset):   File "/usr/local/lib/python2.7/site-packages/airtable/airtable.py", line 31, in check_string     raise IsNotString('Expected a string') airtable.airtable.IsNotString: Expected a string


Refactor: Improve JNA Structures - add constructor(Pointer p)

Sorry, again. This was targetted to my fork.
Closing.


Update StripCharsTransformer

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 99.76%. Comparing base (27956da) to head (05079e4).
Report is 6 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #349      +/-   ##
==========================================
- Coverage   99.84%   99.76%   -0.08%
==========================================
  Files          49       49
  Lines        1297     1296       -1
  Branches       50       50
==========================================
- Hits         1295     1293       -2
- Misses          2        3       +1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Dataset.as_numpy_iterator() throws error inside tensorflow.numpy_function

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Windows 10 and Google Colab
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): 2.5.0
Python version: 3.8.10
Bazel version (if compiling from source): NA
GCC/Compiler version (if compiling from source): NA
CUDA/cuDNN version: NA
GPU model and memory: CPU 8GB

Describe the current behavior tensorflow.data.Dataset.as_numpy_iterator should return iterator when called from inside tensorflow.py_func used inside Dataset.interleave's map_function.
Describe the expected behavior Throwing error 'Tensorflow.python.framework.errors_impl.DataLossError: inflate() failed with error -3: incorrect header check [Op:IteratorGetNext]'
Contributing

Do you want to contribute a PR? (yes/no): no
Briefly describe your candidate solution(if contributing): NA

Standalone code to reproduce the issue
import tensorflow as tf
path = "saved_data_2"

# Save a dataset
dataset = tf.data.Dataset.range(10)
tf.data.experimental.save(dataset, path)
new_dataset = tf.data.experimental.load(path)
for elem in new_dataset:
  print(elem)

#flat_map code error below
filenames = [path]
dataset = tf.data.Dataset.from_tensor_slices(filenames)

def parse_fn(filename):
    part_ds = tf.data.experimental.load(bytes.decode(filename),compression='GZIP')
    ar = []
    for i in part_ds.as_numpy_iterator():
        ar.append(i)
    return ar

dataset = dataset.interleave(lambda x:tf.data.Dataset.from_tensor_slices(
            tf.numpy_function(parse_fn,[x],[tf.int64])),
            cycle_length=4, block_length=16)

for item in dataset.as_numpy_iterator():
    print(item)

Other info / logs
C:\Users\kurud\Anaconda3\envs\DrowsyDetectCNNmodel\python.exe C:/Users/kurud/Documents/ineaurondeeplearn/internship/DrowsyDetectCNNmodel/DataPipelineIssues2.py
2021-07-12 21:14:47.985114: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.dll not found
2021-07-12 21:14:47.985404: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
2021-07-12 21:14:50.932059: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'nvcuda.dll'; dlerror: nvcuda.dll not found
2021-07-12 21:14:50.932192: W tensorflow/stream_executor/cuda/cuda_driver.cc:326] failed call to cuInit: UNKNOWN ERROR (303)
2021-07-12 21:14:50.935815: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:169] retrieving CUDA diagnostic information for host: LAPTOP-76MAP85S
2021-07-12 21:14:50.936005: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:176] hostname: LAPTOP-76MAP85S
2021-07-12 21:14:50.936609: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations:  AVX AVX2
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2021-07-12 21:14:50.967628: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:176] None of the MLIR Optimization Passes are enabled (registered 2)
2021-07-12 21:14:51.013124: E tensorflow/core/framework/dataset.cc:825] Unimplemented: Cannot merge options for dataset of type LoadDataset, because the dataset does not implement `InputDatasets`.
tf.Tensor(0, shape=(), dtype=int64)
tf.Tensor(1, shape=(), dtype=int64)
tf.Tensor(2, shape=(), dtype=int64)
tf.Tensor(3, shape=(), dtype=int64)
tf.Tensor(4, shape=(), dtype=int64)
tf.Tensor(5, shape=(), dtype=int64)
tf.Tensor(6, shape=(), dtype=int64)
2021-07-12 21:14:51.017583: E tensorflow/core/framework/dataset.cc:825] Unimplemented: Cannot merge options for dataset of type LoadDataset, because the dataset does not implement `InputDatasets`.
tf.Tensor(7, shape=(), dtype=int64)
tf.Tensor(8, shape=(), dtype=int64)
tf.Tensor(9, shape=(), dtype=int64)
2021-07-12 21:14:51.102540: E tensorflow/core/framework/dataset.cc:825] Unimplemented: Cannot merge options for dataset of type LoadDataset, because the dataset does not implement `InputDatasets`.
2021-07-12 21:14:51.109462: E tensorflow/core/framework/dataset.cc:825] Unimplemented: Cannot merge options for dataset of type LoadDataset, because the dataset does not implement `InputDatasets`.
2021-07-12 21:14:51.133405: W tensorflow/core/framework/op_kernel.cc:1755] Unknown: DataLossError: inflate() failed with error -3: incorrect header check [Op:IteratorGetNext]
Traceback (most recent call last):

  File "C:\Users\kurud\Anaconda3\envs\DrowsyDetectCNNmodel\lib\site-packages\tensorflow\python\ops\script_ops.py", line 249, in __call__
    ret = func(*args)

  File "C:\Users\kurud\Anaconda3\envs\DrowsyDetectCNNmodel\lib\site-packages\tensorflow\python\autograph\impl\api.py", line 645, in wrapper
    return func(*args, **kwargs)

  File "C:/Users/kurud/Documents/ineaurondeeplearn/internship/DrowsyDetectCNNmodel/DataPipelineIssues2.py", line 20, in parse_fn
    for i in part_ds.as_numpy_iterator():

  File "C:\Users\kurud\Anaconda3\envs\DrowsyDetectCNNmodel\lib\site-packages\tensorflow\python\data\ops\dataset_ops.py", line 4194, in __next__
    return nest.map_structure(to_numpy, next(self._iterator))

  File "C:\Users\kurud\Anaconda3\envs\DrowsyDetectCNNmodel\lib\site-packages\tensorflow\python\data\ops\iterator_ops.py", line 761, in __next__
    return self._next_internal()

  File "C:\Users\kurud\Anaconda3\envs\DrowsyDetectCNNmodel\lib\site-packages\tensorflow\python\data\ops\iterator_ops.py", line 744, in _next_internal
    ret = gen_dataset_ops.iterator_get_next(

  File "C:\Users\kurud\Anaconda3\envs\DrowsyDetectCNNmodel\lib\site-packages\tensorflow\python\ops\gen_dataset_ops.py", line 2727, in iterator_get_next
    _ops.raise_from_not_ok_status(e, name)

  File "C:\Users\kurud\Anaconda3\envs\DrowsyDetectCNNmodel\lib\site-packages\tensorflow\python\framework\ops.py", line 6897, in raise_from_not_ok_status
    six.raise_from(core._status_to_exception(e.code, message), None)

  File "<string>", line 3, in raise_from

tensorflow.python.framework.errors_impl.DataLossError: inflate() failed with error -3: incorrect header check [Op:IteratorGetNext]

Traceback (most recent call last):
  File "C:/Users/kurud/Documents/ineaurondeeplearn/internship/DrowsyDetectCNNmodel/DataPipelineIssues2.py", line 28, in <module>
    for item in dataset.as_numpy_iterator():
  File "C:\Users\kurud\Anaconda3\envs\DrowsyDetectCNNmodel\lib\site-packages\tensorflow\python\data\ops\dataset_ops.py", line 4194, in __next__
    return nest.map_structure(to_numpy, next(self._iterator))
  File "C:\Users\kurud\Anaconda3\envs\DrowsyDetectCNNmodel\lib\site-packages\tensorflow\python\data\ops\iterator_ops.py", line 761, in __next__
    return self._next_internal()
  File "C:\Users\kurud\Anaconda3\envs\DrowsyDetectCNNmodel\lib\site-packages\tensorflow\python\data\ops\iterator_ops.py", line 744, in _next_internal
    ret = gen_dataset_ops.iterator_get_next(
  File "C:\Users\kurud\Anaconda3\envs\DrowsyDetectCNNmodel\lib\site-packages\tensorflow\python\ops\gen_dataset_ops.py", line 2727, in iterator_get_next
    _ops.raise_from_not_ok_status(e, name)
  File "C:\Users\kurud\Anaconda3\envs\DrowsyDetectCNNmodel\lib\site-packages\tensorflow\python\framework\ops.py", line 6897, in raise_from_not_ok_status
    six.raise_from(core._status_to_exception(e.code, message), None)
  File "<string>", line 3, in raise_from
tensorflow.python.framework.errors_impl.UnknownError: DataLossError: inflate() failed with error -3: incorrect header check [Op:IteratorGetNext]
Traceback (most recent call last):

  File "C:\Users\kurud\Anaconda3\envs\DrowsyDetectCNNmodel\lib\site-packages\tensorflow\python\ops\script_ops.py", line 249, in __call__
    ret = func(*args)

  File "C:\Users\kurud\Anaconda3\envs\DrowsyDetectCNNmodel\lib\site-packages\tensorflow\python\autograph\impl\api.py", line 645, in wrapper
    return func(*args, **kwargs)

  File "C:/Users/kurud/Documents/ineaurondeeplearn/internship/DrowsyDetectCNNmodel/DataPipelineIssues2.py", line 20, in parse_fn
    for i in part_ds.as_numpy_iterator():

  File "C:\Users\kurud\Anaconda3\envs\DrowsyDetectCNNmodel\lib\site-packages\tensorflow\python\data\ops\dataset_ops.py", line 4194, in __next__
    return nest.map_structure(to_numpy, next(self._iterator))

  File "C:\Users\kurud\Anaconda3\envs\DrowsyDetectCNNmodel\lib\site-packages\tensorflow\python\data\ops\iterator_ops.py", line 761, in __next__
    return self._next_internal()

  File "C:\Users\kurud\Anaconda3\envs\DrowsyDetectCNNmodel\lib\site-packages\tensorflow\python\data\ops\iterator_ops.py", line 744, in _next_internal
    ret = gen_dataset_ops.iterator_get_next(

  File "C:\Users\kurud\Anaconda3\envs\DrowsyDetectCNNmodel\lib\site-packages\tensorflow\python\ops\gen_dataset_ops.py", line 2727, in iterator_get_next
    _ops.raise_from_not_ok_status(e, name)

  File "C:\Users\kurud\Anaconda3\envs\DrowsyDetectCNNmodel\lib\site-packages\tensorflow\python\framework\ops.py", line 6897, in raise_from_not_ok_status
    six.raise_from(core._status_to_exception(e.code, message), None)

  File "<string>", line 3, in raise_from

tensorflow.python.framework.errors_impl.DataLossError: inflate() failed with error -3: incorrect header check [Op:IteratorGetNext]

	 [[{{node PyFunc}}]] [Op:IteratorGetNext]

Process finished with exit code 1

@kurudinesh
Could you please refer these link1 and link2 and let us know if  it helps.Thanks

@UsharaniPagadala
I am trying to convert dataset loaded using tf.data.experimental.load method to a numpy array in Eager mode and in the documentation link it mentioned 'as_numpy_iterator' works in eager mode.

@rmothukuru
I was able to replicate the issue in tf 2.5 and tf-nightly.Please find  the gist.Thanks

@kurudinesh,
While we look into the issue, I feel that you have swapped the content for Current Behavior and the Expected Behavior. If it is so, please correct it in the issue, order to avoid confusion. Thanks!

@kurudinesh There were two issues with the code:

The code was being saved as uncompressed data, but loaded as compressed data. The compression argument needs to match between save and load.
tf.numpy_function must return a numpy array, so the list you are returning must be converted to a list, e.g. with np.asarray(ar)

With these changes the below code runs successfully:
import tensorflow as tf
import numpy as np
path = "saved_data_2"

# Save a dataset
dataset = tf.data.Dataset.range(10)
tf.data.experimental.save(dataset, path, compression="GZIP")
filenames = [path]
dataset = tf.data.Dataset.from_tensor_slices(filenames)

def parse_fn(filename):
    part_ds = tf.data.experimental.load(bytes.decode(filename), compression="GZIP")
    ar = []
    for i in part_ds.as_numpy_iterator():
        ar.append(i)
    return np.asarray(ar)

dataset = dataset.interleave(lambda x:tf.data.Dataset.from_tensor_slices(
            tf.numpy_function(parse_fn,[x],[tf.int64])),
            cycle_length=4, block_length=16)

list(dataset)

@aaudiber Thank you for your corrections. Small suggestion please change load method to threw FileNotFoundError when it could not find dataset file in gzip file format.

@kurudinesh There were two issues with the code:

The code was being saved as uncompressed data, but loaded as compressed data. The compression argument needs to match between save and load.
tf.numpy_function must return a numpy array, so the list you are returning must be converted to a list, e.g. with np.asarray(ar)

With these changes the below code runs successfully:
import tensorflow as tf
import numpy as np
path = "saved_data_2"

# Save a dataset
dataset = tf.data.Dataset.range(10)
tf.data.experimental.save(dataset, path, compression="GZIP")
filenames = [path]
dataset = tf.data.Dataset.from_tensor_slices(filenames)

def parse_fn(filename):
    part_ds = tf.data.experimental.load(bytes.decode(filename), compression="GZIP")
    ar = []
    for i in part_ds.as_numpy_iterator():
        ar.append(i)
    return np.asarray(ar)

dataset = dataset.interleave(lambda x:tf.data.Dataset.from_tensor_slices(
            tf.numpy_function(parse_fn,[x],[tf.int64])),
            cycle_length=4, block_length=16)

list(dataset)

I got single element of size (1,10) as output. I was expecting dataset to be of shape (10,1).

@kurudinesh That is happening because the numpy_function's Tout is set to [tf.int64] instead of tf.int64. As a result, the output of parse_fn being wrapped in an extra dimension. Removing the list around the tf.int64 should give the expected (10, 1) shape

@kurudinesh That is happening because the numpy_function's Tout is set to [tf.int64] instead of tf.int64. As a result, the output of parse_fn being wrapped in an extra dimension. Removing the list around the tf.int64 should give the expected (10, 1) shape

@aaudiber
Thank you.
I am still unclear about Tout – A list or tuple of tensorflow data types or a single tensorflow data type if there is only one, indicating what func returns.  Did they mean list or tuple of single tensorflow data type or can we mix it like [tf.int32,tf.double]?
In the below code I am trying to return data array of size [432,3], type numpy.float64 along with its label(numpy.int32) from numpy_function. Tried two approaches using parse_fn and parse_fn2.
Inside parse_fn2, I tried to return a numpy.ndarray of tuples(list (shape =[432,3] ), int32)  and could not find corresponding tensorflow datatype for numpy object dtype.
In 'parse_fn' method I tried to return data array and label array separately and got errors.
Currently, I am using two numpy arrays inside from_tensorflow_slices which return list of data, labels.
#50594  I tried this before and could not get help.
import tensorflow as tf
import numpy as np
path = "saved_data_2"

# Save a dataset
ar = np.random.randn(10,482,3)
dataset = tf.data.Dataset.from_tensor_slices(ar)
tf.data.experimental.save(dataset, path, compression="GZIP")

#creating dataset with labels
filenames = [path]
dataset = tf.data.Dataset.from_tensor_slices(filenames)

def parse_fn(filename):
    part_ds = tf.data.experimental.load(bytes.decode(filename), compression="GZIP")
    ar = []
    label=[]
    for i in part_ds.as_numpy_iterator():
        ar.append(i)
        label.append(1)
    # print(ar[0])
    return np.asarray(ar),label

def parse_fn2(filename):
    part_ds = tf.data.experimental.load(bytes.decode(filename), compression="GZIP")
    ar = []
    # label=[]
    for i in part_ds.as_numpy_iterator():
        ar.append((i,1))
        # label.append(1)
    # print(ar[0])
    return np.asarray(ar)

dataset = dataset.interleave(lambda x:tf.data.Dataset.from_tensor_slices((
            tf.numpy_function(parse_fn,[x],[tf.double,tf.int64]))),
            cycle_length=4).cache()

for i in dataset.take(3).take(1).as_numpy_iterator():
    print(i[0].shape,i[1].shape)
    print(i.shape)#expeting element with size 1 but getting i with shape (1,10)
    # break;

print(tf.data.experimental.cardinality(dataset))

# tf.keras.Sequential


Implement non-consuming "_with" methods

Currently, ParallelIterator implements fold_with(), map_with(), for_each_with(), and reduce_with(). Each of them have a method signature similar to
fn ..._with<F, T>(self, init: T, map_op: F)
        where F: Fn(&mut T, Self::Item),
              T: Send + Clone

While useful for most cases, all the these operators consume the init: T parameter. I've run into a case or two where it's unnecessary to pass in the value directly, rather than passing in init: &mut T.
rayon::join can perform parallel computations with one side being a mutable reference, and the other being a cloned value. I think it might be fitting to allow these with operators to have a complementary variant where the value is taken in by mutable reference.
So, the additional function signatures would look like this:
fn ..._with_mut<F, T>(self, init: &mut T, map_op: F)
        where F: Fn(&mut T, Self::Item),
              T: Send + Clone

An example of this being useful would be for a minimax evaluation of a chess position.
fn minimax_evaluate(board: &mut ChessBoard, depth: u16) -> i16 {
    if depth == 0 {
        return board.evaluate_strength();
    }

    board.generate_moves()
         .as_mut_slice()
         .par_iter_mut()
         .map_with_mut(board, |b: &mut ChessBoard, m: ChessMove | {
             b.apply_move(*m);
             let score = -minimax_evaluate(b, depth - 1);
             b.undo_move();
             score
         }).max()
        .unwrap()
}

With the current map_with function, this is not possible without an additional board.clone() inside of the map function parameters. This results in unnecessary cloning for every iteration. And while I've currently implemented this in a more verbose form using rayon::join, these additional methods would allow for more flexibility and ease of use. Though I'm unsure of the safety of these methods.

It would be nice if we could avoid proliferating too many variations of this.  Can you achieve your goal by composing with other data structures?
I think something like MuCow might do the trick.  Start with MuCow::Borrowed, then the clones will become MuCow::Owned, and they all implement DerefMut to give you the reference.

Using MuCow seems to work for my needs, thank you!
It might be worthy to explicitly mention that the _with iterators are consuming inside the documentation.


Issues with TURN

Hi,
Firstly - thank you very much for this library.
We're designing an application that allows web-to-web and web-to-mobile video communication. We have implemented a TURN server and tested it by tethering a laptop to 4G and doing a web-to-web video, so our TURN server is definitely working.
We cannot establish a connection web-to-mobile over a 4G connection with TURN config, however it works fine on wifi.
Any ideas?
configuration = {
    'iceServers': [
        {
            'url': 'turn:domain:port',
            'username': 'username',
            'credential': 'password',
        },
    ],
};

this.peerConn = new RTCPeerConnection(configuration);

For anyone looking in the future, this was an issue with me not correctly passing ice candidates to the server

@JamesToohey what were you doing incorrectly that allowed for wifi but didn't allow for cellular?

I didn't have a method to handle the iceCandidates coming in
        this.peerConn.addIceCandidate(new RTCIceCandidate(data.candidate));

@bsiddiqui I think it would only work on the same Wifi, so it was effectively cheating a connection


Toolbar Indicator color

Hey!
Thanks for this awesome tabs component!
I have a rather simple question, but I can't find the answer anywhere.
I would like to change the color of the toolbar indicator. I tried with css vars and looked through the type definitions, but I can't figure it out.
Thanks in advance!

Hi @malua
You can set the CSS variable that can be found in the generated docs here:
https://github.com/zyra/ionic-super-tabs/blob/master/core/src/super-tab-indicator/readme.md

Also if you set the color property for the toolbar component (docs: https://github.com/zyra/ionic-super-tabs/blob/master/core/src/super-tabs-toolbar/readme.md) it should automatically pick up the contrast color defined in your ionic variables.scss

Thank you!


MCP Context Provider fails with filesystem server due to missing listResources() method

Before submitting your bug report

[X] I believe this is a bug. I'll try to join the Continue Discord for questions
[X] I'm not able to find an open issue that reports the same bug
[X] I've seen the troubleshooting guide on the Continue Docs

Relevant environment info
## Technical Details
- Error occurs in `MCPConnectionSingleton.modifyConfig()` in `core/context/mcp/index.ts`
- The filesystem server implements the MCP protocol correctly but doesn't include optional listing methods
- The error code -32601 is a standard JSON-RPC error for "Method not found"

## Environment
- Continue Version: 0.9.239
- VS Code Version: 1.95.3
- OS: Linux
- Node.js: v18.20.5
- MCP Server: @modelcontextprotocol/server-filesystem@latest

Description
The MCP Context Provider in Continue.dev fails when using the official @modelcontextprotocol/server-filesystem because it assumes the server implements listResources(), listTools(), and listPrompts() methods. However, looking at the code in core/context/mcp/index.ts, these methods are called unconditionally in modifyConfig() without checking if they exist:
async modifyConfig(config: ContinueConfig): Promise<ContinueConfig> {
  // ... connection code ...

  // This fails with "Method not found" error
  const { resources } = await this.client.listResources();

  // These methods might also not exist
  const { tools } = await this.client.listTools();
  const { prompts } = await this.client.listPrompts();
}

To reproduce

Install the filesystem server:

npm install -g @modelcontextprotocol/server-filesystem

Configure MCP in ~/.continue/config.json:

{
  "experimental": {
    "modelContextProtocolServer": {
      "transport": {
        "type": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "@modelcontextprotocol/server-filesystem",
          "/path/to/directory"
        ]
      }
    }
  }
}

Log output
[Extension Host] Secure MCP Filesystem Server running on stdio
[Extension Host] Allowed directories: [ '/home/m/m/m/claude-desktop-test' ]
[Extension Host] MCP connection error: Error: MCP error -32601: Method not found
at Client.onresponse (/home/m/.vscode/extensions/continue.continue-0.9.239-linux-x64/out/extension.js:105772:25)
at StdioClientTransport.transport.onmessage (/home/m/.vscode/extensions/continue.continue-0.9.239-linux-x64/out/extension.js:105675:18)
at StdioClientTransport.processReadBuffer (/home/m/.vscode/extensions/continue.continue-0.9.239-linux-x64/out/extension.js:106336:78)
at Socket.<anonymous> (/home/m/.vscode/extensions/continue.continue-0.9.239-linux-x64/out/extension.js:106311:18)
at Socket.emit (node:events:519:28)
at Socket.emit (node:domain:488:12)
at addChunk (node:internal/streams/readable:559:12)
at readableAddChunkPushByteMode (node:internal/streams/readable:510:3)
at Socket.Readable.push (node:internal/streams/readable:390:5)
at Pipe.onStreamRead (node:internal/stream_base_commons:191:23)

Thanks for the thorough writeup here @casistack !


Error on use before define

Getting [error] 'fetchOneMessage' was used before it was defined. line 17 column 39 in file index.js.

Hi @romgrk ,
Thank you for reporting an issue, what is the function fetchOneMessage ?

Just an example, any function used before definition fails right now.

Yes, NectarJS force the definition before use to keep scopes and to have a predictable behabior

IMHO this is incorrect. Function hoisting is a well-defined behavior of ECMAScript. It's also a very common pattern to define functions at the bottom of the file, to avoid having to read irrelevant implementation details before the main logic of the file. So unless it is implemented to keep the same behavior as in JS, NectarJS won't be compatible with non-trivial (aka without dependencies) NodeJS applications.

I understand,
It will ask some more work but it is possible, i will update this issue when it's done

Subscribing to the discussion :)

@kitolog i'm working on it

@adrien-thierry thank you!
Would it be only functions hoisting or also variables?

@kitolog also variables

Function use before definition is now allowed : 683bf48 (v0.6.64)
nectar --run example/functions.js
cat example/function.js :
hello(); function hello() {     console.log("Hello !"); }
I will add the same behavior for vars

Function and var hoisting is now enabled for global scope : e7052d3 (v0.6.66)
nectar --run example/hoisting.js