[project monitoring v2]Project Monitor create has a name pre-loaded - project-monitoring

Setup

Rancher version: 2.6-head Commit ID eb03517
Browser type & version: chrome latest

Describe the bug
when navigating to project monitors and clicking the create button, the Name is filled in. As a user I cannot change the name. If I attempt to click create an existing project monitor with the same name, unhandled errors are thrown in the console.
To Reproduce

navigate to monitoring > project monitor
click create
name is preconfigured - click create
project monitoring project monitor is listed
click create
name is pre-configured
click create

Result
expected error for already exists - but throws unhandled errors in console; also, the create button does not change to red with Error as name. (consistent with other pages)
VM45:1          POST https://ronv26head.qa.rancher.space/k8s/clusters/c-fnh2m/v1/helm.cattle.io.projecthelmcharts 409
CreateEditView mixin failed to save:  {type: 'error', links: {…}, code: 'AlreadyExists', message: 'projecthelmcharts.helm.cattle.io "project-monitoring" already exists', status: 409, …}
Expected Result
name is configurable
error when attempting to create duplicate and behavior consistent with other similar pages in rancher
Screenshots

Pass verified in 2.6-head Commit ID 455fdf6


Do not allow Shoot restoration/reconciliation when lastOperation is Migrate

How to categorize this PR?

/area control-plane-migration
/kind bug
What this PR does / why we need it:
There is a possibility that the Shoot can be reconciled/restored while it's lastOperation is still Migrate which then causes the extension resources to not be annotated with gardener.cloud/operation=restore as that actually requires the lastOperation to be Restore. Instead they will be annotated with gardener.cloud/operation=reconcile.
Which issue(s) this PR fixes:
Part of #1631
Special notes for your reviewer:
Generally this is the expected flow:

The migrate flow is started (this removes the control plane of the Shoot in the Source Seed)
At the end of the migrate flow the Shoot.Status is updated to contain:

lastOperation:
  type: Restore
  status: Pending
seedName: nil

This update causes the generation of the Shoot to increase and it is requeued for reconciliation
The shoot controller should then properly read the new status and Restore the Shoot's control plane in the Destination Seed

However during the migration flow the Shoot can be added to the reconciliation queue. Once the migration flow finishes and the Shoot is popped from the queue to be reconciled again, outdated data for the Shoot resource can be retrieved (perhaps due to caching) which leads to the following differences between what the client sees and what is actually on the server

The shoot controller starts the migration flow and updates the Shoot with

lastOperation
  type: Migrate
  status: Processing
seedName: oldSeed

The shoot controller finishes the migration flow and updates the Shoot with

lastOperation
  type: Restore
  status: Pending
seedName: nil

The shoot is popped for reconciliation but now the controller sees the following old value

lastOperation
   type: Migrate
   status: Processing
seedName: oldSeed

This causes the migration flow to be executed again
During this when the TryUpdateStatus at the start of the migration flow tries to update the Shoot.Status it first fetches the Shoot and actually gets the most recent one with the Restore Pending lastOperation. However, that is overwritten with the following (basically the code after this line):

lastOperation:
  type: Migrate
  status: Processing
seedName: nil

Notice that during this update the seedName is kept to nil as we do not change it when a Migration operation starts.
5. At the end of the migration the Status is again updated with
lastOperation:
   type: Restore
   status: Pending
seedName: nil

During this time, It can happen that the Shoot is again requeued for reconciliation and the controller fetches old information again where the status is:

lastOperation:
  type: Migrate
  status: Processing
seedName: nil

Due to the Status.seedName=nil, this check is skipped and the shoot is Reconciled instead of being restored.
By returning an error we force the shoot to be reconciled again until it fetches the correct data from about the Shoot's status.
Release note:

Fixed a possibility where after a `Shoot`'s migration flow has completed, the `Shoot`'s reconciliation loop will try to restore the `Shoot`'s control plane even though, from the controller's point of view, the `Shoot`'s `Status.LastOperation.Type` is still `Migrate`.

/assign

/assign @timebertt @timuthy

@timebertt wanted to take a look at the flow as well - should we wait for his feedback before merging this PR?

Now taking a look 👁

/hold
Have some feedback/questions. Let's discuss later.

ping @plkokanov

@timebertt @rfranzke I updated the PR, name and release note to better reflect the actual changes after the discussion we had.


Roadmap to v0.1

In order to make opendal ready for v0.1, we need the following works:
NOTE: we are on the migration from databend common-dal2 to opendal. So there are some old issues referred from databend repo here. But all new opendal only issues should be submitted here.

[x] datafuselabs/opendal#8
[x] https://github.com/datafuselabs/opendal/pull/26
[x] docs about how to use and how to contribute
[x] https://github.com/datafuselabs/opendal/pull/35
[x] https://github.com/datafuselabs/opendal/issues/37
[x] https://github.com/datafuselabs/opendal/issues/56

We are ready for the v0.1 release, let's refine the test a bit.

Implemented in #60, Let's go for the v0.1

v0.1 release!


Add QuickLookEI

RAW & RAF files preview in QuickLook.
http://rene.rebe.de/2013-08-11/exactimage-quicklook-w-camera-raw-support/

Thank you for the contribution. It will be merged in a different pull request due to some simple recommended alterations. Your contribution is still included (and still credited to you), with the appropriate modifications, when applicable.
Changes:

Facilitated future updates.
Added a small note pointing out the download host is officially different from the project’s home.
Changed name and header, according to the token reference.


libcxxabi: Optimize cxx code size.

Summary
enable LIBSUPCXX:
text	   data	    bss	    dec	    hex	filename
93080	    592	   5472	  99144	  18348	nuttx/nuttx
enable LIBCXXABI:
before:
text	   data	    bss	    dec	    hex	filename
126468	    352	   5960	 132780	  206ac	nuttx/nuttx
after:
text	   data	    bss	    dec	    hex	filename
68048	    352	   5960	  74360	  12278	nuttx/nuttx
Impact
Testing

[Experimental Bot, please feedback here]
Let's break down whether this Pull Request (PR) description meets the NuttX requirements.
Areas Where the PR Description is Lacking:

Summary:

Why is this change necessary?  Is it fixing a bug, adding a feature, or improving performance? The description only states "enable LIBSUPCXX" and "enable LIBCXXABI"  without explaining the motivation.
What functional part of the code is changed?  Be specific. What files or modules are affected by enabling these libraries?
How does the change work? Provide a technical explanation of how enabling these libraries impacts the NuttX build or runtime.

Impact:

Almost all sections are blank.  You must address each impact area. For enabled libraries, consider:

New feature: Does this unlock new C++ capabilities?
Build: How does enabling these libraries affect the build process, dependencies, or configuration?
Hardware: Are there any architecture-specific implications?
Compatibility: Does this affect compatibility with existing NuttX codebases or applications?
Security: Do these libraries introduce any potential security concerns?

Testing:

Insufficient Detail:

Build Hosts: Specify the operating systems, architectures, and compilers used for testing.
Targets:  List the specific architectures, boards, and configurations tested on.

Missing Logs: The "Testing logs before change" and "Testing logs after change" sections are empty. Provide actual log snippets demonstrating the change's effect.

How to Improve the PR Description:

Motivation:  Clearly explain the reason for enabling LIBSUPCXX and LIBCXXABI. What benefits do they provide? What problem are you solving?

Technical Details:

Describe the specific code changes (files modified, configuration options, etc.).
Explain how enabling these libraries affects NuttX internally (memory usage, dependencies, etc.).

Complete the Impact Section:

Carefully analyze and document the impact on every aspect listed in the NuttX requirements.
Don't just say "NO" – provide justification. For example, "Impact on hardware: NO. These libraries are standard C++ components and do not introduce hardware-specific changes."

Provide Detailed Testing Information:

List the exact build hosts and target environments used for testing.
Include relevant snippets from your testing logs to demonstrate the before-and-after behavior.

Example of an Improved Summary:

This PR enables the LIBSUPCXX and LIBCXXABI libraries in the NuttX build system to provide support for essential C++ features, including exception handling and runtime type information (RTTI). These libraries are required for applications using modern C++ techniques and are commonly found in standard C++ environments.  The change involves modifying the NuttX configuration system to include these libraries during the build process.

By following these recommendations, you'll create a much stronger PR that is more likely to be accepted. Remember, a good PR description is clear, comprehensive, and convincing!

====================================================================================
Configuration/Tool: esp32c3-devkit/cxx
2024-09-29 07:10:38
------------------------------------------------------------------------------------
  Cleaning...
  Configuring...
  Building NuttX...
riscv-none-elf-ld: warning: /Users/runner/work/nuttx/nuttx/sources/nuttx/nuttx has a LOAD segment with RWX permissions
riscv-none-elf-ld: /Users/runner/work/nuttx/nuttx/sources/nuttx/staging/libxx.a(exception.o): in function `std::uncaught_exception()':
exception.cpp:(.text._ZSt18uncaught_exceptionv+0x4): undefined reference to `__cxa_uncaught_exceptions'
make[1]: *** [nuttx] Error 1
make: *** [nuttx] Error 2

====================================================================================
Configuration/Tool: esp32c3-devkit/cxx
2024-09-29 07:10:38
------------------------------------------------------------------------------------
  Cleaning...
  Configuring...
  Building NuttX...
riscv-none-elf-ld: warning: /Users/runner/work/nuttx/nuttx/sources/nuttx/nuttx has a LOAD segment with RWX permissions
riscv-none-elf-ld: /Users/runner/work/nuttx/nuttx/sources/nuttx/staging/libxx.a(exception.o): in function `std::uncaught_exception()':
exception.cpp:(.text._ZSt18uncaught_exceptionv+0x4): undefined reference to `__cxa_uncaught_exceptions'
make[1]: *** [nuttx] Error 1
make: *** [nuttx] Error 2

This is my fault. A fix patch has been submitted. Please try compiling again.

The CI error now is
: && /tools/ccache/bin/c++  -Wl,--gc-sections -T nuttx.ld CMakeFiles/nuttx.dir/arch/sim/src/sim/posix/sim_hostirq.c.o CMakeFiles/nuttx.dir/arch/sim/src/sim/posix/sim_hostmemory.c.o CMakeFiles/nuttx.dir/arch/sim/src/sim/posix/sim_hostmisc.c.o CMakeFiles/nuttx.dir/arch/sim/src/sim/posix/sim_hosttime.c.o CMakeFiles/nuttx.dir/arch/sim/src/sim/posix/sim_hostuart.c.o CMakeFiles/nuttx.dir/arch/sim/src/sim/posix/sim_tapdev.c.o CMakeFiles/nuttx.dir/arch/sim/src/sim/posix/sim_hosthcisocket.c.o CMakeFiles/nuttx.dir/arch/sim/src/sim/posix/sim_hostfs.c.o CMakeFiles/nuttx.dir/empty.cxx.o -o nuttx  nuttx.rel  -lpthread  -lz  -lrt && :
/usr/bin/ld: nuttx.rel: in function `std::uncaught_exceptions()':
/github/workspace/sources/nuttx/libs/libxx/libcxx/src/support/runtime/exception_libcxxabi.ipp:21: undefined reference to `__cxa_uncaught_exceptions'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
cp: cannot stat 'nuttx': No such file or directory
HEAD detached at pull/13721/merge
Untracked files:
  (use "git add <file>..." to include in what will be committed)
	libs/libxx/libcxx.rej

