Issues with Xcode's bundling script node finding the react-native command

This is in response to @chirag04's comment here https://github.com/facebook/react-native/pull/3545#issuecomment-154248860
There are two possibilities here:

you don't have react-native-cli installed; in that case, do npm install -g react-native-cli and all should be well
Xcode doesn't have the react-native command on its path when running the script, probably because your node installation isn't global. For me, since I have node installed via nvm, I just changed the "Run Script" Xcode entry to be

The . ~/.nvm/nvm.sh line is an easy way to get my node installation on the PATH.

Another way to do it is type which react-native in your normal terminal, and you'll get something like:
/Users/jared/.nvm/versions/node/v5.0.0/bin/react-native

Then take the parent directory of that executable, (/Users/jared/.nvm/versions/node/v5.0.0/bin/ in this case) and then change that script to be

And now the actual question
Given that the script doesn't always work out of the box, could the react-native init/upgrade script be modified to figure out its own directory, and then add the export PATH=$PATH:/path/to/my/directory line to the Xcode script automatically?
cc @frantic

:+1: Adding . ~/.nvm/nvm.sh to the Bundle React Native code and images build phase fixed this for me.

@jaredly Thanks for creating the issue with elaborate description. Since nvm is the documented dev setup env, . ~/.nvm/nvm.sh is reasonable.  I wish there was a generic way.
cc @ide

I get:
/bin/sh: /Users/chirag/Library/Developer/Xcode/DerivedData/lrn-dsvwidjkkxwdtafnxqzavyicmsbs/Build/Intermediates/lrn.build/Debug-iphonesimulator/lrn.build/Script-00DD1BFF1BD5951E006B06BC.sh: .: bad interpreter: Permission denied
when using . ~/.nvm/nvm.sh

I looked in some of our Xcode files and we have this:
export NVM_DIR=$HOME/.nvm
[[ -s $HOME/.nvm/nvm.sh ]] && source $HOME/.nvm/nvm.sh
[[ -s $(brew --prefix nvm)/nvm.sh ]] && source $(brew --prefix nvm)/nvm.sh

I don't think that's entirely right like NVM_DIR should probably use brew --prefix nvm if you installed it with homebrew, but I think what I pasted is roughly correct.

You'll might also want /bin/bash/ instead of /bin/sh as the shell used

Hi there! This issue is being closed because it has been inactive for a while.
But don't worry, it will live on with ProductPains! Check out its new home: https://productpains.com/post/react-native/issues-with-xcodes-bundling-script-node-finding-the-react-native-command
ProductPains helps the community prioritize the most important issues thanks to its voting feature.
It is easy to use - just login with GitHub.
Also, if this issue is a bug, please consider sending a PR with a fix.
We're a small team and rely on the community for bug fixes of issues that don't affect fb apps.

I just copied some code from within the react-native-xcode.sh script and pasted it to my Build path.
I had installed nvm with brew, and node via nvm, so Xcode was not able to find my node installation. Now it can.
My build path now looks like this:
if [[ -s "$HOME/.nvm/nvm.sh" ]]; then
. "$HOME/.nvm/nvm.sh"
elif [[ -x "$(command -v brew)" && -s "$(brew --prefix nvm)/nvm.sh" ]]; then
. "$(brew --prefix nvm)/nvm.sh"
fi
export NODE_BINARY=node
../node_modules/react-native/packager/react-native-xcode.sh


Unlinked "Tools" Item in Navbar – Suggest Removal for Better User Experience

Describe the Error
tools heading is not properly attached to any page, on clicking it doesn't do anything

Expected behavior
it should redirect me to the tools page on clicking it if there is any.

Additional context
I noticed that the "Tools" section in the navbar isn't linked to any page or content on the site. If there's no file or content planned for this section, it might be beneficial to remove it to avoid confusion for users. This would help clean up the interface and improve the overall user experience.
@sanjay-kv Please let me know if you'd like me to help with this and assign this issue to me under gssoc-ext'24 and hacktoberfest and a level if you may. thanks

instead add tool to other pages

@sanjay-kv sorry didn't get you here, what do you mean by adding tools to other pages ?


docs: help updates for sasjs context

Issue
No issue raised
Intent
Updating help text in sasjs help
Implementation
src/sasjs-help/index.js
Checks

[ x] Code is formatted correctly (npm run lint:fix).
[ x] Any new functionality has been unit tested. no new functionality
[x ] All unit tests are passing (npm test).
[ ] All CI checks are green. How do I check this as part of raising a PR?
[ ] JSDoc comments have been added or updated. Was updating help

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


X.509 CRT parser returns ASN.1 error code on empty TBSCertificate

Context: The first field in a TBSCertificate is the version which is parsed through x509_get_version():
https://github.com/ARMmbed/mbedtls/blob/f352f75f6bd5734c8f671323dd6ab32472d5da34/library/x509_crt.c#L380-L400
If this function finds an empty buffer, the call to mbedtls_asn1_get_tag() will return MBEDTLS_ERR_ASN1_OUT_OF_DATA, which is then returned unmodified to the caller.
Issue: This is not in line with the rest of the module, which wraps low-level ASN.1 error code with high-level X.509 error codes before returning.
Task: Make sure x509_crt_parse_der_core() always returns an X.509 error code. Add a test exercising an empty TBSCertificate body.

ARM Internal Ref: IOTSSL-2781

This also applies to x509_get_uid() in x509_crt.c.

This also applies to mbedtls_x509_get_ext().


How to use the code 'IOUEval.py' in 'train' directory?

The code 'IOUEval.py' defined the class of mIoU and per class iou calculation, and used in training procedure, but how to reuse this code for evaluating the predicted result? Thank you!

IOUEval file just need predicted segmentation mask and ground truth. If you have this information you can easily call the function inside IOUEval to compute mIOU


Submitting Appel game V<IP_ADDRESS>

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.5 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Manual Validation ended with:

7:45:38 AM: 2024-01-31 07:45:38.300 [FAIL] Installer failed security check. Url: https://github.com/krishisrani61/exestorage/raw/main/Appel/setup.exe Result: 0x80004005

(Automated response - build 684.)

Hi @krishisrani61,
The package didn't pass a Defender or similar security scan. This might be a false positive and we can rescan tomorrow.
(Automated response - build 684.)


[Question] xtables-lock volume removed?

Hi,
I see there's a difference below weave-daemonset-1.6/1.7/1.8.yaml and  weave-daemonset.yaml in the release page, that is, volume xtables-lock is removed in weave-daemonset.yaml. Is this necessary in Kubernetes 1.11+? Thanks.
                - name: xtables-lock
                  mountPath: /run/xtables.lock

No its still used. There was recent change to remove just FileOrCreate which was causing #3351 otherwise is still in use.
Could you point me to weave-daemonset.yaml which has missing xtables-lock path mount?

@murali-reddy
Please check:
https://github.com/weaveworks/weave/releases/download/v2.5.0/weave-daemonset.yaml

I think you’re looking at the timeline the wrong way round. The version-less file was the first one, then we added 1.7 and 1.8 versions.

Looks like weave-daemonset.yaml never mounted xtables.lock path. If you use suggested installation you get manifest which loads xtables.lock path.
Not sure of historical context of  weave-daemonset.yaml, @bboreham why is it maintained and where it is supposed to be used?

@hiscal2015 hope its clear now. Please reopen if you still have a doubt.


Formsflow Logout Action

Describe the task
When a user clicks on logout from formsflow, it should redirect back to the react web app
Acceptance Criteria

[x] user redirected to react app dashboard
[x] keycloak settings updated as needed

merged to dev


IO util goes up to 100% with 2000 writes per minute

System info: [InfluxDB 0.13.0, CentOS release 6.6]
Steps to reproduce:
We have a log server that receives 6 types of applications statistics and write them to influxdb.
For each type, we have a separate measurement.
String serviceId;
String timestamp;
String serviceName;
String zooName;
HashMap<String, Object> o2;
Point p = Point.measurement(serviceName).time(Long.parseLong(timestamp), TimeUnit.MILLISECONDS)
					.tag("serviceId", serviceId)
					.tag("serviceName", serviceName)
					.tag("zooName", zooName)
					.fields(o2).build();
			db.addPoint(p);

In the above code snippet, the variable o2 is map that may contain 300 key-value pairs, with keys of type String and values of type Numeric.
The 6 types of applications are:

logic:305 records per minute
login:23 records per minute
race:4 records per minute
allocation:18 records per minute
scene:1464 records per minute
room:235 records per minute

In my opinion, the write pressure is very low, but some how the io util is very high according to iotop:

As you can see the jdb2 process is very busy, I suspect this may have something to do with disc sync strategy.
The config file is:
influxdb.txt

@shawn11ZX thanks for the report. Could you take some profiles of your system while it's under load? The following would be useful:
curl -o block.txt "http://localhost:8086/debug/pprof/block?debug=1"
curl -o goroutine.txt "http://localhost:8086/debug/pprof/goroutine?debug=1"

Also, a CPU profile will be useful. Please consider that this profile will take 30 seconds of wall-time to collect. It could also cause some performance impact on your system while it's being collected, but it shouldn't be too dramatic. Again, while under load would be the best time to take it:
curl -o cpu.txt "http://localhost:8086/debug/pprof/profile"

Below is requested log files. Actually the load is quit stable (always high) as our servers will send reports in fixed interval.
block.txt
cpu.txt
goroutine.txt
iostat.txt

Are your disks SSD?  If they are spinning disks, you'll need to configure them in a RAID setup such that they can support at least 500 IOPS.

It's a spinning disk. I have just tested the iops of the disc, quite low actually, so I will close the bug.
Sorry for the mistake.
  read : io=115928KB, bw=1600.8KB/s, iops=400 , runt= 72421msec
  write: io=37624KB, bw=531986 B/s, iops=129 , runt= 72421msec

The full report
test: (groupid=0, jobs=1): err= 0: pid=33955: Fri Jun 24 17:49:09 2016
  read : io=115928KB, bw=1600.8KB/s, iops=400 , runt= 72421msec
  write: io=37624KB, bw=531986 B/s, iops=129 , runt= 72421msec
  cpu          : usr=0.64%, sys=2.18%, ctx=37527, majf=0, minf=24
  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=99.8%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.1%, >=64=0.0%
     issued    : total=r=28982/w=9406/d=0, short=r=0/w=0/d=0

