New geometry notebooks

New geometry notebooks. Need copyright adding and possibly modifying data path. See get_nifti_data notebook for Zenodo location of data

thanks @DANAJK ... illuminating...
I'm updating the download location. Will push that soon.

Question after looking at a_geometry. I don't think that in the first part you actually say which coordinate corresponds to L. For instance is IPP[0] L, or IPP[2]?
Obviously related is the question what @rijobro intended when reversing the order noted in https://github.com/SyneRBI/SIRF/issues/906#issuecomment-865640054

pushed. I'm trying to see how it works when reading with sirf.STIR. If that works ok, I'll push that as well and then merge.

works ok, except that it fails on the oblique slices. I've added a warning.
Ready to merge?

To do this, it needs to know the patient position. This is available in DICOM data, but unfortunately not for NIfTI.
The DICOM IPP, IOP etc can be computed from NIfTI data as shown in one of these notebooks. Maybe better to say that STIR and some other reconstructions set dummy values, so BEWARE?

Obviously related is the question what @rijobro intended when reversing the order noted in SyneRBI/SIRF#906 (comment)

Wrongly attributing to @rijobro here. Sorry. Discussion at https://github.com/SyneRBI/SIRF/issues/906#issuecomment-865640054

@DANAJK would you be able to create a README for this directory? If you use links to names of notebooks, it makes it easy for people to open them from there (currently only on GitHub, but presumably soon when using JupyterLab).
Do any of the registration notebooks need changing? If so, want to create some issues and even tackle it?
I suggest to merge this PR already such that it ends up in future builds of docker etc.

@danajk, could you shed some light on https://github.com/SyneRBI/SIRF-Exercises/pull/111#issuecomment-865647282? With the example data that you give, it really isn't clear which is which (at least to me).

IPP[0] is L. I could perhaps include a screenshot from OsiriX that labels the directions so that it is more obvious which phantom is where?
I don't know what to do with registration notebook - it has multiple areas that need addressing (cubic example, mis-leading flipping, test niftis that differ in scale as well as translation and orientation).

IPP[0] is L. I could perhaps include a screenshot from OsiriX that labels the directions so that it is more obvious which phantom is where?

great. what about just stating that? Whatever is easiest.

I don't know what to do with registration notebook - it has multiple areas that need addressing (cubic example, mis-leading flipping, test niftis that differ in scale as well as translation and orientation).

hmm.
what about

cutting the "A little word about image orientation" section (and referring to one of your new notebooks)
adding a caveat in the displacement fields that currently they have RAS coordinates (could refer to https://github.com/SyneRBI/SIRF/issues/721), but otherwise leave it as-is.

That might do the trick? Obviously would be better to have non-cubic images etc, but there's little doubt that the code will work with them, so I wouldn't try to do that now!

@DANAJK I'll merge this now. You can always fine-tune. The main thing that is missing is a README that explains what each notebook does (one-liner).
thanks a lot


feature: Please add monorepo support for pubspec

monorepo is a term (I think) from the node-section.
It describes a way having a base project with some subprojects. These subprojects share infos and configs (mainly version constraints and settings) with their parent.
Sharing version constraints in pubspec with a parent folder would be very helpful.

Update: The TypeScript way: https://blog.bitsrc.io/so-whats-new-in-typescript-3-2-1ab82e83db94#85b3

Something like this is managed outside of the SDK here: https://github.com/dart-lang/mono_repo.


[SPARK-31359][DOC][followup] improve code comments in RebaseDateTime

What changes were proposed in this pull request?

improve the code comment and make them consistent between rebaseJulianToGregorian* and rebaseGregorianToJulian*
Why are the changes needed?

improve readability.
Does this PR introduce any user-facing change?

no
How was this patch tested?

N/A

cc @MaxGekk @HyukjinKwon

Test build #121027 has started for PR 28166 at commit 7a578de.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/25718/
Test PASSed.

Test build #121035 has started for PR 28166 at commit 2e8fac4.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/25726/
Test PASSed.

Test build #121027 has finished for PR 28166 at commit 7a578de.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/121027/
Test PASSed.

Test build #121035 has finished for PR 28166 at commit 2e8fac4.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/121035/
Test PASSed.

thanks, merging to master/3.0


Error when trying to generate build with Next.js and TailwindCSS

Good afternoon,
I'm trying to set up a new project using Next.js, React.js and TailwindCSS. At the beginning it was working but as soon as I introduced TailwindCSS the build stoped working.
Error
The output when you try to generate the build is the following one:
➜  npm run build

><EMAIL_ADDRESS>build nextjs-preactjs-boilerplate
> next build && next export -o build

warn  - You have enabled experimental feature(s).
warn  - Experimental features are not covered by semver, and may cause unexpected or broken application behavior. Use them at your own risk.

Creating an optimized production build .

It stays there forever.
I tried using the purgeCSS that comes already with TailwindCSS as well as using the manual set up adding fullhuman/purgecss.
Steps to reproduce it

Download the following project.
Checkout the branch GH-1/nextjs-with-preactjs-and-tailwindcss.
Install all the dependencies with npm install
Generate a build with npm run build

Seems to work with yarn but not with npm.
yarn -v
1.22.4
npm -v
6.11.3
node -v
v12.11.1

Fixed. There was a problem with the dependencies. Removing package-lock.json fixed the problem 🎉


Added call to ensure that the opt.data_dir exists before pcli runs

This fixes https://github.com/penumbra-zone/penumbra/issues/1516, thanks to @plaidfinch for walking me through my first PR!

Looks great! I'll merge this when it passes CI.


Add ERROR_BLOCK_NOT_READY async support; part 1

See https://github.com/VirusTotal/yara/issues/1375#issuecomment-722241366

Work continued in the non-blocking-api branch.


Init Access Group page with table headers

Ticket Link
Description:

Adds Access Group route
Adds table to the view on that route with headers in table

Reminders:

[x] If changing elixir code in an "app", did you update the relevant version
in mix.exs?
[x] NA: If altering an API endpoint, was the relevant postman collection updated?

Should there be a unit test file for access_group_live_view.ex?

Good Q, we had one for a minute, and then moved all it's contents to the access group test file.
There's not really any functionality in the view to test, since everything is inside the table component.
There are files like dataset_live_view_test, but they test the controls located outside of the table, and access group doesn't have any of those to test.


Add Link component

Connects to #121
Change-Type: minor

Is there a way to have the button components work like links (I mean an easier way than doing that inside the onClick)?

Could you explain a bit more? Do you mean passing a url to a button and making it act like an Link in that case?

Do you mean passing a url to a button and making it act like an Link in that case?

Exactly.

In that case you can just compose them like this:
<Link to='/'>
   <Button mx={2} primary >
        Button
   </Button>
</Link>

Though Link also allows you to swap out the underlying component like:

<Link is={Button} primary mx={2} />

Though I'm not sure the is prop provide the correct styling to the Button component it is mainly an escape hatch so you can use a react-router Route component instead of a native a element.


Add support for Setup() and Teardown() hooks in WASM module implementations

This will be useful for actors that want to cache things on load or persist things on shutdown.

Closed by #16


[Service Team Request] Adding subnet ID and IP address as eligible input for load balancer backend pool commands

Resource Provider

Networking
Description of Feature or Work Requested
We have added subnet ID and IP address as a way to specify backend address when creating or updating an IP-based backend pool of a load balancer. This is related to this feature: https://github.com/Azure/azure-cli/issues/12937 however, we will start allowing customers to specify by subnet ID in place of vnet ID.
Minimum API Version Required

2020-11-01
Swagger Link

https://github.com/Azure/azure-rest-api-specs/tree/network-november-release/specification/network/resource-manager/Microsoft.Network/stable/2020-11-01
Target Date

3/15

network

@erichrt When will '2020-11-01' be merged into 'master' of main repo?


field_to_index behaves improperly for integer non-tuple fields

Version of Awkward Array
1.8.0
Description and code to reproduce
The current slot{i} behaviour may be surprising to users who do not know how it is implemented.
>>> x = ak.zip({"1": [1,2,], "2":[4,5]})
>>> x
<Array [{'1': 1, '2': 4}, {'1': 2, '2': 5}] type='2 * {"1": int64, "2": int64}'>
>>> x.slot0
<Array [1, 2] type='2 * int64'>
>>> x.slot1
<Array [1, 2] type='2 * int64'>
>>> x.slot2
<Array [4, 5] type='2 * int64'>
>>>

Ultimately this stems from the fact that there is overlap between legal field names and Awkward-generated slot names. I think the simplest solution here is one of:

prevent the user from using integer keys with non-tuples (+ always treat integer keys as tuple slot positions)
prevent the user from building records with integer keys that do not densely fill the range [0, len(fields))
return the first of a named field "i" or the positional field i for integer keys (i.e. invert the current precedence)

Personally, I favour the latter, because it will only impact users that are currently (ab)using this mechanism, and won't add any more code to validate things. This would enshrine the following behaviour:

slot{i} will return field "i" if present (non-tuples), or the ith slot if not.

Partly, we would do well to identify whether the slot{i} attributes are considered "tuple-only". My preference is to keep support for non-tuples given that the field ordering is an explicit feature of record arrays. It can be useful to access slot0, especially when/if the true fields are not visible to the getitem mechanism e.g. if one is deliberately forming a union over arrays with unalike fields (don't ask my why you'd do this).

Ah drat. I knew I was


NNI v3.0 iteration plan

Release manager: @Bonytu
Release start date:
Feature freeze date (at most 30 days):
Code freeze date & first package:
Tutorial freeze:
Release date (3 weeks since feature freeze):
Model Compression:

give a example about stable diffusion.
add SparseGPT and GPTQ into quantization.

HPO and NNI manager:

support NAS search space in HPO
migrate AML to V3
file command channel
NAS:
write documents

NAS

[x]  Px.x - write documents
[x] Px.x - Support of PyTorch (and Lightning) 2.0

#5466

Compression

[ ] @J-shang

[ ] Px.x Merge contrib into compression
[ ] Px.x Write documents and examples
[ ] Px.x Add some pruning features/algos
[ ] Px.x Benchmark about stable diffusion, LLaMa

[ ] @Bonytu

[ ] Px.x Add support for Deepspeed #5517
[ ] Px.x Add some tricks for PTQ
[ ] Px.x Add a feature for module fusion
[ ] Px.x Add support for quantization speedup

HPO and NNI manager

[ ] Support NAS search space in HPO
[ ] Migrate AML to V3
[ ] File command channel

webui push debug massage


404 at /desktop/previous-versions/3.x-mac/undefined

I found a broken link : https://docs.docker.com/desktop/previous-versions/3.x-mac/undefined
I arrived on this page through: https://docs.docker.com/desktop/previous-versions/3.x-mac/

Hi @xl09253571xl thanks for reporting the broken link. Can you provide more detailed information? Which link on  https://docs.docker.com/desktop/previous-versions/3.x-mac/ did you click to get  https://docs.docker.com/desktop/previous-versions/3.x-mac/undefined

Closing ticket as have had no response.


Feature offer

Implementing my tour editor, I added quite some features to pannellum. I opened this pull request to review the features and discuss which of them would be worth adding to the master. Having done this, I would prepare a new pull request that only contains these features and close this one.
Pannellum in action with the new features: https://nihoel.github.io/cirspecte/edit.html?tour=https%3A%2F%2Fnihoel.github.io%2Fcirspecte-demo%2Ftour.json (open the panorama tab to drag hotspots)
The new features are:

A new multiresolution panoram type (multiresrec) based on a tiled equirectangular base image
Option to interpolate between tiles (only for multiresrec at the moment)
Hotspot dragging (hotspot attribute draggable + dragHandler function)
External tile loading (allows to pass a function that loads tiles - useful when accessing local files via electron or cordova)

You're demo link is broken and does not work for me in either Firefox or Chrome, with multiple errors reported in the console.

A new multiresolution panoram type (multiresrec) based on a tiled equirectangular base image

Equirectangular is a compromise projection, the only advantage of which is that it is extremely simple. It has both extreme area distortions and extreme angle distortions, which result in excessively large file sizes and sampling issues. As the addition complexities of many better projections aren't a problem, the only reason to use the equirectangular projection is that it is the de facto standard interchange format for panoramic images (which is why Pannellum supports it). However, as soon as you need to do pre-processing steps to prepare the image, such as to use it as a tiled multiresolution format, it loses its only advantage. Thus, I will never include a multiresolution format based on equirectangular images in Pannellum. I have plans to eventually implement a new multiresolution format, but it will use a low angular distortion equal-area projection, which is quantitatively better than the existing multiresolution format, not quantitatively worse.

Option to interpolate between tiles (only for multiresrec at the moment)

What advantage does this have? I don't see any reason why one would need to interpolate between tiles, since there aren't any gaps between tiles. Am I misunderstanding what this does?

Hotspot dragging (hotspot attribute draggable + dragHandler function)

Depending on the implementation, this could be interesting. However, I can't reach a conclusion about this without first seeing how it works (as I said, your demo is broken) and seeing the implementation (I'm not about to dig through >1k lines and dozens of commits to try to figure out what changes are what).

