Unable to run Ansible with new layout

Bug Report
What did you do?
$ operator-sdk init --plugins=ansible
$ operator-sdk create api --group cache --version v1 --kind Memcached --generate-role

Update the docker image to use the master version:
 $ cat Dockerfile
FROM quay.io/operator-framework/ansible-operator:master

COPY requirements.yml ${HOME}/requirements.yml
RUN ansible-galaxy collection install -r ${HOME}/requirements.yml \
 && chmod -R ug+rwx ${HOME}/.ansible

COPY watches.yaml ${HOME}/watches.yaml
COPY roles/ ${HOME}/roles/
COPY playbooks/ ${HOME}/playbooks/

gen and push the operator image

$ make docker-build docker-push IMG=quay.io/camilamacedo86/memcached-operator:v0.0.1

deploy and check the logs

make deploy IMG=quay.io/camilamacedo86/memcached-operator:v0.0.1

$ kubectl logs deployment.apps/memcached-operator-controller-manager  -n memcached-operator-system -c manager
unknown flag: --enable-leader-election
Usage of /usr/local/bin/ansible-operator:
      --ansible-collections-path string   Path to installed Ansible Collections. If set, collections should be
                                          			located in {{value}}/ansible_collections/. If unset, collections are
                                          			assumed to be in ~/.ansible/collections or
                                          			/usr/share/ansible/collections.
      --ansible-roles-path string         Ansible Roles Path. If unset, roles are assumed to be in {{CWD}}/roles.
      --ansible-verbosity int             Ansible verbosity. Overridden by environment variable. (default 2)
      --inject-owner-ref                  The ansible operator will inject owner references unless this flag is false (default true)
unknown flag: --enable-leader-election
      --max-workers int                   Maximum number of workers to use. Overridden by environment variable. (default 1)
      --reconcile-period duration         Default reconcile period for controllers (default 1m0s)
      --watches-file string               Path to the watches file to use (default "./watches.yaml")
      --zap-devel                         Enable zap development mode (changes defaults to console encoder, debug log level, disables sampling and stacktrace from 'warning' level)
      --zap-encoder encoder               Zap log encoding ('json' or 'console')
      --zap-level level                   Zap log level (one of 'debug', 'info', 'error' or any integer value > 0) (default info)
      --zap-sample sample                 Enable zap log sampling. Sampling will be disabled for integer log levels > 1
      --zap-stacktrace-level level        Set the minimum log level that triggers stacktrace generation (default error)
      --zap-time-encoding timeEncoding    Sets the zap time format ('epoch', 'millis', 'nano', or 'iso8601') (default )

What did you expect to see?
The operator working successfully
What did you see instead? Under which circumstances?
It's unable to work with the leader election flag.
Environment

operator-sdk version: 62a8f29d9c1c5944dbc968a22f13973fbaf17f29

I'm not able to reproduce this issue:
I ran:
#!/usr/bin/env bash

NAME="quickstart-ansible-operator"
export IMG=quay.io/joelanford/$NAME

rm -rf $NAME
mkdir $NAME
cd $NAME
operator-sdk init --plugins=ansible

sed -i 's/v0.19.0/master/' Dockerfile

operator-sdk create api --group cache --version v1 --kind Memcached --generate-role
make docker-build docker-push
make deploy

Then:
$ k logs -n quickstart-ansible-operator-system quickstart-ansible-operator-controller-manager-bc59c9bc9-ww88n manager
{"level":"info","ts":1595873809.341081,"logger":"cmd","msg":"Go Version: go1.13.14"}
{"level":"info","ts":1595873809.3411021,"logger":"cmd","msg":"Go OS/Arch: linux/amd64"}
{"level":"info","ts":1595873809.3411086,"logger":"cmd","msg":"Version of operator-sdk: v0.19.0+git"}
{"level":"info","ts":1595873809.3416684,"logger":"cmd","msg":"Watching all namespaces.","Namespace":""}
{"level":"info","ts":1595873810.2979023,"logger":"controller-runtime.metrics","msg":"metrics server is starting to listen","addr":"<IP_ADDRESS>:8080"}
{"level":"info","ts":1595873810.2988255,"logger":"watches","msg":"Environment variable not set; using default value","envVar":"ANSIBLE_VERBOSITY_MEMCACHED_CACHE_MY_DOMAIN","default":2}
{"level":"info","ts":1595873810.2989738,"logger":"cmd","msg":"Environment variable not set; using default value","Namespace":"","envVar":"ANSIBLE_DEBUG_LOGS","ANSIBLE_DEBUG_LOGS":false}
{"level":"info","ts":1595873810.2989926,"logger":"ansible-controller","msg":"Watching resource","Options.Group":"cache.my.domain","Options.Version":"v1","Options.Kind":"Memcached"}
{"level":"info","ts":1595873810.300812,"logger":"proxy","msg":"Starting to serve","Address":"<IP_ADDRESS>:8888"}
{"level":"info","ts":1595873810.3008678,"logger":"controller-runtime.manager","msg":"starting metrics server","path":"/metrics"}
I0727 18:16:50.300840       7 leaderelection.go:242] attempting to acquire leader lease  quickstart-ansible-operator-system/quickstart-ansible-operator...
I0727 18:16:50.307829       7 leaderelection.go:252] successfully acquired lease quickstart-ansible-operator-system/quickstart-ansible-operator
{"level":"info","ts":1595873810.3082283,"logger":"controller-runtime.controller","msg":"Starting EventSource","controller":"memcached-controller","source":"kind source: cache.my.domain/v1, Kind=Memcached"}
{"level":"info","ts":1595873810.4085793,"logger":"controller-runtime.controller","msg":"Starting Controller","controller":"memcached-controller"}
{"level":"info","ts":1595873810.4086237,"logger":"controller-runtime.controller","msg":"Starting workers","controller":"memcached-controller","worker count":16}

Hi @joelanford,
after removing my kind cluster and re-created it and re-testing again it works. Probably it had an old sdk image loaded which had not it fixed. Closing,

@camilamacedo86 Great!
For future reference: if you use :latest as your image tag, the default imagePullPolicy will be Always and the cluster will always try to pull the latest image with that tag.
Other tags will default the imagePullPolicy to IfNotPresent, in which case the cluster will use a locally cached (and possibly stale) copy if it is already present locally.


feat(theme-classic): allow collapsing part of code blocks

Motivation
Resolve #2215. I need this because most of the config tutorials on the website contain a lot of boilerplate to provide the context, but collapsing them makes the doc much more concise.
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
Preview: https://deploy-preview-5783--docusaurus-2.netlify.app/docs/next/sidebar/#collapsible-categories

TODO

[ ] Collapsing animation (using <Collapsible>)
[x] Better design (button color; icon; a boundary between collapsible parts and non-collapsible ones)
[ ] Add a config option for default collapsed state?
[ ] Write docs
[ ] More usage on the website

Does it really need to be in core? Maybe we can instead think of a more generic API so that users can build this kind of feature in userland, inventing their own markers? => smaller and more flexible API surface => less to maintain

Sure, now we are back to the question of allowing more markers 👍 I'll look into making parseLines more generic & extensible.

Now that #7178 is merged, I will be closing this, because I feel like this is better implemented in userland, since different people will have ideas about different UX with such complicated feature. The linked issue will be closed as well.
cc @hamza1311 I know Yew will benefit from this, but feel free to swizzle CodeBlock and port the changes in this PR there.


Lockups within the first 20 turns, ever start

I see a couple of specific lockup issues, but mine seem random.

Hmm. I'll look into it. If you're able to find any way to reliably reproduce the issue it would be helpful.

So I have a sneaking suspicion that this reported crashing is related to this one reported on the forums: https://forum.outpost2.net/index.php/topic,5718.msg89551.html#msg89551
What I've found so far is that some structures are (so far the Nursery and Red Light District) are incorrectly marked as Mine Facility and Residential, respectively.
I have a pretty good idea of where to look in the code but this highlights that there should be some sort of sanity checking when instantiating new structures to check that the type received is the type requested.


Automatic builds of latest (or all) Babel versions

Hey,
I also think having this browser.js functionality is great for client only prototyping and examples on the web, so would be great to keep it running.
But it's not reasonable to keep this up to date manually, so maybe a good automatised build chain could take care of things? So I'm thinking something along the lines of GreenKeeper creating PRs of new versions of Babel, Travis building a bundle and CDNJS hosting all versions.
Is this something you'd be up for setting up? I wouldn't mind lending a hand and I'm sure others would be happy to chip in. All these services I mentioned should be free for open source projects.

Sure, I'm happy to set something up :) I'll take  a look at this soon.
Sent from my phone.
On Jan 8, 2016 8:35 PM, "Daniel Demmel"<EMAIL_ADDRESS>wrote:

Hey,
I also think having this browser.js functionality is great for client
only prototyping and examples on the web, so would be great to keep it
running.
But it's not reasonable to keep this up to date manually, so maybe a good
automatised build chain could take care of things? So I'm thinking
something along the lines of GreenKeeper http://greenkeeper.io/
creating PRs of new versions of Babel, Travis https://travis-ci.com/
building a bundle and CDNJS https://cdnjs.com/ hosting all versions.
Is this something you'd be up for setting up? I wouldn't mind lending a
hand and I'm sure others would be happy to chip in. All these services I
mentioned should be free for open source projects.
—
Reply to this email directly or view it on GitHub
https://github.com/Daniel15/babel-standalone/issues/3.

This would be great since we are using babel-standalone for the repl atm and it would be good for it to be updated to the latest release since its still on 6.7.7 (the last babel-standalone update). Even better maybe would be to have a dropdown for the last few versions for testing purposes.
Also, If you don't have as much time to maintain I can help with doing a release when we update babel before this is all setup.

Is there any updates here? Thanks.

Yes, this is still something I'm going to implement.
@hzoo Every release is on CDNJS, we could easily show a dropdown on the
Babel REPL.
Sent from my phone.
On Jun 4, 2016 4:30 AM, "Peter Dave Hello"<EMAIL_ADDRESS>wrote:

Is there any updates here? Thanks.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Daniel15/babel-standalone/issues/3#issuecomment-223657211,
or mute the thread
https://github.com/notifications/unsubscribe/AAFnHSnPyZRJMpdn-eOuC8lFPcsqBKlIks5qIHLMgaJpZM4HBCE1
.

This would be great :+1:

I'm currently overseas but I've got some half-completed scripts for this on my home computer. I'll take a look and finish this once I'm back home :+1:
I do have Greenkeeper configured for this repo, it never sends me any pull requests whenever new Babel versions come out though. I think it's broken or something.

Would you like to collaborate on that to advance this issue?

Yeah maybe just need to debug why greenekeeper isn't working. Could also setup something like https://github.com/semantic-release/semantic-release

Initial work on an auto-update script: https://github.com/Daniel15/babel-standalone/commit/f82f8c7d6f7aabeebf6a6b99667141442178597c
I just need to add npm/bower push after update, and then I'll schedule it as a cronjob. :+1:

Mostly automated here: https://github.com/Daniel15/babel-standalone/blob/master/scripts/update.ps1
Currently automated:

Updating package.json to point to newest Babel packages
Building / running unit tests to ensure latest Babel version is still compatible
Updating version number in package.json
Committing changes to Git, and tagging them
Updating Bower repo based on files from NPM (https://github.com/Daniel15/babel-standalone-bower/blob/master/update.ps1)

The only thing left is to automate pushing to npm - I'm still doing that manually to verify that nothing is broken.
Given this is mostly done, I'm going to close this task out. 😄

Oh, I need to automate creation of the "release" on Github too, including uploading the babel.js and babel.min.js files. Writing this comment to remind myself.


bump docs theme version number

Codecov Report

Merging #4937 into master will decrease coverage by -0.03%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #4937      +/-   ##
============================================
- Coverage     82.01%   81.99%   -0.03%
+ Complexity    10616    10615       -1
============================================
  Files          1294     1294
  Lines         44490    44490
  Branches       5645     5645
============================================
- Hits          36488    36479       -9
- Misses         5357     5375      +18
+ Partials       2645     2636       -9

Impacted Files
Coverage Δ
Complexity Δ

...exceptions/GroupByOnArrayUnsupportedException.java
66.66% <ø> (-33.34%)
1% <ø> (-1%)

...a/io/crate/exceptions/ContextMissingException.java
81.81% <ø> (-18.19%)
1% <ø> (-1%)

...rc/main/java/io/crate/analyze/UnboundAnalyzer.java
75% <ø> (-15%)
2% <ø> (ø)

...te/executor/transport/SubSelectSymbolReplacer.java
68.88% <ø> (-11.12%)
3% <ø> (ø)

...o/crate/operation/projectors/SortingProjector.java
86.84% <ø> (-7.9%)
11% <ø> (-1%)

...src/main/java/io/crate/jobs/UpsertByIdContext.java
77.5% <ø> (-7.5%)
8% <ø> (ø)

.../java/io/crate/analyze/symbol/ParameterSymbol.java
87.5% <ø> (-6.25%)
6% <ø> (-1%)

...ration/projectors/BulkProcessorFutureCallback.java
87.5% <ø> (-6.25%)
6% <ø> (-1%)

.../distributed/TransportDistributedResultAction.java
77.27% <ø> (-4.55%)
9% <ø> (ø)

...te/blob/pending_transfer/PutHeadChunkRunnable.java
76.71% <ø> (-4.11%)
12% <ø> (-2%)

... and 24 more

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 155174d...bffa771. Read the comment docs.


misc: increase timeout for fixture building

Codecov Report

Merging #3584 into dev will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              dev    #3584   +/-   ##
=======================================
  Coverage   98.65%   98.65%
=======================================
  Files          18       18
  Lines        1114     1114
  Branches      300      300
=======================================
  Hits         1099     1099
  Misses         13       13
  Partials        2        2

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 5280e86...96b81fa. Read the comment docs.


Ensure Dashboard provides same action menu capability for clusters

(note: available actions determine applicability of each action)
Cluster:

Rotate Certificates
Rotate Encryption
Save AS RKE template
Show Registration Command

(Snapshot has already been done)
Node:

Cordon
Drain
Uncordron
Stop drain
Scale down

Neil to break this ticket down into separate stories. Rotate Certs may go to @mantis-toboggan-md

Now covered by other tickets, closing


vips: 8.2.2 -> 8.3.1 and dependency nip2: 8.0 -> 8.3.0

Motivation for this change

update to latest release
move away from goffice_0_8

Things done

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

[x] NixOS
[ ] OS X
[ ] Linux

[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

travis is failing due to space issues
this builds locally on my machine
[nix-shell:~/git/github.com/womfoo/nixpkgs]$ nox-review wip
Building in /run/user/2000/nox-review-x34pll9h: vips nip2
/nix/store/zhbwij363a4j6j8cmg44m266pi30f617-vips-8.3.1
/nix/store/7v2v0k0aj5j6i655p2nyxhi55h4wi59m-nip2-8.3.0
Result in /run/user/2000/nox-review-x34pll9h
total 0
lrwxrwxrwx 1 kranium users 54 Jun 28 19:46 result -> /nix/store/zhbwij363a4j6j8cmg44m266pi30f617-vips-8.3.1
lrwxrwxrwx 1 kranium users 54 Jun 28 19:46 result-2 -> /nix/store/7v2v0k0aj5j6i655p2nyxhi55h4wi59m-nip2-8.3.0


Safety issues from 2023-11-20

No review needed.

coverage: 34.263%. remained the same
when pulling 254f18d6b2a9fa1fb539b5f29023a4543716f6ca on andy/safety-2023-11-20
into a291af47e3ef13bab35d8275fdf07e31015f9a18 on master.


Not able to bind secrets (that are not associated with app anymore) to another app.

Acorn version -  v0.6.0-143-g94d09a10+94d09a10
Steps to reproduce the problem:

Deploy an app which has secrets.

args: password: ""

containers: app: {
  image: "nginx"
  env: {
    PASSWORD: "secret://user-password/password"
  }
  ports: publish: "80/http"
  files: {
      "/usr/share/nginx/html/secret.html": "secret://user-password/password"
  }
}

secrets: "user-password": {
  type: "opaque"
  data: password: "\(args.password)"
}

Once app is deployed successfully , delete this app without deleting secrets.

Deploy another app by binding the secrets (relating to the deleted app) . App deployment is in "pending" state with error - [secrets: missing: [mytestsec]] message

containers: {
  nginx1: {
    image: "nginx"
    ports: publish: "80/http"
    files: {
      "/usr/share/nginx/html/secret.html": "secret://user-password/password"
    }
}
}

 % acorn rm mytestsec
Removed: mytestsec
% acorn run -n mytestsecbind1 -s mytestsec.user-password:user-password -f AcornfileBind
.....
STATUS: ENDPOINTS[] HEALTHY[0] UPTODATE[0] [secrets: missing: [mytestsec]]
STATUS: ENDPOINTS[http://nginx1-mytestsecbind1-bdbbb2f7.local.on-acorn.io => nginx1:80] HEALTHY[0] UPTODATE[0] [secrets: missing: [mytestsec]]
^C  ✗  ERROR:  terminating watch: context canceled

 % acorn secrets mytestsec.user-password
NAME                      TYPE      KEYS         CREATED
mytestsec.user-password   opaque    [password]   115s ago
sangeethahariharan@Sangeethas-MBP secrets %

Fix just merged to main.

Tested with acorn version v0.8.0-alpha7-143-g86de32e8+86de32e8

Deploy an app which has secrets.
Once app is deployed successfully , delete this app without deleting secrets.
Deploy another app by binding the existing secret (which was created as part of app deployment in step1).
App deployment succeeds and app get access to the existing secret as expected.


Timeouts when failing to process a message

During the minor, there were multiple issues with the ACKing and NACKing of a message in RabbitMQ. If a users code failed, Wrappit would NACK the message. This seemed to be good behaviour at the time of implementation, but this is pretty much the opposite.
What would actually happen is the message would infinitely continue to be requeued by RabbitMQ.
What would be nice to do is the following:

Retry for x amount of times (configurable).
When exceeding x amount, neither ACK nor NACK -- this would either send the message to a deadletter queue or the message would be processed when the application is updated (new rollout).

Investigate if this is already possible within RabbitMQ itself or implement it yourself.

This is already possible in rabbitmq itself, but the queue type would have to change


[Tracking Issue] Make region failover great again

What type of enhancement is this?
Refactor, Tech debt reduction
What does the enhancement do?
Currently, the region failover procedure has follow issues:

The region failover doesn't support migrating a region without data loss.
The failover detector relies on the receiving heartbeats from the datanode; if the datanode doesn't send any heartbeats, we can't detect the failed region.
We can't track the in-flight failover procedures, which means we can't trigger the failover procedure again if a failover procedure fails.

Implementation challenges
No response

I think we can close the issue @WenyXu


Integrate webconf

See
Jitsi

https://meetrix.io/blog/webrtc/integrate-jitsi-meet-to-react-app.html
https://jitsi.github.io/handbook/docs/dev-guide/dev-guide-iframe

lib-jitsi is not very stable. We have to try something else.
Galene (FOSS)
Written in Go. Young project but seems promising. No SaaS thougth.

https://github.com/jech/galene

Pion (FOSS)

https://github.com/pion

Kurento (FOSS)

http://www.kurento.org/

Janus (FOSS)

https://janus.conf.meetecho.com/
https://github.com/meetecho/janus-gateway

OpenVidu

CE edition or OpenVidu Pro at 0.0006/core/minutes (15 days free)

No hosted version but full doc to host it

React lib

Well documented

Docker deployment

Include Kurento

https://github.com/OpenVidu/openvidu

https://docs.openvidu.io/en/2.17.0/tutorials/openvidu-insecure-react/

Daily

Not open source but with good pricing https://www.daily.co/
work with react

https://blog.containerize.com/2021/01/22/top-5-open-source-video-conferencing-software-of-2021/

Audio only for first version. (Video in beta)


Feature request: DLBCL90 gene lists

Would it be straightforward to integrate the gene lists found here into this repo?
/projects/dscott_prj/CCSRI_1500/shared/ref/DLBCL90

easy to add - need to gather documentation. Some particular are more interesting than the others or all 5 are needed?
COO15nano.xlsx  DHITsig30nano.xlsx  DLBCL90.txt  houseGene13nano.xlsx  PMBL30nano.xlsx

I think just the DLBCL90.txt file is needed. Let me add ENSG IDs to it before you proceed.

OK it now is updated with all the IDs that map to our salmon transcriptome reference. What documentation do you need, how can I help with that? /projects/dscott_prj/CCSRI_1500/shared/ref/DLBCL90/DLBCL90_ENSG.txt

I can definitely add these!
The documentation is just a brief description of the columns, similar to this: https://github.com/morinlab/GAMBLR.data/blob/c2003692bf75a4263c882e37464df0baafb2570e/R/data.R#L1-L14


[Task]: Prepare build pipeline for V2 choreo samples

Connector Name
other (None Listed Above)
Task Description
Prepare build pipeline for V2 choreo samples

Closing since this is done via the following PRs

https://github.com/wso2-enterprise/choreo-samples/pull/375
https://github.com/wso2-enterprise/choreo-samples/pull/376
https://github.com/wso2-enterprise/choreo-samples/pull/373


Allow to mix custom validators with standard syntax

eg:
validation = {
    'field_name': {'is': 'int', 'custom': my_method}
}

What is need to this task are done?

@Marlysson add the parsing and addition of the custom validator here: https://github.com/gi0baro/weppy/blob/master/weppy/validators/init.py#L104
Mind that probably this should probably inserted before the allow parsing, see line https://github.com/gi0baro/weppy/blob/master/weppy/validators/init.py#L244 or the order will probably break.

@gi0baro excellent .. I will see and analysing the weppy source code and your workflow .. some doubts I will come back here..

@Marlysson sure, thank you!

@gi0baro
This feature looks like this?
http://weppy.org/docs/0.8/validations
Section Custom Validator

@Marlysson yep, see the description

Then this already done?

@Marlysson nope.
Right now you can use the weppy validation language (eg: {'is': 'int', 'gte': 0, 'lt': 6} or a custom validator of your own.
The issue is to use both of them, as reported in the description.
So the validation parser (https://github.com/gi0baro/weppy/blob/master/weppy/validators/init.py#L104#L250) should be updated to add a validator specified with the 'custom' key into the final list of operations.


Add vendored plist to ReadMe.

Thanks! 🚢

I guess that's just an oversight here, but try to create the branches for PRs in your fork instead of the repositories in the Homebrew organization. One way to enforce this in the future is to set the push URL of the origin remote (git remote set-url --push origin <url>) to an invalid URL or the shared fetch/push URL to a read-only location.

@UniqMartin, yes that was an oversight, I started this on my iPad with the ”edit“ button on GitHub.

Nice work 👍 🚢

Merging this, as only some unrelated tests failed on travis. Also making the push URL read-only now. 😄


Blank page after first install

Hello,
After install and setup, I have a blank page with this error:
TypeError: Backbone.Wreqr is undefined in app.js:9464:21 (Firefox)
Any idea?
Thx!

Same in here

Unfortunatly there is no lock file with npm, so I fixed the backbone version manually via 5daf0c7.
Should be fixed now.

It works!
Thanks for your time and (maybe) see you later ;)


Readme: haskell-servant/example-servant-elm

I updated haskell-servant/example-servant-elm to work with 0.19.
https://github.com/haskell-servant/example-servant-elm/pull/8
A link to this repository in the README.md would be nice. The current example is based on elm 0.18 (deprecated).

Thanks (again)!


Automatic handling of reverse proxy headers

NSwag introduced automatic handling of X-Forwarded-* headers a few months ago (https://github.com/RicoSuter/NSwag/pull/2196). Is there an equivalent in Swashbuckle?

Are you just trying to get Swashbuckle to work in a reverse-proxy environment, or is there some specific reason why you need the documents server property populated based on reverse proxy headers?
If it's the former, then the recommended way to support reverse proxy environments is to use relative URLs in your Swagger configuration. See #1253 for details.

I'm trying to get Swashbuckle to work in a reverse-proxy environment. I don't have a problem with referencing the generated .json, but I don't want to glue the app to a specific hosting model, so I'd like to avoid specifying the path via .UsePathBase and have the generator taking it from X-Forwarded-Prefix.

There is a further issue in reverse proxy scenarios you may want to consider - authentication.
We have clients going to, say https://foo.myco.com/api/swagger and https://bar.myco.com/api/swagger which resolves to the same actual instance of a service behind the reverse proxy.
They need to get an OAuth2 token to use the "Try it Out" feature.
The authentication service url will be https://foo.myco.com/oauth and https://bar.myco.com/oauth respectively, so the swagger doc needs to reflect that.
If you were looking to handle reverse proxy environments automatically then it would be great to support this aspect too.
Our current solution is a PreSerialize filter to alter the TokenUrl for the OAuth2Scheme on every request.
Also bear in mind that Microsoft use X-Original-Host rather than the "standard" X-Forwarded-Host" for their Application Gateway RP so perhaps support the ability to override the header deemed to be the host header?

@Leon99 - if you use the relative URL approach as described here https://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/1253#issuecomment-530850121, you're entire Swagger setup should be completely agnostic of the hosting model and there should be no need to leverage UsePathBase. Did you try the approach described?

@domaindrivendev yes I did - the base URL is not generated correctly, therefore execution doesn't work. As far as I understand, the only way to generate that correctly is to get them from X-Forwarded-*. Otherwise, it will try to use https://myapi.com/myresource instead of https://myapi.com/some/root/path/myresource and, expectedly, fail.
#1253 only handles the issue with the path to .json, it's not related to this one in my view.

We also have this issue. Using reverse proxy on IIS the base url isn't generated correctly.
#1253 does not provide a work around for this issue.

I have this issue as well. When running locally, the curl requests are sent to localhost:5000/someEndpoint correctly, but when deployed behind nginx, the swagger json file loads just fine, but the the 'try it out' curl request are directed to the base url without consideration of sub-directories. Ie. if the app is running at myapp.com/api/v1/someEndpoint, the curl request goes to myapp.com/someEndpoint instead of myapp.com/api/v1/someEndpoint

@rob893 I'm going to add automaitic support for detecting the origin url based on some common reverse proxy headers (X-Forward-*) and this should solve the reverse proxy problem for most cases. In the meantime OR if you need to customize for non-standard proxy headers you can do so by enriching the generated Swagger/OpenAPI document before it's serialized. For example ...
app.UseSwagger(c =>
{
    c.PreSerializeFilters.Add((swaggerDoc, httpRequest) =>
    {
            //if (!httpRequest.Headers.ContainsKey("X-Forwarded-Host")) return;

            var serverUrl = $"{httpRequest.Headers["X-Forwarded-Proto"]}://" +
            $"{httpRequest.Headers["X-Forwarded-Host"]}/" +
            $"{httpRequest.Headers["X-Forwarded-Prefix"]}";

        swaggerDoc.Servers = new List<OpenApiServer>()
        {
                new OpenApiServer { Url = serverUrl }
        };
    });
});

@domaindrivendev , I'm new to this space and unfamiliar with the changes you made to fix this issue. Can you give a brief description on how to use the headers that are now being populated by Swagger? For my use case, I've got an nginx reverse proxy configured like this:
 server {
            listen       80;
            server_name  localhost;
            location / {
                proxy_pass http://<server_name>:<port_number>;
            }
}

and a kubernetes ingress controller routing traffic down to each pod. The URL looks like this: http://<cluster_name>/<service_name>/Swagger/index.html , the <service_name> piece is removed by the ingress controller.
The swagger/index.html page loads just fine, but the Execute button on an API call fails because of the reverse proxy. I'm not sure how to use the headers to populate the request appropriately. Any help would be much appreciated!

@DanSibbernsen, from 6.1.0, behind a reverse proxy I think you should do something like:
services.Configure<SwaggerOptions>(options => options.PreSerializeFilters.Add((doc, request) =>
{
  // [...] update doc.Servers with correct front side URL (can be relative from Swagger)
}));

You should probably open a new issue if not resolved.

late to party, sol'n I came up with similar to @rob893 but w/o coupling custom headers in the reverse proxy:
var swaggerRoutePrefix = "swagger";  // the default
app.UseSwagger(options =>
{
  options.PreSerializeFilters.Add((OpenApiDocument openApiDocument, HttpRequest httpRequest) =>
  {
      var uri = new Uri(httpRequest.Headers.Referer!);
      if (!uri.IsLoopback)
      {
        openApiDocument.Servers = new List<OpenApiServer> {
          new OpenApiServer {
            Url = Regex.Replace(uri.AbsolutePath, $"{swaggerRoutePrefix}/index.html$", ""),
            Description = "My Awesome Description"
          }
        };
      }
  });
});
app.UseSwaggerUI(options => { options.RoutePrefix = swaggerRoutePrefix; });

This was the cleanest way i could figure to get 1) portability, 2) work locally with dotnet [watch] run. First I tried the js request interceptor way (which worked) but the dotnet string literal --> json -->  swaggerUiClient#parseFn() thing is just gross if you have a nontrivial interceptor.


Don't add call parens when an fn type is expected

This is pretty useful when dealing with callback- or fn-pointer-heavy FFI code, as I have recently.

bors r+
To be fully general, I think this needs to handle T: Fn case as well, but this seems like a good start.

Looks like some unrelated test was using the wrong mark.

Hm, not sure why this was surfaced in this PR: in theory, marks are exactly for preventing this kind of stuff from happening :-) But correct mark is def better than a wrong one!
bors r+


Leaps in readings

Good afternoon! Sometimes the power consumption sensor transmits very high values (more than 150000 watts), and then shows the correct data again. This happens several times a minute. It can be fixed?

https://postimg.cc/gallery/sjyxt4q

I had this problem, it was due to too much light from outside getting to the sensor. 2 options are to either block out more of the sensor or turn the trimpot sensitivity down, combination of both and bit of testing seems to have got mine working well.

I set the sensitivity to the minimum level. Maybe you can apply some kind of software filter? My electricity meter has 6400 flashes per kilowatt, if that's important. I am using Esp8266 module.

It sounds like the sensor is measuring ghost flashes, which happens when the time between 2 pulses is very short. Could you share how your sensor is mounted on your meter? And have you adjusted your multiply values needed for your 6400 imp/kWh rate?

My config looks like this:

substitutions:
device_name: home_assistant_glow
friendly_name: House
device_description: "Measure your energy consumption with the pulse LED on your smart meter"
pulse_pin: GPIO12
status_led: GPIO5
esphome:
name: '${device_name}'
comment: '${device_description}'
project:
name: "klaasnicolaas.home_assistant_glow"
version: "1.1.2"
platform: esp8266
board: nodemcu
wifi:
ssid: Vladofon
password: VlAdIsLaV091078
Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: '${device_name}'
password: esphome291
captive_portal:
Enable logging
logger:
Enable Home Assistant API
api:
password:<PHONE_NUMBER>78
ota:
safe_mode: true
reboot_timeout: 10min
num_attempts: 5
web_server:
port: 80
auth:
username: admin
password: 091078
output:
- platform: gpio
pin: GPIO5
id: output_blue

platform: gpio
pin: GPIO2
id: output_red
platform: gpio
pin: GPIO4
id: output_green

light:

platform: binary
internal: true
id: led_red
name: Red
output: output_red

Status LED for connection
status_led:
pin:
# Blue LED
number: ${status_led}
Sensors for ESP version and WIFI information
text_sensor:

platform: version
hide_timestamp: true
name: "${friendly_name} - ESPHome Version"
platform: wifi_info
ip_address:
name: "${friendly_name} - IP Address"
icon: mdi:wifi
ssid:
name: "${friendly_name} - Connected SSID"
icon: mdi:wifi-strength-2

sensor:

platform: pulse_meter
name: '${friendly_name} - Power consumption'
unit_of_measurement: 'W'
state_class: measurement
device_class: power
icon: mdi:flash-outline
accuracy_decimals: 0
pin: ${pulse_pin}
on_value:
then:
- light.turn_on:
id: led_red
flash_length: 400ms
filters:
multiply value = (60 / imp value) * 1000

multiply: 9.375
total:
name: '${friendly_name} - Total energy'
unit_of_measurement: 'kWh'
icon: mdi:circle-slice-3
last_reset_type: auto
state_class: measurement
device_class: energy
accuracy_decimals: 3
filters:
multiply value = 1 / imp value

multiply: 0.00015625

The sensor was previously used with Mysensor and showed correct values.

I'm also getting this. Seems to occur with any level of usage, not just high usage. Log shows a single spike of<PHONE_NUMBER>0W each time and then drops back to normal on the next read. (and it's always 360000)
`[10:51:00][V][sensor:035]: 'House - Total energy': Received new state 366.000000
[10:51:00][VV][sensor.filter:013]: Filter(0x3ffb9444)::input(366.000000)
[10:51:00][VV][sensor.filter:020]: Filter(0x3ffb9444)::output(0.366000) -> SENSOR
[10:51:00][D][sensor:127]: 'House - Total energy': Sending state 0.36600 kWh with 3 decimals of accuracy
[10:51:00][VV][api.service:105]: send_sensor_state_response: SensorStateResponse {
key:<PHONE_NUMBER>
state: 0.366
missing_state: NO
}
[10:51:00][V][sensor:035]: 'House - Power consumption': Received new state 6000.000000
[10:51:00][VV][sensor.filter:013]: Filter(0x3ffb928c)::input(6000.000000)
[10:51:00][VV][sensor.filter:020]: Filter(0x3ffb928c)::output(360000.000000) -> SENSOR
[10:51:00][D][sensor:127]: 'House - Power consumption': Sending state<PHONE_NUMBER>0 W with 0 decimals of accuracy
[10:51:00][D][light:093]: 'Red' Setting:
[10:51:00][D][light:125]:   Flash Length: 0.4s
[10:51:00][VV][api.service:105]: send_sensor_state_response: SensorStateResponse {
key:<PHONE_NUMBER>
state: 360000
missing_state: NO
}
[10:51:07][V][sensor:035]: 'House - Power consumption': Received new state 8.277003
[10:51:07][VV][sensor.filter:013]: Filter(0x3ffb928c)::input(8.277003)
[10:51:07][VV][sensor.filter:020]: Filter(0x3ffb928c)::output(496.620209) -> SENSOR
[10:51:07][D][sensor:127]: 'House - Power consumption': Sending state 496.62021 W with 0 decimals of accuracy
[10:51:07][D][light:093]: 'Red' Setting:
[10:51:07][D][light:102]:   State: ON
[10:51:07][D][light:125]:   Flash Length: 0.4s
[10:51:07][VV][api.service:105]: send_sensor_state_response: SensorStateResponse {
key:<PHONE_NUMBER>
state: 496.62
missing_state: NO
}
[10:51:07][V][sensor:035]: 'House - Total energy': Received new state 367.000000
[10:51:07][VV][sensor.filter:013]: Filter(0x3ffb9444)::input(367.000000)
[10:51:07][VV][sensor.filter:020]: Filter(0x3ffb9444)::output(0.367000) -> SENSOR
[10:51:07][D][sensor:127]: 'House - Total energy': Sending state 0.36700 kWh with 3 decimals of accuracy
[10:51:07][VV][api.service:105]: send_sensor_state_response: SensorStateResponse {
key:<PHONE_NUMBER>
state: 0.367
missing_state: NO`

I have the same issue.
i have a 357lf sensor. and it is gaffa taped to the meter, and the meter is inside a closet. so no external light.
i have tried to test it outside. when i cover the sensor it gives a reading. and when i uncover it again it gives a reading again. so it almost looks like it is giving a reading on both edges (up and down)

I have the same issue too. I and using an esp8266 too. I have tried adjusting the light sensor sensitivity etc. and my meter is in a dark cupboard, so no additional light to confuse the sensor.
Could this be esp8266 related, as the original suggests using an esp32?

I think I may have root caused this one.
I read about the internal_filter option for the pulse meter sensor on esphome.io and added the following line to my configuration file:
    internal_filter: 50ms

Since adding this line I have had no false readings for the last hour and they used to occur every few seconds.
The default value for internal_filter Is 15us, so I suspect the meter LED is registering as multiple flashes since it is probably driven from a PWM :-)