Run status group 0 (all jobs):
   READ: io=115928KB, aggrb=1600KB/s, minb=1600KB/s, maxb=1600KB/s, mint=72421msec, maxt=72421msec
  WRITE: io=37624KB, aggrb=519KB/s, minb=519KB/s, maxb=519KB/s, mint=72421msec, maxt=72421msec

sorry, we switch on a new disk, but the io is still high...
At such a low pressure, I suppose it's a little unusual.
iops have impoved:

@shawn11ZX That kind of performance is expected with spinning disks. While you only have 2k points being written every second, each may have up to 300 values, some of which are strings. That would make the number of values being written, the worse case, up to 600k/sec; a very high write load. SSDs would be required to sustain that kind of write load.

2k points per seconds, but 2k points per minutes……


After iOS is upgraded to 17, TextField cannot be entered on the keyboard.

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce
Create a TextField and run it on iOS 17.1
Expected results
Normal input
Actual results
Unable to enter normally
Code sample
TextField(
autofocus: widget.autofocus,
textAlign: widget.textAlign,
controller: widget.controller,
keyboardAppearance: widget.keyboardAppearance ?? _checkThemeDrak(),
focusNode: widget.focusNode,
scrollController: widget.scrollController,
keyboardType: widget.keyboardType,
textInputAction: widget.textInputAction,
scrollPhysics: widget.scrollPhysics,
selectionControls: widget.selectionControls,
maxLines: widget.maxLines,
maxLength: widget.maxLength,
minLines: widget.minLines,
cursorHeight: setCursorHeight(),
cursorColor: widget.cursorColor ?? ThemeColor.themeColor(context),
style: widget.style,
enableInteractiveSelection: widget.enableInteractiveSelection,
//onTap: widget.onTap,
decoration: widget.decoration,
onEditingComplete: widget.onEditingComplete,
onAppPrivateCommand: widget.onAppPrivateCommand,
onSubmitted: widget.onSubmitted,
onChanged: widget.onChanged,
inputFormatters: widget.inputFormatters,
scrollPadding: widget.scrollPadding,
textAlignVertical: widget.textAlignVertical,
obscureText: widget.obscureText,
obscuringCharacter: widget.obscuringCharacter,
readOnly: widget.readOnly,
clipBehavior: widget.clip,
),
Screenshots or Video
https://github.com/flutter/flutter/assets/52393077/add9d84d-6197-4116-ab39-a4fdd7934308
Logs
Logs
[Paste your logs here]

Flutter Doctor output
[!] Flutter (Channel [user-branch], 3.13.2, on macOS 13.5.1 22G90 darwin-arm64, locale zh-Hans-CN)
! Flutter version 3.13.2 on channel [user-branch] at /Users/wuwenwei/development/flutter
Currently on an unknown channel. Run flutter channel to switch to an official channel.
If that doesn't fix the issue, reinstall Flutter by following instructions at https://flutter.dev/docs/get-started/install.
! Upstream repository unknown source is not a standard remote.
Set environment variable "FLUTTER_GIT_URL" to unknown source to dismiss this error.
• Framework revision ff5b5b5fa6 (11 days ago), 2023-08-24 08:12:28 -0500
• Engine revision b20183e040
• Dart version 3.1.0
• DevTools version 2.25.0
• Pub download mirror https://pub.flutter-io.cn
• Flutter download mirror https://storage.flutter-io.cn
• If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and
upgrades.

iOS 17.1 ?  mean  iOS 17 beta 8 ?

Closing as a duplicate of https://github.com/flutter/flutter/issues/133908


FQDN not working, Name servers, inaccessible.

