Add examples

Adding basic example how to fork and emulate a getReserves() transaction on the UniV2Pair like contract

Will add alternative of web3db and push it first.


fix: default activity tab category on item

Thank you for your contribution to the KodaDot NFT gallery.
👇 _ Let's make a quick check before the contribution.
PR Type

[x] Bugfix
[ ] Feature
[ ] Refactoring

Context

[x] Closes #4873
[ ] Requires deployment <>

Before submitting pull request, please make sure:

[x] My contribution builds clean without any errors or warnings
[x] I've merged recent default branch -- main and I've no conflicts
[x] I've tried to respect high code quality standards
[x] I've didn't break any original functionality
[x] I've posted a screenshot of demonstrated change in this PR

Optional

[ ] I've tested it at </bsx/collection>
[ ] I've tested PR on mobile
[ ] I've written unit tests 🧪
[ ] I've found edge cases

Had issue bounty label?

[x] Fill up your KSM address: Payout

Community participation

[x] Are you at KodaDot Discord?

Screenshot 📸

[x] My fix has changed something on UI; a screenshot is best to understand changes for others.

let's go
pay 20

😍 Perfect, I’ve sent the payout
💵 $20 @ 35.75 USD/KSM ~ 0.559 $KSM
🧗 Caiv9TbPz68q5dC8EcHu5xKYPRnremimGzqmEejDFNpWWLG
🔗 0xcdcf01567741fdc757840f110c14eb40bf5669c560d735498e01e9f247d9a787
🪅 Let’s grab another issue and get rewarded!
🪄 github.com/kodadot/nft-gallery/issues


Update README.md

Fixing typo in the example code that allowed you to grab the attachment contents.

Awesome, thank you :smile:


chore: prepare readme for GA announcement

What kind of change does this PR introduce?
docs update
What is the new behavior?
Feel free to include screenshots if it includes visual changes.
Additional context
Add any other context or screenshots.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
5 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.03%) to 57.728%

Files with Coverage Reduction
New Missed Lines
%

internal/gen/keys/keys.go
5
11.76%

Totals

Change from base Build<PHONE_NUMBER>:
-0.03%

Covered Lines:
6383

Relevant Lines:
11057

💛  - Coveralls


Add Intellij ignored files

Carlo thank you for the contribution. I have updated the paths to be relative to the root and added couple comments, I am pretty sure it is OK but I am lazy to install idea now :) Can you please confirm? that the new gitignore in this branch is ok in regards to idea?

Hi. Updated git ignore works fine with Intellij Idea.


Not working in react-native-web or ExpoGo

Hey @RayyanNafees, can you elaborate more? The repo's example app uses Expo Go. It should work. It would be great if you could provide a repro.
Also for web support, you have to follow Skia web support guide.

I'm closing this due to inactivity. Feel free to reopen it if the issue is not fixed.


Add setuptools to requirements

Fix #1413

Draft for now: Want to try a dry-run.
Still curious what changed that caused it to break.

I think this is because the Python version was switched to 3.12, and then we got affected by:
https://github.com/python/cpython/issues/95299


add Bound::as_any and Bound::into_any (and same for Py)

Split from #3606
This PR adds new methods Bound::as_any() and Bound::into_any() which can be used to cast Bound<T> into Bound<PyAny>.
I found these useful when testing out the new Bound API downstream in pydantic-core.

I also think these are useful additions. I think I looked for these a few time while porting tests and examples to the new API.
I not really a fan of mem::transmute, because it can easily turn into a footgun during refactoring, but I'm not sure if the alternatives here are really that much better.

Thanks, that's good to have support that these proposals make sense 👍
I think the main thing to consider before merge would be if there's better names than as_any and into_any; personally I think that they're short and reasonably obvious what they do.
I think I can avoid the transmute for the &self case, so let's fix that, at least...

I managed to find alternatives to the transmute for both implementations, so that's an improvement!

I managed to find alternatives to the transmute for both implementations, so that's an improvement!

Cool, I like these implementations a lot more. They might be a little longer, but don't feel so "unsafe".
As for the naming, I like them. I think they convey the intent well, and read nicely when written in code.

That's a very good suggestion. I've pushed two more commits, which carry out the following:

Add Py::as_any and Py::into_any, to match the first commit.
Use all of these new safe methods to remove a lot of the unsafe { } parts of the existing code. Where it seemed obvious I also added #[inline] hints, as most of these conversions can be inlined away to nothing.

No more transmute in the whole module, and a lot more consistency 😄

(The only code I didn't touch is changed already in #3776.)

Thanks again both! 🚀


CPP-491: Unintentional switch case fallthrough in RequestCallback

NOTE: Failed TravisCI builds are due to a re-direction from http => https when downloading libuv; this has already been corrected in #362.


Default ACS Kubernetes setup has broken Helm due to missing role

Is this a request for help?:
No
Is this an ISSUE or FEATURE REQUEST? (choose one):
Issue
What version of acs-engine?:
Whatever Azure uses internally?
Orchestrator and version (e.g. Kubernetes, DC/OS, Swarm)
Kubernetes 1.7.7
What happened:
The pre-installed Helm cannot perform deployments which for example creates new namespaces.
To see why, create new cluster. Run kubectl get clusterrolebindings/tiller -o yaml. See that the binding references a cluster-admin role. Check kubectl get clusterrole, this role does not exist.
What you expected to happen:
The role should exist.
How to reproduce it (as minimally and precisely as possible):
Create new cluster with Azure portal or az acs create.
Anything else we need to know:
Let me know :)

