Expanding consultancy page(s)

This PR addresses issue #678.
Following the request to add more consultancy services to the website, a new index page is now under construction.
Changes made:

Created a /consulting subfolder to house all the individual services offered by OLS.
Added an index.md file to the newly created subfolder which will be the new landing page.
Stored the information about services in a consulting.yaml file.
Displayed the stored information on small cards in the index page (i.e /consulting). On these cards are links to individual services.
Used separate service-x.md files for more consultancy pages (with url /consulting/ally-skills).

Questions/Comment for reviewer(s):

Is there any info missing from the cards that should be added?
Currently, the same hero image is used across all the pages. Should each page have its unique photo that best captures the service?
Finally, if Patri's PR #679 is merged first (for the sake of urgency), it will be added to the correct directory in this PR.

Thanks!

(Non-urgent)  Nuding @bebatut and @yochannah. 👈
Only review when you have the time. 🙏

Thanks @NPDebs.
The structure looks globally good. I have just few comments

I am not sure how many consultancy page we will get and if having them using the consultancy.yml is not too complicated
If we have quite some, we might want to organize them in groups

But nothing really bad just some thoughts. @yochannah what do you think?

I think this is prettymuch what @pherterich and I discussed last week, so it looks good to me! Also tagging @malvikasharan as I think she was discussing this with Patricia maybe?

Adding another note - we're likely to want to link to individual service pages in the future (for potential clients), so having them separate but indexed on the main page will be very helpful.

I am not sure how many consultancy page we will get and if having them using the consultancy.yml is not too complicated

I tried to keep the structure as basic as possible, so that future contributors won't struggle. I'm not sure how many there will be. Probably why you asked Yo. 😅🏃🏽♀

Approved! note that the organisational leadership card doesn't link anywhere - is that my fault? 😬

Thanks for merging, @yochannah!
Nice catch. It didn't initially link anywhere because the organisational leadership page was yet to be merged. Now that both PRs have been merged, there are two options:

Link the leadership page and open a new PR.
Revert the merge on this PR, add the changes here and we merge again.

I'm fine with either 1 or 2, really.

Go for 1. Quick :)

Go for 1. Quick :)

Done. Ready at PR #699...


Camera Position

Thank you for your amazing work!
Could you please tell me how to get the original camera position? I want to use original view port to observe the reconstructed model.

您好  我想用2d照片的原视角观察重建好的三维模型，请问怎么得到相机的观察位置呢

Hello @wenyihan4396 , sorry for the late response.
I don't know how to get the original camera, but I guess the transformation matrix should be a 4x4 identity matrix because there does not exist any transformation operation during reconstruction. By the way, I'm curious about why you want to observe the point cloud from the origin view of the image. You can only observe the original RGB image without any geometry information.

Thank you for your amazing model!


Fixed some code smells from sonar

I fixed some code smells from sonar. If this is normal, I propose to make it a practice for all contributors so that over time it will be completely eradicated from these shortcomings. This task is not for one person.
I think if we solve the problems in sonar it will definitely be for the better for the project.

@planetf1 Can you look it is?;)


ci optimization & fix imports

Codecov Report

Merging #397 (3e39cde) into master (296f266) will not change coverage.
The diff coverage is 50.00%.

@@           Coverage Diff           @@
##           master     #397   +/-   ##
=======================================
  Coverage   65.83%   65.83%
=======================================
  Files          35       35
  Lines        1882     1882
  Branches      117      117
=======================================
  Hits         1239     1239
  Misses        614      614
  Partials       29       29

Impacted Files
Coverage Δ

selene/api/shared/__init__.py
0.00% <0.00%> (ø)

selene/__init__.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


“Copy to C:\ProgramData\Legacy Update\…”/“Copy failed” in log on runonce reboot

Seems to work fine despite the error (error handling would be ideal though), but it’s trying to copy the file on top of itself. Need to add a file existence check so we don’t do that.

@kirb you have bug in 1.10 type when is unchecked legacy update program, he still is installed and open IE later. You can look in control panel after use legacy update with unchecked to install legacy update. It that options precision mean


Docs typo fix

Summary

Ticket Link

Hello @bbodenmiller,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.


Review Ticket

#/3
Kian Pasokhi
Java Menu - Subtraction
Shared Repo
Code.org completion:

2.7/3
He completed code.org and worked on his java menu, adding a subtraction option that used 2 user inputs and made one output.


Advanced Dart Migration Tool

Use case
After migrating to Flutter 2, I found that some deprecated widgets were not replaced by alternative widgets.
Like FlatButton and TextButton, or RaiseButton and ElevatedButton.
Proposal
I found that the dart Migration tool was very helpful when I started to migrate to Flutter 2.
If you could take the dart migration tool to the next level, it can be configurable by a YAML file or any similar way.
So community or packages maintainers could use it too.
For example, if the Flutter team is busy, someone from the community could post a configuration to migrate FlatButton to TextButton.

@pedromassangocode I found that the Flutter team added recently dart fix
https://flutter.dev/docs/development/tools/flutter-fix
It is very helpful but still, libraries maintainers cannot use it as it works only for the Flutter codebase.

reference to dart fix class
https://github.com/dart-lang/sdk/blob/master/pkg/analyzer_plugin/lib/utilities/fixes/fixes.dart

A related article
Custom lints for your Dart/Flutter project
https://coder-with-a-bushido.medium.com/custom-lints-for-your-dart-flutter-project-9447a596c1f0

Fyi @bwilkerson @keertip. If we document how to add data driven fixes for your own Flutter package I think we can close this issue as fixed.

I think our existing prioritization on when we add the dart fix documentation is good. Only tagging people for awareness that the work would resolve this issue with a bunch of thumbs up.

@atsansone also as an FYI


Feature - React Intl

I have working Internationalization solution based on "react-intl". I can create a pull request of it in master branch or we can create a new branch for "intl"

I'm highly interested in this. Please create a PR, even @ctrlplusb decides against maintaining an intl branch here, this may be very helpful for reference!

I'm working on a boilerplate with react-intl support.
Below links to some code. I hope these files may will help you.

src/shared/utils/intl.js: some intl util functions
Using locale middleware in express to determine the best locale on server side
Getting locale data on each request before start the server side rendering
On client side, we need to polyfill intl API if it's needed and register locale determined by the server BEFORE first client side rendering
Easy to change locale AFTER first client side rendering: get locale data of a specific locale  and don't forget to register this change

In extra: a script to extract and manage translations from the source code.

Thanks for the detailed comment @enten.

Awesome guys.  I would love to see this too.

