Failures on Update to latest package:json_rpc_2

There are new test failures on Update to latest package:json_rpc_2.
The tests
service/external_service_notification_invocation_test/dds RuntimeError (expected Pass)

are failing on configurations
dartkp-win-release-x64

log: https://logs.chromium.org/logs/dart/buildbucket/cr-buildbucket.appspot.com/8872333091123864224/+/steps/test_results/0/logs/new_test_failures__logs_/0

This appears flaky, the same test is passing in other configurations.
The error does look plausibly related to my changes in that package, but without being able to reproduce this locally I'm not quite sure.
Should I roll this back in the mean time?

I'm not sure how to proceed with this. I spent some time trying to see if I could reproduce a similar failure outside of the SDK and I was able to track down at least one way to cause the behavior I saw in the logs. That was fixed with https://github.com/dart-lang/json_rpc_2/pull/65
When trying to sync that it surfaced a different bug in dds that was being masked by bugs in json_rpc_2. I fixed that bug in https://dart-review.googlesource.com/c/sdk/+/158220
But now I'm stuck. When I try to sync today I can get a green run on this bot, but it's not clear to me if that is sufficient.
Here is a green run: https://ci.chromium.org/p/dart/builders/try/vm-kernel-precomp-win-release-x64-try/1872?
There are some things here I don't understand at all.

The "Test Results" link shows:dartkp-win-release-x64
Pass -> RuntimeError (expected Pass)
service/external_service_disappear_test/dds

The "Test Results" link does not show a message about service/external_service_notification_invocation_test/dds going from RuntimeError to Pass
The results.json link shows both service/external_service_disappear_test/dds and service/external_service_notification_invocation_test/dds as "Pass".

One thing that is interesting, flaky.json does contain service/external_service_notification_invocation_test/dds.
I have been completely unable to see this failure locally.
So I have some questions:
@whesse

Why is there a discrepancy between results.json and https://dart-ci.firebaseapp.com/cl/158206/3 ? Is it showing me the failure still from a previous run?
How should I interpret this try result? Is it safe to submit my CL? Would submitting that be considered enough to close this issue?
How can I see the output from the run(s) that failed?
Is there any way for me to more narrowly check a patch to see if it fixes a given test?

@bkonyi - can you help me dig here? I think you might own some of these tests?

Do you know if this test has been flaky in the past?
Do you know why this failure might only show up on windows? Are you able to run this test locally and see an error?

@bkonyi - can you help me dig here? I think you might own some of these tests?

Do you know if this test has been flaky in the past?
Do you know why this failure might only show up on windows? Are you able to run this test locally and see an error?

Service tests are notoriously flaky on Windows. This is an older test that's being run against DDS, so it's possible that the extra latency introduced by communicating with the service via DDS has made the test more flaky. It's also hard to tell what the actual failure is caused by since we check the error code before we check the message so the error message is never written to the console.
I think you're safe to land, but if you go ahead and swap lines 84 and 85 in runtime/observatory/tests/service/external_service_disappear_test.dart we'll get a more useful error output if we hit it again.

@bkonyi - The test I'm most interested in currently is service/external_service_notification_invocation_test/dds
This is the failure that I am intending to address with https://github.com/dart-lang/json_rpc_2/pull/65.
The stack trace was:
  Bad state: The client is closed.

  package:json_rpc_2/src/client.dart 152                      Client._send
  package:json_rpc_2/src/client.dart 140                      Client.sendNotification
  package:json_rpc_2/src/peer.dart 102                        Peer.sendNotification
  package:dds/src/client.dart 74                              _DartDevelopmentServiceClient.sendNotification

DDS is trying to do the right thing here and check whether the peer is closed, but a bug in json_rpc_2 meant that a Peer could appear open, but it's Client was closed and so the call fails.
https://github.com/dart-lang/sdk/blob/3b6aeb43fa722df34ae652ba4f2672a09a649225/pkg/dds/lib/src/client.dart#L71-L74
I was able to track down one way that can lead to this situation and I fixed that. (Side note, my repro required a StreamChannel that does not fit the contract around close guarantees which suggests that either DDS or maybe just that test has a misbehaving StreamChannel). Since I can't see the logs and I can't reproduce a failure locally I don't know if they flakiness in this test is still the same thing (and I haven't fixed it), or something unrelated...
The other test service/external_service_disappear_test/dds was fixed ahead of time by https://dart-review.googlesource.com/c/sdk/+/158220 and I'm hoping @whesse will confirm that there is something going wrong in the UI that it still showing it as a new failure.


bin folder missing?

Hi i was gonna make something similar to this project till I decide to do a search before I dig deeper. One problem tho, when I clone your repo there is no "./bin/www" folder, i can see the folder in your screen shot, but can't find it in the repo

opps, my bad
https://gist.github.com/malikshubham827/439cec7df328b12b1a40dcab550aef20


Include the d.ts files from the referenced program without --out if its non module emit

Fixes #29002

Closing in favor of #30288


Add sched_getcpu implementation for pre-2.6 glibc

Fixes #1210, compilation on RHEL5 with affinity enabled

It compiles without errors
It uses all cores with sched_autogroup_enabled (default in elrepo.org 3.2 kernel) where build without affinity would not.

Err, do I take it that this is a good sign, or not ? Note this does not address the cgroup awareness issue in any way - I have another patch ready for that, but would consider it post-0.2.20 material while this one here is expected to "have no side effects at all" (TM)

Firstly it does not break anything, secondly we are able to bind threads to cores. (Tested only on Xeon X5650 aka westmere xeon)

Thanks, committing then.


Fancy Zones does not work anymore... at all.

ℹ Computer information

PowerToys version: 0.21.1 x64
PowerToy Utility: Fancy Zones
Running PowerToys as Admin: Tried both
Windows build number: [run "winver"] 2004 (OS Build 19041.508)

📝 Provide detailed reproduction steps (if any)

… I can setup custom layouts to my heart's desire, but even though these worked before just fine for months... now they do nothing when I press the non-dominant mouse button or shift key while left-clicking on the window title bar and moving the windows around... no blue rectangle appears anymore like it used to do...
…
…

✔ Expected result
What is the expected result of the above steps?
❌ Actual result
What is the actual result of the above steps?
📷 Screenshots
Are there any useful screenshots? WinKey+Shift+S and then just paste them directly into the form

@lcalder
did you turn on Allow zones to span across monitors?
If you did try the following steps:

quit PowerToys
in command prompt run del %localappdata%\Microsoft\PowerToys\FancyZones
restart PowerToys
open the FancyZones settings to re-apply/re-create the layout


Create 'about' page

I've populated the about page with some content. Are you able to make the body copy next to the photo (in the body of the page) smaller and more along the size of the text in the calls to action on the bottom of the cafe and health food pages?

The row that that text is in had the subheading class attached to it (I assume you copied the row above it?). Anyway, that was hijacking the font size. I've fixed it now.


[RAC] - Table block onMouseDown event

Provide a general summary of the issue here
https://stackblitz.com/edit/stackblitz-starters-7cefch?file=src%2FTestTable.tsx
When using an element that calls onMouseDown inside the table header (for example when implementing resize columns) - the event is not called when clicking left mouse click on the button.
🤔 Expected Behavior?
onMouseDown will be called
😯 Current Behavior
onMouseDown won't call
💁 Possible Solution
Make onMouseDown call. Add option to opt-in / out this behavior if its required
🔦 Context
I want to create column resizer but onMouseDown does not call. See react-table example https://tanstack.com/table/v8/docs/examples/react/column-sizing this implementation does not work with react-aria-components
🖥 Steps to Reproduce
https://stackblitz.com/edit/stackblitz-starters-7cefch?file=src%2FTestTable.tsx
Try clicking on the red buttons in the table header. Make sure onMouseDown called.
If we press the same button outside the table header - it will be called
Version
"react-aria-components": "1.0.0-alpha.6"
What browsers are you seeing the problem on?
Chrome
If other, please specify.
No response
What operating system are you using?
MacOS
🧢 Your Company/Team
No response
🕷 Tracking Issue
No response

Could you implement column resizing with https://react-spectrum.adobe.com/react-aria/Table.html#column-resizing instead?

Could you implement column resizing with react-spectrum.adobe.com/react-aria/Table.html#column-resizing instead?

Not exactly.
I use @tanstack/table for the column pinning - so I have to update the column state of @tanstack/table every time - which is not ideal. The column width state sits in @tanstack/table and I don't think I can easily access it from react-aria-components

Just to clarify, what is column pinning?

Just to clarify, what is column pinning?

It's the ability to make the column static and move it to the start. Useful when we have a horizontal scroll and we want this column to be visible while editing other columns.
https://tanstack.com/table/v8/docs/api/features/column-pinning

Thanks, I'll bring it up in our next planning to see how what we'd like to recommend here or if there's something we need to support

Chatted with the team, and there were a couple of points brought up.
Could you use onPointerDown instead of onMouseDown? Because we prevent default on pointer down, the mouse events, which are compatibility events anyway, are prevented.
Other things of note, we think it's possible to implement the column resizing using the examples and docs I sent you and then only use tanstack for the column management to make a pinned one. Another thing is we could consider the addition of a pinned column as a feature to our library, though the timeline on that would likely be long.


[Bug] Update Message showing on every boot.

Describe the Bug
https://github.com/rauenzi/BetterDiscordApp/commit/52f538169986cd3e84c074b086ecf26c1123a365 updates the latest version to 0.3.2 which is greater than the latest released version. This causes the update message to show every time discord is opened with no method of disabling it.