External tile loading (allows to pass a function that loads tiles - useful when accessing local files via electron or cordova)

As is stated in the readme, web browsers are the only supported target platform. If you want to change how tiles are loaded to support something else, you can always monkey-patch XMLHttpRequest without needing to change Pannellum, or better yet, get the framework you're using to fix their implementation to make it standards-compliant. While I'm not enthusiastic about such a feature, it's something I might merge, depending on the implementation (see previous comment about the length of your pull request).

You're demo link is broken and does not work for me in either Firefox or Chrome, with multiple errors reported in the console.

Hm, I have no idea why it works for me on Firefox, Chrome and Edge but not for you on any of these browsers. I might have a look at that tomorrow.

A new multiresolution panoram type (multiresrec) based on a tiled equirectangular base image

Equirectangular is a compromise projection, the only advantage of which is that it is extremely simple. It has both extreme area distortions and extreme angle distortions, which result in excessively large file sizes and sampling issues. As the addition complexities of many better projections aren't a problem, the only reason to use the equirectangular projection is that it is the de facto standard interchange format for panoramic images (which is why Pannellum supports it). However, as soon as you need to do pre-processing steps to prepare the image, such as to use it as a tiled multiresolution format, it loses its only advantage. Thus, I will never include a multiresolution format based on equirectangular images in Pannellum. I have plans to eventually implement a new multiresolution format, but it will use a low angular distortion equal-area projection, which is quantitatively better than the existing multiresolution format, not quantitatively worse.

A fair point.

Option to interpolate between tiles (only for multiresrec at the moment)

What advantage does this have? I don't see any reason why one would need to interpolate between tiles, since there aren't any gaps between tiles. Am I misunderstanding what this does?

I mean the following effect (left: default; right: with interpolation):

It only happens when displayed resolution is higher than the panorama can provide for this area.

Hotspot dragging (hotspot attribute draggable + dragHandler function)

Depending on the implementation, this could be interesting. However, I can't reach a conclusion about this without first seeing how it works (as I said, your demo is broken) and seeing the implementation (I'm not about to dig through >1k lines and dozens of commits to try to figure out what changes are what).

External tile loading (allows to pass a function that loads tiles - useful when accessing local files via electron or cordova)

As is stated in the readme, web browsers are the only supported target platform. If you want to change how tiles are loaded to support something else, you can always monkey-patch XMLHttpRequest without needing to change Pannellum, or better yet, get the framework you're using to fix their implementation to make it standards-compliant. While I'm not enthusiastic about such a feature, it's something I might merge, depending on the implementation (see previous comment about the length of your pull request).

Discarding the equirectangular stuff, the changes will become much less. I will update the PR in the next days.

Suspended in favor of #881


proposal: os/exec: allow CommandContext termination signal to be specified

Currently CommandContext will send a SIGKILL which for the common case means there will likely be a dirty exit. It would be nice if we had the ability to either specify or override the kill behaviour.
This has previously been brought up in #22757 and #21135, where it was deemed as not having enough demand and would be revisited upon later.

Got a particular proposal? New Kill func(*os.Process) func field on exec.Cmd?

it was deemed as not having enough demand and would be revisited upon later.

We said in #22757 we'd revisit this if more evidence of demand accumulated. Can you give any information about why the demand might have gone up, or new examples of why this is important?

Got a particular proposal?

Can you give any information about why the demand might have gone up, or new examples of why this is important?

I've filed #50436 based on the last couple years of experience with this within the Go project. It includes links to several specific code examples within the project and links to some associated Go testing bugs.


Updated docker images names

I followed all steps from the tutorial and found that docker images' names were changed (":windowsservercore" suffix was removed)

Thank you for updating this 👍


Section.MapTo() can't overwrite Ini File

Section.MapTo() can't overwrite Ini File

Hey there, what exactly do you mean?

@cemdervis I'm Sorry! I wrong understanding of the purpose of this method.
Please look at the code I submitted.


Errorwith tiktok-live-connector

I'm encountering an error when trying to fix TikTok printer /node v20/ win 11
Run npm audit for details.
PS D:\tiktokprinter> npm audit
npm audit report
axios  0.8.1 - 0.27.2
Severity: moderate
Axios Cross-Site Request Forgery Vulnerability - https://github.com/advisories/GHSA-wf5p-g6vw-rhxx
No fix available
node_modules/tiktok-live-connector/node_modules/axios
tiktok-live-connector  *
Depends on vulnerable versions of axios
node_modules/tiktok-live-connector
2 moderate severity vulnerabilities
Some issues need review, and may require choosing
a different dependency.
PS D:\tiktokprinter> npm audit report
npm audit report

Also having this issue

Fix was updating NodeJS


Upgrade package version

Signed-off-by: Dominique Vernier<EMAIL_ADDRESS>https://github.com/stolostron/backlog/issues/18944

/lgtm


CMake is undocumented dependency for local build

I was unable to successfully run make without installing CMake:
error: failed to run custom build command for `binaryen-sys v0.12.0`

Caused by:
  process didn't exit successfully: `/Users/nickwesselman/src/javy/target/release/build/binaryen-sys-fd3d87b2d3e0fe08/build-script-build` (exit status: 101)
  --- stdout
  running: "cmake" "/Users/nickwesselman/.cargo/registry/src/github.com-1ecc6299db9ec823/binaryen-sys-0.12.0/binaryen" "-DBUILD_STATIC_LIB=ON" "-DENABLE_WERROR=OFF" "-DCMAKE_INSTALL_PREFIX=/Users/nickwesselman/src/javy/target/release/build/binaryen-sys-1ef0729e257a20ee/out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -fPIC -arch arm64" "-DCMAKE_C_COMPILER=/usr/bin/cc" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -fPIC -arch arm64" "-DCMAKE_CXX_COMPILER=/usr/bin/c++" "-DCMAKE_ASM_FLAGS= -ffunction-sections -fdata-sections -fPIC -arch arm64" "-DCMAKE_ASM_COMPILER=/usr/bin/cc" "-DCMAKE_BUILD_TYPE=Release"

  --- stderr
  fatal: not a git repository (or any of the parent directories): .git
  thread 'main' panicked at '
  failed to execute command: No such file or directory (os error 2)
  is `cmake` not installed?

  build script failed, must exit now', /Users/nickwesselman/.cargo/registry/src/github.com-1ecc6299db9ec823/cmake-0.1.45/src/lib.rs:894:5
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Should this be documented in the README? Happy to PR if so.

Good catch, it seems that cmake is no longer installed by default in M1 macs; this was not an issue in Intel ones. But yeah, we should add this to the development section of the README


changes juxt code example to prevent name conflict with range

This looks like it would only be a problem if the ramda functions are not namespaced under R. etc. For the Ramda REPL, the original code example does produce an error

yup, seen this sort of thing before. Thanks for the fix
:cow2:


Design - buttons too close to text

Page wizard: Buttons to add nested nodes (e.g. ‘New Option’) are too close to text above.
By Fay

ok with new design


Wrong message above 'Quick Face Recognition' button

Description
'Create a wallet' message is shown above of 'Quick Face Recognition' button
Steps to reproduce

Claim

Supporting data

fixed in new face verification flow


logAnalyzer - new parametr

would it be possible to add a parameter -d (-default) with the default path to the LOG FS file?

sure.  To make sure I understand what you are asking - provide the -d option and it attempts to load %USERPROFILE%\Documents\My Games\FarmingSimulator2022\log.txt ?
I could probably take it a step further and just read that file by default if there is no file given on the command line or via drag-and-drop, that might be simpler to use from "not the command line"

yep, I am tired of going to the LOG folder every time, and it is standard, it cannot be changed, so it will greatly speed up the tests

got it.  This one is super easy, give me an hour or two and I'll push it.

but it seems to me that the parameter will be better because you can additionally set the version of the game, e.g.
-d 17 ---- My Games/FarmingSimulator2017/log.txt
-d 19 ---- My Games/FarmingSimulator2019/log.txt
-d 22 ---- My Games/FarmingSimulator2022/log.txt
-d 23 ---- My Games/FarmingSimulator2023/log.txt

oh!  that's a good idea too.  I'll add that.  It's still gonna default to 22, but if -d ## is present, it'll go for those instead

So, runtime options:
1.) bare program -> read 2022 log
2.) -d [version] (or --detect [version] option - grab that version of FS log.  Version can be 2 digit or 4 digit. (19 or 2019)
3.) provide a file at the command line / drag-and-drop will read that file instead.


EnableVersioning:A header you provided implies functionality that is not implemented

When I wanted to use EnableVersioning field, an error occured:A header you provided implies functionality that is not implemented
The minio version is:
    "Id": "28982fb206995a8d1ebd0a9e9eeb15d689ef516f1b9d62ae31bf97bf924a363c",
    "Created": "2020-03-05T07:30:17.839784657Z"

