Take incoming platform Sidecars and make annotations for them

This new feature takes the new PlatformSidecar objects from the
Titus API proto definition and populates the appropriate
annotations on the pod. No additional processing is required by
the control-plane, because we want to stay pretty close to
the "the pod spec is the api" vision.
Two big things we need to iron out:

Annotation format. It would be nice to get some good conventions,
and hopefully not change them over time. Luckily in the webhook
we can parse multiple annotations and merge them together as we change.

This whole Struct stuff. The reasoning behind using a protobuf
Struct
field was to preserve the structured data that would come in
from the API, and not treat it like a "string" of escaped json.

I think this is still probably a good idea, and only stringify
it out at the last second sounds also like a good idea?
But I've never done something like this in java, so it needs
extra scrutiny. Also I don't know if it is kosher for the actual
POJO to "just" be a struct, but it sure simplifies things!

I think one more thing I need feedback on is how to best handle the json serialization exceptions.
I'm very afraid of NPE'ing the process, so I would like to fail as safely as possible.

This is ready for the next phase of review. All tests pass, and I've confirmed on my dev stack that it correctly takes structure arguments, and those arguments are easily visible in the UI as true json, but under the hood in cassandra they are stringified json, and that same stringified json is what ends up on the pod annotation.

(Rebased on master to account for the volumeMount changes)


Feature/multiple sites

Triggering a build on main branch so that the stg deploy will go ahead

The gitguardian hit was against some (expired) presigned urls - that was against public 1000g bams anyhow


ci: Hotfix on type

#149 のミスの緊急修正です.

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@dd69db4). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #151   +/-   ##
=======================================
  Coverage        ?   47.63%
=======================================
  Files           ?       34
  Lines           ?      739
  Branches        ?      121
=======================================
  Hits            ?      352
  Misses          ?      272
  Partials        ?      115

Flag
Coverage Δ

unittests
47.63% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out 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 dd69db4...d657229. Read the comment docs.


Delete comments

Fixes #72
Description

Add backend logic for deleting comments

Checks if user is logged in and that the comment to delete is theirs

Btw the ci will always fail, and i can't be bothered to figure out why


Authentication error

AuthenticationError                       Traceback (most recent call last)
<ipython-input-3-69ade5292074> in <module>()
----> 1 g.login ('**********', '**********')

/home/debdut/Code/workspace/gmail/gmail/gmail.pyc in login(self, username, password)
    104                 self.fetch_mailboxes()
    105         except imaplib.IMAP4.error:
--> 106             raise AuthenticationError
    107
    108

AuthenticationError:

I also got an email that Google is blocking the login. How to fix it?
Note: I have replaced my username password with  *'s.

if i am giving correct user name and password
File "", line 1, in
File "/usr/local/lib/python2.7/dist-packages/gmail/utils.py", line 7, in login
gmail.login(username, password)
File "/usr/local/lib/python2.7/dist-packages/gmail/gmail.py", line 100, in login
raise AuthenticationError
gmail.exceptions.AuthenticationError

@ANANTHU-R-NATH thanks!


net/tcp(unbuffered): removed excessive overwrites of conn->sndseq

Summary
conn->sndseq was updated in multiple places that was unreasonable and complicated.
Impact
TCP
Testing

@a-lunev
I noticed this PR has a side effect.
For example, if I try the wget command with spresnse:rndis + CONFIG_NET_TCP_WRITE_BUFFERS=n, it failed.
Actually, it works if I revert this PR.
Please see the wireshark logs.
spresense-rndis-wget-logs-20220102.zip

@a-lunev
I noticed this PR has a side effect. For example, if I try the wget command with spresnse:rndis + CONFIG_NET_TCP_WRITE_BUFFERS=n, it failed. Actually, it works if I revert this PR.
Please see the wireshark logs.
spresense-rndis-wget-logs-20220102.zip

Thank you for letting me know. I was able to reproduce the issue based on ftpc command. As I can see, tcp_sendfile is affected in unbuffered mode. I'm investigating the issue.

@masayuki2009 could you please review and test #5138 for the found issue?


[WIP] Support ChainerX in MNIST model parallel example

Part of #6661
TODO: Needs to fix StandardUpdater not to transfer the model parameters.
See this comment for more detail: https://github.com/chainer/chainer/pull/4139#issuecomment-366684813

#7225


codeowners file

Adds CODEOWNERS file.
This will enable the following behavior:

@cirq-maintainers, @cduck and @vtomole  are the default codeowners for the content of the repo. This has been decided based on levels of contributions in the last 6 months on Cirq Cynque, PR approvals and issue conversations.
@wcourtney is added as an owner to the google related code and docs
Owners are going to be pinged on every PR
I will turn on "owner approval required" - which means that no one can merge a PR unless an owner has approved the given PR.

Eventually this will enable the definition of codeowners for vendors, e.g. AQT, IonQ, Pasqal and experimental modules - so that these modules can move faster without the overhead of waiting on Cirq maintainer approval
@cduck, @vtomole, let me know if you want to opt out of this role.
See more at: https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/about-code-owners

That's a lot of spam for a single commit.  Because so many people get added on a single PR, it may be a problem "who is actually reviewing this"

That's a lot of spam for a single commit. Because so many people get added on a single PR, it may be a problem "who is actually reviewing this"

I'm open for alternatives, but there is no other way to enable code ownership with built-in tools unfortunately - that was still an issue before, a lot of times people forget to press the "request review" button and then the PR just sits there.
An alternative with external tools would be something like Prow: https://github.com/kubernetes/community/blob/master/contributors/guide/owners.md


MVK_CONFIG_VK_SEMAPHORE_SUPPORT_STYLE_METAL_EVENTS_WHERE_SAFE implementation doesn't match documentation

Somehow missed this when looking over the PR, but while the documentation on MVK_CONFIG_VK_SEMAPHORE_SUPPORT_STYLE_METAL_EVENTS_WHERE_SAFE says "This will revert to same as MVK_CONFIG_VK_SEMAPHORE_USE_SINGLE_QUEUE on some NVIDIA GPUs and Rosetta2, due to potential challenges with MTLEvents on those platforms"
https://github.com/KhronosGroup/MoltenVK/blob/5bae97a4ae3cc7405f835167880f00f467c8ba52/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h#L110
The implementation uses MVK_CONFIG_VK_SEMAPHORE_SUPPORT_STYLE_CALLBACK (MVKSemaphoreStyleUseEmulation) where MTLEvent is potentially broken, instead of SINGLE_QUEUE
https://github.com/KhronosGroup/MoltenVK/blob/5bae97a4ae3cc7405f835167880f00f467c8ba52/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm#L3126-L3134
These should probably be adjusted to match each other, preferably matching the documentation (fallback is SINGLE_QUEUE)

Thanks. Good catch.

preferably matching the documentation (fallback is SINGLE_QUEUE)

While developing this I decided to change it to defaulting to Emulation (without apparently updating the corresponding documentation), on the assumption of preferring behavioral consistency over performance.
In other words, when falling back, emulation will allow the multiple queues that some applications likely need. The app is then free to set the config accordingly on that platform if it wants to trade off using a single queue for added performance during the fallback.

Intel iGPUs only have a single queue so if an application doesn't support single queue, it'll break on every Intel iGPU.  Which I would hope isn't common.
BTW we might want to have separate options for the two fallbacks, since as it is right now, an application would have to figure out for itself whether it's on an Nvidia GPU or Rosetta to get the other fallback with the same "only for non-MTLEvent-supporting GPUs" behavior.

PR #1738 fixes this. Closing now.


Fix encode issue for embed struct with tags

Embed struct with tag does not have the key encoded, for example:
type Foo struct {
    Name string
}
type Bar struct {
	Foo `json:"foo"`
	ID  string `json:"id"`
}
func main() {
	b := Bar{ID:"abc"}
	v, err := json.Marshal(b)
	if err != nil {
		log.Fatal(err)
	}

	fmt.Println(string(v))
}

The output will be {{"Name":""},"id":"abc"}, the key of foo is lost, which is different from the behavior of encoding/json.
This PR will fix this issue.

Codecov Report

Merging #265 (a95c5ab) into master (85a5597) will increase coverage by 0.21%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #265      +/-   ##
==========================================
+ Coverage   81.00%   81.22%   +0.21%
==========================================
  Files          47       47
  Lines       14828    15566     +738
==========================================
+ Hits        12012    12643     +631
- Misses       2262     2362     +100
- Partials      554      561       +7

Thank you for the great PR !!! I appreciate it very much


Update sbt-native-packager to 1.7.4

Updates com.typesafe.sbt:sbt-native-packager from 1.3.25 to 1.7.4.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.typesafe.sbt", artifactId = "sbt-native-packager" } ]

labels: sbt-plugin-update, semver-minor

Codecov Report

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

@@           Coverage Diff           @@
##           master     #135   +/-   ##
=======================================
  Coverage   12.96%   12.96%
=======================================
  Files          54       54
  Lines        2168     2168
  Branches       28       28
=======================================
  Hits          281      281
  Misses       1887     1887

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 0c94980...03d619a. Read the comment docs.


CI Standard Checks test

When PR is draft:

When PR is ready to review:

@Typeform/engineering-intelligence

@jordiroig-tf What is this PR for?

Sorry @dbernues for not providing more context... this is basically to test an error of ci-standard-checks being triggered on a draft but not in a ready PR because "Pull Request is a draft, skipping all checks".
This PR was intended for @Typeform/engineering-intelligence, but for some reason, GH included you as reviewers. Sorry for that

Just testing


fix: add useMemo to improve performance

Description
updating name will render the component as well as the child component LocationSelectContent. It is expensive to rerender the component if we have many bot folders.
Task Item
Closes #4633
Screenshots

Coverage increased (+0.004%) to 55.76% when pulling e4cd98649e138493f5ffd6e165ddc891add0824d on liweitian:nameInputPerf into de5adb1f79eae671df194803355a92e6879a98de on microsoft:main.


Thank you!

Thank you!
Originally posted by @cowtowncoder in https://github.com/FasterXML/jackson-bom/pull/61#issuecomment-1407820835

Thank you!
Originally posted by @cowtowncoder in https://github.com/FasterXML/jackson-bom/pull/61#issuecomment-1407820835


Fix #1670: Python generated code is missing when using pip install git+https

Describe your changes
Use this comparison to review the code.
When I support our users in configuring their connectors for the first time, I need to provide them hotfixes for the Python code as fast as possible and these hotfixes need to be tested before they can be shared with the rest of the community.
pipprovides the possibility to use packages that are not published in PyPI using git.
I have created a python module ingestion-generated to package the Python classes generated from the JSON Schema files because metadata was not founding the generated classes.
python setup.py install doesn't work with a dependency on git.
Steps to test it on your computer pretending that you are one of our users
python3 -m venv env
source env/bin/activate
pip install 'git+https://github.com/amiorin/OpenMetadata@ISSUE-1670#egg=openmetadata-ingestion[docker]&subdirectory=ingestion'
metadata docker --help

