Uncaught TypeError: Cannot read property 'getPath' of undefined

[Enter steps to reproduce below:]

...
...

Atom Version: 1.11.2
Electron Version: 0.37.8
System: Mac OS X 10.12
Thrown From: atom-perl-prove package, v0.6.0
Stack Trace
Uncaught TypeError: Cannot read property 'getPath' of undefined
At /Users/americo/.atom/packages/atom-perl-prove/lib/atom-perl-prove.coffee:66

TypeError: Cannot read property 'getPath' of undefined
    at Object.module.exports.AtomPerlProve.runTests (/Users/americo/.atom/packages/atom-perl-prove/lib/atom-perl-prove.coffee:66:101)
    at atom-workspace.subscriptions.add.atom.commands.add.atom-perl-prove:run-tests (/Users/americo/.atom/packages/atom-perl-prove/lib/atom-perl-prove.coffee:24:97)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/private/var/folders/t3/vksz4rrd43n7j8qb3bhkx5r18gfb7w/T/AppTranslocation/5B2F08EF-705D-42E7-B2B7-3AD9EEF158BE/d/Atom 2.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at CommandRegistry.handleCommandEvent (/private/var/folders/t3/vksz4rrd43n7j8qb3bhkx5r18gfb7w/T/AppTranslocation/5B2F08EF-705D-42E7-B2B7-3AD9EEF158BE/d/Atom 2.app/Contents/Resources/app.asar/src/command-registry.js:3:61)
    at CommandRegistry.module.exports.CommandRegistry.dispatch (/private/var/folders/t3/vksz4rrd43n7j8qb3bhkx5r18gfb7w/T/AppTranslocation/5B2F08EF-705D-42E7-B2B7-3AD9EEF158BE/d/Atom 2.app/Contents/Resources/app.asar/src/command-registry.js:160:19)
    at AtomEnvironment.module.exports.AtomEnvironment.dispatchApplicationMenuCommand (/private/var/folders/t3/vksz4rrd43n7j8qb3bhkx5r18gfb7w/T/AppTranslocation/5B2F08EF-705D-42E7-B2B7-3AD9EEF158BE/d/Atom 2.app/Contents/Resources/app.asar/src/atom-environment.js:1127:28)
    at EventEmitter.outerCallback (/private/var/folders/t3/vksz4rrd43n7j8qb3bhkx5r18gfb7w/T/AppTranslocation/5B2F08EF-705D-42E7-B2B7-3AD9EEF158BE/d/Atom 2.app/Contents/Resources/app.asar/src/application-delegate.js:341:25)
    at emitTwo (events.js:100:13)
    at EventEmitter.emit (events.js:185:7)

Commands
     -0:00.3.0 atom-perl-prove:run-tests (ul.list-inline.tab-bar.inset-panel)

Config
{
  "core": {
    "telemetryConsent": "no"
  },
  "atom-perl-prove": {}
}

Installed Packages
# User
advanced-open-file, v0.16.4 (inactive)
atom-beautify, v0.29.9 (inactive)
atom-perl-prove, v0.6.0 (active)
cssbeautify, v1.3.0 (inactive)
file-icons, v1.7.19 (active)
highlight-selected, v0.11.2 (active)
language-scala, v1.1.6 (active)
language-tt, v0.5.1 (active)
minimap-highlight-selected, v4.4.0 (active)
perltidy, v3.0.0 (active)
pretty-json, v1.6.0 (active)
script, v3.10.1 (inactive)
todo-show, v1.7.0 (inactive)
tree-view-git-modified, v0.7.1 (active)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.52.0 (inactive)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.44.0 (inactive)
base16-tomorrow-dark-theme, v1.2.0 (inactive)
base16-tomorrow-light-theme, v1.2.0 (inactive)
one-dark-ui, v1.6.0 (active)
one-light-ui, v1.6.0 (inactive)
one-dark-syntax, v1.3.0 (active)
one-light-syntax, v1.3.0 (inactive)
solarized-dark-syntax, v1.0.2 (inactive)
solarized-light-syntax, v1.0.2 (inactive)
about, v1.7.0 (active)
archive-view, v0.61.1 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.11.2 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.31.1 (active)
autocomplete-snippets, v1.11.0 (active)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (active)
background-tips, v0.26.1 (active)
bookmarks, v0.42.0 (active)
bracket-matcher, v0.82.1 (active)
command-palette, v0.38.0 (inactive)
deprecation-cop, v0.54.1 (active)
dev-live-reload, v0.47.0 (active)
encoding-selector, v0.22.0 (active)
exception-reporting, v0.40.0 (active)
find-and-replace, v0.201.1 (inactive)
fuzzy-finder, v1.4.0 (active)
git-diff, v1.1.0 (active)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.2 (active)
image-view, v0.59.0 (active)
incompatible-packages, v0.26.1 (active)
keybinding-resolver, v0.35.0 (active)
line-ending-selector, v0.5.0 (active)
link, v0.31.1 (inactive)
markdown-preview, v0.158.0 (active)
metrics, v1.0.0 (active)
notifications, v0.65.1 (active)
open-on-github, v1.2.0 (inactive)
package-generator, v1.0.0 (inactive)
settings-view, v0.242.2-hotfix1 (active)
snippets, v1.0.2 (active)
spell-check, v0.68.2 (active)
status-bar, v1.4.1 (active)
styleguide, v0.47.0 (active)
symbols-view, v0.113.1 (inactive)
tabs, v0.101.0 (active)
timecop, v0.33.2 (active)
tree-view, v0.209.3 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.35.1 (active)
whitespace, v0.33.0 (active)
wrap-guide, v0.38.2 (active)
language-c, v0.52.1 (active)
language-clojure, v0.21.0 (active)
language-coffee-script, v0.47.2 (active)
language-csharp, v0.12.1 (active)
language-css, v0.37.1 (active)
language-gfm, v0.88.0 (active)
language-git, v0.15.0 (active)
language-go, v0.42.1 (active)
language-html, v0.45.1 (active)
language-hyperlink, v0.16.0 (active)
language-java, v0.23.0 (active)
language-javascript, v0.119.0 (active)
language-json, v0.18.2 (active)
language-less, v0.29.5 (active)
language-make, v0.22.2 (active)
language-mustache, v0.13.0 (active)
language-objective-c, v0.15.1 (active)
language-perl, v0.35.0 (active)
language-php, v0.37.2 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.0 (active)
language-ruby, v0.69.0 (active)
language-ruby-on-rails, v0.25.0 (active)
language-sass, v0.56.0 (active)
language-shellscript, v0.22.4 (active)
language-source, v0.9.0 (active)
language-sql, v0.23.0 (active)
language-text, v0.7.1 (active)
language-todo, v0.28.0 (active)
language-toml, v0.18.0 (active)
language-xml, v0.34.9 (active)
language-yaml, v0.26.0 (active)

# Dev
No dev packages

i am having the same issue