@cuiziwei1 please fix the ci error.


Update README.md

Make it easier to find the section about different logging backends. It's currently buried in a level 4 heading which doesn't make much sense. Also tweak the language as it's a reasonably mature ecosystem now

@swift-server-bot add to allowlist

fixing CI in https://github.com/apple/swift-log/pull/281

@swift-server-bot test this please


Tutorial error: ocamlc: unknown option '-match-context-rows'.

After following the setup steps in the README I tried to kompile the lesson 1 tutorial and got the following error on Ubuntu
sebastien@DevBox:~/Documents/git/k/k-distribution/tutorial/1_k/1_lambda/lesson_1$ kompile lambda.k
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$2 (file:/home/sebastien/Documents/git/k/k-distribution/target/release/k/lib/java/guice-4.0-beta5.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$2
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
40 states, 1247 transitions, table size 5228 bytes
ocamlc: unknown option '-match-context-rows'.

[...]

[Error] Critical: ocamlopt returned nonzero exit code: 2
Examine output to see errors.

I believe that the readme should tell you to run k-configure-opam, did you?

Yes I have run it before. I tried re-running it and this is the output I got
sebastien@DevBox:~/Documents/git/k$ k-distribution/target/release/k/bin/k-configure-opam; eval `opam config env`
OPAM has already been initialized.
In normal operation, OPAM only alters files within ~/.opam.

During this initialisation, you can allow OPAM to add information to two
other files for best results. You can also make these additions manually
if you wish.

If you agree, OPAM will modify:

  - ~/.profile (or a file you specify) to set the right environment
    variables and to load the auto-completion scripts for your shell (bash)
    on startup. Specifically, it checks for and appends the following line:

    . /home/sebastien/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true

  - ~/.ocamlinit to ensure that non-system installations of `ocamlfind`
    (i.e. those installed by OPAM) will work correctly when running the
    OCaml toplevel. It does this by adding $OCAML_TOPLEVEL_PATH to the list
    of include directories.

If you choose to not configure your system now, you can either configure
OPAM manually (instructions will be displayed) or launch the automatic setup
later by running:

   opam config setup -a

Do you want OPAM to modify ~/.profile and ~/.ocamlinit?
(default is 'no', use 'f' to name a file other than ~/.profile)
    [N/y/f]
Global configuration:
  ~/.opam/opam-init/init.sh is already up-to-date.
  ~/.opam/opam-init/init.zsh is already up-to-date.
  ~/.opam/opam-init/init.csh is already up-to-date.
  ~/.opam/opam-init/init.fish is already up-to-date.

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

1. To configure OPAM in the current shell session, you need to run:

      eval `opam config env`

2. To correctly configure OPAM for subsequent use, add the following
   line to your profile file (for instance ~/.profile):

      . /home/sebastien/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true

3. To avoid issues related to non-system installations of `ocamlfind`
   add the following lines to ~/.ocamlinit (create it if necessary):

      let () =
        try Topdirs.dir_directory (Sys.getenv "OCAML_TOPLEVEL_PATH")
        with Not_found -> ()
      ;;

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

[ERROR] k is already a remote repository

=-=- Updating package repositories =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[k] /home/sebastien/Documents/git/k/k-distribution/target/release/k/lib/opam synchronized
[default] synchronized from https://opam.ocaml.org
# To setup the new switch in the current shell, you need to run:
eval `opam config env`
[NOTE] Package mlgmp is already installed (current version is 20150824).
[NOTE] Package zarith is already installed (current version is 1.7).
[NOTE] Package uuidm is already installed (current version is 0.9.6).

Can you try also running eval `opam config env` and see if that helps?

Ah I found the issue. It turns out you have to rerun eval `opam config env every time you open a new terminal.
Thank you!

Just for posterity reasons, I run into the same issue trying to run K5 from within IntelliJ. The solution was to start IntelliJ from the command line so it imports the environment settings.
I also added eval `opam config env`  to .bashrc so I don't forget to do it in every terminal I open.

I just run into this issue myself. It looks like a big usability problem. Is there a way to integrate this command into scripts, so that users don't have deal with it?

I add this to my .bashrc:
function path_without() {
  perl -e 'print join(":", grep { $_ ne $ARGV[0] } split(":", $ENV{PATH}))' "$1"
}
function prepend_path_with() {
  [ -d "$1" ] && export PATH="$1":`path_without "$1"`
}
function use_k() {
  # The K Framework for formal language semantics.
  # www.kframework.org
  prepend_path_with $HOME/k-distribution/target/release/k/bin
  eval `opam config env`
  # It always complains about stack size too big
  ulimit -s 8192
}

So when I run use_k it sets everything up.


telink: tl321x: add Tl321x for TLX Platform based on BLE release v<IP_ADDRESS>

add new board tl3218x.
add tl321x as the first SOC series in the TLX platform.
update sys_init argument list in TLX soc.c.
add Zephyr drivers for the TLX platform.
update hal_telink revision into west.yml.
update the workflow for tl321x.
fix compliance issues

The following west manifest projects have been modified in this Pull Request:

Name
Old Revision
New Revision
Diff

hal_telink
https://github.com/telink-semi/hal_telink/commit/9e86abb71b179007fc9a1fa03e84dd354b77b560
https://github.com/telink-semi/hal_telink/pull/115
telink-semi/hal_telink#115/files

lzma
None
74c3449d8b816a724b12ebce7417e00fb597309a
N/A

openthread_telink_lib
https://github.com/telink-semi/openthread_telink_lib/commit/80645ba0b4b589afd8c0712cb1a01091f4b35ab8 (main)
https://github.com/telink-semi/openthread_telink_lib/commit/84e12fd24613b2871c47378c39c2f44447f528ba (tl321x_skeleton)
<EMAIL_ADDRESS>

Note: This message is automatically posted and updated by the Manifest GitHub Action.

PR changes looks ok Finish HAL PR and after squash Zephyr commits into one as well

Update hal_telink revision and squash all commits into one.


Move application settings to common config file

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
❌

Fixed issues

👍


Dense Final Cloud

Hi!
I would like to know if I can produce more dense final cloud.
Thank you.

hi you can find at mapOptimization.cpp with edit parameter below;
    downSizeFilterCorner.setLeafSize(0.1, 0.1, 0.1);
    downSizeFilterSurf.setLeafSize(0.1, 0.1, 0.1);
    downSizeFilterOutlier.setLeafSize(0.1, 0.1, 0.1);

    downSizeFilterHistoryKeyFrames.setLeafSize(0.1, 0.1, 0.1);
    downSizeFilterSurroundingKeyPoses.setLeafSize(0.1, 0.1, 0.1);

    downSizeFilterGlobalMapKeyPoses.setLeafSize(0.1, 0.1, 0.1);
    downSizeFilterGlobalMapKeyFrames.setLeafSize(0.1, 0.1, 0.1);

and than rebuild catkin_make

Hello, @droneboxid !
Do you know why the outlier point cloud is added to the final global map point cloud in publishGlobalMap function in map Optmization.cpp. The code is shown in the following.
for (int i = 0; i < globalMapKeyPosesDS->points.size(); ++i){     int thisKeyInd = (int)globalMapKeyPosesDS->points[i].intensity;     *globalMapKeyFrames += *transformPointCloud(cornerCloudKeyFrames[thisKeyInd],   &cloudKeyPoses6D->points[thisKeyInd]);     *globalMapKeyFrames += *transformPointCloud(surfCloudKeyFrames[thisKeyInd],    &cloudKeyPoses6D->points[thisKeyInd]);     *globalMapKeyFrames += *transformPointCloud(outlierCloudKeyFrames[thisKeyInd], &cloudKeyPoses6D->points[thisKeyInd]); }

Hi, Did you find the answer? I have the same question. If you have solved it please tell me. : )
Thank you!


static-module error when require('bulk-require') is stored in a variable

Not sure if this is intentional or not, but I am seeing static-module throw an error when I store bulk-require it in a variable.
var bulk = require('bulk-require'); var results = bulk(__dirname, ['mydirs']);
TypeError: Cannot read property 'start' of null while parsing file: ...
at .../node_modules/bulkify/node_modules/static-module/index.js:137:56
var results = require('bulk-require')(__dirname, ['mydirs']);
works great.

Ran into a possible related issue where storing it as a variable caused this transform to silently fail. Seems to have happened since I updated my babel configuration (on my babelify transform).


VMWARE Fusion get IP from multiple leases files

Fixed #2787 .
Not a elegant solution. but changed to find ip from all of leases file in the /var/db/vmware/*.leases .

@frapposelli can you give us a hand on this one ?

@daehyeok why is this needed? the VMX configuration should be statically set to the default NAT vmnet which is always present.

@frapposelli Could you check issue #2787 ?. In that case how to know which leases file have to checked?

I see nothing wrong with the patch (except for a call amplification effect, as getIP calls are numerous), but the behavior described in #2787 is not really kosher.
code is LGTM, but I'll follow up in the issue to better understand the use case.

Sounds weird, but after reading #2787, it does the job and didn't break current setup.
LGTM

@jeanlaurent the point of #2787 is that the setup he wanted could've been accomplished in a better way without resorting to custom networks (thus negating the need for this patch).
Although, I can see the need for custom network functionalities going forward so this PR is a step in that direction.

LGTM


Prefix trimming

Hello @sindresorhus. I just implemented the prefix trimming optimization on your function. However, on my benchmark, the benefit is not that clear cut (benchmark's examples may not be perfectly suited to see the advantages of this optimization maybe).
So I'll let you decide whether you want to merge this or not.
Have a good day.

Nice!
 My fixtures/benchmarks might not be optimal. Help welcome to make them more realistic.

How many times did you run the benchmarks? On my computer, they tend to differ a lot sometimes.

 I guess this is the fun of benchmarking JavaScript :).Do you know if matcha interleaves the tests and/or run them in separate threads each time?
Another solution to compare would be to copy the old leven function and incorporate it to the benchmark. What do you think?

I've pushed a branch here to play with the idea.

And this:
fn('bbbbbbackkkkkk', 'bbbbbbookkkkkk');

is a caricatural benchmark case if you want to see benefits of the trimming optimizations.

awesome!

Do you know if matcha interleaves the tests and/or run them in separate threads each time?

It runs them serially in the same process. We can try increasing set('mintime', 500); and set('delay', 100); and see if it helps.

Another solution to compare would be to copy the old leven function and incorporate it to the benchmark. What do you think?

Yes, that's a good idea. We can just depend on the previous version through a git tag: npm i --save-dev sindresorhus/leven#v2.0.0

This looks great. Thank you! :)


docs: add emoji for consistency

Pre-flight checklist

[x] I have read the Contributing Guidelines on pull requests.
[x] If this is a code change: I have written unit tests and/or added dogfooding pages to fully verify the new behavior.
[x] If this is a new API or substantial change: the PR has an accompanying issue (closes #0000) and the maintainers have approved on my working plan.

Motivation
I have OCD and one of them was missing an emoji.
Test Plan
Not required for a PR of this capacity.
Test links
N/A
Related issues/PRs
N/A

😄 thanks


Update Capp CRD

The Capp CRD in config/crd/bases is not up to date, this causes issues since the controller assumes the CRD looks a certain way while it doesn't, thus Status updates sometimes do not work as expected.
/kind bug

/assign @sahar2339

Fixed by #16


Performance is lower than Unity/PhysX

System Lenovo ideapad 3 8GB ram
IGPU with amd radeon vega 3  graphicsdriver
It seems that while engines like the physx from unity  have fps more stable than the jolt physics one, even if exporting as a release build  it still got that   framerrate,
repro:
physics-test1.zip
note that both are using 2.4k rigid boxes on box collision shape.
will post videos later on, in phone.
Edit got it (not that it without lighting and post effect
https://github.com/godot-jolt/godot-jolt/assets/97898580/d3ca98bf-acbe-4e9a-94b9-5ddb40b64cc1
Unity
https://github.com/godot-jolt/godot-jolt/assets/97898580/78f71faa-9bf2-4c80-9c4a-8ec60c0ce410

So, just to clarify, you are in fact able to export a build and run it? On Twitter you mentioned that "jolt doesn’t work" when you export, so I'm a bit confused.

Yea, the  build i used from twitter was the 0.6.0 version which doesn’t seem to work, but installing the 0.7.0 works and i can export, sadly not much fps diference.

the 0.6.0 version which doesn’t seem to work, but installing the 0.7.0 works

Strange. I'm able to export with both. Which version of Godot are you using?

Strange. I'm able to export with both. Which version of Godot are you using?

4.1.1 stable in both, though i am starting to feel it because it was because i have to jolt addoms.

Alright. Well, I'm glad to hear your exporting problem worked itself out somehow.
As for the reported performance discrepancy with Unity/PhysX, I don't think this is going to be a particularly useful issue to have open, as it's a fairly arbitrary benchmark with no realistic means of resolving it.
Not only are we comparing two different physics engines that might potentially be set up with different settings (like the amount of solver iterations), and which might scale very differently in different scenarios, we're also (more importantly) comparing two completely different game engines with presumably wildly different architectures. There are many different factors at play here.
If someone decides to integrate PhysX into Godot at some point in the future, or some other 3D physics engine, then we can start making some more interesting comparisons I guess, but even then I'm not sure it's a great idea to choose your physics engine based on the number of boxes you can pile up.

I understand though, i see it kinda weird how unity can handle all that though it has 10 solver iterations while jolt 16


Add Hadamard codes

Closes #175

Codecov Report
Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (32200ff) 77.63% compared to head (c7523f2) 77.88%.

Files
Patch %
Lines

src/sdr/_sequence.py
96.77%
1 Missing :warning:

Additional details and impacted files
@@                Coverage Diff                @@
##           release/0.0.x     #182      +/-   ##
=================================================
+ Coverage          77.63%   77.88%   +0.24%
=================================================
  Files                 43       43
  Lines               2173     2202      +29
=================================================
+ Hits                1687     1715      +28
- Misses               486      487       +1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


GH-35245: [Java][Dataset][Linux] Enable GCS

Rationale for this change
Enables GCS when building the Arrow Dataset for Java and also fixes various java build failures.
Currently we are using our own custom Arrow Dataset build with GCS turned on, but we would rather this be enabled in the official releases from Arrow.
GCS support is already enabled for cpp, python, ruby, python, and r already, so there should be no reason not to enable this on java as well.
What changes are included in this PR?

Changes to enable GCS for Java Arrow Dataset on just Linux for now.

Fixes to flight-sql-jdbc-driver/pom.xml. Without these fixes the flight-sql-jdbc-driver build will fail with the following errors:

    [WARNING] Used undeclared dependencies found:
    [WARNING]    org.bouncycastle:bcpkix-jdk15on:jar:1.61:runtime
    [WARNING]    org.apache.arrow:arrow-memory-core:jar:12.0.0-SNAPSHOT:runtime
    [WARNING]    org.hamcrest:hamcrest:jar:2.2:runtime
    [WARNING]    org.apache.arrow:flight-sql:jar:12.0.0-SNAPSHOT:runtime
    [WARNING]    org.mockito:mockito-core:jar:2.25.1:test
    [WARNING]    org.apache.arrow:flight-core:jar:12.0.0-SNAPSHOT:runtime
    [WARNING]    org.slf4j:slf4j-api:jar:1.7.25:runtime
    [WARNING]    io.netty:netty-common:jar:4.1.82.Final:runtime
    [WARNING]    joda-time:joda-time:jar:2.10.14:runtime
    [WARNING]    org.apache.calcite.avatica:avatica:jar:1.18.0:runtime
    [WARNING]    com.google.protobuf:protobuf-java:jar:3.21.6:runtime
    [WARNING]    org.apache.arrow:arrow-vector:jar:12.0.0-SNAPSHOT:runtime
    [WARNING]    com.google.guava:guava:jar:31.1-jre:runtime

    [...]

    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:3.0.1:analyze-only (analyze) on project flight-sql-jdbc-driver: Dependency problems found -> [Help 1]

    Caused by: java.lang.NullPointerException: Could not find test data path. Set the environment variable ARROW_TEST_DATA or the JVM property arrow.test.dataRoot.
      at java.util.Objects.requireNonNull(Objects.java:228)
      at org.apache.arrow.driver.jdbc.utils.FlightSqlTestCertificates.getTestDataRoot(FlightSqlTestCertificates.java:40)
      at org.apache.arrow.driver.jdbc.utils.FlightSqlTestCertificates.getFlightTestDataRoot(FlightSqlTestCertificates.java:51)
      at org.apache.arrow.driver.jdbc.utils.FlightSqlTestCertificates.exampleTlsCerts(FlightSqlTestCertificates.java:60)
      at org.apache.arrow.driver.jdbc.ConnectionTlsTest.<clinit>(ConnectionTlsTest.java:59)

Are these changes tested?
I've tested the build by running:
$HOME/.local/bin/archery docker run java-jni-manylinux-2014

I've also tested the resulting ./java/dataset/target/arrow-dataset-12.0.0-SNAPSHOT.jar from running the command and have verified that GCS support is enabled.
Are there any user-facing changes?
Yes, Java Arrow Dataset will now work with GCS.

Closes: #35245

@github-actions crossbow submit java-jars

@github-actions crossbow submit java-jars

It looks like there are two unrelated test failures:

C GLib & Ruby / AMD64 Ubuntu 20.04

Go / AMD64 macOS 11 Go 1.18

Yes. They are unrelated.
Could you check the built artifacts at https://github.com/ursacomputing/crossbow/releases/tag/actions-b74b79c10c-github-java-jars ?

Thanks. The Java changes look fine. We can punt on macOS for now. @davisusanibar might you be able to follow up there?

Sure, let me also consider Windows changes needed.

Yes. They are unrelated.
Could you check the built artifacts at https://github.com/ursacomputing/crossbow/releases/tag/actions-b74b79c10c-github-java-jars ?

Works fine, see this screenshot for proof:

Yes. They are unrelated.
Could you check the built artifacts at https://github.com/ursacomputing/crossbow/releases/tag/actions-b74b79c10c-github-java-jars ?

Works fine. See this screenshot for proof:

Thanks @kou @lidavidm and @davisusanibar for the very fast turn around.

Enables GCS when building the Arrow Dataset for Java and also fixes various java build failures.

MacOSX changes needed: https://github.com/apache/arrow/pull/35277
Windows OSX: The changes in the Windows OS are taking me a long time to test, I will handle it in another PR


Issue importing and exporting a model file

When trying to export a model I get the following error message:
{
"code": 400,
"message": "One or more parameters are missing or invalid. Please check your request if it contains all the required parameters.\nRequired parameters:\n* session_id",
"status": 400
}
It seems to happen when I add a persona and or roles.
The error message doesn't always come up after a persona or role is added and will allow my to export the model.xml file however when trying to import that very same file later it never gets past the loading screen.
I have looked at the model.xml file that it allowed me to download and when deleting everything in between the usability tags it is able to load the model.
Any help would be greatly appreciated
Archive.zip
Version of CAIRIS

Seems to be a character encoding problem.
As a quick workaround, replace "doesn't" with "does not" and the problems should go away. This is definitely a bug though, so I'll look into this.

I've just pushed a fix that deals with this problem.  This should be incorporated into the docker container used by the live demo tomorrow morning.


Question: PIMD + Docker

Sorry if this is the wrong place for this type of question, I didn't see anything more specific in the README, or at http://troglobit.github.io/pimd.html.
We have an existing network of applications that leverage multicast. Our network is maintained by another team and I don't have much visibility into, but I do know we historically relied on IGMP snooping. I'll be the first to admit I'm out of normal element in this space, so if helps assume I have a basic understanding of multicast and IGMP, and no knowledge of PIM aside from what I've read over the last couple days trying to get this to work.
We are moving some of these multicast dependent applications into Docker. Our docker hosts consists of a single eth0 attached to upstream switches, and the local docker0 bridge. We are not doing anything with overlay networks at this time. As a byproduct of installing docker, ip_forwarding is enabled (in case it matters)
We'd like to use pimd to route multicast packets from the upstream networking into the local network on the docker bridge. We've got this mostly working but I'm hung up at the very end.
I've been using jgroups to test as outlined here: http://linuxproblems.org/wiki/How_to_check_Multicasting.

If I started a docker container as a jgroups receiver, and start a jgroups sender on a remote host, I get nothing (expected). This is confirmed in the container as well as tcpdump against eth0
If i then start PIMD on the docker host, I still don't get anything in the container (which again lives on the docker bridge), but tcpdump on eth0 shows the packets coming in, they just don't seem to be getting forwarded/routed to the container.

I believe that its a good sign that I see the packets on eth0 as that suggests PIMD has negotiated (peered?) with the upstream switch and packets are getting routed across the network.
I did fine the note in http://troglobit.github.io/multicast-howto.html, about disabling multicast_snooping on the docker0 bridge, however that doesn't appear to have helped.
To test some basic assumptions I tested with smcroute as well as igmpproxy and I had success with both of those tools, however since they are both limited to 20 groups, and I have a small subset of use cases which might require more groups than that, I'd really like to get PIMD working.
It feels like I maybe one minor configuration tweak away from success, but I've hit a brick wall and hoping someone may have done this already or have some suggestions.
Thanks, and if there is a better place for this type of question I'm happy to post something there.

Hi @dpetzel, interesting use-case for pimd!  I'm a bit lost in the Docker world and your setup as well, an (ascii) image might have helped.  I'm trying one out here:
                                            eth0
>--- MC sender ----{ Network cloud }-------> [ Server host ]     <--- router
                                                    |
                                            ________|________
                                           /     docker0     \   <--- bridge    ______
                                          /         |         \                |      |   <--- MC receiver
                               __________/   Container ship    \_______________|______|_____
                              \                     |                            /         /
                               \                     `------------------>-------'         /
                                \________________________________________________________/

Now, there are many levels of multicast where things go wrong. You seem humble enough and knowledgeable enough about the basics, so we should be good to go :wink:

The TTL of the MC sender must be big enough to be passed along the path, in the cae of jgroups it seems to be 32, which should be sufficient in your case, which seems reasonable since SMCRoute works. I just always mention the TTL as the number one issue since most people stumble on it
The Linux bridge (here docker0) does not always play nice with Layer-2 multicast (IGMP), which you've also taken note of
For pimd to even consider installing a multicast route from eth0 to docker0 it needs:
a) To hear the client respond to an IGMP query it sent out  (layer-2), and
b) To actually have the desired multicast on eth0, or know of an upstream PIM-SM router (rendez-vous point) that has it to send a PIM join to (layer-3)

