Add golangci config to enable golint and other useful checks

Also fix a few issues picked up by golint. We should add more of these checks over time.
Signed-off-by: andreasjansson<EMAIL_ADDRESS>

I'm merging this to unblock @imshashank


Define path aliases only once

Description
Instead of having to define path aliases up to two times (as described in https://vike.dev/path-aliases), it would be nice if users can define their path aliases only once.
JavaScript users would define aliases only once at their package.json#imports.
TypeScript users would define aliases only once at tsconfig.json#compilerOptions.paths.
We can then show a warning/error if the user attemps to define a path alias using vite.config.js. (I believe if Vike uses a config() hook instead of configResolved() it can apply the warning/error only to path aliases set by the user, and not to path aliases set by Vite plugins.)

A correct implement isn't trivial, see https://github.com/rolldown/rolldown/issues/637.
Instead, Vike could support this if and only if tsconfig.json#compilerOptions.paths/package.json#imports lives in the same directory than vite.config.js.

It's on Vite's radar: https://twitter.com/youyuxi/status/1770453125067149448.


Update readme content

fixes #39

Codecov Report
Base: 72.15% // Head: 72.15% // No change to project coverage :thumbsup:

Coverage data is based on head (ea3260c) compared to base (000cc3a).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##             master      #60   +/-   ##
=========================================
  Coverage     72.15%   72.15%
  Complexity      399      399
=========================================
  Files            70       70
  Lines          1232     1232
  Branches        125      125
=========================================
  Hits            889      889
  Misses          311      311
  Partials         32       32

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

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


Small request: Option to have a semi-quiet mode?

At the moment (correct me if I'm wrong) tippecanoe either spits out % progress (and other progress), which for a log file can get extremely verbose; or nothing at all -q
Could there be an option to only spit out the metadata and no progress updates? Such that for example the number of features found etc still get logged, but the log file wouldn't be full of 1%, 2%, 3% etc...?

Sure, this sounds like a very sensible addition.

This will be fixed in https://github.com/mapbox/tippecanoe/pull/492

Thanks!

Merged


Support building and testing Alluxio on ARM64 platform

Is your feature request related to a problem? Please describe.
Currently, more and more softwares have supported running on ARM64 platform, it would be good if Alluxio also support running and testing on ARM platform.
Describe the solution you'd like
Try  to make Alluxio can be sucessfully built and run all the test cases passed on ARM64 server, and then setup ARM CI job for Alluxio project to make sure future development won't break ARM64 support.
Describe alternatives you've considered
N/A
Urgency
Medium
Additional context
N/A

@liusheng Thanks for making this request. Have you already identified platform dependent issues when using ARM64?

@liusheng Thanks for making this request. Have you already identified platform dependent issues when using ARM64?

@calvinjia
Thanks for pay attention to this issue, I haven't identified platform dependent issues of Alluxio, but I have tried to build Alluxio on ARM64 server, there are some errors of dependent issues. such as:
><EMAIL_ADDRESS>postinstall /opt/alluxio/webui/node_modules/node-sass
> node scripts/build.js

Building: /opt/alluxio/webui/node/node /opt/alluxio/webui/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=

lerna ERR! npm install --production  --no-save --no-package-lock --no-shrinkwrap stderr:
Cannot download "https://github.com/sass/node-sass/releases/download/v4.13.0/linux-arm64-64_binding.node":

HTTP error 404 Not Found
...

[INFO] Alluxio UI 2.5.0-SNAPSHOT .......................... FAILURE [01:03 min]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:06 min (Wall Clock)
[INFO] Finished at: 2021-01-08T02:52:34Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.salesforce.servicelibs:proto-backwards-compatibility:1.0.5:backwards-compatibility-check (default) on project alluxio-core-transport: OS not supported. Unable to find a protolock binary for the classifier linux-aarch_64 -> [Help 1]
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.4.0:exec (Install npm dependencies for packages) on project alluxio-webui: Command execution failed.: Process exited with an error: 1 (Exit value: 1) -> [Help 1]

@calvinjia
Thanks for pay attention to this issue, I haven't identified platform dependent issues of Alluxio, but I have tried to build Alluxio on ARM64 server, there are some errors of dependent issues. such as:
><EMAIL_ADDRESS>postinstall /opt/alluxio/webui/node_modules/node-sass
> node scripts/build.js

Building: /opt/alluxio/webui/node/node /opt/alluxio/webui/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=

lerna ERR! npm install --production  --no-save --no-package-lock --no-shrinkwrap stderr:
Cannot download "https://github.com/sass/node-sass/releases/download/v4.13.0/linux-arm64-64_binding.node":

HTTP error 404 Not Found
...

[INFO] Alluxio UI 2.5.0-SNAPSHOT .......................... FAILURE [01:03 min]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:06 min (Wall Clock)
[INFO] Finished at: 2021-01-08T02:52:34Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.salesforce.servicelibs:proto-backwards-compatibility:1.0.5:backwards-compatibility-check (default) on project alluxio-core-transport: OS not supported. Unable to find a protolock binary for the classifier linux-aarch_64 -> [Help 1]
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.4.0:exec (Install npm dependencies for packages) on project alluxio-webui: Command execution failed.: Process exited with an error: 1 (Exit value: 1) -> [Help 1]

Thanks for the details, these would be necessary for developing Alluxio on ARM64, which I think is a more far off goal. Do yo know if the Alluxio system (pre-compiled) runs fine on ARM64?

Thanks for the details, these would be necessary for developing Alluxio on ARM64, which I think is a more far off goal. Do yo know if the Alluxio system (pre-compiled) runs fine on ARM64?

@calvinjia We are running our Alluxio+Presto clusters on Graviton2 instances in production for several weeks. There were some setbacks in several places, but we managed to have it operational. We observed a significant performance degradation in both Alluxio and Presto clusters when using the official Docker images. We found out, that Amazon Corretto JVM eliminates this performance degradation.

@calvinjia We are running our Alluxio+Presto clusters on Graviton2 instances in production for several weeks. There were some setbacks in several places, but we managed to have it operational. We observed a significant performance degradation in both Alluxio and Presto clusters when using the official Docker images. We found out, that Amazon Corretto JVM eliminates this performance degradation.

@jpohanka Thanks for reporting this!

@jpohanka Thanks for reporting this!

Hi @calvinjia,
Sorry for reply lately. For building Alluxio on ARM64, I have found two explicit problems:

protolock dependency missed for ARM64 platform, which is loaded by proto-backwards-compat-maven-plugin, I have submitted a PR try to support in the proto-backwards-compat-maven-plugin repo.
node-sass dependency missed for ARM64 platform, it is used by Alluxio webui module, there are already existed issues reported by Apple ARM users, please see Issue  and Iusse.
When I re-package the proto-backwards-compat-maven-plugin by adding binary of protolock for ARM64 and skip the webui module by -pl '!webui' the whole building process can be sucessfully executed.

[INFO] Alluxio Parent 2.5.0-SNAPSHOT ...................... SUCCESS [ 10.205 s]
[INFO] Alluxio Core 2.5.0-SNAPSHOT ........................ SUCCESS [  1.140 s]
[INFO] Alluxio Core - Transport 2.5.0-SNAPSHOT ............ SUCCESS [01:04 min]
[INFO] Alluxio Core - Base module 2.5.0-SNAPSHOT .......... SUCCESS [ 19.018 s]
[INFO] Alluxio Core - Common Utilities 2.5.0-SNAPSHOT ..... SUCCESS [ 43.488 s]
[INFO] Alluxio Core - Client 2.5.0-SNAPSHOT ............... SUCCESS [  0.559 s]
[INFO] Alluxio Core - Client - File System 2.5.0-SNAPSHOT . SUCCESS [ 24.173 s]
[INFO] Alluxio Examples 2.5.0-SNAPSHOT .................... SUCCESS [  9.591 s]
[INFO] Alluxio Table 2.5.0-SNAPSHOT ....................... SUCCESS [  0.593 s]
[INFO] Alluxio Table - Base Module 2.5.0-SNAPSHOT ......... SUCCESS [  5.826 s]
[INFO] Alluxio Table - Client 2.5.0-SNAPSHOT .............. SUCCESS [  7.645 s]
[INFO] Alluxio Job Service 2.5.0-SNAPSHOT ................. SUCCESS [  0.549 s]
[INFO] Alluxio Job Service - Common Utilities 2.5.0-SNAPSHOT SUCCESS [ 11.289 s]
[INFO] Alluxio Job Service - Client 2.5.0-SNAPSHOT ........ SUCCESS [  8.316 s]
[INFO] Alluxio Shell 2.5.0-SNAPSHOT ....................... SUCCESS [ 23.132 s]
[INFO] Alluxio Core - Client - HDFS 2.5.0-SNAPSHOT ........ SUCCESS [ 11.816 s]
[INFO] Alluxio Stress 2.5.0-SNAPSHOT ...................... SUCCESS [  0.536 s]
[INFO] Alluxio Stress - Common 2.5.0-SNAPSHOT ............. SUCCESS [ 10.757 s]
[INFO] Alluxio Stress - Shell 2.5.0-SNAPSHOT .............. SUCCESS [ 12.323 s]
[INFO] Alluxio Table - Shell 2.5.0-SNAPSHOT ............... SUCCESS [  8.138 s]
[INFO] Alluxio Assembly 2.5.0-SNAPSHOT .................... SUCCESS [  0.495 s]
[INFO] Alluxio Assembly - Client 2.5.0-SNAPSHOT ........... SUCCESS [ 10.756 s]
[INFO] Alluxio Core - Server 2.5.0-SNAPSHOT ............... SUCCESS [  0.686 s]
[INFO] Alluxio Core - Server - Common Utilities 2.5.0-SNAPSHOT SUCCESS [ 23.049 s]
[INFO] Alluxio Under File System 2.5.0-SNAPSHOT ........... SUCCESS [  0.591 s]
[INFO] Alluxio Under File System - Local FS 2.5.0-SNAPSHOT  SUCCESS [  7.598 s]
[INFO] Alluxio Core - Server - Master 2.5.0-SNAPSHOT ...... SUCCESS [ 38.310 s]
[INFO] Alluxio Core - Server - Proxy 2.5.0-SNAPSHOT ....... SUCCESS [ 11.682 s]
[INFO] Alluxio Core - Server - Worker 2.5.0-SNAPSHOT ...... SUCCESS [ 23.518 s]
[INFO] Alluxio Job Service - Server 2.5.0-SNAPSHOT ........ SUCCESS [ 19.444 s]
[INFO] Alluxio Log Server 2.5.0-SNAPSHOT .................. SUCCESS [  6.993 s]
[INFO] Alluxio Table - Server 2.5.0-SNAPSHOT .............. SUCCESS [  0.542 s]
[INFO] Alluxio Table - Server - Common 2.5.0-SNAPSHOT ..... SUCCESS [  9.710 s]
[INFO] Alluxio Table - Server - Master 2.5.0-SNAPSHOT ..... SUCCESS [ 12.551 s]
[INFO] Alluxio Assembly - Server 2.5.0-SNAPSHOT ........... SUCCESS [ 17.517 s]
[INFO] Alluxio Integration 2.5.0-SNAPSHOT ................. SUCCESS [  0.596 s]
[INFO] Alluxio Integration - FUSE 2.5.0-SNAPSHOT .......... SUCCESS [ 17.983 s]
[INFO] Alluxio Shaded Libraries 2.5.0-SNAPSHOT ............ SUCCESS [  0.503 s]
[INFO] Alluxio Shaded Libraries - Hadoop 3.3.0 ............ SUCCESS [  6.857 s]
[INFO] Alluxio Integration - Tools 2.5.0-SNAPSHOT ......... SUCCESS [  0.539 s][INFO] Alluxio Integration - Tools - HMS 2.5.0-SNAPSHOT ... SUCCESS [ 22.523 s]
[INFO] Alluxio Integration - Validation Tools 2.5.0-SNAPSHOT SUCCESS [ 12.528 s]
[INFO] Alluxio MiniCluster 2.5.0-SNAPSHOT ................. SUCCESS [ 11.480 s]
[INFO] Alluxio Shaded Libraries - Client 2.5.0-SNAPSHOT ... SUCCESS [02:11 min]
[INFO] Alluxio Shaded Libraries - Ozone 2.5.0-SNAPSHOT .... SUCCESS [  7.141 s]
[INFO] Alluxio Shaded Libraries - Cosn 2.5.0-SNAPSHOT ..... SUCCESS [  0.556 s]
[INFO] Alluxio Table - Server - UnderDB 2.5.0-SNAPSHOT .... SUCCESS [  0.756 s]
[INFO] Alluxio Table - Server - UnderDB - Hive 2.5.0-SNAPSHOT SUCCESS [ 21.216 s]
[INFO] Alluxio Table - Server - UnderDB - Glue 2.5.0-SNAPSHOT SUCCESS [ 15.294 s]
[INFO] Alluxio Tests 2.5.0-SNAPSHOT ....................... SUCCESS [ 44.293 s]
[INFO] Alluxio Under File System - HDFS 2.5.0-SNAPSHOT .... SUCCESS [ 15.605 s]
[INFO] Alluxio Under File System - Microsoft Azure DataLake Gen 2 2.5.0-SNAPSHOT SUCCESS [ 13.567 s]
[INFO] Alluxio Under File System - Microsoft Azure DataLake 2.5.0-SNAPSHOT SUCCESS [ 15.570 s]
[INFO] Alluxio Under File System - Tencent Cloud COS 2.5.0-SNAPSHOT SUCCESS [  8.755 s]
[INFO] Alluxio Under File System - GCS 2.5.0-SNAPSHOT ..... SUCCESS [  7.773 s][INFO] Alluxio Under File System - Qiniu Kodo 2.5.0-SNAPSHOT SUCCESS [  7.833 s]
[INFO] Alluxio Under File System - Aliyun OSS 2.5.0-SNAPSHOT SUCCESS [  7.917 s][INFO] Alluxio Under File System - S3 2.5.0-SNAPSHOT ...... SUCCESS [ 10.011 s]
[INFO] Alluxio Under File System - Swift 2.5.0-SNAPSHOT ... SUCCESS [  8.980 s]
[INFO] Alluxio Under File System - Microsoft Azure Blob Storage 2.5.0-SNAPSHOT SUCCESS [ 15.862 s][INFO] Alluxio Under File System - Web 2.5.0-SNAPSHOT ..... SUCCESS [  7.085 s]
[INFO] Alluxio Under File System - Apache Ozone 2.5.0-SNAPSHOT SUCCESS [ 17.477 s]
[INFO] Alluxio Under File System - Tencent Cloud COSN 2.5.0-SNAPSHOT SUCCESS [ 14.319 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  15:01 min
[INFO] Finished at: 2021-01-25T10:13:40+03:00
[INFO] -----------------------------------------------------------------------

Because the above two issues, the first one only do Protobuf Backwards Compatibility Check and second one only effect the webui module. So maybe the pre-compiled package of Alluxio can be directly run on ARM64 server. I will try to verify this.
HI @jpohanka,
Thanks for the info, We are also doing similar things as you have done, We will also try to make more Big-data softwares run on ARM64, and will also try to make them have better performance on ARM64, welcome to discuss problems you have met :)

Hi @calvinjia,
Sorry for reply lately. For building Alluxio on ARM64, I have found two explicit problems:

protolock dependency missed for ARM64 platform, which is loaded by proto-backwards-compat-maven-plugin, I have submitted a PR try to support in the proto-backwards-compat-maven-plugin repo.
node-sass dependency missed for ARM64 platform, it is used by Alluxio webui module, there are already existed issues reported by Apple ARM users, please see Issue  and Iusse.
When I re-package the proto-backwards-compat-maven-plugin by adding binary of protolock for ARM64 and skip the webui module by -pl '!webui' the whole building process can be sucessfully executed.

[INFO] Alluxio Parent 2.5.0-SNAPSHOT ...................... SUCCESS [ 10.205 s]
[INFO] Alluxio Core 2.5.0-SNAPSHOT ........................ SUCCESS [  1.140 s]
[INFO] Alluxio Core - Transport 2.5.0-SNAPSHOT ............ SUCCESS [01:04 min]
[INFO] Alluxio Core - Base module 2.5.0-SNAPSHOT .......... SUCCESS [ 19.018 s]
[INFO] Alluxio Core - Common Utilities 2.5.0-SNAPSHOT ..... SUCCESS [ 43.488 s]
[INFO] Alluxio Core - Client 2.5.0-SNAPSHOT ............... SUCCESS [  0.559 s]
[INFO] Alluxio Core - Client - File System 2.5.0-SNAPSHOT . SUCCESS [ 24.173 s]
[INFO] Alluxio Examples 2.5.0-SNAPSHOT .................... SUCCESS [  9.591 s]
[INFO] Alluxio Table 2.5.0-SNAPSHOT ....................... SUCCESS [  0.593 s]
[INFO] Alluxio Table - Base Module 2.5.0-SNAPSHOT ......... SUCCESS [  5.826 s]
[INFO] Alluxio Table - Client 2.5.0-SNAPSHOT .............. SUCCESS [  7.645 s]
[INFO] Alluxio Job Service 2.5.0-SNAPSHOT ................. SUCCESS [  0.549 s]
[INFO] Alluxio Job Service - Common Utilities 2.5.0-SNAPSHOT SUCCESS [ 11.289 s]
[INFO] Alluxio Job Service - Client 2.5.0-SNAPSHOT ........ SUCCESS [  8.316 s]
[INFO] Alluxio Shell 2.5.0-SNAPSHOT ....................... SUCCESS [ 23.132 s]
[INFO] Alluxio Core - Client - HDFS 2.5.0-SNAPSHOT ........ SUCCESS [ 11.816 s]
[INFO] Alluxio Stress 2.5.0-SNAPSHOT ...................... SUCCESS [  0.536 s]
[INFO] Alluxio Stress - Common 2.5.0-SNAPSHOT ............. SUCCESS [ 10.757 s]
[INFO] Alluxio Stress - Shell 2.5.0-SNAPSHOT .............. SUCCESS [ 12.323 s]
[INFO] Alluxio Table - Shell 2.5.0-SNAPSHOT ............... SUCCESS [  8.138 s]
[INFO] Alluxio Assembly 2.5.0-SNAPSHOT .................... SUCCESS [  0.495 s]
[INFO] Alluxio Assembly - Client 2.5.0-SNAPSHOT ........... SUCCESS [ 10.756 s]
[INFO] Alluxio Core - Server 2.5.0-SNAPSHOT ............... SUCCESS [  0.686 s]
[INFO] Alluxio Core - Server - Common Utilities 2.5.0-SNAPSHOT SUCCESS [ 23.049 s]
[INFO] Alluxio Under File System 2.5.0-SNAPSHOT ........... SUCCESS [  0.591 s]
[INFO] Alluxio Under File System - Local FS 2.5.0-SNAPSHOT  SUCCESS [  7.598 s]
[INFO] Alluxio Core - Server - Master 2.5.0-SNAPSHOT ...... SUCCESS [ 38.310 s]
[INFO] Alluxio Core - Server - Proxy 2.5.0-SNAPSHOT ....... SUCCESS [ 11.682 s]
[INFO] Alluxio Core - Server - Worker 2.5.0-SNAPSHOT ...... SUCCESS [ 23.518 s]
[INFO] Alluxio Job Service - Server 2.5.0-SNAPSHOT ........ SUCCESS [ 19.444 s]
[INFO] Alluxio Log Server 2.5.0-SNAPSHOT .................. SUCCESS [  6.993 s]
[INFO] Alluxio Table - Server 2.5.0-SNAPSHOT .............. SUCCESS [  0.542 s]
[INFO] Alluxio Table - Server - Common 2.5.0-SNAPSHOT ..... SUCCESS [  9.710 s]
[INFO] Alluxio Table - Server - Master 2.5.0-SNAPSHOT ..... SUCCESS [ 12.551 s]
[INFO] Alluxio Assembly - Server 2.5.0-SNAPSHOT ........... SUCCESS [ 17.517 s]
[INFO] Alluxio Integration 2.5.0-SNAPSHOT ................. SUCCESS [  0.596 s]
[INFO] Alluxio Integration - FUSE 2.5.0-SNAPSHOT .......... SUCCESS [ 17.983 s]
[INFO] Alluxio Shaded Libraries 2.5.0-SNAPSHOT ............ SUCCESS [  0.503 s]
[INFO] Alluxio Shaded Libraries - Hadoop 3.3.0 ............ SUCCESS [  6.857 s]
[INFO] Alluxio Integration - Tools 2.5.0-SNAPSHOT ......... SUCCESS [  0.539 s][INFO] Alluxio Integration - Tools - HMS 2.5.0-SNAPSHOT ... SUCCESS [ 22.523 s]
[INFO] Alluxio Integration - Validation Tools 2.5.0-SNAPSHOT SUCCESS [ 12.528 s]
[INFO] Alluxio MiniCluster 2.5.0-SNAPSHOT ................. SUCCESS [ 11.480 s]
[INFO] Alluxio Shaded Libraries - Client 2.5.0-SNAPSHOT ... SUCCESS [02:11 min]
[INFO] Alluxio Shaded Libraries - Ozone 2.5.0-SNAPSHOT .... SUCCESS [  7.141 s]
[INFO] Alluxio Shaded Libraries - Cosn 2.5.0-SNAPSHOT ..... SUCCESS [  0.556 s]
[INFO] Alluxio Table - Server - UnderDB 2.5.0-SNAPSHOT .... SUCCESS [  0.756 s]
[INFO] Alluxio Table - Server - UnderDB - Hive 2.5.0-SNAPSHOT SUCCESS [ 21.216 s]
[INFO] Alluxio Table - Server - UnderDB - Glue 2.5.0-SNAPSHOT SUCCESS [ 15.294 s]
[INFO] Alluxio Tests 2.5.0-SNAPSHOT ....................... SUCCESS [ 44.293 s]
[INFO] Alluxio Under File System - HDFS 2.5.0-SNAPSHOT .... SUCCESS [ 15.605 s]
[INFO] Alluxio Under File System - Microsoft Azure DataLake Gen 2 2.5.0-SNAPSHOT SUCCESS [ 13.567 s]
[INFO] Alluxio Under File System - Microsoft Azure DataLake 2.5.0-SNAPSHOT SUCCESS [ 15.570 s]
[INFO] Alluxio Under File System - Tencent Cloud COS 2.5.0-SNAPSHOT SUCCESS [  8.755 s]
[INFO] Alluxio Under File System - GCS 2.5.0-SNAPSHOT ..... SUCCESS [  7.773 s][INFO] Alluxio Under File System - Qiniu Kodo 2.5.0-SNAPSHOT SUCCESS [  7.833 s]
[INFO] Alluxio Under File System - Aliyun OSS 2.5.0-SNAPSHOT SUCCESS [  7.917 s][INFO] Alluxio Under File System - S3 2.5.0-SNAPSHOT ...... SUCCESS [ 10.011 s]
[INFO] Alluxio Under File System - Swift 2.5.0-SNAPSHOT ... SUCCESS [  8.980 s]
[INFO] Alluxio Under File System - Microsoft Azure Blob Storage 2.5.0-SNAPSHOT SUCCESS [ 15.862 s][INFO] Alluxio Under File System - Web 2.5.0-SNAPSHOT ..... SUCCESS [  7.085 s]
[INFO] Alluxio Under File System - Apache Ozone 2.5.0-SNAPSHOT SUCCESS [ 17.477 s]
[INFO] Alluxio Under File System - Tencent Cloud COSN 2.5.0-SNAPSHOT SUCCESS [ 14.319 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  15:01 min
[INFO] Finished at: 2021-01-25T10:13:40+03:00
[INFO] -----------------------------------------------------------------------

Because the above two issues, the first one only do Protobuf Backwards Compatibility Check and second one only effect the webui module. So maybe the pre-compiled package of Alluxio can be directly run on ARM64 server. I will try to verify this.
HI @jpohanka,
Thanks for the info, We are also doing similar things as you have done, We will also try to make more Big-data softwares run on ARM64, and will also try to make them have better performance on ARM64, welcome to discuss problems you have met :)

Since the protolock maven plugin is merely a linter, you can disable it using a platform specific maven build profile.

Since the protolock maven plugin is merely a linter, you can disable it using a platform specific maven build profile.

Protolock maven plugin now includes arm64 support https://github.com/salesforce/proto-backwards-compat-maven-plugin/releases/tag/v1.0.6

Protolock maven plugin now includes arm64 support https://github.com/salesforce/proto-backwards-compat-maven-plugin/releases/tag/v1.0.6

Hi @rmichela ,
Thank you for help doing that :)

Hi @rmichela ,
Thank you for help doing that :)