Not sure if this is going to help anyone, but:  I had the same error and it appears it is because the perl project folder I was using was not initialized as a git repository :).  Per the atom-perl-prove docs "When activated, this package will check what the base directory for the git repository for the current file"
Basically it appears to look up some settings in the git repository files because it assumes you are using a git repo.  *IF this is the case then.....you need to add/convert your perl project to use git/be a git repository.
On the OS I have this installed: git
I believe almost any version or package that's "git" for your OS will contain the "git" executable, which is what you need.
In Atom I have these packages installed and configured
git-plus <- I have multiple config changes in git and in the template, your mileage may vary
atom-perl-prove <- validate/configure the path to the "prove" executable for my system
Setup: In Atom, open the folder/project where your perl module/scripts are that contains the "t" directory (where tests are located, dont' go into the test directory itself).  Keep this folder selected/open for the steps below.

Executed a git 'init' to prep the folder/repo for git integration.

In Atom Editor -> Control-Shift-P to bring up search bar
Search for: git plus: Init
Click on it.  It should succeed and generate several new files in your project folder/repo

Use git to commit the new files.

In Atom Editor -> Control-Shift-P to bring up search bar
Search for: git plus: add all and commit
Click on it.   Just add a note like "git repo init" and save the file with Control-s.

Retry running tests using atom-perl-prove

In Atom Editor -> Control-Shift-P to bring up search bar
Search for: git plus: add all and commit
Search for: atom perl prove: run tests
Click on it. tests should run...hopefully

No thanks. I don't want to have to use git to use prove.


Ensure the cloud provider is initialized with a suitable logger

If the cloudprovider (aws) is initialized with no loger it can't be used.
Update the controller set a default Logger when nil (or raise error if set to nil).

logger is always set in the controller

I've got a fix for this actually. Let me do a PR.


⚠ Bofrost.at has degraded performance

In 1519f1a, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1534 ms

Resolved: Bofrost.at performance has improved in 1a95168 after 6 minutes.


Refactor qick-start

Coverage decreased (-29.9%) to 45.861% when pulling a40efe12bcf3fccdf2dee8b854bff59d0c58e244 on yuye/paiCluster-refactor into 9612c7dd0c410f2fe19b038ddcf67016dbac0869 on refactor-dev.


Error in importing Color.php

This is the error I am getting, using the Color.php
require_once DIR . '/../PHPColors/Color.php';
This is the only thing I am using, in my php file.

  | Parse error:  syntax error, unexpected 'const' (T_CONST), expecting variable (T_VARIABLE) in /home/username/public_html/PHPColors/Color.php on line 38

Hi, thanks for your reply.
Which PHP version do you use?
And which package version do you use?

Hi, thanks for your reply.
Which PHP version do you use?
And which package version do you use?

Hi! Thanks for replying, in local host it is working fine, but in hosted server it is not working.
On localhost & hosting ser PHP ver 7.0

Thanks for pointing me in the wrong direction, updated the version to the latest, fixed the issue # # #


⚠ Bofrost.at has degraded performance

In af278ad, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1523 ms

Resolved: Bofrost.at performance has improved in e6b3369 after 6 minutes.


Handle error when beginning transaction

Make sure these boxes checked before submitting your pull request.

[X] Do only one thing
[X] No API-breaking changes (I believe so)
[] New code/logic commented & tested

For significant changes like big bug fixes, new features, please open an issue to make an agreement on an implementation design/plan first before starting it.
What did this pull request do?
Adds an error to the scope if there is one when beginning a transaction. Feel free to close this omission is intentional. After looking at the default create callbacks, seems like this error being ignored is potentially worrisome.

Codecov Report

Merging #2489 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master    #2489   +/-   ##
=======================================
  Coverage   80.15%   80.15%
=======================================
  Files          24       24
  Lines        3432     3432
=======================================
  Hits         2751     2751
  Misses        578      578
  Partials      103      103

Impacted Files
Coverage Δ

scope.go
87% <100%> (ø)
:arrow_up:

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 b715619...16b978d. Read the comment docs.


The Text / Preview tag are not available on files that were open before you installed the plugin

I created a README.md in my project using Intellij 13.1.2 on windows 7.  It asked me to download a plugin for this file type and I agreed.  After the plugin installed, the Text and Preview tags were not available.  I restarted Intellij, same issue.  The thing that fixed it was closing the README.md tab and reopening the file.  Then the tabs were visible.
I think they should be visible immediately after installing the plugin.  Other users may not know that it's there and think the plugin only does syntax highlighting.

Notice: This plugin is no more maintained and it has been removed from Jetbrains plugins repository. There is a Markdown plugin officially supported by Jetbrains.


Optimize performance of initcap function (~2x faster)

Which issue does this PR close?

Closes #.
Rationale for this change
Eliminate the intermediate Vec<char> and directly push into a String.

What changes are included in this PR?
Update the initcap function, benchmark included.

Are these changes tested?
Yes, existing unit tests.

Are there any user-facing changes?
No.

*BENCHMARK RESULT
Compiling datafusion-functions v43.0.0 (/home/tailm/repos/github/datafusion/datafusion/functions)
    Finished `bench` profile [optimized] target(s) in 1m 02s
     Running benches/initcap.rs (target/release/deps/initcap-408d405a24fbbea1)
Gnuplot not found, using plotters backend
initcap string view shorter than 12 [size=1024]
                        time:   [34.326 µs 34.353 µs 34.383 µs]
                        change: [-48.954% -48.796% -48.631%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 26 outliers among 100 measurements (26.00%)
  4 (4.00%) low severe
  9 (9.00%) low mild
  5 (5.00%) high mild
  8 (8.00%) high severe

initcap string view longer than 12 [size=1024]
                        time:   [52.105 µs 52.151 µs 52.201 µs]
                        change: [-54.232% -54.111% -53.998%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 12 outliers among 100 measurements (12.00%)
  4 (4.00%) high mild
  8 (8.00%) high severe

initcap string [size=1024]
                        time:   [53.143 µs 53.324 µs 53.587 µs]
                        change: [-53.164% -52.956% -52.775%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 7 outliers among 100 measurements (7.00%)
  5 (5.00%) high mild
  2 (2.00%) high severe

initcap string view shorter than 12 [size=4096]
                        time:   [135.91 µs 136.08 µs 136.27 µs]
                        change: [-51.523% -51.418% -51.301%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 14 outliers among 100 measurements (14.00%)
  6 (6.00%) high mild
  8 (8.00%) high severe

initcap string view longer than 12 [size=4096]
                        time:   [202.91 µs 203.35 µs 204.06 µs]
                        change: [-53.743% -53.636% -53.540%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 11 outliers among 100 measurements (11.00%)
  7 (7.00%) high mild
  4 (4.00%) high severe

initcap string [size=4096]
                        time:   [205.59 µs 205.78 µs 206.00 µs]
                        change: [-53.462% -53.306% -53.164%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 11 outliers among 100 measurements (11.00%)
  5 (5.00%) high mild
  6 (6.00%) high severe

I'm not sure if this is an intended implementation or not. But seems like it would be better if we return StringViewArray instead of StringArray here 🤔.

Thanks again @tlm365 @jayzhan211 @Dandandan @Weijun-H  and @Dandandan  (quite a distinguished list of contributors!)


Feedback needed for Alpha Release

I feel like the quality of my notebook has been getting worse over the past three months, since I declared a hiatus from the Stable Diffusion Community in February. So, I want to make sure that I do the right thing before I release this to the main branch.
The main points about this update are:

Simplified cells and parameters, so I need your feedback on which cells and parameters I need to simplify further.
Provided more explanation about certain parameters. I need to know if this is the right thing to do, as it goes against my plan to simplify the notebook.
Fixed the bug for class_token is undefined.
Using Wandb instead of Tensorboard as the default logging tool. Please prepare your API key.
Added more LoRA modules: ["LoRA_LierLa", "LoRA_C3Lier", "DyLoRA_LierLa", "DyLoRA_C3Lier", "LoCon", "LoHa", "IA3", "LoKR"].

I have only used LoRA_LierLa and LoRA_C3Lier so far, so I need your help with any recommended parameters.

Added the Sample Prompt Config back.
Planned to delete clone/push to Github, as Huggingface Hub is already powerful.
etc

You can find the alpha release version at these links:

https://colab.research.google.com/github/Linaqruf/kohya-trainer/blob/dev/kohya-LoRA-dreambooth.ipynb
https://colab.research.google.com/github/Linaqruf/kohya-trainer/blob/dev/kohya-LoRA-dreambooth.ipynb
https://colab.research.google.com/github/Linaqruf/kohya-trainer/blob/dev/kohya-LoRA-dreambooth.ipynb

You can also gives suggestion in this Issue. Thank you!

I wanted to try it out, but it had the same issue as the main one a bit earlier,
FileNotFoundError: [Errno 2] No such file or directory: '/usr/local/lib/python3.9/dist-packages/bitsandbytes/cuda_setup/main.py'

But I glanced over the things, and personally I don't need the 5.5 Sampler, it usually generates crap anyways, and you could edit it regardless. While at that, I have never used anything from the huggingface bracket 7.
Also, I would really one more like r34 or even some would like e926 or e621. IIRC, you also need to login into boorus to use more than 2 tags there, so You could also display that to avoid confusion.
Could have a bit of information links on the 5.4 Optimizer section.

I really wanted to try out LoKr, so that's nice

I'm a noob, so how do I fix this bc I'm getting the same here....

Hey! I love the notebook and I have successfully released 20 LoHas using it.
But I have a problem, at some point, the resume training option for LoRAs in the fine-tuner notebook broke and I have a big dataset of 960 (multi-concept theme) images that can't be trained in a single run. I need to train it to 20 epochs but after around 4 hours the colab limit is reached and it kicks me at epoch8.
When I try to run with resume training it "loads" the LoRA but prints to the console output that no weight was loaded and starts training from scratch.

I've only just started a training session and will need to evaluate the results later. Some things I noticed already, though:

Please don't remove the ZIP-file after extraction. I will often test different settings and reuse the same source ZIP file for that purpose.
The setting -1 for min_snr_gamma and noise_offset seems to deactivate the corresponding functions. This isn't very transparent. For example, the description for min_snr_gamma tells us that lower numbers have a stronger effect which might confuse users as -1 is pretty low.
According to the description, noise_offset = 0.1 is recommended but it isn't set as default?
The following description surprised me: NovelAI and all modern Stable Diffusion model trains at clip_skip = 2. I assume this refers to SD2.0 / SD2.1 as I was under the impression that SD1.5 was using clip_skip = 1? If that's correct then the description should maybe include that recommendation?

On the positive side:

I was very pleasantly surprised when I found, that my subdirectories were already detected and offered as additional datasets in dataset_config.toml 👍
The new image browser seems useful
Being able to generate samples by using existing captions without manual work seems nice

(Some of these issues are probably not new to the Alpha)
I will add items as I find them.

Hello!
The collab issues a warning about the execution of forbidden code and then disconnects.
I chose the option: Linaqruf/kohya-trainer (forked repo, stable, optimized for colab use).
Apparently Google understands that the Automatic111 code is being executed.


security/acme-client: Issue with  /var RAM disk option

Current acme-client domain configuration folder (/var/etc/acme-client/home/) recreates after each reboot if /var RAM disk option is enabled at "System: Settings: Miscellaneous" thus making renewing letsencrypt certificate impossible.
Either location of acme-client folder should be changed or warning in letsencrypt plugin settings should be added.

There's a third option: setting xxx_var_mfs="/var/etc/acme-client" in the rc.conf.d template

Thanks for finding this. I was lost.

How is this working:
This seems to be under the 19.1d tag.
Will this be available via patch earlier? Or will you include it in the maint updates?
thanks!

The opnsense-patch utility can download any patch from GitHub so yes it can.
opnsense-patch -c plugins cd14eff

It'll be in 18.7.5 tomorrow.

Actually having the same issue in 18.7.7
Mon Nov 19 12:29:41 CET 2018] ACME_DIRECTORY='https://acme-v01.api.letsencrypt.org/directory'
[Mon Nov 19 12:29:41 CET 2018] Use length 4096
[Mon Nov 19 12:29:41 CET 2018] Using RSA: 4096
[Mon Nov 19 12:29:54 CET 2018] The domain key is here: /var/etc/acme-client/home/XXXXXXX.key
[Mon Nov 19 12:29:54 CET 2018] Create domain key error.
[Mon Nov 19 12:29:54 CET 2018] pid
[Mon Nov 19 12:29:54 CET 2018] No need to restore nginx, skip.
[Mon Nov 19 12:29:54 CET 2018] _clearupdns
[Mon Nov 19 12:29:54 CET 2018] skip dns.
[Mon Nov 19 12:29:55 CET 2018] _on_issue_err
[Mon Nov 19 12:29:55 CET 2018] Please check log file for more details: /var/log/acme.sh.log
root@gateway:~ # tail -f /var/log/acme.sh.log
[Mon Nov 19 12:31:53 CET 2018] Use length 2048
[Mon Nov 19 12:31:53 CET 2018] Using RSA: 2048
[Mon Nov 19 12:31:54 CET 2018] The domain key is here: /var/etc/acme-client/home/XXXXXXX.key
[Mon Nov 19 12:31:54 CET 2018] Create domain key error.
[Mon Nov 19 12:31:54 CET 2018] pid
[Mon Nov 19 12:31:54 CET 2018] No need to restore nginx, skip.

It might be somehow related to something we do in opnsense, maybe a different issue.
i had foo.mydomain.tld as CN and www.foo.mydomain.tld as a SAN .. and creating the key failed as seen above.
Removing the SAN 'fixed it'. Since this is for sure not LE / acme.sh limitation (this works on my other platforms without any issues) it might be some wrapper in opnsense.


Add/remove delegate operators no longer return values

+= and -= used to return MulticastDelegate.
By convention these operators mutate lhs and not return anything.
This came up in Swift 3 where the compiler gave me warnings about unused results, because the convention for default warning has changed.
Still, event if Swift 2 doesn't warn, I think this approach follows conventions better and is also prepared better for Swfit 3.
CollectionType example:
/// Extend `lhs` with the elements of `rhs`.
public func +=<Element, C : CollectionType where C.Generator.Element == Element>(inout lhs: [Element], rhs: C)

Int32 example
public func -=(inout lhs: Int32, rhs: Int32)

I think we should consider this, but I don't like doing this current master as it's a backwards incompatible change that essentially goes against Swift 2 idioms...
I suggest we wait for Issue 9: Swift  3 branch to be resolved first and then change this to merge into said new branch.

I don't see this as breaking compatibility. @JRG-Developer did you have any issue?
On my Xcode 7.3.1 it works fine .

I've thought about this a bit more, and here's what I came up with:
Technically, this isn't backwards compatible (since it removes a return value). However, this would only matter if a consumer wrote something like this:
var newMulticastDelegate = multicastDelegate += delegateObject

This wouldn't compile anymore if this changed is accepted.
However, this seems really awkward. I audited each of my consuming projects, and I didn't find this anywhere.
So, I suppose I actually am onboard with merging this into master, even as a new patch version. 😉

It's backwards compatible swift-wise, but not cocoapod-wise.
I'd release it as a minor update rather than patch update because the public API changes (and that's what I see you already did 👍)
Thanks for merging

minor or patch, either is good with me here! 🍷 😉

yeap, i bumped it to 1.1 . I also released 1.1.1 because one method was not converted.

I omitted that one on purpose,  to allow chaining. Also had clear arguments only for += and -=.
I'm not sure which version of |> i prefer.

IMHO, chaining a reasonable use case that should be allowed.
For example, this seems perfectly fine to me:
multicastDelegate |> { $0.doThis() } |> { $0.doThat() }

I'd actually prefer the |> operator to return the MulticastDelegate object.

Note that this these are different:
// doThis called and then doThat immediately called thereafter on each delegate
multicastDelegate |> {
    $0.doThis()
    $0.doThat()
}

// doThis called on each and every delegate before doThat is called any delegate
multicastDelegate |> { $0.doThis() } |> { $0.doThat() }

My argument for why this should be allowed is: chaining here feels Swifty.
In the case of += and -=, it doesn't feel Swifty.
😉

Hm valid points. The only issue is if you don't chain you will get a warning "result unused"
Sent from my iPhone

On 05/08/2016, at 00:39, Joshua Greene<EMAIL_ADDRESS>wrote:
My argument for why this should be allowed is: chaining here feels Swifty.
In the case of += and -=, it doesn't feel Swifty.
😉
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub, or mute the thread.

You would get result unused only on Swift 3, where you should annotate the method with @discardableResult to silence the warning and make clear that method has side-effects and the returned value may be implicitly ignored.

I fail to see what is the advantage of chaining here, can you guys give me a good example?

The "advantage" of chaining is readability: at times chaining can improve readability.
The standard Swift functions- map, filter, reduce, etc- support chaining. IMHO, we'd need a good reason not to support it, as not supporting it would actually go against the Swift trend.
Whether or not you use chaining is up to you, but I think it should be there.

I understand the advantages of chaining. But in this case i don't see any.
map doesn't chain the mapping into 2 calls but performs the map in one block. Similarly here we perform the delegate invocation in 1 call.
Can you provide an example where chaining would be more readable?

map, et all totally support chaining.
As a trivial example, say you have an array of US dollar amounts:
let dollarAmounts: [Float] = [1, 30, 15, 20]
However, you need to convert this to Japanese Yen string values ([String]). You could do this using chaining like this:
let yenDisplayValues = dollarAmounts.map { $0 * 100 } .map { "($0)"}
Yes, you could combine said two maps, but again this is a trivial example 😉 , and this won't always be possible.
Besides, this is trivial to support: we just need to return the multicast delegate from the |>, it's not like we're talking about a huge feature here...
Let's support chaining so consumers have the option to use it.
If you don't see value for using chaining in your project right now, well, don't use right now.  But, it's there later if you ever do find value for it. 😉

Yes i understand chaining. In this case map is not returning self but the mapping of the array.
In our case we return self for no apparent reason. It is the same as if UITableView delegate would return self from any of the calls:
delegate.numberOfRows(table, section).cellForRow(table,indexPath)
In a delegate pattern that doesn't make sense and it is anti-pattern. That is why I was asking a concrete example where this is used.

Sigh, it sounds like we're bikeshedding here...
I think it's best to provide chaining here as an option, if only to support the possibility of its use by a consumer that wants it.
Frankly, though, I don't care enough about this... If you want to accept the PR, go for it. Otherwise, meh? 😜

Possibility to chain sounds reasonable for me too, supported by points @JRG-Developer mentioned.


Expose and restore indirect peers

In order to implement weaveworks/weave#2187 we need a way to expose and restore 'indirect peers' - targets that have been added via peer discovery instead of InitiateConnections.
weaveworks/weave#2317 implements the changes in the router that depend on this modification.
This is pretty grotty, and really only meant as a strawman with the hope someone else can think of a cleaner way. Some possibilities:

Have additional methods specifically to extract and restore indirect peers (meh)
Modify InitiateConnections and Targets so that they take/return a slice of a new struct which has a type field (e.g. direct or indirect) instead of string
Have some kind of memento API that takes/returns an opaque interface{} blob that can be saved and restored by an external agent (this might complicate matters if the router ever has to do a schema upgrade of the datastore)
Inject the ConnectionMaker with some kind of interface that it uses at appropriate points to a) get a set of direct/indirect peers (e.g. in newConnectionMaker) and b) notify when they have changed (e.g. on InitiateConnections/ForgetConnections or when new targets are added through discovery)

Thoughts?

Tests are failing because coreos/etcd/storage got renamed.

LGTM

Going to close this because we never really pursued it.


Restrict false positive warning

"Environment stopped unexpectedly," which also got triggered by migrations.
Related to #672

The issue occurred on our staging environment, which we heavily used to prepare the new CodeOcean environment. Hence, we can ignore this occurrence for now.


[Rules] Skip Property fetch on NoIssetOnObjectRule

Fixes https://github.com/rectorphp/type-perfect/issues/23

Fixed 🎉 /cc @GErpeldinger

All checks have passed 🎉 @TomasVotruba I am merging it ;)

Thanks for your quick action 👍🏼 Really a good set of rules


Workflows do not use any artifacts in their later steps

https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts
Dev cycle times and workflow completion time would benefit from reusing built v8 binaries between workflow steps.
discovered during #37

I've added some ccache support for local development (OOTB if you use make -f Makefile.docker), otherwise just install ccache and it'll pick it up), I'm planning to add that to CI as well.
This should help a lot with builds (and re-builds).


fixfix array_contains in vcompound-or

Proposed changes
Issue Number: close #xxx

run buildall

run buildall

run p1

covered by #38908


CheckSiteExists Logic App fails

Description
I get this error:

I tried to renew the Secret recording to the documentation, but no change.
Steps to reproduce

Trigger the CheckSiteExists App
Check the Runs history

Expected results
Run should be successfull
Actual Results
Run is not successfull
Solution component
Logic Apps
Operating system (environment)
Windows
Additional Info
No response

I found the issue(s). The certificate from the key vault was not added to the app registration anymore. Also, the variables "appClientId" and "appSecret" where missing in the automation account. I fixed this while generating a new secret, now its working again.


Glitch on bottom and right side of screen

This happens on the web client and Jellyfin Media Player on both Windows and macOS

Are you referring to the white square that is part of the vertical and horizontal scroll bars?

I'm talking about the gray (scrollbar?) on the bottom of the screen and also on the right side. If these are scrollbars, is it possible to make it so they're hidden while there's nothing to scroll? For example, I don't see why it's necessary to have a placeholder for the horizontal scrollbar if there's no actual scroll bar. And for the vertical one in the screenshot above, it looks like it's the width of 2 scrollbars (one where the blue scroll bar is, then one empty one to the right of it). And yeah also the white square.

The issue seems to be happening somewhere within this CSS:
https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/header/header_transparent-dashboard.css
Removing it gets rid of the issue

Confirmed this myself. I'll look into this next time I hunker down to do some work on this project.

Fixed as of 71199a81520cf8efd68a84ffdd4e0784dbb1d6fd


Sld

Summary:
Add a SLD directory to store Style layer descriptor
SLD files can be served by fast API as static files and consumed by the mapserver getMap request as URL
Related issue:
Closes #22
Suggested reviewer(s):
@TAlonglong @trondmm
Reviewer checklist:

[ ] The headers of all files contain a reference to the repository license
[ ] 100% test coverage of new code - meaning:

[ ] The overall test coverage increased or remained the same as before
[ ] Every function is accompanied with a test suite
[ ] Tests are both positive (testing that the function work as intended with valid data) and negative (testing that the function behaves as expected with invalid data, e.g., that correct exceptions are thrown)
[ ] Functions with optional arguments have separate tests for all options

[ ] Examples are supported by doctests
[ ] All tests are passing
[ ] All names (e.g., files, classes, functions, variables) are explicit
[ ] Documentation (as docstrings) is complete and understandable

The checklist is based on the S-ENDA conventions and definition of done (see General Conventions). The above points are not necessarily relevant to all contributions. In that case, please add a short explanation to help the reviewer.

WE need to clean up here @epifanio . Does this still apply or can we close this now to be reopened when needed?

This will not be used now. So we close the PR for now.


Single source will cause generate to fail, adding second will allow it to succeed

In the past few days a bug was introduced, I think by the core graph mesh libraries, which now causes generation to fail if you have a single source.

Could you share a reproduction on CodeSandbox or StackBlitz? Thanks!

If you're able to generate with a single source then I'd assume it's resolved here, we're using multiple sources in all ours at the moment, this was happening in the blog which I moved over to regular graph mesh since it wasn't using any subgraphs.

Seems fine. We can close it :)


