[BUGFIX] fix unknown parameter shapes when np_shape is turned on.

Description
When np_shape is turned on, the unknown parameter shapes should be -1 instead of 0. This PR changes the unknown parameter shapes.
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[ ] The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
[ ] Changes are complete (i.e. I finished coding on this PR)
[ ] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[ ] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at http://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[ ] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

I think the following two places checking whether the shape is known should be modified too.
https://github.com/apache/incubator-mxnet/blob/master/python/mxnet/gluon/parameter.py#L272
https://github.com/apache/incubator-mxnet/blob/master/python/mxnet/gluon/parameter.py#L383

I'm worried about this line
https://github.com/apache/incubator-mxnet/blob/5fc4fc53df74f276aafa51208142e657e9cfe42d/python/mxnet/gluon/parameter.py#L168
Users may notice that we started to use -1 to represent unknown dim size in np shape semantics and some of them in practice may use shapes like (-1, 10) to create parameters for deferred initialization, instead of (0, 10). In those cases, we need to support that unknown dim size can be either 0 or -1, so this line should become
all(j in (-1, 0, i) for i, j in zip(new_shape, self._shape))

when is_np_shape = True.
@szha What do you think?

@mxnet-label-bot add [Gluon]

@reminisce I had similar concern though I thought the API doc should do the job. another option is to expose an internal interface for infer_shape to use, instead of piggybacking on the .shape attribute

@reminisce @sza @zheng-da  what's the next step here? There is nothing to prevent users from using -1 as unknown dim. so maybe state clearly in comment or API doc and note experimental?

I think it would be safer to note np_shape as experimental and still under development.

where should we document -1 is unknown dim and is experimental?


add testing framework

e.g. a script which checks that given file exist and print errors if needed, script for printing colorified errors etc.

prorab-error.sh added

done


[HTTP2] HTTP2 service does not send the 100-continue response to a HTTP 1.1 client

Description:
The HTTP2 service does not respond to the curl client when the request is sent as http1.1.
Steps to reproduce:
Ballerina service
import ballerina/http;
import ballerina/log;
import ballerina/io;

@http:ServiceConfig {
    basePath: "/hello"
}
service helloWorld on new http:Listener(9090, { httpVersion: "2.0" }) {
    @http:ResourceConfig {
        path: "/"
    }
    resource function hello(http:Caller caller, http:Request request) {
       if (request.expects100Continue()) {
            var result = caller->continue();
            if (result is error) {
                log:printError("Error sending response", err = result);
            }
        }

        http:Response res = new;
        var payload = request.getTextPayload();
        if (payload is string) {
            log:printInfo(payload);
            res.statusCode = 200;
            res.setPayload("Hello World!\n");
            var result1 = caller->respond(res);
            if (result1 is error) {
                log:printError("Error sending response", err = result1);
            }
            io:print("-----------------------------");
        } else {
            res.statusCode = 500;
            res.setPayload(<@untainted> <string> payload.detail()?.message);
            var result1 = caller->respond(res);
            if (result1 is error) {
                log:printError("Error sending response", err = result1);
            }
        }
    }
}

Ballerina Client
import ballerina/http;
import ballerina/io;

http:Client http2Client = new("http://localhost:9090", { httpVersion: "2.0", http2Settings: {
     http2PriorKnowledge: true
 } });

service ContinueService on new http:Listener(8080, { httpVersion: "2.0" }) {
    resource function ContinueResource(http:Caller caller, http:Request request) {
        http:Request req = new;
        req.addHeader("Expect", "100-continue");
        req.setPayload("Test 100-continue for http2");
        var response = http2Client->get("/hello", req);
        if (response is http:Response) {
            io:print("**********************************");
            io:println(response.statusCode);
            io:print("**********************************");
            var endResult = caller->respond(response);
            if (endResult is error) {
                io:println(endResult);
            }
        } else {
            io:println(response.detail()?.message);
        }
    }
}

Curl sent from http2
curl -v http://localhost:8080/ContinueService/ContinueResource --http2
output
*   Trying <IP_ADDRESS>...
* TCP_NODELAY set
* Connected to localhost (<IP_ADDRESS>) port 8080 (#0)
> GET /ContinueService/ContinueResource HTTP/1.1
> Host: localhost:8080
> User-Agent: curl/7.63.0
> Accept: */*
> Connection: Upgrade, HTTP2-Settings
> Upgrade: h2c
> HTTP2-Settings: AAMAAABkAARAAAAAAAIAAAAA
>
< HTTP/1.1 101 Switching Protocols
< connection: upgrade
< upgrade: h2c
* Received 101
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Connection state changed (MAX_CONCURRENT_STREAMS ==<PHONE_NUMBER>)!
< HTTP/2 100
< date: Mon, 16 Sep 2019 13:51:49 +0530
< server: ballerina/1.0.0
* HTTP/2 stream 0 was closed cleanly, but before getting  all response header fields, treated as error
* stopped the pause stream!
* Connection #0 to host localhost left intact
curl: (92) HTTP/2 stream 0 was closed cleanly, but before getting  all response header fields, treated as error

curl http 1.1 request
curl -v http://localhost:8080/ContinueService/ContinueResource
`
output
*   Trying <IP_ADDRESS>...
* TCP_NODELAY set
* Connected to localhost (<IP_ADDRESS>) port 8080 (#0)
> GET /ContinueService/ContinueResource HTTP/1.1
> Host: localhost:8080
> User-Agent: curl/7.63.0
> Accept: */*
>
< HTTP/1.1 408 Request Timeout
< content-length: 58
< content-type: text/plain
< connection: close
< server: ballerina/1.0.0
<
* Closing connection 0
Idle timeout triggered before initiating outbound response

Tested this issue with Ballerina SwanLake Beta2 against following sample.
import ballerina/log;
import ballerina/http;

final http:Client backEndClient = check new("http://localhost:9090",
    httpVersion = "2.0",
    http2Settings = {
        http2PriorKnowledge: true
    }
);

service on new http:Listener(8080, {
    httpVersion: "2.0"
}) {
    resource function get  'continue(http:Caller caller, http:Request request) returns error? {
        http:Response backEndResponse = check backEndClient->post("/hello",
            "Test 100-continue for http2",
            { "Expect": "100-continue" }
        );
        log:printInfo("Received response ", status = backEndResponse.statusCode);
        check caller->respond(backEndResponse);
    }
}

service on new http:Listener(9090, {
    httpVersion: "2.0"
}) {
    resource function default hello(http:Caller caller, http:Request request) returns error? {
        if request.expects100Continue() {
            check caller->'continue();
        }

        string payload = check request.getTextPayload();
        log:printInfo("Received payload ", message = payload);
        check caller->respond("Hello, World!\n");
    }
}

Following are the results for above mentioned scenarios.

cURL request with http2 enabled.

curl -v http://localhost:8080/continue --http2