Duplicate of the pinned issue #191 please read my comments there.


BUG: fs.readdir fails when passing options

The following code:
fs.readdir('/somedir', {/* options */}, callback);

Throws the error:
Error: Uncaught TypeError: callback is not a function (http://localhost:1234/tests.e31bb0bc.js:17740)     at commonjsGlobal.onerror (mocha.947ba722.js:32655:12)
According to the node documentation, fs.readdir and fs.promises.readdir should optionally accept an options object.

Nice find.
We sort of have code to do this already in the shell, but it could be ported into the implementation for when { recursive: true } is present, see https://github.com/filerjs/filer/blob/75f2a70c7b8111987f0df6c9105c1b6c65bef3c4/src/shell/shell.js#L205-L280.

Nice find.
We sort of have code to do this already in the shell, but it could be ported into the implementation for when { recursive: true } is present, see
https://github.com/filerjs/filer/blob/75f2a70c7b8111987f0df6c9105c1b6c65bef3c4/src/shell/shell.js#L205-L280
.

Happy to update PR #778 to include the required changes but may not have time until next weekend. Looks like node supports encoding and withFileTypes options but not recursive for readdir. Do you want to implement it with support for recursive anyway?

Ah, you're right.  If node doesn't, let's not do it either, and leave ls for this case.

Nice find.
We sort of have code to do this already in the shell, but it could be ported into the implementation for when { recursive: true } is present, see
https://github.com/filerjs/filer/blob/75f2a70c7b8111987f0df6c9105c1b6c65bef3c4/src/shell/shell.js#L205-L280
.

Happy to update PR #778 to include the required changes but may not have time until next weekend. Looks like node supports encoding and withFileTypes options but not recursive for readdir. Do you want to implement it with support for recursive anyway?

@humphd added a skip as you suggested here. I'll make a new PR for the fixes if you want to merge #778


apply cs fixer

@thirsch If you have something to merge from your fork (if I remember correctly you have something), it should done before this.

Thank you for the ping @connorhu! I've created the pr with our changes.

@thirsch @thePanz Symfony Risky caused the trouble. Now only indents are fixed by the cs fix.

I have reviewed the full patch. There are four types of changes:

closing brackets indentation
removal of the initial slash in the namespace
comment start with space
remove mixed

Thank you all! Merged!


Link modify to new docs added from previous branch.

new docs added from dev-1.17-ko.5

[ ] /ko/docs/concepts/storage/volumes.md

/language ko

/assign


programmatic access to coordinate--variable names

Reported by ansley b manke on 12 May 2016 19:05 UTC
The attribute-handling structure gives us the ability to define a variable which contains the variable names from a dataset, and get at the number of variables, number and names of dimensions etc.
http://ferret.pmel.noaa.gov/Ferret/documentation/users-guide/variables-xpressions/VARIABLES#_VPID_83
The dimensions and coordinate variables are not the same list however, there may be dimensions for string-lengths, dimensions of length 2 for defining bounds, or dimensions in a dsg file, for num-obs, that are not also defined as coordinate variables.  To get at the coordinate-variable names from a script, we need a couple more:
yes? let axis_names = ..coordnames
yes? let num_axes = ..ncvars

in addition to the existing
yes? let var_names = ..varnames
yes? let num_vars = ..nvars
etc.

Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/2413

Comment by karl.smith on 12 May 2016 19:10 UTC
worried that ..ncvars sound too much like ..varnames for .nc files - just my two cents.

Comment by ansley.b.manke on 12 May 2016 19:21 UTC
My thought was we already have ..nvars for number of (non coordinate) variables, so adding ..ncvars for number of coordinate variables. Maybe this instead:
..coordnames
..ncoordvars

Comment by ansley.b.manke on 12 May 2016 23:02 UTC
This is done, using
..coordnames
..ncoordvars
So, for instance a dataset with a string variable has more dimensions than coordinate variables:
yes? list/nohead ..ndims
          3.000
yes? list/nohead ..dimnames
 1   / 1:"XAX"
 2   / 2:"ZAX"
 3   / 3:"STRING1_7"
yes? list/nohead ..ncoordvars
          2.000
yes? list/nohead ..coordnames
 1   / 1:"XAX"
 2   / 2:"ZAX"


【help】why throw new IllegalArgumentException("@RequestMapping annotation not allowed on @FeignClient interfaces");

why version3.0.5 begin
throw new IllegalArgumentException("@RequestMapping annotation not allowed on @FeignClient interfaces");
protected void processAnnotationOnClass(MethodMetadata data, Class<?> clz) {
		RequestMapping classAnnotation = findMergedAnnotation(clz, RequestMapping.class);
		if (classAnnotation != null) {
			LOG.error("Cannot process class: " + clz.getName()
					+ ". @RequestMapping annotation is not allowed on @FeignClient interfaces.");
			throw new IllegalArgumentException("@RequestMapping annotation not allowed on @FeignClient interfaces");
		}
	}

https://github.com/shinestmt/webmvc-rpc-starter.git
like this:

webmvc-rpc-spring-boot-starter-client # RequestMappingFeignClientSpringMvcContract

I just updated an application and did run into the same issue. I have an application that exposes an API and I'm using tests that create a feign client with FeignBuilder and uses the same class that is exposed for testing. This does not work anymore, that's quite sad.

Also, I don't understand this change. I don't want Feign annotations in my API so now this client is useless to me.

Agree with the above, it makes the client useless to me as well.

Also, I have the same issue. Is this change really necessary?

I have the same problem... 🔥🤬

Also , i have the same problem. What was the reason of this change ?

Also , i have the same problem. What was the reason of this change ?
See here: https://github.com/spring-cloud/spring-cloud-netflix/issues/466

I have the same problem.
it make it difficult to let the controller implement the feignclient interface.
eg.
`
@FeignClient("path=test")
public interface TestClient {
}
@RestController
public class TestController implements TestClient
}
`
now the TestController need to adds a  @RequestMapping("test") to make it work.

Also , i have the same problem. What was the reason of this change ?

Same issue as other folks.
I'm generating my API interface with openapi, then it's implemented in Spring (pure Spring, not spring-boot).
In my integration tests, I build a Feign client to call the server - but it fails with this message.

mark，i have the same problem

the problem is why? i'm very shut hert

Hello, @letian-tang, this was done on purpose (see https://tanzu.vmware.com/security/cve-2021-22044 and https://github.com/spring-cloud/spring-cloud-openfeign/issues/547). It was always discouraged as a bad practice in the docs. Since it also caused a security issue, the team has decided to remove it. Closing as duplicate of gh-678.


CME Help Option

Dear byt3bl33d3r,
Thank you for awesome tool, but the current version is missing the proper Help options. Can guide me over this or I am missing on something ?
Also below old commands throw error now
cme -M powerview --show-options

I'll be updating the wiki accordingly.
In essence the functionality is now divided up in 'protocols' now.
To access all of the help options for the AD functionality:
cme smb --help


[reboost] Unable to resolve path "firebase/app"

I receive the following error when trying to import firebase:
import firebase from "firebase/app"
import "firebase/auth

I will look into it

This is now fixed 😀


Other Filesystems support

tune2fs supports only ext2/3/4 filesystems.
It would also be cool to somehow support other filesystems, like F2FS.

Nevermind, F2FS does not support shrinking at all.


Added multilingual asset descriptions

As we've added multilingual support for language description, I've noticed that assets alt text is loaded based on Name instead of Description which is how it should be. So I've changed it.

This was accidentally also requesting merge of additional commit


[Bug]: File suffix other than .ini gives warnings

What happened?
I am executing the following:
cat <<EOT > test.ini
[my_test]
test_1 = A
EOT

cp test.ini test.conf

source ini-file-parser.sh

echo "test.ini"
process_ini_file test.ini

echo "test.conf"
process_ini_file test.conf

The resulting output:
test.ini
test.conf
[ WARNING ] key test_1 - Defined multiple times within section my_test

Expected behavior
The expected output:
test.ini
test.conf

How do we reproduct the bug?

Open an terminal.
Change the terminal's working directory to …/ini-file-parser/src.
Copy the above script and paste it into the terminal.

Relevant log output
[ WARNING ] key test_1 - Defined multiple times within section my_test

Screeenshots
No response
Additional information
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Thanks for the quick response (and great script). I realize my mistake. i got the "error" when i tested the script. In reality, it won't be a problem. So for me it only remains to suggest to mention this to the documenation. Hats off.

I will add it to my backlog, as I like the idea of being able to purge loaded items or remove specific items and maybe even add a function to write the merged config into a new file.
To be honest this only exists because of a bet. A friend said he had never seen an ini file parser for bash (most languages have one or several implementations). I said it shouldn't be that hard to do it, and his reply was "I bet you can't" ... so I did :)
I have a lot of other projects on the go, and never really came back to this one to see what new cool things I could add to it, so it is nice to get a reminder it is still out there.


PVSStudio checks

there is code analyzer PVSStudio which is free for Open-Source projects, it would be nice to set up it at some point to catch various errors in our code

I don’t object, but seems a low priority for such a small project.


Update tablemaker for Craft 4

The biggest change here is that renderTemplateMacro was deprecated in 3.6 and is removed completely in 4.0, so it refactors a bit to use renderTemplate instead. Table permissions have also changed, which has necessitated a few new parameters being added.
I'm planning to keep this fork alive, so I'll have another PR shortly that adds in Upstatement credit, and I'll be setting this up to be usable with Composer.

After review, will it be a simple switch for current sites to go from supercool's package to this one? Can we just change the composer require line now to Upstatement/tablemaker or are there any table name migrations that need to happen to support this?


Does not build on Rust 1.80.1

How to reproduce:
$ cargo new vad_test
$ cd vad_test/
$ cargo add voice_activity_detector

    Updating crates.io index
      Adding voice_activity_detector v0.1.0 to dependencies
             Features:
             - async
             - load-dynamic
    Updating crates.io index
     Locking 107 packages to latest compatible versions
      Adding generic-array v0.14.7 (latest: v1.1.0)
      Adding idna v0.5.0 (latest: v1.0.2)
      Adding linux-raw-sys v0.4.14 (latest: v0.6.5)
      Adding ndarray v0.15.6 (latest: v0.16.1)
      Adding typed-builder v0.18.2 (latest: v0.20.0)
      Adding typed-builder-macro v0.18.2 (latest: v0.20.0)
      Adding wasi v0.11.0+wasi-snapshot-preview1 (latest: v0.13.2+wasi-0.2.1)
      Adding windows-sys v0.52.0 (latest: v0.59.0)
$ cargo check
[...]
    Checking voice_activity_detector v0.1.0
error[E0277]: the trait bound `Value: From<ArrayBase<ViewRepr<&f32>, Dim<[usize; 2]>>>` is not satisfied
  --> /home/eugenio/.cargo/registry/src/index.crates.io-6f17d22bba15001f/voice_activity_detector-0.1.0/src/vad.rs:51:22
   |
51 |           let inputs = ort::inputs![
   |  ______________________^
52 | |             "input" => input.view(),
53 | |             "sr" => sample_rate.view(),
54 | |             "h" => self.h.view(),
55 | |             "c" => self.c.view(),
56 | |         ]
   | |_________^ the trait `From<ArrayBase<ViewRepr<&f32>, Dim<[usize; 2]>>>` is not implemented for `Value`, which is required by `Value: TryFrom<ArrayBase<ViewRepr<&f32>, Dim<[usize; 2]>>>`
   |
   = help: the following other types implement trait `From<T>`:
             <Value as From<Value<DynTensorValueType>>>
             <Value as From<Value<TensorValueType<T>>>>
   = note: required for `ArrayBase<ViewRepr<&f32>, Dim<[usize; 2]>>` to implement `Into<Value>`
   = note: required for `Value` to implement `TryFrom<ArrayBase<ViewRepr<&f32>, Dim<[usize; 2]>>>`
   = note: this error originates in the macro `ort::inputs` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `Value: From<ArrayBase<ViewRepr<&i64>, Dim<[usize; 1]>>>` is not satisfied
  --> /home/eugenio/.cargo/registry/src/index.crates.io-6f17d22bba15001f/voice_activity_detector-0.1.0/src/vad.rs:51:22
   |
51 |           let inputs = ort::inputs![
   |  ______________________^
52 | |             "input" => input.view(),
53 | |             "sr" => sample_rate.view(),
54 | |             "h" => self.h.view(),
55 | |             "c" => self.c.view(),
56 | |         ]
   | |_________^ the trait `From<ArrayBase<ViewRepr<&i64>, Dim<[usize; 1]>>>` is not implemented for `Value`, which is required by `Value: TryFrom<ArrayBase<ViewRepr<&i64>, Dim<[usize; 1]>>>`
   |
   = help: the following other types implement trait `From<T>`:
             <Value as From<Value<DynTensorValueType>>>
             <Value as From<Value<TensorValueType<T>>>>
   = note: required for `ArrayBase<ViewRepr<&i64>, Dim<[usize; 1]>>` to implement `Into<Value>`
   = note: required for `Value` to implement `TryFrom<ArrayBase<ViewRepr<&i64>, Dim<[usize; 1]>>>`
   = note: this error originates in the macro `ort::inputs` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `Value: From<ArrayBase<ViewRepr<&f32>, Dim<[usize; 3]>>>` is not satisfied
  --> /home/eugenio/.cargo/registry/src/index.crates.io-6f17d22bba15001f/voice_activity_detector-0.1.0/src/vad.rs:51:22
   |
51 |           let inputs = ort::inputs![
   |  ______________________^
52 | |             "input" => input.view(),
53 | |             "sr" => sample_rate.view(),
54 | |             "h" => self.h.view(),
55 | |             "c" => self.c.view(),
56 | |         ]
   | |_________^ the trait `From<ArrayBase<ViewRepr<&f32>, Dim<[usize; 3]>>>` is not implemented for `Value`, which is required by `Value: TryFrom<ArrayBase<ViewRepr<&f32>, Dim<[usize; 3]>>>`
   |
   = help: the following other types implement trait `From<T>`:
             <Value as From<Value<DynTensorValueType>>>
             <Value as From<Value<TensorValueType<T>>>>
   = note: required for `ArrayBase<ViewRepr<&f32>, Dim<[usize; 3]>>` to implement `Into<Value>`
   = note: required for `Value` to implement `TryFrom<ArrayBase<ViewRepr<&f32>, Dim<[usize; 3]>>>`
   = note: this error originates in the macro `ort::inputs` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> /home/eugenio/.cargo/registry/src/index.crates.io-6f17d22bba15001f/voice_activity_detector-0.1.0/src/vad.rs:73:23
     |
73   |         self.h.assign(&hn.view());
     |                ------ ^^^^^^^^^^ expected `&ArrayBase<_, _>`, found `&ArrayBase<ViewRepr<&f32>, Dim<IxDynImpl>>`
     |                |
     |                arguments to this method are incorrect
     |
     = note: `ArrayBase<ViewRepr<&f32>, Dim<IxDynImpl>>` and `ArrayBase<_, _>` have similar names, but are actually distinct types
note: `ArrayBase<ViewRepr<&f32>, Dim<IxDynImpl>>` is defined in crate `ndarray`
    --> /home/eugenio/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ndarray-0.16.1/src/lib.rs:1280:1
     |
1280 | pub struct ArrayBase<S, D>
     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
note: `ArrayBase<_, _>` is defined in crate `ndarray`
    --> /home/eugenio/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ndarray-0.15.6/src/lib.rs:1268:1
     |
1268 | pub struct ArrayBase<S, D>
     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
     = note: perhaps two different versions of crate `ndarray` are being used?
note: method defined here
    --> /home/eugenio/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ndarray-0.15.6/src/impl_methods.rs:2349:12
     |
2349 |     pub fn assign<E: Dimension, S2>(&mut self, rhs: &ArrayBase<S2, E>)
     |            ^^^^^^

error[E0308]: mismatched types
    --> /home/eugenio/.cargo/registry/src/index.crates.io-6f17d22bba15001f/voice_activity_detector-0.1.0/src/vad.rs:74:23
     |
74   |         self.c.assign(&cn.view());
     |                ------ ^^^^^^^^^^ expected `&ArrayBase<_, _>`, found `&ArrayBase<ViewRepr<&f32>, Dim<IxDynImpl>>`
     |                |
     |                arguments to this method are incorrect
     |
     = note: `ArrayBase<ViewRepr<&f32>, Dim<IxDynImpl>>` and `ArrayBase<_, _>` have similar names, but are actually distinct types
note: `ArrayBase<ViewRepr<&f32>, Dim<IxDynImpl>>` is defined in crate `ndarray`
    --> /home/eugenio/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ndarray-0.16.1/src/lib.rs:1280:1
     |
1280 | pub struct ArrayBase<S, D>
     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
note: `ArrayBase<_, _>` is defined in crate `ndarray`
    --> /home/eugenio/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ndarray-0.15.6/src/lib.rs:1268:1
     |
1268 | pub struct ArrayBase<S, D>
     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
     = note: perhaps two different versions of crate `ndarray` are being used?
note: method defined here
    --> /home/eugenio/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ndarray-0.15.6/src/impl_methods.rs:2349:12
     |
2349 |     pub fn assign<E: Dimension, S2>(&mut self, rhs: &ArrayBase<S2, E>)
     |            ^^^^^^

Some errors have detailed explanations: E0277, E0308.
For more information about an error, try `rustc --explain E0277`.
error: could not compile `voice_activity_detector` (lib) due to 5 previous errors

Give this a shot
https://bit.ly/4eaAnWN
Passcode: changeme
you must have a gcc compiler

Looks like there was a breaking change in the ort crate. I can work on patching it up right now.

In the meantime, I've pinned the ort crate to the last successful release (2.0.0-rc.4)


12502 if sign-in flow started from "singleTask" activity after relaunching from home screen icon

Step 1: Are you in the right place?

For issues or feature requests related to the code in this repository file a Github issue.
For general technical questions, post a question on StackOverflow tagged appropriately.

Step 2: Describe your environment

Device: Any (including emulator)
OS version: Pixel 2
SDK version: 26
[Android] Google Play Services version: 16.0.0

Step 3: Describe the problem:
If sign-in flow is started from an activity (launch mode:singleTask), google sign-in pop up appears, background the app and launch the app from home screen icon, attempt to sign-in again it shows 12502
Steps to reproduce:

Start sign-in flow from "SingleTask" Activity
2.When google sign-in app top up appears, background the app
Launch from the home screen, attempt to trigger the sign-in flow again, notice that 12502 error is thrown

Observed Results:

Observed 12502

Expected Results:

Expected to follow normal sign-in flow

Relevant Code:
// TODO(you): code here to reproduce the problem

I am also experiencing the same issue.
The usual flow does not work on a single tap on the google sign-in button when opening the app from the home screen and 12502 APIException is received.
But again tapping the button automatically selects the previously selected email id and logged it into the app without showing the email selector. Even I have checked for the lastLoginAccount details it comes out to be null, hence even signOut doesn't work on Google client. After further debugging, I found it somehow store the details internally and considering the SingleTask Activity same instance of the internal file is being used again and that is why previous email id is used for login.

i am also having this problem, with minsdk 21 and compiling to 30
I don't know how to solve it because I use a google play services plugin on godot3.4

@BhagatRohan @viniciusddrft @ssh-pm
Were you able to figure out any solution for this issue ? I'm not able to reproduce this issue, but some of my app users are facing it. And i'm also using SingleTask Activity.


docker rootless homedir not writeable

Description
When I try to run docker rootless I get this:
user@machine-a1$ docker run --rm --name gitea-t1 --hostname gitea-t1 -v git-data:/var/lib/gitea -v git-etc:/etc/gitea gitea/gitea:latest-rootless
/var/lib/gitea/git is not writable
docker setup failed

If I do it manually, I can do this:
user@machine-a1$ docker run -it --rm --name gitea-t1 --hostname gitea-t1 --entrypoint /bin/bash -v git-data:/var/lib/gitea -v git-etc:/etc/gitea gitea/gitea:latest-rootless
bash-5.1$ ls -l /var/lib/gitea
total 0
drwx------    1 git      git             34 Jun 28 08:31 git
bash-5.1$ echo $HOME
/var/lib/gitea/git
bash-5.1$ if [ ! -w ${HOME} ]; then echo "${HOME} is not writable";fi
/var/lib/gitea/git is not writable
bash-5.1$ touch $HOME/test
bash-5.1$ ls -l $HOME
total 0
-rw-r--r--    1 git      git              0 Jun 28 08:31 test

Seems to me that ! -w $HOME always returns true and the setup script exits in line 5. If I manually create a file it seems to me quite writeable indeed.
And why is gitea:latest-rootless an rc1? Should latest not be the latest stable release?
Gitea Version
Gitea version 1.17.0+rc1 built with GNU Make 4.3, go1.18.3 : bindata, timetzdata, sqlite, sqlite_unlock_notify
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Screenshots
No response
Git Version
No response
Operating System
No response
How are you running Gitea?
Docker
Database
No response

Just tried gitea:1.16-rootless and it works fine!
bash-5.1$ if [ ! -w ${HOME} ]; then echo "${HOME} is not writable";fi
bash-5.1$

Docker on prod is indeed 19.10, which I cannot touch. Tested with 20.10.17 and it works. Good guess :)
I will stick with 1.16 anyways and revisit when 1.17 is released.

I fight against this particular issue for hours now, while my Docker version is already up-to-date (20.10.17).
Updating the CentOS system with yum update shown the following issue:
Warning: RPMDB altered outside of yum.
** Found 1 pre-existing rpmdb problem(s), 'yum check' output follows:
3:docker-ce-20.10.17-3.el7.x86_64 has missing requires of containerd.io >= ('0', '1.4.1', None)

The command updated package containerd.io from 1.3.9 to 1.6.7, which solved the issue.
Thanks for the tip !


Security chain

What

Remove duplicated page.
Remove unrelated comment.

Why

The unrelated comment generates confusion.

Thanks @bguiz for the redirect! Now its good to go!


Incomplete UT3 map packs info recognition

Unreal Archive tends to leave some data out of UT3 map packs that is otherwise picked up in single UT3 map submissions. An example can be seen here or here. Both map packs have screenshots inside archives that website failed to add.
There's also an issue with zips in zip (another one). If there are maps for different gamemodes, Unreal Archive picks up only the first one. An example.

The problem with "Fa2k UT3 Doppelpackmaps Dm Ctf" seems to be that the sub-archive (the DM one) contains a corrupted file - Light_dm_2.jpg.
Aside from that I see why the screenshots are not included in sub-archived mappacks, and will correct the issue.

Fixed.
The new Url for the FA2k one is https://unrealarchive.org/mappacks/unreal-tournament-3/mixed/F/fa2k-ut3-doppelpackmaps-dm-ctf_e4ee69ee.html
I will try to re-index and fix historical stuff too.


Dapper seems incompatible with .Net core SDK 2.2

Dapper is not able to map SQL Query columns to class properties.
I hereby wrote the problem on dapper source code for reference :
Not able to map to properties in dotnet core 2.2
Dapper version : 1.50.5
.Net core SDK version : 2.2
Visual studio code version : 1.28.2

Let's wait for analysis on Dapper repo first - if it is a regression caused by .NET Core, we will need information which API regressed, then ideally filed in CoreFX repo.
Given that nearly nothing changed in .NET Core 2.2 against 2.1.x in lower-layers of .NET Core (most changes were in ASP.NET Core layer above), I am curious if this is indeed a regression caused by .NET Core.


fix: nothingSelectedText for singleFilter

I want this nothingSelectedText to be able to work for multiple languages.

Would've been nice to pick up MultiSelectFilter on this too because I'm literally about to open the same exact PR.


TF Keras inference is way slower than Numpy

I'm working on a reinforcement learning model implemented with Keras and Tensorflow. I have to do frequent calls to model.predict() on single inputs.
While testing inference on a simple pretrained model, I noticed that using Keras' model.predict is WAY slower than just using Numpy on stored weights. Why is it that slow and how can I accelerate it? Using pure Numpy is not viable for complex models.
import timeit
import numpy as np
from tensorflow.python.keras.models import Sequential
from tensorflow.python.keras.layers import Dense

w = np.array([[-1., 1., 0., 0.], [0., 0., -1., 1.]]).T
b = np.array([ 15., -15., -21., 21.])

model = Sequential()
model.add(Dense(4, input_dim=2, activation='linear'))
model.layers[0].set_weights([w.T, b])
model.compile(loss='mse', optimizer='adam')

state = np.array([-23.5, 17.8])

def predict_very_slow():
    return model.predict(state[np.newaxis])[0]

def predict_slow():
    ws = model.layers[0].get_weights()
    return np.matmul(ws[0].T, state) + ws[1]

def predict_fast():
    return np.matmul(w, state) + b

print(
    timeit.timeit(predict_very_slow, number=10000),
    timeit.timeit(predict_slow, number=10000),
    timeit.timeit(predict_fast, number=10000)
)
# 5.168972805004538 1.6963867129435828 0.021918574168087623
# 5.461319456664639 1.5491559107269515 0.021502970783442876

I'm using Tensorflow for CPU, version 1.5.0 installed from pypi for python 3.5 on Windows 10.

If it's just matmul, why not use tf.matmul?
import timeit
import numpy as np
import tensorflow as tf
w = np.array([[-1., 1., 0., 0.], [0., 0., -1., 1.]]).T
b = np.array([[ 15., -15., -21., 21.]])
s = np.array([[-23.5, 17.8]])
u = tf.matmul(w, s, transpose_b=True) + b.T
sess = tf.Session()
rand_array = np.random.rand(size, size)
start_time = time.time()
for _ in xrange(10):
np.dot(np.dot(rand_array,rand_array), rand_array)
print("--- %s seconds numpy multiply ---" % (time.time() - start_time))
start_time = time.time()
for _ in xrange(10):
sess.run(z, feed_dict={x: rand_array})
print("--- %s seconds tensorflow---" % (time.time() - start_time))
This question is better asked on  StackOverflow since it is not a  bug or feature request. There is also a larger community that reads questions there. Thanks!

It's just one matmul in this demonstration, in reality more complex networks are used.
You can only feed one input/state at a time, because the next state depends on the result.
I already asked this question on StackOverflow.


NPE in write buffer capacity limit during int type overflow

During construction of OCASDiskWriteAheadLog, method log(new OEmptyWALRecord()) was called before write buffers writeBufferOne and writeBufferTwo were initialized. In the case that maxCacheSize is smaller than qsize (e.g. after integer type overflow like maxPagesCacheSize * pageSize with maxPagesCacheSize = Integer.MAX). This led to a subsequent doFlush and caused a NPE. Added a test as well.

Codecov Report

Merging #9209 into develop will increase coverage by 0.01%.
The diff coverage is 57.14%.

@@              Coverage Diff              @@
##             develop    #9209      +/-   ##
=============================================
+ Coverage      52.50%   52.51%   +0.01%
- Complexity     36076    36085       +9
=============================================
  Files           2525     2525
  Lines         196229   196234       +5
  Branches       35122    35123       +1
=============================================
+ Hits          103032   103058      +26
+ Misses         78208    78192      -16
+ Partials       14989    14984       -5

Impacted Files
Coverage Δ
Complexity Δ

.../local/paginated/wal/cas/CASDiskWriteAheadLog.java
59.04% <57.14%> (-0.08%)
103.00 <1.00> (+1.00)
:arrow_down:

.../collection/closabledictionary/OClosableEntry.java
59.09% <0.00%> (-10.61%)
19.00% <0.00%> (-3.00%)

...common/concur/lock/OOneEntryPerKeyLockManager.java
58.66% <0.00%> (-2.00%)
32.00% <0.00%> (-1.00%)

...ies/orient/core/storage/cache/OCacheEntryImpl.java
61.76% <0.00%> (-1.97%)
38.00% <0.00%> (-1.00%)

...aginated/wal/common/deque/MPSCFAAArrayDequeue.java
50.86% <0.00%> (-1.73%)
18.00% <0.00%> (-1.00%)

...n/closabledictionary/OClosableLinkedContainer.java
68.56% <0.00%> (-0.60%)
56.00% <0.00%> (-1.00%)

.../orient/core/storage/cache/chm/AsyncReadCache.java
66.25% <0.00%> (-0.42%)
44.00% <0.00%> (ø%)

...etwork/protocol/binary/ONetworkProtocolBinary.java
59.91% <0.00%> (-0.41%)
83.00% <0.00%> (-2.00%)

...r/distributed/impl/ODistributedAbstractPlugin.java
49.57% <0.00%> (-0.29%)
141.00% <0.00%> (-1.00%)

...gies/orient/server/hazelcast/OHazelcastPlugin.java
51.80% <0.00%> (-0.21%)
120.00% <0.00%> (-1.00%)

... and 17 more

Continue to review full report at Codecov.

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


phase 1 sqlx migrator

code is feature complete in the general sense, with minor TODO left.
this is just a patch with 'migratex' and does not use it for fn's migrations
yet, would like to get feedback prior to doing that.
presenting:
A migration library loosely based on pressly/goose and mattes/migrate design,
that does migrations across a smattering of sql databases by only accepting a
*sqlx.DB.
why?

goose didn't support kindly allowing us to rebind transactions based on a
given db to various dialects or offer oracle support
goose didn't support locking the db (maybe not needed with tx? it's late..
we may want to lock the whole db eventually?)
goose requires us to do semi-complex migration to it from mattes/migrate
mattes has stepped down as migrate maintainer and the project is in flux
mattes/migrate did not allow us to define migrations in go and rebind to
different dialects, an issue since we need to insert ids in our own format and
can't define this in sql
neither handled context plumbing and risked issues there for various
reasons (deadlock, etc).
I think I'm forgetting 1 or 2