Added tile for azure active directory

What does this PR do?
Adds tile for Azure Active Directory Logs integration.
Motivation

Additional Notes

Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] PR title must be written as a CHANGELOG entry (see why)
[ ] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
[ ] PR must have changelog/ and integration/ labels attached

Still testing in staging

tested in staging.
https://dd.datad0g.com/account/settings#integrations/azure-active-directory

Hi @anshumgargdd can we get a dashboard added to the integration? Even if it only has logs widgets.

@hithwen Can we add the integration right now. we are working on standardized dashboards and will ship dashboards for this and other log integrations (Meraki, GSuite etc) over this qtr. This PR will allow us to add documentation to start off.

@hithwen Can we add the integration right now. we are working on standardized dashboards and will ship dashboards for this and other log integrations (Meraki, GSuite etc) over this qtr. This PR will allow us to add documentation to start off.

Ok, we'll merge without dashboard, but can you address the documentation team feedback first?

@hithwen I've already accepted most of their suggestions. Changes are already in README.

Reviewed and Accepted remaining suggestions. Should be good to go now.


Auth endpoint should not accept username/password as parameters

Instead use the Authorization header with the auth type and credentials:
Authorization: Basic base64encode("username:password")

Reopening due to a bug found when used with the Zone Management Tool.


Add option to configure credential_source

@jdowning I've seen you have there opened issue for this feature and we need it as well now.

@jdowning any comments?

@jsedlace Looks good. I left a couple of comments. Let me know what you think.

@jdowning it took more than 2 years, but I want to finish what was started - can you please check now? I've added tests and links to puppet syntax

Hello @jdowning , can you please check if this PR makes sense for you?

Hey @jdowning, is this something you can use in the main branch?

Howdy @jdowning , can this code be of any use in the project? We use it from our branch for quite a while and it serves well.


Trainable code: looks like simple_save is deprecated in TF 2.0

As title: https://github.com/IBM/MAX-Named-Entity-Tagger/blob/64b97d8762d338dff9a9c43a38fa6bb1dd485a66/training/training_code/train_ner.py#L183

Thanks - we will most likely update the training code, possibly using the updated TF version here


Allow view create Response object

Allow view to create custom Response object.

Thanks. I intend to do something like this.
I'd like to address https://github.com/Nobatek/flask-rest-api/issues/18 at the same time.
Basically, allow Blueprint.response to receive either a response and headers, or just a response, and the response could be just a payload or a Response object.
I just need to get my head around this.