I have tried with the internal_filter with different values, but no different behavior. i also tried with at pull down resistor.
when i tried with a 100nF capacitor it worked. so it has to be some kind of noise

I also solved my problem using a capacitor.

In that case, I think we can close this issue?

Yes, I think you can close it. Thanks !

Since I’m new to electronics, would someone please ELI5 where this 100nf capacitor sits. I’m having a nightmare getting accurate readings.


Studio Graph Editor remember last graph but not query

OrientDB Version, operating system, or hardware.

v2.2.13  (since 2.2.11)

Operating System

[ x] Linux

Expected behavior
Actual behavior
If keeping graph in buffer the query(select or match) should also be "remembered"
Steps to reproduce the problem
run a query and go to SCHEMA and back again to GRAPH. The query you used is gone but the
graph comes back.  That's really odd.

Hi @austx,
Thanks for opening this issue. Both your points are valid in my opinion. I do agree that it's odd that the graph shows up again after you change database. I was going to open an issue for this myself
Thanks again for your feedback!

Hi @austx,
Thanks again for opening this issue. I believe both problems have been fixed in 2.2.15
Just in case you would like to test the fix before the official 2.2.15 version is out, please be aware that you may download the latest snapshot from https://oss.sonatype.org/content/repositories/snapshots/com/orientechnologies/orientdb-studio/2.2.15-SNAPSHOT/
(to install it, just replace the studio zip file included in the orientDB_home/plugins directory with the snapshot archive)
I'm closing this issue now. Please feel free to reopen if needed
Many thanks,