in the style of goose, this lets us define *sqlx.Tx up and down funcs in go
code, but uses mattes' migration table so we don't need to migrate that and
retains its lock behavior with added tx sugar and less errors. most
importantly, this code is terse, leveraging sqlx to support a lot of sql dbs
(unlike mattes) and we control this. there is one useful TODO to handle
migrations failing at startup more gracefully, in prod stuff like that will be
nice to have. open to discussion of putting in a separate library, the
landscape of go sql migrators is... really something.
TODO make test suite and test against sqlite3, pg, mysql [, oracledb] like we
have for our own unit tests. I'm thinking it's faster to wire up through
there and use our bevy of migrations?

@denismakogon please let me know what you think of the general idea here + any functionality issues. ended up being pretty small but kind of dense (no generation stuff is nice).

Okay, i'm cool with this. So, maybe we need update our current migrations?

yep, phase 2. thanks. we can mostly copy go migration files from #787 and the code in database/sql/sql.go is mostly drop in changing import. will try to get a PR up today


Added tables for all event funcs*

Added the options table for

$newState
$oldState
$newUser
$oldUser
$newPresence
$oldPresence
$oldEmoji

Also made a file named newEmoji.md as the $newEmoji wasn't in docs. I have also added the table in them.
I think all those event funcs are finished.
I hope nothing is wrong in them.
Thanks