However, multicast routing takes place not on regular interfaces, but on "VIF"'s ... virtual interfaces. These are unique to multicast and are enumerated when the multicast routing daemon (smcroute/pimd/mrouted) starts up.  In the case of pimd it is a bit picky when allowing an interface to be enumerated as a VIF, it's not just the MULTICAST interface flag, which one might believe. Check the output from cat /proc/net/ip_mr_vif to make sure a VIF has been created for docker0, as well as eth0.

You are much more skilled in ascii art than myself!! Your diagram is spot on. Thank you so much for taking the time to talk through this.
I apologize for not including earlier, I am using a TTL of 64
Here is the output of /proc/net/ip_mr_vif
# cat /proc/net/ip_mr_vif
Interface      BytesIn  PktsIn  BytesOut PktsOut Flags Local    Remote
 0 eth0        4041586   34814         0       0 00000 6840C70A 00000000
 1 docker0           0       0   1789217   14660 00000 010017AC 00000000
 2 pimreg            0       0         0       0 00004 6840C70A 00000000

Additionally I lifted what I believe are relevant log entries showing it setting up the VIF:
This is during startup
14:21:18.208 Installing eth0 (<IP_ADDRESS> on subnet 10.0.64/22) as vif #0-2 - rate 0
14:21:18.208 Installing docker0 (<IP_ADDRESS> on subnet 172.10) as vif #1-3 - rate 0
14:21:18.208 Getting vifs from /etc/pimd.conf
14:21:18.208 Local Cand-BSR address <IP_ADDRESS>, priority 5
14:21:18.208 Local Cand-RP address <IP_ADDRESS>, priority 20, interval 30 sec