@xen, I just sent another PR implementing this (#40). Feedback welcome.


Merge gitlab code

merge updates from gitlab

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


Error trying to upload data

I'm getting
 % lincbrain upload 000005
2024-07-18 16:09:25,585 [    INFO] Logs saved in /Users/dstansby/Library/Logs/lincbrain-cli/20240718150923Z-14583.log
Error: Server requires schema version 0.6.7; client only supports 0.6.6.  You may need to upgrade dandi and/or dandischema.

Migth be related to https://github.com/lincbrain/linc-cli/issues/43? I only have lincbrain=0.8.5 as that's what's on PyPI, so maybe this issue is already fixed in version 0.9?

Just tried with version 0.9.0, and this is still giving the same error.

Thanks @dstansby. We are currently working on a solution.  Will be fixed today.

@dstansby this has been resolved -- can you run pip install lincbrain-cli==0.8.6 locally? Thanks for the patience here.


replacing create unexecutable javascript files

hi,
I tried to create a simple server that replaces a string on file load and serves it (for development purposes).
I noticed that whenever it does it's magic on javascript files, it will block their execution (tested in Chrome), even though the file is completely served and the headers (content-type) are correct.
Here is my server to recreate this:
// jshint globalstrict:true, node:true, esnext:true
'use strict';

const koa = require('koa');
const app = koa();
const replaceStream = require('stream-replace');
const staticServe = require('koa-static');
const sendFile = require('koa-send');

app.use(function*(next) {
    const url = this.req.url;

    yield* next; // file serve

    // applying replace to javascript is breaking execution
        this.body = this.body
            .pipe(replaceStream(/{{VERSION}}/g, 'some version'));
});

app.use(staticServe('files/', {}));

const port = process.env.PORT || 8000;
app.listen(port, () => {
    console.log('server started on port', port);
});

it serves the files in the files/ directory via http.
I guess that it might have something to do that the end of files are altered.

I was able to narrow it down to only one file, I currently cannot remember which, but I would find it out if you are interested.

Any info on how to replicate your problem would be useful

It seems to break fabric.js, more explicitly:
bower_components/fabric.js/dist/fabric.min.js.
Chrome seems to have updated and will actually handle this now.
I now get net::ERR_CONTENT_DECODING_FAILED for this file, but the rest of the js files are being executed. So part of it seemed to have been a Chrome bug, but it is still breaking content encoding.

Also breaks .png files.

@eugeneware @mehtaphysical Any update on this? Is this package still maintained?

I created a small sample code with no koa-related libraries:
'use strict';

const {readFileSync} = require('fs');

const replacestream = require('replacestream');
const simpleConcat = require('simple-concat');

// From https://github.com/eugeneware/replacestream/issues/26#issue-144857046
// Note that /{{VERSION}}/g doesn't match any part of fabric.min.js
const rs = replacestream(/{{VERSION}}/g, 'some version');

// Copied from https://github.com/kangax/fabric.js/blob/d7d88fe5c86a1e1fe7d8fbabdbc1832615605436/dist/fabric.min.js
const original = readFileSync('fabric.min.js');

simpleConcat(rs, (err, replaced) => {
  if (err) {
    console.error(err.stack);
    return;
  }

  // `true` means the original fabric.min.js isn't modified
  console.log(original.equals(replaced));
});

rs.end(original);

$ node sample.js
> true

As you can see, replacestream doesn't break  fabric.min.js. Probably other libraries you use is causing a problem that we don't maintain.

Is this package still maintained?

@pensierinmusica Definitely.

@shinnn please try with a jpeg o png file (e.g. http://www.freepngimg.com/download/lion/3-2-lion-png.png)
Does it still render correctly after replacestream? In my case it breaks (see https://github.com/lazd/gulp-replace/issues/91).
If so please reopen this issue, or let's open a new one for image files.

@pensierinmusica Again, as you don't disable buffer option and this code path is never executed, your gulpfile doesn't invoke replacestream.
So, https://github.com/lazd/gulp-replace/issues/91 is not related to replacestream. OK?

Ok, thanks @shinnn for the clarification!  :)


codegen cft can generate invalid cloudformation stack names

The cft codegen template specifies that the Cloudformation Stack Name should be based on the asset Name. AWS Resource types have different naming rules. This creates a situation where an asset resource name could be valid for it's own type, but not for the cloudformation stack that manages it.
For example  1234-foo is a valid S3 bucket name, but 1234-foo is not a valid Cloudformation StackName.
This spec:
apiVersion: operator.aws/v1alpha1
kind: S3Bucket
metadata:
  name: 1234-foo
  namespace: aws-operator
spec:
  versioning: true
  accessControl: Private
  logging:
    enabled: false
    prefix: "archive"

Will cause the following error:
Value '1234-foo' at 'stackName' failed to satisfy constraint: Member must satisfy regular expression pattern: [a-zA-Z][-a-zA-Z0-9]

offending code: https://github.com/awslabs/aws-service-operator/blob/master/code-generation/pkg/codegen/assets/cft.go.templ#L64-L77

Once #23 is done we should be able to do this at the CRD level and make it really clean.

Roger. I was wondering if we want to use prefixed GUIDs for the stack names, then use the tags to classify and discover stacks. For example: on create there is a call to something like GetOrCreateStackName, which, if you provide criteria, will search for an existing stack with matching tags and return its name (for things like update and delete) or, of no matching stack is found, returns a prefixed GUID string for use as the stack name.


8344.4 Insert default systemMachineImage

https://github.com/Shippable/pm/issues/8344
in POST /api/db/intitialize, after we boot fake API. Template a file and run it (the same way we insert the service user account).
we can add a default systemMachineImage after inserting systemIntegrations. The workflow will then be

generate a default systemMachineImage object and insert it into database
set the runShImage value to shipimg/genexec:master and isDefault to true
when a node is initialized, use the runShImage value from this systemMachineImage

complete. closing.


Menu's become new windows and other windows exit as soon as mouse leaves

Godot version:

V4.0.dev.custom_build.bc5ba1c26
OS/device including version:
GTX760, Arch Linux LTS with i3 window manager.
Issue description:
When hovering over a menu, a whole new window suddenly opens instead.

The log doesn't give any error, but it keeps saying the usual "_window_changed"
The annoying part is that the editor keeps going 50% of my screen for a split second because my mouse went over something that tried to open an entire new window. But everytime when I try to go with my mouse inside of the new window to click on a menu item, it just decides to close it instead. Even ctrl+s opens an entire window, taking up 50% of my screen, and same thing with other windows that open like that, the moment my mouse enters or leaves that window, it closes.
What I expect is that such things open within the engine instead of an entire new window, because with i3, that means taking half of your screen.
Steps to reproduce:
Use Arch Linux-lts, latest version together with i3 window manager and compile the version of Godot of how it is right now in git. I also had this issue when using the godot-git aur.
Edit: Dragged in the picture

@voylin The link is kinda broken markdownwise. Try dragging the image directly into the Github issue instead of using GDrive.

@voylin The link is kinda broken markdownwise. Try dragging the image directly into the Github issue instead of using GDrive link.
Related to or duplicate of #37930.

It may be a duplicate but it looks like for him it takes up his entire screen, that's why I thought it may be better to open a new issue. If this turns out to be the exact same issue, please close this one.
For now, I can fix this by the single window option in the editor. This seem to be working without any troubles so far.

Could be added to #37734?

Could be added to #37734?

Done.

@voylin The link is kinda broken markdownwise. Try dragging the image directly into the Github issue instead of using GDrive link.
Related to or duplicate of #37930.

It may be a duplicate but it looks like for him it takes up his entire screen, that's why I thought it may be better to open a new issue. If this turns out to be the exact same issue, please close this one.
For now, I can fix this by the single window option in the editor. This seem to be working without any troubles so far.

This is a duplicate. It took up their entire screen because probably of some other thing they did(maybe set the window to floating, or maybe moved it to another session?), but the original issue gave me the same effects as this one.

Closing as duplicate of #37930 then.


windows ctrl+home/end

do you mean shift?

nope, I mean ctrl: ctrl+home should move cursor to doc start and ctrl+end to doc end


Incorrect component parameter description

incorrect component parameter description:

Correct: + is tension, - is compression

A better way to describe the direction can would be "elongation" and "contraction".
Hovever, for most of the user,

compression

tension
should give a good idea on the direction of the applied force.


Update error type

Summary of the changes (Less than 80 chars)

Replaced CreateUserError with UpdateUserNameError in the Mutations documentation, as I believe that was a mistake. (?)

Closes n/a

Thanks for your help


OU-179: Investigate the root cause of externalLabels not present on alerts

OU-179 Display externalLabels found in GET /api/prometheus/api/v1/rules response >> rules.labels.
Related Issue:
https://issues.redhat.com/browse/OU-179
AlertDetailsPage
External labels are now listed alongside the other labels associated with an alert.

Search Label
The external labels can be pre-populated in the 'label' search field.

Silences
We're able to silence alerts associated with the external label.

To Test:

Attach an externalLabel to all time-series and alerts leaving the Prometheus instance that monitors core OpenShift Container Platform projects [docs]
Go to OpenShift Console UI > Observe > Alerts > AlertsDetailPage should now display the externalLabels (this may take a few minutes to update).

We received a confirmation from Simon Pasquier the API response from /api/prometheus/api/v1/rules exhibits the expected behavior from Thanos/Prometheus on August 8, 2023 in the Internal Red Hat Slack > # forum-openshift-monitoring :

this is indeed the expected behavior:
https://github.com/thanos-io/thanos/blob/c492ce9e41fdc5b235860c89ae8f81ce86bc090b/pkg/rules/prometheus.go#L45-L46
https://github.com/thanos-io/thanos/blob/c492ce9e41fdc5b235860c89ae8f81ce86bc090b/pkg/rules/prometheus.go#L56-L63
my guess is that since the rules carry the external labels and to avoid verbosity, there's no need to repeat them into the alerts

I discovered one problem with this. On the rule details page, there is a list of currently firing alerts for the rule. With this change, the links in that list are broken. This happens because the labels form part of the URL and the URLs are generated using rule.alerts[].labels, but the alert details page uses the labels from alerts[].labels (they are assumed to be the same).

/approve

/lgtm

/hold
As no merges should be done to main until 4.15 is open

/label qe-approved

/unhold

/cherry-pick release-4.14


Add a Basic Example to the Examples

Request
An example in your example scenes that is intended to just show basic use for occlusion without any other features.
Details
This would be good and comprehensive for novice users who might be totally confused.
I'm suggesting one labeled "BasicExample" or similar that has no additional stuff going on that uses the provided prefabs. Maybe with an L shaped room or just a square room with a solid wall erected in the center.

Thanks for the suggestion! I will create one and will also update the wiki/documentation soon.

The readme provides the instructions for setting up a basic scene. Is this sufficient?
https://github.com/Guribo/UdonVoiceUtils?tab=readme-ov-file#minimal-scene-setup


feat(metadata): Updating favicon and metadata images

I've traced the logo.svg currently on main and touched it up very very slightly so it would look good at various small and larger sizes.
I have the original .ai file but can also provide a PDF anyone wants to modify this further. When talking to @geraxrodriguez, I mentioned that we should have our social metadata setup since we want people to share this around the web. This is the start of that work. I'm leaving this as a draft for now, but I can't continue without more input. Thank you.
Not sure who to tag for a review on this so I only tagged @jvmontes.

📸  Screenshot(s)
The different sizes

On mobile (iOS; Safari)

On desktop (macOS; Safari, Chrome)

Thanks for starting this, @rogeruiz ! What I would say is that this is definitely more of a design question. I believe the original design was designed by Natasha Koller. You should be able to reach her via Slack (she's had work stuff take priority and was dealing with the hurricane in Florida, so I'd try sending her a message but also loop in Niza Cuéllar in your message, she has had more availability recently). It looks great to me, but definitely get sign-off from them as I'm sure they would be more informed around this!

Let's try these combos for the colors of the logo icon:
Primary #12263A & Accent #F0D07D
And
Brand #2D56B2 & Accent #F0D07D

@rogeruiz should we close this and reopen it later? Don't want it to get too stale, especially since I just merged in the other big PR we had open.

Thanks @jvmontes, that's a great point. I'll close it and reopen after this PR
lands on main.

e54ef46 Updating colors

This would be using  these combos for the colors
Primary #12263A & Accent #F0D07D
And
Brand #2D56B2 & Accent #F0D07D


Unable to use storagedatalake#PathClient.Create

Bug Report
package: services/storage/datalake/2018-11-09/storagedatalake
version: go-autorest/v12.4.2 Azure-SDK-For-Go/v32.1.0
storagedatalake#PathClient.Create takes many parameters, one of which is xMsLeaseID, which according to https://docs.microsoft.com/en-us/rest/api/storageservices/datalakestoragegen2/path/create is optional. However the sdk validates that it follows some regex: https://github.com/Azure/azure-sdk-for-go/blob/master/services/storage/datalake/2018-11-09/storagedatalake/path.go#L116
as a result I cannot pass empty string for the parameter.
I could bypass validation by using CreatePreparer/CreateSender/CreateResponder manually but that's not ideal.

X-Ms-Client-Request-Id's validation is similarly incorrect. Also, int64 pointers are not marshaled correctly and instead are marshaled like Content-Length: 0xpointervalue. Is this package actually used?

This seems to be related with go-autorest, hi @jhendrixMSFT do you have any idea against this issue?

This looks to be a codegen bug, here the code should dereference contentLength, I'll get this fixed.
As for the headers, they're marked as optional but the codegen isn't treating them as such; I'm still investigating that one.

I found a few other issues:
For List(), isDirectory is returned as a string (ie: "true") and cannot be default json unmarshalled into a golang bool
similarly, contentLength is returned as a string (ie: "123") and cannot be unmarshalled into golang int64
during rename, the source object needs to be url escaped (url.PathEscape)

I found a few other issues:
For List(), isDirectory is returned as a string (ie: "true") and cannot be default json unmarshalled into a golang bool
similarly, contentLength is returned as a string (ie: "123") and cannot be unmarshalled into golang int64
during rename, the source object needs to be url escaped (url.PathEscape)

Feel free to create new issues about these bad guys

This bug has been fixed, closing


Fix logging for action execute() when action does not exist

Landed in https://github.com/metarhia/globalstorage/commit/5e099787b12a79a2ad3c9beab77704e12452c17d.


Mediasniper bid adapter

Thanks for improving the documentation 😃
Please give a short description and check the matching checkboxes to help us review this as quick as possible.
🏷 Type of documentation

[x] new bid adapter
[ ] update bid adapter
[ ] new feature
[ ] text edit only (wording, typos)
[ ] bugfix (code examples)
[ ] new examples

📋 Checklist

[x] Related pull requests in prebid.js or server are linked https://github.com/prebid/Prebid.js/pull/8199
[x] For new adapters check submitting your adapter docs

https://github.com/prebid/Prebid.js/pull/8199

Please merge this :)
Bid adapter already merged


.sequelizerc configuration isn't supported

https://github.com/flexxnn/sequelize-auto-migrations/issues/6

Already fixed on parent repo

I'll have a look at the changes


expected (), found struct Context

Hi,
I'm using Actix and I'm trying to set a context.
I've done the following
#[derive(Clone)]
pub struct Context {
    pub client: reqwest::Client,
}

impl juniper::Context for Context {}
impl Context {
    pub fn new(client: reqwest::Client) -> Self {
        Self { client }
    }
}

async fn graphql(
    st: web::Data<Arc<Schema>>,
    data: web::Json<GraphQLRequest>,
    client: web::Data<reqwest::Client>,
) -> Result<HttpResponse, Error> {
    let client = client.into_inner().as_ref().clone();
    let ctx = Context::new(client);

    let user = web::block(move || {
        let res = data.execute(&st, &ctx);
        Ok::<_, serde_json::error::Error>(serde_json::to_string(&res)?)
    })
    .await?;
    Ok(HttpResponse::Ok()
        .content_type("application/json")
        .body(user))
}

I've done that by following what they did https://github.com/clifinger/canduma/blob/master/src/graphql/handler.rs and https://github.com/LantosTG/rust_site/blob/master/src/main.rs
But sadly I'm getting the following error:
error[E0308]: mismatched types
  --> src/main.rs:43:37
   |
43 |         let res = data.execute(&st, &ctx);
   |                                     ^^^^ expected `()`, found struct `Context`
   |
   = note: expected reference `&()`
              found reference `&Context`

I have no idea what I did wrong 😳

Does https://github.com/graphql-rust/juniper/pull/603 help?

@RemiKalbe Can you show your schema definition? it seems that your problem is related to the Context itself being a empty tuple in the RootNode usage for the Schema type definition

@engylemure
Ok so It works now. I didn't know I was forced to add that
#[juniper::object(
    Context = Context,
)]

