Node 14 support broken due to jackspeak dependency

Trying to execute npx glob using Node 14.20.1 results in the following:
npx: installed 41 in 2.817s
file:///Users/seinopsys/.npm/_npx/4474/lib/node_modules/glob/node_modules/jackspeak/dist/esm/index.js:496
                cause ??= { name: field, found: value };
                      ^^^

SyntaxError: Unexpected token '??='
    at Loader.moduleStrategy (internal/modules/esm/translators.js:145:18)

The ??= operator is only supported from Node version 15.14.0 onwards (source).
According to the engines field in package.json node 14.20.1 matches the allowed version range but I do not see any actions validating that it actually works with this version.
I would like to suggest adding validations for all supported Node versions or dropping support for these older versions via removing them from the engines constraint if they are no longer actively validated.

If you're using EOL node versions, especially those that have been EOL as long as node 14 has, you must lock dependencies, and carefully review every update, even patch updates. That's what "EOL" means. Of course, it's best to just update to a node version that's actively supported, but that's not always an option.
The glob lib works in 14, it's just the bin that doesn't.


Update multislashremove.conf

I think this is slightly better solution

Hey @poige,
thanks for this PR - love the idea of dropping another rewrite in place of a return.
But I'm struggling to see how this regular expression will match?
E.g. /foo//blah?dldkjf=dfldkj won't match for example. And the capture won't be the querystring, which is what I think you're after.
But you have got me thinking this works:
if ($request_uri ~ "^[^?]*?//") {
	return 301 $scheme://$host$uri$is_args$args;
}

Have added this change as 192dfe4e98d093c9233f2eb8b94af474fc9b4b92
Thanks for your idea!

Yeah, that was very initial solution. Later I decided to use internal nginx's "normalization", like this:
map "${uri}?${args}_VS_${request_uri}" $notCanonical {
	#
	# As end result it should indicate whether redirect needs to be
	# performed. There's no need for redirect if request_uri concides to
	# concatenation of $uri and $args (if there're any)
	#

	default				"";

	# If there's strict match all's good, no changes needed:
	"~^([^?]+)\?(.+)_VS_\1\?\2$"	"";
	"~^([^?]+)\?_VS_\1$"		"";

	# Otherwise we fallback to handling 2 versions that had failed
	# just before:
	"~^([^?]+)\?(.+)_VS_"		"$uri?$args";
	"~^([^?]+)\?_VS_"		"$uri";
}

Yeah got ya @poige - once again thx for your idea - made for a nice mini-tweak :+1:


Add dropdown to select default storage

DRILL-7692: Select default schema from enabled storage plugins in query page
Description
In v1.18.0, users specify a schema through an input field but this is error prone and doesn't restrict options to enabled storage plugins.

I propose that it be changed to a dropdown that lists enabled storages as options, and automatically defaults if there is only one available storage.

Documentation
N/A
Testing
Manually tested through Web UI both locally and in Shopify's Drill deployment
https://drill.shopifycloud.com/query

Merged upstream https://github.com/apache/drill/pull/2049


Not possible to create Dashboards with preventive guardrails

Describe the bug
When the prerequisite Guardrail for preventive guardrails is active it is not possible to create Dashboards with this cdk resource.
To Reproduce
Steps to reproduce the behavior:
Activate guardrail CT.CLOUDFORMATION.PR.1
Try to create a new Dashboard while the guardrail is active like this:
new DatadogCloudFormationResource(this, 'DatadogDashboardResource', {
      typeName: DatadogCfResourceName.DASHBOARD,
      datadogSecrets: datadogSecrets
    })

Logs
Received response status [FAILED] from custom resource. Message returned: User: arn:aws:sts::***:assumed-role/***/*** is not authorized to perform: cloudformation:SetTypeConfiguration on resource: arn:aws:cloudformation:eu-central-1:***:type/resource/Datadog-Dashboards-Dashboard with an explicit deny in a service control policy (RequestId: ***)

Expected behavior
It should be able to use this resource with the most basic guardrails.

The issue is still reproducable, there was no new version since I opened the issue


Dropped support for TLS below 1.2

It isn't entirely clear to me whether this was a decision you guys made or a decision by fastly or something inadvertent, but the latest release to cdn.polyfill.io dropped support for TLS versions below 1.2.
While I can't expect you to serve older browsers or OSs forever, I just wanted to make sure that you were clear on what you are dropping support for (IE before 11 without tweaks, Chrome before 30, Android before 4.4, etc.) with this release.

While you have an A+ with SSLLabs you can also see all the browsers and OSs with no support
http://caniuse.com/#feat=tls1-2

Thanks for reporting the issue!
Yes, Fastly dropped support for TLS 1.0 and TLS 1.1 on their general set-up. I have requested that polyfill.io Fastly services use the set-up which still supports TLS 1.0 and TLS 1.1.
I've tested this in IE 9 and it looks to be working. Would you be able to confirm on your side of things that it is working as you expect?

Our IE9 VM that was unable to connect yesterday (without manual intervention) is connecting as expected today. Thanks all.

@rupesh1 Thank you for the confirmation, I will be closing this issue now as it looks like the work has been completed by Fastly :-)

Thank you for the change and I can confirm support for some old browsers and OSs are restored.

Also, I'm a big fan of the FT. Keep up the good work!


Allow RootElements to each have their own CSS

This one is more of a research project in all honesty. It's based on this article by Jake Archibald about CSS link tags in the body, and how they can reduce the amount of time your page spends waiting for CSS before rendering. It's hard for me to see how this would be done with the current API of react-server and webpack.

Migrated from #50

From @kcjonson

This seems super dependent on webpack, so we might want to do the Webpack 2 upgrade first. Highly theoretical but some approaches to this may have us using dynamic expressions in System.import
Do we still use webpack to create the common chunk? How does the work across routes and root elements? If each root element is an entry point then the only things that would end up in the common bundle are things that appear in every root element, which is most likely not the behavior we want.
Do we still use webpack to compute the list of dependencies for a given root element? A first baby step could be to get webpack to create a bundle for each root element and go from there.
Are the  tags for each file in the entire css dependency tree for the root element written into the body before the element? Would be messy to look at but in HTTP/2land it may be the right answer.
Related note: Recently @roblg took a look at moving the LESS processing and preamble prepending out of webpack into a gulp step which could in theory reduce the complexity of Redfins webpack config and afford us more flexibility when it comes to implementing HTTP/2

I added a styled-components example that demonstrates how to set styles for a single RootComponent -- does that resolve this issue @aickin @hzhu ?


Option to chose path for temp-files.

Instead of storing the temporary files where the script is executed, a path could be selected for them.
This should be controllable via the parameter -t/ --temp.

The commit 8ee6a01a62341e98f3a3690196516fd1f7efef4d should resolve this issue.


Ubuntu 18.04 Doesn't Supported

Been testing the script for the pre-seeding of an Ubuntu 18.04 instance and it doesn't seem to work.
As some one has an inside about this?

Hey Ariel,
thanks for your feedback. Can you provide more information as to what exactly isn't working? Do you see an error message, or is the image not seeding at all? Can you share your preseed script/settings? Any and all information you can provide can help determine why it is not working for you as expected.
Regards,
Rinck

Cloning the repository to an Ubuntu machine.
Changing the permissions of the script (create-unattended-iso.sh).
Running with sudo.
Choosing 10 (Ubuntu 18.04.6)
Giving the timezone, username, and the required data.
Waiting for it to finish with the shown output.
Uploading the file to an ESXi server.
Trying to spin up a new VM with the custom ISO file.
Installation goes straight to the manuel installation menu.

Hi Ariel,
can you tell me if you're using a legacy bios or UEFI bios? If it is UEFI, could you try it with legacy to see if it makes a difference?

HI Netson
I also see the same issue.  I tried the same thing with Ubuntu 18.04.  The ISO is created, but when launching the iso, it doesn't seem to pull any of the preseed details.  As soon as the new iso launches, it drops straight to language selection. (side note, since you asked @ArielLahiany .. I'm doing this as legacy mode)

@netson Thank you.  I appreciate it, and I know your time is valuable! :D


is anyone has combined Tacotron2 and gst together

@ErnstTmp and @Rayhane-mamah Is anyone combined tacotron2 and gst.
Or anyone pls comment here

I already implemented prosody embedding without GST with nvidia/tacotron2.
You can modeling f(ref audio, speaker id, text) -> target audio using https://github.com/Yeongtae/tacotron2/tree/prosody_speaker_embedding_test.


Proxy Service URLs confirmation

Hi,
Was reviewing the Firewall Proxy URL Defender for Endpoint Sensor needs to communicate. Saw theres one entry row 73 in Defender for Endpoints sheet where it says
Current
*download.windowsupdate.com
Should there be a period after the wildcard?
*.download.windowsupdate.com
Thanks,
Kelvin

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: b25b8545-b7f0-e035-ca6e-26b1530feddb
Version Independent ID: 93b5152a-2ba2-1239-ded7-42896cacc074
Content: Set up Microsoft Defender for Endpoint deployment
Content Source: microsoft-365/security/defender-endpoint/production-deployment.md
Product: m365-security
Technology: mde
GitHub Login: @mjcaparas
Microsoft Alias: macapara

@gonz-kelv Thank you for your feedback. I'll work with the author internally and update you.
Thanks
Sri

@mjcaparas Please help us in resolving this issue. Thanks

@mjcaparas Gentle reminder

The sheet was updated last September to address this.


get_block api request returning 500 service error

Since yesterday (July 10) all nodes started responding with 500 service error when I request block info for specific blocks, for example 447, 2167 and many more.
It used to work fine before the latest update.
here is the full response:
{
"code": 500,
"message": "Internal Service Error",
"error": {
"code": 10,
"name": "assert_exception",
"what": "Assert Exception",
"details": [
{
"message": "fc::time_point::now() < deadline: serialization time limit 15000us exceeded",
"file": "abi_serializer.hpp",
"line_number": 288,
"method": "add"
},
{
"message": "Failed to serialize type",
"file": "abi_serializer.hpp",
"line_number": 600,
"method": "to_variant"
}
]
}
}

Got reply from heifner here - https://github.com/EOSIO/eos/issues/4600
The default --abi-serializer-max-time-ms of 15 is too small to de-serialize larger blocks on the particular machine responding to your block info request. The nodeos processing your requests can increase the allowed serialization time by passing a larger value to --abi-serializer-max-time-ms.


BUG: Filterbox, when "allow multiple selections" AND "required" are enabled, then "required" doesn't work

As the title explains:
when "allow multiple selections" AND "required" are enabled in the filter box settings (filter configuration), then "required" doesn't work.

