Default main registry for container images

When installing OpenShift 4 with Calico as CNI plugin, the tigera-operator manifest uses the images: quay.io/tigera/operator:v1.3.4 and calico/ctl:v3.13.3.
Why do you not use a main registry for these images?
NB: These images are already available on the both registries (quay.io or docker.io).
Expected Behavior
The tigera-operator manifest could use the same registry for the both images: tigera/operator:v1.3.4 and calico/ctl:v3.13.3
Current Behavior
The tigera-operator manifest uses different registries for the following images: tigera/operator:v1.3.4 (quay.io) and calico/ctl:v3.13.3 (docker.io)
Possible Solution
Modify the default value of template "tigera-operator.image" .Values.tigeraOperator or .Values.calicoctl.image by prefixing by the default main registry.
For example, it could be done by modifying the values of defaults.values.imageNames.calicoctl by quay.io/calico/ctl into the _config.yaml.
Steps to Reproduce (for bugs)
N/A
Context
In customer production environment, only images from an unique and main registry (in my case quay.io) are allowed to be pulled.
Your Environment

Calico version: latest
Installation on OpenShift 4.4

I think the tigera/operator is the outlier here - all of the other manifests use docker hub to pull their images, and that is intentional since DockerHub supports multi-arch manifests. Quay is used as a backup.
To change this, we'd need to start pushing the tigera/operator image to docker hub and then update the documentation to use that image.
This of course wouldn't help your requirement that all images are pulled from quay. But, you can always pull the image and push it to your own registry.

@caseydavenport Quay now supports multiarch images and does not rate limit. It would be good to revisit this, build the images and push to Quay and default to them to avoid Docker Hubs rate limits. Thanks.
Related: https://github.com/projectcalico/calico/issues/4833


Add ability to install globally and execute as command line app

Thanks for the contribution!
I think the build failure might be a fluke (pub install something something), rerunning tests now to see if that's true.

I see, I think you might have to just bump the version of "test" in this file to 0.12.15:
https://github.com/angular/ts2dart/blob/master/test/e2e/pubspec.yaml
Sorry for the yak shaving required here, this project has been somewhat less than active for a while, so bit rot creeps in.

Thanks, I will do it

Thanks, merged!

This has been released as 0.9.11.


check_PVS()

question1:
In ACMG Paper, it writes "in the last 50 base pairs of the penultimate exon"  ,
why in our interVar the last 50 base for the last exon ???
      try:
            if (float(knownGeneCanonical_ed_dict[trans_id])-float( cls[Allels_flgs['Start']]  ))<50: # means close  3' of gene 50 bp.
             PVS=0
        except ValueError:
            pass
        else:
            pass

question2:
The ACMG paper means the last base ? why in our interVar it becomes 1 nor last exon?
        if exon==exon_lth or exon =="exon1": # not 1 or last exon
            PVS=0

the ACMG'criteria still has some disputation,so you will find some criteria has small difference,
these kind of  slight  difference was suggested by reviewers, but we can change back to totally follow the guideline.

Can be one variant assigned PVS1 and BA1?
rs12077871 use to test , and it is assigned PVS1 and BA1?
Can they both exist? I review your code, and I don't see allele frequency to filter PVS1.

Fot this variant(G>A), it is stopgain, so PVS1 is assigned, also the MAF insome cohort is >5%, so BA1 is assigned. For this variant, the intervar assigned as Benign, from InterVar side, it is no problem.   We suggest the manual step after the automated interpreation, if you have more evidence of pathogenic.

Thanks. I wonder whether we need to set frequency cutoff (eg: 5%) in the judgement of PVS1.  In your code, PVS1 can be assigned to one snp whose frequency cutoff >0.5% ?


Improve function argument type inference with runtime information.

Currently, Ghidra uses nothing but static analysis to decompile executables.
However, the assembly is not the only source of valuable information.
The other source is the runtime of the executable itself.
As an example, records of function calls could be used
to improve the inference of argument types of each function.
Analysis would then have 3 phases:

Run the Static analysis.
Run the executable in debug mode, play with it a little while Ghidra gathers the data.
Make Ghidra use this data to improve the decompiled pseudocode.

A good bit of framework for this is already in place, specifically our trace database, but we have not yet gotten to automating this sort of analysis ourselves. To my knowledge, two big pieces are missing:

The means to record and/or import a "dense" trace. There are plenty of tools and formats out there that can do this, e.g., perfetto, Common Trace Format, WinDbg TTD. You can create "dense" traces in Ghidra by single-stepping its debugger, but that will get old very fast for more than a few hundred instructions :/ . Otherwise, the Debugger makes "sparse" traces during normal operation. Every pause is recorded. You might also get some mileage by breaking only at certain "critical points," and use the p-code emulator to interpolate later. One idea would be to let an existing tool perform the trace, then we could import that into a Ghidra trace (again, perhaps ignoring those parts that can be recovered via emulation). Scripts can already do this to some extent. See PopulateDemoTrace, PopulateTraceLocal, and PopulateTraceRemote. But, it'd take development work to bring those scripts up to snuff and build out importers for other formats. Ideally, we'd eventually develop a "trace import" framework, but that'd take some time.
The "trace analyzers" that read observations in a trace and place the appropriate annotations in the corresponding static images (Ghidra program databases). In theory, this can currently be done with scripting. In particular, see FlatDebuggerAPI#translateDynamicToStatic and its inverse for methods that would be helpful in correlating dynamic and static databases. While possible, it'd take a good bit of work to write such scripts. It would also be neat to build out a "trace analysis" framework, but again, we're not there.

In any case, the biggest pieces, the trace database (DBTrace) and a decent api (FlatDebuggerAPI) are there for you to experiment with toward your suggestion. If you do experiment, we'd like to hear how it goes.


Update README with correct versions

README contains wrong versions. Let's fix that.

/approve
/lgtm

ci check this
/skip


RTC Switch Error When Having different ROS Master

When my laptop is the ROS master, and when I run the duaro_bringup.launch, everything works fine. But when Toyota HSR robot is a ROS master and when I run duaro_bringup.launch, it give the RTC Error that is "krnx_PrimeRtcCompData returned -0x100A" and then in the end it says "RTC Switch turned OFF 0: ano:1".
Please can I know, how to solve this issue.
Thank you

Does the Toyota HSR robot controller make plans and send to the duaro robot controller ?
0x100A is command value error. The speed may have exceeded the upper limit.
Was there the error message like bellow ?
[KhiRobotKrnxDriver] [krnx_PrimeRtcCompData] ano:[arm_no] [jt]pos:vel:status [JT1]%.4f:%.4f:%d ~ [JT6]%.4f:%.4f:%d
IF so, please follow docs/ConnectingRealRobot.md#6-error-and-troubleshooting.
You can get more detail error cause from the "status" value.

Yes, the error was like the which you have mentioned above. I am actually running just the bringup.launch file which just launches the joint controllers, the urdfs', so that I can visualize them in RViz. I am not running the moveit node, so I think there are no plans being sent to the duaro robot. And even though Toyota HSR is the master, all the launch files are being run from the same laptop which is now slave to the Toyota HSR.
So what I am currently trying to do is, I have my laptop which is slave to Toyota HSR (The ROS Master), Duaro is also the slave to Toyota HSR. And I am running all the launch files from laptop where they are actually installed.
(Just putting this up again - Whenever the laptop is master, Duaro works perfectly fine, the moment I switch from laptop as master to Toyota HSR as the master, it gives that error of RTC switch (sometimes it works once in like 10-15 times of giving error), but I am still running everything from laptop itself, just that the master is changed)
And then it gives this error.
~$ roslaunch khi_robot_bringup duaro_bringup.launch ip:=<IP_ADDRESS>
... logging to /home/bartonlab-user/.ros/log/20230322-164526_f274ad62-c8d0-11ed-a2b7-0013953132f2/roslaunch-me-bartonlab33-61923.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
xacro: in-order processing became default in ROS Melodic. You can drop the option.
started roslaunch server http://<IP_ADDRESS>:38691/
SUMMARY
PARAMETERS