Just built a new cluster w/ acs-engine (wanna see if this is an issue in acs-engine):
$ kubectl get nodes
NAME                    STATUS         AGE       VERSION
k8s-master-37170530-0   Ready,master   8m        v1.7.9
k8s-pool1-37170530-0    Ready,agent    8m        v1.7.9
k8s-pool1-37170530-1    Ready,agent    8m        v1.7.9
k8s-pool1-37170530-2    Ready,agent    8m        v1.7.9
$ helm version
Client: &version.Version{SemVer:"v2.6.2", GitCommit:"be3ae4ea91b2960be98c07e8f73754e67e87963c", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.6.2", GitCommit:"be3ae4ea91b2960be98c07e8f73754e67e87963c", GitTreeState:"clean"}
$ kubectl get clusterrolebindings/tiller -o yaml
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
  creationTimestamp: 2017-12-06T21:01:24Z
  labels:
    addonmanager.kubernetes.io/mode: EnsureExists
    kubernetes.io/cluster-service: "true"
  name: tiller
  resourceVersion: "278"
  selfLink: /apis/rbac.authorization.k8s.io/v1beta1/clusterrolebindings/tiller
  uid: 9e64f9e6-dac8-11e7-bb84-000d3a146ac2
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: tiller
  namespace: kube-system
$ kubectl get clusterrole cluster-admin
Error from server (NotFound): clusterroles.rbac.authorization.k8s.io "cluster-admin" not found

Does that match your experience as well?

@jackfrancis Yep, that's the same!
Maybe I should also note that it is not possible to create the missing role with the client cert that is returned with az acs kubernetes get-credentials, because it lacks some permissions. I have to ssh to the master and sudo kubectl create -f cluster-admin.yaml.

Any updates on this issue? Same behavior observed here.

Just has the same exact issue described here.
@sabbour I tried to provision the role as you describe but got this error:
cluster-admin.yml:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  creationTimestamp: null
  name: cluster-admin
  annotations:
    rbac.authorization.kubernetes.io/autoupdate: "true"
rules:
- apiGroups:
  - '*'
  resources:
  - '*'
  verbs:
  - '*'
- nonResourceURLs:
  - '*'
  verbs:
  - '*'

$ kubectl --namespace kube-system apply -f cluster-admin.yml
error: error validating "cluster-admin.yml": error validating data: unknown object type schema.GroupVersionKind{Group:"rbac.authorization.k8s.io", Version:"v1", Kind:"ClusterRole"}; if you choose to ignore these errors, turn validation off with --validate=false

Here's my Kubernetes version:
$  kubectl version
Client Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.2", GitCommit:"bdaeafa71f6c7c04636251031f93464384d54963", GitTreeState:"clean", BuildDate:"2017-10-24T19:48:57Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"7", GitVersion:"v1.7.7", GitCommit:"8e1552342355496b62754e61ad5f802a0f3f1fa7", GitTreeState:"clean", BuildDate:"2017-09-28T23:56:03Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}

Still an Issue in GA
kubectl get clusterroles --all-namespaces
NAME              AGE
omsagent-reader   5d

workaround tested on AKS 1.10.3 in westeurope:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  annotations:
    rbac.authorization.kubernetes.io/autoupdate: "true"
  labels:
    kubernetes.io/bootstrapping: rbac-defaults
  name: cluster-admin
rules:
- apiGroups:
  - '*'
  resources:
  - '*'
  verbs:
  - '*'
- nonResourceURLs:
  - '*'
  verbs:
  - '*'

but lack of this role is a little bit confusing at least. Especially when official Helm doc assumes it exists (https://docs.microsoft.com/en-us/azure/aks/kubernetes-helm)

AKS installed via Portal has snot RBAC enabled, the only way to have RBAC enabled is by using azure cli
This information is a bit confusing in documentation.

You saved my week. :-p
I was struggling to install gitlab on aks 1.10.3, thanks to your trick.
I  discovered also that it was impossible to create a rbac enabled cluster on aks by using terraform,
it's a shame to be obliged to use az client :p

you welcome, I wasted one week on it too...

3 days...

Many thanks @viroos your solution solves my possible unrelated issue as well. Have a great weekend!

One thing to note, it is a recommended best-practice NOT to grant cluster-admin role to Tiller.
The better thing to do would be to create a Role/RoleBinding per namespace and initialize Tiller to use that, as per documentation here: https://github.com/helm/helm/blob/master/docs/rbac.md#example-deploy-tiller-in-a-namespace-restricted-to-deploying-resources-only-in-that-namespace


Document ongoing maintenance section of contribution guide

Signed-off-by: Maayan Friedman<EMAIL_ADDRESS>

This needs to be squashed an ideally the commit message would be updated to reflect the full scope of the change. Otherwise, LGTM.

@skitt - Can you re-review?


Add collapsible function signatures

yoo 👋 👋 congrats on the launch!
this is sick -- didn't realize how much i missed the etherscan-like UI on a local fork

when i loaded seaport as a trial run, it looked a bit cluttered and difficult to find a given sig. figured i'd take a stab at making function blocks collapsible
total react noob here (like "never used it" level) so if something looks non-conventional or janky.. probably is lol
feel free to close or tell me a better way to accomplish it! just felt like a fun opportunity to finally dip my toes into modern frontend stuff :)

before:

after:

@sambarnes thanks for opening a PR on this! I imported the Seaport contract 0x00000000006c3852cbEf3e08E8dF289169EdE581 and agree that the interface looks pretty cluttered. I like the idea of adding a button that allows the user to expand/collapse the function inputs.
I have a few housekeeping items I want to get setup before I start merging in enhancement PRs. The major task being setting up GitHub Actions to automatically run the tests, linter, and type checker when contributors open pull requests (so I can address them faster). Bear with me while I get some of that knocked out!

One quick note–some unit tests that expect specific content to be rendered are failing since that content is now conditionally rendered (and initially collapsed).

Hey @sambarnes I just wanted to check to see if you were still interested in working on this PR. Apologies if you were waiting on me before picking this back up. I’m happy to help with any blockers you might encounter.

closing in favor of https://github.com/blacksmith-eth/blacksmith/pull/109


adding wilcoxon p test package, This change modifies stat package of gonum.

Please take a look.
https://github.com/gonum/gonum/issues/1320
@kortschak , Please note that I am interested to add the internal stats package. Please review the code. Thank you.

@sbinet , @kortschak , Thanks for reviewing the code again, I have made the changes requested above (except for one) and pushed the code. Please review the code whenever you guys find free time. Thanks @sbinet @kortschak .

@kortschak @sbinet , thanks for a detailed review, it helped me understand the code style of the gonum package. I have made very significant changes, please take a pull and review it when ever you guys are free. Thanks.

@kortschak @sbinet , I cannot figure out why travis-ci is failing for arm64 platform, If you can either help me or point in me in the correct direction. As the master build is also failing. https://api.travis-ci.org/gonum/gonum.svg?branch=master

I edited the PR name to bring it line with Gonum convention.


Release version 0.3.0.

@akmorrow13 @jpdna Are there any other things necessary before cutting a version 0.3.0 release?

@heuermh not to my knowledge!

ok, I'll do it this afternoon

Fixed by commit 1c07db9025012b3bd7ca0d39fccbb9e37779dbbb.  Will take a couple of hours to rsync to Maven Central.


Fix units of time in the output and tests.

You're welcome.

Can we merge this?

@nmeans ping

@nmeans If you have the time, the ms in these timings is incorrect. This PR fixes this error. Thanks!


Requirement for 64bit to be listed on installation guide

Problem:
Ciphey doesn't seem to install on Windows + a 32 bit install of Python. Couldn't figure out why I was getting an error about a version not being found but the suggested fix was around Tensor flow and didn't work for me either.
Solution:
Install 64bit of Python or use Docker.
I'm unable to add this to the Wiki as a pull request - perhaps it could be included on one of the landing pages?

On it! :D

@all-contributors please add @XVXTOR for documentation

Done! :D


Update play-akka-http-server to 2.8.7

Updates com.typesafe.play:play-akka-http-server from 2.8.5 to 2.8.7.
GitHub Release Notes - Version Diff
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.play", artifactId = "play-akka-http-server" } ]

labels: library-update, semver-patch

Superseded by #2118.


Static site generation for SEO

In case you want your site to be SEO-friendly, the site might benefit from being generated into a static site. 🤔
I found https://github.com/phenomic/phenomic to be an interesting candidate, but it will take me some time to figure out the nuts and bolts of integration with spa-github-pages.

Static site generation is out of scope for this project. Gatsby is a great solution for generating static sites - see https://www.gatsbyjs.org/docs/how-gatsby-works-with-github-pages/


Android Java: 02.16 Migrate from ViewPager to ViewPager2

Description :scroll:

Give a step-by-step tutorial/explanation on how to  migrate from ViewPager to ViewPager2 in Android (Java).
Required Documentation or Video or Audio.

Domain of Contribution :bar_chart:

[x] Android Dev (java)

References :
https://developer.android.com/training/animation/vp2-migration?authuser=3

Please Read it Carefully Before Contributing

Changes should be made in Android_Development_With_Java/ directory under Android_Development_With_Java branch.
Inside Android_Development_With_Java directory/ creates a directory and names it according to the topic
Inside Topic Name directory/ add your task with subtopic number and name and make changes accordingly.
You have to push your PR to the Android_Development_With_Java branch only.
You can take help to the references but don't simply try to copy it. Just explain in your own word.
This issue is for GWOC'21 contributors only.
You need to push in a single commit. If there exists more than one commit then you need to squash your commits into one commit.
Will assign you on a first come first serve basis.
Please try to complete your assigned task within 7 days. If you need some more time then, please inform mentors and supervisors.
If you have two previously assigned issues on Android-Java pending then please first complete them.

Supervisor @VikasPandey121

/assign

/assign

/assign

/assign

PR #8666
@VikasPandey121, @sitamadex11 Please review this PR.


user12986714: Watch<EMAIL_ADDRESS>

user12986714 requests the watch of the watch_keyword<EMAIL_ADDRESS>See the MS search here and the Stack Exchange search in text, in URLs, and in code.

<EMAIL_ADDRESS>has been seen in 3 true positives, 0 false positives, and 0 NAAs.

This would overlap with an existing watch. It's not clear what is desired wrt. the disposition of the other watch.


First layer with single channel

🚀 Feature

When calling the model, it would be nice to be able to set the number of channels in the first layer.
Motivation

When using a grayscale image, I want the input to be a single channel.
Pitch

ex)
self.conv1 = nn.Conv2d(3, self.inplanes, kernel_size=7, stride=2, padding=3, bias=False)
-> self.conv1 = nn.Conv2d(1, self.inplanes, kernel_size=7, stride=2, padding=3, bias=False)

layers.append(ConvBNActivation(3, firstconv_output_channels, kernel_size=3, stride=2, norm_layer=norm_layer, activation_layer=nn.Hardswish))
-> layers.append(ConvBNActivation(1, firstconv_output_channels, kernel_size=3, stride=2, norm_layer=norm_layer,  activation_layer=nn.Hardswish))

Alternatives

My idea is to use parameters when calling the model.
ex)
self.conv1 = nn.Conv2d(input, self.inplanes, kernel_size=7, stride=2, padding=3, bias=False)
Additional context

I think the trade off here is adding one more parameter in all model constructor methods VS keeping the API simple. The reason we don't support the extra parameter is because it is straight forward to achieve what you want with a bit of model surgery (like on the examples you provide).
As a side-note, simply changing the first convolution will work when the number of channels is close to 3. If the number is significantly larger you might start facing issues as you might need to adjust the width parameter of the network to account for the extra information of the input.

yes it'll be good for adding the parameter as the number of channels but the thing is it'll not keep API simple
completely agree with @datumbox


cleanup, move transformations from app code into indigo

Coverage decreased (-1.4%) to 84.874% when pulling 097658bad2e5ff39e90008440814ab9cd1b43349 on cleanup into 74aac66b16b8c47f9d51e08cd0a80dae122d6728 on master.


MQTT endpoint for device data collection and authentication

An instance of ThingsBoard has been provisioned at https://iot.gaisasargs.lv (credentials for the admin and tenant users are available in the credentials sheet);
The MQTT endpoint is available at mqtt.gaisasargs.lv, port 1883.
Next steps:

Setup device profile https://iot.gaisasargs.lv/deviceProfiles
Generate and store authentication token during device firmware upload, log it to a CSV file to be used for bulk provisioning.
bulk provision devices using the generated CSV as the source

Here is a great set of tutorials for using ThingsBoard https://www.youtube.com/playlist?list=PLYEKB_XwLCZJ6T8RPLTjRwMw0eoabpEKO


Updated DG - Full main class diagram

Most of the classes that we implemented are now added to the main class diagram

Codecov Report

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

@@            Coverage Diff            @@
##             master     #237   +/-   ##
=========================================
  Coverage     72.88%   72.88%
  Complexity      604      604
=========================================
  Files            64       64
  Lines          2231     2231
  Branches        237      237
=========================================
  Hits           1626     1626
  Misses          525      525
  Partials         80       80

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 9a1d005...45da25e. Read the comment docs.


FIX: ModalFooter box-shadow, Close position

Fixed box-shadow in ModalFooter when the Modal is fully scrolled.
Fixed position of CloseContainer during initial animation on Mobile.

@wEprous Can you please rebase and resolve conflicts before CR ? 🙏

Done! 🙂


Upgrade UI to 2020

try to use this and have a more modern look and feel
https://startbootstrap.com/previews/sb-admin-2/
and generate some stats

It's a good idea. I like it.


Permission denied error when building v.0.3.0

When I try to build the project with the "make" command, I get the following error:

Scanning dependencies of target z3
[  3%] Generating z3/lib/libz3.so
/bin/sh: 1: scripts/mk_make.py: Permission denied
CMakeFiles/z3.dir/build.make:60: recipe for target 'z3/lib/libz3.so' failed
make[2]: *** [z3/lib/libz3.so] Error 126
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/z3.dir/all' failed
make[1]: *** [CMakeFiles/z3.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

I tried it in WSL and in a docker container, both with Ubuntu 18.04. If I checkout an older version (v.0.2.1) the build works after a submodule update.

Thanks for commenting. Please try to remove the old Z3 build via
rm -rf libs/z3/build

in fiction's root folder before triggering a new build.

This doesn't work. I use a fresh clone of the repository (like in my dockerfile in PR #5) with the command

git clone --recursive https://github.com/marcelwa/fiction.git

and then use the commands

cd fiction
mkdir build
cd build
cmake ..
make

If I do this there is no build folder in libs/z3/.

Ah I see what the issue might be then. Seems like CMake was unable to detect your Python installation. If you can't make CMake to recognize Python correctly, the following workaround might fix your problem. Navigate to fiction/libs/z3/ and execute
python scripts/mk_make.py --prefix=<PATH_TO_FICTION_FOLDER>/build/z3/
cd build
make
make install

Afterwards, you should be good to build fiction via make fiction in your build folder.

With this workaround I am able to build it.

Commit bc3116e1b2ed9c599362fac019b04727f19852a8 should render the workaround unnecessary.


Spin up new node before expiring an existing node

Tell us about your request
Ability to analyze workload on a node that is going expire and spin up a new one to handle the workload before the old one is expired.
Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?
Let's say I have deployed a new application and there's no spare capacity in the cluster. Karpenter will provision a new node and the pods get created on it. Currently all pods for that app are on a single node. Also assume the ttlSecondsUntilExpired setting has been enabled. Once this node reaches the specified age, the node will be terminated. Since there's no spare capacity, the pods cannot be scheduled on any other node and the app is unavailable until the new node has been provisioned. It would be great to have the new node available prior to removal of the old one.

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Hey @arvidgorur! Thanks for the issue. Karpenter's node deletion logic will actually drain the nodes and gracefully evict all pods scheduled to the node before we delete the node. This should allow the evicted/orphaned pods to schedule to a new node before we delete the node and the pod.
Have you seen behavior different than this?

Hey @njtran thanks for getting back! So I'll elaborate a bit.
First, I followed the getting started guide to spin up a v1.20 EKS cluster. I scaled the deployment and Karpenter created a new node and bound the new pods to that node. At this point, there are two worker nodes - one part of the node group where Karpenter is running and one created by Karpenter to host the deployment. Then I updated the provisioner to include the ttlSecondsUntilExpired value. Once the node exceeded the expiration, that node was drained and deleted. A new node was provisioned, however it had not yet joined the cluster (I could see it in the ec2 console but not visible to EKS). At this point the deployment pods went into pending state. Eventually the new node joined the cluster and the pods were scheduled successfully. But there was a period of ~1 minute when the pods were pending.
Let me know if you need any further clarification. Thanks!

Make sure you configure a https://kubernetes.io/docs/concepts/workloads/pods/disruptions/ to ensure pod availability.

@ellistarn configuring a PodDisrupitonBudget worked. Thanks for the suggestion and yes, it is good to have as a best practice. Appreciate the quick response. I'm going to close the request.

But i have pdb set already even this issue is persist.

The solution with PDB does not cover some use-cases. We have a single-pod stateful application running in our cluster. While a brief disruption, needed for the migration of the app from one node to another would be acceptable, a longer disruption, lasting the duration of spinning up a new node leads to alerts firing and paging our engineers. How can we work around such issues?


[TACHYON-935] Added the usage of links in the documentation in the tachyon.worker.block.io and tachyon.worker.block.meta packages

https://tachyon.atlassian.net/browse/TACHYON-935

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Tachyon-Pull-Request-Builder/7182/
Test PASSed.

LGTM. Thanks!


Fixes for Warnings where CREFS are used instead of HREFS

Updates CREFS to use HREFS as necessary to prevent warnings.

According to Microsoft doc, we need to use href. Am I missing something?
https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/xmldoc/recommended-tags
<see cref="member"/>
<!-- or -->
<see cref="member">Link text</see>
<!-- or -->
<see href="link">Link Text</see>
<!-- or -->
<see langword="keyword"/>

cref="member": A reference to a member or field that is available to be called from the current compilation environment. The compiler checks that the given code element exists and passes member to the element name in the output XML. Place member within double quotation marks (" "). You can provide different link text for a "cref", by using a separate closing tag.
href="link": A clickable link to a given URL. For example, <see href="https://github.com">GitHub</see> produces a clickable link with text :::no-loc text="GitHub"::: that links to https://github.com.
langword="keyword": A language keyword, such as true or one of the other valid keywords.

The <see> tag lets you specify a link from within text. Use <seealso> to indicate that text should be placed in a See Also section. Use the cref attribute to create internal hyperlinks to documentation pages for code elements. You include the type parameters to specify a reference to a generic type or method, such as cref="IDictionary{T, U}". Also, href is a valid attribute that will function as a hyperlink.

Agree.  That is what this PR does.  It changes the places where CREF was used incorrectly to the correct HREF.


Ability to set content type for actor method invocation response

Is your feature request related to a problem? Please describe.
When invoking an actor method, I am unable to set the content type of the response. The default is plain/text.
Describe the solution you'd like
It would be good for an actor method to be able to set the response type (and ideally pass additional headers in the response). The approach could be similar to the one adopted for ServiceInvocationHandler, i.e. return a (*common.Content, error) tuple.
Describe alternatives you've considered
There do not seem to by any.
Additional context
n/a

https://github.com/dapr/go-sdk/blob/main/service/http/invoke_test.go

Closed as the https://github.com/dapr/go-sdk/blob/main/service/http/invoke_test.go file contains the solution. use (*common.Content, error) as the response type for the handler.


Missing Diagram?

In the section "Type Mapping Run-time Behavior Matrix" there is a diagram mentioned. A Stack Overflow page does it mention too. So I think it's maybe missing.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 1a979152-cc35-b5ba-655d-d0b30821fbaf
Version Independent ID: 774a76ef-dfaa-bc7c-3e8b-b467e43b0e16
Content: SQL-CLR Type Mapping
Content Source: docs/framework/data/adonet/sql/linq/sql-clr-type-mapping.md
Product: dotnet-framework
GitHub Login: @douglaslMS
Microsoft Alias: douglasl

@grnde I recognize the value of this diagram. I cannot discover from the history when it was removed from the page, or whether that happened intentionally. I am opening a separate PR to restore the missing diagram. Thanks for bringing this to our attention, and for providing the StackOverflow link.


Investigate eBPF Support

We've talked around what eBPF might look like a few times now, so this is a tracking issue for looking into what it would take to support it. The main potential benefit of having higher throughput through removing syscalls and providing process separation from the update configuration and latency tasks for the game traffic.
Requirements

This added as an additional "mode" to quilkin, similar to agent, manage, and relay. We might add the mode as command under proxy (e.g. quilkin proxy ebpf) to be able to reuse the arguments from proxy, but in code, it would be a separate path, and probably closer to agent in how it works.
The eBPF still supports dynamic configuration like proxy does. How it pulls that configuration will obviously be different.
The eBPF filter still supports most of the filters, it doesn't need to support all, as there are some that could never work in the eBPF context, but it still needs to be enough that it is useful for production deployments.

I've created a PoC at https://github.com/Jake-Shadle/ebpf-test to see how feasible this would be.
Note that the PoC supports (almost) exactly our actual use case of client packets w/token <-> proxy <-> server, nothing else.

The eBPF still supports dynamic configuration like proxy does. How it pulls that configuration will obviously be different.

I'm not sure what you mean by this? If it's configuration in terms of updating server endpoints that's totally fine, and my PoC does that, but if it's things like updating token sizes or something, that becomes problematic, as right now those are done via global variables, which can only be modified at load time due to how eBPF loaders work (modifying the actual contents of the ELF before passing it to the kernel to be verified). It might be possible to store those types of configs in a map with a single entry, but that would be a bit wasteful of always reading data that rarely/never changes. It would also be possible to just detach and reload the eBPF code and attach again as well, as that code takes milliseconds.

The eBPF filter still supports most of the filters, it doesn't need to support all, as there are some that could never work in the eBPF context, but it still needs to be enough that it is useful for production deployments.

I'm not sure I see the point in adding support for what filters could work in eBPF as we don't actually know what filters people are using currently. I would much rather add support for only our use case in an initial first pass, and either take on additional filters, or just have a library of helpers that people can use to create their own eBPF programs if they choose to not make them open source. Also, since all the filters are supported in non-eBPF quilkin, it means if people can't use the eBPF program(s) provided natively in quilkin because they don't support their particular use case, they can just use the regular proxy.
TODO
There are a couple of things missing from the PoC that would need to be done before it could be integrated into quilkin (pending discussions ofc).

Metrics - Right now the eBPF program is a black box as I wanted to prove it could function correctly first, but collection of the same metrics that quilkin currently supports should be fairly easy to support with a single ring buffer that is processed in user space.
Incremental UDP checksum - It should be possible to do incremental updates of the UDP checksum when modifying the packet, but I wasn't able to get it working so far, so right now we actually perform the full checksum computation, including the data payload, when sending IPv6 packets so that the packet isn't rejected by the receiver
Load balancer suffix - In our use case at Embark, the (GCP?) load balancer adds a 1u8 at the end of the packet, this would mess up the token calculation, so I would need to modify the code to take that into account, if configured.

I'm not sure what you mean by this?

I'll try to clarify the intent below, but for the future if there are parts of the requirements that you are uncertain about, don't understand, or have questions that come up during the course of the implementation. I would ask that you ask for clarification before finishing the proof of concept as that can save you a lot of time if we're both aligned on what it does and doesn't need to do.

if it's things like updating token sizes or something, that becomes problematic, as right now those are done via global variables, which can only be modified at load time due to how eBPF loaders work (modifying the actual contents of the ELF before passing it to the kernel to be verified). It might be possible to store those types of configs in a map with a single entry, but that would be a bit wasteful of always reading data that rarely/never changes. It would also be possible to just detach and reload the eBPF code and attach again as well, as that code takes milliseconds.

Yes, filter behaviour does need to be configurable. My expectation is that the user land side of the eBPF proxy deployment is reading the same config yaml file schema that we already have, and loading that configuration into the eBPF program to be the filter. Having that result in the eBPF program being detached and reattached is an acceptable compromise to only need to read that configuration at startup in eBPF.

I'm not sure I see the point in adding support for what filters could work in eBPF as we don't actually know what filters people are using currently. I would much rather add support for only our use case in an initial first pass, and either take on additional filters, or just have a library of helpers that people can use to create their own eBPF programs if they choose to not make them open source. Also, since all the filters are supported in non-eBPF quilkin, it means if people can't use the eBPF program(s) provided natively in quilkin because they don't support their particular use case, they can just use the regular proxy.

Well we first need a system for defining the filters. The proof of concept doesn't include a way to define a sequence of filters as the behaviour. Right now, the proof of concept doesn't seem to match even our specific configuration of filters, because as far as I can tell it doesn't read the version byte that the configuration specifies. This is why it's important to have filters be  available and be specified through the configuration. If I want to change the current packet format (which I have been looking at), right now I would just update the config file, with what you're currently proposing, that would require writing a new program.
It's fine in my opinion for only the filters currently supported are the ones we use, but that needs done through a way where like in the existing setup, we are just defining filters as building blocks and users can join them together in configuration to create their setup, it can't be hardcoded to one setup in code.
I also think ideally we are splitting off the current filter code into its own crate, and sharing as much of that as possible between both implementations to reuse existing code where possible and keeping and behaviour divergences colocated so if we a different capture filter behaviour for example, both implementations are in the same file/folder.

In our use case at Embark, the (GCP?) load balancer adds a 1u8 at the end of the packet, this would mess up the token calculation, so I would need to modify the code to take that into account, if configured.

Are you sure about this? We don't use a load balancer in our deployed configurations all traffic is direct to the pod where possible and I don't remember deploying this before, would you be able to share more about this either here or on Slack?

If I want to change the current packet format (which I have been looking at), right now I would just update the config file, with what you're currently proposing, that would require writing a new program.

It would possible to do something with tail call programs I suppose, but it would be vastly more complex than a simple program that does one thing. I think the easiest thing to do is to take a survey of current users to know what filters/configs are actually being used before spending time on them, or even figuring out a way they could be supported, or if the more complex use case users even want or care about eBPF at all.

It's fine in my opinion for only the filters currently supported are the ones we use, but that needs done through a way where like in the existing setup, we are just defining filters as building blocks and users can join them together in configuration to create their setup, it can't be hardcoded to one setup in code.

I agree the flexibility with the current filter configuration is nice to have...but I think it's also not actually important. Maybe this isn't the case for everyone, but it seems once you settle on a configuration that you want you will stick with it for a long time, so if one is wanting to use eBPF for performance etc then doing something like creating a bespoke program that will be used for weeks or months that does only what you need would make sense, with maybe a few toggles/variables exposed for quick changes or something. But again I come back to, if someone does need that high velocity config changes and complicated chains of filters then they can just use quilkin as it is today.

Are you sure about this? We don't use a load balancer in our deployed configurations all traffic is direct to the pod where possible and I don't remember deploying this before, would you be able to share more about this either here or on Slack?

This is the first filter, at least at the one config I am aware of.
      - name: quilkin.filters.capture.v1alpha1.Capture
        config:
          metadataKey: embark.dev/load_balancer/version
          suffix:
            size: 1
            remove: true

It would possible to do something with tail call programs I suppose, but it would be vastly more complex than a simple program that does one thing.

The goal of eBPF support is to have the fastest implementation within the constraint of supporting filters and current feature set of quilkin, it's not to have one program that supports one specific configuration today.

I agree the flexibility with the current filter configuration is nice to have...but I think it's also not actually important. Maybe this isn't the case for everyone, but it seems once you settle on a configuration that you want you will stick with it for a long time, so if one is wanting to use eBPF for performance etc then doing something like creating a bespoke program that will be used for weeks or months that does only what you need would make sense, with maybe a few toggles/variables exposed for quick changes or something. But again I come back to, if someone does need that high velocity config changes and complicated chains of filters then they can just use quilkin as it is today.

I think that is largely missing the point of quilkin being a tool. People only tend to write configuration for nginx or istio once (both of which have eBPF modes available), but that doesn't mean that people choose to instead write a custom HTTP proxy program every time they need to route traffic. The point of the tool is to provide an abstraction that allows people to create and manage proxies easily without needing to write their own bespoke programs. You can setup a Quilkin proxy in a cluster in less than five minutes, you can't do that if the answer is write a bespoke program.

Maybe changing to use AF_XDP is the easiest option then, the eBPF program would be solely used to redirect the packets we care about to be processed in userspace similarly to how they are today, just instead of using io-uring it's using the XDP umem stuff (maybe io_uring can still be used?). Though AF_XDP isn't supported by all NIC's so that might be a non-starter.

Maybe changing to use AF_XDP is the easiest option then, the eBPF program would be solely used to redirect the packets we care about to be processed in userspace similarly to how they are today, just instead of using io-uring it's using the XDP umem stuff (maybe io_uring can still be used?).

That makes sense to me, the benefit we're looking for is bypassing kernel stack for processing, and from the docs you showed it looks like it achieves that, it's not like it would be faster if filters are compiled into a kernel module aside from the bypassing as far as I know.

Though AF_XDP isn't supported by all NIC's so that might be a non-starter.

I did a cursory search for support on GCP and AWS and it seems like both support AF_XDP, which is enough for us (though we should probably write a small program and deploy it to check).
I think it's fair to require support for this as long as using a regular UDP socket is still available. I don't know if there is a query for support at runtime (like could we attempt to load the eBPF module at runtime, then if it fails is that because it doesn't have support?), if not we can make it a separate flag and make it not the default, but I think runtime detection would be preferable.

Yes, I believe it would fail to attach if it's not supported, so easy enough to fallback to the normal I/O path in that case.

Just chiming in to say - excited to see this work 👍🏻 In retrospect, I wish we'd actually started with an eBPF implementation (but hindsight is always 20/20).
Curious what sort of performance impact / difference you are seeing in the implementation?

In retrospect, I wish we'd actually started with an eBPF implementation (but hindsight is always 20/20).

I mean I don't think GCP had support for things like AF_XDP until the past year or so in things like gVNIC, so might not have even been possible until recently 😄


Adding pong ball

PR Description 📜
The objective is to hit the ball past the opponent's paddle to score points. The left player controls their paddle using the "Z" and "S" keys, while the right player controls their paddle using the up and down arrow keys. The game features a moving ball, responsive paddles, and keeps track of each player's score. The players need to react quickly to hit the ball and outmaneuver their opponent to win the game.
Fixes  #897

Mark the task you have completed ✅

[x] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[x] I have added screenshot for website preview in assets/images
[x] I have added entries for my game in main README.md
[x] I have added README.md in my folder
[ ] I have added working video of the game in README.md (optional)
[x] I have specified the respective issue number for which I have requested the new game.

Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

Thank you @mridul588 ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

Thank you  @mridul588 , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀


ClickHouse CREATE TABLE Fixes: add ORDER BY and fix clause ordering

This change includes a few small ClickHouse-specific fixes:

Add support forCREATE TABLE ... ORDER BY. The default engine in ClickHouse (MergeTree) requires the ORDER BY clause.
Parse/Print ENGINE and ORDER BY before the AS in CREATE TABLE ... ENGINE= ... ORDER BY ( ...) AS SELECT ...

CC @alamb @AugustoFKL

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

28 of 30 (93.33%)  changed or added relevant lines in 4 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.01%) to 86.181%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/parser.rs
11
13
84.62%

Files with Coverage Reduction
New Missed Lines
%

src/ast/mod.rs
1
78.18%

Totals

Change from base Build<PHONE_NUMBER>:
0.01%

Covered Lines:
13564

Relevant Lines:
15739

💛  - Coveralls


Improve cleos error messages

Is there any detail descriptions for this ticket?

hi, I've created a pull request to fix the misleading error when port == wallet_port. Please see #2574

Unable to connect to keosd for some commands it seems to work, for some others not
playground$ cleos get info
"/opt/eosio/bin/keosd" launched
{
  "server_version": "a7d77526",
  "head_block_num": 212,
  "last_irreversible_block_num": 211,
  "last_irreversible_block_id": "000000d30334e13492c514d5fb4afde62cd280114076ea500ac05df2444344b3",
  "head_block_id": "000000d4b427ef1287bbc706df97f4e785d135649b7334aed21ffc7eb32d318d",
  "head_block_time": "2018-05-20T09:57:20",
  "head_block_producer": "eosio",
  "virtual_block_cpu_limit": 123390,
  "virtual_block_net_limit": 1294917,
  "block_cpu_limit": 99900,
  "block_net_limit": 1048576
}
playground$ cleos wallet create
"/opt/eosio/bin/keosd" launched
Unable to connect to keosd, if keosd is running please kill the process and try again.

I noticed that if I run cleos wallet create as root it works

This is vague and we need a more targeted approach


Broken Link in Documentation

Where the documentation states:
"You must configure the application permissions for your bot in advance. We recommend using the Microsoft App Registration Portal as described here because that's where your bot was configured; however, you can still use the Azure portal if you prefer to use the Azure AD V1 endpoint."
The hyperlink embedded in the word "here" is broken, and leads to a 404 error.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: ac64d14f-aec8-9dd6-e987-d2325de46fd6
Version Independent ID: ba050a58-d98a-68f7-3190-8001d2a9d12c
Content: Registering a calling and meeting bot for Microsoft Teams - Teams
Content Source: msteams-platform/bots/calls-and-meetings/registering-calling-bot.md
Product: msteams
GitHub Login: @laujan
Microsoft Alias: lajanuar

Hi @dcmesh. The broken link has been updated. Thank you for your feedback!


New package: BrechtSanders.WinLibs.POSIX.UCRT.LLVM version 14.2.0-19.1.1-12.0.0-r2

Checklist for Pull Requests

[x] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.9 schema?

Note: <path> is the directory's name containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

@wingetbot run

@wingetbot run


Allow addition and subtraction

Closed by https://github.com/paulfurley/python-utcdatetime/pull/20


Packages not published to nuget.org

This documentation suggests that there should be a NuGet package I can import in to my project however I can not find it on NuGet.org (I did do a search including pre-release packages)
Is there a plan to publish these packages at any stage?
Thanks

@jonorossi thanks for the info.
Keep up with the good work, I have been using castle / windsor for 10+ years now, love it.


⚠ SceneTime has degraded performance

In 871affa, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 16618 ms

Resolved: SceneTime performance has improved in 878f00e after 8 minutes.


Destroy Method

Hi there, I'm trying to implement the destroy method at a specific width for mobile, but would also like to re-initiate it on a browser resize... Could you help guide me by providing the code?
I've tried this but haven't got it working,
if ($(window).width() < 540) {
$( '#my-slider' ).sliderPro( 'destroy' );
}
Thanks

Try to replace $( '#my-slider' ).sliderPro( 'destroy' ); with a simple console.log('destroy'). When you get that working, you can replace it with the actual code again. If you're having problems with that, I recommend asking on sites like Stackoverflow, as it's not something specific to the slider.
Anyway, to give you some pointers: you will need to run that code inside a setInterval. It's not sufficient to make the width check one time.
Cheers


Bring the editor for documentation inside vs.net and vscode

Enable to easily bring into the editor a documentation page's source and submit the change, without the need to engage github, fork, clone, PR, etc.

⚠ Idea migrated from UserVoice
Created By: Peter Smulovics
Created On: 2017/12/07 03:32:16 +0000
Votes at Migration: 1
Supporters at Migration: 1

#log-suggestion

🚀 ATTENTION: Internal request logged.

This is not a priority at this time. Most pages provide an Edit link for lightweight editing, and cloning the repo locally is considered an acceptable process for more in-depth editing.


Missing parenthesis

Hello,
Sorry to be a pain: this is my first time.
I've tried downloading and compiling this brilliant script to practice my CW, but when I try and run it, I get the error message pictured.
Does anyone know what to do?!
Many thanks
Michael

My guess is that you are running it under Python 3 and the script was written for Python 2. The parentheses of the print statement are required in Python 3. I should probably fix this, but as I know I am not likely to have time to test changes anytime soon, you could either try running it under Python 2 or to use 2to3 to fix the script (see https://docs.python.org/3.5/library/2to3.html).

Thank you very much - I'm sorry to be a nuisance. Just to clarify, in order for this to run (assuming I've wired the key correctly), I simply need to execute it in Python 2.x IDLE and hope for the best? Are there other settings I need to tinker with before it will work?

Apart from all the fiddling with connecting the key (straight key only I'm afraid), it should just work on a Mac. Please have a look at the INSTALL file which has all the details on connecting the key and if you want to route the audio to fldigi for decoding.


Non-matching peerDependency jest-runner -> core in 5.1.0

Summary
The jest-runner package declares a peer dependency on "@stryker-mutator/core": "~5.0.0":
https://github.com/stryker-mutator/stryker-js/blob/5c1390982dad85c401c39151e2ce0767f28c6e49/packages/jest-runner/package.json#L55
This doesn't allow to install jest-runner and core with v5.1.0, as the ~ only allows patch updates. I assume this should either be a fixed version and updated via lerna for new releases, or a ^ to also allow for minor version releases.
Happy to provide a PR if someone can tell me which way to go :) (tho a maintainer will probably be quicker with this)

yeah, you're right. Updating peer deps is still a manual process which I forget sometimes... Fixing now.

Fixed in  v5.1.1

@nicojs thanks a bunch!


fix: update setup-python to fix pip windows issues

Fixes #27

Updating setup-python did not fix the issue 🙁

It looked like the first commit only updated node?

It looked like the first commit only updated node?

I added the hash of the setup-python latest commit
7f80679172b057fc5e90d70d197929d454754a5a
https://github.com/actions/setup-python/commit/7f80679172b057fc5e90d70d197929d454754a5a


Main

Purpose

...

Does this introduce a breaking change?

[ ] Yes
[ ] No

Pull Request Type
What kind of change does this Pull Request introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

How to Test

Get the code

git clone [repo-address]
cd [repo-name]
git checkout [branch-name]
npm install

Test the code

What to Check
Verify that the following are valid

...

Other Information

ok

@microsoft-github-policy-service agree

This looks like a private PR that was unintentionally made public, and it includes secrets. Please be very careful with your secrets and revoke the exposed ones immediately, for your sake. Closing this PR since it seems like it was meant to be private.

Closing per @pamelafox 's request.


TimescaleDB database incorrectly displays table size

Description
In Database Navigator | Database | "database name" | Schemas | "schema name" | Tables |  "table name" there is incorrect size of TimescaleDB table size.
TimescaleDB has normal tables (they are just PostgreSQL tables) and hypertables. Hypertables are partitioned tables, the main table (in TimescaleDB langauge it is called "hypertable") is partitioned into multiple sub-tables (in TimescaleDB language there are "chunks").
In DBeaver hypertable table size is displayed just as few kilo bytes in size, because it only counts the size of reference to chunks, but not the actual chunks table size.
Hypertable size should be calculated as total size of all its chunks, but in DBeaver it is not.
DBeaver Version
Community Edition 23.0.5
Operating System
Windows 10
Database and driver

Database name and version: Timescale 2.11.0 running as extension under PostgreSQL 15.3
Driver name and version: PostgreSQL JDBC Driver 42.5.2

Steps to reproduce

Database | New Database Connection.
Select TimescaleDB and configure driver.
Test Connection button and it displays:

In Database Navigator click down to the tables.

In above picture conditions table  is only 16 K in size, which is wrong. This is the problem.
The correct table size of this table is: select pg_size_pretty(hypertable_size('data.conditions'));

pg_size_pretty|
--------------+
389 MB        |

Now I will provide step-by-step how to get this info:
7. Execute query: select hypertable_schema, hypertable_name from timescaledb_information.hypertables to get all of the hypertables.
hypertable_schema|hypertable_name |
-----------------+----------------+
data             |conditions      |

Now check the chunks select chunk_schema, chunk_name from timescaledb_information.chunks where hypertable_schema = 'data' and hypertable_name = 'conditions';

chunk_schema         |chunk_name      |
---------------------+----------------+
_timescaledb_internal|_hyper_1_1_chunk|
_timescaledb_internal|_hyper_1_3_chunk|
_timescaledb_internal|_hyper_1_4_chunk|

Look into DBeaver chunk tables and sum the size of tables listed in previous step.

Compare the sum of step 10 (388 M) with data in step 6 (389 M) which is the same (if we ignore the rounding problem).

Additional context
No response

Open Defect in TestQuality


Fix provisioning script certificate parsing

Description
The STM board returns a slightly different format
(ending with 'A=') when generating the public key. This cannot be parsed by Python's cryptography library which instead expects the '==' ending.
Thanks @paulbartell  and @AniruddhaKanhere for the help
Test Steps
Snagged an STM32u5 board and followed getting started guide. Before I was receiving....
Generating a new public/private key pair
Error: Could not parse public key.

After the changes provisioning is successful. I am also seeing env_sensor_data and motion_sensor_data published to my account.
Checklist:

[x] I have tested my changes. No regression in existing tests.

Not really applicable

[x] I have modified and/or added unit-tests to cover the code changes in this Pull Request.

Not applicable. This only updates the provisioning script

Related Issue

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

I'd prefer to address the spelling mistakes in a separate CR as to not overload this rather simple change.

This change doesn't effect spelling failures nor links. These can be addressed in a separate PR.


Gauge API : Add LongGauge Support (Part1)

These APIs will allow users to report already aggregated data into Open Census.
Part1 : Add LongGauge Support.
Part2 : Add DoubleGauge Support.
Part3 : Add DerivedLongGauge Support.
Part4 : Add DerivedDoubleGauge Support.

Codecov Report

Merging #1489 into master will decrease coverage by 0.05%.
The diff coverage is 79.43%.

@@             Coverage Diff              @@
##             master    #1489      +/-   ##
============================================
- Coverage     82.44%   82.39%   -0.06%
- Complexity     1594     1608      +14
============================================
  Files           243      246       +3
  Lines          7498     7571      +73
  Branches        702      712      +10
============================================
+ Hits           6182     6238      +56
- Misses         1100     1114      +14
- Partials        216      219       +3

Impacted Files
Coverage Δ
Complexity Δ

...ain/java/io/opencensus/metrics/MetricRegistry.java
100% <100%> (+28.57%)
2 <0> (ø)
:arrow_down:

...in/java/io/opencensus/implcore/internal/Utils.java
60% <60%> (ø)
2 <2> (?)

.../io/opencensus/implcore/metrics/LongGaugeImpl.java
73.21% <73.21%> (ø)
9 <9> (?)

...src/main/java/io/opencensus/metrics/LongGauge.java
82.6% <82.6%> (ø)
2 <2> (?)

...pencensus/implcore/metrics/MetricRegistryImpl.java
97.61% <95.45%> (-2.39%)
5 <4> (+1)

...census/implcore/trace/export/SpanExporterImpl.java
93.15% <0%> (+1.36%)
8% <0%> (ø)
:arrow_down:

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 809ed22...7432a0a. Read the comment docs.

@bogdandrutu This PR contains only LongGauge/NoopLongGauge and LongGaugeImpl. PTAL


shacl validation is failing

The tests for the shacl validation are failing. It seems that there are some modifications in some packages. Any (fast) idea @horstf  what is going wrong?

I didnt test this, but since rdflib is mentioned in the error output and because v7 was released last week - when the errors started occuring - i suspect that the new version breaks compatibility with pyshacl, which does not seem to be actively maintained anymore. I would suggest pinning rdflib v6 and trying again.

Thanks for pointing that out. There are now tow options, either pinning rdflib to an old version, or removing the tests that are using pyshacl (since the latter are not yet integrated into the workflow). The first option would allow us to keep the shacl implementation and integrate that into the workflow as soon as the complete graph is build, though with a potentially outdated rdflib package. The second option would require a reimplementation of shacl using a different package (instead of pyshacl), not sure myself what alternatives there are or see if at some later stage it is actually adapted to work with rdflib v7. Any suggestions, in particular @AidaZt ?

@AidaZt Uncommenting the shacl test files would only work if we also delete the files in LebeDigital, since otherwise the test score (percentage of what is tested) is decreasing, which is not allowed (or we would have to change that too). The easiest solution is (as recommended by @horstf as well), to pin rdflib to version 6.3.2. In my setup, that worked.


Dialog windows are measured with incorrect initial size

After updating to latest Avalonia I've noticed that my app has dialog windows with content that is cut off. I can also repro this in the control catalog by fixing window size to 800x400 and putting such content in:
<Grid ColumnDefinitions="*,Auto,*">
          <Rectangle Grid.Column="0" Fill="Red" Height="200" />
          <GridSplitter Grid.Column="1" />
          <ScrollViewer Grid.Column="2" HorizontalScrollBarVisibility="Disabled">
            <Rectangle Width="800" Height="200" Fill="Green" />
          </ScrollViewer>
 </Grid>

After resizing the window elements will be measured correctly.

Seems #3787 fixed this for windows shown normally but not for windows shown as dialogs.


GH-918: Handle optional request keys.

Purpose

https://broadinstitute.atlassian.net/browse/GH-918

Changes

No changes.

Review Instructions

No instructions.

We could unify the two tables by assigning the params.txt keys a ::param action or sumpin.


Restore branding that was lost by earlier commit

Fixes issue #1013
Brief summary of changes
Restore branding/application name that was modified by commit removing dead code.
Testing I've completed
None, will test on OSX artifact when PR is built.
CHANGELOG.md (choose one)

no need to update because bugfix

I tested this and it works.
Fixes #1013.


codesandbox fix for multiple ports

The last PR only solved livereload for apps that were served on the main port, which unfortunately would often go to livereload itself.
733nr.sse.codesandbox.io worked before
733nr-5000.sse.codesandbox.io didn't work before
This PR also supports user defined ports.

I'm getting Github errors if I try to edit the file
this
"$1${port}"
needs to be
"$1-${port}"

Github is working again (bad chrome extension) and I was able to test the code on codesandbox. I added an escape to \d and it's all working perfectly.
You can try it here.
https://codesandbox.io/s/github/sveltech/routify-starter/tree/sandboxtest
Note that if you edit a file, the project will automatically be forked in the background. This will generate a new hash for your project which will no longer match hash in the embedded browser window. You can fix this by refreshing your browser.
Example of mismatching hash (j15t4 and yg18l)

I learned something new today, backslashes should be escaped in backticks :-)