@maximblack
Be careful with react-intl and intl modules: their usage can considerably increase compilation times of the client and server bundles.
This increase is due to the locale-data files of the both modules (intl/locale-data/* and react-intl/locale-data/json(p)?/*).
Browser side
On the browser side: we need to bundle the locale-data files into chunks.
Including locale-data files in the DllPlugin allow to reduce re-compilation times on dev mode.
It's not possible for the moment but there is a discussion about allowing to manually add modules in the DllPlugin.
Server side
On the browser side: we need to explicitly exclude the locale-data files (avoid chunk creation for each translation files).
Use webpack-node-externals allow to don't create chunks for node_modules imported.
Great. But when webpack meet uses of require()/System.import() with an expression (like const localeData = require(react-intl/locale-data/${locale})): a chunk file will be created for each file which match the expression (note: webpack externals has no effect on this behavior).
The webpack.IgnorePlugin (used as below for example) seems to be able to solve this issue. I need to make tests to verify that.
new webpack.IgnorePlugin(/(react-)?intl\/locale-data/)

Finally, I recommend the approach below to avoid increasing compilation times.
As a reminder: the source of this increase.

when webpack meet uses of require()/System.import() with an expression (like const localeData = require(react-intl/locale-data/${locale})): a chunk will be created for each file which match the expression

In my case: the function below force webpack to create a chunk for each translation files in intl/locale-data/jsonp/ and react-intl/locale-data/.
// src/shared/utils/intl.js
export function polyfillIntlApi(locale) {
  return System.import('intl')
    .then(() => System.import(`intl/locale-data/jsonp/${locale}`))
}
export function registerLocaleData(locale) {
  const localeData = require(`react-intl/locale-data/${locale}`)
  addLocaleData(localeData)
}

So, translation files of all locales will be bundled: this is clearly NOT what we want.
To avoid this behavior easily: I copied all locale files which my app needs into my project source code. and update my expression imports as below.
// src/shared/utils/intl.js
export function polyfillIntlApi(locale) {
  return System.import('intl')
    .then(() => System.import(`../../locale-data/intl/${locale}`))
}
export function registerLocaleData(locale) {
  const localeData = require(`../../locale-data/react-intl/${locale}`)
  addLocaleData(localeData)
}

Translations files will be bundled (on server and browser side) but it's not a real issue: because this not increase compilation times anymore.
So we don't need to include translation files in the dll on client side and ignore them on server side.
Extra
Below the function createLocaleDataFiles(outputPath, locale) which can be used to create npm's script which call it for each locale needed by the application.
// usage example

;['en', 'fr'].forEach((locale) =>
  createLocaleDataFiles('./src/locale-data', locale)

// output:
//
// en
//   intl
//     ./node_modules/intl/locale-data/jsonp/en.js
//       > ./src/locale-data/intl/en.js
//   reactIntl
//     ./node_modules/react-intl/locale-data/en.js
//       > ./src/locale-data/react-intl/en.js
// fr
//   intl
//     ./node_modules/intl/locale-data/jsonp/fr.js
//       > ./src/locale-data/intl/fr.js
//   reactIntl
//     ./node_modules/react-intl/locale-data/fr.js
//       > ./src/locale-data/react-intl/fr.js

const fs = require('fs')
const {dirname, resolve: resolvePath} = require('path')

module.exports = function createLocaleDataFiles (outputPath, locale) {
  console.log(locale)

  const localeInputPaths = getLocaleInputPaths(locale)
  const localeOutputPaths = getLocaleOutputPaths(outputPath, locale)

  ensureDirExists(outputPath)

  ;['intl', 'reactIntl']
    .forEach((key) => {
      console.log(' ', key)
      console.log('   ', localeInputPaths[key])
      console.log('      >', localeOutputPaths[key])

      ensureDirExists(dirname(localeOutputPaths[key]))
      copyFile(localeInputPaths[key], localeOutputPaths[key])
    })
}

function copyFile (sourcePath, targetPath) {
  return fs.writeFileSync(targetPath, fs.readFileSync(sourcePath))
}

function ensureDirExists (path) {
  if (!fs.existsSync(path)) {
    fs.mkdirSync(path)
  }
}

function getLocaleInputPaths (locale) {
  const dashPos = locale.indexOf('-')
  const baseLocale = ~dashPos ? locale.substring(0, dashPos) : locale
  return {
    intl: require.resolve(`intl/locale-data/jsonp/${locale}`),
    reactIntl: require.resolve(`react-intl/locale-data/${baseLocale}`)
  }
}

function getLocaleOutputPaths (outputPath, locale) {
  return {
    intl: resolvePath(outputPath, 'intl', `${locale}.js`),
    reactIntl: resolvePath(outputPath, 'react-intl', `${locale}.js`),
  }
}

Thanks for sharing the implementation @enten! Would really love seeing this as a branch of the repo.

Closing this, as per discussion we are going to keep feature branches down to a minimum.  This will still be a helpful reference though, so thanks guys!

@enten @maximblack Do one of you by any chance have an up to date (with current react-universally) version of this integration? If not, what fork would have the latest? Much appreciated, thanks!


Symbolication is broken when running a 32-bit userspace (and bpftrace binary) on a 64-bit kernel

Symbolication is broken on platforms running a 64-bit kernel but 32-bit userspace. For example, this is a simple test case that can reproduce the issue: $ bpftrace -e 'profile:hz:99 { @[kstack] = count(); }'
I believe this is happening because bpftrace requests uint64_t addresses to the kernel here https://github.com/iovisor/bpftrace/blob/fb77dae0b0a3d16b9453264401ff778556028576/src/bpftrace.cpp#L1941 but then performs an implicitly conversion to uintptr_t here https://github.com/iovisor/bpftrace/blob/fb77dae0b0a3d16b9453264401ff778556028576/src/bpftrace.cpp#L2076 .
Since bpftrace is a 32-bit binary in this case, then uintptr_t is only 32-bit wide and the higher part of the 64-bit address provided by the kernel is dropped / ignored. This leads to a failure when bcc_symcache_resolve() is called. The implicit conversion should have been flagged by the compiler, but -Wconversion is currently not used by bpftrace: https://github.com/iovisor/bpftrace/blob/79c366d3d3eb93da18b1e75fbe150b0537626ca8/CMakeLists.txt#L70 .
The issue can be fixed if we change resolve_ksym() so it receives an uint64_t addr instead, but I wanted to check here first if there is an alternate preferred solution in case I'm missing something. I've only tested and observed this with kernel symbols so far, but I see uintptr_t being used in other locations throughout the project so this might be an issue for a few other use cases too.
Let me know what you think, please.
bpftrace --info output
$ ./bpftrace --info
System
  OS: Linux 5.15.119-android13
  Arch: armv8l

Build
  version: v0.18.1
  LLVM: 14.0.6
  unsafe probe: yes
  bfd: no
  libdw (DWARF support): no

Kernel helpers
  probe_read: yes
  probe_read_str: yes
  probe_read_user: yes
  probe_read_user_str: yes
  probe_read_kernel: yes
  probe_read_kernel_str: yes
  get_current_cgroup_id: yes
  send_signal: yes
  override_return: no
  get_boot_ns: yes
  dpath: no
  skboutput: no

Kernel features
  Instruction limit: 1000000
  Loop support: yes
  btf: yes
  module btf: yes
  map batch: yes
  uprobe refcount (depends on Build:bcc bpf_attach_uprobe refcount): yes

Map types
  hash: yes
  percpu hash: yes
  array: yes
  percpu array: yes
  stack_trace: yes
  perf_event_array: yes

Probe types
  kprobe: yes
  tracepoint: yes
  perf_event: yes
  kfunc: no
  iter:task: no
  iter:task_file: no
  iter:task_vma: no
  kprobe_multi: no
  raw_tp_special: yes

A u64 for the addr seems reasonable. Did making that change help fix the issue?

A u64 for the addr seems reasonable. Did making that change fix the issue?

Yes it does, as I mentioned above. I will send out a PR then. thanks


install-powershell.sh doesn't work on azure-linux

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.
[X] Refer to the FAQ.
[X] Refer to Differences between Windows PowerShell 5.1 and PowerShell.

Steps to reproduce
I deployed a virtual machine in azure specifying:
publisher: MicrosoftCBLMariner
offer: azure-linx
sku: azure-linux-gen2
when I ran the install script, it failed saying it was an unsupported os:
Sorry, your operating system is based on  and is not supported by PowerShell or this installer at this time
Expected behavior
pwsh is installed

Actual behavior
pswh installation fails with error:

Sorry, your operating system is based on  and is not supported by PowerShell or this installer at this time

Error details
Sorry, your operating system is based on  and is not supported by PowerShell or this installer at this time

Environment data
N/A

Visuals
No response

https://gitee.com/chuanjiao10/kasini3000_agent_linux#microsoft-azurelinux-20-kernel515

Hey,
Can you please run the code like this in the azure linux console and let me know the output?
OS=$(lowercase "$(uname)")
echo ${OS}

My best guess is the above statement doesn't work in Azure linux. Maybe it misses lowercase command and it is failing at that level. I will put a PR, if you can confirm me the output of ${OS}

yes it seems the base image is missing lowercase:
adminUsername@vm [ ~ ]$ OS=$(lowercase "$(uname)")
-bash: lowercase: command not found
adminUsername@vm [ ~ ]$ echo ${OS}

FYI
uname returns Linux
cat /etc/os-release returns
NAME="Microsoft Azure Linux"
VERSION="3.0.20240524"
ID=azurelinux
VERSION_ID="3.0"
PRETTY_NAME="Microsoft Azure Linux 3.0"
ANSI_COLOR="1;34"
HOME_URL="https://aka.ms/azurelinux"
BUG_REPORT_URL="https://aka.ms/azurelinux"
SUPPORT_URL="https://aka.ms/azurelinux"

i think the script will need to be updated to check for /etc/azurelinux-release

Which is what I thought! So, thanks for confirming.
So, a simple if and else statement should be brought in to the code to check for the presence of lowercase command.
I will push the fix via a PR.

Yes, it is certain that there is no support for Microsoft Azure Linux.

I might be completely off, but this was a quick and easy solution to try and implement.
https://github.com/PowerShell/PowerShell/pull/23955
This is a PR that I have raised to fix the issue, maybe.

I tested with your changes and it didn't work, here is the error:
Get-PowerShell MASTER Installer Version 1.2.0
Installs PowerShell and Optional The Development Environment
  Original script is at: https://raw.githubusercontent.com/PowerShell/PowerShell/master/tools\install-powershell.psh
Arguments used:

Operating System Details:
  OS: linux
  DIST:
  DistroBasedOn: mariner
  PSUEDONAME: Azure Linux 3.0
AZURELINUX_BUILD_NUMBER=3.0.20240524
  REV: Azure
AZURELINUX_BUILD_NUMBER=3.0.20240524
  KERNEL: <IP_ADDRESS>-3.azl3
  MACH: x86_64
  OSSTR:
Configuring PowerShell Environment for: mariner  Azure
AZURELINUX_BUILD_NUMBER=3.0.20240524
Could not find "installpsh-mariner.sh" next to this script...
Pulling and executing it from "https://raw.githubusercontent.com/PowerShell/PowerShell/master/tools/installpsh-mariner.sh"
found and using curl

*** PowerShell Development Environment Installer 1.2.0 for mariner
***    Original script is at: https://raw.githubusercontent.com/PowerShell/PowerShell/master/tools/installpsh-mariner.sh

*** Arguments used:

*** This installer is only for mariner and you are running , please run "https://raw.githubusercontent.com/PowerShell/PowerShell/master/tools\install-powershell.sh" to see if your distro is supported AND to auto-select the appropriate installer if it is.

I deployed a virtual machine in azure specifying:
publisher: MicrosoftCBLMariner
offer: azure-linx
sku: azure-linux-gen2

@dpoole73 Can you share the details steps to create an Azure VM with the azure-linux image? I cannot find the image when creating a VM in Auzre Portal. The https://github.com/microsoft/azurelinux says the azurelinux is an internal Linux distribution for Microsoft’s cloud infrastructure and services. If so, the image won't be public, right?

oh I didn't realize it was an internal image.  I am using an internal microsoft subscription so likely it shows up for me but not for you.  I'm trying to install powershell on it so that I can validate the image for testing. I guess mariner got rebranded to azure-linux so I'm guessing this is just the latest image and will be available going forward?


Convert geoparquet to geopackage

Or other standard GIS file type? flatGeoBuf without building index?
Add conversion rule, use to convert outputs for review in qgis.

Closed by #64 - 494020e316b3660b19f1ce0e731246b3af5f4cc4


xrootd: fix plugin location using RPATH

Description of changes
Closes: #200748
Resolves: #169677
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

This PR will (also) fix #169677 if applied.

Regrettably, xrdcp built with nixpkgs-review still doesn't work on x86_64-linux.

Update:
LD_LIBRARY_PATH="/nix/store/1awy5ywcl0bs38hjxaqqxsa2qjmh0z23-xrootd-5.5.1/lib${LD_LIBRARY_PATH:+:}${LD_LIBRARY_PATH-}" xrdcp root://eospublic.cern.ch//eos/opendata/cms/Run2011A/ElectronHad/AOD/12Oct2013-v1/20001/001F9231-F141-E311-8F76-003048F00942.root /dev/shm

does work.

How about creating something like wrapXrootdHook instead?

I think RPATH should work for this case.

@ShamrockLee Can you post some logs from LD_DEBUG=all?

@veprbl https://gist.github.com/ShamrockLee/1d8975be628b943ff04fd8a0439f2dfc#file-xrdcp_pr_200830_543c75d-err
LD_DEBUG=all xrdcp root://eospublic.cern.ch//eos/opendata/alice/2010/LHC10h/000138275/ESD/0000/AliESDs.root /dev/shm/ 2> /dev/shm/xrdcp_pr_200830_.err

@ShamrockLee Thank you. Just to make sure, could it be truncated? I can't find a mention of XrdSec

And what about something like
readelf -d /nix/store/6pzl0ws9jhn09cvg86fakqqglyaivxi0-xrootd-5.5.0/{bin,lib}/* | grep RPATH

?

Using the readelf executable from package binutils, the result of
readelf -d "$(nix path-info .#xrootd.bin)/bin"/* | grep RPATH
readelf -d "$(nix path-info .#xrootd.out)/lib"*/* | grep RPATH

is empty. (with only warnings that sub-directories like systemd and tempfiles.d aren't regular files)

https://gist.github.com/ShamrockLee/1d8975be628b943ff04fd8a0439f2dfc#file-xrdcp_pr_200830_543c75d_grep_n_xrdsec-err
https://gist.github.com/ShamrockLee/1d8975be628b943ff04fd8a0439f2dfc#file-xrdcp_pr_200830_543c75d_lib_readelf_grep_runpath-out
The xrootd library path is there. It can even be seen directly by viewing the executable inside Vim and type slash to search.

I see that there are few lines where the xrootd is not in RUNPATH. I wonder which binaries they correspond to.
Perhaps it might be fixed by switching from RUNPATH to a global RPATH by passing a --disable-new-dtags compilation flag. Or, a more proper fix would be to ensure that there is no missing entry in RUNPATH.

reply to @ShamrockLee  https://github.com/NixOS/nixpkgs/pull/285505#issuecomment-1946259591

I'll test locally/on LXPLUS these 2 days.

I tried PyXRootD today. It largely works with LD_LIBRARY_PATH set to ${xrootd.out}/lib. However, I haven't got a way to write a Python-based xrdcp alternative for passthru.tests.

About LD_LIBRARY_PATH, I did not need it this time. What is a trigger for it? Is there a reproducer with a public URL?

What is a trigger for it?

It can be triggered by accessing root://eospublic.cern.ch//eos/opendata/alice/2010/LHC10h/000138275/ESD/0000/AliESDs.root with XRootD.client.File(). The iconic Auth failed: Could not load authentication handler. error message can be seen when LD_LIBRARY_PATH does not contain the library path of xrootd.
The following reproducer uses the experimental features nix-command and flakes, but classical-Nix equivalence should be easy to construct.
Preparation:
$ cd path/to/nixpkgs
$ git switch -d 3d695c171d8dbed8c7f80a23a56572f01c8304f1

$ nix run --impure --expr "let lib = import ./lib; pkgs = import ./. { }; in pkgs.python3.withPackages (ps: with ps; [ xrootd ])"
Python 3.11.7 (main, Dec  4 2023, 18:10:11) [GCC 13.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import XRootD.client as client
>>> file = client.File()
>>> file.open("root://eospublic.cern.ch//eos/opendata/alice/2010/LHC10h/000138275/ESD/0000/AliESDs.root", flags=client.flags.OpenFlags.READ)
(<status: 3, code: 204, errno: 0, message: '[FATAL] Auth failed: Could not load authentication handler.', shellcode: 52, error: True, fatal: True, ok: False>, None)
>>> file.close()
(<status: 3, code: 204, errno: 0, message: '[FATAL] Auth failed: Could not load authentication handler.', shellcode: 52, error: True, fatal: True, ok: False>, None)
>>>

$ LD_LIBRARY_PATH="$(nix build --print-out-paths .#xrootd.out)/lib" nix run --impure --expr "let lib = import ./lib; pkgs = import ./. { }; in pkgs.python3.withPackages (ps: with ps; [ xrootd ])"
Python 3.11.7 (main, Dec  4 2023, 18:10:11) [GCC 13.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import XRootD.client as client
>>> file = client.File()
>>> file.open("root://eospublic.cern.ch//eos/opendata/alice/2010/LHC10h/000138275/ESD/0000/AliESDs.root", flags=client.flags.OpenFlags.READ)
(<status: 0, code: 0, errno: 0, message: '[SUCCESS] ', shellcode: 0, error: False, fatal: False, ok: True>, None)
>>> file.close()
(<status: 0, code: 0, errno: 0, message: '[SUCCESS] ', shellcode: 0, error: False, fatal: False, ok: True>, None)

# readelf -d /nix/store/c01mwq8kij00iglcd5irmjpcnrwx68zd-xrootd-5.6.6/lib/libXrdCl.so.3 | grep RUNPATH
 0x000000000000001d (RUNPATH)            Library runpath: [/nix/store/c01mwq8kij00iglcd5irmjpcnrwx68zd-xrootd-5.6.6/lib:/nix/store/h24v1xs4i9l3k18ygxvs62361rl77804-openssl-3.0.13/lib:/nix/store/ilr7br1ck7i6wcgfkynwpnjp7n964h38-zlib-1.3.1/lib:/nix/store/q9snqijfg4v4pjfabspysxszd25w4lcn-util-linux-minimal-2.39.3-lib/lib:/nix/store/cyrrf49i2hm1w7vn2j945ic3rrzgxbqs-glibc-2.38-44/lib:/nix/store/1s98ricsglmfjjqkfnpvywnip5z7gp9q-gcc-13.2.0-lib/lib]

but LD_DEBUG=libs gives
...
    160257:
    160257:	find library=libXrdSec-5.so [0]; searching
    160257:	search path=/nix/store/h24v1xs4i9l3k18ygxvs62361rl77804-openssl-3.0.13/lib:/nix/store/m0nicpa4d724rljadlmw1m3qv0ja4syy-systemd-255.2/lib		(RUNPATH from file /nix/store/c01mwq8kij00iglcd5irmjpcnrwx68zd-xrootd-5.6.6/lib/libXrdCl.so.3)
    160257:	 trying file=/nix/store/h24v1xs4i9l3k18ygxvs62361rl77804-openssl-3.0.13/lib/libXrdSec-5.so
    160257:	 trying file=/nix/store/m0nicpa4d724rljadlmw1m3qv0ja4syy-systemd-255.2/lib/libXrdSec-5.so
    160257:	search path=/nix/store/cyrrf49i2hm1w7vn2j945ic3rrzgxbqs-glibc-2.38-44/lib		(system search path)
    160257:	 trying file=/nix/store/cyrrf49i2hm1w7vn2j945ic3rrzgxbqs-glibc-2.38-44/lib/libXrdSec-5.so
    160257:	search path=/nix/store/1s98ricsglmfjjqkfnpvywnip5z7gp9q-gcc-13.2.0-lib/lib		(RUNPATH from file python3)
    160257:	 trying file=/nix/store/1s98ricsglmfjjqkfnpvywnip5z7gp9q-gcc-13.2.0-lib/lib/libXrdSec-5.so
    160257:	search cache=/nix/store/cyrrf49i2hm1w7vn2j945ic3rrzgxbqs-glibc-2.38-44/etc/ld.so.cache
    160257:	search path=/nix/store/cyrrf49i2hm1w7vn2j945ic3rrzgxbqs-glibc-2.38-44/lib:/nix/store/f5my15qww10swmf66ns13l24yp6j5dmq-xgcc-13.2.0-libgcc/lib		(system search path)
    160257:	 trying file=/nix/store/cyrrf49i2hm1w7vn2j945ic3rrzgxbqs-glibc-2.38-44/lib/libXrdSec-5.so
    160257:	 trying file=/nix/store/f5my15qww10swmf66ns13l24yp6j5dmq-xgcc-13.2.0-libgcc/lib/libXrdSec-5.so
    160257:
(<status: 3, code: 204, errno: 0, message: '[FATAL] Auth failed: Could not load authentication handler.', shellcode: 52, error: True, fatal: True, ok: False>, None)
    160257:
...


Easier way for adding custom operations

Trane needs an easier way to add customize operations. Currently, external plugin operations are not allowed. The bottleneck is we need to maintain a list of operations so that we can save, load, and iterate over operations. It's not easy to add an external operation into operation list.
It may be helpful to emulate how FeatureTools allows feature engineering primitives to be passed in.

Currently, all operations are in-place operations. The aggregation ops simply take a record, change the value in the column and return. This may not be a good design.


Fix issue 271

Fix issue #271
I am not responsible for any consequences, you must be bear them by yourself.

Thank you! Modified and committed in SHA 7b895e2ba2


Pyramid/paste examples in docs don't work

Your documentation for the Pyramid integration is wrong/incomplete: https://docs.getsentry.com/hosted/clients/python/integrations/pyramid/

You cannot have both an [app:main] (Pyramid's default) and [pipeline:main] (what you suggest to add) section in your paste-deploy file. This results in your suggested edits causing errors.
No tm filter is specified in your example, which is required since you specify it in your pipeline.

Related: #219

A better example might suggest adding filter-with = raven under the [app:main] section, however I am unclear about what your usage of tm in your [pipeline:main] is intended to accomplish.


Cant run the docker image on my raspberry pi

Since the raspi is running on ARM the docker image does not work.
As far as I know it is possible to enable multi processor support for docker images?
Is it planned to add support? Or do I need to build my own image?

I didn't build a image for ARM. You can build on your own.
I don't have a plan but it's nice to have
---Original---
From: @.>
Date: Tue, Sep 20, 2022 10:02 AM
To: @.>;
Cc: @.***>;
Subject: [rapiz1/rathole] Cant run the docker image on my raspberry pi (Issue#196)
Since the raspi is running on ARM the docker image does not work.
As far as I know it is possible to enable multi processor support for docker images?
Is it planned to add support? Or do I need to build my own image?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Ok thanks for the info

Feel free to pull my arm64 image built from he current source code.
docker pull nemanjamitic/my-rathole-arm64:v1.0

https://hub.docker.com/repository/docker/nemanjamitic/my-rathole-arm64/tags


Mega drive/genesis, Z80 based on 8080 not 6800

In the megadrive/genesis article: the audio CPU is a Z80. However, the Z80 is based on the Intel 8080 and not on any motorola/MOS design.
https://en.wikipedia.org/wiki/Zilog_Z80.

Yep


Prerelease the current state

As proposed in #369 will be nice to have a prerelease version of the actual master with documented known issues. A short roadmap for the stable version will be also nice.
Is this something feasible?

Same request here #361 also.

@jterry75 is this possible?

@jterry75 Any update?

Sorry there are a lot of threads on this. At the current time we are not releasing any NuGet packages for this. It is recommended that you build, package, test, and sign a release yourself as part of your own CI/CD pipeline.

@jterry75 but way you have no interest to release any preview? It's for all clear that is not a stable version.
There are a lot of bugfixes and API braking changes in master. In this way you give also the possibility for everyone to see who much impact has this on their applications.
And I think you are aware that build, package, test, and sign a release is a lot of overhead for everyone that is using this package.


process-agent: Do not ignore config load errors

Loading the config can return an error in three cases:

If the YAML files doesn't exist, which we already check before calling.
If the YAML can't be unmarshalled, which is bad enough to error out.
If the secrets command doesn't work. In that case, the config will
contain unreplaced secrets. We don't want to continue in that case either.

Superseded by: https://github.com/DataDog/datadog-agent/pull/3564


Fix app root 2: work for blank projects too.

The first fix only works for projects with included boot/index.html not for blank projects.
This patch also fix the output path for serve.

Merging,  thank you @hkollmann!


on composer update for laravel 5.3

Class Hesto\MultiAuth\Commands\MultiAuthInstallCommand contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Hesto\Core\Commands\InstallCommand::handle)

I found a temporary solution. Open
/vendor/hesto/core/src/Commands/InstallAndReplaceCommand.php

and add a function with curly braces.
public function handle() { }

This is just basic function overriding of an abstract function as it is defined as abstract in parent class and not implemented in concrete class and its parent classes.
Hope it helps!


Libs not found

I got this message in the first command
libgmp.la: not found
libmpfr.la: not found
libmpc.la: not found

@guilhermehas In the first command? Do you mean after running docker rm lfs? Those logs are not very detailed at all. Can you provide more information?

/mnt/lfs/sources /mnt/lfs/sources
Assume toolchain from host is already placed in sources folder
/mnt/lfs/sources
Building binutils..
Approximate build time: 1 SBU
Required disk space: 547 MB
tar: binutils-*.tar.xz: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now

I can not reproduce this error anymore, but I am having this problem at master commit.
At commit of v8.1.0, everything works right.

@guilhermehas Great. So you are good to go now? This issue is pretty easy to fix and the error message is super obvious. It can't find binutils-*.tar.xz. So gotta make sure it's included in the toolchain folder. I found that sometimes the extension is a bit off and you have to modify the script files to have the extensions match.
Also as mentioned in #15, some issues I had were caused by the LFS wget list giving us links that responded with 404 error messages. In those cases, you need to download the package manually and handle it from there. The solution to fix that long term is probably to upgrade to the latest LFS version. Which I don't think will be happening on this repo anytime soon.


add vimeo links for stacks

Description of the change

Checklist
Please make sure that the proposed change checks all the boxes below before requesting a review:

[x] I have reviewed the guidelines for contributing to this repository.
[x] The preview looks fine.
[x] The tests pass.
[x] The commit history is clean and meaningful.
[x] The pull request is opened against the main branch.
[x] The pull request is no longer marked as a draft.
[x] You agree to license your contribution under the MIT license to Spacelift.

If the proposed change is ready to be merged, please request a review from @spacelift-io/solutions-engineering. Someone will review and merge the pull request.
Thank you for your contribution! 🙇

Changes to the following pages:

Creating a Stack
Stack Settings
Organizing a Stack
Drift Detection


Don't lock hashie at a version

Allow the client to pick the version of hashie they want to use, setting the minimum allowable.

Fixed.

boosh


Upgrade to Vault 1.0.3

Closes https://github.com/spring-projects/spring-vault/issues/371

Thanks a lot. For future dependency upgrades of Vault, just submit a pull request, no need to file another GitHub issue.
That's merged and backported now.


Build error: [ERROR] Failed to execute JavaCPP Builder: net.clesperanto.clicwrapper.clesperantoj

Hi Brian @bnorthan ,
I'm trying to build this project and struggle a bit. I'm receiving this error:
[ERROR] Failed to execute goal org.bytedeco:javacpp:1.5:parse (generate-sources) on project clesperantoj_: Failed to execute JavaCPP Builder: net.clesperanto.clicwrapper.clesperantoj -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.bytedeco:javacpp:1.5:parse (generate-sources) on project clesperantoj_: Failed to execute JavaCPP Builder

...
Caused by: java.lang.ClassNotFoundException: net.clesperanto.clicwrapper.clesperantoj
    at java.net.URLClassLoader.findClass (URLClassLoader.java:476)

Also nothing is written into the src/gen/java folder...
I'm working on this branch derived from yours. And the only thing I changed: I renamed bin to build in this line as instructed here.
Do you have any idea, what might be missing?
Full log:
log.txt

Hi Robert
I think you need to change the CMAKE_INSTALL_PREFIX to (path on your system)/CLIc_prototype/bin as the java wrappers look for the CLIc_prototype libs there.  It is a bit confusing because the cmake gui has an option called 'Where to build the binaries' however we need to also specify the installation location.  Happy to tweak these locations, but I was thinking we should use a path relative to where the source is, as to make it more robust on different computers.
Also before running mvn you may need to make a trivial change (like adding a space) to clesperantoj to trigger the parse step.

Perfect thanks @bnorthan ! The configuration of CMAKE_INSTALL_PREFIX and the step cmake --build ./build --parallel 10 --target install were very important! However, when running mvn (or mvn -X for debugging) I still receive this error:
[ERROR] Failed to execute goal org.bytedeco:javacpp:1.5:parse (generate-sources) on project clesperantoj_: Failed to execute JavaCPP Builder: net.clesperanto.clicwrapper.clesperantoj -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.bytedeco:javacpp:1.5:parse (generate-sources) on project clesperantoj_: Failed to execute JavaCPP Builder

...
Caused by: java.lang.ClassNotFoundException: net.clesperanto.clicwrapper.clesperantoj
    at java.net.URLClassLoader.findClass (URLClassLoader.java:476)

I've also tried to do trivial changes (addind spaces) to net/clesperanto/clicwrapper/clesperantoj.java and it doesn't help. Any further hint is appreciated!

It seems as it is failing on the parse goal in the generate-sources phase.  At first glance it seems it can't find net.clesperanto.clicwrapper.clesperantoj.  That is a java class that specifies the c header that should be parsed and the files to include and link to.
I can't think of a reason that file would be missing or not found.   I suppose there could be a weird thing in a path name or something.
Or perhaps a file the clesperantoj is trying to link to is missing and the message is incomplete.  Take a look at the includepath and linkpath that point to the CUDA toolkit.  In the version I checked in they point to 11.2.  This may need to be changed on your machine (proper thing to do may be to point to a un-versioned virtual path if one exists).
If that doesn't help double check the javacpp section of the pom and make sure the relative link and include paths specified there exist.
If that doesn't work either we could do a quick zoom later today to try and figure it out.

🥳

hmmm.  I still am a bit confused.  The automatically generated class should be created before the code is compiled.  And in fact it has to be.  However it wasn't being generated on your machine because the javacpp parser could not find the source file.
If I understand you correctly, you compiled once with the parser de-activated, re-activated it, and it worked.  Maybe the source directory is not set up until the compiler is run once (then it is stored in a settings file or something), so on the next run the source directory is known and the parser works.
I am wondering if on a fresh machine we will still run into issues because the first time you run maven, the parsing will be run before compiling, and it still won't yet have set the source directory.
I'm not completely sure, as I am an intermediate but not an advanced user of maven.

Yes, I'm also a bit confused, especially as this workaround is also necessary when renaming classes. So it hit me 2-3 more times.
Anyway I think I can explain it: clesperantoj.java is a Java-File obviously and BridJ appears to access the configuration after compiling it. However, all Java needs to be compiled together. Thus, if there's a compiler error in some other part of the project, this step fill fail. I think we need one sub-project for generating the wrapper code and then another sub-project (in a different src-folder) that builds custom java on top of the generated java. In this case, we can also build a jar-file from the second src-folder that does not contain clesperantoj.java. I'm also speculating here btw. :-)

I have managed a minimal  version which compile and run on my local ubuntu

stephane_test_linux

I also have the issue where I first need to run maven without the content of the <execution> in the pom.xml, and then run it again with the <execution>. This is a bit annoying, I would like to know why and how to fix it because it will prevent use from doing proper CI.
On the other hand, I simplify the CLIc compile and install so that we don't have to manage it. I also removed the linking with OpenCL as this is also managed in CLIc.
We will also need to see how to generalise the @Properties in the clicwrapper/clesperantoj.java class and in the pom.xml for the include and linking.
@haesleinhuepf -> Ready to make a test on windows when you are.
PS: I had to write some java and I did not like it :angry:

Hey Stephane @StRigaud ,
I'm just testing on Windows. CLIc_prototype was built without any issues. I'm currently struggling running mvn in clesperantoj_prototype (branch test_stephane_linux). Error below. If you have time and I don't manage before, would be available for a 30 min try-compile-together-zoom 4pm today before we meet the London folks today 4:30?
Error:
C:\structure\code\clesperantoj_prototype>mvn
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< net.clesperanto:clesperantoj_ >--------------------
[INFO] Building clesperantoj_ <IP_ADDRESS>
[INFO]   from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- enforcer:1.4.1:enforce (enforce-rules) @ clesperantoj_ ---
[INFO] Skipping Rule Enforcement.
[INFO]
[INFO] --- build-helper:3.3.0:regex-property (sanitize-version) @ clesperantoj_ ---
[INFO]
[INFO] --- build-helper:3.3.0:regex-property (guess-package) @ clesperantoj_ ---
[INFO] No match to regex '[^a-z0-9_.]+' found in 'net.clesperanto.clesperantoj_'. The initial value 'net.clesperanto.clesperantoj_' is left as-is...
[INFO]
[INFO] --- buildnumber:1.4:create (default) @ clesperantoj_ ---
[INFO] Executing: cmd.exe /X /C "git rev-parse --verify HEAD"
[INFO] Working directory: C:\structure\code\clesperantoj_prototype
[INFO] Storing buildNumber: 4da1f8098c49fe5cc1604d274a3c430a40616ec9 at timestamp:<PHONE_NUMBER>341
[INFO] Storing buildScmBranch: test_stephane_linux
[INFO]
[INFO] --- scijava:2.0.0:set-rootdir (set-rootdir) @ clesperantoj_ ---
[INFO] Setting rootdir: C:\structure\code\clesperantoj_prototype
[INFO]
[INFO] --- jacoco:0.8.5:prepare-agent (jacoco-initialize) @ clesperantoj_ ---
[INFO] argLine set to -javaagent:C:\\Users\\haase\\.m2\\repository\\org\\jacoco\\org.jacoco.agent\\0.8.5\\org.jacoco.agent-0.8.5-runtime.jar=destfile=C:\\structure\\code\\clesperantoj_prototype\\target\\jacoco.exec
[INFO]
[INFO] --- exec:1.6.0:exec (cppbuild) @ clesperantoj_ ---
Detected platform "windows-x86_64"
Building for platform "windows-x86_64"
Installing "clesperantoj"
/c/structure/code/clesperantoj_prototype/native/clesperantoj/cppbuild /c/structure/code/clesperantoj_prototype/native
-- The C compiler identification is MSVC 19.34.31933.0
-- The CXX compiler identification is MSVC 19.34.31933.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - failed
-- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.34.31933/bin/Hostx64/x64/cl.exe
-- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.34.31933/bin/Hostx64/x64/cl.exe - broken
CMake Error at C:/Program Files/CMake/share/cmake-3.25/Modules/CMakeTestCCompiler.cmake:70 (message):
  The C compiler

    "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.34.31933/bin/Hostx64/x64/cl.exe"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: C:/structure/code/clesperantoj_prototype/native/clesperantoj/cppbuild/CMakeFiles/CMakeScratch/TryCompile-jr3t5t

    Run Build Command(s):nmake -f Makefile /nologo cmTC_ecf4d\fast &&   "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\bin\Hostx64\x64\nmake.exe"  -f CMakeFiles\cmTC_ecf4d.dir\build.make /nologo -L                  CMakeFiles\cmTC_ecf4d.dir\build
    Building C object CMakeFiles/cmTC_ecf4d.dir/testCCompiler.c.obj
        "C:\Program Files\CMake\bin\cmake.exe" -E cmake_cl_compile_depends --dep-file=CMakeFiles\cmTC_ecf4d.dir\testCCompiler.c.obj.d --working-dir=C:\structure\code\clesperantoj_prototype\native\clesperantoj\cppbuild\CMakeFiles\CMakeScratch\TryCompile-jr3t5t --filter-prefix="Note: including file: " -- C:\PROGRA~1\MIB055~1\2022\COMMUN~1\VC\Tools\MSVC\1434~1.319\bin\Hostx64\x64\cl.exe @C:\Users\haase\AppData\Local\Temp\nm8A4A.tmp
    testCCompiler.c
    Linking C executable cmTC_ecf4d.exe
        "C:\Program Files\CMake\bin\cmake.exe" -E vs_link_exe --intdir=CMakeFiles\cmTC_ecf4d.dir --rc=rc --mt=CMAKE_MT-NOTFOUND --manifests -- C:\PROGRA~1\MIB055~1\2022\COMMUN~1\VC\Tools\MSVC\1434~1.319\bin\Hostx64\x64\link.exe /nologo @CMakeFiles\cmTC_ecf4d.dir\objects1 @C:\Users\haase\AppData\Local\Temp\nm8A89.tmp
    RC Pass 1: command "rc /fo CMakeFiles\cmTC_ecf4d.dir/manifest.res CMakeFiles\cmTC_ecf4d.dir/manifest.rc" failed (exit code 0) with the following output:
    The system cannot find the file specifiedNMAKE : fatal error U1077: '"C:\Program Files\CMake\bin\cmake.exe"' : return code '0xffffffff'
    Stop.
    NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\bin\Hostx64\x64\nmake.exe"' : return code '0x2'
    Stop.

  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:7 (project)

-- Configuring incomplete, errors occurred!
See also "C:/structure/code/clesperantoj_prototype/native/clesperantoj/cppbuild/CMakeFiles/CMakeOutput.log".
See also "C:/structure/code/clesperantoj_prototype/native/clesperantoj/cppbuild/CMakeFiles/CMakeError.log".
[ERROR] Command execution failed.
org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
    at org.apache.commons.exec.DefaultExecutor.executeInternal (DefaultExecutor.java:404)
    at org.apache.commons.exec.DefaultExecutor.execute (DefaultExecutor.java:166)
    at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:804)
    at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:751)
    at org.codehaus.mojo.exec.ExecMojo.execute (ExecMojo.java:313)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:126)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:342)