*   Trying <IP_ADDRESS>:8080...
* TCP_NODELAY set
* Connected to localhost (<IP_ADDRESS>) port 8080 (#0)
> GET /continue HTTP/1.1
> Host: localhost:8080
> User-Agent: curl/7.68.0
> Accept: */*
> Connection: Upgrade, HTTP2-Settings
> Upgrade: h2c
> HTTP2-Settings: AAMAAABkAARAAAAAAAIAAAAA
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 101 Switching Protocols
< connection: upgrade
< upgrade: h2c
* Received 101
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Connection state changed (MAX_CONCURRENT_STREAMS ==<PHONE_NUMBER>)!
< HTTP/2 200
< content-type: text/plain
< date: Mon, 19 Jul 2021 13:34:33 +0530
< server: ballerina/2.0.0-beta.2.1
<
Hello, World!
* Connection #0 to host localhost left intact

cURL request with http1.1 enabled.

curl -v http://localhost:8080/continue

*   Trying <IP_ADDRESS>:8080...
* TCP_NODELAY set
* Connected to localhost (<IP_ADDRESS>) port 8080 (#0)
> GET /continue HTTP/1.1
> Host: localhost:8080
> User-Agent: curl/7.68.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< content-type: text/plain
< date: Mon, 19 Jul 2021 13:35:27 +0530
< x-http2-stream-id: 11
< server: ballerina/2.0.0-beta.2.1
< content-length: 14
<
Hello, World!
* Connection #0 to host localhost left intact

Since this is not reproducible, closing the issue.


Component Parameter Dialog is hard to use when there are many parameters or if the component is in the corner of the layout

Describe the bug
When one opens the parameter menu for the components, the window that pops up is clipped out if it's too big (or if the component is in the corner of the window). In some cases, the window is too big because there are too many parameters for the component.
To Reproduce
Steps to reproduce the behavior:

Go to 3DuF.org
Place a component at the corner of the window (from the left hand menu)
Hit Escape
Double click the component

Expected behavior
The dialog should be placed at a location that is near the mouse pointer but the position should be adjusted so that it doesn't get clipped out by the window. Additionally fix the height of the window to 400px and enable scrolling if there are many parameters.
Screenshots

Desktop (please complete the following information):

OS: MacOS
Browser: Chrome
Version: current

Additional context
The changes need be made on fork made on master.  Check https://github.com/CIDARLAB/3DuF/blob/master/src/app/view/ui/rightClickMenu.js for how the design

Fixed in PR - #235


Bug

Prerequisites
Please answer the following questions for yourself before submitting an issue.

[/ ] This is bug in the application 🐛
[/ ] I am running the latest version
[/ ] I checked the documentation and found no answer
[ /] I checked to make sure that this issue has not already been filed
[/ ] I'm reporting the issue to the correct repository

Describe the bug
Error: useLocation() may be used only in the context of a  component. I am using requireAuth with Router, but this occured when I add requireAuth tag in my code.
To Reproduce
Steps to reproduce the behavior:

Go to 'main.js in your react app, and wrap the app.jsx with a BrowserRouter'
Then on your App.jsx, Created a Routes Heirarchy, with multiple route that is wrapped with routes tag.
3.Then on one of those route, add a RequireAuth tag wrapping the element.
See error

Expected behavior
Error showing this. Error: useLocation() may be used only in the context of a  component.
Screenshots

Desktop (please complete the following information):

OS: Windows 11
Browser Brave
Version 1.58

Failure Logs
react-dom.development.js:18687 The above error occurred in the  component:
at RequireAuth (http://localhost:5173/node_modules/.vite/deps/react-auth-kit.js?v=d78487a3:1621:21)
at RenderedRoute (http://localhost:5173/node_modules/.vite/deps/react-router-dom.js?v=d78487a3:3327:5)
at Routes (http://localhost:5173/node_modules/.vite/deps/react-router-dom.js?v=d78487a3:3780:5)
at App (http://localhost:5173/src/App.jsx?t=1695345900963:24:20)
at Router (http://localhost:5173/node_modules/.vite/deps/react-router-dom.js?v=d78487a3:3727:15)
at BrowserRouter (http://localhost:5173/node_modules/.vite/deps/react-router-dom.js?v=d78487a3:4207:5)
at AuthProvider (http://localhost:5173/node_modules/.vite/deps/react-auth-kit.js?v=d78487a3:441:21)

Consider adding an error boundary to your tree to customize error handling behavior.
Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.
logCapturedError @ react-dom.development.js:18687
react-dom.development.js:26923 Uncaught Error: useLocation() may be used only in the context of a  component.
at invariant (history.ts:494:11)
at useLocation (hooks.tsx:104:3)
at RequireAuth (PrivateRoute.tsx:51:22)
at renderWithHooks (react-dom.development.js:16305:18)
at mountIndeterminateComponent (react-dom.development.js:20074:13)
at beginWork (react-dom.development.js:21587:16)
at beginWork$1 (react-dom.development.js:27426:14)
at performUnitOfWork (react-dom.development.js:26557:12)
at workLoopSync (react-dom.development.js:26466:5)
at renderRootSync (react-dom.development.js:26434:7)
Additional context
The error occurs when I added the requireAuth.
License
Apache-2.0 © React Auth Kit

I had this same problem. I upgraded mt react-dom-router to 6.18, I deleted node_modules folder and my yarn.lock.  Reinstall all dependencies


Fix path in attestation conversion test

This is a follow up on #604 and fixes the path to the go-based
attestation conversion app in the attestation api test. Also adding test
invocation for SGX HW mode.
Signed-off-by: Marcus Brandenburger<EMAIL_ADDRESS>

@ikegawa-koshi This should fix the issue you reported yesterday on rocket chat. Please have a look.

@mbrandenburger
Thank you! I have merged this PR and confirmed that it works correctly in the SGX HW environment in Azure!


Improve feedback in imports in non-accessible datasources

Specially when people try MapServer URLs, this week is being common the following error:
2015-03-27 21:30:29 UTC: DOWNLOAD ERROR: Code:0 Body:

Example: 739cf84b-8540-4f73-9a5d-3cc015523775
The issue here uses to be that URLs are private (or may need some authentication).
cc @Kartones @juanignaciosl

Yep, a proper error code would be awesome here.

@iriberri I'll add a explicit message for 404 and 401 errors. Could you confirm that url returned 401 (log doesn't exist anymore)?

URL in SB/4924794. It's doing redirects to a weird site

That's not a valid Internet URL, I'll improve user message.


possibility of adding multiple set busy instances

hi,
can we add support for adding multiple set busy instances to track multiple request and async task  states. it might be a good adition.

Hi @parth181195 ,
Isn't this already available? See https://github.com/FilledStacks/stacked/tree/master/packages/stacked#baseviewmodel-functionality.

It's there but I guess it's like u set bussy state for whole viewmodel so for a page  where we have to trake states for multiple http calls and show diffrent behaviour with different widgets this can be use full

I haven't used futures yet, so this code is more like an example of how to set up the busy functionality for multiple objects.
import 'package:http/http.dart' as http;

class YourViewModel extends BaseViewModel {
    List<User> _users;
    List<User> get users => _users;

    List<Post> _posts;
    List<Post> get posts => _posts;

    Future fetchUsers() async {
        setBusyForObject(_users, true);
        final response = await http.get('https://jsonplaceholder.typicode.com/users');
        setBusyForObject(_users, false);

        if (response.statusCode == 200) {
            return User.fromJson(jsonDecode(response.body));
        } else {
            throw Exception('Failed to load users');
        }
    }

    Future fetchPosts() async {
        setBusyForObject(_posts, true);
        final response = await http.get('https://jsonplaceholder.typicode.com/posts');
        setBusyForObject(_posts, false);

        if (response.statusCode == 200) {
            return Post.fromJson(jsonDecode(response.body));
        } else {
            throw Exception('Failed to load posts');
        }
    }
}

Container(
    child: model.busy(model.users)
        ? Text("Fetching users.")
        : Text("Users has been fetched.")
);

I didn't have the time to test it yet, but I thought sharing my idea now could help you get further.

@cyrildewit is correct. You use the setBusyForObject function call for the functionality you're using. If you read in the package repo is also says to use a constant value and not a dynamicly calculated value like an object. The reason for the is because the busy function uses the hashCode, which if dynamically calculated can change.
I usually create a key for the busy state.
const String FetchLocationBusyKey = 'location-fetch-key';

// Then set it
setBusyForObject(FetchLocationBusyKey , true);

// And use in the UI
model.busy(FetchLocationBusyKey );


Parser should throw warning for deprecated entity annotation syntax

Rasa version: 2.0.0.a1
Issue:
The following syntax for entity annotation should lead to a deprecation warning, but it does not:
- My name is [Bob](name)

Oh, I think I remember now. I simply deprecated that! 😎
That means, that we should raise an error now in case "the old" format is used and skip this training example!

@melindaloubser1 What's happening with this training example that you've provided?

Oh, nothing is happening to it if it shouldn't exist, just discovered it while working on the docs

Not even a warning? Then it's bad..

Sorry I misunderstood. I thought you meant "what is happening in the docs to this kind of example - are they getting changed?". But you're right, no warning.

Ok, as discussed in Slack, we're un-deprecating this syntax.
@melindaloubser1 can I use this issue to add unit tests instead?

Go for it!

Changed my mind - I'll close this issue and just open a PR 😸


Feat : Query Performance monitoring feature addition

feat : Query performance metrics feature addition

https://github.com/sjyothi54/nri-postgresql/pull/8
moved to this


testing: summary and test output interleaved

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

>> go version
go version go1.14.6 linux/amd64

Does this issue reproduce with the latest release?
We haven't yet picked up 1.15, which cut like yesterday and it's an intermittent flake for us.
What operating system and processor architecture are you using (go env)?
go env Output
>> go version
go version go1.14.6 linux/amd64

What did you do?
We are running our e2e tests with t.Parallel() and -v thru gotestsum.
What did you expect to see?
gotestsum uses test2json to parse the build log output, and I expect to see passing test results for all of the tests run.
What did you see instead?
Action: pass events are missing for typically 2 of the tests.
We were originally chasing this here (has links to richer logs): https://github.com/gotestyourself/gotestsum/issues/141
To include some relevant context here, we see several test summaries that are interleaved with other output, which seems to trip up test2json.  Here are three from a single run (3 diff API versions):
Normal (what you'd normally see):
--- PASS: TestContainerExitingMsg (0.01s)
    --- PASS: TestContainerExitingMsg/tcp (27.63s)
    --- PASS: TestContainerExitingMsg/http (160.37s)

Weird (interleaved, but surfaces events properly):
--- PASS: TestContainerExitingMsg (0.00s)
        + 				Message:            "Waiting for Envoys to receive Endpoints data.",
    --- PASS: TestContainerExitingMsg/http (179.23s)
          			},
          		},
          		Annotations: nil,
    --- PASS: TestContainerExitingMsg/tcp (194.07s)

Broken (interleaved with another test context switch, breaks things):
--- PASS: TestContainerExitingMsg (0.00s)
=== CONT  TestBlueGreenRoute
    kubelogs.go:201: I 01:01:58.381 webhook-98759d99-pfkgh [conversion/conversion.go:133] [serving-tests/blue-green-route-atsgeusz-q56cd] Converting [kind=Revision group=serving.knative.dev version=v1] to version serving.knative.dev/v1beta1
    --- PASS: TestContainerExitingMsg/http (49.33s)
    --- PASS: TestContainerExitingMsg/tcp (165.25s)

If I change the ordering of lines in this last section, I get the appropriate set of events.

@bcmills @matloob @jayconrod

The test2json bug can be seen in these logs:
{"Time":"2020-08-11T01:03:41.641590332Z","Action":"output","Package":"knative.dev/serving/test/conformance/api/v1","Test":"TestContainerExitingMsg","Output":"--- PASS: TestContainerExitingMsg (0.00s)\n"}
{"Time":"2020-08-11T01:03:41.641597357Z","Action":"pass","Package":"knative.dev/serving/test/conformance/api/v1","Test":"TestContainerExitingMsg","Elapsed":0}
{"Time":"2020-08-11T01:03:41.641625254Z","Action":"output","Package":"knative.dev/serving/test/conformance/api/v1","Test":"TestBlueGreenRoute","Output":"    --- PASS: TestContainerExitingMsg/http (49.33s)\n"}
{"Time":"2020-08-11T01:03:41.641632549Z","Action":"output","Package":"knative.dev/serving/test/conformance/api/v1","Test":"TestBlueGreenRoute","Output":"    --- PASS: TestContainerExitingMsg/tcp (165.25s)\n"}

The --- PASS TestContainerExitingMsg  output is attributed to TestBlueGreenRoute, and test2json does to create Action: pass events for those 2 subtests.

I actually suspect that the testing package has races related to the === markers.
Here's another strange interleaving I see, which ultimately leaves certain log lines under the incorrect heading:
=== CONT  TestSecretVolume             <-- Nothing logged wtf?
=== CONT  TestRevisionTimeout
    kubelogs.go:201: I 01:00:41.328 autoscaler-86d4bd9bcb-hvnt8 [kpa-class-podautoscaler-controller] [serving-tests/revision-timeout-when-b67b736422814c3736c90c658f29bd58-zwcnw8nw] Sleeping additionally for 57.671904984s before can scale to 0
    # These log lines actually belong to the first empty heading!
    kubelogs.go:201: I 01:00:49.594 webhook-98759d99-pfkgh [conversion/conversion.go:133] [serving-tests/secret-volume-dsivzkqq] Converting [kind=Route group=serving.knative.dev version=v1] to version serving.knative.dev/v1alpha1
    kubelogs.go:201: I 01:00:52.333 contour-ingress-controller-5dc846564f-jtmpz [controller/controller.go:520] [serving-tests/projected-secret-volume-erpaxwuw] Reconcile succeeded. Time taken: 31.082µs

Is there a way to disable the streaming interleaved output?  If so, then we can probably mitigate many of this issues by simply throwing that in our CI setup.

This is probably related to the fix for #39308, and thus also to #40657.

@mattmoor, the output in that last snippet does not look like a call to t.Logf. Was it written directly to os.Stdout or os.Stderr? (If so, the answer is “don't write to os.Stdout or os.Stderr in a parallel test if you want the output to associate correctly”.)

Should all be t.Logf: https://github.com/knative/pkg/blob/c9f9284521f197a17fcdbaf5c4360bef8ef8570d/test/logstream/kubelogs.go#L222
@bcmills @dnephin Is there any way to mitigate this?
Ideally we'd want the -v behavior prior to streaming, but I'd also consider/propose dropping -v in CI if that's the only way until this is fixed.

You may be looking at this formatting, but that's going through the logf: https://github.com/knative/pkg/blob/c9f9284521f197a17fcdbaf5c4360bef8ef8570d/test/logstream/kubelogs.go#L185

Switching to gotestsum's equivalent of "no -v" doesn't help, I suspect that's because -json is purely output based? 😞

@mattmoor, are these t.Logf calls occurring after the test has already completed? (Is the --- PASS line actually chronologically misplaced, or is this more just a matter of missing === CONT headers?)

No, we stop calling t.Logf for a particular test when the cancel function is called, which is registered via t.Cleanup

Could you please provide a link to an actual test that is failing? I can see how this library is wired to its exported API but that doesn't really help me understand the sequencing or concurrency properties of the calls in the actual test.

A lot of tests are failing with this.  The ones pertinent to the logs in the linked issue are here: https://github.com/knative/serving/blob/d9d93bd2ce10140af538acaa787aec031c526401/test/conformance/api/v1/errorcondition_test.go#L160
The specific callsite I link above is what initializes the logstream here:
https://github.com/knative/serving/blob/d9d93bd2ce10140af538acaa787aec031c526401/test/conformance.go#L72-L73

@mattmoor, could you provide a complete test output demonstrating the problem? I'd like to see which messages (particularly === CONT and === PAUSE messages) precede the misordered ones.
Did this start as of go1.14.6, or has it been broken across all go1.14 releases?

I believe the event problem was new in 1.14.6, but we had other issues related to the fix that landed in .6
There is a link in the top comment of https://github.com/gotestyourself/gotestsum/issues/141 with a link to download the full build log.  This is interleaved with some other bash output, but when I was playing with test2json locally I'd just snipped the go test output out of one of these.

@mattmoor, one more question: do the tests in question pass if the -race flag is set? Trying to rule out an unlikely data race.

Running go test with args: -race -count=1 -timeout=30m ./test/conformance/api/... ./test/conformance/runtime/... ./test/e2e --resolvabledomain=false --ingressClass=contour.ingress.networking.knative.dev -tags=e2e

Looks like this is with -race.

Thanks, that's helpful. I haven't been able to reproduce this with all logging occurring synchronously within the test, but I can get a very similar symptom by logging after the test has returned (which appears to bypass both the streaming output and synchronization):
https://play.golang.org/p/-E_7ZEDWazN
func TestWithDelayedOutput(t *testing.T) {
	t.Parallel()

	subtestsDone := make(chan struct{})
	var delayed sync.WaitGroup
	for i := 0; i < 3; i++ {
		t.Run(fmt.Sprint(i), func(t *testing.T) {
			delayed.Add(1)
			go func() {
				<-subtestsDone
				defer delayed.Done()
				t.Logf(t.Name())
			}()
		})
	}

	close(subtestsDone)
	delayed.Wait()
}

=== RUN   TestWithDelayedOutput
=== PAUSE TestWithDelayedOutput
=== CONT  TestWithDelayedOutput
=== RUN   TestWithDelayedOutput/0
=== RUN   TestWithDelayedOutput/1
=== RUN   TestWithDelayedOutput/2
--- PASS: TestWithDelayedOutput (0.00s)
    --- PASS: TestWithDelayedOutput/0 (0.00s)
    --- PASS: TestWithDelayedOutput/1 (0.00s)
    --- PASS: TestWithDelayedOutput/2 (0.00s)
    prog.go:22: TestWithDelayedOutput/0
    prog.go:22: TestWithDelayedOutput/1
    prog.go:22: TestWithDelayedOutput/2
PASS

I suspect that it won't be hard to extrapolate from that to a racy write.

I am able to reproduce the interrupting === CONT line by wrapping this bytes.NewReader in an iotest.OneByteReader, but I still can't get it to reproduce without.

@bcmills What if there is logging between the return of the test, but before the t.Cleanups have executed?
This is actually very possible today since the t.Cleanup is what cancels our logstream to the test's t.Log

@mattmoor, it appears that logging to a test after the test function but before the t.Cleanup is generally racy:
Logging to a subtest before the main test's Cleanup results in a data race:
https://play.golang.org/p/EaLLhYQejXa

==================
WARNING: DATA RACE
Read at 0x00c000104658 by goroutine 10:
  testing.(*common).frameSkip()
      /usr/local/google/home/bcmills/sdk/gotip/src/testing/testing.go:479 +0x26e
  testing.(*common).decorate()
      /usr/local/google/home/bcmills/sdk/gotip/src/testing/testing.go:524 +0x64
  testing.(*common).logDepth()
      /usr/local/google/home/bcmills/sdk/gotip/src/testing/testing.go:734 +0x1a9
  testing.(*common).log()
      /usr/local/google/home/bcmills/sdk/gotip/src/testing/testing.go:720 +0x8f
  testing.(*common).Logf()
      /usr/local/google/home/bcmills/sdk/gotip/src/testing/testing.go:766 +0x21
  example%2ecom.TestWithDelayedOutput.func1.1()
      /tmp/tmp.BqaVZz8DDs/example.com/main_test.go:20 +0xe5

Previous write at 0x00c000104658 by goroutine 7:
  testing.(*common).Cleanup.func1()
      /usr/local/google/home/bcmills/sdk/gotip/src/testing/testing.go:858 +0xba
  testing.(*common).runCleanup()
      /usr/local/google/home/bcmills/sdk/gotip/src/testing/testing.go:936 +0xca
  testing.tRunner.func2()
      /usr/local/google/home/bcmills/sdk/gotip/src/testing/testing.go:1102 +0x74
  testing.tRunner()
      /usr/local/google/home/bcmills/sdk/gotip/src/testing/testing.go:1112 +0x22a

Goroutine 10 (running) created at:
  example%2ecom.TestWithDelayedOutput.func1()
      /tmp/tmp.BqaVZz8DDs/example.com/main_test.go:17 +0x92
  testing.tRunner()
      /usr/local/google/home/bcmills/sdk/gotip/src/testing/testing.go:1108 +0x202

Goroutine 7 (running) created at:
  testing.(*T).Run()
      /usr/local/google/home/bcmills/sdk/gotip/src/testing/testing.go:1159 +0x796
  testing.runTests.func1()
      /usr/local/google/home/bcmills/sdk/gotip/src/testing/testing.go:1430 +0xa6
  testing.tRunner()
      /usr/local/google/home/bcmills/sdk/gotip/src/testing/testing.go:1108 +0x202
  testing.runTests()
      /usr/local/google/home/bcmills/sdk/gotip/src/testing/testing.go:1428 +0x5aa
  testing.(*M).Run()
      /usr/local/google/home/bcmills/sdk/gotip/src/testing/testing.go:1338 +0x4eb
  main.main()
      _testmain.go:43 +0x236
==================
--- FAIL: TestWithDelayedOutput (0.00s)
    main_test.go:20: TestWithDelayedOutput/0
    main_test.go:20: TestWithDelayedOutput/2
    main_test.go:20: TestWithDelayedOutput/1
    testing.go:1023: race detected during execution of test
FAIL
exit status 1
FAIL	example.com	0.020s

Likewise for logging to the main test function itself:
https://play.golang.org/p/sGxwXx_D8KH

==================
WARNING: DATA RACE
Read at 0x00c000114358 by goroutine 9:
  testing.(*common).frameSkip()
      /usr/local/google/home/bcmills/sdk/gotip/src/testing/testing.go:479 +0x26e
  testing.(*common).decorate()
      /usr/local/google/home/bcmills/sdk/gotip/src/testing/testing.go:524 +0x64
  testing.(*common).logDepth()
      /usr/local/google/home/bcmills/sdk/gotip/src/testing/testing.go:751 +0x5ab
  testing.(*common).log()
      /usr/local/google/home/bcmills/sdk/gotip/src/testing/testing.go:720 +0x8f
  testing.(*common).Logf()
      /usr/local/google/home/bcmills/sdk/gotip/src/testing/testing.go:766 +0x21
  example%2ecom.TestWithDelayedOutput.func1()
      /tmp/tmp.BqaVZz8DDs/example.com/main_test.go:14 +0x71

Previous write at 0x00c000114358 by goroutine 7:
  testing.(*common).Cleanup.func1()
      /usr/local/google/home/bcmills/sdk/gotip/src/testing/testing.go:858 +0xba
  testing.(*common).runCleanup()
      /usr/local/google/home/bcmills/sdk/gotip/src/testing/testing.go:936 +0xca
  testing.tRunner.func2()
      /usr/local/google/home/bcmills/sdk/gotip/src/testing/testing.go:1102 +0x74
  testing.tRunner()
      /usr/local/google/home/bcmills/sdk/gotip/src/testing/testing.go:1112 +0x22a

Goroutine 9 (running) created at:
  example%2ecom.TestWithDelayedOutput()
      /tmp/tmp.BqaVZz8DDs/example.com/main_test.go:12 +0x86
  testing.tRunner()
      /usr/local/google/home/bcmills/sdk/gotip/src/testing/testing.go:1108 +0x202

Goroutine 7 (running) created at:
  testing.(*T).Run()
      /usr/local/google/home/bcmills/sdk/gotip/src/testing/testing.go:1159 +0x796
  testing.runTests.func1()
      /usr/local/google/home/bcmills/sdk/gotip/src/testing/testing.go:1430 +0xa6
  testing.tRunner()
      /usr/local/google/home/bcmills/sdk/gotip/src/testing/testing.go:1108 +0x202
  testing.runTests()
      /usr/local/google/home/bcmills/sdk/gotip/src/testing/testing.go:1428 +0x5aa
  testing.(*M).Run()
      /usr/local/google/home/bcmills/sdk/gotip/src/testing/testing.go:1338 +0x4eb
  main.main()
      _testmain.go:43 +0x236
==================
--- FAIL: TestWithDelayedOutput (0.00s)
    main_test.go:14: BRAAAAINS
    testing.go:1023: race detected during execution of test
FAIL
exit status 1
FAIL	example.com	0.022s

On the other hand, logging to a test before that test function's own Cleanup seems to be tolerated (https://play.golang.org/p/X514jUu6UPM). I'm not sure why that is. If you've got a use-case where it matters, I would suggest filing a separate issue about the safety of t.Log during a t.Cleanup function.

@mattmoor, I still can't reproduce the reported behavior without modifying the code, but I think I understand where it's coming from. Could you try patching in https://golang.org/cl/249026 and see if that fixes the test output in your environment?

@gopherbot, please backport to Go 1.14 and 1.15. This appears to be a regression in the 1.14.6 point release, and there is no apparent workaround for users who require JSON-formatted test output.

It's less about logging in t.Cleanup and more about using t.Cleanup to tell the thing being cancelled to stop.
I believe we also have cases where if the cleanup fails, we might t.Error, which I assume it similarly problematic?

I don't know how hard it would be to patch a change into the Go used in our CI environment, but perhaps @chaodaig or @chizhg know

I filed the Cleanup issue separately as #40908.

FWIW, it appears that the Cleanup issue is specific to Go 1.15. (It does not affect 1.14.*, and will ideally be fixed in 1.15.1.)

Awesome.  Is there a general schedule for patch releases?  When should I look to pick this up?

Minor releases are periodic, although I'm not sure at what interval. (Certainly every couple of months.)
Note that the more general fix for the interleaved output is still out for review (and still lacks a regression test because I couldn't actually reproduce the symptoms you described). It would be really helpful to have some data on whether that pending change fixes your use-case. 🙂

Any chance this landed in the 1.15.1 that I just saw was cut?

@mattmoor, this should be fixed at head, but since I couldn't reproduce the I'm a little uncomfortable backporting to 1.14.9 or 1.15.2 without further testing. Any chance you could try a build from source (or use golang.org/dl/gotip) to confirm that it fixes the symptoms you observed?

I'll talk to the folks that operator the Knative CI infrastructure.  This hits about once a day in each of our post-submit test legs, so if we could convert even just one of those, it'd be a pretty strong signal IMO.

If you want to minimize other variables, you could also try building from source on release-branch.go1.14 with CL 252638 manually patched in, or release-branch.go1.15 with CL 252637 manually patched in.

Alrighty, I think I have good news, but you should take this with the grain of salt that this thing is obvs non-deterministic 😅
So in our typical "contour-latest" leg, we see this manifesting typically a couple times a day (periodic run every ~2 hours).

Our test-infra folks added an experimental leg that's been running with this change, and clicking through each of legs to see their results in "spyglass" (we don't have it in "testgrid") I don't see any manifestations of this in ~31 runs of this so far.
So I'm optimistic that this fixes things 🤞 🎉

This is still biting us pretty pervasively across our various e2e tests.  When do we think we can expect this in a patch release on 1.14 or 1.15?

@mattmoor, if we don't get any reports of regressions at head, then I would guess that this can make 1.15.3.
(It would help to have more data supporting that it fixes your issue — you mentioned ~31 runs earlier; have you had any occurrences of the bug using the patched version since then?)

I will try to dig the link to those runs back up and see if they are still running, but I haven't looked since posting above.

Something had broken the test image, but they kicked it today and it's running again.  Every build since has been clean, and I'll keep an eye on it over the weekend.
For my own sanity: https://prow.knative.dev/?job=ci-knative-serving-contour-latest-beta-prow-tests

So far another 16 runs without this issue manifesting 🤞

Up to 29 runs without this issue.  As a parallel datapoint, in our unmodified leg over roughly the same period 6 of the last 35 runs have failed with this.

Up to 44 runs without this issue manifesting.  How much longer should we do this?  I think we'll soon start to fall off of our run history and start to fall victim to my horrible mental bookmarking / checkpointing in these numbers.
Future self: Green run number 44 was 9/21 at 15:43:56.

That seems like pretty solid evidence to me. I'll talk with the folks on the release team and see if we can get this into the next minor release.
Thanks for following up!

Hi.
It seems that this change to only flush on completion essentially prevents you from watching tests in the terminal. This is not too much an issue for CI/CD, but it's unsettling when running tests manually. Is there any workaround to still be able to see some progress while tests run, and not just a wall of text after 30min? Am I missing something big here?

@calexicoz, the change for this issue was not to “to only flush on completion”. Flushing on completion is the default behavior for Go tests.
The major change was to add support for streaming output while the test is running, but only if the -v flag is set (#24929). This issue was a fix to the synchronization in the implementation of that feature.

Mmm. Something changed recently though. I am running my tests as:
go test -v -tags integration_testing ./pkg/test/integration/...

And it definitely does not stream. It's a long test suite, so it runs for 20min or so then outputs everything. I'm on go version go1.15.5 darwin/amd64. Should I open a new ticket? It was working until yesterday morning when I updated Homebrew and got the newest Go version. Moving the -v flag around to different locations on the command line does not work either.

@calexicoz, yes, please open a new issue (ideally with steps to reproduce it).
(Is it possible that all of the logging in your test is going to a *testing.T for which the corresponding Test function or Run callback has already returned?)

(Is it possible that all of the logging in your test is going to a *testing.T for which the corresponding Test function or Run callback has already returned?)

I don't have any logging in the test proper. All I expect is simply to see the RUN and PASS statements as it goes. It used to do that and does not anymore. I'll see if I can reproduce it in a test repo and then I'll open a new issue.


Tasks dissapear from list if no connection to server

If the app cannot connect to the server the task list is emptied. The Task list should be cached locally on the device then updated when and if connection to the server indicates an update is necessary.

Well shit, I just came here to report the same issue :)
I'm seeing the same with Tasks 1.1.9, syncing to a CalDAV server using DAVdroid 1.8.1-ose
Kind of kills the entire point of sync.

This is happening to me too, I'm running my nextcloud server and using davdroid.
Could this be related to https://github.com/dmfs/opentasks/issues/404?

Probably my issue too, I have the "contacts" permission disabled as mentioned in #404.

Version 1.1.10 now shows a permission request if the required GET_ACCOUNTS permission has not been granted yet. This will fix the problem.


I want to see visual enhancements to my pet for diligently completing my tasks

As a user, I want to see visual enhancements to my pet for diligently completing my tasks, so that I can feel satisfied and motivated to perform.

duplicate


Fix OAuth callback URL logic for HyperShift clusters

The implementation leverages ExternalDNS which will be the default for all the clusters.
No change for the non HyperShift clusters
Fixes: SDA-7648

/ok-to-test

/lgtm


Update internal usage of subscribe to remove warnings

Closes #722

Updates internal usage of subscribe to new argument order
Adds new test ensuring that old usage still works (and warns).

Codecov Report

Merging #726 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff           @@
##           master    #726   +/-   ##
======================================
  Coverage    84.4%   84.4%
======================================
  Files          18      18
  Lines        4527    4527
======================================
  Hits         3821    3821
  Misses        706     706

Impacted Files
Coverage Δ

bluesky/callbacks/olog.py
69.64% <ø> (ø)
:arrow_up:

bluesky/callbacks/zmq.py
76.47% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

There are still buckets of warnings in the test logs....

Odd. I ran, locally, the same line that .travis.yml runs, and I didn't get any. Will look into it.

This is good to go.


Cannot name container a number less than ten

It looks like the regex validation for the container name expects at least 2 characters -
[a-zA-Z0-9][a-zA-Z0-9_.-]

It looks like this is trying to say that you cannot start your container name with _, . or -, which is probably reasonable, but I would like to name my container 8, for example.

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO


Seems like --yes stopped working

Describe the bug
We are using the --yes option for publishing tasks, which worked in 1.13. but seems to be ignored in 1.15.x.
CI Job:
> new-publish:ci
> lerna publish --yes

lerna-lite notice cli v1.15.1
lerna-lite info ci enabled
lerna-lite info current project version 0.8.21
lerna-lite info Assuming all packages changed
? Select a new version (currently 0.8.21) (Use arrow keys)
❯ Patch (0.8.22)
  Minor (0.9.0)
  Major (1.0.0)
  Prepatch (0.8.22-alpha.0)
  Preminor (0.9.0-alpha.0)
  Premajor (1.0.0-alpha.0)
  Custom Prerelease
  Custom Version
Error: Process completed with exit code 130.

Corresponding npm script:
"new-publish:ci": "lerna publish --yes",

Expectation
--yes should work
Reproduction
Run lerna publish --yes in a CI environment, e.g.: Github Actions
Lerna config and logs
lerna.json

{
  "$schema"<EMAIL_ADDRESS>  "packages": [
    "packages/@pandino/*"
  ],
  "npmClient": "npm",
  "version": "0.8.21",
  "ignoreChanges": [
    "**/__fixtures__/**",
    "**/__tests__/**",
    "**/helpers/**",
    "**/*.md"
  ]
}