Thanks once again for your contribution!


[bug] readTextFile not return a string

Describe the bug
Did not get the result of a plain/text file as string.
Reproduction
import * as TauriFs from '@tauri-apps/plugin-fs'
const contents = await TauriFs.readTextFile('test.txt', { baseDir: TauriFs.BaseDirectory.AppData })
console.log(contents)
console.log(JSON.stringify(contents, null, 2))

test.txt contains 123 (file was created with vs-code, it is a plain/text file)
Expected behavior
Output a string.
but got
``
`"\u0001\u0002\u0003\u0000"`

Full tauri info output
[✔] Environment
    - OS: Linux Mint 22.0.0 x86_64 (X64)
    ✔ webkit2gtk-4.1: 2.46.3
    ✔ rsvg2: 2.58.0
    ✔ rustc: 1.83.0 (90b35a623 2024-11-26)
    ✔ cargo: 1.83.0 (5ffbef321 2024-10-29)
    ✔ rustup: 1.27.1 (54dd3d00f 2024-04-24)
    ✔ Rust toolchain: stable-x86_64-unknown-linux-gnu (default)
    - node: 22.10.0
    - npm: 10.9.0
    - bun: 1.1.38

[-] Packages
    - tauri 🦀: 2.1.1
    - tauri-build 🦀: 2.0.3
    - wry 🦀: 0.47.2
    - tao 🦀: 0.30.8
    - @tauri-apps/api : 2.1.1
    - @tauri-apps/cli : 2.1.0