Let's do that!

... I had to do this trick again.
And after executing mvn -X, I see now this error in a long stacktrace:
[INFO] cl /IC:\structure\code\clesperantoj_prototype\src\main\java /IC:\structure\code\clesperantoj_prototype/native/clesperantoj/include /IC:\structure\code\clesperantoj_prototype/native/clesperantoj/cppbuild/_deps/clic_lib-build/clic/include /IC:\Users\haase\.jdks\zulu11.62.17-ca-jdk11.0.18-win_x64\include /IC:\Users\haase\.jdks\zulu11.62.17-ca-jdk11.0.18-win_x64\include\win32 C:\structure\code\clesperantoj_prototype\target\classes\net\clesperanto\clicwrapper\jniclesperantojWrapper.cpp C:\structure\code\clesperantoj_prototype\target\classes\jnijavacpp.cpp /Oi /O2 /EHsc /Gy /GL /MD /LD /fp:fast /W3 /link /OUT:jniclesperantojWrapper.dll /LIBPATH:C:\structure\code\clesperantoj_prototype/lib/win64/ /LIBPATH:C:\structure\code\clesperantoj_prototype/lib/win64/lib CLIc.lib clesperantoj.lib psapi.lib
Microsoft (R) C/C++ Optimizing Compiler Version 19.34.31933 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