lerna-debug.log

<!-- If you have a `lerna-debug.log` available, please paste it here -->
<!-- Otherwise, feel free to delete this <details> block -->

Environment Info
lerna-lite version:
"@lerna-lite/cli": "^1.15.1",
"@lerna-lite/run": "^1.15.1",

Used Package Manager
npm
Validations

[X] Follow our Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion.
[X] The provided reproduction is a minimal reproducible example of the bug.

Found out that the command.version section in lerna.json is mandatory for --yes to work. This should either be fixed, or at least highlighted in the docs.

if you know how to fix then please submit a PR, because the option you describe comes from the original code and I didn't change its behavior

Found out that the command.version section in lerna.json is mandatory for --yes to work. This should either be fixed, or at least highlighted in the docs.

There's maybe PR #431 that I replicated from Lerna recently, but you would have probably seen the error thrown and it's hard to confirm unless you look at your lerna-debug.log

I tried it locally and you're most certainly facing the new error thrown in PR #431 with the following error

I updated the error message and also highlight the need for the version property, it should be more helpful with the following message

Basically, the version was always a required config property but it wasn't as much highlighted before. Missing a version property could cause problems which is why it is now a required config property. I updated some of the README to better highlight this.


Make the default namespace for the command the currently selected namespace for the context

Hi, in order to better integrate with other Kubernetes tools and the kubectl CLI itself, the rook-ceph plugin should expect the namespace for running commands to be the currently selected namespace in the current Kubernetes context instead of "rook-ceph". This would put it's behaviour in line with kubectl.
This might seem like a nitpick, but these standards help decrease friction in the adoption of new tools :)
Thanks