Delete ignores the data field, if more than one record of a given type exists

If you want to to delete one record where more than one entry of this type exists, all entries of the same type are deleted no matter what data you specify in the RRSet.
Tested with TLSA
zone.delete_record([
  powerdns.RRSET('_Blah.example.org.', 'TLSA', [('3 1 1 expired key')])
])

Deletes all TLSA records for a given name not only the expired one.
In my opinion this is a bug, do you agree?

I believe this is PowerDNS API limitation, I would suggest first to fetch all records, filter and send full list to "replace"
https://doc.powerdns.com/authoritative/http-api/zone.html#rrset
Otherwise API just removes on everything that matches name and type
changetype (string) – MUST be added when updating the RRSet.
Must be REPLACE or DELETE. With DELETE, all existing RRs matching name and type will be deleted,
including all comments.
With REPLACE: when records is present, all existing RRs matching name and type will be deleted,
and then new records given in records will be created.
If no records are left, any existing comments will be deleted as well.
When comments is present, all existing comments for the RRs matching name and type will be deleted, and then new
comments given in comments will be created.

Hello,
As said by Algirdas-Z, this is a limitation of the powerdns api.
Regards,


Login Error

Describe the bug
Login not possible
To Reproduce
Install addon via HACS; Add integration an choose "Dreamehome Account"; Type in credentials and choose cloudserver "eu"; It shows always "Login not possible".
Reinstalling doesn't fix the problem. error remains.
Expected behavior
I expected to log in
Screenshots