I think I've found the problem with jnr-ffi - https://github.com/jnr/jnr-ffi/discussions/283#discussioncomment-1670339

https://github.com/jnr/jnr-ffi/pull/284 fixes the problem with jnr-ffi and AlluxioFuseFileSystemTest passes fine now!
The next problem is with alluxio.hub.agent.process.AgentProcessMonitorTest:
[ERROR] Error occurred in starting fork, check output in log
[ERROR] Process Exit Code: 134
[ERROR] Crashed tests:
[ERROR] alluxio.hub.agent.process.AgentProcessMonitorTest
[ERROR] ExecutionException The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
[ERROR] Command was /bin/sh -c cd /home/ubuntu/git/alluxio/hub/server && /usr/lib/jvm/java-8-openjdk-arm64/jre/bin/java -Djava.net.preferIPv4Stack=true -jar /home/ubuntu/git/alluxio/hub/server/target/surefire/surefirebooter2232650743840537627.jar /home/ubuntu/git/alluxio/hub/server/target/surefire 2021-11-19T13-11-16_018-jvmRun2 surefire5132209916224152351tmp surefire_161141190907714089217tmp

I will try to debug it!

The problem seems to be in Netty native. I've updated Netty to 4.1.70 and netty-tcnative-boringssl to 2.0.46 but still it breaks.
@normanmaurer Can you help here ? Do you see what might be the problem in the attached hs_err_pid file ? Thank you!
mvn-dependency-tree.txt
hs_err_pid148138.log

