Problems when upgrading Calico CNI Plugin to v1.7.0

Hi guys
We wanted to test the new cni-plugin v1.7.0 on our cluster but ran into some problems while deploying it using Kismatic.
On startup of the container the values for etcd_key_file, etcd_cert_file and etcd_ca_cert_file in the CNI config (/etc/cni/net.d/10-calico.conf) change to empty values ("").
We did some debugging on this and found that this was caused by this script which overwrites the CNI config file.
The only reason this worked on v1.6.x was because of a bug, fixed in 1.7.0 in the script which caused that the config file could not be overwritten.
Imo, there are 2 possible ways to fix this problem:

Quick and 'dirty' way
As you can see in the script, it uses the env vars CNI_CONF_ETCD_CA, CNI_CONF_ETCD_CERT and CNI_CONF_ETCD_KEY.
If the vars are set to the paths in the calico-config configmap, the problem is solved.

        - name: CNI_CONF_ETCD_CA
          valueFrom:
            configMapKeyRef:
              key: etcd_ca
              name: calico-config
        - name: CNI_CONF_ETCD_CERT
          valueFrom:
            configMapKeyRef:
              key: etcd_cert
              name: calico-config
        - name: CNI_CONF_ETCD_KEY
          valueFrom:
            configMapKeyRef:
              key: etcd_key
              name: calico-config

The 'Calico' way
According to install-cni.sh, there should be a folder /calico-secrets (can be overwritten by setting the TLS_ASSETS_DIR var) containing the 3 pem-files, named: etcd-ca, etcd-cert and etcd-key.
The vars will then be set by the script, that's what it is supposed to do at least.

We did choose for option 1 because it was the most simple solution to get it running on our dev environment although I don't think this is the recommended solution to this problem because it's a bit hacky.
Hope you can do something with this information ;)
Kind regards
Simon

Thanks @Platzii our intent was to write out our own config, since we do not set CNI_NETWORK_CONFIG in the configmap I expected the file to not be written out with this.
Looks like the new changes will always overwrite the conf file, we will have to figure something out before upgrading to the new Calico version.

Looks like an additional impact is that if network policy is not enabled, all pods will lose outbound connectivity.
This is because the overwritten CNI config includes a policy type: k8s stanza in it, which causes the CNI plugin to not write required state and instead rely on the policy controller.
Thanks to @platzii for finding and helping me dig through.

Would a possible solution be to just not mount in the CNI network config path.

I think Kismatic probably already handles creating the etcd-(ca|cert|key) files
Kismatic writes the cni config file.
Kismatic uses the system kubeconfig file for calico, I believe.
The install-cni, every 10 seconds attempts to copy the "secrets" into the folder /etc/cni/net.d/calico-tls but since I don't think the config file points there, that functionality is not needed either.

@tmjd that should work, I will test and report back. Thanks


Fix updating of layer dimension labels.

When using the numeric range controls to alter the width of the
layers, the input labels weren't being updated in the diagram.
Address by creating the corresponding d3.js elements initially, but
then updating their dynamic properties on change.
Also fix a rendering glitch when superscripting dimensions with
repeated digits, e.g., "11".

Forgot to say - the network diagrams look tidy & clear, nice work.


[ISSUE-14] Docker build failing

I have also improved the build, by separating the package creation and installation the package in the other container. It is not too critical but I feel that using Docker is indeed a good way to also spot installation problem on a fresh environment

As mentioned above, I believe it is an easy way to check and test the package on a fresh environment. I understand there is not an actual application, but I can see value to have it in


Update-Database -Script misses GO statements

When running "Update-Database -Script", the generated SQL is broken because it misses "GO" statements.
This may be a solution:
http://stackoverflow.com/questions/25162187/entity-framework-how-to-create-sql-script-with-go-statements

Please file a bug on Entity Framework - thanks!


[WIP] Fix flow, jest unit test errors

Currently disabled the flow type for the Avatar.js file
Now getting error's in selector test's
yarn run jest subscriptionSelectors
yarn run v0.27.5
warning ../../../package.json: No license field
$ "/Users/kunall17/Project/react/zulip-mobile/node_modules/.bin/jest" "subscriptionSelectors"
 FAIL  src/subscriptions/__tests__/subscriptionSelectors-test.js
   Test suite failed to run

    Selector creators expect all input-selectors to be functions, instead received the following types: [undefined, function, function]

      at getDependencies (node_modules/reselect/lib/index.js:53:11)
      at node_modules/reselect/lib/index.js:71:24
      at Object.<anonymous> (src/unread/unreadSelectors.js:77:93)
      at Object.<anonymous> (src/conversations/conversationsSelectors.js:5:22)

Test Suites: 1 failed, 1 total
Tests:       0 total
Snapshots:   0 total
Time:        0.559s
Ran all test suites matching "subscriptionSelectors".
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Closing, as tests fixed in another commit.


How about lazyloading srcset images?

Hi, as per the title: is it possible to lazyload responsive images (srcset)?

Do you want to ask a question? Are you looking for support? Stack Overflow is the best places for getting support

Please, don't use GitHub issues for questions


[DCOS-29208] switch to mesosphere client images

This PR switches the testing client Docker images to ones in the mesosphere docker org.
These are hosted at: https://github.com/mesosphere/dcos-commons-ci/tree/master/docker/testing-client

I found the issue with the HDFS image and corrected it in mesosphere/dcos-commons-ci#7


Test path additions and engine creation

I think we just need to tell sorbet to ignore spec/fixtures

I just pushed that change from the GitHub web editor 😎


How do I map to a virtualized physical address?