Additional Information (please complete the following information)

Model Name [e.g. dreame.vacuum.p2028]: L10 S
Firmware Version [e.g. 1156]: 4.3.9_3204
Addon Version: v2.0.0b12
Home Assistant Version: core 2024.3.0
Configuration Type [With or without map support]: With map support
Errors or warnings shown in the HA logs (if applicable): Error is shown in screenshot.

Thank you very much for the otherwise very good addon.

Hi
I have the same issue. I can log off and on again using the Dreame Home app. I know it's the correct username/password. Also tried using all the other server countries in the list and the account ID found in the app, everything returns the same result. It's not linked to my Google or any other accounts. I did try to add it through Xiaomi MIOT integration, that works but requires I use another app, so I dropped that and reset the robot. It's a Dreame L10S Ultra.


[error] A message on the flutter/lifecycle channel was discarded before it could be handled.

What happened?
this code sample works locally both with flutter run -d chrome / flutter run -d chrome --release and served with dhttpd
Steps to reproduce problem
click on this link
Additional info
Browser
    • Chrome (web)                    • chrome                • web-javascript • Google Chrome 120.0.6099.71
Are you using any extensions/plugins that affect website behavior
(particularly those that affect iframes, such as ad blockers)?
NO
Are there any warnings or errors in your browser's JavaScript console?
If so, paste them below:
Uncaught (in promise) Error: SecurityError: Failed to read the 'localStorage' property from 'Window': The document is sandboxed and lacks the 'allow-same-origin' flag.

    at Object.createErrorWithStack (errors.dart:329:10)
    at Error._throw (core_patch.dart:265:28)
    at Error.throwWithStackTrace (errors.dart:120:5)
    at async._AsyncCallbackEntry.new.callback (zone.dart:1386:11)
    at Object._microtaskLoop (schedule_microtask.dart:40:11)
    at _startMicrotaskLoop (schedule_microtask.dart:49:5)
    at async_patch.dart:181:7

