Add Authentication Credentials

This PR adds a Credentials struct which implements the credentials.PerRPCCredentials interface in order to authenticate requests to Ensign via Quarterdeck. It also adds a Quarterdeck client that can Authenticate and Refresh with a client ID and secret. This is a partial implementation of the Quarterdeck API client in the ensign repo that only needs to do machine authentication in the SDK and reduces circular dependencies.
Comments in the code with more detail.
This is a lightweight implementation that will need to be refactored in the future. Namely this implementation only logs in the user once and performs no caching; we need to add caching and a refresh mechanism as a future story.
Fixes SC-14917

Looks good @bbengfort - I'm wondering if authentication (or lack thereof) is what's causing this PR to fail?

I'm not sure - it does look like something is going wrong with authentication but not all of those endpoints are related to Ensign. I'll take a look at it.


Languages order preference #5826

Description (required)
Fixes #5826
What changes did you make and why?
Very similar to my original PR, except changes made are now made to the kotlin files rather than the old java versions.
Added a new preference category in the preferences UI for secondary language picking
Prefs was also changed to hold a serialised string of secondary language codes
Strings.XML:
Added new strings that represent additions in UI
SettingsFragments (Kotlin)
Had to accommodate new preference in OnCreate
Made a new dialog called prepareSecondaryLanguagesDialog().
Made helper methods for that dialog that use a new language adapter SavedLanguagesAdapter
modified saving and getting key value methods to accommodate the new category in Prefs
NearbyController and NearbyPlaces: (Kotlin)
Injected the KV store into the controller and passed the serialised string as a new argument to the json API client in NearbyPlaces
OkHttpJsonApiClient: (Kotlin)
changed the getPlaces method to make use of the new parameter (the serialised language code)
made stringbuilders (the kolin equivalent) to automatically generate further SparQL queries based on the serialised code list
(Also modified the SparQL file itself to add placeholders for the additional strings created by the method)
Tests performed (required)
Same as last PR
Tested {build variant, e.g. ProdDebug} on {name of device or emulator} with API level {API level}.
Screenshots (for UI changes only)

Need help? See https://support.google.com/android/answer/9075928

Note: Please ensure that you have read CONTRIBUTING.md if this is your first pull request.

Is it just for slovenian or is it simply not working at all?
Ill check everything again and let you know.

I tried with another language and I am seeing the same issue (I tapped the refresh button to removed cached pin descriptions):

Yes, all queries are visible in logcat. 🙂

Hi @nicolas-raoul can I continue this in the weekend. Im not getting any time right now.

Actually since tmr is a public holiday I can see to it.

@nicolas-raoul I made some changes, could you please check again?

I think the problem was that the nearby controller was taking the Locale default language as the default description language instead of the default description stored in prefs. Also I fixed an issue with my secondary dialog setup, now it makes sure that the primary description language cannot be selected in the secondary description language selection aswell.


[all] Add k8s.io/dynamic-resource-allocation to replaced deps

What this PR does / why we need it:
After #2052 we see build failures like these:
mdulko:cloud-provider-openstack/ (master) $ go list -v -mod readonly -m all
get "k8s.io/dynamic-resource-allocation": found meta tag vcs.metaImport{Prefix:"k8s.io/dynamic-resource-allocation", VCS:"git", RepoRoot:"https://github.com/kubernetes/dynamic-resource-allocation"} at //k8s.io/dyn
amic-resource-allocation?go-get=1
go<EMAIL_ADDRESS>invalid version: unknown revision v0.0.0

This comes from https://github.com/kubernetes/kubernetes/blob/master/go.mod#L109 and by comparison of other v0.0.0 modules we replace I added dynamic-resource-allocation as well. I'm not 100% sure this is the correct way to go, please advise if not.
Which issue this PR fixes(if applicable):
fixes #
Special notes for reviewers:

Release note:
NONE

/ok-to-test

/lgtm

/lgtm

/approve


Sticky footer does not support dynamic footer height

What is the problem with this?

I created this issue as a reaction to #348.

I know, but I don't see what's the problem with being bound to a fixed-height footer. Is it for mobile?

One problem is that the next time we want to change the footer content, we're going to forget to change the footer height again, breaking layout.

Another is that having a fixed height footer is a hack, and will invariably break for some obscure browser configuration. One such configuration is on my screen with the page zoomed out quite a bit (see image, notice the scroll bar present). Other such configurations may be different font renderers on different platforms, different dpi settings for rendering form widgets, and more.


Update example app and demonstrate some other best practices

I was having some issues getting the example todo app running and @vinz243 had a good request in #224 that on application first start it set up some security.

[x] Add a package.json so modules are available.
[x] Add a README with todos installation and start
[x] Disable admin party by creating an admin
[x] Setup todo database on app start
[ ] Setup validation
[ ] Setup users
[ ] Setup permissions

Getting closer. It now creates an admin and then creates an app database using those admin credentials.

application-server-boilerplate folder is now merged into todos folder

@nolanlawson I may not get to the other items on my checklist so it may be good as is. I could squash the commits in this PR if you like.

I'm in the middle of a crunch right no so I might not get to this for a couple of weeks but thank you so much for reviewing!!


Use VPA CRD and coredns HelmReleases from cluster chart

Also use default repositories from cluster chart.
Towards https://github.com/giantswarm/roadmap/issues/2851
What this PR does / why we need it

Use default HelmRepositories from cluster chart.
Use vertical-pod-autoscaler-crd HelmRelease from cluster chart.
Use coredns HelmRelease from cluster chart.
Remove default HelmRepositories from cluster-aws.
Remove vertical-pod-autoscaler-crd HelmRelease from cluster-aws.
Remove coredns HelmRelease from cluster-aws.

Checklist

[x] Update changelog in CHANGELOG.md.

Trigger e2e tests

/run cluster-test-suites

This is the only significant change - vertical-pod-autoscaler-crd got bumped to v3, which should be fine, as there is already a PR in cluster-aws for that https://github.com/giantswarm/cluster-aws/pull/484.
/spec/chart/spec/version  (HelmRelease/org-giantswarm/test-mc-proxy-vertical-pod-autoscaler-crd)
  ± value change
    - 2.0.1
    + 3.0.0

/run cluster-test-suites

Standard and Upgrade Suites passed, Private suite failed with
Common tests basic [It] has all of its Pods in the Running state
/app/internal/common/basic.go:95

  [FAILED] Timed out after 900.779s.
  Expected success, but got an error:
      <*errors.errorString | 0xc00055d620>:
      pod kube-system/promtail-hfvtf in Pending phase
      {
          s: "pod kube-system/promtail-hfvtf in Pending phase",
      }
  In [It] at: /app/internal/common/basic.go:99 @ 02/22/24 00:42:27.591

/run cluster-test-suites


Feature Request:  BlackList for Credentials

Is it possible to add an option to Blacklist credentials; prevent use & storage?
Use Cases:

Engagements where both a credentialed vuln scan & pentest are occurring via two separate teams.
On Cyber ranges where the creds of the range admin may be stored for troubleshooting purposes

If there is a way to do this now, any references would be greatly appreciated.  If there is a more appropriate location for this feature request, please let me know.
Thank-you to the team for such an Awesome tool.

Odd request but, we'll surely look into it.

Hello, we've decided not to support this request. Thank you for the info.

Thank-you for your consideration.


fix(CompiledRouter): Provide a detailed error message for route conflicts

Many people are confused by the terse error message that "The URI
template for this route conflicts with another route's template."
Expand this message to provide an example of what typically causes
this conflict, and how to remedy it.

Current coverage is 100% (diff: 100%)

Merging #984 into master will not change coverage

@@           master   #984   diff @@
====================================
  Files          31     31
  Lines        2055   2056     +1
  Methods         0      0
  Messages        0      0
  Branches      334    334
====================================
+ Hits         2055   2056     +1
  Misses          0      0
  Partials        0      0

Powered by Codecov. Last update 21722fd...c102a44


Problem with event Logger

??? That's not part of <Draggable>, that's your code.
In your case it looks like you're using https://babeljs.io/docs/plugins/transform-class-properties/.

i just copied the code from https://github.com/mzabriskie/react-draggable
and try to run with a boilerplate architecture and still don'tknow why it throws this error


esp-config cannot be used with esp-hal-embassy

esp-hal's build script errors if users set esp-hal-embassy config options. This is, because esp-hal doesn't know about the other crate, and esp-hal is a prefix of esp-hal-embassy, therefore the crate thinks that ESP_HAL_EMBASSY_ config values belong to it, but rejects them as unknown.

Yeah we should fix this ASAP, added to the milestone.

Any ideas how? :D I guess we can list the conflicting prefixes for esp-hal, but that solution only works as long as we don't create another esp-hal-* crate. Or even worse, someone else creates one - looking at you, community crates.

only thing I can think of (and is breaking) is to have a special separator between the crate name and the config key.
Something like ESP_HAL_EMBASSY_CFG_config - then esp-hal would look for ESP_HAL_CFG_xxx only
and even a crate named esp-hal-cfg would look for ESP_HAL_CFG_CFG_xxx
But it's not ideal


camera localization and spatial content placement using services from Augmented City

camera localization using GeoPose from Augmented City
placing Spatial Content Records from Augmented City

Changes were merged with pull request #9


[CDEC-348] Add Hedgehog generators for data types in core

Description
Implement Hedgehog generators for serializable data types in core.
Linked issue
https://iohk.myjetbrains.com/youtrack/issue/CDEC-348
Type of change

[ ] 🐞 Bug fix (non-breaking change which fixes an issue)
[x] 🛠 New feature (non-breaking change which adds functionality)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)
[ ] 🏭 Refactoring that does not change existing functionality but does improve things like code readability, structure etc
[ ] 🔨 New or improved tests for existing code
[ ] ⛑ git-flow chore (backport, hotfix, etc)

Developer checklist

[x] I have read the style guide document, and my code follows the code style of this project.
[ ] If my code deals with exceptions, it follows the guidelines.
[ ] I have updated any documentation accordingly, if needed. Documentation changes can be reflected in opening a PR on cardanodocs.com, amending the inline Haddock comments, any relevant README file or one of the document listed in the docs directory.

Testing checklist