@ Alluxio team: We have found the problem with Netty - https://github.com/netty/netty-tcnative/issues/681#issuecomment-977752064. The reason is that the Ratis dependency brings libnetty-tcnative-**.so as well.
If https://github.com/netty/netty/pull/11856 is merged then Alluxio will start failing because of this problem.
Apache Ratis project has been notified about this problem: https://issues.apache.org/jira/browse/RATIS-1443

@martin-g thanks for this finding. should we hold off on any netty upgrades until this issue is resolved?

@yuzhu  Do you know whether ratis-thirdparty-misc is needed by Alluxio or it just comes as a transitive dependency of org.apache.ratis:ratis-server ?
Because I've excluded it in hub/server/pom.xml and the build passed for several more modules:
[INFO] Alluxio Hub Server 2.8.0-SNAPSHOT .................. SUCCESS [ 41.206 s]
[INFO] Alluxio Assembly - Server 2.8.0-SNAPSHOT ........... SUCCESS [  1.572 s]
[INFO] Alluxio Shaded Libraries 2.8.0-SNAPSHOT ............ SUCCESS [  0.030 s]
[INFO] Alluxio Shaded Libraries - Hadoop 3.3.0 ............ SUCCESS [  0.068 s]
[INFO] Alluxio Integration - Tools 2.8.0-SNAPSHOT ......... SUCCESS [  0.093 s]
[INFO] Alluxio Integration - Tools - HMS 2.8.0-SNAPSHOT ... SUCCESS [ 24.428 s]
[INFO] Alluxio Integration - Validation Tools 2.8.0-SNAPSHOT SUCCESS [ 12.856 s]
[INFO] Alluxio MiniCluster 2.8.0-SNAPSHOT ................. SUCCESS [ 26.619 s]
[INFO] Alluxio Shaded Libraries - Client 2.8.0-SNAPSHOT ... SUCCESS [  0.101 s]
[INFO] Alluxio Shaded Libraries - Ozone 2.8.0-SNAPSHOT .... SUCCESS [  7.329 s]
[INFO] Alluxio Table - Server - UnderDB 2.8.0-SNAPSHOT .... SUCCESS [  0.090 s]
[INFO] Alluxio Table - Server - UnderDB - Hive 2.8.0-SNAPSHOT SUCCESS [ 17.608 s]
[INFO] Alluxio Table - Server - UnderDB - Glue 2.8.0-SNAPSHOT SUCCESS [  7.871 s]
[INFO] Alluxio Tests 2.8.0-SNAPSHOT ....................... FAILURE [49:38 min]

Alluxio Tests failures are related to jnr-fuse:
<testcase name="touchAndLs" classname="alluxio.client.fuse.JNRFuseIntegrationTest" time="8.588">
    <error message="touch: cannot touch '/tmp/alluxio-tests/JNRFuseIntegrationTest-touchAndLs-63fb9625-31f8-47b2-b079-8aa66a95413a/touchTestFile': Input/output error
" type=
"ExitCodeException exitCode=1"><![CDATA[ExitCodeException exitCode=1: touch: cannot touch '/tmp/alluxio-tests/JNRFuseIntegrationTest-touchAndLs-63fb9625-31f8-47b2-b079-8aa66a95413a/touchT
estFile': Input/output error

        at alluxio.shell.ShellCommand.run(ShellCommand.java:71)
        at alluxio.util.ShellUtils.execCommand(ShellUtils.java:237)
        at alluxio.client.fuse.AbstractFuseIntegrationTest.touchAndLs(AbstractFuseIntegrationTest.java:305)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
       ...

I will investigate more tomorrow!

ratis-thirdparty-misc is being used!
[ERROR] /home/ubuntu/git/alluxio/core/server/common/src/main/java/alluxio/master/journal/raft/RaftJournalSystem.java:[68,55] package org.apache.ratis.thirdparty.com.google.protobuf does not exist
[ERROR] /home/ubuntu/git/alluxio/core/server/common/src/main/java/alluxio/master/journal/raft/SnapshotReplicationManager.java:[55,55] package org.apache.ratis.thirdparty.com.google.protobuf does not exist

So yes, you should not upgrade Netty to 4.1.71 or newer before Ratis team fixing https://issues.apache.org/jira/browse/RATIS-1443

The problem with JNRFuseIntegrationTest is:
2021-11-25 12:51:17,265 [Thread-78] DEBUG fuse.AlluxioFuseFileSystem (AlluxioFuseUtils.java:call) - Enter: getattr(path=/)
2021-11-25 12:51:17,266 [Thread-78] ERROR fuse.AlluxioFuseFileSystem (AlluxioFuseFileSystem.java:getattrInternal) - Failed to get info of /
java.lang.NullPointerException
        at alluxio.client.file.FileSystemContext.acquireClosableClientResource(FileSystemContext.java:505)
        at alluxio.client.file.FileSystemContext.acquireMasterClientResource(FileSystemContext.java:460)
        at alluxio.client.file.BaseFileSystem.rpc(BaseFileSystem.java:570)
        at alluxio.client.file.BaseFileSystem.getStatus(BaseFileSystem.java:274)
        at alluxio.client.file.FileSystem.getStatus(FileSystem.java:341)
        at alluxio.fuse.AlluxioFuseFileSystem.getattrInternal(AlluxioFuseFileSystem.java:391)
        at alluxio.fuse.AlluxioFuseFileSystem.lambda$getattr$4(AlluxioFuseFileSystem.java:385)
        at alluxio.fuse.AlluxioFuseUtils.call(AlluxioFuseUtils.java:278)
        at alluxio.fuse.AlluxioFuseFileSystem.getattr(AlluxioFuseFileSystem.java:384)
        at ru.serce.jnrfuse.AbstractFuseFS.lambda$init$1(AbstractFuseFS.java:99)
        at jnr.ffi.provider.jffi.NativeClosureProxy$$impl$$0.invoke(Unknown Source)

I will need help with the problem of AlluxioFuseFileSystem on Linux ARM64.
I'm attaching the logs of mvn test -Dtest=JNRFuseIntegrationTest#cat executed on AMD64 and ARM64.
I have the following change in .../tests/src/test/resources/log4j.properties :
diff --git tests/src/test/resources/log4j.properties tests/src/test/resources/log4j.properties
index 06e6a8ad22..8456301807 100644
--- tests/src/test/resources/log4j.properties
+++ tests/src/test/resources/log4j.properties
@@ -51,3 +51,8 @@ log4j.appender.PROXY_LOGGER.MaxFileSize=10MB
 log4j.appender.PROXY_LOGGER.MaxBackupIndex=100
 log4j.appender.PROXY_LOGGER.layout=org.apache.log4j.PatternLayout
 log4j.appender.PROXY_LOGGER.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{1} - %m%n
+
+log4j.logger.alluxio.fuse.AlluxioFuseFileSystem=debug
+log4j.logger.alluxio.client.file.FileSystemContext=debug
+log4j.logger.io.netty.handler.ssl=debug
+log4j.logger.io.netty.util.internal.NativeLibraryLoader=debug

On AMD64 I see:
[Thread-41] DEBUG fuse.AlluxioFuseFileSystem (AlluxioFuseUtils.java:call) - Enter: getattr(path=/catTestFile)
 398 -[Thread-41] DEBUG file.FileSystemContext (FileSystemContext.java:acquireClosableClientResource) - ------ POOL 1: alluxio.client.file.FileSystemMasterClientPool@1c32386d
 399 -[Thread-41] DEBUG fuse.AlluxioFuseFileSystem (AlluxioFuseUtils.java:call) - Exit (0): getattr(path=/catTestFile) in 38 ms
 400 -[Thread-42] DEBUG fuse.AlluxioFuseFileSystem (AlluxioFuseUtils.java:call) - Enter: open(path=/catTestFile)

But on ARM64 the Enter: open(path=/catTestFile) is never called.
@SerCeMan Any help/hints would be very welcome !
tests-x64.log
tests-arm64.log

It appeared that jnr-fuse does not support Linux ARM64 at all: https://github.com/SerCeMan/jnr-fuse/issues/14

hi there, I'm working at building alluxio on arm64(KunpengCPU) but failed with:
Failed to execute goal org.codehaus.mojo:buildnumber-maven-plugin:1.4:create-metadata (default) on project alluxio-core-common: Execution default of goal org.codehaus.mojo:buildnumber-maven-plugin:1.4:create-metadata failed.: NullPointerException -> [Help 1]
and stack is:
[ERROR] Failed to execute goal org.codehaus.mojo:buildnumber-maven-plugin:1.4:create-metadata (default) on project alluxio-core-common: Execution default of goal org.codehaus.mojo:buildnumber-maven-plugin:1.4:create-metadata failed.: NullPointerException -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:buildnumber-maven-plugin:1.4:create-metadata (default) on project alluxio-core-common: Execution default of goal org.codehaus.mojo:buildnumber-maven-plugin:1.4:create-metadata failed.     at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:306)     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:211)     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:165)     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:157)     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:121)     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)     at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:127)     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:294)     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)     at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)     at org.apache.maven.cli.MavenCli.execute (MavenCli.java:960)     at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)     at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)     at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)     at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)     at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)     at java.lang.reflect.Method.invoke (Method.java:498)     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)     at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)     at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347) Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default of goal org.codehaus.mojo:buildnumber-maven-plugin:1.4:create-metadata failed.     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:148)     at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:301)     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:211)     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:165)     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:157)     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:121)     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)     at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:127)     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:294)     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)     at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)     at org.apache.maven.cli.MavenCli.execute (MavenCli.java:960)     at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)     at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)     at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)     at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)     at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)     at java.lang.reflect.Method.invoke (Method.java:498)     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)     at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)     at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347) Caused by: java.lang.NullPointerException     at java.util.Hashtable.put (Hashtable.java:460)     at org.codehaus.mojo.build.CreateMetadataMojo.execute (CreateMetadataMojo.java:188)     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)     at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:301)     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:211)     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:165)     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:157)     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:121)     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)     at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:127)     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:294)     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)     at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)     at org.apache.maven.cli.MavenCli.execute (MavenCli.java:960)     at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)     at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)     at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)     at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)     at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)     at java.lang.reflect.Method.invoke (Method.java:498)     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)     at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)     at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
myos is kylin v10(based on linux)
jdk is 1.8
maven is 3.8
Any suggestion will be grateful.