@luis-guimaraes-exoawk  For most cases the namespace is rook-ceph so we defaulted that one but makes sense to check for Kubernetes namespace context.


mkcert -install should be shown in ddev.com quickstarts

The Issue
@philalonso pointed out in Drupal slack that he had done a DDEV installation and ended up with no https
He checked carefully and found that they'd used https://ddev.com.ddev.site/get-started - and in fact it does not show the mkcert -install step.
How This PR Solves The Issue

Add the mkcert -install to macOS and Linux. (It's done automatically by the WSL install scripts)
I noted that the Debian install used the older instructions for the key location, so fixed that.

Manual Testing Instructions
Review https://20240902-mkcert.ddev-com-front-end.pages.dev/get-started/

Thanks for fixing Cloud section. I ran out of gas on that :)
Still not confident about Codespaces of course, but what you have is better.
Thanks for the examples reorg.

The one thing that Matt would be saying is that Linux/Cloud should be bash with $ and mac with the arrows. But I'm OK with it.


E2: Not possible to store tables/arrays in an entity's table ?

Hi,
It is possible to do for example
local E = entity()
E["myNumber",number] = 1

But storing a table (or array):
E["myTable",table] = table()

results in error No such operator: set entity[string, table]
I believe this is the part of code related: https://github.com/wiremod/wire/blob/master/lua/entities/gmod_wire_expression2/core/entity.lua#L794
Any reason why t and r are not allowed ?

I ran into this annoying issue too.
A quick workaround is
MyTable=jsonDecodeTable(E["mytable",string])

Although that shouldn't be needed IMO.

Easiest way is probably this
@persist EntVals:table

if (first()|duped()) {
    EntVal = table()

    function entity:setTable( Key:string, Tab:table ) {
        EntVal[This:id(),table] = Tab
    }
    function table entity:getTable( Key:string ) {
        return EntVal[This:id(),table]
    }
    function entity:setArray( Key:string, Arr:array ) {
        EntVal[This:id(),array] = Tab
    }
    function array entity:getArray( Key:string ) {
        return EntVal[This:id(),array]
    }
}