I just stopped at the error, thinking I did something wrong there, or that the API changed, I didn't want to go further.
It's a bit confusing when you are new to rust.
Anyway thank you 🙏


Added an interactive style to git add.

In reference to #5.
Changes made:

Added git add -i - an interactive way to add/remove/patch/diff files to and from the staging area.

@baskoros thanks for contributing

@baskoros I created a contributing area, feel free to add your name and avatar.


Websocket issues in debug output

Seeing this issue in 1.8.0, 1.8.1 and <IP_ADDRESS> with Go 1.17.5. Maybe this is reason why my Binance funds are not reflected in the dashboard?
2021/12/17 10:33:55 http: panic serving <IP_ADDRESS>:58941: runtime error: slice bounds out of range [:3] with length 0
goroutine 23 [running]:
net/http.(*conn).serve.func1()
/usr/local/go/src/net/http/server.go:1802 +0xb9
panic({0x913120, 0xc000029fe0})
/usr/local/go/src/runtime/panic.go:1047 +0x266
github.com/aleibovici/cryptopump/loader.LoadSessionDataAdditionalComponents(0x905cc0, 0xc0001f5860, 0x952ecb)
/home/marcus/cryptopump/loader/loader.go:83 +0x12b2
main.(*myHandler).handler(0xc00000e2b8, {0xa05698, 0xc0000f4700}, 0xc0000f3400)
/home/marcus/cryptopump/main.go:164 +0x597
net/http.HandlerFunc.ServeHTTP(0x0, {0xa05698, 0xc0000f4700}, 0x0)
/usr/local/go/src/net/http/server.go:2047 +0x2f
net/http.(*ServeMux).ServeHTTP(0x0, {0xa05698, 0xc0000f4700}, 0xc0000f3400)
/usr/local/go/src/net/http/server.go:2425 +0x149
net/http.serverHandler.ServeHTTP({0xc0001f57d0}, {0xa05698, 0xc0000f4700}, 0xc0000f3400)
/usr/local/go/src/net/http/server.go:2879 +0x43b
net/http.(*conn).serve(0xc0001c4280, {0xa084e0, 0xc0000eb4a0})
/usr/local/go/src/net/http/server.go:1930 +0xb08
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:3034 +0x4e8
websocket: bad handshake

Thread count is also zero in <IP_ADDRESS>, also no threads a logged in database like done before in 1.8.0

@marcvsnet It seems Cryptopump is complaining about your crypto symbol. What are you using in symbols?
Here are some examples:  BTCBUSD, ETHBUSD, BTCUSDT, ETHUSDT.

@aleibovici BTCUSDT is configured
I'm also seeing this in the cryptopump_debug.log
time="2021-12-17 11:03:54" level=debug msg="github.com/aleibovici/cryptopump/exchange.binanceGetSymbolFiatFunds -  code=-2014, msg=API-key format invalid." orderID=0 threadID=c6u610luae2hcrlh2b00
time="2021-12-17 11:03:55" level=debug msg="github.com/aleibovici/cryptopump/exchange.binanceGetSymbolFunds -  code=-2014, msg=API-key format invalid." orderID=0 threadID=c6u610luae2hcrlh2b00
time="2021-12-17 11:03:55" level=debug msg="main.execution -  code=-2014, msg=API-key format invalid." orderID=0 threadID=c6u610luae2hcrlh2b00
time="2021-12-17 11:03:56" level=debug msg="github.com/aleibovici/cryptopump/algorithms.WsUserDataServe -  code=-2014, msg=API-key format invalid." orderID=0 threadID=c6u610luae2hcrlh2b00

apikey and secret should not be quoted. Try removing the quotes as I see the log is complaining about invalid key.

Just did that without luck. Still same messages. Any API restrictions that may prevent this from working? I'm using the config_default.yml and just added the api key and secret key to it. Now unquoted.

Was another config file created in the config directory? Normally it will create another one with the thread unique name. If so, make sure the api keys are there.

ok, maybe just dump from my side, I moved the config_default.yml to config.yml and now it looks much better.

Threads 0
is this an issue, as I could see 4 on v1.8.0

seeing also this [Buy] Market data older than 100 seconds

@aleibovici seeing also this [Buy] Market data older than 100 seconds
cryptopump.log shows this
time="2021-12-17 11:57:02" level=info msg="github.com/aleibovici/cryptopump/exchange.binanceBuyOrder - code=-1013, msg=Filter failure: MIN_NOTIONAL" threadID=c6u6lpduae2gvoionkd0

Increasing the quantity seems to help come across this and thread count is also now 8.


Multi-Screen Support

I am wondering that whether VS Code will support multi-screen in the future?

You may want to watch for issue #10121, the most popular feature-request currently in the vscode repo.

Thanks!


mimxrt1050_evk test/kernel/mem_protect/stack_random fails on stack fault

Describe the bug
there are many fatal fault when execution on board mimxrt1050
To Reproduce
Steps to reproduce the behavior:

mkdir build; cd build
cmake -DBOARD=mimxrt1050_evk ..
make
See error

Expected behavior
test case can return correct result
Impact
looks like the stack size setting for this case is not correct
Screenshots or console output
AASSRRIINNFFII  %]]@@%::dd***** USAGE FAULT *****

  Illegal load of EXC_RETURN into PC

***** Hardware exception *****

Current thread ID = 0x8000030c

Faulting instruction address = 0x72e003f6

Fatal fault in thread 0x8000030c! Aborting.

***** USAGE FAULT *****

  Illegal load of EXC_RETURN into PC

***** Hardware exception *****

Current thread ID = 0x8000030c

Faulting instruction address = 0x72e003f6

Fatal fault in thread 0x8000030c! Aborting.