I could keep this patch in my private repo and use them when needed or we could merge them in main.
If we merge it, I will remove the generated code.

Type of change :

[x] New feature

Checklist:

[x] I have read the CONTRIBUTING document.
[x] I have performed a self-review of my own.
[x] I have tagged my reviewers below.
[x] I have commented on my code, particularly in hard-to-understand areas.
[x] My changes generate no new warnings.
[x] I have added tests that prove my fix is effective or that my feature works.
[x] All new and existing tests passed.

Reviewers
@harshach @ayush-shah @pmbrull

@amiorin can you describe few more details

Are you asking users to install the package via git with hot fixes?
I think its good idea to separate out the generated sources as another package and make it a dependency

@pmbrull can you review as well?

@amiorin can you describe few more details

Are you asking users to install the package via git with hot fixes?

Yes, for example, there was a case where the user was creating a Dockerfile with openmetadata-ingestion and he wanted to test the Glue catalog using the new way of getting the credentials but the PR was still in review.

I think its good idea to separate out the generated sources as another package and make it a dependency

That's the plan.

@pmbrull can you review as well?

Hi, makes sense! Nice thinking here!
I have been trying to figure out the best way to control how we update the PyPI version when modifying JSON schemas. We could either add a bullet point to the PR template to add an issue for pushing the changes, or create a GH action based on main pushes with changes on the JSONs that automatically runs twine. I guess we just need to save the PyPI creds as secrets in the settings.

very important thing here is how do we manage versions. If we keep publishing packages automatically into pypi based on the JSON changes that can be picked up by older ingestion package which can cause issues as we are not really doing backward compatible changes.

That is a good point. However, I think that we are currently publishing the ingestion module together with the generated code via make publish.
This automation would only serve the case presented by @amiorin, where he needs to test out and ship a specific hotfix (that I assume will at some point be merged into main)


boost 1.58.0 OSMemoryBarrier deprecated

It will be best to just upgrade boost (requires retraining models due to boost-pba complications):
/Users/dhirvonen/.hunter/_Base/8f75b22/dc43001/47f178b/Install/include/boost/asio/detail/macos_fenced_block.hpp:51:5: warning: 'OSMemoryBarrier' is deprecated: first deprecated in macOS 10.12 - Use std::atomic_thread_fence() from <atomic> instead [-Wdeprecated-declarations]
    OSMemoryBarrier();

Boost was upgraded to 1.64.0 for offline application use (removed from the SDK an serialization) which resolved the issue.


Error generating documentation with Python 3.7

@raphaelfournier reported in #243 a failure generating Watson's documentation using Python 3.7:

Beware that mkdocs 0.14 is not compatible with Python 3.7: you should either use a virtualenv with Python 3.6 or update mkdocs to a more recent version (1.0.4 at the time of writing, which also requires running pip install --upgrade mkdocs-bootstrap mkdocs-bootswatch to get the flatly theme used by our docs).

Trying to generate Watson docs using Python 3.7, I've come across the following error (which might or might not be what @raphaelfournier was refering to):
# In Watson local repository
$ rm -r .venv
$ PYTHON=python3.7 make env
$ source .venv/bin/activate
(.venv) $ make docs
...
python scripts/gen-cli-docs.py
mkdocs build
Traceback (most recent call last):
  File "/home/david/projects/watson/.venv/lib/python3.7/site-packages/mkdocs/config/config_options.py", line 329, in walk_docs_dir
    raise StopIteration
StopIteration

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/david/projects/watson/.venv/bin/mkdocs", line 10, in <module>
    sys.exit(cli())
  File "/home/david/projects/watson/.venv/lib/python3.7/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/home/david/projects/watson/.venv/lib/python3.7/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/home/david/projects/watson/.venv/lib/python3.7/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/david/projects/watson/.venv/lib/python3.7/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/david/projects/watson/.venv/lib/python3.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/home/david/projects/watson/.venv/lib/python3.7/site-packages/mkdocs/cli.py", line 133, in build_command
    site_dir=site_dir
  File "/home/david/projects/watson/.venv/lib/python3.7/site-packages/mkdocs/config/base.py", line 147, in load_config
    errors, warnings = cfg.validate()
  File "/home/david/projects/watson/.venv/lib/python3.7/site-packages/mkdocs/config/base.py", line 80, in validate
    self._post_validate()
  File "/home/david/projects/watson/.venv/lib/python3.7/site-packages/mkdocs/config/base.py", line 72, in _post_validate
    config_option.post_validation(self, key_name=key)
  File "/home/david/projects/watson/.venv/lib/python3.7/site-packages/mkdocs/config/config_options.py", line 345, in post_validation
    for filename in self.walk_docs_dir(config['docs_dir']):
RuntimeError: generator raised StopIteration
make: *** [Makefile:51: docs] Error 1

This is a known issue (see mkdocs/mkdocs/pull/1518), we need to upgrade this dependency.


Reduce clutter in client_message

Currently the signal client_message is emitted for each message send to the server. Could you split client_message in multiple verbosity levels so the default debug output isn't as cluttered?

https://github.com/deadpixelsociety/gspot/blob/main/addons/gspot/gsclient.gd#L333
	_log(LogLevel.DEBUG, "Sending message: %s" % message)

Could this specific message be moved to a higher verbosity level than everything else? This is basically the only message I don't want to log since it is send every time the vibration level changes which can happen pretty often and is not all that useful information in normal application use.

https://github.com/deadpixelsociety/gspot/blob/main/addons/gspot/gsclient.gd#L333
	_log(LogLevel.DEBUG, "Sending message: %s" % message)

Could this specific message be moved to a higher verbosity level than everything else? This is basically the only message I don't want to log since it is send every time the vibration level changes which can happen pretty often and is not all that useful information in normal application use.

That one I would like to keep at DEBUG level as that's it's intended use. The output of client_message is largely intended to be used for developer review of what's happening inside GSClient without needing to debug step through everything themselves.
If you want cleaner output for yourself or going to your end users I would suggest connecting to the other signals and providing feedback based on their emissions. If any of those signals need improving or more are needed we can certainly look at that.


Added in-editor documentation

Known Issue: Argument name does not override.
Still searching for what I missed.

Wow, you sir are on fire!  That is an impressive pull request, thank you!

My pleasure. Thanks for this awesome plugin!

Welcome and thanks for making it even better!


Error even if I click consent with method 2 it doesn't work

Method 2 is the only one that makes something to appear on my TV, but it gives me this error when if I click Consent.
npx homebridge-samsungtv-control pair2 [CENSORED IP] [CENSORED MAC]
Ok... sending the pairing request to your tv. Please click allow when asked
(node:6370) [DEP0123] DeprecationWarning: Setting the TLS ServerName to an IP address is not permitted by RFC 6066. This will be ignored in a future version.
That didn't work unfortunatelly. Here are some other possible solutions:
	1. Try another port npx homebridge-samsungtv-control pair2 [CENSORED IP] [CENSORED MAC] --port 8001
	2. Try another port npx homebridge-samsungtv-control pair2 [CENSORED IP] [CENSORED MAC] --port 55000
	3. Try the other pairing method npx homebridge-samsungtv-control pair1 [CENSORED IP] [CENSORED MAC]
	4. Try the legacy protocol npx homebridge-samsungtv-control legacy [CENSORED IP] [CENSORED MAC]

@mmende

The deprecation warning can most probably be ignored and should come from the library used when the plugin tries to pair to a tv with pair2. If the other method also doesn't work your tv unfortunately isn't supported yet. Can you tell me which model your tv is? I am planning on adding a supported / not supported tv section soon so other people can see if there tv was already tested to work / not work with this plugin...

@mmende The Frame 2017, but I see the confirmation request, it gives me this error when I click on consent.

Same issue on me. The TV did pop up the notifications for asking the permission to be remote by NodeJS Remote. But nothing happened after I pressed OK on TV and the Homebridge return failure message.
Mine TV is QLED Q80R 2019 and using Homebridge v1.2.2
Ok... sending the pairing request to your tv. Please click allow when asked
(node:16763) [DEP0123] DeprecationWarning: Setting the TLS ServerName to an IP address is not permitted by RFC 6066. This will be ignored in a future version.
That didn't work unfortunatelly. Here are some other possible solutions:

Same issue on me. The TV did pop up the notifications for asking the permission to be remote by NodeJS Remote. But nothing happened after I pressed OK on TV and the Homebridge return failure message.
Mine TV is QLED Q80R 2019 and using Homebridge v1.2.2
Ok... sending the pairing request to your tv. Please click allow when asked
(node:16763) [DEP0123] DeprecationWarning: Setting the TLS ServerName to an IP address is not permitted by RFC 6066. This will be ignored in a future version.
That didn't work unfortunatelly. Here are some other possible solutions:

I am using pair 2 in this stage while there is no any notification on the TV with pair 1.

Same issue here.  2020 "The Frame".  pair1 doesn't do anything, but pair2 asks for permission on the TV and then I get the error...

same here with Samsung 7 Series NU7100 (UE40NU7190)


Secure Content: Negative test case with one byte changed in encrypted part

Add a negative test case to the secure content test case where a single byte is changed in the encrypted 3MF part. If the changed byte does not otherwise cause the decryption to fail, validate that the consumer uses the tag attribute value to detect that the the data has been tampered. Note that the test suite already has a negative test where there tag itself is incorrect which will verify that the consumer is validating the tag, but this proposed test case will more accurately reflect what might be seen in the "wild".

This has been completed, test case N_EPX_2605_07 added. Will close issue when current update is complete and files are moved to Github.

Corrected files have been moved to the develop branch

Version 2.0.0 of the test_suite has been approved. The fixes to this issue will be merged with the Master branch and released. Closing this issue.


feat: solve math design circular dependency

Please check if the PR fulfills these requirements

[x] The commit message follows our guidelines
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
math is depended on design, which will have problem when design add more interface which will use math. the circulate dependency is solver by adding new IClone in math packages
What is the current behavior? (You can also link to an open issue here)
What is the new behavior (if this is a feature change)?
Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
Other information:

Codecov Report

Merging #485 (11cbbe2) into main (5a30d50) will increase coverage by 0.17%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main     #485      +/-   ##
==========================================
+ Coverage   47.99%   48.16%   +0.17%
==========================================
  Files         349      350       +1
  Lines       18968    18901      -67
  Branches     2548     2533      -15
==========================================
  Hits         9104     9104
+ Misses       9864     9797      -67

Impacted Files
Coverage Δ

packages/math/src/BoundingBox.ts
96.59% <ø> (ø)

packages/math/src/BoundingFrustum.ts
98.11% <ø> (ø)