/WD002N/joint_limits/lower_joint1/has_acceleration_limits: True
/WD002N/joint_limits/lower_joint1/has_position_limits: True
/WD002N/joint_limits/lower_joint1/has_velocity_limits: True
/WD002N/joint_limits/lower_joint1/max_acceleration: 2.09439510239
/WD002N/joint_limits/lower_joint1/max_position: 2.96705972839
/WD002N/joint_limits/lower_joint1/max_velocity: 4.1887
/WD002N/joint_limits/lower_joint1/min_position: -2.96705972839
/WD002N/joint_limits/lower_joint2/has_acceleration_limits: True
/WD002N/joint_limits/lower_joint2/has_position_limits: True
/WD002N/joint_limits/lower_joint2/has_velocity_limits: True
/WD002N/joint_limits/lower_joint2/max_acceleration: 7.85398163397
/WD002N/joint_limits/lower_joint2/max_position: 2.44346095279
/WD002N/joint_limits/lower_joint2/max_velocity: 5.4977
/WD002N/joint_limits/lower_joint2/min_position: -2.44346095279
/WD002N/joint_limits/lower_joint3/has_acceleration_limits: True
/WD002N/joint_limits/lower_joint3/has_position_limits: True
/WD002N/joint_limits/lower_joint3/has_velocity_limits: True
/WD002N/joint_limits/lower_joint3/max_acceleration: 3.0
/WD002N/joint_limits/lower_joint3/max_position: 0.15
/WD002N/joint_limits/lower_joint3/max_velocity: 0.255
/WD002N/joint_limits/lower_joint3/min_position: 0
/WD002N/joint_limits/lower_joint4/has_acceleration_limits: True
/WD002N/joint_limits/lower_joint4/has_position_limits: True
/WD002N/joint_limits/lower_joint4/has_velocity_limits: True
/WD002N/joint_limits/lower_joint4/max_acceleration: 52.35987755983
/WD002N/joint_limits/lower_joint4/max_position: 6.28318530718
/WD002N/joint_limits/lower_joint4/max_velocity: 10.4717
/WD002N/joint_limits/lower_joint4/min_position: -6.28318530718
/WD002N/joint_limits/upper_joint1/has_acceleration_limits: True
/WD002N/joint_limits/upper_joint1/has_position_limits: True
/WD002N/joint_limits/upper_joint1/has_velocity_limits: True
/WD002N/joint_limits/upper_joint1/max_acceleration: 2.09439510239
/WD002N/joint_limits/upper_joint1/max_position: 8.72664625997
/WD002N/joint_limits/upper_joint1/max_velocity: 4.1887
/WD002N/joint_limits/upper_joint1/min_position: -2.44346095279
/WD002N/joint_limits/upper_joint2/has_acceleration_limits: True
/WD002N/joint_limits/upper_joint2/has_position_limits: True
/WD002N/joint_limits/upper_joint2/has_velocity_limits: True
/WD002N/joint_limits/upper_joint2/max_acceleration: 7.85398163397
/WD002N/joint_limits/upper_joint2/max_position: 2.44346095279
/WD002N/joint_limits/upper_joint2/max_velocity: 5.4977
/WD002N/joint_limits/upper_joint2/min_position: -2.44346095279
/WD002N/joint_limits/upper_joint3/has_acceleration_limits: True
/WD002N/joint_limits/upper_joint3/has_position_limits: True
/WD002N/joint_limits/upper_joint3/has_velocity_limits: True
/WD002N/joint_limits/upper_joint3/max_acceleration: 3.0
/WD002N/joint_limits/upper_joint3/max_position: 0.15
/WD002N/joint_limits/upper_joint3/max_velocity: 0.255
/WD002N/joint_limits/upper_joint3/min_position: 0
/WD002N/joint_limits/upper_joint4/has_acceleration_limits: True
/WD002N/joint_limits/upper_joint4/has_position_limits: True
/WD002N/joint_limits/upper_joint4/has_velocity_limits: True
/WD002N/joint_limits/upper_joint4/max_acceleration: 52.35987755983
/WD002N/joint_limits/upper_joint4/max_position: 6.28318530718
/WD002N/joint_limits/upper_joint4/max_velocity: 10.4717
/WD002N/joint_limits/upper_joint4/min_position: -6.28318530718
/duaro_lower_arm_controller/action_monitor_rate: 20
/duaro_lower_arm_controller/constraints/goal_time: 2.0
/duaro_lower_arm_controller/constraints/lower_joint1/goal: 0.2
/duaro_lower_arm_controller/constraints/lower_joint1/trajectory: 0
/duaro_lower_arm_controller/constraints/lower_joint2/goal: 0.2
/duaro_lower_arm_controller/constraints/lower_joint2/trajectory: 0
/duaro_lower_arm_controller/constraints/lower_joint3/goal: 0.2
/duaro_lower_arm_controller/constraints/lower_joint3/trajectory: 0
/duaro_lower_arm_controller/constraints/lower_joint4/goal: 0.2
/duaro_lower_arm_controller/constraints/lower_joint4/trajectory: 0
/duaro_lower_arm_controller/constraints/stopped_velocity_tolerance: 0.1
/duaro_lower_arm_controller/joints: ['lower_joint1', ...
/duaro_lower_arm_controller/state_publish_rate: 50
/duaro_lower_arm_controller/type: position_controll...
/duaro_lower_joint_group_controller/joints: ['lower_joint1', ...
/duaro_lower_joint_group_controller/type: position_controll...
/duaro_upper_arm_controller/action_monitor_rate: 20
/duaro_upper_arm_controller/constraints/goal_time: 2.0
/duaro_upper_arm_controller/constraints/stopped_velocity_tolerance: 0.1
/duaro_upper_arm_controller/constraints/upper_joint1/goal: 0.2
/duaro_upper_arm_controller/constraints/upper_joint1/trajectory: 0
/duaro_upper_arm_controller/constraints/upper_joint2/goal: 0.2
/duaro_upper_arm_controller/constraints/upper_joint2/trajectory: 0
/duaro_upper_arm_controller/constraints/upper_joint3/goal: 0.2
/duaro_upper_arm_controller/constraints/upper_joint3/trajectory: 0
/duaro_upper_arm_controller/constraints/upper_joint4/goal: 0.2
/duaro_upper_arm_controller/constraints/upper_joint4/trajectory: 0
/duaro_upper_arm_controller/joints: ['upper_joint1', ...
/duaro_upper_arm_controller/state_publish_rate: 50
/duaro_upper_arm_controller/type: position_controll...
/duaro_upper_joint_group_controller/joints: ['upper_joint1', ...
/duaro_upper_joint_group_controller/type: position_controll...
/joint_state_controller/publish_rate: 50
/joint_state_controller/type: joint_state_contr...
/khi_robot_param/arm/arm1: ['duaro_lower_arm...
/khi_robot_param/arm/arm2: ['duaro_upper_arm...
/khi_robot_param/robot: WD002N
/robot_description: <?xml version="1....
/rosdistro: noetic
/rosversion: 1.15.14

NODES
/
controller_spawner (controller_manager/spawner)
joint_group_controller_manager (controller_manager/controller_manager)
khi_robot_control (khi_robot_control/main)
robot_state_publisher (robot_state_publisher/robot_state_publisher)
world_link_broadcaster (tf/static_transform_publisher)
ROS_MASTER_URI=http://hsrc.local:11311
process[khi_robot_control-1]: started with pid [61955]
process[world_link_broadcaster-2]: started with pid [61957]
process[robot_state_publisher-3]: started with pid [61958]
process[controller_spawner-4]: started with pid [61959]
process[joint_group_controller_manager-5]: started with pid [61960]
[ INFO] [1679504139.742985456]: KHI robot control started. [NOT REALTIME]
[WARN] [1679504140.514373]: DEPRECATION warning: --shutdown-timeout has no effect.
[INFO] [1679504140.672493]: Controller Spawner: Waiting for service controller_manager/load_controller
[ INFO] [1679504142.724984822]: [KhiRobotKrnxDriver] KRNX Linux-x86_64 DEV 2.3.5 2022/05/09 20:23
[ INFO] [1679504142.725104360]: [KhiRobotKrnxDriver] State 0: INIT -> CONNECTING
[ INFO] [1679504142.725173359]: [KhiRobotKrnxDriver] Connecting to real controller: <IP_ADDRESS>
No port_.tbl. KRNX uses default port setting.
[ INFO] [1679504146.281150193]: [KhiRobotKrnxDriver] State 0: CONNECTING -> INACTIVE
[ INFO] [1679504146.281635375]: [KhiRobotCommandService] Start
[ INFO] [1679504146.525522406]: [KhiRobotKrnxDriver] State 0: INACTIVE -> ACTIVATING
[INFO] [1679504146.733891]: Controller Spawner: Waiting for service controller_manager/switch_controller
[INFO] [1679504146.880417]: Controller Spawner: Waiting for service controller_manager/unload_controller
[INFO] [1679504147.041397]: Loading controller: joint_state_controller
Loaded 'duaro_lower_joint_group_controller'
[INFO] [1679504147.254005]: Loading controller: duaro_lower_arm_controller
Loaded 'duaro_upper_joint_group_controller'
[joint_group_controller_manager-5] process has finished cleanly
log file: /home/bartonlab-user/.ros/log/20230322-164526_f274ad62-c8d0-11ed-a2b7-0013953132f2/joint_group_controller_manager-5.log
[ INFO] [1679504148.312978099]: [KhiRobotKrnxDriver] State 0: ACTIVATING -> ACTIVE
[ERROR] [1679504148.317153404]: [KhiRobotKrnxDriver] krnx_PrimeRtcCompData returned -0x100A
[ INFO] [1679504148.317172231]: [KhiRobotKrnxDriver] State 0: ACTIVE -> ERROR
[ WARN] [1679504148.317192846]: JT1:-2.339351,-2.339351,0.000000,0.016755,-2.356106,-2.356106
[ WARN] [1679504148.317209362]: JT1:-134.034967,-134.034967,0.000000,0.959979,-134.994946,-134.994943
[ WARN] [1679504148.317251062]: JT2:2.072281,2.072281,0.000000,-0.021991,2.094271,2.094271
[ WARN] [1679504148.317281948]: JT2:118.732934,118.732934,0.000000,-1.259980,119.992914,119.992909
[ WARN] [1679504148.317295641]: JT3:0.118969,-0.898792,0.000000,-1.018779,0.119988,119.989006
[ WARN] [1679504148.317316018]: JT3:6.816422,-51.496966,0.000000,-58.371761,6.874794,6874.863760
[ WARN] [1679504148.317337444]: JT4:0.219657,0.219657,0.000000,-0.041972,0.261629,0.261544
[ WARN] [1679504148.317360415]: JT4:12.585415,12.585415,0.000000,-2.404820,14.990235,14.985351
[ERROR] [1679504148.317380757]: [KhiRobotKrnxDriver] [krnx_PrimeRtcCompData] ano:1 [jt]pos:vel:status [1]-2.3561:4.1887:0 [2]2.0943:-5.4977:0 [3]0.1200:-0.2547:0 [4]0.2615:-10.4930:4
[ WARN] [1679504148.317403233]: JT1:2.339397,2.339397,-0.016743,-0.016743,2.356141,2.356141
[ WARN] [1679504148.317425320]: JT1:134.037589,134.037589,-0.959324,-0.959324,134.996913,134.996915
[ WARN] [1679504148.317447574]: JT2:-2.072203,-2.072203,0.021978,0.021978,-2.094180,-2.094180
[ WARN] [1679504148.317469324]: JT2:-118.728467,-118.728467,1.259229,1.259229,-119.987695,-119.987693
[ WARN] [1679504148.317490486]: JT3:0.121013,1.141212,1.021221,1.021221,0.119991,119.992683
[ WARN] [1679504148.317513491]: JT3:6.933516,65.386639,58.511633,58.511633,6.875004,6875.074516
[ WARN] [1679504148.317535040]: JT4:-0.213981,-0.213981,0.040932,0.040932,-0.254914,-0.254948
[ WARN] [1679504148.317556182]: JT4:-12.260219,-12.260219,2.345249,2.345249,-14.605468,-14.607421
[ERROR] [1679504148.317577855]: [KhiRobotKrnxDriver] [krnx_PrimeRtcCompData] ano:2 [jt]pos:vel:status [1]2.3561:0.0000:0 [2]-2.0942:0.0000:0 [3]0.1200:0.0000:0 [4]-0.2549:0.0000:0
[ERROR] [1679504148.470216994]: [KhiRobotKrnxDriver] RTC SWITCH turned OFF 0: ano:1
[ INFO] [1679504148.470241777]: [KhiRobotKrnxDriver] State 0: ERROR -> DEACTIVATING
[ INFO] [1679504151.129649072]: [KhiRobotKrnxDriver] State 0: DEACTIVATING -> INACTIVE
[INFO] [1679504151.134627]: Loading controller: duaro_upper_arm_controller
[INFO] [1679504152.938870]: Controller Spawner: Loaded controllers: joint_state_controller, duaro_lower_arm_controller, duaro_upper_arm_controller
[INFO] [1679504153.018751]: Started controllers: joint_state_controller, duaro_lower_arm_controller, duaro_upper_arm_controller
^C[controller_spawner-4] killing on exit
[robot_state_publisher-3] killing on exit
[world_link_broadcaster-2] killing on exit
[INFO] [1679504221.097156]: Shutting down spawner. Stopping and unloading controllers...
[khi_robot_control-1] killing on exit
[ WARN] [1679504221.100426981]: received signal 2
[ INFO] [1679504221.102582209]: [KhiRobotKrnxDriver] State 0: INACTIVE -> DEACTIVATING
[INFO] [1679504221.154927]: Stopping all controllers...
[ INFO] [1679504223.764016418]: [KhiRobotKrnxDriver] State 0: DEACTIVATING -> INACTIVE
[ INFO] [1679504223.764132268]: [KhiRobotKrnxDriver] State 0: INACTIVE -> DISCONNECTING
[ INFO] [1679504223.779459046]: [KhiRobotKrnxDriver] State 0: DISCONNECTING -> DISCONNECTED
[WARN] [1679504223.923403]: Controller Spawner error while taking down controllers: transport error completing service call: unable to receive data from sender, check sender's logs for details
shutting down processing monitor...
... shutting down processing monitor complete
done
Also, it would be great if you could provide the steps to solve this error, because the link you have referenced is just giving the information about what the error is and not how to solve it

I was able to solve this issue by reducing the velocity limits of each joint.
Thank you.


Heavy performance regression when stress testing RichTextLabel/Label

Godot version:
4.0.dev.custom_build. 04bef80b4
I'm not sure if this recent regression, because I don't used it before brugz text server refactor
OS/device including version:
Ubuntu 20.04
Nvidia GTX 970 - 440
Issue description:
When running test scene in Godot 3.2 I have all the time > 30 fps, but when I run same scene in Godot 4, then I got max ~5fps but most of the time one frame render more than 4s.
Godot 3

Hotspot graph

Godot 4

Steps to reproduce:

Run minimal project

Minimal reproduction project:
Godot3.zip - opens in Godot 3 and also Godot 4

Looks that project runs a little slower in Godot 4 than in Godot 3, but still it is a lot of better than in gifs from above


Editing Existing Products

Resolved by pull request https://github.com/UMM-CSci-3601-S22/it-2-rocinante/pull/19 from UMM-CSci-3601-S22/jpwalbran/issue13


kernel-uki: remove usrmount from initrd

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

[ ] The toolchain has been rebuilt successfully (or no changes were made to it)
[ ] The toolchain/worker package manifests are up-to-date
[ ] Any updated packages successfully build (or no packages were changed)
[ ] Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
[ ] Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
[ ] All package sources are available
[ ] cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
[ ] LICENSE-MAP files are up-to-date (./LICENSES-AND-NOTICES/SPECS/data/licenses.json, ./LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md, ./LICENSES-AND-NOTICES/SPECS/LICENSE-EXCEPTIONS.PHOTON)
[ ] All source files have up-to-date hashes in the *.signatures.json files
[ ] sudo make go-tidy-all and sudo make go-test-coverage pass
[ ] Documentation has been updated to match any changes to the build system
[ ] Ready to merge

Summary

When systemd is included in initrd usrmount is not needed as it is a no-operation. This PR should slightly increase initrd generation and help reasoning about the list of dracut modules.
See https://github.com/dracut-ng/dracut-ng/blob/main/modules.d/98usrmount/module-setup.sh#L16
Does this affect the toolchain?

YES
CC @trungams @ddstreetmicrosoft

Just one comment. And one more thing I overlooked: could you switch the target branch to 3.0-dev instead of 3.0?

Is the target not 3.0-dev ?

It was 3.0 when I wrote the comment, then I changed it to 3.0-dev (didn't know I can do that for other's PR), but seems like there is some extra change now due to the switch

Thanks @trungams . I updated the PR just to be one commit.

@jozzsi Looks like there's a merge conflict. Could you help me resolve those? Also, can you reply to the bot above regarding the CLA?

@microsoft-github-policy-service agree


Can you add in the episode synopsis to the episode API?

Currently the episode API leaves out the synopsis. Can you add that in as well?
Example synopis: https://myanimelist.net/anime/1/Cowboy_Bebop/episode/1

Episode synopsis is already added though?
https://myanimelist.net/anime/1/Cowboy_Bebop/episode/1 ->
https://api.jikan.moe/v4/anime/1/episodes/1

Oh, I was using the v3 api. Thanks!


Redirect Handler

closing this as already present here https://github.com/microsoft/kiota/blob/main/http/go/nethttp/redirect_handler.go


Parameter names.

trials_file_name must start the same like 'DNN_hyperparameters_nl' in _dnn_hyperopt.py and _dnn.py.
'batch_normalization' key is not 'BN'
self.model = DNNModel(neurons=neurons, n_features=Xtrain.shape[-1],
dropout=self.best_hyperparameters['dropout'],
batch_normalization=self.best_hyperparameters['BN'],
batch_normalization=self.best_hyperparameters['batch_normalization'],
lr=self.best_hyperparameters['lr'], verbose=False,
optimizer='adam', activation=self.best_hyperparameters['activation'],
epochs_early_stopping=20, scaler=self.scaler, loss='mae',

Dear Lago,
Nord Pool data has some errors at daylight change times because of the data format.  For example 45,77 was recorded like 45770.

trials_file_name must start the same like 'DNN_hyperparameters_nl' in _dnn_hyperopt.py and _dnn.py.
'batch_normalization' key is not 'BN'
self.model = DNNModel(neurons=neurons, n_features=Xtrain.shape[-1],
dropout=self.best_hyperparameters['dropout

Thanks for this, I will fix it.

Dear Lago,
Nord Pool data has some errors at daylight change times because of the data format. For example 45,77 was recorded like 45770.

Can you provide an example? Do you mean the data has an error in the database or the error appears when reading the database with the epftoolbox library.

Yes data has erros at dates:
31/03/2013 02:00
30/03/2014 02:00
29/03/2015 02:00
27/03/2016 02:00
26/03/2017 02:00
25/03/2018 02:00
If you check these dates you will realize the error.
For example, NordPool data at Date 27/03/2016 02:00  =  the value must be 15,07  but it is 15072(15 thousand).
Thanks.

Sorry database look ok. I think it was about my conversion.


when saving RDF from preview, user should see verification that it works and should get the URI

right now, the only way to see is by clicking "preview RDF" again and noting that there is now a URI as the subject where previously it was empty.

I think @astridu should weigh in on the design implications of this ticket. I think once we when have a URI that it should be displayed in the editor tab.

Could I see a screenshot of what you are talking about? I can't get to this page on development.

Hi @astrid, when you open a resource template (in this case the sinopia:resourceTemplate:bf2:WorkTitle) and first click on the Preview RDF, you'll get the following display using a relative URI <> in the RDF subject role:

From the modal, if you click the Save & Publish button and select a group, the RDF is saved back to Trellis and if you open the Preview RDF modal again, you can see the Trellis URI (<https://trellis.development.sinopia.io/repository/stanford/6b22feb6-c35f-462a-94d0-e8e5700fb75a>) replaced the relative URI:

Once we have the Trellis URI, we would like it to appear on the Editor tab in some fashion so the user knows the URI to retrieve the RDF instead of needing to click on the Preview RDF to see the RDF.
Hope this helps!

Thank you for the explanation! Is it ok to have it on the page under the title? There should only be 1 URI, correct? Would it help to be in proximity to any of the fields, or is it important enough to warrant being at the top of the page?

Thank you for the explanation! Is it ok to have it on the page under the title? There should only be 1 URI, correct? Would it help to be in proximity to any of the fields, or is it important enough to warrant being at the top of the page?

I think having the URI under the title is fine. I would be interested in hearing @michelleif opinion.

might be useful to preface it with a label: "URI for this resource".
so that it's clear what this URI is. It's not the URI of the template, for example.
"URI for this resource" would have a blank following it, until the user saves, and then we would show the URI.
on a side note, once user does "Save & Publish", does the "Save & Publish" button become inactive until they change / add more data?

Like this?

yes please


The problem that the re-projection error is too large

Hello,
I'm a graduate student In South Korea.
I have two issues to write about...

About Aachen Training Datasets
First,  I wonder why there is a big difference between the 2D points that projected 3D points onto 2D Image  using the ground truth(GT) camera pose and the given GT 2D points, (that is re-projection error).

The process is as follows.

About Aachen Training datasets
reference code : pipeline_Aachen.ipynb (I ran all of the code)
For re-projection error check Function :
localize_sfm.main() ->  pose_from_cluster()
-> 1. got (2D points of reference image & matches 2D points)(A) and (correspondence 3D points)(B)
-> 2 . (2D points)(A') that projected (3D points)(B) onto 2D Image
-> A - A' compared...  => re-projection error big large!

pairs = Path('pairs/aachen/')
sfm_pairs = pairs / 'pairs-db-covis20.txt'  # top 20 most covisible in SIFT model
outputs = Path('outputs/aachen/')  # where everything will be saved
reference_sfm = outputs / 'sfm_superpoint+superglue'  # the SfM model we will build

localize_sfm.main(
    #reference_sfm / 'model',
    reference_sfm,
    dataset / '3D-models/database_intrinsics.txt',
    sfm_pairs,
    outputs / f"{feature_conf['output']}.h5",
    outputs / f"{feature_conf['output']}_{matcher_conf['output']}_{sfm_pairs.stem}.h5",
    results,
    covisibility_clustering=False # not required with SuperPoint+SuperGlue
)

# re-projection error check code:
def pose_from_cluster(qname, qinfo, db_ids, db_images, points3D,
                      feature_file, match_file, thresh, gt_dbid):

    R_gt = db_images[gt_dbid].qvec2rotmat()
    t_gt = db_images[gt_dbid].tvec
    for i in range(len(mkpq)):
        xx = float(mkpq[i][0])
        yy = float(mkpq[i][1])
        cv2.circle(image, (int(xx), int(yy)), 2, (255, 0, 0), -1)

        point3f = np.zeros((4, 1), np.float64)
        point3f[0] = mp3d[i][0]
        point3f[1] = mp3d[i][1]
        point3f[2] = mp3d[i][2]
        point3f[3] = 1
        Rt_gt =np.append(R_gt, t_gt.reshape(3, 1), axis=-1)
        point2f = np.dot(np.dot(camera_metrix, Rt_gt ), point3f)
        proj_x = point2f[0] / point2f[2]
        proj_y = point2f[1] / point2f[2]
        cv2.circle(image, (int(proj_x), int(proj_y)), 2, (0, 255, 0), -1)
        gt_dist_err = math.sqrt( (xx-proj_x)**2 + (yy-proj_y)**2)
        gt_covis_dist_err_list.append(gt_dist_err)
mean_covis_dist_err = np.mean(gt_covis_dist_err_list, axis=0)
print('mean_covis_dist_err:  ', mean_covis_dist_err, end='\n')

It is represented graphically as follows :

opencvPNp colamp index:   db/2738.jpg   Error XYZ (m):   1.4094536013298224   Error Q (degrees):   0.1450112900798425
pycolmap PNP colamp index:   db/2738.jpg   Error XYZ (m):   0.6016059692014329   Error Q (degrees):   0.05977929291767014
mean_covis_dist_err:<PHONE_NUMBER>842934
*mean_covis_dist_error = re-projection error
*red points : GT points
*green  points : projection point
=>Compared to GT and PnP camera pose errors, the reprojection error is relatively high.
Second, Perspective-N-Point error...

The difference between the camera pose predicted by the GT's 2D-3D correspondence point and the GT's camera pose is too large.

opencvPNp colamp index:   db/2699.jpg   Error XYZ (m):   81.93468187225895   Error Q (degrees):<PHONE_NUMBER>572119
pycolmap PNP colamp index:   db/2699.jpg   Error XYZ (m):<PHONE_NUMBER>3913064   Error Q (degrees):<PHONE_NUMBER>473679
mean_covis_dist_err:<PHONE_NUMBER>640451
*red points : GT points
*green  points : projection point

I'd appreciate it if you could let me know what I'm doing wrong.
Thank you.

All images of the Aachen dataset have radial distortion, but the code that you show does not apply any undistortion. You can use pycolmap.world_to_image to undistort and denormalize the 2D reprojections.
It is hard to tell without knowing how the poses are estimated. Again, this needs to take into account the radial distortion.

Thanks for quick reply.
'''
python
camera_model, width, height, params = qinfo
cfg = {
    'model': camera_model,
    'width': width,
    'height': height,
    'params': params,
}
ret = pycolmap.absolute_pose_estimation(mkpq, mp3d, cfg, thresh)
ret['cfg'] = cfg

'''
You know, In practice, pose_from_cluster function(line87~) in localize_sfm.py is applied as above to derive results for query datasets.
I think this is pose estimation applied to camera parameters (including distortion coefficients).
Actually, I've already applied it, also...
And...  About first question,
For the first question, I applied the opencv function to obtain the projected 2D points, and the results were similar to the previously obtained projection method.
ex) imgpts, jc = cv2.projectPoints(3D_Points, R_vec, t, camera_matrix, np.array([params[3], 0.0, 0.0, 0.0])),
params[3]:distortion coefficient
I look forward to your reply, thanks for reading my post.

Adding the lens distortion should have a noticeable effect on the reprojections, so I would expect the first image to look somewhat different. It is also possible that some (even database) images have inaccurate intrinsic parameters.


Create tool to retrospectively add structure to a Code List

Requirements
@canwaf has asked that we can alter csvcubed outputs in a specific way:
For code lists which are geographies using ONS codes, he would like us to alter the (flat and non-hierarchical) code list which has been auto-generated by csvcubed so that:

[ ] Each of the concepts uses the official ONS label for the area.
[ ] The concepts in the code-list are restructured into the relevant hierarchy as defined in the authorititive ONS geographies code-list. However we only want the relevant bit of the hierarchy copied into our code-list, we don't want it to bring everything over; just bring the concepts and their parents up to the root of the code-list across - this will make it easier for users so they don't have to see loads of extraneous information when trying to filter on particular areas.
[ ] Test that the resulting code-lists when uploaded to PMD make full use of the Geography Picker.

Suggested Approach
@robons suggests adding this as a post-build step, i.e. this reification process should operate on the CSV-Ws as output by csvcubed and should use the inspect API to locate the relevant code-list and then should modify the CSV file directly to insert the hierarchy and the true labels.
If we do this, then we demonstrate to others how they could create their own customisations to csvcubed outputs without having to alter/extend csvcubed itself.
Things We Need

[ ] Some kind of API or access to downloadable structured data representing the complete ONS Geographies API. This needs to be accessible to our tool in a performant manner.

@NickPapONS is going to spend some time refining this ticket and thinking about how we can implement it and  whether the inspect API has what we need to be able to do this.

Still required, and should be extended to also bring in ITL geographies (former NUTS).


Proposal: Change whitespace render color to be more subtle

Existing foreground color for editorWhitespace is same as that of comments. IMO it should be little less bright so that it's more subtle.
Current color:

Proposed color: #3c3836

I think #3c3836 is way too dark, maybe #45403d is better.
Done via bacb1e3, I'll release a new version later.

I've published a new version on marketplace, you can update this extension and get it a try.

Thanks!


Exposing type and object from class factories.

Following the great mixin implementation by @ahejlsberg  (#13743)
Having a mixin function returns a class is powerful but requires manual type declaration.
interface Tagged {
  _tag: string;
}

class Point {
  constructor(public x: number, public y: number) {}
}

type Constructor<T> = new(...args: any[]) => T;

function Tagged<T extends Constructor<{}>>(Base: T) {
  return class extends Base {
    _tag: string;
    constructor(...args: any[]) {
      super(...args);
      this._tag = "";
    }
  }
}

export const TaggedPoint: Constructor<Tagged> & typeof Point = Tagged(Point);
const tPoint: TaggedPoint; // ERROR: Cannot find name 'TaggedPoint'

We can't use TaggedPoint as a type, unless we:
export type TaggedPoint = Constructor<Tagged> & typeof Point;
const tPoint: TaggedPoint; // NOW OK

Using classes we can
export class Customer extends Tagged(Person) {
    accountBalance: number;
}

Which exposes the type but forces the developer to extend the Customer class.
My feature request is allowing:
export class TaggedPoint = Tagged(Point);

Which will be just sugar for:
export const TaggedPoint = Tagged(Point);
export type TaggedPoint = Constructor<Tagged> & typeof Point;

Maybe even:
export class TaggedPoint = Tagged(Point) { // user can extend here...
}

but that's not the main point...
The motivation for this is a more robust mixin mechanism that revolves around the base class and allow mixin's to know about it, using generic it provides powerful combinations.
So I can have
RestMixin(Base, Mixin1, Mixin2);

And the return type can have members from Mixin1 knowning about Base, using interfaces one can even set static members of a mixin to return T which is the instance of RestMixin(Base, Mixin1, Mixin2) all together.

You can almost accomplish this now, but with an extra empty prototype in the prototype chain, if you do:
export class TaggedPoint extends Tagged(Point) {}

Yes, but that's not user friendly... for a library it doesn't make sense...

why not:
export const TaggedPoint: Constructor<Tagged> & typeof Point = Tagged(Point);
export type TaggedPoint = Tagged & Point;

@mhegazy yes, you are right, I copy pasted it from the samples in #13743
Anyway, it's not the issue, you still need to export the type :)

a class represents 1. a value, the constructor function, and 2. a type, which is the instance type, you can get the same behavior by exporting a value and a type with the same name. lib.d.ts does this for most declarations e.g. HTMLElement.

@mhegazy Yes, I know that, this is what I demonstrated in the samples.
We now have class factories that the developer need to manually export when using a class factory function...
I can't live with the library author doing it... but if the developer has to, its not pretty :)

That's even more of an issue when the mixins are multilpe..
export MyClass = Mixin(A, B, C, D);

Now you also need to export this type...

This is not specific to mixins, the issue is that there is no convienient way to refers to the return type of a function or a constructor. https://github.com/Microsoft/TypeScript/issues/6606 Is the issue tracking this.

@mhegazy that's a great issue, I hadn't seen it before. With something like #6606 we could write:
const M = <T extends Constructor<{}>>(superclass: T) => class extends superclass {}
type M = typeof M(Object);

and not have to duplicate the class expression in a named interface. That's a big improvement.

@mhegazy #6606 still requires the extra type declaration.
Now that class factories can behaves as classes, the only missing piece is how to expose the runtime + design time result natively as if they were declared as classes.
export class User = RestMixn()

Maybe making it simple
export const User = RestMixn()

If RestMixn() returns a class, automatically set the type as if
export type User = ...;

Was done by the developer....

We really do not like introducing new syntax that can conflict with ES committee future direction (see design goal #4). We do not have a similar issue with the type space though.
I think you do not need to expose additional types, you just export const TaggedPoint = Tagged(Point); and that is that. your users now can use it as a constructor, e.g. import {TaggedPoint } from "mod"; new TaggedPoint();, and if they choose to talk about the type, they can just refer to it as var myTaggedPoint: typeof new TaggedPoint();, just 10 characters more, but not too bad.

@mhegazy I agree on the design goal.
But,

I don't think this is valid: var myTaggedPoint: typeof new TaggedPoint();
Even if valid, 10 chars is a lot when its in ctor, methods, etc... alot...
I need to expose types, these can be assigned as class members, part of interfaces etc...

I understand the limitation, i'm trying to find a solution.
What about internal logic:
export const User = RestMixn()

Seeing that RestMixin() returns a class, TypeScript can automatically export the type with the same name if such does not exit, it shouldn't break anything, it can be lazy so the type is set once imported or used...

A const is not a type, it is a value, and it is possible that there is a type with the same name, e.g. http://www.typescriptlang.org/docs/handbook/declaration-merging.html

Seeing that RestMixin() returns a class, TypeScript can automatically export the type with the same name if such does not exit, it shouldn't break anything, it can be lazy so the type is set once imported or used...

:)

As we are talking about functions that are called to produce classes parametrically, when it comes to exporting the resulting values along with their types in a convenient and discoverable manner, I think it could be good to look at something like #13231. Since these classes are imperatively defined, exporting them seems like it may well fall under the domain of implementing a module interface.

New runtime class syntax as proposed here should be handled by TC39


Can't alt click to move cursor

Terminal app on mac has a nice feature where you can alt + click to move the cursor to a position. This does not work in Hyperterm.

@pdufour by just looking through hyperterm issues my mind gets blown by the crazy time saving things I didn't know about iTerm and mac terminal. Thanks for sharing :wink: +1

This is a must-have feature.

Here's a gif for reference.

The way hterm interpret it with span doesn't allow us the ability to do this now. From what I tried. I can set the cursor position but then it doesn't comply to text after it.

Copying what I wrote on #1466:

that's a thing I'd be very interested to see on Hyper. I'd be very interested on implementing it too, but unfortunately I'm incredibly busy lately 😔

@adamscybot From what I tried, you can update the cursor position, but it didn't sync. You can try!

@adamscybot Which API improvements do you need to achieve this with a less-hacky plugin?

Adding a span to every char could have a huge impact on performances.
Your hack has a great advantage: it takes place only after a alt + click event 😛
Hyper has a lot of hterm monkey patches. You can look deeper into hterm, try to add span for each chars and measure performance changes.
Hyper has already a lot of performances issues. Adding DOM complexity seems harmful.

Hterm is itself outside react ecosystem (encapsulated in an iFrame).
And imho, it is a bad idea that Hyper hacks and exposes some hterm's low-level mechanisms. Plugin should do it by itself using onTerminal() hook to access hterm instance

I was going to make a new issue, but this is related. In linux and OSX you can click to move the cursor in Vim and other apps. I know it's not a best practice for vim, but sometimes it's nice when I'm in a "just f*ck it" mood and don't want to deal with keyboard shortcuts.

You're right.
In Terminal app, I have to alt+click to move on command line. But it works fine without alt in vim (with my config). It doesn't work in Hyper.

The good news is: it works great in vim in our xterm branch (replacing hterm by xterm.js)

@adamscybot col/row notion is reaaaally better handled in xterm.js. You can take a look to selection helpers https://github.com/sourcelair/xterm.js/blob/master/src/utils/Mouse.ts.
Alt+click is not supported yet, but it is not like hterm: xterm.js is really open-source and PRs are welcome. @Tyriar will certainly be ok to have a PR to implement this alt+click directly in xterm.js because it will be great to have it in VSCode too.

@adamscybot yes PRs welcome in xterm.js. If you want to contribute in this area please fork the v3 branch and make changes there to avoid merge conflict headaches. Created https://github.com/sourcelair/xterm.js/issues/890 to discuss implementation 😃
Also working against the demo https://github.com/sourcelair/xterm.js#demo will be easier than trying to pull the right version in to hyper.


Add Git info to pages

Displays on posts & pages.
Currently doesn't display on "multipage" files (i.e. help, rules) - I think these probably need rethinking (I'll sort that in another branch).
Doesn't display on the main "Updates" index (because those are summary pages).

Multipage files could have a smaller button linking to the last commit for that particular section.


Fix slash/backslash bug when building the gallery on Windows

Closes: #425
This PR adds **\other\* to the set of examples to exclude from execution when building the docs. This is necessary, because windows uses \ as path separator instead of /.

Fatal Python error: Aborted doesn't sound good ... I didn't touch library code, so this could be a broken dependency?
@almarklein We recently released a new wgpu-py and seeing https://github.com/pygfx/pygfx/pull/424 I don't think pygfx compatible with it yet. Is the reason that we aren't pinning wgpu?

I think Almar assumed this update wouldn't break anything upstream as he incremented the patch version number. :)

@Korijn RTR :) thanks for fixing the wgpu PR today.


Fix for issue #501 - File Size Sort not working (text based instead of numeric)

Q
A

Bug fix?
[x]

New feature?
[ ]

New sample?
[ ]

Related issues?
fixes #501

What's in this Pull Request?
Sets data type for file size as number, instead of string, so that sorts will work numerically instead of alphabetically.

Thank you @HiltonGiesenow for the fix!


[Auth/Invite Bug] Reinvited account cannot log in successfully

The scenario is the following:

Invite an email address to your Team through the Team page

goto https://app.checklyhq.com/settings/account/team
hit the 'Invite users' button
grant permissions

User receives the email
User joins the Org

hits 'Login or Sign up to join Org'
uses google auth or creates a password

User signs in
Remove that user's access through the Team page

remove user by hitting the Trash icon: Revoke access for this user

Invite an email address again to your Team through the Team page
User clears browser cache and cookies
User joins the org again and authenticates itself

either through google or the previously existed password
Note: no password reset prompt shows up

User signs in

Result: An endless auth loop

The 'code' in the URL keeps changing, user gets redirected to the URL with a newly generated code and the process never resolves
Example url: https://app.checklyhq.com/?code=eWfkIJHp2pfaVWoo&state=akxxMnpDRkEwN0IzXy5NVjVTaTlQZ0pWNkl4cjVnQnA0cUktRGVGZUsxQw%3D%3D

@janos1uphealth yes, this is a known bug. It's happening due to some legacy login code that we are tackling at the moment. I will actually keep this ticket open so we can also publicly track it here.

@janos1uphealth Ah, sorry! I saw this issue was on our main website repo. I will close it here.
For those reading along or finding this issue 5 years from now: we are chatting to Janos through our support channel and will fix this.


[docs] New API pages design

Duplicates

[X] I have searched the existing issues

Related page
https://mui.com/material-ui/api/button/
Kind of issue
Other
Issue description
This past week the API docs format has changed dramatically. I couldn't find a discussion open on it, so I'd like to start one.
I can't exactly point my finger on "why" but it's just so hard to get information from it. It's just too spread out and i I find it very difficult to have a nice helicopter view of a component's API now, to the point where Im finding myself going to the source code to get a more compact view of the docs.
To compare, I plucked a picture from the old mui v4 docs which are still online and the new docs:

To compare In the old format I can overview 8 props at the same time. In the new docs it's down to 4. But it's not just that... it's just much harder to extract information from it.  99% of the time I only care about the name and description column... It's just so easy to filter out mentally the middle columns when skimming through a table.... meanwhile a List does not give that benefit. Likewise... getting a fast overview of which components have default values is trivial on the old table... now it's just not possible.
In summary it feels like the docs moved from the nice easy to read format you find in tools like Storybook controls to the PTSD inducing style of Java docs.
I hope you guys give this design a second thought, unless of course, I'm the only dissident voice.
Keep up the great work!
Context 🔦
No response

New API format is how multiple UI libs would wrap tables on mobile. I'd prefer to be able to look at a table like a table.

I get the problem that this change was trying to solve, but I too am not a fan of the new layout.

@PupoSDC Thanks for opening the issue. We got feedback on twitter and docs-feedback, but an issue is more appropriate to build knowledge on the problem and take a decision :)
Before going to what is problematic, we should also remember why we did it: Components and their props are more and more complex. The extreme case is the data grid on X. The table layout was too limited to provide a full set of information about the props.
For example, if you had in the table a prop with a complex default value and another one with a complex type, you end up with nearly no place for the description column.
Feedback
Here are the multiple points we got:

The horizontal line is disturbing because it's at the bottom of the prop name so it can be interpreted as the end of the definition whereas it's the beginning
It's hard to find the prop you are looking for because you need to scroll a lot to go from prop to prop.

Ideas

For the first point it's a visual update. Maybe putting the bottom line on the left of the section. But I'm not the best to describe that
To simplify the finding of a given item, we propose to use the table of content in this PR. You can test the preview to test if it solves your issue with the new layout

Kiding part
I had some fun when discovered the PTSD inducing style of Java docs is a simple table with only the name and description 🤯

I can understand where you are coming from and why you want to change things. But I would keep in mind that, you are changing something that worked very well for most of the components, for the benefit of a few more extreme components (like the data grid on X).
The preview environment you shared sadly does not seem to have the ToC you mention. are you sure it's the right link?

Something I want to note is that with prevous layout I was actually running custom css to remove the table width limitation, and found that much easier to read.
#main-content {
    max-width: 1536px;
}

(that breaks index page, but it doesn't matter to me)

Screenshot of an old mui version with this change

To test it out, I added display: table (and table-row, table-cell, and a bit of padding) and got this:

Data/grid, worst-looking part

And I don't really see how the current layout is and improvement over this, I prefer this.

The preview environment you shared sadly does not seem to have the ToC you mention. are you sure it's the right link? Ok I found it... it's on the right side... No I don't think that helps me that much.

What is missing to help you? I don't see a better way to scroll a list of props than the list of their names.

My goal is not to scroll through a list of props. My goal is to quickly get an overview of the component and its functionality.
The old format was perfect for that.
A tabular format allows me to mentally filter the information i do not wish to consume when looking into it.  The new format just simply does not allow for that.
A few examples of how my brain works:

If I want to quickly skim over what props, and their types a component has... I can do that with a table, i just read column 1, column 2, and skip to the next row.

If I'm looking for a certain functionality I will read the prop name (column 1) and skip to column 4 for the description. This is something my eyes can do mechanically.

The new format just makes it that much harder to consume information. You can't train your eyes to jump to places because it all looks the same: Just a wall of text, with some minor stylistic differences to signal things.
A Concrete example would be types and Default. the only way to visually distinguish what is what is to read them.

Thanks for the clarity of your feedback, it's super-valuable to get those use cases about what people are willing to do with the API pages

@PupoSDC really appreciate all the feedback dropped in here, the thoroughness of your thought process helps a ton! 🙌
One way to tackle this, as we discussed internally considering the scalability of the design for basically all MUI X components as well as the positive feedback we received about it, is by adding a toggle on the docs settings for visitors like you, who are better served by the table layout.
This new layout will land on the MUI X docs this week and we'll be giving it a bit more time to gather feedback from X visitors before diving into the toggle effort immediately. It's a tricky problem as we can't just focus on one use case. However, having the option to set which view is better for you seems like the way to embrace different preferences! Hope this perspective helps 🤙

Toggle feels like a very good compromise. Bonus points if it gets persisted in local storage, so it remembers your preference.
I will keep an eye out for the upcoming improvements!

Circling back to this issue: We recently released a new update to the API pages where it's now possible to toggle the content layout between a list (expanded & collapsed options) and a table view. 🎉 A nice touch we added I want to highlight is that the option you picked per section persists if you navigate across different pages.
With that, I'm curious about thoughts and opinions there and if y'all think it's enough to close this issue for now?! 😬
We'll continue to iterate and add in continuous improvements, of course, but maybe the root problem has been solved for now? If I'm framing it correctly, the skimming/paring velocity should've been alleviated due to a) the table layout coming back; and b) the collapsed list view offering a dense display of all prop names;. Let me know!

Oh god, thank you so much!
Really nicely done! And it remembers my preference too. I'm very very happy!
Picking a random component, the Button, The same information takes close to a 1/3 of the space to be displayed (3800 px vs 1400px). Surely this will increase my trackpad lifespan quite a bit.
Once again, thank you!
Closing this ticket <3

Surely this will increase my trackpad lifespan quite a bit.

😂

@danilo-leal This looks really good, awesome work! Can we get this for the MUI X doc pages as well? It's so good I already miss it there 😄


[Panic] entered unreachable code: Expected ImportNames::Aliases'

Ruff 0.0.255
command
ruff . --fix

crash
thread 'main' panicked at 'internal error: entered unreachable code: Expected ImportNames::Aliases', crates/ruff/src/rules/pyupgrade/rules/rewrite_mock_import.rs:187:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Aborted (core dumped)

12364mock (15th copy)0.py.zip

Thank you, I appreciate these a lot!


Error: indexes are not synchronized and update flag is set to false

I have a user model with a GSI, I am adding a new GSI on phoneNumber which was not there before,
I am getting this error now on starting my node app.
I am using local version of dynamodb as of now, update option is set to true, so probably there is bug. I can't delete DB each time I change schema. I tried to debug, but I think I am not good with debugging async code( Any suggestions ).
const validator = require('validator');
let dynamoose = require("dynamoose");
require('../db')(dynamoose);
const uuidv4 = require('uuid/v4');

let UserSchema = new dynamoose.Schema({
        ID: {
            type: String,
            default: uuidv4,
            hashKey: true
        },
        email: {
            type: String,
            trim: true,
            validate: (x) => validator.isEmail(x),
            required: true,
            lowercase: true,
            index: {
                global: true,
                name: 'UserByEmailIndex',
                project: true, // ProjectionType: ALL
                throughput: 5 // read and write are both 5
            }
        },
        phoneNumber: {
            type: String,
            trim: true,
            validate: (x) => validator.isMobilePhone(x,'any'),
            required: true,
            index: {
                global: true,
                name: 'UserByPhoneIndex',
                project: true, // ProjectionType: ALL
                throughput: 5 // read and write are both 5
            }
        },

        password: String,
        salt: String
    },
    {
        create: true,                                 // Create table in DB, if it does not exist,
        update: true,                                   // Update remote indexes if they do not match local index structure
        waitForActive: true,                            // Wait for table to be created before trying to use it
        waitForActiveTimeout: 180000,                   // wait 3 minutes for table to activate
        saveUnknown: true,
        useDocumentTypes: true,
        useNativeBooleans: true,
        timestamps: true
    });

module.exports.User = dynamoose.model('Users', UserSchema);

Any update on this, anybody else facing the same issue?

providing update: true in dynamoose.model as option will solve this.
module.exports.User = dynamoose.model('Users', UserSchema, {update: true});

but this is creating another issue for me, it is taking a table lock on server up causing a downtime which i want to avoid on prod.

ohh, I was passing it on object used as second argument for new Schema all the while, and not as their argument to dynamoose.model.
Thanks for clarification

Hey guys, does waitForActive: true have a callback/trigger? what can we do to determine if table is already active

@shierro Currently the waitForActive function doesn't have a callback. You would have to build that manually using the AWS SDK.


[WIP] fhs-userenv-bubblewrap: Support ld.so.conf/cache

Motivation for this change
This is an effort to fix compatibility with the new steam runtime. See also #100655
There are currently 2 parts to this:

Preserve the symlink structure that is created for the FHS environment when launching the bwrap container (bin --> usr/bin, ...). This is to allow things like bind-mounting another /usr inside to work like they would on another distribution with a "usr-merge" implemented and also overwrite the things in /bin.
Create the setup some symlinks to allow /etc/ld.so.conf and /etc/ld.so.cache to function with our glibc. This should make our current setting of LD_LIBRARY_PATH obsolete as well and improves compatibility e.g. with games that incorrectly overwrite that instead of appending to it.

There is still a bit more testing needed until the linked issue is fully resolved. However as far as I can currently tell these changes are all that is necessarily NixOS specific.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

superseded by #114024


Update wheel to avoid loading numba issues

This will be sorted as part of https://github.com/AlphaGenes/AlphaFamImpute/issues/2


Improvement proposal for Checkbox "indeterminate" example

Documentation
Relevant Radix Component(s)
Checkbox component - Indeterminate state example
Examples from other doc sites
In the example for the indeterminate state of the Checkbox component, there is the following code:
<Checkbox.Indicator>
  {checked === 'indeterminate' && <DividerHorizontalIcon />}
  {checked === true && <CheckIcon />}
</Checkbox.Indicator>

The checked === true breaks the component when using it as uncontrolled, because checked as no value.
However, as the Indicator is already rendered when the checkbox is in a checked or indeterminate state, using a ternary would fix this issue:
<Checkbox.Indicator>
  {checked === 'indeterminate' ? <DividerHorizontalIcon /> : <CheckIcon />}
</Checkbox.Indicator>

You can't use an indeterminate checkbox in an uncontrolled way.


Dependency on AWS CLI

Hi @JR0ch17 ,
Why does this tool need AWS CLI and AWS API access keys in order to enumerate buckets?
Here is what I'm trying to get at:
$ curl https://toyota.s3.amazonaws.com
<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Name>toyota</Name><Prefix></Prefix><Marker></Marker><MaxKeys>1000</MaxKeys><IsTruncated>true</IsTruncated>

<Contents><Key>86FB/</Key><LastModified>2012-05-29T02:42:05.000Z</LastModified><ETag>"d41d8cd98f00b204e9800998ecf8427e"</ETag><Size>0</Size><StorageClass>STANDARD</StorageClass></Contents>

<Contents><Key>86FB/downloads/</Key><LastModified>2012-08-22T02:39:52.000Z</LastModified><ETag>"d41d8cd98f00b204e9800998ecf8427e"</ETag><Size>0</Size><StorageClass>STANDARD</StorageClass></Contents>

<Contents><Key>86FB/downloads/1024x768-Drift.jpg</Key><LastModified>2012-08-22T03:04:10.000Z</LastModified><ETag>"dffe2d801f594efc813285a3a60e9075"</ETag><Size>330465</Size><StorageClass>STANDARD</StorageClass></Contents>

...

$ aws s3api list-objects --bucket toyota
An error occurred (AccessDenied) when calling the ListObjects operation: Access Denied

I would think if you're truly trying to enumerate buckets, you would just try to loop over a list of names and curl https://<bucket-name>.s3.amazonaws.com, or am I missing something?

Hey Peter,
It doesn't need the AWS access keys to enumerate buckets. It is needed for other features like uploading files to a bucket, listing ACLs, configs, etc. I don't use curl to enumerate buckets but it does make a GET request to https://.s3.amazonaws.com. So how it works is that, if it gets a response of 404 (bucket doesn't exist), it skips to the next bucket. For every other response codes, it tries to list the files of the bucket and prints the result.
If you know a way to do all of this below without the need of using the awscli, please let me know. It would be even better to have the tool run without people needing to install and configure awscli but I'm not sure if it's possible for now.
-u, --upload          File to upload will be automatically generated (e.g.                         'BugBounty-[######].txt')   -d, --delete          Delete file from bucket after uploading it   -a, --acl             View bucket ACL   -p, --policy          View bucket policy   -c, --cors            View bucket CORS configuration   -r, --replication     View bucket replication configuration   -w, --website         View bucket website configuration   -l, --location        View bucket location


fix lrit file path include underlined(_)

fix lrit file path include underlined(_),if received .lrit file path include underlined(such as /home/pi/xrit/raspberry_bak/xrit-rx//received/LRIT/20190815/FD/IMG_FD_054_IR105_20190815_090006_08.lrit ), generate img will report an error.

Thanks for pointing this out. I've updated your fix to work on Windows and Linux.


Added tests for docket iquery pages

Working on adding the endpoint and process Docket iQuery Pages https://github.com/freelawproject/recap/issues/251
Seems that there is no need to add a new Report since Docket iQuery pages can be parsed by DocketHistoryReport. Added tests using Docket iQuery pages for multiple courts to confirm it.

I feel like I'm missing something, but shouldn't these be parsed by the CaseQuery parser?

Yeah, you're right, these tests belong to CaseQuery, so I just move these new tests to the case_queries folder.

Huh. OK. Merging because why not, but I'm a bit confused about why? We already have a bunch of tests for case_queries. Do these add something more?

Thanks, these are new tests I collected from recent queries in PACER, but no they don't add something new, next time I'll just add tests that add something different than the existing ones.


Ensure color, line_color and fill_color are handled consistently in bokeh backend

The bokeh backend currently uses color as an alias for either line_color and fill_color. This is both for historical reasons (bokeh used to support it) and because it means that at least the colors can generally be preserved between matplotlib and bokeh. The recent batching code now means that when batched mode is activated only the color options works, overriding options set on line_color or fill_color. We should make sure that this is handled better.

We now handle all style options except for the marker on Points/Scatter consistently. This has been discussed in https://github.com/bokeh/bokeh/issues/5884 and it seems they will go down a route of grouping over the datasource, which we already provide.


gitbook website is down

Describe the bug
Website is down: https://shiftcode.gitbook.io/dynamo-easy
To Reproduce
Steps to reproduce the behavior:

Go to https://shiftcode.gitbook.io/dynamo-easy
See error

Additional context
This might be temporary, but I thought it would be best to notify.

Was just temporary.


[Bug]: Sentry exception in evaluatedQueryParameters APPSMITH-65B

Is there an existing issue for this?

[X] I have searched the existing issues

Description
https://appsmith.sentry.io/issues/4080235268
Steps To Reproduce
NA
Public Sample App
No response
Environment
Production
Issue video log
No response
Version
ignore

Since its a sentry issue, closing out as is as per discussion


updated post 164 with several changes

I've included a bunch of suggested changes. Feel free to pick and choose what you'd like, and squash when done. :wink:

Thanks! I've incorporated this into the original PR https://github.com/cockpit-project/cockpit-project.github.io/pull/156


feat: add SessionPoolOptions with labels to MakeConnection()

Moves SessionPoolOptions out of the internal namespace,
and adds a std::map<std::string, std::string> labels field.
Plumbs those labels through to the BatchCreateSessions()
call.
Fixes #421.

This change is

google/cloud/spanner/client.h, line 549 at r2 (raw file):

/**
 * @copydoc MakeConnection(Database const&, ConnectionOptions const&, SessionPoolOptions)

clang-tidy thinks this line should wrap

clang-tidy thinks this line should wrap

Fixed in #1122.

this can be deleted

Done.

So, I'm guessing SessionPoolOptions doesn't have that issue due to the map, but it seems really odd that these are different, and that will show up at the call site

Ack, although for now it is what it is.


Add a page for the FAQ and display it

I replaced the contact page with the FAQ page.

I am attempting to add the contact page to the footer... but I can't find it anywhere with grep. @jmcmichael

Never mind! Closed.


Update CanvasMenu.jsx

removed some blank lines between sections so that the whole list of help links will fit on one screen, because the sidebar doesn't scroll

Coverage remained the same at 76.357% when pulling 81b5fc973a1185873105dde866a0320a8e79e74a on sidebar_spacing into f91bf7b94013a0973af9126951bb3708079920f7 on master.


Fix select in demo

This project uses semver, please check the scope of this pr:

[x] #patch# - backwards-compatible bug fix
[ ] #minor# - adding functionality in a backwards-compatible manner
[ ] #major# - incompatible API change

I've also integration tested this fix against an app running on Ember 2.8 to make sure the addition of the run.ext call within the frost-select didn't cause any issues.
CHANGELOG

Addedd missing acceptance tests to visit remaining routes in demo app to ensure all pages continue to load without issue.
Fixed deprecation warning about modifying property twice in one render (which became an error in Ember 2.10).
Fixed select route in demo.

Changes Unknown when pulling 9a24b5504bac529697e4142ae9895554c99a8a97 on sandersky:master into ** on ciena-frost:master**.

Changes Unknown when pulling 9a24b5504bac529697e4142ae9895554c99a8a97 on sandersky:master into ** on ciena-frost:master**.

Changes Unknown when pulling 4c71ba25bbd7d7f77515380a409f47f125134a0a on sandersky:master into ** on ciena-frost:master**.

Changes Unknown when pulling 4c71ba25bbd7d7f77515380a409f47f125134a0a on sandersky:master into ** on ciena-frost:master**.

:+1: @sglanzer self-merging to fix issue in select


fix: auto-allocate docker-registry node port

This PR fixes the error
Error: Service "backend-org-1-docker-registry" is invalid: spec.ports[0].nodePort: Invalid value: 32001: provided port is already allocated

This error can happen in two scenarios:

The application gets deployed, then destroyed, then deployed a second time. In that scenario, the kubernetes API doesn't provide a way to tell when a port has been fully released and is free for use again.
In CI tests on GKE, the clusters we create occasionally have the port 32001 unavailable. It is unclear why the port is unavailable even though the cluster is "brand new". Nevertheless, this error happens sporadically.

This PR fixes the issue in both scenarios by letting kubernetes choose a port number for the docker-registry (auto-allocated port). We then programmatically (from the application) retrieve the allocated port number using the kubernetes API.

end-to-end tests: :heavy_check_mark:


Fix: Use theme values for lineHeight

What does it do?
Fixes how lineHeight is applied to Box components. Instead of using theme values (based on index) it applied the value directly, which lead to line-height: 4 instead of line-height: ${theme.lineHeights[4]}.
Why is it needed?
Fixes Textarea styles.
Related issue(s)/PR(s)
Broken since https://github.com/strapi/design-system/pull/1030
Investigating https://github.com/strapi/strapi/issues/16830

@joshuaellis I wonder what you think about this being a breaking change? Technically it is, because if you'd have passed in 1 it will result in different values afterwards. However: the cloud only has 2 places that would be affected: https://github.com/search?q=repo%3Astrapi%2Fcloud lineHeight&type=code The CMS has none: https://github.com/search?q=repo%3Astrapi%2Fstrapi lineHeight&type=code
Still: theoretically there is a chance this would break something, but I think would argue the previous implementation was wrong and therefore it is a bugfix?

Didn't the changes you made previously break the CMS? so therefore this is a fix and not a breaking change? 😄

Yeah, but just looking at how lineHeight behaves in isolation: it will be different after this PR and the same values will result in a different line-height. I am a bit worried, but also willing to say it is a bugfix, because the previous behavior just didn't make sense.


Pipe with SharedBuffer channels will be dead lock

Fllow is the example code, the example code is from eapache/channels readme.
// never more than 3 elements in the pipeline at once
buf := NewSharedBuffer(3)

ch1 := buf.NewChannel()
ch2 := buf.NewChannel()

// or, instead of a straight pipe, implement your pipeline step
Pipe(ch1, ch2)

// inputs
go func() {
	for i := 0; i < 20; i++ {
		ch1.In() <- i
	}
	ch1.Close()
}()

time.Sleep(10 * time.Second)

for _ = range ch2.Out() {
	// outputs
}

buf.Close()

the flow graph is blow
data => ch1-in => ch1-out => ch2-in => ch2-out => data
Fllow scenario will deadlock

ch1's length is 3, ch2's length is 0, all recv blocked
ch1-out read one data, before send to ch2-in
ch1's length is 2, ch2's length is 0, all recv unblocked
ch1-in have another data in
ch1's length is 3, ch2's length is 0, all recv blocked
than the second data can not insert into ch2-in, event ch2-out is always ready

Yeah, this is a good discovery. I don’t know how to fix it off the top of my head, in hindsight the structure of a lot of the code in this package isn’t very reliable.

Perhaps we could reserve one buffer slot for each created channel… this would be less efficient, and not really what you would expect from a “shared buffer”, but would avoid the deadlock.


fix: ignore file from typechecking

Generating the zod schemas in a project causes the schemas to be subject to typechecking.
There can be cases where the zod plugin adds an import which doens't end up being used. This raises typechecking errors.
I don't see a reason why these files need to be typechecked.

Hi @genu , thanks for making the PR. Is this the only error you see with the generated code? I'm thinking if we should actually prevent the error from being there.

So far in my testing, that is the only error I see with the generated code.
Fixing the error would be resolve it, true.
Does type checking in these files have any benefit though?

So far in my testing, that is the only error I see with the generated code.
Fixing the error would be resolve it, true.
Does type checking in these files have any benefit though?

The generated code is supposed to always pass typechecking 😄, but just in case there is a real problem, I think it's still nice for typescript compiler to catch it before failing at runtime ... what do you think?

Hmm, well, my thought process is that this is generated code, so even if there are type issues, there is nothing that I would be  able to do about it.
The type checks would maybe make more sense during testing on the zenstack side? 🤔

Hmm, well, my thought process is that this is generated code, so even if there are type issues, there is nothing that I would be able to do about it.
The type checks would maybe make more sense during testing on the zenstack side? 🤔

Right, if it fails it's a zenstack bug. With a second thought, I think we can proceed with adding ts-nocheck first.

Merging it now. Will include it in the next patch release. Thank you!


release note about sql.txn.upgraded_iso_level.count metric

When upgrading from 23.2 to 24.1, cluster setting sql.txn.read_committed_isolation.enabled will be enabled by default, meaning transactions started with BEGIN TRANSACTION ISOLATION LEVEL READ COMMITTED will actually use read committed isolation instead of silently being promoted to serializable isolation. This could be considered a breaking change, because the behavior of the two isolation levels is different.
In order to help users prepare for the 23.2 to 24.1 upgrade, we've introduced a new metric in 23.2.3 called sql.txn.upgraded_iso_level.count which shows how many transactions are currently undergoing this silent promotion from read committed isolation to serializable isolation, and would be affected. (This metric shows up in the DB console under Metrics > SQL > Upgrades of SQL Transaction Isolation Level.)
We should add a release note for users about checking this metric before upgrading to 24.1. If the metric shows that there are transactions being promoted from RC to serializable, users will want to inspect those transactions and be aware of the change in isolation level in 24.1. If they would like to continue using the silent promotion to serializable isolation, they should SET CLUSTER SETTING sql.txn.read_committed_isolation.enabled = false;.

(If it helps, this metric was added by https://github.com/cockroachdb/cockroach/pull/118497.)


Register VPN has Fail

Description of bug: I install a VPN, all check is good. But it show messanger "Register VPN has fail"
Describe the results you received: "Register VPN has fail"
Describe the results you expected: "Succesful"
Environment: Android

@gythialy @JellyFoo @kuangzihui @zhanglang108

It seems the VPN server has been verified OK, so it is not the server issue, Please @zhanglang108 @huzhipeng111 check if it is a known issue on WinQ android version ?

@namnhfreelancer Which version？Now you need to sign up for a VPN to work with winq server.
https://github.com/qlcchain/WinQ-Server

@namnhfreelancer can you try again?and I will check the logs.


Name of the enum classes at runtime.

Suggestion

🔍 Search Terms

enum name
✅ Viability Checklist

My suggestion meets these guidelines:

[ x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[ x] This wouldn't change the runtime behavior of existing JavaScript code
[x ] This could be implemented without emitting different JS based on the types of the expressions
[ x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[x ] This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion
We should be able to get the name of the enum class.
📃 Motivating Example
enum YesNo { Yes, No};
YesNo.name - should return 'YesNo' or like for any other class - YesNo.constructor.name should return 'YesNo'
Currently it returns 'Object'

Streamlined usage of the enum classes in Typescript.
💻 Use Cases

I am using angular and I want use the enums for basic stuff like: yes/no, gender and other small enumeration. To connect them with the translation module we could use the name of the class for example : EnumYesNo.YES = 'Oui', EnumYesNo.NO='Non'
However today we cannot use that as we get Object and Object.YES, Object.NO ... that would force us to make the values unique among all the enumerations or we have pass the prefix manually. Note that the above technique work just fine with the other model classes and the enums are sort of 'one off'.
If the above change comes with build-in functions to get the keys and values of the enum it would be just awesome.

The long-term plan is to get enums through TC39 to be a first-class JS feature, so we don't want to add any extra bells and whistles now that would further complicate that

Uhm, how do you do this in typescript? In the example provided, how do we get YesNo?

You can't. This is a pretty common feature of programming languages; given
const obj = { }

There is often not a way to get the string "obj" at runtime.


Added packages to install_requires in setup.py.

This pull request is in response to the issue #49 . I have made changes to the setup.py file so that all the dependencies are installed
at once and there is less hassle to install them independently.

Hey, thanks for the PR!
I think it's better not to add those somewhat heavy dependencies, because users may only want to use some of them and not others. None of them are required dependencies for Handout.
While imageio is used internally when saving images or videos, matplotlib is imported and used by the user who hands a matplotlib figure to Handout so I think it should be installed by the user and not automatically.


Replace use of deprecated sprintf with snprintf

THIS PROJECT IS IN DEVELOPMENT MODE. Any pull requests should merge to branch dev, otherwise will be rejected immediately.
Describe your changes
This removes Clang warnings about use of deprecated sprintf:
'sprintf' is deprecated: This function is provided for compatibility reasons only.  Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.

Issue ticket number and link
Checklist before requesting a review

[x] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.
[ ] I have checked readme and add important infos to this PR (if it needed).
[ ] An improved cpp-test/lua-test is not needed (explain why not, thanks).

Cheers, thanks for your contribution.


Update Dependencies

Description
Updated dependencies.

Updated @rollup/plugin-commonjs major version to V22
Updated @rollup/plugin-node-resolve major version to V14
Updated eslint-plugin-simple-import-sort major version to V8
Not updated jest or ts-jest to new major version V29 since ts-jest latest version is still depending on jest V28

Test Coverage

[x] unit

Ran check-license, no change since last update
References

Closes GRI-90

Since this is one of our open source repos, it's always good to confirm in the description that, besides the unit tests, you've also done the regression testing (see item 4 on this document).

Updated again with --save flag, and bumped some dependencies that have updated since the PR was made. Also ran check-licenses and found no change in output. Updated PR description with all of this 👍


The calendar doesnt automatically close after user picks a date

My calendar keeps opening unless I close outside of the calendar to close it. Even though after user choose the date, the calendar still doesn't close after a date-time is picked.
I am wondering how or do you guy have any function that automatically close the calendar after user choose/pick a date/time?

It always closes in single mode unless enableTime is true.
You could close it manually with close() by adding an onChange listener.

    document.getElementById("start").flatpickt({
         onClose: function(selectedDates, dateStr, instance){
         }
      })

Is this what i need to make it closes after user picks time?

@tenznhok

onChange

onChange: function(selectedDates, dateStr, instance){
    if (dateStr)
        instance.close();
}

Sorry, this is what I have, I dont think it is closed as I want
      flatpickr(".flatpickr", {
         minDate: new Date().fp_incr(-30),
         maxDate: new Date(),
         enableTime: true,
         altInput: true,
         altFormat: "F j, Y h:i K"
      });

     document.getElementById("start").flatpickt({
           onChange: function(selectedDates, dateStr, instance){
               if (dateStr)
                    instance.close();
             }
     })

Try
      flatpickr(".flatpickr", {
         minDate: new Date().fp_incr(-30),
         maxDate: new Date(),
         enableTime: true,
         altInput: true,
         altFormat: "F j, Y h:i K"
      });

     document.getElementById("start").flatpickt({
           onChange: function(selectedDates, dateStr, instance){
                instance.close();
            }
     })

yeah, but then user can't choose time?!

Yes. This is why the calendar doesn't close right away - it lets the user pick time.
You asked how to close it right away, and I gave you the solution :taco:

Can flackpickr close it right away after user chooses time?

No. The user might want to adjust the time, or change mind about the date etc.
This is why it stays open.

Can we have an ok button or somthing like that after user chooses time to close the window?

You can use confirmDatePlugin

Try
      flatpickr(".flatpickr", {
         minDate: new Date().fp_incr(-30),
         maxDate: new Date(),
         enableTime: true,
         altInput: true,
         altFormat: "F j, Y h:i K"
      });

     document.getElementById("start").flatpickt({
           onChange: function(selectedDates, dateStr, instance){
                instance.close();
            }
     })

There is spelling mistake. It is flatpickr not flatpickt.


Upgrade to Airflow 2.2.3

Update requirements, move constraints down in dockerfile
Fix tests
Concurrency -> max_active_tasks

Description

Since we're going to be redeploying Airflow today, I thought it a good idea to update to the latest version (which was just released!). This PR includes a few changes in that regard:

I moved the constraints URL further down in the Dockerfile so the whole container doesn't have to be rebuilt when we change the version. I also changed the documentation link to point at stable instead of a specific version, and updated the URL.
I unpinned some packages that had references in the constraints file. I started updating them to the constraints version, but since the constraints are already defining the version I thought it better to just rely on that.
Updated some tests that were using a TaskInstance reference. As of 2.2.x these are actually expected to be reflections of records in the database, so I just replaced them with spec'd mocks.
While testing, I got a number of deprecation warnings around concurrency. This was updated to max_active_tasks in 2.2.x, so I've updated all the references there as well.

E.g.
tests/dags/test_dag_parsing.py::test_dag_loads_with_no_errors[database/refresh_image_view_data.py]
  /usr/local/airflow/openverse_catalog/dags/database/refresh_image_view_data.py:44: DeprecationWarning: The 'concurrency' parameter is deprecated. Please use 'max_active_tasks'.
    dag = DAG(

The changes are separated by commit, in case you didn't want the concurrency renaming noise while reviewing.
Testing Instructions

just test
Run a provider DAG, then run the TSV loader DAG

Checklist

[x] My pull request has a descriptive title (not a vague title like Update index.md).
[x] My pull request targets the default branch of the repository (main) or a parent feature branch.
[x] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[ ] I added or updated tests for the changes I made (if applicable).
[ ] I added or updated documentation (if applicable).
[x] I tried running the project locally and verified that there are no visible errors.

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

Do you mean the CONSTRAINTS_FILE is defining the versions here?

That's exactly right! For the packages in question, the constraints file has pinned versions of those packages. The constraints files exist because Airflow is notorious for being difficult to maintain (version wise) and having frequent dependency issues. The constraints represent a known state of working versions that can be used to prevent dependency conflicts.


Expand amount of tested use cases

Overview
Initially this testsuite have been created to see our stack just works (import/export using jts drivers). But we have much more features to add here.
Tasks

[ ] activate all commented datasets
[ ] ...

MERGED
https://github.com/frictionlessdata/testsuite-extended/issues/26


Missing rule for not inserting spaces after/before braces

VSCode Version: 1.5.3
OS Version: macOS Sierra

Steps to Reproduce:

Add "javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false to the workspace settings
Type const a = {b: 1};
Format Code
Code is now formatted const a = { b: 1 };

I guess this is similar to https://github.com/Microsoft/TypeScript/issues/7540 and this rule considers only [ and ] as brackets and actually a new rule javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces should be added to support braces: { and }

fyi - the pre-commit hooks goes with tsfmt.json, so if we change default we should keep them in sync

@shahata thank you for opening this issue.
@dbaeumer this is confirmed on latest. Is this a feature request for TypeScript language service? Or something we need to implement on our end?

@waderyan  Yes, I think so.

This issue was moved to Microsoft/TypeScript#11630


Sorting numerical or Integer tags in ascending order in AEM

Required Information

[ ] AEM Version, including Service Packs, Cumulative Fix Packs, etc: _6.5 and above
[ ] ACS AEM Commons Version: ___5.1.2
[ ] Reproducible on Latest? yes/no yes

Expected Behavior
While using the sort node method of the ACS commons it should sort the title of tags in ascending order whether its is numerical title or alphabetical.
Actual Behavior
Only alphabetical title of tags are getting sorted not numerical tags. Requirement is to sort the numerical or Integer tags in ascending order in AEM
AEM Sorting the tags in ascending order issue.docx
Steps to Reproduce
Please see the attached file for steps.
Links
Links to related assets, e.g. content packages containing test components

Interesting use case... what would your expectation be if:

The tag spaces had a mix of numbers and strings? For example, how would you expect the following to be sorted?

AA
111
12

The tag names were a mix of numbers and strings (or example SKUs)? For example, how would you expect the following to be sorted?

111BB
12AA
CC111
CC11

It more clear when everything is a number, but there is certainly nothing that prevents a mix, which would have to be handled as well if we have different evaluation methods. We could check if everything in a both is a number and then sort numerically, else use normal string.

We can add a checkbox "Respect Numbers". If checked then the comparator will use numerical sort if both values are numbers and Lexicographic sort otherwise. Something like this:
String name1 = node1.getName();
String name2 = node2.getName();

if( isNumber(name1) && isNumber(name2) ){
   return number1.compareTo(number2);
} else {
   return name1.compareTo(name2);
}

For for a fancier algorithms users can plug-in their own sorters by imlementing com.adobe.acs.commons.sorter.NodeSorter

@davidjgonzalez My expectation is the first use case but we have both Alphabetical and numerical but not mix(AA33)
Also please see the document attached.
Example:

111
222
101
110

can you suggest how can I sort then in tagsdatasource.jsp file I overlayed this file in /apps and made changes in this file to sort the tags but its only sorting the Alphabetical value as the in Array List all values are taken as String so sorting is happening based on String

@shivam1412
Until the "Respect Numbers" feature is implemented you can sort nodes from AEM Fiddle
Install ACS Tools if you don't have it and run the attached script. Change the path of the parent node in the script body.
sortNodes.txt
Below is the order I'm getting :
10
20
100
200
aaa
bbb

Is it what you expect?

Hi @YegorKozlov I tried implementing method that you suggested using AEM Fiddle I am getting the  following error please see the screenshot.
Also can you please show steps how to implement this.

Below is the crxde content path

Hi @YegorKozlov I am not getting the expected output please see the screenshot below

Current output:
10 20 100 200 111 112 9 300
Expected output:
9 10 20 100 111 112 200 300
Also I have one question after making the change in AEM fiddle how the change will reflect in the AEM touch UI Tags window?

@shivam1412 please try the attached version. This is the order I'm getting in my test:
after sort
9
10
20
100
111
112
200
300
1A
2B
aaa
bbb

sortNodes.txt

Also I have one question after making the change in AEM fiddle how the change will reflect in the AEM touch UI Tags window?
The Coral Tag Picker displays tags in the order they are saved in the repository. Once you sort the tags, they should come ordered in Touch UI.

Hi @YegorKozlov now it is giving the expected output in local environment thank you for your assistance. I have one question that we have multiple author instances so to work this logic AEM fiddle has to be installed on each author environment ? or I can include this script somewhere in our codebase.

Hi @YegorKozlov now it is giving the expected output in local environment thank you for your assistance. I have one question that we have multiple author instances so to work this logic AEM fiddle has to be installed on each author environment ? or I can include this script somewhere in our codebase.

yes, ACS Fiddle needs to be installed on every AEM instance and the script needs to run on every instance.

Hi @YegorKozlov I tried uploading ACS AEM tools package but unable to upload on AEM author instance its giving error "Package contains application content which isn't supported at runtime." is there any dependency for pom that I can add via code?

@shivam1412 Unfortunately ACS Tools will not install on AEM CS (in the cloud) since its content package contains both mutable and immutable content (/etc and /apps)
https://github.com/Adobe-Consulting-Services/acs-aem-tools/tree/master/content/src/main/content/jcr_root
Instead, i would make a package of the tags, install them on a clean AEM SDK - run this Fiddle there (ACS Tools should install/run on SDK) - then package up the results and install on your AEM CS (of course, install on AEM CS dev first and validate there before stage/prod).
HTH!

Which version of AEM are you using?
You can always wrap my script into a servlet and deploy with your code. In this case  you will need to call it like /bin/sortServlet?path=/content/cq:tags/my-namespace

@YegorKozlov This is the AEM version Adobe Experience Manager 2021.12.6151.20211217T120950Z-211100.

@davidjgonzalez  when this feature will be available in AEM ACS commons? We are using the version 5.1.2.

Fixed in 5.3.0


Suggestion to not replace localhost with <IP_ADDRESS>

Is your feature request related to a problem? Please describe.
The main problem with replacing "localhost" with <IP_ADDRESS> is with local web servers, especially when configured with a cert for HTTPS.  The certificate would be configured against the localhost domain and not <IP_ADDRESS> IP address.  Additionally, when developing .NET, IIS Express doesn't by default get configured to work with 127.0.01 and will throw a bad request error.
Describe the solution you'd like
I would like domains entered into the app to be used as entered, most specifically localhost.  In its current state, KeyRunner seems to translate localhost to <IP_ADDRESS> when making requests and it is causing problems for some use cases.
Describe alternatives you've considered
I don't really have an alternative other than using the curl script and modifying the domain to be localhost, or finding way to deal with local development servers to try and work around the issue.
Additional context
Example of it changing the domain, happens in the actual requests and the script snippets that get generated.

Example response from IIS Express when run from KeyRunner using localhost that gets translated to <IP_ADDRESS>:

It does look like KeyRunner will ignore cert issues we calling <IP_ADDRESS>, but you'll see validation messages like below when trying to run the generated scripts.  In my case, I have a local trusted cert setup for localhost to use in development/testing, but it would only apply if localhost is used as the domain in the request.

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.

@hex2bit  The issue has been resolved. Please update to V1.0.63 and let us know if you continue to experience any problems with replacing localhost with the IP address.

I'm seeing this behavior (replacing localhost with <IP_ADDRESS>) happening in version 1.0.64 of the app.

@hex2bit can you please update to latest and try (V1.0.65)?

This looks to be fixed in 1.0.65, thanks!


Dropdown Menu Arrows "Flash" on Load

Not a huge deal, but slightly annoying.
How can we reproduce this bug?

Create a dropdown menu with Foundation 6.2

What did you expect to happen?

Menu to load without a flash of unstyled content

What happened instead?

Slight flash of unstyled content

Test case:

JointsWP Demo Site: http://jointswp.com/demo/

Hey Jeremy! There is a spot on the docs with a solution for this: http://foundation.zurb.com/sites/docs/responsive-navigation.html#preventing-fouc
Let us know how this helps or if you're seeing a different issue.

Hi Rafi,
Unfortunately, I think this is a separate issue. The arrows for the dropdown menus are added by JS - which causes them to "flash" as the page loads.
See attached.

@JeremyEnglert Is a possible solution to show down-facing arrows by default (with no class attached), and then the JavaScript is able to correct it when it initializes the menu?

@gakimball I wonder if that would be something that could be added to Foundation (it would be easy enough to do manually, but would be helpful it included).
But that may require a class to be added to the markup, Let me play around and see if anything sticks.

There's .dropdown.menu you could attach to, although I suppose each menu won't know if it has a submenu or not.

It looks like F5 used a .has-dropdown class to prevent this.
But that would require the markup to be tweaked. Which may not be the worst thing, as the menu would still function without the extra markup (but have the flash).

Hm, in that case, we already have .is-dropdown-submenu-parent, which is the same thing. I don't necessarily want to put those in the markup examples, since it makes them a bit more complicated, and the idea is that the plugin adds those classes for you.
We could make a note of this in the documentation, i.e., if the FOUC is problematic for you, here's how you can get around it.

We could make a note of this in the documentation, i.e., if the FOUC is problematic for you, here's how you can get around it.

LOVE that idea.
And it matches how the FOUC is handled with the title-bar: http://foundation.zurb.com/sites/docs/responsive-navigation.html#preventing-fouc

Sounds good, do you want to put it together?

No problem. Let me play with it and I'll write up some docs for it. I'll be able to wrap it up this weekend.

Killer :+1:

Submitted a PR: https://github.com/zurb/foundation-sites/pull/8432
I have no clue why it's including all of the commits/comments from other issues - I'll look into that.