Panic "ABI argument v5 should be in a register" with a wasm SIMD module

I was doing a bit of work today to sync rust-lang/rust's wasm simd support with the current spec, but unfortunately the file produced by LLVM couldn't execute in wasmtime due to a panic:
thread '<unnamed>' panicked at 'ABI argument v5 should be in a register', cranelift/codegen/src/regalloc/coloring.rs:409:21

This can be reproduced with this wasm file by running:
$ wasmtime core_arch-0fbe1ece0f9fbcb5.wasm --enable-simd
thread '<unnamed>' panicked at 'ABI argument v5 should be in a register', /Users/acrichton/.cargo/registry/src/github.com-1ecc6299db9ec823/cranelift-codegen-0.70.0/src/regalloc/coloring.rs:409:21
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread '<unnamed>' panicked at 'ABI argument v4 should be in a register', /Users/acrichton/.cargo/registry/src/github.com-1ecc6299db9ec823/cranelift-codegen-0.70.0/src/regalloc/coloring.rs:409:21
thread '<unnamed>' panicked at 'ABI argument v5 should be in a register', /Users/acrichton/.cargo/registry/src/github.com-1ecc6299db9ec823/cranelift-codegen-0.70.0/src/regalloc/coloring.rs:409:21

Note that I'm testing the main branch of the repo as-of-now which means the fix for https://github.com/bytecodealliance/wasmtime/pull/2658 didn't cover this case as well.

On x64?

It looks like this doesn't happen on x64, only on the old backend. Do we not care enough about the old backend to fix it?
It also looks like there's unsupported opcodes in that file as well so it won't finish running anyway (the new backend stops at a wasm validation error for unknown opcodes)

It seems to me that this tradeoff (fix vs. wait) depends on relative timings. The switch to the new backend as Wasmtime's default will hopefully happen soon; it depends on a little more implementation (Windows support) which I'm hoping to get to next week. However if this becomes a blocker to fully supporting SIMD then we could certainly dig into the old regalloc. There might be significant ramp-up time there, though. It seems to me that the more important question is whether the old regalloc continues to generate correct code when it doesn't panic (if not, we need to jump on it right away); otherwise on balance I'd say we should just wait for the transition. Thoughts?

Oh this isn't urgent at all, I mostly wanted to just report the issue in case it wasn't already known. If it's known that x64 fixes this and x86 isn't expected to get fixed any time soon, then I think closing this is quite reasonable!


Add a TypeScript declaration file

It would be nice to add a TypeScript declaration file, so users using TypeScript can see Type errors (especially since this library requires the "redirect_uri" parameter, while the original launchWebAuthFlow does not).
Here's an example of how VSCode would inform the user in TS that a property is missing:

Would it be better to use JSDoc comment? So the declaration stay with the source. Can typescript pick them automatically?

Although TypeScript can pick JSDoc comments, I decided to use a separate file on purpose because it felt less noisy and more organized this way. Also JSDoc syntax quickly becomes vertically repetitive so the *.d.ts syntax seemed like a cleaner and easier to read alternative.
What do you think?


font updates