jniclesperantojWrapper.cpp
C:\structure\code\clesperantoj_prototype/native/clesperantoj/include\clesperantoj.hpp(4): fatal error C1083: Cannot open include file: 'clesperanto.hpp': No such file or directory

... I keep debugging ... (just taking notes here)

The next error is now:
[INFO] cl /IC:\structure\code\clesperantoj_prototype\src\main\java /IC:\structure\code\clesperantoj_prototype/native/clesperantoj/include /IC:\structure\code\clesperantoj_prototype/native/clesperantoj/cppbuild/_deps/clic_lib-build/clic/include /IC:\structure\code\clesperantoj_prototype/../CLIc_prototype/clic/include/core/ /IC:\Users\haase\.jdks\zulu11.62.17-ca-jdk11.0.18-win_x64\include /IC:\Users\haase\.jdks\zulu11.62.17-ca-jdk11.0.18-win_x64\include\win32 C:\structure\code\clesperantoj_prototype\target\classes\net\clesperanto\clicwrapper\jniclesperantojWrapper.cpp C:\structure\code\clesperantoj_prototype\target\classes\jnijavacpp.cpp /Oi /O2 /EHsc /Gy /GL /MD /LD /fp:fast /W3 /link /OUT:jniclesperantojWrapper.dll /LIBPATH:C:\structure\code\clesperantoj_prototype/lib/win64/ /LIBPATH:C:\structure\code\clesperantoj_prototype/lib/win64/lib CLIc.lib clesperantoj.lib psapi.lib
Microsoft (R) C/C++ Optimizing Compiler Version 19.34.31933 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