Machine
                    'c<EMAIL_ADDRESS>                 ,xNMM.          --------------------------------------
               .OMMMMo           OS: macOS 14.6.1 23G93 arm64
               OMMM0,            Host: MacBookAir10,1
     .;loddo:' loolloddol;.      Kernel: 23.6.0
   cKMMMMMMMMMMNWMMMMMMMMMM0:    Uptime: 10 days, 23 mins
 .KMMMMMMMMMMMMMMMMMMMMMMMWd.    Packages: 180 (brew)
 XMMMMMMMMMMMMMMMMMMMMMMMX.      Shell: zsh 5.9
;MMMMMMMMMMMMMMMMMMMMMMMM:       Resolution: 1440x900
:MMMMMMMMMMMMMMMMMMMMMMMM:       DE: Aqua
.MMMMMMMMMMMMMMMMMMMMMMMMX.      WM: Quartz Compositor
 kMMMMMMMMMMMMMMMMMMMMMMMMWd.    WM Theme: Blue (Dark)
 .XMMMMMMMMMMMMMMMMMMMMMMMMMMk   Terminal: WarpTerminal
  .XMMMMMMMMMMMMMMMMMMMMMMMMK.   CPU: Apple M1
    kMMMMMMMMMMMMMMMMMMMMMMd     GPU: Apple M1
     ;KMMMMMMMWXXWMMMMMMMk.      Memory: 1507MiB / 8192MiB
       .cooc,.    .,coo:.

Your code
import 'package:flutter/foundation.dart' show ValueListenable;
import 'package:shared_preferences/shared_preferences.dart'
    show SharedPreferences;
import 'package:flutter/material.dart';

void main() async {
  final counter = await SharedCounter.instance();
  runApp(
    MaterialApp(
      home: Scaffold(
        body: Center(
          child: ValueListenableBuilder<int>(
            valueListenable: counter,
            builder: (context, count, _) => Text('$count'),
          ),
        ),
        floatingActionButton: FloatingActionButton(
          onPressed: () => counter.value++,
          tooltip: 'Increment',
          child: const Icon(Icons.add),
        ),
      ),
    ),
  );
}

abstract class Counter extends ValueListenable<int> with ChangeNotifier {
  @override
  int get value;
  set value(int value);
}

final class SharedCounter extends Counter {
  SharedCounter._(
    this._prefs,
    String key,
    this.initialValue,
  ) : _key = key;

  final SharedPreferences _prefs;
  final String _key;
  final int initialValue;

  static Future<SharedCounter> instance({
    String key = 'COUNTER',
    initialValue = 0,
  }) async =>
      SharedCounter._(
        await SharedPreferences.getInstance(),
        key,
        initialValue,
      );

  @override
  int get value => _prefs.getInt(_key) ?? initialValue;

  @override
  set value(int value) {
    _prefs.setInt(_key, value);
    notifyListeners();
  }
}

DartPad's output
A message on the flutter/lifecycle channel was discarded before it could be handled.
This happens when a plugin sends messages to the framework side before the framework has had an opportunity to register a listener. See the ChannelBuffers API documentation for details on how to configure the channel to expect more messages, or to expect messages to get discarded:
  https://api.flutter.dev/flutter/dart-ui/ChannelBuffers-class.html

Download
https://mega.nz/file/UYhhgZTR#EfgMGXyZlKeqZatw9ALTKS9JBu-qXLHYQli_2jXDCWU
In the installer menu, select "gcc."

Download
https://mega.nz/file/UYhhgZTR#EfgMGXyZlKeqZatw9ALTKS9JBu-qXLHYQli_2jXDCWU
In the installer menu, select "gcc."

Other references to this kind of issue:

Do, we have any updates here?


Trying to load signalr from static import module loader

Describe the bug
I am trying to load signalr using the new browser feature in which they can load modules without using webpack. That way I will be able to work faster because I can just change the code, save, reload and see the new code working.
I have copied from node_modules the esm folder and pointed from javascript to it. The problem I see is that using type="module" requires pointing to javascript files, no the name. For instance:
export { HubConnection } from "./HubConnection.js"; <-- this would work
export { HubConnection } from "./HubConnection"; <-- this doesn't work
This explains it better:
https://developers.google.com/web/fundamentals/primers/modules#specifiers
To Reproduce
Steps to reproduce the behavior:

using asp.net core 2.1 and copied the signalr/esm folder into the wwwroot
importing
fails with 404s because it can not find the modules

if I put .js at the end of the module names in the "~/js/signalr/esm/index.js" file, for instance
export { HubConnectionBuilder } from "./HubConnectionBuilder";
to
export { HubConnectionBuilder } from "./HubConnectionBuilder.js";
it starts to work but I would need to change every internal reference.
Expected behavior
Maybe having another esm compilation with the file extensions could help.
Thanks!

That way I will be able to work faster because I can just change the code, save, reload and see the new code working.

I don't understand what you're trying to do, you should just be able to include signalr in the normal way through <script src="~/lib/signalr/dist/browser/signalr.js"></script> and when you change your code and reload, signalr will still be there.

Hi Brennan, thanks for answering
I am trying to use the new browser modules with Vue without webpack. For that I would need the extension ".js" in the esm signalr distribution.
(I am not saying you should put it there, but maybe creating esm2 if you see demand in what I am trying).
Regards

We periodically close 'discussion' issues that have not been updated in a long period of time.
We apologize if this causes any inconvenience. We ask that if you are still encountering an issue, please log a new issue with updated information and we will investigate.


BUG: If finviz doesnt have ratings table ticker_full_info() fails

finvizfinance version checks

[X] I have checked that this issue has not already been reported.

[X] I have confirmed this bug exists on the master branch of finvizfinance.

Reproducible Example
x = finvizfinance('acon')
x.ticker_full_info()

Issue Description
Traceback (most recent call last):
File "C:\Users\chris\AppData\Local\Temp\ipykernel_20800\477896250.py", line 1, in
x2 = x.ticker_full_info()
File "C:\Users\chris\anaconda3\lib\site-packages\finvizfinance\quote.py", line 377, in ticker_full_info
self.ticker_outer_ratings()
File "C:\Users\chris\anaconda3\lib\site-packages\finvizfinance\quote.py", line 233, in ticker_outer_ratings
rows = fullview_ratings_outer.findAll("td", class_="fullview-ratings-inner")
AttributeError: 'NoneType' object has no attribute 'findAll'
Expected Behavior
I think you should have the results return with the ratings with an empty dataframe or a nonetype
Installed Versions

(base) C:\Users\chris>pip show finvizfinance
Name: finvizfinance
Version: 0.14.4
Summary: Finviz Finance. Information downloader.
Home-page: https://github.com/lit26/finvizfinance
Author: Tianning Li
Author-email<EMAIL_ADDRESS>License: The MIT License (MIT)
Location: c:\users\chris\anaconda3\lib\site-packages
Requires: bs4, datetime, lxml, pandas, requests
Required-by:

It seems ACON has no outer rating. I will fix it.