packages/math/src/BoundingSphere.ts
97.29% <ø> (ø)

packages/math/src/Color.ts
100.00% <ø> (ø)

packages/math/src/IClone.ts
0.00% <0.00%> (ø)

packages/math/src/Matrix.ts
91.88% <ø> (ø)

packages/math/src/Matrix3x3.ts
94.22% <ø> (ø)

packages/math/src/Plane.ts
100.00% <ø> (ø)

packages/math/src/Quaternion.ts
91.41% <ø> (ø)

packages/math/src/Rect.ts
100.00% <ø> (ø)

... and 11 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 5a30d50...11cbbe2. Read the comment docs.


feature: update API definition to be more accurate

Signed-off-by: Allen Sun<EMAIL_ADDRESS>
Ⅰ. Describe what this PR did
update API deinition to be more accurate
Ⅱ. Does this pull request fix one issue?

none
Ⅲ. Why don't you add test cases (unit test/integration test)? (你真的觉得不需要加测试吗？)
just definition of API, no need to test.
Ⅳ. Describe how to verify it
none
Ⅴ. Special notes for reviews
none

We need a collection of API related to PeerTask

a collection of API related to PeerTask

I think PeerTask is a struct in supernode, why to expose this in API? @Starnop

a collection of API related to PeerTask

I think PeerTask is a struct in supernode, why to expose this in API? @Starnop

A PeerTask means a download process, for operation usage, we need to know which download processes are executing, the processes status, and so on. So we need an API to get/list PeerTasks. As for create/update/delete operations, we should handle them with Task related interfaces.

We need to update the struct of pieceInfo which include the following fields：

pieceRange string
pieceNum int
pieceSize int32
pieceMd5 string
cid string
peerIP string
peerPort int
path string
status string

@lowzj anything else should be added ?

We need to update the struct of pieceInfo which include the following fields：

pieceRange string
pieceNum int
pieceSize int32
pieceMd5 string
cid string
peerIP string
peerPort int
path string
status string

@lowzj anything else should be added ?

The PieceUpdateRequest need a parameter srcCid.

LGTM.

I still need to do some update. Please do not merge this now.

Can we move forward? ^_^

I have updated all the demand we discussed.  PTAL @Starnop @lowzj

We need to update the struct of pieceInfo which include the following fields：

pieceRange string
pieceNum int
pieceSize int32
pieceMd5 string
cid string
peerIP string
peerPort int
path string
status string

@lowzj anything else should be added ?

The PieceUpdateRequest need a parameter srcCid.

@lowzj  Maybe we don't need the field of status, WDYT?

...
9. status string
@lowzj anything else should be added ?

The PieceUpdateRequest need a parameter srcCid.

@lowzj Maybe we don't need the field of status, WDYT?

agree.

Should we unify the status as string type. Now the type of status passed betweendfget and supernode is int.

Yes. I think we should use string. @lowzj
I think in the swagger, it has already been string.

LGTM


Feature request:

Select which chart to show based on specific growing stage like on website
VPD Sensor created based on calcuated VPD

The second feature would be really cool!

I'd love to be able to use the calculated vpd value to control my humidifier accordingly.
I'm guessing this is what your 2nd feature is about.
Is there any way to get this value out of the chart?

If you need that you could in the worst case create a sensor yourself. Just use the same 3 sensors as a base and you will get the same result.


provision command hangs if device is already provisioned

Shouldn't it just exit?
On kill:
eric@eks9u:~/github/t2-cli$ t2 provision
INFO Connecting to Tessel...
INFO Connected over USB.
ERR! [Error: Keys already exist. Refusing to overwrite them.]