entity():setTable( "Wut", table(1,2,3) )
printTable(entity():getTable( "Wut" ))

While that would work, it'd also make entries stay even after the entity is deleted, which also means any entity spawned that has the same id as the despawned entity will now carry its properties.
As for why array and table types were disabled I don't know. @syranide was one the to disable them, 6d5ab48985015b09b8eff500b280d14efa22ab58

@bigdogmat IIRC it's because they are mutable data types, so if you get a reference to an array/table from an entity then any modifications to it will apply to the array/table on the entity as well including all other references to it as well (which may be held by entirely different E2s). For many this behavior would come as a complete surprise and be super hard to debug as it differs from how E2 otherwise treats arrays/tables with regards to input/output etc (copying).
A secondary concern was probably also memory management and performance, avoiding careless littering of data on entities which could quickly become large amounts of memory and expensive copying for something that seems innocent. Only assigning individual properties means you can still kind of achieve the same thing, you just have to be explicit and work extra hard for it.

@adosikas Yes I guess it's the best that can be done. My table is small enough and doesn't contain subtables so I think I will just store individual entries.
@Divran I agree with bigdogmat, there is that issue with your workaround. It would work if you can cleanup the table when necessary, but that's not my case.
@syranide Thanks for explanation as to why this feature have been disabled. As always, useful things can be exploited to do bad things, but tables can already be abused so I don't think that would make a difference. Just my two euro cents ;)

I thought arrays were done by value and tables by reference? A workaround, in case this becomes a wontfix, would be to just store your values in a table with E:id() as your key, especially if it's only one E2 that is working with the data, otherwise use global variables to make it available to all your E2s (and others if wanted).

A workaround, in case this becomes a wontfix, would be to just store your values in a table with E:id() as your key

@Divran Pointed this out a few posts above, though it has an issues.
When an entity is deleted it doesn't get deleted from the table, this is obvious because we aren't storing the information by entity reference. The issue comes into play when an entity is spawned and it takes the ent index of an old entity, this could be worked around but still isn't a perfect solution.
Considering the issues @syranide pointed out above an easy solution would be to have our own table, and store the information by entity reference on that.

I'm still not sure what prevents you from just storing the stuff directly on the entity? Why does it need to be in a table on the entity?

You can iterate through an entity, nor can you use numerical keys if I remember correctly. Overall it just allows for an easier management system.

@syranide But table as input and outputs are shared referenced instead of cloned. Same with sending a table via data signals. Changing one is mirrored on the other side. And it is very useful to share data structures instantly and consistent between e2s (instead of constantly spamming datasignals, which would trigger seperate E2 executions).
Making tables in entites copies would be inconsistent.

@syranide But table as input and outputs are shared referenced instead of cloned. Same with sending a table via data signals.

@adosikas it didn't used to be. E2 has been slowly moving to passing tables/arrays by reference over the last few years. Syranide hasn't been active in the community for that time :)

Not sure why it's not allowed, but it's intentional https://github.com/wiremod/wire/blob/master/lua/entities/gmod_wire_expression2/core/entity.lua#L937

I don't see why. Maybe that table can be removed.

@thegrb93 https://github.com/wiremod/wire/issues/1152#issuecomment-227970049
Table references are shared, which might be a bit unituitive for some... however, I think this may still be the case, the bigger issue could be that tables and such sent over the wire-interface and so on will also share the same reference and can thus be very confusingly changed remotely.
Also, I'm not sure, but it might be that one of the types in that list is unsafe to modify (e.g. because you can get/fetch references to other peoples such instances and change them without their knowledge/permission).

The table is unique per e2

Also this should be refactored to store the data in the e2 data... This is a definite mem leak


Package Project into a Docker Container

The project needs to be packaged into a Docker container to simplify deployment and ensure consistency across different environments. This task involves creating a Dockerfile and setting up the necessary configuration for building, running, and testing the Docker image.

Resloved


FIX: Don't mistake \ for _ in dev/build

The query SHOW TABLES LIKE 'some_thing' will match the table some\thing.
This causes issues when the namespace separator has changed.
The fix is to escape the _s in this LIKE statement, as done here.

Test failures pre-existing.


Task4

Issue: #5
mkdir to create directory
touch to create file

Hey @AdityaKishore29
Thanks for opening this PR 🚀. Mentor will review your pull request soon and till then, keep contributing and stay calm.
Thanks for contributing in OpenCode'24 ✨✨!

Hey @AdityaKishore29
Your PR has been merged 🥳🥳 and you have earned 10 points.
Thanks for contributing in OpenCode'24 ✨✨


Remove version: Jackett.Jackett version 0.21.1116

404 - release deleted
Microsoft Reviewers: Open in CodeFlow

URL: https://github.com/Jackett/Jackett/releases/download/v0.21.1116/Jackett.Installer.Windows.exe
Response Error: The remote server returned an error: (404) Not Found.
(Automated message - build 918)


Translations update from Weblate

Translations update from Weblate for OpenRefine/Translations.

@wetneb You said before that squashing confuses Weblate. What about rebasing? I'd just as soon not have these extraneous merge commits in the history.

I suspect rebasing also confuses it, but there is no big harm in trying :)


Goal and field sizes should be derived from localization map