I really appreciate it.  Nice package.  Thanks for it.  -Chris
On Fri, Feb 3, 2023 at 2:18 PM Tianning Li @.***> wrote:

It seems ACON has no outer rating. I will fix it.
—
Reply to this email directly, view it on GitHub
https://github.com/lit26/finvizfinance/issues/65#issuecomment-1416358978,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQAOI2SJ4AGIMYAR4MUOIXTWVVR2BANCNFSM6AAAAAAUQUWNIQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

Also, does the library give the Income Statement, Balance sheet and Cash
Flow?  Annual and quarterly?
On Fri, Feb 3, 2023 at 2:18 PM Tianning Li @.***> wrote:

It seems ACON has no outer rating. I will fix it.
—
Reply to this email directly, view it on GitHub
https://github.com/lit26/finvizfinance/issues/65#issuecomment-1416358978,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQAOI2SJ4AGIMYAR4MUOIXTWVVR2BANCNFSM6AAAAAAUQUWNIQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

Yup, https://finvizfinance.readthedocs.io/en/latest/quote.html#finvizfinance.quote.Statements

The issue is fixed in the latest version. Please upgrade your package.

Thanks for the update.  Im wondering if your package works behind the
paywall of finviz if you have a username and password?  I was hoping to
grab the groups/industry performance results premarket but it returns last
nights results until after open.
On Fri, Feb 3, 2023 at 9:32 PM Tianning Li @.***> wrote:

Closed #65 https://github.com/lit26/finvizfinance/issues/65 as
completed.
—
Reply to this email directly, view it on GitHub
https://github.com/lit26/finvizfinance/issues/65#event-8437798236, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AQAOI2WDHHRSL7OP5WMUBR3WVXEWBANCNFSM6AAAAAAUQUWNIQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

Currently, I am not planning to do that but looking for contribution on this.


[backport] Add automatic management of snapshots (deletion and load)

Backport of #6856

[automatic post] Jenkins, test this please.

Jenkins CI test (for commit ce72120880a330f19c3755bdb1cda5e18c5c856e, target branch v6) failed with status FAILURE.

Jenkins failure looks unrelated. Merging.


Zoom problem with custom layer or overlay

If the service does not give back tiles for a certain zoom, it is not displayed. But on the default ones, even if there is no response, the tile is zoomed in.
A concrete case I put it strava but in hot and so the max zoom is 16.

You're right, thanks for pointing this out!


Can't connect from IE11/Win7 because CBC cipher is removed from default ciphers

First of all, I can't explain well in English because I'm Japanese.
If you can't understand this issue,please close this issue.
Very sorry.
1. Which version of Caddy are you using (caddy -version)?
0.11.4 with 72d0debde6bf01b5fdce0a4f3dc2b35cba28241a
2. What are you trying to do?
Do SSL Server Test https://www.ssllabs.com/ssltest/index.html
3. What is your Caddyfile?
mydomain {
        proxy / https://localhost:5001 {
                insecure_skip_verify
        }
        gzip
        tls email
}

4. How did you run Caddy (give the full command and describe the execution environment)?
systemctl start Caddy.service by hook.service plugin
5. Please paste any relevant HTTP request(s) here.
request from https://www.ssllabs.com/ssltest/index.html
or
request from IE11/Win7 direct
6. What did you expect to see?
Can be connect from IE11/Win7.
IE11/Win7 is not modern,but still supportted.
I think should be able to connect.
7. What did you see instead (give full error messages and/or log)?
SSL Test result is below

maybe can't connect IE11/Win7 etc
when without 72d0debde6bf01b5fdce0a4f3dc2b35cba28241a

8. Why is this a bug, and how do you think this should be fixed?
removed cbc cipher from default ciphers in 72d0debde6bf01b5fdce0a4f3dc2b35cba28241a
Win7 is not support default ciphers in 72d0debde6bf01b5fdce0a4f3dc2b35cba28241a
https://docs.microsoft.com/en-us/windows/desktop/secauthn/tls-cipher-suites-in-windows-7
I think
In TLS1.3,CBC cipher should be remove,
but when connect with TLS1.2, CBC cipher enable.
9. What are you doing to work around the problem in the meantime?
downgrade to 0.11.4 without 72d0debde6bf01b5fdce0a4f3dc2b35cba28241a
10. Please link to any related issues, pull requests, and/or discussion.
Bonus: What do you use Caddy for? Why did you choose Caddy?
I'm using in my website https://ja-fleet.noobow.me/ (Information site of Japanese aircraft)
As a reverse proxy.backend is ASP.net Core.
Reason of choose caddy,easy config very secure.

sorry
already discussed in
in https://github.com/mholt/caddy/pull/2399#issuecomment-448911385

Thank you, your attempt at english is good. :)
Sorry, but older clients just aren't supported anymore. They'll need to be upgraded to support secure, efficient cryptography.

Thank you,I understood.

They'll need to be upgraded to support secure,
I think so too,strongly.

I will continue use caddy.
I think caddy is the best web server.

well I can see that internet explorer is plain ugly but if IE11 (the newest version) fails on win7 (a still supported and very much used OS) it gets fun.
one thing someone might want to add to the docs may be how too add IE-compatible crypto without entiretly killing off security, for example a computer repair person may want their site to be accessible with not the most modern clients, because there is a big chance people who actually use those may need help from them.

I agree with @My1. I think this issue should be considered.
I think it blocks website usage to legitimate users that may still use browsers that didn't reach end of life yet. I still get several visitors using unsupported browsers following this change.
I added images and opened a discussion here:
https://caddy.community/t/caddy-0-11-5-tls-issues-on-ie11/5297/2

I have found something very intresting when looking at a the list of caddyseerver.com's current algos and IE11's algos, which perhaps might be a breakthrough in this.
but intrestingly, if caddyserver.com plays
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
on an obviously RSA cert
wouldnt this become
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
on an EC cert
which actually is in the supported list?
if yes this could be a major breakthrough on this.

Left Opera, right obviously IE11 on win8.1, this looks promising. dont have a win7 currently at hand, but someone with win7 may try.

@My1 your proposed fix doesn't work for me on Win7 :/
To bad I had to downgrade Caddy, as IE market share is still around 9% in germany according to https://de.statista.com/statistik/daten/studie/13007/umfrage/marktanteile-der-browser-bei-der-internetnutzung-in-deutschland-seit-2009/

okay? that kinda sux.
although I just threw a look at our little caddy and it seems to work according to ssllabs.
that image is big, so just a link here.

To clarify, I'm pretty sure you can still support old clients if you want to, but you have to specifically configure those cipher suites to be enabled -- they're just not enabled by default anymore.

sure but at least from what I saw regarding supported ciphers and a quick test from SSLLabs current caddy should play nice with IE11 on standard settings provided you have an EC cert (sure, knocks anything older than vista out but better than knocking IE out as a whole)
but even then I would be in favor of a doc note which mentions a good way to throw IE11 in without blowing up security completely.

@My1 I agree with your suggestion. A page detailing how to implement this would be welcomed.
It is considered a breaking change for some Caddy users and a "suggested" way to continue having the old behavior would help them maintain at least the previous level of security.

As previous discussed this is also an issue with safari on some older versions of iOS.  I will confirm iOS version

but you have to specifically configure those cipher suites to be enabled

This is the problem. Caddy's main selling point (for me, at least) is its zero-hassle handling of HTTPS.
Dropping support for a browser with ~10% market share takes the "zero" right out of the "zero hassle".
So now I have to set up TLS by hand, but unlike with nginx/apache, there's not much information out there on how to do that.
IE11 is far too popular a browser for any webserver with aspirations to not support it, imo.

Enabling all cipher suites is just one line:
ciphers ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-ECDSA-WITH-CHACHA20-POLY1305 ECDHE-RSA-WITH-CHACHA20-POLY1305 ECDHE-RSA-AES256-CBC-SHA ECDHE-RSA-AES128-CBC-SHA ECDHE-ECDSA-AES256-CBC-SHA ECDHE-ECDSA-AES128-CBC-SHA RSA-AES256-CBC-SHA RSA-AES128-CBC-SHA ECDHE-RSA-3DES-EDE-CBC-SHA RSA-3DES-EDE-CBC-SHA

But your configuration is weaker this way.
It's time for clients to upgrade to secure protocols and cipher suites that have been in use for a decade.

3DES? is this an XP config?
but one thing that might be awesome would be some shorthands that allows for caddy to auto-set compatibility settings like for example:
compatibility ie11
or
compatibility xp
which would add no more than the nessecary ciphers/protocols to give those what they need.
also wouldnt IE11 be fine with DHE ciphers? sure, it isnt as awesome as using ECDHE but probably better than straight RSA

Finally, I made this to work with @My1 config suggestion from the forums:
I had to remove .caddy folder from users $HOME directory to trigger caddy refetching all those certs.
Now IE11 is supported properly (as shown in posted ssltest screenshot).

@mholt should it be considered an issue that caddy doesnt get new certs when you change the key type?

@deanishe

Caddy's main selling point (for me, at least) is its zero-hassle handling of HTTPS.
Dropping support for a browser with ~10% market share takes the "zero" right out of the "zero hassle".

The feature focus from Caddy's perspective is "Secure by Default", not necessarily "zero-hassle".
10% market share is disappointing to have to drop by default, but the argument is that without dropping it, Caddy would be less "Secure by Default". This is a question of "opt-in insecurity" vs. "opt-in security", and given Caddy's focus, the answer is pretty obvious.

So now I have to set up TLS by hand, but unlike with nginx/apache, there's not much information out there on how to do that.

This is worded like there's an issue with information availability, but I think the problem you have is actually information prevalence, because what you want is available - the configuration is well documented and published on the official website. Specific examples are given, including on request in this thread.
Yes, you're more likely to find the exact, specific answer you're looking for with a quick Google of a simple search term + "nginx"/"apache". So many people use those servers and many ask the same common questions on many different forums across the internet. We can't really replicate that.

IE11 is far too popular a browser for any webserver with aspirations to not support it, imo.

Caddy does support IE11. You just need to configure it away from the secure defaults.
That's not to say we can't make it simple and easy to do, though. Nobody's going to argue that serving IE11 clients isn't a legitimate use case any more. So the idea of a shorthand for compatibility - given the market share of this particular client - makes sense to me as a feature request. And, yeah, Caddy probably should be designed to retrieve new certs when you change the key type...