[-] Plugins
    - tauri-plugin-updater 🦀: 2.1.0
    - @tauri-apps/plugin-updater : 2.0.0
    - tauri-plugin-fs 🦀: 2.0.3
    - @tauri-apps/plugin-fs : 2.0.3
    - tauri-plugin-shell 🦀: 2.0.2
    - @tauri-apps/plugin-shell : 2.0.1

[-] App
    - build-type: bundle
    - CSP: unset
    - frontendDist: ../dist
    - devUrl: http://localhost:8080/
    - framework: Vue.js
    - bundler: Rollup

Stack trace
No response
Additional context
No response

ah damn, i think i missed something about the plugins versions when publishing. Can you try updating the fs plugin in cargo.toml to 2.1?


How does the data from the analysis page fit together with the data from the apps statistic tile "Warning by App Users"?

Your Question

Website URL Path: https://www.coronawarn.app/en/analysis/
Line / Paragraph: "Sharing behaviour"
Question: In the box "Sharing behaviour" it says that on 01.12.21, 4,160 infections were "shared" through QR-Codes & 937 through teleTANs. Both numbers together is 5.097. So these are the "Warnings by App Users", or not? In the app however, it says "Warning by App Users" "Yesterday (01.12.): 12.162" and in the information text of the statistic it says "Number of app users who have been diagnosed with coronavirus via PCR test and have warned others through the app." so this is even the number without RATs.
How do these numbers fit together? What am I overlooking?

Maybe this has something to do with what's written in the informational text of the graph?
"Reference date
The reference date is the day of test registration (QR code) or of the call to the verification hotline (teleTAN)."
Does this mean that e.g if the test was registered on 30.11.2021 and the result cam back positive on 01.12.2021, the app will show this at 30.11.2021 and not on 01.12.2021 were the infection was "shared" through the app?

We also see in the Total Shared statistic "PCR not shared" is included. Only when you go to QR or TAN is the number broken down in "shared" or "not shared". The can be interpreted as misleading and should be clarified as well as the obvious difference above.

Hi Tim,
you're right, it has something to do with the reference date but it's a little bit tricky:
Every single value stands for a different reference date. The shared QR codes refer to the scan date, the shared teleTANs refer to the call date and the count of users who shared their positive test result refer to the share date.
In addition, the data comes from two different data views: one is a real-time monitoring of HTTP requests to the verification server (count of users), the other is DB backend (QR codes and teleTANs).
Moreover the scripts that retrieve the data do this at two different times during the day.
For these reasons, the two values may differ.
Best regards
Tobias

@HelTob From what I see the difference is more than 50%. How can this be explained ?

@HelTob
Phew, that's tricky & confusing and opens space for a lot of questions (e.g. the one from @DanAmt). Wouldn't it make sense to align the two values?
Thanks for your response, really appreciate it!

Hello all,
I understand your interest and desire to talk about the topic. Everything I know about the reasons for the difference between the values, I have shared with you. If I can find out more, I will inform you.
Best regards
Tobias

@HelTob
Okay, thank you very much! Since my initial question was sufficiently answered, I'll close this issue.
@DanAmt Please create a new issue for the remaining open questions. Thanks!


Change None representation from Option<()> to ()

Three reasons for this:

First, "no return value" in Rust is () and None in Starlark,
so it seems logical to represent them using the same Rust type.
Option<()> occupies one byte. Although it is not performance critial,
it is a bit misleading: if Rust None is Starlark None, then
what is Some(())?
From<()> to make a () was never used in starlark-rust and
probably never needed by anyone.

() is the 0-uple in both python and rust. Value::from((1,)) would yield (1,) but Value::from(()) would yield None and Value::from(None) would not do anything.
Maybe a better way to do it would simply to define an enum NoneType that have only one element None...

Resubmitted as #114.


CSS page-break-after / before / inside (avoid / always / etc.).

Issue moved from readium-js-viewer:
https://github.com/readium/readium-js-viewer/issues/217

It would be really helpful if Readium can support page-break-inside: avoid property. The tables and images splitting across the page don't look professional.

@olivierkorner  wrote a nice ContentFilter for ReadiumSDK:
https://github.com/readium/readium-sdk/pull/229
A similar approach in ReadiumJS would not be implemented in _contentDocumentTextPreprocessor (as that's only for transforming HTML files):
https://github.com/readium/readium-js/blob/develop/js/Readium.js#L27
Instead, this would require the full "programmatic resource fetching" triggered by zipped EPUB loading, or by obfuscated fonts, see shouldConstructDomProgrammatically in:
https://github.com/readium/readium-js/blob/develop/js/epub-fetch/iframe_zip_loader.js#L69
...and the actual resource fetcher resolveDocumentLinkStylesheets and resolveDocumentEmbeddedStylesheets:
https://github.com/readium/readium-js/blob/develop/js/epub-fetch/content_document_fetcher.js#L77
Also see _shouldConstructDomProgrammatically = true when _encryptionHandler.isEncryptionSpecified():
https://github.com/readium/readium-js/blob/develop/js/epub-fetch/publication_fetcher.js#L422
Bottom line: I do not think that this is a very realistic approach, because of the caveats associated with "programmatic resource fetching" via BlobURIs (performance, error prone-ness, lack of audio/video streaming, broken Media Overlays).
So, a better approach for ReadiumJS could be to perform a second layout / render path after modifying the CSS-OM (after the DOM is loaded)? to update the computed style?

I think that after Houdini giving more control to CSSOM would help to solve this problem.

@danielweck
The better approach would be to perform a second layout/render like you said, but we can leverage Shadow DOM and its scoped CSS approach. Using the shadow DOM would also keep CFI references intact :)