I see these at random times as pimd is running:
23:26:59.782 accept_group_report(): igmp_src <IP_ADDRESS> ssm_src <IP_ADDRESS> group <IP_ADDRESS> report_type 34
23:26:59.782 Set delete timer for group: <IP_ADDRESS>
23:26:59.782 Adding vif 1 for group <IP_ADDRESS>

a) To hear the client respond to an IGMP query it sent out (layer-2),

I think that is what I'm seeing in the second log snippet? If not whats the best way for me to confirm or deny that is happening?

b) To actually have the desired multicast on eth0, or know of an upstream PIM-SM router (rendez-vous point) that has it to send a PIM join to (layer-3)

I feel like I've confirmed this is happening via the observed behavior using tcpdump on eth0 Since I can see the packets coming in when pimd is running, and nothing when its not.
Since you've mentioned a lack of familiarity with Docker, I'll toss out that it sets up the following iptables rules. I haven't seen anything to suggest these are at fault, but just wanted to get you the information in case it matters. I am no iptables wizard by any stretch, so its entirely possible something could be wrong there and I just don't see it.
# iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-N DOCKER
-A FORWARD -o docker0 -j DOCKER
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT
-A FORWARD -i docker0 -o docker0 -j DROP

# iptables -S -t nat
-P PREROUTING ACCEPT
-P POSTROUTING ACCEPT
-P OUTPUT ACCEPT
-N DOCKER
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
-A POSTROUTING -s <IP_ADDRESS>/16 ! -o docker0 -j MASQUERADE
-A OUTPUT ! -d <IP_ADDRESS>/8 -m addrtype --dst-type LOCAL -j DOCKER

Side question, The main driver for me for pimd over igmpproxy (or smcroute) was the limit of 20 groups, however I just stumbled across this http://unix.stackexchange.com/questions/23832/is-there-a-way-to-increase-the-20-multicast-group-limit-per-socket which suggests 20 is the default but its configurable.
From scmroute:

Only 20 mgroup lines can be configured, this is a HARD kernel maximum.  If you need more, you probably need to find another way of forwarding multicast to your router.

So I'm confused on if this is really a hard kernel max, or am I simply misreading the limitation here. I also found https://groups.google.com/forum/#!topic/linux.kernel/QeiadoMEdWY which implies it maybe configurable.

Hi again,
does the command pimd -r show the routing tables for you?  It should show a route being set up, or at least some useful info.  You can also verify what routes are actually written to the kernel in the file /proc/net/ip_mr_cache ... the more readable version can be seen using the ip mroute tool.  This latter part (two steps) are also shared with SMCRoute.
Verifying IGMP join from your docker client/receiver is easier to do with Wireshark or tcpdump on the docker0 interface, I guess.
I'm a bit involved in SMCRoute as well, and I can tell you that the 20 group MAX is only just for the daemon to act as a layer-2 client, sending IGMP join on behalf of the client on "the other side". If you can direct all multicast to your router using other means, e.g. setting "router port" or similar on switches or routers on the eth0 side, then you won't need the SMCRoute mgroup rows.   Thanks
for the heads-up on that /proc variable didn't know about that, so I've just updated the SMCRoute sources a bit! :smiley: :+1:

I don't really know what to make of it, but I suspect you do, here is the
section for the group in question from pimd -r
----------------------------------- (S,G) ------------------------------------
----------------------------------- (*,G) ------------------------------------
Source           Group            RP Address       Flags
---------------  ---------------  ---------------  ---------------------------
INADDR_ANY       <IP_ADDRESS>   <IP_ADDRESS>       WC RP
Joined   oifs: ...
Pruned   oifs: ...
Leaves   oifs: .l.
Asserted oifs: ...
Outgoing oifs: .o.
Incoming     : ..I

TIMERS:  Entry    JP    RS  Assert VIFS:  0  1  2
             0    20     0       0        0  0  0
----------------------------------- (S,G)

I believe I do see the igmp join occur in tcpdump:
# tcpdump -s0 -i docker0 -vv -XX igmp

11:11:41.527227 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP (2), length 40, options (RA))
    <IP_ADDRESS> > igmp.mcast.net: igmp v3 report, 1 group record(s) [gaddr <IP_ADDRESS> to_ex { }]

ip mroute | grep 12.200 comes up dry
Here is the full table (cleaned up a little for internal info)
ip mroute
(REMOTE_SENDER1, GROUP_IP1)   Iif: eth0       Oifs: docker0
(REMOTE_SENDER1, GROUP_IP2)   Iif: eth0       Oifs: docker0
(REMOTE_SENDER2, GROUP_IP3)    Iif: eth0       Oifs: docker0
(REMOTE_SENDER3, GROUP_IP4)   Iif: eth0       Oifs: docker0
(REMOTE_SENDER3, GROUP_IP5)   Iif: eth0       Oifs: docker0
(REMOTE_SENDER1, GROUP_IP6)   Iif: eth0       Oifs: docker0
(REMOTE_SENDER4, GROUP_IP7)      Iif: unresolved
(REMOTE_SENDER5, GROUP_IP8)       Iif: unresolved
(REMOTE_SENDER6, GROUP_IP9)  Iif: unresolved
(REMOTE_SENDER7, GROUP_IP10)  Iif: unresolved
(REMOTE_SENDER8, GROUP_IP11)   Iif: unresolved
(REMOTE_SENDER9, GROUP_IP8)       Iif: unresolved
(REMOTE_SENDER10, GROUP_IP9)  Iif: unresolved
(REMOTE_SENDER11, GROUP_IP7)       Iif: unresolved
(REMOTE_SENDER3, GROUP_IP12)  Iif: unresolved
(REMOTE_SENDER12, GROUP_IP9)   Iif: unresolved

If its at all helpful...
# sysctl -a | grep mc_forward
net.ipv4.conf.all.mc_forwarding = 1
net.ipv4.conf.default.mc_forwarding = 0
net.ipv4.conf.lo.mc_forwarding = 0
net.ipv4.conf.eth0.mc_forwarding = 1
net.ipv4.conf.docker0.mc_forwarding = 1
net.ipv4.conf.veth#####.mc_forwarding = 0
net.ipv4.conf.pimreg.mc_forwarding = 1
net.ipv4.conf.vethfd#####.mc_forwarding = 0

Hmm, that's just weird ... there should be a routing rule for the 12.200 group.  There's one thing
that may screw up things, and that's conntrack.  When you use smcroute it knows pre-runtime
what rules you want, so before traffic enters the router it has a  multicast route set up. With pimd
it takes a while to figure out what receivers exist before it installs a route, so the firewall may drop
incoming traffic.  Try flushing conntrack after starting pimd, a few times ...
It's really difficult to debug issues like this remote, so I'm sorry that I cannot help you better.  If I were
in your shoes I'd double check the TTL on the inbound multicast using tcpdump on eth0.
Maybe I should try out this new fancy docky thingy, there may be something with the docker0 interface that pimd does differently from smcroute, which needs adaptation, dunno ...

I totally understand how hard these things can be remotely, and I appreciate
the time you have already spent.
Confirmed the incoming TTL
# tcpdump -s0 -i eth0 -vv -XX host <IP_ADDRESS>
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
11:46:21.079540 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 31)
    REMOTE_SENDER.6000 > <IP_ADDRESS>.6000: [udp sum ok] UDP, length 3

Flushing conntrack conntrack -F a few times (waited about 60 seconds between flushes)
doesn't seem to do the trick.
As a test, I did a service iptables stop and then restarted pimd and
my listener. Still no entry listed in ip mroute
Unsure if any of this is useful, but in case it is I did a grep on 12.200 from the output of pimd -d :
19:50:33.359 accept_group_report(): igmp_src <IP_ADDRESS> ssm_src <IP_ADDRESS> group <IP_ADDRESS> report_type 34
19:50:33.359 Set delete timer for group: <IP_ADDRESS>
19:50:33.359 SM group order from  <IP_ADDRESS> (*,<IP_ADDRESS>)
19:50:33.359 create group entry, group <IP_ADDRESS>
19:50:46.779 accept_group_report(): igmp_src <IP_ADDRESS> ssm_src <IP_ADDRESS> group <IP_ADDRESS> report_type 34
19:50:46.779 Set delete timer for group: <IP_ADDRESS>
19:50:46.779 create group entry, group <IP_ADDRESS>
19:50:46.779 Adding vif 1 for group <IP_ADDRESS>
INADDR_ANY       <IP_ADDRESS>   <IP_ADDRESS>       WC RP
INADDR_ANY       <IP_ADDRESS>   <IP_ADDRESS>       WC RP
INADDR_ANY       <IP_ADDRESS>   <IP_ADDRESS>       WC RP
19:51:02.225 accept_group_report(): igmp_src <IP_ADDRESS> ssm_src <IP_ADDRESS> group <IP_ADDRESS> report_type 34
19:51:02.225 Set delete timer for group: <IP_ADDRESS>
19:51:02.225 Adding vif 1 for group <IP_ADDRESS>
INADDR_ANY       <IP_ADDRESS>   <IP_ADDRESS>       WC RP
INADDR_ANY       <IP_ADDRESS>   <IP_ADDRESS>       WC RP
INADDR_ANY       <IP_ADDRESS>   <IP_ADDRESS>       WC RP
19:51:20.136 accept_group_report(): igmp_src <IP_ADDRESS> ssm_src <IP_ADDRESS> group <IP_ADDRESS> report_type 34
19:51:20.136 Set delete timer for group: <IP_ADDRESS>
19:51:20.136 Adding vif 1 for group <IP_ADDRESS>
INADDR_ANY       <IP_ADDRESS>   <IP_ADDRESS>       WC RP

Is there a particular logging statement around creation of the route?