***** USAGE FAULT *****

  Illegal load of EXC_RETURN into PC

***** Hardware exception *****

Current thread ID = 0x8000030c

Faulting instruction address = 0x72e003f6

Fatal fault in thread 0x8000030c! Aborting.
...

check attached file for more details
serial_2019-02-21-23-42-27.txt
Environment (please complete the following information):

OS: Linux
Toolchain Zephyr SDK
Version v1.14.0_rc1

@MaureenHelm

Tested on commit: c2d5e7b01ccff8be61ca139f578fdbce84b08713

***** Booting Zephyr OS v1.14.0-rc1-444-gb1a7e71436 *****
Running test suite stack_pointer_randomness
starting test - test_stack_pt_randomization
Test Stack pointer randomization
stack pointer changed 55 times out of 64 tests
PASS - test_stack_pt_randomization
Test suite stack_pointer_randomness succeeded
PROJECT EXECUTION SUCCESSFUL
***** Booting Zephyr OS v1.14.0-rc1-445-gc2d5e7b01c *****
Running test suite stack_pointer_randomness
starting test - test_stack_pt_randomization
Test Stack pointer randomization
stack pointer changed 58 times out of 64 tests
PASS - test_stack_pt_randomization
Test suite stack_pointer_randomness succeeded
PROJECT EXECUTION SUCCESSFUL

Test passes.

not able to reproduce this either...

I test RC1 based on https://github.com/zephyrproject-rtos/zephyr/commit/588d7b068c9166f043ccb0f9bf50bf39d0173cee, not c2d5e7b

and if I run this case for 2 times, then Ican reproduce this issue, but I think this is not the only reproduce way.

Unfortunately, I do not have hardware to test this on target.

after download the application reboot the board can not reproduce this issue, looks like it is related my program method, as I am using the on board cmsis-dap to program a bootloader first. I will check my bootloader fisrt. Thanks. @dleach02 @galak @ioannisg  thanks for your checking

this is the same root cause as #13727


I don't know what I'm doing wrong

Description:
I've made pigs drop cooked meat when on fire but they drop cooked porkchop even when not
Version Info (Exact versions only):
LootTweaker:  0.0.7
CraftTweaker/Minetweaker:  4.1.5
Forge:  <IP_ADDRESS>18
Minecraft:  1.12.2
Script:
val pig = LootTables.getTable("minecraft:entities/pig");
mainPool = pig.getPool("main");

mainPool.removeEntry("minecraft:porkchop");
mainPool.addItemEntryHelper(<minecraft:porkchop>, 1, 0, [Functions.parse({"condition": 'entity_properties', "entity": 'this', "properties": {"minecraft:on_fire": true}, "function":'furnace_smelt'} as IData), Functions.setCount(1, 3), Functions.lootingEnchantBonus(-1, 2, 2000000)], []);

Logs please


installation: issue with gast, tensorflow

Starting up in a new virtualenv with Python 3.7.5 (arch linux)
(had to run sudo otherwise setup.py gives a permission denied)
Get this as the final error: error: gast 0.2.2 is installed but gast>=0.3.2 is required by {'tensorflow-probability'}
It seems there might be a dependency here that's underspecified (maybe tensorflow version is too high)
Full log:
[env]em@toaster:~/school/cpsc515/proj|master⚡
⇒  sudo python3.7 PILCO/setup.py install
running install
running bdist_egg
running egg_info
writing pilco.egg-info/PKG-INFO
writing dependency_links to pilco.egg-info/dependency_links.txt
writing requirements to pilco.egg-info/requires.txt
writing top-level names to pilco.egg-info/top_level.txt
reading manifest file 'pilco.egg-info/SOURCES.txt'
writing manifest file 'pilco.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
warning: install_lib: 'build/lib' does not exist -- no Python modules to install

creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying pilco.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying pilco.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying pilco.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying pilco.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying pilco.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating 'dist/pilco-0.1-py3.7.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing pilco-0.1-py3.7.egg
Removing /home/em/school/cpsc515/proj/env/lib/python3.7/site-packages/pilco-0.1-py3.7.egg
Copying pilco-0.1-py3.7.egg to /home/em/school/cpsc515/proj/env/lib/python3.7/site-packages
pilco 0.1 is already the active version in easy-install.pth

Installed /home/em/school/cpsc515/proj/env/lib/python3.7/site-packages/pilco-0.1-py3.7.egg
Processing dependencies for pilco==0.1
Searching for tensorflow
Reading https://pypi.org/simple/tensorflow/
Downloading https://files.pythonhosted.org/packages/57/bb/e690554331d46e35e47032ff0f7a231061cd71e82e3616dbd42ba1be9474/tensorflow-2.4.0rc0-cp37-cp37m-manylinux2010_x86_64.whl#sha256=8785ee37a48014273ddcb32034569059c83c144b15e6c34e485ef5b001ef373e
Best match: tensorflow 2.4.0rc0
Processing tensorflow-2.4.0rc0-cp37-cp37m-manylinux2010_x86_64.whl
Installing tensorflow-2.4.0rc0-cp37-cp37m-manylinux2010_x86_64.whl to /home/em/school/cpsc515/proj/env/lib/python3.7/site-packages
Adding tensorflow 2.4.0rc0 to easy-install.pth file
Installing estimator_ckpt_converter script to /home/em/school/cpsc515/proj/env/bin
Installing import_pb_to_tensorboard script to /home/em/school/cpsc515/proj/env/bin
Installing saved_model_cli script to /home/em/school/cpsc515/proj/env/bin
Installing tensorboard script to /home/em/school/cpsc515/proj/env/bin
Installing tf_upgrade_v2 script to /home/em/school/cpsc515/proj/env/bin
Installing tflite_convert script to /home/em/school/cpsc515/proj/env/bin
Installing toco script to /home/em/school/cpsc515/proj/env/bin
Installing toco_from_protos script to /home/em/school/cpsc515/proj/env/bin

Installed /home/em/school/cpsc515/proj/env/lib/python3.7/site-packages/tensorflow-2.4.0rc0-py3.7-linux-x86_64.egg
Searching for tabulate
Reading https://pypi.org/simple/tabulate/
Downloading https://files.pythonhosted.org/packages/c4/f4/770ae9385990f5a19a91431163d262182d3203662ea2b5739d0fcfc080f1/tabulate-0.8.7-py3-none-any.whl#sha256=ac64cb76d53b1231d364babcd72abbb16855adac7de6665122f97b593f1eb2ba
Best match: tabulate 0.8.7
Processing tabulate-0.8.7-py3-none-any.whl
Installing tabulate-0.8.7-py3-none-any.whl to /home/em/school/cpsc515/proj/env/lib/python3.7/site-packages
Adding tabulate 0.8.7 to easy-install.pth file
Installing tabulate script to /home/em/school/cpsc515/proj/env/bin

Installed /home/em/school/cpsc515/proj/env/lib/python3.7/site-packages/tabulate-0.8.7-py3.7.egg
Searching for scipy>=0.18.0
Reading https://pypi.org/simple/scipy/
Downloading https://files.pythonhosted.org/packages/fa/cf/94686c3e2b21cba82904a2bbb014f7529d483021802a0116c3a256b00563/scipy-1.5.3-cp37-cp37m-manylinux1_x86_64.whl#sha256=aebb69bcdec209d874fc4b0c7ac36f509d50418a431c1422465fa34c2c0143ea
Best match: scipy 1.5.3
Processing scipy-1.5.3-cp37-cp37m-manylinux1_x86_64.whl
Installing scipy-1.5.3-cp37-cp37m-manylinux1_x86_64.whl to /home/em/school/cpsc515/proj/env/lib/python3.7/site-packages
Adding scipy 1.5.3 to easy-install.pth file

Installed /home/em/school/cpsc515/proj/env/lib/python3.7/site-packages/scipy-1.5.3-py3.7-linux-x86_64.egg
Searching for multipledispatch>=0.6
Reading https://pypi.org/simple/multipledispatch/
Downloading https://files.pythonhosted.org/packages/89/79/429ecef45fd5e4504f7474d4c3c3c4668c267be3370e4c2fd33e61506833/multipledispatch-0.6.0-py3-none-any.whl#sha256=a55c512128fb3f7c2efd2533f2550accb93c35f1045242ef74645fc92a2c3cba
Best match: multipledispatch 0.6.0
Processing multipledispatch-0.6.0-py3-none-any.whl
Installing multipledispatch-0.6.0-py3-none-any.whl to /home/em/school/cpsc515/proj/env/lib/python3.7/site-packages
Adding multipledispatch 0.6.0 to easy-install.pth file

Installed /home/em/school/cpsc515/proj/env/lib/python3.7/site-packages/multipledispatch-0.6.0-py3.7.egg
Searching for gast<0.3,>=0.2.2
Reading https://pypi.org/simple/gast/
Downloading https://files.pythonhosted.org/packages/4e/35/11749bf99b2d4e3cceb4d55ca22590b0d7c2c62b9de38ac4a4a7f4687421/gast-0.2.2.tar.gz#sha256=fe939df4583692f0512161ec1c880e0a10e71e6a232da045ab8edd3756fbadf0
Best match: gast 0.2.2
Processing gast-0.2.2.tar.gz
Writing /tmp/easy_install-nvkje8bv/gast-0.2.2/setup.cfg
Running gast-0.2.2/setup.py -q bdist_egg --dist-dir /tmp/easy_install-nvkje8bv/gast-0.2.2/egg-dist-tmp-zy8nd5d1
zip_safe flag not set; analyzing archive contents...
Moving gast-0.2.2-py3.7.egg to /home/em/school/cpsc515/proj/env/lib/python3.7/site-packages
Adding gast 0.2.2 to easy-install.pth file

Installed /home/em/school/cpsc515/proj/env/lib/python3.7/site-packages/gast-0.2.2-py3.7.egg
Searching for dataclasses
Reading https://pypi.org/simple/dataclasses/
Downloading https://files.pythonhosted.org/packages/e1/d2/6f02df2616fd4016075f60157c7a0452b38d8f7938ae94343911e0fb0b09/dataclasses-0.7-py3-none-any.whl#sha256=3459118f7ede7c8bea0fe795bff7c6c2ce287d01dd226202f7c9ebc0610a7836
Best match: dataclasses 0.7
Processing dataclasses-0.7-py3-none-any.whl
Installing dataclasses-0.7-py3-none-any.whl to /home/em/school/cpsc515/proj/env/lib/python3.7/site-packages
Adding dataclasses 0.7 to easy-install.pth file

Installed /home/em/school/cpsc515/proj/env/lib/python3.7/site-packages/dataclasses-0.7-py3.7.egg
error: gast 0.2.2 is installed but gast>=0.3.2 is required by {'tensorflow-probability'}

Currently have the same issue. Any fixes?

I had some mileage by using pip's new 2020 resolver. Activate by upgrading pip to the latest version and setting the flag --use-feature=2020-resolver.

Thanks! The flag helped but now I'm receiving Illegal instruction when I import pilco. Is this happening for you?

Sorry for the late response, and sorry again that I'm not able to replicate that problem. I think there might be some work that needs to be done specifically for compatibility with GPflow 2.1, however