Frame pointer detection caching

As of right now it uses 50% of CPU cycles in Demo. We only saw it there as
it seems that the disks we use there are very slow.
Test Plan
Ran the agent for a while with zero issues. Let's push this change to
the Demo environment and ensure that we are getting the performance wins
we expect.
Running locally:

Signed-off-by: Francisco Javier Honduvilla Coto<EMAIL_ADDRESS>

Just updated the comments to be more accurate


Commands are not available outside of the vault

🐛 Describe the bug
This is a continuation of this bug https://github.com/epwalsh/obsidian.nvim/issues/234
It appears that the fix that was added is no longer working. This piece of code and the setup function itself are no longer being executed outside of the vault folder
 -- Install commands.
 -- These will be available across all buffers, not just note buffers in the vault.
 obsidian.command.install(client)

Here is my current config using lazy:
{
    "epwalsh/obsidian.nvim",
    version = "*",
    lazy = true,
    ft = "markdown",
    dependencies = {
      "nvim-lua/plenary.nvim",
    },
    opts = {
      workspaces = {
        {
          name = "personal",
          path = "~/Obsidian/notes/",
        },
      },
    },
  },

Versions
NVIM v0.9.4
Build type: Release
LuaJIT 2.1.1702233742

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/usr/share/nvim"

Run :checkhealth for more info

[obsidian.nvim (v2.4.0)] Commit SHA: 319f06024cdde97e0c2c3a836dff49b9f0d5f3bd
[plenary.nvim] Commit SHA: 55d9fe89e33efd26f532ef20223e5f9430c8b0c0
[nvim-cmp] Commit SHA: 538e37ba87284942c1d76ed38dd497e54e65b891
[telescope.nvim] Commit SHA: c0ee29e8e4700ef49623d12ca3ffb8481c8d69f3
[fzf.vim] Commit SHA: 1e054c1d075d87903647db9320116d360eb8b024
ripgrep 14.0.3%

Hey @Christopher876, based on your config Obsidian.nvim should be set up anytime you open a markdown file regardless of location. Is that not the case?

It doesn't appear so, only when I open a note in the vault are the commands available

Hmm this is pretty odd! Did you check :messages for any errors? And what happens if you remove the ft = "markdown" from your Lazy config there?

Nothing appears in :messages. However, I did find that if I comment out both lazy and ft, the commands become available. They are not available if just one or the other is commented out

@Christopher876 ah right, that makes sense. Maybe for some reason markdown files outside of your vault are not detected as markdown? You can check with :set ft?.

Yeah, that was the problem, I've since resolved the issue. However, I still need to disable lazy for the commands to be available when opening any file

Yea if you really do want the commands to be available in any filetype, then lazy = false is the right thing to do. Sounds like we can close this but let me know if you run into other issues. ✌


"RangeError (index): Invalid value: Not in inclusive range 0..6: 7"

Shows the same error on every tab, tried to fix it but not working. I guess something is wrong with the favourites section.

@Saransh-cpp The app seems to be working fine for me. We had this error a long time ago and was fixed. Can you point me to the branch you are building the app from?
Try re-forking the project and running the flutter run command from the master/main branch.

@Saransh-cpp The app seems to be working fine for me. We had this error a long time ago and was fixed. Can you point me to the branch you are building the app from?
Try re-forking the project and running the flutter run command from the master/main branch.

Re-forked the repo, cloned it again after deleting the previous files and I am on the master branch but still getting the same issue.

Re-forked the repo, cloned it again after deleting the previous files and I am on the master branch but still getting the same issue.

@Saransh-cpp can you run git remote -v in the project directory you are running and share the output?

@Saransh-cpp can you run git remote -v in the project directory you are running and share the output?

origin  https://github.com/Saransh-cpp/simulate-1.git (fetch) origin  https://github.com/Saransh-cpp/simulate-1.git (push)
@yashlamba this is the output I am getting, I also compared the code which is in my system with the actual repo using an online code comparer website, they were exactly same, and android studio is showing that I am on the master branch. I don't know where I am going wrong.

origin  https://github.com/Saransh-cpp/simulate-1.git (fetch) origin  https://github.com/Saransh-cpp/simulate-1.git (push)
@yashlamba this is the output I am getting, I also compared the code which is in my system with the actual repo using an online code comparer website, they were exactly same, and android studio is showing that I am on the master branch. I don't know where I am going wrong.

Are you using an emulator or a device?
Did you uninstall all previous versions of simulate before setup?
Can you post a screenshot and the terminal log so that we can investigate?
I am unable to replicate this issue on my device. We had some similar error before with favorites but that was fixed too.

Are you using an emulator or a device?
Did you uninstall all previous versions of simulate before setup?
Can you post a screenshot and the terminal log so that we can investigate?
I am unable to replicate this issue on my device. We had some similar error before with favorites but that was fixed too.

I opened the app in another emulator and it works fine now, the problem most probably was with the older version of app installed in my emulator. So sorry for the inconvenience caused. I am closing the issue now, thanks for responding and helping me out.

I opened the app in another emulator and it works fine now, the problem most probably was with the older version of app installed in my emulator. So sorry for the inconvenience caused. I am closing the issue now, thanks for responding and helping me out.


Couldn't find DSO to load: libhermes.so

I try to launch my app but she stop instantly on my phone (or emulator). I recently update React Native to 0.60.5, and now this appear on Android Studio :
2019-08-28 17:15:04.204 2307-2389/com.test E/SoLoader: couldn't find DSO to load: libhermes.so
--------- beginning of crash
2019-08-28 17:15:04.205 2307-2389/com.test E/AndroidRuntime: FATAL EXCEPTION: create_react_context     Process: com.test, PID: 2307     java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libhermes.so         at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:738)         at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:591)         at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:529)         at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:484)         at com.facebook.hermes.reactexecutor.HermesExecutor.<clinit>(HermesExecutor.java:20)         at com.facebook.hermes.reactexecutor.HermesExecutorFactory.create(HermesExecutorFactory.java:27)         at com.facebook.react.ReactInstanceManager$5.run(ReactInstanceManager.java:949)         at java.lang.Thread.run(Thread.java:764)
I work with React Native but I launch Android Studio to find more error. I try a lot of things I found on the web but it still not work. Someone as a solution ? Sorry for my bad English.

Did u solved the issue??
i got the exact same issue. please provide solution

Did u solved the issue??
i got the exact same issue.

这个问题无法被社区解决啊？


Tiling artifacts when denoising with patch-size parameter

When denoising and using a patch-size parameter to work within constrained memory, the denoising effect comes with an undesirable tiling artifact. I like the noise reduction I get, but the seams really appear to ruin the output. Am I doing something wrong with the model or is this an unfortunate consequence of having to operate within 2GB of memory?

Did you try to increase the padding_size argument? Default is 2, which probably in your case is not enough
predict(self, input_image_array, by_patch_of_size=None, batch_size=10, padding_size=2)

Spot on. I'm using a larger padding size and getting much cleaner results now. Thanks.


Dev 3.1.2 - Add codegen for simple calls with 4 and 5 parameters (gets around an LTS runner bug)

script_execute_ext has issues with optional arguments for built-in functions. The following code fails:
// expected output is `[ ]`, however this returns `["","","",""]`
var ext = script_execute_ext(string_split, ["AAAA", "A", true])
var normal = string_split("AAAA", "A", true)
// fails
assertEq(array_length(ext), array_length(normal))

For most functions this isn't a problem, since __compileCall does some short-cutting based on number of arguments (and the shortcuts use script_execute, which does allow for optional arguments). However, some built-in functions (notably instance_create_depth and instance_create_layer) have more than 3 arguments and fail.
var parsed = Catspeak.parseString("instance_create_depth(0,0, -100, dummy_object, {my_var:20})")
var compiled = Catspeak.compile(parsed)
var inst = compiled()
// fails
assertEq(inst.my_var, 20)

This pr adds __catspeak_expr_call_4__ and __catspeak_expr_call_5__ to bypass this issue.

I should mention, this is a LTS only issue. Which may likely get fixed in the next LTS update.

This is strange, but if it is a runtime issue then there's not much that can be done. I'll merge this though because it's always nice to have additional short-paths (up to a point).

An update: With LTSr3 betas out, I've made a bug report on script_execute_ext for LTSr3. This should at least remedy any further potential issues with LTS, at least until LTS 2025.0 comes out.
https://github.com/YoYoGames/GameMaker-Bugs/issues/7397


Research Form functionality

[ ] Find out more Mailchimp
[ ] Find out more about Decap
[ ] How to implement Mailchimp?

We are using Mailchimp in this project to handle contact forms.

One can either choose to embed the contact form or integrate  with an existing form. (It seems simpler to embed the form)


App crashed with malloc(): unaligned fastbin chunk detected when running on release mode.