to do release 2, footer headers will be bold. make public metadata black, make search item metadata black
Make the page title larger than sections titles. Increase line spacing. Can community and collections bolder words be turned into canned search links? Turn Division of Athletics and Recreation Community, Collection of Media Relations Photographs and Collection of Media Relations Documents into hyperlinks insteda of listing the URL after them. Consider simplifying the writing style. Does Alliance Digital Repository (ADR) have a website/page? Consider making Alliance Digital Repository (ADR) a hyperlink if so.
--
original message
Consider either changing the font or making the text black. (I know we're working towards AA, but this is an easy thing do do even better than AA). Remove underline from footer headers. Change header link to to go Library homepage, and add link to DU website on the footer.

"Can community and collections bolder words be turned into canned search links?"
This is part of task #279


Resolve issue #2018

Description

See #2018
Related Issues

#2018

References

TensorFlow

TensorFlow release history@PyPI
Requirements for older TensorFlow versions

Versioning

PEP 440 – Version Identification and Dependency Specification
Version comparison

Checklist:

[X] I have followed the contribution guidelines and code style for this project.
[ ] I have added tests covering my contributions.
[ ] I have updated the documentation accordingly.
[X] This PR is being made to staging branch and not to main branch.

First, I got NameError: name 'XDeepFMModel' is not defined (See https://github.com/recommenders-team/recommenders/actions/runs/6544943740/job/17772448740#step:3:2992).  Then I got ModuleNotFoundError: No module named 'keras.layers.legacy_rnn' after removing the try-except in the commit (https://github.com/recommenders-team/recommenders/pull/2022/commits/88e43a5f112c411cf6801b356ee690f2a0ab5cb4#) (See https://github.com/recommenders-team/recommenders/actions/runs/6545498077/job/17774104408?pr=2022#step:3:3012).
So Keras.layers.legacy_rnn imported in https://github.com/recommenders-team/recommenders/blob/b000b78ceb3cbe52a0200922f2b2412d830274af/recommenders/models/deeprec/models/sequential/sum_cells.py#L6 is removed from Keras.  Need to find a way to replace it.

First, I got NameError: name 'XDeepFMModel' is not defined (See https://github.com/recommenders-team/recommenders/actions/runs/6544943740/job/17772448740#step:3:2992).
I think something might be wrong when importing XDeepFMModel, then after removing the try-except in the commit (88e43a5) (See https://github.com/recommenders-team/recommenders/actions/runs/6545498077/job/17774104408?pr=2022#step:3:3012) I got ModuleNotFoundError: No module named 'keras.layers.legacy_rnn' .
It means Keras.layers.legacy_rnn imported in
https://github.com/recommenders-team/recommenders/blob/b000b78ceb3cbe52a0200922f2b2412d830274af/recommenders/models/deeprec/models/sequential/sum_cells.py#L6
is removed from Keras. Need to find a way to replace it.
FYI @miguelgfierro @anargyri

It looks like this class is deprecated in the new versions; if I recall, it was one of the temporary fixes when we upgraded from v1 to v2. Now you would have to rewrite the sum cell in the new syntax using this, which may not be straightforward. Maybe we should migrate this code to PyTorch. @Leavingseason what do you think?
That said, I see the code is still in TF master
https://github.com/tensorflow/tensorflow/tree/r2.14/tensorflow/python/keras/layers/legacy_rnn
They stopped exposing the module but it is still used internally e.g. here
I wonder if copying and pasting the legacy_rnn code in our repo would work (provided that the TF license allows for this).
It looks like the conda env is installing 2.13. How about restricting to < 2.13 or < 2.12, do you still get the error? If not, we could restrict the TF version from above.

@SimonYansenZhao I checked locally with different versions of TF and this import
from keras.layers.legacy_rnn.rnn_cell_impl import LayerRNNCell
only works up to (and including) version 2.8.

We need to discuss a bit more how to proceed, it is not clear to me what is the best way forward.
For now, let's bound TF with < 2.9.

pinged Jianxun on teams

Hi, feen from SimonYansenZhao's discovery, when the TF>=2.9, the reference in the file recommenders/models/deeprec/models/sequential/sum_cells.py, "from keras.layers.legacy_rnn.rnn_cell_impl import LayerRNNCell" becomes invalid, which causes the XDeepFMModel to fail to import and run.
Upon examining the LayerRNNCell and RNNCell classes in the tf.keras.layers.legacy_rnn.rnn_cell_impl file, I found that LayerRNNCell simply inherits from the RNNCell class. When calling, it reduces one step of building scope compared to RNNCell, so we can directly use "from keras.layers.legacy_rnn.rnn_cell_impl import RNNCell" as the parent class of SUM_Cell.
However, in TF>=2.9, the RNNCell class has been deprecated, but it has been rewritten as AbstractRNNCell in tf.keras.layers.recurrent with similar implementation and comments. Therefore, maybe we can try replacing "from keras.layers.legacy_rnn.rnn_cell_impl import LayerRNNCell" with:
try:
from keras.layers.legacy_rnn.rnn_cell_impl import LayerRNNCell
except:
from keras.layers.recurrent import AbstractRNNCell as LayerRNNCell

I got the following error when adding from keras.layers.rnn import AbstractRNNCell as LayerRNNCell.  It looks like that AbstractRNNCell does not have _reuse.  @Master-PLC

When using the latest TensorFlow (2.15), I got this error:
E               713 try:
E               714   # pylint: disable=protected-access
E               715   with self._graph._c_graph.get() as c_graph:
E           --> 716     self._session = tf_session.TF_NewSessionRef(c_graph,opts)
E               717   # pylint: enable=protected-access
E               718 finally:
E               719   tf_session.TF_DeleteSessionOptions(opts)
E
E           InternalError: cudaGetDevice() failed. Status: CUDA driver version is insufficient for CUDA runtime version

It means CUDA driver version used in the VM is lower than the requirement of TensorFlow.  I am trying to figure out how to do that.  @miguelgfierro @anargyri

When using the latest TensorFlow (2.15), I got this error:
E               713 try:
E               714   # pylint: disable=protected-access
E               715   with self._graph._c_graph.get() as c_graph:
E           --> 716     self._session = tf_session.TF_NewSessionRef(c_graph,opts)
E               717   # pylint: enable=protected-access
E               718 finally:
E               719   tf_session.TF_DeleteSessionOptions(opts)
E
E           InternalError: cudaGetDevice() failed. Status: CUDA driver version is insufficient for CUDA runtime version

It means CUDA driver version used in the VM is lower than the requirement of TensorFlow. I am trying to figure out how to do that. @miguelgfierro @anargyri

Yes, because the latest TF uses cuda 12, all previous ones used cuda 11 or less. See https://www.tensorflow.org/install/source#gpu

@SimonYansenZhao if we upgrade the docker image in the test to cuda 12, will the code with previous versions of cuda 11 work?

@SimonYansenZhao if we upgrade the docker image in the test to cuda 12, will the code with previous versions of cuda 11 work?

I think it will work.  Only the NVIDIA GPU Driver in the CUDA installed in the Docker image is used when testing, because a Conda env will be created with a CUDA required by Recommenders, the CUDA in the Conda env will not conflict with the CUDA in the Docker image.  The CUDA installed in the Conda env will interact with the driver which is back compatible.


Drop support for both Node.js versions 0.10 and 0.12

Hi @vanesyan
Any comment on this? Or explanation?

@vellotis I guess the reason is to avoid any Travis build to fail, since the current eslint version is not compatible with those versions. I guess this is the most practical solution but I suggest you to take a look at #1399.

I think it would be best to wait until the maintanance is dropped. It is not very far away for v0.10 (2016-10-01). But is a bit further away for v0.12 (2016-12-31).

from https://github.com/nodejs/LTS

Node.js community is strongly encourage people to actively drop support for both 0.10 and 0.12 and update at least to v4. Dropping the 0.xx version also makes it easier to develop the bookshelf + reduce workarounds to make code runnable on that platform versions. Maintance of v0.10 of Node.js will be dropped on October, means that no new projects will be started on the version as well as on v0.12 witch will be dropped at the end of December. My suggestion is to support the next version of bookshelf only on v4+, but making the 0.10.x the last version of bookshelf that supports Node.js v0.xx

I agree with @vanesyan
So the following plan would be:

Fix v0.xx support for v0.10.x of Bookshelf.
Drop support from >= v0.11


Fix NullPointerException in ReactShadowNode.toString()

Fix NullPointerException in ReactShadowNode.toString
Simplified ReactShadowNode.hasNewLayout since I was already in there
It seems to me unlikely that this bug impacts anything but the debugging experience, so no biggie.

Thanks for the fix! When does it happen that mYogaNode is null? Do you have exact repro steps, sample code?

@mkonicek
I don't have exact repro steps, but it involved debugging on a physical device that had gone to sleep and woken up again, so probably some activity life cycle thing. I note, however, that many other methods of ReactShadowNode do check for mYogaNode != null...

Looks like it is null when the node is virtual https://github.com/petterh/react-native/blob/bd92f39cccc66e1b6de3ca8abb826804cd8994b3/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java#L91
Could you also annotate mYogaNode with @Nullable and check if this produces any other warnings about possible NPE? https://github.com/petterh/react-native/blob/bd92f39cccc66e1b6de3ca8abb826804cd8994b3/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java#L80

@facebook-github-bot shipit


Implement further data cleaning steps here (i.e. one hot encoding for categoricals, PCA testing, etc...)

Work to do in either: 'dataset/dataset_processing.py' or 'dataset/filtering.py'.

PCA somewhat implemented.


i18n(ko-KR): update site-search.mdx

Description

update site-search.mdx
#2087

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

ko
guides/site-search.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


Missing react peer dependency

Why is react not included in the peer dependencies?
(node:1) ExperimentalWarning: Import assertions are not a stable feature of the JavaScript language. Avoid relying on their current behavior and syntax as those might change in a future version of Node.js.
(Use node --trace-warnings ... to show where the warning was created)
(node:1) ExperimentalWarning: Importing JSON modules is an experimental feature and might change at any time
node:internal/modules/cjs/loader:1048
const err = new Error(message);
^
Error: Cannot find module 'react'
Require stack:

/application/node_modules/.pnpm/tunnel-rat@0.1.2_@types+react<EMAIL_ADDRESS>/application/node_modules/.pnpm/@react-three+drei@9.106.0_@react-three+fiber@8.16.6_@types+react@18.3.3_@types+three<EMAIL_ADDRESS>
I'm using pnpm.

I added a package extension to my application root package.json to get it to work:
    "packageExtensions": {
      "tunnel-rat": {
        "peerDependencies": {
          "react": "^19.0.0"
        }
      }
    }
  }```


Change the shebang :)

Instead of writing #!/bin/sh write #!/usr/bin/env sh.
The latter one checks the PATH variable and looks for the binary in those paths :)
Wonderful project!

Thanks for the note

Just learned that it is possible to use the shebang with lua aswell.
https://artemis.sh/2021/04/25/lua-hashbang-executable-lua-script.html#:~:text=The %23!,a program named lua exists.
Even with shell at the beginning if you want :)

That's an interesting read, I was looking at something similar recently for making a file run either in a Linux shell or as windows batch file. The solution was similar but both seem to need the none-shell file extension (.lua or .bat). Something I'm still interested in for making pvim windows compatible
For this project though the lua is executed by Neovim so it's not needed

Oki :)


Narrow search range for tree-sitter queries

Due to https://github.com/tree-sitter/tree-sitter/issues/2484, we no longer restrict the search range for our tree-sitter queries.  That workaround has no impact on correctness, but could have performance implications for large files, as we get all matches and then filter them after the fact, rather than restricting to the range we care about.  Once https://github.com/tree-sitter/tree-sitter/issues/2484 is fixed, we'd like to reactivate our code that restricts the search range.

In the meantime, If the file is particularly large, it might be better to disable treesitter  scopes entirely, similarly to how VS code disable syntax highlighting on massive files.

Fwiw we're already parsing the file; this issue is just about running the tree query, which is likely many orders of magnitude faster

#1889 removes some of the code that we will need to resume restricting the search tree.


OSX uses clang c++ library in newer code

The current projects are configured to build using 10.6 and later using gcc's c++ library.
The player works fine when compiled using clang's library along with 10.7 as minimum version.  I would like to add support for the clang version (I'm in a project dependent on that c++ implementation already).
I'm willing to do the work, but wanted to discuss how first.  I was considering new targets for the OSX clang with a minimum OS of 10.7, so none of the existing setups change.  This ends up with double the OSX targets though, and there are already a lot.
I wanted to discuss options before actually doing anything, so that everyone is on the same page.

we' using clang c++ library and 10.7 asa minimum internally and it works fine as you said.
What probably needs to be done is to just set up the project's xcconfig files to use 10.7 as a minimum and clang as a default. I don't think new targets are needed, each project that integrates the library's source code can control the setting via xcconfig files. Or did I misunderstand something?


pull request for e2e test at 12/23/2016 15:45:08

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Update hololens-rs4-preview.md

Updated known issue for insider flighting per Neema

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

mixed-reality-docs/hololens-rs4-preview.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


MembersToInclude

public class Person
{
    public DateTime DateCreated { get; set; }
    public string Name { get; set; }
    public Category Category { get; set; }
}

public class Category
{
    public string Title { get; set; }
}

        // Works
        CompareLogic compareLogic = new CompareLogic();
        // Works
        CompareLogic compareLogic = new CompareLogic(new ComparisonConfig { MembersToIgnore = new List<string> { "Category.Title" } });
        // DOES NOT WORK (am I missing something?)
        CompareLogic compareLogic = new CompareLogic(new ComparisonConfig { MembersToInclude = new List<string> { "Category.Title" } });

        //Create a couple objects to compare
        Person person1 = new Person();
        person1.DateCreated = DateTime.Now;
        person1.Name = "Greg";
        person1.Category = new Category { Title = "A" };

        Person person2 = new Person();
        person2.Name = "Greg";
        person2.DateCreated = person1.DateCreated;
        person2.Category = new Category { Title = "B" };

Once you start adding MembersToInclude then you have to define everything you want included.  You are missing the Person class

I have to miss something.
        //Create a couple objects to compare
        Person person1 = new Person();
        person1.DateCreated = DateTime.Now;
        person1.Name = "Greg";
        person1.Category = new Category { Title = "A" };

        Person person2 = new Person();
        person2.Name = "Greg";
        person2.DateCreated = person1.DateCreated;
        person2.Category = new Category { Title = "B" };

        // RESULT: Category Title: A CHANGED TO -> B
        //CompareLogic compareLogic = new CompareLogic();

        // RESULT: No difference, fine this is expected
        //CompareLogic compareLogic = new CompareLogic(new ComparisonConfig { MembersToIgnore = new List<string> { "Category.Title" } });

        // RESULT: No difference, I expected "Category Title: A CHANGED TO -> B" (same member is ignored above, but not included here)
        CompareLogic compareLogic = new CompareLogic(new ComparisonConfig { MembersToInclude = new List<string> { "Category.Title" } });

        ComparisonResult result = compareLogic.Compare(person1, person2);

        UserFriendlyReport friendlyReport = new UserFriendlyReport();
        Console.WriteLine(friendlyReport.OutputString(result.Differences));

Once you start adding MembersToInclude then you have to define everything you want included. You are missing the Person class


pedantic change in 07_errors.md

Clarify Some(T) for Option is the equivalent of Ok(T) for Results

Yep clearly a good idea, thanks.


chore: Upgrade to Spring Boot 2.7.11 and Spring Framework 5.3.27

Fixes: #

@igarashitm This should fail, because Spring Boot 2.7.11 should be available in Maven Central only in few hours. But please have a look at this PR, because it's needed for CVE-2023-20863

@grgrzybek Thanks for the help :+1: I'll keep an eye and try re-running the workflow.

retest this please

@igarashitm SB 2.7.11 is in Maven Central now. How to retest here?

Thanks @igarashitm


scripts: extract_dts_includes: Fix path handling in Windows

When building in Windows, extract_dts_includes.py failed with an
exception on boards that have dts sensor bindings. This was caused by
path handling to search for i2c-device.yaml that worked in Linux, but
not in Windows.
Affected boards were disco_l475_iot1, frdm_k64f, frdm_kw41z, and
hexiwear_k64.
Signed-off-by: Maureen Helm<EMAIL_ADDRESS>Fixes #6559

Codecov Report

Merging #6560 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #6560   +/-   ##
=======================================
  Coverage   53.45%   53.45%
=======================================
  Files         437      437
  Lines       41390    41390
  Branches     7934     7934
=======================================
  Hits        22127    22127
  Misses      16043    16043
  Partials     3220     3220

Continue to review full report at Codecov.

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


Enhancement: add appName option to 'entra app permission add/list' commands

Something we forgot:
Let's add an appName option to the following commands:

Entra app permission add
Entra app permission list

Options

Option
Description

-n, --appName [appName]
Display name of the Entra app to add the API permissions to. Specify either appId, appName or appObjectId.

Additional information
If multiple apps with the same name exist, the CLI should show a disambiguation prompt to let the user choose.

@Adam-it

yes this is what I was thinking of. Lets be also clear that currently this issue is on hold as the app permission list command is still under PR review so it makes no sense to start this issue before the parent one is complete  #5668

Let's open this one up, as both related commands are now in beta!

Can I work on it?

Certainly @SmitaNachan!


Reinstantiate no_std cargo feature flag.

Based on discussion in issue #67
I have not yet tested it heavily but I will do that know. Let me know if you see any problems with it. It's very much based on the previous code in d4c189a.

Thanks!


make crabtaskworker depend on all services, so it gets the new CRIC one

@amaltaro @ticoann we need this in order to have CRIC in the rpm when we build CRAB TaskWorker. Can you please review, merge, and include in next tag ?

test this please

Thank Stefano. patch looks good to me. We will create a new tag probably on Thursday.


Fix Bugs

NullPointerException: when want to delete no existing barber service

Same issue when updating BarberService

Closed

All done and approved


When will the pre-trained weights be released specifically?

Hi, guys! Congra on your meaningful work! When will the pre-trained weights be released specifically? can't wait to have a try

Hi, thanks for your interest in our work. We have recently been preparing the pre-trained weights and expect to release them by mid-March!


[BUG] Can hub.submit_inference_job API use online models?

Describe the bug
Hello, I've uploaded a model and I want to use hub.submit_inference_job API to run my model. But the following error will be reported:

However, it is possible to use the CLI directly.
Expected behavior
A clear and concise description of what you expected to happen.
Host configuration:

OS and version: Linux 20.04
Browser chrome
QAI-Hub-Models version: v0.11.2
QAI-Hub client version: 0.13.0

Additional context
Add any other context about the problem here.

HI @songh11, please try using hub.get_model("id") instead of model=id. That should work for you!

HI @songh11, please try using hub.get_model("id") instead of model=id. That should work for you!

Thanks for your reply, I will try it.


Merge fix for issue 161 into develop

Why we need to remove the "ownerReferences" section?

Guess I'm curious to now on the ownerReferences removal.

@cuddlehub, @kevinlinglesas, a large amount of unit tests were failing. The issue is that the ownerReferences in question all contained references to SASDeployment objects, but no SASDeployment mock files were ever added. Adding them would require quite a bit of changing and I believe the SASDeployment resource might be optional anyway, so it just wouldn't add any extra coverage or benefit to add that resource in unit tests.


Option to enable svelte-check?

I just realized that esbuild-svelte doesn't do type checks, because svelte preprocessor doesn't do type checks.
I'd love to (optionally) include type checks in my esbuild run because they can save me a lot of runtime headaches.
It would be nice if this were an option in esbuild-svelte so I don't have to roll my own.
I suppose as a workaround I can hack it into my package.json scripts to just run before kicking off esbuild.

Unfortunately I think the "hack" of adding svelte-check or something similar into your npm scripts is probably the best bet here.
esbuild doesn't do type checks either, which means there isn't really a clean way for esbuild-svelte to incorporate type checks into it's run without adding extraneous dependencies for non-typescript users.
Open to suggestions on this, but I see type checks as the responsibility of an external program (like svelte-check) or a preprocessor.

Closing this as out of scope


Creating a write-only team for Charcoal projects

I'm leaving this here because it seems like more people see our GitHub issues than they do chat messages.
This was an idea I had a couple days ago. What if we created another team on the Charcoal-SE organization, with write access to all of Charcoal's projects (as opposed to the admin access that the Core team have)? That allows us to give people who commonly contribute to the projects write access, instead of forcing them to rely on pull requests - which, let's be honest, aren't much fun when you're just waiting around.
I'm thinking of people like Kyll, Ashish, and angussidney, who have sent us the majority of our recent pull requests. There are probably more people I've missed out there, but that's the general idea.
Obviously, they'd need to be people (a) who we can trust, and (b) with privileges for Smokey. I'm not proposing adding just anyone who submits a PR; rather, people who have a track record of good contributions. Those people are a big resource for Charcoal; this would reduce the friction to them helping out.
Thoughts?

I would have no objection :). If I understood the code and was proficient in js I would be contributing myself. Unfortunately js is a language I have never learnt (although I know many other programming languages ...)

@DavidPostill Smokey itself is written in Python - only the userscripts are JS. metasmoke is Ruby on Rails. Those are our major three languages, I think.

Lol. I don't know any of those languages. I'm limited to traditional languages Java/C++/C etc ... :)

Disclaimer: this is probably a giant ramble because I wrote it in my phone
early in the morning. Coherence is irrelevant.
Another option is to just add those folks to the collaborators list on the
projects they tend to contribute to. If we end up adding someone to
multiple projects, it's probably time to start thinking about making them a
regular/full member.
Having a write access group and moving people into it who don't need admin
access might be a good idea from a security perspective, though.
Also note that, from a future-looking perspective, I'd vote to keep Smokey
fairly locked down. If this integration thing happens, it'd be good to
have as few people as feasible with access to a giant
remote-execution-vulnerability-as-a-feature.
Realistically, I'd probably view to move as many admins as possible into a
write group, then use it as you say.
Also, if this integration thing happens, it might make sense to limit who
can pull from chat... but that's down the road and easy to implement.
On Sun, Oct 2, 2016, 6:16 AM DavidPostill<EMAIL_ADDRESS>wrote:

Lol. I don't know any of those languages. I'm limited to traditional
languages Java/C++/C etc ... :)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Charcoal-SE/SmokeDetector/issues/231#issuecomment-250968465,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE7FZnRbJo38wZ_u9RddE7N0Bq1s1Bwvks5qv6ClgaJpZM4KL_g_
.

Nice idea, I could imagine myself to apply for membership of this write access group in the future, once I found time and motivation to make myself familiar with the Smokey sources. Being able to contribute directly without having to wait up to days for getting a pull request merged would definitely increase the motivation factor.

Obviously I am a little biased by saying that yes this is a good idea, but I think undo has a point: if I'm not familiar with a language or a project, I don't want my changes to be automatically merged and pulled.  It would be better just to give me access to the repos I contribute to.
Also @Undo1 with the pull limiting - maybe you could change it up a bit so that only changes in findspam.py can be pulled, whereas changes anywhere else need to be pulled by an admin.
(Apologies for mobile typing)

If we're dealing with a malicious actor, changes in findspam can still do
anything that the rest of the code can. Realistically, it'd need to be any
pull... but that's an issue we can address when necessary and isn't
strictly relevant to this.
On Sun, Oct 2, 2016, 4:40 PM angussidney<EMAIL_ADDRESS>wrote:

Obviously I am a little biased by saying that yes this is a good idea, but
I think undo has a point: if I'm not familiar with a language or a project,
I don't want my changes to be automatically merged and pulled. It would be
better just to give me access to the repos I contribute to.
Also @Undo1 https://github.com/Undo1 with the pull limiting - maybe you
could change it up a bit so that only changes in findspam.py can be pulled,
whereas changes anywhere else need to be pulled by an admin.
(Apologies for mobile typing)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Charcoal-SE/SmokeDetector/issues/231#issuecomment-251001253,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE7FZj1YCRzJ-wx30hCLhL47UbVjvO9_ks5qwDLpgaJpZM4KL_g_
.

I think we should finish the migration of the blacklisted domains and patterns to metasmoke, this is better security wise (only data injection, and no code injection), and we can even implement automatic checks on the blacklisted domains, like checking if they aren't found by other checks.

That allows us to give people who commonly contribute to the projects write access, instead of forcing them to rely on pull requests

In other projects I maintain (e.g. http://github.com/manishearth/rust-clippy/) I and my co-maintainers have a policy for using pull requests even if you have write access, and getting sign off from another maintainer. In many cases these rules aren't ironclad, for example for trivial PRs or time-sensitive ones we just merge first (perhaps pinging another maintainer to let them know that this happened), and sometimes we ask involved community members for review. This works out really well. IME projects where everyone pushes to master tend to reach a state where everyone breaks everyone's code, and folks understand less of the codebase.
Aside from that, +1 for broadening write access. I echo Undo's concerns about smokey. Since many smokey PRs are for just adding users, perhaps we could factor that out into a config file or a separate repo, one which has more write access.

Art's created these teams w/ my approval, so closing this. Nothing's actually changed yet, some folks have pending invites to some limited write access.
@Manishearth I've thought for a while about doing that. We could even sync the regexes to metasmoke and have granular control over permissions there - it wouldn't be hard.


Unhandled exception awaiting Future<List> when a future completes with error

The following code stops its execution (Unhandled exception) when it await a Future<List<Future>> (with a list containing a future that completes with an error).
This looks really strange that await has interaction with the inner Future. Is it the expected behaviour?
import 'dart:async';

void main() async {
  await f();  // even with surrounding try-catch the Unhandled exception couldn't be avoid
  print('after');
}

Future<List<Future>> f() async {
  return [
    (Completer()..completeError('futureError')).future,
  ];
}

Running the above code I get the following output
$ dart --version
Dart SDK version: 2.14.4 (stable) (Wed Oct 13 11:11:32 2021 +0200) on "linux_x64"
$ dart file.dart
Unhandled exception:
futureError

In my real code I face the same behaviour with a Future<Map<String, Future>>.

Sounds like expected behavior.
You await a future which contains a list.
That list contains another future which nobody ever waits for. That unawaited future completes with an uncaught error (and it does so before the future returned by f completes), which means it's reported as an uncaught async error to the current zone, which is the root zone, which in native code means that your program crashes.
The await does not have any interaction with the inner future, and that's a problem because someone needs to interact with an error future, otherwise it is uncaught and the error takes down your program.
The reason you don't see code after the await is that the program crashes before the f() future completes.

Thanks for the explanation. async is sometimes hard :grimacing:


Add ssl_verify option to OPA plugin

Summary

Add ssl_verify  parameter to the opa plugin.
Reason

The opa plugin now supports secure connection. Related Kong EE PR: https://github.com/Kong/kong-ee/pull/3271
ssl_verify  parameter controls if the OPA certificate is verified.

@outsinre Could you rebase on release/gateway-3.0?

@outsinre Could you rebase on release/gateway-3.0?

Sure, will do

This will need to be rebased

Any update on this? Do you need any help?

Any update on this? Do you need any help?

@Guaris, thanks for the notice. Just rebased!

Is this still a draft?

We can't merge this into the Gateway 3.0 branch because it would cause conflicts in that branch. Could I ask you to reset the head of this branch to the tip of Gateway-3.0, and cherry-pick your commits onto that. Essentially undoing the step where you rebased over the main branch. Alternatively, you could close this PR, create a new branch from the Gateway 3.0 branch, and add your docs again. I'm happy to help you with this on Slack if you need it.

I fixed all of the branch issues for you :)

@outsinre please rebase and clean up this PR.

@Guaris Could you help on merging this one? Thanks!

The Kong PR is already merged. Waiting for release.


Cleaner Cleanup

Hi,
in my code I frequently create/remove programmatically nodes and connections.
Apparently I am doing something weird (or not) and during the cleanup some "zombie" connection still exist somewhere.
This PR will fix the symptom (crash in Connection::save() )  but, for the time being, not the actual illness (connection that still exist even if it was supposed to be deleted).
In the worst case, this code is equivalent to the old one.
Davide
P.S.: at some point we migh start a discussion about making the code more robust using std::weak_ptr instead of raw pointers.

Couldn't resist, I added a couple more commits ;)

Hi Davide,
I know it took me ages so get to this PR. Is it still actual?
Thanks
Dmitry

No clue... I haven't been following your last changes... :(

Checked -- the PR is still valid. Thank you

awesome


Remove newsmeme example

Newsmeme is gone for a while, so we should remove code pointing to it. We have other examples

I disagree, as the source of the project is rather irrelevant. However, this project has used the newsmeme example in many places to show new features and for me it is a good showcase on how relations are presented (and how this should be improved - see #122 and #72).
The graph.py is not as excessive and newsmeme is the only examples which also comes with a .er file :)

OK ☺


Issue Deriving Deserialize

I have imported both serde::Deserialize and serde_json::de, and I have #![feature(custom_derive)] and #![feature(custom_attribute)] defined at the crate level, but I am unable to use #[derive(Deserialize)] on a struct that I have created. It simply errors that the trait bound, serde::Deserialize is not satisfied. Anyone else having this problem?

Can you share the code to help debug?
I have seen this before when there are multiple Serde versions involved. You may be using a version of serde_json that uses a different version of serde than your crate - so you are deriving a Deserialize impl corresponding to one version of Serde but serde_json is expecting a Deserialize impl corresponding to a different version of Serde, which is not satisfied. Check your Cargo.lock.

What versions should be paired? This is a just-initialised project so I'm using the latest of the two available on Crates.io, which is version 0.7.10 of serde and version 0.7.1 of serde_json..

Those should work. I cannot reproduce the issue using those versions.
As a sanity check you could try using cargo expand to confirm that a Deserialize impl is being generated.

It doesn't seem to be expanding. Repository here: https://github.com/mmstick/rustcyp

You're missing:
#![feature(plugin)]
#![plugin(serde_macros)]

I have it working now.


inferred generic type param of higher order function is too wide

TypeScript Version:  typescript@next
Search Terms: higher order function component generic inference
Code
declare function higherOrderFunction<
  F extends (options: BaseOptions) => any,
  O extends BaseOptions
>(fn: F): F
declare function fn(options: { foo: string; baz: number }): any
const test = higherOrderFunction(fn) // type error

Expected behavior:
Generic params of higherOrderFunction are inferred to be typeof fn and BaseOptions & { bar: string }, respectively.
Actual behavior:
Type error is resulted because generic params of higherOrderFunction are inferred to be (options: BaseOptions) => any and BaseOptions, respectively:
Argument of type '(options: { foo: string; baz: number; }) => any' is not assignable to parameter of type '(options: BaseOptions) => any'.
  Types of parameters 'options' and 'options' are incompatible.
    Property 'baz' is missing in type 'BaseOptions' but required in type '{ foo: string; baz: number; }'

Playground Link: link
Related Issues: Not that I saw, but this relates closely to how React HOCs are constructed, where we require the type of the component itself to resolve default props and prop types using JSX.LibraryManagedAttributes.
Current workaround:
Kinda gross but using a conditional type that references the the generic type parameter inside its own constraint works, which feels very hacky and weird to me??
declare function higherOrderFunction<
  F extends (options: BaseOptions & (F extends (options: infer O) => any ? O : {})) => any
>(fn: F): F

I think this is the expected behavior.
With strictFunctionTypes (as without this option the error does not appear) functions parameter types checked contravariantly (#18654). This means that:
class Animal { a: any }
class Dog extends Animal { d: any }

type Y = ((a: Animal) => void) extends ((a: Dog) => void) ? "Y" : "N"
type N = ((a: Dog) => void) extends ((a: Animal) => void) ? "Y" : "N"

So basically if the parameter is of a derived type the relationship is inversed, the function with the base type argument (Animal) is a subtype of the function with a derived argument (Dog)
So this would actually:

interface BaseOptions {
  foo: string,
  baz: number
}

declare function higherOrderFunction<
  F extends (options: BaseOptions) => any,
  O extends BaseOptions
>(fn: F): (options: BaseOptions & { bar: string }) => any
declare function fn(options: { foo: string }): any
const test = higherOrderFunction(fn)

One more point about. Your workaround removes the constraint that the parameter be derived from BaseOptions, it not any better then declare function higherOrderFunction<F extends (options: any) => any>(fn: F): F
A workaround that preserves both the restriction and the full function type could be:
declare function higherOrderFunction<F extends (options: O) => any, O extends BaseOptions>(fn: F & ((o: O) => any)): F

declare function fn(options: { foo: string; baz: number }): any
const test = higherOrderFunction(fn)

declare const fnWithProps: {
  (options: { foo: string; baz: number }): any
  defaultProps: {
    foo: string
  }
}
const testWithProps = higherOrderFunction(fnWithProps) //  { (options: { foo: string; baz: number; }): any; defaultProps: { foo: string; }; }

And you could pick the non extra properties from the function, and modify the signature if need. For example:
    interface BaseOptions {
      foo: string
    }
    type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>
    declare function higherOrderFunction<F extends (options: O) => any, O extends BaseOptions>(fn: F & ((o: O) => any)): Pick<F, keyof F> & ((o: Omit<O, 'foo'>) => ReturnType<F>)

    declare function fn(options: { foo: string; baz: number }): any
    const test = higherOrderFunction(fn)

    declare const fnWithProps: {
      (options: { foo: string; baz: number }): any
      defaultProps: {
        foo: string
      }
    }
    const testWithProps = higherOrderFunction(fnWithProps)

Yes sorry I mistyped the workaround, it needs the additional intersection against the BaseProps type.
I looked at your first response and I don't see the signature of higherOrderFunction being different than my example, other than the return type (which I did change after the fact in my example to reduce ambiguity).
Issue here is that explicitly providing the generic type params still satisfied the constraints, but I wish that the inference engine would have inferred that type right away instead of prioritizing the wider base type:
// this works
const test = higherOrderFunction<typeof fn, BaseOptions & { bar: string }>(fn)

With the upcoming partial inference the pain may be lessened by doing this, but still doesn't resolve the issue fully:
const test = higherOrderFunction<typeof fn, _>(fn)

@ferdaber My point is that it is not a priority issue. The way function types work, any function type that has a parameter that is a subtype of BaseOptions  will not be a subtype of (o:BaseOptions)=>any. Since parameter types relate contravariantly the type relationship is inversed. This means that   (o:BaseOptions & { otherProp: any })=>any is not a subtype of (o:BaseOptions)=>any and thus is not valid as the type parameter F.
The example demonstrated that reverse is true, that if F is constrained to for example (o:BaseOptions & { otherProp: any })=>any, and you use as an argument a function of type (o:BaseOptions)=>any,  F will be inferred to (o:BaseOptions)=>any since (o:BaseOptions)=>any is a subtype of (o:BaseOptions & { otherProp: any })=>any

Ok, yeah that's fair, this would not work:
const test = higherOrderFunction<typeof fn, BaseOptions>(fn)

Since we're contravariant for function parameter types.
What, then, would be the construct and ordering of generic type params such that we use O for covariant type checking, and F for inferring the actual parameter's type?

I think the version in my second comment does a pretty good job
declare function higherOrderFunction<F extends (options: O) => any, O extends BaseOptions>(fn: F & ((o: O) => any)): F

If gives the compiler a site to infer O from by using the & ((o: O) => any) in the parameter type, but F will be inferred to the full function type (ie signature and any extra props). O will accept any type that extends BaseOptions and since F is tied to the O actually inferred at call site it does not reject functions for the covariant parameter type reason stated before.
BTW, this:  const test = higherOrderFunction<typeof fn, BaseOptions>(fn) also fails with your original signature you just get an error  on  typeof fn instead of the argument.

Ah! I like that approach, sorry it was difficult to grok at first and understand why this is happening, but I see why that works now. I think this is even simpler and still works; do you see any reason why this would fail?
declare function higherOrderFunction<O extends BaseOptions, F>(fn: ((options: O) => any) & F): F

This makes it somewhat more explicit that F is simply grabbing the full type of fn and not really being used for constraint checking.

@ferdaber Yeah I think you are right, I just left in the original constraint and didn't think about removing it, but your version looks cleaner. I believe it will work just as well.

Wonderful! This is awesome. Thanks so much for the help!


Feature: Implement some branching

Why?
So far we're only dealing with linear control flow and we're fairly confident that it works with our code. However, we aren't certain if it'll be easy to support jumps and and conditional jumps.
What?

[ ] Pick the simplest branching facility from the spec
[ ] Support it in Wasm.lean

Closed in #29 and #31


Update nodejs and yarn packages

Hi @rawlingsj,  could you take a look at this and do a manual merge? I'm also looking for a newer builder-nodejs image.
node 9 is not in the official docker image list of nodejs, which sometimes causes compatibility issues between runtime nodejs image and the builder image.
I was trying to create a custom builder image with node 10 and open a pull request,  then I saw there's already a pending PR here.


Add LICENSE.build to repositories, remove license clause from readme.txt

@jpakkane please take a look at this format. If this is fine I am going to proceed with #28

LGTM!


Persistence: Optimization Filter Support, Data split tests and Test restructure

What type of PR is this?
Feature
What does this PR do / why is it needed ?

Optimisation Filter support for Unitemporal Delta : Users can provide the Optimization filter which are added as query filters
Data splits based test for Unitemporal Delta
Test code restructuring for Unitemporal Snapshot
Define Variant, Array and Object Data types for Snowflake

Which issue(s) this PR fixes:
Fixes #
Other notes for reviewers:
Does this PR introduce a user-facing change?
NO

Addressed all the comments


feat: add help message for JtagNoDeviceConnected

Hello!
I had the JtagNoDeviceConnected error and did not know what to do, and someone in the Rust Embedded matrix channel told me that it happens to a lot of people. So maybe probe-run could print some help in this case. This is what this PR does.
% cargo run --bin=blinky
    Finished dev [unoptimized + debuginfo] target(s) in 0.17s
     Running `/home/*****/Development/probe-run/target/debug/probe-run --chip STM32F407VGTx target/thumbv7em-none-eabi/debug/blinky`
Info: Jtag cannot find a connected device.
Help:
    Try using probe-run with option `--connect-under-reset`
    Or if using cargo:
        cargo run -- --connect-under-reset
    This error comes from the program currently in the chip and
    using `--connect-under-reset` is only a workaround.

Error: An error specific to a probe type occured

Caused by:
    Command failed with status JtagNoDeviceConnected

This PR is just to show the idea, I can refactor it as needed.
In the matrix channel was also discussed the possibility to:

enable the flag automatically when the error occurs, which can be done while printing a warning, and/or
add a link to an explanation of the reason why this error occurs and how to avoid it in the future

Refactoring of this PR would enable to add help for the user about more various kinds of errors.

Thanks for your reply!
My only board is an stm32 so I couldn't tell… Maybe try to flash a program which loops a WFI, but not sure it disables the debug like my stm32 does.
For the explanation I agree for the place, I could be able to add a link in the printed text but I do not have the knowledge to explain precisely what is the problem and why it is… All I say here is what I have understood of the matrix discussion so well, no guarantee or expertise from me about this topic :grin:
For the automatic use of the flag I do not know if it would break things, I wanted to discuss about it in this thread. But it could be in another PR as well. It is up to you, just tell me your preference.
Anyway, I will commit your suggestions, and I'd like to refactor a bit this PR to avoid putting all this text into main.rs. No precise idea for now, suggestions are welcome! I think it would be great to have a place (module?) to put everything that could help users facing errors: diagnose the error, print warnings and suggestions, and if possible take the needed action. For instance when I used probe-run for the first time the ST-Link needed an update and I did not know what "firmware" probe-run was telling me about. The explanation and suggestion for this case could be added in the same module.
PS: thanks for e.to_string(), I do not know why I had not found this method in the docs earlier!

About refactoring, I was thinking about adding src/troubleshooting.rs defining pub trait Diagnoseable { fn diagnose(self) -> Self) } and implementing it for Result<probe_rs::Session, probe_rs::Error> using a match &self and returning self. Actually it works but I think it would be suitable only to print info messages, not to recover from errors. It might be a problem as, if error recovering (for instance in this case use .attach_under_reset(...) instead of .attach(...)) is added later, the logic of error identification will be duplicated. What do you think about it?
Below is an example implementation of the suggestion above.
// src/main.rs:61
probe.attach(probe_target).diagnose()?

// src/troubleshooting.rs
use probe_rs::{DebugProbeError, Error, Session};

/// This trait is to be applied to results that can lead to warning messages helping the user to
/// fix the issue that raised an error
pub trait Diagnoseable {
    fn diagnose(self) -> Self;
}

impl Diagnoseable for Result<Session, Error> {
    fn diagnose(self) -> Self {
        match &self {
            // Ok should never be diagnosed
            Ok(_) => (),
            // Add some Err(...) branches here to manage the different kinds of errors
            Err(Error::Probe(DebugProbeError::ProbeSpecific(e))) => {
                // FIXME Using `to_string().contains(...)` is a workaround as the concrete type of
                // `e` is not public and therefore does not allow downcasting.
                if e.to_string().contains("JtagNoDeviceConnected") {
                    print_jtag_no_device_connected_info()
                }
            }
            // The other kinds of error are not managed yet, or there is nothing to be done for
            // them
            Err(_) => (),
        }
        self
    }
}

fn print_jtag_no_device_connected_info() { ... }

I've opened https://github.com/probe-rs/probe-rs/issues/797 to address the FIXME.

About refactoring, I was thinking about adding src/troubleshooting.rs defining pub trait Diagnoseable { fn diagnose(self) -> Self) } and implementing it for Result<probe_rs::Session, probe_rs::Error> using a match &self and returning self. Actually it builds but I think it would be suitable only to print info messages, not to recover from errors. It might be a problem as, if error recovering (for instance in this case use .attach_under_reset(...) instead of .attach(...)) is added later, the logic of error identification will be duplicated. What do you think about it?

I guess think this is a good optimization, in case we have multiple variants of that error. For now I don't think it is necessary.
Let's wrap the PR as it is. Feel free to open an issue with your proposed trait Diagnoseable, so we can discuss it there.
bors r+


Themes

Hi i use my colors but your bright vival look only as arc on MAC! Not have more too nice themes??

I dont have much idea on theme haha
At this moment you can use bright vival and change the lightgradient line on css in order to customize it.

I dont have much idea on theme haha At this moment you can use bright vival and change the lightgradient line on css in order to customize it.

https://themes.vivaldi.net/themes/40y7Qo8yvXx

https://themes.vivaldi.net/themes/40y7Qo8yvXx


Pull dictionary snapshots from ambuda-org instead of the source

Pulling dictionaries from original sources may strain the original dictionary sources.

snapshot dictionaries
check them into ambuda-org (a new repo).
pull dictionaries from ambuda-dictionaries during builds.
In ambuda-dictionaries, run periodic (monthly) upgrade checks on the sources to pull latest versions and save them tarballs.

@kvchitrapu I think the time is right for this as well, if you want to pursue it.

Sounds good. I'll work on them.

Created dictionaries. Add this basic config https://github.com/ambuda-org/dictionaries/blob/main/src/dictionaries.yaml to list all dictionaries.
Planning to publish as snapshots as packages on ghcr.io.
@akprasad , @suhasm , is there a standard format for dictionaries? Today we are pulling dictionaries from various sources and treat them in a specialized functions. Is there a standard dictionary format so the dictionaries can be parsed using a common function?
In other words, I'm checking if this workflow is possible:

a new worker process can pull these dictionaries in zip files or XML or text.
save dictionaries in a standard format
compress and publish the package
Ambuda or any application pulls the package and parses using a generic function.

No, there isn't a standard dictionary format as far as I'm aware. Some dictionaries are in the Stardict format which is easy to parse but lacks formatting, etc. The Cologne dictionaries use their own conventions that are rich but a little harder to parse.
I am inclined to the data in this repo as "raw" as possible and do any transformation logic as part of the loading process on the Ambuda side. My thinking is:

We can easily diff against the upstream data
We have flexibility to change our transformation logic without causing huge diffs in the data
These jobs aren't expensive in the scheme of things -- a few minutes a month, at most


when run make PythonAPI and make Libcarla encounter Setup.sh issue: wget: unable to resolve host address ‘ftp.cixug.es’

recently, when i run make PythonAPI and make LibCarla, i encounter wget issue,
Setup.sh: llvm-8.0 already installed.
Setup.sh: boost-1.72.0-c8 already installed.
Setup.sh: rpclib-v2.2.1_c5-c8 already installed.
Setup.sh: gtest-1.8.1-c8 already installed.
Setup.sh: recast-0b13b0-c8 already installed.
Setup.sh: Libpng already installed.
Setup.sh: Retrieving xerces-c.
--2022-03-30 18:30:20--  https://ftp.cixug.es/apache//xerces/c/3/sources/xerces-c-3.2.3.tar.gz
Resolving ftp.cixug.es (ftp.cixug.es)... failed: Name or service not known.
wget: unable to resolve host address ‘ftp.cixug.es’
make: *** [Util/BuildTools/Linux.mk:137: setup] Error 4
it looks like i can not download xerces-c-3.2.3.tar.gz from ftp.cixug.es.
PS my nameserver  (in ubuntu20.04 /etc/resolv.conf) <IP_ADDRESS>
and can't open https://ftp.cixug.es in firefox
try to solve it, i change download sit from https://ftp.cixug.es/apache//xerces/c/3/sources to https://downloads.apache.org/xerces/c/3/sources/   , it temporarily solve the problem, but i'm not sure whether this operation is correct or not, can someone help me out? thanks

where have you changed the directory? in which file ?

Hi @gengtsh, thank you for noticing this issue. Indeed your solution is the right one. We will add this fix to the repository.

@RehabHsn and @Axel1092  Line number 428 in Setup.sh file  (carla/Util/BuildTools/Setup.sh)

Line number 428 in Setup.sh file XERCESC_VERSION=3.2.3 change to 3.2.4

I am also facing the same error. In which file you have changed https://ftp.cixug.es/apache//xerces/c/3/sources to https://downloads.apache.org/xerces/c/3/sources/ ?

Had the same error, just to sum it up: changing the version just lead to another error.
What worked for me is to change line 433 in file Util/BuildTools/Setup.sh
from
XERCESC_REPO=https://ftp.cixug.es/apache//xerces/c/3/sources/xerces-c-${XERCESC_VERSION}.tar.gz

to
XERCESC_REPO=https://archive.apache.org/dist/xerces/c/3/sources/xerces-c-${XERCESC_VERSION}.tar.gz


[Bug] TabView does not switch tabs on UWP

Description
Tapping on other tab does not switch current tab. Looks like indicator is trying to move into other tab but it goes back, CarouselView tries to move content but goes back too.
Steps to Reproduce

Open Xamarin Community Toolkit sample app.
Go to Views -> TabView -> Getting Started.
Tap on Tab 2.

Expected Behavior
TabView is switching tab.
Actual Behavior
Tab 1 remains visible.
Basic Information

Version with issue: build from sources on develop branch, 1.0.2 is current stable release.
Last known good version: unknown
IDE: Visual Studio 2019 Enterprise 16.8.5
Platform Target Frameworks:

UWP:  18362

Nuget Packages: referenced by XCT Sample app on develop branch

Workaround
Double tap on other tab to switch.
Reproduction imagery

Any update on this?

We are also facing the same issue. The tab just does not switch.

So folks this is a show stopper on UWP Shell application. The tab just does not switch no matter what you do. Double tapping tab does not make it switch.  And I am using the very latest XCT v1.2.0-pre2.

Is there any workaround until it get fixed in next coming release.
desperately looking for an update on it.

@techravi007 Have you heard or read something that definitely states this issue will be fixed in the next coming release?

@Orgbrat No, I haven't any clue if it is going to be fixed in the next coming release though i'm hoping they should fix it.

Well I have never done anything with someone's open source project before, but I have forked the Xamarin.Community.Toolkit repository and I am going to see if I can tell what is going on with the TabView not working correctly in UWP. Not making any promises but at least I do have everything I need to work on UWP on my machine although I am not a UWP expert. But I am willing to give it a shot.  Worst thing can happen is that I fail to help the issue...  :)

@Orgbrat Thank you! If You need help I hope I can help. We need it too working for UWP.

@Agredo  Well unfortunately I have received a new project to work on and my time is very limited for this issue. I will get back to this as soon as I can. Sorry...

this is still a big issue

It seems to be bug of CarouselView as it is placed inside TabView for transition switch tabs

Same problem here. Many times the tab that is shown when you click the strip is a wrong or previous tab


Is MoveBaseClient in rosc++ implemented here?

I have a feature request!
I want to do this:
I want to send nav goals in C#, just like what we do in rviz.
For being able to do it, I wish ROS# had the following feature:
I googled about it and people use MoveBaseClient in rosc++.
Then I searched this repo and found nothing about that.
Is that implemented? Or maybe I use action client to simulate that?

outdated / closing due to inactivity


Supported model causes error

When I tried to embed with one of the supported models:
from fastembed.embedding import FlagEmbedding as Embedding
embedding_model = Embedding(model_name="jinaai/jina-embeddings-v2-base-en")

It gave this error:
Was not able to download fast-jina-embeddings-v2-base-en.tar.gz, trying jinaai-jina-embeddings-v2-base-en.tar.gz
Traceback (most recent call last):
  File "/home/claudehu/Desktop/repo/geniml_dev/venv/lib/python3.10/site-packages/fastembed/embedding.py", line 339, in retrieve_model
    self.download_file_from_gcs(
  File "/home/claudehu/Desktop/repo/geniml_dev/venv/lib/python3.10/site-packages/fastembed/embedding.py", line 245, in download_file_from_gcs
    raise PermissionError(
PermissionError: Authentication Error: You do not have permission to access this resource. Please check your credentials.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/snap/pycharm-community/364/plugins/python-ce/helpers/pydev/pydevconsole.py", line 364, in runcode
    coro = func()
  File "<input>", line 1, in <module>
  File "/home/claudehu/Desktop/repo/geniml_dev/venv/lib/python3.10/site-packages/fastembed/embedding.py", line 422, in __init__
    self._model_dir = self.retrieve_model(model_name, cache_dir)
  File "/home/claudehu/Desktop/repo/geniml_dev/venv/lib/python3.10/site-packages/fastembed/embedding.py", line 346, in retrieve_model
    self.download_file_from_gcs(
  File "/home/claudehu/Desktop/repo/geniml_dev/venv/lib/python3.10/site-packages/fastembed/embedding.py", line 245, in download_file_from_gcs
    raise PermissionError(
PermissionError: Authentication Error: You do not have permission to access this resource. Please check your credentials.

Jina models are accessible using the JinaEmbedding class.
After the recent update release, all the models are available in the TextEmbedding class.


feat(request): Add ability to invite

Motivation

Ability to invite people from my Lenster Profile

Current Discussions indicate there is an unwillingness to add this feature

If the objective of a social media network is to onboard more people , a closed invite only system is ineffective

Solution
Add ability to invite in Lenster

hey.xyz (previously lenster.xyz) is a client powered by Lens. If you have any suggestion for the Lens Protocol, you can make a proper formal LIP here.


Bugfix: RTPMunger can produce incorrect sequence numbers

Changes for this PR will be brought in with #170


Add request estimate feature

Add some improvements and features

Products
Apply Surge
Apply Cars availability
Request estimate
Request cancellation
Travis support
Rspec task
More guides

Done @sishen

@sishen can you approve the pull request and update the gem to the rubygems?

@chrisenytc Sorry for the late. Had issues to access the Gmail in China due to GFW.

No problem @sishen, thank for the merge.


WebSocket is not defined

Trying readme example and I'm getting
app/bot/node_modules/asteroid/lib/base-mixins/ddp.js:46:67)```

Hi @dfischer,
If you use Asteroid in an environment without native WebSocket implementation, you can use an external module, like ws.
For example:
import {createClass} from "asteroid";
import ws from "ws";

const Asteroid = createClass();

const asteroid = new Asteroid({
    endpoint: "ws://localhost:3000/websocket",
    SocketConstructor: ws
});

Wonderful, thanks.


Rename template

The name shouldn't reflect implementation details, instead should state its purpose.
Since we're going to have a few template soon I would suggest this one to be something like:
website-template

the current template could then be renamed to something like without-cms-template or frontend-template?

frontend-template sounds good, fits all use-cases for websites / apps / saas / products etc.


Keep Emoji Picker Open

Is it possible to keep the emoji picker open even if you click outside it?
I'm trying to use the picker on a mobile screen and I would like it to be displayed all the time. Is there any way to achieve this with Emoji Button?
Thanks!

@mattWalters0 you can https://emoji-button.js.org/docs/customize

Thanks @cyberfly.  I saw this option but the Picker still closes if you click or tap outside it..  I really want it to be displayed all the time but not sure if that's possible...

Duplicate of #136, I will try to add support for this in v5.


⚠ Bofrost.fr has degraded performance

In d45c693, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1142 ms

Resolved: Bofrost.fr performance has improved in c864ebd.


Explicit deconstructors

No longer overloading the global JNI table, tracking references in C++ instead to avoid over-usage crash
Change Type (required)
Indicate the type of change your pull request is:

[x] patch
[ ] minor
[ ] major
[ ] N/A

Does your PR have any documentation updates?

[ ] Updated docs
[ ] No Update needed
[ ] Unable to update docs

📦 Published PR as canary version: 0.10.1--canary.563.18873

Try this version out locally by upgrading relevant packages to 0.10.1--canary.563.18873

/canary

/canary

/canary


native<->objmode calls overhead for small functions

Reporting a bug

[x] I am using the latest released version of Numba (most recent is visible in
the change log (https://github.com/numba/numba/blob/master/CHANGE_LOG).
[x] I have included below a minimal working reproducer (if you are unsure how
to write one see http://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports).

@sklam  Just to document things discussed on meeting.
I tried to investigate example with native<->objmode calls overhead
https://gist.github.com/sklam/8b574306b20766cf821e7a6cec4b76c4
And it seems in this particular case this is due to repeating object deserializing on each function call.
Numba calls serialize_uncached on python side to serialize object into buffer and save it in IR(this happens only on first call).
https://github.com/numba/numba/blob/release0.49/numba/core/pythonapi.py#L1303
But then it deserialize this buffer into object on each function call via numba_unpickle
https://github.com/numba/numba/blob/release0.49/numba/_helperlib.c#L993
I tried to replace numba_unpickle body with just return 0 and got almost identical times between mixed and pure python after that.
So questions:

Why we can't just use object from outside without serializing/deserializing it.
Is it safe to cache deserialized object on native side (e.g. deserialize it on first call and save obj into global var)

Slightly modified example:
import numpy as np
from numba import njit, jit, objmode, typeof
from numba.extending import overload
import timeit
import time

t = 0.0

def unknown_func(arr):
    b = time.time()
    res = np.linalg.norm(arr)
    e = time.time()
    global t
    t += (e - b)
    return res

@overload(unknown_func)
def unknown_lib_func(arr):
    def impl(arr):
        # What we know is that the function takes an array and return a float
        with objmode(out='float64'):
            out = unknown_func(arr)  # use the pure-python implementation
        return out

    return impl

def example(arrays):
    out = 0
    for arr in arrays:
        out += unknown_func(arr)
    return out

jit_example = njit(example)

arrs = np.random.random((1, 1000))

example(arrs)
jit_example(arrs)

t = 0.0
print(timeit.timeit(lambda: example(arrs)))
print(t)
print()

t = 0.0
print(timeit.timeit(lambda: jit_example(arrs)))
print(t)

Tested on 0.49.1

Thanks for the report. CC @sklam .

I am caching deserialized objects (see this) but @sklam advised you had to be careful not to keep function types alive longer than neccessary. Have not found a good way to identify types containing function types, yet. Once I found a way I'll likely open a PR.

Why we can't just use object from outside without serializing/deserializing it

The current approach is to keep a unified IR generation for both cached and uncached code. For cached code, the loading process must recreate the session by deserialize the referenced objects.

Is it safe to cache deserialized object on native side (e.g. deserialize it on first call and save obj into global var)

It is "safe" as in it will not cause semantic error. But, large objects (like large temporary functions) can be holding up memory resulting in memory-leak for long running process. We will need a good way to clean up the cached deserialized objects.

I can confirm that caching the deserialized object reduced most of the overhead.
However, my patch (https://github.com/numba/numba/pull/5674) to allow caching of with objmode is causing significantly more overhead seen in this issue.

I can confirm that caching the deserialized object reduced most of the overhead.

Can you please provide some public branch with this change so we can test performance on our workloads.

@Hardcode84,
https://github.com/sklam/numba/commit/0e0a969d29909588ddab65e667c2e83c2a806be4 is the experimental patch to add caching of deserialization.
That patch alone is fixing the overhead you see in this issue.
That patch combined with https://github.com/numba/numba/pull/5674 is a lot slower unfortunately. I need to debug it to know why.

@Hardcode84, I have a new proposed patch https://github.com/numba/numba/pull/5922 to would solve the objmode overhead problem.
Using the reproducer code that you have, on master (f55b055b82892a3030ec0bbc504cf17cf098ec10) I get:
6.917409159
5.096495151519775

9.579834582
5.7540082931518555

With https://github.com/numba/numba/pull/5922, I get:
6.88690711
5.080684185028076

6.91699412
5.253177642822266

That shrinks the objmode overhead.

Closed by https://github.com/numba/numba/pull/5922


[Release] sdk/resourcemanager/peering/armpeering/0.1.0

…m spec commit: 4cda81c5daed78441aa8043dd32ae00b02899c36

[ ] The purpose of this PR is explained in this or a referenced issue.
[ ] The PR does not update generated files.

These files are managed by the codegen framework at Azure/autorest.go.

[ ] Tests are included and/or updated for code changes.
[ ] Updates to CHANGELOG.md are included.
[ ] MIT license headers are included in each file.

/azp run prepare-pipelines

/azp run go - armpeering - ci

/check-enforcer override


BibTeX inproceedings type should support editor field.

As raised in #106.

This is now implemented, and also for proceedings and book types too, as per the spec.

Thank you @hainesr !

No problem at all 😄
It might take a bit to surface in the GitHub UI though as there are some other changes to make as well.


Other Wifi Adapters

I have a Pi Kit that uses another wifi adapter that I would like to use for this project.  www.canakit.com.
Is it possible to add the drivers for other adapters to the image?

If it's a Pi 2, get this to replace the adapter: http://amzn.com/B003MTTJOY.
If it's not a Pi 2, get the recommended hardware kit.
It's not possible to add drivers for other adapters at this point.

The easiest thing to do is to limit the supported hardware.
If we want to support WiFi dongles which use RT5370 (a very common chip) we need to use an updated hostapd. I did a build of hostapd to include support for the nl80211 driver. The result works for both the original specified wifi and the ones using RT5370.

@bradanlane - I've also been experimenting with a hostapd build that appears to use a newer, patched version of rtl871xdrv. Stability under high UAT loading on 0.3b1 and earlier seemed better than with the hostapd included in the release images.
It can also be compiled with support for nl80211 devices, meaning that rt2800usb (e.g. RT5370), ath9k-htc, and other kernel modules would be compatible out of box. I tested an older gen_gdl90 builds with an ath9k-htc compatible adapter has been pretty much bulletproof, even under heavy load.
Might be worth thinking about forking an image at some point after the project matures.
@Ylinen - If you're feeling adventurous, you could try installing a nl80211 compatible release of hostapd, and update /etc/hostapd/hostapd.conf to get the adapter working. Otherwise, pony up the $10 for the Edimax adapter.


The value of the vad_filter was not determined.

app/faster_whisper/core.py
This file contains a judgment logic error！The value of the vad_filter was not determined.
def transcribe(
        audio,
        task: Union[str, None],
        language: Union[str, None],
        initial_prompt: Union[str, None],
        vad_filter: Union[bool, None],
        word_timestamps: Union[bool, None],
        output,
):
    options_dict = {"task": task}
    if language:
        options_dict["language"] = language
    if initial_prompt:
        options_dict["initial_prompt"] = initial_prompt
    if word_timestamps:
        options_dict["vad_filter"] = True
    if word_timestamps:
        options_dict["word_timestamps"] = True
    with model_lock:

@ahmetoner

Yes, because only ‘faster-whisper’ core has this ‘vad_filter’ feature, I passed the parameter to ‘OpenAI’ core as well to avoid any errors in general when switching between different libraries. So it is there but not functional.

Thank you for reporting. I'll be releasing a patch soon.

Thank you for reporting. I'll be releasing a patch soon.

When the ASR interface receives the parameter language=zh and the output format is set to json, the returned text is encoded in Unicode.
Python, a high level interpreted programming language, famous for its zen-like code.It's arguably the most popular language in the world because it's easy to learn, yet practical for serious projects.In fact, you're watching this YouTube video in a Python web application right now.It was created by Guido van Rossum and released in 1991, who named it after Monty Python's Flying Circus.Which is why you'll sometimes find spam and eggs instead of foo and bar in code samples.\u5b83\u7528\u4e8e\u5728\u6d4b\u8bd5\u5668\u4e0a\u5efa\u9020\u5e94\u7528\u4f18\u79c0\u7684\u5e94\u7528\u7a0b\u5e8f\u4f8b\u5982Jango\u305d\u308c\u7b49\u7f51\u8def\u5e94\u7528\u7a0b\u5e8f\u5b83\u4ea6\u662f\u5927\u6570\u636e\u5206\u6790\u548c\u8ba1\u7b97\u7684\u9009\u533a\u8bb8\u591a\u5b66\u751f\u4f1a\u9009\u7528Python\u4ee5\u4e3a\u5b66\u4e60\u6587\u5b57\u56e0\u4e3a\u5b83\u7684\u8bfe\u7a0b\u63a7\u5236\u7740\u8bfb\u529b\u5982Python\u7684Zen\u6240\u663e\u793a\u7684\u7f8e\u4e3d\u6bd4\u6c61\u3064\u304d\u800c\u5434\u4faf\u6bd4\u4e0d\u9b44\u3064\u304dPython\u975e\u5e38\u7b80\u5355\u4f46\u5b83\u5c11\u6709\u9ebb\u70e6\u52a8\u7528\u5e7b\u601c\u7684\u9b54\u672f\u5176\u6587\u5b57\u7ecf\u5e38\u7edf\u7edf\u7ec4\u6210\u5237\u672c WHOLE COUNTRY ALLOWS US TO EXECUTE AND DOCUMENT THE WE'RE CURRENTLY AT VERSION 3 OF THE LANGUAGEAND YOU CAN GET STARTED BY CREATING A FILE THAT ENDS IN .PYOR .IPYMB TO CREATE AN INTERACTIVE NOTEBOOKCREATE A VARIABLE BY SETTING A NAME EQUAL TO A VALUEIT'S STRONGLY TYPED WHICH MEANS VALUES WON'T CHANGE IN UNEXPECTED WAYSBUT DYNAMIC SO TYPE ANOTATIONS ARE NOT REQUIREDTHE SYNTAX IS HIGHLY EFFICIENTALLOWING YOU TO DECLARE MULTIPLE VARIABLES ON A SINGLE LINE\u4e26\u5b9a\u7fa9\u8a18\u3001\u540d\u5b57\u3001\u8a5e\u4e32\u548c\u5b57\u7b26 ihrer reigns with literal syntax\u4e0d\u80fd\u7528 semicolon\u5982\u679c\u4f7f\u7528\u5b83\u5011\u800c\u4f60\u9ad4\u9a57Pythonista\u4e26\u4e0d\u6703\u8aaa\u4f60\u7684 Code \u662f\u975ePythonic\u800c\u4e0d\u662f semicolonPython \u6703\u4f7f\u7528 poultice\u4f86\u5b9a\u7fa9\u4e00\u884c\u7684\u985e\u578b\u5b9a\u7fa9\u4e00\u9805\u529f\u80fd\u7528DEF \u53bb\u5b9a\u7fa9\u518d\u7528 Next line\u901a\u5e38\u7528 For spaces\u4f86\u5b9a\u7fa9\u9019\u500b\u529f\u80fd\u7684\u8eab\u9ad4\u6211\u5011\u4e5f\u6703\u7528 For loop\u518d\u7528 For spaces\u9019\u662f\u6703\u5fc5\u9808\u53e6\u7528Curly braces \u548c semicolon\u5728\u5176\u4ed6\u8a9e\u8a00\u4e2d\u8a8d\u5b9a\u7684Python\u662f\u4e00\u7a2e\u591a\u500b\u8a9e\u8a00\u8a9e\u8a00\u6211\u5011\u53ef\u4ee5\u4f7f\u7528\u6a5f\u5668\u6a21\u5f0f\u4f7f\u7528 lambda \u314e\u314e\u4e5f\u4f7f\u7528\u7269\u9ad4\u4f5c\u70ba\u6578\u64da\u4ee5\u4f7f\u7528\u7269\u9ad4\u4e3b\u5c0e\u6a21\u5f0f\u4f8b\u5982\u5f9e\u4e8b\u8005\u53ca\u627f\u8afe\u4e5f\u6709\u7b2c\u4e09\u65b9\u66f8\u7c4d\u7684\u8a2d\u8a08\u6bd4\u5982Tensor Flow\u4e5f\u6709\u591a\u500b\u9ad8\u6548\u7387\u3001\u4f4e\u968e\u7248\u672c\u5c31\u5982 Open Computer Vision\u901a\u5e38\u90fd\u7528Pip application manager\u9019\u662f100\u79d2\u5f8c\u7684Python\u540d\u5b57\u8a9e\u8a00\u8a9e\u70b9\u8d5e,\u5982\u679c\u4f60\u60f3\u770b\u5230\u66f4\u591a\u8fd9\u6837\u7684\u77ed\u7247,\u8c22\u8c22\u89c2\u770b,\u6211\u4eec\u4e0b\u671f\u89c1

Thank you for reporting. I'll be releasing a patch soon.

When the ASR interface receives the parameter language=zh and the output format is set to json, the returned text is encoded in Unicode.I need to return the Chinese text directly.
Python, a high level interpreted programming language, famous for its zen-like code.It's arguably the most popular language in the world because it's easy to learn, yet practical for serious projects.In fact, you're watching this YouTube video in a Python web application right now.It was created by Guido van Rossum and released in 1991, who named it after Monty Python's Flying Circus.Which is why you'll sometimes find spam and eggs instead of foo and bar in code samples.\u5b83\u7528\u4e8e\u5728\u6d4b\u8bd5\u5668\u4e0a\u5efa\u9020\u5e94\u7528\u4f18\u79c0\u7684\u5e94\u7528\u7a0b\u5e8f\u4f8b\u5982Jango\u305d\u308c\u7b49\u7f51\u8def\u5e94\u7528\u7a0b\u5e8f\u5b83\u4ea6\u662f\u5927\u6570\u636e\u5206\u6790\u548c\u8ba1\u7b97\u7684\u9009\u533a\u8bb8\u591a\u5b66\u751f\u4f1a\u9009\u7528Python\u4ee5\u4e3a\u5b66\u4e60\u6587\u5b57\u56e0\u4e3a\u5b83\u7684\u8bfe\u7a0b\u63a7\u5236\u7740\u8bfb\u529b\u5982Python\u7684Zen\u6240\u663e\u793a\u7684\u7f8e\u4e3d\u6bd4\u6c61\u3064\u304d\u800c\u5434\u4faf\u6bd4\u4e0d\u9b44\u3064\u304dPython\u975e\u5e38\u7b80\u5355\u4f46\u5b83\u5c11\u6709\u9ebb\u70e6\u52a8\u7528\u5e7b\u601c\u7684\u9b54\u672f\u5176\u6587\u5b57\u7ecf\u5e38\u7edf\u7edf\u7ec4\u6210\u5237\u672c WHOLE COUNTRY ALLOWS US TO EXECUTE AND DOCUMENT THE WE'RE CURRENTLY AT VERSION 3 OF THE LANGUAGEAND YOU CAN GET STARTED BY CREATING A FILE THAT ENDS IN .PYOR .IPYMB TO CREATE AN INTERACTIVE NOTEBOOKCREATE A VARIABLE BY SETTING A NAME EQUAL TO A VALUEIT'S STRONGLY TYPED WHICH MEANS VALUES WON'T CHANGE IN UNEXPECTED WAYSBUT DYNAMIC SO TYPE ANOTATIONS ARE NOT REQUIREDTHE SYNTAX IS HIGHLY EFFICIENTALLOWING YOU TO DECLARE MULTIPLE VARIABLES ON A SINGLE LINE\u4e26\u5b9a\u7fa9\u8a18\u3001\u540d\u5b57\u3001\u8a5e\u4e32\u548c\u5b57\u7b26 ihrer reigns with literal syntax\u4e0d\u80fd\u7528 semicolon\u5982\u679c\u4f7f\u7528\u5b83\u5011\u800c\u4f60\u9ad4\u9a57Pythonista\u4e26\u4e0d\u6703\u8aaa\u4f60\u7684 Code \u662f\u975ePythonic\u800c\u4e0d\u662f semicolonPython \u6703\u4f7f\u7528 poultice\u4f86\u5b9a\u7fa9\u4e00\u884c\u7684\u985e\u578b\u5b9a\u7fa9\u4e00\u9805\u529f\u80fd\u7528DEF \u53bb\u5b9a\u7fa9\u518d\u7528 Next line\u901a\u5e38\u7528 For spaces\u4f86\u5b9a\u7fa9\u9019\u500b\u529f\u80fd\u7684\u8eab\u9ad4\u6211\u5011\u4e5f\u6703\u7528 For loop\u518d\u7528 For spaces\u9019\u662f\u6703\u5fc5\u9808\u53e6\u7528Curly braces \u548c semicolon\u5728\u5176\u4ed6\u8a9e\u8a00\u4e2d\u8a8d\u5b9a\u7684Python\u662f\u4e00\u7a2e\u591a\u500b\u8a9e\u8a00\u8a9e\u8a00\u6211\u5011\u53ef\u4ee5\u4f7f\u7528\u6a5f\u5668\u6a21\u5f0f\u4f7f\u7528 lambda \u314e\u314e\u4e5f\u4f7f\u7528\u7269\u9ad4\u4f5c\u70ba\u6578\u64da\u4ee5\u4f7f\u7528\u7269\u9ad4\u4e3b\u5c0e\u6a21\u5f0f\u4f8b\u5982\u5f9e\u4e8b\u8005\u53ca\u627f\u8afe\u4e5f\u6709\u7b2c\u4e09\u65b9\u66f8\u7c4d\u7684\u8a2d\u8a08\u6bd4\u5982Tensor Flow\u4e5f\u6709\u591a\u500b\u9ad8\u6548\u7387\u3001\u4f4e\u968e\u7248\u672c\u5c31\u5982 Open Computer Vision\u901a\u5e38\u90fd\u7528Pip application manager\u9019\u662f100\u79d2\u5f8c\u7684Python\u540d\u5b57\u8a9e\u8a00\u8a9e\u70b9\u8d5e,\u5982\u679c\u4f60\u60f3\u770b\u5230\u66f4\u591a\u8fd9\u6837\u7684\u77ed\u7247,\u8c22\u8c22\u89c2\u770b,\u6211\u4eec\u4e0b\u671f\u89c1

I have already solved the problem：Set the value of ensure_ascii to False.  ensure_ascii=False
class WriteJSON(ResultWriter):
    extension: str = "json"

    def write_result(self, result: dict, file: TextIO):
        json.dump(result, file,ensure_ascii=False)


Updated Cartfile and Moya.podspec to use RAC4 release

Only problematic part i see now — only 4.0.0 RC2 is available at Pods Spec repo

Also probably we should bump Moya version since RC4 update but i'm not sure yet, so decided to delay that change

Cool. This is only failing because the RAC podspec wasn't pushed until like an hour ago. I'm going to re-run CI.

:+1:

Current coverage is 91.16%

Merging #396 into master will not affect coverage as of b249606

@@            master    #396   diff @@
======================================
  Files           13      13
  Stmts          453     453
  Branches         0       0
  Methods
======================================
  Hit            413     413
  Partial          0       0
  Missed          40      40

Review entire Coverage Diff as of b249606

Uncovered Suggestions

+1.33% via ...ource/Response.swift#76...81
+1.11% via ...+ReactiveCocoa.swift#54...58
+1.11% via Source/Moya.swift#188...192
See 7 more...

Powered by Codecov. Updated on successful CI builds.

Cool, this has been released as 6.1.3 on CocoaPods and as a GitHub release.


LUIS build fails with reason "undefined" after adding the 11th phrase list

Describe the bug
LUIS build fails with reason "undefined" after adding the 11th phrase list.
Version
Version:  1.4.0
Electron: 8.2.4
Chrome: 80.0.3987.165
NodeJS: 12.13.0
V8: 8.0.426.27-electron.0
Browser

[X] Electron distribution
[ ] Chrome
[ ] Safari
[ ] Firefox
[ ] Edge

OS

[ ] macOS
[X] Windows
[ ] Ubuntu

To Reproduce
Steps to reproduce the behavior:

Go to any intent trigger(s) and add 11 simple phrase lists
Click on 'Start Bot'
Once it fails to start, click on 'See Details'
See error "Luis build failed: undefined"

Expected behavior
I expect to see an informative error message with a reason as to why it failed.
In this case, the luis.ai portal shows "BadArgument: The phraselist features allowed per model cannot exceed the limit 10.".
Screenshots

This looks to be a bug in luis:build where the error is not being picked up properly.  @cosmicshuai  or @boydc2014  can you take a look?

Trying to reproduce this in bf-cli. The luis:build command has returned the same error info as the Luis portal. Will look into the Composer code to see where neglect the error message.

https://github.com/microsoft/botframework-cli/pull/1214
I have fixed it in the bf-cli, after it is merged, I will update the version in Composer. This would solve this issue.


Add  MqttClient Connection Validator Event and  IMqttServerStorage supports injection dependencies

Added events for  the connection validator!
Existing  connection validator makes it difficult to use dependency injection.
So, I added events to make it easy to use dependent injected databases and other objects in ASP.Net Core.
IMqttServerStorage is also intended for easy use in asp.net core

Sorry but I cannot accept is pull request. You moved only the ConnectionValidator because you need this. All other things are still in the options. So it breaks the consistency.
If you want to use DI you should create your own MQTT Server class which has a proper constructor for all of your services. Then you can build the options and server as usual. You can also create a factory using the factory pattern to create your custom instance with proper DI.


Update installation

Created scripts to scan the repository to get the Python, R and 3rd-party dependencies and generates a conda environment file with them. The output is kept under the folder "conda/environments".
The goal is to use conda environment files to deploy CGAT code everywhere. Hopefully this will offer portability (easier to install the code out of CGAT systems) and reproducibility (code and runtime environment under version control). Combining this with nosetests and pipeline_testing, we will be able to easily check in advance whether software updates will break existing code or produce different results.
Briefly, this is how it works:

R dependencies are parsed with: grep "library(r-package)"
Python dependencies are parsed with snakefood
3rd party programs are picked up if they are called the CGAT way: statement = "commands" (using Abstract Syntax Trees). Anything called in a different way will not be picked up.

The approach is far from perfect, but gives an automatic way of getting dependencies. Happy to hear more advance solutions for doing this.
For scripts we offer two installation modes: 1) production (for the code published), and 2) development (all the code in the repository). Below are the conda environment files for each. Please let me know if you think there are missing dependencies.

Production:

# output generated by /ifs/devel/sebastian/py35-v1/cgat/scripts/cgat_conda_deps.sh --production
# on Wed Nov  1 15:46:14 GMT 2017

name: cgat-s

channels:
- bioconda
- conda-forge
- defaults

dependencies:
# python dependencies
- python
# WARNING: bx-python is Py2 only but "pip install bx-python" works with Py3
- alignlib-lite
- biopython
- cython
- future
- matplotlib
- numpy
- pandas
- pybedtools
- pysam
- python-lzo
- pyyaml
- rpy2
- scipy
- setuptools
- six
# Misc dependencies
- bedtools
- coreutils
- gcc
- grep
- libpng
- nomkl
- ucsc-bedgraphtobigwig
- ucsc-wigtobigwig
- zlib

Development:

# output generated by /ifs/devel/sebastian/py35-v1/cgat/scripts/cgat_conda_deps.sh --all
# on Wed Nov  1 15:47:45 GMT 2017

name: cgat-s

channels:
- bioconda
- conda-forge
- defaults

dependencies:
# python dependencies
- python
# WARNING: bx-python is Py2 only but "pip install bx-python" works with Py3
- alignlib-lite
- biopython
- cython
- future
- ggplot
- jinja2
- matplotlib
- mysqlclient
- networkx
- nose
- numpy
- openpyxl
- pandas
- pep8
- psycopg2
- pybedtools
- pysam
- python-lzo
- python-weblogo
- pyyaml
- rdflib
- rpy2
- scikit-learn
- scipy
- setuptools
- six
# R dependencies
- r-base
- r-coloc
- r-flashclust
- r-ggplot2
- r-gplots
- r-gridbase
- r-gridextra
- r-gtools
- r-mapdata
- r-maps
- r-optparse
- r-plyr
- r-qqman
- r-rcolorbrewer
- r-reshape
- r-reshape2
- r-samr
- r-scales
- r-sleuth
- r-snow
- r-vegan
- r-venndiagram
- r-wgcna
- bioconductor-biobase
- bioconductor-biomart
- bioconductor-deseq
- bioconductor-deseq2
- bioconductor-dexseq
- bioconductor-edger
- bioconductor-hilbertvis
- bioconductor-ihw
- bioconductor-limma
- bioconductor-masigpro
- bioconductor-medips
- bioconductor-metagenomeseq
- bioconductor-rtracklayer
- bioconductor-siggenes
# Misc dependencies
- bedtools
- coreutils
- gcc
- gdc-client
- grep
- libpng
- nomkl
- samtools
- sra-tools
- tar
- ucsc-bedgraphtobigwig
- ucsc-bedtobigbed
- ucsc-wigtobigwig
- util-linux
- wget
- zlib

@sebastian-luna-valero, looks like you have done a lot of work! I assume this script is ran as part of the installation process? What happens if we create a new script, how are the dependancies caught?

@Acribbs the script is only run when you want to update the conda environment files (e.g. in preparation for a new release of the code). The script scans the repository so after adding a new script its dependencies will hopefully be found automatically.


The engine calls navigator.getGamepads every frame

Description
The engine currently calls navigator.getGamepads every frame, even when the game has no interest in any connected gamepads. This function is not free and does consistently show up as taking a small percentage of overall application CPU when profiling via Chrome Dev Tools.
Instead, the engine should check for and utilize the gamepadconnected and gamepaddisconnected events to look for the first connected pad. If the events aren't there, we should scan for newly connected pads at a far lower frequency (maybe every 500ms).
Once we have a connected pad, we can start polling via navigator.getGamepads every frame.
For an example showing how it should be done see: http://luser.github.io/gamepadtest/

Sounds reasonable to me. And enableTouch too?

Fixed by adding input project settings.


Add ytt getting started and leigh

Can I get a review? I also can't get it to successfully build locally.

I created an Issue for this piece, linked it to this PR, and put it in our content planning board. This Git Hub Issue includes a checklist for content submissions, as well as what we do for the review. @tiffanyfay please take a look at the list and verify those items are complete (reviews, etc). There is more info on these in our wiki. These are changes that have come about fairly recently, so apologies for dropping it all on you. Tried to make it as straight forward as possible with the list in the issue, but we are still adjusting things. Let us know if we can help at all through the process, or if we can make this process better/easier.

Also, if you need a hand getting your local builds working, happy to Zoom and see if we can get it up and running. Find me on Slack if you want :)


Grammar helper

Per #85 this is ready for review. 🙂

The commit-log is a bit of a mess - feel free to squash the whole thing if that makes you happy. 😁

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

6 of 7 (85.71%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.3%) to 99.721%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/core/grammar.ts
6
7
85.71%

Totals

Change from base Build<PHONE_NUMBER>:
-0.3%

Covered Lines:
271

Relevant Lines:
272

💛  - Coveralls

That one uncovered line is the throw new Error statement, which is not supposed to execute.
I don't know coveralls, and they don't seem to have any real docs - do you know how to mark the line for exclusion?
I guess, ideally, the line shouldn't be there - I just feel safer having something that blows up, if someone breaks the code, rather than a silent failure... 🤔

Thanks, I'll get to this PR on weekends.

By the way, quick question, do you have a reason for having both the hand-written markdown, as well as the very similar inline documentation in the classes?
I'm a bit concerned about the amount of duplication here, the risk of divergence, and so on. I just noticed my inline and markdown docs+example are already quite different.
I wonder if it would make more sense to extract the markdown from the inline doc-blocks?

By the way, quick question, do you have a reason for having both the hand-written markdown, as well as the very similar inline documentation in the classes?
I'm a bit concerned about the amount of duplication here, the risk of divergence, and so on. I just noticed my inline and markdown docs+example are already quite different.
I wonder if it would make more sense to extract the markdown from the inline doc-blocks?

We looked into this earlier with @TheFedaikin, but decided to leave it as-is, because:
- I'm not a fan of TypeDoc and the like.
- I like VitePress and we couldn't find a nice way to wire docs to the code. VitePress allows to import code snippets from files, but it doesn't let you import comments.
The right way would be to write a custom pre-build step for docs where we extract TSDocs and generate Markdown files, but this has its own pros/cons/tradeoffs. For instance, we would have to drop all bells and whistles VitePress gives us: badges, nice codeblocks, custom success/failure blocks and so on, because all of that wouldn't render correctly in inline docs.
- We would need to author documentation in the comments, which kinda sucks compared to good old Markdown that can be previewed in real-time.
- I wanted inline docs to only have the basic info and standalone docs to provide detailed information. Having identical inline and standalone docs kinda defeats the purpose of having standalone docs in the first place.

FYI, there is a markdown plugin for typedoc with 250K weekly downloads. (I've looked at every other documentation generator I could find, plus at least 5 different generators designed specifically for Markdown, but I didn't find anything else that looks very dependable, maintained, complete, popular, etc.)

I wanted inline docs to only have the basic info and standalone docs to provide detailed information. Having identical inline and standalone docs kinda defeats the purpose of having standalone docs in the first place.

To my mind, docs are docs. I don't see any benefits to having so-so inline documentation, and then having to visit a website to get the whole story. I don't see any practical benefits to having two versions of documentation for the same things.
Personally, I would try to solve those issues with TSDoc instead - add plugins, customize the theme, use inline HTML if necessary... to each his own though. Migrating it at this point would be a project in itself, I suppose. 😅

FYI, there is a markdown plugin for typedoc with 250K weekly downloads. (I've looked at every other documentation generator I could find, plus at least 5 different generators designed specifically for Markdown, but I didn't find anything else that looks very dependable, maintained, complete, popular, etc.)

I wanted inline docs to only have the basic info and standalone docs to provide detailed information. Having identical inline and standalone docs kinda defeats the purpose of having standalone docs in the first place.

To my mind, docs are docs. I don't see any benefits to having so-so inline documentation, and then having to visit a website to get the whole story. I don't see any practical benefits to having two versions of documentation for the same things.
Personally, I would try to solve those issues with TSDoc instead - add plugins, customize the theme, use inline HTML if necessary... to each his own though. Migrating it at this point would be a project in itself, I suppose. 😅

Thanks for the insight, maybe I'll reconsider.

This PR is included in version 3.7.0.


[NDTensors] More BlockSparseArray tensor operations

This add permutedims for BlockSparseArray.
I may define contract in this PR as well if I have the time.

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

Comparison is base (70967cd) 82.87% compared to head (e481c8e) 54.54%.

:exclamation: Current head e481c8e differs from pull request most recent head 864f92f. Consider uploading reports for the commit 864f92f to get more accurate results

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1227       +/-   ##
===========================================
- Coverage   82.87%   54.54%   -28.34%
===========================================
  Files          89       88        -1
  Lines        8440     8392       -48
===========================================
- Hits         6995     4577     -2418
- Misses       1445     3815     +2370

see 37 files with indirect coverage changes

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

@kmp5VT @emstoudenmire I have some more block sparse operations working using BlockSparseArray storage, including ITensor addition and reshape using combiner contraction. BlockSparseArray * BlockSparseArray tensor contractions and factorizations (qr, eigen, svd) aren't working yet, I'll add those in a future PR.