LazyInstance

It will be usefull for Create methods which return only id of object.
Examples
// for example we have next method for class Call
public Task<ILazyInstance<Call>> Create(...);

var call = await client.Call.Create(...); // will make only 1 request (to create a call)
var callId = call.Id; // will return created call id without any requests to Catapult
var createdCall = call.Instance; // will execute GET request to Catapult and return Call instance
var createdCall2 = call.Instance; // will return same object as above (without additional requests to Catapult)

@avbel Thought i merged in correct order, but merge conflicts happened :(


Define a component documentation template for the site

We need a reusable template that can be followed for providing usage guidance on all components.
This template will also need to be published and usable by any partners or satellite teams, so that we can start building consistency in component documentation regardless of the originating creator of that component.
#1044 is dependent on the completion of this issue.

6 Feb - work in progress; confluence page shared with team for review/feedback

Adding the email discussion thread (which should really be occurring in Github!)
From @sion-docs...

Things to consider:

Docusaurus capabilities – What opportunities/restrictions does Docusaurus offer us in terms of navigation/presentation etc.?
Competitor research – What are the industry trends? How can we stand out?
Deficiencies – Where are the gaps in the current offering? How can they be filled?
Roles and responsibilities – Who does what and in what order.
Research opportunities – How can we make the most of the research we have already done, and what opportunities are there to gather more feedback/data?
Anything else? Please suggest any items for the agenda

From @shinytoyrobots

Will some of those design alternatives look at options that don’t include the right hand sub-nav? I sometimes worry that it compresses the rest of the main page content too much.

From @shinytoyrobots, @bhoppers2008, various...

Apologies if this is premature but a few questions/observations:

Love the live examples, but should density and theme switches apply globally? Is this the right place for them? Undecided, this was just one idea. So, in this example I’ve deliberately put them in the ‘live examples’ section because we haven’t yet got a dark theme site yet, only the live examples would change theme/density - instead of other static imagery we may include on the page, i.e. a header image or the anatomy diagrams for example. If we do go with a similar placement to this, we can monitor the usage and see if we need to change the position of the toggles if it is confusing for our consumers. I have also considered placing them at the top underneath our app header (as we currently do on the UITK site) in another example. There’s space at the top of the side nav, above the filter, that could be taken advantage of? Now that we’ve got light/dark icons, it might be possible to make more compact controls and free up space?
I’d love to know if ‘Contains’ is actually useful information? We introduced it for the second version of comp pages but do we know if people actually refer to it? If api isn’t exposed, a link to a contained component seems redundant… From speaking with consumers, particularly designers, they feel it is useful and they use it in their Figma libraries/files quite a bit. Some designers refer to components differently,  i.e. banner / notification / notification bar. Do you know exactly why it’s useful? Not sure how ‘Contains’ helps with synonyms. (That said, in the past we’ve talked about tagging components, in backend, with synonyms that would also be filterable…would be great to see that worked into the site).
I like the “synonym” filter – both in search and you can also have an optional section on component doc along the lines of “Also called…”
For “contains” – I feel like this is trying to do too much work until we have a better distinction between types of components. We should call out “this component is a compound of multiple components”. Do we need that distinction (although I wouldn’t use Atomic Design System terminology, does it make sense to actively call out “Atom”, “Molecule”, “Organism” component categories?)
With ‘Similar to’, do we think it’s useful in its current format? Why is it ‘similar’? Why should I know about it? Again, speaking to consumers the only reason it is useful is to quickly find another similar component quickly, without having to search or scroll through a list in the left hand navigation, it is only useful if looking for a specific control that can be used instead of… One thing that came out of my consumer research was that patterns and context examples would be far more useful then ‘Similar to’ as it would show how the component has been used in context and see examples of ‘HOW do I use it?’ and ‘WHEN should I use it?’. Totally agree, and this is what I was getting at. Is there a way we can better present ‘Similar to’, so it doesn’t just show a component but also explains why? I think we should definitely be exploring ‘pattern’ pages (eventually) that show collections and use cases (messaging, selection, containers) and link to those components. Maybe we could also store this text globally and pull section of it into different component pages when relevant? One that we can consider baking into the component pages once we have an up and running pattern library.. or showcase some in context examples on the component pages themselves.. i.e. the Navigation patter we currently have is very useful for our consumers as they can see how Tabs are used and where they can be positioned in an application context.
“Similar” could be misleading in implying “you can use this component for the same function”. Carbon uses “Related”, which might be a more relevant term, e.g. shows components that are commonly used together (though they also don’t call out any context on why something is related – and I think we could do better). I agree that as we move towards defining patterns documentation more clearly, this will be a more contextual and helpful way of pulling together different components (and we can do some interesting dynamic filtering or component docs potentially at that point)
Did you consider a ‘Tokens’ tab instead? Is that information not also useful to developers, as well as designers? Not yet, I think it would be useful though 😊 when speaking with consumers, it would prove more handy for developers, however designers mentioned they want to see what they would need to change in the token to customize it.
I think this makes sense. It can be “Tokens” or “Styling” – but fundamentally “here are the parts of the component and here are the knobs and levers (i.e. tokens) that you adjust for each of its elements.
To Robin’s previous point, do we need an accessibility section? In its current form it only really shows keyboard interactions… is it intuitive to find these under code/api? Where we do have specific ada rationale, can we put those points in context instead? (ie., ‘here we made this decision because of this ada consideration’) I like the suggestion around calling out ADA rationale. When speaking with designer consumers they mentioned they would assume the component is already ADA compliant and not necessarily need to reference the rationale or what makes it accessible - unless they need it to provide to a stakeholder. This came out of previous surveys, i.e., a desire to see rationale if certain decisions have been made. Good example is the focus order in the Forms pattern. Personally I think another little call out in line would be all that’s necessary. Another example would be the form field for form controls, and requiring it to be ADA compliant. Less about confirming it’s compliant, but explaining how the compliance impacts implementation decisions. However, having a keyboard shortcuts table or links out to an ADA spec were noted as desirable for our designer & dev consumers.
In a broader sense, if we have a principle of having our website explain “why” as well as “how”, this makes sense (and doesn’t have to be limited to a11y explanation. For components, we can’t/shouldn’t be guaranteeing something like “ADA compliance” at all (which we can explain in a more universal section) – but we should be calling out any particular accessibility considerations for a particular component, and (probably separately from the prose usage guidance) listing the checklist of a11y specs that the component has been tested against (and passed!).
Language-wise, I would like to add some context whenever we talk ADA compliance, and highlight wider a11y too (as ADA is a US specific law, and for digital presentation is simply WCAG 2.1 compliance – so we could talk about “In order to help teams achieve ADA compliance, and other accessibility requirements, all our components are tested against WCAG 2.1 specifications”.
I like the Usage information. Suggest mocking up something hifi sooner rather than later. I wonder if tabs will be visible above the fold, once realistic usage info is in place.
Live examples… what’s the difference between show code toggle and show full source code button? The key differences are that the show full code includes the import and export code snippets that we currently don’t show in our current component docs. You can try it out here in material ui. James and I were discussing that it might be a useful feature to have, it also shortens the code block down by default when not showing the full source code.
Design guidance. Do we know what designers want to achieve from this tab? Also… if we include any links we need to remember we have internal and external sources. Main info designers want to achieve are in context examples, know what the rationale is between when to use it and how to use it, i.e., when should I use a banner with a high affordance in my app vs a low affordance banner… link of to examples of usage and show patterns of how it has been used before. Designers also want to know where to place components in application contexts (placement) and best practises.. without having to read too much text…less text heavy vs interactable.. see more visual examples. They don’t care about API docs etc so splitting content out is a better idea. Would love to get to the bottom of what’s useful in that ‘design’ tab then? Atm you have anatomy and spacing (although that might just be placeholder content?), and usage information is global. Looking across sites I often wonder if anatomy/spacing/padding/etc is actually useful (it’s also already in specs-and some of those things are foundational, rather than component driven). Love the idea of curated examples (maybe these could be shared across curated best in class, and pulled into different pages relative to tags?). Is ‘Design’ an appropriate tab for that, or something else?
Can / should we then split “design guidance” from “usage guidance”? Or does “design” at that point get captured in tab sections like “Styling / Tokens”, and instead we simply make “usage guidance” lean more design heavy.

Often times a lot of websites nowadays (especially websites for content consumption–news, tv services, music streaming) allow you to tailor your experience. Is this something we could take advantage of? Could we allow users to decide what information they want to see by default and cache their preferences? It’s perhaps not v1 😊 but it might help to determine how content could be chunked to be made visible or not. Love this idea and think this could solve for the fact that a lot of our consumers want to surface different info, so having a panel that floats could maximize/minimize at the bottom of the screen to change preferences or a settings section on the site where consumers can toggle certain content on or off might be a nice feature? 😊 I’d see this as an extension of mode/theme controls. They’re all tailoring content to meet a users needs. What do you think?
Contextual engagement with the platform is a great long term goal, so that different users – whether self defined or even defined by their team/role – see a slightly different content experience. If we can provide scope for JPM users to have a logged in option with state management, then there are interesting options – but I think it’s a decent way down the line.

From @shinytoyrobots

Oh, adding to that…
Based on the doc template outlined in Confluence…
I feel like “Usage guidance” might be not so much a small section under component basics, so much as the container for nearly all the topics that you currently have under Component Basics, Design Guidance, and Other.
So your tabs then become “Usage”, “Styling/Properties”, “Code/Dev Guidance” (or along those lines). And usage guidance is the biggest of those sections. Something along these lines;
Usage Guidance

Title
Description
Compound or simple component (i.e. are other components dependencies?)
When to use/not use this component
Variants
Behavior
Content
Accessibility
Responsive implementation
Best practices / component reference material (external)
Related components and patterns

Styling/Properties

Anatomy
Spacing
Characteristics
Additional design materials

Code/Developer

Import
Props
Classes
Specs and tests

From @bhoppers2008

I like that, although I will keep advocating for a simple, ‘contentless’ view of examples (regardless of how we go about achieving it). I don’t love what Pyjamas does, but I do like that it’s very easy to see what a component is capable of.

From @shey-v

I was also keen on the contentless view of examples, however from speaking to consumers, it seems pointless without guidance on how and when to use them. I feel this is useful in a playground environment (if we go with linking out to a storybook/StackBlitz so consumers can edit the live code there). On that – have we made a decision on whether we will be doing this, or is the idea to keep everything on site only?
I’m keen on showing / linking out to patterns and examples in the context of an app, even at a very basic level – which shows placement, best practises and when to use which variant of the component.

From @joshwooding

I would heavily recommend using StackBlitz to link out to examples. I would actually advocate for this rather than having editable live examples on the site (although this could be achieved using embedded StackBlitz examples)
Maybe there could be a site wide setting to toggle a “contentless” view? Which would allow for both views to be possible.

From @james-nash

Lots of good stuff to talk about on today’s (and future) component page calls.
I think as we work on this stuff, it’s helpful to differentiate between macro and low-level perspectives. By “macro”, I mean things like “What are the sections we have on a component page. How are they ordered and presented? Which sections are mandatory, optional or repeating?”. I’d argue that the finer details of what functionality we provide for each component preview is lower-level. In all likelihood, that would become a UI component we design and develop and then drop into our component pages wherever we need a live example. Functionality like mode/theme/density switches, showing/hiding code, resizable preview area, offering links to ‘open in StackBlitz’, etc. etc. is all component-level stuff we can design and implement independently from the macro-level layout. In fact, if we had such a component preview component, I could easily imagine us using it elsewhere on the site too – e.g articles that explain how to do something with components, getting started guides, etc. etc.
While it’s useful to think about and make a note of our component preview features, I believe our focus right now should be more on the macro level. What we have so far is really good and I don’t think we’re too far off getting it nailed down, but going down rabbit holes about where to put the density switch are perhaps a distraction at this point 😊
I’d love it if we can work towards finalizing the documentation template that’s been started here in Confluence.
In particular, I think it would helpful to start thinking about what format each nugget of information needs to be authored in? Options could include:
•	Structured data (e.g. key-values in frontmatter / JSON / TS files)
o	Do we need to define a schema for this?
•	Markdown content
o	Is everything in one big MD(X) file, or do some sections need to be split into separate files?
•	Example source code
o	Do/can we use Storybook’s format or does it need to be something else?
o	How/where is the associated description text and metadata stored?
•	Images
o	Do any parts need to be provided as image files? E.g. screenshots, component anatomies, etc.
o	If so, do things like dimensions and/or aspect ratios need to be set?
o	Can we make a (Figma) template to speed up producing them?
o	How/where is associated alt text, caption text, etc. provided?
•	Embedded content
o	Do we need/want to embed things from external sources – e.g. Figma previews?
o	What are the page speed, UX and a11y implications of doing that?
I appreciate some of that stuff will be informed by whatever page layout and design we come up with and also our tech migration to Mosaic+Next.js, so we can’t answer everything right now. However, the sooner we can  get a reasonably clear checklist of everything a component team would need to provide, the sooner those teams can begin authoring content like that.
Longer term (a subset of) this content checklist could also serve as what we ask spoke design systems to provide for our community index.

From @joshwooding

I would agree that it’s better to focus on goals rather than details that get be easily changed in the future. Although I would consider the format of the information an implementation detail that can come later too. I think rather than producing a checklist of everything that needs to be done a high-level overview plus tiny scoped pieces of prioritised work that we could start looking into tomorrow would be better.
Finalising the documentation template seems like a great first step!

I agree the high level goals, and that informing the overall structure, makes sense.
I’d like to suggest we try and distil the aim of a component documentation page into a sentence or two, based on the problem statements identified in the research @shey-v summarized today. That can then act as a north star to refer to when we get into more minutae.
I discussed with Shey the potential benefit of looking at a high-data-fidelity (but still low visual fidelity) approach for the existing structure - i.e. populating with a specific component doc rather than lorem ipsum - and seeing how that looks. I'm happy for @shey-v / @sion-docs to finalize a v1.0 of the template on that basis, for review at that point.

8 Feb - work in progress

I agree the high level goals, and that informing the overall structure, makes sense.
I’d like to suggest we try and distil the aim of a component documentation page into a sentence or two, based on the problem statements identified in the research @shey-v summarized today. That can then act as a north star to refer to when we get into more minutae.

I have created a Lucid board at https://lucid.app/lucidspark/a00552b6-b5d5-49cd-8903-bebd23314311/edit?viewport_loc=-9%2C-8%2C1558%2C885%2C0_0&invitationId=inv_e77d3cf4-f476-4276-8d47-31b89a2ad531 where we can add our suggestions for the above sentence.


Reverse operation of :lift-ns-in-code? and :lift-ns? config options

I don't really like the new map syntax and would like that the formatter did the opposite of what those options do. Something like unlift-ns? to convert maps using the new syntax to the old syntax. Is that something desirable for the project?
The new map syntax also breaks when the code is run on old versions of clojure.

Well, I don't see why not.  While I'm pretty sure I know what you want, could you give me at least one "before" and "after" example of what you want?  I don't want to go off and implement something and find out I had it wrong.  That's always depressing.

Using the examples of lift-ns? that would be:
(zprint #:x{:a :b, :c :d} {:map {:unlift-ns? true}})
{:x/a :b :x/c :d}

(zprint #:zprint.core{:a :b, :c :d} {:map {:unlift-ns? true}})
{:zprint.core/a :b :zprint.core/c :d}

This is implemented in version 0.4.16.  I hope that it does what you want!


No such module 'minizip'

I didn't do anything... it just working fine before I went to bed, and saw this error next morning... I can't use cocoapod, I don't know what to do... just need a light unzip function...

Hi @lvcloudgit,
I just tested the example app again on a real device (both with Carthage, Cocoapods and a manual installation) and there are zero issues.
Please make sure that:

You are using Xcode 8 and version 0.6.0 of Zip.
You have the lastest version of Carthage installed (if you are not using Cocoapods). There were recent updates to make Carthage work with Xcode 8 that you have to install.
Your app is including Zip both as an embedded framework and as a linked framework.
Your app has the permission to read/write in the path of your choice.

Hope this helps.
Also, there's no need to duplicate the same issue three times.

@marmelroy Really appreciate！I'll go re-check every step on again！


AnimeJs keeps calling my own prototype and causes error.

Describe the bug
I declared my Obj prototype, and I don't know why Anime keep calling that prototype every time I call anime, I even try changing my prototype's name 2 times, delete all anime inside that prototype and try calling Anime at the end of my js but seem it doesn't work.
To Reproduce
Steps to reproduce the behavior:
It always call my prototype and cause error at the "this" line. And "this" will return the Window Obj, not my element.
Expected behavior
Just to make anime runs a simple animate.
Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

OS: Windows 10
Browser Chrome
Version 93.0.4577.82

upload your project to surge or vercel so we can see what ur goal...


Similar bug sending to ipython

Some unit tests would probably help with this, but I don't know how to set that up.

Huh, this is actually quite a tricky case.
Looks like I may have to re-evaluate my approach, and maybe even remove the indentation-fixing functionality from hydrogen-python until I can write some entirely new code for this.
I don't want to get too much into the details here, but you can see my second-to-last comment on https://github.com/nteract/hydrogen/issues/862. This bug relates to a fundamental limitation of hydrogen. I thought I could use some simple heuristics to work around this, but looks like that approach is fundamentally flawed.

Just checking... I assume it's impossible to deal with common leading whitespace in Python specifically by using Python's dedent function? Because Hydrogen has already stripped the text before passing it to Python, right?

That's right.
It looks like the best way to solve this issue is to retrieve the original text (e.g. using Atom's APIs) and recover the unstripped version of the text. This has been on my TODO list for a while now, but I haven't gotten around to implementing it.


Clean up data denormalize function

Denormalize works only on well-specified relationships -- if we think of relationships as a tree, the relationships have to be specified in order from leaves all the way to the top one by one.


[terra-overlay] [terra-content-container] Height issue - LoadingOverlay within Modal

Bug Report
Description
I need a LoadingOverlay to display as transparent over the full body of a ContentContainer that is within a modal. The modal has been disclosed via ModalManager. The issue I'm running into is that the height of the LoadingOverlay is only the height of the area between the header and footer of the ContentContainer. When the body of the ContentContainer is scrollable, the LoadingOverlay does not cover the full height of the body. The gif within "Additional Context/Screenshots" demonstrates this.
Steps to Reproduce
This is the structure of the components within the Modal component that gets disclosed:
<ContentContainer fill header={<Header />} footer={<Footer />}>
    <LoadingOverlay
            backgroundStyle={LoadingOverlay.Opts.BackgroundStyles.LIGHT}
            isOpen
            isAnimated
            isRelativeToContainer
    />
    <div>
        <ModalContent1 />
        <ModalContent2 />
    </div>
</ContentContainer>

Additional Context / Screenshots
The screen recording gif demonstrating this issue can be accessed in Sharepoint.
Expected Behavior
The LoadingOverlay fills the full height of the scrollable area within the ContentContainer.
Environment

Component Name and Version:
terra-content-container (3.21.0)
terra-overlay (3.36.0) (specifically LoadingOverlay)
terra-modal-manager (6.20.0)
Browser Name and Version: Chrome
Node/npm Version: 79.0.3945.79 (Official Build) (64-bit)
npm 6.12.1
node 10.16.0
Webpack Version: 4.41.2
Operating System and version (desktop or mobile):
Mac Mojave Version 10.14.6
Desktop

Both solutions that you provided worked, thanks!

Closing this since the solutions worked.


Bugsplat option is not available on Edit context menu

I've tried this plugin by putting the content of this repo into the Plugins/Bugsplat of my project's directory. But after running the Editor the Bugsplat menu item is not visible in the Edit context menu of the Editor.
I got the following error in my logs if that helps.
Error: Package {Project}/Plugins/BugSplat/Content/UI/W_BugSplatButton.uasset has newer custom version of FortniteMain
Error: Package {Project}/Plugins/BugSplat/Content/UI/W_BugSplatDemo.uasset has newer custom version of FortniteMain

Environment -

Customized version of UE 4.26.1
VS 2019
Win 10

What I've tried -
I tried to add these assets manually into the engine content folder but couldn't add. But when I tried that with UE 4.27 I could add it to the Content folder in the editor. So I opened these two blueprints using 4.27 and created duplicates of these two assets using our customized UE 4.26. And tried replacing {Project}/Plugins/BugSplat/Content/UI/W_BugSplatButton.uasset and {Project}/Plugins/BugSplat/Content/UI/W_BugSplatDemo.uasset with the newer ones I created using 4.26. But when I start the UE 4.26.1 again I get the above error.
Any clue on whats going on ?

Hi @shehan-mark we just pushed a big update here and have not updated the documentation yet. The BugSplat options can now be found in the project settings menu. All of the same controls should be there, plus a few new ones. We'll get the docs updated ASAP!

Hi @shehan-mark the documentation has been updated, please let us know if you need any help using the plugin! We can be reached via an email to<EMAIL_ADDRESS>or via our in-app chat.

Hi @shehan-mark the documentation has been updated, please let us know if you need any help using the plugin! We can be reached via an email to<EMAIL_ADDRESS>or via our in-app chat.

Thank you for the quick update and response. I will have a look and try again. :)


Add theme helper, theme toggle component, docs

Description

Adds a ThemeHelper class that can be used to easily manage the color scheme.
Adds a pre-made <ThemeToggle /> wrapper component with slots to create a theme toggle with.
Adds docs for everything mentioned above.

Thank you for submitting your Pull Request, the following links will become available for preview shortly:

StudioCMS Landing Page

StudioCMS Documentation

StudioCMS Demo (node-playground) (Also deployed with package changes)

StudioCMS Ui Demo (ui-playground)

Thank you for submitting your Pull Request, the following links will become available for preview shortly:

StudioCMS Landing Page

StudioCMS Documentation

StudioCMS Demo (node-playground) (Also deployed with package changes)

StudioCMS Ui Demo (ui-playground)


Integrating with VueJS

I'm trying to integrate the TableSaw with vue, it's partially working I have to issues with it:
First: If I load the table after the page load (using IF conditional rendering) the tablesaw don't load and I can't init it "Tablesaw.init();" after mount the component.
Second: When I update the array that contains the objects that are showing up in the table the table do not refresh the rendering and only show's up correcly the initial data.
Anyway to solve that ?
On init:

After update table:

Can you attach a reduced test case? It’s tough to debug from screenshots :)

It sounds like tablesaw only evaluates tables that are present on load by default. I would create a TableSaw component and on its mounted hook run Tablesaw.init() on the specific table you want to saw.. You might need to call this again on any change to the data as well.. i'm not sure if that will be a problem. Tablesaw looks to be written from a more allthedom approach so it might be tricky in a component system

This is an automated message to let you know that this issue requires additional input from the original poster and for the health of the repository issue tracker the issue will be closed. This is to help alleviate issues hanging open waiting for a response from the original poster.

Do not let the issue’s closing deter you. After you’ve supplied the required information, the issue will be reopened. Thanks!


NAO walking problem in Gazebo

Hi,
Thanks for your package.
I used your package to simulate NAO in Gazebo, however, there are some problems in my side, for example when NAO is waking or when it wants to sit, it falls. Please check the following video clip:
https://drive.google.com/file/d/0Bwsg0i6pm8bSMHBqT19RU3RoSDA/view?usp=sharing
And this is the output of my Gazebo:
auto-starting new master
process[master]: started with pid [4188]
ROS_MASTER_URI=http://localhost:11311
setting /run_id to b011a398-ceb4-11e6-ad2c-208984233fa5
process[rosout-1]: started with pid [4201]
started core service [/rosout]
process[gazebo-2]: started with pid [4218]
process[gazebo_gui-3]: started with pid [4222]
process[spawn_urdf-4]: started with pid [4226]
Gazebo multi-robot simulator, version 2.2.6
Copyright (C) 2012-2014 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org
Gazebo multi-robot simulator, version 2.2.6
Copyright (C) 2012-2014 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org
Msg Waiting for master.[ INFO] [1483118613.970170759]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1483118613.970737816]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
Msg Waiting for master
Msg Connected to gazebo master @ http://<IP_ADDRESS>:11345
Msg Publicized address: <IP_ADDRESS>
Msg Connected to gazebo master @ http://<IP_ADDRESS>:11345
Msg Publicized address: <IP_ADDRESS>
Error [Param.cc:181] Unable to set value [1,0471975511965976] for key[horizontal_fov]
Error [Param.cc:181] Unable to set value [0,100000001] for key[near]
[spawn_urdf-4] process has finished cleanly
log file: /home/learning/.ros/log/b011a398-ceb4-11e6-ad2c-208984233fa5/spawn_urdf-4*.log
[E] 4355 posture: PostureLibrary::loadLibraryFromFile: cannot open file ""
[W] 4399 qimessaging.transportsocket: connect: Connection refused
[W] 4394 qimessaging.transportsocket: connect: Connection refused
[W] 4395 qimessaging.transportsocket: connect: Connection refused
[ INFO] [1483118618.438888228]: GazeboNaoqiControlPlugin loaded successfully!
[W] 4393 halinterface: ALVideoDevice service unavailable:Cannot find service 'ALVideoDevice' in index
[ INFO] [1483118709.125245965, 0.022000000]: waitForService: Service [/gazebo/set_physics_properties] is now available.

Hey,
Thanks for using my code!
This is a known issue with the PID values (see #3). If you have some time, I'd be happy to accept any improvements in this side...

Hi,
I need NAO for my work in AI. My final goal is to use it for reinforcement learning, so it needs to walk a lot and do a lots of things and I need to send the simple commands through ROS to NAO.
I have some information about PIDs. However, my information in PID area is as simple as how to keep and engine arm balanced based on a for example potentiometer sensor. So, tell me how can I help and how it is possible to tune the NAO PIDs.
Thanks,

I need NAO for my work in AI. My final goal is to use it for reinforcement learning, so it needs to walk a lot and do a lots of things and I need to send the simple commands through ROS to NAO.

Is it mandatory to use ROS/Gazebo? If not, I could maybe point you to more lightweight simulators (where you can load a URDF and control it by pure position control [via perfect velocity actuators] for example).

So, tell me how can I help and how it is possible to tune the NAO PIDs.

I am not an expert in PID tuning either. You can check in stack overflow: http://robotics.stackexchange.com/questions/167/what-are-good-strategies-for-tuning-pid-loops
Or maybe use some automated optimization procedures (like evolutionary algorithms). You can create a weight objective function for different poses and try to optimize the PID values such that all poses can be achieved. Just my thoughts as I said I am not really an expert in PID tuning.

"Is it mandatory to use ROS/Gazebo? If not, I could maybe point you to more lightweight simulators (where you can load a URDF and control it by pure position control [via perfect velocity actuators] for example)."
Not really, I will appreciate if you tell me about that.
Actually, what are the desired values for the PIDs? And how can we test them? Or how can we communicate with actuators directly?

Actually, what are the desired values for the PIDs? And how can we test them? Or how can we communicate with actuators directly?

The problem is that at the time I coded this package, there was no way of directly controlling the actuators in Gazebo via ROS. So, I had to have torque/force actuators and PIDs for everything. I am not aware if this has changed... You can check in the official documentation. I would be happy to make the changes, if that is the case.

Not really, I will appreciate if you tell me about that.

You can surely use Gazebo without ROS, where you have full control of your robot (actuators, sensors, etc. --- if it hasn't changed; I am not following all of the Gazebo/ROS news lately). That way you could define the actuators as perfect velocity ones and then it is very easy to control them. I would favor this case if you are not interested in launching a lot of simulations in parallel (and if you can actually control the actuators).
Recently, I've been using the DART simulator. It has a lot of nice features and it is very easy to use (with visualizations). Of course, it does not provide all the features that Gazebo provides (interestingly you can use it in Gazebo as a backend), but it could suit your purpose.

Thanks for the information.
I am trying to use DART and also found some other simulators like VRep.

It seems to me that your Gazebo real time factor is slower than mine, could it be the reason that this falling happens? Or perhaps the physic engine you used in your Gazebo?
Check this link:
https://vimeo.com/105584932

It seems to me that your Gazebo real time factor is slower than mine, could it be the reason that this falling happens?

This could be a reason.

Or perhaps the physic engine you used in your Gazebo?

I used all the defaults of Gazebo. But I highly encourage you to use DART in Gazebo as a backend and let me know what happens...


cmd/go: Generate type has no method on type redefine

What version of Go are you using (go version)?

$ go version
go version go1.18.3 windows/amd64

Does this issue reproduce with the latest release?
What operating system and processor architecture are you using (go env)?
go env Output
$ go env

What did you do?

type TestT[T any] struct {
	V T
}

func (TestT[T]) Hello1() {
	fmt.Println("hello")
}

type TestInt1 TestT[int]
type TestInt2 TestT[int]
type TestInt3 = TestT[int]

func TestGoType(t *testing.T) {
	var (
		v1 TestInt1
		v2 TestInt2
		v3 TestInt3
		v4 TestT[int]
	)
	v1.Hello1() // v1.Hello1 undefined (type TestInt1 has no field or method Hello1)
	v2.Hello1() // v2.Hello1 undefined (type TestInt2 has no field or method Hello1)
	v3.Hello1()
	v4.Hello1()
	v3 = v4
	//v1 != v2
}

What did you expect to see?
Support call method.
What did you see instead?
undefined (type TestInt1 has no field or method Hello1)

Like all type declarations, methods are cleared out.
Unlike many projects, the Go project does not use GitHub Issues for general discussion or asking questions. GitHub Issues are used for tracking bugs and proposals only.
For questions please refer to https://github.com/golang/go/wiki/Questions


Client error should not show up in rollbar: Refresh token not recognized

View details in Rollbar: https://rollbar.com/Azavea/RasterFoundry/items/563/
Refresh token not recognized

Similar work was done in #1379.


Typo found: _resolve_ambuguity

Ah, I see!
Please let me know if you're interested in submitting a PR yourself—you're welcome to. Otherwise, I'll address this in the next release

This has been fixed in the latest release


Support restarting the server without rejecting any requests

In theory, it should be possible with uwsgi and its master=true setting to restart the server with 0 requests being rejected due to the service being down (the approach seems to be the obvious thing of queuing requests in the socket until the new processes are up).  I tried this briefly with our supervisord and ran into problems where it would just fail to restart, so some investigation is required into how to do this properly.

@zulipbot claim

@timabbott,
Supervisord doesn't allow to reload applications. It just contains the interface for restarting programs through stop-start command. It means, that when we send HUP signal to uWSGI through supervisor it start reloading child processes, but the master process still alive. Supervisord is waiting for application stopping at this moment and kills the master process after stopwaitsec period. This behavior is the cause of errors "502 bad gateway" on restarting zulip-django application with supervisord.
For graceful reloading, we can enable The master FIFO mode (http://uwsgi-docs.readthedocs.io/en/latest/MasterFIFO.html) and write r to master fifo file. It will allow us to reload uWSGI workers without requests rejecting.
There are several additional methods to reload uWSGI workers through fifo file.
One of them it is using lazy-app mode. In this mode, each worker uses the own copy of the application(don't share a memory from master).  It allows wait for running workers and then restarts each of them. But also it will use more memory than in simple mode.
Another way is chain reloading. It also uses lasy-app mode with writing c to fifo file. In this mode, uWSGI restarts one worker at the time and do not reload another while previous will be not ready to receive requests.

@timabbott Could you please review my investigations.

Col, I think my conclusion from that is that this is somewhat tricky to do with supervisord and potentially something we should defer until later.

I think we need separate tools for reloading services. And allow supervisor just controls stop start commands.


Remove inheritFromElement assert, it can fail during deactivation

This PR restores the InheritedModel PR, https://github.com/flutter/flutter/pull/19739
I've removed this assert from inheritFromModel:
    assert(() {
      if (_parent == null) {
        // We're being deactivated, see deactivateChild()
        return true;
      }
      Element element = _parent;
      while (ancestor != element && element != null)
        element = element._parent;
      return ancestor == element;
    }());

It fails when an ancestor of of a widget calling inheritFromModel is being deactivated.
The assert had been checking for this special case - "we're being deactivated ...", but only for the extra special case where the dependent context was the one being deactivated. Which is what  the form_test.dart  "No crash when a TextFormField is removed from the tree" test does.
This assert wasn't in InheritFromWidgetOfExactType(), which is what inhertFromElement is based on.
In the future, a version of this assert could be restored if a state that represented "deactivation underway" was added per https://github.com/flutter/flutter/pull/19739#discussion_r214191349

I think the assert is valuable, and it probably would be worth doing the extra work to get the extra state so that we can enable it, but I'll leave that up to you.


Sometimes cannot move a task past a task with 3 lines in it

I'm not sure why this is, but sometimes moving a task downwards past a task with 3 lines in it doesn't work.  Retryinga a few times often succeeds.

I think it's sufficient to just track this via #27 - likely related


[Roots 3] Improper localization on Sky Soarer spell tooltip

https://i.imgur.com/TkbvPD2.png

Fixed by tyler


compilebench: add unicode package

The unicode package is interesting
because it has lots of static data.

I would merge this except that I hate the spaghetti history that GitHub insists on creating. Instead I added you as a collaborator. Feel free to push directly to the repo to keep things linear.

Thanks. Pushed directly.


Feature Dimensions in CVRPTW/MTVRP Encoder

Subject: Feature Dimensions in CVRPTW/MTVRP Encoder
I have been using the code provided for solving CVRPTW and MTVRP problems and encountered a possible issue regarding the feature dimensions in the encoder part of the model.
In the CVRPTWModel and MTVRPModel, both models seem to use 5 features for encoding in the node_xy_demand_TW tensor:

x_coord
y_coord
demand
earlyTW (early time window)
lateTW (late time window)

However, in the MTVRPModel encoder, the comment mentions that 6 features are being used. Specifically, it says:
# 6 features are: x_coord, y_coord, demands, earlyTW, lateTW

But only 5 features are listed. The input tensor node_xy_demand_TW is still 5-dimensional as in the CVRPTWModel.
Could you kindly clarify whether this is:

A typo in the comment, and the correct number of features is 5?
Or is the model intended to have an additional (6th) feature that is missing from the input processing (e.g., task type, service time, or another relevant feature for MTVRP)?

Thank you for your interest in the work.
Sorry for the late reply. I have just checked the code and found it is a typo in the comment. It has been revised.
Moreover, I think specifying the type within the encoder might be helpful to improve its representation as a future improvement.


[feature](thrift api) support expr in MemoryScratchSink and make arro…

…w::Schema recalculate with block info (#24603)
Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


How to

How to use shiki code highlight in Hugo？

Please use the forum (https://discourse.gohugo.io/) for questions and troubleshooting. We prefer to use GitHub for verified bugs and vetted enhancements. Thanks.


kubernetes-dashboard low version

k8s v18
system centos7
kubernetes-dashboard the server could not find the requested resource

This is caused by version mismatch. We have solved this problem in version 0.7.3.

kube-install v0.7.3 fixes many problems and supports more practical features, such as supporting multiple CNI plug-ins, supporting multiple operating systems in the same cluster, skipping kernel upgrade, etc.

We recommend that you use the latest version of kube install v0.7.3 or above.

The “Kubernetes-dashboard”is still not working

Looks like a missing “Dashboard-metrics-scraper.”

You can add a switch to install “kubernetes-dashboard”. Because “kubernetes-dashboard”isn’t necessary.

The “Kubernetes-dashboard”is still not working

In fact, in the new version, Dashboard is already running normally. The "Dashboard-metrics-scraper" you see is used to display the monitoring graph on the Dashboard interface, "Dashboard-metrics-scraper" is an additional plug-in, and "Dashboard-metrics-scraper" is not necessary.

can add a switch to install “kubernetes-dashboard”. Because “kubernetes-dashboard”isn’t necessary.

"Kubernetes-dashboard" is used on the web interface of "kube-install", and "kube-install" integrates the most basic "kubernetes-dashboard" by default (not including "Dashboard-metrics-scraper"), so for the time being Will not become an option. We can integrate "Dashboard-metrics-scraper" in future versions.

Looks like a missing “Dashboard-metrics-scraper.”
https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml

If you need "Dashboard-metrics-scraper", you can manually add "Dashboard-metrics-scraper" on the basis of Dashboard.
You can use the following code to attach "Dashboard-metrics-scraper":
kind: Deployment
apiVersion: apps/v1
metadata:
  labels:
    k8s-app: dashboard-metrics-scraper
  name: dashboard-metrics-scraper
  namespace: kubernetes-dashboard
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      k8s-app: dashboard-metrics-scraper
  template:
    metadata:
      labels:
        k8s-app: dashboard-metrics-scraper
      annotations:
        seccomp.security.alpha.kubernetes.io/pod: 'runtime/default'
    spec:
      containers:
        - name: dashboard-metrics-scraper
          image: kubernetesui/metrics-scraper:v1.0.6
          ports:
            - containerPort: 8000
              protocol: TCP
          livenessProbe:
            httpGet:
              scheme: HTTP
              path: /
              port: 8000
            initialDelaySeconds: 30
            timeoutSeconds: 30
          volumeMounts:
          - mountPath: /tmp
            name: tmp-volume
          securityContext:
            allowPrivilegeEscalation: false
            readOnlyRootFilesystem: true
            runAsUser: 1001
            runAsGroup: 2001
      serviceAccountName: kubernetes-dashboard
      nodeSelector:
        "kubernetes.io/os": linux
      # Comment the following tolerations if Dashboard must not be deployed on master
      tolerations:
        - key: node-role.kubernetes.io/master
          effect: NoSchedule
      volumes:
        - name: tmp-volume
          emptyDir: {}

You can get the kube-install v0.7.3 from the link below: https://github.com/cloudnativer/kube-install/releases/tag/v0.7.3

Finally, I didn’t use “Kubernetes-dashboard,”and it seems that the new version of HTTPS isn’t working, and I don’t know how to fix it.

看起来像是缺少“仪表板指标抓取工具”。
https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml

如果需要“Dashboard-metrics-scraper”，可以在Dashboard的基础上手动添加“Dashboard-metrics-scraper”。
您可以使用以下代码附加“Dashboard-metrics-scraper”：
kind: Deployment
apiVersion: apps/v1
metadata:
  labels:
    k8s-app: dashboard-metrics-scraper
  name: dashboard-metrics-scraper
  namespace: kubernetes-dashboard
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      k8s-app: dashboard-metrics-scraper
  template:
    metadata:
      labels:
        k8s-app: dashboard-metrics-scraper
      annotations:
        seccomp.security.alpha.kubernetes.io/pod: 'runtime/default'
    spec:
      containers:
        - name: dashboard-metrics-scraper
          image: kubernetesui/metrics-scraper:v1.0.6
          ports:
            - containerPort: 8000
              protocol: TCP
          livenessProbe:
            httpGet:
              scheme: HTTP
              path: /
              port: 8000
            initialDelaySeconds: 30
            timeoutSeconds: 30
          volumeMounts:
          - mountPath: /tmp
            name: tmp-volume
          securityContext:
            allowPrivilegeEscalation: false
            readOnlyRootFilesystem: true
            runAsUser: 1001
            runAsGroup: 2001
      serviceAccountName: kubernetes-dashboard
      nodeSelector:
        "kubernetes.io/os": linux
      # Comment the following tolerations if Dashboard must not be deployed on master
      tolerations:
        - key: node-role.kubernetes.io/master
          effect: NoSchedule
      volumes:
        - name: tmp-volume
          emptyDir: {}

Yes, I’ve added “Dashboard-metrics-scraper.”

看起来像是缺少“仪表板指标抓取工具”。
https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml

如果需要“Dashboard-metrics-scraper”，可以在Dashboard的基础上手动添加“Dashboard-metrics-scraper”。
您可以使用以下代码附加“Dashboard-metrics-scraper”：
kind: Deployment
apiVersion: apps/v1
metadata:
  labels:
    k8s-app: dashboard-metrics-scraper
  name: dashboard-metrics-scraper
  namespace: kubernetes-dashboard
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      k8s-app: dashboard-metrics-scraper
  template:
    metadata:
      labels:
        k8s-app: dashboard-metrics-scraper
      annotations:
        seccomp.security.alpha.kubernetes.io/pod: 'runtime/default'
    spec:
      containers:
        - name: dashboard-metrics-scraper
          image: kubernetesui/metrics-scraper:v1.0.6
          ports:
            - containerPort: 8000
              protocol: TCP
          livenessProbe:
            httpGet:
              scheme: HTTP
              path: /
              port: 8000
            initialDelaySeconds: 30
            timeoutSeconds: 30
          volumeMounts:
          - mountPath: /tmp
            name: tmp-volume
          securityContext:
            allowPrivilegeEscalation: false
            readOnlyRootFilesystem: true
            runAsUser: 1001
            runAsGroup: 2001
      serviceAccountName: kubernetes-dashboard
      nodeSelector:
        "kubernetes.io/os": linux
      # Comment the following tolerations if Dashboard must not be deployed on master
      tolerations:
        - key: node-role.kubernetes.io/master
          effect: NoSchedule
      volumes:
        - name: tmp-volume
          emptyDir: {}

Finally, I didn’t use “Kubernetes-dashboard,”and it seems that the new version of HTTPS isn’t working, and I don’t know how to fix it.

Install it by default if you feel you need to.

can add a switch to install “kubernetes-dashboard”. Because “kubernetes-dashboard”isn’t necessary.

"Kubernetes-dashboard" is used on the web interface of "kube-install", and "kube-install" integrates the most basic "kubernetes-dashboard" by default (not including "Dashboard-metrics-scraper"), so for the time being Will not become an option. We can integrate "Dashboard-metrics-scraper" in future versions.

can add a switch to install “kubernetes-dashboard”. Because “kubernetes-dashboard”isn’t necessary.

"Kubernetes-dashboard" is used on the web interface of "kube-install", and "kube-install" integrates the most basic "kubernetes-dashboard" by default (not including "Dashboard-metrics-scraper"), so for the time being Will not become an option. We can integrate "Dashboard-metrics-scraper" in future versions.

Install it by default if you feel you need to.

If you are using a Chrome browser, you can set the security permission, or enter "thisisunsafe" on the keyboard.

I use Chrome, which works for me. Thank you!

Firefox browser can skip opening directly, which is more convenient.

Firefox browser can skip opening directly, which is more convenient.

This is my habit and I don’t want to change it for the time being.

“Kubernetes-dashboard”is not a necessity for me, and “Dashboard-metrics-scraper”is not a necessity, and I want the clustering to be as simple as possible.

We have recorded your requirements,  kube-dashboard can be made optional in future versions.

We have recorded your requirements, kube-dashboard can be made optional in future versions.

I am using “Lens”for K8s management.

I am using “Lens”for K8s management.

oh, This is great.

Next Version Feature Preview: https://github.com/cloudnativer/kube-install/blob/master/docs/roadmap.md

Next Version Feature Preview: https://github.com/cloudnativer/kube-install/blob/master/docs/roadmap.md

This is great.


Box2D Bodies in a Group

Changing the X/Y of a group creates box2d body at world co-ordinate, instead of sprite's group co-ords. For example -
create() {
        cursors = game.input.keyboard.createCursorKeys()
        game.physics.startSystem(Phaser.Physics.BOX2D);
        game.physics.box2d.setBoundsToWorld()
        group = game.add.physicsGroup(Phaser.Physics.BOX2D)
        group.x = 300;
        group.y = 300;
        rocket = group.create(0,0, 'rocket');
        //rocket.body.offset.x = 300;
        //rocket.body.offset.y = 300;
       // Above doesn't appear to make a change.
       // rocket.body.setRectangle(rocket.width,rocket.height,group.x,group.y,rocket.angle)
       // Above sets bounding box at correct location but falls off with rotation
        }

update() {
        if (cursors.left.isDown){rocket.body.rotateLeft(100)}
        else if (cursors.right.isDown){rocket.body.rotateRight(100);}
        else {rocket.body.setZeroRotation()}
	if (cursors.up.isDown){rocket.body.thrust(100);}
        else if (cursors.down.isDown{rocket.body.reverse(100)}
}

render(){
       game.debug.box2dWorld()
 }

Switching the physics engine back to arcade produces the body in the right place, so not sure if maybe just using Box2d wrong!

Sorry for the time it took to respond to this. Just finished looking at it, and the problem is the plugin works by adjusting the Sprite.x and y values directly - the problem being they are local coordinates, relative to the parent Group, but the Body is always positioned and manipulated in world coordinates. I'm afraid the only way around this is to keep your Groups at 0,0, or don't put Box2D sprites inside of non-world aligned Groups.