Due to dependencies and shit, we will not do this. bit the field sizes will be configured better (see #108)


Add monaco-editor-webpack-plugin-example

Hello, I created simple demo of how to build Monaco Editor with YAML support as reusable ESM library. It presents how to configure webpack and monaco-editor-webpack-plugin. I hope this will be helpfull for someone.

@domsew can we merge this?

If you find it useful. Yes, of course. Thats why I created PR.

Thank you for contributing!


Update negative field to positive field in cluster logging

Problem:
excludeSystemComponent is a negative field
Solution:
change to includeSystemComponent and use true as default
Issue:
https://github.com/rancher/rancher/issues/15555

LGTM


Add support for API keys

This lets jGenderize use paid API keys from store.genderize.io for high-rate commercial applications. It also contains a few bug fixes.

new DefaultGenderize constructor and GenderizeIoAPI methods for creating clients with API keys
simplified DefaultGenderize slightly
fixed case where the list of names methods were used to request 0 or 1 name
added integration tests
updated version to 1.3 (still backwards compatible with 1.2)
added .travis.yml for Travis CI support
updated readme with examples for API key

Thanks!

thank you @SteelPangolin


[VL] Optimize TPCH table variables in WholeStageTransformerSuite

What changes were proposed in this pull request?
In the WholeStageTransformerSuite, the variable names TPCHTable and TPCHTables are very confusing and need to be renamed. Additionally, if a class that inherits from WholeStageTransformerSuite overrides the createTPCHNotNullTables and afterAll methods, there is no need to construct TPCHTableDataFrames if they don't require using dataframe. Furthermore, an afterAll method has been added to VeloxTPCHDeltaSuite because the parent class's afterAll method cleans up views, whereas Delta creates tables.
How was this patch tested?
Exists CI.

@PHILO-HE @rui-mo Could you help review?

@YannByron Please check the changes in Delta UT.

@YannByron Please check the changes in Delta UT.

Looks good.


How to change client secret from code?

Hi!
I want to change clients secrets from my code. I read the documentation and did not understand how to do it. When I add new List to client ClientSecret property, old secret is not deleted.
So to change the secret, I have to delete the client and recreate it. Is there another way to do this?
Thanks!

We don't have a convenience for that, so you will have to manage those values yourself. We don't provide something for this because different projects manage that data differently.


config: add beforeSeconds override to config ui

Mentioned by @Akurosia.  I think it would be pretty straightforward to add this for any timeline trigger to the ui.  It'd be very similar to the changes in #1908.  If anybody wanted to implement this, I'd be happy to help give pointers.

could it somehow be filtered to only show on trigger that are timeline related?
For other triggers there would be no way of using beforeSeconds as e.g. how would you know 5sec in advance when a tank decides to use invuln?
Or will this be just something we have to live with?

Yeah, I agree that it should only show for triggers that are timeline triggers, in the same way that there's no duration field for anything that doesn't have output (e.g. is just a trigger with a run field).


hard coded array property name 'items'

When I declare hapi response scheme as
schema: Joi.object().keys({
    ans_list: Joi.array().items(
        Joi.object().meta({ className: 'ans' }).keys({
            v1: Joi.number(),
            v2: Joi.number()
        })
    )
});

swagger documentation shows scheme as
xxxx_GET_response {
    ans_list(array[ans_list])
}
ans_list {
    v1(number)
    v2(number)
}

But I think that 'ans' is right name. not 'ans_list'
xxxx_GET_response {
    ans_list(array[ans])
}
ans {
    v1(number)
    v2(number)
}

I found that source code lib/index.js has hard coded name 'items' that works as my proposal
            if (firstInclusionType) {
                // get className of embeded array
line 752
                if(name === 'items'
                    && Hoek.reach(param, '_inner.inclusions.0._meta')
                    && Array.isArray(param._inner.inclusions[0]._meta)){

                    var meta = param._inner.inclusions[0]._meta,
                        i = meta.length;
                    while (i--) {
                        if(meta[i].className){
                            name = meta[i].className
                        }
                    }
                }

I think that "name === 'items'" should be commented out.

Hi You file this issue just as I was moving to a new version. So I fixed it in the latest version v3.x
If you can update hapi-swagger and go through the readme and release notes https://github.com/glennjones/hapi-swagger/issues/180 You may have to change a little bit of the options to get the new version working.
One of the changes with this version is support for JOI's .label('text'), hapi-swagger no longer supports .meta({className: 'text'}).
I have tested your use case with new version and it should produce the output your looking for:
Example of code with new .label('text')
validate: {
    payload: Joi.object().keys({
        ans_list: Joi.array().items(Joi.object().keys({
            v1: Joi.number(),
            v2: Joi.number()
        }).label('ans-o')).label('ans-l')
    }).label('ans-parent')
}

Hope this helps, if your still have problems please feel free to reopen this issue


What is the project id?

What is the project id for this public dataset because I want to do some private copy from existing table using this command.
bq cp

Please advice. Thank you.

Simple: githubarchive :-)


New coords to existing dim (doc)

[ ] Closes #3952
[ ] Passes isort -rc . && black . && mypy . && flake8

Hello @EtienneCmb! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file xarray/core/common.py:

Line 456:1: W293 blank line contains whitespace

@keewis thanks for the suggestions

Thanks @EtienneCmb

@dcherian @keewis The final line is not properly formatted in the latest version of the doc. Might be caused by the _ symbol?

thanks for checking, @EtienneCmb. I don't think the _ matters, this mostly happens because of a missing newline before the doctest line (the one that starts with >>>). Would you like to open a new PR fixing that?


Fixed issue with data missing from change event

when the on-iron-select event is being fired, the event payload is missing the event.detail.item.item property described in the documentation

Closing, #25 removes the need to use the on-iron-select event


Fix label menu text on miletone issues

related to #10107
https://github.com/go-gitea/gitea/commit/86fdba177ad82f3dcdfc237631fef4588042b9d6#diff-cc7032d86a3a768a15542a7a3b8122bfL64
https://github.com/go-gitea/gitea/commit/86fdba177ad82f3dcdfc237631fef4588042b9d6#diff-cc7032d86a3a768a15542a7a3b8122bfL152

Codecov Report

Merging #10242 into master will increase coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #10242      +/-   ##
==========================================
+ Coverage   43.68%   43.72%   +0.03%
==========================================
  Files         582      582
  Lines       80048    80048
==========================================
+ Hits        34966    34997      +31
+ Misses      40747    40708      -39
- Partials     4335     4343       +8

Impacted Files
Coverage Δ

modules/indexer/stats/db.go
55.17% <0%> (-10.35%)
:arrow_down:

services/pull/temp_repo.go
31.62% <0%> (ø)
:arrow_up:

modules/queue/workerpool.go
50.17% <0%> (ø)
:arrow_up:

models/pull.go
42.37% <0%> (+0.55%)
:arrow_up:

modules/log/event.go
65.64% <0%> (+1.02%)
:arrow_up:

services/pull/pull.go
33.93% <0%> (+1.5%)
:arrow_up:

services/pull/check.go
50% <0%> (+14.63%)
:arrow_up:

Continue to review full report at Codecov.

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


#153 - Travis

Configure travis build & deploy to github.
Currently deploying in my account, we need to update it to deploy it under the CoZ repository (I don't have the permissions)

200 points lock9

https://neoscan.io/transaction/589328c622e101065f6717d61a332f93aac71cc68b665e194ef8c874a7e26669


ITKMorphologicalContourInterpolation

Hello everyone,
I would like to use "ITKMorphologicalContourInterpolation" from ITK inside of the browser. Is it possible? I have followed the steps to install itk-js, but I can't find this class and I don't see what I should do... Any help would be greatly appreciated!
Best,
Thomas

Hello Thomas,
Yes, we will create an example.
Thanks,
Matt

Hello,
Thank you for your answer!
Do you confirm that it is indeed possible to use this class using itk-js? Could you also give me a lead on how this could be done? I need this feature quite urgently and might need to go another direction if things don't evolve here, but I would really like to use this class.
Thank you for the help!

Yes, @finetjul has used it in an application, but I do not know if has been made open source, yet.

Sure, here is what we do:
#include <iostream>
#include "itkImageFileReader.h"
#include "itkImageFileWriter.h"

#include "itkMorphologicalContourInterpolator.h"

int main(int argc, char** argv) {

    if(argc != 3)
    {
        std::cout << "Usage: " << argv[0] << " <input> <output>" << std::endl;
        return EXIT_FAILURE;
    }

    const char * inputImageFile = argv[1];
    const char * outputImageFile = argv[2];

    using PixelType = unsigned short;
    constexpr unsigned int Dimension = 3;

    using ImageType = itk::Image<PixelType, Dimension>;
    using ReaderType = itk::ImageFileReader<ImageType>;
    auto reader = ReaderType::New();
    reader->SetFileName(argv[1]);

    using InterpolatorType = itk::MorphologicalContourInterpolator<ImageType>;
    auto interpolator = InterpolatorType::New();
    interpolator->SetInput(reader->GetOutput());

    // This filter fails with the default emscripten trap mode.
    // https://github.com/emscripten-core/emscripten/blob/906e14e4173e00b47ed931f993c837eb7c6f649a/site/source/docs/compiling/WebAssembly.rst#trap-mode

    using WriterType = itk::ImageFileWriter<ImageType>;
    auto writer = WriterType::New();
    writer->SetInput(interpolator->GetOutput());
    writer->SetFileName(argv[2]);
    try{
        writer->Update();
    }catch(itk::ExceptionObject & err){
        std::cerr << err << std::endl;
    }

    return EXIT_SUCCESS;
}

There are examples on itk.js to build with emscripten.
You then add your WASM to webpack and use runPipelineBrowser to execute the program within JS.

@finetjul thanks!

https://github.com/emscripten-core/emscripten/blob/906e14e4173e00b47ed931f993c837eb7c6f649a/site/source/docs/compiling/WebAssembly.rst#trap-mode

Note -- we are fixing this by default with the next version of itk.js by adding the flag -s BINARYEN_TRAP_MODE=clamp.


IsGeolocationAvailable hangs if no network connection available

Bug
Version Number of Plugin: 3.0.4
Device Tested On: Surface Pro 4 (Windows 10.0.14393)
Expected Behavior
No hang
Actual Behavior
Hangs
Steps to reproduce the Behavior

set Flight mode on (no network)
call IsGeolocationAvailable (first call works ok)
call IsGeolocationAvailable  again (second call never returns)

Possibly same issue with IsGeolocationEnabled

I am facing with the same issue.
@jamesmontemagno Why did you close it?


Composite formatting: fixed processing order description

The step 3c of the composite formatting processing order says:

For objects of other types, if a composite formatting is called with an IFormatProvider argument, its value (including a null, if no IFormatProvider object is supplied) is passed directly to the IFormattable.ToString implementation. Otherwise, a CultureInfo object that represents the current thread culture is passed to the IFormattable.ToString implementation.

The second sentence is redundant. The first sentence covers two complimentary cases: when an IFormatProvider argument is supplied and not supplied. I've moved no-IFormatProvider argument case into the corrected second sentence.
I've used the following code to check the actual behavior (if you want to run it, just copy it to https://try.dot.net/):
using System;
using System.Globalization;

public class Program
{
  public static void Main()
  {
    CultureInfo.CurrentCulture = CultureInfo.GetCultureInfo("en-EN");
    var ghost = new Ghost();
    Console.WriteLine($"I'm a ghost: {ghost:ghost}");
  }

  public class Ghost : IFormattable
  {
    public string ToString(string format, IFormatProvider formatProvider)
    {
      if (format == null) return null;
      if (formatProvider == null) return "not cultural ghost";
      return format.Equals("ghost") ? "~~~" : null;
    }
  }
}

Output:
I'm a ghost: not cultural ghost

The source code proves that provider is just passed to IFormattable.ToString method (it's null if it is not given to the calling string.Format method).

@rpetrusha thank you for review and noticing a missing word. I've brought it back.


Update azure-pipelines.yml to fix build failure

Not sure if this will solve the issue, can anyone chime in?
PR #306
Build Error: go: cannot find GOROOT directory: /usr/local/go1.13
https://tpark.visualstudio.com/fabrikate/_build/results?buildId=5235&view=logs&j=12f1170f-54f2-53f3-20dd-22fc7dff55f9&s=d654deb9-056d-50a2-1717-90c08683d50a&t=f8ed7bd8-2a7f-56f6-9385-7fc29a8b5b7b&l=12

Solves #308, except the build is breaking on the lint step.
cmd/find.go:29:2: S1038: should use fmt.Printf instead of fmt.Println(fmt.Sprintf(...)) (but don't forget the newline) (gosimple)
fmt.Println(fmt.Sprintf("Search results for '%s':", keyword))

Lets simplify it and roll with with this:
schedules:
  - cron: "0 0 * * *"
    displayName: "Daily midnight build"
    branches:
      include:
        - master
    always: true

pool:
  vmImage: "Ubuntu-16.04"

variables:
  linterTimeout: "5m"

steps:
  # https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/tool/go-tool
  - task: GoTool@0
    inputs:
      version: "1.15"

  - script: |
      curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s v1.30.0
      ./bin/golangci-lint run --timeout $(linterTimeout)
    displayName: "Lint"

  - script: |
      scripts/build clean
    displayName: "Clean"

  - script: |
      HELM_URL=https://get.helm.sh
      HELM_TGZ=helm-v3.1.2-linux-amd64.tar.gz
      wget -q ${HELM_URL}/${HELM_TGZ}
      tar xzfv ${HELM_TGZ}
      PATH=`pwd`/linux-amd64/:$PATH
    displayName: "Install helm"

  - task: Go@0
    displayName: Test
    inputs:
      command: test
      arguments: -v -race ./...

Linting works for this build definition but tests still fail. I THINK it might have to do with helm3 not being compatable with some recent changes to some helm charts in the stable helm repo.

The pipeline is failing because the fab component used by the TestGenerateJSON is not compatible with Helm3. This test generates the component under /testdata/generate which fetches fabrikate-elasticsearch-fluentd-kibana, which fetches stable/elasticsearch which is deprecated.
The test should be changed so that it installs a component compatible with Helm3.


Use TLS 1.2 for downloading

The plugin crashed for me when trying to download the WakaTime CLI. The problem was that the download didn't use TLS 1.2.
The change I made forces the connections to be made with TLS 1.2.

merged PR, thanks!


XS✔ ◾ New pr s1

❌ Add a description.

@AsfaMumtaz Image is available for testing. docker pull stakater/workshop-exercise:SNAPSHOT-PR-167-8d3f9eeb


SpinFort and MoveToFort recycle more items

Is there any solution in that problem?
2016-08-10 11:20:03,155 [  SpinFort] [INFO] [inventory_full] Not moving to any forts as there aren't enough space. You might want to change your config to recycle more items if this message appears consistently.
2016-08-10 11:20:03,156 [MoveToFort] [INFO] [inventory_full] Not moving to any forts as there aren't enough space. You might want to change your config to recycle more items if this message appears consistently.
What should i change?

change your config to recycle

Go to the config.json file and setup the part regarding to the recycle :

 {
    "type": "RecycleItems",
    "config": {
      "min_empty_space": 15,
      "item_filter": {
        "Pokeball":       { "keep" : 100 },
        "Potion":         { "keep" : 10 },
        "Super Potion":   { "keep" : 20 },
        "Hyper Potion":   { "keep" : 30 },
        "Revive":         { "keep" : 30 },
        "Razz Berry":     { "keep" : 100 }
      }
    }
  },

Check pokemon count and lower the item_filter numbers from config's "RecycleItems". Usually i'm going with:
"config": {
      "item_filter": {
        "Pokeball":       { "keep" : 50 },
        "Potion":         { "keep" : 0 },
        "Super Potion":   { "keep" : 0 },
        "Hyper Potion":   { "keep" : 30 },
        "Revive":         { "keep" : 30 },
        "Razz Berry":     { "keep" : 50 }
      }
    }

Also, for now "min_empty_space": 15 is causing a loop. Remove it temporarilly

And what if i want to keep more items, like more pokeballs or berries?

If you want that, you can add them based on the name in this list: https://github.com/PokemonGoF/PokemonGo-Bot/wiki/Item-ID's
This you need to do if you want to add Great Ball filtering
"config": {
	"item_filter": {
		"Pokeball": { "keep" : 50 },
		"Potion": { "keep" : 0 },
		"Super Potion": { "keep" : 0 },
		"Hyper Potion": { "keep" : 30 },
		"Revive": { "keep" : 30 },
		"Razz Berry": { "keep" : 50 },
		"Greatball": { "keep": 50 }
	}
}

I have no idea how to write a good changelog, is there anyone who can upload his?
For example if i want to keep 300 pokeballs, will i have problem with the spinfort and the movetofort again like before?

If you want to have a higher number of items, just change the number to the desired number in { "keep" : 50 } for the item you want to change

That's what i did before and suddenly that spinfort and movetofort problem happened...
So i should probably try to have the amount of items that i keep at low numbers? Like 30-50?

That problem was being caused by the "min_empty_space": 15 config, so it should not be a problem to have high numbers.

I didn't have that "min_empty_space" in my config at all! So? What else might be the problem?
Also, can i do something to level up more quickly?

@merkon It all matters on how you tune up your config. You have numerous variables that could help you do that. In order to level fast, put your account to farm in known areas that spawn a lot of pokemons, add evolving features to config at "evolve_captured": "Pidgey,Rattata,Zubat,Weedle,Drowzee,Spearow,Venonat,Caterpie,Krabby,Paras,Sandshrew,Psyduck,Mankey,Tentacool,Magnemite,Doduo,Seel,Voltorb,Horsea,Goldeen,Staryu,Ekans", and each time you capture one and have candy, evolve them. Leave the script open when you sleep and so on.

I don't know how to tune up the best my config... Do you have any change file that you can give me?
Also when i try to run the bot for a long time it crashes:
Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/init.py", line 859, in emit
msg = self.format(record)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/init.py", line 732, in format
return fmt.format(record)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/init.py", line 471, in format
record.message = record.getMessage()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/init.py", line 335, in getMessage
msg = msg % self.args
TypeError: not all arguments converted during string formatting
Logged from file init.py, line 547
And then it says:
2016-08-10 14:57:00,567 [  SpinFort] [INFO] [pokestop_searching_too_often] Possibly searching too often, take a rest.


Proposal for #[bundle(require)] Implementation

Objective
An attempt to fix #7272
This is a proposal for a way to express bundle requirements using a bit of macro help.
Solution
My solution is to leverage the existing derive_bundle macro to provide a set of required component IDs for every Bundle.
Currently, the syntax looks like this:
#[derive(Component)]
struct A;

#[derive(Bundle, Default)]
struct B {
    #[bundle(require)]
    #[allow(unused)]
    a: Require<A>,
}

Require<T> is simply a PhantomData<T> which has a custom implementation of Bundle.
It is not inserted as a component. Instead, it is used to populate a list of ComponentId which is checked during BundleInfo construction:
for id in requires {
    if !component_ids.contains(&id) {
        panic!(
            "Bundle {bundle_type_name} requires missing component: {}",
            components.get_info_unchecked(id).name(),
        );
    }
}

This allows us to enforce Bundle dependencies by panicking.
There is currently a few issues I'm trying to resolve:

Ideally, user shouldn't have to specify #[bundle(require)]. If we can parse the type name containing Require<*>, I think we can make it less verbose.
I'm not sure how to get rid of #[allow(unused)]. Require is like PhantomData, but not. It should be unused, but rust doesn't know that, which causes warnings in user code. I'm open to ideas here.
I would like to give the user the option to insert a default if the requirement is missing, instead of always panicking.

I've included two tests with the initial implementation which demonstrates complete usage.
    #[test]
    #[should_panic]
    fn bundle_with_missing_require() {
        use super::bundle::Require;
        #[derive(Component)]
        struct A;

        #[derive(Bundle, Default)]
        struct B {
            #[bundle(require)]
            #[allow(unused)]
            a: Require<A>,
        }

        let mut world = World::default();

        world.spawn(B::default());
    }

    #[test]
    fn bundle_with_require() {
        use super::bundle::Require;
        #[derive(Component)]
        struct A;

        #[derive(Bundle, Default)]
        struct B {
            #[bundle(require)]
            #[allow(unused)]
            a: Require<A>,
        }

        let mut world = World::default();

        let entity = world.spawn((A, B::default()));

        assert!(entity.contains::<A>());
    }

Please note, Currently this PR is just a draft. I'm still new to internals of Bevy, and I'm interested in dialogue with more experienced developers. If there is any way to simplify things further, or if there are any edge cases I'm missing, I'm open to any and all feedback.
Personally, I think this is a major feature missing from Bevy, since it's impossible for bundles to overlap. This means if two bundles depend on a component existing on an entity, there is simply no way to enforce or express that prior to runtime. This is what motivated me to open this PR.

Changelog
Added

Require<T> type to specify a required component within a bundle
BundleFieldKind::Require to support #[bundle(require)]
Bundle::requires() which does nothing on all internal Bundle implementations except for Require<T>.
Tests: bundle_with_missing_require and bundle_with_require

Changed

derive_bundle to implement requires() for deriving Bundles
BundleInfo::new to check for missing required components

I prefer #5121: I don't think that these should be defined at compile time (and there's quite a few critical relationships that can't be expressed here).
If these are compile time only it becomes very dangerous for library authors to set them.

I prefer #5121: I don't think that these should be defined at compile time (and there's quite a few critical relationships that can't be expressed here).
If these are compile time only it becomes very dangerous for library authors to set them.

I'd love some counter examples for why having this check be at compile time is bad.
My rationale is because the bundle requirements are expressed exactly where the bundle is defined, the bundle creator controls what is required, which would increase safety for library authors, not decrease it.
Is it possible that we need both dynamic and compile time invariants...?

Hmm, because this is tied to bundles specifically I think that moving it to compile time is basically okay. The concerns around compile time archetype invariants are:

rules can't be removed (doesn't matter here, you can just make your own bundle type unless the component types are locked down)
users can't add more rules (I agree that this makes sense as the owner of that bundle's decision)

More concerns though:

I don't think this actually prevents bad state: users can selectively remove required components off of entities to break this invariant in a very surprising way.
I'm nervous about the side effects and tech debt of hooking into BundleInfo here: this means you can never use a bundle of this type by itself in any current or future APIs (such as With filters, which would be logically valid). That seems overkill: we really just want to check this at spawning right?

Overall I still feel that we should review and finalize the old PR (which is effectively complete) rather than having two very similar features, one of which is substantially more limited.

Regarding your concerns:

I don't think this actually prevents bad state: users can selectively remove required components off of entities to break this invariant in a very surprising way.
Agreed. I don't see a way around this unless we keep something in memory to keep track of removed components, and then that just gets messy.

I'm nervous about the side effects and tech debt of hooking into BundleInfo here: this means you can never use a bundle of this type by itself in any current or future APIs (such as With filters, which would be logically valid). That seems overkill: we really just want to check this at spawning right?
Again, to me, this is a feature, not a downside. 😁 I want to say "All entities with this bundle must have component X.", period. This gives me a full guarantee that no entity can spawn without my required component.

An example of this which motivated me to make this is I have several systems which all require their entities to have Name, mainly for debug purposes. I can't have each of the bundles of these systems have Name, because that overlaps. Instead, I could have all the bundles have Require<Name>, and I can safely assume all entities with this bundle will spawn with Name. This avoids my systems silently not running due to a query mismatch.
This is why I think we may benefit from having "Required Components" be a separate feature for more low level control, and reserve archetype invariants for higher level entity composition. i.e. Dynamic vs. Static requirements.
Regardless, if the other CL is near completion, I'll hold off working on this to see how that pans out. I'd like to keep this PR open for the time being though, if that's ok.

Yep, feel free to keep this open and let's see what others think!

Closing in favor of https://github.com/bevyengine/bevy/pull/14791 🎉


Container is not running - Windows-WSL-Ubuntu

Hi,
Problem while running "make install"
Error response from daemon: Container f73041640f9c5db75dcdd5cd62338ae63aa1caf79692fb8262fd359cc8da3ac9 is not running
make[1]: *** [Makefile:291: rasa-train] Error 1
make[1]: Leaving directory '/mnt/d/RasaGPT'
make: *** [Makefile:57: install] Error 2

@paulpierre  .  I am sorry to say this.  I spent 2 days on this.  This is not working for me yet.
make[2]: Leaving directory '/mnt/d/RasaGPT'
Error response from daemon: Container 8c55107514b927e05a732a42c4d694b363ccb944412fdcf139e628243899ec66 is not running
make[1]: *** [Makefile:291: rasa-train] Error 1
make[1]: Leaving directory '/mnt/d/RasaGPT'
make: *** [Makefile:57: install] Error 2

Hey did you get any solution for this ?

Tried here too, got the error:
# docker compose logs rasa-core
chat_rasa_core  | chmod: changing permissions of '/app/wait-for-it.sh': Operation not permitted


Localization failure with a Velodyne 64E Sensor in real vehicle

hello,
when I ran cartograhper demo_backpack3d.launch ,
It used 2 lidar sensor which are horizontal and vertical.
but our vehicle system has just one Velodyne 64E Lidar sensor which surrounds 360 degree scenes.

and It looks good but It's not making a map properly as much as demo file (I think it's because of the number of sensor).
To use cartographer's localization feature in our real vehicle system, I saved earlier 180320_dyrosvehicle_path1.pbstream map file and load it with
roslauch cartographer_ros dyros_test.launch map_filename:=/path/to/pbstream/180320_dyrosvehicle_path1.pbstream

and I started driving in near start point (around 2m) and drive through parking lots.
but It fails to merge 2 trajectories to one map :-/

Question is

what is a major reason of failure to merge 2 different trajectories? (failure of Localization)

I think It's because of lack of map data against one velodyne sensor, but I'm not sure of it.

sorry for not having a bag file and I'm just having .pbstream files and I'll record a bag file soon
http://gofile.me/3TjkG/mmXEJiyxH

Thanks in advance

Thank for the reply.
additional screenshots are here.

tf tree for our vehicle

procedure was

turn on cartographer_ros and moving around parking lots several times (started from the garage)
save an offline map using cartographer_ros (rosservice call /write_state ~/Downloads/map.pbstream)
shutdown all cartographer_ros programs
move vehicle to the front of the garage.
rerun cartographer_ros with map_filename:=~/Downloads/map.pbstream
then there are 2 trajectories ( 0: offline map trajectory,  1: current online trajectory)

Please check what types of constraints and how many have been found.
In rviz, enable Display -> Add -> By topic -> /constraint_list -> MarkerArray.
Then, again in the Display sidebar, expand MarkerArray -> Namespaces and click through the different kinds of constraints.
If there are no INTER constraints across different trajectories, this is the cause and needs to be fixed first.
Also, in the launch file, make sure to set argument -keep_running=true to the node so rviz is updated after the bag ran through.

@gaschler
well.. I couldn't find any constraint between 2 trajectories..
I think It's because I don't have a .bag file and I just have .pbstream file that include 2 trajectories
then It opens just static offline map with 2 trajectories like pictures above.
and I don't think I put -keep_running=true argument into my cartographer_ros
I have to figure it out more deeply with recording .bag files.
Thanks for the kind reply :-)   I'll close this issue