[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

QA Steps

Screenshots (if available)

I noticed a couple general things and wanted to ask about them. I haven't finished looking through all the datatypes (there are a lot - props for slogging through this!)
There aren't generators for these types, but they could be easily generated by a client?

type VssCertificatesHash = Hash (HashMap StakeHolderId VssCertificate). Both have gens. Hash can be gen'ed via hash <$>.
type SharesDistribution = HashMap StakeHolderId Word16. Both have gens.
type UpdateProposals = HashMap UpId UpdateProposal. Both have gens.
type VoteId = (UpId, PublicKey, Bool). All have gens.
type StakesMap = HashMap StakeHolderId Coin. Both have gens.
type StakesList = [(StakeHolderId, Coin)]

There's a function customHashMapGen (from Test.Pos.Ssc.Tos.BaseSpec) allows us to generate HashMaps, when a key Gen and a val Gen are provided. Might be useful.
I also noticed there aren't generators for these types. Is that intentional?

CoreConfiguration
SlotCount
EpochOrSlot
BlockVersionData

And if any of the above aren't on the blockchain, or don't need generators, feel free to ignore this!


ci: add force use the local configuration

Codecov Report

Merging #620 (b6c350b) into master (b253a52) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #620   +/-   ##
=======================================
  Coverage   84.70%   84.70%
=======================================
  Files          27       27
  Lines         706      706
  Branches      181      181
=======================================
  Hits          598      598
  Misses         45       45
  Partials       63       63

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 b253a52...b6c350b. Read the comment docs.

:tada: This PR is included in version 4.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Trace timeout metric

I would like to suggest adding a counter metric that is incremented when TraceTimeout is hit.
We are trying to tune SendDelay to avoid spans arriving after the trace has already been flushed from the Samproxy instance. We know that we have at least some spans arriving late because we see trace_sent_cache_hit being incremented. What we don't know is how often spans arrive after the trace has been evicted from the sent trace cache.
We know in this case that the span will be treated by Samproxy as a new trace. We also know that the root span for the trace has already come and gone, so the "new" trace will only be flushed when TraceTimeout is hit. If Samproxy provided a trace timeout metric then we'd have a proxy metric for late arriving spans.
Note, this metric would also be valuable for us in setting CacheCapacity as we don't know what portion of the cache is currently going towards caching these late arriving spans.

@c2nes the next release will include two counters: trace_send_has_root and trace_send_no_root, to trace spans which do and don't have root spans at the time they're sent. This isn't quite what you asked for, but should serve the same purpose.


feat: drop managedFields + default RBAC and CABundle

This was all done originally as part of the work for the CNV VM
migration research. However, all of these changes seem like a good fit
for us to keep.

Related https://github.com/konveyor/crane/issues/85
cc @shawn-hurley


Extract font color of month and time headers to vars

This tiny patch will give us the opportunity to set font color of these headers.

Btw, I mentioned that there is little mess with these variables.
There is no way to customize only the color of "prev" and "next" arrows. There is $datepicker__muted-color variable for it, but it's also used for disabled dates.
I can separate it if you want.


implement equals in FunctionFilter

The default Filter/Query equals implementation only checks the
boost value for equality.
Therefore a query like round(d) < 2 was equal to ceil(d) < 3. This
could cause incorrect results due to the QueryCache which used the first
FunctionFilter query it received for all subsequent queries.

ack


attn_dropout and ff_dropout implemented?

They're mentioned it in the documentation, however they are not present in the source code.

@antorsae yup, they are! i have a system where keyword arguments for the Attention class is prepended with attn_, while for feedforwards they are ff_

https://github.com/lucidrains/x-transformers/blob/main/x_transformers/x_transformers.py#L645

Thanks a lot. My bad.


gotype: type-checking external test files that rely on internal test files fails

I tried to use go/types to type check a package with internal test files (with package foo) and external test files (with package foo_test). The internal test files expose some symbols that the external test files consume. This works fine in go test. However,  the go/types code does not recognize the symbols exported by the internal test files.
I want to use the go/types package to write a refactoring tool that consumes external test files that rely on symbols exported by internal tests files, but I can't because of this error.
I think the issue is that the go/types import logic ignores the internal _test.go files when type-checking the external _test.go files. The go/types config https://golang.org/pkg/go/types/#Config does not seem to have a knob to import _test.go files.
What version of Go are you using (go version)?
go version go1.9 darwin/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOOS="darwin"

What did you do?
I created a new package testgotypes with 3 files:
testgotypes.go, without this file gotype doesn't run:
package testgotypes

internal_test.go, which exports a variable for the external test:
package testgotypes

var Export = "hello"

external_test.go, which tries to access the variable exported by internal_test.go:
package testgotypes_test

import (
	"testing"

	"testgotypes"
)

func TestExport(t *testing.T) {
	if testgotypes.Export != "hello" {
		t.Error("uh oh")
	}
}

I ran tests, which worked just fine:
➜  testgotypes git:(master) go test -v
=== RUN   TestExport
--- PASS: TestExport (0.00s)
PASS
ok  	testgotypes	0.006s

Then I tried to run gotype, compiled from /usr/local/Cellar/go/1.9/libexec/src/go/types/gotype.go:
➜  testgotypes git:(master) gotype -x -t .
external_test.go:10:5: Export not declared by package testgotypes

It fails with the same error my refactoring code sees.
To sanity check gotype, I then renamed internal_test.go to internal.go to make it part of the non-test build. Then gotype is happy:
➜  testgotypes git:(master) mv internal_test.go internal.go
➜  testgotypes git:(master) gotype -x -t .

What did you expect to see?
gotype successfully type checking external_test.go.
What did you see instead?
gotype fails to type check the external_test.go file.

This is not a go/types issue, it's a gotype issue: go/types doesn't care how the files are organized, it simply accepts a set of files.
The documentation inside gotype.go says for the -t flag:
-t
	include local test files in a directory (ignored if -x is provided)

so this is at least working as internally documented. But it should be documented externally, and furthermore, this behavior seems incorrect. It appears that go test does something different.

This is not a trivial fix. An external test package imports the local package consisting of the local package and local test files. The go/command builds that package in a temporary directory and then imports it from that temporary directory to make it all work.
gotype relies on go/types to type-check the external test package. go/types simply uses an importer to get the information about the package to be tested, and that importer doesn't know that it needs that package built with its local test files. Furthermore, the existing top-level API (go/importer) doesn't have a mechanism to communicate that information. Also, if the importer is not a "source" importer, but say a "gc" importer, the importer relies on installed packages, and they are never built with the local test files.
One option might be to implement a new custom importer, only known to gotype.go, which is based on go/internal/srcimporter. The srcimporter's mode argument (currently unused) could be used to signal that local test files need to be included. But that would not work for gotype -c=gc which doesn't rely on the source importer.
Still thinking.

Punting to Go 1.11 since gotype is an unreleased program.


luci-base: Update Simplified Chinese translation

Fixed Chinese translation error

@daofeng2015 Hi.  You efforts are appreciated, but could I trouble you to update the commit message to indicate what part of LuCI for which you are updating strings; we'd like to avoid non-specific commit messages.  Title is fine, but the commit message should be a little more specific.  Just saying something like 'updates strings in luci-base' is fine.  Hope you don't mind!

no response from the PR opener, negative feedback.
closing.


Add features to CEL checker

Description of your changes

Fixes #
I have:

[ ] Read and followed Crossplane's contribution process.
[ ] Run make reviewable to ensure this PR is ready for review.
[ ] Added backport release-x.y labels to auto-backport this PR if necessary.

How has this code been tested

This needs to wait for 1.29, upgrade to 1.28.4 wrongly bumped cel-go lib, lol

v1.29 is here so let's merge it!


Dead link for API on Swaggerhub

https://github.com/coreos/clair/blob/e907e4d263a743f7d4923c177e5db37f656a53b4/README.md#L34
Hi, README says to explore the API at https://app.swaggerhub.com/apis/coreos/clair/3.0 but that link is dead. Swaggerhub seems to know about Clair, knows a single 3.0 version of the API, but throws an "error processing the request" in a red box that I cannot copy-paste, and ends up saying "Sorry, we can't find coreos / clair / 3.0"

Weird, it works for me?


fix(runtime-dom):  width should be set as attribute

close #8780

Setting 24px as an attribute is not valid HTML, can you adjust it to 24: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img

The intrinsic height of the image, in pixels. Must be an integer without a unit

I have known this standard, but in most browsers, it can be rendered normally when set 24px with unit. So my main point is that when user give an invalid value, vue should keep the invalid value and let browser to handle the invalid value, rather than rewrite it to 0 in vue.

Ok that's a fair point, I guess normally Vue also propagates invalid attribute values, so that's at least consistent 👍


Some sites crashing here

Is flash player?
http://tabooporns.com/
https://www.xnxx.com/video-dn1x3cd/groped_in_bus
https://www.xvideos.com/video9823072/girl_groped_on_bus

What build are you using?

https://github.com/squalus/ungoogled-chromium-winbuild/releases/tag/65.0.3325.181-1
this one

Might be related to #380 or #381. We should re-check after fixing those first.

https://pt.aliexpress.com/

Fixed with #394.


Add support for managed storage pools

Currently storage pools are left to be managed manually, it would be good to have them managed through the plugin.

I don't think destroying pools is a common use-case outside of development/testing, but I think adding support for this is very self-contained.

Ok, now I remember why it was intentionally left out. Pools can be of various types: dir, fs, netfs, disk, iscsi, logical, scsi, and every type has different attributes. The original intention of this provider was to mimic a "cloud" environment and avoid exposing all libvirt features and become a HCL -> XML 1:1 mapping.
So supporting pools means you have to expose all functionality, or restrict yourself to a few and document that. Do you think it is worth the additional complexity?

I don't know if managing pools could be considered part of the typical use case, so I think I agree with @dmacvicar: I wouldn't include all the logic for managing pools unless it is really necessary.

OK, I agree to close this issue for now.


Easee Cloud API update with backwards compatibility break

Easee Notification:
We will remove one of our login endpoints during this maintenance. If you have any systems relying on https://api.easee.cloud/api/accounts/token please move this to https://api.easee.cloud/api/accounts/login before this maintenance.
The two endpoints should be identical from an external pov. so please swap to the new URL and verify the implementation before 1st of July.

Legacy: https://developer.easee.cloud/reference/post_api-accounts-token
New: https://developer.easee.cloud/reference/post_api-accounts-login

thanks


Fix and tests for HHH-12247

This makes sure that critical bootstrap errors are not just logged but propagated as runtime exceptions.

https://hibernate.atlassian.net/browse/HHH-12247

It's trivial, yet requires @sebersole 's approval as the semantics had quite some discussion (see JIRA).

thanks! Rebasing and re-testing...


When will the latest code be pushed to crates.io?

The crate on crates.io hasn't been udpated in over a year. Important changes like being able to call read_password_from_tty is only available from git.

@Towerism Hi ! Sorry about that, it boils down to me not getting replies to my comments on https://github.com/conradkdotcom/rpassword/pull/26. I was unsure if I should publish or not. Is the current master version usable for you ? Could you give it a try if you haven't already and confirm ? I can then publish that.

@Towerism Sorry about that, I'll be doing that now. Will update in a few minutes once it's done.

@Towerism Alright, so I've just published as 2.1.0, up from 2.0.0, since there was a feature addition but no breaking change.
Thanks for your time, testing and all ! Please let me know if you run into any issues down the road.
Cheers !

@Towerism Just documented the release as well.
https://github.com/conradkdotcom/rpassword/releases/tag/v2.1.0


Support gRPC API for storage

Now that #1518 has been merged, we have a gRPC API for communicating to an out-of-process storage. Currently it can only be used with hashicorp-plugin that runs the storage as a child process and therefore cannot be shared between different components  (e.g. collector and query). However, the actual gRPC API is generic and can be used for talking to a standalone storage component over the network. An example would be running a node with Badger in-memory storage and accessing it remotely from collector and query.

Note that this could be another option to supporting alternative storage backends (#422).

I actually thought this was how the plugin worked.

I wrote up a design doc that puts things in perspective: https://docs.google.com/document/d/1WKT8_PY3FDT3HCzCcXB_W-rYdeMtXPaP7XyPl9SmL8w/edit#
I didn't know this issue existed but it'd be cool to have this use case supported first class.

please make the doc readable for everyone.

Sorry fixed that now

I think the proposal makes sense. Are you able to come up with a PoC? It would also be nice if you could create issues about the two problems you mentioned in the doc (panic + hanging process).

Done in #3383


Bugfix in propagate_positions

Corrected to account for 'container nodes'.

Codecov Report

Merging #935 (a13cfce) into master (24f6530) will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #935      +/-   ##
==========================================
+ Coverage   86.98%   86.99%   +0.01%
==========================================
  Files          50       50
  Lines        6706     6712       +6
==========================================
+ Hits         5833     5839       +6
  Misses        873      873

Flag
Coverage Δ

unittests
86.99% <100.00%> (+0.01%)
:arrow_up:

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

Impacted Files
Coverage Δ

lark/parse_tree_builder.py
95.49% <100.00%> (+0.12%)
:arrow_up:

Continue to review full report at Codecov.

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


feat(avm): fix some Brillig problems

This PR enables the stack of 6 PRs on top.

While working on external calls, we came across several problems with Brillig. I made some changes to fix them. Some Brillig changes:

Truncation: Brillig was using AND of Fields (actually, AND on Ints of 254 bits). This is not supported by the VM. Truncation was changed to be done without ANDing, and using CAST instead, which truncates to the required bit size.
Array.get/Array.set: Calculation of the arrayBase+index was done using field arithmetic (or field sizes). Now it's done using ints.
Reference counting: Checking refCount==1 was done using field arithmetic (or field sizes). Now it's done with ints.

These changes seem to solve all the comparison w/different bit sizes, and unexpected uses of field arithmetic. (That we've found with the current test contract).
NOTE: I had to recreate the contract snapshots with yarn workspace @aztec/protocol-contracts test -u, then modify

noir-projects/noir-contracts/contracts/app_subscription_contract/src/main.nr
noir-projects/noir-contracts/contracts/fpc_contract/src/main.nr

Relates to #4313, #4127.

#5092
#5091  👈
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @fcarreiro and the rest of your teammates on  Graphite

Benchmark results
Metrics with a significant change:

batch_insert_into_append_only_tree_16_depth_ms (8): 16.6 (+33%)
batch_insert_into_append_only_tree_16_depth_hash_ms (8): 0.705 (+34%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit f3d9f9b5 and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
64 txs

l1_rollup_calldata_size_in_bytes
5,700
18,884
36,452

l1_rollup_calldata_gas
66,444
239,084
470,300

l1_rollup_execution_gas
673,907
979,905
1,389,074

l2_block_processing_time_in_ms
1,189 (-1%)
4,508 (+3%)
8,872

note_successful_decrypting_time_in_ms
200 (-6%)
549 (+2%)
1,015 (+2%)

note_trial_decrypting_time_in_ms
9.10 (-51%)
64.9 (+17%)
46.3 (-65%)

l2_block_building_time_in_ms
12,682 (+5%)
50,412 (+6%)
100,549 (+5%)

l2_block_rollup_simulation_time_in_ms
7,411 (+1%)
29,607 (+1%)
59,078 (+1%)

l2_block_public_tx_process_time_in_ms
5,239 (+12%)
20,740 (+13%)
41,355 (+12%)

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
13,559 (-5%)
27,296 (+3%)

note_history_successful_decrypting_time_in_ms
1,233 (-2%)
2,445 (+3%)

note_history_trial_decrypting_time_in_ms
82.7 (-10%)
135 (+2%)

node_database_size_in_bytes
18,776,144
35,278,928 (-1%)

pxe_database_size_in_bytes
29,923
59,478

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
286 (+13%)
44,736
28,001

private-kernel-ordering
211 (+9%)
52,625
14,627

base-rollup
674 (+2%)
177,932
997

root-rollup
68.5
4,320
825

private-kernel-inner
368 (+15%)
73,715
28,001

public-kernel-app-logic
190 (+16%)
34,920
27,972

public-kernel-tail
93.2 (+14%)
34,507
27,972

merge-rollup
8.56 (+1%)
2,840
997

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
0 deployed contracts

tx_size_in_bytes
19,179

Transaction processing duration by data writes.

Metric
0 new note hashes
1 new note hashes

tx_pxe_processing_time_ms
2,971 (+10%)
1,479 (+8%)

Metric
0 public data writes
1 public data writes

tx_sequencer_processing_time_ms
6.40 (+20%)
641 (+12%)

Merge activity

Mar 11, 6:43 AM EDT: @fcarreiro merged this pull request with Graphite.


256 Selection Problem

I tried to make a dialog with 256 selections but I realized that after 87 iterations the system does not work.
#define TEXTLIST_MAX_ITEMS 256

TextListCreate:test_menu(playerid)
{
	new items[87][TEXTLIST_MAX_ITEM_NAME];

	printf("Working");
	for(new i = 0; i < 87; i++) {
		format(items[i], TEXTLIST_MAX_ITEM_NAME, "Test");
	}

	TextList_Open(playerid, TextList:test_menu, items, sizeof(items),
	              "Header", "Accept",
	              "Exit");
}

This one works but the bottom one doesn't work.
#define TEXTLIST_MAX_ITEMS 256

TextListCreate:test_menu(playerid)
{
	new items[100][TEXTLIST_MAX_ITEM_NAME];

	printf("Working");
	for(new i = 0; i < 100; i++) {
		format(items[i], TEXTLIST_MAX_ITEM_NAME, "Test");
	}

	TextList_Open(playerid, TextList:test_menu, items, sizeof(items),
	              "Header", "Accept",
	              "Exit");
}

@ziggi

I have no idea why you need so much rows, but anyways - for large amount of data you need to extend the stack size or you will got error like this:
[debug] Run time error 3: "Stack/heap collision (insufficient stack size)"
[debug]  Stack pointer (STK) is 0x2376ABC, heap pointer (HEA) is 0x237AF9C
[debug] AMX backtrace:
[debug] #0 00000000 in public tlc_test_menu ()
[debug] #1 native CallLocalFunction () in samp-server_r2_2_1.exe
[debug] #2 00000000 in public OnPlayerCommandText (playerid=0, cmdtext[]=@0237af84 "/test")

Example to display 512 number of lines:

#pragma dynamic 100000

#include <a_samp>

#define TEXTLIST_MAX_ITEMS 512

#include <textlist>

main() {}

TextListCreate:test_menu(playerid)
{
	new items[512][TEXTLIST_MAX_ITEM_NAME];

	printf("Working");
	for(new i = 0; i < sizeof(items); i++) {
		format(items[i], TEXTLIST_MAX_ITEM_NAME, "Test %d", i);
	}

	TextList_Open(playerid, TextList:test_menu, items, sizeof(items),
	              "Header", "Accept",
	              "Exit");
}

public OnGameModeInit()
{
	AddPlayerClass(0, 0.0, 0.0, 3.5, 0, 0, 0, 0, 0, 0, 0);

	return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	if (!strcmp(cmdtext, "/test", true)) {
		TextList_Show(playerid, "test_menu");
		return 1;
	}

	return 0;
}

I'll make a 256 color palette. I forgot it, thank you.


Failed Requests detail.

Get the detail of the Failed Requests identified from the log file or STDIN, vía command line and/or in the output to HTML/JSON/CVS.
Awesome could be to know the reason of the failure.
Kind Regards.

I've added the ability to log all invalid requests to a file using --invalid-requests=. You will need to build from dev. Otherwise it will be pushed out in the upcoming release.


[Support] How to resolved static assets path imported in react components while dev server running

Question
I'm trying out craft-vite with react component.
The assets path which imported in react components are resolved fine in production build, but they aren't while dev server running.
Is there any way I can solve it?
Thanks,
Example
#app.tsx
import React, { useState } from 'react'
import logo from './logo.svg'
import './App.css'

function App() {
  const [count, setCount] = useState(0)

  return (

Hello Vite + React!!

Additional Info
The image src url 404 error got is https://appexample.test/src/logo.svg
But I can access the asset to https://localhost:3001/src/logo.svg

Put the image in the /public dir in the Vite root. https://vitejs.dev/guide/assets.html#the-public-directory

Come to think of it, it could be related to this: https://github.com/vitejs/vite/issues/2196

@khalwat Thank you sharing the issue thread.
I'm using valet so the @haytor 's comment are very helpful.
I created Local driver and put it on root directory of the project.
LocalValetDriver.php
<?php

class LocalValetDriver extends LaravelValetDriver
{
    /**
     * Determine if the driver serves the request.
     *
     * @param  string  $sitePath
     * @param  string  $siteName
     * @param  string  $uri
     * @return bool
     */
    public function serves($sitePath, $siteName, $uri)
    {
        // The host and port of the Vite dev server.
        $host = 'localhost';
        $port = 3001;

        $timeout = 6;

        // Use fsockopen to ping the server to determine if the driver will handle the request.
        $fsock = @fsockopen($host, $port, $errno, $errstr, $timeout);
        return is_resource($fsock) ? true : false;

    }
    /**
     * Determine if the incoming request is for a static file.
     *
     * @param  string  $sitePath
     * @param  string  $siteName
     * @param  string  $uri
     * @return string|false
     */
    public function isStaticFile($sitePath, $siteName, $uri)
    {
        // Application root directory resource loading, resource reference in node_modules
        if (file_exists($staticFilePath = $sitePath . '/' . $uri)
            && is_file($staticFilePath)) {
            return $staticFilePath;
        }
        if (file_exists($staticFilePath = $sitePath . '/web' . $uri)
            && is_file($staticFilePath)) {
            return $staticFilePath;
        }
        return false;
    }
    /**
     * Get the fully resolved path to the application's front controller.
     *
     * @param  string  $sitePath
     * @param  string  $siteName
     * @param  string  $uri
     * @return string
     */
    public function frontControllerPath($sitePath, $siteName, $uri)
    {
        return $sitePath . '/web/index.php';
    }
}

It seems to be working ok so far.

@watarutmnh  I think we have a better solution as detailed here:
https://nystudio107.com/blog/using-vite-js-next-generation-frontend-tooling-with-craft-cms#vite-processed-assets
Issue ref: https://github.com/vitejs/vite/issues/2394

@khalwat Good to know that! Thanks!


Support displayFields in the Relation widget

- Summary
Some relation objects I have are stored by an id field to guarantee each object has a unique value. My ids are random hashes though and they are not very informative, especially looking through the autocomplete options.
By adding the displayFields option, we can render information of the object that is more useful to the user. In my case I can display the title and author, which helps distinguish posts with the same title.
- Test plan
Manual testing works
The test suite passes using yarn test
- Description for the changelog
The relation widget now supports custom display fields

By only changing the renderSuggestion callback, I don't have to worry about the onChange prop getting the wrong information. I would appreciate any feedback on this approach.

Deploy preview for cms-demo ready!
Built with commit 61556b3aac7d14e9c4a5c644bf6891a8d5a323c1
https://deploy-preview-1303--cms-demo.netlify.com

Deploy preview for netlify-cms-www ready!
 These may need get much activity before Monday, but thank you!
Sent with GitHawk

Thanks for the suggestions @erquhart. I have updated the PR with your feedback.

Can you add it to the example so we can try it out in the deploy preview? The relevant config field is here: https://github.com/netlify/netlify-cms/blob/1.6.0/example/config.yml#L73-L78

Ok, thanks for your patience @erquhart.
My patch was to wrap all items in new String() constructors.
I opted to use this approach over .toString() so that null and undefined values would not cause errors. Date object will get translated to proper strings. Array values will render as new String(['a', 'b']) --> 'a,b' which I think is good enough for now.
I am punting on objects, they render as '[object Object]'

@erquhart updated

Do you have any idea on when this PR can be merged in? I'd really like to start benefiting from this feature ASAP.

@talves @tech4him1 @benaiah need one more approval here
Sent with GitHawk

@zurawiki just merged the changes, thanks for the PR!


Fix safety check for requestAnimationFrame

Doing window && does not achieve the expected behavior, it instead crashes with an error ReferenceError: window is not defined. This fix is simple and necessary for server-side rendering.

You are indeed correct. Thank you for the fix.

Awesome!
--
Best Regards,
Ivan Borisenko

This actually introduces an error with uglify-js
The check for uses backticks instead of regular quotes which causes a parsing error.

Great that you've reported the bug. I've seen the same thing with
snabbdom-to-html which forces me to include a compiled file from the lib
subdirectory instead index.js. Node.js doesn't yet support backticks.

--
Best Regards,
Ivan Borisenko

Oh, my bad. I thought it was ES6 code.

No problem. This is fixed in 0.4.2.

Thank you both @staltz and @paldepind :+1:


Add extra checks in handling rejected oData promise

Fixes #1096
The issue was within 'handleRejectedODataPromise'.
It presumed a certain structure for the rawError message which wasn't met.
(res.error was passed as a string when it was actually an object...)
I added some extra checks so the error message returned, better indicates the error that occurred.
The case from #1088 now results in following response:

So now a proper error is thrown based on the web response. However, running with --debug is still required to troubleshoot the actual issue...

Coverage decreased (-0.02%) to 99.984% when pulling 42612f9a79823bcc49d89902cfcd6088fc214c5a on stijnbrouwers:handle-forbidden into 062093d21c38eff93987e1e89e5e78da634c8cb1 on pnp:dev.

OK, I'm fixing the code coverage...

Thanks @stijnbrouwers! We'll review it shortly 👏

Merged manually. Thank you! 👍


Icon

Hey @pdimens ! Hope you're well. TidierDB is moving along and transferring over to tidier soon. When you have some time, we'd love to get your magic icon touch.
Thank you!

Maybe a bit lighter

Love it @pdimens! I kind of prefer the darker color to differentiate it more from the TidierVest logo color.
It's your call, @drizk1.

Let's do the darker! I love the richness of the purple


Allow wb/ds item or id in refresh

Allows refresh method on datasource and workbook endpoints to accept either the object or their id. Allows for a flexible and consistent api.

I had an issue similar to #562 and this change should allow both the datasource and workbook refresh calls to accept either the item or their id. This also should be a non-breaking change for anyone's existing code.

Closing PR to retarget development.


add save results location

Resolves #42

IMHO to be really clear it should be something like:
flag indicating if results should be saved to a file  ( `~/.local/share/donkeytype/donkeytype-results.csv`  on Linux and MacOS, and `C:\Users\{Username}\AppData\Local\donkeytype\donkeytype-results.csv` on Windows)

also in README.md you could update the line:
To view the history of results in a bar chart you can run:

to:
By default `donkeytype` saves results of tests to `~/.local/share/donkeytype/donkeytype-results.csv`  on **Linux** and **MacOS**, and `C:\Users\{Username}\AppData\Local\donkeytype\donkeytype-results.csv` on **Windows**. To view the history of results in a bar chart you can run:

@radlinskii Got it. I wanted to keep it short at first, but I'll try your way this time.


Investigate Scala 2 community build

How scala 2 handle:

a project with 2 different versions
native vs js
running all tests projects?
is there any mechanism to make sure that all deps are translated
what found most problems?

a project with 2 different versions

I'll answer for how things were before https://contributors.scala-lang.org/t/scala-2-13-community-build-radically-simplified/5244 , since the simplification we made there was only possible because the Scala 2 ecosystem reboot for 2.13 was the last reboot ever.
Before the simplification, we almost always forbid having multiple versions of things. This often created difficulties, and that's where a lot of the maintenance effort went. For example, Cats Effect 2 versus Cats Effect 3. We didn't want to support both, so we stayed on 2 for a long time, freezing downstream projects whenever they upgraded to 3. Then eventually almost everyone had upgraded, so we moved to 3, and if any stragglers, we leaned on the maintainers to upgrade, and if they didn't or wouldn't, we considered the project abandoned and we removed it.
That said, there were times where it was absolutely necessary to support more than one version of something. For example, for a long time we supported both ScalaTest 3.0 and 3.2. dbuild doesn't allow duplicate artifacts (same org + name, regardless of version number) in the same "space", so we forked 3.0, changed the org name in the fork, and then in any project that used 3.0, we overrode the dependency to use our org name instead.
dbuild also offers a "spaces" feature where you can have multiple versions of things as long as each one is in a different space. But that meant partitioning the build into separate subtrees. This was sometimes possible and useful in specific circumstances. For example, for a long time we had a jawn 0.10 and a jawn 0.11 space (both of which depended on a shared space). The jawn 0.10 space just had sbt and a few other things in it, so it was manageable to keep that separate. This kind of splitting was possible, but we always tried very hard to avoid it because it complicated maintenance and because it didn't scale to having more than a very small number of version splits.
(And what about after the radical simplification? We require a single version only of a handful of core dependencies such as kind-projector and scalameta, but everything else is a free-for-all and it's fine, since everything else uses binary dependencies from Maven Central.)

native vs js

This was out of scope for us, partly because changes to dbuild would have been needed, and partly because this was a Lightbend thing and Lightbend is almost exclusively JVM focused as a company.

running all tests projects?

This happens by default with dbuild. If you don't want a subproject included, or don't want to run some tests, you have to explicitly exclude them.

is there any mechanism to make sure that all deps are translated

You mean to ensure that everything is actually built from source? Yes, dbuild enforces that with check-missing: true which was the default before the radical simplification.

what found most problems?

So we have 200+ projects and I half wish I could tell you that it was wasted effort and it was only a certain subset that found problems.
But my actual experience is that having so many projects was actually worthwhile. I found it entirely unpredictable what kind of project a Scala regression might pop up in, and it astonished me how often only 1 or 2 projects in the entire build would notice a regression, and how often those 1 or 2 projects would be something random rather than a "core" project.
In short, what found most problems was to have a HONKING BIG BUILD.


Js memoize more

@thieman memoizing a couple more functions to cut down args we pass around

yay cleaner code

...and failing tests that passed locally


Annotations UI Improvements

Introducing UI tweaks for annotations, includes:

placeholders instead of labels for textinput
Remove grid component for composing the layout, it adapts to the screen width and behaves well under zoom in/out

TODO: Include an explanatory "?" for each element

Solves https://github.com/stateful/vscode-runme/issues/131
Light / Dark mode

I would like to include some icons to the extension, @sourishkrout  can we install codeicons for the extension?

I would like to include some icons to the extension, @sourishkrout can we install codeicons for the extension?

Go for it. Don't see a reason why we can't.

I do like the additional extra space have available now horizontally. Since you requested a reviews, is it save for me to go ahead make some edits to the textual parts @degrammer?

I do like the additional extra space have available now horizontally. Since you requested a reviews, is it save for me to go ahead make some edits to the textual parts @degrammer?

@sourishkrout  yes go ahead, merge it and I can continue working on remaining features as a separate PR


Clickable Booklist Items

Def: Recode the booklist screen to be clickable. each item should bring itself to a detailed screen of the item that is selected.
DoD: Merge branch with develop branch.

recycler view is clickable. It bring up the detail screen but does not populate with the selected data.


Removes direct URL requirements from cirq[dev-env]

Removes direct URL requirements from cirq[dev-env].
Fixes #4222.
This is hard to test automatically as it would need to involve uploading to test pypi which in turn requires secrets on Github Actions (see https://github.com/quantumlib/Cirq/pull/4247).

#4252 implied we wouldn't want an inconsistency between the requirements file and the [dev-env] pip thing. Did we decide this isn't an issue?

#4252 implied we wouldn't want an inconsistency between the requirements file and the [dev-env] pip thing. Did we decide this isn't an issue?

I'm fine either way - the current approach still gives a dev-env without needing to install cirq, purely from pypi, which is kind of cool, even though it misses tensorflow-docs.
The other approach kills a (assumedly) rarely used feature...
In the internal chat Craig decided to approve the former.


Failed to register the distribution

System: Windows 10 Pro, WSL version 2.  Here's the log:
[Distrod] Choose a linuxcontainers.org image from the list above.
[Distrod] Type the name or the index of your choice.
[Default: ubuntu]: 4
[Distrod] Fetching from linuxcontainers.org...
[1] 2.0.20210525.0
[2] current
[Distrod] Choose a version from the list above.
[Distrod] Type the name or the index of your choice.
[Default: current]:
[Distrod] Fetching from linuxcontainers.org...
[Distrod] Downloading 'https://images.linuxcontainers.org/images/amazonlinux/current/amd64/default/20211109_05:09/rootfs.tar.xz'...
  [00:00:02] [#########################################################################] 52.27MiB/52.27MiB (25.77MiB/s, 0s)
[Distrod] Download done.
[Distrod] Unpacking and merging the given rootfs to the distrod rootfs. This may take a while...
[Distrod] Now Windows is installing the new distribution. This may take a while...
Unspecified error
[Distrod][ERROR] Failed to register the distribution.
Caused by:
    Failed: cmd.exe /C wsl --import Distrod %LocalAppData%\Distrod "C:\\Users\\me\\AppData\\Local\\Temp\\.tmpdmQenr\\install.tar.gz"

Thanks for reporting! Ah, this is related to the change I made in tar-rs. https://github.com/alexcrichton/tar-rs/pull/252 It looks I had to extend the builder side as well. I will work on it soon.

        ██████╗ ██╗███████╗████████╗██████╗  ██████╗ ██████╗
        ██╔══██╗██║██╔════╝╚══██╔══╝██╔══██╗██╔═══██╗██╔══██╗
        ██║  ██║██║███████╗   ██║   ██████╔╝██║   ██║██║  ██║
        ██║  ██║██║╚════██║   ██║   ██╔══██╗██║   ██║██║  ██║
        ██████╔╝██║███████║   ██║   ██║  ██║╚██████╔╝██████╔╝
        ╚═════╝ ╚═╝╚══════╝   ╚═╝   ╚═╝  ╚═╝ ╚═════╝ ╚═════╝
=================================================================================
Thanks for trying Distrod! Choose your distribution to install.
You can install a local .tar.xz, or download an image from linuxcontainers.org.

* linuxcontainers.org is a vendor-neutral project that offers distro images for
  containers, which is not related to Distrod. LXC/LXD is one of its projects.
  BTW, you can run Systemd with distrod, so you can try LXC/LXD with distrod!
=================================================================================
[1] Use a local tar.xz file
[2] Download an image from linuxcontainers.org
[Distrod] Choose the way to get a distro image from the list above.
[Distrod] Type the name or the index of your choice.
[Default: Download an image from linuxcontainers.org]:
[Distrod] Fetching from linuxcontainers.org...
[1] almalinux
[2] alpine
[3] alt
[4] amazonlinux
[5] apertis
[6] archlinux
[7] busybox
[8] centos
[9] debian
[10] devuan
[11] fedora
[12] funtoo
[13] gentoo
[14] kali
[15] mint
[16] opensuse
[17] openwrt
[18] oracle
[19] plamo
[20] pld
[21] rockylinux
[22] springdalelinux
[23] ubuntu
[24] voidlinux
[Distrod] Choose a linuxcontainers.org image from the list above.
[Distrod] Type the name or the index of your choice.
[Default: ubuntu]: archlinux
[Distrod] Fetching from linuxcontainers.org...
[1] current
[Distrod] Choose a version from the list above.
[Distrod] Type the name or the index of your choice.
[Default: current]:
[Distrod] Fetching from linuxcontainers.org...
[Distrod] Downloading 'https://images.linuxcontainers.org/images/archlinux/current/amd64/default/20221017_04:18/rootfs.tar.xz'...
  [00:00:15] [##################################################] 155.72MiB/155.72MiB (9.83MiB/s, 0s)
[Distrod] Download done.
[Distrod] Unpacking and merging the given rootfs to the distrod rootfs. This may take a while...
[Distrod] Now Windows is installing the new distribution. This may take a while...
Copyright (c) Microsoft Corporation. All rights reserved.

Usage: wsl.exe [Argument] [Options...] [CommandLine]

Arguments for running Linux binaries:

    If no command line is provided, wsl.exe launches the default shell.

    --exec, -e <CommandLine>
        Execute the specified command without using the default Linux shell.

    --
        Pass the remaining command line as is.

Options:
    --distribution, -d <Distro>
        Run the specified distribution.

    --user, -u <UserName>
        Run as the specified user.

Arguments for managing Windows Subsystem for Linux:

    --export <Distro> <FileName>
        Exports the distribution to a tar file.
        The filename can be - for standard output.

    --import <Distro> <InstallLocation> <FileName> [Options]
        Imports the specified tar file as a new distribution.
        The filename can be - for standard input.

        Options:
            --version <Version>
                Specifies the version to use for the new distribution.

    --list, -l [Options]
        Lists distributions.

        Options:
            --all
                List all distributions, including distributions that are currently
                being installed or uninstalled.

            --running
                List only distributions that are currently running.

            --quiet, -q
                Only show distribution names.

            --verbose, -v
                Show detailed information about all distributions.

    --set-default, -s <Distro>
        Sets the distribution as the default.

    --set-default-version <Version>
        Changes the default install version for new distributions.

    --set-version <Distro> <Version>
        Changes the version of the specified distribution.

    --shutdown
        Immediately terminates all running distributions and the WSL 2 lightweight utility virtual machine.

    --terminate, -t <Distro>
        Terminates the specified distribution.

    --unregister <Distro>
        Unregisters the distribution.

    --help
        Display usage information.
[Distrod][ERROR] Failed to register the distribution.

Caused by:
    Failed: cmd.exe /C wsl --import Distrod %LocalAppData%\Distrod "C:\\Users\\ARTURM~1\\AppData\\Local\\Temp\\.tmp55R2aT\\install.tar.gz"

Getting the same issue
I was able to install with for example ArchWSL

I am also having this issue with ArchWSL.


I get this error when going through the tutorial Quickly learn how to build a web app

This is what I ran:
cd deploystack-nosql-client-server
&& deploystack install
This is the error message:
There was an issue collecting the information it takes to run this application.
You can try again by typing deploystack install at the command prompt
If the issue persists, please report at https://github.com/GoogleCloudPlatform/deploystack/issues
Extra diagnostic information:
error managing region settings: error activating service for polling: googleapi: Error 400: The resource id  is invalid.
Help Token: AVUsNs1soUgY05lS1kseIRVn4S4MuusKN11H9a0fP60VJfXnh8e09b9JSZqkqrmT1xvApRd0Fky0ypDNt7oq0ERevtAHsIrtz3Of7Oh6l246WzDd
Details:
[
{
"@type": "type.googleapis.com/google.rpc.PreconditionFailure",
"violations": [
{
"subject": "?error_code=210001\u0026resource_id",
"type": "googleapis.com"
}
]
},
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"domain": "serviceusage.googleapis.com",
"metadata": {
"resource_id": ""
},
"reason": "RESOURCES_INVALID_RESOURCE_ID"
}
]
, badRequest
An error occured collecting the necessary information to run your Deploystack
application. Please try again.
If the problem persists, please file an issue with the Github repo:
https://github.com/googlecloudplatform/deploystack-nosql-client-server/issues

Thanks for reporting this.  I'm trying to track down the error.

So this has been fixed, and is winding it's way through our system. Should be there in a few days.  If you want to try it in the meantime here is a link to a staging version of it.  Just make sure to click "Trust Image" down at the lower left of the pop up:
https://shell.cloud.google.com/cloudshell/editor?show=terminal&cloudshell_git_repo=https://github.com/GoogleCloudPlatform/deploystack-nosql-client-server&cloudshell_image=gcr.io%2Fds-artifacts-cloudshell%2Fdeploystack_custom_image-test

Sorry to not report back sooner. But the underlying problem has been resolved.


Use ceiling division

Codecov Report

Merging #253 into master will decrease coverage by 6.43%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #253      +/-   ##
==========================================
- Coverage   91.69%   85.26%   -6.44%
==========================================
  Files          20       20
  Lines        1313     1296      -17
==========================================
- Hits         1204     1105      -99
- Misses        109      191      +82

Impacted Files
Coverage Δ

src/dreduce.jl
100.00% <ø> (ø)

src/reduce.jl
74.22% <ø> (-10.47%)
:arrow_down:

src/interop/onlinestats.jl
0.00% <0.00%> (-100.00%)
:arrow_down:

src/show.jl
72.50% <0.00%> (-22.55%)
:arrow_down:

src/basics.jl
66.66% <0.00%> (-19.05%)
:arrow_down:

src/progress.jl
76.59% <0.00%> (-12.77%)
:arrow_down:

src/processes.jl
75.47% <0.00%> (-11.33%)
:arrow_down:

src/library.jl
92.00% <0.00%> (-2.24%)
:arrow_down:

src/core.jl
89.87% <0.00%> (-0.99%)
:arrow_down:

... and 1 more

Continue to review full report at Codecov.

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


Create production docker container

start with distroless
https://medium.com/@luke_perry_dev/dockerizing-with-distroless-f3b84ae10f3a

status?


BlitzMax lexer

(Original issue 478 created by None on 2010-03-01T05:51:45+00:00)
Added a lexer for [http://blitzbasic.com/Products/blitzmax.php BlitzMax].
The regex is probably a bit outrageous, but it worked on all of my tests.
Reported by plash

(Original issue was assigned to thatch)
(Original issue 478 last updated on 2010-08-22T17:35:05+00:00)
(Issue automaticaly closed due to status in Bitbucket: resolved)

(Original comment by None on 2010-08-22T17:35:05+00:00)

The lexer looks pretty good, and I'm adding it for Pygments 1.4. Would you like to be
credited as "plash" or your full name in the AUTHORS file (if the latter, we need to
know what it is).

Sorry, missed this comment in my inbox. Tim Howard will do fine.

(Original comment by gbrandl on 2010-08-22T10:07:07+00:00)
Merged in main.

(Original comment by thatch on 2010-06-07T17:41:10+00:00)
Hi plash,
The lexer looks pretty good, and I'm adding it for Pygments 1.4.  Would you like to be credited as "plash" or your full name in the AUTHORS file (if the latter, we need to know what it is).

(Original comment by None on 2010-03-10T17:44:24+00:00)
knock knock

(Original comment by None on 2010-03-01T16:55:44+00:00)
One more thing.. should function calls be highlighted?
It makes sense for function definitions, but I can see generation/viewing getting a bit slow for some sites (e.g. GitHub).
If it's not a common thing in lexers I can limit it to function definitions easily.


cannot DL youtube SIZE>32M

apple-de15cunMacBook-Pro:~ apple$ youtube-dl --proxy http://<IP_ADDRESS>:8087 -tc https://www.youtube.com/watch?v=PUevY8GHLiw
[youtube] PUevY8GHLiw: Downloading webpage
[youtube] PUevY8GHLiw: Downloading video info webpage
[youtube] PUevY8GHLiw: Extracting video information
[youtube] PUevY8GHLiw: Downloading js player new-en_US-vflhlPTtB
[youtube] PUevY8GHLiw: Downloading DASH manifest
[download] Destination: The Eagles-Hotel California (Live Melbourne 2005)-720p DTS.mkv-PUevY8GHLiw.mp4
[download]   4.5% of 32.00MiB at 129.10KiB/s ETA 04:02
ITS always 32M,
whats the matter please?

you already opened an issue #6091 but it doesn't have a meaningful name it whould be better to just change it and not opening a new issue there is already instruction about this type of cases.
https://github.com/rg3/youtube-dl#is-the-issue-already-documented


bootstrap connect has a large possibility return incomplete

Expected behavior
my code  like this
ChannelFuture channelFuture = this.bootstrap.connect("ip:host");
ChannelFuture channelFuture = cw.getChannelFuture();
if (channelFuture.awaitUninterruptibly(3000)) {
     if (cw.isOK()) {
             log.info("createChannel: connect remote host[{}] success, {}", addr, channelFuture.toString());
             return cw.getChannel();
     } else {
             log.warn("createChannel: connect remote host[" + addr + "] failed, " + channelFuture.toString(), channelFuture.cause());
                }
} else {
    log.warn("createChannel: connect remote host[{}] timeout {}ms, {}", addr, this.nettyClientConfig.getConnectTimeoutMillis(),channelFuture.toString());
}

when system works  one or two day, exceptions suddenly come up.but the network is fine
like this:
2019-10-31 20:11:58,058 WARN RocketmqRemoting - createChannel: connect remote host[<IP_ADDRESS>:10909] timeout 3000ms, DefaultChannelPromise@65c9aad6(incomplete)
2019-10-31 20:12:01,001 WARN RocketmqRemoting - createChannel: connect remote host[<IP_ADDRESS>:10911] timeout 3000ms, DefaultChannelPromise@1d28cca3(incomplete)
2019-10-31 20:12:01,001 WARN RocketmqRemoting - createChannel: connect remote host[<IP_ADDRESS>:10909] timeout 3000ms, DefaultChannelPromise@65c9aad6(incomplete)
2019-10-31 20:12:04,004 WARN RocketmqRemoting - createChannel: connect remote host[<IP_ADDRESS>:10911] timeout 3000ms, DefaultChannelPromise@7460748a(incomplete)
2019-10-31 20:12:04,004 WARN RocketmqRemoting - createChannel: connect remote host[<IP_ADDRESS>:10909] timeout 3000ms, DefaultChannelPromise@65c9aad6(incomplete)
2019-10-31 20:12:07,007 WARN RocketmqRemoting - createChannel: connect remote host[<IP_ADDRESS>:10911] timeout 3000ms, DefaultChannelPromise@3a5baaaf(incomplete)
2019-10-31 20:12:10,010 WARN RocketmqRemoting - createChannel: connect remote host[<IP_ADDRESS>:10911] timeout 3000ms, DefaultChannelPromise@6c2867ed(incomplete)
2019-10-31 20:12:13,013 WARN RocketmqRemoting - createChannel: connect remote host[<IP_ADDRESS>:10911] timeout 3000ms, DefaultChannelPromise@1c20f3ef(incomplete)
2019-10-31 20:12:16,016 WARN RocketmqRemoting - createChannel: connect remote host[<IP_ADDRESS>:10911] timeout 3000ms, DefaultChannelPromise@628eac9a(incomplete)
2019-10-31 20:12:19,019 WARN RocketmqRemoting - createChannel: connect remote host[<IP_ADDRESS>:10911] timeout 3000ms, DefaultChannelPromise@1bbefdc6(incomplete)
2019-10-31 20:12:22,022 WARN RocketmqRemoting - createChannel: connect remote host[<IP_ADDRESS>:10911] timeout 3000ms, DefaultChannelPromise@3420fbdb(incomplete)
2019-10-31 20:12:25,025 WARN RocketmqRemoting - createChannel: connect remote host[<IP_ADDRESS>:10911] timeout 3000ms, DefaultChannelPromise@5474294f(incomplete)
2019-10-31 20:12:28,028 WARN RocketmqRemoting - createChannel: connect remote host[<IP_ADDRESS>:10911] timeout 3000ms, DefaultChannelPromise@5adfdd9c(incomplete)
2019-10-31 20:12:31,031 WARN RocketmqRemoting - createChannel: connect remote host[<IP_ADDRESS>:10911] timeout 3000ms, DefaultChannelPromise@3f1ac42d(incomplete)
2019-10-31 20:12:34,034 WARN RocketmqRemoting - createChannel: connect remote host[<IP_ADDRESS>:10911] timeout 3000ms, DefaultChannelPromise@3cf87e35(incomplete)
2019-10-31 20:12:42,042 WARN RocketmqRemoting - createChannel: connect remote host[<IP_ADDRESS>:10911] timeout 3000ms, DefaultChannelPromise@1580be67(incomplete)
2019-10-31 20:12:45,045 WARN RocketmqRemoting - createChannel: connect remote host[<IP_ADDRESS>:10911] timeout 3000ms, DefaultChannelPromise@71d1a4c(incomplete)
2019-10-31 20:12:48,048 WARN RocketmqRemoting - createChannel: connect remote host[<IP_ADDRESS>:10911] timeout 3000ms, DefaultChannelPromise@134b75ad(incomplete)
2019-10-31 20:12:51,051 WARN RocketmqRemoting - createChannel: connect remote host[<IP_ADDRESS>:10911] timeout 3000ms, DefaultChannelPromise@47323881(incomplete)
2019-10-31 20:12:54,054 WARN RocketmqRemoting - createChannel: connect remote host[<IP_ADDRESS>:10911] timeout 3000ms, DefaultChannelPromise@3a81d0b5(incomplete)
2019-10-31 20:12:57,057 WARN RocketmqRemoting - createChannel: connect remote host[<IP_ADDRESS>:10911] timeout 3000ms, DefaultChannelPromise@bdee828(incomplete)
2019-10-31 20:13:00,000 WARN RocketmqRemoting - createChannel: connect remote host[<IP_ADDRESS>:10911] timeout 3000ms, DefaultChannelPromise@67d56e9b(incomplete)
2019-10-31 20:13:03,003 WARN RocketmqRemoting - createChannel: connect remote host[<IP_ADDRESS>:10911] timeout 3000ms, DefaultChannelPromise@1060b9ba(incomplete)
2019-10-31 20:13:06,006 WARN RocketmqRemoting - createChannel: connect remote host[<IP_ADDRESS>:10911] timeout 3000ms, DefaultChannelPromise@e47bb3c(incomplete)
2019-10-31 20:13:09,009 WARN RocketmqRemoting - createChannel: connect remote host[<IP_ADDRESS>:10911] timeout 3000ms, DefaultChannelPromise@5f9dd41d(incomplete)

anyone give some tips for this ?
Actual behavior
Steps to reproduce
Minimal yet complete reproducer code (or URL to code)
Netty version
netty-all-4.0.42.Final.jar
JVM version (e.g. java -version)
java8
OS version (e.g. uname -a)
Red Hat Enterprise Linux 7.2

This is a super old version of netty that is EOL for a long time. Please update to the latest 4.1.x release and report back if you still see the issue. Also please ensure that you really can connect to the remote peer with telnet at the same time


coqPackages_8_15.serapi: init at 8.15.0+0.15.0

And also clean up rc version for Coq 8.15.
Motivation for this change
Compatibility with Coq 8.15.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build coqPackages_8_15.serapi


Add option for simplified git workglow

[x] New feature (non-breaking change which adds functionality)

Proposed changes
This introduces an option for a more simplified git workflow. When enabled, the runtime will automatically commit any file changes - such as a deploy or update to a project's readme/package files.
This makes it easier to go back to a previous deployed version of flows without having to remember to commit the changes.
There's more to be done to help with this workflow - namely being able to easily revert back to a previous version. That's easy enough for a simple history of commits, but gets harder when merge-commits exist. It would also be useful to be able to tag certain commits to help the user flag 'good' levels.
The option to enable this workflow is under the Git Config tab of User Settings - in other words, its an option a user enables for themselves, not on a per-project basis.

Raising as a PR to get feedback on the wording for the setting as shown above.
The commits look like this:

(NB - the 'Manual commit' in there was just that - a manual commit I did whilst testing switching in and out of the auto-commit workflow).

Resurrecting this for 1.2 - have now rebased the changes to work with the latest code.

Hello all,
is there a way to enable automatic commit deployment thru config.json or something like ?

At the moment it is an option the user has to opt in to via the editor.
The choice is saved in the .config.users.json file - but that file is not meant to be hand edited.
Is your requirement to enable this option by default?
We should add it as an option to the editorTheme.projects object in the settings.js file.

yes, if you can add this into editorTheme.projects object that would be a great help

I tried to look into the PR in the docs and in the code, but I don't see the Git Workflow enabled in node-red.
The only two tabs I see in User settings are View and Keyboard shortcuts. How can I enable this?

I tried to look into the PR in the docs and in the code, but I don't see the Git Workflow enabled in node-red.
The only two tabs I see in User settings are View and Keyboard shortcuts. How can I enable this?

It's part of the Projects feature that must be enabled first: https://nodered.org/docs/user-guide/projects/

It's part of the Projects feature that must be enabled first: https://nodered.org/docs/user-guide/projects/

Thanks for pointing me to the right docs.

Thanks for pointing me to the right docs.


VS Code removes spaces between empty object literals even if insertSpaceAfterOpeningAndBeforeClosingEmptyBraces is true

Issue Type: Bug
I have enabled the insertSpaceAfterOpeningAndBeforeClosingEmptyBraces option in settings.json and I still see that empty object literals with a space between them ({ }) are collapsed to remove the space ({}).
As an extended example, doing the following works as expected:
class Foo {
  doFoo() { }
}

But this does not:
const foo = { }

Upon saving, the second item gets collapsed to const foo = {}
VS Code version: Code 1.59.0 (379476f0e13988d90fab105c5c19e7abc8b1dea8, 2021-08-04T23:13:12.822Z)
OS version: Windows_NT x64 10.0.19042
Restricted Mode: No

System Info

Item
Value

CPUs
11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz (8 x 2419)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: enabled_onvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
7.69GB (0.42GB free)

Process Argv
--crash-reporter-id 98bbd91f-17e6-483f-a746-35cacbab776f

Screen Reader
no

VM
0%

Extensions (4)

Extension
Author (truncated)
Version

better-comments
aar
2.1.0

bracket-pair-colorizer-2
Coe
0.2.1

vscode-eslint
dba
2.1.23

indent-rainbow
ode
7.5.0

(1 theme extensions excluded)

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383cf:30185419
pythonvspyt602:30300191
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythonvspyt639:30300192
pythontb:30283811
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
pythondataviewer:30285071
pythonvsuse255:30340121
vscod805cf:30301675
pythonvspyt200:30340761
vscextlangct:30333562
binariesv615:30325510
pythonvssor306:30344512
bridge0708:30335490
vstre464:30350172
bridge0723:30351747

Hello, we are a group of researchers developing machine learning techniques to locate issues suitable for newcomers, and our model consider this issue as likely a "good first issue". May we recommend you to label it as "good first issue" so newcomers know where to choose?
Thank you!


angular-local-storage reborn

@g2graman, @grevory
Need two thumbs up for this PR.
I'm sure I have managed to keep backwards compatibility but I want some feedback before merging this.

I ran the test and I am getting the error "Unable to inialize angular-local-storage" on /dist/angular-local-storage.js:17
Also, notice the typo in "inialize."

@grevory I have fixed the typo. But the error you mentioned is weird. Did you run bower install before running the tests?

:facepalm:
I ran npm install. Looks good.

Nice. I will merge this and keep looking at the open PR. :+1:


Print single line from multi-line comments

Currently if a multi-line comment has a TODO in it, the comment is printed in its entirety. Instead only the line containing the TODO should be printed so that each TODO only creates one line of output.

For example:
.github/actions/verify-token/dist/index.js:16023:/**
 * Currently only WebKit-based Web Inspectors, Firefox >= v31,
 * and the Firebug extension (any Firefox version) are known
 * to support "%c" CSS customizations.
 *
 * TODO: add a `localStorage` variable to explicitly enable/disable colors
 */

Should just print:
.github/actions/verify-token/dist/index.js:16023: * TODO: add a `localStorage` variable to explicitly enable/disable colors


[SPARK-37145][K8S][FOLLOWUP] Add note for KubernetesCustom[Driver/Executor]FeatureConfigStep

What changes were proposed in this pull request?
Add note for developers to show how to use KubernetesDriverCustomFeatureConfigStep and KubernetesExecutorCustomFeatureConfigStep (https://github.com/apache/spark/pull/35345).
Why are the changes needed?
Give an example to show how to use it.
Does this PR introduce any user-facing change?
No, doc only
How was this patch tested?
ci passed

Looking fine but let me cc @dongjoon-hyun @attilapiros FYI

Thank you for pinging me, @HyukjinKwon .

I'm not sure about the advertising of this ambiguous example naming ExecutorExampleFeatureStep. Since this is a document, we had better choose a better guideline for the name which will serve for both driver and executor.

Maybe DriverAndExecutorExampleFeatureStep ?

Thanks. That looks better, @Yikun .

Gentle ping, @Yikun .


JVM Configuration

The current version does not allow the user to have any control over the JVM and its parameters (e.g. max heap space).
I believe this is mostly due to how pyjnius  works, as the JVM is launched at the import statement.
Thus, when pysparql_anything is imported the JVM is launched when  __init__.py runs and imports the namespaces.
I believe we need:

Decouple the JVM configuration and launch from the initialisation process and its current location in engine.py.
Create either a specific jvm.py  module or create specific function in config.py  to make visible to clients (code and users)
the required functionalities.

Thoughts @enridaga ?

Fixed in the above commit.

An important remark on this issue.
While the version <IP_ADDRESS> that is being worked on will allow configuring the JVM when constructing the initial SparqlAnything object, once a JVM has been launched it cannot be shut down and restarted unless one ends the process and starts a new one.
This limitation also applies to the case where the configuration parameters for the JVM are given with an error and therefore the JVM fails to launch.
This is unfortunately determined by the design of the JVM and JNI interaction and there is nothing at the moment that I can see being done to work around it.
For more information on this and similar issues please see for example:
[1] https://github.com/jpype-project/jpype/issues/959,
[2] https://github.com/jpype-project/jpype/issues/461.


Different XML serialization between .Pickle and `.PickleToString

Due to a well-known behaviour of the XML writer classes, FsPickler currently emits UTF-16 declared XML when calling PickleToString, but UTF-8 declared XML when going though Pickle:
> open MBrace.FsPickler;;
> let s = FsPickler.CreateXmlSerializer();;
val s : XmlSerializer

> s.PickleToString {| Foo = "aaaa"; Bar = 145 |};;
val it : string =
  "<?xml version="1.0" encoding="utf-16"?><FsPickler version="<IP_ADDRESS>" type="<>f__AnonymousType3044928180`2[System.Int32,System.String]"><value><Bar>145</Bar><Foo>aaaa</Foo></value></FsPickler>"

> let b = s.Pickle {| Foo = "aaaa"; Bar = 145 |} in
> System.Text.Encoding.UTF8.GetString b;;
val it : string =
  "<?xml version="1.0" encoding="utf-8"?><FsPickler version="<IP_ADDRESS>" type="<>f__AnonymousType3044928180`2[System.Int32,System.String]"><value><Bar>145</Bar><Foo>aaaa</Foo></value></FsPickler>"

I'm not sure if this is a considered a bug given the focused scope of the library, but it's certainly surprising.
(In my particular case, I had a pickled string rejected by SQL Server due to the different encoding.)
Fixing this so it emits UTF-8 XML through both methods should be straightforward - just generate a custom StringWriter or even an object expression in the pickleString function, but it would also technically be a breaking change. And it might be better to allow a configuration option.
Not particularly urgent since, as the above example shows, the workaround is a one-liner.

Given that you're proposing to change the string output as opposed to the binary output, I should say that it doesn't feel as much of a breaking change. I'd merge a PR that changes this, provided that we have verified that utf-16 xml can still be consumed by the deserializer, perhaps by adding a test that checks this.


State for Loading.

Thanks for this wonderful library.
Can I show loading indicator while data is loading from the server?

Hi,
Yes, you can do this, the easiest way would be to use the customViewForEmptyDataSet  function.
Use a global boolean (for example isLoading) and in your function where you get the data from the server, when you start loading set it to true, then, when it's finished fetching, set the boolean to false, then run tableview.reloadData()
In your customViewForEmptyDataSet, you should check for "isLoading" if it is true, return a loading indicator, else just return nil :)

Thanks for reply.
I will try this.


Add a function to remove the ESC key please

I always unintentionally touch the virtual ESC key on the touch bar & uses karabiner to create a physical key for esc. Please add a switch to remove the esc key on pock to give more spaces for dock apps.

You can customize Touch Bar items


Requeue with exponential backoff

What problem are you facing?

Both the resource claim and managed resource reconcilers requeue a reconcile after exactly 30 seconds when they encounter an error (unless the error is known to be unrecoverable). Ideally we'd retry a little sooner with a reasonably capped exponential backoff.
Note that controller-runtime applies exponential backoff when a reconciler returns {Requeue: true}, and/or an error. Unfortunately the backoff starts at 5ms and doubles until it reaches a little over 16 minutes, and this is not configurable. This leads to situations like https://github.com/crossplaneio/crossplane/issues/241, in which a resource could take much longer to reconcile than expected, for reasons that are not obvious to users.
How could Crossplane help solve your problem?

The various reconcilers we ship in crossplane-runtime could support exponential backoff. I believe it's important that this backoff be:

Bounded appropriately for the controller in question..
Discoverable by users who do not have access to Crossplane and/or Stack pod logs

We could implement this ourselves by manipulating RequeueAfter, but ideally we'd avoid reinventing controller-runtime's wheels. I've raised https://github.com/kubernetes-sigs/controller-runtime/issues/631 requesting controller-runtime allow us to plug in our own backoff logic.

Note that configurable exponential backoff (https://github.com/kubernetes-sigs/controller-runtime/pull/731) made it into https://github.com/kubernetes-sigs/controller-runtime/releases/tag/v0.5.1.

controller-runtime takes a pretty simple approach based on what you return in reconcile.Result. You can view the source here, but it essentially boils down to (in order):

If you return an error it will add the request to the queue with the passed rate limiting interface.
If you return RequeueAfter: <vaule>, the request is added to the queue with the specified delay.
If you return Requeue: true, the request is added to the queue with the passed rate limiting interface.

The rate limiting interface is passed at controller setup time as part of the builder WithOptions. The default rate limiter is a "max of" limiter that uses both a bucket and per-item rate limiting approach. The per-item rate limiter uses a base delay of 5 milliseconds and a max delay of 1000 seconds (this is already described in the issue body, see here for what that backoff schedule looks like).
We return RequeueAfter: <value> pretty | much | everywhere in the managed reconciler unless we have an error occur while actually talking to the API server (e.g. updating the status of a resource). This means that for any error that involves interacting with the external API (e.g. AWS), we are resigned to wait a hard-coded period (typically 30 seconds) before trying again, even if the error is expected to resolve quickly or is expected to take a long time to resolve (e.g. a resource we are erroneously detecting an update required for and issuing failed update requests for every 30 seconds). This means we frequently either wait longer than needed, or not long enough.
There are two primary options for improving this scenario:

We use this exponential backoff implementation (or potentially our own that we plug in, or something like the fast then slow rate limiter in client-go) and return an error in both the case where we error talking to the API server and we error with an operation against the external API. This would be a simple option that wouldn't necessarily require any consumers of crossplane-runtime to change code, but it would also mean that talking to the API server and talking to external APIs would be tightly coupled as a failure domain.
We could impose a separate backoff implementation in the managed reconciler for errors with the external API that we currently handle with RequeueAfter: <value>. This would allow us to still use a retry that makes sense with the API server (i.e. if we fail with a request to the API server we expect that it will succeed within the next couple of tries, meaning that a delay of 5 milliseconds and a quick escalation makes sense), and a separate one with external APIs. A good example of this would be the aforementioned case where we constantly issue updates to the external API for a resource. In that case we would probably want something similar to a variation of the fast then slow rate limiter where we might try every 5 seconds for a time, then every 30 seconds, then move to something much larger (i.e. resign to the fact that we aren't going to fix it) such as multiple hours.

I am in favor of option (2) primarily due to the fact that we may want to also rate limit successful operations of the managed reconciler. This would primarily be applicable in a scenario where we have a controller continuously detect that an update is needed, requests an update, and gets a successful response. Using our own rate limiting / backoff implementation on top of the one provided by controller-runtime would mean that we could handle a case where many sequential updates were made successfully and backoff in that "non-error" situation as well.
Lastly, consumers of the managed reconciler could always override the backoff we implement with one that makes sense to the behavior of the specific managed resource, so they would not be locked in to whatever we decide is the most appropriate general case solution.
/cc @negz @muvaf @kasey

I prefer to keep it simple for the time being and go with option one. I'd like to avoid building our own backoff layer until we know that we need to. I suspect that using a relatively well tuned controller-runtime rate limiter will go a long way even if it only handles failed operations, and even if it treats all failed operations equally (i.e. doesn't distinguish between external API failures, API server failures, etc).
I'm not familiar with the fast then slow rate limiter, but I'm wary of ever backing off to more than a couple of minutes unless we have some way to make it really obvious to users that we're reconciling very infrequently. My hunch would be to backoff from retrying about once a second to retrying about once a minute (indefinitely), especially if we were rate limiting at the controller-manager scope rather than the controller scope. i.e. It would be nice to be able to guarantee we'd only hit the AWS API at most once a second even if we were reconciling hundreds of AWS managed resources.
Somewhat tangentially, we might want to make our happy path speculative requeue frequency configurable. I believe many reconcilers have a WithLongWait option, but they're not plumbed up to anything. It's hard to choose a setting that works for everyone here, so I think ideally we'd let folks decide how frequently we should poll external APIs. I imagine the happy-path polling interval would correspond pretty well with the cap for exponential backoff when we're experiencing an error. i.e. If it's okay to poll every 60 seconds in the happy path it's probably fine to poll every 60 seconds while we wait for an error to resolve.

@hasheddan This is pretty much done now from a controller-runtime perspective, right? Should we close this?

@negz yep sounds good :+1:


Blog posts on our latest release and our next event -- need info

I suggest that we announce new releases on the blog, and also announce upcoming tutorials and other events. There are two placeholder posts that could use editing, if people agree with this.

OpenCilk 1.1 released has the correct date, and a link to the install page, but it could really use something about what's new in version 1.1.
OpenCilk tutorial at SPAA 2022 imagines that we're doing a tutorial in Philadelphia this July. Could we add a post like this that announces our next real-life tutorial?

Thanks @dcurtisatmit for pointing me to notes on release 1.1 at https://github.com/OpenCilk/infrastructure/#readme. I have incorporated those notes into the blog post about release 1.1, and I also created a new User's guide page Features of OpenCilk to hold a couple sections from this same README file.
We have no tutorial event in the pipeline for now, and so I took down the dummy tutorial announcement.


EventProperties with non-string types

Type:

Feature request

NLog version: 4.3.5
Platform: .Net 4.5
Relevant part of NLog config
<target xsi:type="Database" name="db"
		connectionStringName="LoggingDatabase">
	<install-command>
		<text>
			<!--
			NOTE: The create script below must be manually executed.
			-->
			CREATE TABLE ${var:logTableName} (
			Id bigint primary key not null identity(1,1),
			Logged datetime2,
			Level nvarchar(10),
			LogMessage nvarchar(max),
			MessageUid uniqueidentifier,
			MessagePartUid uniqueidentifier,
			MessagePartDataUid uniqueidentifier,
			)
		</text>
		<ignoreFailures>false</ignoreFailures>
	</install-command>
	<commandText>
		insert into ${var:logTableName} (
		Logged
		,Level
		,LogMessage
		,MessageUid
		,MessagePartUid
		,MessagePartDataUid
		) values (
		@logged
		,@level
		,@logMessage
		,@messageUid
		,@messagePartUid
		,@messagePartDataUid
		);
	</commandText>
	<parameter name="@logged" layout="${date:format=yyyy\-MM\-dd HH\:mm\:ss.fffffff}" />
	<parameter name="@level" layout="${level:uppercase=true}" />
	<parameter name="@logMessage" layout="${message:withException=false}" />
	<parameter name="@messageUid" layout="${event-properties:MessageUid}" />
	<parameter name="@messagePartUid" layout="${event-properties:MessagePartUid}" />
	<parameter name="@messagePartDataUid" layout="${event-properties:MessagePartDataUid}" />
</target>

Logging code
public static void LogMessage(this Logger logger, LogLevel logLevel, string logMessage, Guid messageUid)
{
	var logEvent = new LogEventInfo(logLevel, null, logMessage);
	logEvent.Properties["MessageUid"] = messageUid;
	logger.Log(logEvent);
}

Request details
It looks like the EventPropertiesLayoutRenderer converts all property values to type string. This means that if we want the target to write using a different type it is either not possible or hacks are required.
In the database target example above, I've looked at whether the type can be set on <parameter> or in the event properties layout, but can't find anything. The only thing I can come up with is this workaround in the DB insert statement:
,(select case when @messageUid = '' then null else cast(@messageUid as uniqueidentifier) end)
,(select case when @messagePartUid = '' then null else cast(@messagePartUid as uniqueidentifier) end)
,(select case when @messagePartDataUid = '' then null else cast(@messagePartDataUid as uniqueidentifier) end)

If code/tests are required, I'm happy to help!
By the way, the exception that occurs in the internal log is:
2016-07-27 10:29:18.5078 Error Error when writing to database. Exception: System.Data.SqlClient.SqlException (0x80131904): Conversion failed when converting from a character string to uniqueidentifier.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)
   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   at NLog.Targets.DatabaseTarget.WriteEventToDatabase(LogEventInfo logEvent)
   at NLog.Targets.DatabaseTarget.Write(LogEventInfo logEvent)

Hi,
Your observation is correct, you can only use string types for DB parameters ATM.
This is an issue on two levels:

All Layout Renderers are creating strings, which isn't always what we need. Related is issue https://github.com/NLog/NLog/issues/1332. This is a large refactor and probable this will take a lot of time.
The config of the database parameters is unware of the parameter type. We were working on this, but this is on hold due to higher prio stuff (e.g. .NET Core). See https://github.com/NLog/NLog/pull/1435

If we only have 2, then we can do a parse at C# (e.g. int parse, guid parse etc), and pass it to the database. It isn't perfect, but better then a parse in SQL.
We could use some help on this.  You could help us by:

helping on https://github.com/NLog/NLog/pull/1435
and/or writing unit tests with a local DB (mdf)? TDD would really help in implementing stuff.

I would start by writing unit tests and taking the TDD approach.
I'm guessing that these should be additions to #1435? Many of these unit tests will obviously fail initially until more of that PR is completed.

Good question, forking from that branch is indeed the best choice

I have a very rough "proof of concept" integration test in arangas/NLog@a7926c34548ada11aba8c6bffb4089ea48b898e4. To be able to take advantage of xUnit's constructor/dispose tear up and tear down, as well as being less convoluted, it would be better to separate out integration tests. This could probably be done using one class per provider...  Could you please advise?

Also maybe it would be preferred to close this issue and add integration tests into the TODO list on #1435.

Also maybe it would be preferred to close this issue and add integration tests into the TODO list on #1435.

Indeed, that's better! Thanks.

I have a very rough "proof of concept" integration test in arangas/NLog@a7926c3

Could you send a PR?

Created already a PR https://github.com/NLog/NLog/pull/1618
:)
Sorry for the delay, lost track of this one

@304NotModified Sorry, due to family illness I've been out of the loop for over a month. If this is still a work in progress and I can help further, please point me to the current task(s). If not, thanks for picking this up!

@arangas hope you doing fine!
This is a bit halted, 'cause there isn't  high demand and we think other features have more prio.
If you still have time to help with this, that would be great!

Closing this in favor of https://github.com/NLog/NLog/issues/522!


Per project config

This issue is suggesting the possibility to have a .wp-cli file in the project root to set some default config params.
TLDR: make it possible to run wp-cli anywhere and not just in the wordpress directory.
Background
When doing WordPress projects I usually have a directory layout like this:
git_repos_root
    doc	         // customer documentation
    public_html  // The actual document root
    tools        // various utilities that I create during the development
    xhtml        // page mockups and things like that

Then the content of public_html:
public_html
    assets       // What usually is /wp-content/uploads
    custom       // What usually is /wp-content (minus the uploads dir)
    wordpress    // A clean (write protected) checkout from WordPress svn.

    index.php
    wp-config.php

This works just fine with some tweaks to wp-config.php. The one needed for wp-cli is
if ( WP_CLI ) {
  define( 'WP_CONTENT_DIR', dirname( getcwd() ) . '/custom' );
}

But I still have to run the wp-cli command in the wordpress directory for it to work
Suggested changes
I don't want to force this directory layout onto anyone, that's not the issue here. What I would like is the possibility to have a .wp-cli file that specifies some of the input params:
document_root=public_html
wordpress_install=public_html/wordpress
site_name=My new WP site
site_url=http://www.example.com
database_name=db
user=db_user
user_pass=db_user_pass
...

Where the most important ones are document_root=public_html
and wordpress_install=public_html/wordpress (those paths are then relative to the directory in which .wp-cli is located). I would like wp-cli to locate this config file by first looking in the current directory and then one step up, recursively. Just like I am imagining that git is doing to be able to find the .git directory when I run the git command in any directory in a repos.
This would of course be totally optional, if the file is not found wp-cli can use the current lookup to try to find wp-load.php
Benefits
The thing that made me think of this first was that my commandline now often looks like wordpress $ wp-cli eval-file ../../tools/some-tool.php when it could be tools $ wp-cli eval-file some-tool.php.
But I guess a more interesting thing would be to

Create an empty git repos
Create a .wp-cli file with your settings
Run wp-cli new
Magic happens, that is, WordPress is downloaded (latest or version specified in .wp-cli) and installed according to settings.

An other thing would be to allow wp-cli db to run even if WordPress is broken.

Wait wait wait. There are several things here:

Run wp-cli from outside the wp directory
Run wp-cli without WordPress being installed (properly, or at all)

For the first thing, that's what aliases are for. In your .bash-aliases or .bashrc file, add:
alias wp-some-tool='wp-cli eval-file ../../tools/some-tool.php'

Then just call wp-some-tool.
For the second thing, see #65 and co.


Implement monitoring /live endpoint as alternative to parsing rss feed

There are three scenarios to account for

Request is forwarded to live stream -> start yta
Request is forwarded to channel page -> do nothing
Request is forwarded to waiting room -> do nothing
Waiting rooms can sometimes be scheduled frames for free chat or weekly schedules, which will likely never go live and could spawn long-waiting yta processes which also add to rate limit margin, especially when starting up

By the way, why not just use the Holodex API to get index of scheduled streams, and then set ytarchive in -w wait mode, so that it only starts trying to download when the stream goes live?


Pin#off? & Pin#on? not working as expected.

EDIT : I understood, this behaviour is by design, but it do not seem very "natural" to me.
irb(main):007:0> r.on; r.on?
=> false

even if r is realy on a high level.
    def off?
      value == GPIO_LOW
    end

use the cached value of the pin (why a cached value ?!) which is not updated after #on or #off
    def off?
      read == GPIO_LOW
    end

is a way to fix the issue

it says in doc (http://www.rubydoc.info/github/jwhitehorn/pi_piper/PiPiper%2FPin%3Aread) that you should first call "read" to have actual state for "off?", value etc
would be good to update read me with some examples on that subject though


Adds ignore_index to sequence parallel cross entropy

Simple change to add ignore_index to 100% integration w/ Hugging Face:
https://github.com/huggingface/transformers/pull/35301
It also considered adding reduction here, and just returning loss.mean()/sum() accordingly. I can add that as well if you all thinks that makes sense.

@microsoft-github-policy-service agree [company="Bloomberg Industry Group"]

@microsoft-github-policy-service agree company="Bloomberg Industry Group"

Hello all, after working on the integration more I no longer think this PR is needed. Sorry about that. Closing until further notice.


Beginner

Im new to blockchain

Hello @Jaywest-tech
Visit the official Decentralized Dapp Protocol to follow the steps to get started on how to go about blockchain. Also do you have an existing wallet?
Use the link provided to get in touch with the team to get assisted on how to get started, claiming, bridging, swapping, staking and so on via Decentralized Blockchain Official Website
Note: click on the chat button to initiate a conversation with an agent for further assistance.