MinIO doesn't support versioning yet, it is being added with this PR https://github.com/minio/minio/pull/9045
Closing this as duplicate of https://github.com/minio/minio/issues/2111


authEtal2(sep='&') + year =>  & disappears

Hello,
when I enter '&' as the separator between the authors, the logical AND is not shown in the generated citation key.
Is this a bug or is this behavior on purpose?
Zotero: 6.0.13
BBZ: 6.7.22
Best,
Harald

Debug ID: UGLTK9GT-refs-euc

Can you give build 3129 a go?

it works - thank you!


b-card problem: h4 is displayed when using title into b-card-body balise

Hi!
Thank you for this great library!
When using the b-card-body balise, a 'h4' text is displayed at the top of the card body (under the title)
Here an example of the code
<b-card title="a title">
  <b-card-body>
    Some text
  </b-card-body>
</b-card>

The result:

Expected behavior
The 'h4' should not be displayed.

Thank you for your answer.
I worked with the 0.1.14 version. I updated to 0.1.21 and the problem disappeared.
Thank you!


ENG 2439 add engine and resource to metrics and checks

Describe your changes and why you are making these changes
This PR adds engine and resource configs for metrics and checks so that the behavior is consistent to @op() decorators. We simply moved the relevant parts in @op() decorator to a helper function and applies it to both check() and metrics() implementations.
Related issue number (if any)
ENG 2439
Loom demo (if any)
Testing WIP
Checklist before requesting a review

[ ] I have created a descriptive PR title. The PR title should complete the sentence "This PR...".
[ ] I have performed a self-review of my code.
[ ] I have included a small demo of the changes. For the UI, this would be a screenshot or a Loom video.
[ ] If this is a new feature, I have added unit tests and integration tests.
[ ] I have run the integration tests locally and they are passing.
[ ] I have run the linter script locally (See python3 scripts/run_linters.py -h for usage).
[ ] All features on the UI continue to work correctly.
[ ] Added one of the following CI labels:

run_integration_test: Runs integration tests
skip_integration_test: Skips integration tests (Should be used when changes are ONLY documentation/UI)

@kenxu95 what's the easiest way to test these changes if I don't have an existing engine set up?

You can try rebasing on https://github.com/aqueducthq/aqueduct/pull/1046 and running the periodic integration tests manually. Otherwise, I'd recommend setting up your own cluster - it's super easy with Terraform.

Quick question on this — is it possible to share the logic for these flags in some way such that we automatically inherit changes between @op, @metric, and @check?

@vsreekanti good point, it requires us to refactor function decorator to class decorator (and use the inheritance pattern) so I'm putting a linear task for this:
https://linear.app/aqueducthq/issue/ENG-2575/allow-metric-and-check-easily-inherit-op-decorator-inputs

Mypy failures are known to happen on main, merging giving it's passing locally.


Jonmv/misc 6

@mpolden please review.

I think we should cover existing application names with this, but I'm not entirely sure.
If we think it's too sketchy, I can go through the code and fix the application-name nonsense first.

Is this too risky, @bratseth?

I can't fix the application name thingy. It's optionally used when preparing sessions. We use ruby tests name as application name in our system tests. I suppose others could use anything, but I think it's not very likely? We could just disallow the things that break serialisation, though, like : and / ...


Disable some items in multi-select

Hi!
Would be option of multi-select disable some of the nodes in multi-select

Hi @lockhanhlong007, probably it is a nice idea. I can add an additional field to the option type. But I think it can be not easy in my implementation. I will try to do it in the next releases.


setting a report's startDate and endDate in the dfareporting api to json null

ffdavidson on 16 Oct 2013 at 8:58:
What steps will reproduce the problem?
1. In the Report Builder UI create a report with a startDate and endDate
2. Attempt to patch the report to a relativeDateRange
3. Try to set the startDate and endDate to ""
3. An Error 400 is produced

What is the expected output? What do you see instead?
There needs to be a method of setting the startDate and endDate to the JSON
null (which is null and not "null" in the current JSON output, see below)

What version of the product are you using? On what operating system?
dfareporting v1.3

Please provide any additional information below.
Hey Frank,

Ah, very interesting. In order for that to work, the expected JSON value is
null - not the string "null". Consider the following request:

PATCH
https://www.googleapis.com/dfareporting/v1.3/userprofiles/857012/reports/1680785

Content-Type: application/json

{
  "criteria": {
    "dateRange": {
      "kind": "dfareporting#dateRange",
      "startDate": null,
      "endDate": null,
      "relativeDateRange": "LAST_7_DAYS"
    }
  }
}

This will do what you want to do. I'm not sure if this is possible using the Go
library; if its not, I'd recommend filing it as a bug on their issue tracker.

Regards,
- Joseph DiLallo, the DFA API Team

Successfully auto-migrated from code.google.com:
https://code.google.com/p/google-api-go-client/issues/detail?id=46

My understanding is that this is not possible because of the omitempty and that the APIs must be modified to not rely on null/empty fields as data.
@bradfitz will correct me if I'm wrong.
Closing issue as not feasible but please re-open if a solution is found.


clipped/overshoot in velocity profiles when sending trajectories with Scaled_joint_trajectory_controller

Affected ROS2 Driver version(s)
ros-humble-ur/jammy,now 2.2.16-5jammy.20241029.212959 amd64
Used ROS distribution.
Humble
Which combination of platform is the ROS driver running on.
Ubuntu Linux with standard kernel
How is the UR ROS2 Driver installed.
From binary packets
Which robot platform is the driver connected to.
UR E-series robot
Robot SW / URSim version(s)
5.16.0
How is the ROS driver used.
Through the robot teach pendant using External Control URCap
Issue details
Summary
UR10e experiences clipping motion when controlled with scaled_joint_trajectory_controller.
Issue details
I am conducting research for my master's thesis with a UR10e robot, where I need to send trajectories over the scaled_JTC.
on the Teach Pendant the safety limits are set to least restrictive settings.
Trajectories are computed with Ruckig trajectory planner from point A to point B and within the robot hardware limitations i.e velocities and accelerations.
our initial thoughts that the tracking error is experiencing some lag so we plotted the error from the controller state as below.

controller Feedback

as seen the controller state error does not indicate any unexpected deviations. To address the issue, we reduced acceleration limits to 8. rad/s² for all joints  which should be within the capabilities of a robot like UR10e. However the behavior remained unchanged.
another example is shown below.

ps: what was also unclear why does controller_state/error/positions shows a velocity error as seen from the first plot ?
below are relevant controller parameters.

scaled_joint_trajectory_controller:
  ros__parameters:
    joints:
      - shoulder_pan_joint
      - shoulder_lift_joint
      - elbow_joint
      - wrist_1_joint
      - wrist_2_joint
      - wrist_3_joint
    command_interfaces:
      - position
    state_interfaces:
      - position
      - velocity
    state_publish_rate: 100.0
    action_monitor_rate: 20.0
    allow_partial_joints_goal: false
    allow_nonzero_velocity_at_trajectory_end: false
    constraints:
      stopped_velocity_tolerance: 0.2
      goal_time: 0.0
      shoulder_pan_joint: { trajectory: 0.2, goal: 0.1 }
      shoulder_lift_joint: { trajectory: 0.2, goal: 0.1 }
      elbow_joint: { trajectory: 0.2, goal: 0.1 }
      wrist_1_joint: { trajectory: 0.2, goal: 0.1 }
      wrist_2_joint: { trajectory: 0.2, goal: 0.1 }
      wrist_3_joint: { trajectory: 0.2, goal: 0.1 }
    speed_scaling_interface_name: speed_scaling/speed_scaling_factor

Workaround Suggestion
The issue could be mitigated when sending trajectories with a longer duration.
Relevant log output
No response
Accept Public visibility

[X] I agree to make this context public

Hi thank you for your report. I am not sure whether I understand things correctly. What exactly is wrong in the behavior that you see from your perspective?
Also, in order to reproduce things it would be helpful if you could provide the full trajectory as it is being sent to the ROS controller's action.

@urfeex Thank you for following up.

This is a plot of joint velocities.
The wrong behavior is within the blue rectangle, where the scaled joint trajectory controller was not able to Follow the commanded trajectory, sorry for my bad mouse drawing.

Ok, but that alone doesn't necessarily indicate that the controller is doing something wrong.  Especially as the state error remains more or less constant over the whole trajectory. To me it looks as if the velocity "dip" is part of the trajectory being sent to the controller.  Hence, providing this would be very helpful.

Sorry from the late follow up, executing the code below might trigger the behavior, as a similar structure is implemented that produced the above behavior. But in my software it is integrated within a more complex processes.
#!/usr/bin/env python3

import numpy as np
import roboticstoolbox as rtb
import rclpy
from rclpy.node import Node
from rclpy.action import ActionClient
from builtin_interfaces.msg import Duration
from trajectory_msgs.msg import JointTrajectoryPoint
from control_msgs.action import FollowJointTrajectory
from sensor_msgs.msg import JointState

class ToReproduce(Node):
    def __init__(self):
        super().__init__('to_reproduce')

        # Declare and initialize parameters with descriptions
        self.declare_parameter(
            "controller_name", "scaled_joint_trajectory_controller",
            descriptor=rclpy.parameter.ParameterDescriptor(
                description="Name of the joint trajectory controller."
            )
        )
        self.declare_parameter(
            "joints", ["shoulder_pan_joint", "shoulder_lift_joint", "elbow_joint",
                       "wrist_1_joint", "wrist_2_joint", "wrist_3_joint"],
            descriptor=rclpy.parameter.ParameterDescriptor(
                description="List of joint names in the robot."
            )
        )

        controller_name = self.get_parameter("controller_name").get_parameter_value().string_value
        self.joints = self.get_parameter("joints").get_parameter_value().string_array_value
        controller_name += "/follow_joint_trajectory"

        # Initialize action client for trajectory control
        self.action_client = ActionClient(self, FollowJointTrajectory, controller_name)
        self.get_logger().info(f"Waiting for action server on {controller_name}")
        self.action_client.wait_for_server()

        # Subscribe to joint states
        self.joint_states_subscriber = self.create_subscription(
            JointState,
            "/joint_states",
            self.joint_states_callback,
            10
        )

        self.current_position = []
        self.joint_states = None

    def joint_states_callback(self, msg):
        """Callback to receive and store the current joint states."""
        self.joint_states = msg

    def wait_for_joint_states(self):
        """Wait until fresh joint states are available."""
        self.joint_states = None  # Reset joint states to ensure new data is received
        while rclpy.ok() and self.joint_states is None:
            rclpy.spin_once(self, timeout_sec=0.1)

    def initialize_current_position(self):
        """Initialize the current joint position if it hasn't been initialized yet."""
        if self.joint_states is not None:
            self.current_position = list(self.joint_states.position)
            self.current_position = [self.current_position[-1]] + self.current_position[:-1]  # Correct order
        else:
            self.get_logger().error("Joint states are not available to initialize current position.")

    def send_trajectory(self, target_q, duration):
        """Send a trajectory to the robot."""
        trajectory_time = np.arange(0, duration, 0.002)  # 500 Hz
        traj = rtb.jtraj(self.current_position, target_q, trajectory_time)

        goal_msg = FollowJointTrajectory.Goal()
        goal_msg.trajectory.header.stamp = self.get_clock().now().to_msg()
        goal_msg.trajectory.joint_names = self.joints
        goal_msg.goal_time_tolerance = Duration(sec=0, nanosec=50000000)

        for i in range(len(traj.q)):
            point = JointTrajectoryPoint()
            point.positions = traj.q[i].tolist()
            point.velocities = traj.qd[i].tolist()
            point.accelerations = traj.qdd[i].tolist()
            sec = int(traj.t[i])
            nanosec = int((traj.t[i] % 1) * 1e9)
            point.time_from_start = Duration(sec=sec, nanosec=nanosec)
            goal_msg.trajectory.points.append(point)

        self.get_logger().info(f"Sending trajectory with {len(goal_msg.trajectory.points)} points.")

        self.action_client.wait_for_server()
        goal_future = self.action_client.send_goal_async(goal_msg)
        rclpy.spin_until_future_complete(self, goal_future)

        goal_handle = goal_future.result()
        if not goal_handle.accepted:
            self.get_logger().error("Trajectory goal was rejected.")
            return

        result_future = goal_handle.get_result_async()
        rclpy.spin_until_future_complete(self, result_future)

        result = result_future.result()
        if result.error_code == FollowJointTrajectory.Result.SUCCESSFUL:
            self.get_logger().info("Trajectory execution succeeded.")
        else:
            self.get_logger().error(f"Trajectory execution failed with error: {result.error_code}")