Oh, you are only opening pbstreams.
When you open a pbstream with load_state_filename, the default behavior is that its trajectories are frozen and no constraints are searched.
You can try again with -load_frozen_state false, but this is a rather special feature and not the typical usage of Cartographer.
How to use arguments: When you start with roslaunch, you usually what to edit the .launch file and add the arguments to args="".
Hope this helps.

@gaschler
awesome!  I haven't known those commands so far. I'll try to do it
Thank you for kind help :-)


The Multi-Tiered Caching (MTC) algorithm

The Multi-Tiered Caching (MTC) algorithm is a caching strategy that improves data retrieval by storing frequently accessed data in faster, higher-priority caches (e.g., L1). As data access patterns change, the MTC algorithm moves data between different cache levels, such as from L2 to L1, based on usage frequency. This approach optimizes memory utilization and minimizes access time, making it suitable for high-performance systems handling large datasets.

@pankaj-bind Please Review my PR.


[BUG]: Wechat failed payment doesn't return an error when calling stripe.confirmPayment()

What happened?
In stripe dashboard in test mode enable wechat pay.
Set up a react application with react-stripe-js and stripe-js.
Add everything needed to code to render a  with wechat enabled.
Add a "Pay" button to call stripe.confirmPayment({elements, ....}) // just follow usual instructions, basic react project with PaymentElement.
Put a log for a response from stripe.confirmPayment();
Open browser, Open devtools console, choose wechat pay and click "Pay".