jniclesperantojWrapper.cpp
C:\structure\code\clesperantoj_prototype/native/clesperantoj/cppbuild/_deps/clic_lib-build/clic/include\clic.hpp(26): fatal error C1083: Cannot open include file: 'CL/opencl.hpp': No such file or directory

I did have that file in this folder:
<includePath>${basedir}/../CLIc_prototype/thirdparty/opencl/ocl-clhpp/include/</includePath>

But this is missing in the current CLIc_prototype...

Wait, you should not have a CLIc_prototype in your basedir. MVN should deal with compiling the lib and including the folders needed for the reste of the process.
Also, you should not rely on the include of OpenCL as CLIc is providing them already.
Same for binding to OpenCL, CMake and CLIc is managing that, maven need just to link CLIc and ClesperantoJ lib to the jar.

Wait, you should not have a CLIc_prototype in your basedir.

Hm, no I don't see this folder:
C:\structure\code\clesperantoj_prototype>dir
 Volume in drive C has no label.
 Volume Serial Number is 1C19-0CE7

 Directory of C:\structure\code\clesperantoj_prototype

02/08/2023  02:58 PM    <DIR>          .
02/08/2023  02:58 PM    <DIR>          ..
02/07/2023  01:21 PM               532 .gitignore
02/08/2023  02:22 PM    <DIR>          .idea
02/07/2023  01:20 PM    <DIR>          developer_docs
02/07/2023  01:20 PM    <DIR>          imgs
02/08/2023  02:06 PM    <DIR>          lib
02/07/2023  01:21 PM    <DIR>          native
02/08/2023  02:58 PM             7,198 pom.xml
02/07/2023  01:33 PM             6,741 README.md
02/07/2023  01:20 PM    <DIR>          src
02/08/2023  02:11 PM    <DIR>          target
               3 File(s)         14,471 bytes
               9 Dir(s)  490,263,470,080 bytes free

I added one more include dir to the pom:
<includePath>C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.2/include/</includePath>

And now I see this error:
[INFO] cl /IC:\structure\code\clesperantoj_prototype\src\main\java /IC:\structure\code\clesperantoj_prototype/native/clesperantoj/include /IC:\structure\code\clesperantoj_prototype/native/clesperantoj/cppbuild/_deps/clic_lib-build/clic/include /IC:\structure\code\clesperantoj_prototype/../CLIc_prototype/clic/include/core/ /IC:\structure\code\clesperantoj_prototype/../CLIc_prototype/build/thirdparty/opencl_clhpp-src/include/ "/IC:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.2/include/" /IC:\Users\haase\.jdks\zulu11.62.17-ca-jdk11.0.18-win_x64\include /IC:\Users\haase\.jdks\zulu11.62.17-ca-jdk11.0.18-win_x64\include\win32 C:\structure\code\clesperantoj_prototype\target\classes\net\clesperanto\clicwrapper\jniclesperantojWrapper.cpp C:\structure\code\clesperantoj_prototype\target\classes\jnijavacpp.cpp /Oi /O2 /EHsc /Gy /GL /MD /LD /fp:fast /W3 /link /OUT:jniclesperantojWrapper.dll /LIBPATH:C:\structure\code\clesperantoj_prototype/lib/win64/ /LIBPATH:C:\structure\code\clesperantoj_prototype/lib/win64/lib CLIc.lib clesperantoj.lib psapi.lib
Microsoft (R) C/C++ Optimizing Compiler Version 19.34.31933 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

jniclesperantojWrapper.cpp
C:\structure\code\CLIc_prototype\clic\include\core\cleBackend.hpp(10): error C2429: language feature 'nested-namespace-definition' requires compiler flag '/std:c++17'
C:\structure\code\CLIc_prototype\clic\include\core\cleBackend.hpp(30): warning C4267: 'argument': conversion from 'size_t' to 'cl_uint', possible loss of data
C:\structure\code\CLIc_prototype\clic\include\core\cleMemory.hpp(15): error C2429: language feature 'nested-namespace-definition' requires compiler flag '/std:c++17'

So,
Inside native you have a javacpp.sh script and a cmakelist.txt which will take care of DL CLIc, build it, and install it along the overlayer clesperantoJ. All of those are then install in the folder {basedir}/lib/{platform}
inside this lib folder you should have

a folder include which contain the CLIc include needed, as well as the OpenCL include.
a folder lib which contain the CLIc library (static .a)
and a library clesperantoj (shared .so)

ALL <includePath> and <'linkPath>' of the pom.xml should lead to there as the lib folder normally contain all that is needed in therm of lib and include.
You should not be needed to go fetch some specific path folder outside the basedir/lib. With one exception inside the native folder, here
However you may need to update some stuff here for windows specific values.
But I repeat, ClesperantoJ is not in charge of linking to your OpenCL install. CLIc is in charge of this, ClesperantoJ only link to CLIc.

I just pushed my half-backed changes:
https://github.com/clEsperanto/clesperantoj_prototype/compare/test_robert_windows