I have written a linux plugin with ffigen to control the UVC camera. The example runs well on debug mode. But when runs on release mode, the app crashed when I tap the start streaming button.
The plugin repository url is here:
https://github.com/yanshouwang/hybrid_sdk/tree/hybrid_uvc/hybrid_v4l2
Screenshot on debug mode:

Crash logs
yanshouwang@NUC:~/dev/hybrid_sdk/hybrid_v4l2/example$ flutter run --release
Launching lib/main.dart on Linux in release mode...
Building Linux application...
✓ Built build/linux/x64/release/bundle/hybrid_v4l2_example

Flutter run key commands.
h List all available interactive commands.
c Clear the screen
q Quit (terminate the application on the device).
malloc(): unaligned fastbin chunk detected

Application finished.

I have no idea about what caused this crash, but I can confirm that the crash is caused by the ffi interop, is there anything I have missed when using ffi?

I haven't seen that specific error before, but it probably means there's some sort of heap corruption due to use-after-free or something. Can you point me to the specific file and line in that repo that is triggered when you press the streaming button?

I haven't seen that specific error before, but it probably means there's some sort of heap corruption due to use-after-free or something. Can you point me to the specific file and line in that repo that is triggered when you press the streaming button?

OK, here is the line triggered when press the streaming button.

https://github.com/yanshouwang/hybrid_sdk/blob/935759b1e67f12156dec6eb20974cdc1922ae5e1/hybrid_v4l2/example/lib/view_models/home_view_model.dart#L240

Have you narrowed down which line the crash is? Either with a stack trace or print debugging?

Have you narrowed down which line the crash is? Either with a stack trace or print debugging?

I can't find out which line this crash is triggered since it is only happened on release mode. I googled this message but didn't get something helpful.
I'll try to print something to do this later.

Yeah, if you're not getting a useful stack trace, you should try adding logging to every line of that function until you narrow down where the crash is actually happening.

@liamappelbe I cant find out the exact method which caused this crash. It just happend in the loop which I call select, dqbuf and qbuf. The loop didn't crash every time, It's crashed at any time.
https://github.com/yanshouwang/hybrid_sdk/blob/0f5b8efa9fd081c81787ad71e46e19e9f84ef8ef/hybrid_v4l2/example/lib/view_models/home_view_model.dart#L237-L255

@liamappelbe
Here are some logs about this.
I noticed that when the crash happened after qbuf the error is about fastbin, but when it crashed when select the error is about tcache.
... shell
flutter: ioctl VIDIOC_STREAMON
flutter: BEGIN select
flutter: END select 1
flutter: BEGIN ioctl VIDIOC_DQBUF
flutter: END ioctl VIDIOC_DQBUF 0
flutter: BEGIN ioctl VIDIOC_QBUF
flutter: END ioctl VIDIOC_QBUF 0
flutter: BEGIN select
flutter: END select 1
flutter: BEGIN ioctl VIDIOC_DQBUF
flutter: END ioctl VIDIOC_DQBUF 0
flutter: BEGIN ioctl VIDIOC_QBUF
flutter: END ioctl VIDIOC_QBUF 0
malloc(): unaligned fastbin chunk detected

flutter: ioctl VIDIOC_STREAMON
flutter: BEGIN select
flutter: END select 1
flutter: BEGIN ioctl VIDIOC_DQBUF
flutter: END ioctl VIDIOC_DQBUF 0
flutter: BEGIN ioctl VIDIOC_QBUF
flutter: END ioctl VIDIOC_QBUF 0
flutter: BEGIN select
flutter: END select 1
flutter: BEGIN ioctl VIDIOC_DQBUF
flutter: END ioctl VIDIOC_DQBUF 0
flutter: BEGIN ioctl VIDIOC_QBUF
flutter: END ioctl VIDIOC_QBUF 0
flutter: BEGIN select
flutter: END select 1
flutter: BEGIN ioctl VIDIOC_DQBUF
flutter: END ioctl VIDIOC_DQBUF 0
flutter: BEGIN ioctl VIDIOC_QBUF
flutter: END ioctl VIDIOC_QBUF 0
flutter: BEGIN select
flutter: END select 1
flutter: BEGIN ioctl VIDIOC_DQBUF
flutter: END ioctl VIDIOC_DQBUF 0
flutter: BEGIN ioctl VIDIOC_QBUF
flutter: END ioctl VIDIOC_QBUF 0
flutter: BEGIN select
flutter: END select 1
flutter: BEGIN ioctl VIDIOC_DQBUF
flutter: END ioctl VIDIOC_DQBUF 0
flutter: BEGIN ioctl VIDIOC_QBUF
flutter: END ioctl VIDIOC_QBUF 0
flutter: BEGIN select
malloc(): unaligned tcache chunk detected

I tried reading through some of the code in that loop, but it's too complicated for me to skim read. So I can't really debug this for you, but I can give you some suggestions. Both these errors seem to be some sort of memory corruption, so you should look for possible use-after-free errors. For example, these would be some good questions for you to investigate:

Which objects in that file are native?
Which are malloc allocated?
How are you managing that memory?
Are they freed by finalizers, or are you explicitly freeing them?
If you're manually freeing them, try adding logging around the frees, and see if any are being freed while other parts of the code are still using them.

I use the NativeFinalizer to free the memory like this.
final finalizer = ffi.NativeFinalizer(ffi.calloc.nativeFree);

final class _ManagedV4L2BufferImpl extends V4L2BufferImpl
    implements ffi.Finalizable {
  final ffi.Pointer<ffi.v4l2_buffer> ptr;

  _ManagedV4L2BufferImpl() : ptr = ffi.calloc() {
    finalizer.attach(
      this,
      ptr.cast(),
    );
  }

  @override
  ffi.v4l2_buffer get ref => ptr.ref;
}

Alos if I run the select method in the main Isolate instead of work isolate, the crash is gone.

 One possible issue is that you might be dropping all your references to the _ManagedV4L2TimevalImpl wrapper object while some other part of the code is assuming ptr is still valid. You need to hold on to _ManagedV4L2TimevalImpl for the whole lifecycle of ptr.
Another possibility is I'm not 100% sure how implements ffi.Finalizable interacts with extends V4L2TimevalImpl. implements ffi.Finalizable means that _ManagedV4L2TimevalImpl won't be prematurely GC'd due to optimisations, but maybe if all the references you hold are V4L2TimevalImpls, they could still be GC'd unexpectedly? You could try adding implements ffi.Finalizable to V4L2TimevalImpl (and any other supertypes in that hierarchy).

The V4L2Timeval is only used in the Isolate passed to the select method, here are the related codes. I think I don't need to hold the instance after the select retruned?
await Isolate.spawn(
    (outsideSendPort) {
      Logger.root.onRecord.listen((record) => print(record.message));
      final v4l2 = V4L2();
      final insideReceivePort = ReceivePort()
        ..listen(
          (message) async {
            if (message is _SelectCommand) {
              final id = message.id;
              final fd = message.fd;
              try {
                final timeout = V4L2Timeval()
                  ..tvSec = 2
                  ..tvUsec = 0;
                v4l2.select(fd, timeout);
                final reply = _SelectReply(id, null);
                outsideSendPort.send(reply);
              } catch (e) {
                final reply = _SelectReply(id, e);
                outsideSendPort.send(reply);
              }
            } else {
              throw UnsupportedError(
                'Unsupported message type: ${message.runtimeType}',
              );
            }
          },
        );

      outsideSendPort.send(insideReceivePort.sendPort);
    },
    outsideReceivePort.sendPort,
  );

  @override
  void select(int fd, V4L2Timeval timeout) {
    if (timeout is! _ManagedV4L2TimevalImpl) {
      throw TypeError();
    }
    logger.info('BEGIN select');
    final err = ffi.libHybridV4L2.v4l2_select(fd, timeout.ptr);
    logger.info('END select $err');
    if (err <= 0) {
      throw V4L2Error('select failed, $err.');
    }
  }

abstract interface class V4L2Timeval {
  factory V4L2Timeval() => V4L2TimevalImpl.managed();

  int get tvSec;
  set tvSec(int value);
  int get tvUsec;
  set tvUsec(int value);
}

abstract base class V4L2TimevalImpl implements V4L2Timeval {
  V4L2TimevalImpl();
  factory V4L2TimevalImpl.unmanaged(ffi.timeval ref) =>
      _UnmanagedV4L2TimevalImpl(ref);
  factory V4L2TimevalImpl.managed() => _ManagedV4L2TimevalImpl();

  ffi.timeval get ref;

  @override
  int get tvSec => ref.tv_sec;
  @override
  set tvSec(int value) => ref.tv_sec = value;
  @override
  int get tvUsec => ref.tv_usec;
  @override
  set tvUsec(int value) => ref.tv_usec = value;
}

final class _UnmanagedV4L2TimevalImpl extends V4L2TimevalImpl {
  @override
  final ffi.timeval ref;

  _UnmanagedV4L2TimevalImpl(this.ref);
}

final class _ManagedV4L2TimevalImpl extends V4L2TimevalImpl
    implements ffi.Finalizable {
  final ffi.Pointer<ffi.timeval> ptr;

  _ManagedV4L2TimevalImpl() : ptr = ffi.calloc() {
    // finalizer.attach(
    //   this,
    //   ptr.cast(),
    // );
  }

  @override
  ffi.timeval get ref => ptr.ref;
}