FilterBox is deprecated and you should start evaluating DASHBOARD_NATIVE_FILTERS by toggling the ff, it is close to maturity and will be released in the 1.2 version
If you start providing feedback about missing abilities in the native filters it is more likely you'll get a solution to your requests

Thank you for your reply.
Are there any other handy charts hidden in the dark realm of the config file?
Kifflom brother.

There are lots of cool new feature flags, but none to my knowledge that enable new charts. See https://github.com/apache/superset/blob/master/RESOURCES/FEATURE_FLAGS.md


No space left on device when using docker inside sysbox to load large *tar file

I follow this post to install the sysbox and shiftfs.
Then create new conainter in host with --runtime=sysbox-runc to run docker inside the docker container.
docker run --shm-size 16G --restart=always --runtime=sysbox-runc --name 123 -it 123 /bin/bash

I use df -h to check the filesystem usage:
Filesystem                                                    Size  Used Avail Use% Mounted on
.                                                             3.6T  385G  3.1T  12% /
tmpfs                                                          32G     0   32G   0% /sys/fs/cgroup
tmpfs                                                         1.0M     0  1.0M   0% /sys/kernel/config
tmpfs                                                         1.0M     0  1.0M   0% /sys/kernel/debug
tmpfs                                                         1.0M     0  1.0M   0% /sys/kernel/tracing
tmpfs                                                          64M     0   64M   0% /dev
shm                                                            16G     0   16G   0% /dev/shm
udev                                                           32G     0   32G   0% /dev/tty
/var/lib/sysbox/shiftfs/a7fb5b40-dc86-425e-9386-ebd81f269ba6  3.6T  385G  3.1T  12% /etc/hosts
/dev/sdc4                                                     163G  126G   37G  78% /var/lib/k0s
tmpfs                                                          32G     0   32G   0% /proc/asound
tmpfs                                                          32G     0   32G   0% /proc/acpi
tmpfs                                                          32G     0   32G   0% /proc/scsi
tmpfs                                                          32G     0   32G   0% /sys/firmware

I found the memory limitation of /dev/sdc4 cause the error when load large docker *tar file.
Is there any method or setting for sysbox to increase the size of /dev/sdc4 ?
Thanks a lot.

I fix the problem by mounting /var/lib/sysbox to other directory
sudo vim /lib/systemd/system/sysbox-fs.service

# insert into file
ExecStart=/usr/bin/sysbox-fs --mountpoint /data_volume/docker_volume/docker_inside_docker_cache

sudo vim /lib/systemd/system/sysbox-fs.service

# insert into file
ExecStart=/usr/bin/sysbox-fs --mountpoint /data_volume/docker_volume/docker_inside_docker_cache

Then, restart the service
sudo systemctl daemon-reload
sudo systemctl restart sysbox

Hi @kehuantiantang, thanks for trying Sysbox, hope it's helpful to you.
To move /var/lib/sysbox to another location, you only need to modify the systemd service unit for the sysbox-mgr, by adding the --data-root=<some-path> option (as you did).
There is no need to modify the systemd service unit for sysbox-fs, although doing it won't hurt either.


Make retarget file

thanks to make awesome code for everyone!
I am testing my own data(bvh), which is made from Rokoko. but I couldn't apply my own .bvh data to retarget.yaml file.
can i get tips for option that making .bvh file? or making retargeting file also?
When I extract code with my own data(.bvh, retarget.yaml, motion.yaml) I got error like this.
CRITICAL:root:Could not find BVH joint with name: None
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/doubleme/Work/Lyndsey/1_Working/AnimatedDrawings/animated_drawings/render.py", line 21, in start
    scene = Scene(cfg.scene)
  File "/home/doubleme/Work/Lyndsey/1_Working/AnimatedDrawings/animated_drawings/model/scene.py", line 30, in __init__
    ad = AnimatedDrawing(*each)
  File "/home/doubleme/Work/Lyndsey/1_Working/AnimatedDrawings/animated_drawings/model/animated_drawing.py", line 255, in __init__
    self._initialize_retargeter_bvh(motion_cfg, retarget_cfg)
  File "/home/doubleme/Work/Lyndsey/1_Working/AnimatedDrawings/animated_drawings/model/animated_drawing.py", line 317, in _initialize_retargeter_bvh
    self.retargeter = Retargeter(motion_cfg, retarget_cfg)
  File "/home/doubleme/Work/Lyndsey/1_Working/AnimatedDrawings/animated_drawings/model/retargeter.py", line 57, in __init__
    skeleton_fwd: Vectors = self.bvh.get_skeleton_fwd(self.forward_perp_vector_joint_names)
  File "/home/doubleme/Work/Lyndsey/1_Working/AnimatedDrawings/animated_drawings/model/bvh.py", line 115, in get_skeleton_fwd
    assert False, msg
AssertionError: Could not find BVH joint with name: None