Click emulate scanning here:

On submit page instead of submitting payment reject it. (Fail the payment manually.)

Check what's logged in the console.

Expected: An object with error field must be logged according to documentation.
Actual: an object with paymentIntent field is being logged, no error field.
P.S. My colleague actually noticed there's a confirmWechatPayment method, but I see it has same return scheme, so it should be the same behaviour under the hood. And I don't think we can determine that user has chosen wechat pay if we're using payment element, most probably we don't have to.
Environment
No response
Reproduction
No response

This is expected behaviour. In the scenario you describe, the returned payment intent object should have status: requires_payment_method. This is getting a bit into the weeds, but technically the "confirm" call succeeded and there was a customer action required to finish the payment. It's that action that failed to complete the payment, which is an expected path for some payments to follow.
This is described in the confirmPayment docs you linked:

Note that for some payment methods such as iDEAL or Afterpay Clearpay, your user will first be redirected to an intermediate page to authorize the payment. If they fail to authorize the payment, they will be redirected back to your return_url and the PaymentIntent will have a status of requires_payment_method. In this case you should attempt to recollect payment from the user.

To handle these cases, you should inspect the status of the payment intent returned and present payment options again if needed (where status=requires_payment_method).

@brendanm-stripe awesome, thanks for rapid reply!
When after submitting status is "required_payment_method", should I let user try again with same payment method or do I have to create a new one? By default, when there's an error field in root of response we recreate the payment intent, cause the old one is disposed. But in this case, is it okay if we follow the same scenario of creating a new payment intent or should we let user try again with same intent?

You can retry with the same Payment Intent, and this is actually recommended to avoid accidental double charges. You can cancel the payment intent and create a new one, but its not necessary to do so.


Break CLI from ZDNS Library, Add cobra/viper support

Apologies for the rather large PR, I attempted to scope this as much as possible. A summary of changes and future work is below:
Changes:

Use spf13/cobra as the CLI framework
Use spf13/viper to allow ENV/config file settings for flags
Use spf13/pflag for cleaner integration across packages
Move CLI into the main package
Move library into github.com/zmap/zdns/pkg/zdns
Update makefile, github actions, and IT tests to reflect new changes.

Future Work (left out to keep the scope of this PR appropriate):

Add in support for passing a name on the CLI like dig
Rework the API to clean up flag passing and global config
sort out global state declarations across the main package

I would definitely appreciate a review on this one - I'm sure there's areas that could use improvement. I've taken a pass or two myself and iterated to clean up, but, a second (or third) pair of eyes would be awesome!

@spencerdrak can you take a look at tests

Having a bit of issue replicating the failure even with the same merging pattern. Going to have to do some deeper digging on this tomorrow and push an update once it's fixed.

I left some brief notes in the readme. As mentioned above, I'll be working on cleaning up the interface, at which point, I'll add more detail and usage examples to the README and/or a wiki page.


missing log file of BEVDetOCC-R50

The link of BEVDetOCC-R50 log file is broken. Could you please provide a new one?

upload at https://pan.baidu.com/share/init?surl=2XWqv4jpOsidlhopStU9xA&pwd=xcr9


fix: ScreenObserver extends NavigatorObserver

Per the Dart documentation:

Pre-Dart 3, any class could be used as a mixin, as long as it had no declared constructors and no superclass other than Object.
In Dart 3, classes declared in libraries at language version 3.0 or later can’t be used as mixins unless marked mixin. This restriction applies to code in any library attempting to use the class as a mixin, regardless of the latter library’s language version.

https://dart.dev/resources/dart-3-migration#mixin

Please approve and marge this changes
@christyharagan
@oscb
@migs647

@maxlapides thanks for this contribution! even if it looks small it's great for our short handed team :)


Updating ifdefs to account for xlclang compiler frontend on AIX. The …

…fallback DEP works fine there.

Checklist

[ ] documentation is added or updated
[ ] tests are added or updated

Thanks for the PR. This looks good, but you will need to sign an ICLA:
https://www.openssl.org/policies/cla.html

I think this is withing the realms of a trivial commit.  If you agree, could you please add "CLA: trivial" to the commit message on a line by itself.  (git commit --amend, edit the message, git push -f).

If that's okay with ye, I'll just add the trivial part for now.

You'll need to rebase to get rid of the merge commit (we don't allow merge commits in the repository).
get rebase master ought to do it.

That didn't seem to do anything. Sorry it's been nearly ten years since I last used git in a professional context. 😅
$ git rebase master
Current branch master is up to date.
$ git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

Just drop the merge commit and squash the two previous commits - git rebase -i master should help.

Sorry guys I'm making a mess of this, I blame Perforce for locking me into a walled garden the last few years.
I've just started over with a new pull request: https://github.com/openssl/openssl/pull/18892


Sending CON messages during the client lifetime

When the client has already started, the Send and SendTo functions never return because of the Read inside SendMessageTo. The ACK message from the server is caught instead by the serveServer, not by the Read inside the SendMessageTo.

Ok i see, you're right. I've fixed it. i'll commit along with the BLOCK1 implementation.


VBA Company Step (UI only)

Details
Implements the UI portion of the VBA Company Step.
Fixed Issues
Fixes (partial) https://github.com/Expensify/Expensify/issues/166916
Tests / QA Steps

Go to $expensifyCashURL/bank-account/
Click on the bank icon
In the plaid modal, click "Chase"
Enter user_good and pass_good as login credentials.
Look at the shiny Company Information form on the next page.
Verify that each form element can be interacted with, and that the submit button or active form input is never covered by the software keyboard.

Tested On

[x] Web
[ ] Mobile Web
[ ] Desktop
[ ] iOS
[ ] Android

Screenshots
Web

Mobile Web

Desktop

iOS

Android

Okay, @Expensify/design should I switch this form to placeholders instead of labels? We use labels elsewhere, such as in settings/profile and settings/preferences

I think we want to disable the Save and Continue button until all necessary fields have been filled out

Good call-out, but right now there's no validation and the button doesn't do anything. Was going to handle this in a follow-up PR.

If we're going to discuss labels v.s: non-labels, I'd like to throw a suggestion in the ring (screenshot taken from my RN take-home challenge I did a few weeks ago.

Labels, but less clutter! best of both worlds

Heh, are you following along with the updated form style GH Rory? https://github.com/Expensify/Expensify.cash/issues/3108

Basically I think we have plans in the works to update the form styles across the board, and those plans involve keeping a label (in a much smoother fashion). So that being said, I'd say keep the labels for now and in the future we will convert them over to a much nicer component.

Cool, given that I'll merge this and update my Requestor one to include the labels agian

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging in version: 1.0.70-1🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production in version: 1.0.73-3🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Feature Request: Simple Instructions on using GameLift Unity Plugin

Using gamelift is surprisingly complex (at least for me) especially when starting a new project and going through the first few development cycles. Things like seeing a game server process in the GameLift system on my development machine; you know, the basic first steps programmers typically do when using a library or framework.
I was hoping GameLift Unity Plugin might help speed things up when starting a new project. Unfortunately not I'm finding. Probably a skill issue on my part
For example, how do I get the some of the values I fill in on the GameLift Unity Plugin's "Anywhere" editor window into my game server? The documentation says to just copy over Samples~/SampleGame/Assets/Scripts/Server/GameLiftServer.cs but that file has dependencies on other files in the sample project. I could copy over all the dependent files, but it feels like there might be an opportunity to make a simpler API that's ready to use?

Obviously I could skip using GameLift anywhere but that would be confusing, as I'm sure I'm not the only person in the world who wants to see something working locally before promoting into other environments.

Never mind, I surrender. I am not capable of using GameLift.


When using the matrix enchanting system from quark, dungeons gear enchantments proc

As the title says.
If you enchant a weapon using matrix enchanting in Quark, the item will be able to be removed before the enchantments are finalized. This makes it to where the item stores the enchantments, so that you can continue building the weapon/tool/armor when you grind more levels.
But, dungeons gear enchantments with special effects, such as Anima conduit, Rushdown, Freezing shot, etc, all still take effect even when the weapon isn't properly enchanted. Likely because the mod is simply checking for the weapon to have the necessary nbt data, rather than checking for it to properly have the enchantments.
I'd say this is pretty vital to fix, as quark is immensely common in many modpacks, and any modpacks that choose to use matrix enchanting will be able to cheese the dungeons gear enchantments without locking in enchantments.

Uh... turns out I was wrong. Sorry. I was mistaking the effect of one of the modded weapons in my pack for the effect of Rampaging. MY bad entirely


Make the installer add the execute permission to tModLoaderServer on unix systems

Description of the Change

When tModLoader is installed on linux or mac using the jar installer, trying to use Host & Play will crash the game due to the tModLoaderServer file not having the right permissions. This PR makes the installer add the execute permission to tModLoaderServer on linux and mac, which fixes that issue.
Alternate designs

None.
Why this should be merged into tModLoader

Because it fixes a bug that prevents people on unix systems from using tModLoaderServer.
Benefits

Bugs will be fixed.
Possible drawbacks

I haven't tested this on linux because I don't own a linux computer, so I don't know how well it works on linux.
Applicable Issues

This should fix #402.
Sample Usage

None.

Question, does this match up with the permissions of the vanilla exe? I'm pretty sure the script is executable, just can't remember if the .bin files need to be executable as well.


Updating sensu_gem provider to check for RUBY_PLATFORM

This to fix #629

Looks reasonable to me. Thanks!