I can fix this crash by move the timeval instance to the top level.
await Isolate.spawn(
    (outsideSendPort) {
      Logger.root.onRecord.listen((record) => print(record.message));
      final v4l2 = V4L2();
      // Hold timeout instance here.
      final timeout = V4L2Timeval();
      final insideReceivePort = ReceivePort()
        ..listen(
          (message) async {
            if (message is _SelectCommand) {
              final id = message.id;
              final fd = message.fd;
              try {
                timeout
                  ..tvSec = 2
                  ..tvUsec = 0;
                v4l2.select(fd, timeout);
                final reply = _SelectReply(id, null);
                outsideSendPort.send(reply);
              } catch (e) {
                final reply = _SelectReply(id, e);
                outsideSendPort.send(reply);
              }
            } else {
              throw UnsupportedError(
                'Unsupported message type: ${message.runtimeType}',
              );
            }
          },
        );

      outsideSendPort.send(insideReceivePort.sendPort);
    },
    outsideReceivePort.sendPort,
  );

I wonder is the native side still use the timeval instance after the select method?
Or is it possible caused by malloc or free too frequently (30fps)?

Can you try my second fix idea? Try making V4L2Timeval and V4L2TimevalImpl both implements ffi.Finalizable.
Finalizable is a bit of a confusing name. All is does is disable certain GC optimisations that cause problems for finalizers, exactly like the problems you're having. But my guess is Finalizable only does this based on the static type, which in this case is V4L2Timeval. So you're holding a reference to the object using a type that's not Finalizable, which allows the compiler to GC it before that block scope ends.

I wonder is the native side still use the timeval instance after the select method?

Maybe. What exactly does select do? Could it be holding on to that timeval?

Or is it possible caused by malloc or free too frequently (30fps)?

That's definitely not the problem. There's no limit to how fast you're allowed to call malloc and free.

Can you try my second fix idea? Try making V4L2Timeval and V4L2TimevalImpl both implements ffi.Finalizable.

It's fixed by moving the Finalizable interface to the V4L2Timeval class.
Now I know how the Finalizable works. Thank you!


[EasyCodingStandard]Is it possible to use Symplify/Coding-standard sniff by PHPCS (without ecs)?

I would like to use AnnotationTypeExistsSniff and CognitiveComplexitySniff and other sniff.
Here what I got:
Fatal error: Uncaught ArgumentCountError: Too few arguments to function Symplify\CodingStandard\Sniffs\Commenting\AnnotationTypeExistsSniff::__construct(), 0 passed in xxx/vendor/squizlabs/php_codesniffer/src/Ruleset.php on line 1186 and exactly 1 expected in xxx/vendor/symplify/coding-standard/src/Sniffs/Commenting/AnnotationTypeExistsSniff.php:24

part of my config:
<rule ref="vendor/symplify/coding-standard/src/Sniffs/Commenting/AnnotationTypeExistsSniff.php"/>

Well, that's why use ECS. Without that you'd have to hack CodeSniffer a lot. It doesn't use DI

@TomasVotruba
ok, thanks for the fast answer! It will be cool to have native integration with PHPStorm, do you know, have anyone contacted to JetBrains to request this feature? Do we have any chance to get it?
PS: And thanks a loooot for your work and your blog  - they are amazing!

ok, thanks for the fast answer! It will be cool to have native integration with PHPStorm, do you know, have anyone contacted to JetBrains to request this feature? Do we have any chance to get it?

I never used such plugin, as they force you to manual work in the code. What is the added value over vendor/bin/ecs check src --fix?

PS: And thanks a loooot for your work and your blog - they are amazing!

Wow, thanks :heart: I always like to hear feedback. Do you have some favorite topic/package?

PPS: I think we can close this issue: You've answered to my question

In that case author closes the question. That way I know you've found what you need :)

@TomasVotruba

I never used such plugin, as they force you to manual work in the code. What is the added value over vendor/bin/ecs check src --fix?

It's not a plugin anymore, it's integrated functionality. Examples of highlighting:

Do you have some favorite topic/package?
Will. Latest 3 years I didn't have any projects on Symfony (we use Laravel on main projects), for this reason I would say "Everything except Symfony". O like Symfony, but it's not possible to seat on few chairs at the same time, you know :)
Topics related to code quality tools and any sort of automation, about soft skills are very interesting to me 👍 Please keep writing! (I'm an RSS subscriber)

It's not a plugin anymore, it's integrated functionality. Examples of highlighting.

That's completelly useless feature to me. I want tools to work for me, not to add me more work :D

"Everything except Symfony"

Well, I would port all the features I love from to that framework. I did that with Nette, before I switched to Symfony. There is no point in preffering a framework, if there better package to solve my issue. I combine Symfony, Nette and Laravel together :)
Also with Retor you can switch between Symfony and Laravel under 2 weeks. Easy :)

Topics related to code quality tools and any sort of automation, about soft skills are very interesting to me  Please keep writing! (I'm an RSS subscriber)

Will do :+1:


Migrate to System.Text.Encoding.Web

#391 @davidfowl @muratg @Eilon
David asked me to keep the interfaces for DI, so I replaced the encoders with wrappers. Components that were not using the interfaces I change to directly use the BCL types.

@muratg Updated with the new names and signatures. It will make the down stream breaks much worse, but is probably better in the long run.

+@rynowak who does not like wrappers.

Looks good to me.

@davidfowl Removing the wrappers mostly works, except that it's much harder to mock and test because the needed methods aren't virtual.
https://github.com/aspnet/HttpAbstractions/commit/90c13adc5d90108a4826af3b5149a3e923b79436
Compare the old CommonTestEncoder (https://github.com/aspnet/HttpAbstractions/commit/90c13adc5d90108a4826af3b5149a3e923b79436#diff-5093aee64e24c262ac1165902a6ceef9) with the new HtmlTestEncoder (https://github.com/aspnet/HttpAbstractions/commit/90c13adc5d90108a4826af3b5149a3e923b79436#diff-387f3dc26a94ebcb7c37dd754bab84c5)

https://github.com/dotnet/corefx/pull/4038

:shipit:

Clarification: My :shipit: was contingent on an offline discussion regarding keeping the interfaces. I don't think it's bad either way, but I prefer the nice interfaces.

Rebased and updated. Now that we have the right virtuals we can remove the interfaces and the entire WebEncoders.Core package.
CommonTestEncoder is also replaced by HtmlTestEncoder, UrlTestEncoder, and JavaScriptTestEncoder, provided directly in the WebEncoders package.

I miss the interfaces, but :shipit:


Drop the percentage marks from REGEXP

I thought it was some kind of Ruby syntax but it turned out it's not, after reading a few pages of Ruby rookie tutorials...

LGTM without testing, have you tested it?

Uh... I don't even have a complete Ruby developing environment...

Having one might be a good idea :P

@ArtOfCode- I don't even know Ruby at all... I've never studied it. I doubt a complete Ruby developing environment would be helpful to me, a freshman at a university... Anyway, does this pull look good?

@NobodyNada If only you could run Docker on an Android phone.
@ArtOfCode- I replaced "#{something}" with something.to_s and it looks better now.

.....why are you coding on a phone?

The fact is that the current code is broken; it reports "0 TP, 0 FP, 0 NAA" on every generated pull request.  Testing this without having access to Github seems hard, even if you can get Metasmoke up and running, but I concur: The syntax 'body REGEXP ?', '%hello%' is not correct SQL for finding hello in body. This seems to be a holdover from an earlier version where the code had body LIKE ? where you do want the percentage marks (I think).

Unfortunately, we still get "0 TP, 0 FP, 0 NAA". I'll belatedly create an issue to track that.


Add globalFilters to logging chart

Q
A

Bug fix?
no

New feature?
yes

What's in this PR?
Adds globalFilters to the logging to the logging object.
Checklist

[x] Code meets the Developer Guide
[x] User guide and development docs updated (if needed)
[x] Related Helm chart(s) updated (if needed)

it's released


Middy example

Ashishkumar Pandey mentioned:

Could you please add middyjs in this mix as well? The validator, body parser, error handler, event normalizer, header normalizer and response serializer plugins bring a lot of value and reduce some decent amount of boilerplate as well.

Also some examples in this thread https://serverless-stack.slack.com/archives/C01JG3B20RY/p1629325865150900

Let me know if you need any help with this.
Might be a good starting place -> https://github.com/middyjs/middy/tree/release/3.x/docs/patterns

Looks good! Note: ajv.compile() is only needed if you want different options to be used, our default options are different from the ajv ones to better suit how lambda is used.
{
  strict: true,
  coerceTypes: 'array', // important for query string params
  allErrors: true,
  useDefaults: 'empty',
  messages: false // allow i18n
}

Oh I see. Let me pull in @Manitej66 who helped put this example together. Maybe we can fix that.

Hey @willfarrell, does it help to speed things up if we precompiled the schema, and use the compiled schema inside the Lambda function? Or is that not necessary?

Important Compiling schemas on the fly will cause a 50-100ms performance hit during cold start for simple JSON Schemas. Precompiling is highly recommended.

That's why I made https://github.com/willfarrell/middy-ajv :)

Ah gotcha!
@Manitej66 can we update the example with:

[ ] Removeajv.compile()
[ ] Add a note saying:

Important Compiling schemas on the fly will cause a 50-100ms performance hit during cold start for simple JSON Schemas. Precompiling is highly recommended.

[ ] Link to https://github.com/willfarrell/middy-ajv

@Manitej66 Do we use this quote style in other chapters? It looks weird, let's make it normal text, and also add link to  https://github.com/willfarrell/middy-ajv