def main(args=None):
    rclpy.init(args=args)
    node = ToReproduce()

    try:
        node.wait_for_joint_states()
        node.initialize_current_position()

        if not node.current_position:
            node.get_logger().error("Current joint position could not be initialized. Exiting.")
            return

        # Define a target joint configuration
        target_q = [-1.5, 1.57, -1.8, 1.0, 0.6, 0.2]  # Replace with your target configuration

        # Send trajectory to the target configuration
        node.send_trajectory(target_q, duration=3)

    except KeyboardInterrupt:
        node.get_logger().info("Node interrupted by keyboard.")
    except Exception as e:
        node.get_logger().error(f"Unexpected error: {e}")
    finally:
        node.destroy_node()
        rclpy.shutdown()

if __name__ == '__main__':
    main()

Thank you for the example. However, I cannot really match your code to the plots above. Your example contains only a target joint configuration, which is hardly a trajectory. At least one start point would be good to have reproducible results that we can compare things on.
For instance, starting from an arbitrary point I get the following motion where I cannot really see a big issue with:


workflow-controller should throw an error when config has 'config' and any other key

What happened:
Copy/pasting the following workflow-controller config from getting-started (before it was fixed), would cause workflow-controller to silently ignore the section after config. (I think the | causes the structure to be flattened).
data:
  config: |
    artifactRepository: |
      s3:
        bucket: my-bucket
        endpoint: argo-artifacts.default:9000
        insecure: true
        # accessKeySecret and secretKeySecret are secret selectors.
        # It references the k8s secret named 'argo-artifacts'
        # which was created during the minio helm install. The keys,
        # 'accesskey' and 'secretkey', inside that secret are where the
        # actual minio credentials are stored.
        accessKeySecret:
          name: argo-artifacts
          key: accesskey
        secretKeySecret:
          name: argo-artifacts
          key: secretkey

What you expected to happen:
I would have expected workflow-controller to throw an exception.
How to reproduce it (as minimally and precisely as possible):
Install the minio manifest and copy/paste the above config to the workflow-controller configmap.

Message from the maintainers:
If you are impacted by this bug please add a 👍 reaction to this issue! We often sort issues this way to know what to prioritize.

Actually, the fix wasn't correct. I think the pipe after artifactRepository is the problem. I believe it's causing the s3 block to be treated as a string, which then doesn't get unmarshalled into the ArtifactRepository block.
So the fix is to remove the pipe after artifactRepository or to un-nest it from config.


ApiTest. X-RequestID in the output

Sometimes api tests fail in CI. To easily see the issue, we should:

send in every request (random uuid X-RequestID in the header).
If the test fails, we should be able to get the X-RequestID in the output and easily find the server log by X-RequestID

Related PR's

[x] master https://github.com/owncloud/ocis/pull/7085
[x] stable-4.0 https://github.com/owncloud/ocis/pull/7238

CC @individual-it @saw-jan

Done in https://github.com/owncloud/ocis/pull/7085

Didn't find required-id for some of the API test pipelines.
@PrajwolAmatya I think we have to inspect it again.

[ ] check please that ocis log contains x-requestID if we use ociswrapper

We don't get request-id for some error logs but the request-id is available in info log.
For example; trying to do an unauthenticated request (with log level info):
{
  "level": "error",
  "service": "proxy",
  "error": "could not authenticate with username and password user: admin, got code: 8",
  "authenticator": "basic",
  "path": "/remote.php/dav/files/admin",
  "time": "2023-09-18T13:44:47.935305279+05:45",
  "line": "/mnt/workspace/owncloud/ocis/services/proxy/pkg/middleware/basic_auth.go:39",
  "message": "failed to authenticate request"
}
{
  "level": "info",
  "service": "proxy",
  "proto": "HTTP/1.1",
  "request-id": "1234",
  "remote-addr": "<IP_ADDRESS>:49850",
  "method": "PROPFIND",
  "status": 401,
  "path": "/remote.php/dav/files/admin",
  "duration": 139.635712,
  "bytes": 211,
  "time": "2023-09-18T13:44:47.93538145+05:45",
  "line": "/mnt/workspace/owncloud/ocis/services/proxy/pkg/middleware/accesslog.go:31",
  "message": "access-log"
}

[x]  check please that ocis log contains x-requestID if we use ociswrapper

Checked. we do get the request-id while using ociswrapper too

I have seen request-id appear in the error logs when the response is >=500. In other cases, request-id is not present in the error log.

looks like this is not an issue from the test code. So closing as completed from our side. cc @ScharfViktor


Item separators for PlatformMenuBar

Use case
Native macOS applications that utilize the menu bar generally group similar items in a menu with horizontal line separators. It would be quite useful to be able to do this in Flutter apps with PlatformMenuBar.
Example:

Proposal

I propose adding a new PlatformProvidedMenuItemType called PlatformProvidedMenuItemType.separator, which would create the desired separator. This way, developers can make use of the PlatformProvidedMenuItem.hasMenu call.

Is there a limitation that prevents PlatformMenuItemGroup from addressing this use case?

Actually that does the job perfectly. Thanks @stuartmorgan!


UnicodeDecodeError

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 5: ordinal not in range(128)
File "main.py", line 140, in
main()
File "main.py", line 113, in main
data_list, labels_list = load_features()
File "main.py", line 24, in load_features
d = pickle.load(f)
what should I do?

Either of the following:
1 - Use python 2.7
2 - Modify the pickle.load line as below:
def load_features():
    with open('ck+preprocessed.p', 'rb') as f:
        d = pickle.load(f, encoding='latin1')
    return d['spatial_features'], d['labels']

Celestia Airdrop - Claim Your Free TIA Tokens Now!

Don't Miss Out on Your Share of 60 Million $TIA Tokens!
Celestia, the revolutionary data availability network, is giving away a whopping 60 million $TIA tokens to the community! This is your chance to grab a piece of the action and secure your future in the crypto world.
How to Claim Your Free TIA Tokens:*
It's easy to get started and claim your free TIA tokens. Follow these simple steps:

Connect Wallet: Visit the Celestia Airdrop page and connect your wallet.
Claim: Click the Claim button to receive your tokens.
Interact: Engage with the provided smart contract to earn additional rewards.

Why Wait? Start Earning Today!
With Celestia, the sky's the limit. Don't let this opportunity slip through your fingers. Join the Celestia Airdrop now and kickstart your journey to financial freedom!HLFH, @larsgladhaug, @m-01101101, @antebotic, @effy-yin, @soyamagic, @kennethwwu, @henriquecouto, @locosoft1986, @linbil, @caesarchad, @prakashujjwal1010, @fqnsdc12345, @AyushKaul, @liomen, @QiaotongHuang, @gauc073, @kandloic, @romfrolov, @JIEDAWA

Exciting Job Opportunity at Microsoft!
Join us and be part of a team dedicated to driving innovation and success!
How to Apply:
To apply for this exciting opportunity, please click here.
Job Description:

Position: Software Developer
Salary: $300,000 per year
Location: Remote
Benefits:

Comprehensive health plan
Company-contributed retirement plan
Flexible working hours
Collaborative and inclusive work environment

Requirements:

Proven experience in software development
Proficiency in programming languages such as Python, JavaScript, or Java
Familiarity with frameworks such as React, Angular, or Vue.js
Problem-solving skills and ability to work in a team

Note: This position is open to candidates from anywhere in the world.sumitpatel93, @newt0, @luoqiuluoqiu, @lucadonnoh, @sch17, @yv-was-taken, @exp-sky, @mabuzki, @studioTeaTwo, @0xsomnus, @pripatelUK, @Cab789, @Whyimams, @JJSrra, @vladtara, @videshkumar, @zpjayyy, @JacksonYuanEth, @knikos, @myiwen


Update script for mapping annotations to latest standard terms

More context: https://sagebionetworks.jira.com/browse/CPO-206

Script to update annotations to latest standard term is being updated in this draft PR: https://github.com/mc2-center/mc2-center-dcc/pull/69

PR is now ready for review!

24-6 close out: @vpchung to run a few more tests to confirm following merge. Proceed to close when complete.


feat: expose refreshTokens method

Explain your changes

expose the refreshTokens method
allow users to manually use the refresh token to get up-to-date tokens

Suppose there is a related issue with enough detail for a reviewer to understand your changes fully. In that case, you can omit an explanation and instead include either “Fixes #XX” or “Updates #XX” where “XX” is the issue number.
Checklist

[x] I have read the “Pull requests” section in the contributing guidelines.
[x] I agree to the terms within the code of conduct.

🛟 If you need help, consider asking for advice over in the Kinde community.

Summary by CodeRabbit

New Features

Introduced token refreshing functionality to enhance session continuity and security.

@coderabbitai review


CSS in Jest tests

Before we move to rust compiler in jest, we need to turn on proper style tag snapshotting, which is not actually relevant at the moment (we snap class name hash instead of actual CSS content).
The option in .babelrc will be removed as soon as we'll enable next-generated jest config.

Before we move to rust compiler in jest, we need to turn on proper style tag snapshotting, which is not actually relevant at the moment (we snap class name hash instead of actual CSS content).
The option in .babelrc will be removed as soon as we'll enable next-generated jest config.