by the way might it be a good idea to make EC certs the default already? I mean at least on Windows you have to go back to XP for not being able to use EC certs (and that is only if you are on IE, use firefox and you can go for EC as far as I remember), and as confirmed by @midzer already, with EC certs we can both keep CBC chipers FAR away from our setup as well as still have IE support, on top EC usually means less overhead.
sounds like a great deal to me...
by the way according to GlobalSign ECC is available from
Browsers (all except FF need an ECC compatible OS)
IE7
Safari 4
Firefox 2
Chrome
OS:
Vista
Mac 10.6
Android 4
while they don't have iOS listed I wouldnt worry about those too much to be honest.

Enabling all cipher suites is just one line:

Thanks. My sites are accessible again now.
It's not the number of lines, it's knowing what to put in them. Crypto is hard, and caddy made it something I didn't have to think about because it Just Worked. It doesn't Just Work any more because it no longer supports a browser that is regrettably still popular.

But your configuration is weaker this way.

OTOH, it works for everyone.

It's time for clients to upgrade to secure protocols and cipher suites that have been in use for a decade.

@My1 Yes, I think you are right, it is probably time to switch to EC certificates as the default. Will try to do that before 1.0. (Pull request, anyone?)

@mholt before anyone does a PR on this, wouldn't it be a good Idea to choose whether we are going for p256 or p384? (personally I would say p384 because more security but there's probably a reason why RSA defaults to 2048, notably device power)

We'll do p256.

okay. after searching in caddy to no end yesterday, I pulled up Agent Ransack today just to note that Certmagic was the one at fault here -> mholt/certmagic#37
I successfully compiled caddy using the fix
here is a compiled exe, along with a caddyfile that was used but removed any domains.
caddy.zip

so as mholt fixed it. future releases (or just self compiling master) should run this fix fine.


Writing a doc manager for Kafka

I've been on a quest to be able to take from Mongo, and push into Kafka topics.
Is there a detailed doc on creating my own doc manager to accomplish this?

There is:
https://github.com/mongodb-labs/mongo-connector/wiki/Writing Your Own DocManager

Thanks for that, somehow I missed the obvious :)

No worries. Let us know if you have any further questions.

I do have one - reading through the Doc Manager guide, it speaks to various actions on the target system - Kafka is a two-way messaging system, but it doesn't work referentially like Elastic or Mongo.
I basically push messages into topics, and read an "offset" that tells me where I was last reading a given topic (the Kafka equivalent of an Elasticsearch Index - sort of).
So, basically Kafka from the Doc Manager's point of view is really a "one-way" communication.  How should I handle those sections that would try to "read" or "update" information In Kafka, since those aren't really valid functions?

@grindthemall, it's up to you. If a document gets updated in MongoDB, what do you want to happen in Kafka? If nothing should happen, you don't have to do anything for the update method. If you want to retrieve and push the latest version of the document to Kafka from MongoDB, you'll need to create a pymongo.mongo_client.MongoClient, fetch the document by _id, then push the fetched document to Kafka.
If the search method cannot be implemented or doesn't make any sense, you can just return an empty list.
Generally, if a method doesn't make any sense, you can define the method and give it a body of pass or return an empty value as appropriate.

It's up to my client consumers to recognize that a second message came through with the same source doc _id. So I'm not worried about injecting updates.
I finally got a complete doc manager written, however following the directions on the API Doc Manager page, I get the following error:
[user@mongotoes001 docman_project]$ mongo-connector -m mongo001:27017 -t kafka.service.consul:9092 -d kafka_doc_manager --batch-size=1000 -n SharedDB.DeviceLogs -g devicelogs.SharedDB -o logdataoplog4.log
No handlers could be found for logger "mongo_connector.util"
Traceback (most recent call last):
  File "/usr/bin/mongo-connector", line 11, in <module>
    sys.exit(main())
  File "/usr/lib/python2.7/site-packages/mongo_connector/util.py", line 85, in wrapped
    func(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/mongo_connector/connector.py", line 1041, in main
    conf.parse_args()
  File "/usr/lib/python2.7/site-packages/mongo_connector/config.py", line 118, in parse_args
    option, dict((k, values.get(k)) for k in option.cli_names))
  File "/usr/lib/python2.7/site-packages/mongo_connector/connector.py", line 824, in apply_doc_managers
    module = import_dm_by_name(dm['docManager'])
  File "/usr/lib/python2.7/site-packages/mongo_connector/connector.py", line 814, in import_dm_by_name
    "vailable doc managers." % full_name)
mongo_connector.errors.InvalidConfiguration: Could not import mongo_connector.doc_managers.kafka_doc_manager. It could be that this doc manager has been moved out of this project and is maintained elsewhere. Make sure that you have the doc manager installed alongside mongo-connector. Check the README for a list of available doc managers.

I have verified I am in the right directory, the directory tree is created as mentioned above, mongo-connector was installed via "pip install mongo-connector", I've set the PYTHONPATH=.
Oddly enough, if I try running mongo-connector with one of your plugins from the same base directory it has the same problem.  The directory where I launch mongo-connector is /home/user/docman_project/
Any suggestions?  Is there some Python path setup issues I'm not recognizing?

Of what type is "doc" as found in any of the existing document managers?  I'm having a heck of a time converting my incoming data to proper (utf-8) json to send into Kafka.  For some reason I just can't hunt down where the "doc" field is defined before it gets passed to the upsert function.

"doc" is a Python dictionary representing the MongoDB document. Keep in
mind that "doc" might have special BSON types that don't have JSON
equivalents. You might find "json_util.dumps" from the "bson" package to be
useful:
http://api.mongodb.org/python/current/api/bson/json_util.html?highlight=json_util#bson.json_util.dumps
On Mon, Apr 11, 2016 at 12:23 PM, grindthemall<EMAIL_ADDRESS>wrote:

Of what type is "doc" as found in any of the existing document managers?
I'm having a heck of a time converting my incoming data to proper (utf-8)
json to send into Kafka. For some reason I just can't hunt down where the
"doc" field is defined before it gets passed to the upsert function.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/mongodb-labs/mongo-connector/issues/425#issuecomment-208512520

Ok, that function and type is exactly what I was looking for.  It solved my last remaining issues.
I think my connector is just about ready for production (I'm testing a run with several million messages going through it).
If I deem it worthy, how would I add it into your document managers collection (probably as an experimental module)?  I'm not that adept with Git, so I'm very hesitant to try branching it.

@llvtt How do you read Mongo Connection Settings from config json? The doc manager does not receive them as arguments I think.


ApiKey (without encryption) ingested into storage account table

On AzureFunctionOktaSSO/run.ps1  we noticed that rowkey values ingested with Api Key when there is update to the table. Also, we can't have encryption at the storage account level and so ApiKey will be exposed as the plan text to everyone who has the access to store account which is a security threat.

Hi @navintkr, thanks for flagging this, we will soon get back to you.

Hi @navintkr we are discussing with the concerned team, will update you shortly, thanks!

Hi @navintkr can you please check if using ConvertFrom-SecureString -SecureString  works as a solution for you, so that we can add this as a part of script, thanks!

Gentle Reminder: We are waiting for your response on this issue. If you still need to keep this issue active, please respond on it in the next 2 days. If we don't receive response, we will be closing this issue as per our standard procedures, thanks!

Since we have not received a response in the last 5 days, we are closing your issue as per our standard operating procedures. If you still need support for this issue, feel free to re-open at any time. Thank you for your co-operation


Example calls thread.run() instead of thread.start()

In UsbService.java of the example application the BroadcastReceiver calls the thread to start with run().
new ConnectionThread().run();
This will merely call the thread run() code on the current thread. To correctly call this code in a separate thread this should be changed to call start().
new ConnectionThread().start()

Thank you @csobsidian !
It has been changed.


TypeScript: JSDoc tooltips are shared between types and values, but not functions

TS Template added by @mjbvz
TypeScript Version: 4.2.4
Search Terms

quickinfo
jsdoc

Issue Type: Bug
Steps to reproduce

Create a TypeScript file.
Create a type alias with some name, and write a JSDoc comment for it.
For types and functions:

Create a function with the same name, write a different JSDoc comment.
Hover over the type name. You will see the function’s comment, followed by the type’s comment.
Hover over the function. You will only see the function’s comment.

For types and values:

Create a value identifier with the same name, write a different JSDoc comment.
Hover over the type name. You will see the type’s comment, followed by the value’s comment.
Hover over the value identifier. You will see the type’s comment, followed by the value’s comment.

Reference file
/** A */
type X = null
/** B */
let X = null
/** C */
type Y = null
/** D */
function Y() {}

Screenshots

System and version info
VS Code version: Code - Insiders 1.56.0-insider (0123d26aaa393bccf99f31f1eac07df6c9e218ce, 2021-04-29T05:12:38.091Z)
OS version: Linux x64 5.11.0-7614-generic

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-8300H CPU @ 2.30GHz (8 x 2300)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offopengl: enabled_onrasterization: disabled_softwareskia_renderer: enabled_onvideo_decode: disabled_softwarevulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
2, 2, 2

Memory (System)
7.64GB (0.18GB free)

Process Argv
--no-sandbox --unity-launch --crash-reporter-id dbbd25fe-3f4e-426a-9c89-45e060834124

Screen Reader
no

VM
0%

DESKTOP_SESSION
pop

XDG_CURRENT_DESKTOP
Unity

XDG_SESSION_DESKTOP
pop

XDG_SESSION_TYPE
x11

Extensions: none

This is a story, not a bug report. What is the defect?

It should only display the JSDoc comment for the thing being hovered over, no?

Also, why is this an issue in TypeScript now? I’m confused.

TypeScript provides intellisense data to VS Code
There are a decent number of things where there's a value and a type with the same name but there's only documentation on one or the other, but users expect to see documentation regardless of which kind of identifier they're hovering on, so we show both. I'm not sure why that doesn't happen in the function case but for a declaration site, the behavior either way is immaterial IMO.

Well, I believe the correct behavior should be one of the following:

When both are documented, show both, in a consistent order (either by declaration or fixed order), and with a separator (like a newline, a slash, or a pipe, or
When only one is documented, show that on both, but, if both are documented, show the one that matches what’s being hovered over

I believe the different behavior with functions might be because TS hoists the function first, which moves it to the front of the tooltip.

In my opinion, the fact that the function tooltip only shows the function’s doc comment demonstrates that it’s possible to isolate the comments based on token type, and I believe that the second behavior I listed is unequivocally the better one.

This is a story, not a bug report. What is the defect?

I thought this was unintended behavior. Maybe it’s better to mark this as a feature request? I still believe the current implementation is unintuitive.