I've add mavenn profile  of os like this below:
```

Linux
aarch64

but it does not work.

Hi @JunLuo !
IMO the OS and CPU arch are not relevant here.
Your build fails due to buildnumber-maven-plugin, i.e. this plugin fails to collect the needed information.
Do you have .git/ folder in your local repo ?

Hi @martin-g
Thanks for your reply.
The source is downloaded from tag 2.7.3 and I did not change anything.
I found there was a .github/ folder .
I removed the folder and built again, but still failed with create-metadata failed.: NullPointerException

You can work it around by adding -Dmaven.buildNumber.skip=true to the Maven command.
The plugin needs .git/ in the root of the project to get the Git hash and use it as a build number.
Another property that could help is -Dmaven.buildNumber.revisionOnScmFailure=2.7.3. See https://www.mojohaus.org/buildnumber-maven-plugin/create-mojo.html#revisionOnScmFailure

It work and I success built in kunpeng CPU, Thanks a lot!

@cheyang , with the continuation of our discussion here, I tried building Alluxio docker images using the build-image.sh script for Linux/ARM64.
I edited go installation for ARM64 in tarball.sh. Also, the maven version 3.6.2-jdk-8 used in the build-image.sh script does not support Linux/ARM64. I updated maven to 3.8.6-openjdk-8. And then executed below command:
$ bash build-image.sh -b branch-2.3-fuse
Build is failing for Linux/ARM64 with the logs below:
[INFO] Alluxio Under File System - Apache Ozone 2.3.1-SNAPSHOT SKIPPED
[INFO] Alluxio UI 2.3.1-SNAPSHOT .......................... FAILURE [04:54 min]
[INFO] Alluxio Integration - YARN 2.3.1-SNAPSHOT .......... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  06:18 min (Wall Clock)
[INFO] Finished at: 2022-06-30T12:47:11Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.4.0:exec (Install npm dependencies for packages) on project alluxio-webui: Command execution failed.: Process exited with an error: 1 (Exit value: 1) -> [Help 1]

However, after updating maven to 3.8.6-openjdk-8 for Linux/AMD64, build-image.sh also fails with the logs below:
[INFO] Alluxio Under File System - Web 2.3.1-SNAPSHOT ..... SUCCESS [ 15.589 s]
[INFO] Alluxio Under File System - Apache Ozone 2.3.1-SNAPSHOT FAILURE [ 24.699 s]
[INFO] Alluxio UI 2.3.1-SNAPSHOT .......................... SUCCESS [06:06 min]
[INFO] Alluxio Integration - YARN 2.3.1-SNAPSHOT .......... SUCCESS [ 22.833 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  10:24 min (Wall Clock)
[INFO] Finished at: 2022-06-30T12:35:32Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project alluxio-core-server-common: Could not resolve dependencies for project org.alluxio:alluxio-core-server-common:jar:2.3.1-SNAPSHOT: Failed to collect dependencies at io.atomix.copycat.alluxio:copycat-server:jar:1.2.15: Failed to read artifact descriptor for io.atomix.copycat.alluxio:copycat-server:jar:1.2.15: Could not transfer artifact io.atomix.copycat.alluxio:copycat-server:pom:1.2.15 from/to spring-releases (https://repo.spring.io/libs-release): authentication failed for https://repo.spring.io/libs-release/io/atomix/copycat/alluxio/copycat-server/1.2.15/copycat-server-1.2.15.pom, status: 401 Unauthorized -> [Help 1]

[ERROR] Failed to execute goal on project alluxio-underfs-ozone: Could not resolve dependencies for project org.alluxio:alluxio-underfs-ozone:jar:2.3.1-SNAPSHOT: Failed to collect dependencies at org.apache.hadoop:hadoop-ozone-client:jar:0.5.0-beta -> org.apache.hadoop:hadoop-ozone-common:jar:0.5.0-beta -> org.apache.hadoop:hadoop-hdfs-client:jar:2.7.3: Failed to read artifact descriptor for org.apache.hadoop:hadoop-hdfs-client:jar:2.7.3: Could not transfer artifact org.apache.hadoop:hadoop-hdfs-client:pom:2.7.3 from/to spring-releases (https://repo.spring.io/libs-release): authentication failed for https://repo.spring.io/libs-release/org/apache/hadoop/hadoop-hdfs-client/2.7.3/hadoop-hdfs-client-2.7.3.pom, status: 401 Unauthorized -> [Help 1]

It seems that some of the alluxio’s dependencies also need updations to match updated maven version and to support Linux/ARM64.

I can confirm targeting ARM platform works, and I successfully built and pushed the image here: https://hub.docker.com/r/naushadh/alluxio/tags
$ git clone https://github.com/Alluxio/alluxio.git
$ cd integrations/docker
$ docker build -t alluxio/alluxio:2.8.1 --platform arm64 .
$ docker tag alluxio/alluxio:2.8.1 naushadh/alluxio:2.8.1
$ docker push naushadh/alluxio:2.8.1

Would be nice if this can be done by the CI process so there is official Docker images that work in ARM.

Thanks you very much @naushadh
I would like to build 2.9.0 docker for ARM, Anything special I should consider before that?
Thanks
David

@duduhandelman nothing special, you should be able to follow the steps I'd shared above.

I can confirm targeting ARM platform works, and I successfully built and pushed the image here: https://hub.docker.com/r/naushadh/alluxio/tags
$ git clone https://github.com/Alluxio/alluxio.git
$ cd integrations/docker
$ docker build -t alluxio/alluxio:2.8.1 --platform arm64 .
$ docker tag alluxio/alluxio:2.8.1 naushadh/alluxio:2.8.1
$ docker push naushadh/alluxio:2.8.1

Would be nice if this can be done by the CI process so there is official Docker images that work in ARM.

@naushadh I tried naushadh/alluxio:2.8.1 on my aarch64 machine and get this:
Fri, Mar 24 2023 10:19:57 am | standard_init_linux.go:228: exec user process caused: exec format error

Seems this image can not run on aarch64


_.range fails silently when counting down

Not sure if this is a bug, it could be intended behavio(u)r?
_.range(0, 5) // [0, 1, 2, 3, 4]
_.range(5, 0) // fails silently

You're looking for _.range(5, 0, -1).

Okay thanks!


Use Basic auth for credentials instead of query params

Fix for #522

Thank you @enqueue! Will it work when httpAuthorization is set?

Thank you @enqueue! Will it work when httpAuthorization is set?

Thank you @enqueue! Will it work when httpAuthorization is set?

Good point! I will check it.

Thank you @enqueue! Will it work when httpAuthorization is set?

Good point! I will check it.

Thank you @enqueue for making this pull request. I think we're close to get it merged. Mean time, can we remove HttpContext parameter from Statement and PreparedStatement constructors? Instead, we can create http context inside the constructor. This is because HttpContext is tied to http, so when we add support for more protocols, we'll have to remove it anyway because we only need to pass a client(e.g. HttpClient, NativeClient or GrpcClient) for execution.
Let me know if you have different opinion and we can discuss.

Hi @zhicwu  I updated the PR to take into account your suggestions. I need your help getting the build to green though. The maven output says something about ClickHouseResponseSummary missing, but there isn't any code referring to this class. Running mvn verify locally works. What am I doing wrong? Thank you very much in advance.

Thank you @enqueue. ResponseSummary was merged from PR #498. Have you merged all changes from upstream/develop? I'm out for launch but I'll look into this when I get back to home.


Update break images

Update break detail images with the latest from @justinhuskey
Addresses: https://trello.com/c/MiiG2t1z/118-interior-break-images

w00t


Allow tables to be used in M2M API

Problem
When defining a M2M relation you can either create a table yourself:
model User {
  id String @id @default(cuid())
}
model Group {
  id String @id @default(cuid())
}
model Membership {
  user User @relation(fields: [userId], references: [id])
  userId String
  group Group @relation(fields: [groupId], references: [id])
  groupId String

  @@id([userId, groupId])
}

or you can let prisma handle it:
model User {
  id String @id @default(cuid())
  groups Group[]
}
model Group {
  id String @id @default(cuid())
  users User[]
}

In the second instance, it creates an implicit table with columns A,B. This allows you to do queries like:
prisma.user.findUnique({ where: { groups: { some: { ... } } })

And it allows a set on the create/update which is very very convenient (otherwise you have to issue a delete and then a create).
I personally strongly dislike the table format of the implicit M2M, but I very much like the API it provides so I would like to have the possibility to tell prisma to treat a table as a join table.
Suggested solution
I am not sure what the final form would look like, but I think it could be expressed like:
model Membership {
  user User @relation(fields: [userId], references: [id])
  userId String
  group Group @relation(fields: [groupId], references: [id])
  groupId String

  @@join([User, Group])
}

There must only be two elements in the join and they must reference models.
Those models also need to be used in a relation.
Unsure if an explicit ID should be required or it is implied in the join

Alternatives
Use the implicit if you want the nice API or suffer the pain of dealing with M2M your4self.

Very similar to #2186

@matthewmueller  Coming from Prisma 1 where you could use @relationTable, I was expecting to write the Prisma convention directly in the Prisma schema, not in the DB:
model _Membership {
  A String   @map("userId")
  B String   @map("groupId")

  @@map("Membership")
}

However, this is not allowed syntax because the model cannot start with underscore. Therefore, the only way to have implicit n-m relationships is renaming the DB tables, right?
In that case, raw SQL queries for analytics etc. become a pain because it's hard to know what column A or B mean.
I guess currently there's no workaround this, only renaming the tables?


Draft add tutorial command

Add tutorial command skeleton:

parses command
stores data
draft UI
It will be updated after we decide on the GUI skeleton and how commands are parsed.

Codecov Report
Base: 72.15% // Head: 67.60% // Decreases project coverage by -4.55% :warning:

Coverage data is based on head (32536bf) compared to base (f3a98e4).
Patch coverage: 35.22% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff              @@
##             master      #49      +/-   ##
============================================
- Coverage     72.15%   67.60%   -4.56%
- Complexity      399      423      +24
============================================
  Files            70       79       +9
  Lines          1232     1389     +157
  Branches        125      146      +21
============================================
+ Hits            889      939      +50
- Misses          311      410      +99
- Partials         32       40       +8

Impacted Files
Coverage Δ

...rc/main/java/seedu/address/logic/LogicManager.java
71.42% <0.00%> (-3.58%)
:arrow_down:

.../seedu/address/logic/parser/AddressBookParser.java
88.88% <0.00%> (-11.12%)
:arrow_down:

...in/java/seedu/address/logic/parser/ParserUtil.java
85.36% <0.00%> (-11.86%)
:arrow_down:

...ogic/parser/tutorial/AddTutorialCommandParser.java
0.00% <0.00%> (ø)

...utorial/exceptions/DuplicateTutorialException.java
0.00% <0.00%> (ø)

...ava/seedu/address/storage/JsonAdaptedTutorial.java
0.00% <0.00%> (ø)

src/main/java/seedu/address/ui/MainWindow.java
0.00% <0.00%> (ø)

src/main/java/seedu/address/ui/TutorialCard.java
0.00% <0.00%> (ø)

.../main/java/seedu/address/ui/TutorialListPanel.java
0.00% <0.00%> (ø)

...rc/main/java/seedu/address/model/ModelManager.java
84.21% <10.00%> (-15.79%)
:arrow_down:

... and 10 more

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

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


fix golangci google.golang.org/genproto/googleapis/cloud/secretmanager/v1 is deprecated

Failed CI log
Run golangci/golangci-lint-action@v3
prepare environment
run golangci-lint
  Running [/home/runner/golangci-lint-[1](https://github.com/helmfile/vals/actions/runs/6221102957/job/16883100760?pr=168#step:4:1).51.0-linux-amd64/golangci-lint run --out-format=github-actions] in [] ...
  Error: SA1019: smpb.AccessSecretVersionRequest is deprecated: Please use types in: cloud.google.com/go/secretmanager/apiv1/secretmanagerpb  (staticcheck)
  Error: SA1019: "google.golang.org/genproto/googleapis/cloud/secretmanager/v1" is deprecated: Please use types in: cloud.google.com/go/secretmanager/apiv1/secretmanagerpb. Please read https://github.com/googleapis/google-cloud-go/blob/main/migration.md for more details.  (staticcheck)

  Error: issues found
  Ran golangci-lint in 62044ms

Fix:
https://github.com/googleapis/google-cloud-go/blob/main/migration.md
go run cloud.google.com/go/internal/aliasfix/cmd/aliasfix@latest .
go mod tidy

Resolves #168 CI lint error

@yxxhero

@lucasfcnunes done


OracleDB show users

It'll be nice if SQLTools will show database users. Because in our db we have different users for different types of tables. E.x. select * from username.tablename.

Yes, please!

Not supported within this repository anymore.


Add certificates folder to backup and restore

Give the case that an additional certificate has been placed into the folder, this would allow this certificate to be restored.

As this issue requires additional code to in order to append to an existing archive additional files, it encourages the enhancement of the tar utility to make it better, easier to use and tested.
We should account that already compressed, created and closed archives cannot be extended easily. So we could keep the archives open and write new entries instead of closing, reopening and appending.


"ionic resources" hangs

i have files as described and ionic resources console log says everything is fine but it stops on this line
icon android drawable-ldpi-icon.png (36x36) generated
and nothing after this. The folders are empty

I don't know what it was, the files got corrupted actually, so i had to change them to bust cache and do ionic resources again. Second time it worked


BackgroundGeolocation is not defined error.

When the application runs there comes an error such that:

BackgroundGeolocation is not defined error.

Yes, it appears to be in backgroundGeolocation, not BackgroundGeolocation, but even that one is incomplete, as it doesn't contain HIGH_ACCURACY, etc. Somethings is dreadfully wrong with the latest version?

I should add that I'm on cordova 8.0, adding to an Android project, building on Linux. window.BackgroundGeolocation is not defined, but the camelcase one is.

@grassick if you want to install latest version from npm you need to add version:
cordova plugin add cordova-plugin-mauron85-background-geolocation@latest

or
cordova plugin add<EMAIL_ADDRESS>

I think you've resolved your issue by now. Closing.

Duplicate of https://github.com/mauron85/cordova-plugin-background-geolocation/issues/353.


MSID: 90318 Version: 3 DOI: 10.1101/2<IP_ADDRESS>0701

MSID: 90318
Version: 3
Preprint DOI: https://doi.org/10.1101/2<IP_ADDRESS>0701
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=90318
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>0701

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/90318v3
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2<IP_ADDRESS>0701
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/90318/v3/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!

warn: [mixed-citation-other-publication-flag] mixed-citation in reference (id=c38) has a publication-type='other'. Is that correct?

Fixed


Plex-MPV-Shim detected by Plex but cannot be selected

Not sure if this is the same as Issue 87. Anyway in Plex when I go to set plex-mpv-shim it is an available selection as expected but when I click on it nothing happens and the little radio box next to the spanner does not turn yellow and mpv is not the player used.

I have just upgraded Kubuntu to 23.04 and Plex to Server Version <IP_ADDRESS>99.
When looking at some Plex logs there is reference to a 404 error.
EDIT 1:
Seems it may be a Plex bug as reverting to an earlier build partially fixed the issue. I can now select mpv shim but cannot start a movie, if I select a start point anywhere else in the movie it will play from that point.

Same thing happened to me. Shim also doesn't even show up anymore on my android phone.

Updated for the first time in a few months and got this issue as well. Reverted back to the previous version I was using and all is good.
Link to working version: https://downloads.plex.tv/plex-media-server-new/<IP_ADDRESS>64-6d72b0cf6/redhat/plexmediaserver-<IP_ADDRESS>64-6d72b0cf6.x86_64.rpm

I'm using a windows PC and got it working by going into the network settings and putting it on private instead of public.

I'm using a windows PC and got it working by going into the network settings and putting it on private instead of public.

I went to settings>settings>network and could not find a private/public switch. Where exactly is this control located?

I'm using a windows PC and got it working by going into the network settings and putting it on private instead of public.

I went to settings>settings>network and could not find a private/public switch. Where exactly is this control located?

Looked up a quick video. Here you go.

Thanks for that. It is a system setting rather than a Plex setting and not sure what the Ubuntu equivalent is.

I am having this issue too.  I think 90 is the same issue (I'm cross-posting to there).
And, I think this is an issue with the Plex Server.  I cannot cast from the web client to Roku or "Plex MPV Shim".
Here is an issue on Plex support confirming, I think.  https://forums.plex.tv/t/plex-web-flinging-casting-broken/837738
My Plex Server Version <IP_ADDRESS>16
My Plex Web Client Version: Version 4.115.2

It appears a beta has been released for Plex pass holders, Plex Media Server <IP_ADDRESS>39 but not yet available for general download.

@shag00
Does that beta resolve this issue?

I can confirm.  Plex Server <IP_ADDRESS>39 has fixed this issue for me!
FINALLY!

Confirmed fixed here as well thanks :)

@arlinsandbulte
I am not a Plex Pass holder so I have not been able to download the new server but I am pleased that a couple of you are and have installed the new server.

Plex server version <IP_ADDRESS>39 solves the problem of selecting a player.

I don't think this is an issue with Plex MPV Shim, but ever since this casting issue was fixed, I cannot use the video transport controls on the casting PC.  And the progress bar does not work.
Anyone else notice this?


Items with absolute-path references cannot be displayed

Add-on version: 2.2
Describe the bug
There are Wordpress blogs that contain RSS feeds with only absolute-path links in them. I.e. protocol and hostname of an item are missing.
This causes
[Exception... "Component returned failure code: 0x804b000a (NS_ERROR_MALFORMED_URI) [nsIIOService.newURI]"  nsresult: "0x804b000a (NS_ERROR_MALFORMED_URI)"  location: "JS frame :: chrome://browser/content/parent/ext-history.js :: getVisits :: line 222"  data: no]
and then
Error: Invalid bookmark: {"title":"Item 1 title","type":1,"url":"/category/test/item-1/","parentGuid":"v-i_T30roDvj"}
Interestingly enough, the feed preview in Firefox is able to handle these invalid URLs properly -- but only the preview. The feed is never processed.
To Reproduce

Open Livemark settings and add the following feed: https://pastebin.com/raw/v99u0LiJ
Feed is added (i.e. folder is created), but feed items are never displayed.

Expected behavior
The <channel> tag is containing a proper URL in <link>, and <link> of an <item> starts with a "/". Therefore, it should not be too difficult to compile a full URL before trying to store it as a bookmark.
Extra context
The sample that I put on https://pastebin.com/raw/v99u0LiJ is directly taken from a Wordpress feed (minus some private content). Yes, of course I would like Wordpress not to generate invalid RSS feeds in the first place, but I cannot do anything about that: These are not my blogs, I am only reading them....

I think you mean relative URLs don't work?
This happens because the feed preview is aware of where the feed comes from.  I am not sure how to best fix this. Perhaps by checking during parsing of the feed, and generating absolute URLs relative to the feed location before creating the bookmark?

I see, @ali1234, thank you.
My thoughts were: Before creating the bookmark,

Check if /rss/channel/item[*]/link is a proper URL (regexp or so).

If yes: Done.
If no: Check if /rss/channel/item[*]/link starts with a "/" and /rss/channel/link is a proper URL.

If yes: Do a "item[*]/link = channel/link + item[*]/link" before calling the create-bookmark
function.
If no: Back luck; nothing to do.

Does that makes sense?
Yes, I agree, the best place is probably during parsing of the feed. I had a quick look at feed-parser.js, but I'm afraid I cannot create a patch (don't understand it well enough).

You don't need to handle it manually, you just do Url(link, base). Livemarks already tries to do this:
https://github.com/nt1m/livemarks/blob/master/shared/livemark-store.js#L75
It isn't working with your example because the feedUrl is itself relative.

Apologies, I'm not sure I understand:

It isn't working with your example because the feedUrl is itself relative.

In my example, there is
<channel>
	<title>Test title</title>
	<atom:link href="/category/test/feed/" rel="self" type="application/rss+xml" />
	<link>https://pastebin.com</link>

This link is absolute.
Then there is
	<item>
		<title>Item 1 title</title>
		<link>/category/test/item-1/</link>

which is relative.
How is a relative URL then ending up in feedUrl?
It is obviously not taken from /rss/channel/link, because if it were, then it would not break URL(feed.siteUrl, feed.feedUrl).href...


[API] Update index route

The route to update an index (not a schema) should not return a 202 - Accepted but a 200 - Ok

Documentation already up to date


Make the download message simple for new Java programmers

Imagine you're a new Java programmer and you need a compiler.
 Is that what's your looking for?

I agree that we need to do some work around the naming conventions as it has been a bit unclear to the uninitiated user. The answer to What am I going to download? is sort of "All of the above" but more specifically it is, as it says on the page, Eclipse Temurin which is the name of the distribution of OpenJDK build and shipped under the top level Adoptium project. As I'm sure you can appreciate, there are a lot of legal implications with the java trademark so we have to be quite careful about the labelling. We all wish it was simpler ;-) The Ecipse IDE is just one (albeit probably the most famous) thing shipped by the Eclipse Foundation. Here's a full list

@sxa yes, you're 100% correct. I understand the challenge (including the trademark trouble and the fact that everyone thinks that Eclipse is just the IDE, which it isn't). But I fear being correct won't bring success.
AdoptAJdk's marketing was much, much more understandable:
"Download the AdoptAJDK JDK from adoptajdk.net." (1 brand)
Now its:
"Download the Eclipse Tenerium JDK from adoptium.net". (3 brands)
May I suggest to, at the very least, consider aligning the brand url and the download name.


Add support for pending transactions on eth_getFilterChanges endpoint

Describe the feature
Currently the API throws an error when FilterKind::PendingTransaction is utilized:
https://github.com/paradigmxyz/reth/blob/main/crates/rpc/rpc/src/eth/filter.rs#L98
Example requests to trigger the error:
$ curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_newPendingTransactionFilter","params":[],"id":1}' http://localhost:8545
{"jsonrpc":"2.0","result":"0xd9e8d5df0c8f900c3a6cfb4312e8f511","id":1}
$ curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_getFilterChanges","params":["0xd9e8d5df0c8f900c3a6cfb4312e8f511"],"id":1}' http://localhost:8545
{"jsonrpc":"2.0","error":{"code":-32603,"message":"pending transaction filter not supported"},"id":1}

This is currently utilized in some nice app that monitors pending txs and enables arbitrary tx execution when particular tx are detected in the pending pool :smile::+1: But currently it's not possible to use this feature against reth node.
Additional context
No response

the eth_getFilterChanges returns a list of new transaction hashes.
what we need to do is:

add a value to the filterkind variant for PendingTransaction https://github.com/paradigmxyz/reth/blob/00a92f526aa6bb7695c249fc634dabf9f3d4928e/crates/rpc/rpc/src/eth/filter.rs#L426-L426
this value should be the return value (Receiver) of https://github.com/paradigmxyz/reth/blob/00a92f526aa6bb7695c249fc634dabf9f3d4928e/crates/transaction-pool/src/traits.rs#L120-L120

so when a new pending tx filter is installed, we create a new receiver via the pool:
https://github.com/paradigmxyz/reth/blob/00a92f526aa6bb7695c249fc634dabf9f3d4928e/crates/rpc/rpc/src/eth/filter.rs#L242-L242
and here we drain the receiver on eth_getFilter changes via while Ok try_recv
https://github.com/paradigmxyz/reth/blob/00a92f526aa6bb7695c249fc634dabf9f3d4928e/crates/rpc/rpc/src/eth/filter.rs#L97-L99

Can I take it?

assigned

we have this now


Avoid warnings when compiling under Wpedantic

This PR suppresses warnings under Wpedantic compilation by explicitly marking GNU extensions with the __extension__ keyword and replacing the use of GNU zero-length arrays with ISO C flexible arrays.
Let me know if I've missed anything or should approach this differently, thanks!
For context I maintain an R interface for quickjs, and the R package manager (CRAN) requires all C/C++ code to compile under -Wpedantic without warnings. I currently have to patch the code for each release, so it would be great if that wasn't necessary.
But as you can see here the patchset is fairly minor, so I completely understand if you'd rather keep the GNU-isms as-is!

What happens if we set https://cmake.org/cmake/help/latest/variable/CMAKE_C_EXTENSIONS.html#variable:CMAKE_C_EXTENSIONS ?
Right now we are using c11 rather than gnu11 (in CMake terms). Would -Wpedantic still give warnings if we set the standard to gnu11?

Nevermind, we already do (I missed it) and -Wpedantic still gives the warnings.

@chqrlie is this good to go?


User Selection not displaying user information

When using Salesforce Inspector Reloaded and trying to view a specific user, the drop down shows users matching the search. However, when selecting the desired user, the usual user information and buttons to login, view details, etc., doesn't appear and it shows "No user details available".
To Reproduce
Steps to reproduce the behavior:

Open Salesforce Inspector Reloaded in Salesforce org.
Click on User tab
Search for an active user.
Select the user.

Expected behavior
I expected to be able to view the user details and buttons to login as the user, view user details, view permission sets, and view permission set groups.
Screenshots
No screenshots because it would show user PII.
Desktop (please complete the following information):

OS: Windows 11
Browser Chrome
Version 119.0.6045.124 (Official Build) (64-bit)

Additional context
This started happening today (11/8/2023). I have uninstalled the extension and reinstalled the extension. I updated Chrome from an older version to the up to date version. Other features work as expected.

Hi @mackarovSF,
Could you check chrome dev console and see if there's any error ?
Thanks

@tprouvot, sure! Here's the dev console error:
popup.js:586 Unable to query user details with: {"compositeRequest":[{"method":"GET","url":"/services/data/v59.0/query/?q=SELECT%20Id%2C%20Name%2C%20Email%2C%20Username%2C%20UserRole.Name%2C%20Alias%2C%20LocaleSidKey%2C%20LanguageLocaleKey%2C%20IsActive%2C%20FederationIdentifier%2C%20ProfileId%2C%20Profile.Name%2C%20ContactId%2C%20IsPortalEnabled%20FROM%20User%20WHERE%20Id%3D'0051300000BKI2JAAX'%20LIMIT%201","referenceId":"fullData"},{"method":"GET","url":"/services/data/v59.0/query/?q=SELECT%20Id%2C%20Name%2C%20Email%2C%20Username%2C%20UserRole.Name%2C%20Alias%2C%20LocaleSidKey%2C%20LanguageLocaleKey%2C%20IsActive%2C%20FederationIdentifier%2C%20ContactId%2C%20IsPortalEnabled%20FROM%20User%20WHERE%20Id%3D'0051300000BKI2JAAX'%20LIMIT%201","referenceId":"minimalData"}]}.
Should be available in a day or two, during this time you can download the previous version and install it locally
Apologies for the inconvenience I'm really sorry

@tprouvot Thank you so much! I installed the reloaded version about two weeks ago and love it. You rock!

@mackarovSF @RebbePod if you are on a sandbox you can also enable digital experience and it will solve the issue

Be careful this will enable my domain, use this option at your own risks 😄

The fix is waiting for review on the Chrome web store, it should be ok tomorrow 🤞

Thank you

@RebbePod  @mackarovSF
Hi guys !
The fixes has been released, could you check if everything is ok for you ?

Same here. Thank you!


finish get_elements and its test function

finish get_elements and its test function.

It seems that the function failed the read the local files and thus failed to pass the test. I have seen this and that's why I used online csv reading. Maybe try other methods and push the changes to see if the tests pass


KAFKA-16365: AssignmentsManager callback handling issues

When moving replicas between directories in the same broker, future replica promotion hinges on acknowledgment from the controller of a change in the directory assignment.
ReplicaAlterLogDirsThread relies on AssignmentsManager for a completion notification of the directory assignment change.
In its current form, under certain assignment scheduling, AssignmentsManager both miss completion notifications, or prematurely trigger them.

@showuon @OmniaGM @gaurav-narula could you have a look?

Will try to review it this week or next week.

Thanks for the review @showuon. I think I've addressed your comments here.

Failed tests are unrelated.


Ability to define mandatory properties for APIs

If an organization need to associate addition information with APIs, current approach is to use properties. However, these properties are optional, so that API publishers can ignore associating relevant information, which may affect organization's API governance. Therefore, it is useful to have ability define mandatory properties for APIs, so that API publishers are enforced to fill those before publishing.
Admins should be able to define mandatory API properties in the admin portal. API Publisher displays these mandatory properties in the properties areas and does not allow the API to be published until those are filled.

Fixed with https://github.com/wso2/carbon-apimgt/pull/12072


Add flags useful when running Wire from a Bazel rule.

Related to issue https://github.com/google/wire/issues/221
This PR adds three new flags to the wire gen subcommand, which are useful when executing Wire as part of a Bazel rule:

--quiet silences output about successful file writes.
--relative_gopath allows the $GOPATH environment variable to be set as a relative path. It will be converted to absolute format inside Wire before invoking the go binary.
--output_path_template allows the per-package output path to be customized, since Bazel requires that output files be written to specific path prefixes (the output root) rather than next to the original source files.

With these flags, it's easy to define a Bazel rule for Wire injectors that uses ctx.actions.run(). See https://github.com/plezentek/rules_wire/blob/98f72cae33303890a855718f87798b209d50ccc3/wire/private/actions.bzl for an example of the complex gopath construction + shell wrapper needed for executing Wire without such flags.

Thanks for the PR, @jmillikin-stripe. As outlined in #221, I think a more integrated approach would make Wire + Bazel work better. I can see that this PR may reduce some friction, but ultimately the problem remains that Wire would be using a GOPATH, where it would be better off being able to more directly integrate with Bazel's graph. I'm going to close this out.


keybase service not functional (devel mode)?

Hello,
I have been able to compile the v6.0.2 version on my Windows system with Golang v1.17.13 and am now trying to run things in "Developer mode" for testing.
As I understand, I need to start the keybase service first which seems to start up fine (although I do not get any debug information) since the help says that the keybase service daemon is for " start the Keybase service to power all other CLI options"
PS D:\Test> .\keybase.exe service
- WARNING Running in devel mode
- INFO Binding to pipe:\\.\pipe\kbservice\Users\lonni\AppData\Local\KeybaseDevel\keybased.sock

Then I tried to do a number of other functions listed in the keybase help but I always get the message:
- ERROR API network error: Post "http://localhost:3000/_/api/1.0/invitation_request.json": dial tcp [::1]:3000: connectex: No connection could be made because the target machine actively refused it. (code 1601)

which seems to suggest that the local service is not running, but I thought that it was started with the "keybase service" command.
Can you please help as I want to run a copy keybase as a local service to connect to and develop some things?
Any help would be greatly appreciated.
Thanks

Hello @joshblum and @MarcoPolo,
I wanted to follow up to see if you had received me message since I would like to run keybase as a local server so that I can connect to it locally in developer mode and do a bit of development on my Windows 11 (64-bit) system.
In one terminal I start the "keybase.exe service"
test> .\keybase.exe service

WARNING Running in devel mode
INFO Binding to pipe:\.\pipe\kbservice\Users\lonni\AppData\Local\KeybaseDevel\keybased.sock

and then in another terminal I use the keybase developer name "max" (for example) and try to login, or use any other CLI command as well with the same result:
test> .\keybase.exe login

WARNING Running in devel mode
Your keybase username: max
ERROR API network error: doRetry failed, attempts: 3, timeout 13.5s, last err: Get "http://localhost:3000/_/api/1.0/user/lookup.json?fields=basics%2Cpublic_keys%2Cpictures&load_deleted_v2=1&multi=1&username=max": dial tcp [::1]:3000: connectex: No connection could be made because the target machine actively refused it. (code 1601)

As you can see, it seems that the keybase service is running the server/daemon on the localhost port 3000.
How can I start the local server for development?
Thanks for anything that you might be able to do in assisting me to get this started.
Any help would be greatly appreciated.

@mmaxim and @chrisnojima
Hello All,
Would it be possible to get some help with this issue?
In "Devel Mode", I just want to run the "keybase service" in a terminal (Windows) and then use some of the keybase client commands () in the CLI to connect to the localhost running the service and complete the commands.
I have also been able to compile the "go/kbfs/kbfsdokan" and use it to mount "M:" in different ways with:
kbfsdokan.exe -debug -localuser max -bserver=memory -mdserver=memory -local-fav-storage=memory M:
and
kbfsdokan.exe -debug -localuser max -bserver=dir:fpdata -mdserver=dir:fpdata -local-fav-storage=memory M:

I would like to see the kbfsdokan mount will send the files over to localhost keybase service running on the system as well, but that is not happening for some reason.
Can you please help me?
Thanks in advance.


Can we have better output?

Is your feature request related to a problem? Please describe.

Output is messy in tabular form
Can't read description properly
Can't click hyperlink directly, one have to go back 2 times in terminal to copy the whole link of project.

Describe the solution you'd like
List output + Color would be better.
JWT-Key-Recovery
    Recover the public key used to sign JWT tokens
    https://github.com/FlorianPicca/JWT-Key-Recovery
    [Python]

JWT cracker
    Multi-threaded JWT brute-force cracker
    https://github.com/brendan-rius/c-jwt-cracker
    https://lmammino.github.io/distributed-jwt-cracker/
    [C] [Paid] [Kali linux: jwt-cracker]

Now user can directly click the link.
No extra white space and fields like keywords
Simple and better output + colors.

hi @giteshnxtlvl,
Great Idea, I will work on that.

Thanks @mBouamama and it will be great if you can remain this tools to only rawsec

Hi @giteshnxtlvl ,
Package name was chosen by @noraj Creator & Maintainer of Rawsec's CyberSecurity Inventory
Let's see pull request: #15

Are you ok with that?

Output looks Awesome, Nice work @mBouamama :)

As rawsec is deprecated, so now rawsec-cli can be rawsec. Any thoughts @noraj?
https://github.com/mBouamama/rawsec_cli/packages/532825

@mBouamama For pass-station I have made several output format:

Output: simple table, pretty table, JSON, YAML, CSV

See [examples][https://sec-it.github.io/pass-station/#/pages/examples) (source code)
So maybe you can keep the pretty table format and propose an alternative list format you jest implemented. Also JSON is good for API interfacing and CSV for CLI grepping.

As rawsec is deprecated, so now rawsec-cli can be rawsec. Any thoughts @noraj?
https://github.com/mBouamama/rawsec_cli/packages/532825

I prefer we keep rawsec-cli cmd and rawsec_cli package name, I find rawsec too confusing with the whole Rawsec brand.

I find rawsec too confusing with the whole Rawsec brand.

Rawsec CLI is ok, but command can be rawsec only. Just like AWS CLI's command is only aws.
Anyway I am ok either ways.
And don't forgot the logo for CLI,  as on typing rawsec-cli nothing appears.


Add Cinchoo NACHA library

Misc/Cinchoo NACHA - Cinchoo NACHA
A NACHA library for .NET / c#

Sorry, @Cinchoo,
This entry isn't going to make the list for the following reason(s):

Possibly too small

Possibly not awesome

No of response from the community suggested the previous statements were false

Don't let this setback cause you to lose heart, and we look forward to your next contribution.
Thanks, Pleb


Should we bump the MSRV for OwnedFd?

Rust 1.63.0 was just released, and the OwnedFd struct is now stable. Given that it essentially replaces the RawFdContainer type that we currently use, is it worth it to bump the MSRV to 1.63.0 in order to use it?
Pros:

As the remainder of the Rust ecosystem (e.g. nix) evolves, it will likely used BorrowedFd and OwnedFd instead of RawFd. We don't want an ecosystem split
We will no longer be responsible for the invariants of RawFdContainer, since it will be on the standard library's back.
OwnedFd is niched, meaning that the layout of OwnedFd is optimized.
Bumping the MSRV to 1.63.0 would mean we could use some of the features mentioned in #538

Cons:

Converting a RawFd to an OwnedFd requires unsafe, meaning that, unless nix also returns OwnedFd from its ancillary message function, we'd have to introduce unsafe code.
Bumping the MSRV past 1.57.0 would mean that x11rb would not build with the version of rustc currently in the Ubuntu package repository.

Looks like https://packages.debian.org/bookworm/rustc has 1.63 now. But it's also possible to use the io-lifetimes crate to support older versions, which some libraries that don't want to require 1.63 are doing.
winit (and softbuffer) is targetting 1.60.0 currently, so if it will be using x11rb (https://github.com/rust-windowing/winit/pull/2614), it's best for x11rb to not require a newer version, unless that is bumped soon.

But it's also possible to use the io-lifetimes crate to support older versions

Oh, wow. I like that idea and went ahead and implemented it. However.... thanks to FromRawFd::from_raw_fd being unsafe, this breaks the crate (#![cfg_attr(not(feature = "allow-unsafe-code"), forbid(unsafe_code))]). x11rb::rust_connection::Stream currently implements FD-passing and abstract socket support thanks to nix making all necessary ingredients safe. That doesn't seem possible anymore with io-lifetimes.
I pushed my work to https://github.com/psychon/x11rb/tree/owned-fd.

I've been trying to get sendmsg/recvmsg into rustix, see bytecodealliance/rustix#505. rustix uses io-lifetimes by default, which would circumvent this issue.

Closed by #815


Testing NSM on IPv6 K8s cluster

Overview
NSM should work fine over IPv6 underlays from K8s IPv6 clusters.  K8s can either be configured as IPv4 or IPv6.  We currently testing on K8s clusters in Packet.net that are IPv4.  We want to also make sure to test on K8s clusters that are IPv6.

So here are two things:

K8s API run on IPv6. That is relatively easy as Packet already gives use IPv6 addresses in the nodes and it's a matter of telling kubeadm to deploy master with that address. What this will test is if nsmd-k8s can talk to the API server over IPv6.

CNI plugin run over IPv6. That one is actually tricky, as we use weavenet which does not talk IPv6 today. Looking at what kind are doing, they enable calico-ipv6 for this scenario. I'm not sure if this is useful at all, as NSM, in general, should be orthogonal to CNI and our VPP agents are already using host networking.

Thoughts?

@nickolaev I would say both... since we are pretty agnostic about CNI plugins... switching from weave to calico for IPv6 is fine.  In fact, it would improve the number of CNIs we are testing over :)


Auto version bump does not work for git shallow clones

Hello,
We are experimenting with shallow git clones (depth=1) for our Jenkins builds. We discovered that the auto version bump fails for  shallow clones since the commit corresponding to last git tag is not pulled in when cloned with depth=1. Note that we pull in all the tags (git fetch --tags) while cloning, so the tags are available in the local copy.
When we investigated further, we discovered that contained_in_current_branch? method returns false as the branch metadata for the given tag is not present in the shallow copy.
Can you please suggest some alternate ways to bump the version, so that we can still use thor-scmversion with shallow clones?
Thanks,
Mayur

I'd be happy with an alternate implementation of contained_in_current_branch?.  The current implementation is not very fast for repos with 1000+ tags. If you find a better way to figure out if a given tag is contained in the current branch, please send it our way.


Bugfix

The result is not as expected if the key is not found
I think, more be correctly if the function get() always return null if key not found in session.

We make definitely function

If is set data in session, we receive data.
If no data we get 'null'
If we modify the function as I suggested, we get clear and understanding data.

$s1->set([
    'string' => 'hello',
    'array1' => [1,2,3],
    'array2' => [],
]);
$x1 = $s->get('string')??''; // hello
$x2 = $s->get('stringX')??'by'; // by
$x3 = $s->get('array1')??'[]; // [1,2,3]
$x4 = $s->get('array2')??[1,2,3]; // [1,2,3]
$x5 = $s->get('arrayX)??[]; // []

foreach($s->get()??'[] AS $x) {
   `echo` $x; // helo | [1,2,3] | []
}
foreach($sX->get()??'[] AS $x) {
   `echo` $x; // not executed
}

In result we get clear code.
But if we don't change function, we need code like this:
$s1->set([
    'string' => 'hello',
]);
$x1 = $s->get('string')??''; // hello
$x2 = $s->get('stringX')??'by'; // [] *** this is not correct, I wait string in this, not array
if (empty($x2)) {
    $x2 = 'by';
}

This is the only place I see we can do any improvements here (it would be a very rare case):
elseif (empty($_SESSION))
{
	return $key === null ? [] : null;
}

This way if no $_SESSION is available we can return null when someone calls get($key) and [] when get(null) is called.
Other than that, the original code in the framework is working just as we would expect it to work. No changes are needed. Calling get(null) should return an empty array if there is no data, and calling get(key) should return null when this key is not set - and that's how it works now.
I consider the examples given to justify changes in the code to be not valid.


Can'y use the same file name!! Why?

Why can I not use the same filename for my test when in different directory?
I organized my tests based on groups and become more and more specific all the way to my host.
So reusing the same file name
BTW, I love this software ;-)
--
Emmanuel
AWS_PROFILE=7009 testinfra  --connection=paramiko<EMAIL_ADDRESS>-m "common or pnr or proxy or aws" --maxfail 1 test_suite
================================================= test session starts =================================================
platform linux2 -- Python 2.7.6, pytest-2.8.5, py-1.4.31, pluggy-0.3.1
rootdir: /home/emayssat/workspaces/emayssat/devtools_ops276_vpc_pnr_image_update/devops/aws/release/testinfra, inifile: pytest.ini
plugins: testinfra-<IP_ADDRESS>a21
collecting 37 items / 1 errors
======================================================= ERRORS ========================================================
_________________________________ ERROR collecting test_suite/safeview/test_monit.py __________________________________
import file mismatch:
imported module 'test_monit' has this file attribute:
/home/emayssat/workspaces/emayssat/devtools_ops276_vpc_pnr_image_update/devops/aws/release/testinfra/test_suite/common/test_monit.py
which is not the same as the test file we want to collect:
/home/emayssat/workspaces/emayssat/devtools_ops276_vpc_pnr_image_update/devops/aws/release/testinfra/test_suite/safeview/test_monit.py
HINT: remove pycache / .pyc files and/or use a unique basename for your test file modules

@emayssat-ms please add a fenced code block around console output. It makes it much easier to read.

This is a pytest issue that can be resolved by adding a __init__.py file in your tests modules see
https://stackoverflow.com/questions/12582503/py-test-test-discovery-failure-when-tests-in-different-directories-are-called


Exception: Model type not yet supported by TreeExplainer: <class 'sklearn.ensemble._forest.RandomForestRegressor'>

I have also added the screenshot of the model that I am using.
I keep on getting this error.
Exception: Model type not yet supported by TreeExplainer: <class 'sklearn.ensemble._forest.RandomForestRegressor'>

Not sure why it is failing since the same setup work for me. I have shap 0.36.0 and sklearn 0.23.2

Yeah I think this is an issue with an older version of shap (0.31.0 and below) as sklearn changed the import paths of some of the models, which has since been updated in shap. Try updating to the latest version of shap and see if you are still getting the issue

Thank You guys!
Updating to Shap 0.36.0 solved the error.
Thanks for your help again!

Navroz Lamba

---- On Sat, 29 Aug 2020 19:15:47 -0700 lrjball<EMAIL_ADDRESS>wrote ----
Yeah I think this is an issue with an older version of shap (0.31.0 and below) as sklearn changed the import paths of some of the models, which has since been updated in shap. Try updating to the latest version of shap and see if you are still getting the issue
—
You are receiving this because you authored the thread.
Reply to this email directly, https://github.com/slundberg/shap/issues/1379#issuecomment-683366904, or https://github.com/notifications/unsubscribe-auth/AQGFZDWD7WZCDD52FAMFWL3SDGY5HANCNFSM4QJGZZBA.

Hello Sir, I have the same issue even though my shap version 0.36.0 and sklearn version 0.24.1  i had an error in Adaboost model classifier. Kindly help on this.

I just had this issue, after patching sklearn with scikit-learn-intelex to speed up SVM. As a result, SHAP tree explainer did not recognize random forest so I had to unpatch back

Hi,
I am using the latest version of shap. Still, I am facing the same problem (screenshot attached). Any suggestions??


Add Blade-x components

Question
Answer

Issue or Enhancement
Enhancement

License
MIT

What's in this PR?
This PR include the Blade-x components from https://github.com/dgvai/laravel-adminlte-components
Thank you very much @dgvai for the great work and for the permission, to include this directly in this project.
Checklist

[ ] I tested these changes.
[x] I have linked the related issues.

What if I update something in my package, will I have to create PR here for the changes too?

@dgvai Or you make only the changes into these package. The other package is not needed after this merge.

A few tips:

Maybe you can use namespace to register all the components:
/**
 * Bootstrap your package's services.
 */
 public function boot()
{
    Blade::componentNamespace('Nightshade\\Views\\Components', 'nightshade');
}

Reference: https://laravel.com/docs/8.x/blade#components

Maybe there is a way to conditionally include components depending on the Laravel version, so we don't have to drop Laravel 6 version.

Sorry, componentNamespace() is only available for Laravel versions >= 8.x. :disappointed:

@lacodimizer @dgvai I created PR #724 to check the Laravel support before trying to include the components. This may help to keep the support for Laravel 6.x versions. You can discard it in the case you want to drop that support.
We still need to make a minimal set tests for the components, I'm going to check for a way to do this on next days.

@lacodimizer @dgvai I found a problem while testing the components on my local environment. Every component class have a render() method, for example:
public function render()
{
    return view('adminlte::input');
}

But the adminlte::input view is not found. We have two ways to solve this:

Move the resources/components folder to resources/views/components and then change all the render() methods like this:
public function render()
{
    return view('adminlte::components.input');
}

Load the resources/components views in the service provider using something like next on the loadComponents() method:
$viewsPath = $this->packagePath('resources/components');
$this->loadViewsFrom($viewsPath, 'adminlte-component');

And then, again, change all the render methods like this:
public function render()
{
    return view('adminlte-components::input');
}

Which one you prefer?

@Shidersz I would prefer the first option, so we have a standard, like the other blade includes. But the second option is good too.

@lacodimizer Ok, I'm going to add those changes to my current PR.

@dgvai @lacodimizer While I was making some tests for the components, I figure out that we can do some enhancements on some of they before the first release. Why before the first release? Because changing the interface after first release will generate a greater impact on the people that uses they. If you all agree, I can create an issue and share the ideas there.

Nice, workflows are working, we have a setup to run component tests when Laravel version is 7+ and avoid those tests on Laravel 6.x versions. I will upload the first component improvement soon...

@resslinger Any idea why styeci and scrutinizer do not show for the last commit?


make it so it will calculate how many newlines tall the page is whenever the page is resized / whenever the font size is calculated

gonna make it calculate it for the width AND height (tm)

fixed in thy commit


Port over integration tests beginning with the letter S and T

I rule and have completed some work on Case Manager that's ready for review!
Port over integration tests beginning with S and T
This pull request makes the following changes:

That thing I said

No view changes
It relates to the following issue #s:

Bumps #1318

Codecov Report

Merging #1331 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1331   +/-   ##
=======================================
  Coverage   88.42%   88.42%
=======================================
  Files          61       61
  Lines        1356     1356
=======================================
  Hits         1199     1199
  Misses        157      157

Continue to review full report at Codecov.

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

No prod codebase changes so merging.


Ninject.Integration.SolrNet (Version=<IP_ADDRESS>2) references Ninject 3.0.0

Downloaded the dependencies via NuGet. In my project I have Ninject 3.2.x referenced. Got a runtime issue with missing Ninject 3.0.0.
{"Could not load file or assembly 'Ninject, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=c7192dc5380945e7' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)":"Ninject, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=c7192dc5380945e7"}
Used ILSpy to understand where does this come from. It seems that  Ninject.Integration.SolrNet references Ninject.3.0.0 (which is not present in the NuGet repository BTW).
Extract from ILSpy
// Ninject.Integration.SolrNet, Version=<IP_ADDRESS>2, Culture=neutral, PublicKeyToken=null references
// Ninject, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=c7192dc5380945e7
Any help will be greatly appreciated!

Hi,
https://www.nuget.org/packages/SolrNet.Ninject/0.5.0-alpha2 declares Ninject (>= <IP_ADDRESS>).
That version of Ninject is available on nuget: https://www.nuget.org/packages/Ninject/<IP_ADDRESS>

I've noticed the declaration. The issue is replicated when Ninject 3.2.x is already used by the project. In this case package manager does not download the v<IP_ADDRESS>, though runtime still fails with dependency problem.

Have you tried adding an assembly binding redirect?

Yes, (I believe it got added by VS once I installed the package).
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Ninject" publicKeyToken="c7192dc5380945e7" culture="neutral" />
        <bindingRedirect oldVersion="<IP_ADDRESS>-<IP_ADDRESS>" newVersion="<IP_ADDRESS>" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>```

