Memory leak when processing large amounts of messages

Firstly, apologies for the lack of information, this is a shot in the dark to be followed up with a bit more information.
If I run a basic test, ala:
        [Test]
        public void RawApi_Test()
        {
            var region = RegionEndpoint.APSoutheast2;
            var appName = "RawApi_Test";
            var streamName = "LargeStream";

            var processorFactory = new ProcessorFactory();

            using (var app = ReactoKinesixApp.CreateNew(kinesisReadonlyKey, kinesisReadonlySecret, region, appName, streamName, "PHANTOM", processorFactory))
            {
                app.StartProcessing("01");
                Thread.Sleep(TimeSpan.FromMinutes(2));
                app.StopProcessing("01");
            }
		}

		public class ProcessorFactory : IRecordProcessorFactory
		{
			public IRecordProcessor CreateNew(string shardId)
			{
				return new RecordProcessor();
			}
		}

		public class RecordProcessor : IRecordProcessor
		{
			public ProcessRecordsResult Process(string shardId, Record[] records)
			{
				foreach (var record in records)
				{
					Console.WriteLine("Got record: {0}", Encoding.UTF8.GetString(record.Data));
				}

				return new ProcessRecordsResult(Status.Success, true);
			}

			public void OnMaxRetryExceeded(Record[] records, ErrorHandlingMode errorHandlingMode)
			{

			}

			public void Dispose()
			{

			}
		}

And run a memory profiler over it, I find that Record[] is not being collected. I can provide a more comprehensive test case tomorrow, if that will help us track down the issue.

It seems to me that it's not a memory leak, but rather that the stream I'm processing produces messages faster than I can process them. I wrote some projects to reproduce this, but I was unable to produce enough messages to reproduce.
What I can see though, is that in Client.fs, in fetchNextRecords, this just gets called recursively, without any feedback from the consumer.
I think I have two options here: try to have some feedback about messages being processed and wait for that to occur before starting the next getRecords request; or changing the way that I process these messages. Do you have any other suggestions?