I'm trying to mimic Linux kernel behavior to shift the physical offset to start from 0xffff888000000000. However I'm trying to do this without the OS knowing this proactively (I have a custom UEFI bootloader that sets up an independent page table away from UEFI's influence), so that I can implement KASLR easily later.
I also have a ELF loader to relocate my kernel into the right virtual address, or at least it should somehow work.
The problem is, since all the physical memory will start at 0xffff888000000000, that won't pass PhysAddr::new right? And so it won't be a valid PhysFrame either.

I think there's a misunderstanding here: PhysAddr is a type used for physical addresses, not the virtual addresses of mappings of physical memory, these should use VirtAddr.


Add highscores on overview page

Should close https://github.com/lanedirt/OGameX/issues/444

Test failing wasn't me :D


SwiftmailerChannel from_addr as array

On SwiftMessage, from adresses can be string or array but configuration doesn't allow array on "from_addr".
Simple case is to allow<EMAIL_ADDRESS>=> ''Your contact domain.com"]
@see Swift_Mime_SimpleMessage->setFrom($addresses, $name = null)

@nicolas-joubert done in #9


Updated Icon

Updated Icon

@xmha97 Thanks for PR. But you have changed the icon as well. We are not looking for a new icon.


Add edges and edge explorer tabs to app

Fixes #42.
I added two tabs to the app:

The Edges tab shows all the edges in the edges table as lines with a height based on the parent time. As with the mutations tab, the actual edges data is overlayed onto the datashaded plot when there are fewer than a given threshold of edges visible in the current viewport. I added the branch length and span of edges to the edges dataframe so that they can be displayed when hovering over an edge.

The Edge explorer tab gives you a box to enter a node into. It then displays all the edges with that node as child, with a Tabulator widget below including all the displayed edges. The Tabulator widget works fine on my laptop, but fails to work for the first attempt when I use it on the Genomics England cluster.

There are a few miscellaneous changes here too which could be ignored: I removed some import calls which weren't being used anymore, and I moved all the plot settings to the top of the file (they were buried in particular page functions).

Thanks for the tip, I will remember that next time!

Can you update the pr with the change please?

Sorry for misunderstanding you; I just updated the PR with the change.

@savitakartik I just merged this so you'll need to update your branch.


refactor(core): split away connection arg creation

Was looking into what it would take to get a non-connection field version and this needed doing
Partially for https://github.com/birkir/prime/issues/199

Great refactor, waiting for tests and will merge!


treewide: fixes for protobuf 3.18+

Protobuf 3.18 finally removed the deprecated two-argument version of SetTotalBytesLimit. Trivially patch the remaining offenders.
Motivation for this change
Fixup some individual packages overlooked in https://github.com/NixOS/nixpkgs/pull/138268
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 139338 at 813c400e run on aarch64-linux 1

2 packages marked as broken and skipped:

python38Packages.caffe
python39Packages.caffe

3 packages built successfully:

caffe
osmscout-server
valhalla


Missing Sublime Text command - select open editor by index

While building this extension to map Sublime Text default keyboard shortcuts to VS Code, I found that this feature is missing.
The feature is selecting an open editor by index.
Default Sublime Text keybindings

Windows / Linux
Mac
Editor Index

alt+1
cmd+1
0

alt+2
cmd+2
1

alt+3
cmd+3
2

alt+4
cmd+4
3

alt+5
cmd+5
4

alt+6
cmd+6
5

alt+7
cmd+7
6

alt+8
cmd+8
7

alt+9
cmd+9
8

alt+0
cmd+0
9

@waderyan nope, we have it: workbench.action.openEditorAtIndex1-9

@bpasero excellent great!


https://dockstore.org/docs/ produces a 403

Bug Report
https://dockstore.org/docs/ produces a 403
Expected behaviour
https://dockstore.org/docs/ should display the docs not a 403
The docs work fine if you go to https://dockstore.org/docs/documentation which redirects to https://dockstore.org/docs/.  But if you reload https://dockstore.org/docs/ directly you get the 403 which will cause problems for people bookmarking the link.
Actual behaviour
https://dockstore.org/docs/ produces a 403
Steps to reproduce the behaviour
navigate to https://dockstore.org/docs/ and hard refresh your browser.
(Attach tool/workflow documents or links where applicable to help us reproduce your issue)
Environment (Browser or OS and Dockstore version)
Chrome
DockstoreUI - 1.2.3-1-gd39f3b2
DockstoreApi - 1.2.3

FYI, this is a duplicate of #632


New ENV var pointing to CLI

https://github.com/rust-lang/cargo/pull/7697

This will yet again support dashes (-) in environment variables: https://github.com/rust-lang/cargo/pull/7697/files#diff-5ac8f23ed1f09085c81205ba290e0af6R194
We will probably need a way to set those from bash.

https://unix.stackexchange.com/a/23714/407808 shows how to do it when invoking another program (or I guess sub shell):
env "test-with-hyphens=3" my-program ...


fix tfctl install --export not separating yaml objects properly

Hi, I'm trying to fix tfctl install --export so I can deploy tf-controller via plain k8s manifests, like Flux (vs the HelmRelease offered in the guides).
After fixing this --- issue this is the only error left:
➜  tf-controller git:(fix-tfctl-install) ✗ k apply -f tfctrl.yml
serviceaccount/tf-controller unchanged
serviceaccount/tf-runner unchanged
role.rbac.authorization.k8s.io/tf-leader-election-role unchanged
clusterrole.rbac.authorization.k8s.io/tf-manager-role configured
clusterrole.rbac.authorization.k8s.io/tf-runner-role unchanged
rolebinding.rbac.authorization.k8s.io/tf-leader-election-rolebinding unchanged
clusterrolebinding.rbac.authorization.k8s.io/tf-cluster-reconciler unchanged
clusterrolebinding.rbac.authorization.k8s.io/tf-manager-rolebinding unchanged
clusterrolebinding.rbac.authorization.k8s.io/tf-runner-rolebinding unchanged
deployment.apps/tf-controller configured
The CustomResourceDefinition "terraforms.infra.contrib.fluxcd.io" is invalid: metadata.annotations: Too long: must have at most 262144 bytes
➜  tf-controller git:(fix-tfctl-install) ✗

Seems like the error is because kubectl apply generates that last-applied-configuration annotation and it is too big for the CRD, but kubectl apply --server-side works. And it looks like Flux relies heavily in server-apply, so this should be fine.
Pls merge this PR :pray:

@chanwit would it be possible to cut a release with this? maybe v0.16.0-rc.3? I just learned about https://github.com/weaveworks/tf-controller/security/advisories/GHSA-6hvv-j432-23cv and would like to upgrade by re-installing tf-controller using this fix in the CLI :pray:

Yep, very soon.
We're waiting for this one #910 to merge and cut the release.

@chanwit could you pls cut a release? :pray: Thanks in advance!

We planned to do so this week.
Sorry for the delay.


Sporadic crash

Version: my fork
I can't tell when, or how, or report a stack trace, because I'm running it from i3 config with exec_always, so I didn't get the exception. but the process sometimes just disappears, when I notice it and launch it manually, it's fine.
much is happening on my system so I can't tell if that's actually an issue of i3-workspace-names-daemon or not.
I will look better, in the meanwhile, am I the only one affected by that?

it's been two weeks, it never crashed or exited at all.
so i'm closing this


Can you expand the cluster to 2 agents, and create a NEW vip, and send traffic from one machine to the VIP, and see how load gets distributed amongst the backends?

seems pretty tight
  15110 Hello world (3250) app running at: :17450, on hostname: ip-10-0-3-137.us-west-2.compute.internal, and say string `version1`
  15024 Hello world (3251) app running at: :12162, on hostname: ip-10-0-3-137.us-west-2.compute.internal, and say string `version1`
  15004 Hello world (3315) app running at: :4539, on hostname: ip-10-0-3-137.us-west-2.compute.internal, and say string `version1`
  15203 Hello world (3364) app running at: :23654, on hostname: ip-10-0-3-137.us-west-2.compute.internal, and say string `version1`
  15275 Hello world (3399) app running at: :29048, on hostname: ip-10-0-3-137.us-west-2.compute.internal, and say string `version1`
  15324 Hello world (3451) app running at: :13968, on hostname: ip-10-0-3-137.us-west-2.compute.internal, and say string `version1`
  15073 Hello world (3494) app running at: :24905, on hostname: ip-10-0-3-137.us-west-2.compute.internal, and say string `version1`
  15210 Hello world (3552) app running at: :18886, on hostname: ip-10-0-3-137.us-west-2.compute.internal, and say string `version1`
  15328 Hello world (3614) app running at: :2835, on hostname: ip-10-0-3-137.us-west-2.compute.internal, and say string `version1`
  15169 Hello world (3649) app running at: :6501, on hostname: ip-10-0-3-137.us-west-2.compute.internal, and say string `version1`
core@ip-10-0-5-112 ~ $ sort double_slave_log | uniq -c
   1448 Hello world (1816) app running at: :20941, on hostname: ip-10-0-3-137.us-west-2.compute.internal, and say string `version1`
   1313 Hello world (1884) app running at: :24189, on hostname: ip-10-0-3-137.us-west-2.compute.internal, and say string `version1`
   1384 Hello world (1889) app running at: :1640, on hostname: ip-10-0-3-137.us-west-2.compute.internal, and say string `version1`
   1440 Hello world (1949) app running at: :23344, on hostname: ip-10-0-3-137.us-west-2.compute.internal, and say string `version1`
   1346 Hello world (2031) app running at: :10631, on hostname: ip-10-0-3-137.us-west-2.compute.internal, and say string `version1`
   1430 Hello world (3004) app running at: :26232, on hostname: ip-10-0-3-228.us-west-2.compute.internal, and say string `version1`
   1402 Hello world (3010) app running at: :21229, on hostname: ip-10-0-3-228.us-west-2.compute.internal, and say string `version1`
   1442 Hello world (3065) app running at: :27278, on hostname: ip-10-0-3-228.us-west-2.compute.internal, and say string `version1`
   1417 Hello world (3118) app running at: :1091, on hostname: ip-10-0-3-228.us-west-2.compute.internal, and say string `version1`
   1413 Hello world (3181) app running at: :23318, on hostname: ip-10-0-3-228.us-west-2.compute.internal, and say string `version1````

I pulled the use new vip specification into #352
The hash should get updated in the security PRs.

Closed at @sargun 's request


Rework settings to use dynamic fields, and remove factory checks over…

Updated settings model to dynamic fields
Removed assertion from factories ( this is no longer needed since factories are not publicly exposed, and will only be used in endpoints)
minor code reuse imporovements

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Implement Generic Processor

Implement a generic Processor class that iterates through all racing data for a specified date range, calling pre/post_process methods to process each entity if the relevant processor instance contains such methods.

Closing this and marking it 'invalid', as the concept of the Processor class at this stage is an example of 'refactoring too much too soon': the focus right now should be on implementing the scrape command.


support twitter

This project is very good. I am wondering whether it can support login via twitter?

Hi, I just requested access to Twitter API, I'll try to add Twitter support asap.
Thanks for using the project and for the enhancement idea as well.

Try 0.13.0, hope it works well, please do not hesitate to open a new issue if anything's wrong https://github.com/tomasvotava/fastapi-sso/releases/tag/0.13.0


my coverage is empty. Am using webpack with grunt and intrumenting the code before doing webpack build

I have a similar issue. I instrumented the webpack generated main.bundle.js file and deployed to the server. Ran grunt with protractor tests and I do not get any coverage.
instrument: {             files: 'dist/main.bundle.js',             options: {                 lazy: true,                 basePath: "test/instrumented"             }         }
and my protractor coverage has the following configuration
protractor_coverage: {             options: {                 keepAlive: true,                 noColor: false,                 collectorPort: 9001,                 coverageDir: 'test/coverage',                 args: {                     baseUrl: 'http://localhost:4200'                 }             },             myserver: {                 options: {                     configFile: 'protractor-coverage.conf.js',                     args: {                         baseUrl: 'https://mycloudapplication'                     }                 }             }         }
Any ideas on what I might be missing?


jp maches array elements in reverse order

When a JSONPath query uses wildcard or union indexing (.e.g $.array[*] or $.array[0,1]), array elements appear to be matched in reverse order. Here is a minimal reproducer:
bash$ /bin/cat bug_test.go
package test

import (
        "testing"

        "github.com/stretchr/testify/assert"
        "github.com/ohler55/ojg/jp"
        "github.com/ohler55/ojg/oj"
)

func TestCase(t *testing.T) {
    obj, _ := oj.ParseString(`{
        "a":[
            {"x":1,"y":2,"z":3},
            {"x":2,"y":4,"z":6}
        ]
    }
    `)

    x, _ := jp.ParseString("$.a[*].y")
    ys := x.Get(obj)
    assert.Equal(t, []interface{}{2, 4}, ys)
}

bash$ go test
--- FAIL: TestCase (0.00s)
    bug_test.go:22:
                Error Trace:    bug_test.go:22
                Error:          Not equal:
                                expected: []interface {}{2, 4}
                                actual  : []interface {}{4, 2}

                                Diff:
                                --- Expected
                                +++ Actual
                                @@ -1,4 +1,4 @@
                                 ([]interface {}) (len=2) {
                                - (int) 2,
                                - (int) 4
                                + (int64) 4,
                                + (int64) 2
                                 }
                Test:           TestCase
FAIL
exit status 1
FAIL    _/mnt/Data/work/code/jp-bug     0.002s

I'm not sure the order needs to be preserved in wildcard searches but I'll take a look at flipping the order.

Working on it.

The jp-order branch has the fixes. It fixes union, slice, and wildcard. Let me know if you find anything off. If not I'll merge and release.

Yes, I can confirm that, with jp-order, it now works as expected. Thank you for the fix!

Release v1.2.1 has the fixes.

Thanks again for the quick turn-around!

Slower than I like but glad it is fixed.


Waiting for CS: GO . While CS:GO is running

Hello,
can you please tell me what the window name of your CSGO is.
You can find the window name in the task manager.
example:
https://i.imgur.com/8OEvdHY.png

Same name strange

Have you tried hitting enter in that terminal? Sometimes stdout acts in mysterious ways
I've seen this behavior, but it had actually printed a lot of stuff afterwards and it only appeared after hitting enter 😄

if the issue still persists and you have more details about it feel free to comment.


skip icon image while uploading to iTunes

Package Summary:
1 package(s) were not uploaded because they had problems:
/path/to/project/Package.itmsp - Error Messages:
1 package(s) were not uploaded because they had problems:
ERROR ITMS-90032: "Invalid Image Path - No image found at the path referenced under key 'CFBundleIcons': 'AppIcon29x29'"
ERROR ITMS-90032: "Invalid Image Path - No image found at the path referenced under key 'CFBundleIcons': 'AppIcon40x40'"
ERROR ITMS-90032: "Invalid Image Path - No image found at the path referenced under key 'CFBundleIcons': 'AppIcon60x60'"
ERROR ITMS-90032: "Invalid Image Path - No image found at the path referenced under key 'CFBundleIcons': 'AppIcon76x76'"
ERROR ITMS-90022: "Missing required icon file. The bundle does not contain an app icon for iPhone / iPod Touch of exactly '120x120' pixels, in .png format for iOS versions >= 7.0."
ERROR ITMS-90023: "Missing required icon file. The bundle does not contain an app icon for iPad of exactly '76x76' pixels, in .png format for iOS versions >= 7.0."
ERROR ITMS-90023: "Missing required icon file. The bundle does not contain an app icon for iPad of exactly '152x152' pixels, in .png format for iOS versions >= 7.0."

the issue was with my local images paths


get_pandoc_path: add option to download pandoc if not found.

Whats the usecase here? That code is mostly used internally and so you would need to explicitly call that method. Isn't it then easier to simply check and download in you own code?
I wouldn't mind a new API method like ensure_pandoc_installed() which either finds a pandoc OR downloads it sucessfuly OR raises an exception.

The use case is that of ensure_pandoc_installed. Is adding a new method the preferred option for that use case?


spirv-fuzz: Make synonyms involving OpAny and OpAll in the TransformationAddSynonym class

Extend the TransformationAddSynonym class by including the following cases:

Make a synonym of %true as OpAny (a vector with %true somewhere in it)
Make a synonym of %true as OpAll (a vector with %true everywhere in it)
Make a synonym of %false in a similar manner
Make a synonym of a boolean id %b via OpAny (a vector with %b somewhere and %false everywhere else)

@andreperezmaselco OK by you if @stefanomil works on this?

Sure, no problem!


Where:
Script 'C:\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 1070

What went wrong:
Execution failed for task ':app:compileFlutterBuildRelease'.

Process 'command 'C:\flutter\bin\flutter.bat'' finished with non-zero exit value 1

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 50s
Running Gradle task 'bundleRelease'...                             51,5s
Gradle task bundleRelease failed with exit code 1
Process finished with exit code 1

sorry error was in other side) Cool package Thank you!!!

@gbelfingerivs in my case the error was when initializing the Qonversion package.

@samatzhusup we are not using Qonversion at all. Seems that the build got broken after one of the commits in our codebase, which does not make any sense.
How did you fix it and what do you mean by fully reinstall app?
I tried with flutter clean and deleting all temp data including pubspec.lock


Rollback "context" to "golang.org/x/net/context" to support Go1.6

To maximize support/adoption with gRPC, it doesn't hurt for
us to use "golang.org/x/net/context" so that systems running
Go1.6 can use this package.

@rakyll could you please help me check what's up with AppVeyor? It unexpectedly exits

@songy23 yes I have  done that. Could you help me enable Travis too?

Not sure if I can manually do that, looks like I can only trigger a build from master branch..

Roger that, let me try making a branch directly in the repo (@rakyll, I'll delete after testing out :))

@songy23 in deed, it is only on branches originating directly from this repo that Travis CI triggers too. Please see https://github.com/census-instrumentation/opencensus-go/pull/228.

It some way more work than just context but now the builds have been exorcised and are passing, PTAL again.

Yeah something trippy with Travis CI. However, the PR should def be passing by the end of the day, I'll figure it out :)

And Houston we have absolute greenlights https://travis-ci.org/census-instrumentation/opencensus-go/builds/312847862!!

/cc @jba

@rakyll Thanks for doing this. I think it's a good thing, but I was able to work around with build tags. See https://code-review.googlesource.com/c/gocloud/+/20330. I added you as a reviewer on that CL; did you see it?

@jba, yes I saw the CL but suggested @odeke-em that we might consider supporting 1.6 so you can continue to do the manual spanning work. We can discontinue our support as soon as you stop supporting 1.6.

/cc @jcd2 too

Thanks! I am having some discussions with other libraries who wants to depend on us and will update the thread once we agree to merge this PR.

We decided to protect OpenCensus under build tags and not to support 1.6.

Aye aye, what does to protect OpenCensus under build tags mean?

They will only enable OpenCensus for 1.8+, see https://code-review.googlesource.com/c/gocloud/+/20550.


Can't compile second.core.non_max_suppression.nms

/home/chenly/anaconda3/bin/python3 /media/chenly/E/second.pytorch/second/pytorch/train.py train --config_path=./configs/car.config --model_dir=../pretrain_models/car
Traceback (most recent call last):
File "/media/chenly/E/second.pytorch/second/core/non_max_suppression/nms_cpu.py", line 10, in
from second.core.non_max_suppression.nms import (
ModuleNotFoundError: No module named 'second.core.non_max_suppression.nms'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/media/chenly/E/second.pytorch/second/pytorch/train.py", line 19, in
from second.pytorch.builder import (box_coder_builder, input_reader_builder,
File "/media/chenly/E/second.pytorch/second/pytorch/builder/box_coder_builder.py", line 4, in
from second.pytorch.core.box_coders import (BevBoxCoderTorch,
File "/media/chenly/E/second.pytorch/second/pytorch/core/box_coders.py", line 5, in
from second.pytorch.core import box_torch_ops
File "/media/chenly/E/second.pytorch/second/pytorch/core/box_torch_ops.py", line 12, in
from second.core.non_max_suppression.nms_gpu import (nms_gpu, rotate_iou_gpu,
File "/media/chenly/E/second.pytorch/second/core/non_max_suppression/init.py", line 1, in
from second.core.non_max_suppression.nms_cpu import nms_jit, soft_nms_jit
File "/media/chenly/E/second.pytorch/second/core/non_max_suppression/nms_cpu.py", line 18, in
cuda=True)
File "/media/chenly/E/second.pytorch/second/utils/buildtools/pybind11_build.py", line 96, in load_pb11
cmds.append(Nvcc(s, out(s), arch))
File "/media/chenly/E/second.pytorch/second/utils/buildtools/command.py", line 123, in init
raise ValueError("you must specify arch if use cuda.")
ValueError: you must specify arch if use cuda.
Process finished with exit code 1

../cc/nms/nms.h:3:31: fatal error: pybind11/pybind11.h: No such file or directory

../cc/nms/nms.h:3:31: fatal error: pybind11/pybind11.h: No such file or directory

If you use anaconda, try to use conda to install pybind11. Do not use pip install.

Hello,
I tried all the workarounds mentioned above.
workarounds mentioned in can't compile the nms_kernel.cu.cc #6
even i do not have root permissions, so i downloaded the libboost version 1.68.0, and provided the path as mentioned in both the files as includes=["/home/shikka2s/Download/PointPillars/libboost/boost_1_68_0/boost"].
But this did not work.
along with that i installed pybind11 using conda, and ended up with same error.
as mentioned above, the nvcc command works but not the g++
the g++ throws an error stating
../cc/nms/nms.h:3:31: fatal error: pybind11/pybind11.h: No such file or directory
#include <pybind11/pybind11.h>
even after installing pybind11 using conda install.
after all this, when i try to complie, i end up in following error.
python create_data.py create_kitti_info_file --data_path=/home/shikka2s/Download/PointPillars/Datasets/kitti/KITTI_DATASET_ROOT
Traceback (most recent call last):
File "/home/shikka2s/Download/PointPillars/second.pytorch/second/core/non_max_suppression/nms_cpu.py", line 10, in
from second.core.non_max_suppression.nms import (
ModuleNotFoundError: No module named 'second.core.non_max_suppression.nms'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "create_data.py", line 9, in
from second.core import box_np_ops
File "/home/shikka2s/Download/PointPillars/second.pytorch/second/core/box_np_ops.py", line 7, in
from second.core.non_max_suppression.nms_gpu import rotate_iou_gpu_eval
File "/home/shikka2s/Download/PointPillars/second.pytorch/second/core/non_max_suppression/init.py", line 1, in
from second.core.non_max_suppression.nms_cpu import nms_jit, soft_nms_jit
File "/home/shikka2s/Download/PointPillars/second.pytorch/second/core/non_max_suppression/nms_cpu.py", line 19, in
cuda=True)
File "/home/shikka2s/Download/PointPillars/second.pytorch/second/utils/buildtools/pybind11_build.py", line 96, in load_pb11
cmds.append(Nvcc(s, out(s), arch))
File "/home/shikka2s/Download/PointPillars/second.pytorch/second/utils/buildtools/command.py", line 123, in init
raise ValueError("you must specify arch if use cuda.")
ValueError: you must specify arch if use cuda.
PLease do support...

../cc/nms/nms.h:3:31: fatal error: pybind11/pybind11.h: No such file or directory

(1) when you run:
"g++ -std=c++11 -shared -o /home/yy/second.pytorch/second/core/non_max_suppression/nms.so ../cc/nms/nms_kernel.cu.o ../cc/nms/nms.cc -I/usr/local/cuda/include -fPIC -O3 -I/home/yy/anaconda3/include/python3.6m -I/home/yy/.conda/envs/open-mmlab/include/python3.6m -L/usr/local/cuda/lib64 -lcublas -lcudart "
will show error "../cc/nms/nms.h:3:31: fatal error: pybind11/pybind11.h: No such file or directory"
(2) And you need add this path to the command:" -I/home/yy/.conda/envs/open-mmlab/lib/python3.6/site-packages/pybind11/include " as follow:
"g++ -std=c++11 -shared -o /home/yy/second.pytorch/second/core/non_max_suppression/nms.so ../cc/nms/nms_kernel.cu.o ../cc/nms/nms.cc -I/usr/local/cuda/include -fPIC -O3 -I/home/yy/anaconda3/include/python3.6m -I/home/yy/.conda/envs/open-mmlab/include/python3.6m -I/home/yy/.conda/envs/open-mmlab/lib/python3.6/site-packages/pybind11/include -L/usr/local/cuda/lib64 -lcublas -lcudart "
(3) Then, will generate "nms.so" on "/home/yy/second.pytorch/second/core/non_max_suppression"


Add missing 'version' element to csproj

Codecov Report

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

@@           Coverage Diff           @@
##           master       #5   +/-   ##
=======================================
  Coverage   98.21%   98.21%
=======================================
  Files          12       12
  Lines         447      447
  Branches       76       76
=======================================
  Hits          439      439
  Partials        8        8

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 0be3a07...824af3e. Read the comment docs.

Codecov Report

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

@@           Coverage Diff           @@
##           master       #5   +/-   ##
=======================================
  Coverage   98.21%   98.21%
=======================================
  Files          12       12
  Lines         447      447
  Branches       76       76
=======================================
  Hits          439      439
  Partials        8        8

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 0be3a07...824af3e. Read the comment docs.


Cosmic Panda channel pages have issues in light mode

Light mode:

Dark mode:

In light mode, the "Customize channel" and "MAnage videos" buttons are black, and the search icon is barely visible in light mode.

I didn't even know dark mode made those buttons white, since I rarely test in dark mode. Those buttons are just not styled yet. As with a lot of things, I will get to it when I get the chance.


rebar3 compat

Added bare-bones files enabling the library to be included as a dependency in apps built with rebar3.

Same issue as with https://github.com/shortishly/envy/pull/1, closing until resolved.


fix(rust): explicitly enable nvim-cmp source registration for crates

For https://github.com/Saecki/crates.nvim/commit/57c448bffacba1d7970afc2823b9d30e7cecf516:
* fix!: nvim-cmp source registration

BREAKING CHANGE: the nvim-cmp source isn't automatically registered
anymore. Instead enable it in setup.
require("crates").setup {
    src = {
        cmp = {
            enabled = true
        },
    },
}

beat me to it 😆

thanks!


Event Listener Not Removed - Memory Leak

The event listener for transitionend is not removed, resulting in a memory leak.
In the code:
const listener = node.addEventListener('transitionend', () => {
    transitionEndResolve();
    transitionEndResolve = noop;
    transitionEndReject = noop;
});

The listener variable is assigned the result of node.addEventListener(...), but addEventListener returns void, not the listener function.
When you later try to remove the listener using removeEventListener('transitionend', listener), you're effectively passing undefined or void to removeEventListener, which does not correspond to the actual listener function that was registered. As a result, the listener is not removed.
To correctly remove an event listener, you need to pass the exact function reference that was originally registered.
// Define the listener function separately
const listener = () => {
    transitionEndResolve();
    transitionEndResolve = noop;
    transitionEndReject = noop;
};

// Add the listener
node.addEventListener('transitionend', listener);

// Later, remove the listener correctly
function destroy() {
    node.removeEventListener('transitionend', listener);
}

Merged changes, bumbed the version, and deployed to npm
https://www.npmjs.com/package/svelte-collapse/v/0.1.3
Thanks!

Awesome, thanks for the quick turnaround!  Appreciate the library, serving us well in our product.


[up to 10 words short bug description]: [one-line error message]

Description
When I try Demo_3_Float_CKKS.py with a 2-dimensional numpy array, I get an error.
Code To Reproduce Error
arr_x [[1. 2. 3.]
 [4. 5. 6.]
 [7. 8. 9.]]
Traceback (most recent call last):
  File "/home/elyas/Pyfhel/examples/Try_Float_CKKS.py", line 60, in <module>
    ptxt_x = HE.encodeFrac(arr_x)   # Creates a PyPtxt plaintext with the encoded arr_x
  File "Pyfhel/Pyfhel.pyx", line 742, in Pyfhel.Pyfhel.Pyfhel.encodeFrac
ValueError: Buffer has wrong number of dimensions (expected 1, got 2)

Setup:

OS: Ubuntu
Python: 3.9.2
C compiler version: GCC 10.2.1 20210110
Pyfhel Version: most-recent

Hi @elyasgoli, I just want to add that there is a nice example of how encrypting and performing simple arithmetic operations over 2-D matrices in this issue.

Hi Shokofeh,
Thank you! That's helpful! My goal is actually to encrypt images with CKKS
or BFV. For that purpose, I need to encrypt a Numpy 2D array as a whole,
not by breaking it down row by row. Is it possible to do that with PyFHEL?
Many thanks,
Elyas
On Fri, Sep 1, 2023 at 4:55 AM Shokofeh VahidianSadegh <
@.***> wrote:

Hi @elyasgoli https://github.com/elyasgoli, I just want to add that
there is a nice example of how encrypting and performing simple arithmetic
operations over 2-D matrices in this issue
https://github.com/ibarrond/Pyfhel/issues/183#issuecomment-1507055784.
—
Reply to this email directly, view it on GitHub
https://github.com/ibarrond/Pyfhel/issues/212#issuecomment-1702630558,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A7HSUU7XPBOUCHB5NIO235DXYHEL7ANCNFSM6AAAAAA4HAH56U
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Elyas Goli, Ph.D.
Principal Machine Learning Engineer
Peak Artificial Intelligence
Cell Phone:<PHONE_NUMBER>
Email: @.***

You virtually always want to flatten images before encryption, as FHE ciphertexts are effectively vectors and FHE offers SIMD operations over vectors. For advanced use cases, more complex patterns might be beneficial, but expressing your FHE computation as a vectorized computation is a good start for most applications.


Update features table in docusaurus.md

Docusaurus supports heading id, task lists, and emoji:

Heading ids: https://docusaurus.io/docs/markdown-features/toc#heading-ids

Task lists: no link to Docusaurus docs but the task list syntax works:
## Task lists

- [x] Task 1
- [ ] Task 2
- [ ] Task 3

This renders to:

Emoji: both copy/paste and shortcodes. See the official docs and the example:
## Emoji

Copy: ⚡

Shortcode: :fire: :thumbsup:

This renders to:

Thank you!


Mutual credit proposal

Thank you for submitting your CIP proposal! We appreciate your contribution to Celo.

Thanks for your comments!  Working on those changes.


Specifying an Observable requires too much knowledge about implementation details

The issue
We have an Observable operation that can be used to add an observable to the quantum circuit generated.
Creating correctly an observable currently requires to know implementation details. For example, because you can only create an observable by providing global qubit positions, you need to understand how the code is working in order to pick the right qubits.
Expected improvement
It would be nice to be able to create an observable without needing any knowledge about the internal implementation details.
I do not have any idea to make that easy at the time being, I am open to all suggestions.

Hi Adrien,
Some ideas below...
A final observable will be associated with an array of measurements, so
potentially fairly simple plaquettes. Is it possible to write a function
that detects whether a square template with just measurement plaquettes has
a well defined central vertical line or horizontal line of qubits? The idea
is to scalably choose the observable. A function that takes a final
measurement layer in, and H or V, and produces an observable. I believe
Stim is capable of detecting whether an observable is valid. It's ok if the
function fails to cope with some inputs.
I believe that ultimately to automate things we are going to need to be
able to detect such midlines.
When it comes to moving observables horizontally, and assuming we have well
defined midlines, it seems that templates with plaquettes with single
measurements as well as clean midlines would be a good starting point.
Moving observables from midline to midline would then typically mean
choosing to extend and contract along midlines, or using one half of the
checkerboard of plaquettes to move a midline operator sideways.
Happy to chat more 1-1 or in our next meeting.
Best,
Austin.
On Thu, Feb 15, 2024 at 5:33 AM Adrien Suau @.***>
wrote:

The issue
We have an Observable
https://github.com/QCHackers/tqec/blob/09229fe45ede2827fa1718cf6fac6c3613254733/src/tqec/detectors/operation.py#L200
operation that can be used to add an observable to the quantum circuit
generated.
Creating correctly an observable currently requires to know implementation
details. For example, because you can only create an observable by
providing global qubit positions, you need to understand how the code
is working in order to pick the right qubits.
Expected improvement
It would be nice to be able to create an observable without needing any
knowledge about the internal implementation details.
I do not have any idea to make that easy at the time being, I am open to
all suggestions.
—
Reply to this email directly, view it on GitHub
https://github.com/QCHackers/tqec/issues/141, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKAXTHTDOIZFI327YIB7DDYTYFCFAVCNFSM6AAAAABDKITCOSVHI2DSMVQWIX3LMV43ASLTON2WKOZSGEZTMNJUGAZTCNA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

I can have a look at this


Keep the original frame resolution/aspect ratio on pipeline output

This PR based on https://github.com/insight-platform/Savant/pull/35


Checkbox checked background image not working in Chrome 72

As of Chrome 72 the check in the checkbox no longer renders.

It looks like it's due to the # in the background-img svg url: https://stackoverflow.com/questions/30733607/svg-data-image-not-working-on-firefox-or-chrome-72 . Replacing the # with a %23 makes it work as expected.

Thanks! I think you may have a different scss image-url() build function handlers than we have in Enketo Core's grunt. But it's a good opportunity to have a quick look if we can remove that entirely.

[ ] check for FF SVG bug
[ ] url-encode # in tickbox URL of regular non-Grid themes

The current solution no longer relies on a build task. Thanks for reporting!


Remove genuine sites from various blocklists

Describe the bug
Sites containing genuine content being blocked, need to be removed from block lists.
Additional context
As follows:

theconversation.com (in List 4): A genuine news and discussion site
ghs.googlehosted.com (List 2): this is too broad a block, and is picking up content and application developers who store their information in Google Cloud.
archive.org (List 1): Internet Archive being blocked
s3.amazonaws.com (List 3): this is too broad a block, and is picking up content and application developers who store their information in Google Cloud.
www.apsjobs.gov.au (List 1): Genuine government website
www.billion.com: website of a modem and network hardware manufacturer
thepihut.com: Genuine website with content for RPi devices
fetlife.com (List 2): Inconsistent with filterset tenents, blocking a site of an adult nature
Afterpay (non-tracking domains), specifically rsx.afterpay.com, static-us.afterpay.com, and static.afterpay.com
privatelink.msidentity.com: Login service domains for services connected to Microsoft, inc. Office 365, Onedrive, etc.
www.domain.com.au (List 2): Legitimate site for browing homes for sale and rent.
nodejs.org (List 3): Legitimate developer site, and AdGuard Home uses nodeJS components.

ok I'll review this and make some decisions within 10 commits.

My initial review of this list has been done and I've whitelisted archive.org.
For the moment please consider adding them to your own custom whitelist.
A lot these I place in an untrusted anti-customer or privacy invading category but I'll review them again in a few days.


[Dependent] Cypress tests for CVAT-3D-M6.

Depends on #3234
Motivation and context

How has this been tested?

Checklist

[x] I submit my changes into the develop branch
[ ] I have added description of my changes into CHANGELOG file
[ ] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[ ] I have linked related issues (read github docs)
[ ] I have increased versions of npm packages if it is necessary (cvat-canvas,
cvat-core, cvat-data and cvat-ui)

License

[x] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.
[x] I have updated the license header for each file (see an example below)

# Copyright (C) 2021 Intel Corporation
#
# SPDX-License-Identifier: MIT

I am closing this PR because the added tests are already implemented with the M6 functionality.


Return 400 when parsing path fails, not 404

All the other parse errors return 400, but this one returns 404. This PR makes it conform to the other parse errors.

Hey @sunli829 do you think we could land this? It should be good to go.

Thanks! 🙂


Sync upstream prometheus

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.8 out of 12 committers have signed the CLA.:white_check_mark: pracucci:white_check_mark: krajorama:white_check_mark: roidelapluie:white_check_mark: colega:white_check_mark: charleskorn:white_check_mark: beorn7:white_check_mark: aknuds1:white_check_mark: bboreham:x: SuperQ:x: rgroothuijsen:x: anarcat:x: machine424You have signed the CLA already but the status is still pending? Let us recheck it.


Add a preloader

Currently there is no preloader in the website. I'd like to add a custom made preloader in the website. Kindly please assign this issue to me.

@Yash-RajSingh It's already added.

@Yash-RajSingh It was already added. Let me check who removed that.

Okay got it!


add simple docker-compose example to readme

I like it when selfhostable services have a small docker-compose example. Even with the docker example it's one step more to get it running if you use compose (what most people probably do when selfhosting).

Thanks!


ExpansionPanel was renamed to Accordion

This is the warning message from material-ui:

react_devtools_backend.js:2273 Material-UI: the ExpansionPanel component was renamed to Accordion to use a more common naming convention.

Using:

{
    "private": true,
    "scripts": {
        "start": "webpack-dev-server",
        "build": "webpack -p"
    },
    "devDependencies": {
        "@babel/core": "^7.6.4",
        "@babel/plugin-transform-runtime": "^7.6.2",
        "@babel/runtime": "^7.6.3",
        "babel-loader": "^8.0.5",
        "copy-webpack-plugin": "^6.1.0",
        "core-js": "^3.3.2",
        "css-loader": "^4.2.1",
        "fable-compiler": "^2.10.2",
        "fable-loader": "^2.1.8",
        "file-loader": "^4.2.0",
        "html-webpack-plugin": "^3.2.0",
        "remotedev": "^0.2.9",
        "resolve-url-loader": "^3.1.0",
        "sass": "^1.26.10",
        "sass-loader": "^9.0.3",
        "selfsigned": "^1.10.8",
        "style-loader": "^1.2.1",
        "terser": "^4.3.9",
        "webpack": "^4.41.2",
        "webpack-cli": "^3.3.9",
        "webpack-dev-server": "^3.11.0"
    },
    "dependencies": {
        "@date-io/core": "^1.3.13",
        "@date-io/date-fns": "^1.3.13",
        "@material-ui/core": "^4.11.0",
        "@material-ui/icons": "^4.9.1",
        "@material-ui/lab": "^4.0.0-alpha.56",
        "@material-ui/pickers": "^3.2.10",
        "date-fns": "^2.16.1",
        "prop-types": "^15.7.2",
        "react": "^16.13.1",
        "react-dom": "^16.13.1",
        "react-markdown": "^4.2.2",
        "recharts": "^1.8.5",
        "remark-toc": "^7.0.0"
    }
}

Just use Mui.accordion. Both are documented and available for use in MUI, and thus bindings are available for both in Feliz.MaterialUI. As I understand it, this has nothing to do with the bindings. When MUI removes ExpansionPanel, it will also be removed from the bindings.
Feel free to clarify if I've missed something, though.

@cmeeren : My bad, thanks!


Fix Alumni missing pagination

This was left there due to the macro we initially had on the template. We missed it when we removed it.

Changes Unknown when pulling 17a2aedf4654c46ff8ca7788da57c1e76f858b49 on comzeradd:fix-alumni-pagination into ** on mozilla:master**.

r+ nice catch!

Changes Unknown when pulling 17a2aedf4654c46ff8ca7788da57c1e76f858b49 on comzeradd:fix-alumni-pagination into ** on mozilla:master**.


0.3.0: documentation build fails

+ /usr/bin/sphinx-build -n -T -b man doc-source build/sphinx/man
Running Sphinx v7.0.1
making output directory... done
[autosummary] generating autosummary for: 404.rst, Source.rst, api.rst, index.rst, license.rst, usage.rst
loading intersphinx inventory from https://docs.python.org/3/objects.inv...
loading intersphinx inventory from https://www.sphinx-doc.org/en/stable/objects.inv...
loading intersphinx inventory from https://sphinx-toolbox.readthedocs.io/en/latest/objects.inv...
loading intersphinx inventory from https://dom-toml.readthedocs.io/en/latest/objects.inv...
loading intersphinx inventory from https://domdf-python-tools.readthedocs.io/en/latest/objects.inv...
intersphinx inventory has moved: https://www.sphinx-doc.org/en/stable/objects.inv -> https://www.sphinx-doc.org/en/master/objects.inv
building [mo]: targets for 0 po files that are out of date
writing output...
building [man]: all manpages
updating environment: [new config] 6 added, 1 changed, 0 removed
reading sources... [ 83%] license
Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/sphinx/cmd/build.py", line 285, in build_main
    app.build(args.force_all, args.filenames)
  File "/usr/lib/python3.8/site-packages/sphinx/application.py", line 351, in build
    self.builder.build_update()
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 291, in build_update
    self.build(['__all__'], to_build)
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 311, in build
    updated_docnames = set(self.read())
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 418, in read
    self._read_serial(docnames)
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 439, in _read_serial
    self.read_doc(docname)
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 495, in read_doc
    publisher.publish()
  File "/usr/lib/python3.8/site-packages/docutils/core.py", line 234, in publish
    self.document = self.reader.read(self.source, self.parser,
  File "/usr/lib/python3.8/site-packages/sphinx/io.py", line 104, in read
    self.parse()
  File "/usr/lib/python3.8/site-packages/docutils/readers/__init__.py", line 76, in parse
    self.parser.parse(self.input, document)
  File "/usr/lib/python3.8/site-packages/sphinxcontrib/default_values/__init__.py", line 345, in parse
    super().parse(inputstring, document)
  File "/usr/lib/python3.8/site-packages/sphinx/parsers.py", line 80, in parse
    self.statemachine.run(inputlines, document, inliner=self.inliner)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 169, in run
    results = StateMachineWS.run(self, input_lines, input_offset,
  File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 233, in run
    context, next_state, result = self.check_line(
  File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 445, in check_line
    return method(match, context, next_state)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 3024, in text
    self.section(title.lstrip(), source, style, lineno + 1, messages)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 325, in section
    self.new_subsection(title, lineno, messages)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 391, in new_subsection
    newabsoffset = self.nested_parse(
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 279, in nested_parse
    state_machine.run(block, input_offset, memo=self.memo,
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 195, in run
    results = StateMachineWS.run(self, input_lines, input_offset)
  File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 233, in run
    context, next_state, result = self.check_line(
  File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 445, in check_line
    return method(match, context, next_state)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 2357, in explicit_markup
    self.explicit_list(blank_finish)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 2382, in explicit_list
    newline_offset, blank_finish = self.nested_list_parse(
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 316, in nested_list_parse
    state_machine.run(block, input_offset, memo=self.memo,
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 195, in run
    results = StateMachineWS.run(self, input_lines, input_offset)
  File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 233, in run
    context, next_state, result = self.check_line(
  File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 445, in check_line
    return method(match, context, next_state)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 2660, in explicit_markup
    nodelist, blank_finish = self.explicit_construct(match)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 2367, in explicit_construct
    return method(self, expmatch)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 2104, in directive
    return self.run_directive(
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 2154, in run_directive
    result = directive_instance.run()
  File "/usr/lib/python3.8/site-packages/sphinx_licenseinfo/__init__.py", line 99, in run
    distro = get_distribution(self.options["py"])
  File "/usr/lib/python3.8/site-packages/dist_meta/distributions.py", line 591, in get_distribution
    raise DistributionNotFoundError(name)
dist_meta.distributions.DistributionNotFoundError: sphinx-pyproject

Exception occurred:
  File "/usr/lib/python3.8/site-packages/dist_meta/distributions.py", line 591, in get_distribution
    raise DistributionNotFoundError(name)
dist_meta.distributions.DistributionNotFoundError: sphinx-pyproject
The full traceback has been saved in /tmp/sphinx-err-tkhmz8n6.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!

Here is list of installed modules in build env

Package                       Version
----------------------------- ---------
alabaster                     0.7.13
apeye                         1.4.1
apeye-core                    1.1.4
attrs                         23.1.0
autodocsumm                   0.2.11
Babel                         2.12.1
beautifulsoup4                4.12.2
build                         0.10.0
CacheControl                  0.13.1
charset-normalizer            3.2.0
click                         8.1.6
coincidence                   0.6.5
consolekit                    1.5.1
cssutils                      2.7.1
default-values                0.6.0
deprecation                   2.1.0
deprecation-alias             0.3.2
dict2css                      0.3.0
dist-meta                     0.8.0
distro                        1.8.0
docutils                      0.20.1
dom_toml                      0.6.1
domdf-python-tools            3.6.1
exceptiongroup                1.1.1
extras-require                0.5.0
filelock                      3.12.2
gpg                           1.20.0
handy-archives                0.2.0
html-section                  0.3.0
html5lib                      1.1
idna                          3.4
imagesize                     1.4.1
importlib-metadata            6.8.0
iniconfig                     2.0.0
installer                     0.7.0
Jinja2                        3.1.2
libcomps                      0.1.19
MarkupSafe                    2.1.3
mistletoe                     1.1.0
msgpack                       1.0.5
natsort                       8.3.1
packaging                     23.1
platformdirs                  3.10.0
pluggy                        1.2.0
pychoosealicense              2023.4.25
Pygments                      2.16.0
pypi-json                     0.4.0
pyproject_hooks               1.0.0
pyproject-parser              0.9.1
pytest                        7.4.0
pytest-datadir                1.4.1
pytest-regressions            2.4.2
pytest-timeout                2.1.0
python-dateutil               2.8.2
python-frontmatter            1.0.0
pytz                          2023.2
PyYAML                        6.0.1
requests                      2.31.0
ruamel.yaml                   0.17.32
ruamel.yaml.clib              0.2.7
seed-intersphinx-mapping      1.2.2
setuptools                    68.0.0
shippinglabel                 1.5.0
six                           1.16.0
snowballstemmer               2.2.0
soupsieve                     2.4.1
Sphinx                        7.0.1
sphinx_autodoc_typehints      1.22.0
sphinx-copybutton             0.5.1
sphinx-debuginfo              0.2.2
sphinx-jinja2-compat          0.2.0
sphinx-licenseinfo            0.4.0
sphinx-notfound-page          0.8.3
sphinx-packaging              0.2.0
sphinx-prompt                 1.6.0
sphinx-tabs                   3.4.1
sphinx-toolbox                3.5.0
sphinxcontrib-applehelp       1.0.4
sphinxcontrib-devhelp         1.0.2
sphinxcontrib-htmlhelp        2.0.3
sphinxcontrib-jsmath          1.0.1
sphinxcontrib-qthelp          1.0.3
sphinxcontrib-serializinghtml 1.1.5
sphinxemoji                   0.2.0
tabulate                      0.9.0
toctree-plus                  0.6.1
toml                          0.10.2
tomli                         2.0.1
typing_extensions             4.7.1
urllib3                       1.26.15
webencodings                  0.5.1
wheel                         0.41.1
whey                          0.0.24
zipp                          3.16.2

In description is "The SphinxConfig class will load the configuration from pyproject.toml".
Looks like this is not true and some data are obtained not from pyproject.toml but from module metadata.
As sphinx-pyproject uses whey as pep517 backend those metadata are generated and packaged but directory sphinx-pyproject.dist-info is deleted.
As long as sphinx-pyproject uses metadata this module is kind of useless because it is not possible to build documentation without installing module.


Centos-ks template render errors with rootEncryptedPassword is not defined with default options

I'm working through the installation effort of CentOS with the Vagrant/PXE demonstration setup. I'm leveraging the existing Graph.InstallCentOS graph, and my node has a no-op OBM service defined on it (the result of the demonstration flow from example/README)
The node:
{
  "identifiers": [
    "08:00:27:f4:ca:1f"
  ],
  "name": "08:00:27:f4:ca:1f",
  "obmSettings": [
    {
      "service": "noop-obm-service",
      "config": {}
    }
  ],
  "relations": [
    {
      "relationType": "enclosedBy",
      "targets": [
        "566af70a6826416b15fc6075"
      ]
    }
  ],
  "sku": "566af6477c5de76d1530d1f2",
  "type": "compute",
  "updatedAt": "2015-12-11T19:20:17.647Z",
  "id": "566af6c77c5de76d1530d1f3"
}

I posted to this node to invoke the Install CentOS workflow with the command:
curl -H "Content-Type: application/json" \
-X POST --data @samples/centos_iso_boot.json \ http://localhost:9090/api/1.1/nodes/566af6c77c5de76d1530d1f3/workflows

and the options for the workflow being:
{
    "name": "Graph.InstallCentOS",
    "options": {
        "defaults": {
            "obmServiceName": "noop-obm-service"
        },
        "install-os": {
            "repo": "{{api.server}}/Centos/7.0"
        }
    }
}

I unpacked the a CentOS installation ISO using: vagrant ssh
    cd /tmp
    # 636MB
    wget http://buildlogs.centos.org/rolling/7/isos/x86_64/CentOS-7-x86_64-Minimal.iso
    sudo python ~/src/on-http/data/templates/setup_iso.py /tmp/CentOS-7-x86_64-Minimal.iso /var/mirrors --link=/home/vagrant/src

which places the ISO repository into a location matching the "repo" stanza in the workflow options above (~/src/on-http/static/http/Centos/7.0).
the problem
The workflow processes through to installation, and the kickstart template rendering fails. The exception in the logs (on-http):
19:47:28 http.1   |  E 2015-12-11T19:47:28.154Z [on-http] [common-api-presenter] [Server] ejs:26
19:47:28 http.1   |      24|
19:47:28 http.1   |      25| #Set the root account
19:47:28 http.1   |   >> 26| rootpw --iscrypted <%=rootEncryptedPassword%>
19:47:28 http.1   |      27|
19:47:28 http.1   |      28| #create all users
19:47:28 http.1   |      29| <% users.forEach(function(user) { %>
19:47:28 http.1   |  rootEncryptedPassword is not defined
19:47:28 http.1   |   -> /lib/services/common-api-presenter.js:197
19:47:28 http.1   |  error:
19:47:28 http.1   |    stack:
19:47:28 http.1   |      - ReferenceError: ejs:26
19:47:28 http.1   |      -     24|
19:47:28 http.1   |      -     25| #Set the root account
19:47:28 http.1   |      -  >> 26| rootpw --iscrypted <%=rootEncryptedPassword%>
19:47:28 http.1   |      -     27|
19:47:28 http.1   |      -     28| #create all users
19:47:28 http.1   |      -     29| <% users.forEach(function(user) { %>
19:47:28 http.1   |      -
19:47:28 http.1   |      - rootEncryptedPassword is not defined
19:47:28 http.1   |      -     at eval (eval at <anonymous> (/home/vagrant/src/on-http/node_modules/ejs/lib/ejs.js:464:12), <anonymous>:36:23)
19:47:28 http.1   |      -     at returnedFn (/home/vagrant/src/on-http/node_modules/ejs/lib/ejs.js:493:17)
19:47:28 http.1   |      -     at Object.exports.render (/home/vagrant/src/on-http/node_modules/ejs/lib/ejs.js:315:37)
19:47:28 http.1   |      -     at /home/vagrant/src/on-http/lib/services/common-api-presenter.js:242:34
19:47:28 http.1   |      -     at tryCatcher (/home/vagrant/src/on-http/node_modules/on-core/node_modules/bluebird/js/main/util.js:26:23)
19:47:28 http.1   |      -     at Promise._settlePromiseFromHandler (/home/vagrant/src/on-http/node_modules/on-core/node_modules/bluebird/js/main/promise.js:505:31)
19:47:28 http.1   |      -     at Promise._settlePromiseAt (/home/vagrant/src/on-http/node_modules/on-core/node_modules/bluebird/js/main/promise.js:581:18)
19:47:28 http.1   |      -     at Promise._settlePromises (/home/vagrant/src/on-http/node_modules/on-core/node_modules/bluebird/js/main/promise.js:697:14)
19:47:28 http.1   |      -     at Async._drainQueue (/home/vagrant/src/on-http/node_modules/on-core/node_modules/bluebird/js/main/async.js:123:16)
19:47:28 http.1   |      -     at Async._drainQueues (/home/vagrant/src/on-http/node_modules/on-core/node_modules/bluebird/js/main/async.js:133:10)
19:47:28 http.1   |      -     at Async.drainQueues (/home/vagrant/src/on-http/node_modules/on-core/node_modules/bluebird/js/main/async.js:15:14)
19:47:28 http.1   |      -     at process._tickDomainCallback (node.js:459:13)
19:47:28 http.1   |    arguments:
19:47:28 http.1   |      - rootEncryptedPassword
19:47:28 http.1   |    type:      not_defined
19:47:28 http.1   |    message:
19:47:28 http.1   |      """
19:47:28 http.1   |        ejs:26
19:47:28 http.1   |            24|
19:47:28 http.1   |            25| #Set the root account
19:47:28 http.1   |         >> 26| rootpw --iscrypted <%=rootEncryptedPassword%>
19:47:28 http.1   |            27|
19:47:28 http.1   |            28| #create all users
19:47:28 http.1   |            29| <% users.forEach(function(user) { %>
19:47:28 http.1   |        rootEncryptedPassword is not defined
19:47:28 http.1   |      """
19:47:28 http.1   |  path:  /templates/centos-ks
19:47:36 http.1   |  E 2015-12-11T19:47:36.855Z [on-http] [Services.ErrorPublisher] [Server] Event Loop Blocked
19:47:36 http.1   |   -> /node_modules/on-core/lib/services/error-publisher.js:93
19:47:36 http.1   |  host:     rackhd-demo
19:47:36 http.1   |  name:     on-http
19:47:36 http.1   |  severity: error
19:47:36 http.1   |  ms:       107

Hi @heckj:
The rootPassword is a required option for install-os, if not specified, the render error is expected for our current design. The option "version" is same as well.
About why I haven't added the assertion for rootPassword, I have described in the code (https://github.com/RackHD/on-tasks/blob/master/lib/jobs/install-os.js#L71-L80)
Even so, we still can have some improvement:

Add the required options to the workflow definition, so you will not forget to specify this value.
Add a default rootPassword if no password is specified.

Thanks @yyscamper
I totally understand making the root password a required value for the task, the problem that I ran into was that it wasn't documented and there was no way to tell other than a template rendering failing in the logs - nothing in any of the REST API responses indicated a required value wasn't available.
I like both of your ideas for a "belt and suspends" solution to quick usage of our system, and was what I was thinking would be good solutions up front. We have also identified needing documentation for tasks to help offset this. As I was reading through this I thought of one more - probably more generally for workflows (@benbp):
The solutions above solve issues for the workflows we've created and are using, but our system is predicated around folks making their own workflows, where they may not realize these same kinds of issues. I think it would be a significant improvement if we could validate the options sent in for graphs (workflows) so that it was obvious at creation time. For example, use the required options for each of the tasks and defaults from the workflow files, and determine if any of the constraints are missed - like the required "root password" option in this case.
The second is deeper and more subtle, but under the idea that a user may not have access to the logs, when we have a template rendering failure, can we improve the information/error message that's included in the resulting workflow to identify what the template value was and that it was missing. That way there's sufficient information in the API response for the failed workflow for a user to know what's gone wrong.

One thing that will help with the refactor is that we are now doing the validation up front, so you will get failures immediately. Part of the challenge here is we are
using a task that is essentially polymorphic, but without being able to properly provide more than one schema. @jlongever and I have talked a little bit about the idea of having multiple optional schemas defined against a job when we do the work to move base task definitions into the jobs.

@heckj:
We have documented in Confluence for which options are required for install-os, but that's not available  for open source user. I agree we have to improve the error message to tell user the exact cause when a failure happens. But there is a challenge that I described in the code (https://github.com/RackHD/on-tasks/blob/master/lib/jobs/install-os.js#L71-L80), as not all OS installation has supported these options, I have to add some code especially for ESXi/RHEL/CentOS. Personally these kinds of particular code is something I want to avoid but seems I still need to do this before other OS install job ready.
@benbp:
For the idea about  multi schema for task, that's good idea, I totally agree we need this.
For the up front validation, I just wanted to proposal this last week, but forgot :(. Currently the install-os workflow begins to validate the option when a task is scheduled, but the system has been pxe rebooted and around 5 min has passed, even for a very simple validation failure! Move the validation work up-front will give user a very quick error message for such simple error. However if only check the requiredOptions or the type in task schema (such as it should be a String, Number or Array...),  though this is basically required, it is still not enough, I think we need consider following cases:

How about if option is passed from context? Context value is get during workflow runtime, we need to separately validate the immediate value and context value.

How about some relative complex logic?
Following kind of validation is very common, but it is task specified and can be done up-front. Have we ever considered to support this in up-front validation?

For example:
if (options.vlanId < 0 || options.vlanId >= 4096) {
    throw new ValidationError('vlanId is not in required range');
}

if (options.raidType == 'raid1') {
     if (options.physicalDriveNumer <= 1) {
           throw new ValidationError('physical drive number must be at latest 2 for RAID1');
    }
} else if (options.raidType == 'raid5') {
    if (options.physicalDriveNumber <= 2) {
         throw new ValidationError('physical drive number must be at least 3 for RAID5');
   }
}

Guys, I had just filed and PR with regarding the short term solution, which is to set a default root password. Please let me know if this is not expected.

@heckj where is the most suitable document for me to specify the default password please?

We don't yet have annotated documentation for our tasks or graphs (pending spec to enable that), so in the meantime my opinion is the best place would be with our user's guide until we have that in place. Likely the document specific to workflows: https://github.com/RackHD/docs/blob/master/docs/rackhd/graphs.rst

Thanks Joe. Seems we have to wait till the spec reaches the install OS section.

Hi,guys.I am sorry to disturb you.
I am just doing the steps like the @heckj  doing.But client can not get the centos.ks file.The picture can show you.
And the client start Dracut Emergency shell .

Hey @Gary15, not a problem. Probably better for this to be a separate issue, since I don't think it's related to the specifics of the kickstart since you don't appear to be getting that far from your image. I'll open another issue and do some digging to see if I can help point in how to troubleshoot this.


IMN-112: tenant helpers in tenant

In this task we are implementing various helper functions that will be used by multiple POST routes

a couple of points:
* let's avoid to create a PR with just helpers, because it's difficult to see if they are used, or if they are used properly or if they require improvements. Generally let's create a helper in the same PR where it is used

* the scope of the PR is not crystal clear, it should add helpers, but it contains also `createTenant` and `updateTenantAttribute` logic, plus different unrelated changes

* when possible prefer several small PRs compared to one big PR containing everything (a PR with just one file or few lines changed is perfectly fine)

* there are functions created in this PR that have been immediately changed by dependant PRs (like the `updateTenantAttributeLogic`). This basically implies a double review and the double changes are difficult to follow

Please remember to delete all helpers that are not currently used here or in the dependent PRs, they will be added only when actually required.

My thought was to create a PR that would serve commonly used functions between the routes but I can see how this would be problematic in review.
Initially the createTenant,updateTenantAttribute and updateTenantAttributeLogic intended to replace the calls to the management we did before in order to be commonly used by all the routes that required those but later we changed mind on this as you saw on a dependent PR.


Remove Farm.addCrows patch

Hi, I've removed the patch to Farm.addCrows, because it prevents other patches from modifying that method and as far as I can see is both broken (it doesn't account for deluxe scarecrows or other objects with scarecrow context tags, doesn't add crows, and doesn't call the proper crop removal) and pointless (it seems to just change the chance of checking from 33% to 100%).
It's not even in the mod description on Nexus Mods.

oops, nevermind, this won't work - it needs to be transpiled I guess.

@aedenthorn This mod just copies the original pre-1.5 addCrows and removes the bigcraftable-only check. Stardew Valley 1.5.5 adds obj.IsScarecrow() and GetRadiusForScarecrow() which would be useful, but it's still restricted to bigcraftables. The upcoming Stardew Valley 1.6 allows non-bigcraftable scarecrows, so it won't need this patch anymore then.

Yes, I'm sorry for wasting your time, I should have tried to understand better before submitting this!


Ignore gradle wrapper download directory

This patch adds gradle wrapper download directory to .gitignore

This was fixed in KAFKA-1960 and https://github.com/apache/kafka/commit/d5fbba633612fd08f15c523362a0c1ff5a121ff2


rabbitmq-server: bump & set new maintainer

Motivation for this change
Since https://github.com/NixOS/nixpkgs/pull/134075 the package was unmaintained.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/rabbitmq-needs-a-new-maintainer/14545/5

Result of nixpkgs-review pr 134443 run on x86_64-darwin 1

1 package built:

rabbitmq-server

Thank you for this PR!
It looks good to me, I just want to wait for the CI to see what it says for aarch64.

Needs a rebase after #134489 @Mic92

Done.


Introspection.findGetter() should check "has" prefix for finding boolean properties

Summary
Introspection.findGetter method only attempt to use "is" prefix to find boolean properties in a class. It should also try "has" as it is a frequently used prefix for boolean properties.

findGetter is in line with the Oracle's JavaBeans specification, chapter 8.3.2:

In addition, for boolean properties, we allow a getter method to match the pattern:
public boolean is<PropertyName>();

This “is” method may be provided instead of a “get” method, or it may be provided in addition to a “get” method.
In either case, if the “is” method is present for a boolean property then we will use the “is” method to read the property value.
An example boolean property might be:
public boolean isMarsupial();
public void setMarsupial(boolean m);

Honestly, I couldn't come up with any boolean property name that would have a meaningful "has" method. "has" feels more natural with collections, for example.
Could you provide a concrete example?

“has” prefix is often prefered to express the notion of an object HAVING a value or a characteristic instead of the notion of an object BEING of a certain kind or in a certain state.
Example:
interface Car {
    boolean isCabriolet();   // "is" prefix ok
    boolean isParked();

    boolean hasABS();        // "has" prefix is a better choice here than any isXXX
    boolean hasESBAudio()
}

But thinking a bit further, I find cases where the behavior could be ambiguous, such as when a class has a getXXX AND a hasXXX (like the classes generated by Google protobuf Generator). It would be difficult to tell AssertJ to call the getXXX method instead of the hasXXX method (or vice versa).
Thus I'm going to close this thread, because it could do more harm than good.


Shrink docker image size

By removing the unused npm module material-design-icons and moving most python package installation to another stage I managed to shrink the docker image size from ~340MB (127MB compressed) to ~94MB (34MB compressed).
For some reason I just couldn't get the gunicorn binary to copy over to the production image so theoretically it could be even smaller.

Some issues found I'll reopen once fixed

Thanks!

No problems found. I was just running an older image xD

Doesn't work for me sadly!? In the final image the connection is refused.
Looks like gunicorn is not working properly. The vue-client is online but no backend-connection is possible.
And I did sadly not find a way to copy gunicorn to the production either :/

Ah shoot. That's odd that it worked once but not the other time for me. Any significant logs? I'll try figure it out later, at worst I guess I could try out different wsgi servers

No significant logs.
Well, gunicorn was no problem until now... I would be happy to keep it.

After many frustrations I managed to get the Dockerfile to cooperate and it now works with the added bonus of coming in even smaller at 73MB

Awesome 😃  Thank you very much!


IOTA-41: Spring dependency injection for fey performers

Our proposed implementation consists of creating a class that extends the original FeyGenericActor (named FeyGenericSpringActor), which allows for one more argument to be passed within its constructor, which is a String containing a path for the XML file containing that actor's Spring context, which can be an absolute or relative filesystem path (relative to the current VM working directory) or obtained from the classpath (by specifying a "classpath:" prefix); other protocols and prefixes may be supported by the Spring framework. The new actor class has two attributes: an ApplicationContext and its AutowireCapableBeanFactory, which will allow us to instantiate the beans specified in the actor's context.
Other modifications to the fey engine core include the necessary changes related to parsing the orchestration JSON: adding an entry for the actor context's file path on the JSON validator and parser method, along with a conditional check to see if a path to the actor's context was specified in the JSON, so that fey will instantiate a FeyGenericSpringActor instead of a FeyGenericActor.
Lastly, we've created a FeyApplicationContext.xml, which should be the parent context to all actor contexts created, and will contain useful universal declarations. For now, all it does is enable annotation usage in all Spring actors.

@cristofolini can you add IOTA-41 in the PR description? Because of the missing "-" Jira is not linking this PR to the ticket.

@rafaelweingartner I've changed the PR title to include the "-" and now the JIRA ticket is linking to it.
I think an example with Spring actors is a  pretty good idea. Let me think something up.

@cristofolini Could you write some unit tests related to this PR?
It would be nice to have some tests that uses the Spring framework.

@barbaragomes I've added a couple unit tests, one to check that a context is loaded and one to check that a factory is instatiated. I want to get some feedback on two things:

Am I doing this right? I'm completely new to Scala and these are the first tests I ever coded (in Scala, anyway) and mostly based myself on the other tests that are implemented;

Anything else that needs testing? Let me know if there's anything else I should cover.

@rafaelweingartner I've changed the autowiring method to by_type.

@rafaelweingartner All it does right now is assert that an ApplicationContext and a BeanFactory are created when a proper contextPath is present.
I agree that we should have tests for when it isn't. I can see about writing those as well.

Just to update everyone here.
This PR passed in out simple test cases scenarios, but when we started using it in a production system, it did not work properly. There is a problem on how the class loaders of different agents are being managed. We are working to fix it and then add it here.


gltfpack - Would it be possible to get the ability to specify -tu or -tc per texture index ?

Hi, we would like to apply different levels of compression to individual textures. Would it be possible to add optional arguments to -tu and -tc specifying which index they should be applied to.
Ex: -tu 0,1 -tc 2 would apply -tc to material index 2 and -tu to 0 and 1

This is certainly possible in theory but the indexing seems rather fragile. I was thinking at some point to implement mode selection that varies by type (e.g. normalmaps use -tu) - any chance this maps to your use case better? IOW how are you planning to determine index values that you pass?

Linking it to the GLTF descriptors would be great too, if we could say 'diffuseTexture' or 'occlusionTexture' etc.
We need to be able to address any texture in the GLTF arbitrarily. i.e. if we have a diffuse texture, an occlusion map, an emissive map etc. we want to be able to specify compression settings for each individually if we want to, rather than having general groupings.

Does that mean a type specific setting  isn’t sufficient? How will the settings be determined in that case for different textures of the same type?

Hmm -tu diffuseTexture,occlusionTexture,etc.. -tc emisiveTexture,normalTexture would work as optional param. If you have some better idea, open to that too !

I was thinking about this and one downside to type-based selection is that there are lots of different texture types now due to the plethora of material extensions, and they keep being added. Full list at this point:
baseColorTexture
metallicRoughnessTexture
diffuseTexture
specularGlossinessTexture
clearcoatTexture
clearcoatRoughnessTexture
clearcoatNormalTexture
transmissionTexture
specularTexture
specularColorTexture
sheenColorTexture
sheenRoughnessTexture
thicknessTexture
normalTexture
occlusionTexture
emissiveTexture

That's a lot of different types and this list will keep growing - I'd like to keep the interface simpler so that it can be configured using "reasonable" defaults once. I'm wondering if it would be reasonable to, as a first cut, categorize this as:

"color" - would apply to any texture that contains a color, such as baseColor, diffuse, specularColor, etc.
"normal" - would apply to any texture that contains a normal, such as normal, clearcoatNormal
"attribute" - would apply to any texture that contains attributes used in shading, e.g. metallicRoughness, transmission

This would dramatically simplify the usage, and maintain forward compatibility for future material extensions. This split specifically is also important because these texture classes have different color/data spaces - "color" is sRGB, "normal" is vectors encoded as RGB, "attribute" is linear. The differences between different compression formats are often more pronounced in one vs the other.
One other possibility is that if this split is too coarse, we could have two classes for "color" - maybe "baseColor" and "color", with the notion that "baseColor" may require higher precision as it's more obviously visible during shading, whereas other color textures (emissive, specularColor) don't always need the full precision. We could alternatively call "baseColor" "diffuse".
Please let me know if one of these would work.

I would personally take complexity and flexibility over keeping the interface simple, but reasonable defaults would make sense. I think 'color', 'normal' and 'attribute' classifications would work as a first stab, but it would be preferable to then have an override that works on top of this. E.g. I have a diffuseTexture, emissiveTexture and clearCoatTexture - perhaps I will want stronger compression for clearCoatTexture than the rest, because it's doing less work, so I'd be happy having a parameter that sets compression to apply for all 'color' textures, and then a separate override for clearCoatTexture.

Alright, given that right now there's no configuration options I will start with just the class-based differentiation and then we'll see based on specific examples that don't fit that well whether it's critical to have further configuration options and what the best option would be (e.g. it's possible that with this we would either not need anything else because all interesting examples where the tradeoff of quality/space is valuable are covered by this, or it's possible that if that is insufficient you actually need per-texture control to be able to say that a diffuse texture A needs UASTC quality 10 and a diffuse texture B actually just needs ETC1S quality 5). So I'm going to go ahead and implement the proposal above, and if we find that in many cases it's insufficient a different solution would be implemented on top.


[Foundation] UUID: LosslessStringConvertible

UUID already conforms to CustomStringConvertible,
but in documentation its description property
is only a "textual description of the UUID."
LosslessStringConvertible conformance will make:

description and uuidString equivalent;
"\(UUID())" interpolation more useful;
String(UUID()) creation possible.

@parkera Please let me know if these changes can be accepted into the Foundation overlay (and also swift-corelibs-foundation).

Can you expand a bit on what the benefits of adopting the protocol are?
Also, I think we may not be able to do this until Swift provides an ABI-compatible way to adopt an existing protocol on an existing type.

Can you expand a bit on what the benefits of adopting the protocol are?

There may be existing code that relies on "\(uuid)" interpolation:

either accidentally if "\(uuid.uuidString)" was intended;

or on purpose if someone looked at the implementation and unit test.

If you want to guarantee that description and uuidString are equivalent, updated documentation would be one option, but this isn't always reliable (for example, NSDatas description no longer matches its documentation). The new conformance would be a stronger guarantee.

Also, I think we may not be able to do this until Swift provides an ABI-compatible way to adopt an existing protocol on an existing type.

OK, I didn't realize that. I also forgot to add an @available placeholder to the new initializer. Do you want to close this PR for now?

We can close it, and I've filed a radar for us to track the idea internally as well (rdar://problem/57847799)


Update link to Releases.

Update broken, relative link in the README to point to the right Releases page.

 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.


wrong proof of theorem 1 in the paper?

I was reading the CVPR paper and confused by the following highlighted statements in proof of theorem 1:

Could you explain why there must exist some x ′ != x such that p(x ′ ) < q(x ′ ) with f(x ′ ) = f(x) and g(x ′ ) = g(x)?
Especially, I don't think we can ensure g() will ever map two inputs to the same vector. I feel like some assumptions are missing here?

Given f and g, the joint distribution of y and z is determined by the distribution of x. Suppose an x maps to (y, z) and p(x) > a > q(x) for some value a between 0 and 1, then we have p(y, z) >= p(x) > a. If x is unique so there's no other x' such that q(x') > 0 and it maps to the same (y, z), then we have q(y, z) = q(x) < a. It follows that p(y, z)  > q(y, z).
I don't quite understand the second issue you raised. Could you elaborate?

I would like to first get some clarification, because I believe:

g() is a feature mapping function that maps an image x to an embedding z. However, the paper didn't define this mapping, only stated it will be trained end-to-end. Therefore, I think it is okay for g() to be an identity function in the context of theorem 1.
qhat and phat (of theorem 1) are different from the actual distribution p and q?

Yes, we didn't define this mapping explicitly. It stands for the mapping induced by the feature extractor, and the mapping changes as we train the extractor. The point is that when the network attains the theoretically optimal performance on the environment classification task, the extractor g() must have learned some particular mapping so that p(y, z) = q(y, z).
Yes, they are different because z is the extracted feature, which is undefined in the data distributions, p and q. Here I abused the notation for simplicity.


Allow debugger statements in development JS

fixes https://github.com/roots/sage/issues/1480
cc @aaemnnosttv

I need some help with the decision to fail the JSHint task.
When JSHint fails:

what should happen when in development mode?
what should happen when in --production mode?

I was thinking that JSHint should give "by the way" warnings in development but fail production builds. But I'm unsure if this is the way to go. Really would appreciate feedback.
On one hand it makes sure no bad/dangerous code makes it to production. On the other: if you ignore the development JSHint warnings you will be unable to deploy until you pay the JSHint debt.

The "by the way" warnings are a good idea. One long list of all the changes that need attention is better than just the first fault that has caused the build to fail.
I agree with your thinking that it should be a fail in --production as well. Perhaps document that they need to run in development mode to list the fixes required.

I agree with @Foxaii - I think it's best if during development it just provides warnings, and during production it should fail. Documentation is a good think to bring up too, thanks for mentioning that!

Perhaps document that they need to run in development mode to list the fixes required.

@Foxaii: in both cases it lists all the errors you need to fix. The only difference is that the production build will fail to compile.

Nice to know but that doesn't change my agreeing with you, @austinpray.

ping @aaemnnosttv, curious to see what you think about this.

@austinpray I think it's a great solution.  Great job :+1:


Updated s3upload to take a raw array of files as an alternative to a file input

Not sure if you're at all interested, but I needed this for my application. S3Upload can now take an array of files as a constructor parameter rawFiles instead of just a file input DOM node.

So how does the user get a handle to these rawFiles?  And once they have them, do they just have to set s3upload.rawFiles = files or something?  Do you think you can describe the use case a little better?
Thanks!

I like the abortUpload functionality you added.  If you want to put that in componentWillUnmount and submit a PR without some of your more specific changes (like checking req.user), I'd love to get some of these changes into master.

Closing in favor of #25, which was certainly inspired by this PR.  Thanks!


Migration to DDS

This is an issue discussing how to migrate this app to DDS.
At the moment, this uses 2 Heroku features:

S3 Bucketeer: A heroku add-on that manages a AWS S3 Storage Bucket for a heroku app.
Heroku Redis: Heroku's redis platform.

At the moment the S3 storage is directly created by heroku. In order to migrate to DDS, we will need to create a bucket (using plotly's credentials), and update the credentials of the app using that bucket. We then will need to create a DDS deployment and setup Redis.

https://github.com/plotly/streambed/issues/12936#issue-438813440
workaround : create an S3 bucket and corresponding key etc (or equivalent GCP service?) and reconfigure the app we host on DDS to use that bucket instead of the one provided by Bucketeer.

I'm trying to run this locally for the first time and encountering the same issue. I have an S3 bucket I set up manually (not using bucketeer) but am getting the error:
botocore.exceptions.ParamValidationError: Parameter validation failed: Invalid type for parameter Bucket, value: None, type: <class 'NoneType'>, valid types: <class 'str'>
Not sure I understand why? I don't want to use the DDS as both Heroku and AWS provide credits to us.


[FLINK-36466][runtime] Change default value of execution.runtime-mode from STREAMING to AUTOMATIC

What is the purpose of the change
Change default value of execution.runtime-mode from STREAMING to AUTOMATIC to fix shouldExecuteInBatchMode is incorrect when doesn't set execution.runtime-mode.
Brief change log

Change default value of execution.runtime-mode from STREAMING to AUTOMATIC
Add more validation in shouldExecuteInBatchMode.

Verifying this change
Verify by StreamGraphGeneratorTest.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

To be honest, I didn't realize there was going to be something unexpected here.
If all source are bounded, flink does not require that the job be executed in batch mode. In contrast, flink has the concept of bounded stream(obviously, in streaming mode).

Okay, I may have misunderstood the concept. So if you think there is no need to change the default value here, this pr can be closed, I will continue to learn about this concept.


[database] Get backups setup

Might be able to copy/paste a lot of what we did in v1.

Done, backup creation & upload to S3 confirmed

Closing


Kubeflow website should have a site search

/area docs-ux

We're investigating the Docsy theme, which does have a search. See issue #291.

/assign

The Docsy theme includes the option to add a site search:
https://testydocsy.netlify.com/docs/getting-started/#configure-search
The search uses Google Custom Search Engine:
https://cse.google.com/cse/
This means we'll have ads appearing in the search box. I chatted to one of the Kubeflow product managers within Google. We both think it's important to have a search on the site, even with the ads.

/close


Fix MarkdownCode and MarkdownCodeEscaping regular expressions issue

This update solves the MarkdownCode and MarkdownCodeEscaping regular expressions issue.
MarkdownCode

Regex before update: https://regex101.com/r/5LSCqF/1
Regex after update: https://regex101.com/r/Y6Yqdo/1 (Regex from #11)

MarkdownCodeEscaping

Regex before update:  https://regex101.com/r/fSqXFY/1/
Regex after update: https://regex101.com/r/JgSVW0/1

The MarkdownCodeEscaping update fixes the character escaping issue (#21).

Since the maintainer has not responded, I have cloned and renamed this project, and merged most of the outstanding PRs manually. New PRs are welcomed as well.  https://github.com/davidlari/Haring


min-safe-ts: fix MinSafeTS might be set to MaxUint64 permanently

related #991
cherry-pick https://github.com/tikv/client-go/pull/994
The core question is the getter

we introduce PD API to not execute go func which for KV request, resulting in not updating safeTSMap.

updateMinSafeTS relies on  safeTSMap which makes sense(because actually, we can call updateMinSafeTS to kvReuqestUpdater[to indicate func base]).

And we need to update minsafeTS to make sure when API fails we can fall back to the original way which is by kv request.
But the core problem is:  updateMinSafeTS will return maxUnit64 when the first kv request returns 0 and then although PD API returns correctly[maybe kv is not initialized], TS can not change maxUnit64.

to resolve this question, we need to regard maxUnit64 as 0 which means there is an initial state.

@JmPotato @nolouch PTAL as well, thx!