For some reason, i can't get my domain provider to use ns1.DOMAIN.com
there is no other way to get my domain to load?
login.DOMAIN.com/*  works... anything subdomain.DOMAIN.com/* works.
but DOMAIN.com doesn't load anything.
this is an issue.
why is there no9 setting to default accept the FQDN and forward it to a sub-domain?

You broke my heart.


Pose Skeleton Preview without Camera Image underneath

Hi, I am trying to preview only the skeleton without a background instead of the default skeleton overlay over the Camera image.
I have tried removing the input_stream: "IMAGE_GPU:input_image" from the pose_renderer_gpu.pbtxt file, but still seem to get the camera image output.
Can you please suggest the necessary modifications here?
My pose_renderer_gpu.pbtxt file:
`# MediaPipe pose landmarks rendering subgraph.
type: "PoseRendererGpu"
GPU image. (GpuBuffer)
input_stream: "IMAGE:input_image"
Pose landmarks. (NormalizedLandmarkList)
input_stream: "LANDMARKS:pose_landmarks"
Region of interest calculated based on landmarks. (NormalizedRect)
input_stream: "ROI:roi"
Detected pose. (Detection)
input_stream: "DETECTION:detection"
GPU image with rendered data. (GpuBuffer)
output_stream: "IMAGE:output_image"
node {
calculator: "ImagePropertiesCalculator"
input_stream: "IMAGE_GPU:input_image"
output_stream: "SIZE:image_size"
}
Calculates rendering scale based on the pose roi.
node {
calculator: "RectToRenderScaleCalculator"
input_stream: "NORM_RECT:roi"
input_stream: "IMAGE_SIZE:image_size"
output_stream: "RENDER_SCALE:render_scale"
node_options: {
[type.googleapis.com/mediapipe.RectToRenderScaleCalculatorOptions] {
multiplier: 0.0012
}
}
}
Converts detections to drawing primitives for annotation overlay.
node {
calculator: "DetectionsToRenderDataCalculator"
input_stream: "DETECTION:detection"
output_stream: "RENDER_DATA:detection_render_data"
node_options: {
[type.googleapis.com/mediapipe.DetectionsToRenderDataCalculatorOptions] {
thickness: 4.0
color { r: 0 g: 255 b: 0 }
}
}
}
node {
calculator: "SplitNormalizedLandmarkListCalculator"
input_stream: "pose_landmarks"
output_stream: "visible_pose_landmarks"
node_options: {
[type.googleapis.com/mediapipe.SplitVectorCalculatorOptions] {
ranges: { begin: 0 end: 25 }
}
}
}
Converts landmarks to drawing primitives for annotation overlay.
node {
calculator: "LandmarksToRenderDataCalculator"
input_stream: "NORM_LANDMARKS:pose_landmarks"
input_stream: "RENDER_SCALE:render_scale"
output_stream: "RENDER_DATA:landmarks_render_data"
node_options: {
[type.googleapis.com/mediapipe.LandmarksToRenderDataCalculatorOptions] {
landmark_connections: 0
landmark_connections: 1
landmark_connections: 1
landmark_connections: 2
landmark_connections: 2
landmark_connections: 3
landmark_connections: 3
landmark_connections: 7
landmark_connections: 0
landmark_connections: 4
landmark_connections: 4
landmark_connections: 5
landmark_connections: 5
landmark_connections: 6
landmark_connections: 6
landmark_connections: 8
landmark_connections: 9
landmark_connections: 10
landmark_connections: 11
landmark_connections: 12
landmark_connections: 11
landmark_connections: 13
landmark_connections: 13
landmark_connections: 15
landmark_connections: 15
landmark_connections: 17
landmark_connections: 15
landmark_connections: 19
landmark_connections: 15
landmark_connections: 21
landmark_connections: 17
landmark_connections: 19
landmark_connections: 12
landmark_connections: 14
landmark_connections: 14
landmark_connections: 16
landmark_connections: 16
landmark_connections: 18
landmark_connections: 16
landmark_connections: 20
landmark_connections: 16
landmark_connections: 22
landmark_connections: 18
landmark_connections: 20
landmark_connections: 11
landmark_connections: 23
landmark_connections: 12
landmark_connections: 24
landmark_connections: 23
landmark_connections: 24
landmark_connections: 23
landmark_connections: 25
landmark_connections: 24
landmark_connections: 26
landmark_connections: 25
landmark_connections: 27
landmark_connections: 26
landmark_connections: 28
landmark_connections: 27
landmark_connections: 29
landmark_connections: 28
landmark_connections: 30
landmark_connections: 29
landmark_connections: 31
landmark_connections: 30
landmark_connections: 32
landmark_connections: 27
landmark_connections: 31
landmark_connections: 28
landmark_connections: 32
  landmark_color { r: 255 g: 255 b: 255 }
  connection_color { r: 255 g: 255 b: 255 }
  thickness: 3.0
  visualize_landmark_depth: false
  utilize_visibility: true
  visibility_threshold: 0.5
}

}
}
Take left pose landmarks.
node {
calculator: "SplitNormalizedLandmarkListCalculator"
input_stream: "pose_landmarks"
output_stream: "landmarks_left_side"
node_options: {
[type.googleapis.com/mediapipe.SplitVectorCalculatorOptions] {
ranges: { begin: 1 end: 4 }
ranges: { begin: 7 end: 8 }
ranges: { begin: 9 end: 10 }
ranges: { begin: 11 end: 12 }
ranges: { begin: 13 end: 14 }
ranges: { begin: 15 end: 16 }
ranges: { begin: 17 end: 18 }
ranges: { begin: 19 end: 20 }
ranges: { begin: 21 end: 22 }
ranges: { begin: 23 end: 24 }
  combine_outputs: true
}

}
}
Take right pose landmarks.
node {
calculator: "SplitNormalizedLandmarkListCalculator"
input_stream: "pose_landmarks"
output_stream: "landmarks_right_side"
node_options: {
[type.googleapis.com/mediapipe.SplitVectorCalculatorOptions] {
ranges: { begin: 4 end: 7 }
ranges: { begin: 8 end: 9 }
ranges: { begin: 10 end: 11 }
ranges: { begin: 12 end: 13 }
ranges: { begin: 14 end: 15 }
ranges: { begin: 16 end: 17 }
ranges: { begin: 18 end: 19 }
ranges: { begin: 20 end: 21 }
ranges: { begin: 22 end: 23 }
ranges: { begin: 24 end: 25 }
  combine_outputs: true
}

}
}
Render pose joints as big white circles.
node {
calculator: "LandmarksToRenderDataCalculator"
input_stream: "NORM_LANDMARKS:visible_pose_landmarks"
input_stream: "RENDER_SCALE:render_scale"
output_stream: "RENDER_DATA:landmarks_background_joints_render_data"
node_options: {
[type.googleapis.com/mediapipe.LandmarksToRenderDataCalculatorOptions] {
landmark_color { r: 255 g: 255 b: 255 }
connection_color { r: 255 g: 255 b: 255 }
thickness: 5.0
visualize_landmark_depth: false
utilize_visibility: true
visibility_threshold: 0.5
}
}
}
Render pose left side joints as orange circles (inside white ones).
node {
calculator: "LandmarksToRenderDataCalculator"
input_stream: "NORM_LANDMARKS:landmarks_left_side"
input_stream: "RENDER_SCALE:render_scale"
output_stream: "RENDER_DATA:landmarks_left_joints_render_data"
node_options: {
[type.googleapis.com/mediapipe.LandmarksToRenderDataCalculatorOptions] {
landmark_color { r: 255 g: 138 b: 0 }
connection_color { r: 255 g: 138 b: 0 }
thickness: 3.0
visualize_landmark_depth: false
utilize_visibility: true
visibility_threshold: 0.5
}
}
}
Render pose right side joints as cyan circles (inside white ones).
node {
calculator: "LandmarksToRenderDataCalculator"
input_stream: "NORM_LANDMARKS:landmarks_right_side"
input_stream: "RENDER_SCALE:render_scale"
output_stream: "RENDER_DATA:landmarks_right_joints_render_data"
node_options: {
[type.googleapis.com/mediapipe.LandmarksToRenderDataCalculatorOptions] {
landmark_color { r: 0 g: 217 b: 231 }
connection_color { r: 0 g: 217 b: 231 }
thickness: 3.0
visualize_landmark_depth: false
utilize_visibility: true
visibility_threshold: 0.5
}
}
}
Converts normalized rects to drawing primitives for annotation overlay.
node {
calculator: "RectToRenderDataCalculator"
input_stream: "NORM_RECT:roi"
output_stream: "RENDER_DATA:roi_render_data"
node_options: {
[type.googleapis.com/mediapipe.RectToRenderDataCalculatorOptions] {
filled: false
color { r: 255 g: 0 b: 0 }
thickness: 4.0
}
}
}
Draws annotations and overlays them on top of the input images.
node {
calculator: "AnnotationOverlayCalculator"
input_stream: "detection_render_data"
input_stream: "landmarks_render_data"
input_stream: "landmarks_background_joints_render_data"
input_stream: "landmarks_left_joints_render_data"
input_stream: "landmarks_right_joints_render_data"
input_stream: "roi_render_data"
output_stream: "IMAGE_GPU:output_image"
}
`

@saurabhchalke Can you help me with what platform are you referring. Thanks

Hi @sgowroji, I am using Pose Tracking on the Android platform, and running it on GPU.
I am using the default graphs present in the mediapipe/graphs/pose_tracking.
We tried updating the pose_renderer_gpu subgraph to remove the input_stream: "IMAGE_GPU:input_image" in the AnnotationOverlayCalculator step at the end(line 266), but still see the image preview returned along with the pose skeleton render.

@gkarpiak, please take a look at this pose renderer gpu question. Thanks.

@saurabhchalke the idea of overlay is that you overlay over some image which input_stream: "IMAGE_GPU:input_image" in the AnnotationOverlayCalculator, so what you need to is to provide there, not the camera image, but some image which is a solid color.
You can do it in multiple ways: send it to the graph as another input or maybe loading from the assets, or maybe writing your own calculator that generates such an image based on dimensions of the original camera image.

Thanks for the suggestion @gkarpiak, but I am trying to eliminate any background whatsoever (not even a solid color). Is that possible with the current Calculators?
I am just trying to return the pose skeleton with a transparent background.

@saurabhchalke have you tried to pass a transparent input into input_stream: "IMAGE_GPU:input_image"? (I mentioned multiple ways you can try to do that in my previous reply.)
Also, if you need just skeleton - you may consider returning skeleton landmarks and render them in any way you need.

Thanks for this advice @gkarpiak, I had one quick question, I am trying to return only the pose landmarks in the frameprocessor, but seem to run into an error. Do you know how to fix this?
My FrameProcessor in Android:
processor = FrameProcessor(             this,             eglManager.getNativeContext(),             BINARY_GRAPH_NAME,             "input_video",             "pose_landmarks"         )
Error:
com.google.mediapipe.framework.MediaPipeException: unknown: Input stream "pose_landmarks" of calculator "egl_surface_sink_pose_landmarks" expects packets of type "mediapipe::GpuBuffer" but the connected output stream will contain packets of type "[Same Type As mediapipe::NormalizedLandmarkList]"
at com.google.mediapipe.framework.Graph.nativeStartRunningGraph(Native Method)
at com.google.mediapipe.framework.Graph.startRunningGraph(Graph.java:289)
at com.google.mediapipe.components.FrameProcessor.startGraph(FrameProcessor.java:537)
at com.google.mediapipe.components.FrameProcessor.maybeAcceptNewFrame(FrameProcessor.java:409)
at com.google.mediapipe.components.FrameProcessor.onNewFrame(FrameProcessor.java:427)
at com.google.mediapipe.components.ExternalTextureConverter$RenderThread.renderNext(ExternalTextureConverter.java:364)
at com.google.mediapipe.components.ExternalTextureConverter$RenderThread.lambda$onFrameAvailable$0$ExternalTextureConverter$RenderThread(ExternalTextureConverter.java:309)
at com.google.mediapipe.components.-$$Lambda$ExternalTextureConverter$RenderThread$IXJjtE68JMV2CMJNQcFYhTUqhj8.run(Unknown Source:4)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at com.google.mediapipe.glutil.GlThread.run(GlThread.java:141)

Thanks for your inputs @gkarpiak. I have one last question, I have eliminated the image_frame from the final GpuBuffer output, and trying to superimpose the Skeleton over my Android view, but the output has a black background with the Skelton instead.
Would converting the GpuBuffer to ImageFrame solve the issue here? If so are there any way using any existing calculators that can be used to produce output which would have transparent backgrounds, and can directly be used over Android screens.
Thanks for your patience.

Hi @saurabhchalke, Did you try the workaround suggested in the above comment. Please update the status. Thanks!

Hi @saurabhchalke, Could you please respond to my above comment. Thanks!

We are closing this ticket as of now due to lack of activity.


couldn't load my data

impossible to load any dataset I tried
error message: gist not found

impossible to load any dataset I tried error message: gist not found

Could you provide the gist url?

here the gist url
https://gist.github.com/trashyms/cd50916331af0a7ba8477ac25304a43c
It is the country example database from  MySQL.
Since I did not found in the provided I tryed to add it.

This issue was closed due to inactivity.


Fixed amazon-cloud-drive cask.

@vitorgalvao @Ngrd I've updated the PR; thanks.

Thank you. Could you please squash your commits?

Squashed, thanks!

Thank you for the contribution. It was merged directly as d41964e1198531e6ca931690f28e66da061736f7 to keep commit history cleaner. Your contribution is still credited to you.


pip install bloodyad error

Hi,
When I try to install bloodyAD with pip, I get this error, I think it's related to the gssapi module
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [21 lines of output]
      /bin/sh: 1: krb5-config: not found
      Traceback (most recent call last):
        File "/usr/local/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
          main()
        File "/usr/local/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/usr/local/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 130, in get_requires_for_build_wheel
          return hook(config_settings)
        File "/tmp/user/0/pip-build-env-q04orkgu/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 338, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=['wheel'])
        File "/tmp/user/0/pip-build-env-q04orkgu/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 320, in _get_build_requires
          self.run_setup()
        File "/tmp/user/0/pip-build-env-q04orkgu/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 335, in run_setup
          exec(code, locals())
        File "<string>", line 109, in <module>
        File "<string>", line 22, in get_output
        File "/usr/lib/python3.10/subprocess.py", line 420, in check_output
          return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
        File "/usr/lib/python3.10/subprocess.py", line 524, in run
          raise CalledProcessError(retcode, process.args,
      subprocess.CalledProcessError: Command 'krb5-config --libs gssapi' returned non-zero exit status 127.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

Any ideas how to fix it ?

Hi, you need to install libkrb5-dev as explained in the first paragraph of the README.md#installation

Thanks for the tip :wink:


Fix unicode

I just copied some lines from the current unicode lib and modified it. No guarantee that this is fast or even correct in edge cases.
BTW: I ran roc format and this fixed an example file with windows line endings.

I'm sorry @normanjaeckel I have completely missed this. I'll try and review it tomorrow. Thank you for submitting this PR.


Formvalidation could not reset text-slot with default value

Rasa Open Source version
3.3.0
Rasa SDK version
No response
Python version
3.7
What operating system are you using?
Windows
What happened?
FormValidationActions could not set text slots with default value empty string to None.
This leeds to forms did not ask for that slot on second execution again, because it is filled.
Command / Request
- Create a text-slot with default value empty string
- Create a form
- Add slot as required slot to form
- Add a slot mapping condition for slot
- Write a FormValidationAction where the slot_value empty string returns None
- After executing the method, the slot value remains empty string

Relevant log output
No response

Unfortunately i was not able to reproduce this behaviour isolatet. Sorry about that, i close the issue.


Audio/mp3 not working, returning null

Code
use Mimey\MimeTypes;

$mimes = new MimeTypes();
$extension = $mimes->getExtension('audio/mp3');
echo $extension;

Expected
mp3

Output
null

Hi @renjithspace, thanks for your reply.
Do you refer the mime.types doc and ?
The audio/mpeg is included following extensions:
# audio/mpa-robust
audio/mpeg					mpga mp2 mp2a mp3 m2a m3a

That is, you have to use following code snippets to accomplish expected behavior:
use Mimey\MimeTypes;
$mimes = new MimeTypes();
$mimes->getExtension('audio/mpeg'); // "mp3"

If you want to get all extensions for audio/mpeg, using the following method:
$mimes->getAllExtensions('audio/mpeg');

The output array is as follows:
 [
     "mp3",
     "mpga",
     "mp2",
     "mp2a",
     "m2a",
     "m3a",
   ]

@ralouphie, do you have any idea about this :)?


Private keys exportable

I've followed this wonderful guide on how to use GPG with YubiKey. After completing all the steps, I tried to export the private keys with gpg --export-secret-keys --armor --output private.gpg <my-id> and the command was successfull. Aren't the private keys "unexportable", since they reside on the YubiKey? I'm no security expert, so I know I'm missing something obvious.

It exports a stub pointing to a particular Yubikey On 5 Jan 2024, at 22:22, materia-nigra @.***> wrote:
I've followed this wonderful guide on how to use GPG with YubiKey. After completing all the steps, I tried to export the private keys with gpg --export-secret-keys --armor --output private.gpg  and the command was successfull. Aren't the private keys "unexportable", since they reside on the YubiKey? I'm no security expert, so pardon if I'm missing something obvious.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

You must follow the order of the guide, first you export the public key, make the backup on your removable device and finally you transfer your keys to the Yubikey, in the guide it says:
**Important** Transferring keys to YubiKey using keytocard is a destructive, one-way operation only. Make sure you've made a backup before proceeding: keytocard converts the local, on-disk key into a stub, which means the on-disk copy is no longer usable to transfer to subsequent security key devices or mint additional keys.


HDFS-16671. RBF: RouterRpcFairnessPolicyController supports configurable permit acquire timeout

RouterRpcFairnessPolicyController supports configurable permit acquire timeout. Hardcode 1s is very long, and it has caused an incident in our prod environment when one nameserivce is busy.
And the optimal timeout maybe should be less than p50(avgTime).
And all handlers in RBF is waiting to acquire the permit of the busy ns.
"IPC Server handler 12 on default port 8888" #? daemon prio=? os_prio=0 tid=? nid=?  waiting on condition [?]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <?> (a java.util.concurrent.Semaphore$NonfairSync)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1037)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1328)
	at java.util.concurrent.Semaphore.tryAcquire(Semaphore.java:409)
	at org.apache.hadoop.hdfs.server.federation.fairness.AbstractRouterRpcFairnessPolicyController.acquirePermit(AbstractRouterRpcFairnessPolicyController.java:56)
	at org.apache.hadoop.hdfs.server.federation.fairness.DynamicRouterRpcFairnessPolicyController.acquirePermit(DynamicRouterRpcFairnessPolicyController.java:123)
	at org.apache.hadoop.hdfs.server.federation.router.RouterRpcClient.acquirePermit(RouterRpcClient.java:1500)

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 43s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  1s

codespell was not available.

+0 :ok:
detsecrets
0m  1s

detect-secrets was not available.

+0 :ok:
xmllint
0m  1s

xmllint was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
38m 30s

trunk passed

+1 :green_heart:
compile
0m 58s

trunk passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
compile
0m 54s

trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
checkstyle
0m 51s

trunk passed

+1 :green_heart:
mvnsite
1m  3s

trunk passed

+1 :green_heart:
javadoc
1m  9s

trunk passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
javadoc
1m 17s

trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
spotbugs
1m 48s

trunk passed

+1 :green_heart:
shadedclient
21m 25s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 41s

the patch passed

+1 :green_heart:
compile
0m 46s

the patch passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
javac
0m 46s

the patch passed

+1 :green_heart:
compile
0m 39s

the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
javac
0m 39s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m 24s

the patch passed

+1 :green_heart:
mvnsite
0m 44s

the patch passed

+1 :green_heart:
javadoc
0m 40s

the patch passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
javadoc
0m 59s

the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
spotbugs
1m 29s

the patch passed

+1 :green_heart:
shadedclient
20m 35s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

-1 :x:
unit
21m 56s
/patch-unit-hadoop-hdfs-project_hadoop-hdfs-rbf.txt
hadoop-hdfs-rbf in the patch passed.

+1 :green_heart:
asflicense
0m 54s

The patch does not generate ASF License warnings.

120m 31s

Reason
Tests

Failed junit tests
hadoop.hdfs.server.federation.fairness.TestRouterRpcFairnessPolicyController

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4597/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/4597

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets xmllint

uname
Linux b5ac6535d8d3 4.15.0-169-generic #177-Ubuntu SMP Thu Feb 3 10:50:38 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 300d8ee4cdc6e947826d469442a41c5cfe0534b7

Default Java
Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS> /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4597/2/testReport/

Max. process+thread count
2297 (vs. ulimit of 5500)

modules
C: hadoop-hdfs-project/hadoop-hdfs-rbf U: hadoop-hdfs-project/hadoop-hdfs-rbf

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4597/2/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 43s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+0 :ok:
xmllint
0m  0s

xmllint was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
38m 56s

trunk passed

+1 :green_heart:
compile
1m  2s

trunk passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
compile
0m 58s

trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
checkstyle
0m 52s

trunk passed

+1 :green_heart:
mvnsite
1m  3s

trunk passed

+1 :green_heart:
javadoc
1m  8s

trunk passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
javadoc
1m 16s

trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
spotbugs
1m 48s

trunk passed

+1 :green_heart:
shadedclient
21m 15s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 43s

the patch passed

+1 :green_heart:
compile
0m 46s

the patch passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
javac
0m 46s

the patch passed

+1 :green_heart:
compile
0m 40s

the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
javac
0m 40s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m 26s

the patch passed

+1 :green_heart:
mvnsite
0m 44s

the patch passed

+1 :green_heart:
javadoc
0m 41s

the patch passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
javadoc
0m 58s

the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
spotbugs
1m 27s

the patch passed

+1 :green_heart:
shadedclient
20m 22s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
21m 49s

hadoop-hdfs-rbf in the patch passed.

+1 :green_heart:
asflicense
0m 53s

The patch does not generate ASF License warnings.

120m 42s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4597/3/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/4597

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets xmllint

uname
Linux a5492a0cb95f 4.15.0-169-generic #177-Ubuntu SMP Thu Feb 3 10:50:38 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / bfb922926e46f644cad83389f6ca9c404085315d

Default Java
Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS> /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4597/3/testReport/

Max. process+thread count
2761 (vs. ulimit of 5500)

modules
C: hadoop-hdfs-project/hadoop-hdfs-rbf U: hadoop-hdfs-project/hadoop-hdfs-rbf

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4597/3/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@goiri Thanks for you review, I learned a lot. Please help me review this patch, thanks.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 42s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  1s

codespell was not available.

+0 :ok:
detsecrets
0m  1s

detect-secrets was not available.

+0 :ok:
xmllint
0m  1s

xmllint was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
39m 27s

trunk passed

+1 :green_heart:
compile
0m 50s

trunk passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
compile
0m 52s

trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
checkstyle
0m 42s

trunk passed

+1 :green_heart:
mvnsite
0m 59s

trunk passed

+1 :green_heart:
javadoc
0m 56s

trunk passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
javadoc
1m 15s

trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
spotbugs
1m 43s

trunk passed

+1 :green_heart:
shadedclient
21m 53s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 42s

the patch passed

+1 :green_heart:
compile
0m 44s

the patch passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
javac
0m 44s

the patch passed

+1 :green_heart:
compile
0m 40s

the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
javac
0m 40s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m 27s

the patch passed

+1 :green_heart:
mvnsite
0m 43s

the patch passed

+1 :green_heart:
javadoc
0m 41s

the patch passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
javadoc
0m 57s

the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
spotbugs
1m 26s

the patch passed

+1 :green_heart:
shadedclient
20m 40s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
23m  4s

hadoop-hdfs-rbf in the patch passed.

+1 :green_heart:
asflicense
0m 47s

The patch does not generate ASF License warnings.

122m 10s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4597/4/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/4597

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets xmllint

uname
Linux e1bcb4eb6966 4.15.0-169-generic #177-Ubuntu SMP Thu Feb 3 10:50:38 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / d985449246a38b8399ac9c716874924ef51da4bb

Default Java
Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS> /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4597/4/testReport/

Max. process+thread count
2736 (vs. ulimit of 5500)

modules
C: hadoop-hdfs-project/hadoop-hdfs-rbf U: hadoop-hdfs-project/hadoop-hdfs-rbf

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4597/4/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 42s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  1s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+0 :ok:
xmllint
0m  0s

xmllint was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
40m 40s

trunk passed

+1 :green_heart:
compile
0m 57s

trunk passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
compile
0m 51s

trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
checkstyle
0m 47s

trunk passed

+1 :green_heart:
mvnsite
0m 58s

trunk passed

+1 :green_heart:
javadoc
1m  2s

trunk passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
javadoc
1m 18s

trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
spotbugs
1m 47s

trunk passed

+1 :green_heart:
shadedclient
22m  4s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 41s

the patch passed

+1 :green_heart:
compile
0m 41s

the patch passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
javac
0m 41s

the patch passed

+1 :green_heart:
compile
0m 43s

the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
javac
0m 43s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m 32s

the patch passed

+1 :green_heart:
mvnsite
0m 59s

the patch passed

+1 :green_heart:
javadoc
0m 44s

the patch passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
javadoc
0m 58s

the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
spotbugs
1m 31s

the patch passed

+1 :green_heart:
shadedclient
20m 58s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
22m  7s

hadoop-hdfs-rbf in the patch passed.

+1 :green_heart:
asflicense
0m 53s

The patch does not generate ASF License warnings.

123m 50s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4597/5/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/4597

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets xmllint

uname
Linux b9138e5210e5 4.15.0-169-generic #177-Ubuntu SMP Thu Feb 3 10:50:38 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / fcbdd2fbf85cffccef4ad55223d4f1236564450a

Default Java
Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS> /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4597/5/testReport/

Max. process+thread count
2674 (vs. ulimit of 5500)

modules
C: hadoop-hdfs-project/hadoop-hdfs-rbf U: hadoop-hdfs-project/hadoop-hdfs-rbf

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4597/5/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@ayushtkn I just delete assertTrue(acquireTimeMs < 100 + 50); in TestRouterRpcFairnessPolicyController#testAcquireTimeout(). Please help me review it again and push it forward. Thanks

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
1m 16s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  1s

codespell was not available.

+0 :ok:
detsecrets
0m  1s

detect-secrets was not available.

+0 :ok:
xmllint
0m  1s

xmllint was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
41m 55s

trunk passed

+1 :green_heart:
compile
1m  3s

trunk passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
compile
0m 57s

trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
checkstyle
0m 47s

trunk passed

+1 :green_heart:
mvnsite
0m 57s

trunk passed

+1 :green_heart:
javadoc
1m  7s

trunk passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
javadoc
1m 13s

trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
spotbugs
2m  3s

trunk passed

+1 :green_heart:
shadedclient
22m 20s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 41s

the patch passed

+1 :green_heart:
compile
0m 44s

the patch passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
javac
0m 44s

the patch passed

+1 :green_heart:
compile
0m 40s

the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
javac
0m 40s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m 26s

the patch passed

+1 :green_heart:
mvnsite
0m 43s

the patch passed

+1 :green_heart:
javadoc
0m 41s

the patch passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
javadoc
0m 58s

the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
spotbugs
1m 31s

the patch passed

+1 :green_heart:
shadedclient
22m 18s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
22m 11s

hadoop-hdfs-rbf in the patch passed.

+1 :green_heart:
asflicense
0m 47s

The patch does not generate ASF License warnings.

126m 54s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4597/6/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/4597

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets xmllint

uname
Linux 58ab2853a7b1 4.15.0-169-generic #177-Ubuntu SMP Thu Feb 3 10:50:38 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / e5436d5a832fb785127e8ab33519820efdb8b564

Default Java
Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS> /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4597/6/testReport/

Max. process+thread count
2242 (vs. ulimit of 5500)

modules
C: hadoop-hdfs-project/hadoop-hdfs-rbf U: hadoop-hdfs-project/hadoop-hdfs-rbf

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4597/6/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

Merged! @ZanderXu Thanks for your contribution. @goiri @ayushtkn @slfan1989 Thanks for your reviews!


Let mdbook-xgettext generate a file in the same format as msgmerge

Today, mdbook-xgettext outputs a PO file which looks different from what msgmerge outputs. The result is that translators get a huge diff the first time they run msgmerge. This is confusing, e.g., see the question in https://github.com/google/comprehensive-rust/pull/743#issuecomment-1571732966. It is also annoying since it prevents people from reviewing the changes.

The changes for this should ideally be made in polib: https://github.com/BrettDong/polib/issues/8.


Minutes step cant be changed

                    <input type="text" class="form-control" ng-model="info.date"                         moment-picker="ctrl.myInput"                         minutes-start="0"                         minutes-step="1"                         minutes-end="59"                         >
Everything worked except minutes step. Cant change this value!

Got the same problem. Too me, minutes-format does not seem to work either.

Both works if I set them through the momentPickerProvider though

Both works if I set them through the momentPickerProvider though

Not working for me too..

It is property of momentPickerProvider, so you shouldn't use it on input tag.

I had the same problem so below solution works for me

minutesStep: "=?",  // define it in scope
wherever you find this.provider.minutesStep change it to this.$scope.minutesStep || this.provider.minutesStep
it will work. If not then contact me on<EMAIL_ADDRESS>


appending UPLOADCARE_STORE param based on "shouldStore" flag

Adding missing "shouldStore" flag to upload file request.

does uploadFileFromURL have the same issue or am I misunderstanding something?


Properly handle userinfo in Uri

userinfo has been deprecated, but should still be handled. The various host fns may not properly handle user info as well.

I'm going to assume this is fixed w/ #54 unless further issues are discovered.


Double negation translated incorrectly

This shader is translated incorrectly:
#version 450 core

layout(location = 0) in vec4 input1;
layout(location = 0) out vec4 outColor;

void main() {
    outColor = vec4(input1.x, -(-input1.y), input1.z, -(-input1.w));
}

to this:
    outColor = vec4(input1.x, --input1.y, input1.z, --input1.w);

The double negation in the original is due to preprocessor trickery.

Ah, probably some missed case with parenthesis removal optimization. Should be easy to fix.

Yes, I tracked it down to CompilerGLSL::enclose_expression which should check if expr begins with minus. I hacked around it locally but didn't make a PR because I'd have to write tests and everything. Also should probably check if the other backends are affected.

Fixed on master.


New Endpoints

Changes
Most code is taken from #358 allowing it to be closed
[BREAKING] grouping into .skyblock for sb endpoints
Adds new endpoints that are in the api but not supported in reborn

Screenshots

Checkboxes

[x] I've added new features. (methods or parameters)
[x] I've added jsdoc and typings.
[ ] I've fixed bug. (optional you can mention a issue if there is one)
[ ] I've corrected the spelling in README, documentation, etc.
[x] I've tested my code. (npm run tests)
[x] I've check for issues. (npm run eslint)
[x] I've fixed my formatting. (npm run prettier)

There is no current open mayor election so tests will fail

@ChiefChippy2

@ChiefChippy2

will review on weekends


Every thing is installed

I have installed everything to run this bot on one of my servers and it cannaot stay up for 1/2 a secound.
The log is below:
0 info it worked if it ends with ok 1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe', 1 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js', 1 verbose cli   'start' ] 2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose run-script [ 'prestart', 'start', 'poststart' ] 5 info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>6 silly lifecycle<EMAIL_ADDRESS>no script for prestart, continuing 7 info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>8 verbose lifecycle<EMAIL_ADDRESS>unsafe-perm in lifecycle true 9 verbose lifecycle<EMAIL_ADDRESS>PATH: C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin;C:\Users\User\Desktop\Gravebot\Gravebot-master\node_modules\.bin;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\WINDOWS\system32\config\systemprofile\.dnx\bin;C:\Program Files\Microsoft DNX\Dnvm\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files\nodejs\;C:\Users\User\AppData\Local\Programs\Python\Python35\Scripts\;C:\Users\User\AppData\Local\Programs\Python\Python35\;C:\Users\User\AppData\Roaming\npm 10 verbose lifecycle<EMAIL_ADDRESS>CWD: C:\Users\User\Desktop\Gravebot\Gravebot-master 11 silly lifecycle<EMAIL_ADDRESS>Args: [ '/d /s /c', 'node index.js' ] 12 silly lifecycle<EMAIL_ADDRESS>Returned: code: 1  signal: null 13 info lifecycle<EMAIL_ADDRESS>Failed to exec start script 14 verbose stack Error<EMAIL_ADDRESS>start: node index.js14 verbose stack Exit status 1 14 verbose stack     at EventEmitter.<anonymous> (C:\Program Files\nodejs\node_modules\npm\lib\utils\lifecycle.js:255:16) 14 verbose stack     at emitTwo (events.js:106:13) 14 verbose stack     at EventEmitter.emit (events.js:191:7) 14 verbose stack     at ChildProcess.<anonymous> (C:\Program Files\nodejs\node_modules\npm\lib\utils\spawn.js:40:14) 14 verbose stack     at emitTwo (events.js:106:13) 14 verbose stack     at ChildProcess.emit (events.js:191:7) 14 verbose stack     at maybeClose (internal/child_process.js:877:16) 14 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5) 15 verbose pkgid<EMAIL_ADDRESS>16 verbose cwd C:\Users\User\Desktop\Gravebot\Gravebot-master 17 error Windows_NT 6.3.9600 18 error argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "start" 19 error node v6.9.1 20 error npm  v3.10.8 21 error code ELIFECYCLE 22 error<EMAIL_ADDRESS>start:node index.js 22 error Exit status 1 23 error Failed at the<EMAIL_ADDRESS>start script 'node index.js'.
I am either in the wrong or this is a bug

Gravebot is currently built against node 4, not node 6. While there should be no difference between the two, there still could be issues. Our windows support is also limited too. We've given what we could for an install guide for windows, but otherwise you're on your own.
ELIFECYCLE I've usually seen if the process is out of CPU resources to use. With a small community you usually don't see that kind of error with Gravebot.

The server has a 3.5 ghz cpu and 8gb of ram with a 500gb ssd. not very big but packs a punch.

That's far more then enough to run Gravebot. We run it with 450k users on much less. Try switching out the node versions, deleting your node_modules folder, and rerunning npm i. Some Windows users have reported having to run npm run postinstall after installation as npm doesn't fire it on it's own.

thank you for the response, I thought my server was underperforming, I'll keep trying


a little mistake about the directive demo

Maybe i find a little mistake when i reading the section about directive
I make a screenshot like below

The value of expression binding.arg is not "hello" but "foo"

This should be fixed now! Thanks for reporting it. 😄


[Question] For the Java PB object generated by Protobuf, the serialization and deserialization using Fury are slower than using Protobuf.

GrpcService.ModelInferRequest` resp = GrpcService.ModelInferRequest
                    .newBuilder()
                    .addAllInputs(inputs)
                    .build();

             byte[] data = fury.serializeJavaObject(resp);
             fury.deserializeJavaObject(data, GrpcService.ModelInferRequest.class);

             byte[] data = resp.toByteArray();
             GrpcService.ModelInferRequest.parseFrom(data);

@chaokunyang

@a1342772 Java PB object generated by Protobuf is an internal object representation in Protobuf, it hold many internal state for protobuf usage only. You should not serialize such objects using other seiralization framework. You could define your data using POJO and pass such obejcts to Fury instead.

@a1342772 If you do want serialize such Protobuf generated objects using Fury, you could do following optimization:

Implement  serializers by extends org.fury.serializer.Serializer for com.google.protobuf.Internal$IntList/DoubleList/FloatList/LongList/BooleanList/ShortList
Implement serializer for com.google.protobuf.UnknownFieldSet
Register all those serializers to Fury.

At last,  Protobuf generated objects cached many fields data such as booleanArrayMemoizedSerializedSize/longArrayMemoizedSerializedSize/memoizedHashCode/memoizedIsInitialized/memoizedSize/bitField0_/, they are all redundant. You shoud find a way to skip serialization of those fields.

@a1342772 could you share the full proto definition here for the data you want to serialize? We can't do anything with the code you post in this issue

1.The Java POJO is too large, and directly serializing it with Fury takes a long time. Therefore, it's necessary to convert it into a Protobuf (pb) object before serialization. Do you have any solutions to this problem? 2.Do you have examples of Java serializing Protobuf objects? @chaokunyang chao

I don't think serializing the pojo with Fury directly will take a longer time. There are already  many companies switches from pb to fury and they all get several times speedup. If you could a fully reproducible code, and share jmh benchmark results, we could take a look at it. Otherwise, i don't think we can do anything.

The application scenario is search and recommendation, where proto objects need to be constructed for model inference，The proto file is as follows:
grpc_service.proto.txt
The test code is as follows:
static Fury furyTest;
static {
    furyTest = Fury.builder()
            .withLanguage(Language.JAVA)
            .requireClassRegistration(false)
            .withCodegen(false)
            .withRefTracking(false)
            .withAsyncCompilation(true)
            .build();
}

public static void main(String[] args) {
    Map<String, ArrayList<FeaOutputV3>> itemsFeatDataV3 = new HashMap<>();
    int numFeatures = 320;
    int numColumns = 20;

    // 模拟特征数据
    for (int i = 0; i < numFeatures; i++) {
        String featureName = "feature_" + i;
        ArrayList<FeaOutputV3> featureDataList = new ArrayList<>();

        for (int j = 0; j < numColumns; j++) {
            IntList featureValues = new IntArrayList();
            for (int k = 0; k < numColumns; k++) {
                featureValues.add(i * numColumns + k);
            }
            FeaOutputV3 feaOutputV3 = new FeaOutputV3();
            feaOutputV3.setFixSizeList(featureValues);
            featureDataList.add(feaOutputV3);
        }

        itemsFeatDataV3.put(featureName, featureDataList);
    }

    // 构建输入张量
    GrpcService.ModelInferRequest.InferInputTensor.Builder tensorBuilder =
            GrpcService.ModelInferRequest.InferInputTensor.newBuilder();
    GrpcService.InferTensorContents.Builder tensorContentBuilder =
            GrpcService.InferTensorContents.newBuilder();

    List<GrpcService.ModelInferRequest.InferInputTensor> inputs = new ArrayList<>();
    itemsFeatDataV3.forEach((name, featList) -> {
        int l1 = featList.size();
        if (CollectionUtils.isNotEmpty(featList.get(0).getFixSizeList())) {
            int l2 = featList.get(0).getFixSizeList().size();
            IntList features = new IntArrayList(l1 * l2);

            featList.forEach(feaOutput -> features.addAll(feaOutput.getFixSizeList()));
            inputs.add(featureBuildWithFast(tensorBuilder, tensorContentBuilder, features, name, l1, l2));
        }
    });

    // 测试序列化性能
    for (int count = 0; count < 50; count++) {
        long startSerialization = System.nanoTime();
        GrpcService.ModelInferRequest resp = GrpcService.ModelInferRequest
                .newBuilder()
                .addAllInputs(inputs)
                .build();

        byte[] data = furyTest.serializeJavaObject(resp);
        furyTest.deserializeJavaObject(data, GrpcService.ModelInferRequest.class);

        //protobuf
        //byte[] data = resp.toByteArray();
        //GrpcService.ModelInferRequest.parseFrom(data);
        long endSerialization = System.nanoTime();
        long serializationTimeMs = (endSerialization - startSerialization) / 1_000_000;

        System.out.println("Serialization time (milliseconds): " + serializationTimeMs + " size: " + data.length);
    }
}

public static GrpcService.ModelInferRequest.InferInputTensor featureBuildWithFast(
        GrpcService.ModelInferRequest.InferInputTensor.Builder tensorBuilder1,
        GrpcService.InferTensorContents.Builder tensorContentBuilder2,
        IntList features, String featureName, int l1, int l2) {

    GrpcService.ModelInferRequest.InferInputTensor.Builder tensorBuilder =
            GrpcService.ModelInferRequest.InferInputTensor.newBuilder();
    GrpcService.InferTensorContents.Builder tensorContentBuilder =
            GrpcService.InferTensorContents.newBuilder();
    if (features == null) {
        features = new IntArrayList();
    }
    tensorContentBuilder.addAllIntContents(features);
    GrpcService.ModelInferRequest.InferInputTensor input = tensorBuilder.setName(featureName)
            .setDatatype("INT32")
            .addShape(l1)
            .addShape(l2)
            .setContents(tensorContentBuilder)
            .buildPartial();
    return input;
}`

@chaokunyang The bytes obtained by directly serializing a Java object "itemsFeatDataV3"  with Fury are several times larger than those obtained by serializing the object after constructing the Protobuf object.

You disabled FURY JIT, the serialization will be slow:
furyTest = Fury.builder()
            .withLanguage(Language.JAVA)
            .requireClassRegistration(false)
            .withCodegen(false)
            .withRefTracking(false)
            .withAsyncCompilation(true)
            .build();

please create fury like this:
fury = Fury.builder()
            .withLanguage(Language.JAVA)
            .withRefTracking(false)
            .build();

And register all the types, please don't disable class registration:
fury.register(GrpcService.ModelInferRequest.InferInputTensor.class);
fury.register(GrpcService.ModelInferRequest.class);
fury.register(GrpcService.InferTensorContents.class);

@chaokunyang

The protected object cannot be registered.

@a1342772 You could pass a qualified string instead like fury.register("com.google.protobuf.GeneratedMessageLite.SerializedForm")
instead. Please take a look at the Java API in fury class.

Version 0.9.0 does not provide the corresponding API.

Use fury.getClassResolver().register() instead. I forgot to add it to BaseFury interface

You can also invoke Class.forname() instead

After a 200-time warmup with the following configuration:

Direct serialization and deserialization of proto objects take 20ms using Protobuf, while Fury takes 23ms. Fury cannot be applied directly to proto objects. Is there a way to bridge this gap?

@chaokunyang Are there any solutions for serializing and deserializing proto objects using Fury?

Could you give me a unit test which I can run directly? Or share the flamegraph here

@chaokunyang Of course, I can. I have built a very simple Java project. Directly run the main method in the MAIN class, which provides two serialization methods: Fury and Protobuf.
fury.zip

Protobuf generated classes implements JDK writeReplace method, so Fury invoke that method for compatibility.

Protobuf generated classes can only be serialized by Protobuf, you need to use PB for serialization. Otherwise you should pass your POJO objects.

It's possible to extend Fury to serialize pb generated in a special way to get the speed up you want, but that will take time and lots of efforts.

@chaokunyang The pojo object is much larger than the pb object. If the pojo is not converted to the pb object and is serialized directly, the serialized size will be very large.

@chaokunyang The pojo object is much larger than the pb object. If the pojo is not converted to the pb object and is serialized directly, the serialized size will be very large.

Maybe we could look into why the serialized size of POJO is larger. Perhaps we can make it smaller, which might be the right direction.
Your case are very similiar with inference in search and recommendation systems. Fury has been appied into many such scenarios and they all get 30ms letency reduction.
Some suggestions here:

Make Fury support serialize protobuf generated objects: lots of work but feasible technically, and can make migrating from protobuf more easier. It's a huge work, we don't have time for this currently. If you want this, you may need to change fury code by yourself for that. But I'm happy to help you review your PR.
Find out why the pojo in your system has much bigger serialized size, we never see such issues. It's mostly not related to fury. Maybe you defined some JDK serialization method which forward serialization to JDK/Json. To find out what happened, you need to show your code and object data, maybe debuging into your code.


Content of Verifier.toml is not valid

Using the provided values:
y = "4"
setpub = []

it returns:
root@1ff1697833b8:~/circuits# nargo verify my_proof
thread 'main' panicked at 'Expected 1 number of values in Verifier.toml, but got 2 number of values', crates/nargo/src/cli/verify_cmd.rs:83:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

I believe it should be the following:
y = "4"

Thanks for creating the issue.
The detailed guide on the Noir page has been depreciated in the favor of maintaining one single source of truth in the Noir book. This issue was addressed correspondingly in https://github.com/noir-lang/book/pull/22/.


Support: Autodoc does not work

Details

Project URL: https://github.com/mcocdawc/chemcoord
Build URL: https://readthedocs.org/projects/chemcoord/builds/5936626/
Read the Docs username: mcocdawc

Actual Result
As you can see here, the autodocumentation does not work. Usually the reason were ImportErrors, but the build log does not show any such errors. (The only warning is, that _static is missing). If I compile the project locally with the same sphinx version (1.5.3) it works perfectly fine. I am a bit lost, to find the reason for this autodocumentation error. Could you please help me?

Ok apparently you made a fix, because I did not push any commits and it works again now. Thanks


Sending rich_text yields invalid_block

I want to compose a rich text message because I prefer the stronger typing of RichTextSectionElement.Text and RichTextSectionElement.Emoji. However, the snippet below yields invalid_blocks when passed to the API.
Reproducible in:
Adoptium Java 11.0.11 (fka AdoptOpenJDK)
Linux
Slack Bolt API 1.7.1
The Slack SDK version
+--- com.slack.api:bolt-jetty:1.7.1
|    +--- com.slack.api:slack-api-model:1.7.1
|    +--- com.slack.api:slack-api-client:1.7.1
|    |    +--- com.slack.api:slack-api-model:1.7.1 (*)
|    +--- com.slack.api:slack-app-backend:1.7.1
|    |    +--- com.slack.api:slack-api-model:1.7.1 (*)
|    |    +--- com.slack.api:slack-api-client:1.7.1 (*)
|    +--- com.slack.api:bolt:1.7.1
|    |    +--- com.slack.api:slack-api-model:1.7.1 (*)
|    |    +--- com.slack.api:slack-api-client:1.7.1 (*)
|    |    \--- com.slack.api:slack-app-backend:1.7.1 (*)
|    +--- com.slack.api:bolt-servlet:1.7.1
|    |    +--- com.slack.api:slack-api-model:1.7.1 (*)
|    |    +--- com.slack.api:slack-api-client:1.7.1 (*)
|    |    +--- com.slack.api:slack-app-backend:1.7.1 (*)
|    |    \--- com.slack.api:bolt:1.7.1 (*)

Java Runtime version
AdoptOpenJDK Java 11.0.11
OS info
Linux
Steps to reproduce:
Construct a LayoutBlock like this:
import static com.slack.api.model.block.Blocks.richText;
import static com.slack.api.model.block.element.BlockElements.richTextSection;

                richText(rt -> rt.elements(List.of(
                        richTextSection(rts -> rts.elements(List.of(
                                RichTextSectionElement.Text.builder().text("Approved by ").build(),
                                RichTextSectionElement.User.builder().userId("U1234567890").build(),
                                RichTextSectionElement.Text.builder().text("!").build()
                        )))
 )))

Pass it to a ChatPostMessageRequest.
Expected result:
Message posted
Actual result:
ChatPostMessageResponse(ok=false, warning=null, error=invalid_blocks, needed=null, provided=null, deprecatedArgument=null, errors=null, responseMetadata=null, channel=null, ts=null, message=null)

Requirements
Please make sure if this topic is specific to this SDK. For general questions/issues about Slack API platform or its server-side, could you submit questions at https://my.slack.com/help/requests/new instead. :bow:
Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you are agreeing to the those rules.

I tried it with just text:
import com.slack.api.model.block.element.RichTextSectionElement;
import static com.slack.api.model.block.Blocks.richText;
import static com.slack.api.model.block.element.BlockElements.richTextSection;

                List.of(richText(r -> r.elements(List.of(richTextSection(s -> s.elements(List.of(
                        RichTextSectionElement.Text.builder().text("Richly approved.").build()
                )))))))

Here's the form request:
channel=C0XXXHXXKS&thread_ts=1619907067.015900&text=yu%20fully%20approved%21&link_names=0&mrkdwn=1&blocks=%5B%7B%22type%22%3A%22rich_text%22%2C%22elements%22%3A%5B%7B%22type%22%3A%22rich_text_section%22%2C%22elements%22%3A%5B%7B%22type%22%3A%22text%22%2C%22text%22%3A%22Richly%20approved.%22%7D%5D%7D%5D%7D%5D&unfurl_links=0&unfurl_media=0&thread_ts=1619907067.015900&reply_broadcast=0

form decoded:
blocks=[{"type":"rich_text","elements":[{"type":"rich_text_section","elements":[{"type":"text","text":"Richly approved."}]}]}]

And this works in the block kit builder.

Hi @jeffalder, thanks or asking the question!
Unfortunately, any 3rd party Slack apps are unable to populate the rich_text blocks. As mentioned in this changelog, those blocks are available only for Slack client apps (Desktop, Web Browser, iOS, Android)' WYSIWYG editors.
This SDK supports the types of the rich_text blocks only for parsing conversations.history data and so forth. For constructing rich messages, please use top-level text field with the Slack text format or blocks with other types.

Thanks for the quick answer! Is this documented elsewhere other than 1 sentence from a blog post from 2 years ago? I clearly missed that in scanning for hints, and I'd be interested in helping other developers not make the same mistake I did.

@jeffalder

Is this documented elsewhere other than 1 sentence from a blog post from 2 years ago?

No, it isn't. We don't want to highlight rich_text blocks in the Bolt document by adding a section for it but I'm happy to add quick comments in the javadocs if it may help new users.

@jeffalder Thanks again for reporting this and the improvement by #740 ! The newer version (v1.8.0) including your change will be released before long.

Ok so this is unsupported. I could not find this anywhere. Can this be documented here? https://api.slack.com/methods/chat.postMessage
Right now all you get is invalid_blocks which is frustrating. No accompanying errors (it's null).
At least populate the errors in the response or make a new error saying rich text is unsupported.


Make jump instructions take a self+0 relative jump

Jump instructions have the target encoded as a relative offset in the immediate. This offset is relative to the current offset + 1. So for example, JMP 0 is an unconditional jump forwards. This doesn't make much sense, as the offset is signed, and a JMP -1 is an infinite loop. It probably makes more sense to just use the offset as-is. It's easier to work with and clearer to understand.
This would require a change in the front end, interpreter, and compiler.

This is the standard way jmp works for assembly languages.  I know it doesn't make sense, but I strongly vote to keep it this way.

alright, fair enough.


Fix goroutine unsafety code

fix #15

I'm sorry. This patch has problems, so I'll close this PR :cry:


Replace "virtual workspace" terminology with something else everywhere

Old
New

virtual workspace
service

APIExport virtual workspace
APIExport service

Syncer virtual workspace
Syncer service

Workspaces virtual workspace
Workspaces service

Initializing workspaces virtual workspace
Initializing workspaces service

pkg/virtual
pkg/service

cmd/virtual-workspaces
cmd/kcp-services (?)

docs/virtual-workspaces.md
docs/services.md

global search for "virtual workspace" and addressing results as needed

+10000

Some of these make me wonder if we'll be muddying up the term service.  A service, in my head, encapsulates the entirety of:

The exposed API
The virtual workspace view
The implementation that fulfils requests
Maybe other things specific to how I implement my service

But I like where this is going.  Is there value in keeping the workspace concept in there?  Like virtual workspace -> service workspace. Or maybe that confuses the place the service is deployed too, so maybe virtual workspace -> service api workspace.

@pweil- we need to remove "workspace" from this term - these "things" are not workspaces 😄

😆

If I understand correctly, the concept here is very analogous to what, in the database community, is called a "view".  I think we should focus on that term, it will readily lead the reader in the right direction.
If I understand correctly, there is one more critical specific feature of the concept here, which is that a virtual workspace looks the same, to a client, as a plain Kube cluster or a kcp workspace.  That is, it provides what I call a "kube API service".
So I suggest the following possibilities.

view API service
view service
API service view
service view

I prefer the first two because I think they are less restrictive in semantics.  The latter two suggest that one of these is a view of one API sservice, and I think that cardinality restriction is not something we desire here.

Yep, we had brandied around the "view" terminology early on as well.

I like view as that doesn't conflict with the core v1 Service API type. Would also rework /services to /views in the URLs.
@sttts @davidfestal @stevekuznetsov let's nail this down - would you prefer service or view? (or <shudder> do you want to suggest something else?)

I really prefer views

This is what the table looks like for views:

Old
New

virtual workspace
view

APIExport virtual workspace
APIExport view

Syncer virtual workspace
Syncer view

Initializing workspaces virtual workspace
Initializing workspaces view

pkg/virtual
pkg/view (or pkg/views)

cmd/virtual-workspaces
cmd/kcp-views

docs/virtual-workspaces.md
docs/views.md

view sounds good to me

+1 for view :")

+1 for view

+1 for view. Just like the concepts of table and view of database.


createami fails with error "must contain the parameter size or snapshotId"

Background Info:

AWS ParallelCluster version [e.g. 2.9.0]: 2.10.2

Block of Config file:

[cluster pc2102]
base_os                      = alinux2
ebs_settings                 = apps

[ebs apps]
shared_dir                   = /apps
ebs_snapshot_id              = snap-XX

Bug description and how to reproduce:
pcluster createami command returns with exit code 1. Inside packer logs, we see the error as below:
custom-alinux2: Adding tag: "Name": "Packer Builder ami-XX
custom-alinux2: Adding tag: "parallelcluster_version": "aws-parallelcluster-2.10.2"
==> custom-alinux2: Error launching source instance: MissingParameter: The request must contain the parameter size or snapshotId
==> custom-alinux2:     status code: 400, request id: e551fc84-92da-4845-8904-7d35d62a02da

Config File pasted below:
[aws]
aws_region_name = us-east-1

[global]
update_check = true
sanity_check = false
cluster_template = DEVA

[cluster DEVA]
vpc_settings                 = vpc-config
key_name                     = keypair
ec2_iam_role                 = HPCAdministratorAccess
placement_group              = DYNAMIC
placement                    = compute
compute_instance_type        = m5.xlarge
master_instance_type         = m5.large
initial_queue_size           = 1
max_queue_size               = 50
scheduler                    = sge
#cluster_type                 = spot
cluster_type                 = ondemand
#spot_price                   = 1.00

custom_ami                      = ami-XX

scaling_settings             = custom
base_os                      = alinux2
ebs_settings                 = apps
master_root_volume_size      = 100
compute_root_volume_size     = 100

[vpc vpc-config]

vpc_id                       = vpc-XX
#AZ us-east-1c
master_subnet_id            = subnet-XX
#Az us-east-1a

use_public_ips               = false
vpc_security_group_id        = sg-XX

[scaling custom]
scaledown_idletime = 60

[ebs apps]
shared_dir                   = /apps
ebs_snapshot_id              = snap-XX

Command used to create ami:
pcluster createami --ami-id ami-XX --os alinux2

Hi @siddheshsalunke,
Thanks for reaching out, I'd suggest to check the OS of base ami, is the OS of base ami ami-XX in your case same as the value of --os option you specified? If it's not the case, could you provide more information about your base AMI like Root Device Name? If you don't mind, please provide ami-id as well for further investigation.
Thank you

Hi @yuleiwan,
Yes, The base ami is same as mentioned in the --os.
For root device, I have these details:
Filesystem       Type    Size
/dev/xvda1     xfs       65G
Also the AMI-ID : ami-0d8f82acad91540ee
Please let me know, if you need more details.

Hi @siddheshsalunke,
Could you use command aws ec2 describe-images --image-ids  ami-0d8f82acad91540ee --region {your_region} to retrieve the DeviceName info? The failure MissingParameter: The request must contain the parameter size or snapshotId is caused by mismatching the root volume device name between base ami and packer process. In packer process, the root volume device name is set as /dev/xvda for alinux2, if your root volume device name of base ami is not  /dev/xvda, build will fail.


Check Isomorphism

This PR adds a function to check whether two Graphs are isomorphic equivalent regarding blank nodes.
Supports: #72
This more or less resembles the algorithm used in oxigraph by @Tpt. However, I had to adapt it to sophia's API.
The algorithm
To check if two RDF graphs are equal their triples must be compared. However, blank nodes are local to the scope of their graphs. Accordingly, the labels of blank nodes does not matter when we compare two graphs only that they refer to the same thing.
The idea behind the implementation is that for each BN a distinct hash is calculated. if we do this for each BN in the two graphs a mapping from BNs of the first graph to the BNs of the second graph can be derived. If the mapping is applied to the BNs of the first graph the result should be absolute equal to the second graph.
To calculate the distinct hashes for a BN we calculate the hash of the hashes of each triple that contains the BN at any position. To eliminate the dependency from BN labels, BNs are excluded from the hashing.
Should the hashes of BNs collide within a graph the hashes for those BNs are improved. This is done by hashing adjacent triples in the graph, i.e. we traverse further from subjects and objects and include the traversed triples in the hash. Iteratively the hashes are improved until no collisions are left. (In my implementation the traversal is actually limited to 8 steps).
ToDo

[x] Add more (complex) tests to verify the implementation.
[x] Implementation for datasets

Future work
The code should become easier when we introduce a term-trait.

@pchampin sadly I had to add some utility function are those okay?
@Tpt could you verify that my version of the algorithm is correct?

@Tpt I detected an issue in the algorithm when a graph includes redundant blank nodes. The problem is closer described in the function's documentation.

Does anyone know/understand why Travis CI stuck?

Does anyone know/understand why Travis CI stuck?

Can you elaborate?
Note that I don't have a strong feeling between Travis and Github CI. It's just that I'm no expert in either one.

Well if I look into Travis it states that the check started about 4 days ago and is still queued. But no particular test is being executed so far. However, I ran the tests, clippy and fmt locally so non of them should fail.
Submitting another commit just to restart Travis wrong seems to me.

Well if I look into Travis (...)

this is actually Github's rendering of Travis's report. If you click on the link at the bottom, you are lead there which shows that all tests have passed 4 days ago.
So it seems to be a glitch on Github's side. Could this be intentional to lead us to migrate to GH CI? :smiling_imp:

As the PR is already merged and only Travis is still doing silly things I clean up by closing this PR.


Show smaller NSFW tag if it's my content

The Issue
If I have Show NSFW content unselected, and have published NSFW content, the title and thumbnail will not be visible. We should still show them.
Steps to Reproduce

Make sure Show NSFW content is unselected in settings
Publish a NSFW claim
View your list of published claims

Expected Behaviour
I should be able to see the title/thumbnail for every claim I've published
Actual Behaviour
NSFW content isn't fully visible
Suggested Solutions
fileCard/view.jsx should check if the url is mine, if it is, ignore NSFW

After https://github.com/lbryio/lbry-app/pull/1585 we don't show the NSFW cover which is much better, maybe we don't even need to show a NSFW marker? If we do show it, i'm not sure how it should be presented. I'll keep this open for now if anyone has ideas.

closing


No way to configure a more specific CORS

At the moment I don't think there's no way to set up CORS that is more specific than completely specific.
https://github.com/johanhelsing/matchbox/blob/main/matchbox_signaling/src/signaling_server/builder.rs#L93-L102
Could this be something that could be added?

nvm see the mutate_router method!


Sounds & music & texts & chat rework

PlaySound(sound, [id](IdPtr<IMob> mob) { return mob.Id() == id; })

That will allow to produce multiple frames for different players in same executable. Now it is possible for visual part (sprites & interface), but not for sounds.
Kind of needed for #403

That should be:
PlaySound(sound, location_id, Functor optional_filter);
PlaySound("fire.wav", GetOwner().Id(), [](IdPtr<IMob> mob){ return IsNotDeaf(mob); });

Callbacks are not needed, so just position of the sound should be enough.

Works for now, but it is needed to do #249

GetTexts() is used in InitGui, and InitGui is called now for every mob (even if it is not current mob), so it is needed to filter messages by mob.

It seems like InitGui/DeinitGui are not needed actually.
Everything can be done in Represent in some way.

Maybe they are not really needed, but quite useful in some situations.
But PlayMusic should be adapted to new MindEnter/MindExit situation.

Chat messages should be in a frame.

Frame should not be missed by representation.

For representation (per-client info) there should be separate texts tab.

Only auxiliary signals/slots remain in Game class, so it is possible to separate core properly.


My understanding of the functions of the oos bot.

How it works
First, we can associate the oos bot to our git repo, or in other word, authorize some permissions of the git repo to the oos bot.
At the same time, the oos bot can be associated with a WeChat group(or mail list). This established a git repo-> oos bot-> WeChat group channel.
Afterwards, the oos bot will detect events on the git repo, such as new issue submissions, and the oos bot will sync these issues to the WeChat group or mail list.
Members of WeChat group (or mail group) should be committers or long-term contributors to open source projects.
Furthermore, the oos bot can detect which issues have not been responded to, or other custom monitoring conditions (such as the "issue is not classified", "there is no milestone", etc.). And based on these conditions, send reminder messages (separate or summary) to the WeChat group or mail list. This makes it easier for project maintainers to better handle these issues.
Mail List
I understand that one of the main purposes of the oos bot is to solve the mail list management issues related to open source projects (especially the apache project). Most apache projects (especially those in China), because of habit issues, do not pay much attention to the use of mail list.
I think oos bot can strengthen the management of mail list in the following aspects:

Sync issue content (in clear mail format) to dev mail list. Responses to issues can be sent to the same mail thread.
Send a reminder email (such as "an issue that has not been processed for a long time") to a private mail list.
Periodically summarize the issue processing situation for a period of time and send it to the private mail list. Such as "how many issues in a week".

Thanks for your summarization!
I believe it's clear enough for us that that's exactly the direction that we are heading to.

It is ossbot, not oos bot.
Best regards,
Ted Liu,
Co-founder & chairman of the board, KAIYUANSHE | ASF Member, Sponsor Ambassador, Incubator PMC Member
2020 年 1 月 1 日周三 23:31，Mingyu<EMAIL_ADDRESS>写道：
How it works
First, we can associate the oos bot to our git repo, or in other word, authorize some permissions of the git repo to the oos bot.
At the same time, the oos bot can be associated with a WeChat group(or mail list). This established a git repo-> oos bot-> WeChat group channel.
Afterwards, the oos bot will detect events on the git repo, such as new issue submissions, and the oos bot will sync these issues to the WeChat group or mail list.
Members of WeChat group (or mail group) should be committers or long-term contributors to open source projects.
Furthermore, the oos bot can detect which issues have not been responded to, or other custom monitoring conditions (such as the "issue is not classified", "there is no milestone", etc.). And based on these conditions, send reminder messages (separate or summary) to the WeChat group or mail list. This makes it easier for project maintainers to better handle these issues.
Mail List
I understand that one of the main purposes of the oos bot is to solve the mail list management issues related to open source projects (especially the apache project). Most apache projects (especially those in China), because of habit issues, do not pay much attention to the use of mail list.
I think oos bot can strengthen the management of mail list in the following aspects:

Sync issue content (in clear mail format) to dev mail list. Responses to issues can be sent to the same mail thread.
Send a reminder email (such as "an issue that has not been processed for a long time") to a private mail list.
Periodically summarize the issue processing situation for a period of time and send it to the private mail list. Such as "how many issues in a week".

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


Pdf to EPUB

Hello!
I think what you’ve created is awesome! I’m currently looking to convert ebooks in pdf to EPUB. I would love to contribute but only have befinner skills in python.
Are you working on this atm?
How could I contribute? With some guidance I’ll happily try!

Hi,
I don't know if you are still looking for a solution. However, to convert pdf to epub, use Calibre.


Update request: fusuma OLDVERSION → NEWVERSION

Package name: fusuma
Latest released version: 3.5.0

Current version on the unstable channel: 3.3.1
Current version on the stable/release channel: 3.3.1

[ ] Checked the nixpkgs pull requests

Notify maintainers

Note for maintainers: Please tag this issue in your PR.

Add a :+1: reaction to issues you find important.
By the way, fusuma now use yml file instead of yaml file as config file.
now when I use HM service.fusuma.settings, it will generate a yaml file in .config, please update it to change it to a yml file.
and when I use service.fusuma.enable = true; it wont be installed.

By the way, fusuma now use yml file instead of yaml file as config file. now when I use HM service.fusuma.settings, it will generate a yaml file in .config, please update it to change it to a yml file. and when I use service.fusuma.enable = true; it wont be installed.

I guess that this should be addressed at home-manager repository as nixpkgs does not offer a fusuma service, as far as I rembember

By the way, fusuma now use yml file instead of yaml file as config file. now when I use HM service.fusuma.settings, it will generate a yaml file in .config, please update it to change it to a yml file. and when I use service.fusuma.enable = true; it wont be installed.

I guess that this should be addressed at home-manager repository as nixpkgs does not offer a fusuma service, as far as I rembember

you are right

Already fixed in home-manager: nix-community/home-manager#5049

sorry, I don't understand. if it has been fixed, why I still have the same issue? I just installed yesterday.

Are you perhaps not on nixos-unstable?

Are you perhaps not on nixos-unstable?

ah, right. I use stable nixos and HM, install some new software with pkgs-unstable. But this is a service, how do I change the package to unstable version? I tried services.fusuma.package = pkgs-unstable.fusuma.
But the result is still same.

It's fixed on master branch of Home Manager and not have been backported to release-23.11.
Home manager master always follows the NixOS unstable branch, so I won't suggest switching to master branch of HM unless you upgrade your system to nixos-unstable.


Allow comparing saved simulations.

User Story

@magopian This is now ready for review :)

Triple self-reviewed and I think this can safely land to master.


Automatically share validation errors

This updates this adapter to automatically share validation errors with Inertia.js, instead of making Laravel users do this manually, like this:
Inertia::share([
    'errors' => function () {
        return Session::get('errors')
            ? Session::get('errors')->getBag('default')->getMessages()
            : (object) [];
    },
]);

The key difference with the above method is that Inertia will automatically return only one error per field, instead of the Laravel default, which is an array of errors.
{
  name: 'The name field is required.',
  email: 'Not a valid email address.',
}

This is simpler, and honestly, I've literally never displayed multiple errors per field. This seems to be the consensus on Twitter as well.
That said, if folks prefer the other behaviour (multiple errors per field), all they need to do is manually share the validation errors like before (using the snippet above). This package's service provider will only share the validation errors if the errors key has not already been used. This behaviour also makes this a non-breaking change.
The goal of this change is to make Inertia.js easier to setup in Laravel applications, and since sharing validation errors is so common, this seems worthwhile to bake into the adapter.

thank you @reinink for this PR, i really like to see this change merged. May i point out that the documentation should be updated accordingly?