So first test see if it solve your issue:
Look at this commit and make the same changes on your side (the CMakeList inside the native>clesperantoj.
This should tell your compiler to use the correct C++17 flag and hopefully fix the issue.

I'm happy to test the build and build instructions with both Windows on Linux on my machines, when there is a branch ready that should work on both.  Let me know if that is the case, and if so what branch I should use.

  All rights reserved.

[  1%] Generating kernels header from clij opencl files.
[  1%] Built target generate_kernels
[  2%] Generating cleKernelList header.
[  2%] Built target generate_kernels_list
[  3%] Building CXX object _deps/clic_lib-build/clic/CMakeFiles/CLIc.dir/src/core/cleImage.cpp.obj
cleImage.cpp
C:\structure\code\clesperantoj_prototype\native\clesperantoj\cppbuild\_deps\clic_lib-src\clic\include\core\cleBackend.hpp(10): error C2429: language feature 'nested-namespace-definition' requires compiler flag '/std:c++17'
NMAKE : fatal error U1077: '"C:\Program Files\CMake\bin\cmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\bin\HostX64\x64\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\bin\HostX64\x64\nmake.exe"' : return code '0x2'

Robert may have a more elegant solution, but I start up the Visual Studio 'x64 Native Tools' command prompt, then start a bash session from with that prompt.  Then I can run bash scripts and also have all the Microsoft compiler paths set up properly.

Thanks @bnorthan I will try this

Can you first try to run Repair on your Visual Studio? This is a solution suggested here

This didn't work. I'm working with VS 2022 and the suggestion is for VS 2017 btw...

I've also tried to compile it with the CLIc branch 'c++11-compatibility-v2' and this also didn't work.   All rights reserved.

[  1%] Generating cleKernelList header.
[  1%] Built target generate_kernels_list
[  2%] Generating kernels header from clij opencl files.
[  2%] Built target generate_kernels
[  3%] Building CXX object _deps/clic_lib-build/clic/CMakeFiles/CLIc.dir/src/core/cleImage.cpp.obj
cleImage.cpp
C:\structure\code\clesperantoj_prototype\native\clesperantoj\cppbuild\_deps\clic_lib-src\clic\include\core\cleBackend.hpp(10): error C2429: language feature 'nested-namespace-definition' requires compiler flag '/std:c++17'
NMAKE : fatal error U1077: '"C:\Program Files\CMake\bin\cmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\bin\HostX64\x64\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\bin\HostX64\x64\nmake.exe"' : return code '0x2'
Stop.
[ERROR] Command execution failed.

So just to be clear, the issue is not so much with our build and the wrapper but its with the compilation flag given to VS2022 compiler so that he build the code.
This should be managed by CMake but for unknown reason, it is not ... The weird stuff it is that outside of this repo, CLIc build all fine on windows. Hence something is stopping CMake to pass the correct flags here.

What's the best branch to try and run the newest Windows build with?

Mine "in theory" should be good for both. Though I am still trying to reach the same error that Robert has, there is nothing platform specific.
Bash script and OpenCL and Path are good, now facing a submodule cascade which fail with a "path name too long" issue.

FYI I managed now to reproduced @haesleinhuepf error. At least we have this comming.
Same issue, CMake compilation is doing fine, but now fail during the build execution of javacpp where it requires compiler flag '/std:c++17'

RHAAAAAAAAAAAAAAAAAAAAA
@Properties(value = { @Platform(
		// note: comment this in to debug
		compiler = { "cpp17" }, // removed "fastfpu", don't know what it does
		// header file for c++ class we want to wrap
		include = "clesperantoj.hpp",
		// libraries we need to link to
		link = { "clesperantoj" })

It build on windows!

It looks we're a step ahead indeed!  I had to change "SHARED" to "STATIC" again here because of an error "clesperantoj.lib" not found.
I'm getting a linker error though:
[INFO] cl /IC:\structure\code\clesperantoj_prototype\src\main\java /IC:\structure\code\clesperantoj_prototype\native\clesperantoj\include /IC:\structure\code\clesperantoj_prototype\lib\win64\include\CLIc /IC:\Users\haase\.jdks\zulu11.62.17-ca-jdk11.0.18-win_x64\include\win32 /IC:\Users\haase\.jdks\zulu11.62.17-ca-jdk11.0.18-win_x64\include C:\structure\code\clesperantoj_prototype\target\classes\net\clesperanto\clicwrapper\jniclesperantojWrapper.cpp C:\structure\code\clesperantoj_prototype\target\classes\jnijavacpp.cpp /Oi /O2 /EHsc /Gy /GL /MD /LD /std:c++17 /Zc:__cplusplus /W3 /link /OUT:jniclesperantojWrapper.dll /LIBPATH:C:\structure\code\clesperantoj_prototype\lib\win64 clesperantoj.lib psapi.lib
Microsoft (R) C/C++ Optimizing Compiler Version 19.34.31933 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

jniclesperantojWrapper.cpp
C:\structure\code\clesperantoj_prototype\lib\win64\include\CLIc\cleBackend.hpp(30): warning C4267: 'argument': conversion from 'size_t' to 'cl_uint', possible loss of data
C:\structure\code\clesperantoj_prototype\target\classes\net\clesperanto\clicwrapper\jniclesperantojWrapper.cpp(284): warning C4267: 'argument': conversion from 'size_t' to 'jsize', possible loss of data
C:\structure\code\clesperantoj_prototype\target\classes\net\clesperanto\clicwrapper\jniclesperantojWrapper.cpp(285): warning C4267: 'argument': conversion from 'size_t' to 'jsize', possible loss of data
C:\structure\code\clesperantoj_prototype\target\classes\net\clesperanto\clicwrapper\jniclesperantojWrapper.cpp(307): warning C4267: 'argument': conversion from 'size_t' to 'jsize', possible loss of data
C:\structure\code\clesperantoj_prototype\target\classes\net\clesperanto\clicwrapper\jniclesperantojWrapper.cpp(321): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
C:\structure\code\clesperantoj_prototype\target\classes\net\clesperanto\clicwrapper\jniclesperantojWrapper.cpp(323): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
jnijavacpp.cpp
C:\structure\code\clesperantoj_prototype\target\classes\jnijavacpp.cpp(255): warning C4267: '=': conversion from 'size_t' to 'DWORD', possible loss of data
C:\structure\code\clesperantoj_prototype\target\classes\jnijavacpp.cpp(477): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
C:\structure\code\clesperantoj_prototype\target\classes\jnijavacpp.cpp(654): warning C4267: 'argument': conversion from 'size_t' to 'jsize', possible loss of data
C:\structure\code\clesperantoj_prototype\target\classes\jnijavacpp.cpp(655): warning C4267: 'argument': conversion from 'size_t' to 'jsize', possible loss of data
C:\structure\code\clesperantoj_prototype\target\classes\jnijavacpp.cpp(677): warning C4267: 'argument': conversion from 'size_t' to 'jsize', possible loss of data
C:\structure\code\clesperantoj_prototype\target\classes\jnijavacpp.cpp(744): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
C:\structure\code\clesperantoj_prototype\target\classes\jnijavacpp.cpp(746): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
C:\structure\code\clesperantoj_prototype\target\classes\jnijavacpp.cpp(1149): warning C4244: 'argument': conversion from 'jlong' to 'jint', possible loss of data
C:\structure\code\clesperantoj_prototype\target\classes\jnijavacpp.cpp(1150): warning C4244: 'argument': conversion from 'jlong' to 'jint', possible loss of data
C:\structure\code\clesperantoj_prototype\target\classes\jnijavacpp.cpp(1478): warning C4996: 'strerror': This function or variable may be unsafe. Consider using strerror_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
C:\structure\code\clesperantoj_prototype\target\classes\jnijavacpp.cpp(1513): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
C:\structure\code\clesperantoj_prototype\target\classes\jnijavacpp.cpp(1557): warning C4996: 'strtok': This function or variable may be unsafe. Consider using strtok_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
C:\structure\code\clesperantoj_prototype\target\classes\jnijavacpp.cpp(1635): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
C:\structure\code\clesperantoj_prototype\target\classes\jnijavacpp.cpp(1718): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
C:\structure\code\clesperantoj_prototype\target\classes\jnijavacpp.cpp(1781): warning C4996: 'strncat': This function or variable may be unsafe. Consider using strncat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
Microsoft (R) Incremental Linker Version 14.34.31933.0
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:jniclesperantojWrapper.dll
/ltcg
/dll
/implib:jniclesperantojWrapper.lib
/OUT:jniclesperantojWrapper.dll
/LIBPATH:C:\structure\code\clesperantoj_prototype\lib\win64
clesperantoj.lib
psapi.lib
jniclesperantojWrapper.obj
jnijavacpp.obj
   Creating library jniclesperantojWrapper.lib and object jniclesperantojWrapper.exp
jniclesperantojWrapper.obj : error LNK2001: unresolved external symbol clReleaseCommandQueue
clesperantoj.lib(clesperantoj.cpp.obj) : error LNK2001: unresolved external symbol clReleaseCommandQueue
jniclesperantojWrapper.obj : error LNK2001: unresolved external symbol clReleaseContext
clesperantoj.lib(clesperantoj.cpp.obj) : error LNK2001: unresolved external symbol clReleaseContext
jniclesperantojWrapper.obj : error LNK2001: unresolved external symbol clReleaseMemObject
jniclesperantojWrapper.obj : error LNK2001: unresolved external symbol "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl cle::Image::ToString(void)const " (?ToString@Image@cle@@UEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
jniclesperantojWrapper.obj : error LNK2001: unresolved external symbol "public: virtual unsigned __int64 __cdecl cle::Image::GetNumberOfElements(void)const " (?GetNumberOfElements@Image@cle@@UEBA_KXZ)
jniclesperantojWrapper.obj : error LNK2001: unresolved external symbol "public: virtual class std::array<unsigned __int64,3> const & __cdecl cle::Image::Shape(void)const " (?Shape@Image@cle@@UEBAAEBV?$array@_K$02@std@@XZ)
jniclesperantojWrapper.obj : error LNK2001: unresolved external symbol "public: virtual unsigned int __cdecl cle::Image::Ndim(void)const " (?Ndim@Image@cle@@UEBAIXZ)
jniclesperantojWrapper.obj : error LNK2001: unresolved external symbol "public: virtual unsigned __int64 __cdecl cle::Image::GetMemorySize(void)const " (?GetMemorySize@Image@cle@@UEBA_KXZ)
jniclesperantojWrapper.obj : error LNK2001: unresolved external symbol "public: virtual unsigned __int64 __cdecl cle::Image::GetDataSizeOf(void)const " (?GetDataSizeOf@Image@cle@@UEBA_KXZ)
jniclesperantojWrapper.obj : error LNK2001: unresolved external symbol clReleaseDevice
clesperantoj.lib(clesperantoj.cpp.obj) : error LNK2001: unresolved external symbol clReleaseDevice
clesperantoj.lib(clesperantoj.cpp.obj) : error LNK2001: unresolved external symbol "public: __cdecl cle::Clesperanto::Clesperanto(void)" (??0Clesperanto@cle@@QEAA@XZ)
clesperantoj.lib(clesperantoj.cpp.obj) : error LNK2001: unresolved external symbol "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl cle::Clesperanto::Info(void)" (?Info@Clesperanto@cle@@QEAA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
jniclesperantojWrapper.dll : fatal error LNK1120: 12 unresolved externals
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  13.995 s
[INFO] Finished at: 2023-02-15T13:42:51+01:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.bytedeco:javacpp:1.5.8:build (process-classes) on project clesperantoj_: Execution process-classes of goal org.bytedeco:javacpp:1.5.8:build failed: Process exited with an error: 2 -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.bytedeco:javacpp:1.5.8:build (process-classes) on project clesperantoj_: Execution process-classes of goal org.bytedeco:javacpp:1.5.8:build failed: Process exited with an error: 2
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:347)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:330)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:213)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:175)
    at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:76)
    at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:163)
    at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:160)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:260)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:172)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:100)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:821)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:270)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution process-classes of goal org.bytedeco:javacpp:1.5.8:build failed: Process exited with an error: 2
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:133)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:342)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:330)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:213)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:175)
    at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:76)
    at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:163)
    at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:160)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:260)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:172)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:100)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:821)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:270)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: java.lang.RuntimeException: Process exited with an error: 2
    at org.bytedeco.javacpp.tools.Builder.generateAndCompile (Builder.java:620)
    at org.bytedeco.javacpp.tools.Builder.build (Builder.java:1167)
    at org.bytedeco.javacpp.tools.BuildMojo.execute (BuildMojo.java:417)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:126)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:342)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:330)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:213)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:175)
    at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:76)
    at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:163)
    at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:160)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:260)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:172)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:100)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:821)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:270)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