Hello, i have also the same issue. Have you solved this problem?

I think that this has now been resolved. Feel free to reopen if you think it hasn't.


Move easy things from transaction to primitives

Move hash wrapper types and transaction::Version.
Nothing controversial here.

Will fix tomorrow.

~Nothing controversial here.~

I should be careful what I claim last thing in the afternoon.

typo in PR title "transcation"...

In keeping with the PR title I removed the last patch (the OutPoint stuff) since it has proven to be controversial, will do it separately using review comments.

Ugh bother, TxIdentifier - my bad.

Can this go in like this or do you guys want me to split it into two PRs?

I don't think null is obvious or discoverable.
I'd suggest using coinbase for all of OutPoint and Txid/Wtxid. We should add doc aliases to null and all_zeros.

Move easy things from transaction to primitives

Was a hopeful title, wasn't it. I'm going to split this up into even more painfully small pieces.


Add HSV functions to valid tax_func_type

This PR updates the default_parameters.json file to add the HSV tax function type (HSV) to the list of valid entries for the tax_func_type parameter.  This should have been added in PR #932, but was left out.
In addition, this PR updates the documentation files and some docstrings to reduce the number of warnings Jupyter-Book issues (partially addressing Issue #747).

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

Project coverage is 71.92%. Comparing base (c16cf28) to head (f940b5a).
Report is 2 commits behind head on master.

Additional details and impacted files

@@            Coverage Diff             @@
##           master     #941      +/-   ##
==========================================
- Coverage   71.93%   71.92%   -0.02%
==========================================
  Files          19       19
  Lines        4725     4723       -2
==========================================
- Hits         3399     3397       -2
  Misses       1326     1326

Flag
Coverage Δ

unittests
71.92% <100.00%> (-0.02%)
:arrow_down:

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

Files
Coverage Δ

ogcore/__init__.py
100.00% <100.00%> (ø)

ogcore/elliptical_u_est.py
100.00% <ø> (ø)

ogcore/utils.py
86.49% <ø> (ø)

@jdebacker. This is great. Thanks for fixing all those errors in the documentation. And the HSV addition in the documentation and in the default_parameters.json is nice. Merging.


Fix ID encoding

Currently ID encoding uses the following
  var buffer = new Uint32Array(2);
  crypto.getRandomValues(buffer);
  return btoa(buffer);

However btoa() calls toString() on the TypedArray, which inserts commas and is horribly broken. We need to replace btoa() in that block with an actual implementation of base64 encoding which operates properly on a TypedArray value.

fixed in 1.4.0


Add hasSuperclass(Class<?>) to AbstractClassAssert

Summary
Sometimes I feel the lack of isNotAssignableFrom() in AbstractClassAssert.
Recently I needed a defensive test to enforce an exception class staying "checked" (i.e., not inheriting from RuntimeException). To do that, I created a custom condition:
private static Condition<Class<?>> runtimeException = new Condition<>(RuntimeException.class::isAssignableFrom, RuntimeException.class.getSimpleName());

used in this way:
assertThat(MyException.class).isNot(runtimeException);

Example
Following the behavior of the existing isAssignableFrom(Class<?>...), a new api could check that actual is not assignable from any of the others:
public SELF isNotAssignableFrom(Class<?>... others)

With it, my example would not require a custom condition:
assertThat(RuntimeException.class).isNotAssignableFrom(MyException.class);

Would this new api make sense?
Additional Thoughts
Would it make sense to have some assertions for Throwable classes, for example to verify if the class is inheriting from Error/Exception/RuntimeException? It would address the ugly backwards readability of isAssignableFrom :-)
Maybe a new AbstractThrowableClassAssert inheriting from AbstractClassAssert could to the job.

I'm ok with isNotAssignableFrom as the opposite of isNotAssignableFrom.
Having said that, I have always found the (JDK) isAssignableFrom method to be highly unclear, I often find myself wondering which class should inherit from the other one.
It would be great to find a better name for the isAssignableFrom assertion (and isNotAssignableFrom) that would not be ambiguous, maybe isA/isAn and isNotA/isNotAn?
assertThat(MyException.class).isAn(Error.class);
assertThat(MyException.class).isNotA(RuntimeException.class);

I don't see adding AbstractThrowableClassAssert to be  valuable enough at this point, were you thinking having assertions like isRuntimeException() ?

Yes, I was thinking about something like isRuntimeException() just because of the JDK isAssignableFrom unclearness! But you're right, there would be no need for an AbstractThrowableClassAssert having a better name for isAssignableFrom.
To avoid the isA/isAn duplication, what do you think about isInheritingFrom()? There could also be a isBeingInheritedFrom() for the superclass use case.
I was also thinking about the pair hasSuperclass() / hasSubclass() but it's probably too close to Class#getSuperclass() and it could create confusion since the Class method has less flexibility.

@joel-costigliola let's try again on this topic, but this time simpler :-)
What about having isAssignableTo(Class<?>)?

@joel-costigliola one more try 🙂
What about hasSuperclass(Class<?>) which is backed by getSuperclass() from the JDK?
Not flexible as the previous one as it doesn't match implemented interfaces but it's good enough for my purpose and doesn't deviate from JDK api.

Works for me! :)

(Also, adding negation forms for both the existing one - isNotAssignableFrom - and the suggested new method - isNotAssignableTo - would be incredibly useful. Right now, I'm doing a workaround on the form assertThat( ParentClass.class ).matches( cls -> !cls.isAssignableFrom( ChildClass.class ) )), but it's a bit rough. :slightly_smiling_face:)

Thanks for the feedback, @perlun. #2570 is now the best place to discuss further enhancements.

Thanks for pointing me there @scordio and also for copying my comment into that thread, greatly appreciated. :pray:


Add HA label to ha deployments

Similar to  https://github.com/knative/serving/pull/8297
As per https://github.com/knative/operator/issues/73, indicate the HA deployments
Proposed Changes

Indicate the HA deployments that are installed by the operator

Operator PR that will allow the operator to read the label is on its way

/retest


[RFC] Introducing NumPy-compatible coding experience into MXNet

Motivation
Today deep learning scientists spend majority of their time on data processing, debugging tensor algorithms, and tuning model parameters, instead of architecting models from scratch by themselves as a result from the abundant pre-trained models existing in many deep learning model zoos. This has highlighted the usability of tensor APIs as a key factor for a framework to be widely adopted.
MXNet was firstly designed with the focus on memory efficiency, computation throughput and scalability. The usability problems begin to show up nowadays when more and more models demonstrate dynamic natures, e.g. unknown-shape tensors before runtime, control flow depending on a runtime result, etc. Here we highlight the most frequent complaints about usability from users.

Scalar tensors (aka zero-dim tensors) are not supported. For example, given a = [0, 1, 2], a[1] will generate an NDArray of shape (1,), instead of () as in NumPy.
Zero-size tensor is not supported. For example, a tensor of shape (0, 16, 256) cannot be passed to an operator, because our system currently treats 0, the first dimension size, as unknown, rather than a concrete number.
Many operators' signatures and functionality are not NumPy compatible, e.g. nd.dot vs. np.dot, nd.concatenate vs. np.concatenate, etc.
Many NumPy operators are missing. See the reference link to GitHub issues.
Operators whose outputs' shapes can only be determined at runtime are not supported, e.g. data[data < 0] cannot run.
Diverged programming experience due to the separation of imperative and symbolic operators registered under mxnet.ndarray and mxnet.symbol.
Control flow operators are hard to use. Users have to understand the complicated signatures of control flow operators, instead of writing native Python code using for, while, if/else, etc.
For example, we have learned (in a hard way) that it does not make a lot of sense to ask users to write code like the following to perform a cumulative sum.

def sum(state, i):
    s = state + data[i]
    return s, [s, i + 1]

def sum_cond(state, i):
    return i < 4

out, state = F.contrib.while_loop(sum_cond, sum, [F.zeros((1)), F.zeros((1))],
                                  max_iterations=5)

Instead, users should be able to just write native Python code as the following and if required, let the framework serialize it into a computation graph for optimization and deployment.
data = np.arange(5)
out = 0
i = 0
while i < 5:
    out = out + data[i]

It is not hard to figure out that all of the above pain points can be summarized as a result from lack of NumPy-compatible coding experience in MXNet. While addressing the problems of better support of control flow operators and a consolidated coding style for writing imperative and symbolic code with more flexibility requires introducing fundamental changes into the codebase for building new infrastructures, such as a new graph IR and executor, which is extremely non-trivial and should be executed with a long-term plan, we can, at the moment, improve the usability by fixing the issue of zero-dim/size tensors and implementing NumPy operators in MXNet. Please allow us to discuss how to achieve these short-term goals in the following.
Support of zero-dim and zero-size tensors
What's the problem?
Zero-dim and zero-size tensors are valid tensors in NumPy. The former, whose shapes are (), represent scalars in numpy.ndarray format. The latter, which have one or multiple zero dimension sizes in shapes, can be useful as a placeholder for many ndarray operations, such as concatenating a zero-size ndarray with another ndarray. MXNet does not support them due to the reserved semantics of empty shape () and shapes with zero dimension sizes indicating unknown shape information. Such information need to be filled out during the shape inference stage in order to move forward to tensor computations later.
How to resolve the problem?
We can first change the current semantics to comply with NumPy definition.

Change the definition of unknown shapes from ndim = 0 to ndim = -1 in TShape class.
Change the definition of unknown dimension sizes from dim_size = 0 to dim_size = -1 in TShape class.

After this, we need to scan all over the codebase to modify the code accordingly where shape.ndim() == 0 and shape.Size() == 0 is used to perform unknown shape checks.
Please note that although MXNet's shape is a type inheriting from nnvm::Tuple, which is often used to represent an list-like object, such as axis=(1, 2, 3), we will not change the meaning of an empty tuple. This separation of definitions for empty shape and empty tuple keeps the their roles clearly decoupled.
We propose to breakdown the efforts into the following steps.

Copy tuple.h from NNVM to MXNet and rename nnvm::TShape to mxnet::TShape.
Replace all the places in MXNet where nnvm::Tuple and nnvm::TShape are used with mxnet::Tuple and mxnet::TShape, respectively.
Change the definition of TShape in tuple.h to use ndim = -1 to indicate unknown shapes and dim_size = -1 to indicate unknown shape dim sizes.
Modify all the existing shape inference and utility functions where ndim == 0 and dim_size == 0 is used to accommodate the above changes.
Modify NNVM passes, InferShape, PlanMemory, and Gradient, where nnvm::TShape is used, to accommodate the above changes.
Add sufficient unit tests.

