✨Implemented Placement-Decision Logic (WIP - DO NOT MERGE)

Summary
Implemented PlacementDecision calculation and handling logic, alongside a few fixes
The implementation:

Fixes a race-condition that was present in the use of gvkMapper, while also introducing gvr-mapping
Adds a supporting struct: PlacementDecisionResolver that maintains the resolutions of all placement-decisions
Adds handling for placement-decision objects, which includes handling out-of-sync objects and creating/updating objects when a decision is changed
Marks code-pieces to be deleted when Nir's transport code is ready

The flow is as follows:
An object changes -> placement-decision resolutions are updated -> modified placement-decisions are enqueued to be synced by workers -> new spec is calculated and patched for each updated resolution.
Important Notes

This PR SHOULD NOT BE MERGED

Singleton status is not yet addressed #1680
The pluggable transport #1588 needs to be enabled #1692
The code DOES NOT disable @pdettori's mixed implementation of placement-transport

Only after changes are reviewed and the above points are resolved, I will delete marked code

This code inherits the flow and styling existing in the current code

Please refrain from reviewing existing code through this PR. Comments on non-changed code should be addressed in a separate issue

Related code refactoring issues:

#1690
#1683
#1682
#1679
#1677

Related issue(s)
#1520

This PR should include the corresponding updates to the placement controller's description in the architecture document.

Are there any important distinctions among the 40 commits here now?

This commits in this branch include many violations of https://docs.google.com/document/d/1iwkhpoV76-J-3G-Rif4B1cmL9SWBO_f_fE6WK8jvsDc

@MikeSpreitzer thank you for reviewing, all your comments have been addressed.

I've created an issue to flatten the CRD structure as suggested by @MikeSpreitzer - #1702.
I think this is not very critical for now and we should first complete this PR and the other changes in renaming api group and CRDs to avoid conflicts.
we would probably do it in phase1 (after the completion of the above), it's a minor change.

@MikeSpreitzer again thank you for the thorough review. I've addressed all comments, and created issue  #1703 to document the rework/refactoring I referred to multiple times throughout the review.

@MikeSpreitzer addressed all new comments.

The conversation in https://github.com/kubestellar/kubestellar/pull/1681#pullrequestreview-1857466196 does not need to block rebasing, but I would like to see it finished.

The comment in https://github.com/kubestellar/kubestellar/pull/1681#issuecomment-1922074820 has not been addressed; that also does not need to block rebase.

The comment in https://github.com/kubestellar/kubestellar/pull/1681#discussion_r1477173528 has not been addressed; can be done after rebase.

@MikeSpreitzer addressed comments - except for the first two of the last 3 PR comments.
Rebased onto main.

On the failing test, when running locally:

➜  kubestellar git:(merge) ✗ wait-for-cmd 'expect-cmd-output '''kubectl --context imbs1 get manifestworks -n cluster1; kubectl --context imbs1 get manifestworks -n cluster2''' '''wc -l | grep -wq 8''''
NAME                                       AGE
addon-addon-status-deploy-0                98m
v1-namespace--nginx                        12m
appsv1-deployment-nginx-nginx-deployment   12m
NAME                                       AGE
addon-addon-status-deploy-0                98m
v1-namespace--nginx                        12m
appsv1-deployment-nginx-nginx-deployment   12m
^C%
➜  kubestellar git:(merge) ✗ wait-for-cmd 'expect-cmd-output '''kubectl --context imbs1 get manifestworks -n cluster1; kubectl --context imbs1 get manifestworks -n cluster2''' '''wc -l''''
NAME                                       AGE
addon-addon-status-deploy-0                99m
v1-namespace--nginx                        13m
appsv1-deployment-nginx-nginx-deployment   13m
NAME                                       AGE
addon-addon-status-deploy-0                99m
v1-namespace--nginx                        13m
appsv1-deployment-nginx-nginx-deployment   13m
^C%

Which you can see hangs, but running manually:

➜  kubestellar git:(merge) ✗ (kubectl --context imbs1 get manifestworks -n cluster1; kubectl --context imbs1 get manifestworks -n cluster2) | wc -l
8
➜  kubestellar git:(merge) ✗ (kubectl --context imbs1 get manifestworks -n cluster1; kubectl --context imbs1 get manifestworks -n cluster2) | wc -l | grep -wq 8
➜  kubestellar git:(merge) ✗

@vMaroon : thanks. I reviewed it all again, found just one new thing, noted just above.

I have asked GitHub to retry the failed workflow job.

The test/e2e/multi-cluster-deployment succeeds for me too when I run it on my laptop.

To investigate failures in CI, the workflows can be extended to print a bunch of relevant state.  See https://github.com/kubestellar/kubestellar/blob/main/.github/workflows/docs-ecutable-user-quickstart-test.yml#L71-L95 for an example (specific to the legacy architecture, of course).

@vMaroon : in your remark "A branch that changes retries to 35 failed 5/8 times. (Again retries are not really exhausted)", what do you mean by "retries are not really exhausted"?

If we need 60 retries to get a reliable test, then so be it.

@MikeSpreitzer what I mean is that when it works, it works right away - not that the increase from 36 to 50 made it work.

Both tests failed with 200 retries. Just now I asked GitHub to re-run the failed workflow jobs. We will see what that produces.
We need to debug this. We need the workflow to unconditionally dump the controller logs and object contents. We need the placement controller to log enough. We need OCM to log enough.

I got a bit lost in this thread, I understand that there is instability in the test results and it may take a lot of retries to get the test to complete. Are these tests reliable when running locally? If that is that case, could it be that there are not sufficient/reliable resources when running in the CI/CD VM ? @francostellari has evaluated that to run the 3 kind clusters + KF / KS + wds1 / imbs1 takes about extra 3 GB of memory.

@pdettori when running locally, everything worked 100% of the time. In CICD, sometimes it worked, sometimes did not.
But there is a bug in the controller's setup (::run) that in main's code leads to a lot of failures on workers wake, and in my code to death.
The bug is here:
 // ensure CRDs are installed before starting up
 if err := crd.ApplyCRDs(c.dynamicClient, c.kubernetesClient, c.extClient, c.logger); err != nil {
          return err
 }

// Get all the api resources in the cluster
apiResources, err := c.kubernetesClient.Discovery().ServerPreferredResources()
if err != nil {
	// ignore the error caused by a stale API service
	if !strings.Contains(err.Error(), util.UnableToRetrieveCompleteAPIListError) {
		return err
	}
}

Between these two, nothing makes sure that the CRDs have been digested by the apiserver.
Therefore, if the Placement CRD does not make it into the apiResources list, the workers are woken into failures (since workload object processing requires listing placements, and there is no lister for placements yet in this case), until the Placement CRD is reconciled by a worker.
In the new code, there is a new function that is a part of ::run (populatePlacementResolverWithExistingPlacements) that expects the existence of the placements lister in the listers map. Therefore in the scenario above, it kills the launch.

@vMaroon thank you for the explanation, now I understand. Is there anything we could better in the  waitForCRDAccepted to ensure that the API is in discovery ? perhaps use the discovery client at that point and poll until it shows up there?

@vMaroon - FYI - I found and fixed also a race condition in the startup of the status controller that may also crash the controller, but you are not yet hitting that it seems  - see https://github.com/kubestellar/kubestellar/pull/1707/files#diff-4752b8f7ccbed6c0bbc49182b308efcbd91e01dbe87f2d612b24616b4e0f20d4

I have drafted a fix for the problem @vMaroon identified, see https://github.com/vMaroon/kubestellar/pull/8 .  I am running the workflows on it now.

@MikeSpreitzer I have tested that, it doesn't work. I've also tested waiting until listing CRDs covers the API CRDs as such, also doesn't work.
My next planned attempt is to wait until c.kubernetesClient.Discovery().ServerPreferredResources() covers them.

The workflow runs on https://github.com/MikeSpreitzer/kcp-edge-mc/tree/more-1681 succeeded.  I just asked GitHub to retry them.
The mere existence of the CRD objects is not enough, that is implied by the fact that their NamesAccepted Condition is not enough.

Apologies @MikeSpreitzer my last comment was wrong, I did test it earlier and it worked https://github.com/vMaroon/kubestellar/actions/runs/7805371893/job/21289436982, if I recall correctly, I dropped it due to what I now understand is a misread of it being inferior to NameAccepted.
It is time to sleep.

@vMaroon @MikeSpreitzer great find! I should have waited for Established indeed, can't remember now why I have used NameAccepted

See also https://github.com/vMaroon/kubestellar/pull/9 . We do not have to merge that change into @vMaroon 's merge branch, I could open a PR against main for it --- after this PR merges. Or before, if @vMaroon wants to trim the workflow changes out of this PR.

@pdettori : did you clone the placement controller outline --- including the submission of the CRD object definitions to the apiserver --- from somewhere? I am wondering if something about this problem should go back upstream.

@MikeSpreitzer the general outline was largely based on the sample controller. The crd check was not taken from a specific example, I just used a pattern I was familiar with based on wait.PollUntilContextCancel to periodically poll for an object and check the status. The issue is that I looked at the wrong condition.

/lgtm
/approve


find all unnamed capture groups in user supplied regex

This may be a feature request, or a request for more explicit documentation if this is already possible.
I'm looking for a way to find unnamed capture groups in user supplied regex. My use case is to extract useful values from a line of text and then dump the rest into an "other" column.
Example:
Input: An error occurred on Date: 21-09-2019, where 'calc.exe' crashed with error code 999
(user supplied) regex: (.*)Date: (?<date>\d+-\d+-\d+)where \'(?<name>[^'])'(.*)
Ideal output:

Date
Name
Other

21-09-2019
calc.exe
"An error occurred on", "crashed with error code 999"

Code:
let caps = re.captures(line);
let date = caps.name("date").unwrap();
let name = caps.name("name").unwrap();
let others = caps.unnamed().unwrap().collect();

You should be able to do this pretty easily with the capture_names method: https://docs.rs/regex/1.3.1/regex/struct.Regex.html#method.capture_names
See also: https://docs.rs/regex/1.3.1/regex/struct.CaptureNames.html
I'm on mobile. Let me know if you want an example. Your example, or something like it, might be a good one to put in the docs.

From what I can see, named captures can also be referenced by index. So you're saying I'd have to collect all captures, collect the named captures, and xor to get unnamed?

Not sure I follow. Just collect the indices of all elements from the iterator that are None (sans the first one). Then use those indices on your Capture match.

Ohhh, I'd completely missed in the docs that .capture_names() iterates over not just the named ones. My bad, that definitely solves my problem. Thanks!
May be worth adding to the docs of the fn, rather than just the struct, but I can also see the case for conciseness in leaving it out.


bug: Can't use external types as part of new type with declare_program! when compiling with idl-build

If I have a type in an external program and I try to create a new type with it as part of it, I get
error: proc-macro derive panicked
 --> programs/my-program/src/lib.rs:6:10
  |
6 | #[derive(anchor_lang::AnchorSerialize, anchor_lang::AnchorDeserialize, Clone)]
  |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |
  = help: message: Failed to get program path: NotPresent

There's an easy way to recreate this:
IDL for external program:
{
  "address": "Externa111111111111111111111111111111111111",
  "metadata": {
    "name": "external",
    "version": "0.1.0",
    "spec": "0.1.0",
    "description": "Created with Anchor"
  },
  "instructions": [],
  "accounts": [],
  "events": [],
  "types": [
    {
      "name": "MyStruct",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "field",
            "type": "u32"
          }
        ]
      }
    }
  ]
}

Code for program importing it:
use anchor_lang::prelude::*;

declare_program!(external);
use external::types::MyStruct;

#[derive(anchor_lang::AnchorSerialize, anchor_lang::AnchorDeserialize)]
pub struct Utils {
    pub authority: MyStruct,
}

Trying to build this throws the above error.
Edit: Upon further investigation, this doesn't happen if we do idl-build = [].
Edit: After further investigation I've found the place where it blows up: https://github.com/coral-xyz/anchor/blob/master/lang/syn/src/idl/external.rs#L21

When using it local or git version, you currently need to also build the CLI using the same way because of https://github.com/coral-xyz/anchor/pull/2946.

Edit: After further investigation I've found the place where it blows up: https://github.com/coral-xyz/anchor/blob/master/lang/syn/src/idl/external.rs#L21

That env variable should always be set using the latest CLI: https://github.com/coral-xyz/anchor/blob/e71a63cb7ae2eaefc4c2f31d04af140434ee0049/idl/src/build.rs#L98


refactor(connlib): delay initialization of Sockets until we have a tokio runtime

Our sockets need to be initialized within a tokio runtime context. To achieve this, we don't actually initialize anything on Sockets::new. Instead, we call rebind within the constructor of Tunnel which already runs in a tokio context.
Fixes: #4282

@thomaseizinger I think you'd be much faster at wrapping this up, so I'll assign it to you. I went down the road of adding a new with_runtime closure to Session like you have with with_protect but got stuck. Not sure if that's the right approach.
I think Gabi pulled 2c2c617 out because it was causing CI failures.

@jamilbk I hope the patch I pushed fixes it! It also removes some duplication from the previous approach which is nice :)

Tested on Android (emulator 10), macOS, and iOS and this seems to fix the issue.

@ReactorScram I think this is failing to get merged because #4198 got merged before.

Updating from main, just need to fix the semantic errors.
@AndrewDryga We finally hit a good example of where two PRs in flight prevent a semantic error from landing in main

Yeah 4198 is the one I was thinking of, where I had to do session.reconnect(Sockets::new())

Makes sense. Some of the last month of refactors have definitely been fighting each other though, I just had to add that Sockets::new() to session.reconnect() in the GUI client on another PR branch, and now it's already going away again lol

Yeah sorry about that. What was merged in https://github.com/firezone/firezone/pull/4263 was actually an in-between design, see https://github.com/firezone/firezone/pull/4263#issuecomment-2016616227.


feat: Add new AuthorControlledParent role

This role, and the associated logic in accesskit_consumer, is meant to handle a pattern I'm seeing in GTK, and which is probably common in other object-oriented toolkits with a one-to-one correspondence between widgets and accessibility nodes. In GTK, there are some widget classes like GtkMenuButton that are essentially wrappers around a more generic widget like GtkToggleButton. In these cases, the more generic widget is the one that's actually focusable, and the wrapper ought to be filtered out of the platform accessibility tree. But the wrapper is the one that's actually created by the application developer, and is the place where they can set properties like the accessibility name and description. GTK's accessibility implementation currently has special-case logic for pulling the name and description from the parent for these specific widgets, but I think this is a general pattern that's worth codifying in AccessKit. I wrote test cases to verify that the logic I had in mind is actually implemented. This does make accesskit_consumer::Node::labelled_by more complicated, but in general, I think we should be willing to make the consumer more complicated in order to simplify toolkit implementations.

I'm abandoning this PR. One of my guiding questions for AccessKit now is, "Am I sure I want to ship this in 1.0?" And for this PR, the answer to that question is no. This PR was prompted by a problem in GTK, so I'll do a workaround in my GTK AccessKit implementation instead.


Scala 2.12 version

Hi, when will there be a release compatible with Scala 2.12?
Regards,
Andrew

I have the same question.

+1

I have been looking into this, and there is 4 dependencies that need an upgrade to be able to provide Scala 2.12 support as their current version don't have 2.12 support. This is:

com.typesafe.scala-logging:scala-logging is currently at 3.4.0 and needs update to at least 3.5.0
net.databinder:unfiltered-netty-server currently has no scala 2.12 support, but the project is active and 2.12 support is in the making
net.databinder.dispatch:dispatch-core is currently at 0.11.3 and needs update to at least 0.12.0
io.gatling:jsonpath is currently at 0.6.4 and needs update to at least 0.6.8

I'll be working on PRs to update dependencies for those projects that do have Scala 2.12 support already.

Contrary to what I wrote in my first comment, unfiltered-netty-server does have support for Scala 2.12 since version 0.9.0, and that version is already out. What I missed (and the reason why I didn't find it), is that the project group ID has been renamed to ws.unfiltered. Versions 0.9.0 and 0.9.1 of the project have been released under that new org name.

Scala 2.12 version 3.5.4-rc.0 has been released

It looks like this is not working yet: I am getting following resolution problems
[warn] 	Note: Unresolved dependencies path:
[warn] 		au.com.dius:pact-jvm-model:3.5.4-rc.0
[warn] 		  +- au.com.dius:pact-jvm-matchers_2.12:3.5.4-rc.0
[warn] 		  +- au.com.dius:pact-jvm-consumer_2.12:3.5.4-rc.0 (XXXXXX)
So, it looks like jvm-matchers:3.5.4-rc0 depends on pact-jvm-model 3.5.4-rc.0 which does not exist.
A 3.5.4 version does exist.

Ah, yes, au.com.dius:pact-jvm-model:3.5.4 is the correct one.
Are you able to force the jar version, because I'll need to publish a new version to correct the dependency issue.

You can work around it by excluding the pact-jvm-model dependency and explicitly including the correct one in sbt:
libraryDependencies ++= Seq(
  "au.com.dius" %% "pact-jvm-consumer" % "3.5.4-rc.0" exclude("au.com.dius", "pact-jvm-model"),
  "au.com.dius" %% "pact-jvm-model" % "3.5.4"
)

Closing this as master branch is now based on 2.12


Still maintained?

We are looking to use Redis Sentinels with Airflow / Celery. Is this plugin still maintained? If not, is there a blessed way to use Sentinels with Airflow / Celery?
I saw the last release was 2 years ago and the last commit was 1 year ago…so I just thought I'd ask.  😄

@nrutman Celery supports Sentinels out the box since v4.0.
Docs: http://docs.celeryproject.org/en/latest/getting-started/brokers/redis.html

It would be nice to add that to the readme of this package as it is one of the top results for a search on "celery redis sentinel"
Took me quite a while to figure out that it is natively supported now 😅


GovCloud support?

Does s3p support GovCloud? I can list all my buckets on a commercial AWS account without issue. Using access keys and buckets in a GovCloud account results in InvalidAccessKeyId: The AWS Access Key Id you provided does not exist in our records. . Is this expected? Am I doing something wrong?

I haven't tested it with GovCloud. I did a version bump on the AWSv2 library I'm using, but AWS wants everyone to migrate to v3 - which I haven't done yet. That's probably why GovCloud isn't working.

Dependent on: #48

I just bumped s3p to the AWS SDK v3. It's possible it will now work with GovCloud. If you can access your GovCloud account with the amazon CLI tools, I'd think it should also work with the AWS SDK v3...
Could you test and see?

Just tested and can confirm, I was able to successfully list a bucket in GovCloud with v3.5.2! Thanks for the update!


HHH-14837 - Move to Jakarta EE

Not stoked about:

the jaxb2-basics stuff that requires pushing those patched jars into git, but they are only used at build-time so it is not a huge deal.  See https://github.com/highsource/jaxb2-basics/pull/129
The JCache/Ehcache one is a bit more troubling.  At the moment, we do not have a working second level cache provider with this move to Jakarta EE.  Ehcache is the hold up - it uses JAXB and would need to update for using "Jakarta XML Binding" (just like we had to do).  See https://github.com/ehcache/ehcache3/issues/2946

The failures are related to spatial depending on tests from hibernate-core.  I am not a fan of this.  These are called test fixtures and really belong in a common place (aka hibernate-testing).
Apparently spatial has been re-enabled since I started this branch

Somehow the rebase messed up all of the transformations on hibernate-core :sigh:

Should never have pulled in the most recent work from upstream wip/6.0 after I started this...
The rebase killed a lot of the transformations and I am now trying to dig through a lot of envers test failures.
Consider this a draft for now

Closing in favor of https://github.com/hibernate/hibernate-orm/pull/4243


add field to make service-ca.crt more secure

part 2 of the four step plan in https://github.com/openshift/service-ca-operator/pull/167

/lgtm
for @soltysh to have a look (it's his API):
/hold

/lgtm

/cherry-pick release-4.8

/cherry-pick release-4.7

/cherry-pick release-4.6


serving/xrefs: guard against merge cycles [phab:D1459]

Created by schroederc at 2017-03-28 18:26:44:

zarko accepted this revision at 2017-03-28 19:18:59

schroederc closed via commit f88b0499fb67f9bfadb5bcfea7e2b1043681ed69 at 2017-03-28 19:46:31


Build terminfo directories into ncurses when enabling static.

Description of changes
This builds in terminfo directories into ncurses when enabling static, even on non-static versions of nixpkgs.
Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] 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/)
24.05 Release Notes (or backporting 23.05 and 23.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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Made the wrong PR again.


Testers with verbose as an argument ignore them in favor of the TesterOptions

Not sure if #49 and #48 also include this problem.
If you have a class extend PeekPokeTester(c, verbose=true), verbose seems to be ignored in favor of the tester options. I think we should probably remove verbose as an argument to the testers, but this may break a lot of things.

Closed by #50 #55


getAttribute seems to not work anymore on latest firefox

It seems that code like the following is not working anymore on latest firefox: expect(await element(by.model("modelname")).getAttribute("value")).toEqual("42");
The function getAttribute seems to always return null;
The same code always worked on previous version of firefox and continue to work on all other browsers.
I suspect this could be due to an incompatibility with recent firefox and the version of selenium included in protractor (that is unfortunately still 3.6.0).

I was actually wrong reporting this. The bug actually verifies only on chrome.


Add Pointer type and logging functions

Similar to https://github.com/extism/rust-pdk/pull/1
Depends on: https://github.com/extism/extism/pull/11 (that's why CI is failing)

I'm going to add some CI workflow tests to this PR - but all looks good at a glance. Will ping here with updates & for review as needed!


Object tweens only when pausing the game

Describe your problem here.
I've made an object and an event that moves the y axis of the object, but the object only does its tween only when pausing and unpausing the game, and it doesn't even do the tween, it just snaps to the location in the tween.
Here's the object's code:
makeAnimatedLuaSprite('bgLava', 'mario/IHY/Luigi_IHY_Background_Assets_Lava', -18, 716);
addAnimationByPrefix('bgLava', 'blub', 'Lava', 12, true);
scaleObject('bgLava', 1.3, 1.3);
setObjectCamera('bgLava', 'other');
and here's the event's code:
function onEvent(name,value1,value2)
if name == "Sacar Lava" then
doTweenY('fuckmylife', 'bgLava', value1, 'quadInOut')
end
end
(the object does his animation just fine btw)
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No, i just added things trough the "mods" folder.

I can't be sure if this solves the problem, but that tween is missing a duration. The duration goes between the target and the ease.


Bugfix check port.

The check port value should dependes on the .Values.global.proxy.statusPort .

Hi @wangfakang. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

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

This is intentionally 15090, see
https://github.com/istio/istio/blob/e3fbe25e37f9d43ab5b4fa897bf1a87a1cc1ed38/tools/packaging/common/envoy_bootstrap_v2.json#L467

Shouldn't the health check request trace be like this health check ---> pilot-agent ----> Sidecar（Envoy/MOSN）?

We changed to go health check -> envoy (worker thread) -> agent -> envoy (/stats, main thread).  Envoy threading model means that requests to the admin interface are not representative of the requests that users are making, as they run on completely different threads/code paths. Readiness probe best practices suggest we make the probes as similar to traffic as possible, otherwise we may have false negatives. See #21488 for more info

We changed to go health check -> envoy (worker thread) -> agent -> envoy (/stats, main thread). Envoy threading model means that requests to the admin interface are not representative of the requests that users are making, as they run on completely different threads/code paths. Readiness probe best practices suggest we make the probes as similar to traffic as possible, otherwise we may have false negatives. See #21488 for more info

I have a question, How to ensure the health status of pilot-agent in this way?

I am not sure what you mean? The check goes to both envoy and pilot-agent

I am not sure what you mean? The check goes to both envoy and pilot-agent

thx, I see.

I am not sure what you mean? The check goes to both envoy and pilot-agent

thx, I see.

Why the ingress gateway doesn't use 15090?

@wangfakang: PR needs rebase.

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

@wangfakang: PR needs rebase.

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

@wangfakang ingress not using 15090 was a bug that has since been fixed. thanks for pointing this out


Smart socket shows up as light with brightness instead of switch.

Describe The Bug:
It's the smart socket from Home Depot. https://www.homedepot.com/p/Commercial-Electric-Indoor-Outdoor-Smart-Hubspace-Screw-Based-Lighting-Socket-HPLA11CWB/316692074
This is the error from the homebridge log. The light still does function for on and off, just with the error and the fact that it's a slider instead of a switch.
To Reproduce:
Setup as prescribed.
Expected behavior:
Should be switch instead of slider.
Logs:
[11/23/2022, 5:54:34 PM] [homebridge-plugin-hubspace] This plugin generated a warning from the characteristic 'Brightness': characteristic value expected valid finite number and received "undefined" (undefined). See https://homebridge.io/w/JtMGR for more info.
Environment:

Plugin Version: 1.0.0
Homebridge Version: 1.5.1
Node.js Version: 18.12.1
NPM Version: 8.19.2
Operating System: Ubuntu 20.04.5 LTS

im working on a feature complete version of this plugin that will address this. i honestly initially just created this for my string lights initially 😀
hopefully will have some time to implement more devices over the coming weeks

Ran into this issue as well. I had just cloned this repo last night to start poking around to try to see if I could contribute a PR to resolve the issue. Happy to help in anyway.

For a quick patch you can just change the hard coded Lightbulb to a hard coded Outlet, and remove the brightness attribute.
The outlet only shows up as a single device even though it has 2 outlets.  Looks like the hubspace api only returns a single device with separate actions for each socket.  So, I'm thinking somehow this needs to get broken up into multiple devices.

yeah you’re spot on. they use afero iot platform behind the scenes and
every THING is one asset in their platform. there’s a bit of remodeling to
do to deal with devices that need to be multiple underlying devices for
homekit
i will have some time this weekend and plan to make some progress here
On Fri, Dec 2, 2022 at 8:25 AM jgstroud @.***> wrote:

For a quick patch you can just change the hard coded Lightbulb to a hard
coded Outlet, and remove the brightness attribute.
The outlet only shows up as a single device even though it has 2 outlets.
Looks like the hubspace api only returns a single device with separate
actions for each socket. So, I'm thinking somehow this needs to get broken
up into multiple devices.
—
Reply to this email directly, view it on GitHub
https://github.com/zenion/homebridge-plugin-hubspace/issues/2#issuecomment-1335500880,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA7EOKOVSIQGDXY2M4SVNQTWLIPF7ANCNFSM6AAAAAASJPRVW4
.
You are receiving this because you commented.Message ID:
@.***>

--
Josh Stout
Phone:<PHONE_NUMBER>
LinkedIn http://www.linkedin.com/in/joshstout

One side effect I noticed from changing the type from Lightbulb to Outlet is that it created two new devices and left the old ones.

You just need to remove the cached objects in HomeBridge.  Click the triple dots in the top right corner, then HomeBridge settings.   From there you can remove the cached items.

Just purchased this smart socket and it shows as a switch


"Add xp" button broken on iPhone

Tested on iOS 10 iphone 5 and 6 and iPad.
Only on local version? needs more testing

I got this to reproduce once on the iOS simulator - not sure what version.
Have just tested iOS 11 on iphone 5,6 and 7 and no issues.
problem seems to be related to when safari displays the onscreen keyboard

Seems to be related to when the software keyboard is showing

"lose upgrade" button is also broken.
Maybe all forms in modals?

Issue only is iOS 11.
It is this problem: https://hackernoon.com/how-to-fix-the-ios-11-input-element-in-fixed-modals-bug-aaf66c7ba3f8
Does not look like apple are fixing soon :(


Fixes weird GenServer bug

As pointed out in this issue
https://github.com/elixir-crawly/crawly/issues/224, GenServer.call(__MODULE__, {:pop, Elixir.Homebase}), which is invoked from the worker.ex
here, returns the value :ok, shortly after starting the spider. With this change, the worker treats the returned :ok value similar to a returned nil, and waits for a request to be available.

irrelevant to issue, see issue comment


Derive peripherals for interrupts

Discussion on https://github.com/esp-rs/esp32/pull/14#issuecomment-578420383 after that PR was merged has indicated some mistakes with the approach taken in that PR.
Generally, peripheral names can be determined directly from the interrupt names by taking the prefix of the names.  Some renaming is required to match up to peripherals extracted from the registers in the IDF source.
This is not ready yet - I'm opening the PR early for discussion on what to do with interrupts for indexed peripherals.

@davidkern We are getting a bit stuck because of the limitations of the svdtool (which we can only do limited edits to to ensure compatibility with stm32). So it looks like improving idf2svd is the way to go.
Did you happen to make progress with the indexed peripherals?

@arjanmels I had gone down some blind alleys, was a bit stuck learning nom and then found myself without time to work on this.  But I'm making progress this weekend - I nearly have enough of a C parser working to "query" the ESP-IDF source to be able to correctly infer the relationship between peripherals and more generally not need to make brittle regex's.
Maybe I won't be able to get everything done this weekend, but the code is definitely easier to understand.  So I'll put up a PR as soon as it can at least do what idf2svd can do now!


Update Contact Us Section

Current Contact Us Section

Updated Contact Us Section

@mohityadav0903 Please assign me this issue under GSSOC'22

hey @shivam123-dev u can work on it

@mohityadav0903 Please review PR #37


WFCORE-564 Fix PersistentResourceXMLDescription parser

it now properly supports mixing attribute groups & wrappers
add support for multiple resources inside wrapper element
add option to override also marshaller inside parser definition
add tests to make sure this works properly

rework internals to not use map<attribute-name, attribute> to properly support multiple groups with same xml names for different attributes

Windows Build 1002 is now running using a merge of a2ec35d20be533ef1a3d5ddb3fde5ea1f0db5314

Core - Full Integration Build 582 is now running using a merge of a2ec35d20be533ef1a3d5ddb3fde5ea1f0db5314

Linux Build 1330 is now running using a merge of a2ec35d20be533ef1a3d5ddb3fde5ea1f0db5314

Linux Build 1330 outcome was SUCCESS using a merge of a2ec35d20be533ef1a3d5ddb3fde5ea1f0db5314
Summary: Tests passed: 3050, ignored: 64 Build time: 0:18:27

Windows Build 1002 outcome was SUCCESS using a merge of a2ec35d20be533ef1a3d5ddb3fde5ea1f0db5314
Summary: Tests passed: 3050, ignored: 64 Build time: 0:19:12

Core - Full Integration Build 582 outcome was FAILURE using a merge of a2ec35d20be533ef1a3d5ddb3fde5ea1f0db5314
Summary: Tests failed: 1 (1 new), passed: 2831, ignored: 415 Build time: 0:51:29
Build problems:
Failed tests detected
Failed tests
org.jboss.as.test.clustering.cluster.sso.ClusteredSingleSignOnTestCase(SYNC-tcp).testFormAuthSingleSignOn: java.lang.AssertionError: Logout: Didn't saw HTTP_MOVED_TEMP(500)
	at org.junit.Assert.fail(Assert.java:88)
	at org.junit.Assert.assertTrue(Assert.java:41)

retest this please

Windows Build 1005 is now running using a merge of a2ec35d20be533ef1a3d5ddb3fde5ea1f0db5314

Linux Build 1333 is now running using a merge of a2ec35d20be533ef1a3d5ddb3fde5ea1f0db5314

Core - Full Integration Build 585 is now running using a merge of a2ec35d20be533ef1a3d5ddb3fde5ea1f0db5314

Linux Build 1333 outcome was SUCCESS using a merge of a2ec35d20be533ef1a3d5ddb3fde5ea1f0db5314
Summary: Tests passed: 3050, ignored: 64 Build time: 0:18:20

Windows Build 1005 outcome was SUCCESS using a merge of a2ec35d20be533ef1a3d5ddb3fde5ea1f0db5314
Summary: Tests passed: 3050, ignored: 64 Build time: 0:18:36

Core - Full Integration Build 585 outcome was FAILURE using a merge of a2ec35d20be533ef1a3d5ddb3fde5ea1f0db5314
Summary: Tests failed: 1, passed: 2831, ignored: 415 Build time: 0:50:28
Build problems:
Failed tests detected
Failed tests
org.jboss.as.test.clustering.cluster.sso.ClusteredSingleSignOnTestCase(SYNC-tcp).testFormAuthSingleSignOn: java.lang.AssertionError: Logout: Didn't saw HTTP_MOVED_TEMP(500)
	at org.junit.Assert.fail(Assert.java:88)
	at org.junit.Assert.assertTrue(Assert.java:41)

unreleated failure.

retest this please

Windows Build 1032 is now running using a merge of a2ec35d20be533ef1a3d5ddb3fde5ea1f0db5314

Core - Full Integration Build 612 is now running using a merge of a2ec35d20be533ef1a3d5ddb3fde5ea1f0db5314

Linux Build 1360 is now running using a merge of a2ec35d20be533ef1a3d5ddb3fde5ea1f0db5314

Linux Build 1360 outcome was SUCCESS using a merge of a2ec35d20be533ef1a3d5ddb3fde5ea1f0db5314
Summary: Tests passed: 3050, ignored: 64 Build time: 0:18:16

Windows Build 1032 outcome was SUCCESS using a merge of a2ec35d20be533ef1a3d5ddb3fde5ea1f0db5314
Summary: Tests passed: 3050, ignored: 64 Build time: 0:18:18

Core - Full Integration Build 612 outcome was SUCCESS using a merge of a2ec35d20be533ef1a3d5ddb3fde5ea1f0db5314
Summary: Tests passed: 2832, ignored: 415 Build time: 0:50:18


cpu: fix building for js

Avoid importing the x/sys/cpu package for the js build tag.
Mark that CPU target has having none of the CPU features.
Fixes the build against gopherjs.

What's the use case for this?
Why are you exposing these as variables, why not unexported constants?
We'd also need to make the equivalent changes to https://github.com/marten-seemann/qtls-go1-16 and https://github.com/marten-seemann/qtls-go1-18, unfortunately.

I run Quic in the browser over WebSocket and other underlying transports using either GopherJS or Wasm depending on what support is available.
They can be unexported, sure.
If we unexport them, then I suppose the changes to the previous versions are unnecessary?

Here is a equivalent PR for 1-16 and I'll update this one to unexport.
https://github.com/marten-seemann/qtls-go1-16/pull/1

https://github.com/marten-seemann/qtls-go1-15/pull/2

We need https://github.com/marten-seemann/qtls-go1-18, not https://github.com/marten-seemann/qtls-go1-15. Sorry for this mess with the qtls versions btw ;)

https://github.com/marten-seemann/qtls-go1-18/pull/2
It's a bit of a mess, I can't lie, but I understand why it's necessary.


move element to a new empty dashboard

you cant move a element to a new empty dashboard, because there is not in the list of dashboard.

thanks, it's fixed in repo now and will be published with nearest release :)

should be fixed in v1.8.0


Add support for posix groups to LDAP auth [Resubmit]

The changes to:
/etc/inc/auth.inc
/usr/local/www/system_authservers.php
/usr/local/www/system_usermanager_settings_ldapacpicker.php
allow an ldap container to be used to provide user group membership information.
For example, ou=Groups,dc=localdomain can be used as a container for a set of posixGroup items that define groups and group membership (via the memberUid attribute, for example).
These changes are compatible with 2.0-RELEASE and have been tested against OpenLDAP running under CentOS 6.0. The original group membership method is still supported, but I do not have a suitable system to test this. Also known to work with OpenVPN under pfSense.

Support for posixGroups would be nice. I'm using Turnkey Linux OpenLDAP, and I've added a group and user via phpLADPadmin.  I cannot get the group to show up in pfSense. Here's the output from ldapvi:
dn: ou=Groups,dc=example,dc=com
objectClass: organizationalUnit
objectClass: top
ou: Groups

dn: cn=default,ou=Groups,dc=example,dc=com
cn: default
gidNumber: 500
objectClass: posixGroup
objectClass: top

dn: ou=Users,dc=example,dc=com
objectClass: organizationalUnit
objectClass: top
ou: Users

dn: cn=Jonathon Reinhart,ou=Users,dc=example,dc=com
givenName: Jonathon
sn: Reinhart
cn: Jonathon Reinhart
uid: jreinhart
uidNumber: 1000
gidNumber: 500
homeDirectory: /home/jreinhart
loginShell: /bin/sh
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
userPassword: {SSHA}aaaaaaaaaaaaaaaaaaaaaaa

dn: cn=admins,ou=Groups,dc=example,dc=com
cn: admins
gidNumber: 501
memberUid: jreinhart
objectClass: posixGroup
objectClass: top

In order to get patches applied you must sign Individual or Corporate CLA as described at https://www.pfsense.org/about-pfsense/#legal
Also this PR cannot be automatically merged anymore, please rebase your fork

Sorry, this was originally submitted over 3 years ago. I've got no plans to make any further changes.


Front-end reordering issue of orderables in Wagtail 4.0 & 4.0.1

Issue Summary
After upgrading to Wagtail > 4.0 the admin frontend stopped saving the push-up and push-down reordering of orderables referenced through an inline-panel. The UI responds correctly by moving the orderables up and down, but the state is neither saved once the post is published — nor is the changing of the sort order reflected in the live preview.
Steps to Reproduce

In order to rule out failing dependencies I started a completely new project with wagtail start myproject and made a test.
I edited the models.py in the default home app as follows and added two classes: a model and a orderable.

class CollectionPage(Page):
    content_panels = Page.content_panels + [
        InlinePanel(
            'collection_item',
            heading="My collection",
            label='collection item'
        ),
    ]

class CollectionItem(Orderable):
    page = ParentalKey(
        'home.CollectionPage',
        related_name='collection_item'
    )
    my_image = models.ForeignKey(
        "wagtailimages.Image",
        null=True,
        blank=False,
        on_delete=models.SET_NULL,
        related_name="+",
    )
    panels = [FieldPanel("my_image")]

The result is the following: In the admin panel I am able to create new collection pages and choose collection items that consist of Wagtail images. Once I have established the parentally-relations they are not reorderable. The move up and down in UI and when I publish the post, the changes in order are not saved. Neither are the changes reflected in the live preview panel.

I consider this to be a bug, since the orderables have been working exemplary all the way up to the latest updates of Wagtail. If I change the sort order directly in the database, this is indeed reflected in the frontend. The issue appears to be related to the UI-functionality in the page-editor.js (or related bindings. The UI-state is not registered outside its internal interface relationships.

I have confirmed that this issue can be reproduced as described on a fresh Wagtail project: (yes / no)

Yes!
Technical details

Python version: Python 3.10.0
Django version: Django 4.1.1
Wagtail version: Wagtail 4.0.1
Browser version: Safari 15 & Chrome 105

Can confirm this issue exists, the order input value is not being updated.

See above - re-ordering does not change the input value & then after saving, then loading the page again, the items go back to the original order.

The issue is the use of https://api.jquery.com/children/ no longer working with the new DOM structure introduced by https://github.com/wagtail/wagtail/pull/8983  / ca7f23d176eb36d15ab13118d329675b2abbda89
However, the fix may need to be carefully done as to not break nested inline panels.
      $up.on('click', () => {
        const currentChildOrderElem = currentChild.children(
          'input[name$="-ORDER"]',
        );

What is happening here is it is finding the ORDER input element as a direct child of the panel, but these inputs are now one node down inside the w-panel__content not the w-panel.
Maybe we can move the inputs up?
We should really pull this code out to its own file and add unit tests for this code as it is quite fragile.

I still have this issue in 4.1.2 ... basic inline model:
class CarouselImages(Orderable):
    """Between 1 and 5 images for the home page carousel."""

    page = ParentalKey("blog.BlogPage", related_name="carousel_images")
    carousel_image = models.ForeignKey(
        "wagtailimages.Image",
        null=True,
        blank=False,
        on_delete=models.SET_NULL,
        related_name="+",
        verbose_name="Image"
    )
    caption = RichTextField(null=True, blank=True)

    panels = [FieldPanel("carousel_image"), FieldPanel("caption")]

    class Meta:
        verbose_name = 'Carousel Image'

    content_panels = Page.content_panels + [
        MultiFieldPanel(
            [InlinePanel("carousel_images", max_num=5, min_num=1)],
            heading="Carousel Images",
        ),

@enzedonline Your class Meta: line needs to be class Meta(Orderable.Meta): - otherwise the presence of that meta class overwrites the ordering.


Sometimes, you get stuck dead..

You get stuck in the dead state and have to create a new character?

This was due to the news plugin.  Removed for now...


"Tab moves focus" should not be the default

VSCode Version: 1.15.1
OS Version: Win7 x64

Steps to Reproduce:

open new install or updated install
start a new file (language doesnt really matter)
type "function MyFunction"
hit enter
5  Type "{"  see closing brace appear
hit enter a few times to put blank space between the curlies
hit Tab to indent and start typing.

Expected: cursor moves one tab or 4 spaces (whichever, i dont care) - and i can start typing
Actual: cursor is effectively lost. There is no visual indication of where it went, and I'm hammering the keyboard and getting ready to mothball vscode again when i see the green "Tab moves focus" in the status bar.
Reproduces without extensions: Yes

"Tab moves focus" is definitely not the default. It must be especially enabled via Ctrl+M. I cannot reproduce that on startup "Tab moves focus" is activated by default.

I downloaded the latest recommended update, and then couldn't indent. I don't use VSCode that often, and this was reported with my former laptop (now only good as a hand dryer - thanks VS 15.3).  I wonder if Ctrl+M conflicts with another shortcut key combo that VSCode may have had in the past.
I would still question the need for having a shortcut key for this feature out of the box, when a menu entry would be enough.

We have added the "Tab moves focus" feature for accessibility purposes. We will not remove it. It is very easy to remove a keybinding if you don't like it: ctrl+k ctrl+s -> search for ctrl+m -> right click -> Remove keybinding

@StingyJack
Did you find a solution?


fix: remove non-working examples

Description:
Removes non-working examples after the new changes.
Checklist

[x] Documented (Code comments, README, etc.)
[x] Tested (unit, integration, etc.)

I can relate to @gsstoykov's suggestion, or if not possible to disable them, at least we can comment them? @ivaylonikolov7


Possibly wrong argc/argv

Rust contracts built by capsule build (esp. in non-release build) may not get the correct argc and argv arguments because the compiler may insert function prologue before our assembly code in _start and change the sp register.
One possible solution is to mark the _start function #[naked].
Or the _start function can be written in pure assembly and linked with rust code.
(By the way the program_entry function should use extern "C" so that it has a defined calling convention.)

#[no_mangle]
#[naked]
pub unsafe extern "C" fn _start() -> ! {
    core::arch::asm!(
        "lw a0, 0(sp)",
        "addi a1, sp, 8",
        "call main",
        "li a7, 93",
        "ecall",
        options(noreturn)
    );
}

#[no_mangle]
extern "C" fn main(_argc: u64, _argv: *const *const u8) -> i8 {
    _argc as i8
}

Use the code snippets below to work with argc and argv:
https://github.com/XuJiandong/rvv-testcases/blob/76944bc7a6d1e87c2e3d171f361881b92b1db9ff/cases/src/main.rs#L64-L81

Global asm also works, and does not require any nightly features:
core::arch::global_asm!(
    ".global _start",
    "_start:",
    "lw a0, 0(sp)",
    "addi a1, sp, 8",
    "call main",
    "li a7, 93",
    "ecall",
);


Uable to build C bindings for python according to Readme.md

(attempting to compile it under fedora)
[user@fedora build]$ pwd
/home/user/fsRoot/hyperon-experimental/c/build
[user@fedora build]$ cmake ..

...

ERROR: subunit/1.4.0: Error in build() method, line 111
    autotools.make()
    ConanException: Error 2 while executing make -j1
CMake Error at CMakeLists.txt:14 (include):
  include could not find requested file:

    /home/user/fsRoot/hyperon-experimental/c/build/conanbuildinfo.cmake

CMake Error at CMakeLists.txt:15 (conan_basic_setup):
  Unknown CMake command "conan_basic_setup".

-- Configuring incomplete, errors occurred!

works now after building the conan file for something
[user@fedora c]$ pwd
/home/user/fsRoot/hyperon-experimental/c
[user@fedora c]$ conan install .


How to Improve User Experience with Passwordless Authentication

hey hope you are well !
i want to write a  blog about this :)

Hi hope u r doing awesome!!
plz look at this 💯
hope you like this :) @raghunath-r-a
https://kec1-my.sharepoint.com/:w:/g/personal/arun_singh_as_krishnacollege_ac_in/ES1vP5cRYhJEoA8rKbrb-qcBXtVD4mJR5qJw47Rt-zFuog?e=rJPdCd

Hi @bisht-arun
I'm doing all right. I hope you're doing well.
Please note that submissions shall follow our contribution guidelines. For more details, please refer to the master issue here: https://github.com/LoginRadius/engineering-portal/issues/750
In short, you shall raise a pull request to submit the blog post.

@raghunath-r-a
Hi umm, I'm new to this. So can you plz tell me how to raise PR?

Hi @bisht-arun
You will need a basic understanding of Git to be able to follow this.
First, you need to fork our repo here: https://github.com/LoginRadius/engineering-portal
And then you need to create changes in your forked GitHub repo as per these guidelines: https://github.com/LoginRadius/engineering-portal/blob/e816dc8ee4ba13c822aeceddfe31884753899fff/CONTRIBUTING.md
You can refer to the following resources for more details on forking a repo and raising a pull request:

https://docs.github.com/en/get-started/quickstart/fork-a-repo
https://docs.github.com/en/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request

Please do let us know if you find any difficulties.

Hi @dudenayak Can you please update your progress on this?


Port Request: exrtools

I would like to request the porting of this tools to manipulate exr images:
http://scanline.ca/exrtools/
I have seen openexr is included, but some very interesting tools are included in this package. It would be nice to have the option to compile this with vcpkg.
Thanks

We can’t reopen this issue until a PR is opened, unfortunately, consider making a pull request!


request_raw should not return tenacity.RetryError

IMO we should never raise tenacity.RetryError. Instead, we should raise the underlying RequestError for request errors, potentially a new exception for network errors (or maybe just reuse RequestError, or request_processor.get_latest_results() otherwise. We could include the number of retrials in RequestError in case we want to make this information accessible by the client (or even include the tenacity.RetryError inside, as it can include interesting information).
More was discussed here: https://github.com/scrapinghub/scrapinghub-autoextract/pull/7#discussion_r454970102

More on that:
scrapinghub-autoextract raises a RetryError exception when retries fail, but the wrapped exception when retries are disabled.
IMO this is not the right API, because forces the user to handle two cases for each possible error. For example, imagine the developer wants to do something when RequestError is raised. It has to catch two exceptions:

RequestError that are raised when no retries are in place.
RetryError raised when retries are possible and all retries fail. The user has to get the underlying cause from the RetryError

I propose to always raise the underlying cause (e.g. RequestError).
Ways to implement it:

change the retrial code adding the parameter reraise=True. See https://tenacity.readthedocs.io/en/latest/#error-handling.
One argument could be that the retrials information is lost using the approach above. An alternative is to catch the RetryError, unwrap the exception, and inject into the raised exception some metadata about the retrials (e.g. a property with the number of trials)

At least for now I cannot think about a bad side-effect of adding reraise=True. Let's just ask for opinions from @ejulio and @kmike.

I'll just add that, we should have a way to know it was retried (we should be able to distinguish a non retried error and a retried one).
To some extent, I prefer two types over a property in the class.
One way to circumvent it would be to have RequestError as base and RequestRetriesExceededError(RequestError) as another class.
Then, if the user doesn't want to get the different, just catch RequestError, otherwise they'll have a way to catch both and handle them separately.

Is this fixed by https://github.com/scrapinghub/scrapinghub-autoextract/pull/27?

Thanks, @kmike for pointing this up. This was fixed by #27 . Closing

Thanks, @kmike for pointing this up. This was fixed by #27 . Closing


Set url parameters for reconnecting

I need to connect a socket.io that on connection will check if a specific query parameter contains a valid JWT token (which is not expired).
During the lifetime of the client using this library, the JWT token will expire. I can retrieve a fresh token which is not expired, but I need to update the url that rust-socketio uses for reconnection, otherwise reconnection will fail.
I see two different approaches for implementing this:

Add a public set_reconnect_url function to Client.
Add a on_reconnect function to ClientBuilder with the signature fn(ClientBuilder) -> ClientBuilder. Before the client tries to reconnect it will use the reconnect handler (if specified) to get a modified ClientBuilder. This handler can then change the url, opening headers, auth, etc...

I have implemented option 1 in https://github.com/1c3t3a/rust-socketio/pull/252

Ough.. I think this is really odd behavior that doesn't really sound like proper API design. Have you tried using something like HTTP 301 status codes to do redirection to different endpoint? I am not sure if I like the idea of redesigning the public interface for this "edge-casey" use case.

Ough.. I think this is really odd behavior that doesn't really sound like proper API design. Have you tried using something like HTTP 301 status codes to do redirection to different endpoint? I am not sure if I like the idea of redesigning the public interface for this "edge-casey" use case.

That doesn't seem to work with authentication.
Also the javascript socket.io library supports this.

Can you point me to the JS implementation of this?

The official socket.io documentation has an example of updating the query parameters on reconnect^1:
socket.io.on("reconnect_attempt", () => {
  socket.io.opts.query.x++;
});

I actually also only need the ability to change the query parameters, not the full url.

This seems to be a valid use case. I'm running into the same auth problem myself now. When a reconnect is required, I should be able to pass a new auth value. It seems like a callback for reconnect would solve this and a few other problems, like the app needing to know when a reconnect is about to happen.

@rageshkrishna I think you should open a new issue, as this issue has been fixed.


Refactor AtCommitLog

Rework the AtCommitLog and CommitLogKeyStore to segregate client and server-specific functionalities.
Within commit_log_keystore.dart, introduce a new abstract class named "BaseCommitLogKeyStore." This class should implement HiveBase and contain methods that are common between the client and server. Subsequently, transform the CommitLogKeyStore to extend "BaseCommitLogKeyStore" instead of implementing HiveBase, now containing server-specific methods. Simultaneously, introduce a new class called "ClientCommitLogKeyStore," extending "CommitLogKeyStore," to house client-specific methods.

[x]  Design and code changes
[x] Unit and functional test
[x] Raise PR
[x] Address PR review comments
[ ] Merge and publish the changes

Work done in PR-72:

Implement CommitChange method.
Refactored removeNullCommitEntries
Refactored removeMalformedCommitEntries
Started in the bench marking the performance.

Work done in PR-73:

Spent 8 SP in PR-73
Moved the commit log to Lazy box. The changes are available in lazy_commit_log_changes.
@purnimavenkatasubbu started testing the changes and found issue in at_server and at_client and the issues are fixed the changes are pushed.

Pending issue in PR-74

Retest the changes and raise a PR.

Re-tested the changes, Previously reported issues are fixed.
The observation is sync is taking considerably longer time as the commits increase. For example

For just 1000 commits, The Initial sync takes 6 seconds to complete
For 10000 commits, the time to sync for the first 1000 keys is 1 minute 45 seconds
For 30000 commits, the time to sync for the first 1000 keys is around 3 minutes


AVRO-1851: Better handling for anonymous classes

Jira

[X] My PR addresses the following AVRO-1851 issue

Tests

[X] My PR adds unit tests

Commits

[X] My commits all reference Jira issues in their subject lines.

Documentation
Only bug fixes and typos in javadoc. No new functionality.

Благодаря ти братле!


Improve PHPUnit

Hello,
I would like to improve the PHPUnit integration and increase their coverage.
In improvement I see two things define a boot file and add a namespace.
Another thing, there are two tests (testResponseState & testGetLists) requesting identifants MailChimp and blocks some tests locally or for travis. Could we fix them?
WDYT ?

Yes, I'd welcome any improvements to our unit tests. Thanks!


Flutter drive  with --preview-dart-2

Flutter drive is missing the --preview-dart-2 option, so cannot exercise the driver tests with dart 2.

@aam

@tvolkert

/cc @yjbanov FYI

I started looking into it. It seems we only support --preview-dart-2 in hot reload mode? ColdRunner has the previewDart2 flag but it's not used. I'll keep digging.

Ok, so turns out --preview-dart-2 option is passed as a field in BuildInfo supplied as part of DebuggingOptions. This already works in flutter drive. That said, flutter drive --preview-dart-2 will fail due to actual Dart 2 issues (see for example https://github.com/flutter/flutter/pull/14897). The option itself exists.
I'm closing this bug, but feel free to reopen if I missed anything.


Listing directory on fresh install

Found an issue or bug with electron-vue? Tell me all about it!
Questions regarding how to use electron or vue are likely to be closed as they are not direct issues with this boilerplate. Please seek solutions from official documentation or their respective communities.
Describe the issue / bug.
#
On a fresh install i have this 2 warnings and the listing directory screen when i run npm run dev
WARNING in ./node_modules/electron-debug/index.js
81:45-58 Critical dependency: the request of a dependency is an expression
@ ./node_modules/electron-debug/index.js
@ ./src/main/index.dev.js
@ multi ./src/main/index.dev.js ./src/main/index.js
WARNING in ./node_modules/electron-debug/index.js
84:85-106 Critical dependency: the request of a dependency is an expression
@ ./node_modules/electron-debug/index.js
@ ./src/main/index.dev.js
@ multi ./src/main/index.dev.js ./src/main/index.js
How can I reproduce this problem?
#
Install fresh install with vue cli like the documentation.
If visual, provide a screenshot.
#
Tell me about your development environment.

Node version: 10.02.20
NPM version:
vue-cli version: (if necessary) 2.9
Operating System: linux mint 18

If you are looking to suggest an enhancement or feature, then feel free to remove everything above.

UPDATE:
I pin the elctron-debug to 1.4.0
The warnings disappears but the listing directory screen is still here.


New UI Design

@MLPFrank would you be interested in re-designing the LoafWallet UI? Do what ever you think you might find nice for an iOS application. There are some guidelines and recommendations on developer.apple.com for iOS which might help.
There are some crucial things that the app requires. A main screen, a tabbed view with send, request and history. The history should probably have transactions, to what address, number of coins, date/time, basically all your common transaction information you would find on a block or transaction explorer.
The receive section needs to have a QR code thing, and a bunch of other buttons which allows the user to request how many LTC they want.
The send section needs to have a scan qr button and a place where people can specify the text version of the address.
We need to have a section for new users showing their 12 BIP32 words. A history section. A polyp for specifying BTC sent...
For good references, take a good look at apps like: Breadwallet (which this app is designed upon), Hive (one of the best iOS wallets designs out there), and any other Bitcoin wallet.

Here you go. Simple flat and Monochrome, thoughts?

Interesting. Some parts of it are really getting on me, but not some of the others.

I feel like the 'transactions' section's table doesn't look nice. I'll try to find a nice looking table that might fit into your table...
The menu thing looks really nice and easy to navigate.
For the wallet address bit; I feel like instead of the camera icon, when need a clipboard icon which pastes whatever the user has copied into that box. There needs to be a seperate and more clear button denoting 'scan QR'.
I still find that there needs to be a tabbed bar at the bottom as its not obvious for all new Litecoin users.

I'll post these pictures onto the slack page asking for people's comment on this...
By the way, I feel like you haven't been praised enough for this. This looks like some really well done work. 😀

@losh11

I agree with the transactions I'm looking at other layouts.
A clipboard seems redundant to me, maybe it's because I only ever press down to paste. I can change the camera icon to a QR code and if others think a paste button should be added i'll fit one in.
For the tab bar i'll see what i can come up with. it would mean swiping right would open the menu instead on pressing the menu button.

Thanks for the praise, let me know how it's received on slack.

Phil was wondering if you had or hadn't received an email inviting you to
the slack page.
And if you are still willing to...
On Friday, 11 December 2015, Frank<EMAIL_ADDRESS>wrote:

@losh11 https://github.com/losh11

I agree with the transactions I'm looking at other layouts.
A clipboard seems redundant to me, maybe it's because I only ever
press down to paste. I can change the camera icon to a QR code and if
others think a paste button should be added i'll fit one in.
For the tab bar i'll see what i can come up with. it would mean
swiping right would open the menu instead on pressing the menu button.

Thanks for the praise, let me know how it's received on slack.
—
Reply to this email directly or view it on GitHub
https://github.com/litecoin-association/LoafWallet/issues/1#issuecomment-163793336
.

I haven't received any email invite, checked all folders and nothing. Try re-sending it.
On 11 Dec 2015 12:26 a.m., Loshan T<EMAIL_ADDRESS>wrote:
Phil was wondering if you had or hadn't received an email inviting you to
the slack page.
And if you are still willing to...
On Friday, 11 December 2015, Frank<EMAIL_ADDRESS>wrote:

@losh11 https://github.com/losh11

I agree with the transactions I'm looking at other layouts.
A clipboard seems redundant to me, maybe it's because I only ever
press down to paste. I can change the camera icon to a QR code and if
others think a paste button should be added i'll fit one in.
For the tab bar i'll see what i can come up with. it would mean
swiping right would open the menu instead on pressing the menu button.

Thanks for the praise, let me know how it's received on slack.

Reply to this email directly or view it on GitHub
https://github.com/litecoin-association/LoafWallet/issues/1#issuecomment-163793336
.

Reply to this email directly or view it on GitHubhttps://github.com/litecoin-association/LoafWallet/issues/1#issuecomment-163794591.

Just got Charlie to send it to you again. Please accept.
On Friday, 11 December 2015, Frank<EMAIL_ADDRESS>wrote:

I haven't received any email invite, checked all folders and nothing. Try
re-sending it.
On 11 Dec 2015 12:26 a.m., Loshan T<EMAIL_ADDRESS><javascript:_e(%7B%7D,'cvml','notifications@github.com');>> wrote:
Phil was wondering if you had or hadn't received an email inviting you to
the slack page.
And if you are still willing to...
On Friday, 11 December 2015, Frank<EMAIL_ADDRESS><javascript:_e(%7B%7D,'cvml','notifications@github.com');>> wrote:

@losh11 https://github.com/losh11

I agree with the transactions I'm looking at other layouts.
A clipboard seems redundant to me, maybe it's because I only ever
press down to paste. I can change the camera icon to a QR code and if
others think a paste button should be added i'll fit one in.
For the tab bar i'll see what i can come up with. it would mean
swiping right would open the menu instead on pressing the menu button.

Thanks for the praise, let me know how it's received on slack.

Reply to this email directly or view it on GitHub
<
https://github.com/litecoin-association/LoafWallet/issues/1#issuecomment-163793336>

.

Reply to this email directly or view it on GitHub<
https://github.com/litecoin-association/LoafWallet/issues/1#issuecomment-163794591>.
—
Reply to this email directly or view it on GitHub
https://github.com/litecoin-association/LoafWallet/issues/1#issuecomment-163796432
.

Something more like this? I still need to sort out the icons on the bottom but you get the idea

Yes, something more like that.
The icons would probably need to be changed, and also something that divides the tab bar from the rest of the page. The inactive tabs probably need to be a bit duller in colour, as there isn't much difference between the active tab and the inactive tab.
There's on UX issue I found with this. There is no way for the user to know to swipe down to find out more information. I'm not sure how to resolve this though.

Swipe down? You mean the menu?
The top left burger icon opens the menu. When the user sees it open they should instinctively try to swipe it closed/open afterwards. Otherwise like with bread upon start up have a guided tour informing the user swipe to open the menu for advanced options
On 12 Dec 2015 4:48 p.m., Loshan T<EMAIL_ADDRESS>wrote:
Yes, something more like that.
The icons would probably need to be changed, and also something that divides the tab bar from the rest of the page. The inactive tabs probably need to be a bit duller in colour, as there isn't much difference between the active tab and the inactive tab.
There's on UX issue I found with this. There is no way for the user to know to swipe down to find out more information. I'm not sure how to resolve this though.

Reply to this email directly or view it on GitHubhttps://github.com/litecoin-association/LoafWallet/issues/1#issuecomment-164167569.

Fixed the tabs. I've also been messing about with backgrounds allowing users to add an image would make it 'their' wallet although it's more of an aesthetic choice. The top layer grey is set to 95% opacity so the background is subtle and doesn't disturb how they interact with the wallet or stop people scanning the QR code. While its not necessary i thought it might be a nice touch, wither that or have a soft image on the menu screen i just had to add something to it

Really awesome work MLPFrank! Looks great :+1:

@thrasher- Thanks
@losh11 When you guys eventually get a working version let me know so i can make a video showing it off either before or after public release.

This is a beautiful design.  Amazing stuff.

@Alex-Linhares some changes have been made to the design.

Really liking the design, fantastic work!


Disabled LAN cannot be reenabled due to DHCPv6 Server is active.

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:
[-] I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
[-] I have searched the existing issues and I'm convinced that mine is new.
Describe the bug
I disabled LAN interface and cannot reenable it back due to error : The following input errors were detected:
The DHCPv6 Server is active on this interface and it can be used only with a static IPv6 configuration. Please disable the DHCPv6 Server service on this interface first, then change the interface configuration.
DHCPDv6 is disabled
To Reproduce
Steps to reproduce the behavior:

disable LAN interface, apply and save
enable LAN, see error

Expected behavior
LAN interface reenabled
Environment
Software version used and hardware type if relevant.
OPNsense 20.7.2-amd64
FreeBSD 12.1-RELEASE-p8-HBSD
OpenSSL 1.1.1g 21 Apr 2020

At the bottom of the LAN configuration page is an option for manual configuration. Select that and save. Once you have done that you can go to the dhcpv6 services and disable the server for the LAN. Once disabled there you can now turn off the manual configuration option in the LAN, apply and save and that should see you OK.

This solved issue, thank you.

OK, please close this issue.


Submitting Ex 6

I believe this worked here this time? If not, please let me know!

I wasn't able to run your code through, I think mostly because there weren't columns named last updated and num_bikes_available in the dataframe built from the API call. Your comments say Assuming 'last_updated' is present. Was this wishful thinking? I understand the gist of what you were aiming to do with grouping by hour and aggregating, but the programming logic doesn't entirely hold together.


Can't yield a function expression without parentheses

As demonstrated here, yielding a function expression triggers an Unexpected token error at the function keyword:
function *g() {
  yield function() {};
}
g().next().value();

Note that enclosing the function expression in parentheses avoids the problem, but the non-parenthesized version works everywhere else (V8/Firefox/Esprima), so I believe it ought to work without parentheses in Acorn.
I'm in the process of switching https://github.com/facebook/regenerator over to Acorn, and ran into this problem here.

That was an oversight on my part. Attached patch should fix it.


Rewrite Taxonomy and Attribute synchronisation

Proposal
Rewrite synchronisation as generic loop covering ALL Taxonomies and Attributes that are defined on the Product.
Rationale
After dealing with most of the WooCommerce 3.0 issues, most the remaining open issues concern synchronisation settings that don't work, synchronisation issues on attributes, synchronisation issues on variations and unexpected/confusing behaviour resulting from the current synchronisation setup.
The rewrite of Taxonomy and Attribute could be two separate issues, except that WooCommerce is moving attributes to become Taxonomies for example:

in WooCommerce 2.6 Shipping class is changed to be taxonomy (fixed for simple products in Hyyan 0.26, fixed for variable products in Hyyan 0.30 release candidate),
in WooCommerce 3.0 Product Visibility, Featured and Stock Status are moved to new product_visibility taxonomy.

This breaks the current synchronisation code and the fixed setup of the Hyyan settings options.
Benefits of generic solution

simpler code (easier to maintain)
compatible with changes to WooCommerce etc
automatic compatibility with 3rd party plugins which add attributes and taxonomies
simpler options screen: it may be sufficient to allow input boxes allowing list of items to exclude from synchronisation
current "Settings, WooPoly" partially conflicts with (and overrides) Polylang "Languages, Settings", removing this duplication would reduce user confusion and confusing support calls

Issues to be addressed:
#148 Catalog Visibility and Featured product not synchronized in WooCommerce 3.x
#127 Text attribute synchronisation
#124 Errors when do not sync some product attributes
#73 Variations sku are sync regardless of the Meta List setting
#72 How to handle Variable Product attributes with terms withtout translation
#13 deactivate meta synchronisation
(not a complete list, some issues with custom components etc will also be addressed and of course a lot of queries on the WordPress support forum)
Requirements (Ideal)
Synchronisation types:

No synchronisation:  certain taxonomies such as language, term_language and term_translations must not be synchronised since they are controlled by and define the language relationships.  In addition the shop manager should be able to specify additional taxonomies which must not be synchronised.
Synchronise: taxonomy is not translatable, for example Product Type, product_visibility, prices
Translate (no default):  this is the default action for Product Categories, Product Tags and Product Attributes including Product variation attributes.  This option is very confusing as leads to disappearing terms, invisible products and disappearing variations wherever a term has not been translated yet.  [For example, create a variation product, create a translation, save the translation -> your variations are now deleted if you forgot to translate the variation attributes.]   Proposal is to remove this option except for .
Translate (copy base language):  where translated term does not yet exist, it is created as a copy of the base language term.  (solution already provided in comment on #78)
Translate (machine translation):  where translated term does not yet exist, create a machine translated version.  On error fall back to copy base language.

Settings
If written in a generic way the settings screen could show and allow selection of Synchronisation type for:

default for new Product Attributes
default for new Custom Fields
built-in taxonomies and attributes (as indicated above not all taxonomies support all options)
Product Attributes: ideally synchronisation setting could be different for individual Product attributes, for example it seems really unnecessary to create translations of numeric fields and ID fields such as ASIN, but an automatic copy base language option could mitigate this.
-list detected additional attributes and fields

Also there should be an option regarding the handling of new products:

create Product Translations automatically?  In what Status?
new Product Translations should be created as:
blank (no default translation for Subject, Description, Short Description)
copy source text
machine translation
use current language or base language as source for creating new product?
[if I have already done English and Spanish, I would prefer to machine translate from Spanish into Portuguese, Italian, French, Catalan etc, but for other languages I would prefer to use English as the source.]

Implementation
Proposed to start first with the Taxonomies.  I have a partial solution in dev.
@hyyan, any thoughts please?

Product Taxonomies are addressed in more generic way in my feature branch,  https://github.com/Jon007/woo-poly-integration/tree/taxnomy-and-product-attributes-enhance
so this issue is just a comment on the thinking behind it


uorb top sort statistics list alphabetically

It would help if we followed ROS naming conventions:
 {echo, list, ...}
ROS is using rostopic with these verbs and it would help users in the Robotics space to predict which commands do what

It would help if we followed ROS naming conventions:
topic {echo, list, ...}
ROS is using rostopic with these verbs and it would help users in the Robotics space to predict which commands do what

Yes, we could do a pass that unifies uorb + listener command line and makes it a bit more consistent with rostopic.

rostopic bw     display bandwidth used by topic

I have a hacked branch with this in uorb top somewhere

rostopic delay display delay for topic which has header

a version of this would be nice with better metadata in place

rostopic echo   print messages to screen
rostopic find   find topics by type
rostopic hz     display publishing rate of topic

uorb top

rostopic info   print information about active topic

uorb top

rostopic list   print information about active topics

uorb top

rostopic pub    publish data to topic

an opinionated version of this for vehicle commands could be useful

rostopic type   print topic type

With the uORB::Subscriptions no longer requiring a publication to be created for every subscription I think it's reasonable to change the uorb top default to display all topics (rather than only active).
This makes the tool a little more useful when topics aren't jumping position every second.

I prefer the existing behavior, as I often use it on smaller screens. For the jumping, we can keep the ones that were at least once active.


fix: Restored support of tuple of Tensors for region pooling ops

This PR addresses #2197 by:

adding support of tuple of Tensors in check_roi_boxes_shape
testing the box conversions on the different tensor sequence types

Any clue why travis is throwing errors about nms @fmassa?
Either it's unrelated to this PR or I have no clue where it comes from


Align Project board cards vertically, not horizontally

Gitea version (or commit ref): 1.15.0+dev-152-gc29e85228
Can you reproduce the bug at https://try.gitea.io:

Yes : here

Description
Currently, project board cards are aligned horizontally when larger than the underlying project board.
I (and all other Gitea users I have spoken to) think that that is not exactly user friendly.
#13814 is at least partially related to this, but I thought it differs so much that creating its own unique issue for it would be adequate.
What to do
Through some testing, I found out that that behavior is caused by exactly one line of css, which, when removed completely solves this issue on the current try.gitea.io status (don't know whether it applies to older versions too).
The responsible css block is
.board-column > .cards {
    flex: 1;
    display: flex;
    flex-direction: column;
    margin: 0 !important;
    padding: 0 !important;
}

Simply remove flex-direction: column; and the problem is fixed, at least on my Browser (Firefox). The corresponding file should be _repository.less (exact path is web_src/less/_repository.less), line 2978
Screenshots

How it is, but not how it should be

https://github.com/go-gitea/gitea/pull/15429 should (also) fix this.


update token log probs to use nullable float

Choose a PR Template
Switch to "Preview" on this description then select one of the choices below.
Click here to open a PR for a Data Plane API.
Click here to open a PR for a Control Plane (ARM) API.

Related/will-fix: https://github.com/Azure/azure-sdk-for-net/issues/33934

reassign to @mikekistler as it is dataplane CADL PR


_rnAppleHealthKit.default.initHealthKit is not a function

I'm continuously getting this error. I've granted all the permissions and followed every step mentioned. Still getting this error
import AppleHealthKit from 'rn-apple-healthkit';
const PERMS = AppleHealthKit.Constants.Permissions;
const UNITS = AppleHealthKit.Constants.Units;
const options = {
permissions: {
read: [PERMS.Weight, PERMS.SleepAnalysis]
}
};
AppleHealthKit.initHealthKit(options, (err, results) => {
if (err) {
console.log("error initializing Healthkit: ", err);
return;
}
AppleHealthKit.getDateOfBirth(null, (err, results) => {
if (this._handleHealthkitError(err, 'getDateOfBirth')) {
return;
}
console.log(results)
});
});
// Generated using react-native init command
const App = () => {
return (

{global.HermesInternal == null ? null : (

Engine: Hermes

)}

);
};
const styles = StyleSheet.create({
//Auto-generated styling here
});
export default App;

This is specifically for react-native 0.60+, where react-native link rn-apple-healthkit is no longer allowed

This is not really specific to react native 0.60 since projects that are using a lower version can also use cocoapods to manage dependencies. In react native 0.60, cocoapods became the default way to do so.
Also, moving forward, the team that's working on the react native cli will deprecate react-native link, but it should be still allowed, as well as manual linking, because there are projects that don't support auto-linking yet.
For example, this doc is pretty helpful for upgrading a project to 0.60.x from 0.5x.x, and near the end, it mentions that you should leave libs that you linked (that don't support auto-linking) in the Libraries folder (for now).
In fact, if you want to disable auto-linking for certain libs before installing them, you can set up a react-native.config.js file like this.

I started developing the Healthkit app in Swift5. I'm closing this issue as I believe the steps mentioned in thread above will work and be helpful to someone trying to do this in react native.


placement: auto set port based on OS type

Signed-off-by: Long<EMAIL_ADDRESS>Description
As https://github.com/dapr/cli/blob/master/README.md#slim-init said, the default port for placement is different in Win.
Issue reference

Please reference the issue this PR will close: #3613
Checklist
Please make sure you've  completed the relevant tasks for this PR, out of the following list:

[x] Code compiles correctly
[x] Created/updated tests
[x] Unit tests passing
[x] End-to-end tests passing
[ ] Extended the documentation / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Specification has been updated / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Provided sample for the feature / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]

ping @artursouza

/ok-to-test


Hey I just following the examples but I am not getting wizard

frist of all thanks for great work
please give some detailed examples to implement. your demos are good but where can I find the code samples of demos.
thank you

A very nice plugin.  But like so many JS/jQuery tools the base functionality is completely obscured by the use of elegant examples.  Real documentation seems to be completely lacking.  Fully viewable examples including styling are essential.  Pretty pages are not meaningful documentation.
I believe that the root cause of this sort of thing is a defective notion on the part of the JS community as to what constitutes documentation.  I cannot sort anything but the most minimal behavior out in firebug (etc.) for all the layers of styling and lack of explanation.  Obviously I am not alone.
I really appreciate the contribution to the community.    But without documentation this has proven to be a huge waste of my time.
Dave


Update rust-toolchain file to 1.43.0

Fixes #10
We should consider removing this file completely to avoid further confusion.

We should consider removing this file completely to avoid further confusion.

I believe for the time being this has to stay. While the WASI snapshot we support now happens to correlate with the current stable Rust, that technically might not always be the case. There's some more polyfill work to be done before we're safely supporting multiple versions & able to remove it.

CI seems to be failing, by the way?


GoogleDataTransport Issue

I tried to upload toe the apple store but I got this error:

@hennonoman
I am not sure if this issue is specific to FlutterFire, but with your Xcode setup and config. I suggest you ask this question on support channels like StackOverflow to get help on.  See this similar SO link and check if any of the underlying comments helps to resolve this.
I am going ahead and closing this as not specific to Flutterfire. If you disagree, write in comments and I'll reopen it.
Thanks.


Official project hiatus until 26 November, 2020

I have updated the README to announce this hiatus. Those who follow this project know that maintenance has been rare and sporadic for a while now. As of today I am officially announcing a hiatus, as opposed to just letting things continue to linger.
On or about 1 October I will announce my plans for the project going forward. I do not know what those are yet.
Subscribe to this issue for updates.

Extended to 15 October.

I am currently of two minds.
1. Archive the project.
There are lots of fine alternatives out there, and UnitTest++ does what it does. It works for the people it works for, but it really doesn't need to be worked on anymore. There are many good alternatives out there such as Catch 2, doctest, Google Test, etc. for folks that want something newer and shinier. If you need to add something to it for your project, you can write your own checks and reporters reasonably easily. If something doesn't quite work for your compiler, you can fork it, and that fork is cheap because the library will no longer be a moving target.
2. Reorganize the project into a two-file library (one header file, one implementation file) before starting work on it again.
The most frustrating thing about working on this project, for me, is the amount of work that goes into CMake files and autoconf files and packaging releases, etc.  A simple two-file library eliminates this pain point, allowing myself and contributors to just focus on the core -- and it's easy to just drop two files into whatever project you are using.
If that were done, it might be interesting to try again to add in some new features, or set up CI for "weird" compilers using GitHub Actions + External Runners... or whatever. But the current state of things is an obstacle to my desire to work on UnitTest++.

A third option would be to find a new maintainer, but I've not really seen any interest when I have asked in the past, and I don't see the need.
Hiatus extended to 26 November. Comments welcome.

Forgot to unlock conversation after the previous update; unlocked now.

Thank you for your time maintaining this project and for your thoughts. I perfectly understand your frustrations with cmake, compilers, other build tools and platform differences, as that's my frustration too with my projects!
I use UnitTest++ in my projects. It has been working perfectly for me many many years and I never found any issue. The only need I once had was documentation to write a custom reporter, but I could manage. IMO the library does not need more features and, so the library maintenance could be reduced to occasional fixes to deal with new compiler checks causing compilation warnings.
Between options 1 and 2, I would prefer option 2: a solution based on a few .cpp and .h files that I could add to my projects source code. It will also have the important advantage of removing an external dependency. For you, this option will also remove all your frustrations with building tools and will allow you to continue and enjoy with this excellent project.
Thank you!

I too would like to express my gratitude for your work on this project. Being such a light weight library has been incredibly helpful to me. I too think Option 2 is a low maintenance idea. It's low overhead to include a few additional files in a project.

@pjohnmeyer, thanks for guiding the project these last couple of years. After all these years, this is still my favorite minimalist test framework for C++. I would prefer to see option 2 adopted.

@pjohnmeyer I, too, want to think you for all you have done for UT++. I started using it back in 2007. We still use it on that project I started using it on. We have had very few issues with UT++ over all these years.
FWIW,
I would prefer the see option 2 adopted.

@pjohnmeyer I, too, want to think you for all you have done for UT++. I started using it back in 2007. We still use it on that project I started using it on. We have had very few issues with UT++ over all these years.
FWIW,
I would prefer the see option 2 adopted.

Thanks @cecilios , @spaulaus , @SenorAgosto , and @thedrbubba for the kind words and feedback. I spent a few hours tinkering with option 2 last night and I felt somewhat reinvigorated by it. I'm not saying it's going to happen, but I'm not saying it's not going to happen.

Thanks @cecilios , @spaulaus , @SenorAgosto , and @thedrbubba for the kind words and feedback. I spent a few hours tinkering with option 2 last night and I felt somewhat reinvigorated by it. I'm not saying it's going to happen, but I'm not saying it's not going to happen.

@pjohnmeyer  Thank you for UT++, have been using it for many years; it is an excellent tool for making software.
I am skeptic about making a single implementation file. Reorganizing and cleaning up the repository yes, but a single header for all the classes will make it harder to maintain but also to contribute to...
Removing autotools completely and keeping few clean simple cmakefiles would be my suggestion.

The usual way of making a single header file is via a post process that
concatenates the files together.
GR
Sent from my Nexus 10
On Fri, 19 Feb 2021, 12:21 Angelos Mantzaflaris (Άγγελος Μαντζαφλάρης), <
<EMAIL_ADDRESS>wrote:

@pjohnmeyer https://github.com/pjohnmeyer Thank you for UT++, have been
using it for many years; it is an excellent tool for making software.
I am skeptic about making a single implementation file. Reorganizing and
cleaning up the repository yes, but a single header for all the classes
will make it harder to maintain but also to contribute to...
Removing autotools completely and keeping few clean simple cmakefiles
would be my suggestion.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/unittest-cpp/unittest-cpp/issues/180#issuecomment-782041535,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABGL3HH655AXRBCGR3TIYJDS7ZJTNANCNFSM4QCPMBLQ
.

Late to a party that's long over, too, but just to make it explicit: you don't need to ever archive the project. It's fine as-is, just keep it available, please. I'm actually new to it (seen it embedded in some other prj). Looks like a nice, clean, self-containing package (with somehow a better vibe than e.g. Catch2, which I've been somehow reluctant to integrate).
As to CMake etc.: for one, I'm reluctant to use it anyway. E.g. just cloned your stuff, did a cl -c -EHsc -std:c++17 *.cpp (plus the Win32 timing module), shoved all into a .lib and I've had my first test-test running the next minutes.
(It's quite a sight (however unusual) to see CMake having the superpower to kill (the spirit) of otherwise simple, straightforward, friendly projects by causing a lot more trouble than it solves.)

👍 Good write-up. I'm really happy I'm not the only person who thinks that
about CMake.
On Sun, Feb 20, 2022, 4:13 PM Szabi @.***> wrote:

Late to a party that's long over, too, but just to make it explicit: you
don't need to ever archive the project. It's fine as-is, just keep it
available, please. I'm actually new to it (seen it embedded in some other
prj). Looks like a nice, clean, self-containing package (with somehow a
better vibe than e.g. Catch2, which I've been somehow reluctant to
integrate).
As to CMake etc.: for one, I'm reluctant to use it anyway. E.g. just
cloned your stuff, did a cl -c -EHsc -std:c++17 *.cpp (plus the Win32
timing module), shoved all into a .lib and I've had my first test-test
running the next minutes.
(It's quite a sight (however unusual) to see CMake having the superpower
to kill (the spirit) of otherwise simple, straightforward, friendly
projects by causing a lot more trouble than it solves.)
—
Reply to this email directly, view it on GitHub
https://github.com/unittest-cpp/unittest-cpp/issues/180#issuecomment-1046355109,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKRQ36QL5JP5AHKSTPO57DU4F7SVANCNFSM4QCPMBLQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

This was my unit test library of choice for a long time due to its simplicity.  Many thanks for your contributions @pjohnmeyer .

Archiving this would perhaps have a bad influence on the recent integration in CodeLight IDE. So I be you to not completely kick it off. Could it get any other solution? It works like a charm and I do not see any CVS reports comming up, so ... just let it as it is?

I've been using UnitTest++ for over seven years, but I use a forked version that I've added a couple of extra checks to.
The most recent one was to accommodate C++20's changes to to the stream API. Previously a char stream would accept a wchar_t. char16_t and char32_t, where it would print the value (rather than the character). In C++20 those functions have been marked as = delete making the standard UnitTest++ checks fail compilation for lines such as CHECK_EQUAL(L'A', L'B');. I'm happy to continue using my fork for the present as I can't see that there are any major issues that need addressing (apart from the above).

... I use a forked version that I've added a couple of extra checks to. The most recent one was to accommodate C++20's changes to to the stream API. ... I'm happy to continue using my fork for the present as I can't see that there are any major issues that need addressing (apart from the above).

Good to know! I am still at C++17, sound like I'm facing this issue in near future.
Would you please tell us the branch, so everyone could participate?
Or even better - could we all together continue the project? Under the lead of some experienced developer, like ... You?

Or even better - could we all together continue the project? Under the lead of some experienced developer, like ... You?

A tempting idea; I wish I had the spare time. I have my own GitHub project that takes up a lot of it already.
Embedded Template Library
I was actually looking into moving to Google test as it's still in continuous development and has a few interesting features like 'matchers' among others and the ability to stream your own text on to the end of a failed test.

As much as I loved this framework, I had to move because of the c++ standards shifts. For those looking for an alternative framework, I've used Doctest for a couple years now. It's a header only implementation. I found migration to be fairly straightforward.
Obligatory disclaimer: I'm not in any way affiliated with the Doctest project.

I apologize for the shameless self-promotion but, if you are looking for testing framework compatible with UnitTest++, you might visit my UTPP project. It was started as a re-implementation of UnitTest++ but it is now a header-only library (nothing to build). It supports C++20 and is somewhat more compatible with GoogleTest.

if you are looking for testing framework compatible with UnitTest++, you might visit my UTPP project. It was started as a re-implementation of UnitTest++ but it is now a header-only library (nothing to build). It supports C++20 and is somewhat more compatible with GoogleTest.

Sounds interesting to me!
Perhaps a way to convince Eran Ifrah to no discontinue UnitTest++ integration in CodeLite IDE, but to switch over to UTPP instead?
In the meantime I worked with Lightest. It has no special integration in CodeLite, just the normal way of all make tools. So I'm still searching a 1-by-1 replacement for UnitTest++.
Anyway, Lightest is also usable as a header-only lib and this way easily to be integrated in github actions. Since then, I'd always prefer header-only test libs.


Resetting items state isn't reflected in the EditableGrid

If I have this component set up, where myItems is a piece of React State:
export default ({ myItems }) => {
  console.log({ myItems })

  return (
    <EditableGrid
      items={myItems}
      // ... rest of the props
    />
  )
}

The EditableGrid displays the items correctly, however setting myItems to an empty array (through the use of a button click separate to this library) re-renders this component and logs myItems as an empty array as you'd expect, but the EditableGrid stays populated with the now non-existent data.
Try changing EditableGrid to DetailsList, and you should see the expected behaviour of the DetailsList updating to display no data

It appears this is caused by this line, whether or not removing it would break other functionality I'm not sure

Hi @JamesCrawley . Thanks for pointing out the bug. I have fixed it and merged in the latest PR.

Hi @JamesCrawley
Closing this issue now since it has been fixed. Please feel free to open another thread if the issue exists


Write abstract

Thanks Atreyee!
If I do not mistaken, there are 234 works, well below the limit of 250. Perfect;) Here is some minor suggestions:

"the official CTA Science tools" -> "the official CTA Science Analysis tool"
"The first long-term version, Gammapy v1.0 was released \nlast year, which" -> "The first long-term version, Gammapy v1.0, was released\nlast year. It [...]"
"common "DL3" format": should we mention explicitly GADF?
"data binned in energy and time coordinates" -> "data binned in energy, time or spatial coordinates"?
"With this binned data" -> "With these binned data"?
" ground based instruements" -> " ground based instruments"
" simulateneous fitting" -> " simultaneous fitting"