[DEBUG] Shutting down adapter factory; available factories [file-lock, rwlock-local, semaphore-local, noop]; available name mappers [discriminating, file-gav, file-hgav, gav, static]
[DEBUG] Shutting down 'file-lock' factory
[DEBUG] Shutting down 'rwlock-local' factory
[DEBUG] Shutting down 'semaphore-local' factory
[DEBUG] Shutting down 'noop' factory

WE normally should stick to SHARED. I do not know it if can run with STATIC, it fail on my Linux.
Now SHARED also fail on windows and I am stuck there too. Hit me when you wanna try together

I made it work in #10. Let me know if you know better how to do the same thing. We're meeting in about an hour right? :-)

Okay so, following our last meeting, @bnorthan pointed the missing piece of the puzzle for windows:
https://github.com/clEsperanto/clesperantoj_prototype/blob/86a481e83e04251dc1976428cb584ace87c0ebb7/native/clesperantoj/include/clesperantoj.hpp#L17-L21
Following this, I update my branch with the CMake equivalent option:
https://github.com/clEsperanto/clesperantoj_prototype/blob/f055e528139cfe31b614b2bad1fa9dc0ec815107/native/clesperantoj/CMakeLists.txt#L19
Still need to be tested, will do it soon.

Okay so,
I have tested on a windows the CMake option CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS.
It work and it generate a dll, though it also generate a static lib with it. I am not sure how dissociable these are.
In the linking part, JavaCPP requires both JCLIc and OpenCL to work for windows.
After fixing all those little annoying things, It compile and run all fine! :partying_face:
I extended the over-all with a beginning of a wrapper structure similar to what I did for the python. High wrapping though still keeping elements separated to allow flexibility.
All this is in my brand test_stephane_linux. Will update the doc / README soon.

I close this. Do not hesitate to reopen if needed.


chore: change story heading

Current dependencies on/for this PR:

next

PR #235

PR #236

PR #237

PR #238

PR #239

PR #240

PR #241

PR #242


Rboot - rebased against latest master

Hi, as part of the review for OTA nodemcu/nodemcu-firmware/issues/1496 I rebased your code against the latest master. It compiles successfully, what I had to do:

update Makefiles (include esptool2 repo checkout; and run the creation of libmain2.a)
manually update spiffs.c

Could you please check my commit to see if there is anything wrong; especially the spiffs.c? I've left a comment marked 'QQQ'
Also, I'm seeing this warning:
../tools/esptool.py elf2image .output/eagle/debug/image/eagle.app.v6.out -o ../bin/
esptool.py v1.2-dev
WARNING: irom0 section offset is 0x00002010. ELF is probably linked for 'elf2image --version=2'

Is it important?
I didn't yet flash the firmware so I don't really know if it works...

One additional question: the esptool2 - I'm not clear whether it could be replaced (or if the esptool.py; which is undergoing active development could be enhanced). Could you comment on that?

Is it important?
elf2image is not required in rBoot mode at all.

My apologies, I'm seeing it is not trivial to see the changes I had to make; my last commit is not important
the real question, really, is only the spiffs.c changes in this commit: https://github.com/raburton/nodemcu-firmware/pull/1/commits/0a8a73fe763e2c7caa9a800829a92527077783bf

I found it much easier to reapply the rBoot changes on top of the latest master, rather than merging all the new commits into that branch, but whichever way is easiest for you...
I think a lot of what esptool2 does can now be done by other tools, either esptool.py or elf2image, except one - they would not extract the stage 2.5 loader binary to hex and create the include file. I don't think they'd want to include this because it's very specific to the rBoot build process.

@raburton why not to use command-line tools like objcopy and then xxd? I actually believe there's no important things that can't be done with existing toolchain.

I'm sorry (still learning), what is 'stage 2.5'?
Is it as simple as extract and hexify? Or is it more involved (if simple, we can do it in many ways; actually esptool.py already has it; there is a proliferation of esptools, to add to my confusion; https://github.com/igrr/esptool-ck is another one)

There may be lots of other ways to do it, but when I wrote esptool2 there was no good way to generate roms from the compiled elf, it all involved lots of tools and badly written scripts. When I needed to extract a section to a header file I just added the functionality to the tool I was already using for rom building. It works on all platforms too, if you use unix commands will they be available on windows?
Standard boot:
Stage 1 = built in rom based bootloader
Stage 2 = user app
rBoot boot:
Stage 1 = built in rom based bootloader
Stage 2 = main rBoot
Stage 2.5 = tiny rBoot copy and launch code
Stage 3 = user app
As rBoot ultimately needs to load the user app into the same memory it is running from, it has to move its final steps (the actual copy and launch) out to a different area of memory. The tiny bit of code that does that is what I call stage 2.5

will they be available on windows?
Definitely no... but yes because firmware compilation on windows requires MinGW at least, or Cygwin in most cases. :)
And use of standard *nix commands is really simplier that fetch & compile additional tool. So I prefer to use Unix-way if it possible.

@romanchyla @raburton
I found a problem happened the PWM module that it would be dead code when running it.
Do you encountered that problem?
Thanks!

@ymxcc was found this. Change of interrupt type from NMI to FRC1 fixes that. Don't really understood why this happens...

@djphoenix  Correct! I tried to change the interrupt type from NMI to FRC1, it works!
if (!platform_hw_timer_init(TIMER_OWNER, FRC1_SOURCE, FALSE)) {
PWM_DBG("WHY STOP HERE? \n");
return FALSE;
}
This problem was considering in my mind all the time in these days. Follow your idea, it works pretty well! Thanks so much.
Before, the original nodemcu firmware that I used on the RGB led worked very well whatever in NMI type or FRC1 type. It could be find the reason why just we need to read the code for NMI type deeply.
Anyway, thanks for @djphoenix


Near protocol deposit issue

after signing the transaction, the deposit change to an integer number. (ex. I want to send "1000000000000000000000000" which is equal to 1 NEAR, in the final data after signing it changed to 1, which is incorrect and it should be to<PHONE_NUMBER>000000000000000 ).
Website near transaction result for send 5 NEAR,
"transaction": { "signer_id": "arab2.testnet", "public_key": "ed25519:DK2DSND8dtEVCxM4miSuKPCNmz7gm6CfWwq6DXfuGrte", "nonce":<PHONE_NUMBER>0002, "receiver_id": "b6ea122313da14bb542a3622f36dda184a1b7c9bb1550bb022623e3ee76f736f", "actions": [ { "Transfer": { "deposit": "5000000000000000000000000" } } ], "signature": "ed25519:2AtP1orhrYcTztWRq4tLTx8U7nsQgaW6qi8vkbKRTcxWvLcWN3Zb9mnuPAA3fJKUx3E18GiiZcXM4JSSdWXkYTpp", "hash": "5c1xNKLTG4stcAvzYAYwa4E9Gdio6RSqJXx7vMH7rL5s" },
our transaction result for send 1 NEAR
"transaction": { "signer_id": "1e350eb8eb9c24deec11c12affca191cfa012d76ec0c6eed6c0e0bd03e3941ee", "public_key": "ed25519:32vA1Jf5LodSphnxDYpBiLWLmgykA88nEg3psPLhzLBw", "nonce": 5, "receiver_id": "b6ea122313da14bb542a3622f36dda184a1b7c9bb1550bb022623e3ee76f736f", "actions": [ { "Transfer": { "deposit": "16" } } ], "signature": "ed25519:7enQ2oHprG1XUeznmmhqjyHtgdgk6cuQvzjpbsTCUgAriyaAzwFpXivCK2GA8zfHuH4Pe8pw5p7mMYPfK9Ju1s8", "hash": "GGuTR6ks6b6FAjxcbK5XkECKrzzTW1Ss9W5HZnXZw6Fr" }
please check the deposit field.

deposit is uint128_t and should be serialized as little endian byte order, please check NEARTests.swift

I'm see the NEARTest.swift but its look like android test. not thing was diffrent. please help me how to solve it.

@hewigovens I'm using swift code for the ios app too, but the problem is not solved.

@headria @hewigovens  I tried to sign transaction near look like NEARTests.swift, but I don't know how to send tracsaction, please help me!


Improvements on test for curry class, if you know someway to create t…

…hese things dinamically like for each (Int...) -> {$0,$1,$2...$n} let me know should be more elegant but I don't find a solution yet.
thank you

Hey! Thanks so much for taking the time to contribute! The fun thing about these functions is that if they compile, they're so generic that there's usually only a single implementation! We'll have an episode on Point-Free about this soon 😄.
Happy to take these tests, though, to ensure that there's no sneaky fatalError hiding in there, and so that we can catch any unfortunate bugs in future versions of the Swift compiler 🙊.


Update README.md

TYPO FIXED

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

Why was this change needed? (You can also link to an open issue here)

Other information:

Thank you!
@holopin-bot @gfggithubleet


Fix AND and OR transform functions.

The correct behavior is this: https://prestodb.io/docs/current/functions/logical.html.

Codecov Report

Merging #11546 (23c2f3f) into master (6208e7c) will decrease coverage by 48.58%.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##             master   #11546       +/-   ##
=============================================
- Coverage     63.05%   14.48%   -48.58%
+ Complexity     1109      201      -908
=============================================
  Files          2320     2320
  Lines        124667   124707       +40
  Branches      19033    19049       +16
=============================================
- Hits          78614    18065    -60549
- Misses        40458   105113    +64655
+ Partials       5595     1529     -4066

Flag
Coverage Δ

integration
?

integration1
?

integration2
?

java-11
?

java-17
14.48% <0.00%> (-48.43%)
:arrow_down:

java-20
?

temurin
14.48% <0.00%> (-48.58%)
:arrow_down:

unittests
14.48% <0.00%> (-48.57%)
:arrow_down:

unittests1
?