That is possible given the way it works right now - the fetch happens
eagerly, as soon as the last batch was received, so if you're slow to
process the current batch then it's possible for the records to build up
whilst they're queued up for the processor.
Taking feedback from the processing loop by taking the nextBatch signal (
https://github.com/theburningmonk/ReactoKinesiX/blob/develop/src/ReactoKinesiX/Client.fs#L651-L653)
into account feels like the right thing to do here, so that ideally it'll
fetch the next batch whilst you're processing the current batch so by the
time you finish the next batch will be available for processing.
This is a good point, thank you for pointing it out.
Out of curiosity, what are you using to send records to Kinesis? Because
the way throttling works in Kinesis, you might have hit throttling limits
when you were trying to generate load to reproduce this, I wrote another
library (https://github.com/theburningmonk/darkseid) for the producer side
of things to handle things like auto-splitting shards and having the choice
of either sending data to Kinesis eagerly or lazily (background mode has
the risk of losing buffered data which in some of our cases is a reasonable
trade off for client-facing latency).
On Thu, Feb 5, 2015 at 12:14 AM, Khan Thompson<EMAIL_ADDRESS>wrote:

It seems to me that it's not a memory leak, but rather that the stream I'm
processing produces messages faster than I can process them. I wrote some
projects to reproduce this, but I was unable to produce enough messages to
reproduce.
What I can see though, is that in Client.fs, in fetchNextRecords, this
just gets called recursively, without any feedback from the consumer.
I think I have two options here: try to have some feedback about messages
being processed and wait for that to occur before starting the next
getRecords request; or changing the way that I process these messages. Do
you have any other suggestions?
—
Reply to this email directly or view it on GitHub
https://github.com/theburningmonk/ReactoKinesiX/issues/52#issuecomment-72969321
.

Hi @theburningmonk, the approach you mention above sounds like it could potentially help a situation I'm seeing whereby our windows service (using ReactoKinesiX) is consuming more and more memory over time. This graph is showing the windows service memory usage over a couple of days:

Here are our shard Get Requests for that period of time:

Any ideas/pointers appreciated.

Can you have a look at the CloudWatch metrics under the ReactoKinesiX
namespace? Would be interested to see Fetched vs Processed counts to see if
there is an imbalance there.
On Tue, Apr 21, 2015 at 6:20 AM, Tom Hall<EMAIL_ADDRESS>wrote:

Hi @theburningmonk https://github.com/theburningmonk, the approach you
mention above sounds like it could potentially help a situation I'm seeing
whereby our windows service (using ReactoKinesiX) is consuming more and
more memory over time. This graph is showing the windows service memory
usage over a couple of days:
[image: ReactoKinesiX Memory Usage]
https://camo.githubusercontent.com/0770ac5ab07f62fb9fe21c1ad8f56dee6434bfac/687474703a2f2f6936322e74696e797069632e636f6d2f62386d7835772e706e67
Here are our shard Get Requests for that period of time:
[image: AWS Kinesis Get Requests]
https://camo.githubusercontent.com/3d5bc7e4e095b1266fd3028fe86aa6f6a85ed6e0/687474703a2f2f6936312e74696e797069632e636f6d2f36723468386f2e706e67
Any ideas/pointers appreciated.
—
Reply to this email directly or view it on GitHub
https://github.com/theburningmonk/ReactoKinesiX/issues/52#issuecomment-94641500
.

The spikes on the graph are when we started our worker processor - getting through a backlog of kinesis records all at once. None of our records are being successfully processed, we're aware of this. The memory usage is definitely an interesting one. I'm considering enabling server mode for the garbage collector to see if that'd help.

I pushed a new version v0.4.0 which should address this behaviour - it now waits until the last batch has been processed before fetching the next lot.
In this version you can also specify the MaxBatchSize via configuration so if you don't want to use the Kinesis default of 10000 you can make them smaller - but keep in mind the rate of processing and the max no. of transactions per second on the stream which is calculated based on the no. of shards.
Please let me know if this addresses the issue you guys are seeing.

Hi, is this issue fixed for everyone? If so I'll close the ticket.


[no merge] Remove broken geocoding timeout logic #2941

@Kartones asking for early feedback (not merging yet):

I made sure the active polling of state makes no sense and that the timeout exception was never raised. That piece of code confused us all and for me it's the main reason to delete it.
The original intent of the timeout was to kill the job if it took more than 15 min to enter the queue. I don't think that makes sense but to set a timeout if the job is taking too much time to process.
We can wait to have more info in kibana about the typical times for geocodings
We can add a process timeout adjusted based on geocodifiable rows or something like that.

Comments? suggestions?

Frontend tests were OK :+1: (details)

Frontend tests were OK :+1: (details)

although not logged here I had green lights from @Kartones so I'm merging this now


added faye endpoint support

still slightly experimental, however receiving room messages was tested and working fine (on the same interface as the Stream):
	faye := api.Faye(room.ID)
	go faye.Listen()

	for {
		event := <-faye.Event
		switch ev := event.Data.(type) {
		case *gitter.MessageReceived:
			if ev.Message.From.Username != user.Username {
				ircMsg := fmt.Sprintf("<%v> %v", ev.Message.From.Username, ev.Message.Text)
				fmt.Printf("[Gitter] %v\n", ircMsg)
			}
		case *gitter.GitterConnectionClosed: //this one is never called in Faye
			fmt.Printf("[Gitter] Connection closed...\n")
		}
	}

This change is

Not sure if this should be merged, since it uses quite an unmaintained library (https://github.com/mrexodia/wray), I added support for a 'send hook' which enables authentication by setting ext.token to the Gitter API token on a /meta/handshake channel message.

This is really great and looks good :smile: . I will play with this addition of Faye and see how it runs. And yep, the wray lib looks unmaintained and there are nice not merged PRs (https://github.com/pythonandchips/wray/pulls). Anyway, I think Faye addition worth merging, we just mention in docs that this is an experimental feature :wink:

I had a weird issue I cannot reproduce with the streams, which I added code
for. The 'keep-alive' whitespace (sent every 30 seconds according to my
observations) at one point went completely crazy (sending hundreds of keep
alive signals per second). Could you try to reproduce this as well (can
still be observed by the interval changing to 10 seconds).
I will run a test on an active channel with both streams and faye to see
which one is more stable.
On Fri, 18 Mar 2016 at 11:31, Roman Kushnarenko<EMAIL_ADDRESS>wrote:

This is really great and looks good [image: :smile:] . I will play with
this addition of Faye and see how it runs. And yep, the wray lib looks
unmaintained and there are nice not merged PRs (
https://github.com/pythonandchips/wray/pulls). Anyway, I think Faye
addition worth merging, we just mention in docs that this is an
experimental feature [image: :wink:]
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/sromku/go-gitter/pull/4#issuecomment-198298185

I also see that gitter send a whitespace each 30 seconds. Never experienced hunderds of signal in a short time, but I guess it should be taken into account. Why it's matter if they are actually doing it? I also think there is an issue I missed with last PR. The comment here wdyt?


check if a given string is Pangram or not

Please assign this to me, I can do this in C++

Pls assign this to me. I can code it in java and python


Compile Python 2.7.2 with WASM

We are currently attempting to compile Python version 2.7.2 with our Lind-WASM. We selected version 2.7.2 because it is the version used by Lind-NaCl, allowing for a fair comparison. I will also use this issue to track the compilation problems and document their solutions.

In file included from ../Modules/python.c:3:
In file included from ../Include/Python.h:58:
../Include/pyport.h:243:13: error: "This platform's pyconfig.h needs to define PY_FORMAT_LONG_LONG"
error "This platform's pyconfig.h needs to define PY_FORMAT_LONG_LONG"
^
1 error generated.
make: *** [Makefile:555: Modules/python.o] Error 1

Where did you pull the source code from?

The error persists because we are performing a cross-compilation, and PY_FORMAT_LONG_LONG is not correctly defined for the platform. To resolve this issue in a robust way, we need to define PY_FORMAT_LONG_LONG directly in pyconfig.h.
Solution:
Add the following line to /Python-2.7.2/build/pyconfig.h:
#define PY_FORMAT_LONG_LONG "ll"

Where did you pull the source code from?

I got the source code from here: https://www.python.org/downloads/release/python-272/

A lot of clues for things such as the one above should be in here: https://github.com/Lind-Project/lind_project/tree/main/tests/applications/python
Python was the hardest app to build because its build process uses itself to package everything, but because we couldn't switch between native and Lind in the build process we had to compile a bunch of things by scratch. It would be cool to figure it out seemlessly this time but that may not be possible.

This issue would be a good reference from my view

Parser/pgen ../Grammar/Grammar ../Include/graminit.h ../Python/graminit.c
Parser/pgen: 12: Syntax error: "(" unexpected
make: *** [Makefile:562: Parser/pgen.stamp] Error 2

The error occurred because the pgen we generated was a WASM version. However, the default script attempts to run pgen directly, without using a WASM runtime.
Solution
Inspired by the Lind-NaCl compilation process, I followed these steps to resolve the issue:

Compiled a native version of Python using Clang.
Used the native pgen to generate the necessary files:

../Include/graminit.h
../Python/graminit.c

The error occurs because MAX_GROUPS is not defined for our platform during compilation. To fix this issue, we can manually define MAX_GROUPS in the pyconfig.h file.
Solution
Add the following line to the pyconfig.h file in your build directory:
#define MAX_GROUPS 64

Explanation
MAX_GROUPS specifies the maximum number of groups a user can belong to.

The error occurs because the function chflags is not declared or supported on our platform.
Solution: Disable chflags
Modify the build to exclude chflags if it is not supported on your platform. In the pyconfig.h file located in your build directory, ensure that HAVE_CHFLAGS is undefined:
#undef HAVE_CHFLAGS

	Modules/python.o \
	libpython2.7.a    -lm

wasm-ld: error: unable to find library -lm
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [Makefile:416: python] Error 1

This error happens because the linker (wasm-ld) cannot locate the libm library, which provides mathematical functions.
Solution
To resolve the issue, create a static libm.a library in the sysroot location for WASM:
Run the following command to generate libm.a:
/clang+llvm-16.0.4-x86_64-linux-gnu-ubuntu-22.04/bin/llvm-ar crs "/lind-wasm/glibc/sysroot/lib/wasm32-wasi/libm.a"

Explanation

The -lm flag instructs the linker to link against the math library (libm).
For WASM, a compatible libm.a must exist in the sysroot's library path (/lib/wasm32-wasi/).
Running llvm-ar crs creates an empty libm.a, which satisfies the linker's requirement for the library, even if the actual mathematical functions are not needed.


Error when calling createURI

When I call createURI, I get the following error in my callback. It's pretty cryptic and I have no idea what's causing it.
	upload.createURI({
		bucket: 'mybucket',
		file: 'myfile.jpg',
		authConfig: {
			projectId: 'XXXXXX',
			keyFilename: 'XXXXXX'
		}
	}, function(err, uri) {
		console.log(err, uri);
	});

{ errors: [ { domain: 'global', reason: 'required', message: 'Required' } ],
  code: 400,
  message: 'Required' }

That's not fun at all. According to these docs: https://cloud.google.com/storage/docs/json_api/v1/status-codes that means somewhere along the way we made a "bad request". I'll jump on a computer later and try to reproduce. If you're up for some console.logging in the mean time, feel free :)

Would you put a console.log(resp.toJSON()) at this line and paste the output?

TypeError: Cannot read property 'toJSON' of undefined (resp is undefined).
I get the same thing when I console.log(JSON.stringify(body)); on line 210 and the resp object there is a little too big to paste.

Woops, sorry for sending you down that road that was clearly wrong. Instead of logging resp, resp.toJSON() should produce a much more copy-pastable object.

Could this be the solution? I've created a bucket with a service account, and I'm trying to access it with that same service account, but do I need to give that service account write permissions? http://stackoverflow.com/a/17978592
I've removed what I believe to be potentially sensitive info, hope I didn't screw anything up.
{ statusCode: 400,
  body: { error: { errors: [Object], code: 400, message: 'Required' } },
  headers:
   { 'x-guploader-uploadid': 'XXXXXX',
     vary: 'Origin, X-Origin',
     'content-type': 'application/json; charset=UTF-8',
     'content-length': '163',
     date: 'Wed, 02 Sep 2015 23:25:46 GMT',
     server: 'UploadServer',
     'alternate-protocol': '443:quic,p=1',
     'alt-svc': 'quic=":443"; p="1"; ma=604800',
     connection: 'close' },
  request:
   { uri:
      { protocol: 'https:',
        slashes: true,
        auth: null,
        host: 'www.googleapis.com',
        port: null,
        hostname: 'www.googleapis.com',
        hash: null,
        search: '?name%5B_bsontype%5D=ObjectID&name%5Bid%5D=U%C3%A7%C2%85ze%C3%98%C3%A232%22%02%C2%A3&uploadType=resumable',
        query: 'name%5B_bsontype%5D=ObjectID&name%5Bid%5D=U%C3%A7%C2%85ze%C3%98%C3%A232%22%02%C2%A3&uploadType=resumable',
        pathname: '/upload/storage/v1/b/thebucket/o',
        path: '/upload/storage/v1/b/thebucket/o?name%5B_bsontype%5D=ObjectID&name%5Bid%5D=U%C3%A7%C2%85ze%C3%98%C3%A232%22%02%C2%A3&uploadType=resumable',
        href: 'https://www.googleapis.com/upload/storage/v1/b/thebucket/o?name%5B_bsontype%5D=ObjectID&name%5Bid%5D=U%C3%A7%C2%85ze%C3%98%C3%A232%22%02%C2%A3&uploadType=resumable' },
     method: 'POST',
     headers:
      { Authorization: 'Bearer XXXXXXX',
        accept: 'application/json',
        'content-type': 'application/json',
        'content-length': 2 } } }

I think the problem might be the filename:
name%5B_bsontype%5D=ObjectID&name%5Bid%5D=U%C3%A7%C2%85ze%C3%98%C3%A232%22%02%C2%A3&uploadType=resumable

Translated:
name[_bsontype]=ObjectID&name[id]=UçzeØâ32"£&uploadType=resumable"

Looks like maybe you're giving an object as the file property instead of a string?

OOOPS! You're totally right. Forgot a simple .toString(). Sorry for the headache. :dizzy_face:

No problem, glad we got it solved! :)


Çözüm 31

 Issue by fundasec3
Saturday Mar 23, 2019 at 18:53 GMT
Originally opened as https://github.com/googlesamples/android-CustomTransition/pull/3

fundasec3 included the following code: https://github.com/googlesamples/android-CustomTransition/pull/3/commits

 Comment by googlebot
Saturday Mar 23, 2019 at 18:53 GMT

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
:memo: Please visit https://cla.developers.google.com/ to sign.
Once you've signed (or fixed any issues), please reply here (e.g. I signed it!) and we'll verify it.

What to do if you already signed the CLA
Individual signers

It's possible we don't have your GitHub username or you're using a different email address on your commit. Check your existing CLA data and verify that your email is set on your git commits.

Corporate signers

Your company has a Point of Contact who decides which employees are authorized to participate. Ask your POC to be added to the group of authorized contributors. If you don't know who your Point of Contact is, direct the Google project maintainer to go/cla#troubleshoot (Public version).
The email used to register you as an authorized contributor must be the email used for the Git commit. Check your existing CLA data and verify that your email is set on your git commits.
The email used to register you as an authorized contributor must also be attached to your GitHub account.

ℹ Googlers: Go here for more info.


New Typed Signature Optimizer

Also fixed a bug with list inputs, and another bug on predictors with no input fields.

I decided to not subclass Teleprompter and just make it a function.
Mostly because I didn't have any class state, and I couldn't see a reason for which arguments would go into the class constructor and which would go into compile.
Let me know if this is a problem.

I called it "Typed Signature Optimizer" because it assumes TypedPredictors rather than Predicts. Unfortunately the other signature optimizers don't work when using TypedPredictors, as the signatures get manipulated too much.


xbar/tlul unit simulation is broken

Summary: if you were to cd into hw/top_earlgrey/ip/xbar/dv/autogen/ and make TEST_NAME=xbar_sanity, the build fails.
I assume here is the place we run the xbar/tlul unit simulation.
BTW, the standalone topgen.py and tlgen.py are broken at latest master.
Some detail debug trials:

First one will need to move around *.core file to make the FuseSoc to generate the correct filelist (scr).
E.g. move top_earlgrey/ip/xbar/rtl/autogen/xbar_main.core to top_earlgrey/ip/xbar_main/rtl/autogen
Then the generated top_earlgrey/ip/xbar/dv/autogen/tb__xbar_connect.sv tries to connect device interface (uart/gpio/spi_device/rv_timer). However, at xbar_main (dut) module level, it only has 'peri' port for these. These four IPs connections actually were moved inside xbar_peri module.
I tried to instantiate xbar_peri for the correct connection. In order to do this, one need to move/modified other *.core files.
After kicking off these stones, one faces Warning-[BNA] Bind Directive not applied compile warnings for xbar_peri binds. Further down the road, it leads to compile errors "Error-[XMRE] Cross-module reference resoultion error" for the assertion binds.
I feel I hacked too many files which are supposed to be auto-generated. I thought I would just file this ticket to report the issue.
Let me know if you need more details.

// Wen

@weicaiyang  could you take a look?

@ywanywhere Thanks for reporting this issue.
The failure is because of design update at #1236. I'm about to make 2 PRs to fix the error in xbar_main and generate TB for xbar_peri.
You can either get a version without this design update or get my coming fix.

Just made those PRs I mentioned: #1278 and #1279

Verified and close this issue.
Thanks for the prompt replies and fixes!


Zine V0.14.0 / Panic on Start / Using master rustmagazine

listening on http://<IP_ADDRESS>:3000
thread 'tokio-runtime-worker' panicked at 'Failed to render author page: could not render include: error in "footer_template.jinja" (in base.jinja:54)

Caused by:
    unknown filter: filter date is unknown (in footer_template.jinja:51)', src/entity/zine.rs:411:18
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Watch build error: task 10 panicked

Running on Mac Using latest brew install.

Thanks, @Bas-Man.  We migrated from tera to minijinja via https://github.com/zineland/zine/pull/214, minijinja has no built-in filter called date, so it panicked. One of solution is to remove the date filter, see also: https://github.com/RustMagazine/rustmagazine/pull/88/files


Fix typo in command of migrate-mcq-to-qq.md doc

Hello folks!
Recently, I tried to perform the migration guide from the mirrored classic to quorum queues in one of my company's clusters, and I observed a minor typo in the command that imports the new schema that contains the quorum type in the queues.
rabbitmqadmin import -V NEW_VHOST NEW_VHOST.json
I observed it and I decided to fix it...
Thank you in advance as well as for the migration guide, it was quite helpful!!

Honestly, I think the best approach would be to recommend rabbitmqctl import_definitions instead of even rabbitmqadmin v2.


Remove dropped version checks from v3 workflows

This PR:

Removes e2e tests for Angular v9-12 since they won't be supported in msal-angular v3
Removes e2e tests for Node v10-12 since they won't be supported in msal-node v2
Adds --bundleConfigAsCjs flag to msal-browser's watch script

Codecov Report

:exclamation: No coverage uploaded for pull request base (msal-browser-v3@0e1a4ac). Click here to learn what that means.
The diff coverage is n/a.

Flag
Coverage Δ

*Carryforward flag

msal-angular
96.41% <0.00%> (?)

Carriedforward from 744cf06

msal-common
84.48% <0.00%> (?)

Carriedforward from 744cf06

msal-node-extensions
75.64% <0.00%> (?)

Carriedforward from 744cf06

msal-react
94.68% <0.00%> (?)

node-token-validation
88.88% <0.00%> (?)

Carriedforward from 744cf06

*This pull request uses carry forward flags. Click here to find out more.


Video is still processing. Try again later.

2022-10-27 15:39:10,867 - Uploader.echo - INFO - ['yt-dlp', '--no-warnings', '--allow-dynamic-mpd', '-j', 'https://drive.google.com/uc?id=1FVHINKYtreE4DA8nhytERbGTLxgW7qQV']
2022-10-27 15:39:11,646 - Uploader.echo - INFO - ERROR: [GoogleDrive] 1FVHINKYtreE4DA8nhytERbGTLxgW7qQV: Video is still processing. Try again later.
INFO - ERROR: [GoogleDrive] 1FVHINKYtreE4DA8nhytERbGTLxgW7qQV: Video is still processing. Try again later.

because that video does not verify yet by google drive.


PoC(tap13): User Selection of the Top-Level Target Files Through Mapping Metadata

This pr adds support for TAP 13. It adds support for targets mapping metadata that is defined by the client. This mapping metadata allows the client to specify which targets metadata file on the repository they would like to use as top-level targets. This mechanism allows repository managers to split a repository into multiple namespaces and for clients to specify which of these namespaces to trust.

It would be great if commits (and the PR cover letter as well) answered the question "why?", even if the answer is just a single sentence.
I understand the TAP exists but

Once this is committed and no longer part of a PR the context isn't as clear and
Going from no explanation at all to the somewhat academic TAP is big jump

It would be great if commits (and the PR cover letter as well) answered the question "why?", even if the answer is just a single sentence.

I just force-pushed to update the commit messages.

As this is a PoC for the TAP process I've converted it to a draft.

Now with the legacy code gone this PR will need quite a re-write.
Since most of above review comments and discussion don't seem to be relevant anymore, I suggest to close here and submit a fresh PR for TAP13 ... it should be a lot easier to build on top of the new APIs.


sap.m.Input change event triggers twice in v1.108

OpenUI5 version:
1.108
Browser/version (+device/version):
Chrome
URL (minimal example if possible):
demo - https://ekansh005.github.io/Ui5InputOnChange/
repo - https://github.com/ekansh005/Ui5InputOnChange
Steps to reproduce the problem:

open browser console
type any value in input field and press tab (or enter or just focus away)
check console log

What is the expected result?
The change event should have been triggered only once
What happens instead?
The change event is triggered twice
Any other information? (attach screenshot if possible)
This is the issue with v1.108 and doesn't occur if we point to the latest version. Since 1.108 is LTS version, it should also have fix for this issue. One point to note here is that I have suggestions and value both bound to the same model.

Hello @ekansh005 ,
Thank you for sharing this finding. I've created an internal incident<PHONE_NUMBER>. The status of the issue will be updated here in GitHub.
Regards,
Niya

Hi @niyap, is the fix released already to public? if yes, which versions?

Released with 1.108.16.


Bumping odo version v2.1.0 -> v2.2.0

Signed-off-by: Mohammed Zeeshan Ahmed<EMAIL_ADDRESS>

/hold
Trying to get #4565 in by EOD before this goes in. If it doesn't by EOD, feel free to remove the hold.

Considering that we are at end of the day and requested pr merged. I will remove the hold
Lets resume release tommorow
/hold cancel

/retest


WIP AWAT minimum viable product

Summary
This pull request is currently a work in progress but will provide a minimum viable product for the Automatic Workspace Archive Translator, or AWAT.
It will be ready to merge when it provides:

The complete database implementation for storing Transactions
an API for controlling Transactions
integration with S3 for fetching archives and storing outputs
the actual translation flow

At time of writing, the above features are all in a partially complete state, but please provide any feedback that you have and I'll be happy to address it.
The Autohealer and any other functionality laid out in the design document will come later.
Also, this PR should look very familiar because I am borrowing large amounts of code from the Provisioner repo. If there's anything that y'all think I should be bringing in as a library from that repo instead of copy-pasting, please yell at me about it! The store package is almost completely duplicated here, but it would require changes upstream to use as a library in this repo. That might be preferred, but I wasn't sure.

I'll add the SREs when this is closer to finished and again, no pressure about the review just yet since this is still in progress, but y'all can consider this PR a request for comments

Thanks Gabe! The snowpocalypse slowed me down a bit but I'll let you know when there are some significant changes to re-review

Commit 21ab675 has a couple of design choices in it that I didn't think through thoroughly and if you're reviewing this code before I push more commits, after this comment, be aware that the changes in that commit are still more WIP than the stuff that came before it.
Honestly I'm starting on a new logical step, beginning at 21ab675, and I'd be happy to peel off a spin-off branch & make a new PR if any of you feel that's necessary, but unless you do, I am working on the same branch in the meantime just in the interest of keeping my velocity up

Is Transaction == Translation? I believe design doc also uses Transaction so I was slightly confused sweat_smile
Yes, @Szymongib , I made the decision to just use the name Translation everywhere after a few commits at the beginning of the PR, because I found it less confusing in the code, but I didn't go back and retroactively update the design. Sorry for the confusion! Translation == Transaction.

Thanks for clarifying @gigawhitlocks! Good call on that, Translation seems like a better name.

At this time, this PR is mostly stable again; I'm just adding a few more things to the command line tool for convenience during testing, development, and for SRE use, and that and some tests will be it for this PR. Once I have some tests and these final CLI commands added I'll remove the WIP status from this PR and begin working on integrating the AWAT with the Provisioner while addressing any comments.
Thanks!

I'm just adding a few more things to the command line tool for convenience during testing, development, and for SRE use

this part is complete now

@gabrieljackson you mentioned that you wanted to see this merged soon even if there's some polish that can be added after the merge. If you think this is ready to go (enough) could you click the approval button so there's a record that I didn't just go rogue and merge it unilaterally? :joy:


patch: Add Seeed Odyssey x86 getting started guide

Signed-off-by: Vipul Gupta (@vipulgupta2048) <EMAIL_ADDRESS>

Please make sure to read the CONTRIBUTING document before opening the PR for relevant information on contributing to the documentation. Thanks!

@balena-ci rebase

@balena-ci rebase

@balena-ci I self-certify!


⚠ Mobitopup has degraded performance

In 7f41551, Mobitopup (https://napcard.voz.tech) experienced degraded performance:

HTTP code: 200
Response time: 6433 ms

Resolved: Mobitopup performance has improved in a82fab0 after 7 minutes.


Repo doesn't have webhooks (for readthedocs.org)

In order to have readthedocs.org update documentation alongside Github commits, we have to have webhooks set up. Instructions from readthedocs.org are here; I'd do it but I can't access the Partisan Discourse repo settings:

Go to the “Settings” page for your project
Click “Webhooks & Services”
In the “Services” section, click “Add service”
In the list of available services, click “ReadTheDocs”
Check “Active”
Click “Add service”

http://docs.readthedocs.io/en/latest/webhooks.html
https://developer.github.com/webhooks/creating/

@samgoodgame ok I'll take care of it.

And the webhook is active.


Cryptomatte Nuke not picking up Vray pass names

Hello,
Having an issue getting renders to work from 3dsmax/Vray 3.60 to Nuke. VRay will auto name the pass "VRayCryptomatte" for example. Now I can see this channel in Nuke but the Cryptomatte gizmo will not pick it up (automatically I'm assuming?). Even if I type in the channel name into "Layer Selection" it still wont work.
If I use a provided sample image and connect the Cryptomatte the "uCryptoAsset" is seen. I can then name the vray pass "uCryptoAsset" and switch the input to this file and it works.
Is there something I'm missing coming from the VRay side? There is very little VRay documentation on this new feature.
Thanks for your time.

This sounds like it could be an issue with exr metadata.  In order to work, the exr file needs to have channels that match the name of the Cryptomatte layer.  For example, in the metadata in Nuke you should see:
/exr/cryptomatte//name = VRayCryptomatte
And the file should have layers like this:
VRayCryptomatte
VRayCryptomatte00
VRayCryptomatte01
VRayCryptomatte02
I don't currently have easy access to the latest VRay.  Any chance you could send an example file of what VRay is generating?

OK, So with that info I was able to determine VRay is NOT saving that metadata. In Nuke if I add the metadata (ModifyMetaData)
action: Set
key : exr/cryptomatte//name
value : VRayCryptomatte
The gizmo works as it should. So this must be a 3dsmax/VRay bug as its not adding that metadata. Or I'm just missing something.
Thanks

Yes, could be a VRay issue.  There's also a chance it could be a Nuke issue.  Don't quote me on this, but I've heard that the EXR 2.0 spec asks for metadata to be stored per-layer in multi-part EXRs, but that Nuke has trouble reading metadata in that case.  So it's possible that VRay is doing the right thing, and Nuke is just not handling it properly.
In theory, Cryptomatte can still be reasonably effective for matte extraction without metadata, but it's not a use case we've tested, and things like auto-setup and hash string recovery definitely won't work.

Here is how I got it working

V-Ray only writes the metadata in multichannel OpenEXR files straight from the renderer. If you saved the file from the VFB directly with the save button, it will not include the metadata right now. We need to expand the VFB to store and load the metadata, but it will be done in a future release.
Best regadrs,
Vlado

Hi Guys,
Any idea how CryptoMatte works with for example an object behind glass ? With Multimatte, it works when we check the affect all channels on the glass material, but it seems that the cryptoMatte doesn't work with this option. Any idea ?

Another problem for me, with vray 3.60 of course, when i put a CryptoMatte on render elements, 3dsmax crash everytime when he's writing output, and just the CryptoMatte element !!!

If you have a scene that causes a crash feel free to attach it here or to email it to me. It generally works fine for me, but there might be things I've missed. Like I said, it only works with multichannel OpenEXR output. You can't use the option to split the render elements into separate OpenEXR files.
For objects in reflections and refractions, this is not supported right now. There is a thread on the Cryptomatte mailing list about this, and when things get clarified a bit more, I will look into implementing it.
Best regards,
Vlado

Ok , thanks Vlado, it works with the multichannel output.
Last thing, when you have a multi/Sub Material, it doesn't understand, it just takes the global mat. Anyway to bypass ?

That's the other thing that I haven't done yet. The current implementation can't see inside the Multi/Sub material, it just knows the top material that's assigned to the object. I will be reworking this part at some point to grab the actual material after it has been evaluated. I also have to figure out what to do with blend materials.

Great !!!! wait for the next vray update :)

Glad to see this getting resolved. FWIW Arnold Cryptomatte has the same limitations, images saved from the render views do not have the right data.
Closing this because it's not an issue for the code in this repo. Thanks!


Show correct label value when event is clicked after automatic labelling

When labels are generated automatically (e.g. via algorithm plugin) and the labelled events are clicked with the mouse, the popup window opens but does not show the correct label. Would be great to set that tick in the box :)

Should be resolved :) Please check and close the issue if it works.


python311Packages.pytablewriter: 1.0.0 -> 1.1.0

Diff: https://github.com/thombashi/pytablewriter/compare/refs/tags/v1.0.0...v1.1.0
Changelog: https://github.com/thombashi/pytablewriter/releases/tag/v1.1.0
Description of changes

Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 258245 run on x86_64-linux 1

16 packages built:

python310Packages.pytablewriter
python310Packages.pytablewriter.dist
python310Packages.pytest-md-report
python310Packages.pytest-md-report.dist
python310Packages.riscof
python310Packages.riscof.dist
python310Packages.riscv-isac
python310Packages.riscv-isac.dist
python311Packages.pytablewriter
python311Packages.pytablewriter.dist
python311Packages.pytest-md-report
python311Packages.pytest-md-report.dist
python311Packages.riscof
python311Packages.riscof.dist
python311Packages.riscv-isac
python311Packages.riscv-isac.dist


Fixed OrdinalScale padding

Fixes #871 for good.
The new bandwidth was computed with old padding, resulting in wrong bandwith. This is due to the migration d3 v3 -> d3 v5, each call to scale.rangeBands(r) should be replaced with scale.range(r).paddingInner(0).paddingOuter(0) if scale is an ordinal scale for which inner padding and outer padding have already been specified.
cc @martinRenou @SylvainCorlay

Cool!

I can confirm that fixes the issue in my environment as well :)


Add Relaunch64 v3.3.2

Relaunch64 is a powerful IDE for C64-assembler-coding.

@vitorgalvao Thank you for help!

Renamed the cask
Added the comment about its name
Changed the format for downloading from SF

Format is still wrong. Should be http://downloads.sourceforge.net/sourceforge/relaunch64/Relaunch64_#{version}_OS_X_app.zip.

Yeah, sorry. Amended.


Run-Time Check Failure #1 - A cast to a smaller data type has caused a loss of data.

Caused by duktape (1.4 as well). Is there a way to remove the compiler option /RTCc for the target scriptzeug only, leaving it on in the DEFAULT_COMPILE_OPTIONS?

At the moment, we made the mistake of putting DEFAULT_COMPILE_OPTIONS in PUBLIC instead of PRIVATE, so even if we disable it for a specific project, it will be inherited from the dependencies, e.g., scriptzeug depends on reflectionzeug.
Regarding the problem itself: We do not yet know the real cause of the problem, but I doubt only duktape is affected, the same error occurs also in other parts of the middleware. So I would vote for completely removing RTCc, unless we find out what the real problem is here.
@cgcostume Any ideas on this matter?

I remember from former occurrences of this runtime warning that it gets yielded in strange situations with somehow well-written and well-structured code. As a solution, the code has to get much more complicated. Example:
int value = 42;
unsigned char result = value & 255; // result is always be between 0 and 255 and thus fits perfectly into an unsigned char

The code above may result in such runtime warning and has to be rewritten as this:
int value = 42;
unsigned char result = static_cast<unsigned char>(value & 255);

I would also vote for disabling RTCc.

The full error message is
Run-Time Check Failure #1 - A cast to a smaller data type has caused a loss of data.  If this was intentional, you should mask the source of the cast with the appropriate bitmask.  For example:

	char c = (i & 0xFF);

Changing the code in this way will not affect the quality of the resulting optimized code.

I would understand that is is more about adding that mask when doing a cast, so both of your examples should be fine. The offending line in this issue is
res->hash_seed = (duk_uint32_t) (duk_intptr_t) res;

i.e., a cast from a 64 bit int to a 32 bit int with actual data loss. There might be some more experiments necessary, but I think this warning is appropriate for the 64 to 32 bit cast.

I disabled RTCc for all our projects (libzeug only in update_duktape branch) for now. If the problem resides in duktape i suggest to report an issue or fix it right away and, if resolved, enable RTCc in our projects again.


Rendering issue after awakening on Linux

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.56.2
OS Version: Ubuntu 18.04

Steps to Reproduce:

Run VS Code.
Go to sleep mode.
Wake from sleep mode.

Issue disappears If I disable hardware acceleration using
"disable-hardware-acceleration": true
I'm using Unity desktop and Nvidia-340 driver.

I am also facing similar issues with my system after waking up from sleep (although with less severity).
In my case the terminal does not render correctly and restarting the terminal window fixes the issue.

Closing as GPU issue in the runtime is not actionable, please continue to disable hardware acceleration in VSCode.


Add all Kagi News regions as bangs

I know it's A LOT of bangs, but I also noticed that google has bangs like !gnbe which searches google news for belgium.
So figured it would be nice if Kagi had the same.
So had everything single region that is listed in Kagi News converted to bangs.
Also I checked, none of these bangs conflict with any of the existing bangs in kagi_bangs.json, bangs.json or assistant_bangs.json
(do I need to create kagifeedback's for these and just ask them to be marked as done? I'm not sure if the kagi changelog relies on kagifeedback's or if this would be manually added?)

Currently the Kagi changelog doesn't include specific updates to the bangs repo (unless the change had a post on kagifeedback.org), that's fine though. Thank you for these changes!

Also I checked, none of these bangs conflict with any of the existing bangs in kagi_bangs.json, bangs.json or assistant_bangs.json

I appreciate that. We do have CI stuff that should automatically check in the future if you decide to make more PRs.

Currently the Kagi changelog doesn't include specific updates to the bangs repo (unless the change had a post on kagifeedback.org), that's fine though. Thank you for these changes!

I feel like kagi specific bang changes would be nice to have in the changelog actually


GetRemoveBiasImu Function needs to be changed

In localization_integ_process.cc the function GetRemoveBiasImu has changed to GetCorrectedImu but in its reference in here has not been updated.

I guess you have encountered some compilation problems? If so, please update the docker to fix this problem.

What do you mean by update the docker?

I mean to update the docker image and restart the container.
bash docker/scripts/dev_start.sh

You can pull the latest code and restart docker container to get the latest dependent docker images.


BC14 CU11 App Install Error

I am facing issue when I  try to install Suretax app on BC14 CU11.
I am able to install app on Cronus BC14 CU11 Database but I am getting error as shown in below snapshot when I tried to install on Customer Database.
I have already generated symbol for all objects and resolved compilation error. Any help is appriciated.
Note: Customer Database is upgraded from 2009 R2 to BC 14 CU11.
1Error.txt

Is it correct place to post this issue? Please provide link if it is not correct.

Hi @dipakpatel2505, the issue here is that you are missing the system symbols in your database. error AL1024: A package with publisher 'Microsoft', name 'System', and a version compatible with '<IP_ADDRESS>' could not be loaded. Symbols for the requested app System by Microsoft <IP_ADDRESS> could not be found in the database. The other errors about the missing tables are just a consequence from that. You should publish the system symbols on your server as -Symbols only first. See example 4 in the documentation of Publish-NavApp.
This said, this repository, this GitHub repository is dedicated to handling issues and feedback for the latest Developer Preview releases of the AL development tools for Dynamics 365 Business Central.
If you can reproduce the problem on the latest Business Central Developer preview version we will be happy to look further into it. Otherwise please contact the regular support channel. You can open Support Request to CSS through PartnerSource portal or contact your Service Account Manager (SAM) in the local subsidiary to understand what is included in your contract as of support incident and PAH (Partner Advisory Hours). Your SAM might also step by step direct you how to open a support request or how to get credentials if this is the first time for you / your company.
For more details please read:
https://blogs.msdn.microsoft.com/nav/2018/05/03/al-developer-previews-multiple-releases-and-github/
https://github.com/Microsoft/AL/wiki/Frequently-Asked-Questions#i-found-an-issue-on-nav-2018-what-do-i-do
In case you want to ask a question to the community, you can also refer to one of the following resources:
Business Central Community
mibuso forum
Dynamics User Group


TRANSLATION

@jprzybylski4 i have added separate labels to reflect some more specific info (like booking till EOD and that it is for top30 of exh contest)

@jprzybylski4 second label is of course ... *.top30_description

translated - though it doesn't load on the page

thx.... i can see it locally so its ok (cache for sure)


Option to use password_hash instead of encrypted_password

Hi, thanks for this awesome gem.
This PR adds an option to use the password_hash field instead of encrypted_password with the intent to make it the default going forward (since Devise doesn't encrypt passwords).
Devise.setup do |config|
  # Use password_hash field instead of encrypted_password
  config.use_password_hash_field = true
end

A few notes:

I wanted to use the name password_digest to match Rails has_secure_password, but it looks like password_digest(password) is the public interface for custom hashing. Could also go with hashed_password.
I tried using alias_attribute so encrypted_password would continue to work even when enabled (for cleaner code/better backwards compatibility), but it didn't play nicely with Mongoid (Mongoid requires attributes to be defined before they can be aliased). We could still include this for Active Record.
I didn't want to blow up the test suite, so just added two tests to the build matrix.
3rd party libraries would want to use Devise.password_field going forward.

Let me know what you think.

To give more context: Changing a field name should not be done lightly. Looking at this long-term, I hope Devise is still a top library 10-20 years from now and new developers aren't confused why the password field is named encrypted_password when they've heard you should never encrypt passwords. I think it makes sense to deal with the pain of this transition sooner rather than later (as more docs / tutorials / etc are written each week).


Clean up code actions code

This PR is a style-only clean up of our code actions handlers and related code. Definitely could have gone further (more collection pooling, returning concrete types etc.) but I wanted to try to have it serve as an indication for what we consider our current idiomatic coding style* and to avoid conflicts with the extract to component work.
* Current style is subject to change at any time, and are not well documented. To quote a great Australian film, it's just the vibe.

Seems like a good topic for Monday codeabout - just talk through the list of (informal?) conventions we have to make it more explicit (unless there are more pressing topics)

LOVE this idea.


Is the sub-process listed in Task Manager always the name of the csproj?

Describe the bug
I want to be able to control what name shows up for the sub-entry under my packaged app in Task Manager. For example:

I edited my Package.appxmanifest of my wapproj to change the display name of my application. That shows up correctly in task manager as "Package appxmanifest display name". But when I open the twistie, it shows "renamed project" under it. That is on purpose. I named my main csproj "renamed project".
Is there any way to change the name of that sub-entry programmatically or post-project creation (other than renamed the csproj, again)?
I've attached a zip of the project as well.
test what subentry shows.zip
Steps to reproduce the bug

Open solution
Build solution
Deploy package
Go to start menu, find newly installed app. Launch it
Go to task manager, see what sub-entry shows up under the top level app.

Expected behavior
Ability to control the name of the child entry without having to rename my project
Screenshots
No response
NuGet package version
None
Windows version
Windows 10 (1809): Build 17763
Additional context
No response

Oh it's the assembly name that is used. That can be set here:


SAKIII-4143 fixed singular plural problems

https://jira.sakaiproject.org/browse/SAKIII-4143

I centralised some of the text (could be more done on the search pages) and fixed some places where an extra = was needed.

Merged via squash


Error: expected

I'm getting the following error when running npm run validate
Steps to reproduce:

run npx create-remix --template remix-run/grunge-stack
run cd <your-app-name>
run npm run validate

Extra info:

SO: windows 10
Node version: 14.18.1
npm version:  6.14.1

Also, I noticed this warning in the installation step:
npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1, but package-lock.json was generated for lockfileVersion@2. I'll try to do my best with it!
(which is expected because I have npm v6)
Error: expected <NPM script name that starts server> <url or port> <NPM script name that runs tests>
example: start-test start 8080 test
see https://github.com/bahmutov/start-server-and-test#use

    at lazyAssLogic (D:\frontend-projects\experiments\my-remix-app\node_modules\lazy-ass\index.js:110:14)
    at lazyAss (D:\frontend-projects\experiments\my-remix-app\node_modules\lazy-ass\index.js:115:28)
    at Object.getArguments (D:\frontend-projects\experiments\my-remix-app\node_modules\start-server-and-test\src\utils.js:91:5)
    at Object.<anonymous> (D:\frontend-projects\experiments\my-remix-app\node_modules\start-server-and-test\src\bin\start.js:10:22)
    at Module._compile (internal/modules/cjs/loader.js:1085:14)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
    at Module.load (internal/modules/cjs/loader.js:950:32)
    at Function.Module._load (internal/modules/cjs/loader.js:790:12)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12)
    at internal/main/run_main_module.js:17:47
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! my-remix-app-87b1@ test:e2e:run: `cross-env PORT=8811 start-server-and-test dev http://localhost:8811 'cypress run'`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the my-remix-app-87b1@ test:e2e:run script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

Can you provide reproduction steps and/or a github repo where you experience this problem? I just tried and got:
npx create-remix@latest --template remix-run/grunge-stack my-app
💿 Welcome to Remix! Let's get you set up with a new project.

? Do you want me to run `npm install`? Yes
? Do you want to run the build/tests/etc to verify things are setup properly? Yes

And this worked as expected for me.

@kentcdodds hi
I have updated the issue with the reproduction steps and also I have added extra info about my SO.
I think that maybe the error is related to windows 10 or npm v6
Thanks!

i think for full windows support, we might need to put the script names in quotes, @GiancarlosIO can you try updating the test:e2e:run script to cross-env PORT=3000 start-server-and-test \"dev\" http://localhost:3000 \"npx cypress run\"

Closing this issue as no response was provided.
Feel free to re-open it if it's still a problem.


API change needed to fix switch chunkload errors

Added getSwitchDevice() method
Removed deprecated methods and registerSwitch as they are not needed and should not be implemented in implementing classes.

ssotangkur removing deprecated methods is a big nono in APIs. It creates conflicts that take ages to go away (other mods have to update).

Merged relevant line manually.


[Feature]: Create development templates for Bun

Is your feature request related to a problem you're trying to solve? Please describe.
I want to implement devbox create templates for initializing Bun based projects, both for JavaScript and TypeScript.
Describe the solution you'd like
Implement the following templates:
examples/development/bun/bun-javascript  // JavaScript configured Bun template, with index.js module.
examples/development/bun/bun-typescript  // TypeScript configured Bun template, with index.ts module.

Use the templates in https://github.com/jetpack-io/devbox/tree/0.8.7/examples/development/nodejs and https://github.com/jetpack-io/devbox/commit/c16bb1d1fe81bab6c272410b063d6d88c5cbeab8 for implementation reference.
Describe alternatives you've considered
None.
Additional context
If this feature request is accepted, I would like to develop it and submit a PR.

I think https://github.com/jetify-com/devbox/pull/1913 closes this :slightly_smiling_face:


Refactored MaterialApp

Now it creates a WidgetsApp rather than being one.
Previously recreating the MaterialApp's home widget wouldn't update the corresponding state.


Add GitHub Actions

Overview
Switches the project to use GitHub Actions instead of the outdated Travis CI.
Closes #2
Demo
https://github.com/WikiWatershed/docker-taudem/actions/runs/9878828621
Notes
We expect the CI to fail until the image has been updated in #1.
Testing Instructions

[x] Ensure that CI runs on PRs

Thanks for reviewing!


performance-analyzer plugin uses vulnerable dependencies

Description
I checked Open Distro 1.8.0 distribution (as I see, situation is the same in 1.9.0) with WhiteSource and find out that some libraries used in performance-analyzer plugin have vulnerabilities.
Here they are:

jackson-databind-2.8.11.jar has a lot of critical vulnerabilities. Part of them is listed here, for example: https://www.cvedetails.com/vulnerability-list/vendor_id-15866/product_id-42991/Fasterxml-Jackson-databind.html. The way to fix it is to upgrade to com.fasterxml.jackson.core:jackson-databind:2.10.3
bcprov-jdk15on-1.60.jar has CVE-2019-17359 vulnerability. The way to fix it is to upgrade to org.bouncycastle:bcprov-jdk15on:1.64

To Reproduce
Download Open Distro 1.8.0 distribution (for example curl -O https://d3g5vo6xdbdb9a.cloudfront.net/tarball/opendistro-elasticsearch/opendistroforelasticsearch-1.8.0.tar.gz)
Open opendistroforelasticsearch-1.8.0/plugins/opendistro_performance_analyzer folder in it and find jars, listed above.
Check that these jars with corresponding versions are mentioned in corresponding vulnerability description.
Expected

jackson-databind upgraded to jackson-databind:2.10.3 or higher
bcprov-jdk15on upgraded to bcprov-jdk15on:1.64 or higher

Actual

jackson-databind is 2.8.11
bcprov-jdk15on is 1.60

Sorry, didn't see security policy https://github.com/opendistro-for-elasticsearch/alerting/security/policy before this issue creation.
So, I'd better close this issue and write e-mail.


feat: Add toHexShortString() method

Codecov Report
Base: 99.35% // Head: 99.28% // Decreases project coverage by -0.07% :warning:

Coverage data is based on head (f410b34) compared to base (365fdd2).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #237      +/-   ##
==========================================
- Coverage   99.35%   99.28%   -0.07%
==========================================
  Files          13       13
  Lines        2779     2787       +8
  Branches      292      294       +2
==========================================
+ Hits         2761     2767       +6
- Misses         18       20       +2

Impacted Files
Coverage Δ

src/index.ts
99.02% <100.00%> (+0.01%)
:arrow_up:

src/random.ts
97.51% <0.00%> (-0.56%)
:arrow_down:

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Build results on Azure Pipelines aren't public

When I try to see the build details for an Azure Pipelines PR build, I'm not able to access the project. I believe the project is still set to private visibility (not sure if that's intentional). If not, you can change the project to public. Let me know if you have any questions or suggestions; I'm a Program Manager on Azure Pipelines.

Seems to be working now. Thanks!
Sent from Outlook

From: Thien Nguyen Le Quynh<EMAIL_ADDRESS>Sent: Monday, October 29, 2018 5:23:33 PM
To: simplcommerce/SimplCommerce
Cc: Kayla Ngan; Mention
Subject: Re: [simplcommerce/SimplCommerce] Build results on Azure Pipelines aren't public (#638)
Thank @kaylanganhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fkaylangan&data=02|01|kangan%40microsoft.com|27b04a33854446f1167a08d63de4c81a|72f988bf86f141af91ab2d7cd011db47|1|0|636764450150676883&sdata=1Q0AkZSPX%2Fe2oo5ccW051WMex8ejALj4B%2FM1YMLuo9A%3D&reserved=0 I haven't noticed this. Is it ok now?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fsimplcommerce%2FSimplCommerce%2Fissues%2F638%23issuecomment-434085489&data=02|01|kangan%40microsoft.com|27b04a33854446f1167a08d63de4c81a|72f988bf86f141af91ab2d7cd011db47|1|0|636764450150686887&sdata=kvbaop72U99vO%2FNMqE8cg5p9Efgj6kNyWK%2BKNBiCkbw%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FATH5CQoxH41mQ7kHm1o7mRPr-m5UqssWks5up3HVgaJpZM4X_u5R&data=02|01|kangan%40microsoft.com|27b04a33854446f1167a08d63de4c81a|72f988bf86f141af91ab2d7cd011db47|1|0|636764450150696899&sdata=9yHPTpJRoZF3QtNe1VrK4j4it7sbLhiAKk6YyDQiroU%3D&reserved=0.


Determining supertypes/inheritence?

Is there a way to tell if type A is a subtype of type B programmatically?  For example...
const Integer = t.refinement(t.Number, (n) => n % 1 === 0, 'Integer');
Integer.isSubtypeOf(t.Number);  // true
Integer.isSubtypeOf(t.String);  // false

My use-case is that I'm using tcomb to determine whether it's valid to assign a value of type A to a variable of type B.  Obviously, if I had an explicit value in mind, I could just do t.Number.is(x), but in my case, I don't have an explicit value.  I have two variables, one of type A and one of type B.  I'm going to be assigning the hypothetical value of A to B, but I don't know what that value will be at runtime.
If I just did regular comparison (typeA === typeB) that would work for exact matches, but what about when type A is a subtype of type B?  An exact match won't catch it, but they're still technically compatible going from a more specific type to a more general type.
var a;  // type Integer
var b;  // type t.Number

// Some stuff happens that assigns a value to a

// If I check for typeof a === typeof b, this will seem to be invalid.
// But all Integers are valid Numbers.
b = a;

Any ideas on how to implement this?  Perhaps walking through meta.type and meta.types?  Should this be incorporated into the library or should this just be part of my project's code?
Thanks for all the work on tcomb, @gcanti.  It's been a very valuable tool.

Hi @jv-PintoBobcat,
I think that the problem ends up in establishing the formal meaning of "A is a subtype of B" i.e. what's the (mathematical) relation between A and B. In the case of tcomb, which is grounded on set theory, types represent sets (see also The Curry-Howard Correspondence and the work of Martin-Löf) so a natural formalization would be "A is a subtype of B is and only if the set represented by A is a subset of the set represented by B".
The subset relation is a pretty good candidate since it's an order, i.e. the following properties hold:

a ≤ a (reflexivity)
if a ≤ b and b ≤ a then a = b (antisymmetry)
if a ≤ b and b ≤ c then a ≤ c (transitivity).

Now if we consider refinements it seems reasonable to conjecture (must be proved) that at least reflexivity and transitivity hold (which ensure that the refinement relation is a preorder). But what about antisymmetry? If we exclude pathological cases (recursive types):
const A = t.declare('A')
const B = t.declare('B')
A.define(t.refinement(B, () => true))
B.define(t.refinement(A, () => true))
console.log(A.meta.type === B) // true
console.log(B.meta.type === A) // true

// so A <= B, B <= A but A is NOT equal to B

then also antisymmetry holds.
Coming to the implementation:

Perhaps walking through meta.type

Yup (for refinements).
In the case of other type kinds (structs, tuples, lists, etc...), if they are of interest, we should come up with rules that reflect the formal definition above.

Should this be incorporated into the library or should this just be part of my project's code?

If we come up with something solid, it could be an optional module (something like tcomb/lib/isSubsetOf).

Thanks for the prompt response. You've given me a lot to think about.
As this feature is necessary for a project I'm working on, I'm going to take a stab at this (backed by many tests, of course). Something is better than nothing. I'll be sure to file a PR if I come up with anything useful.

Something is better than nothing. I'll be sure to file a PR if I come up with anything useful

Great, thanks @jv-PintoBobcat. Let me know if I can help in any way.

https://github.com/gcanti/tcomb/pull/207

Hi @R3D4C73D,
Thanks for the PR. Sorry for the delay, alas these days I'm very busy. I'll take a look as soon as possible. Also I'm working on a spec based on my first comment and your implementation.

This is a first draft. Some conditions are subtle so anyone willing to double check is warmly welcomed.
Goal

to determine whether it's valid to assign a value of type A to a variable of type B

Signature
// reads: is A a subset of B?

isSubsetOf(A: Type, B: Type): Boolean

Spec
If A is a subset of B we write A <= B (since "is a subset of" is an order relation).
Fast results

(1) if B === t.Any then A <= B for all A
(2) if B === A then A <= B for all A

Reductions
Here the goal is to reduce the complexity of the computation when B is a union or an intersection (maybes are just special kinds of unions):

(3) if B = maybe(C) and A is not a maybe then A <= B if and only if A === t.Nil or A <= C
(4) if B is a union then A <= B if exists B' in B.meta.types such that A <= B'
(5) if B is an intersection then A <= B if A <= B' for all B' in B.meta.types

Important. From now on we'll assume that none of (1), (2), (3), (4), (5) holds.

Maybes
Let A be a maybe then A <= B if B is a maybe and A.meta.type <= B.meta.type
Unions
Let A be an union then A <= B if A' <= B for all A' in A.meta.types.
Intersections
Let A be an intersection then A <= B if exists A' in A.meta.types such that A' <= B:
Irreducibles
Let A be irreducible then A <= B if B is irreducible and A.is === B.is.
Enums
Let A be an enum then A <= B if and only if B.is(a) === true for all a in keys(A.meta.map)
Refinements
Let A be a refinement then A <= B if decompose(A) <= decompose(B) (see https://github.com/gcanti/tcomb/issues/179#issue-131567752 and lib/extend.js for the definition of decompose) where:
{ predicates1, unrefinedType1 } <= { predicates2, unrefinedType2 }

if and only if predicates2 <= predicates1 and unrefinedType1 <= unrefinedType2 where:
// lists of predicates
[a1, ..., an] <= [b1, ..., bm]

if and only if n <= m and for all ai in [a1, ..., an] then ai in [b1, ..., bm].
Lists
Let A be a list then A <= B if one of the following holds:

B === t.Array
B is a list and A.meta.type <= B.meta.type

Dictionaries
Let A be a list then A <= B if one of the following holds:

B === t.Object
B is a dictionary and [A.meta.domain, A.meta.codomain] <= [B.meta.domain, B.meta.codomain] where:

// lists of types
[a1, ..., an] <= [b1, ..., bm]

if and only if n === getOptionalArgumentsIndex(m) + 1 and for all i = 1 ... n then ai <= bi (see lib/func.js and https://github.com/gcanti/tcomb/issues/198#issuecomment-217097264 for the definition of getOptionalArgumentsIndex).
Tuples
Let A be a tuple then A <= B if one of the following holds:

B === t.Array
B is a tuple and A.meta.types <= B.meta.types

Structs
Let A be a struct then A <= B if B === t.Object.
Functions
Let A be a function then then A <= B if one of the following holds:

B === t.Function
B is a function and [A.meta.domain, A.meta.codomain] <= [B.meta.domain, B.meta.codomain]

Interfaces
Let A be an interface then:
First case: if A.meta.strict === false then A <= B if one of the following holds:

B === t.Object
B is an interface, B.meta.strict === false and A.meta.props <= B.meta.props where:

PropsA = { a1: A1, ..., an: An } <= { b1: B1, ..., bm: Am } = PropsB

if and only if keys(PropsA) <= keys(PropsB) and Ak <= Bk for all k in keys(PropsA).
Second case: if A.meta.strict = true then A <= B  if one of the following holds:

B === t.Object
if B is an interface, B.meta.strict === true, keys(PropsA).length === keys(PropsB).length and A.meta.props <= B.meta.props.

Most of this looks good to me, although it mostly matches my implementation. ;-)
One thing of note, in my implementation I completely punted on unions mostly because I don't quite understand them.  So, in my PR, unions only return true if they are literally equal.

Also, I was unaware of the bit about optional arguments (https://github.com/gcanti/tcomb/issues/198#issuecomment-217097264) which I think may be in the wrong section.  It's currently listed in the Dictionary section, but I believe that only applies to Functions.

although it mostly matches my implementation

Indeed! You did a great job, it helped me a lot while writing that spec.
There are some differences though, I'll try to list'em all in the week-end.

It's currently listed in the Dictionary section, but I believe that only applies to Functions.

But a dictionary is a function. It has a domain and a codomain. Actually a dictionary is a function in disguise:
Math point of view
Let f a function f: String -> String such that:
f('IT') = 'Italy'
f('US') = 'United States'

function application: f(x)
JavaScript point of view
// String -> String
const f = {
  IT: 'Italy',
  US: 'United States'
}

"dictionary application": f[x] (parens replaced by brackets)
It's the reason why dictionaries are also named "maps".

Definitely let me know in which behaviors my implementation falls short.  I'm right in the middle of a really stressful move right now, so I don't know if I'll be able to address the shortcomings immediately.  Feel free to jump in and change the code.  Some failing tests would be super helpful for me to code against.

I'll try to list'em all in the week-end

@R3D4C73D even better: here's a test suite with your tests plus mine https://github.com/gcanti/tcomb/blob/197/test/isSubsetOf.js
and here's an implementation based on the spec above https://github.com/gcanti/tcomb/blob/197/lib/isSubsetOf.js
One doubt though: in your implementation you handle instrumented functions but I don't understand why, they are values not types. I can't apply isSubsetOf(value, type) to a value and a type.

I agree about instrumented functions.  I felt weird adding that code in there.  However, I guess that's a separate feature request.  I'm unaware of any way to detect instrumented functions from regular functions without knowing implementation details of the library.  Also, once you've confirmed you have an instrumented function, I'm unaware of a way to get the type from the function.
One big difference I've noticed between your implementation and mine is that you're doing a bunch of comparison between kind and string literals.  I preferred going for separate functions to detect if something is of a type.  The reasoning for that was so there was one canonical place in the code that does that detection.  That way, if later down the line you should decide to change what that string literal is, there's only one place in the code where you have to change that comparison instead of the isSubsetOf code, and the fromJSON code, and wherever else.

However, I guess that's a separate feature request. I'm unaware of any way to detect instrumented functions from regular functions without knowing implementation details of the library

Could you expand on your use case? Given an element x, you can't retrieve its type (set) X because there are several candidates: the number 1 belongs to the set t.Number but also to the set t.Integer, so in general it doesn't exist a relation value -> Type. Instrumented functions could be an exception though, so maybe you have a use case for which this does make sense.

you're doing a bunch of comparison between kind and string literals

Ah yes, yours is definitely a better style.

if later down the line you should decide to change what that string literal is

however this is hardly going to happen: the meta objects are considered APIs, changing one of those strings would be a brutal breaking change (it's the reason why refinements still have the old kind "subtype") and API stability is my first priority (for all my libraries, but in particular for tcomb)

I feel like instrumented functions are a special case. Whereas most values
aren't intrinsically tied to a tcomb type, instrumented functions are. So,
just as it makes sense to tie a type to its implementation, it makes as
much sense to be able to untangle the type from the implementation as well.
On May 29, 2016 11:58 PM, "Giulio Canti"<EMAIL_ADDRESS>wrote:

However, I guess that's a separate feature request. I'm unaware of any way
to detect instrumented functions from regular functions without knowing
implementation details of the library
Could you expand on your use case? Given an element x, you can't retrieve
its type (set) X because there are several candidates: the number 1
belongs to the set t.Number but also to the set t.Integer, so in general
it doesn't exist a relation value -> Type. Instrumented functions could
be an exception though, so maybe you have a use case for which this does
make sense.
you're doing a bunch of comparison between kind and string literals
Ah yes, yours is definitely a better style.
if later down the line you should decide to change what that string
literal is
however this is hardly going to happen: the meta objects are considered
APIs, changing one of those strings would be a brutal breaking change (it's
the reason why refinements still have the old kind "subtype") and API
stability is my first priority (for all my libraries, but in particular for
tcomb)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/gcanti/tcomb/issues/197#issuecomment-222411579, or mute
the thread
https://github.com/notifications/unsubscribe/AKeZicc4CZvupB3RJ-HNSFBR5655C9oDks5qGm5jgaJpZM4IVI9Z
.

But I think this is a discussion for another ticket

Ok, I'd love to talk about it further.
For what concerns recursive types, the current implementation would raise a stack overflow.
A possible solution could be to store the already processed types, here's a POC: https://github.com/gcanti/tcomb/commit/8b4f8b64950eee0df0744682c260fda4a56f5345

I didn't even consider recursive types. Nice catch. I'm cool with this.
On May 30, 2016 6:10 AM, "Giulio Canti"<EMAIL_ADDRESS>wrote:

But I think this is a discussion for another ticket
Ok, I'd love to talk about it further.
For what concerns recursive types, the current implementation would raise
a stack overflow.
A possible solution could be to store the already processed types, here's
a POC: 8b4f8b6
https://github.com/gcanti/tcomb/commit/8b4f8b64950eee0df0744682c260fda4a56f5345
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/gcanti/tcomb/issues/197#issuecomment-222469706, or mute
the thread
https://github.com/notifications/unsubscribe/AKeZiYWEFdqrctZLq0q7Ow7O15neOkyRks5qGsWigaJpZM4IVI9Z
.

Is there an ETA on 3.2.0?  Just curious as I need this feature for a project I'm working on.

Sure!  I'm creating a lisp-based visual programming language.  The code editor is a web application.  I'm using tcomb to enforce types so users are incapable of creating type errors.  Or, at least, that's the goal.


Need alternative link index to make use of embeds

References
This PR closes #626
Description
This PR adds an extra index for alternative links to objects stored in the object cache.
Instructions for Reviewers
Changes
Some objects can be requested by different links than just their self link. For example, in the _links section of an item, you will find a link to its owning collection formulated as the self link of the item, appended by /owningCollection.
"_links": {
  "owningCollection": {
    "href": "https://example-server.org/api/core/items/0136fe00-43ca-439e-ae6c-b2b08c2b8f5e/owningCollection"
  },
  "self": {
    "href": "https://example-server.org/api/core/items/0136fe00-43ca-439e-ae6c-b2b08c2b8f5e"
  }
}

When retrieving this collection, you'll notice the self link is not the same as the link mentioned in item's link section:
"_links": {
    "self": {
      "href": "https://example-server.org/api/core/collections/282164f5-d325-4740-8dd1-fa4d6d3e7200"
    }
  }

The owningCollection link mentioned in _links section of the item is an example of an alternative link.
Previously, when for example, the owningCollection was embedded inside the item REST response, the embedded collection was stored in the object cache using its self link. Subsequently, the frontend would request this collection using its alternative link because the alternative link was not known to the cache.
This PR adds an index to map the alternative links on the matching self links. For the example mentioned above, the entry of this index would look something like this:

https://example-server.org/api/core/items/0136fe00-43ca-439e-ae6c-b2b08c2b8f5e/owningCollection
https://example-server.org/api/core/collections/282164f5-d325-4740-8dd1-fa4d6d3e7200

To keep this index up to date, the following changes were made to the ObjectCacheService:

When something is added to the object cache, its alternative link is compared to its self link. If they differ:

A new entry is added to the index.
The alternative link is also added to a list in the ObjectCacheEntry's state.

When something is removed from the object cache:

All links in the _links section of the object are removed from the new index, if they existed
The array of alternative links in the ObjectCacheEntry are also removed from the index

How to test
A simple way of testing this PR is by visiting an item page, where the owningCollection is always embedded and referenced by an alternativeLink.
If you go to a previous version of the code base, you'll notice a request is sent out to the alternative link ([itemLink]/owningCollection). This request has become redundant in this PR, and will not show up in the network tab of your browser anymore. If you look at the store, you will also be able to see the mapping in core.index.object/alt-link-to-self-link.
To test if the index is actually kept up to date, you could remove a relationship from the item on its edit page. This causes the item to be decached, which should also remove the alternative link to its owningCollection from the index in the store.
Lists
Unfortunately, this PR does not solve the same issue for alternative links to object lists. Lists are not directly stored in the object cache, and can therefore not be mapped in the index.
Checklist

[x] My PR is small in size (e.g. less than 1,000 lines of code, not including comments & specs/tests). Exceptions may be made if previously agreed upon.

[x] My PR passes TSLint validation using yarn run lint

[x] My PR includes TypeDoc comments for all new (or modified) public methods and classes. It also includes TypeDoc for large or complex private methods.

[x] My PR passes all specs/tests and includes new/updated specs for any bug fixes, improvements or new features. A few reminders about what constitutes good tests:

@LotteHofstede : I gave this a quick test today.  I can reproduce the odd error that @atarix83 noted with this PR alone and the Submission UI.  If I start a new submission, everything initially seems to work. But after filling out a few fields it tries to auto-save (at least I think that's what's going on). At that point, the browser locks up and the Google DevTools console shows a never ending stream of warnings....it almost seems like an infinite loop is being encountered.  I then have to kill the browser tab entirely (as the browser tab's CPU spikes to 100%).

Closing, replaced by #961


DM-37324: Add humanize and parsl.

Also add astrowidgets, ipympl, jupyterlab, and jupyterlab_server to -developer.

Checklist

[x] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender

A new moto limits werkzeug, which downgrades flask from previous rubin-env-developers, but overall this looks compatible.


MegaService is giving empty response in chatQnA

My current setup:

Mega service giving nothing for curl requests:

Please let me know if you need anything else to fix this.

Mega service depends on LLM microservice.
If you LLM microservice does not work, you cannot expect Mega works.

Thank you @yinghu5 . The issue was due to Hugginface API token and now it is working. I will close this ticket.


Syntax error while installing cshell

Hello
I'm trying to install the latest version (chrootvpn_1.96-1_all.deb) in a Debian GNU/Linux 12 (bookworm) system.
After running the vpn.sh -i --vpn=...  comand the script runs fine until it reaches a c_shell installation:
Processing triggers for ca-certificates (20210119) ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...

done.
done.
Installation successfull
Installing CShell
/root/cshell_install.sh: line 1: syntax error near unexpected token `newline'
/root/cshell_install.sh: line 1: `<html>'
InstallChroot->chrootEnd: Something went wrong. Chroot unmounted. Fix it or delete /opt/chroot and run this script again

HI,
The script is not able to download a cshell_install.sh script from the firewall.
Assuming the command is correctly issued, either the Checkpoint on the other end is a version lower than  R80.10, or the Checkpoint mobile web portal has not been activated/licensed by the identity running it.
Regards

Yes it seems that is the problem the content of the file is an html file that says page not found.
I'll get in contact with vpn people and see if they need to enable anything. It could also be a version issue, as i suspect it is very old
Thanks for the fast response

If it is very old, this old answer of mine might still be useful for you https://unix.stackexchange.com/questions/450229/getting-checkpoint-vpn-ssl-network-extender-working-in-the-command-line


'each' with multiple arguments

The each builtin command should accept multiple arguments.
cat words.txt| each [i j k]{ put $i" "$j" "$k }

You are looking for eawk.
Conflating each and eawk is problematic as they behave differently with unary functions. When eawk gets a unary function, it does field splitting and makes sure that there is only one field, while each only accepts unary functions and does not field splitting.
It is also not clear how eawk should behave when given value inputs.
So overall, what you are looking for is eawk and it is different thing from each; there is no reason for merging these two things.


Outdated gen_ssl

Hi
The URL in gen_ssl seems out of date. Sensu 0.21 seems no longer supported, failing to generate the certs.
I updated the url manually from
wget http://sensuapp.org/docs/0.21/files/sensu_ssl_tool.tar

to
wget http://sensuapp.org/docs/0.23/files/sensu_ssl_tool.tar

And it worked.

Thanks man! :) I'll go ahead and update it @wakaru44


Fixtures does't work as they should

This is Yii version 2.0.47.

# vendor/bin/codecept run common/tests/unit/YiiFixtureTest.php

Codeception PHP Testing Framework v4.2.2 https://helpukrainewin.org
Powered by PHPUnit 8.5.33 by Sebastian Bergmann and contributors.

Common\tests.unit Tests (1) ---------------------------------------------------------------------------------------------------
E YiiFixtureTest: Empty input (0.07s)
-------------------------------------------------------------------------------------------------------------------------------

Time: 1.12 seconds, Memory: 16.00 MB

There was 1 error:

---------
1) YiiFixtureTest: Empty input
 Test  tests/unit/YiiFixtureTest.php:testEmptyInput

  [yii\base\ErrorException] array_merge(): Argument #2 is not an array

#1  /var/www/edrid/vendor/yiisoft/yii2/test/FixtureTrait.php:145
#2  /var/www/edrid/vendor/yiisoft/yii2/test/FixtureTrait.php:145
#3  /var/www/edrid/vendor/yiisoft/yii2/test/FixtureTrait.php:112
#4  /var/www/edrid/common/tests/_support/_generated/UnitTesterActions.php:56
#5  /var/www/edrid/common/tests/unit/YiiFixtureTest.php:29
#6  /var/www/edrid/vendor/symfony/console/Application.php:301
#7  /var/www/edrid/vendor/symfony/console/Application.php:171
#8  /var/www/edrid/vendor/bin/codecept:115

ERRORS!
Tests: 1, Assertions: 0, Errors: 1.

cat common/fixtures/TrademarkFixture.php

<?php

namespace common\fixtures;

use yii\test\ActiveFixture;
use tz_app\models\Trademark;

class TrademarkFixture extends ActiveFixture {

  public $modelClass = Trademark::class;
}

array_merge(): Argument #2 is not an array

Which code produces the exception?

Oh sorry. Here is the test:
cat common/tests/unit/YiiFixtureTest.php

<?php

namespace common\tests\unit;

use common\fixtures\TrademarkFixture;

class YiiFixtureTest extends \Codeception\Test\Unit {

  /**
   * @var \common\tests\UnitTester
   */
  protected $tester;

  public function _fixtures() {

    return [
      'trademarks' => TrademarkFixture::class,
    ];
  }

  public function testEmptyInput() {

    $this->tester->haveFixtures('trademarks');
  }
}

Do you have a fixture data file?
https://github.com/yiisoft/yii2/blob/master/framework/test/FixtureTrait.php#L145
$this->_fixtures = $this->createFixtures(array_merge($this->globalFixtures(), $this->fixtures()));

Produces:
  [yii\base\ErrorException] array_merge(): Argument #2 is not an array

#1  /var/www/edrid/vendor/yiisoft/yii2/test/FixtureTrait.php:145

That means that $this->fixtures() returns non-array.
It might be that you need to rename _fixtures() into fixtures() but I can be wrong. Go by the path of the stacktrace backwards.

Renaming has no sense. Here is fixture data.
ls -1R common/fixtures/

common/fixtures/:
OrderFixture.php
OrderTrademarkFixture.php
OrderTypeFixture.php
TrademarkFixture.php
data

common/fixtures/data:
r_order_trademark.php
r_orders.php
r_orders_type.php
r_trademark.php

cat common/fixtures/data/r_trademark.php

<?php

return [
  'tm1' => [
    'title' => 'title1'
  ],
  'tm2' => [
    'title' => 'title2'
  ]
];

And here is slightly update test class:
<?php

namespace common\tests\unit;

use common\fixtures\TrademarkFixture;
use Codeception\Lib\Console\Output;

class YiiFixtureTest extends \Codeception\Test\Unit {

  /**
   * @var \common\tests\UnitTester
   */
  protected $tester;

  public function _fixtures() {

    return [
      'trademarks' => TrademarkFixture::class,
    ];
  }

  public function testEmptyInput() {

    foreach ($this->tester->grabFixture('trademarks')->getIterator() as $key => $value) {
      (new Output([]))->debug([$key, $value, $this->tester->grabFixture('trademarks', 'tm1')]);
    }

    $this->tester->haveFixtures('trademarks');
  }
}

Which produce next output:
vendor/bin/codecept run common/tests/unit/YiiFixtureTest.php

Codeception PHP Testing Framework v4.2.2 https://helpukrainewin.org
Powered by PHPUnit 8.5.33 by Sebastian Bergmann and contributors.

Common\tests.unit Tests (1) ---------------------------------------------------------------------------------------------------
- YiiFixtureTest: Empty input
  Array
  (
      [0] => tm1
      [1] => Array
          (
              [title] => title1
              [id] => 1
          )

      [2] =>
  )

  Array
  (
      [0] => tm2
      [1] => Array
          (
              [title] => title2
              [id] => 2
          )

      [2] =>
  )

E YiiFixtureTest: Empty input (0.14s)
-------------------------------------------------------------------------------------------------------------------------------

Time: 1.31 seconds, Memory: 16.00 MB

There was 1 error:

---------
1) YiiFixtureTest: Empty input
 Test  tests/unit/YiiFixtureTest.php:testEmptyInput

  [yii\base\ErrorException] array_merge(): Argument #2 is not an array

#1  /var/www/edrid/vendor/yiisoft/yii2/test/FixtureTrait.php:145
#2  /var/www/edrid/vendor/yiisoft/yii2/test/FixtureTrait.php:112
#3  /var/www/edrid/common/tests/_support/_generated/UnitTesterActions.php:56
#4  /var/www/edrid/common/tests/unit/YiiFixtureTest.php:34
#5  /var/www/edrid/vendor/symfony/console/Application.php:301
#6  /var/www/edrid/vendor/symfony/console/Application.php:171
#7  /var/www/edrid/vendor/bin/codecept:115

ERRORS!
Tests: 1, Assertions: 0, Errors: 1.

So $this->tester->grabFixture('trademarks', 'tm1') returns nothing despite that the code executed within foreach over fixture iterator.

No, but as you can see they gain an id's:
Array
  (
      [0] => tm1
      [1] => Array
          (
              [title] => title1
              [id] => 1
          )

      [2] =>
  )


Fix MySQL 8 event timestamp resolution logic error where fallback to seconds occurs erroneously for non-GTID events

Jira issue: https://issues.redhat.com/browse/DBZ-7500
Fixes: https://github.com/debezium/debezium/pull/5036
Applied to a MySQL 8 connector:

Proof of millisecond resolution source.ts_ms:
"source": {
    "query": "REDACTED",
    "thread": 3683566,
    "server_id": 12844,
    "version": "2.6.0-SNAPSHOT",
    "sequence": "",
    "file": "binlog.726557",
    "connector": "mysql",
    "pos": 59658237,
    "name": "REDACTED",
    "gtid": "6aafb3ca-9b99-11ee-a237-4201f300802c:187141265",
    "row": 0,
    "ts_ms":<PHONE_NUMBER>867,
    "snapshot": "false",
    "db": "REDACTED",
    "table": "products"
  },

Thanks @methodmissing, applied to main (=2.6) and branch 2.5.

Amazing turn around and improvement proposal, thank you!


Slipping on Fluids can be completely avoided using tables

Description
If you vault onto a table and walk off into a fluid, you will not be able to slip on any fluids until you walk to a dry tile
Reproduction

Find or create a floor with lots of fluid (I recommend space lube)
Build a table next to it or on it
Vault onto the table
Walk off the table onto a floor with fluid
You can walk on Space Lube without slipping

Screenshots
https://github.com/space-wizards/space-station-14/assets/72140289/7f02493b-b827-4f22-92f6-446da5c07585
Additional context

Video Upload, because the previous one did not seem to work
2024-05-27 18-01-57.webm

climbable structures have too big range of their "climbness"

I just tested. The range is quite large. It's at least the whole Food Area on Oasis.
The game considers you on a table the whole time, which is probably the reason you can't slip.
You can simply walk back onto a table without having to vault
I also tested soap and others, and you can't slip on them either

dupe of #27895


⚠ Bofrost.be has degraded performance

In 4b91156, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1042 ms

Resolved: Bofrost.be performance has improved in cf321f3 after 306 days, 4 hours, 31 minutes.


Unused sequence in _aten_as_strided_onnx

In the onnxscript definition of _aten_as_strided_onnx() there is an unused loop-carried dependency called one_seq. It doesn't seem to be used as a return variable of the function and gives rise to graphs with sequence ops that cannot be optimized away with onnxscript's current pattern matching capability. Should it be removed?

Looks like https://github.com/microsoft/onnxscript/blob/e6ea34f2540680d1410039cf27693f490d1d9dfe/onnxscript/function_libs/torch_lib/ops/core.py#L817-L821 is updated if the loop runs more than one time? Ideally the own function is replaced by the runtime with a more efficient implementation, but it can also be flattened out and cleaned up. Any suggestions?

Is my understanding correct that this loop only needs to keep track of the length of one_seq  to update the shape variable? In this case can we simply use a variable to keep track of the length instead of using sequences?

A related issue: the case of _aten_unfold_onnx() seems to have a similar construction with Sequences ops appearing both inside and outside the loop body, except that there doesn't seem to be an easy way to rewrite the loop-carried dependency seq_result into a non-sequence variable. If we want to remove the appearance of sequences from the source, I'm wondering in this case if it's possible to pre-determine (statically determine?) the unfolded tensor size and only fill in the corresponding elements in the loop body instead of using sequences to concat?

I think so but need to verify. It would obviously be good if we can remove the usage of sequences here. @BowenBao do you have any comments?


BuildInfo POJOs Spring annotations

Added all needed Spring Cloud Datastore annotations for smooth GCD integration to BuildInfo and all related subclasses, and changed the timestamp field in said classes to google.cloud.Timestamp, for uniformity among all storage components.
Annotations added:

@ Entity(name = <kind>) to BuildInfo and all subclasses.
@ Field and @ Id to BuildInfo fields.
@ Unindexed to builders field, since we don't need to query the database on that.
For more info:
https://cloud.spring.io/spring-cloud-static/Greenwich.RC1/multi/multi__spring_data_cloud_datastore.html

google.cloud.Timestamp:
Is the data format that can be read and transcribed into what Google Cloud Datastore uses internally. For more info: https://googleapis.dev/java/google-cloud-clients/0.92.0-alpha/com/google/cloud/datastore/TimestampValue.html
note: these files have already been reviewed in #36 . Only the Spring-specific annotations and the timestamp data type have been added on top of that.

This PR is getting too bloated with changes from 4 different classes. Will be split into 3 different PRs as follows:
This one: changes to BuildInfo
Number 2: changes to Builder
Number 3: Log & BuilderStatus changes


Build problems

I needed to install gulp, which isn't in the instructions.
I got this error:

D'oh. I knew I forgot something obvious. Updated the README with instructions to install the Gulp CLI.
I'm not 100% positive on this, but the error might be due to using Gulp 3.9, while I've switched to the unreleased but decently stable Gulp 4 development version. Can you try updating/installing gulp-cli (globally), deleting node_modules in the repository folder and attempting the build again?

If that's not it, I'll investigate it later this afternoon. Right now I'm on a train somewhere in the middle of Germany and it keeps going into tunnels that interrupt my connection.

Yup, that worked, thanks. Cool demo!


Sdsidebandsplit fix bibliography

Fixes style issue in the description of sdsidebandsplit task. Bibliography section is updated. Below is the appearances of before and after fix.
BEFORE

AFTER

Takeshi, this looks fine to me, thanks
(This "review" in github is new to me....)

Takeshi, this looks fine to me, thanks
(This "review" in github is new to me....)


PMD Warnings - Overridable method 'setTodayDateISO' called during object construction (5 cases)

Solution is simple to make the method final
Description	Resource	Path	Location	Type
Overridable method 'setTodayDateISO' called during object construction	FeatureDataClientSetupImpl.java	/versionone-feature-collector/src/main/java/com/capitalone/dashboard/client/story	line 57	PMD Marker
Overridable method 'setTodayDateISO' called during object construction	ProjectDataClientSetupImpl.java	/jira-feature-collector/src/main/java/com/capitalone/dashboard/client/project	line 69	PMD Marker
Overridable method 'setTodayDateISO' called during object construction	ProjectDataClientSetupImpl.java	/versionone-feature-collector/src/main/java/com/capitalone/dashboard/client/project	line 57	PMD Marker
Overridable method 'setTodayDateISO' called during object construction	TeamDataClientSetupImpl.java	/jira-feature-collector/src/main/java/com/capitalone/dashboard/client/team	line 70	PMD Marker
Overridable method 'setTodayDateISO' called during object construction	TeamDataClientSetupImpl.java	/versionone-feature-collector/src/main/java/com/capitalone/dashboard/client/team	line 57	PMD Marker

This is a duplicate, closing ticket.


Not able to place marker for GasDemand

I try to put a GasDemand asset on the map.
However, clicking on the map does not place the marker.

After a restart of the web application it worked. Was a temporal issue, it seems.

If you can reproduce, please let us know


Removing selection of + - of large numbers

I have a situation, where I have to set a frequency. However + - choice at the beginning complicates things as there should not be possibility to put in negative frequency.
I have tried to delete all of the necessary code from EditableLargeNumberMenuItem.cpp it did remove the + -, however there is only a possibility of inputting 0 or 1 to that position.
I bet it is not the hardest thing to code out, however I am not very skilled and maybe someone else in the future would benefit from it aswell.

Yes I can see that this would be generally useful for others. I will look at the best way to handle this. Probably isNegativeAllowed flag or something similar. I’ll add it to the next milestone which probably isn’t that far off.

Thanks for response.
Also it would be nice if the dp would not show up when the precision is set to 0.
It just the small things. However, overall this library is a lifesaver. Keep the good work.

On 2020-05-18, at 22:29, Dave Cherry<EMAIL_ADDRESS>wrote:

Yes I can see that this would be generally useful for others. I will look at the best way to handle this. Probably isNegativeAllowed flag or something similar. I’ll add it to the next milestone which probably isn’t that far off.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

This has taken a bit longer than usual to complete, we were in the middle of a large scale refactor of the application when the was raised. However, not only is it possible to prevent negative numbers, it should now be fix some problems found at the same time around integer only representation. Will be released soon.


Use yaml.safe_load instead of yaml.load

yaml.safe_load is safe to use in any situation. yaml.load can cause code execution which is not desirable since we are just parsing a config file.
See more details on yaml.load here: https://tools.cisco.com/security/center/viewAlert.x?alertId=58783

I don't think anybody uses this... even Pinterest.  We should just retire it :)