Actually, after moving to nextjs generated config, we'll get more noise:

attributes like jsx and global would not be deleted from snapshots (because there will be no babel transformation on that)
svg would be just a stub line instead of actual svg lines (same reason - no babel)

Rust is fast but is making DX worse at the moment :(


fix super call in list comprehension

python doc super()

The zero argument form only works inside a class definition, as the compiler fills in the necessary details to correctly retrieve the class being defined, as well as accessing the current instance for ordinary methods.

List comprehension works in a separate scope, where doesn't have class information. Zero argument super call doesn't work in such a scope.

fixes #5391

Checklist:

[x] Add tests that demonstrate the correct behavior of the change. Tests should fail without the change.
[ ] Add or update relevant docs, in the docs folder and in code.
[ ] Add an entry in CHANGES.rst summarizing the change and linking to the issue.
[ ] Add .. versionchanged:: entries in any relevant code docs.
[x] Run pre-commit hooks and fix any issues.
[x] Run pytest and tox, no tests failed.

Ah, this was because in Python 3.12, list comprehensions no longer execute in a separate hidden function scope. So no-arg super() became valid, which is what I saw when cleaning up things locally, but still didn't work on older Python versions.
I've reverted the change that caused this, with a further note not to modify it until 3.12 is the minimum supported version.


ONNX export for multilabel - discrepancy between pytorch and onnx outputs

Hi,
I was trying out exporting a multilabel setfit model with onnx and the exported model was giving different outputs as compared to the pytorch one. Am I doing something wrong in my inference code? Is multilabel onnx support not there at the moment?
Here is a Colab to recreate the issue.
EDIT: Adding code here too -
import setfit
from setfit import SetFitHead, SetFitHead, SetFitModel
from sentence_transformers import SentenceTransformer
import onnxruntime
from transformers import AutoTokenizer
from setfit.exporters.onnx import export_onnx

model_id = "sentence-transformers/paraphrase-mpnet-base-v2"
model_body = SentenceTransformer(model_id)
model_head = SetFitHead(in_features = model_body.get_sentence_embedding_dimension(), out_features = 4, multitarget = True)
model = SetFitModel(model_body = model_body, model_head = model_head, multi_target_strategy="multi-output")

sample_text = "this is a sample"

pytorch_pred = model([sample_text])

output_path = "setfit_onnx"
export_onnx(model.model_body,
            model.model_head,
            opset=12,
            output_path=output_path)

tokenizer = AutoTokenizer.from_pretrained(model_id)
inputs = tokenizer(
    sample_text,
    padding=True,
    truncation=True,
    return_attention_mask=True,
    return_token_type_ids=True,
    return_tensors="np",
)

session = onnxruntime.InferenceSession(output_path)

onnx_preds = session.run(None, dict(inputs))[0]

print(onnx_preds)
print(pytorch_pred)

UPDATE: I see that there is a torch.sigmoid layer added to the outputs for multitarget in SetFitHead. Does this mean I will just have to add the same and check for >0.5 ?

Hello!
You're not doing anything wrong I believe, this simply does not work (yet). I ran into this a while ago when adding some more tests for the ONNX exporter, see here. Perhaps @nbertagnolli, who authored the ONNX support for SetFit, can have a look at this?

Tom Aarsen

Let me take a look! Sorry that it wasn't working for you : (.

I've taken a look and it seems like there are some differences between the predictions when converting mpnet based models to ONNX. I'm not sure this is an issue with the SetFit implementation of the ONNX process.  If you convert just the "sentence-transformers/paraphrase-mpnet-base-v2" model to ONNX using torch.onnx.export there are numerical differences in the output.  To see this try running with a non mpnet model like sentence-transformers/all-MiniLM-L6-v2.
Some code below to play with this if you'd like to try for yourself.
`from setfit import SetFitModel
from sentence_transformers import SentenceTransformer
from setfit import SetFitHead, SetFitHead, SetFitModel
from setfit.exporters.onnx import export_onnx
from setfit.exporters.utils import mean_pooling
from transformers import AutoTokenizer
import torch
import onnxruntime
model_id = "sentence-transformers/paraphrase-mpnet-base-v2"
model_id = "sentence-transformers/all-MiniLM-L6-v2"
model_body = SentenceTransformer(model_id)
model_head = SetFitHead(in_features = model_body.get_sentence_embedding_dimension(), out_features = 4, multitarget = True)
model = SetFitModel(model_body = model_body, model_head = model_head, multi_target_strategy="multi-output")
print(model.model_body.training)
print(model.model_head.training)
model.model_body.eval()
model.model_head.eval()
print(model.model_body.training)
print(model.model_head.training)
Export just the paraphrase-mpnet-base-v2 model
output_path = "setfit_onnx"
max_length = model.model_body.max_seq_length
tokenizer_kwargs = dict(
max_length=max_length,
padding="max_length",
return_attention_mask=True,
return_token_type_ids=True,
return_tensors="pt",
)
opset = 12
dummy_sample = "It's a test."
inputs = model.model_body.tokenizer(dummy_sample, **tokenizer_kwargs)
input_names = list(inputs.keys())
output_names = ["logits"]
Setup the dynamic axes for onnx conversion.
dynamic_axes_input = {}
for input_name in input_names:
dynamic_axes_input[input_name] = {0: "batch_size", 1: "sequence"}
dynamic_axes_output = {}
for output_name in output_names:
dynamic_axes_output[output_name] = {0: "batch_size"}
model.model_body.eval()
with torch.no_grad():
torch.onnx.export(
model.model_body._modules["0"].auto_model,
args=tuple(inputs.values()),
f=output_path,
opset_version=opset,
input_names=["input_ids", "attention_mask", "token_type_ids"],
output_names=output_names,
dynamic_axes={**dynamic_axes_input, **dynamic_axes_output},
)
sample_text = "whats up"
Tokenize sentences
encoded_input = model.model_body.tokenizer([sample_text], **tokenizer_kwargs)
Evaluate on original sentence transformer
model_output = model.model_body._modules["0"].auto_model(**encoded_input)
sentence_embeddings = mean_pooling(model_output[0], encoded_input['attention_mask'])
print(sentence_embeddings)
inputs = model.model_body.tokenizer(
sample_text,
max_length=max_length,
padding="max_length",
truncation=True,
return_attention_mask=True,
return_token_type_ids=True,
return_tensors="np",
)
session = onnxruntime.InferenceSession(output_path)
onnx_preds = session.run(None, dict(inputs))[0]
print(torch.Tensor(onnx_preds).shape)
print(mean_pooling(torch.Tensor(onnx_preds), encoded_input['attention_mask']))`

Hi @nbertagnolli , I just wanted to confirm that other models (miniLM-L6 and miniLM-L12) are also not working properly after onnx export for multi-label inference.

miniLM-L6 worked fine for me although Mpnet-base was acting funny. But cant trust it until this thread is closed.

HI @nishanthcmesh , What is the practical application of this approach? In this scenario, there is no fine-tuning of the Sentence Transformer (ST) model. So, what is the rationale behind utilizing SetFit?

i currently read about:
As of PyTorch 2.1, there are two versions of ONNX Exporter.

torch.onnx.dynamo_export is the newest (still in beta) exporter based on the TorchDynamo technology released with PyTorch 2.0. - looks like its stable now: https://pytorch.org/docs/stable/onnx_dynamo.html

torch.onnx.export is based on TorchScript backend and has been available since PyTorch 1.2.0.

can you also use torch.onnx.dynamo_export to export a setfit model?

Hi @nbertagnolli! We are also waiting for this to be resolved, just wanted to ask if it is planned to include it in the next release?

HI @nishanthcmesh , What is the practical application of this approach? In this scenario, there is no fine-tuning of the Sentence Transformer (ST) model. So, what is the rationale behind utilizing SetFit?

Sorry for replying so late but the issue is that there is some issue in the onnx export which causes the model output to be different than the pytorch version. For verifying this, it doesn't matter whether the model is trained or not.

@nishanthcgit did you compare the code with latest version of lib?


[Self-hosted Pixie on non-minikube cluster] Login error "server closed the stream without sending trailers"

Describe the bug
I've deployed pixie based on your install documentation to our self-hosted kubernetes . it is about real cluster and not minikube. Because of our internal policy we don't use loadbalancer service. Therefore I replaced it with local service and using nginx ingress for exposing it to outside. The current state is you can see GUI and login with admin user. For deploying pixie, i need to login to server:
px auth login

But it throws the error (pls see screenshot). If i set the "local_mode=true" to login endpoint, it generates a token, but this token doesn't work and i get that error again:
Pixie CLI
*******************************
* ENV VARS
* 	 PL_CLOUD_ADDR=plc.e2e.example.net
*******************************
Starting browser... (if browser-based login fails, try running `px auth login --manual` for headless login)
Fetching refresh token ...
Failed to perform browser based auth. Will try manual auth error=rpc error: code = Internal desc = server closed the stream without sending trailers

Please Visit:
 	 https://work.plc.e2e.example.net:443/login?local_mode=true

Copy and paste token here:
FATA[0059] Failed to login                               error="rpc error: code = Internal desc = server closed the stream without sending trailers"

FAILED to authenticate with Pixie cloud.

For other attempt i pass the API key which i created with admin user via GUI, but it doesn't work as well:
px auth login --api_key <key>
Pixie CLI
*******************************
* ENV VARS
* 	 PL_CLOUD_ADDR=plc.e2e.example.net
*******************************
FATA[0008] Failed to login                               error="rpc error: code = Internal desc = server closed the stream without sending trailers"

Could you please give some hints to resolve this issue?
Screenshots

App information (please complete the following information):

Pixie version - v0.7.17
K8s cluster version - 1.23

@aimichelle, can you try to reproduce this and help out?

Hi @amirkkn , would you mind sharing your nginx ingress configurations? My guess is there is some misconfiguration there.

Hi @aimichelle ,
here is my nginx  ingress config:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/backend-protocol: HTTPS
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
  name: plc-ingress
  namespace: plc
spec:
  ingressClassName: nginx-intranet
  rules:
  - host: work.plc.e2e.example.net
    http:
      paths:
      - backend:
          service:
            name: cloud-proxy-service
            port:
              number: 443
        path: /
        pathType: ImplementationSpecific
  - host: plc.e2e.example.net
    http:
      paths:
      - backend:
          service:
            name: cloud-proxy-service
            port:
              number: 443
        path: /
        pathType: ImplementationSpecific
  tls:
  - hosts:
    - '*.plc.e2e.example.net'
    - work.plc.e2e.example.net
    secretName: plc-ingress-ssl

I close this issue. I replaced ingress nginx with ELB and service nodePort


feat(options): allow user set option follow redirect

I'm using image.nvim with norg, the current plugin isn't support when url is expected will be redirecedt.
Example:

A: .image https://github.com/r17x.png -- current plugin not supported
B: .image https://github.com/r17x.png -- in PR, plugin will supported. But, user will be configure with the property curl_follow_redirect =  true

Changes

add new option when run require('image').setup({ ..., curl_follow_redirect = true }) -- default: false

Preview

Hi @r17x, thanks for the PR!
Since we're downloading images, should we always follow redirects?
I'm thinking it would do what's expected, what do you think?

@3rd
If without the curl_follow_redirect option then only a small commit change is needed in this PR.
I'm okay with the “always redirect” decisition.

Sounds great, do you want to update the PR to just add the -L to track your contribution?

Of course, I have been updated and make "curl always redirect".
@3rd

Thank you so much!


Repositioning of dependency files to upper directories

It should be possible to move the CODE.dep out of the Release and Debug directories into the directory above and to have one file.  This requires that we do three things.

[x] In the makecode files we need to detect if it's a release or debug build.
[x] We need to set a variable to track this in the makecode file.
[ ] We need to move the files and edit the explicit Release and Debug references to use the new variable.

It makes sense to wait for @gmweir to finish his mods for compiling on Windows.  I'll merge his work into branch Lazerson and then we can merge Lazerson into develop.

@zhucaoxiang This is now done in Lazerson so after merge this should be done.  I'm closing this issue.


README: Fix CHANGELOG link

Coverage remained the same at 100.0% when pulling e6b97ef79a0da6916f93e610be23ab635c545001 on xtian:patch-1 into b274ae43e391d87512456df9cf7e86d8d944e2e6 on sobolevn:master.


Preview image is super small (can't enlarge_

Sorry if this is user error, but at the moment I'm unable to increase the size of the preview image/video and it's extremely small. If this isn't something I'm doing incorrectly is there a way this can be fixed?
Thanks for continuing to develop this extension!

This preview is correct


Fix tests that are checking issue #613

These tests haven't been run for a while due to a mistake in tox.ini. They are currently broken on master.
They broke because they require AUTO_UPDATE to be True for the Elasticsearch backend, but we recently disabled that to improve speed and reliability of the entire test suite. This commit adds a way for the tests that need AUTO_UPDATE to force it to be enabled on specific backends

Merged in c38b2ace3324e044261e05d3198003a892353470 - thanks!


Mongoose User Model

ISSUES TO FIX

User.personalTrainerData.reviews virtual property doesn't return the reviews correctly

It has the same logic as personalTrainerData.customers, but mongoose can't match the User _id property to the reviewee property of Review

ESlint complaining at the top of the test files:

Parsing error: "parserOptions.project" has been set for @typescript-eslint/parser.
The file does not match your project config: __tests__/models/userModel.test.ts.
The file must be included in at least one of the projects provided.

.test.ts files are excluded from tsconfig.json because otherwise the expect type from jest conflicts with the expect type from cypress
I tried creating another tsconfig.test.json file just for test.ts files and overriding the ESLint configuration with that tsconfig, but I couldn't solve the issue

Overall Features

Improved User model, creating virtual properties:

reviews: provides the personalTrainer document with all the reviews he received
customers: returns the list of customers of a personal trainer
files: returns the list of files that the user has access to

Created Function getUser that returns a user given the query and populates default fields (the fields can be overridden by specifying them as argument)

Tests

Created helper to initialize the database with a customer, a personal trainer, a review and a file
Created test for User model virtual properties, that checks if they are returned correctly

Merging this upon the strength of the review given by @GraceChiamaka


PGP key reference in doc for getting .deb version fails

sudo apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 379CE192D401AB61
Executing: /tmp/tmp.1LSj3Bdf6q/gpg.1.sh --keyserver
hkp://pgp.mit.edu:80
--recv-keys
379CE192D401AB61
gpg: requesting key D401AB61 from hkp server pgp.mit.edu
gpgkeys: key 379CE192D401AB61 can't be retrieved
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0
gpg: keyserver communications error: keyserver helper general error
gpg: keyserver communications error: unknown pubkey algorithm
gpg: keyserver receive failed: unknown pubkey algorithm

Duplicate of https://github.com/resin-io/etcher/issues/1786

This is an transient error – the MIT key server has been a bit unstable lately; retrying a couple times should resolve it.

Closing as duplicate


Fix AWS health check

Ticket
Resolves #305
Changes

Set HOSTNAME for the Docker container. This fixes an issue where the healthcheck fails after upgrading to Next.js 13.4.13+

Context for reviewers
This was copied from the Next.js Docker example. I tried a few other formats, but none of those worked.
Testing
Tested on the Platform test app

@sawyerh I think CMD ["HOSTNAME=<IP_ADDRESS>", "node", "server.js"] doesn't work because the exec form of CMD (["executable", "arg1", "arg2"]) invokes the executable directly without first invoking a shell, whereas the shell form (executable arg1 arg2) invokes a shell which then invokes the executable. The HOSTNAME=<IP_ADDRESS> isn't an executable so it can't be run, it's something that shells understand.
I'm surprised why the ENV HOSTNAME <IP_ADDRESS> doesn't work.
As an aside, it's considered best practice to use the ENV NAME=VAR form (with equal sign) than the ENV NAME VAR form without equal sign. See the following snippet from Docker docs:

This syntax does not allow for multiple environment-variables to be set in a single ENV instruction, and can be confusing. For example, the following sets a single environment variable (ONE) with value "TWO= THREE=world":
[ENV](https://docs.docker.com/reference/dockerfile/#env) ONE TWO= THREE=world
The alternative syntax is supported for backward compatibility, but discouraged for the reasons outlined above, and may be removed in a future release.


Add examples for Prometheus and Alertmanager

Add examples for Prometheus and Alertmanager

Thanks! If you have any other suggestions of feature requests just let me know! :+1:

No problem I'll let you know 😉  Thanks 👍


application/vnd.ms-excel missing in src/sap/ui/core/IconPool.js

As mimetype application/vnd.ms-excel  is widely used for Excel, could you add this to src/sap/ui/core/IconPool.js?
"application//vnd.ms-excel": "sap-icon://excel-attachment",
cf. eg. https://archive.sap.com/discussions/thread/3765536 or https://blogs.msdn.microsoft.com/vsofficedeveloper/2008/05/08/office-2007-file-format-mime-types-for-http-content-streaming-2/

Hi colleagues,
I send a mail about how to handle this type of request.
I will update the issue as soon as I get a response.

Hi @DerGuteWolf ,
Thanks for the ticket.
Internal incident<PHONE_NUMBER> has been opened for this issue.

@DerGuteWolf I've added the missing MIME mapping. Thanks for reporting 👍
As it's a trivial change I will also downport it to older releases.


Add condition in options

Hello,
I add condition field in InteractionOptions like DragRotate object in openlayers API.

Hello @BenukEl ,
thanks for contribution!
I'll pull and check it soon


QuoteUpdate enhancement

Is it possible to extend the event "Quote Update"? Ideal would be the full structure of "MqlTick".

Yes, I think it is possible.
I will extend the event with other fields of MqlTick.


Blazor Wasm decimal doesn't support GreaterThanOrEqual

Describe the bug
Code that compares decimal values with >= produces MissingMethodException at runtime:
WASM: Unhandled exception rendering component: blazor.webassembly.js:1:35158
WASM: System.MissingMethodException: Method not found: bool System.Decimal.op_GreaterThanOrEqual(System.Decimal,System.Decimal)

However <= works fine!
To Reproduce
Amend the "Counter" example component in the template-generated app, so currentCount is a decimal and makes some arbitrary use of =>, e.g.
    private decimal currentCount = 0;

    private void IncrementCount()
    {
        if (currentCount >= 52)
        {
            currentCount++;
        }
    }

Change comparison to <= and there is no error (and the counter increments).
Further technical details

ASP.NET Core version 3.1.100

This issue was moved to mono/mono#18271


Crash: LuaTrain API call when LuaTrain was invalid. Screenshot attached as imgur link at bottom.

Describe the Bug
A crash occurs that Factorio seems to say is due to LTN Manager, at least as far as I can see from the description in the attached picture.
To Reproduce
Steps to reproduce the behavior:

I have a large number of stations and a few trains. While doing nothing, an error pops up as shown in the image below.
I do have cargo ships enabled and I have 8 ports; 1 Oil drop off, 5 depots, and 2 ports near the deep sea oil pickups.

Be certain to reproduce the issue on the same save file that you upload.
Save file & Username
Upload the save file where the bug occured. If the file is too large for GitHub, use an alternative file service.
Save: https://ufile.io/vkv8xstp
Name: Lilcentaur
Log file
Log SHOULD be attached. If not, please let me know and I will do so. I've not used GH before.
Screenshot from crash: https://i.imgur.com/EB2YDvw.png

I can't even load your save: it complains about a circular dependency:

Which is very odd.

Strange. I've been loading in with no issues at all. I haven't messed with any of the files in either of those mods.
I reverted my LTN back to what it was before updating and the issue has gone away. I don't know how to fix the issue you are getting unfortunately.

Strange indeed. Please let me know if you have any more issues!


Support Canary Deployment for a Private Extension

Can I use the Share Extension task to do a canary deployment for a private Azure DevOps extension? My extension is shared with a dozen or so organizations and now I need to update it. However, I would like to do a canary deployment to 1 or 2 organizations that are willing to validate the update before sharing it with the rest of the organizations. From what I read, the Azure DevOps Marketplace will immediately share the update with all organizations that have the extension installed as soon as I publish an update. If I use the Share Extension task to only share my update with 1 or 2 organizations will it override the default behavior of the Marketplace?

No it will not. The share extension only adds a new shared org. If you want
to do canary releases you need to add another private extension with
another extension ID and publish that first.
On Thu, 14 Mar 2019, 18:22 swansonaj<EMAIL_ADDRESS>wrote:

Can I use the Share Extension task to do a canary deployment for a private
Azure DevOps extension? My extension is shared with a dozen or so
organizations and now I need to update it. However, I would like to do a
canary deployment to 1 or 2 organizations that are willing to validate the
update before sharing it with the rest of the organizations. From what I
read, the Azure DevOps Marketplace will immediately share the update with
all organizations that have the extension installed as soon as I publish an
update. If I use the Share Extension task to only share my update with 1 or
2 organizations will it override the default behavior of the Marketplace?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/vsts-extension-build-release-tasks/issues/129,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD-uS5NS239-xa7mWI7MH6MQl3dT3VX1ks5vWoVxgaJpZM4b0zPK
.

My extension has custom build/release pipeline tasks in it. If I want to publish another private extension would I need to generate new GUIDs for those tasks so as not to conflict with the existing extension? I guess I am not sure if the task GUIDs have to be unique within the marketplace or just unique within the extension itself.

No you wouldn't. As long as the tasks are private and by the same publisher
it should work!
On Thu, 14 Mar 2019, 18:53 swansonaj<EMAIL_ADDRESS>wrote:

My extension has custom build/release pipeline tasks in it. If I want to
publish another private extension would I need to generate new GUIDs for
those tasks so as not to conflict with the existing extension? I guess I am
not sure if the task GUIDs have to be unique within the marketplace or just
unique within the extension itself.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/vsts-extension-build-release-tasks/issues/129#issuecomment-472988246,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD-uS_yotZWW3QfXRGVvEU-2CGtogEJFks5vWoyzgaJpZM4b0zPK
.

@jessehouwing Thank you for your prompt answers -- they helped. I have more questions but I don't think this is the right forum. Is there somewhere else you recommend I go for Q&A about the Azure DevOps extension marketplace as well as packaging/publishing extensions?

Join here - Me and a lot of other extension developers are over there.
https://teamservices.club/


@MinDuration not validated in plugin's Config class

@MinDuration works e.g. in FeaturesConfig,
but does not work e.g. in CachingHiveMetastoreConfig

Proposed solution (based on my guess as to what's the root cause):

split airlift units into units and units-validation
do not include units-validation in SPI classloader

The root cause is that @MinDuration and other validation annotations implement the Bean Validation API, but that API is not part of the plugin class loader, so the API is not visible to the Bean Validation implementation inside of the plugin.
There seem to three possible solutions:

Add validation-api to the SPI
Split validation out of units
Remove units from the SPI

Option 1 is problematic due to Bean Validation having multiple specification versions, etc. It could break any plugins using Bean Validation and cause other problems. This seems like going in the wrong direction.

Option 2 is backwards with existing users of units that use it with validation. They need to add an additional Maven dependency on units-validation (hopefully with the same version as units) and update the imports for the validation annotations. This is a minor inconvenience but would be nice to avoid.

Option 3 is backwards incompatible for existing plugins in a few ways:

ResourceGroup and ResourceEstimates will replace Duration with java.time.Duration and DataSize with long. This would affect implementations of ResourceGroupConfigurationManager, and any implementations of EventListener that use the resourceEstimates property of QueryContext.
PropertyMetadata has static factory methods for these types. We can move the methods to presto-plugin-toolkit, so they can be referenced there or trivially copied into a plugin.
Existing packaged plugins will likely not contain the units JAR. Any plugins using units will need to remove the provided Maven scope. If the plugin is built using presto-maven-plugin and updated to use the new SPI dependency version, then presto-maven-plugin will fail the build if the wrong scope is used. Otherwise, users will get a NoClassDefFoundError when the plugin is used.

At this point, it seems that adding units to the SPI was a mistake. Removing it will cause some short term pain, but looks like the best long term outcome.

Option 1 is problematic

i agree.
I am against Option 1.

Option 2 is backwards with existing users of units that use it with validation.

That's correct. This is why I want to bump the units version to 2.0 to signal backward incompatibility.
Option 2 is certainly feasible and not really hard to do.

Option 3
it seems that adding units to the SPI was a mistake. Removing it will cause some short term pain, but looks like the best long term outcome.

I am not convinced. units are useful and they are useful in SPI as well.
If we want to remove units from SPI, I would want to add a copy of DataSize (and maybe Duration) classes in SPI directly.
(Outstanding issue is how to effectively convert from units DataSize to SPI DataSize.)
I still think option 2 is the best option.


Upgrade follow-redirects package to > 1.14.7

Description
Versions <1.14.7 are vulnerable to Information Exposure by leaking the cookie header to a third-party site in the process of fetching a remote URL with the cookie in the request body. If the response contains a "Location" header, it will follow the redirect to another URL of a potentially malicious actor, to which the cookie would be exposed.
What type of issue is this? (place an x in one of the [ ])

[ ] bug
[X] enhancement (feature request)
[ ] question
[ ] documentation related
[ ] example code related
[ ] testing related
[ ] discussion

Requirements (place an x in each of the [ ])

[X] I've read and understood the Contributing guidelines and have done my best effort to follow them.
[X] I've read and agree to the Code of Conduct.
[X] I've searched for any related issues and avoided creating a duplicate issue.

Bug Report

Vulnerability fix
Vulnerability details
CVE-2022-0155

Thanks for the security report @theomelo! 🔒 🙇🏻
It looks like follow-redirects is a dependency of axios. The Axios team has recently upgraded to follow-redirects >= 1.14.7.. So we'll need to wait until they release it on npm.
I'll leave this issue open a reminder to update axios when it's available.

The Axios team has released<EMAIL_ADDRESS>a few days ago, which includes the follow-redirect update:
https://github.com/axios/axios/releases/tag/v0.25.0
So I think we can now put together a PR to update the dependency as well.


Update to C++17 - Deprecated functions

Hello Simon,
i am building RTK as remote module to ITK 5 using C++17 with VS 2017. Almost everything works fine. The errors I encountered are listed below with a possible solution. I guess you might prefer another solution but those worked in my case.

ITK_MAX_THREADS should be moved to the itk namespace: itk::ITK_MAX_THREADS
ITK migration guide:

The variables ITK_MAX_THREADS and ITK_DEFAULT_THREAD_ID are now in the itk:: namespace. Backwards compatibility is currently supported by exposing these to the global namespace with
using itk::ITK_MAX_THREADS;
using itk::ITK_DEFAULT_THREAD_ID;

std::random_shuffle is deprecated since C++11 and now its gone. The child classes of rtkIterativeConeBeamReconsturctionMethods are using this function. The suggestions is to replace it with std::shuffle that needs a random generator. I am using the std:.default_random_engine.
Does the random output need some special properties? There are some more random generators.

std::binary_function was removed aswell. This can be replaced with simple code from SO or custom functions.

This might not be a problem right now but the compiler warns about the removal of the math_function.h in upcomming CUDA version. The warning reads:

warning: "#warning "math_functions.h is an internal header file and must not be used directly. This file will be removed in a future CUDA release. Please use cuda_runtime_api.h or cuda_runtime.h instead."

Hope this will be helpful to you to keep the cool project uptodate!

Hi,
Thanks.

ITK_MAX_THREADS should be moved to the itk namespace: itk::ITK_MAX_THREADS
ITK migration guide:

This has already been addressed by db27af04. Is it not working for you?

std::random_shuffle is deprecated since C++11 and now its gone. The child classes of rtkIterativeConeBeamReconsturctionMethods are using this function. The suggestions is to replace it with std::shuffle that needs a random generator. I am using the std:.default_random_engine.
Does the random output need some special properties? There are some more random generators.

No, your suggestions look good.

std::binary_function was removed aswell. This can be replaced with simple code from SO or custom functions.

We are not using it, are we?

This might not be a problem right now but the compiler warns about the removal of the math_function.h in upcomming CUDA version.
We would need to test if its inclusion is still required 1539f8b.

Would you consider submitting a patch for all this?

Hi,
i am using the RTK as an remote module for the ITK. I modified the module that CMake cloned during the connfiguration of the ITk project.
How can I create a patch from the remote module or do I have to make a fork from the RTK and add the changes there before making a PR? (In the second case I would have two independent RTK clones).

Hi,
If I understand correctly, RTK has been downloaded during ITK's compilation, you modified it and you want to create a PR with these modifications. The best solution I believe is to fork RTK from github, add a remote in the RTK clone, in your case
git remote add myremotename git@github.com:kabcode/RTK.git
where myremotename is the name you want to give to your personal remote.
Note that during compilation, ITK will switch back to the branch given in RTK.remote.cmake. So you can modify it to point to your own remote and the branch of your choice.
I hope this answers your question,
Simon

Thank you for the guide. Following the steps worked quite well. Only minor issues with the ssh keys. Its going to be my first pull request. :-)
If you have hints or critique I am happy to get feedback to improve my contribution to open-source projects like RTK.


path-completion doesnt get triggered after / if lsp-soure is defined before path in g:completion_chain_complete_list

My testing minimal init.vim
set runtimepath+=~/.local/share/nvim/plugins/completion-nvim
au bufenter * lua require'completion'.on_attach()
let g:completion_auto_change_source = 1
let g:completion_chain_complete_list = [
\    { 'complete_items': ['lsp'] },
\    { 'complete_items': ['path'] },
\]
set completeopt=menuone,noinsert

How to reproduce

Open minimal vimrc
o to enter new line
Type / and notice how completion is not triggered
Type b and see completion for /bin

If we change the order of the lsp- and path-source
let g:completion_chain_complete_list = [
\    { 'complete_items': ['path'] },
\    { 'complete_items': ['lsp'] },
\]

then completion is triggered directly after / as expected.
Expected behavior
Completion should be triggered directly after /.

This happens for buffers as well with completion-buffers plugin.
This is what I use to resolve both for the mean time:
let g:completion_chain_complete_list = {
   \   'default' : {
   \     'default': [
   \       {'complete_items': ['lsp', 'snippet', 'buffers']},
   \       {'mode': '<c-p>'},
   \       {'mode': '<c-n>'}],
   \     'comment': [
   \       {'complete_items': ['buffers']}],
   \     'string': [
   \       {'complete_items': ['path']}],
   \   }
   \ }

Are there any updates to this? For some reason the 'fix' provided by @ngtinsmith does not work for me in python. It does however work in C.

Are there any updates to this? For some reason the 'fix' provided by @ngtinsmith does not work for me in python. It does however work in C.


Two changes around SVG->PNG generation for texmath

This PR:

Workaround for Inkscape 0.91 on Mac OS X

reads the height and width attributes form the MathJax SVG
and appends them to the style attribute
see: https://github.com/softcover/softcover/issues/154
see: https://bugs.launchpad.net/inkscape/+bug/1634571

Removed uncessary correction factor valign_in_ex += 0.1155
since MathJax no longer adds a 1px margin to SVG

It would be really cool if we can add a regression test—does anyone know of a way to check if a png file is empty?

Note: I tested math height and vertical alignment in calibre, on a Kindle, and in iBooks. It would be cool if someone tests has other epub reader hardware.
Here is a sample project that is a good test for math vertical alignment:  http://minireference.com/static/tmp/jantest.zip

Great, thanks! I'm pleased at the possibility of fixing this issue, as several people have run into it.
One possible way to write a regression test would be to check the PNG file size using File.zero?("test.png"). Let me know if you can make a run at implementing that.

That's a cool idea, though empty PNGs actually have non-zero file size.
When run with the buggy version the epub/OEBPS/images/texmath folder contains .png with file size between 152 and 181 bytes.
When run with the fixed version epub/OEBPS/images/texmath contains files of size 486 bytes to 4k, so I think we can use file size to catch the regression.
I'm busy now, but I'll try to put something together later today using File.size?.

OK, thanks for the clarification. No rush on the implementation; it'll be great to see what you come up with. 😃

Okay added a regression test that passes on minireference:more-svg-fixes but fails on current softcover:master:
ivan@probook ~/P/M/e/C/softcover> bundle exec rspec spec/builders/epub_spec.rb
...........................F..............

Failures:

  1) Softcover::Builders::Epub OEBPS HTML generation math PNGs shouldn't be too small (regression test for empty PNGs)
     Failure/Error: expect(File.size(pngfile)).to be > 500
       expected: > 500
            got:   181
     # /Users/ivan/Projects/Minireference/ePub/Code/softcover/spec/builders/epub_spec.rb:178:in `block (5 levels) in <top (required)>'
     # /Users/ivan/Projects/Minireference/ePub/Code/softcover/spec/builders/epub_spec.rb:177:in `each'
     # /Users/ivan/Projects/Minireference/ePub/Code/softcover/spec/builders/epub_spec.rb:177:in `block (4 levels) in <top (required)>'

Perfect, thanks! It just got released as version 1.3.3.


Support lean 3.51.1

Lean 3.4.1 and 3.4.2 are quite old, so this provides a newer version. Ideally this would use some mechanism to automatically download the appropriate lean version as necessary when running make-lean-game, but for now this is sufficient I think.

The update to lean-client-js-browser was necessary due to issues with BrowserFS when building with the new Lean version included.

superseded by #39


Added wiggle sort in Python

Fixes #3720

Have you read the Contributing Guidelines on Pull Requests?
yes
Description
Reorders an unsorted array such that arr[0]<arr[1]>arr[2]<arr[3]>...
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
#3720

Link to execute the code
@HarshCasper , @bhav09 , @siddharth25pandey  kindly review the PR


node name

Hi,
Thanks for your fast commits.
By the way, the node will output with name 'node' only.
Maybe need comment out this line?
Thanks.
https://github.com/sipeed/MaixSense_ROS/blob/b754d612aaac01d257206333088ed9d4043f7f82/sipeed_tof_ms_a010_ros/ros1/CMakeLists.txt#L146C50-L146C50

and this time commit, maybe unstable ?
After a few minutes, Publication will stop.
(in the handle_process(), at the check_sum session, this error will happen many times.)


Investigate passing specific properties to React components

Instead of passing the entire store.
Note: This will be hard to type safely.
Pros:

Let React do the diffing instead of doing it ourselves
Avoids the need to watch specific properties for changes and calling forceRender
Users can prevent renders with shouldComponentUpdate, and use other lifecycle methods

Alternative: Use an immutable data structure to back store, so the reference changes.
Cons:

Asymmetrical API for getting/setting (fixed by #7):
withStore()(({ foo, bar, set }) =>
 <div onClick={() => set('bar')(3)}>
   {foo}
   {bar}
 </div>

Precludes an API where we automatically infer what to watch based on what is used. We can't infer types from the arguments (unless there's a clever trick I haven't thought of), and passing store directly lets us do this

Personally, this is the main turn-off for me with undux because IMHO it goes against React conventions. It feels wrong to call getter methods in my components. This also breaks the separation of concerns since now my component is bound to a method .get('foo') instead of just expecting a normal prop foo. Say I decide to stop using undux one day, now I have to go through all my components and replace the .get(...) calls.
If the trade off is to have a closure like you show, I'm 100% ok with that and think any beginner (eg people who know React well enough to pick a tool like undux) would be OK with it.
Just my $0.02! Really like what you're doing with undux!

Personally, this is the main turn-off for me with undux because IMHO it goes against React conventions. It feels wrong to call getter methods in my components. This also breaks the separation of concerns since now my component is bound to a method .get('foo') instead of just expecting a normal prop foo. Say I decide to stop using undux one day, now I have to go through all my components and replace the .get(...) calls.

@danawoodman Thanks for the feedback! Your proposed API looks reasonable, and your concerns are really fair. The one reason I haven't jumped on this issue is that I love how simple and easy to understand a single store prop is. Even if I've never worked with Redux (or even React) before, I've probably seen stores before, and the getter/setter API is really familiar. When I see store, I know what it is intuitively. With asymmetrical getters and setters, it's not so clear - I have to know about closures, spreads, and be familiar with how Undux works to use it (ie. I have to know that Undux spreads its store over a component's props).
Your Option 1 is nice, and is reminiscent of how Redux does it; I love how it helps decouple components from the underlying store, so as you said, you can swap out the store implementation without updating component code. The downside of this decoupling, I think, is indirection. It's no longer clear where props come from: this could be a good thing, or a bad thing; it's a good thing because it makes my component independent from the store API, and it's a bad thing because now it's hard to see where props come from at a glance at the component (as I mentioned, how have to understand a whole bunch of concepts to grok how props are getting there).
What do you think?

Jumping in here. @danawoodman is spot on in terms of decoupling component implementation from the store per react style. @bcherny you are also right for I was drawn to undux because of its simplicity. I think the biggest gain undux provides is getting rid of all the action/reducer boilerplate that comes with redux. Anyone using undux will be using react and will have to understand the concept of HOC sooner rather than later. From my point of view, going with option #1 or #2 is still far better than redux with boilerplate. In short, I don't think going in any of the proposed options takes way the simplicity of the library compared to the status quo.
With that said, it also possible to offer the current api (passing the store into the component) as more or less a beginners level and the decoupled options per @danawoodman  suggest for advanced usage. That should mitigate the risk of getting people up and running while providing a path for advanced usage as your application grows.
Personally, I think that will add complexity and might be best to roll with something along the lines of options #1 or #2 but you know best.
I'd also like to propose the 3rd option below which is a slight modification on option #1. This helps address the issue of what props come from where. ownProps depicts properties pass by react to the component.
export default withStore(   'messages', // subscribing to changes to store 'messages' similar to redux#mapStateToProps   ({ set, ownProps }) => ({ // similar to redux#mapDispatchToProps to update store state     markAsRead() {       set('messages', [])     },     ...props   }),   Welcome )


update observation space in configure(),

Add update of observation space in configure and test for it.
Closes #119

lgtm, @nandantumu ?


Unable to connect frome Home assistant - socket issue?

Hello Benlbrm,
And first of all thank you for your awesome work.
Unfortunately *i cannot get my Edilkamin stove integrated in HA.
I am able to control it via Wifi with the Appfire (version <IP_ADDRESS>5) app where it appears with firmware 6.2.41.
I have tried to connect it with it's local IP (found in my DHCP) and using various sockets including 5001, however even if it seems to be recognized as a Edilkamin I am stuck with the following error:
Logger: hottohpy.client
Source: /usr/local/lib/python3.10/site-packages/hottohpy/client.py:122
First occurred: 15:39:03 (4 occurrences)
Last logged: 15:39:23
Socket error: [Errno 111] Connection refused
Is there something I am doing wrong or not understanding?
Thank you in advance!
Charles

Hello,
Sometimes it fails at first startup in HA, have you tried to reboot HA with integration activated ?
Can you try to connect directly with hottohpy lib with your computer ? with following code:
`
import sys
appending a path
sys.path.append('src')
from hottohpy import Hottoh
import time
stove = Hottoh(address="YOUR_IP_ADDRESS", port="5001")
stove.connect()
stove.get_temperature()`

Thank you for your quick answer!
I indeed tried to restart HA and the raspberry pi several times.
I managed to run the hottohpy example and got promising return:
Start Stove Data's
Info: %s ["b'#00000C---0012INFRHOTTOH", '6.2.41', '-59', "68D5\n'"]
Data: %s ["b'#00000C---005EDATR0", '85', '0', '1', '9', '11', '1', '1', '2', '173', '190', '50', '350', '-435', '260', '50', '350', '-435', '0', '0', '0', '272', '0', '5', '1', '5', '0', '5', '5', '4', '0', '0', '4', '5', '5', '4', "324F\n'"]
Data2: %s ["b'#00000C---003BDATR2", '1', '0', '0', '0', '0', '-435', '0', '0', '0', '838', '0', '0', '0', '564', '0', '0', '0', '-435', '270', '50', '350', "F663\n'"]
_getFirmwareVersion: %s 6.2.41
_getWifiSignal: %s -59
_getPageIndex: %s b'#00000C---005EDATR0
_getManufacturer: %s EdilKamin
_getIsBitmapVisible: %s 0
_getIsValid: %s 1
_getStoveType: %s 9
_getStoveState: %s eco_stop_1_standby
_getStoveIsOn: %s on
_getEcoMode: %s on
_getChronoMode: %s off
_getTemperatureRoom1: %s 17.3
_getSetTemperatureRoom1: %s 19.0
_getSetMaxTemperatureRoom1: %s 35.0
_getSetMinTemperatureRoom1: %s 5.0
_getTemperatureRoom2: %s -43.5
_getSetTemperatureRoom2: %s 26.0
_getSetMaxTemperatureRoom2: %s 35.0
_getSetMinTemperatureRoom2: %s 5.0
_getTemperatureRoom3: %s -43.5
_getSetTemperatureRoom3: %s 27.0
_getSetMaxTemperatureRoom3: %s 35.0
_getSetMinTemperatureRoom3: %s 5.0
_getTemperatureWater: %s -43.5
_getSetTemperatureWater: %s 0.0
_getSetMaxTemperatureWater: %s 0.0
_getSetMinTemperatureWater: %s 0.0
_getSmokeTemperature: %s 27.2
_getPowerLevel: %s 0
_getSetPowerLevel: %s 5
_getSetMaxPowerLevel: %s 5
_getSetMinPowerLevel: %s 1
_getSpeedFanSmoke: %s 0
_getSpeedFan1: %s 5
_getSetSpeedFan1: %s 5
_getSetMaxSpeedFan1: %s 4
_getSpeedFan2: %s 0
_getSetSpeedFan2: %s 0
_getSetMaxSpeedFan2: %s 4
_getSpeedFan3: %s 5
_getSetSpeedFan3: %s 5
_getSetMaxSpeedFan3: %s 4
_getFlowSwitch: %s 1
_getGenericPump: %s 0
_getAirEx1: %s 0
_getAirEx2: %s 0
_getAirEx3: %s 0
_getPuffer: %s -435
_getSetPuffer: %s 0
_getSetMinPuffer: %s 0
_getSetMaxPuffer: %s 0
_getBoiler: %s 838
_getSetBoiler: %s 0
_getSetMinBoiler: %s 0
_getSetMaxBoiler: %s 0
_getDhw: %s 564
_getSetDhw: %s 0
_getSetMinDhw: %s 0
_getSetMaxDhw: %s 0
End Stove Data's
So that confirm the socket 5001 is the correct one!
but still no luck with the integration.
Can you see anything?

Actually I am now unable to get hottohpy to connect I get the same error as in HA: "Socket error: [Errno 111] Connection refused"
I was wondering if this could be because of concurrent acces so I made sure the appfire and the HA intégration were stopped but no luck so far.

Hello benlbrm, and happy new year!
Just to let you know , I let HA keep trying in the background to connect to the stove and it finally happened. I am not sure why but it seems stable for at least 24h.
Now everything seems to work except the "chrono_mode" that I cannot set from HA. But it's not a big deal since I plan on doing the regulation from HA.
Thanks again for your awesome work!

Hello Charly,
sorry for the delay, as far as I know, since you're able to connect with the script, the port is ok.
I know the wifi module doesn't like have multi connections at same time. When the app is connected, HA (the integration) can have problems. I don't find why actualy.
For the chrono mode, you cannot set hours and temp but you should be able to enable / disable it.