unittests2
14.48% <0.00%> (-0.02%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Changed
Coverage Δ

...ansform/function/AndOperatorTransformFunction.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ransform/function/OrOperatorTransformFunction.java
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 1493 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more
:loudspeaker: Have feedback on the report? Share it here.


TypeError: u is not a function

Hi there,
I'm losing my mind over an issue that I've managed to track back to react-spring-bottom-sheet, but I haven't been able to solve yet, preventing the usage of this library, even if using demo code.
Framework: NextJS 12.1.2
react-spring-bottom-sheet version: 3.4.0
The issue is in production only using Vercel.
The stack trace is very poor, but that's all I have.
instrument.js:110 TypeError: u is not a function
    at _app-08db8fe46b3557c0.js:1:603078
    at _app-08db8fe46b3557c0.js:1:607445
    at Object.useMemo (framework-737ce2f1f8953932.js:1:65099)
    at a.useMemo (framework-737ce2f1f8953932.js:1:125050)
    at _app-08db8fe46b3557c0.js:1:607426
    at zg (framework-737ce2f1f8953932.js:1:59215)
    at Sg (framework-737ce2f1f8953932.js:1:67286)
    at $ (framework-737ce2f1f8953932.js:1:113610)
    at Ei (framework-737ce2f1f8953932.js:1:98685)
    at Ci (framework-737ce2f1f8953932.js:1:98613)
    at Bi (framework-737ce2f1f8953932.js:1:98476)
    at ui (framework-737ce2f1f8953932.js:1:95444)
    at framework-737ce2f1f8953932.js:1:45104
    at a.unstable_runWithPriority (framework-737ce2f1f8953932.js:1:129100)
    at pf (framework-737ce2f1f8953932.js:1:44878)
    at sf (framework-737ce2f1f8953932.js:1:45050)
    at rf (framework-737ce2f1f8953932.js:1:44985)
    at pi (framework-737ce2f1f8953932.js:1:92809)
    at Kg (framework-737ce2f1f8953932.js:1:64489)
    at authCheck (_app-08db8fe46b3557c0.js:1:403690)
    at main-31e654215812aa2c.js:1:33919
    at Array.map (<anonymous>)
    at Object.emit (main-31e654215812aa2c.js:1:33901)
    at a.<anonymous> (main-31e654215812aa2c.js:1:47767)
    at u (main-31e654215812aa2c.js:1:77399)
    at Generator._invoke (main-31e654215812aa2c.js:1:78689)
    at Generator.a.<computed> [as next] (main-31e654215812aa2c.js:1:77802)
    at b (main-31e654215812aa2c.js:1:70988)
    at e (main-31e654215812aa2c.js:1:71193)

I tried to debug and examine the stack trace and the call stack, but it's all garbage.
This is what's at _app-08db8fe46b3557c0.js:1:603078 and around it. As you can see it seems like it from this library as there's expandOnContentDrag a few characters before.
...te?X:te,ie=e.expandOnContentDrag,ae=void 0!==ie&&ie,ce=C(e,L),ue=(n=(e=(0,react.useState)(!1))[0],r=e[1],t=(0,react.useState)({}),i=t[0],u=t[1],s=(0,react.useCallback)(function(e){return u(function(n){var r;return x({},n,((r={})[e]=!1,r))}),function(){u(function(n){var r;return x({},n,((r={})[e]=!0,r))})}},[]),(0,react.useEffect)(function(){var e=Object.values(i);0!==e.length...
Does anyone have a clue?
Thanks a lot

After some more digging, I found out that the error is thrown in react-spring-bottom-sheet/src/hooks/useReady.tsx.
The u in TypeError: u is not a function refers to updateReadyMap. Does somebody have any clue on how we can solve this? We've been using <ErrorBoundary> to isolate this problem that brought our site down for a few hours as this error wasn't thrown in local and wasn't spotted by tests.

Ok, after 3 days of smashing my head against any surface I could find, I finally understood that the issue is related to:

package.json having "next": "^12.1.0", and "react-dom": "^17.0.2", (note the caret)
NextJS released a few updates right before the issue started causing us problems (view more at this link: https://github.com/vercel/next.js/releases)

Hence, there is something in v12.1.1 or one of the more recent releases that cause this package not to work in production.
The solution is to set "next": "12.1.0", and "react-dom": "17.0.2", in package.json.


Reorganize Envelope API

I think we should remove Contract.TextEnvelope because the API is not very type-safe.
We should provide domain-specific type-safe functions instead for each type we can load from an envelope.
We should add functions for:

[x] loading from an envelope file (by path) (done in Contract.Wallet.KeyFile)
[x] envelope file contents as string (done in this PR - https://github.com/Plutonomicon/cardano-transaction-lib/pull/944)
[x] from a cbor hex string extracted from an envelope, with a CBOR prefix, e.g. 5820f1063db3d8a6dde42... - (for stake and payment private keys)

@klntsky As far as I understand, there was another task in this issue that we discussed in the onboarding meeting not mentioned here. I thought it meant to inline TextEnvelopeType in Contact.textEnvelopeBytes - but I looked at the code and don't get why one should need that. Am I understanding task correctly?

@uhbif19 I mean, we need specialized functions for every enum variant of TextEnvelopeType - e.g.
plutusScriptV1FromEnvelope :: Aeson -> Maybe PlutusScript

@klntsky @errfrom Should not this be closed?

@uhbif19 Yes


feat: added odin query

hi! this PR adds odin lang support. Hope I didn't miss anything.
planing to also add rainbow_blocks:
if they are possible (and not too complicated)
// switch and case matching
switch x {
    case 1:
        ...
}

// loop labels and break
label: for i in 0..5 {
    break label
}

I have no idea how to write these files. I just looked at some examples for other languages and docs. still don't understand what does optional and sentinel mean. don't explain it, I'm not going to write queries for any other language. without ? it says Incorrect pattern, but it works as expected now.

don't explain it, I'm not going to write queries for any other language.

Too late, you can't stop me now ;)

still don't understand what does optional and sentinel mean

@sentinel is a remainder of an earlier version of this plugin, it will be removed eventually. It marks the last delimiter of the pattern and it was an ugly but necessary hack. In programming a "sentinel" is an element of a sequence that marks the end of that sequence. For example in C there is no real string type, we say that a string is "an array of characters where the last element is the NUL character". So even if we allocate enough memory for twenty characters, if the fifth one is NUL, then then string is four characters long. In most language these days there is no need for sentinels because the length of a sequence is well-defined.
The question mark is a quantifier, it means there may be zero of one instances of that pattern. In this case is means for example there may or may not be one pair of parentheses inside a struct node.

Thanks a lot


Displaying different annotation views

Hi,
I'd like to display multiple kinds of annotation views (e.g. "Location Annotation", "Location Cluster", "Event Annotation", "Event Cluster") using CCHMapClusterController.
What's the best way to implement this? Should I use multiple cluster controllers or is it possible with one?

You can register multiple subclasses of MKAnnotation on the same cluster controller, but they will be cluster together. If you want to cluster each type of annotation separately, you'll need to use multiple cluster controllers


Add Fee IBC middleware

Background
We currently don't implement ICS-29 (aka the ibc fee middleware). I noticed the spec is still marked as draft, but there is a standard implementation on ibc-go and many chains use it.
Suggested Design
Add the IBC fee middleware
Acceptance Criteria

[ ] All tests pass
[ ] There are new tests testing the usage of fees

Closing for now, as we are still blocked (over 2 years now) on channel upgradability.

@ValarDragon can you please elaborate? It seems like channel upgradability was introduced in ibc-go v8.1.0.
I'm primarily asking because Celestia is considering fee IBC middleware (CIP-12 & forum post) but it only seems useful if peer chains (Celestia's biggest IBC peer is Osmosis) also have fee middleware enabled.

IBC v8 requires cosmos sdk v0.50. We are on v0.47 and updating to v0.50 is a relatively large effort. Once we update the dependencies we can move forward with this


Fixed some bugs with original implementation

Hi @troyhunt - I've managed to test this locally, found a fixed some bugs;

.include was the wrong operation, changed to .some so that results are actually returned.
class functions needed to have the static modifier.
random selection was using the length of the wrong array.
random selection could have been operating on an undefined object, defined an empty array.

I believe this should be good now. Can view my debugging efforts here if interested; https://codesandbox.io/s/js-playground-forked-34p349

I think we've actually lost a bunch of conditions here @FizzBuzz791, for example the min length and character composition rules. Just me, or do they need to go back in?

Hrmm, there were some merge/rebase oddities, I thought I resolved them properly though. Let me take another pass :)

I think I've pulled them all back in now @troyhunt - apologies for the messy PR.

Just ran it, that's infuriating 🤣
Merged and now live, thanks!

Brilliant! Glad I could infuriate 😅


dry-run releasing V1

[ ] Make sure there is nothing blocking the release pipeline
[ ] e2e check on devops side

[ ] Make sure CI pipeline passes test suites

https://github.com/quadratic-funding/mpc-phase2-suite/pull/356

[ ] set up npm package publish pipeline (lerna has been replace by yarn v3 by https://github.com/quadratic-funding/mpc-phase2-suite/pull/355)

Fixed in https://github.com/quadratic-funding/mpc-phase2-suite/pull/372.
Also published v0.2.0


Added links #17

References to readme file added to code

Added links to documentation in comments #17

Hello @rudrajit1729, Thank you for your interest in DevoLearn, You can go through contribution.md once, to know about devolearn and its contribution guidelines.
This PR looks good to me.

Hi @ujjwalll , I have taken a look at contributing.md and it seems PR has the necessary things. Can you merge it now? If there is something for me to fix here please do let me know. Thank you.

Changed 3 files updated the commit message. One commit was having an issue with Travis ci fixed that too. If this passes and the reviews are done feel free to merge this. Thanks.


Prune union node-empty node

Enhancement
Optimize
                     Node
                        |
                    UNION
             /          |           \
         Empty   Child     Empty

to
                     Node
                        |
                     Child

@Seaven could you give me an example SQL to generate this plan?

@Seaven
for example:
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2

Does the second one return an empty set?

@darionyaphet Any subquery of union clause will trigger this optimization, like your sql：
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2

If second subquery return empty set, the sql can be:
SELECT column_name(s) FROM table_name1;


non-latin characters breaks markdown on UWP renderer

Platform
What platform is your issue or question related to? (Delete other platforms).

UWP

Author or host
Author
Version of SDK
Latest master (~1.2.0-beta1)
Issue
Whitespace can break (valid) markdown styling when there are non-latin characters in the string.
For example, the following elements
{
	"type": "TextBlock",
	"text": "以前の製品のリンクで検索",
	"size": "large"
},
{
	"type": "TextBlock",
	"text": "**以前の製品のリンクで検索**",
	"size": "large"
},
{
	"type": "TextBlock",
	"text": "How about **以前の製品のリンクで検索**",
	"size": "large"
},
{
	"type": "TextBlock",
	"text": "How about **Search**",
	"size": "large"
},
{
	"type": "TextBlock",
	"text": "How about**以前の製品のリンクで検索**",
	"size": "large"
},
{
	"type": "TextBlock",
	"text": "It's OK!\rClick [以前の製品のリンクで検索](https://www.microsoft.com)\rClick [以前の製品のリンクで検索](https://www.microsoft.com)",
	"size": "large"
},
{
	"type": "TextBlock",
	"text": "1. Click [以前の製品のリンクで検索](https://www.microsoft.com)\r2. Click [以前の製品のリンクで検索](https://www.microsoft.com)",
	"size": "large"
},
{
	"type": "TextBlock",
	"text": "It's not OK!\r1. Click [以前の製品のリンクで検索](https://www.microsoft.com)\r2. Click [以前の製品のリンクで検索](https://www.microsoft.com)",
	"size": "large"
},

…when rendered in the UWP visualizer, becomes...

The only obvious difference I could notice is markdown failing if there was whitespace in front of it (for some reason, it does not manifest with latin/ASCII characters). The issue is not limited to bold (styling), hyperlinks and lists are susceptible, too.
I did a quick check and the JS visualizer at adaptivecards.io DOES render these more to expectation:

@paulcam206 can you please take a look at this? Thanks

@achipa -- thanks for this great bug! I ended up finding a few bugs in the vicinity of this :)