It may be caused by additional project reference: Main Project references Ninject and Solr.Ninject. Integration Test project references both Main Project and Solr.Ninject (I may have got it wrong here). Will try to debug.

Fixed, it was a local issue.


[Task]: update docs for script transform

What needs to happen?
nashorn is removed in java 17, explain in the docs how it can be added.
Issue Priority
Priority: 3
Issue Component
Component: Transforms

.take-issue


Update documentation to reflect managing multiple cameras

when we have a couple of gv cameras on the server, what do the systemctl and journal files show? how do I restart one camera but not the others?
can you update the documentation to clarify this?
not emergency but please do it on monday
thanks

this is old and apparently had a time limit.
I believe this to be closed now.


Conventions for reference mutability of hardware resources

Currently, all methods in traits describing hardware classes (such as GPIO pins and SPI bus interfaces) use non-mutable &self pointers. This might cause problems with two or more consumers meddling with hardware state at the same time and getting into race conditions, for example, which are going to be very hard to diagnose at some point.
I have a suggestion to make the methods require &mut self pointers, except for those which are generally thread-safe and, more importantly, guaranteed to not change hardware state. What this means, is that operations such as send, receive (since it shifts buffer registers), write pin state, change pinmux configuration etc. should require mutability of the corresponding hardware resource. However peek (get buffer contents without shifting it), read pin state, get current time and similar operations may be made to work with non-mutable resources.
Also, in case of devices depending on underlying lower-level resources (for example, most real-time clocks and on-board sensors using buses such as I2C or SPI), the device driver owning mutable references to those resources may expose methods which don't require mutability - for operations which don't change the overall hardware state except for lower level bus registers etc., abstracted away by the driver. The driver, however, should ensure thread safety of those methods via locking mechanisms, atomicity guarantees and whatnot.