when I extract Rokoko studio, my result is here :
ROOT Hips
{
  OFFSET 0.0000 94.0000 0.0000
  CHANNELS 6 Xposition Yposition Zposition Yrotation Xrotation Zrotation
  JOINT Spine
  {
    OFFSET 0.0000 8.4839 -3.9483
    CHANNELS 3 Yrotation Xrotation Zrotation
    JOINT Spine1
    {
      OFFSET 7.5932 0.0000 0.0000
      CHANNELS 3 Yrotation Xrotation Zrotation
      JOINT Spine2
      {
        OFFSET 7.5932 0.0000 0.0000
        CHANNELS 3 Yrotation Xrotation Zrotation
        JOINT Spine3
        {
          OFFSET 12.8217 0.0000 0.0000
          CHANNELS 3 Yrotation Xrotation Zrotation
          JOINT LeftShoulder
          {
            OFFSET 12.4389 -7.0401 1.9147
            CHANNELS 3 Yrotation Xrotation Zrotation
            JOINT LeftArm
            {
              OFFSET 13.4599 0.0000 0.0000
              CHANNELS 3 Yrotation Xrotation Zrotation
              JOINT LeftForeArm
              {
                OFFSET 26.1001 0.0000 0.0001
                CHANNELS 3 Yrotation Xrotation Zrotation
                JOINT LeftHand
                {
                  OFFSET 28.9001 0.0000 0.0000
                  CHANNELS 3 Yrotation Xrotation Zrotation
                  JOINT LeftHandIndex1
                  {
                    OFFSET 8.0739 -0.1030 2.5612
                    CHANNELS 3 Yrotation Xrotation Zrotation
                    JOINT LeftHandIndex2
                    {
                      OFFSET 4.5805 0.0000 0.0000
                      CHANNELS 3 Yrotation Xrotation Zrotation
                      JOINT LeftHandIndex3
                      {
                        OFFSET 2.8181 0.0000 0.0000
                        CHANNELS 3 Yrotation Xrotation Zrotation
                        End Site
                        {
                          OFFSET 1.3566 0.0000 0.0000
                        }

It is different from repo's joint name. Is that any option in Rokoko studio or any idea?

Can you share the contents of the retarget config file that gave you this error?

hosi.zip
@hjessmith here is my yaml file Thanks

i got the same issue :)

me too

this my workaround:
char_starting_location: [0.0, 0.0, -0.5]
bvh_projection_bodypart_groups:
- bvh_joint_names:
  - RightShoulder
  - RightArm
  - RightForeArm
  - RightHand
  - RightHandIndex1
  - RightHandIndex2
  - RightHandIndex3
  - RightHandMiddle1
  - RightHandMiddle2
  - RightHandMiddle3
  - RightHandPinky1
  - RightHandPinky2
  - RightHandPinky3
  - RightHandRing1
  - RightHandRing2
  - RightHandRing3
  - RightHandThumb1
  - RightHandThumb2
  - RightHandThumb3
  - LeftShoulder
  - LeftArm
  - LeftForeArm
  - LeftHand
  - LeftHandIndex1
  - LeftHandIndex2
  - LeftHandIndex3
  - LeftHandMiddle1
  - LeftHandMiddle2
  - LeftHandMiddle3
  - LeftHandPinky1
  - LeftHandPinky2
  - LeftHandPinky3
  - LeftHandRing1
  - LeftHandRing2
  - LeftHandRing3
  - LeftHandThumb1
  - LeftHandThumb2
  - LeftHandThumb3
  method: pca
  name: Upper Limbs
- bvh_joint_names:
  - RightUpLeg
  - RightLeg
  - RightFoot
  - RightToeBase
  - LeftUpLeg
  - LeftLeg
  - LeftFoot
  - LeftToeBase
  method: pca
  name: Lower Limbs
- bvh_joint_names:
  - Hips
  - Spine
  - Spine1
  - Spine2
  - Neck
  - Head
  method: frontal
  name: Trunk
char_bodypart_groups:
- bvh_depth_drivers:
  - Hips
  char_joints:
  - right_shoulder
  - left_shoulder
  - right_hip
  - left_hip
  - hip
  - torso
  - neck
- bvh_depth_drivers:
  - LeftHand
  char_joints:
  - left_elbow
  - left_hand
- bvh_depth_drivers:
  - RightHand
  char_joints:
  - right_elbow
  - right_hand
- bvh_depth_drivers:
  - LeftFoot
  char_joints:
  - left_knee
  - left_foot
- bvh_depth_drivers:
  - RightFoot
  char_joints:
  - right_knee
  - right_foot
char_bvh_root_offset:
  bvh_projection_bodypart_group_for_offset: Lower Limbs
  bvh_joints:
  - - RightFoot
    - RightLeg
    - RightUpLeg
  - - LeftFoot
    - LeftLeg
    - LeftUpLeg
  char_joints:
  - - left_foot
    - left_knee
    - left_hip
  - - right_foot
    - right_knee
    - right_hip
char_joint_bvh_joints_mapping:
  left_elbow: !!python/tuple
  - LeftArm
  - LeftForeArm
  left_foot: !!python/tuple
  - LeftLeg
  - LeftFoot
  left_hand: !!python/tuple
  - LeftForeArm
  - LeftHand
  left_knee: !!python/tuple
  - LeftUpLeg
  - LeftLeg
  torso: !!python/tuple
  - Hips
  - Spine2
  neck: !!python/tuple
  - Hips
  - Neck
  right_elbow: !!python/tuple
  - RightArm
  - RightForeArm
  right_foot: !!python/tuple
  - RightLeg
  - RightFoot
  right_hand: !!python/tuple
  - RightForeArm
  - RightHand
  right_knee: !!python/tuple
  - RightUpLeg
  - RightLeg
char_runtime_checks:
  - - above
    - neck
    - right_shoulder
    - left_shoulder

rokoko export preset:

edit Frames in bvh file  : n+1
change up in: +y or +z (if one of them not working)
edit end_frame_idx in motion config: n

Thanks, everyone, for bringing the complexity of this step to my attention. And thanks @justinduynguyen for sharing your workaround.
I'm adding code + config files I used to create the banner animation to the readme to help make this easier for you.


Use weights_only for load

torch.load without weights_only parameter is unsafe. Explicitly set weights_only to False only if you trust the data you load and full pickle functionality is needed, otherwise set weights_only=True.
If weights_only=True doesn't work for some cases, then explicit weights_only=False should be used.
Found with https://github.com/pytorch-labs/torchfix/

thanks @kit1980

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


SELF-312: Add Tile Components

JIRA

SELF-312

Description

Adds tile components

Screenshots

Reviewer Checklist
This section is to be filled out by reviewers
Testing

[ ] This code was tested by somebody other than the developer. Do not merge until this has been done.

they look nice! Will it be possible for them to have custom width and height? via v-bind="$attrs"? We've had this problem in the past when allowing for just MD or LG (too restrictive)

Thats interesting on the manual sizing with width/ height. They aren't able to define custom width/height currently because they should always be displayed like in the screenshots for consistency. I would argue that if a mock/ design wants a different size it should be for a specific reason and would justify either changing what happens with the size prop or justifies adding a new size


GitHub action

Description
groups created separately for mentors and admins.

Hi @anushbhatia . Kindly install the app to the project. yml file has been added by @rajatgoel47 .


Clarify support for X.X versions

The readme states:
This requires always using all components in tags (i.e. 2.0.0 instead of 2.0) to avoid counting up at the wrong level and inadvertedly releasing a higher version (i.e. 2.1.devX instead of 2.0.1.devX)

I believe this statement betrays a very strict restriction on version numbers, which in my opinion is too strict for a tool meant to be generally used. A great many packages use the semver deviant model of advertising only the X.X form prior to patch releases.
Perhaps setuptools_scm handles this latter model with the caveat that it will always only increment the last advertised number, as given in the example. If that's the case, that's probably an acceptable limitation.
If on the other hand, the situation is that using this feature is disallowed unless the version number has three components, I see that as an unacceptable constraint.
You may want to consider allowing the next version inference to be specified. Hgtools allowed this via its 'versioning' module.

Bitbucket: https://bitbucket.org/pypa/setuptools_scm/issue/18
Originally reported by: Jason R. Coombs
Originally created at: 2015-02-20T22:11:24.157

change wording for semver interaction, fixes #18
→ <>

Original comment by: Ronny Pfannschmidt


remove kustomize binary from the repo

I think this was in there by mistake so removing the same via this patch.
Purpose of PR?:
there was a binary present in the repo and this patch removes the same.
Does this PR introduce a breaking change?
If the changes in this PR are manually verified, list down the scenarios covered::
Additional information for reviewer? :
Mention if this PR is part of any design or a continuation of previous PRs
Checklist:

[ ] Bug fix. Fixes #
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update
[ ] PR Title follows the convention of  <type>(<scope>): <subject>
[ ] Commit has unit tests
[ ] Commit has integration tests

@kranurag7 let's rebase this with main

I have one more PR to merge, will rebase and merge


Any way to know which key failed in JSON deserialization?

Hi there!
I am really loving Mapper, it allows the decoupled structure I've wanted from a JSON parser, but haven't been able to find elsewhere.
I've setup a relatively complicated set of models, where 1 model is dependent on 4 or 5 other models, and those models have their own dependencies inside as well. A simple version of these models may look something like this:
Feed (Consists of):
-- Header
---- title
---- subtitle
---- date
-- Footer
---- Image
------ URL
---- title
---- subtitle
When parsing the main model (Feed), at some point, one of those parsings fails (either in Header, Footer, or Image), and I'm having a difficult time figuring out which one is the one ultimately causing the JSON parsing to throw.
I've read through the readme a few times, read through the issues, and gone through the source code but still haven't been able to figure out if there's an easy way, other than commenting out all the models that don't work, and adding them back in one by one, to figure out which model is causing the parser to throw?
If there's any other information that may be helpful, please let me know. Thanks a lot!

Thanks for the kind words! Glad you like it!
I'm trying to follow your models here, but I think the custom MapperError cases could help you out (sorry I haven't updated the readme for these). As of 2.1.0 and https://github.com/lyft/mapper/pull/48 you'll get one of these error cases (in most instances) when something fails. I'm just realizing now that that may not be as useful for nested objects as you would like, but in theory if the title property of Header throws because it doesn't exist in the JSON you should get that error populated up. In this case you would get a MissingFieldError where the field string was title.
The fact that the field is populated with that is probably only useful for debugging, but I'd be interested to hear what you'd want to use it for if you did want to take that into account at runtime.
Let me know if this makes sense / actually solves your problem!

I do only need it for debugging, didn't really have any thoughts on how to handle it during runtime. I think throwing is the right action.
I may not be understanding correctly, but where should I see the error bubbling up?
I'm doing something like this:
do {
let JSON = try NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.init(rawValue: 0))
if let JSON = JSON as? [ String : AnyObject ] {
let issue = Issue.from(JSON)
// Issue is nil, and failed to serialize correctly on one of my models, but don't know where
}
} catch (let error): {
// Be a good programmer and handle stuff here I guess
}
I also tried try Issue.from(JSON), but realized it's not a throwing initializer, so it wouldn't go into the catch.
Maybe I'm missing something simple?

Ah right. So the issue here is that the .from function is a part of a protocol extension that's just there for convenience so you can avoid the exception handling dance if you'd like.
In order to get the exception to bubble up here you'll need to use the init(map: Mapper) throws function that you defined in your models. Unfortunately we haven't come up with a better way to use this than calling it directly (details).
So if you change:
let issue = Issue.from(JSON)

to
let issue = try Issue(map: Mapper(JSON: JSON))

You should get your exceptions as you'd expect! If you can think of a nicer way to handle this flow please let us know. In our codebase we exclusively use .from so we haven't spent too much time thinking about this. As you can see in the linked PR I would be fine with a .fromThrowable type function, as long as we could find a nicer name (since we can't have 2 .from functions which only differ based on throwing).

Ah, that makes sense! Now I'm seeing my errors propagate, and it's much easier to debug. 😄
My gut says to say throwableFrom or throwingFrom, over fromThrowable. If that's not an option, how about failableFrom (to be technically correct) or tryFrom (to be explicit)? I can probably throw out at least a few more if none of those are worthy. 😉

After using the initializer directly, do you feel like a convenience function is necessary? I was more excited about adding one when I thought that meant we could make Mapper's initializer internal but unfortunately we'll still have to keep it public in case you want to call it from a different initializer (since you have to call another initializer). Like:
init(someOtherInitializer: Something) {
    self.init(map: Mapper(JSON: ¯\_(ツ)_/¯)
}

Necessary? No... But that's not the point of a convenience. 😄
MyStruct(map: Mapper(JSON: JSON)) feels a bit verbose, and a bit like an incantation. I would say that using from (or some variation of the name) feels semantically more in-line with the rest of the API.

Yea definitely. I'll think on these names and try to add something soon. In the meantime I'm glad we got this figured out!

How about some environment variable that logs errors?

I think in many cases that would become extremely noisy. Especially if you're using optionalFrom in a lot of places. I think for debugging you'd be much better off handling the cases you're worried about and digging into them.

I'm closing this one for now, feel free to reopen a new issue if we have more to do here!

Just ran in to this.
the fact that .from doesn't have a way to handle errors is pretty frustrating. It'd be really nice to have some kind of
#if(DEBUG) print("\n🔥 Mapper failed when trying to do: \(thingIwasTrying.Part#) because \(CustomErrorClass)") #endif
RxSwift does this for several types of errors and it's pretty awesome to get colorful/meaningful warnings when something went wrong.
Meanwhile @keith , your suggestion of a do/catch with
let issue = try Issue(map: Mapper(JSON: JSON))
throws a
Error: The operation couldn’t be completed. (Mapper.MapperError error 0.)
which still isn't particularly helpful. Is there a better way to get more information about where the error is occurring? The problem is in very large JSON objects it becomes a nightmare to debug, and I feel like there should be a better way than looking at diffs on git to find it. The data is clearly there, it's just a matter of getting at it.

When you catch the MapperError here, it should have some detailed information about why it failed. I can look in to making that description nicer though.
You can see the possible options here.


Save ahelps to database

Ahelps should be logged to the database. Right now, the only option for logging is the discord relay. This isn't ideal for many reasons including searchability. The issues can be mitigated by using admin logs, but I don't think that's an ideal solution.
Included data
List of everything that, ideally, would be stored:

For each message:

the message
the sender

their admin status (adminned, not adminned)
their controlled entity (Either an entity UID, or nothing if they're in the lobby)

the time it was sent

For each ahelp exchange:

Round number
Who is being ahelped

Additional optional information, which may be ideal to derive from other sources:

The status of the round during each message (lobby, round, post-round)
The online status of the person being ahelped at each message
The online status of each participant

Possible schema
This doesn't include the online status of each participant, and it may have issues, I haven't done anything with databases recently. This might also benefit from additional tables, maybe an entityID to prototype/name thing
Table ahelp_exchange {
  ahelp_id integer [unique]
  ahelp_round integer [pk]
  ahelp_target int4 [ref: > player.player_id]
}

Table ahelp_message {
  ahelp_id integer [pk, ref: > ahelp_exchange.ahelp_id]
  id integer [pk]
  sent_at timestamp
  round roun_status
  sender int4 [ref: > player.player_id]
  sender_entity integer
  is_adminned bool
  target_online bool
  message varchar
}

Table ahelp_participant {
  participant_id integer [pk, ref: > ahelp_exchange.ahelp_id]
  ahelp_id integer
  player_id int4 [ref: > player.player_id]
}

enum roun_status {
    lobby
    round
    postround
}

In progress


data types fix; remarks simplify; more links added;

the view types are different; links were move from remarks section to "see also" section; also "database" and "server" firewall rules objects links were added in order to have full picture of the functionalities available;

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: gotqn sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

@gotqn : Thanks for your contribution! The author, @VanMSFT, has been notified to review your proposed change.

Cc @CarlRabeler - This submission is similar to PR #1815. Thanks

Thanks for the suggested changes, @gotqn! It does look better.
Verified the changes. #sign-off


chore: deny stargateV2

Description

Issue (if applicable)
Received a heads up from the LiFi team that stargate V1 is being deprecated, and that we should add stargatev2 if we wish to continue blocking stargate.

Risk

High Risk PRs Require 2 approvals

Small

What protocols, transaction types, wallets or contract interactions might be affected by this PR?

LiFi trades
Testing
Ensure we do not see any quotes from Stargate via LiFi.
Engineering
☝
Operations

[ ] :checkered_flag: My feature is behind a flag and doesn't require operations testing (yet)

☝
Screenshots (if applicable)
N/A

Context for posterity:
https://discord.com/channels/@me/1080609986541002753/1288814415063552071

Hi Team,
We would like to inform you of a Deprecation Notice for Hyphen and Stargate V1
We noticed in your /routes request filtering the following:
"bridges": {
"deny": [  "stargate", "amarok", "arbitrum"  ]}
If you would like to exclude Stargate routes, please replace stargate with stargateV2 in your >bridges deny list.
Please note that the Hyphen bridge will be deprecated alongside Stargate V1 in the near >future. Thank you


storyblok-cli ascii art

The issue occurs while working with: (check one with "x")

[ ] app.storyblok.com (CMS - Interface)
[ ] api.storyblok.com (CMS - Content Delivery API)
[ ] mapi.storyblok.com (CMS - Management API)
[ ] capi.storyblok.com (Commerce - API)
[ ] Commerce - Interface
[x] Other:

Current behavior:
The current storyblok ASCII logo in the storyblok-cli feels wrong. It looks like this:
  ____  _                   _     _       _
 / ___|| |_ ___  _ __ _   _| |__ | | ___ | | __
 \___ \| __/ _ \| '__| | | | '_ \| |/ _ \| |/ /
  ___) | || (_) | |  | |_| | |_) | | (_) |   <
 |____/ \__\___/|_|   \__, |_.__/|_|\___/|_|\_\
                      |___/

Expected behavior:
It would feel better with a lower case "s" like in the actual logo:
        _                   _     _       _
  ____ | |_ ___  _ __ _   _| |__ | | ___ | | __
 / ___|| __/ _ \| '__| | | | '_ \| |/ _ \| |/ /
 \___ \| || (_) | |  | |_| | |_) | | (_) |   <
 |____/ \__\___/|_|   \__, |_.__/|_|\___/|_|\_\
                      |___/

Other information:
This is all I could think of while waiting for a sync job to complete 😉

Hello my friend, thanks for opening the issue.
As we currently have many demands not only from the cli but also from other sdks, we will not change this art at the moment, however if you want to contribute and open a PR with this update, we will be happy to merge it into our code.
I hope you understand and thank you again.
cc: @kristofferlindvall

I made a quick PR to correct this :)

Thanks for the contribution 🚀


Account registration + linking

Closes #339 #342 #777

Fantastic 👍 Just one question. Will this all work with postgresql?

Yes, the DbProfileService should work with any SQL database. Though, you may need to update the example given for the creation of the users table.

Hi @leleuj - is there any support for integrating pac4j with non-SQL databases such as LevelDB? Thanks so much!

Yes, we support MongoDB and CouchDB: http://www.pac4j.org/docs/authenticators.html and we could support a lot more...


THREE.BufferGeometry.computeBoundingSphere() Error in console

Hello. I'm using your library in my project, and i want to say thank you very much! This is the best particle system solution for WebGL right now. But i have one trouble:
THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values. BufferGeometry
And i dont know how to find the cause of error. Can you help me?

HI @magisters-org,
Sorry for the late reply! Do you have some context around this issue or a stack trace I could look at?


v2 Breaks Example

This example is broken https://codepen.io/WebReflection/pen/MZxYVm?editors=0010
Specifically this line:
this.render = render.bind(this, shadow(this), this.render);

It works if I change it to this:
this.render = render.bind(this, shadow(this), this.render.bind(this));

Thanks!

Thanks. I think there might be various examples breaking with V2. If you find others, please let me know in this issue, thanks a lot!


Body Slot to replace tbody

Hi. I've tried using  the v-slot:body but it doesn't work in the Vue3EasyDataTable. Reviewed the code for the datatable here https://github.com/HC200ok/vue3-easy-data-table/blob/main/src/components/DataTable.vue and found that there really was no slot for body. Am i using it wrong or the slot to replace the tbody doesn't exist right now?
This is the sample code i am trying to do.
      <Vue3EasyDataTable
        ref="dataTable"
        v-model="selected"
        :headers="activeHeaders"
        hide-footer
        :items="desserts"
        item-key="name"
        class="elevation-1"
      >

      <template v-slot:body="props">
               {{' index + 1' }}
               {{ 'user.id' }}
              asdnfajsbfds
      </template>

     </Vue3EasyDataTable>

@AlbertReyRuelan please update to the latest version 1.5.9. Then you can use body slot and binding prop of items on the current page
<template v-slot:body="itemsCurrentPage">
{{itemsCurrentPage}}
</template>

please notice that Multiple selecting feature will be unavailable when using body slot.


Support for multiple namespaces

Is to support multiple namespaces (aka, like a traditional ingress controller) in the roadmap?
Alternatively, how can I tunnel my NGINX ingress controller inside the warp, and keep configuring only nginx ingresses? Can I set up a wildcard hostname for the warp somehow?

The namespaces form a natural security boundary for multi-tenant clusters.  The warp authentication tokens allow the ability to create tunnels (i.e. use the cloudflare account) and are stored within namespaces. Because of the security concerns, it seems not unnatural to use multiple warp ingress controllers in multiple namespaces.
I don't think I understand the question about mixing nginx and warp controllers.  Maybe that can go into a different issue.

Namespaces are not always used as a security boundary between multiple tenants. They are often (such as in my case) used as a logical separation between different applications. It would be nice to be able to have a single warp controller that serves multiple namespaces. I think the option to restrict the controller to specific namespaces should be left to the user.

I agree, the user should be in charge of how to use the cluster and how to set the security boundaries.

implemented and resolved with https://github.com/cloudflare/cloudflare-ingress-controller/pull/19


Use python 3 by default if it is set as default version of python.

There is NO WARRANTY, to the extent permitted by law.

Your system (Debian 7, ArchLinux, Windows, etc.):
Ubuntu 16.04.3 LTS

How to reproduce the bug:
Open in any terminal window

Anything else you think is relevant:
~$ python --version
Python 3.6.3 :: Anaconda, Inc.

~$ pip --version
 pip 9.0.1 from /home/devserve/anaconda3/lib/python3.6/site-packages (python 3.6)

On linux you need to install it with pip from python 3 and it will use python 3.
Otherwise it can't use python 3.

brew upgrade thefuck


Setting this to variable is not working on PHP 7/7.1

For example this code:
https://github.com/phalcon/cphalcon/pull/12762/files
Seg faults on config = this;
https://travis-ci.org/phalcon/cphalcon/jobs/216322198#L1131
I will provide some test for it tomorrow maybe.
@sjinks

@Jurigag https://github.com/phalcon/cphalcon/blob/master/phalcon/config.zep#L238

Looks like the issue is somewhere else:
        public function testIssue1442()
        {
                var instance;
                let instance = this;
                return instance;
        }

This works and does not crash.
I will be very grateful for the simple test case :-)

Yea sure, will try to reproduce it.

Well on the code from this PR i have warning:
PHP Warning:  Invalid arguments supplied for explode()
When _delimited is changed to non-static then works fine, but don't have seg fault, hmmmm.

class Test
{
	protected static _delimiter = ".";

	public function testDelimiter(var delimiter = null)
	{
		if empty delimiter {
			let delimiter = self::_delimiter;
		}

		return delimiter;
	}
}

$test = new Test3\Test();
var_dump($test->testDelimiter());

Output is:
*uninitialized*

Well i created seperated issue - https://github.com/phalcon/zephir/issues/1446 cuz it doesn't looks like related to this, maybe it's somehow causing this issue, idk.

#1446 has been fixed. Could you please check if your explode issue is gone?

Well code in this PR is changed but yea, will check it in free time.


Added group log

This is dependent on https://github.com/ipfs/go-ipfs/issues/2305 being merged, in case subsystem is not an enumerated type list, and in case all of the possible types are not mentioned.

Waiting on #2362.

I think this is done now.

LGTM


problem fixed

closing #67

Sorry it took me this long to answer. Actually this sounds similar to https://github.com/dumblob/mysql2sqlite/issues/66 - would the solution in https://github.com/dumblob/mysql2sqlite/issues/66#issuecomment-573446979 help? Could you please test it?

hey, the solution in #66 not solves the problem.

Ok, I looked at the mysql doc and you're totally right. I think your patch looks good for this purpose (it shouldn't break other functionality). Could you provide a test case and write it to unit_tests.sh? Then I'll merge this :wink:. Thanks.

i added a test case.😉

Thanks!


Error when running on my Mac Silicon

I'm getting the following error when i try to run it on My Mac Air M2
did a pip install as per readme and ran the following:
python3 -m f5_tts_mlx.generate --text "Hello world"
Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in _run_code
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/f5_tts_mlx/generate.py", line 14, in
from vocos_mlx import Vocos
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/vocos_mlx/init.py", line 2, in
from vocos_mlx.model import Vocos
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/vocos_mlx/model.py", line 15, in
from vocos_mlx.encodec import EncodecModel
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/vocos_mlx/encodec.py", line 57, in
_lstm_kernel = mx.fast.metal_kernel(
^^^^^^^^^^^^^^^^^^^^^
TypeError: init(): incompatible function arguments. The following argument types are supported:
1. init(self, name: str, source: str, ensure_row_contiguous: bool = True, atomic_outputs: bool = False) -> None
Invoked with types: mlx.core.fast.metal_kernel, kwargs = { name: str, input_names: list, output_names: list, header: str, source: str }

Try pip install -U mlx


compile.run not propagating thrown errors

Bug report

What is the current behavior?
When using the node api, throwing an error within the compiler.run function does not propagate the error to the calling process:
// scripts/build.js
let compiler = webpack(compilerConfig);

compiler.run(function(err, stats) {
  if (err) {
    throw new Error(err);

  } else if (stats.hasErrors()) {
    throw new Error(stats.toString({ colors: true })); // Error not propagated
  }
});

// index.js
const result = spawnSync(
  'node',
  [require.resolve('./scripts/build.js')].concat(args),
  { stdio: 'inherit' }
);

process.exit(result.status); // result.status is always 0
break;

The only way I can produce a non-zero exit status is if I manually call process.exit(1) within the build.js code.
If the current behavior is a bug, please provide the steps to reproduce.
Just throw an error in the compiler.run function

What is the expected behavior?
The error should be propagated, and the exit status of the script should not be 0.

Other relevant information:
webpack version: 4.26.0
Node.js version: 11.6.0
Operating System: Mac OSX
Additional tools: n/a

Still an issue I believe

@aryzing hi, can you create minimum reproducible test repo?

The problem for me was related to this https://github.com/sass/node-sass/issues/2666, and the simplest solution for me was to do this instead process.kill(process.pid, 'SIGINT');


Request

I enjoyed your article and tried to configure your component. Can you look at my code and tell me what I have wrong? The error message says type check failed for "columns". Expected array, got String.
Thanks for your effort, I like your writing style, especially the adding of references.
<template>

            <griddy columns="columns"
                    resourceURL="resourceURL"
                    width="200"
                    height="500">
            </griddy>

</template>

Parameters must be passed using v-bind or or short cut ":" prefix, like below
            :resourceURL = "resourceURL"
            width="200"
            height="500">
</griddy>

also columns and resource should be part of the data not props.

I have prepared a working example, please clone the repository
https://github.com/harin76/griddy-example for the same.
If you still face problem, send your code across to me and I will have a look.

Thank you very much!!!


Marker icon not changing

Describe the bug
I am trying to add a marker with a custom icon from the assets folder, I tried to set the url with: "assets/images/icons/location-pin.png", "../../assets/images/icons/location-pin.png", and "public/assets/images/icons/location-pin.png" with no luck.
To Reproduce
Steps to reproduce the behavior:
CapacitorGoogleMaps.addMarker({
          mapId: result.googleMap.mapId,
          position: {
            latitude: this.nearestReader.latitude,
            longitude: this.nearestReader.longitude
          },
          preferences: {
            icon: {
              size: { width: 24, height: 33 },
              url: 'assets/images/icons/location-pin.png',
            },
            snippet: this.nearestReader.readerDescription
          }
        });

Expected behavior
The marker icon should change to the custom icon instead of the default marker.
Additional context
Error from Xcode debugger console:
Task <60ED9F6B-1DAF-4912-813E-2C658DF00898>.<1> finished with error [-1002] Error Domain=NSURLErrorDomain Code=-1002 "unsupported URL" UserInfo={NSLocalizedDescription=unsupported URL, NSErrorFailingURLStringKey=assets/images/icons/location-pin.png, NSErrorFailingURLKey=assets/images/icons/location-pin.png, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalDataTask <60ED9F6B-1DAF-4912-813E-2C658DF00898>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <60ED9F6B-1DAF-4912-813E-2C658DF00898>.<1>, NSUnderlyingError=0x6000029c36c0 {Error Domain=kCFErrorDomainCFNetwork Code=-1002 "(null)"}}

I believe this will solve your problem:

what do you mean actual URL? if I want to use a local assets, the app is runing on capcitor://localhost
and i use capacitor://localhost/assets/image.png/
i get the same error
@tafelnl


A problem with PM-41 NTSC-J boards 1-679-335-61

I recently got a bunch of Japanese PS Ones (PM-41) sold in one lot as unchecked and while I was testing and fixing them, I also tried to mod them with PsNee. Most of them worked fine, but two boards with "1-679-335-61" printed on top of them just didn't want to boot CD-Rs no matter what I did. It starts spinning the disc, but not speeding it up for actual checking. And after some time it either shows the standard "Please Insert Playstation Format disc" screen, or switch to CD Audio player if the game on CD-R contains audio tracks. No injecting happens during this time either. As if I inserted the wrong disc.
Still, licensed discs worked fine and PsNee debug output showed that it does injecting. I also messed around a bit with injection making licensed discs not loading too as a test, so I determined that PsNee indeed does injection and PS One takes it. I also tried to change the CD drive to the one that worked fine in the other modded PS One and it didn't help too. These "1-679-335-61" boards looks almost exactly the same as "1-679-335-51" ones that worked fine, all the soldering points for the mod are at the same locations.
I'm using ATTiny45 with the latest "master" version of the firmware and soldering instructions. I tried to play around with injection and timing, but it didn't help at all.
Here is debug log from the CD-R (Guilty Gear) loading which ultimately led to CD-Audio player: https://pastebin.com/eb0sip99
And here's the log from the regular game disc (Tekken 3) which boots like it should: https://pastebin.com/NcADhLkx
I'm pretty much stuck at this point, don't know what to do next.
Maybe I should try AttyNee? Does it work with ATTiny45?
Thanks in advance for any help.

Is the Guilty Gear log cut short?
It looks like garbage data at first, then some valid subcodes, then it ends.
The initial garbage is fine, as long as it then starts to read valid subcodes.

Thank you for the fast answer!
No, this is a full log of Guilty Gear loading, PS One actually stops the disc spinning after that. And if you go to the CD Player - it shows two tracks, the second being audio one, obviously. This Guilty Gear disc works just fine on the *-41 and *-51 boards revisions. And I tried to swap the CD drive from those, it didn't help. It's like if PS One also does some other checks before it starts treating the disk like a game disk at all.
And - no, this is not a PM-41 (2) board, the layout is the same as the regular PM-41.
Here's the picture of the board: https://photos.app.goo.gl/PLAXBrBjAA5mwDpi6

Ah yeah, okay.
The CD controller redesign happened with -71, so the WFCK test point is for the regular PM-41 indeed.
So I suppose your -61 expects unlock symbols earlier than all the other boards.
You can test that by reducing the threshold here:
https://github.com/kalymos/PsNee/blob/master/PsNee.ino#L383
Remember to also lower the ceiling accordingly here:
https://github.com/kalymos/PsNee/blob/master/PsNee.ino#L386
(Example: threshold 7, ceiling 5)

I went all the way to the 0 for the ceiling and it didn't help, even Tekken 3 started to hang on the startup.
Thing is that it's not even trying to spin the disc faster like it should. And whaty I also noticed is that it's not spinning the CD-R discs specifically, any of them (I have about 5 different CD-R disc types). Because when I tried to put just a random factory written CD disc with Windows game - it started to spin it.
And, again, it's not because of the CD drive itself, I specifically tried the drive from the PS One with -41 board which was modded with the same PsNee and ATTiny45 and worked fine - it also doesn't even try to spin up the CD-R disc. But it still detects it as an Audio CD. Like, it slowly spins it and then goes to CD Player in the BIOS. And all the audio tracks reads fine, so it's not just reading problem either.
I don't really know the details, but it looks like it it fails to detect CD-R disc correctly even before modchip have to inject anything.

Ah, okay. So yeah, this is a hardware problem.
I've seen this on an older model PSX once or twice: The CD controller never goes into 2x mode.
But these machines would also not run official games. They were simply broken.
If your console still runs an official disk, then I assume the CD subsystem is not working up to spec.
This could be caused by bad capacitors, resistors, even the modchip (if it's soldered on wrong, or not working correctly).

Yeah, I thought so when I had this with the first -61 board I had. But I just passed the modchip I made with PsNee to the PS One with the -51 board - and it worked right away. And then I had another -61 - and it failed in exactly the same manner. And I also passed the chip to the other board (-11 this time) - and it also worked fine. I never had any problems with the other boards. I soldered them all in pretty much the same way, like this (this one works fine): https://photos.app.goo.gl/GmzEfzRoS7c9zdkG8
I'm not a pro, so of course it could be my shoddy soldering, I won't deny that.
Both of these -61 systems runs official discs, both fails in the very same manner with the modchip. So I could assume they both have some common hardware problem, sure, but I don't have any clue where to look. I think I should also note that they have different CD driver, first one have BA5947FP and the other one have AN8732SB.
Still, you're right, this problem is probably is not related to PsNee whatsoever since it looks like it never comes to PsNee to do anything.
One last question though, if I may - what else could I try to check? Like, try some other version of PsNee and the soldering?
Thank you for your time anyway.

Soldering and modchip seem to be fine. I think the CD-R is not being read reliably.
Reasoning: The subcode logs from PsNee look fine, except that it never proceeds to inject.
So I assume that the drive times out and resets reading, then gives up.

Yeah, but good question is - why? I mean, I tried the CD drive from the PS One where modchip worked without any problems at all. Three of them, in fact. For me it pretty much excludes any possibilities of problems with CD drive itself.
I think that PROBABLY -61 has some BIOS alterations that does some initial disc checking or something. Because it still tries to spin up a regular factory made Windows CD disc with the game (and freeze there, just staying on double spinning speed). This is what makes it really strange, because unmodded PS One doesn't try to spin up the same disc, just showing the standard "Please Insert Playstation Format disc" screen. So it looks like PsNee does its job kicking PS One to detect the regular disc as a game disc, but not for CD-R discs... Which kinda don't make too much sense to me.
I tried all the CD-R types I had, even tried to write on 4x speed with some old IDE CD-RW drive I have - it still doesn't work...
I modded 10 PS Ones so far, one of them being older SCPH-9000 (which I used as a first "victim") - and only those two -61 boards just don't work, all the other works pretty much fine. So I guess we can safely assume that -61 boards probably need some additional research to do in order make PsNee work. I can try to help with that if you're interested and will tell me what to do.

Well, as I said, you can pretty much exclude problems with the modchip itself.
The issue is directly with CD-R and that board revision, and the striking difference between CD-R and pressed disks is their lower pit/land reflectivity.

I realize this is some months back but did you ever figure it out?  I had a similar issue with a NTSC PM-41 board with 1-679-335-61 on it.  Someone on Discord helped me set the fuses correctly and it resolved my issue.  Working fine on my 1-679-335-61 board now.

I realize this is some months back but did you ever figure it out? I had a similar issue with a NTSC PM-41 board with 1-679-335-61 on it. Someone on Discord helped me set the fuses correctly and it resolved my issue. Working fine on my 1-679-335-61 board now.

Oh, really? No, I didn't resolve it. Could you please tell me what you did to make it work?

Keep in mind that I had a SCEA board and this may or may not work for you.  In my case I used an ATTINY85 chip and it wouldn't work at all.  Someone on Discord walked me through setting up the correct "fuses" on the chip and now it works...  I took some notes https://ghostbin.co/paste/4uam3

Thank you! So, wiring is the same, only fuses should be different?

Yes, Wiring is identical to any other PM-41 board.

So, I checked. Sadly, it didn't help. I also noticed that your wiring is slightly different - checked that too. No luck.
It looks like it's some kind of strange SCEI-specific case of -61 boards... I also tried to program it with universal programmer, playing with fuses - no luck either. I guess that I can also try some actual Arduino board instead of ATTiny45, but I doubt it'll change anything...

My wiring is only slight different because I used different points for ground and vcc.   There are more than one solder point for the other wires as well.  I used this pinout/guide https://quade.co/ps1-modchip-guide/psnee/pm-41/
Too bad it's still not working.  check your solder points with a multimeter in continuity mode.

 This one: https://github.com/kalymos/PsNee/blob/master/PsNee modchip installation guide.pdf
And I altered it for SQCK soldering point. Makes no difference really, but why not.
Anyway, I re-soldered it so many times and on two different boards, I doubt it was a problem with bad soldering - at least once I had to get it right. Also, I successfully modded more than 10 other PS Ones with not -61 boars, including even two -71s (PM-41(2)).
I also tried different ATTiny chips (tried ATTiny13a with different firmware) and other soldering diagrams. Everything failed to work. I can only conclude that it probably have something to do with different BIOS since Japanese PM-41s has region lock that requires disc image patching.

I made a new chip not long ago, https://github.com/L10N37/tehUberChip_Another_PSX_Modchip
No jap console BIOS patching though, although someone released 'psnee V8' about the same time with JAP BIOS patching support.

Hello, I'm on a PM-41 (2), SCPH-101, NTSC model. Having same issue here and I've tried resoldering

I don't know exactly what your problem is, but with my PU41, I had to set
the timer on line 153
Le lun. 19 juin 2023 à 21:37, Joshua Peisach @.***> a
écrit :

Hello, I'm on a PM-41 (2), SCPH-101, NTSC model. Having same issue here
and I've tried resoldering
—
Reply to this email directly, view it on GitHub
https://github.com/kalymos/PsNee/issues/19#issuecomment-1597670772, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABDOKBE6F543MOLDGQ4IF6TXMCTAFANCNFSM4KV53M3Q
.
You are receiving this because you modified the open/close state.Message
ID: @.***>


How do I format connection string charset?

I would like to use a connection string instead of the connection object for connecting to a database and be able to specify the charset.
Example:
connection: 'mysql://root:secret@<IP_ADDRESS>:3306/test-db'
NOT
connection: {
            host     : '<IP_ADDRESS>',
            user     : 'root',
            password : 'secret',
            database : 'test-db',
            charset  : 'utf8'
        }

I have the connection string working, but I am not sure how to specify the charset.

You should be able to pass params as a querystring. From the node-mysql docs:

In addition to passing these options as an object, you can also use a url string. For example:

var connection = mysql.createConnection('mysql://user:pass@host/db?debug=true&charset=BIG5_CHINESE_CI&timezone=-0700');

Looks like a dupe of #1528


chore: cleanup sell routes

The type of this PR is: Chore

This PR solves ONYX-947
Description
Followup on the comment

Warnings

:warning:

Routes added to routes.tsx should have a corresponding cypress.js smoke test. See the cypress/e2e folder for examples.

  Generated by :no_entry_sign: dangerJS against d2ffe48d3bf719ab55c542d05f3548a333411d36

@MounirDhahri hi! I'll go ahead and merge this one


chore(deps): update webpack

This PR contains the following updates:

Package
Type
Update
Change

webpack
devDependencies
minor
4.39.3 -> 4.41.2

webpack-bundle-analyzer
devDependencies
minor
3.4.1 -> 3.6.0

webpack-cli
devDependencies
patch
3.3.7 -> 3.3.10

webpack-dev-server
devDependencies
minor
3.8.0 -> 3.9.0

Release Notes

webpack/webpack
v4.41.2
Compare Source
Bugfixes

fix issue with invalide timezone

v4.41.1
Compare Source
Bugfixes

fix incorrect request shortening when directory looks similar to parent directory
fix crash when timezone is unknown

v4.41.0
Compare Source
Developer Experience

disallow cache group named test with shorthand syntax to point out a potential config error

Performance

Improve performance of LimitChunkCountPlugin

v4.40.3
Compare Source
Bugfixes

fix a bug that the HMR plugin affected child compilations

Performance

improve performance of splitChunks name option by caching hashed value
improve rebuild performance by caching module size computation

v4.40.2
Compare Source
Bugfixes

fix a bug where asset is undefined

v4.40.1
Compare Source
Bugfixes

convert "multiple assets emit to the same filename" error into a warning
compare asset content when multiple assets emit to the same filename

v4.40.0
Compare Source
Features

adds asset info for emitted assets

new methods allow easy emitting/updating of assets compilation.emitAsset/updateAsset (instead of accessing the Object compilation.assets)
new getter methods to get assets compilation.getAssets() and compilation.getAsset(name)
3 flags in asset info:

immutable: when set an asset can be cache infinitely
development: when set an asset is some kind of development tool (i. e. a SourceMap)
hotModuleReplacement: when set an asset is generated for an hot update

Stats expose info object in assets
String version of Stats show flags

webpack-contrib/webpack-bundle-analyzer
v3.6.0
Compare Source

Improvement

Support webpack builds where output.globalObject is set to 'self' (#323 by @lemonmade)
Improve readability of tooltips (#320 by @lorenzos)

v3.5.2
Compare Source

Bug Fix

Fix sidebar not showing visibility status of chunks hidden via popup menu (issue #316 by @gaokun, fixed in #317 by @bregenspan)

v3.5.1
Compare Source

Bug Fix

Fix regression in support of webpack dev server and webpack --watch (issue #312, fixed in #313 by @gaokun)

v3.5.0
Compare Source

Improvements

Improved report title and added favicon (#310, @gaokun)

webpack/webpack-cli
v3.3.10
Compare Source
Version 3.3.10 comes with a new flag no-cache, version patches to security and removal of out-of-sync mono-repo tests. The change is considered a patch, since no functionality is changed.
Full changelog found here
v3.3.9
Compare Source
This patch contains a fix for a hanging exit condition. A full changelog found here
v3.3.8
Compare Source
Webpack-CLI v3.3.8 comes with a validation bugfix to support webpack 5 and version 4. A full changelog is found here

webpack/webpack-dev-server
v3.9.0
Compare Source
Bug Fixes

add hostname and port to bonjour name to prevent name collisions (#2276) (d8af2d9)
add extKeyUsage to self-signed cert (#2274) (a4dbc3b)

Features

add multiple openPage support (#2266) (c9e9178)

3.8.2 (2019-10-02)
Security

update selfsigned package

3.8.1 (2019-09-16)
Bug Fixes

add null check for connection.headers (#2200) (7964997)
false positive for an absolute path in the ContentBase option on windows (#2202) (68ecf78)
add status in quiet log level (#2235) (7e2224e)
scriptHost in client (#2246) (00903f6)

v3.8.2
Compare Source
Bug Fixes

add hostname and port to bonjour name to prevent name collisions (#2276) (d8af2d9)
add extKeyUsage to self-signed cert (#2274) (a4dbc3b)

Features

add multiple openPage support (#2266) (c9e9178)

3.8.2 (2019-10-02)
Security

update selfsigned package

3.8.1 (2019-09-16)
Bug Fixes

add null check for connection.headers (#2200) (7964997)
false positive for an absolute path in the ContentBase option on windows (#2202) (68ecf78)
add status in quiet log level (#2235) (7e2224e)
scriptHost in client (#2246) (00903f6)

v3.8.1
Compare Source

Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Enabled.
:recycle: Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".
:ghost: Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

Available now for Enterprise: Renovate Pro with real-time webhook handling and priority job queue.

:tada: This PR is included in version 2.152.11 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Handle expires_on in int format

Unmarshal the value into an interface{} and perform the proper
conversion depending on the underlying type.
Thank you for your contribution to Go-AutoRest! We will triage and review it as soon as we can.
As part of submitting, please make sure you can make the following assertions:

[ ] I've tested my changes, adding unit tests if applicable.
[ ] I've added Apache 2.0 Headers to the top of any new source files.

Fixes https://github.com/Azure/go-autorest/issues/696

Looking at the related issue, it looks to me that expires_on, at least in that example, isn't the number of seconds from now but probably from the Unix epoch.  I need to take a closer look.

Everywhere except App Service, expires_on is epoch seconds, either as a number or a string.

And App Service is as a time-stamp correct?

OK I did a little digging.  Token.Expires() already treats ExpiresOn as Unix time.  It does mean though that our handling of expires_on in date-time format is incorrect at present.


Remade sheet for Mutant Year Zero from scratch

Last sheet was pretty damn broken mostly due to improper attribute names, it was also rather sloppily made. Made a new sheet entirely, spoke with Steve K. about it, he had a look at it and told me it was cool.

After reviewing how much is going to change with attribute names, I want to try this in a different way. I want to set this up as it's own sheet, in it's own folder. And we're going to phase out the old sheet for this one, but not overwrite it. That means for existing games, they'll still have access to the old sheet, but moving forward this will be the option. I'm going to close this request, go ahead and re-submit it in a new folder with whatever naming conventions or changes you want.

Alright, let me just remove the code for the old sheet, pull request should be up in 10-ish minutes.


colloc_adapt Argument Not Passed to train_PIKAN Function

It appears that the colloc_adapt dictionary, which is used for adaptive collocation point resampling, is referenced within the train_PIKAN function, but it has not been explicitly included as an argument in the function definition.
Because of that getting the following error as shown in the image attached.

Nice catch @vsingh10 ! It has been fixed in the new release :)


Add possibility to silence printf output in Python

I used an ugly hack to temporarily redirect stdout to /dev/null when calling library functions

This will solve #2

Why not have a global variable that by default is set to stdout and then fprintf to that. Imho would be less hacky and less noisy.
Would also open up the option to switch to stderr for output.

The reason is that I wanted to "localize" the silencing to only the places where we call the library. This may be too paranoid, but effectively, we could do that by wrapping up our whole call. I just thought it might be better to silence the single library calls that print.
The library is hacky anyway. Let's keep it like that.


MNT: Drop Python 3.6, test setuptools builds, pip installations

As noted in other discussions, setuptools is aiming to be an installation backend, not an installer, and has no plans to implement various installation PEPs, such as respecting the PythonRequires metadata exposed by PyPI.
Therefore I think the recommended installation method needs to be pip. Since we distribute sdists and wheels, we should continue to test those, and those are built with setuptools and wheel, but we do not need to test against old versions.
We may want to test against old versions of pip again, but I think after a year or two of using pyproject.toml, we're pretty comfortable that pip can fetch installation dependencies as needed for this project and its dependencies.

Since Numpy is dropping Python 3.6, should we follow suit and make our lives easier?
(BTW, the failed test is unrelated to these changes, obviously - I'm getting a similar error on sdcflows proper)

Yup, I'm okay with us following numpy's lead in NEP29.
For reference NiBabel and Nipype are on NEP29 + 1 year, and PyBIDS is just going with Python EOL at this point. But as mostly user-facing tools with containerized installations, there's no strong need for nipreps to outlast numpy.

The failing test is because scikit-image. Docker build log:
ERROR: scikit-image 0.18.0 has requirement numpy>=1.16.5, but you'll have numpy 1.15.4 which is incompatible.

Testing an update on nipreps/sdcflows#158

Yeah, let's update the numpy/scipy/scikit-learn dependencies.
Should I use the versions you're using over there?

Should I use the versions you're using over there?

I think so. I'm trying to find the least annoying way of installing scikit-image. It seems that pip will be the fastest option (conda-forge also attempts to change many package's versions/builds).
I have also bumped setuptools and pip inside the Dockerimage - we probably want to unpin setuptools and use the latest at the time is cleaned up.

I'm also thinking that we could be more flexible with pinning and do not force patch releases. That should make the installation less breakable (assuming packages do not break dependency tables on patch release changes, which seems fairly safe to assume).
Then, when releasing, we could clean up the conda layer to force a fresh installation (or have a cron job do this).

Okay, done on SDCFlows. Have the dependency be resolved by pip was the best option. Pinned:
numpy-1.19
scikit-learn-0.19
scipy-1.5
(https://github.com/nipreps/sdcflows/blob/7c81f25e90c79453570c27e9d00cac96f59d4f72/Dockerfile#L83-L102)

Do you want to include that in this PR?


Update Vue Apollo dependency

Hey @Diizzayy, can you please update the Vue Apollo dependency to v4.0.0-beta.8? There were a lot of fixes that are needed in some of my projects and it would be great if we don't need to overwrite the package deps.
https://github.com/nuxt-modules/apollo/blob/c93fbf0b0af2b0fcfe241d67669ad72c70d7251d/package.json#L31

done, see https://github.com/nuxt-modules/apollo/commit/fee15182071d7eec77cf0930750fe6801e33e4e9


Update to 'substitution' parameter name in the JSON

The name in the current version of the rd file is 'sub' when  it should be 'substitutions' according to the JSON body parameters in https://sendgrid.com/docs/API_Reference/Web_API_v3/Mail/index.html

Hello @atomic-avocado,Thank you for the PR! We will be reviewing this PR soon, in the mean                                              time, if you have not, please be sure to                                                                                sign our CLA so that we can merge your changes. Thanks again!                                             Team DX

@atomic-avocado I think we know what happened here.
In v2 of the mail functionality, mail.send.json, we accepted a header called X-SMTPAPI which had a parameter 'sub' which was an array of substitution values.
In v3/mail/send, we obfuscated this header away and made it part of the core functionality in the API call, changing it to "substitutions" because even though that name is slightly more verbose, it is more descriptive and less confusing.
Sorry that our attempt to reduce confusion did the opposite for you!


Ability to disable ansi decoration part

I use Visual Studio Code to create and debug my application, and it doesn't support ansi color decoration.
When i write console.log(\x1b[36;1m%s\x1b[0m, 'working')
It prints this:

But without decoration console.log(\x1b[36m%s\x1b[0m, 'working')

Same goes if i use this debug extension, to print out, it shows sameway those ansi codes, with decoration.

So it would be good, to be able to disable use of ansi decorations and use only colors.

you can do:
$ DEBUG_COLORS=0 DEBUG=something node whatever.js

see https://github.com/visionmedia/debug/blob/2.2.0/node.js#L45-L53

Yes i know but it's not so readable anymore

I added pull request https://github.com/visionmedia/debug/pull/285, to be able to disable ansi decoration.
Just add DEBUG_DISABLE_COLORDECOR=1 environment variable!

Closing this for now


VS code working slowly, lagging.

prof-3sLCMppC.main.cpuprofile.txt
prof-3sLCMppC.renderer.cpuprofile.txt
prof-3sLCMppC.extHost.cpuprofile.txt
Lately my visual studio code is lagging so much. I have noticed that I can submit an issue.
I am working on jupyter notebook. (.ipynb files)

Same here. A few days ago I restarted VS and it started to be super slow. Also, it seems that switching branches works differently now, I would almost say it reinitializes the new node_modules or something like that. I am sometimes not able to use some git commands and now have to wait up to 10 sec for this switch. When I rebase a more complex commit, I have to  reload the window, to get the changes, since they don't pop up in UI in a couple of minutes

Thanks for the report. From the logs shared I'm not seeing a particular task consuming more CPU than others siganificantly but it seems most operations take long to finish.
@MNGLMazaalai can you help  confirm if you are seeing similar slow down in other components, like a text file, or the integrated terminal?

@vaclav-stummer the symptons you were seeing might be a different issue, I'll create a new issue.

Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our issue reporting guidelines. Please take the time to review these and update the issue.
Happy Coding!

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Network Alias in TNS tab for oracle connections is not populated

Description
The Network Alias combo box in the TNS tab of a Oracle Connection Setting does not load tnsnames.ora if TNS_ADMIN is only set in registry(ie. HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\KEY_<ORACLE_HOME_NAME> or under HKEY_CURRENT_USER\SOFTWARE\Oracle\KEY_<ORACLE_HOME_NAME>).
Setting TNS_ADMIN in Environment Variables to the same folder works fine, and the Network Alias is populated.
No errors found in the dbeaver logs.
DBeaver Version
Dbeaver Community Edition 23.2.0
Operating System
Windows 11
Database and driver
Database name: Oracle
Oracle client: 19c
Driver name: ojdbc8-<IP_ADDRESS>.jar
Steps to reproduce

I make sure TNS_ADMIN is set under HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\KEY_<%ORACLE_HOME_NAME%> and pointing to an existing folder with a valid tnsnames.ora
I make sure TNS_ADMIN is not set in environment variables(neither for the user or system).
No tnsnames.ora is present in <%ORACLE_HOME%>\network\admin
Start Dbeaver, and create a new Oracle connection.
Click TNS tab and observe that Network Alias is not set

Additional context
Happens on Windows 11 and Windows Server 2016

I do not reproduce the issue in CE 23.2 in Windows 10.
The Network Alias field is populated just after specifying the path to the tnsnames.ora file when TNS_ADMIN is only set in registry.

Please check my settings.

Extracting the Basic Package:

Adding only  PATH = C:\Oracle\instantclient_21_11;%PATH% variable to Environment Variables:

Creating a tnsnames.ora file:

Creating an ORACLE registry key, a KEY_instantclient_21_11 sub-key, and the following string values:

After that, we can specify the path to the  tnsnames.ora in the Connection Configuration wizard, and the Network Alias will be set.

Hi,
Sorry for the slow reply.
Yes, if I specify the path manually the list is populated as well. However, I thought the "TNS names Path" field was to override or specify manually? If I set the environment variable "TNS_ADMIN" in windows, then the list is populated automatically without setting the path in "TNS names path".
I would have expected Dbeaver to search for the tnsnames.ora as specified in 3.1 here:

Note:On Microsoft Windows, the TNS_ADMIN environment variable is used if it is set in the environment of the process. If the TNS_ADMIN environment variable is not defined in the environment, or the process is a service which does not have an environment, then Microsoft Windows scans the registry for a TNS_ADMIN parameter.

Ok, maybe we can read info from global variables for Oracle.
But we will wait for votes for this ticket (any reaction for the main topic).


Brand new project, and the build fails - MSB4057: The target "Build" does not exist in the project.

Trying Ionide for the first time. Running Code on Windows 10 with all 3 Ionide extensions, latest versions. F# was installed on the machine as part of Visual Studio 2017, has latest nightly build. I used F#:New Project command, ran Fake: Default Build command, fails with MSB4057: c:...\foo.fsproj(0,0): The target "Build" does not exist in the project.
The project builds fine if I run build.cmd from Developer Command Line. From the command line FAKE calls MSBuild at  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Cloud\MSBuild\15.0\bin\MSBuild.exe.
When trying to build in Ionide FAKE calls MSBuild at c:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe. I don't understand why that is different.
This appears to be same or similar to issue #439, https://github.com/ionide/ionide-vscode-fsharp/issues/439
As in #439, I tried overriding settings.json, but it didn't do anything.
{
"FSharp.msbuildLocation": "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Cloud\MSBuild\15.0\bin\MSBuild.exe",
"FSharp.toolsDirPath": "C:\Program Files (x86)\Microsoft SDKs\F#\4.1\Framework\v4.0"
}
Is there some workaround I don't know about, or is it a bug?

Found answer in MSBuildHelper.fs : 51. It looks for an environment variable (on Windows) named MSBUILD containing path to the file or folder. In this case I created the environment variable and set it to  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Cloud\MSBuild\15.0\bin\ Now FAKE builds correctly in Code (Ctrl+F5).
I don't see this documented outside the source code. But you may close this issue.

This seems like its still an issue. Why did you close it?


feat(parser): adds support for S3 event notifications through EventBridge

Issue number: #1656
Summary
Changes
adds support for S3 event notifications through EventBridge
User experience
from aws_lambda_powertools.utilities.parser import parse, envelopes
from aws_lambda_powertools.utilities.parser.models import S3EventNotificationEventBridgeDetailModel

from aws_lambda_powertools.utilities.data_classes import S3EventBridgeEvent

def lambda_handler(event: dict, context):
    dataclass_event = S3EventBridgeEvent(event)
    parsed_event: S3EventNotificationEventBridgeDetailModel = parse(
        model=S3EventNotificationEventBridgeDetailModel,
        envelope=envelopes.EventBridgeEnvelope,
        event=event
    )

    print(f"From dataclass: {dataclass_event.account}")
    print(f"From dataclass: {dataclass_event.detail.object.etag}")
    print(f"From dataclass: {dataclass_event.detail.bucket.name}")

    print(f"From pydantic model: {parsed_event.object.etag}")
    print(f"From pydantic model: {parsed_event.bucket.name}")

if __name__ == "__main__":
    event = {
        "version": "0",
        "id": "17793124-05d4-b198-2fde-7ededc63b103",
        "detail-type": "Object Created",
        "source": "aws.s3",
        "account": "111122223333",
        "time": "2021-11-12T00:00:00Z",
        "region": "ca-central-1",
        "resources": [
            "arn:aws:s3:::DOC-EXAMPLE-BUCKET1"
        ],
        "detail": {
            "version": "0",
            "bucket": {
                "name": "DOC-EXAMPLE-BUCKET1"
            },
            "object": {
                "key": "example-key",
                "size": 5,
                "etag": "b1946ac92492d2347c6235b4d2611184",
                "version-id": "IYV3p45BT0ac8hjHg1houSdS1a.Mro8e",
                "sequencer": "617f08299329d189"
            },
            "request-id": "N4N7GDK58NMKJ12R",
            "requester": "123456789012",
            "source-ip-address": "<IP_ADDRESS>",
            "reason": "PutObject"
        }
    }

    lambda_handler(event=event, context=None)

Prints:
From dataclass:<PHONE_NUMBER>33
From dataclass: b1946ac92492d2347c6235b4d2611184
From dataclass: DOC-EXAMPLE-BUCKET1
From pydantic model: b1946ac92492d2347c6235b4d2611184
From pydantic model: DOC-EXAMPLE-BUCKET1

Notes
I made this PR while code changes are half done to make the discussion about further changes easier. Tests and documentation will be added later, once these functional changes are deemed good.
Checklist
If your change doesn't seem to apply, please leave them unchecked.

[x] Meet tenets criteria
[x] I have performed a self-review of this change
[x] Changes have been tested
[x] Changes are documented
[x] PR title follows conventional commit semantics

Is this a breaking change?
RFC issue number:
Checklist:

[ ] Migration process documented
[ ] Implement warnings (if it can live side by side)

Acknowledgement
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.

hey @ivica-k - reviewing it now... let's break this into two PRs: one for Parser and one for Event Source Data Classes.

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (ca9686d) 97.44% compared to head (280a90e) 97.45%.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop    #1982   +/-   ##
========================================
  Coverage    97.44%   97.45%
========================================
  Files          146      146
  Lines         6660     6684   +24
  Branches       478      478
========================================
+ Hits          6490     6514   +24
  Misses         134      134
  Partials        36       36

Impacted Files
Coverage Δ

...bda_powertools/utilities/parser/models/__init__.py
100.00% <100.00%> (ø)

...ws_lambda_powertools/utilities/parser/models/s3.py
100.00% <100.00%> (ø)

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 in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

There's only one medium change to make and I'm doing that now to speed up the merge - S3EventNotificationEventBridgeModel is the parent and preferred piece we document and test , because the envelope will throw away EventBridge metadata a customer might want to have.
S3EventNotificationEventBridgeDetailModel would be similar to SqsRecordModel, where you want to dig in where the payload is only, discarding everything else (e.g., SqsModel).
With that in mind (if it's any clearer), we first test the parent model S3EventNotificationEventBridgeModel, and then do a specific one for its associated envelope.
I've changed the exports and the docs, I'll work on the tests.

What I've changed

Added tests _no_envelope and replaced hardcoded data from event with the actual raw event - this is something I wish we've done before in the Parser's test suite, as it's brittle if we ever generate events to test contracts on a regular basis
Fixed field type in S3EventNotificationEventBridgeModel - I caught this when doing the tests without envelope, since detail = S3EventNotificationEventBridgeModel doesn't allow for Pydantic to recursively instantiate and validate nested models. It's now detail: S3EventNotificationEventBridgeDetailModel.
Removed None tests from new no_envelope tests - Pydantic will raise a validation error if a field is typed as required but it's missing in the payload, so we don't need to test as any discrepancy will result in a validation error. That is, fields with Optional[] don't need a specific assertion.

Last items to review on Monday

I'm almost sure we don't need those tests that use an Envelope, but I'm dizzy from meetings and can't make that call today.

Why: The reason for Envelope is for customers to bring their own custom model, so we'd apply their model in a particular field (detail) to which we'd discard all parent metadata (e.g., event.id) and return their Model already initialized and validated. Customers won't be able to bring their own models in this particular event per se as it's controlled by S3. If they could, they could still use the EventBridgeEnvelope which is already tested elsewhere.

Not at all @ivica-k - getting the events, the structure, and kick starting everything is paramount... we can't thank you enough ;-)
We'll finish on Monday and move to the data classes to see if we can fix that super odd GH Actions checkout issue.
🙏

Hey @heitorlessa I feel bad that you're doing all of these commits; is there a chance I could participate at this point?

Let me ping you on Discord and we can do it together - I didn't really need do this https://github.com/awslabs/aws-lambda-powertools-python/pull/1982/commits/a50116c1f7dad3ae5aa9b5a4594a4a279147c079, but I figured this is the best opportunity to start paying some tech debt I always wanted to (I don't like the way tests are done in Parser).
There's one last thing I'm doing now which is making sure Mypy works.

Okay finished, mind having a review to see if I missed anything?
What have I done?

Replaced the original tests with _no_envelope tests I added
Paid an old typing tech debt with EventBridgeModel which mypy detected in this PR - S3EventNotificationEventBridgeModel overrides detail with a model, which we should've addressed ages ago. A lesson I learned here was there's a surprising number of customers using Pydantic but not Mypy, otherwise there would've been an issue created related to EventBridgeModel.
Paid one of the oldest tech debt in migrating functional tests to unit tests. Ideally, I should've created multiple issues for this, but I had 10 spare minutes and I thought this would be the perfect opportunity to do now.

Tech debt background: Parser's functional test use event_parser and standalone functions to do assertions. This should be decoupled to ease writing tests + perf - unit tests to test model validation, functional tests to test parse, event_parser with/without envelope for any model. HELP: This is an area I'd love to get help as there's plenty to decouple here in the codebase. Similarly to event source data classes that you're also working on.

Special note. Never feel bad about this. We wouldn't be this far without your help. There's also so many competing priorities that if you hadn't started this PR we wouldn't even touch this feature until later in the year, even more so that I'm so happy we paid two tech debts that will pave the road for a better code base. Typically, if there's an issue related I'd ask any contributor to kindly factor these in, but we haven't created an issue to cover these tech debts hence why I did it.

Explanation on the typing (in case you aren't familiar with mypy)
https://github.com/ivica-k/aws-lambda-powertools-python/blob/feat(event-source)-1656-s3-event-eventbridge/aws_lambda_powertools/utilities/parser/types.py#L17
AnyInheritedModel = Union[Type[BaseModel], BaseModel]
RawDictOrModel = Union[Dict[str, Any], AnyInheritedModel]

Type[BaseModel] allows us to accept any model that inherits a generic model, while BaseModel allows any unbounded model (those not initialized).
class EventBridgeModel(BaseModel):
    ...
    detail: RawDictOrModel

If a customer now wants to bring their own model, this won't trigger a Mypy issue anymore:
class Order(BaseModel):
    payment_id: str

class OrderEventBridge(EventBridgeModel):
    detail: Order

What's even better... a customer can even use the superset Json type from Pydantic to deserialize JSON string into a Dict and then to their Model without any mypy complaints too
class Order(BaseModel):
    payment_id: str

class OrderEventBridge(EventBridgeModel):
    detail: Json[Order]

@ivica-k thanks for jumping on a call with me - as we've just agreed, I'll merge this now as soon as CI checks pass, and we can move on to the data class PR one.


Allow unmatched test paths from CLI

Summary
Fixes #3755 and #3793

Test plan
Examples provided in issues above.
Added an ability to run tests by provided filenames: jest ../foo.js ../tests/bar.js ./src/baz.js
Will add tests if fixes are ok.

Codecov Report

Merging #3882 into master will decrease coverage by 0.11%.
The diff coverage is 4.34%.

@@            Coverage Diff             @@
##           master    #3882      +/-   ##
==========================================
- Coverage   57.65%   57.54%   -0.12%
==========================================
  Files         195      195
  Lines        6782     6797      +15
  Branches        6        6
==========================================
+ Hits         3910     3911       +1
- Misses       2869     2883      +14
  Partials        3        3

Impacted Files
Coverage Δ

packages/jest-cli/src/reporters/DefaultReporter.js
4.83% <0%> (-0.62%)
:arrow_down:

packages/jest-cli/src/SearchSource.js
64.93% <9.09%> (-6.08%)
:arrow_down:

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 e9b045f...463c7e8. Read the comment docs.

Removed part about DefaultReporter and added tests. Anything else to do change here?

cc @aaronabramov what's the status of this? Is this good for 21?

I'd like to see a flag added for the old behaviour. Or at least output a string saying that during a normal test run the file would not be executed. It's useful info when trying to understand why a test is not run in CI (ref #4630)

@valerybugakov do you mind addressing the change requests by @SimenB?

@cpojer yep, rebased with master

@valerybugakov do you mind also fixing the tests so we can land this? :)


Convenience functions for PciAddress

Enabling these simplified the enumeration code for me. Please consider if they're helpful more generally, otherwise feel free to disregard.

Thank you for this contribution!
I like the idea of adding logic for enumerating the bus to the library, as I guess there is largely one "correct" way to do it. I'm not totally convinced by some of the behaviours (particularly e.g. getting the next function on the last function of the device moving to the next device). Instead of merging as-is, I'm going to make an issue for a iterator-based method to mull over these behaviours.
Could you also share where you're turning u32s into PciAddresss? I'm not necessarily against this addition but I've found I haven't needed it so far in my own code.

Thank you for this contribution!
I like the idea of adding logic for enumerating the bus to the library, as I guess there is largely one "correct" way to do it. I'm not totally convinced by some of the behaviours (particularly e.g. getting the next function on the last function of the device moving to the next device). Instead of merging as-is, I'm going to make an issue for a iterator-based method to mull over these behaviours.

That makes total sense. I maybe misunderstood the goals of this crate. I assumed this was just for types. I'm using the "next" functions to implement iterators for bus/dev/fn with the PciAddress used to keep the current item saved in the iterator.

Could you also share where you're turning u32s into PciAddresss? I'm not necessarily against this addition but I've found I haven't needed it so far in my own code.

Two places:

FFI function calls where the C code is passing a u32.
System calls (or hyper calls in my immediate case) where the pci address is passed from the caller in a register and needs to be converted to a PciAddress before use.

I maybe misunderstood the goals of this crate. I assumed this was just for types.

So tbh the scope of the library is pretty loose and is basically whatever people can make useful abstractions out of that would be useful / avoid repetition of boring bits across people's projects. If we can abstract enumeration (which should generally not be brute-force, which this approach facilitates iiuc, but more something like this), then that would absolutely fit in my eyes.

FFI function calls where the C code is passing a u32.

Hmm so I guess the only issue with this is that it accidentally canonicalises what was supposed to be an internal implementation detail (i.e. the cramming of an address into a u32) - albeit one that we do document, and one I'm sure the designers were aiming for / thought was neat. However, it does feel convenient to be able to pass it over FFI boundaries etc. and the format is very straightforward. Do you think this is well enough documented that this is an obvious way forward (in which case I'd be happy to merge a PR with the From impls going each way :) )?