OK, TTL looks fine ... never hurts to double check that :smirk:
No firewall problems and no conntracking issues, I'm at a loss.  Just tested a setup on my laptop, using a multicast sender in Qemu, connected to my latop host on virbr0, I used ping -I eth0 -t 5 <IP_ADDRESS> inside my Qemu and then started my own mcjoin -i eth0 <IP_ADDRESS> tool on my host's eth0 (sorry for confusing with same name!).  When I then started pimd on my host I could see the ICMP frames with tcpdump on my host's eth0 after a short while.  The log says:
 Added kernel MFC entry src <IP_ADDRESS> grp <IP_ADDRESS> from virbr0 to eth0

My mcjoin tool is a simple IP multicast receiver https://github.com/troglobit/toolbox/tree/master/mcjoin setup looks like this:
     Laptop host      Qemu sender
 __________________ _______________
|   tcpdump        |               |
|   mcjoin    pimd |               |
|      |           |               |
|      |           |               |
|      V           |               |
|    eth0   virbr0===eth0 <-- ping |
|__________________|_______________|

Very strange indeed. It can clearly create routes as it did for some of the groups, but not all (specifically this one I've been testing with).
It never logs the MFC entry for this group for some reason.... I've been running strace for a little bit now hoping something might jump out, but so far nothing useful

There are some fixes in the pipeline for the next release, already on master.  If you're a brave soul
you could try building the GIT sources:
 git clone https://github.com/troglobit/pimd.git
 cd pimd
 git submodule update --init
 ./configure && make

I'm terribly sorry I cannot be of any more help! :disappointed:

Well... I was brave enough (pimd version 2.3.2-rc2 starting). Sadly its the same behavior though its simply not adding the route entry. Its baffling how some groups are getting routes but this one is not.
No need to apologize, you have been extremely helpful. Even if nothing else comes of this I have learned a ton in the process.

Very unfortunate, thank you for giving it a go anyway! I tried <IP_ADDRESS> in my setup and there it works, so I really don't know what could be the problem ... unless ...
... maybe the receiver does send a join, but then quickly sends a leave?  Dunno, that's a loooong shot, but analyzing the tcpdump-log on the host for the IGMP traffic of that group might show sth?

You could give mrouted a try as well, if you've got any strength left that is. I maintain that too, along with smcroute, and DVMRP (the protocol mrouted uses) is waay more simple (built-in RIP-like) and uses a flood-and-prune method instead. So it might be better for "world --> docker" deployments.
It's not as polished and capable as pimd, but at least you won't have to mess with static routes.

https://github.com/troglobit/mrouted/

(Much the same build system as I've set up for pimd.)

I had similar issues when I tried mrouted as well, but I'm probably gonna give it another go with what I've learned from this discussion.

@dpetzel Hi again!  Just couldn't let this one go, kept on nagging me that we couldn't get it working ...
So I fixed up my own tool, verified it outside of Docker and then used it as sink for 250 groups in a container. Went without a hitch.
I don't know if you gave up, or went with igmpproxy instead.  Anyway, this may be too late and I'll likely close this issue before the next release. Just wanted to let you know.
Cheers!

Hey @troglobit Thanks for the follow up and apologies for any lost sleep I have caused :(. For right now, igmpproxy is fulfilling our 95% use cases, but I don't rule out we'll need to circle back and revisit PIMD so I really appreciate your right up. Its good to know that it can work, and that we just have something off in our configuration somewhere. I don't see any reason to keep this open.

Great to hear back from you, @dpetzel, hope you circle back one day and good luck! :-)


Make Gulp errors more detailed & like NPM ones

Adds the same changes as https://github.com/alphagov/digitalmarketplace-supplier-frontend/pull/163

*Gulp* :+1:


missing node module

Missing node-sass version "win32-x64-72_binding.pdb" module

Sorry, you didn't follow the issue template, so we can't help you.


feat: toggle recording on/off

toggle recording status on/off

Thank you very much!
This function was really necessary.
As an operation, is it assumed that the on / off of the toggle is checked by looking at the tab of chrome?

Yes, I checked at just only chrome.
I didn't find it, but are there possibly any problems on another platform?

P.S. You can check this feature here. I hope this is useful for you.
https://gimkondo.github.io/talkw2/index.html

I see!
This is very easy to understand, it looks like a nice idea.
I tried incorporating it immediately.
Thank you for PR!


Implemented Student Manager APIs to search by matric no/email.

Coverage decreased (-0.5%) to 66.288% when pulling 2f833f3248780ffee56f45ffff257b559f556995 on m-aslam-mj2:smapi into d60f47bd7e82c2293b364efe3e0a4be507574f2a on CS2113-AY1819S1-T16-1:master.


Condition Evaluation report log property of Automatic Restart not working

Setting spring.devtools.restart.log-condition-evaluation-delta=false in application.properties do not prevent the Condition Evaluation report to be writing to the log output.
20.2.1 Logging changes in condition evaluation
Note that I have debug=true as I'm running the application in my development environment.
As a workaround, I'm setting logging.level.org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLoggingListener=INFO. This should be avoided by using the correct property to disable the report.
The application restart is working properly.
I'm using Spring Boot 2.1.4.RELEASE.
Could you guys, please have a look?
Thank you.

What does this have to do with bus?

Sorry, opened in the wrong project: reopened in Spring Boot: https://github.com/spring-projects/spring-boot/issues/16578


⚠ Minecraft has degraded performance

In 79a4221, Minecraft (https://www.minecraft.net) experienced degraded performance:

HTTP code: 200
Response time: 1736 ms

Resolved: Minecraft performance has improved in 3669b46.


actually report http etag parsing errors to users for R2 conditional

Needed to make use of JSG_REQUIRE instead of KJ_REQUIRE
Error messages were already strings so I don't think this will result in behavioral differences between this and what I intended to do with KJ_REQUIRE originally.

Internal CI looks good!


[Feature Request]: dsa leetcode solution

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
i now it is repretitive task but addiing solution is not as much easy as add problem
so i am making 20 solution in one issue of level 2
please assign level 3 so i will change to 11 to 50
Use Case

i will give multiple approch
in all 2 languages
proper description
iamges to understand properly

Benefits
it will add solutions of leetocode
Add ScreenShots
No response
Priority
Medium
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

@Ajay-Dhangar  please assign me this issue

Please follow our structure, similar to the source code of the Two Sum problem, to ensure better understanding for everyone. And live preview
I am assigning you a level 3 because I need high-quality content similar to the source code of the Two Sum problem. This assignment isn't just for one file but will be based on the quality of your content overall. If your content is good and valuable, I will also assign level 3 to your pull requests. Otherwise, I will assign level 2. I am assigning this issue level 3 because I need more valuable content.


Confusing Search Param changes

In Embedding 3 Part 7, it's unclear how to change the search params for emaila nd external user id.
I tried using my Sigma email but received the error that internal users can't access data this way. I used the supplied defaults and that worked fine

What Sigma instance are you using for testing? If your email already exists, you are considered and "internal user". Customers will not likely see this issue in testing or at least have not in over a year since publication. Recommend using a fake email for testing. I will leave this issue open till I head back from you. Thanks, PhilB

Okay, that makes total sense! I was using the sigma-support org

closing issue.


Arrow state

Migration of state to use Arrow. Python's data is send with arrow's IPC.
Fix #511
Fix #513
Fix #519

@Corentin-pro you might need to update the dashboard for the change from _tags to tags too.


Debug recent recipe failure

It seems like I am still getting the same error @cisaacstern. I did merge main into my -runner dev branch, so I am assuming I am getting the fixes you merged. Not sure if there is something else that needs fixing, or if the additional changes in there mess something up.
But the unsupported operand type(s) for /: 'RequiredAtRuntimeDefault' and 'str' still makes me think that there is a bug in the injection logic.

Ok so removing the resource hint from StoreToZarr made the submission succeed, but I am getting weird errors in the preprocessor stage:
in _keep_only_variable_id AttributeError: 'OpenFile' object has no attribute 'data_vars' [while running 'Creating CMIP6.CMIP.CSIRO-ARCCSS.ACCESS-CM2.historical.r3i1p1f1.SImon.sifb.gn.v20200817|OpenURLWithFSSpec|Preprocessor|OpenWithXarray|StoreToZarr|Logging to non-QC table|TestDataset|Logging to QC table/Preprocessor/Fix coordinates

I interpret this (and similar) lines as the root cause. I was under the assumption that the pcollection returns tuples of (indicies, xr.Datasets), is that not correct anymore?
@cisaacstern sorry to bother you again, I guess this is what I get for rebasing everything...

Oh wait, is this the same issue as above, but with the caching injection? Ill remove all the resource hints, and test this.

Hmmm that did not do the trick. Now I am getting a bunch of
AttributeError: 'GCSFile' object has no attribute 'data_vars' [while running 'Creating CMIP6.CMIP.MPI-M.MPI-ESM1-2-LR.historical.r19i1p1f1.SImon.sifb.gn.v20210901|OpenURLWithFSSpec|Preprocessor|OpenWithXarray|StoreToZarr|Logging to non-QC table|TestDataset|Logging to QC table/Preprocessor/Fix coordinates-ptransform-87']
"

very strange...

Oh my, how did the preprocessor stage slip before the open with xarray stage? And why did that work before? so many questions, but the good thing is, this is fixed now, and the errors raised were helpful. Also thanks @cisaacstern for helping this slightly tired dummy over here...

The only thing I object to in your comment is the self-deprecation. Onward 🚀 😄

This seems to work decently again. Will merge to add more iids in a fresh PR


unwrap() causing errors

Hi there, currently I'm trying to use Bayard as index server for my side project.
But I've tried many times when Bayard encountered illegal query (eq: A - B)
It will stop and never reply for any queries, so that I have to restart the server to make things works again.
(I followed the instructions in documentation to build a 3-nodes Bayard cluster.)

I traced the source code and found out that maybe it was caused by these lines in bayard-server/src/index/server.rs

I've tried to modified these two unwap() to other Rust error handling methods (eg: match .... { Ok() => ... , Err() => ... } .
But it seems that the sender is still stuck in middle. (I've checked the requests was normally sent into the server by changing the debug! to println!  in

)
Hope to have a solution here, thanks or I'll have to create a filter to prevent illegal queries.
Bayard perfectly fits my needs except for supporting multiple indexes 😭

Hi @jimmy980189,
Sorry for the late reply and thank you for your comment.
I'll refactor the code.


Fixed run argument check for mounting volumes.

Refactored argument validation test.
Closes #178

Ty for the patch, lgtm!


RegExMatch_StartingPos.ah2

V1:
Func1() {
	local Match
	StartingPos := 0
	RegExMatch("", "", Match, StartingPos)
	RegExMatch("", "", Match, 0)
	RegExMatch("", "", Match, 1-1)
}
Func1()

Func2() {
	local NotMatch, Match0, Match1, Match2, MatchAbc, NotMatch
}

V2 (Converted):
Func1() {
	local Match
	StartingPos := 0
	RegExMatch("", "", &Match, (StartingPos)<1 ? (StartingPos)-1 : (StartingPos))
	RegExMatch("", "", &Match, -1)
	RegExMatch("", "", &Match, (1-1)<1 ? (1-1)-1 : (1-1))
}
Func1()

Func2() {
	local NotMatch, Match0, Match1, Match2, MatchAbc, NotMatch
}

V2 (Expected):
Func1() {
	local Match
	StartingPos := 0
	RegExMatch("", "", &Match, (StartingPos)<1 ? (StartingPos)-1 : (StartingPos))
	RegExMatch("", "", &Match, -1)
	RegExMatch("", "", &Match, (1-1)<1 ? (1-1)-1 : (1-1))
}
Func1()

Func2() {
	local NotMatch, Match, MatchAbc, NotMatch
}

The converted code above is with function masking implemented, and looks correct to me. However, the expected result is what happens when function masking is NOT implemented, and looks wrong to me. The current code shows it as correct, but I disagree. Once the masking was implemented, the test shows broken, but I think the converted shown above is correct (Func2 local vars are not changed).
Func1 vars should not affect Func2 vars. And this is preserved when function masking is implemented. I'm not sure why this test case was showing as correct when the Func1 vars were causing change to func2 vars using the current converter version (without masking).
Am I correct or wrong about this? I want to make sure before I change the expected state of this test.

Same comment as in #202
Btw, nothing wrong with editing your original issue or making a new comment

Same comment as in #203
Btw, nothing wrong with editing your original issue or making a new comment

Hmmm... it got posted twice? Still learning this site format. Much different than ahk forum.

Looks like these issues might be related to the #118 fix
Should be beneficial as below example is also broken
Func1() {
	local Match
	StartingPos := 0
	RegExMatch("", "", Match, StartingPos)
	RegExMatch("", "", Match, 0)
	RegExMatch("", "", Match, 1-1)
}
Func1()

Func2() {
	local NotMatch, Match0, Match1 := "Test", Match2, MatchAbc, NotMatch
	MsgBox % Match1
}

Func1() {
	local Match
	StartingPos := 0
	RegExMatch("", "", &Match, (StartingPos)<1 ? (StartingPos)-1 : (StartingPos))
	RegExMatch("", "", &Match, -1)
	RegExMatch("", "", &Match, (1-1)<1 ? (1-1)-1 : (1-1))
}
Func1()

Func2() {
	local NotMatch, Match := "Test", Match2, MatchAbc, NotMatch
	MsgBox(Match[1])
}

Ok... so far there is only 1 legit breakage by implementing the func mask. It relates to adding * param for function calls for menu, etc. So an adjustment will need to be made to handle those after all code is converted and functions are restored. I think it will be fairly easy to do this, but I have not looked at the portion of code that handles this yet. I personally think we should test the masking first before an official PR. I'd like to have help with the testing. Would you be interested in taking it for a test run?
Classes are a little more involved since they have methods (functions) as well. Currently Classes are masked first, then functions. Once the main script functions are converted and restored, Classes are unfolded and masking of the sub-members (methods) take place, the core of the class is converted (static and obj members), then the methods are unfolded and handled individually (just like normal functions). Then the full class with all its sub-component conversions is placed back into the main code (that has already been converted). I have not implemented Classes yet (but the code is almost done), and the tests included with the converter have no classes for testing. But I do have lots of code (library of past scripts) to test it on. We can build some test files as we go.

So... I wonder what would happen if we convert the main (global) part of the script last, rather than first. I wonder if the v2 code that was converted for classes and functions would cause an issue? It shouldn't theoretically,  right? I have not tested. This would illuminate the adjustment mentioned for function params ubove. I will test this next.

Ok... thanks for the heads up...
I'm still testing the proper order for conversion. I will let you know the results over the next couple days.
Based on recent tests, I'm now thinking... convert the main (global) body last rather than first. Will test to see which has less breakage of current test files. I only have one test that failed with function masking. And rearranging the order may solve that.

This will be (is) fixed with upcoming masking PR.


Fix broken micro benchmarks

Also add script to automatically add micro benchmarks to the micro_extended.csv
list of updated benchmarks
benchmark/micro/cast/cast_constant_string_to_enum.benchmark just a copy of (benchmark/micro/cast/cast_enum_string.benchmark). cast_enum_string tested auto casting to archer, but also constant values to enums.
benchmark/micro/csv/sniffer_quotes.benchmark <- needs a different cached database to make sure the proper load script runs
benchmark/micro/cte/cte.benchmark <- would time out with expression x < 400000
benchmark/micro/date/extract_multiple_icu.benchmark <- don't know how, but it had the wrong number
benchmark/micro/date/extract_struct_icu.benchmark <- don't know how, but it had the wrong number
benchmark/micro/index/constraints/lookup_art_constraint.benchmark <- benchmark requires an error, which our benchmark runner does not yet support
benchmark/micro/join/join_from_parquet.benchmark <- same as sniffer_quotes.benchmark
benchmark/micro/zonemaps/zonemaps.benchmark <- needs explicit cast to work
benchmark/micro/aggregate/grouped_distinct.benchmark <- requires one thread so that output is correct
benchmark/micro/join/positional_join.benchmark <- not sure why there is an off by 1 error here. I think maybe because our random number generator changed recently?
benchmark/micro/list/unnest_rewrite.benchmark <- needs explicit cast
benchmark/micro/window/window_mode_variable_100.benchmark deleted because result was wrong.
Also modified the micro_extended.csv list to be alphabetical, and added a script that runs during tidy-check to make sure all micro benchmarks are in micro_extended.csv. This way they automatically get run every week

opened against duckdb main. closing


Source Argos Comics is no longer opening.

Source information
Argos Comics 1.4.37
Source language
Portuguese Brazilian
Steps to reproduce
An error message appears when trying to open. Opens only through WebView.

Expected behavior
I expected it to show the content of the site.
Actual behavior
An error message only appears.
Mihon/Tachiyomi version
0.16.5
Android version
Android 12
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have updated the app to version 0.15.3.
[X] I have updated all installed extensions.
[X] I have tried the troubleshooting guide.
[X] If this is an issue with the app itself, I should be opening an issue in the app repository.
[X] I will fill out all of the requested information in this form.

tá normal aqui

Voltou aqui!

it returned!

tá normal aqui

The recent tab always works, the problem is in the popular one.


[v9rc1] Add Functionality, installed package 'details' gives a whoops

Install a package. Its dashboard pages do not show up.
Click on 'Details' to see what is happening.
Whoops. May be the same issue as other container whoops reported.
Illuminate\Contracts\Container\BindingResolutionException thrown with message "Target [Illuminate\Contracts\Container\Container] is not instantiable while building [Concrete\Core\Package\ItemCategory\Manager]."
Stacktrace:
#36 Illuminate\Contracts\Container\BindingResolutionException in /home/john/Documents/web/marketplace/dev_900rc1/concrete/vendor/illuminate/container/Container.php:1089
#35 Illuminate\Container\Container:notInstantiable in /home/john/Documents/web/marketplace/dev_900rc1/concrete/vendor/illuminate/container/Container.php:882
#34 Illuminate\Container\Container:build in /home/john/Documents/web/marketplace/dev_900rc1/concrete/src/Application/Application.php:445
#33 Concrete\Core\Application\Application:build in /home/john/Documents/web/marketplace/dev_900rc1/concrete/vendor/illuminate/container/Container.php:754
#32 Illuminate\Container\Container:resolve in /home/john/Documents/web/marketplace/dev_900rc1/concrete/vendor/illuminate/container/Container.php:692
#31 Illuminate\Container\Container:make in /home/john/Documents/web/marketplace/dev_900rc1/concrete/vendor/illuminate/container/Container.php:1027
#30 Illuminate\Container\Container:resolveClass in /home/john/Documents/web/marketplace/dev_900rc1/concrete/vendor/illuminate/container/Container.php:947
#29 Illuminate\Container\Container:resolveDependencies in /home/john/Documents/web/marketplace/dev_900rc1/concrete/vendor/illuminate/container/Container.php:908
#28 Illuminate\Container\Container:build in /home/john/Documents/web/marketplace/dev_900rc1/concrete/src/Application/Application.php:445
#27 Concrete\Core\Application\Application:build in /home/john/Documents/web/marketplace/dev_900rc1/concrete/vendor/illuminate/container/Container.php:754
#26 Illuminate\Container\Container:resolve in /home/john/Documents/web/marketplace/dev_900rc1/concrete/vendor/illuminate/container/Container.php:692
#25 Illuminate\Container\Container:make in /home/john/Documents/web/marketplace/dev_900rc1/concrete/controllers/single_page/dashboard/extend/install.php:101
#24 Concrete\Controller\SinglePage\Dashboard\Extend\Install:inspect_package in /home/john/Documents/web/marketplace/dev_900rc1/concrete/src/Controller/AbstractController.php:318
#23 call_user_func_array in /home/john/Documents/web/marketplace/dev_900rc1/concrete/src/Controller/AbstractController.php:318
#22 Concrete\Core\Controller\AbstractController:runAction in /home/john/Documents/web/marketplace/dev_900rc1/concrete/src/Http/ResponseFactory.php:195
#21 Concrete\Core\Http\ResponseFactory:controller in /home/john/Documents/web/marketplace/dev_900rc1/concrete/src/Http/ResponseFactory.php:374
#20 Concrete\Core\Http\ResponseFactory:collection in /home/john/Documents/web/marketplace/dev_900rc1/concrete/src/Http/DefaultDispatcher.php:132
#19 Concrete\Core\Http\DefaultDispatcher:handleDispatch in /home/john/Documents/web/marketplace/dev_900rc1/concrete/src/Http/DefaultDispatcher.php:60
#18 Concrete\Core\Http\DefaultDispatcher:dispatch in /home/john/Documents/web/marketplace/dev_900rc1/concrete/src/Http/Middleware/DispatcherDelegate.php:39
#17 Concrete\Core\Http\Middleware\DispatcherDelegate:next in /home/john/Documents/web/marketplace/dev_900rc1/concrete/src/Http/Middleware/ThumbnailMiddleware.php:76
#16 Concrete\Core\Http\Middleware\ThumbnailMiddleware:process in /home/john/Documents/web/marketplace/dev_900rc1/concrete/src/Http/Middleware/MiddlewareDelegate.php:50
#15 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /home/john/Documents/web/marketplace/dev_900rc1/concrete/src/Http/Middleware/FrameOptionsMiddleware.php:39
#14 Concrete\Core\Http\Middleware\FrameOptionsMiddleware:process in /home/john/Documents/web/marketplace/dev_900rc1/concrete/src/Http/Middleware/MiddlewareDelegate.php:50
#13 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /home/john/Documents/web/marketplace/dev_900rc1/concrete/src/Http/Middleware/StrictTransportSecurityMiddleware.php:36
#12 Concrete\Core\Http\Middleware\StrictTransportSecurityMiddleware:process in /home/john/Documents/web/marketplace/dev_900rc1/concrete/src/Http/Middleware/MiddlewareDelegate.php:50
#11 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /home/john/Documents/web/marketplace/dev_900rc1/concrete/src/Http/Middleware/ContentSecurityPolicyMiddleware.php:36
#10 Concrete\Core\Http\Middleware\ContentSecurityPolicyMiddleware:process in /home/john/Documents/web/marketplace/dev_900rc1/concrete/src/Http/Middleware/MiddlewareDelegate.php:50
#9 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /home/john/Documents/web/marketplace/dev_900rc1/concrete/src/Http/Middleware/CookieMiddleware.php:35
#8 Concrete\Core\Http\Middleware\CookieMiddleware:process in /home/john/Documents/web/marketplace/dev_900rc1/concrete/src/Http/Middleware/MiddlewareDelegate.php:50
#7 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /home/john/Documents/web/marketplace/dev_900rc1/concrete/src/Http/Middleware/ApplicationMiddleware.php:29
#6 Concrete\Core\Http\Middleware\ApplicationMiddleware:process in /home/john/Documents/web/marketplace/dev_900rc1/concrete/src/Http/Middleware/MiddlewareDelegate.php:50
#5 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /home/john/Documents/web/marketplace/dev_900rc1/concrete/src/Http/Middleware/MiddlewareStack.php:86
#4 Concrete\Core\Http\Middleware\MiddlewareStack:process in /home/john/Documents/web/marketplace/dev_900rc1/concrete/src/Http/DefaultServer.php:85
#3 Concrete\Core\Http\DefaultServer:handleRequest in /home/john/Documents/web/marketplace/dev_900rc1/concrete/src/Foundation/Runtime/Run/DefaultRunner.php:125
#2 Concrete\Core\Foundation\Runtime\Run\DefaultRunner:run in /home/john/Documents/web/marketplace/dev_900rc1/concrete/src/Foundation/Runtime/DefaultRuntime.php:102
#1 Concrete\Core\Foundation\Runtime\DefaultRuntime:run in /home/john/Documents/web/marketplace/dev_900rc1/concrete/dispatcher.php:45
#0 require in /home/john/Documents/web/marketplace/dev_900rc1/index.php:2

yes, same issue as discussed at https://forums.concretecms.org/t/concrete-9-0-release-candidate-1-now-available/614/8


Introduce mypy for static type checking

Help ensure APIs are used correctly, especially when refactoring.
The Sphinx project has long used types in its code base.
sphinxcontrib-spelling can take advantage of this by checking all public
APIs are used with expected types.

I'm a bit torn about this one. As an old C programmer (and now mostly go programmer), I definitely see the value in static type checking when the compiler does it. On the other hand, having a linter bolted on to to Python seems like it's going to make this more work to maintain than if it was actually native. I've spent time in some other projects making working Python code pass mypy for what turned out to be obscure reasons. Maybe that's my lack of familiarity with the tool, though.
How much value do you really find in this for something as small as this library?

I see you points. I think for a project of this size, it probably won't be necessary.
This was partially a personal exercise to see what would happen and to gain some practice with mypy, but I'm not set on having this merged.
Lets close for now. If future issue appear that we believe would have been helped by mypy, we can reconsider.


[REQUEST] Temperature Sensor (BME280)?

Hi JustLV and congratulations for the amazing job!
Looking at the pcb it seems like there is space to add something usefull, do you think a sensor for temperature (like the BME280) could fit? It would maybe need some adjustment due to the enclosured space of course, but add a thermometer could be very usefull in the home assistant world

If you're able to add or edit the ECAD feel free to and make a PR!
SGP30 or similar may be helpful for a home product. The focus of this was originally just voice so I didn't consider much other scope creep.


Disable model update during the Make / Build actions.

To keep track of something asked by @gavinking some times ago.

@bjansen : do you think you could take it ?

Not now, but once I'm finished with my current issues, yes?

should I reassign it to you then ?

@davidfestal there's a BuildManagerListener interface that I can satisfy in CeylonModelManager, do you think this code would be enough?
buildStarted(Project? project, UUID? sessionId, Boolean isAutomake)
    => pauseAutomaticModelUpdate();
buildFinished(Project? project, UUID? sessionId, Boolean isAutomake)
    => resumeAutomaticModelUpdate(0);

well, shouldn't you first test that the Idea project matches the project of the CeylonModelManager ?
Also if you add a 0 timeout, this will schedule an immediate incremental model update (not full model update though) just after the make. I'm not sure it's necessary, since one will be triggered as soon as some impacted resource / required module is impacted. Maybe you should just pass no arguments.

Right, thanks :)


Fix tablet mapping when mapped region is specified

Describe your PR, what does it fix/add?
When region_position or region_size is set in the config (non-empty boundBox), cursor is mapped to wrong coordinate because CBox::translate mutates TAB->boundBox, making all subsequent coordinate calculations wrong.
Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.)
Is it ready for merging, or does it need work?
Ready

Updated the commit to also account for the case where region_position is set but region_size is unset. (I doubt anyone would do this though)
Tested

Only set region_position
Only set region_size
Set both

with libwacom and multi monitor set-up; my input:tablet:output is set to a monitor that is not at (0, 0).


Pixel Fingerprint Sensor shown as controller

Bug libgdx/libgdx#5596 is still presentn and is not solved: On a current Pixel 4a, the fingerprint sensor is shown as uinput-fpc device as reportd in MrStahlfelge/lightblocks#31

Our current code to detect if an input device is a controller:
https://github.com/libgdx/gdx-controllers/blob/91520868d2f09ac60c7afef271bba609b5957c4d/gdx-controllers-android/src/com/badlogic/gdx/controllers/android/AndroidControllers.java#L312
SDL's current code to detect is a bit different:
https://github.com/libsdl-org/SDL/blob/c59d4dcd38c382a1e9b69b053756f1139a861574/android-project/app/src/main/java/org/libsdl/app/SDLControllerManager.java#L118-L120
Before adapting SDL's solution, it is to check whether we get confused with TV remotes (https://developer.amazon.com/de/docs/fire-tv/identify-controllers.html#is-this-device-a-game-controller)

SDL will also report the fingerprint sensor as a controller, this is due to the fingerprint sensor reporting itself as such:
2021-05-18 16:44:57.451 16747-16796/com.badlogic.gdx.controllers.test D/Controllers: uinput-fpc
2021-05-18 16:44:57.451 16747-16796/com.badlogic.gdx.controllers.test D/Controllers: SOURCE_CLASS_JOYSTICK: 1
2021-05-18 16:44:57.451 16747-16796/com.badlogic.gdx.controllers.test D/Controllers: SOURCE_GAMEPAD: 0
2021-05-18 16:44:57.451 16747-16796/com.badlogic.gdx.controllers.test D/Controllers: SOURCE_JOYSTICK: 1
2021-05-18 16:44:57.451 16747-16796/com.badlogic.gdx.controllers.test D/Controllers: SOURCE_DPAD: 0
2021-05-18 16:44:57.451 16747-16796/com.badlogic.gdx.controllers.test D/Controllers: KEYBOARD_TYPE: 1

This seems to be a bug of the fingerprint sensor itself, and there were a lot of complaints from players on other game engines as well. I suppose the other engines blacklisted the name "uinput-fpc" and suggest we do the same.


Data cleanup and some preliminary census data addition

@nikeshbalami Old Census Data has been removed.#3
The geojsons and topojsons geocoded for local level has been updated referencing geocodes for nepal. #5
Preliminary data has been added for census 2021.#6
We may now review and merge this branch and work on further enhancements.

Thank you @Zaymes 👍


Add alert when collaborator disconnects

Resolves #14
The only user left in a collaboration will have an alert above the editor when the other user disconnects after changing the code in the editor.

Looks good to me. I changed the default port of the user-service to be 5100 to avoid port conflict on MacOS.


What does Siderostat.fieldAngle return?

Hi Florian,
While testing the position angle (=field angle?) calculating function, I found that the results from you and I are different.
So I want to make sure that what [fieldAngle] (https://github.com/sdss/lvmtipo/blob/14a72185b1d7ef9149b9325c778c53f215b09478/python/lvmtipo/siderostat.py#L67) returns. (What is the definition of field angle.)
Here is my code [cal_pa]
(https://github.com/sdss/lvmagp/blob/8616df2e16e544cc0024475ae20fe8cb727fcfde/python/lvmagp/actor/internalfunc.py#L280).
It calculates the position angle based on the LVM coordinates document (0040 document).
Can you check "fieldAngle" function returns the position angle as "cal_pa" function?
Also, I want to add additional information for you.
I tested both functions with same input : ra=5h, dec=0deg, lat=37.5960deg, long=127.0533deg.
The results were -0.026 deg for cal_pa and -127.306 deg for fieldAngle.
I selected the RA where the target is passing meridian when I tested. So I think cal_pa returns the position angle well.

The code in lvmagp calculates the parallactic angle (which is the position angle of the zenith before the rays hit M1 of the siderostat, see https://en.wikipedia.org/wiki/Parallactic_angle). The code is not correct because it does not recognize the difference in the branches of the arctan. The fieldAngle() function in lvmtipo calculates the position angle '''after''' leaving the M2 and before hitting the K-mirrors (if there are any). fieldAngle() is the direction to the NCP measured clockwise (where ceiling=0) looking down the beam, after M2. (Obviously it's also the position angle of the zenith, measured as usually ccw from the NCP.) Evidently these two values are different, because there are 2 tracking mirrors in between, and we do not have the lucky exception as for mirror trains fastened to an alt-az telescope that the parallactic angle survives these reflections. See e.g. https://wiki.sdss.org/download/attachments/18186530/LVM-0040_LVM Coordinates.pdf?api=v2


[adapter-node] Cannot use import statement outside a module

Describe the bug
In local, the build with the node adapter works perfectly but when deploying it in Plesk I've got the message :
import { assetsMiddleware, kitMiddleware, prerenderedMiddleware } from "./middlewares.mjs";
^^^^^^

SyntaxError: Cannot use import statement outside a module
    at Object.compileFunction (node:vm:352:18)
    at wrapSafe (node:internal/modules/cjs/loader:1031:15)
    at Module._compile (node:internal/modules/cjs/loader:1065:27)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:79:12)
    at node:internal/main/run_main_module:17:47

Reproduction
Don't know what to give to you in order to reproduce that.
Logs
No response
System Info
System:
    OS: Linux 5.4 Ubuntu 20.04.3 LTS (Focal Fossa)
    CPU: (4) x64 Intel(R) Xeon(R) Gold 6230R CPU @ 2.10GHz
    Memory: 191.33 MB / 7.75 GB
    Container: Yes
    Shell: 5.0.17 - /bin/bash
  Binaries:
    Node: 16.9.1 - /usr/bin/node
    npm: 7.21.1 - /usr/bin/npm

Severity
blocking all usage of SvelteKit
Additional Information
No response

Editing the config with :
adapter: adapter({
  esbuild: (defaultConfig) => ({
    ...defaultConfig,
    format: 'cjs'
  })
})

Gives this error :
node:internal/modules/cjs/loader:1214
      throw new ERR_INVALID_ARG_VALUE('filename', filename,
      ^

TypeError [ERR_INVALID_ARG_VALUE]: The argument 'filename' must be a file URL object, file URL string, or absolute path string. Received undefined
    at new NodeError (node:internal/errors:371:5)
    at createRequire (node:internal/modules/cjs/loader:1214:13)
    at<EMAIL_ADDRESS>(/var/www/vhosts/myhost/httpdocs/middlewares.js:1048:46)
    at __init (/var/www/vhosts/myhost/httpdocs/middlewares.js:29:50)
    at Object.<anonymous> (/var/www/vhosts/myhost/httpdocs/middlewares.js:16237:1)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19) {
  code: 'ERR_INVALID_ARG_VALUE'
}

I don't know if you have to or can specify a package.json - if so, add "type":"module" to it. This helped me in a different deployment situation.

I tried it but it doesn't work.

Searching around "Plesk + Node", looks like they have poor support for NodeJS versions and are generally outdated. Example. The minimum supported version by SvelteKit is ^12.20 || >=14.13, so unless you can upgrade Plesk's node version to latest, there's not much we can do here.

I did upgrade to node 16 but doesn't still work.

Is it node 16 in Plesk or locally? Based on your description, it looks like Plesk is having trouble running ESM code, as it's running it in CJS context, which shouldn't be the case if package.json has type: "module" and it's running with the latest node version.

Both : I use node 16.9 in Plesk and locally.
When I add the package.json with the `"type": "module" info, I've got this error :
/usr/share/passenger/helper-scripts/node-loader.js:80
	return originalRequire.apply(this, arguments);
                        ^

Error [ERR_REQUIRE_ESM]: require() of ES Module /var/www/vhosts/mydomain/httpdocs/index.js from /usr/share/passenger/helper-scripts/node-loader.js not supported.
Instead change the require of index.js in /usr/share/passenger/helper-scripts/node-loader.js to a dynamic import() which is available in all CommonJS modules.
    at Module.require (/usr/share/passenger/helper-scripts/node-loader.js:80:25)
    at loadApplication (/usr/share/passenger/helper-scripts/node-loader.js:243:2)
    at setupEnvironment (/usr/share/passenger/helper-scripts/node-loader.js:214:2)
    at Object.<anonymous> (/usr/share/passenger/helper-scripts/node-loader.js:133:1) {
  code: 'ERR_REQUIRE_ESM'
}

Thanks for the info. Looking at the first line: /usr/share/passenger/helper-scripts/node-loader.js:80, I'm not sure where this script comes from, but it's running your app using require(), which only works for CJS code. I'm not too familar with Plesk to know how to workaround this, but you could ask in their forums for how to load ESM code there.

Oh thank you @bluwy  !
I will search there and if I found a solution, I will post it here

For information : https://talk.plesk.com/threads/nodejs-execute-esm-code.362146/ (no answers yet)

Not sure if this helps, but I just had the same error when not deploying the package.json along the build directory. I think it would be nice to document this.
Error when doing a docker build and docker run on this:
FROM node
COPY build build
CMD ["node", "build"]

All fine here:
FROM node
COPY build build
COPY package.json package.json
CMD ["node", "build"]

@ubersan Is this docker setup related to Plesk? If so I think we can document this in the discussion @pierre-H opened above. I'm not sure if it fits here.

No, I don't think this is Plesk-specific. The docker setup just tells you that whenever you have a host where you have node installed and you only upload the build directory, you will get this error. To fix it you need to provide the package.json file. In my case the host was an aws ec2 instance. You can try it out on your local computer as well if you just copy the build directory into a folder and omit the package.json.

Thanks for the clarification. Yeah the package.json is needed together with the build for the {"type": "module"}. Perhaps @pierre-H can you confirm this is the case as well for your setup?

Not sure if this helps, but I just had the same error when not deploying the package.json along the build directory. I think it would be nice to document this.

It may be beneficial to note this under the node adapter readme. Feel free to send a PR!

No problem. Makes also sense regarding the {"type": "module"} it brings and the error message. I added a small PR for the README.

Both : I use node 16.9 in Plesk and locally. When I add the package.json with the "type": "module" info, I've got this error :
/usr/share/passenger/helper-scripts/node-loader.js:80
	return originalRequire.apply(this, arguments);
                        ^

Error [ERR_REQUIRE_ESM]: require() of ES Module /var/www/vhosts/mydomain/httpdocs/index.js from /usr/share/passenger/helper-scripts/node-loader.js not supported.
Instead change the require of index.js in /usr/share/passenger/helper-scripts/node-loader.js to a dynamic import() which is available in all CommonJS modules.
    at Module.require (/usr/share/passenger/helper-scripts/node-loader.js:80:25)
    at loadApplication (/usr/share/passenger/helper-scripts/node-loader.js:243:2)
    at setupEnvironment (/usr/share/passenger/helper-scripts/node-loader.js:214:2)
    at Object.<anonymous> (/usr/share/passenger/helper-scripts/node-loader.js:133:1) {
  code: 'ERR_REQUIRE_ESM'
}

I had exactly the same issue on Plesk running Node 17.4.0, resolved by creating a package.json in the build output thus:
{
  "type": "module"
}

And then pointing plesk towards an additional file (index.cjs) added to the build output thus:
(async () => {
  await import('./index.js');
})();

Great job, this worked for basic useage.
Sadly for the actual sveltekit demo app, it is unfortunately only partially working. Todos page doesn't work, calling https://yourdomain/todos/__data.json returns an 502.
Any idea how to fix that?


crypto/x509: missing support for EC parameter encoding

LetsEncrypt's "Boulder" server, the backend for processing CSRs, apparently uses
go1.6.2 linux/amd64

and specifically
the upstream Golang x509 package ... to process CSRs.

If an CSR submitted to LetsEncrypt service reference a PrivKey that has ec parameters explicity encoded, e.g.,
openssl ecparam \
 -genkey \
 -param_enc explicit \
...

, perfectly valid under Openssl, the Boulder server process fails with a server error
Err: asn1: structure error: tags don't match (16 vs {class:0 tag:13 length:45 isCompound:true}) {optional:false explicit:false application:false defaultValue:<nil> tag:<nil> stringType:0 timeType:0 set:false omitEmpty:false} certificateRequest @2
Req: (*x509.CertificateRequest)(nil)

This is claimed as a result of GoLang's X509 pkg lacking support
The upstream x509 library does not support explicit parameter encoding

Despite their befuddling insistence that
regardless of whether it is added there we likely won't support it in Boulder.

it'll be useful for GoLang's X509 pkg to implement feature parity with Openssl in supporting the explicit parameter encoding
More detail's provided in the original bug post there
Certbot “Exiting abnormally” if CSR uses PrivKey with ec parameters encoded (=param_enc explicit)
https://community.letsencrypt.org/t/certbot-exiting-abnormally-if-csr-uses-privkey-with-ec-parameters-encoded-param-enc-explicit/18814
I can provide additional info here as requested

To @agl for a decision.

I don't believe that we want to support this. Arbitrary EC curves were an old, excessive generality and Go doesn't have generic EC code in any case. Sometimes the explicit parameters happen to match a well-known curve and we could recognise those, but then it's just a waste of bytes and the generating code should have used a named curve instead.


New FSI panel

Discussion moved from #103
@tpetricek:
"Aside, do you think it's a good idea to print the F# code sent to F# Interactive in the window? Visual Studio does not do that and I'm quite happy with that.
That said, if the FSI window was HTML frame, we could create some really fancy expandable HTML gadget that would be hidden by default and you could click on it to see the full output. How hard would it be to change the FSI window into a read-only HTML window with some <pre> tags in it?"
My response:
"Personally, I like printing input code in FSI panel, but idea to make more fancy panel with for example possibility to hide / expand some parts of communication sounds good for me. Only drawback I see is that right now since FSI panel is text editor, user can easily save it to file to have dump of whole FSI session - I guess same would be possible with custom panel but it will require some work.
I guess upgrading of FSI panel should be discussed separately from this PR, so feel free to create issue for it."

I think there are at least two different ways of looking at the FSI panel. Both of them make sense, and nobody knows which one is better :-).

Output panel - the idea is that FSI is just for output. You do not typically write any code there - you just see the output of things from a script file. In this view, you do not need IntelliSense in the FSI panel, but you would probably want richer (say, HTML) output with charts.

Full editor - you should be able to do most of your work in FSI (I think R/Mathematica/IPython Notebook all kind of do this). You also have all of the above (with rich output), but the FSI is full editor with auto-complete and everything and it makes sense to serialize your entire session etc. You probably want to see all the code in this case.

The nice thing about treating FSI as output panel is that you really end up editing code in more reusable script files. But the nice thing about full editor is that you don't even need script files for some tasks.
I think quite a few people coming from "full editor" backgrounds expect to be able to use it in that way, so supporting that model would be nice (that said, I think it is hard - I think it would require changes to F# interactive and the compiler service).
I guess the "full editor" mode is nicer because you see what is in the scope. With "output window", there is a mismatch between variables that are syntactically in scope and things that are defined, which can be confusing with FSI.
I would be really curious to hear what other people think about this. What are all the possible ways of using REPL?

I like the idea of a full editor mode since I feel it would make interactive programming a bit more streamlined. Even nicer, something like Scala Worksheets in Eclipse and Inline Evaluation in LightTable would allow the developer to do program interactively directly inside the file instead of a REPL session which forces you copy the code in to eval and out to save.

I would add inline evaluation as another mode:

Inline evaluation - You do not really have a separate panel with the results, but instead see the outputs embedded in the script editor. This is quite close to having editor in the FSI panel, but it works the other way round - rather than adding editor to FSI, it adds FSI outputs to the editor.

Like Xamarin sketches?

Like Light Table?

Like Alive ?

Like the Wolfram Language?

some other approach?

All of the above require "tweaks" to the compiler service to work optimally...

Yeah, that's partly why I like the idea of the output-only style of things - because it's one that we can actually implement pretty well without doing some (potentially) complex changes to the compiler.
It's tricky though - there is a lot of options in this space - and making some choices makes it hard to go in other directions...

OK, I think that we have here 2 separate ideas - first is FSI Panel and whether it should be read only or full editor. For me inline evaluation could be implemented as completely separate feature ( something like Alive when You can turn it for given file and You decide when to evaluate) build on top of text editor rather than FSI panel.
Personally I think that read only FSI panel is (at least right now) better idea - for full editor mode we would need to implement all features that are build on top of text editor, build our own text editor control since it would need to allow both typing code in and showing our nice html output etc. It's not trivial task and I don't see lot of advantages over read only panel. For read only panel we only need to handle display of output - which is much less work.
Building richer HTML based panel for FSI is definitely good idea - we could provide features as hiding / minimizing of input code, tooltips, display images (if someone smart have an idea how to do it), saving output as HTML page etc.
Inline evaluation is for sure interesting, but in my opinion it should not be directly connected with FSI panel. It's something we can investigate but as Dave said - it would require changes to compiler services ( I guess building tool with standard I/O interface which would use compiler services and add stuff which we need would be necessary). But that's not a feature I want to put most effort into it right now, however if someone is interested in implementing it feel free to do so ;)

Focus on what works, we don't really have a more advanced inline generator at present. I could probably help with that at some point though.

On 7 Aug 2015, at 16:12, Krzysztof Cieślak<EMAIL_ADDRESS>wrote:
OK, I think that we have here 2 separate ideas - first is FSI Panel and whether it should be read only or full editor. For me inline evaluation could be implemented as completely separate feature ( something like Alive when You can turn it for given file and You decide when to evaluate) build on top of text editor rather than FSI panel.
Personally I think that read only FSI panel is (at least right now) better idea - for full editor mode we would need to implement all features that are build on top of text editor, build our own text editor control since it would need to allow both typing code in and showing our nice html output etc. It's not trivial task and I don't see lot of advantages over read only panel. For read only panel we only need to handle display of output - which is much less work.
Building richer HTML based panel for FSI is definitely good idea - we could provide features as hiding / minimizing of input code, tooltips, display images (if someone smart have an idea how to do it), saving output as HTML page etc.
Inline evaluation is for sure interesting, but in my opinion it should not be directly connected with FSI panel. It's something we can investigate but as Dave said - it would require changes to compiler services ( I guess building tool with standard I/O interface which would use compiler services and add stuff which we need would be necessary). But that's not a feature I want to put most effort into it right now, however if someone is interested in implementing it feel free to do so ;)
—
Reply to this email directly or view it on GitHub.

Not sure this is the right place, but the FSI panel on my Mac cannot find mono or fsharpi, even though both are on my path, and I've set the Mono path to the Xamarin installation. Ideas?

@panesofglass: Can You please create separate issue for this? This topic is rather for discussion about possible future enhancements, not for bug discussion :)