How is backward compatibility guaranteed?
By default, we do not change the original definition of output shapes in shape inference functions; we just change ndim==0 to ndim==-1 for unknown shape verification. No backward compatibility issues are expected for all but one case, NDArray indexing. To elaborate, the current behavior determines that x[i] always returns a tensor with ndim >= 1. We can keep the current behavior unchanged and implement a global switch for users to turn on for expecting NumPy-compatible results.
Previous discussion of this topic can be seen here.
Implementation of NumPy operators
What to do?
To address the problems of operator incompatibility with NumPy and alleviate the pain of diverged programming experience due to the operator namespace separation: mxnet.ndarray and mxnet.symbol, we propose creating a new namespace mxnet.numpy, adopting operator APIs from NumPy, and implementing those operator APIs under the namespace. mxnet.numpy should provide the same imperative programming experience as NumPy and will gradually replace all the non-neural-network operators in the current codebase. While implementing NumPy operators in MXNet, it is possible for us to leverage TVM to generate high-performance kernels (ref.).
Can mxnet.numpy operators be used in Gluon for hybridization?
The newly implemented NumPy operators can still be accessed through the module (ndarray/symbol) delegate F in Gluon, e.g. F.numpy.dot. This works because the new operators are still registered under mxnet.ndarray and mxnet.symbol behind the scene. It is just that users are encouraged to access NumPy operator APIs through mxnet.numpy to write pure imperative code and Gluon APIs for achieving hybrid coding experience.
Where to contribute code?
A dev branch has been opened for this proposal.
https://github.com/apache/incubator-mxnet/tree/numpy
@junrushao1994 @szha @eric-haibin-lin @zheng-da @yzhliu

+1 for this RFC.
Numpy compatibility has been long existing desire from both developers and users. It is very meaningful if we could make it possible.

+1 for this RFC.
The inconsistent APIs even within MXNet operators itself caused many confusing for users. It will be a great improvement to usability if we can make MXNet APIs compatible with Numpy.
I would suggest that we establish a formal review process for PRs that includes API change or addition to prevent from creating inconsistent APIs in the future.

+1 for this RFC.
I especially like the numpy namespace proposal, that will help cleaning up a lot of thing.
My experience is that the major blocker for numpy compatibility (and bad user experience) is due to the lack of dynamic shape inference. I cannot wait to have that out.
Anyways, since I wrote a handful of operators already and I am very happy to lend in getting fully numpy-compatible once dynamic shape inference is done.

+1 for handling zero-size arrays.
I'm not that concerned about numpy compatibility, but the lack of zero-size arrays is something that I would like to see fixed, since the current situation means that empty arrays have to be carefully padded to not cause any problems.

+1 for this RFC.
The consistent experience would also help JVM language binding to be in sync with Python. It reduce the bar for users familar with Python to write the same thing in Scala.

+1 for this RFC.
It will be more flexible to use MXNet, especially in slicing, and I hope mx.numpy could eliminate the divergence between mx.nd and mx.sym.  : )
I wonder how to implement mx.numpy: using Python ast  module to extract the abstract syntax tree then run them on JIT, or implement it on Python entirely? We should also focus on the deployment of mx.numpy.
I do not think F.numpy.dot is a good idea, since it is confusing that mx.numpy, mx.nd.numpy and mx.sym.numpy all exist. We only need mx.numpy to support mx.numpy.dot(a_nd, b_nd) and mx.numpy.dot(a_sym, b_sym).

@wkcn All of what you have said make sense. :)
Gluon APIs, GluonNLP and GluonCV highly depend on the current MXNet infra. So we have to execute it in an organized and steady stream in order not to break backward compatibility. Current NNVM has its own limitations in expressing dynamic shapes and control flow operators. We will eventually need a new IR (Relay is an option) to do AST transformation.

Thanks for the RFC!

It is just that users are encouraged to access NumPy operator APIs through mxnet.numpy to write pure imperative code and Gluon APIs for achieving hybrid coding experience.

Earlier mxnet.ndarray was supposed to give you the experience of writing pure imperative code. Why can't we add the operators under this namespace and make the interface changes for existing operators ? Is there a list of operators which have diverged APIs for numpy and ndarray and can it be timed with 2.0  release?

We can keep the current behavior unchanged and implement a global switch for users to turn on for expecting NumPy-compatible results.
If I understand correctly, even when using numpy namespace you need to toggle this switch(probably an env variable?) to obtain the correct slicing ? Have you also considered implementing a seperating numpy ndarray from base with specific functions for slicing like __getitem__ implemented to avoid using this switch.

@anirudh2290

Why can't we add the operators under this namespace and make the interface changes for existing operators ?

We can. However, there exist some operators in mxnet.ndarray whose names are the same as numpy counterparts while the behavior are slightly different, this means they cannot exist in the same namespace if we want to preserve backward compatibility. On the other hand, 2.0 is a good opportunity for fixing many of the existing problems besides the operator behaviors, so we'd likely want to take the time. Thus, to start now, having a new namespace would be the most straightforward way to go.

Have you also considered implementing a seperating numpy ndarray

Yes. Creating different array types means we'd start to see diverging user code, with some in ndarray and some in numpy ndarray, which would become harder to migrate later.

@reminisce @szha NumPy has reference/view and stride in its NDArray structure whille MXNet.NDArray doesn't have. How does this impact the design of NumPy-compatible coding experience?

@TaoLv In neural nets, once you do backprop, you cannot overwrite data because it destroys checkpointing.

Not sure I understand the checkpointing. Can you explain a bit more? I think we have memory planning pass to decide whether the data can be overwritten? Also there are NumPy-based framework like Theano and Chainer.

@TaoLv MXNet can have the same concept as in NumPy for view with the implementation of strides. But I think it's not the first priority for us to do so, because they are rarely useful in training (maybe useful in data preprocessing). @junrushao1994 's point is that in-place assignment is invalid in BP as it will wipe out pre-stored autograd information. This is consistent with other DL frameworks.

We can. However, there exist some operators in mxnet.ndarray whose names are the same as numpy counterparts while the behavior are slightly different, this means they cannot exist in the same namespace if we want to preserve backward compatibility.

Do we really have to carry this burden of backward compatibility all the way beyond 2.0? I feel existing operators are confusing enough that 2.0 maybe a good time for us to make the API clean and easy to use. It seems to me adding a new name space mx.numpy to the existing mx.sym and mx.ndarray caused more confusion.

@apeforest Because MXNet guarantees backward compatibility, those two namespaces have to be kept till 2.0. Adding namespace numpy lowers the bar for data scientists from NumPy community to use the DL framework. As for the framework itself, the purpose is to deemphasize the difference between mxnet.symbol and mxnet.ndarray in this major release. To retire those two namespaces in 1.x.x, one practical thing in the future we can do is register all ops under the namespaces like numpy, nn, etc. with unified interfaces supporting both NDArray and Symbol arguments, and in Gluon, we can remove the second-level module delegate F..

@reminisce I am fine with keeping those two namespaces till 2.0 for backward compatibility. Starting from 2.0, I feel we may want to just drop mx.ndarray', mx.symboland makemx.numpy` the only name space to users. I like the unified interface idea you propopsed.

+1 for this RFC.

What's the plan regarding: "Instead, users should be able to just write native Python code as the following and if required, let the framework serialize it into a computation graph for optimization and deployment."  I would get the python AST and convert it to a computational graph, seems that part is not described into detail, I guess is a long-term phase.

Hi @reminisce , I try to pass a numpy-compatible array into a legacy operator, and it raises this error.
>>> import mxnet.numpy as np
>>> import mxnet as mx
>>> import mxnet.numpy as np
>>> a = np.array([1,2])
>>> b = np.array([3,4])
>>> mx.nd.broadcast_add(a,b)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 56, in broadcast_add
  File "/home/wkcn/proj/mxnet/python/mxnet/ndarray/register.py", line 99, in _verify_all_legacy_ndarrays
    .format(op_name, func_name))
TypeError: Operator `broadcast_add` registered in backend is known as `broadcast_add` in Python. This is a legacy operator which can only accept legacy ndarrays, while received an MXNet numpy ndarray. Please call `as_nd_ndarray()` upon the numpy ndarray to convert it to a legacy ndarray, and then feed the converted array to this operator.

I hope that the legacy operator is the subset of

This feature has been made available as experimental feature 1.6 and will be supported in 2.0.


Usage with react-redux

When I am trying to map state from store using connect from react-redux like this:
import React from 'react';
import { Bar } from 'react-chartjs';

function random(length, max) {
  let arr = [];
  for(let i = 0; i < length; i++)
    arr.push((Math.random() * max))
  return arr;
}

const BarChart = (props) => {
  const chartData = {
    labels: random(6, 10000),
    datasets: [
      {
        label: 'User time by day',
        data: random(6, 10),
        fillColor: 'rgba(255,150,132,0.2)',
        strokeColor: 'rgba(255,99,131,0.8)',
        highlightFill: 'rgba(255,99,132,0.4)',
        highlightStroke: 'rgba(255,99,132,1)'
      }
    ]
  };

  const chartOptions = {
    responsive: true,
    barStrokeWidth: 1,
    scales: {
      xAxes: [{
        stacked: true
      }],
      yAxes: [{
        stacked: true
      }]
    }
  };
  return (
    <Bar data={chartData} options={chartOptions} width="860" height="550" redraw/>
  )
};
export default connect(() => ({}), () => ({}))(BarChart);

It is rendered like on image below. Also when I move mouse over some bar then It returns to normal like on image without connect.

And when I remove connect:

By default connect does a shallow check of the properties returned by it's select function. Since you always return an empty object connect assumes nothing has changed.
This should fix your problem:
export default connect(() => ({}), undefined, undefined, {pure: false})(BarChart);

animate: false does not work for bar chart options.


[feat] 2.0: Add plugin to lib.rs with tauri plugin add

Describe the problem
tauri plugin add updates package.json and Cargo.toml from what I understand, but there's one more friction point for non-Rust devs: adding the plugin initialiser to the builder in lib.rs. tauri plugin add should do this as part of it's logic
Describe the solution you'd like
Example flow for notification plugin:

✅ User runs tauri plugin add notification
✅ Add dependency to package.json and Cargo.toml (I believe this is already done today)
🆕 Add plugin initialiser to lib.rs on the Tauri app builder (not done today)
❓(optional) Prompt the user with "these are the changes to the files that are going to be made, ready to accept them?" or similar (check out the astro add CLI for how they do that)

Alternatives considered
No response
Additional context

Discussion in the docs repo: https://github.com/tauri-apps/tauri-docs/pull/1379#discussion_r1306059745
Astro add command: https://docs.astro.build/en/guides/integrations-guide/solid-js/#astro-add-command
Keep in mind these two ideas:

users who never touch Rust (and have the default Tauri rust project), how do we use this to make Tauri more approachable?
Plugins are a much larger story in 2.0 than they were in 1.0, any DX improvements we can do that touch them are a huge win

@amrbashir we talked about this briefly on Discord a while back, do you think this is something we'd be able to get in (and if so would you be the one able to work on it)? I think this is a pretty crucial piece of DX improvement we can get in prior to 2.0

It is definitely on my radar but not super urgent atm and could be added at any time later if we couldn't get it before 2.0-beta.

As long as we can try to slot it before 2.0 stable then that's fine to me. Thanks!


Create File/Folder Architecture

	<script src="https://code.jquery.com/jquery-3.2.1.js"></script>
	<script src="./assets/js/script.js"></script>

^ this is the path to your js
css path is similar


Add python syntax formatting for code samples, returns value and errors raised

@eddie-zhou Spelling mistake fixed

@eddie-zhou @ymodak  What is needed for my branch to be merged into master?