^C/home/eric/github/t2-cli/lib/tessel/tessel.js:22
    this.connection.end(function() {
                   ^
TypeError: Cannot read property 'end' of undefined
    at process.endConnection (/home/eric/github/t2-cli/lib/tessel/tessel.js:22:20)
    at process.g (events.js:199:16)
    at process.emit (events.js:104:17)
    at Signal.wrap.onsignal (node.js:655:46)

Yes it should. Out of curiosity, did you run this command quickly, before
the OS may have booted completely?
On Mon, Jun 15, 2015 at 12:26 PM Eric Kolker<EMAIL_ADDRESS>wrote:

Shouldn't it just exit?
On kill:
eric@eks9u:~/github/t2-cli$ t2 provision
INFO Connecting to Tessel...
INFO Connected over USB.
ERR! [Error: Keys already exist. Refusing to overwrite them.]
^C/home/eric/github/t2-cli/lib/tessel/tessel.js:22
this.connection.end(function() {
^
TypeError: Cannot read property 'end' of undefined
at process.endConnection (/home/eric/github/t2-cli/lib/tessel/tessel.js:22:20)
at process.g (events.js:199:16)
at process.emit (events.js:104:17)
at Signal.wrap.onsignal (node.js:655:46)
—
Reply to this email directly or view it on GitHub
https://github.com/tessel/t2-cli/issues/157.

I don't remember, but that's not the (sole) cause. I get this after the thing has had plenty of time to boot:
eric@eks9u:~/github/yolo-octo-robot/t2$ t2 provision
INFO Connecting to Tessel...
INFO Connected over USB.
ERR! [Error: Keys already exist. Refusing to overwrite them.]
^C/home/eric/github/t2-cli/lib/tessel/tessel.js:22
    this.connection.end(function() {
                   ^
TypeError: Cannot read property 'end' of undefined
    at process.endConnection (/home/eric/github/t2-cli/lib/tessel/tessel.js:22:20)
    at process.g (events.js:199:16)
    at process.emit (events.js:104:17)
    at Signal.wrap.onsignal (node.js:655:46)

Gotcha well I will check this out and fix it.


Custom Validation is not triggered for empty Array

I have the following Custom Validation Rules:
const Validator = require("validatorjs");

Validator.register(
  "NotEmptyArray",
  (value, requirement, attribute) => {
    return Array.isArray(value) && value[0] !== "";
  },
  "The :attribute cannot be empty array"
);

And when I'm trying to validate following data, it is not working as expected.
const value = new Validator(
  { label: "Question 1", widgetId: [""] },
  { label: "string", widgetId: "NotEmptyArray" }
);

it always return true

@shsaucorp,
You don't need to register custom rules in your case.
Just validate widgetId by required|min:1
you can check this repl

@shuhailshuvo thanks for your help


issue 829 independent logging

Utilizing a independent logger I wrote for ui-gmap which has been ported to angular-simple-logger on github

@tombatossals @elesdoar @jessertaylor

ping?

I was hoping to get some feedback, but it's been two days. Merging.


Shorten long URLs in the client view

Fixes https://github.com/sensu/uchiwa/issues/629

Example:

Thanks a lot !! Can you explain how to do it ? i have updated uchiwa to 0.24 but i still have the long URL ?

@jothoma1 Make sure to clear your browser cache if you were running an old Uchiwa version. If you still have this issue, could you take a screenshot?
Thanks

as you can see there is a huge bottom scrollbar for the long url

cache was cleared of course.
Chrome Version 58.0.3029.81 (64-bit)

@palourde Thanks! for me, it was just a pb of cache :)


Make element visiblity check configurable

Adds two configurations:

checkHorizontalElementVisibility (defaults to true) – toggles check of horizontal element visibility check.
checkVerticalElementVisibility (defaults to true) – toggles check of vertical element visibility check.

The primary use case

Websites that rely on horizontal navigation.
Web components that contain animated content (using setInterval), such as the carousel.

Example use case
Website contains a carousel element. Images in the carousel are using lazy loading. Carousel transitions (loading new content) are controlled using setInterval. In such case, simply adding scroll or re-indexing the images on the page upon click event is not enough – it would require running re-indexing multiple times. A simple solution is to disable horizontal visibility check (thus the hidden content in the carousel will be loaded as soon as carousel scrolls into the view).

In relation to https://github.com/dinbror/blazy/issues/103

Hey @gajus
Sorry for the late reply. Thanks for the PR.
Normally with carousels I'm using the public ´load´ function to load what slides into the view. Wouldn't that also solve your issue?

I find this PR very useful for my use cases as well.
Sometimes I animate elements horizontal from outside the viewport to inside.
I want the images to be loaded already when animating in


[refactor] Add attribute_spec

This fixes some rubocop lint errors in lib/redcord/attribute.rband separates its test cases into another file.

Codecov Report

Merging #39 into 2d550d27007724be350c9158de24679ba0371680 will increase coverage by 0.15%.
The diff coverage is 100.00%.

@@                             Coverage Diff                              @@
##           2d550d27007724be350c9158de24679ba0371680      #39      +/-   ##
============================================================================
+ Coverage                                     95.97%   96.13%   +0.15%
============================================================================
  Files                                            21       22       +1
  Lines                                           771      776       +5
============================================================================
+ Hits                                            740      746       +6
+ Misses                                           31       30       -1

Impacted Files
Coverage Δ

spec/redis_record_spec.rb
100.00% <ø> (ø)

lib/redcord/attribute.rb
100.00% <100.00%> (ø)

spec/attribute_spec.rb
100.00% <100.00%> (ø)

lib/redcord/logger.rb
92.85% <0.00%> (-0.25%)
:arrow_down:

lib/redcord/server_scripts.rb
100.00% <0.00%> (ø)

lib/redcord/relation.rb
96.29% <0.00%> (+1.55%)
:arrow_up:

Continue to review full report at Codecov.

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

update
:mag_right: Click to see changes since last update.

change typed to strict
:mag_right: Click to see changes since last update.


"etcdctl member add host-2 http://localhost:7002" terminates etcd

Running the following script:
#####################################################
#!/bin/sh
start () {
rm -rf /tmp/etcd/$1
mkdir /tmp/etcd/$1
cd /tmp/etcd/$1
INITIAL_CLUSTER="host-$1=http://localhost:700$1"
etcd
--name host-$1
--initial-cluster-state 'new'
--listen-peer-urls "http://localhost:700$1"
--initial-advertise-peer-urls "http://localhost:700$1"
--listen-client-urls "http://localhost:400$1"
--advertise-client-urls "http://localhost:400$1"
--initial-cluster-token etcd-cluster-1
--initial-cluster ${INITIAL_CLUSTER} 2>&1 | sed -e "s|^|host-$1: |"
RES=$?
echo "host-$1: terminated with $RES"
}
pkill etcd
mkdir -p /tmp/etcd
echo ; echo "### Starting host-1"
start 1 &
sleep 2
echo ; echo "### Starting host-2"
start 2 &
sleep 2
echo ; echo "### Trying to add host-2 to host-1"
etcdctl member add host-2 http://localhost:7002
sleep 2
echo ; echo "### Killing remaining servers"
pkill etcd
##########################################
Generates the following (host -1 terminated at member add)
##########################################
Starting host-1
host-1: 2015/01/19 17:25:39 no data-dir provided, using default data-dir ./host-1.etcd
host-1: 2015/01/19 17:25:39 etcd: listening for peers on http://localhost:7001
host-1: 2015/01/19 17:25:39 etcd: listening for client requests on http://localhost:4001
host-1: 2015/01/19 17:25:39 etcdserver: name = host-1
host-1: 2015/01/19 17:25:39 etcdserver: data dir = host-1.etcd
host-1: 2015/01/19 17:25:39 etcdserver: heartbeat = 100ms
host-1: 2015/01/19 17:25:39 etcdserver: election = 1000ms
host-1: 2015/01/19 17:25:39 etcdserver: snapshot count = 10000
host-1: 2015/01/19 17:25:39 etcdserver: advertise client URLs = http://localhost:4001
host-1: 2015/01/19 17:25:39 etcdserver: initial advertise peer URLs = http://localhost:7001
host-1: 2015/01/19 17:25:39 etcdserver: initial cluster = host-1=http://localhost:7001
host-1: 2015/01/19 17:25:39 etcdserver: start member a8266ecf031671f3 in cluster 1837dffd61a07a42
host-1: 2015/01/19 17:25:39 raft: a8266ecf031671f3 became follower at term 0
host-1: 2015/01/19 17:25:39 raft: newRaft a8266ecf031671f3 [peers: [], term: 0, commit: 0, lastindex: 0, lastterm: 0]
host-1: 2015/01/19 17:25:39 raft: a8266ecf031671f3 became follower at term 1
host-1: 2015/01/19 17:25:39 etcdserver: added local member a8266ecf031671f3 [http://localhost:7001] to cluster 1837dffd61a07a42
host-1: 2015/01/19 17:25:41 raft: a8266ecf031671f3 is starting a new election at term 1
host-1: 2015/01/19 17:25:41 raft: a8266ecf031671f3 became candidate at term 2
host-1: 2015/01/19 17:25:41 raft: a8266ecf031671f3 received vote from a8266ecf031671f3 at term 2
host-1: 2015/01/19 17:25:41 raft: a8266ecf031671f3 became leader at term 2
host-1: 2015/01/19 17:25:41 raft.node: a8266ecf031671f3 elected leader a8266ecf031671f3 at term 2
host-1: 2015/01/19 17:25:41 etcdserver: published {Name:host-1 ClientURLs:[http://localhost:4001]} to cluster 1837dffd61a07a42
Starting host-2
host-2: 2015/01/19 17:25:41 no data-dir provided, using default data-dir ./host-2.etcd
host-2: 2015/01/19 17:25:41 etcd: listening for peers on http://localhost:7002
host-2: 2015/01/19 17:25:41 etcd: listening for client requests on http://localhost:4002
host-2: 2015/01/19 17:25:41 etcdserver: name = host-2
host-2: 2015/01/19 17:25:41 etcdserver: data dir = host-2.etcd
host-2: 2015/01/19 17:25:41 etcdserver: heartbeat = 100ms
host-2: 2015/01/19 17:25:41 etcdserver: election = 1000ms
host-2: 2015/01/19 17:25:41 etcdserver: snapshot count = 10000
host-2: 2015/01/19 17:25:41 etcdserver: advertise client URLs = http://localhost:4002
host-2: 2015/01/19 17:25:41 etcdserver: initial advertise peer URLs = http://localhost:7002
host-2: 2015/01/19 17:25:41 etcdserver: initial cluster = host-2=http://localhost:7002
host-2: 2015/01/19 17:25:41 etcdserver: start member 6e3bd23ae5f1eae0 in cluster 26d3992030da154a
host-2: 2015/01/19 17:25:41 raft: 6e3bd23ae5f1eae0 became follower at term 0
host-2: 2015/01/19 17:25:41 raft: newRaft 6e3bd23ae5f1eae0 [peers: [], term: 0, commit: 0, lastindex: 0, lastterm: 0]
host-2: 2015/01/19 17:25:41 raft: 6e3bd23ae5f1eae0 became follower at term 1
host-2: 2015/01/19 17:25:41 etcdserver: added local member 6e3bd23ae5f1eae0 [http://localhost:7002] to cluster 26d3992030da154a
host-2: 2015/01/19 17:25:43 raft: 6e3bd23ae5f1eae0 is starting a new election at term 1
host-2: 2015/01/19 17:25:43 raft: 6e3bd23ae5f1eae0 became candidate at term 2
host-2: 2015/01/19 17:25:43 raft: 6e3bd23ae5f1eae0 received vote from 6e3bd23ae5f1eae0 at term 2
host-2: 2015/01/19 17:25:43 raft: 6e3bd23ae5f1eae0 became leader at term 2
host-2: 2015/01/19 17:25:43 raft.node: 6e3bd23ae5f1eae0 elected leader 6e3bd23ae5f1eae0 at term 2
host-2: 2015/01/19 17:25:43 etcdserver: published {Name:host-2 ClientURLs:[http://localhost:4002]} to cluster 26d3992030da154a
Trying to add host-2 to host-1
host-1: 2015/01/19 17:25:43 etcdserver: added member 1aec93d1c7c2f15d [http://localhost:7002] to cluster 1837dffd61a07a42
Added member named host-2 with ID 1aec93d1c7c2f15d to cluster
ETCD_NAME="host-2"
ETCD_INITIAL_CLUSTER="host-2=http://localhost:7002,host-1=http://localhost:7001"
ETCD_INITIAL_CLUSTER_STATE="existing"
host-2: 2015/01/19 17:25:43 rafthttp: request ignored due to cluster ID mismatch got 1837dffd61a07a42 want 26d3992030da154a
host-1: 2015/01/19 17:25:43 etcdserver: conflicting cluster ID with the target cluster (26d3992030da154a != 1837dffd61a07a42)
host-1: 2015/01/19 17:25:43 etcdserver: the data-dir used by this member must be removed.
host-1: terminated with 0
Killing remaining servers
host-2: terminated with 0
##########################################

@AndersBlomdell
You should start host-2 after letting it join the cluster.
We support static bootstrap now, which you can bootstrap a multiple-member cluster directly. You can find the doc here: https://github.com/coreos/etcd/blob/master/Documentation/clustering.md#static
If you want to play with runtime reconfiguration, here is documentation about how to do so: https://github.com/coreos/etcd/blob/master/Documentation/runtime-configuration.md#add-a-member

Feel free to write comments if it is still a problem to you.

I know, the fact that an incorrect 'etcdctl member add' kills the server is my main complaint, just rejecting it would be a saner response (IMHO)

@AndersBlomdell
host-1 forms cluster-1, and host-2 forms cluster-2. The two clusters are different, and cannot be talked to each other, or it will corrupt the log.
In the view of cluster-1, the member add command is reasonable. When it tries to communicate with the new member, it finds that the cluster-id doesn't match. So it fatals.
When host-1 receives the member add, it is a sane request.

I understand that the two clusters can't be merged, but is killing one of the clusters a sane behaviour?
Perhaps an implicit 'etcdctl member remove' would be saner in this case?

@AndersBlomdell The first step is to make sure the original cluster is not corrupted by misconfiguration. The second step is to provide better user experience.

There might be more options. We are still exploring the alternatives, so we will go with the simplest one in the near future. If you have a better solution to share, we would be happy to hear and discuss in another issue.
Thanks!

On 2015-01-20 20:33, Xiang Li wrote:

@AndersBlomdell The first step is to make sure the original cluster
is not corrupted by misconfiguration. The second step is to provide
better user experience.

There might be more options. We are still exploring the alternatives,
so we will go with the simplest one in the near future. If you have a
better solution to share, we would be happy to hear and discuss in
another issue.
Perhaps:

treat newly added members as prospects until they have proven worthy,
i.e. don't actually join them to the cluster until they have proven
that they don't conflict. This will prevent problems like those in
attached bug-02 (which is actually not a bug :-), but more a flaw)

It would also be nice if the termination code was something else than 0
when etcd terminates.
/Anders
--
Anders Blomdell                  Email<EMAIL_ADDRESS>Department of Automatic Control
Lund University                  Phone:    +46 46 222 4625
P.O. Box 118                     Fax:      +46 46 138118
SE-221 00 Lund, Sweden
#!/bin/sh

Demonstrating killing off a cluster by trying to join
another cluster to it

INITIAL_CLUSTER_1="host-1=http://localhost:7001"
INITIAL_CLUSTER_1+=",host-2=http://localhost:7002"
INITIAL_CLUSTER_1+=",host-3=http://localhost:7003"
INITIAL_CLUSTER_1+=",host-4=http://localhost:7004"
INITIAL_CLUSTER_1+=",host-5=http://localhost:7005"
INITIAL_CLUSTER_2="host-6=http://localhost:7006"
start () {
(
rm -rf /tmp/etcd/$1
mkdir /tmp/etcd/$1
cd /tmp/etcd/$1
set -x
etcd
--name host-$1
--initial-cluster-state $2
--listen-peer-urls "http://localhost:700$1"
--initial-advertise-peer-urls "http://localhost:700$1"
--listen-client-urls "http://localhost:400$1"
--advertise-client-urls "http://localhost:400$1"
--initial-cluster-token etcd-cluster-1
--initial-cluster $3
RES=$?
echo "host-$1: terminated with $RES"
) 2>&1 | sed -e "s|^|host-$1: |"
}
pkill etcd
mkdir -p /tmp/etcd
start 1 new ${INITIAL_CLUSTER_1} &
start 2 new ${INITIAL_CLUSTER_1} &
start 3 new ${INITIAL_CLUSTER_1} &
start 4 new ${INITIAL_CLUSTER_1} &
start 5 new ${INITIAL_CLUSTER_1} &
start 6 new ${INITIAL_CLUSTER_2} &
sleep 5
echo
echo
echo
etcdctl --peers http://localhost:4001 member list
echo
etcdctl --peers http://localhost:4006 member list
echo
echo
echo
sleep 5
etcdctl member add host-6 http://localhost:7006
echo
echo
echo
for i in 1 2 3 4 5 6 7 8 9 10 ; do
echo
echo
etcdctl member list
echo
echo
jobs
sleep 1
done
#!/bin/bash

Demonstrating rendering a cluster unusable by adding new
nonexisting members until consensus is lost

INITIAL_CLUSTER_1="host-1=http://localhost:7001"
INITIAL_CLUSTER_1+=",host-2=http://localhost:7002"
INITIAL_CLUSTER_1+=",host-3=http://localhost:7003"
start () {
(
rm -rf /tmp/etcd/$1
mkdir /tmp/etcd/$1
cd /tmp/etcd/$1
set -x
etcd
--name host-$1
--initial-cluster-state $2
--listen-peer-urls "http://localhost:700$1"
--initial-advertise-peer-urls "http://localhost:700$1"
--listen-client-urls "http://localhost:400$1"
--advertise-client-urls "http://localhost:400$1"
--initial-cluster-token etcd-cluster-1
--initial-cluster $3
RES=$?
echo "host-$1: terminated with $RES"
) 2>&1 | sed -e "s|^|host-$1: |"
}
pkill etcd
mkdir -p /tmp/etcd
start 1 new ${INITIAL_CLUSTER_1} &
pid1=$!
start 2 new ${INITIAL_CLUSTER_1} &
pid2=$!
start 3 new ${INITIAL_CLUSTER_1} &
pid3=$!
sleep 5
echo
echo
echo
etcdctl --peers http://localhost:4001 member list
echo
echo
echo
sleep 5
echo
echo
etcdctl member list
etcdctl set last "$(date)"
etcdctl get last
echo
echo
etcdctl member add host-4 http://localhost:7004
echo
echo
etcdctl member list
etcdctl set last "$(date)"
etcdctl get last
echo
echo
etcdctl member add host-5 http://localhost:7005
echo
echo
etcdctl member list
etcdctl set last "$(date)"
etcdctl get last
echo
echo
for i in 1 2 3 ; do
echo
echo
etcdctl member list
etcdctl set last "$(date)"
etcdctl get last
echo
echo
jobs
sleep 1
done
echo
echo
echo Kill consensus
echo
echo
kill -HUP $pid1

Now we will soon lose all contact with the cluster

for i in 1 2 3  ; do
echo
echo
etcdctl member list
etcdctl set last "$(date)"
etcdctl get last
echo
echo
jobs
sleep 1
done

Considering we can only do best-effort for it, and it is a small corner case, we have no plan to improve it now.
If you want to start a multi-member cluster, you should use static bootstrap. If you want to add new member, check the IP cautiously.


Contribution guidelines

Motivation
Related to https://github.com/st-tech/zr-obp/issues/32.

@nmasahiro  Thanks! Some minor comments below:

to be appear shoud be to appear
Can you add some description about the contribution in (root) README.md?

@usaito
Thank you for the review.
I fixed the grammatical error and added the description of the contributing to README.md. PTAL.

@nmasahiro Thanks! LGTM. Let's wait for Takayama-san's review

Thanks!
@nmasahiro
[imo]
If possible, it would be better to explain minimum rules of PR such as:

Branch naming rule (no rule might be OK at the moment)
PR model (folk & pull model or shared repository model: I prefer the former)

@fullflu
Thank you for the helpful suggestion.

Branch naming rule

Currently, I have no idea about this.
@usaito @fullflu
Do you have any good ideas?

PR model

I also like the folk & pull model. On the other hand, currently, pushing to this repository requires authority and does not become a shared repository model, so I feel that it is not necessary to specify it in particular.

Branch naming rule

@usaito seems to have used four types of branch names.

feat/foo
fix/foo
hotfix/foo
foo

I propose simple rules such as:

feature/foo: when we add new features to the library
fix/foo: when we fix several bugs or typos
release/x.y.z: when we release a new version, x.y.z (this would be based on gitlab-flow)

pushing to this repository requires authority and does not become a shared repository model, so I feel that it is not necessary to specify it in particular

Oh, I did not notice it!
I agree with you.

I am concerned that there are many cases that are not included in the above rules.
Where are refactoring, test, ci, for example? (Because these are not features.)
And I still don't understand why branch names should be regularized, so I'd be happy to hear about that :)

I was thinking that the branch name could be used as a trigger of CI in the future, but it might be out of scope of this PR (sorry)..
I approve it 🎉

@fullflu
In my current understanding,

CI always should check whether the test successes.
It is not necessary to deploy automatically (because the release process is based on versioning).

Therefore, I think checking the branch names may not be necessary.
However, as you said, it is better to discuss the CI design (e.g., what is the trigger?) when introducing CI.
Thank you for the useful discussion!
@usaito
Please merge this PR if you are OK.


GL: get number of performed PCR tests from weekly PDF

Not sure how useful this number is, since almost no cantons provide this value...

Do they provide the number of positive and the total number of tests? If so, it would be similar to https://github.com/openZH/covid_19/blob/master/fallzahlen_kanton_zh/COVID19_Anteil_positiver_Test_pro_KW.csv and #1026
Most cantons get this kind of data from the BAG, some cantons like ZH and BS publish it already. I was thinking of creating a new directory here in the repository (similar to the district data) to collect this data (see #1026)
Not sure if this applies to this PR.

Do they provide the number of positive and the total number of tests? If so, it would be similar to https://github.com/openZH/covid_19/blob/master/fallzahlen_kanton_zh/COVID19_Anteil_positiver_Test_pro_KW.csv and #1026

Unfortunately, they only seem to provide the total amount of PCR tests (total, last 7 and 14 days) and "Positivitätsrate".

Most cantons get this kind of data from the BAG, some cantons like ZH and BS publish it already. I was thinking of creating a new directory here in the repository (similar to the district data) to collect this data (see #1026)
Not sure if this applies to this PR.

I guess this wouldn't really work for the available data from GL.
But I like the idea to add another directory with this data, for example TG provides this on a weekly basis as well.

okay then let's merge these two PRs and see if we can find this data for other cantons in a similar format to add to an additional directory.


[python] enable Python IAST+SSRF tests

Motivation
Enables IAST SSRF tests for Django, Flask and FastAPI.
Note: do not merge until 2.9.0 is released.
Workflow

⚠ Create your PR as draft ⚠
Work on you PR until the CI passes (if something not related to your task is failing, you can ignore it)
Mark it as ready for review

Test logic is modified? -> Get a review from RFC owner. We're working on refining the codeowners file quickly.
Framework is modified, or non obvious usage of it -> get a review from R&P team

:rocket: Once your PR is reviewed, you can merge it!
🛟 #apm-shared-testing 🛟
Reviewer checklist

[ ] Relevant label (run-parametric-scenario, run-profiling-scenario...) are presents
[ ] If PR title starts with [<language>], double-check that only <language> is impacted by the change
[ ] No system-tests internal is modified. Otherwise, I have the approval from R&P team
[ ] CI is green, or failing jobs are not related to this change (and you are 100% sure about this statement)
[ ] A docker base image is modified?

[ ] the relevant build-XXX-image label is present

[ ] A scenario is added (or removed)?

[ ] Get a review from R&P team

Hi @juanjux , do you still plan to work on this?


send welcome message in react webchat

hi all,
when i have implemented the webchat using react and also added the code for backchannel sending some data to the bot as event.

here i am facing a situation that event is not triggering at all.
if i am just typing something from webchat(not yet sent from webchat) it is triggering to
OnMembersAddedAsync and reply is coming from bot.
one more thing i noticed that channel id is adding as "webchat" not as "directline".
In react webchat i am using directline secret not the webchat secret.

is that something i am doing wrong here.if it is wrong what approach i should try.
does react webchat, directline and emulator works different in context of sending event. please provide me a legit information regarding this.

For your points
(Thanks for using point form, making it super easy to answer. 😉)

conversationStart activity may not send if the user ID is not "burnt" into the token.

Please follow instructions here to "burn" the user ID into the token, https://docs.microsoft.com/en-us/azure/bot-service/rest-api/bot-framework-rest-direct-line-3-0-authentication?view=azure-bot-service-4.0
If not "burnt", conversationStart activity only send on first activity from user.
If "burnt", conversationStart activity should send when Web Chat connect.

This is because when user type, we send typing activity to the channel. The channel will send conversationStart activity only when the user send any activity, this include typing activity.
I just tried and use both Web Chat secret and token, I am seeing channelId set to webchat.

If I am using DL secret/token, I am seeing the channelId set to directline

(This is same as point 3)

Using secret/token from Web Chat channel

Using secret/token from Direct Line channel

hi @compulim ,
its quite confusing me to understand these.

Is react webchat is using the webchat as a channel or directline as a channel?
if react is using webchat as channel and i am using directline secret key on place of webchat secret key then how server side code will react for sending event(as  i am seeing that if i am sending the event activity from directline and non-react webchat then event is triggering just after conversation update happens, but  if i am using directline secret and react webchat it is not triggering the event).

please comment on this.


pull request for e2e test at 01/18/2017 20:26:17

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


Flag to disable event sourcing and handling for Spring Boot applications

Hi,
Before starting with the formal description of the feature request, I would like to give you a little bit of context. We develop a Spring based application with hierarchical contexts. Each context is separated and comes - if necessary - with an own data source. This forces us (currently) to use custom Spring configurations, as Spring Boot would otherwise configure everything within the classpath for each of these contexts (a behaviour which is not desired for our use case). However, we are trying to use as many of the existing Configuration classes (for instance those of Axon) as possible.
We have various contexts in the same application which share their classpath. Some of them require Axon's event sourcing, while others do not. There are some contexts which should only handle commands and queries. This is the core issue of this feature request. Some of those contexts wouldn't even require a database, if it wouldn't be for Axon (this sounds meaner that intended). We can disable most of the event sourcing parts thanks to our own configurations, but a rather cumbersome part is the SpringAxonAutoConfigurer. We have to replace it with a modified copy, as the EventProcessingConfiguration in registerBeanDefinitions is mandatory and would lead to an exception in our case.
So, I know that our use case is rather special, but would it be possible to support it somehow? Make it somehow easier for us to disable the event part?
Feature Description
There is a flag or property for the Spring auto configuration allowing to disable everything from the infrastructure related to event sourcing and handling.
Current Behaviour
If the classpath of the application contains the JPA classes, the application tries to create everything for the event sourcing, including tables etc. This forces the usage of a database, if it is contained in the classpath.

Hi @smcvb. Yes - the mentioned issue sounds exactly like our needs.


Change 'master' to 'rolling' in readme to fix CI badges

this should be backported to other branches: (humble, galactic, foxy).
Not sure if you have mergify configured yet for this repo but if not could be a good opportunity to do so before merging this.

@mergify backport humble galactic foxy

@atticusrussell all green now. :) Great work, man. Thank you!


Add chmod 755 for envoy in proxy docker rule.

https://github.com/istio/istio/issues/4217

Please add the chmod in the makefile, not in docker.

why ? (and/or why not both)

The output of the make should have the right permissions - make shouldn't
create files
with bad permission.
If make creates with right permission - it doesn't have to be duplicated in
the dockerfiles.
It may not hurt - but the root problem is what 'tar xf' creates, and we
should fix it at the root.
Otherwise we'll also need to do chmod in any other thing that uses the
binary.
On Mon, Mar 12, 2018 at 5:22 PM, Laurent Demailly<EMAIL_ADDRESS>wrote:

Please add the chmod in the makefile, not in docker.
why ? (and/or why not both)
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/pull/4222#issuecomment-372505402, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAFI6mRnoVMOPcT_orwCL8RjnvXeypSCks5tdxFKgaJpZM4Sn10l
.

this is a short term fix, the issue #4217 covers better fixes options
but given the makefiles are in a constant state of change and various brokenness I think this fix is good for the immediate problem and I don't see any downside to it

/lgtm

ahem, you forced pushed over my fixes :-)

whoops. sorry.

@diemtvu: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
d2556bd3bb02b2fb6f12ef8fb2d718cfa7f38762
link
/test istio-pilot-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Well, I still believe this is the wrong fix - and would appreciate a follow
up to fix the actual permission.
If you really want to change the Dockerfile -
ADD --chown ...
would also work.
On Mon, Mar 12, 2018 at 6:00 PM, Diem Vu<EMAIL_ADDRESS>wrote:

whoops. sorry.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/pull/4222#issuecomment-372511228, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAFI6n-i8E3EUL17eO6tTLQrXlCRzS0Cks5tdxongaJpZM4Sn10l
.

ADD --chown ...

isn't going to help with permissions/modes; we shouldn't have the istio-user own the binary, that opens up the possibility of corrupting the executable etc

merging this even if it's imperfect (should be /* not just envoy etc...)


Socket Question

Hello,
I would like to receive console input using desock for a network program using udp.
I have entered commands, but the program has no response.
How can I solve the problem?
My command
LD_PRELOAD=desock.so ./test
The program runs but does not process console input.

Thanks.

I've never tested it with UDP, so nothing comes to mind immediately... It might be simpler to create a specialized desock_udp.so that just overrides sendto and recvfrom.


Inconsistent formatting effect

In some files, there are two spaces:

In some files, four spaces

plugins:

settings:

See https://code.visualstudio.com/docs/editor/codebasics#_indentation


Accumulate NamedTuple + Tangent

This is a hack to fix problems like this:
g_kw(;x=1.0) = sin(x)
f_kw(x) = g_kw(;x)
@test bwd(f_kw)(1.0) == bwd(sin)(1.0)  broken=true
#=
MethodError: no method matching +(::Tangent{var"#g_kw#47"{var"#g_kw#11#48"}, NamedTuple{(Symbol("#g_kw#11"),), Tuple{ZeroTangent}}}, ::Tangent{Diffractor.KwFunc{var"#g_kw#47"{var"#g_kw#11#48"}, var"#g_kw#47##kw"}, NamedTuple{(:kwf,), Tuple{ZeroTangent}}})
...
  [2] elementwise_add(a::NamedTuple{(:contents,), Tuple{Tangent{var"#g_kw#47"{var"#g_kw#11#48"}, NamedTuple{(Symbol("#g_kw#11"),), Tuple{ZeroTangent}}}}}, b::NamedTuple{(:contents,), Tuple{Tangent{Diffractor.KwFunc{var"#g_kw#47"{var"#g_kw#11#48"}, var"#g_kw#47##kw"}, NamedTuple{(:kwf,), Tuple{ZeroTangent}}}}})
    @ ChainRulesCore ~/.julia/packages/ChainRulesCore/ctmSK/src/tangent_types/tangent.jl:287
  [3] +(a::Tangent{Core.Box, NamedTuple{(:contents,), Tuple{Tangent{var"#g_kw#47"{var"#g_kw#11#48"}, NamedTuple{(Symbol("#g_kw#11"),), Tuple{ZeroTangent}}}}}}, b::Tangent{Core.Box, NamedTuple{(:contents,), Tuple{Tangent{Diffractor.KwFunc{var"#g_kw#47"{var"#g_kw#11#48"}, var"#g_kw#47##kw"}, NamedTuple{(:kwf,), Tuple{ZeroTangent}}}}}})
    @ ChainRulesCore ~/.julia/packages/ChainRulesCore/ctmSK/src/tangent_arithmetic.jl:130
=#

Diffractor sometimes produces ChainRulesCore's Tangent types, and sometimes produces plain NamedTuples instead. If these happen for structural gradients of the same object, then you will get an error.
Ideally it should probably make up its mind. Maybe Tangents are a pain to deal with at higher order?

Codecov Report

Merging #88 (d50f6e8) into main (9a8a788) will decrease coverage by 0.01%.
The diff coverage is 72.72%.

@@            Coverage Diff             @@
##             main      #88      +/-   ##
==========================================
- Coverage   53.89%   53.87%   -0.02%
==========================================
  Files          21       21
  Lines        2171     2179       +8
==========================================
+ Hits         1170     1174       +4
- Misses       1001     1005       +4

Impacted Files
Coverage Δ

src/runtime.jl
78.94% <70.00%> (+20.61%)
:arrow_up:

src/extra_rules.jl
36.03% <100.00%> (+0.25%)
:arrow_up:

src/stage1/recurse_fwd.jl
93.33% <0.00%> (-0.96%)
:arrow_down:

src/stage1/recurse.jl
95.91% <0.00%> (-0.86%)
:arrow_down:

src/stage1/generated.jl
74.09% <0.00%> (+0.78%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

I don't think this is the right long term solution, but it seems right for now.

Yes for sure it's a hack. But it doesn't seem like it will hide serious bugs, and having tests that work for now is good.
 Either use 1.9 or 1.7" there isn't an intention to make everything work there. (The actual failures are inference tests.)

On the topic of longer-term solutions, why is Box appearing here at all? kwsorters are usually type stable and Diffractor doesn't appear to change their branching in ways which would disrupt that. Diffractor.KwFunc also doesn't make use of any inner closures.

I don't know. Where should we put things like this, where a failing test has uncovered bad behaviour, but possibly no longer bad enough to make the test fail?
(Fun Zygote example where re-using a variable name causes a 5x slowdown: Z#1290)


Are all examples meant to be listed?

Hi,
Quite enjoying the framework so far, just a quick question. I noticed some examples had a short explanation in the readme but others didn't was this intentional or did they just go out of sync?

That's not intentional. An update to the short explanations would be welcome

Ah ok, that one would take me a bit longer as I'll have to try to understand the examples but I plan to do that anyway but not sure how long before I'll get a chance I just wanted to know if I should once I do unless someone gets to it before me.

Upon reviewing my pending task list I have observed that this is not near the top and realistically not sure if or when I will get to it. Feel free to close this issue or someone else take over. Thank you very much for all the work you do. I will continue to contribute where I can.


ADFS as IDP

Does this djangosaml2 package support ADFS as IDP?. I have used the ADFS metadata and url in the
idp configuration It shows Server Error (500),while redirect from idp url to  sp URL(/saml2/acs/ )
Can you please help me on this?

This means that the problem in not related to the cert and the key you configured in your settings but in the IdP metadata that should have the certificate in it.
Have you found a solution?


Why I CAN NOT get bindQueue().onSuccess or onError callback

Describe the bug
As a consumer, I start to call channel.bindQueue. However I cannot get onSuccess or onError callback in a reasonable time. It seems stuck and until I quit my progress, the onError callback is invoked.
Expected behavior and actual behavior
I expect I get onSuccess or onError in a reasonable time. The I can start to consume.
 Watch out: do not use threads! AMQP-CPP objects are not thread-safe by design. If you construct channels or call methods from one thread, while the event loop is running in a different thread, unexpected things can and will happen.
//Anyway I create a new thread for libuv event loop in my codes. Is it the root cause?

void uvRun(void* arg)
{
    uv_run((uv_loop_t*)arg, UV_RUN_DEFAULT);
}

int main()
{
    auto *loop = uv_default_loop();
    MyHandler handler(loop);
    AMQP::TcpConnection connection(&handler, AMQP::Address("amqp://guest:guest@localhost/"));
    AMQP::TcpChannel channel(&connection);
    channel.declareQueue(AMQP::exclusive).onSuccess([&connection](const std::string &name, uint32_t messagecount, uint32_t consumercount) {

        // report the name of the temporary queue
        std::cout << "declared queue " << name << std::endl;
    });
    channel.bindQueue().onSuccess([]() {
         //...
    });
    channel.consume().onMessage([]() {
        //...
    }).
    onSuccess([](){}).
    onError([](){});

    // create a new thread to run the loop  ####Is it the problem root cause?
    uv_thread_create(&_uvThreadId, uvRun, loop);

    // done
    return 0;
}

My observation would be after channel.bindQueue() is invoked, I get nothing callback either onSuccess or onError. The looked stuck.

Can you supply an example without using threads?

How can I compile this?


enhance: provide a static checking method for index config

issue: #795
based on: #887

/hold
wait #887 merge first

/kind improvement


try to fix #370

try to fix #370 by making binlog dump command's flag configurable.

please update to a more appropriate name

thanks your PR @imjustfly , can you add some test cases, perhaps in replication_test.go

@GregoryIan
Emm.. You mean DumpFlag ? What about DumpCommandFlag or BinlogDumpCommandFlag ? What's your opinion?
And OK,  I try to add some test later.

@imjustfly
I don't think you need to change mod in this PR

I changed the name of config item and added a simple test according to existing test suite. PTAL @GregoryIan @siddontang

LGTM now


Have freecam on death and also allow for first person following of pmcs

Enables the freecam on death and updated the config to wait for the given number of seconds before changing from the black screen to the freecam with the default set to 5s.
Also added the ability to follow/spectate PMCs in first person (I didn't know how to filter to just human players but I think that would be prefereable)

Left Mouse Button goes to the next player.
Right Mouse Button goes to the previous player
End unlocks the camera again so you can fly around freely.

awesome, will test, fairly sure all "actual" players groupId is GroupId = "SIT" so probably can filter by that, will try n get back to ya.

awesome, will test, fairly sure all "actual" players is GroupId = "SIT" so probably can filter by that, will try n get back to ya.

Ah thank you, I didn't try that. I will experiment some more later

Think I'm happy enough with this now

tested with 4, functional.
will look into how to make the cam not shake so much. n play with the height a bit so the gun isn't taking up 70% of the screen when the spectated ADS.

To solve the ADS taking up most of the screen the easiest might be just moving the camera onto one of their shoulders what do you think?

I think that would be better

Switching the camera is now a lot better and won't be so flickery.
All I gotta do is get the offset right for the camera position now to be on the shoulder and this'll be perfect then.


Add performance test to verify improvement on task serialization

Adds performance test to verify the improvement provided by @M-Lazeba in

#28068

Reviewing cheatsheet
Before merging the PR, comments starting with

❌ ❓must be fixed
🤔 💅 should be fixed
💭 may be fixed
🎉 celebrate happy things

@bot-gradle test ACT

I've triggered the following builds for you. Click here to see all build failures.

AllCrossVersionTestsReadyForNightly build

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

The merge queue build has started. Click here to see all failures if any.

The merge queue build has started. Click here to see all failures if any.

The merge queue build has started. Click here to see all failures if any.


Improve speeddial

This PR should improve the vc speeddial widget.
First commit fixes that the tap button blinking stops to work after one has changed the widgets value by any other method than the tap button.
Second commit adds feedback capability for the tap button. If desired, one could add custom feedback.

It works great, actually I was using similar modification (the feedback on tap) for quite some time - just never got around to cleaning it and making a pull request.
However I think it would be more useful if the feedback was a short blink on each timer pulse (like 1/5th of the time). That's what I did, but it has some drawbacks:

Twice as much feedback messages
With short speedial settings feedback light might not light up
It is inconsistent with visual feedback on screen
Still, that is the way that most 'professional' tempo LEDs work...
Maybe user should be given a choice?

I thought about that possibility, too, since I know this behavior from a lot of sound consoles.
In my opinion the biggest problem is the inconsistency - if you could apply the blink also to the button in vc I would be fine with it.
One further thing would be to make the tap button always blink and indicate the current speed (even if the speed was not adjusted by tap). I haven't had a look at how complicated this is to implement, yet.

Changing the button in VC shouldn't be a problem.
I'll take a look at the second one - changing tap speed from other sources than just tap.
BTW. Is it possible to send pull request on top of another pull request? Like on top of your branch?

Cool!
I don't know - but if you set up a PR on my branch and I merge it it should appear here so let's give it a try!

It probably won't copy my comment prom PR, so here I link it:
https://github.com/siegmund42/qlcplus/pull/2

Now, about changing how the tap button is flashed.
My idea is to speed up m_tapTickTimer in SpeedDial 5 times from the desired value and make m_tapTick be true for 1 tick and false for 4 ticks. I would also limit emit tapTimeout() to only when m_tapTick actually changes. This imposes addition of a counter variable thus increasing memory footprint by at least 1 byte, but in this case it doesn't matter - it's ui stuff.
I think this would be an elegant solution for making the tap feedback more 'professional'.
What do you think?

I thought about adjusting the interval of m_tapTickTimer: in updateTapTimer() it could be m_value/5 and depending on if m_tapTick is true or not it should be 4*m_value/5 or m_value/5.
At least this would save the extra byte. Don't know if there will be other problems coming up but it could be worth a try...

Hmm, I don't like it when timer changes it's period by itself, specially when this can be avoided.
Potentially it could also lead to desyncing with output - I'm pretty sure that changing timer's period resets it, thus we're losing a little bit of time with each tick.
Additionally it may lead to hiding bugs in future - when the timer updates it's period by itself based on current value the updateTapTimer() call might seem redundant, but in reality it would serve two purposes:

Synchronizing tap timer with outputs
Starting tap timer if it's stopped

But changing speedial's value without calling updateTapTimer() would change blinking period thus making an impression that this is enough. This could be traced with an assert, however.
Also there is another issue with dividing timer's interval - it's integer. And even 500ms/5 is not a round number, so in either scenario we're desyncing with output... Just realized that.

Try this https://github.com/enbyted/qlcplus/commit/f44d604ba1fcb2d55ea8039c9d77e1b0ece92049
It's the third option implemented.

I tested this with a BCF2000 and it works quite well.
Just a suggestion: We could save a slot if we connect the timeout of the new timer to the already existing slotTapTiemout() method and in there only start the new timer if m_tapTick == false.
In any case, we should add an option to decide between the two modes. I would prefer two radio buttons in the external input tab of the speed dials' settings dialog under "Tap" section.
Depending on the decision we could simply start the new timer or not.

I think that would work, I'll test in a moment when I finish with sliders in webaccess.
Would you do the UI stuff? I don't have any experience with Qt's UI.

Okay, the new feedback style is there now. The only drawback is, that the minimum timer duration for a proper visual feedback in ui is around 50ms. If you care, one could add an "if clause" to switch off feedback for times <50ms.
I don't have any experience in Qt (or at least c++ in general), either. But I can give it a try - always willing to learn something.
Before, could you @mcallegari  please state if you are even willing to merge this? Thank you!

The only drawback is, that the minimum timer duration for a proper visual feedback in ui is around 50ms. If you care, one could add an "if clause" to switch off feedback for times <50ms.
Hmm, probably you are right. Do you think that making the button constantly lit would be good behavior? Or the opposite - make it dark? If this is implemented it should be also stated somewhere, so the user knows about it.

I would love to learn Qt in depth, just don't have the time... Like @mcallegari  curses Qt4's builds, I curse deadlines :P I just find this commit message -> 8624997 <- absolutely hilarious, sorry, had to mention it.

Hmm, probably you are right. Do you think that making the button constantly lit would be good behavior? Or the opposite - make it dark? If this is implemented it should be also stated somewhere, so the user knows about it.
I think leaving it constantly lit would be the best. This could be added to the documentation.
I tested this with the current implementation and it kind of works at least til 23ms (less I was not able to create by tapping with the mouse). But then it looks more like being on than being of all the time.

I just find this commit message -> 8624997 <- absolutely hilarious, sorry, had to mention it.
I saw this too and it definitely made my day :D

Looks great, man.
See the PR I created. I've implemented your suggestion and fixed these CI errors in the merge commit.

Thank you for your suggestions!
I slept over the <50ms thing and I'm no more sure if setting the tap button simply to be on all the time is the way to go. The possibilities are:

Turn the tap button on (not the best regarding consistency, could be mixed up with long duration)
Turn the tap button off (see above)
Scale the flashing time in another way, e.g. use 1/4 if m_value < 50 ms, 1/3 if m_value < 40 ms, or so. Depending on how implemented, this limits the minimum displayable frequency.
Use always blinking feedback when m_value < 50 ms. Not fully consistent, too, but at least it blinks and in such frequencies this should be hard to notice, anyway. In addition to the fact that this would be easy to implement, it will not limit the minimum frequency other than it is already limited in the official code.
Set the flashing time to a fixed value if m_value is lower than some border. This again limits the minimum displayable frequency (but this limit will be around 10ms)

What do you guys think? I'd appreciate hearing what you like best.

The thing with people is that we can't really differentiate frequencies above 15Hz, I can think about a different solution: We could make the minimum displayable feedback be 50ms (20 Hz) and if m_value is less than this just set the tap timer to be 50ms. I'm sure that nobody will notice it and it will be consistent with other behavior.
It should be noted, however, that for the old feedback style and m_value set to 50ms the blink frequency is in reality 10Hz. Still it's quite high for human eye and I think we could safely disregard it.
As for the new feedback style:

I think the tap elapsed timer should not be shorter than 20 ms, because hardware feedback might start to be less noticible when this time is shorter. (keyword - might)\

I hope what I've written makes sense, I'm quite tired.

I'm sure that nobody will notice it and it will be consistent with other behavior.

Well, it will not be consistent with the timing itself. So basically this is kind of option #5 in my comment.

I think the tap elapsed timer should not be shorter than 20 ms, because hardware feedback might start to be less noticible when this time is shorter. (keyword - might)\

I tested this with a BCF2000 and until 50ms everything works fine (feedback was noticeable, too).

Summary

The tap button will now blink/flash always and update, if the speed dials value has changed (whatever changed it)

Since in a lot of audio consoles the tap buttons are flashing instead of blinking, this feedback mode was added to the code. The user is given the choice which feedback mode he prefers in the properties dialog.

Feedback is now sent to the external input assigned to the tap button.

The only thing we where not sure is what to do with the tap feedback on minimum speeddial values - especially if the flashing feedback is enabled. I decided to go with @enbyted's suggestion:

I think the tap elapsed timer should not be shorter than 20 ms, because hardware feedback might start to be less noticible when this time is shorter. (keyword - might)\

So the flashing feedback is know limited to 20/200ms, in between the duration of a flash is m_value/5.
PS. Again a .deb package.
improve-speeddial.zip

To pick up the flashing duration problem: I was able to test a minimal duration on a sound console (Behringer X32) this weekend and it completely disables feedback below ~125ms duration.
So this could be a way to go, too.

My opinion on this PR is that there shouldn't be an additional option for the tap flashing behaviour.
It adds confusion and it has to be documented (and it has to be ported to QLC+ 5)
When I implemented it, for simplicity I did the half/half flashing cause it came "free of charge", but since you implemented the traditional console flashing, I'd say that's the one everybody should use.
I haven't tested it yet on the controllers I have, but we need to be extremely careful on the flash time, cause at high speeds it creates a lot of feedback traffic to the plugins.

And I'd also add: with some monitor resolutions or contrast, or ambient lights, flashing just the border of the tap button might be not be clearly visible, so I'd go with a solution that makes the whole button background to flash, with a proper color.

My opinion on this PR is that there shouldn't be an additional option for the tap flashing behaviour.
It adds confusion and it has to be documented (and it has to be ported to QLC+ 5)

I'd be okay with that, although I could document and port it if you want.

I haven't tested it yet on the controllers I have, but we need to be extremely careful on the flash time, cause at high speeds it creates a lot of feedback traffic to the plugins.

That could be a problem indeed. So what do you think about disabling any feedback on frequencies below 125ms as it is on the Behringer X32?

And I'd also add: with some monitor resolutions or contrast, or ambient lights, flashing just the border of the tap button might be not be clearly visible, so I'd go with a solution that makes the whole button background to flash, with a proper color.

Sorry but I don't like this idea so much especially for two reasons:

It would be not consistent with the status indication of other buttons.
The indication of the tap button is as important to notice as the indication of other buttons - these buttons have nearly the same indication mechanism as the tap button has at the moment and are pretty noticeable.

Anyway, if you still want to have it implemented like this let me know (especially what's a "proper color" for you). I have some time over the next few days and will fix the PR according to your decisions.

And I'd also add: with some monitor resolutions or contrast, or ambient lights, flashing just the border of the tap button might be not be clearly visible, so I'd go with a solution that makes the whole button background to flash, with a proper color.
Sorry but I don't like this idea so much especially for two reasons:

It would be not consistent with the status indication of other buttons.
The indication of the tap button is as important to notice as the indication of other buttons - these buttons have nearly the same indication mechanism as the tap button has at the moment and are pretty noticeable.
Anyway, if you still want to have it implemented like this let me know (especially what's a "proper color" for you). I have some time over the next few days and will fix the PR according to your decisions.

Lukas, that was just a proposal, no worries. Please let me explain why I came up with it.
When I implemented VC Buttons highlight, there was quite a long discussion in the forums, whether the "on" status were visible enough or not. A "proper color" in that case was a green border, but some people preferred the LED status (which ATM I'm not even sure someone uses)
Later on, when "presets" came in, I adopted a blue border, to distinguish them from the green border of VC buttons. The doubt I had is that in a real environment, where the operator is basically in the dark, maybe a blue thin border is not quite visible with a quick glimpse at the console. And since the tap feedback might be important for some people, I thought  maybe the whole button could blink.
But nevermind, let's go with the least impacting solution first.
As for the minimum blinking time, I'd say 125ms is a reasonable time, but as I said, we need to test with as many controllers as we can. Maybe for some other 200ms is better. In general though I don't like magic numbers in the code.

I can follow your fear, although I have never had an environment where the blue borders weren't enough.
Anyway, this should be a simple change as soon as it's clear how the coloring should be.

As for the minimum blinking time, I'd say 125ms is a reasonable time, but as I said, we need to test with as many controllers as we can.

I'll implement this in the next days and set up a post in the forum so maybe some people could help testing.

Maybe for some other 200ms is better. In general though I don't like magic numbers in the code.

Me neither but I'm afraid there is no other possibility in this particular case.

I've used QLC in many different environments and hardware and never had any problems with blue borders. Even on very small and low contrast screens (like 6" old LCD displays, they're terrible!).

Maybe for some other 200ms is better. In general though I don't like magic numbers in the code.

Me neither but I'm afraid there is no other possibility in this particular case.

This sounds like a good place for config or command line option.
BTW. I'm sorry for abandoning my work, as much as I love this project I just cannot find the time :(

This sounds like a good place for config or command line option.

I would definitely not go with a command line parameter, but probably with a config file option.
Maybe the flashing style could be adjusted in the config file, too.

Alright, I've tested it with a BCF2000, with an AKAI APC mini and with Touch OSC.
While this works pretty good with a MIDI controller, it didn't convince me with a network controller.
Basically there is another (magic number)[https://github.com/mcallegari/qlcplus/pull/929/files#diff-6d1bfd87700ec896f5e47cde5bfa7a31R292] which can make the difference.
Over the network (especially WiFi), packets don't have guaranteed timings, so Touch OSC looses half of the feedbacks times below 1 second, because the on/off sequence is too fast.
For now I'll merge this, but I need to investigate if there's something that can be done for network plugins.

That is a problem indeed. I'll think about it, too so maybe we can find a way to make everybody happy.
Anyway, thanks for merging!


Deleted tests keep showing in reporter

Say I have two tests in the suite, and I delete one of them; the deleted test keep showing in the html-reporter. It happens even when I edit text in it(text, func).
For example, I have a test "users should not see admin page", and I edit it to "users should see admin page". Now I have two tests showing up in the reported.
Changed/deleted tests go away after restarting the app.

Also: client tests (sometimes/randomly) seem to require a server restart to be able to actually refresh!
For example I can (sometimes, randomly) change an obviously passing client test like ´´´chai.assert.equal( 2, 2);´´´ to and obviously not passing test like ´´´chai.assert.equal( 2, 500 );´´´ and it will still pass in my client UI until i reload the server.
This is very random though!


Unable to use web3.py to work with Ethereum when starknet-devnet is installed in same env

Describe the bug
In projects that use both Ethereum and Starknet, we need web3.py to facilitate deploying Ethereum transactions.
However, we are running into eth-abi encoding issues regarding address arguments to the transactions.
We notice that this only occurs when starknet-devnet is installed. When starknet-devnet is uninstalled, the transactions work as expected. Otherwise, we are unable to pass addresses as arguments to them.

[x] This issue is only present on Devnet and cannot be reproduced on alpha-goerli (check the box if true).

To Reproduce

Install starknet-devnet
Use web3.py to connect to Ethereum and deploy a txn
Notice address encoding errors
Nothing starknet is actually used, just installed

Expected behavior
Able to still use Ethereum when starknet-devnet is installed
Screenshots
If applicable, add screenshots to help explain your problem. However, prefer providing copyable text.
Devnet version

I am using Devnet version:
[x] This happens with a dockerized Devnet (check the box if true).
This does not appear on the following Devnet version:

Machine specifications

OS: macOS
CPU:
Memory:

Finally fixed here:

https://github.com/ApeWorX/ape-starknet/pull/66

@ca11ab1e Fixed in what sense? This was an issue on your side?

Yes, it was an issue on my side.
@unparalleled-js should confirm, but the issue was that as soon as ape-starknet was installed, it was being used for non-Starknet stuff. For instance Ape was trying to decode Solidity contract addresses using the Starknet-specific function.
If I'm right, and not off-topic, that's not a devnet issue.


Provide a way to launch VSCode from Kit

I can help with this one.
If we launch VSCode as a subprocess from Kit, we can pass the PYTHONPATH environment variable so that autocomplete and syntax highlighting will work.

HI @mati-nvidia
Great, all contributions are more than welcome :)
What would be the implementation, launch VS Code by clicking the Window > VSCode embedded menu?

That could work. I know you have the option to show viewport notification attached to that, so maybe it could be:
Window > Embedded VS Code > Launch VS Code (not toggle-able)
Window > Embedded VS Code > Show Notifications (toggle-able)

It sounds great... Are you going for it?

Yes. Just need to find some time. :)

Hello @mati-nvidia, @Toni-SM
Is there any update on this? Having this added would be a great addition to the extension.
As of this post I believe the only way to get syntax support would be to create a "New Extension Template Project" under Extensions.

Hi @InfraredLaser
Unfortunately I do not have the time at the moment to implement that feature.
You can go for it and contribute :)


Add iojs and 0.12. Remove 0.8

Already superseded by the .travis.yml in master.
Testing on 0.8 is a priority, unfortunately, but we can make it pass by installing new npm first.


不能通过插件登录

可以通过官网成功登陆，但是无法通过插件登录

试了npm install leetcode 等的解决方案，也无法登陆，不知道是什么原因？

Please try the troubleshooting here: https://github.com/jdneo/vscode-leetcode/wiki/疑难解答#thinking-无法登录
Also please let us know if this could solve your problem.

Thanks, that solves my problem. This occurs since I choose the Chinese version.


Enable pg_trgm and fuzzystrmatch extensions

For postgres content_performance_manager database.
We need these extensions to use the pg_search gem in order to implement:
https://trello.com/c/l2T9VoVG/725-5-index-page-filter-by-title-url

 (5) Index page - filter by title / URL


INTERNAL_ERROR

I used quic-go on an arm64 phone without any issues in version 0.39, but after updating to v4.0, I encountered an INTERNAL_ERROR(local) error

Any more details?

Any more details?

Any more details?

I believe this is due to issues caused by the previous version iteration, as this error has also been observed on other Ubuntu systems. According to the version release notes, it was supposed to be fixed, but it seems to have introduced a new bug instead.

Any more details?

I believe this is due to issues caused by the previous version iteration, as this error has also been observed on other Ubuntu systems. According to the version release notes, it was supposed to be fixed, but it seems to have introduced a new bug instead.


What is the meaning of the acf /= 4*n line in the autocorr_func_1d() function in the v3 docs?

In the autocorrelation section of the latest docs (https://emcee.readthedocs.io/en/latest/tutorials/autocorr/) there is a autocorr_func_1d() function defined where the line
acf /= 4*n

is included.
What is the meaning of this line? I could not find it in the integrated_time() function in the master branch, and I can't understand what it is supposed to do there.

It corresponds to the term 1/(N-tau) in the definition of the autocovariance function c_f(tau), however, instead of using N-tau (which would yield an unbiased but unconsistent estimator of the autocovariance), N is used (which gives a consistent but biased estimator; N in the fft is 2*n, I have no clue about the other 2 factor though, I think it should be 2*n, not 4*n). The typical reference when using this biased estimator of the covariance is Geyer, C. J. (1992). Practical markov chain monte carlo. Statistical science, 473-483.
However, this factor is irrelevant when the autocovariance is normalized in order to get the autocorrelation (the normalization is done in acf /= acf[0]). Therefore, as the code in master only calculates the autocorrelation, there is no need for this factor 4*n or 2*n.

Thank you @OriolAbril. Since this is a very minor issue with the docs and you've provided an answer (although the misery of the 4 is still there), I'll just close this.


Automatically make clickable any URLs in hint

Check for existing issues

[X] Completed

Describe the feature
I can add support for custom hints through definitions: https://github.com/zed-industries/community/discussions/2332
But URLs included in those are not clickable, I have to mark them up as links.
It would be really great if (like VSCode) these links automatically became clickable.
If applicable, add mockups / screenshots to help present your vision of the feature

I can modify the stub.lua to markdown format all URLs to make them clickable in the annotation.

which gives (still slightly broken as the wrapped url is only half-underlined but is still all clickable)

Thanks for the request @gingerbeardman, this would be a nice quality-of-life feature.


subfolders of libvirt-provider directory has to be configurable

Summary
Directory set by --libvirt-provider-dir flag contains 3 subfolders (store, machines, images) currently.
It can create problem because machine store contains api.Machine objects which serve for managing of VM. Folders machines and images contains os images, empty disks and additional files for vm.
Root cause is shared volume, where libvirt-provider doesn't monitor capacity.
It means machines and os images can affects libvirt-provider logic and block creating of api.Machine objects.
Monitoring of volume capacity will discuss in issue: https://github.com/ironcore-dev/libvirt-provider/issues/182
Ideally solution doesn't exist because it depends on structure of host volumes/filesystem.
Simplest solution for us will do every subfolders in libvirt-provider-dir configurable with arguments and administrator can set it as he will need.
If we want to keep all information together in libvirt-provider-dir, we can use symlink.
Example:
I have host machine with 48cpu cores, 64gb ram and volume with libvirt-provider-dir has 100gb capacity.
i will create one machine with 2cpu, 2gb ram and os disk with size 10gb.
Later i will add additional empty disk with capacity 90gb.
Currently i have available 46cpu cores, 62gb ram and 0gb capacity in libvirt-provider-dir  (ignore rounding problem)
I will create second machine but operation will fail because i cannot create file in libvirt-provider-dir/store/
But libvirt-provider will still report available capacity for machine classes because we don't monitor volume capacity.
Basic example
--libvirt-provider-dir=/home/user/.libvirt-provider
These parameters below can be optional. If they aren't set, we will use current logic.
--libvirt-provider-dir-store=/var/lib/libvirt-provider/store
--libvirt-provider-dir-machines=/var/lib/libvirt-provider/machines
--libvirt-provider-dir-images=/var/tmp/libvirt-provider/images
Motivation
Minimize side effects of vms to libvirt-provider logic. Add more flexibility for administrator how can use libvirt-provider.

@afritzler @lukasfrank @hardikdr could you approve/unapprove this issue before i will start work on it.


[Documentation] No documentation contributing guide

Is your feature request related to a problem? Please describe.
There are no instructions on how to contribute documentation to the project in the CONTRIBUTING.md
Describe the solution you'd like
Instructions to be added.
Describe alternatives you've considered
An inspiration can be the documentation guide from ceph. See here, https://github.com/ceph/ceph/blob/master/doc/start/documenting-ceph.rst.
Additional context
Documentation needs to be build and published.

We do not have a need further for this anymore as the documentation is being generated from the source code itself, and the setup instructions have already been automated in Makefile.