That sounds like an overall good idea, but I'm not sure that the hardware is always used in exclusive mode, e.g. it's a valid, and often used scenario to have several devices on SPI bus, so you can't hold the &mut on it. This noted, it should be a scheduled exclusive access, so maybe it's actually a job for a mutex-like thing.

In case of SPI, I think it'd be reasonable to make the driver provide separate chipselect resources which would abstract away their mutual exclusiveness with mutexing or spinlocking when needed.

Sounds good.


Is there any callback method triggered by rending done event?

I need to do something after PDF rendering finished, is there any callback method to use?

There is only the "pagerendered" event. Refer to https://github.com/mozilla/pdf.js/issues/4448#issuecomment-37523898 as to why.

Also RenderTask (https://github.com/mozilla/pdf.js/blob/master/src/display/api.js#L1870) returned by the render method contains a promise that is resolved when the rendering is done.


Automations: Move "Cancel a flow run" action over from cloud

Description
Moves all the necessary types and and pieces of the cancel a flow run action over from cloud.

Code looks fine but not sure if you need @collincchoy to review


Sound not playing

Describe the bug
Developing game, presssing an alphabet should play its phonetic sound. But its not playing. Same is te case with images, apple & other images are not displayed.
"Sound loading error:""/sounds/success.mp3"4
at Howl2.onloaderror (/src/utils/audio.ts?t=1733319181458:11:41)
at Howl2. (/node_modules/.vite/deps/howler.js?v=0cfeff4c:1348:20)
Link to the Bolt URL that caused the error
https://bolt.new/~/sb1-r92nmi
Steps to reproduce
public/sounds/a.mp3
src/utils/audio.ts
src/App.tsx
Expected behavior
Screen will have alphabet & its corresponding images like apple, ball . PRessing alphabet should play sound.
Screen Recording / Screenshot

Platform
Browser name = Chrome
Full version = <IP_ADDRESS>
Major version = 131
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
performance.memory = {
  "totalJSHeapSize": 62529522,
  "usedJSHeapSize": 51304962,
  "jsHeapSizeLimit":<PHONE_NUMBER>
}
Username = VidyaMandava
Chat ID = 5a7915e3df55

Additional context
No response

Unfortunately we don't have the resources to offer programming support for individual projects. You can read more about continuing to develop your project here. The Bolt Help Center also has a number of resources on using Bolt most effectively.