Add magnify and zoom out

Pull Request Checklist

[x] I have run yarn build to ensure that the project builds successfully.
[x] I have updated CHANGELOG.md with the necessary changes made in this pull request.

Description

Adds a magnify button that allows people to zoom in around a tap/click, then it zooms out when released as per #91
Adds a zoom out button that shows a zoomed out view of the pattern that can be tapped/clicked to go to a specific point in the PDF as per #256

Related Issues
#91 #256
TODO

[x] maybe be able to drag and move when magnified
[x] fix weird behaviour when zoomed out previous pdf, then open new one
[x] clicking zoom out button twice should reset/zoom back in
[x] disable rotate/flip when zoomed out or get them working well together
[x] centre pdf when zoomed out
[x] warning triggered when hidden menus from client top mismatch
[x] show actively zoomed out on button

Still needs lots of testing and fixes but I thought I'd share anyway to show what I'm working on :)
More issues found when testing:

[ ] Pattern disappearing after a while
[ ] client screen top/left null setting off alert
[ ] stitch menu opens when menus reappear
[ ] don't disappear menu while zoomed out
[ ] line weight not being saved?
[ ] change to center instead of left when zoomed out

This PR is finally ready for testing if anyone has the time please feel free to critique @sashasewist @Nifdee @cfcurtis @roel-v @hluedeke! I'm going to try to do a cutting session today to find pain points and bugs. Happy Canada Day! 🇨🇦
I'm thinking maybe instead of click to zoom back in, show a rectangle representing your viewport and make people drag the pdf to the rectangle to zoom back in.

I'm finding a few difficulties with this on firefox on windows. Can test others.
Is the zoom out supposed to stay on until I click it off. I worry that people will forget and cut with zoom out still on. Could dots be added like the flip tool, as a reminder that they are in a special mode?
The magnify works opposite, doesn't stay on for more than about a quarter second when I click the magnify glass on part of a pattern.

@cfcurtis thank you so much! I absolutely love how organized and thought out your feedback is.

Magnify
This may be a big ask, but is it possible to re-render at a higher resolution when magnifying? I tried using the magnify feature to read some small text, but ultimately it was just too low-res to make out. In this case the hover text would work, but sometimes I want to zoom in to check small markings and my expectation is that the resolution would increase.

I don't think I'll be able to increase the resolution for this release. It's something that I've been trying to look into but it's a bit a of a nightmare. #245 shows an attempt but the performance hit is significant. pdfjs doesn't support tiling :( I'll open an issue to look into different ways to increase the resolution just when zoomed in since that's a bit of a different case.

Zoom

The "click to zoom back in" seems pretty intuitive, but a rectangle to show viewport could be helpful as well. I wouldn't call it a show-stopper but maybe a nice to have?

Agreed!

The biggest issue I had is that it wouldn't maintain rotation. To reproduce:

Rotate a pattern
Zoom out, it will appear in the original (un-rotated) view
Click somewhere to zoom in and the rotation is lost

This was pure laziness on my part. I'll get that fixed!

Other comments
Unrelated to the zoom/magnify, I noticed a few quirks in this version:

The "hide menu" button still shows up during calibration, but then goes away for projection. I eventually gave up looking for the button and the menu auto-hid - is the plan for this to replace the button entirely?

Yes! I'm doing everything I can to save space in the main menu since I keep adding to it.

Seems like a good idea to save clutter, but it was confusing for it to be in calibrate mode and not projection.

I left it in the calibrate mode because some people have their corners behind the menu and would probably panic if they couldn't hide the menu anymore to get to those corners. Any movement would show the menu. I agree it would be nicer to remove it but I worry about that case. I feel like the fix here is a bit of a calibration page redesign. Not sure what that would look like though.

There seems to be something odd between the full screen button and F11. I noticed that you've made it stay full screen even after opening a PDF, nice!

I thought I did as well! I got so excited about it, but there's a timeout from the browser when you click the open PDF button. So if you select your PDF quickly, the full screen will be maintained, otherwise you still get popped out!

However, it seems to think that F11 full screen and "button" full screen are different. To reproduce:

Launch PP, hit F11 to enter full screen, then calibrate
Go to Project, open a PDF, and hit F11 again to exit full screen. The warning about the view changing pops up.
Press the full screen button to enter full screen. The warning stays on screen.
Exit full screen (button or F11, doesn't matter), then press F11 to go back to full screen. Warning disappears as expected.

Good find! I will investigate.

My system info (if relevant)

Fedora Linux 40
Chrome Version 125.0.6422.60 (Official Build) (64-bit)
Artlii Enjoy 2 Mini Projector, extended screen connected via HDMI, 720p resolution

Thank you!!!

I'm finding a few difficulties with this on firefox on windows. Can test others. Is the zoom out supposed to stay on until I click it off.

Yeah, it is supposed to stay on.  Any ideas for making this more obvious or changing the interaction?

I worry that people will forget and cut with zoom out still on. Could dots be added like the flip tool, as a reminder that they are in a special mode?

I think maybe what @cfcurtis suggested (an outline showing the viewport before zooming out) might make it more obvious.  What do you think?

The magnify works opposite, doesn't stay on for more than about a quarter second when I click the magnify glass on part of a pattern.

You have to press and hold for the magnify. I am seeing now how it's weird that the zoom out is click once and the zoom in is click and hold. Hmmm

I think maybe what @cfcurtis suggested (an outline showing the viewport before zooming out) might make it more obvious. What do you think?

That was actually your suggestion!
I thought the higher resolution thing might be a stretch, I see pdf.js has an open issue from 2015, in addition to a number of requests for a zoom feature. As a hack I wonder if it would work to edit the CropBox and then re-render. I can mess around with it a bit and see what happens.

You have to press and hold for the magnify. I am seeing now how it's weird that the zoom out is click once and the zoom in is click and hold. Hmmm

I think a consistent behaviour would be good, though I don't have a strong opinion one way or the other.

I think maybe what @cfcurtis suggested (an outline showing the viewport before zooming out) might make it more obvious. What do you think?

That was actually your suggestion!

Lol, I forgot I mentioned that.

I thought the higher resolution thing might be a stretch, I see pdf.js has an open issue from 2015, in addition to a number of requests for a zoom feature. As a hack I wonder if it would work to edit the CropBox and then re-render. I can mess around with it a bit and see what happens.

I would love it if you could look into this issue. A second set of eyes would be really helpful. I'm not sure if you have any vogue A0s. Those are the worst case scenario I've seen for load times. I'll send you a mangled one just in case.

You have to press and hold for the magnify. I am seeing now how it's weird that the zoom out is click once and the zoom in is click and hold. Hmmm

I think a consistent behaviour would be good, though I don't have a strong opinion one way or the other.

Okie doke, I'm thinking click to activate magnify, then click to go back to regular scale to match the zoom out functionality since Sasha thought the dragging was a bug.

Wow, you're on a roll! I gave this a test spin last night and it was behaving smoothly, nice work.
I briefly looked in to the high res thing and it's certainly a challenge. Short of holding a high-res rendering in the background and showing it when magnify is clicked, I'm not sure how you'd come up with a performant way of re-rendering at a higher resolution. I think there's a better chance of solving it at the library end!

Wow, you're on a roll! I gave this a test spin last night and it was behaving smoothly, nice work.

Thank you! I cut a pattern over the weekend using this branch and felt a little guilty about not getting this release out because I like the zoom out so much!

I briefly looked in to the high res thing and it's certainly a challenge. Short of holding a high-res rendering in the background and showing it when magnify is clicked, I'm not sure how you'd come up with a performant way of re-rendering at a higher resolution. I think there's a better chance of solving it at the library end!

Thank you for looking into this. I'm thinking I'll at least up the resolution for non iPad users as per #212 to get a bit of a resolution bump for this release.


beta look for similar issues; eats entire bug report content!!!!&!&!; was: acceleration (mg) Y not consistent

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
Add screenshots to help explain your problem. You can copy paste the screenshot in the github report. The .gif screen recording is very useful as well.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Grrr,
Clicked on the check for existing bugs beta button and it ate my entire bug report.

You can edit your post... or should we close this?

The "BETA" look for matching issues is a sharp razer blade


Panic during interrupt handling in esp32c3 timer_interrupt.rs example

Hello, I've been using the esp-rs and esp32c3_hal crates to write code for an esp32c3 board. I'm trying out the timer_interrupt example here https://github.com/esp-rs/esp-hal/blob/main/esp32c3-hal/examples/timer_interrupt.rs.
Here's steps for a minimal example:

First I cargo generateed on the esp-rs template project, setting up a project for the esp32c3.
I set the esp32c3 dependency to a known recent revision in cargo.toml:

esp32c3-hal = { git = "https://github.com/esp-rs/esp-hal", features = ["direct-boot"], rev = "da3ec47b3" }

(This was done this way because in my actual project (not this example) the 0.2.0 version had not been released yet, and had previously been depending on main, but that got updated significantly since the last time I was working on this, so I tied the revision to the latest at the time I was looking at this again)

In the generated project: mkdir examples, and touch timer_interrupts.rs
From the esp32c3 timer_interrupt example above, copy all that code and paste into the created timer_interrupts file in step 3.
run cargo build --example timer_interrupts && espflash target/riscv32imc-unknown-none-elf/debug/examples/timer_interrupts --monitor --format direct-boot
This should build and then flash the esp32 with the interrupt example, then monitor the output using the espflash tool
The timer seems to go off, causing a panic:

ESP-ROM:esp32c3-api1-20210207
Build:Feb  7 2021
rst:0x1 (POWERON),boot:0xc (SPI_FAST_FLASH_BOOT)

!! A panic occured in '/home/dougli1sqrd/.cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.79/src/int/shift.rs', at line 15, column 39

PanicInfo {
    payload: Any { .. },
    message: Some(
        attempt to subtract with overflow,
    ),
    location: Location {
        file: "/home/dougli1sqrd/.cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.79/src/int/shift.rs",
        line: 15,
        col: 39,
    },
    can_unwind: true,
}

Backtrace:

0x42006b3a
0x42006b3a - core::panicking::panic
    at /home/dougli1sqrd/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/panicking.rs:48
0x420073ea
0x420073ea - compiler_builtins::int::shift::Ashl::ashl
    at /home/dougli1sqrd/.cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.79/src/int/shift.rs:15
0x40380216
0x40380216 - esp_hal_common::interrupt::vectored::get_configured_interrupts
    at /home/dougli1sqrd/.cargo/git/checkouts/esp-hal-42ec44e8c6943228/da3ec47/esp-hal-common/src/interrupt/riscv.rs:267
0x4200030c
0x4200030c - _start_trap_hal
    at ??:??
0x420010f4
0x420010f4 - critical_section::release
    at /home/dougli1sqrd/.cargo/registry/src/github.com-1ecc6299db9ec823/critical-section-1.1.1/src/lib.rs:197

This is happening in https://github.com/esp-rs/esp-hal/blob/main/esp-hal-common/src/interrupt/riscv.rs#L267, at the left shift.
Has anyone experienced an issue like this? Is this a bug in esp-hal, or the compiler_builtins? Do I just need to configure something easy to fix it?
Here is the actual template project with the failing example: https://github.com/rustbox/esp32-examples
Let me know if you have any ideas, thanks!

Using this toolchain in the esp32c3-hal directory:
rust-toolchain.toml
[toolchain]
# The default profile includes rustc, rust-std, cargo, rust-docs, rustfmt and clippy.
# https://rust-lang.github.io/rustup/concepts/profiles.html
profile = "default"
channel = "nightly"
components = [ "rust-src" ]
targets = [ "riscv32imac-unknown-none-elf" ]

and then running from the esp32c3-hal directory:
cargo build --features direct-boot --example timer_interrupt && espflash target/riscv32imc-unknown-none-elf/debug/examples/timer_interrupt --monitor --format direct-boot

it actually works!
Build:Feb  7 2021
rst:0x1 (POWERON),boot:0xc (SPI_FAST_FLASH_BOOT)
Interrupt 1
Interrupt 11
Interrupt 1
Interrupt 1
Interrupt 11

Thanks for reporting this!
I am a bit confused since the toolchain you added says targets = [ "riscv32imac-unknown-none-elf" ] but your command-line says target/riscv32imc-unknown-none-elf/debug/examples/timer_interrupt ... but it's quite early in the morning and I might miss something obvious.
Anyway, on nightlies there might be mis-compilations even for RV32
It's not really clear to me which rustc was used to create to faulty binary (i.e. what is the default toolchain or override)
I double checked it with the esp-hal repository at commit 7889a992d7efcbbba0a5c7ef679694877f30380e with rustc 1.65.0-nightly (1120c5e01 2022-09-08) without experiencing this crash - not in boot-loader mode and not in direct-boot mode

I can't seem to reproduce this either.

oh yeah, that's interesting. I don't remember why the target is riscv32imac-unknown-none-elf when the esp32c3 is clearly riscv32imc-unknown-none-elf. Switching doesn't seem to help.
I'm running rustc 1.66.0-nightly (2019147c5 2022-09-19)
One thing I did find though was I think this is somehow being caused by opt-level = "z". In the example repo I linked above I have
[profile.dev]
debug = true # Symbols are nice and they don't increase the size on Flash
opt-level = "z"

And the esp-rs crate does not. So I removed the opt-level in the dev profile and it works in the example! In fact, running it with
[profile.dev]
debug = true # Symbols are nice and they don't increase the size on Flash
opt-level = "s"

seems to work.
And again, running cargo build --example timer_interrupts && espflash target/riscv32imc-unknown-none-elf/debug/examples/timer_interrupts --monitor --format direct-boot to build and flash the board.
Thanks!

Thanks for the update! The problem with opt-level "z" is really interesting. I'm a bit surprised to see those problems with the RV32 targets but something like that can happen on nightlies
Regarding imac vs imc - yes ESP32-C3 doesn't have atomics but we have an atomic instruction emulation layer so you can target imac with some performance penalties - however if possible I'd say that sticking to imc and using solutions like atomic-polyfill is preferable

I've been looking into this a bit with @dougli1sqrd , and the panic seems to be limited to this shift operation: https://github.com/esp-rs/esp-hal/blob/7889a992d7efcbbba0a5c7ef679694877f30380e/esp-hal-common/src/interrupt/riscv.rs#L267
I can reliably reproduce the an underflow panic while shifting with this example:
#![no_std]
#![no_main]

#[allow(unused)]
use esp32c3_hal::prelude::*;
use esp_backtrace as _;
use riscv_rt::entry;

#[entry]
fn main() -> ! {
    let i = 0;
    esp_println::println!("1u64 << {} = {}", i, 1u64 << i);
    esp_println::println!("1u128 << {} = {}", i, 1u128 << i);

    loop {}
}

The panic still only occurs with opt-level="z", but it happens across a few different nightlies (including the one from September 8th mentioned above). opt-level="z" is also the only way I've found to get the compiler to emit calls to the intrinsics crate: the rest of the time it's happily using 32-bit sll (and branching, and slr) to implement the 128-bit shift.
However, in opt-level="z", the compiler is using 64-bit shifts via compiler_builtins::int::shift::Ashl::ashl (and branching, and compiler_builtins::int::shift::Lshr::lshr). The way it's breaking up the 128-bit shift into multiple 64-bit shifts end computing 1u64 << i - 64, hence the underflow when i <= 63. Unfortunately for us, I think any esp32c3 interrupt number we might see will indeed be <= 63.
So, this leads me to a pair of questions:

This definitely seems like an upstream bug, but I'm not 100% sure where: I intend to keep looking, but if one of you immediately goes "ah, that should be filed against rustc" I'd sure be happy to learn which of the dinner guests is guilty of murder here
It looks like the esp32 riscv interrupt handler doesn't actually need 128-bit vectors as of yet: from my reading there's only two 32-bit interrupt registers, which would fit nicely in a u64, and indeed: when I changed the types around in interrupt/riscv.rs

Thanks for the detailed analysis! Good job! The reason why get_status uses u128 is that on the Xtensa based chips we indeed need more than 64 bits and we want to keep things similar. Wouldn't be the end of the world if we would change it for ESP32-C3 but might be annoying.
I noticed you already opened an issue on rust-lang - thanks a lot!

Looks like it's ultimately a LLVM bug: https://github.com/llvm/llvm-project/issues/57988
I've got two ideas of varying quality:

As mentioned, change the esp32c3 interrupt handler to operate over u64s
Teach esp32c3/build.rs to recognize and reject opt-level="z" (I've got a proof of concept that I'd be happy to turn into a PR)

It's your project, though, so I'll gladly defer to you on which maintenance burden you'd rather bear, if either!

Thanks for the update!
I'd personally vote for the second option especially since this problem might also get triggered in user-code.

Ooh, good call about user code: I'll reworded the message to include some of that flavor and open a PR!
Thanks for all your help and encouragement navigating the wild & woolly world of embedded rust, I appreciate it.

I think the proof of concept looks okay. I'm not entirely convinced it should be behind a feature, and I think printing a warning and continuing is probably preferable to terminating. Based on my limited testing opt-level = "z" does work for a number of examples, so I think this case should be treated as the exception and not the norm.

Oops, just saw your comment @jessebraham : unless you object, I'll move discussion over to the PR I just opened.

I guess this is resolved now - reopen if you don't agree


[PDI-14460]-Mongo DB Output step does not output/forward rows to a ne…

…xt step

Build Completed
:white_check_mark: This pull request has passed all validations.
Build Commands
mvn -B -fn -f pom.xml clean install && mvn -B -f pom.xml site

Cleanup Commands
mvn -B -f pom.xml build-helper:remove-project-artifact

Changed files
  src/main/java/org/pentaho/di/trans/steps/mongodboutput/MongoDbOutput.java
  src/test/java/org/pentaho/di/trans/steps/mongodboutput/MongoDbOutputTest.java

Unit test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.di.trans.steps.mongodboutput.MongoDbOutput

Branch Change:  + .85%
Complexity Change:  + 1.41%
Instruction Change:  + .21%
Line Change:  + .19%

org.pentaho.di.trans.steps.mongodboutput.MongoDbOutputMeta

Branch Change:  + .89%
Line Change: -.28%:small_red_triangle_down:


CLIP image encoder receive image size as 224*224

Great and interesting work! The pretrained CLIP image encoder by image variation is for image size 224 * 224. However, the images that you used are 256 * 256. How could you use the pretrained image encoder?

The input image will be resized to 224*224 in the dataset. Refer to line 57 of dataset/app_demo_human_image_edit_singleinput.py.

Thanks @RedRAINXXXX !


CUDA commands prior to cudaSetDevice()

Several allocations / memcpy  / free comamnds are made prior to device selection, invalidating device selection.
These need to only occur after the cuda agent model has been constructed / device selection has occured (currently in the CudaAgentModel constructur):

[ ] RandomManager::RandomManager()

[ ] via reseed() and free()

[ ] Curve::Curve()

[ ] via Curve::clearErrors()

[ ] EnvironmentManager::EnvironmentManager()
[ ] Spatial3D::CUDAModelHandler

[ ] Probably the model handler for other messaging types

[ ] Curve::setNamespace

This is ultimately due to partial separation of concerns between Simualtion and CudaAgentModel.
The broad idea is that Simulation should be implementation agnostic, e.g. there could be a CUDA implementation, an OpenMP implementation, etc).
Currently however, this is only partial. I.e. FLAMEGPU_HOST_API invokes several CUDA commands through the random manager, (which is aware of both host random and device randoms), the environmentManager (which is also cuda aware and references curve).
To resolve in the "correct" fashion, full separation of concerns needs to be imposed, coupled with changing the order of operation within simulation / CUDAAgentModel such that argument parsing is one of the first operations.


which is the latest tectonic version?

Tectonic Version
1.7.x
Other Information
On https://coreos.com/tectonic/docs/latest/install/bare-metal/index.html
in chapter 4.  Tectonic Installer is a link to https://releases.tectonic.com/tectonic-1.7.3-tectonic.1.tar.gz
However on https://coreos.com/tectonic/docs/latest/install/bare-metal/
in chapter 4. Tectonic Installer the link goes to https://releases.tectonic.com/tectonic-1.7.1-tectonic.2.tar.gz
Also under https://coreos.com/tectonic/docs/latest/ is tectonic-1.7.1-tectonic.2 as latest version given.

@sgrund42 Thanks for reporting this.
@coreos/team-docs This looks like a bug in the docs.

Sorry for the confusion @sgrund42, the 1.7.3-tectonic.1 had a bug in it that was discovered late on Friday and we decided to roll back the docs so folks weren't installing a broken release over the weekend. You might have hit a temporarily cached page.
Look for an updated 1.7.3-tectonic.2 very soon.

Thanks for Your quick response. As far as I can see are the doc now correct.
I will close this issue.


Added Currency check to Button

Button currency check added to function as a vending machine

Nice, will dive into it a bit more soon, but looks promising!
Could you upate it to fit in the changed /addon/ directory strucutre?

Closing as reworked PR into #314 to comply with new structure


Error building protogen...

See the compiler output below. Is this a known issue compiling with g++?
g++ -I. -I./ProtoGenTestCPP -I./ProtoGenInstall -I./ProtoGenTest -I./Novatel -I./.git -I./.git/logs -I./.git/logs/refs -I./.git/logs/refs/remotes -I./.git/logs/refs/remotes/origin -I./.git/logs/refs/heads -I./.git/info -I./.git/objects -I./.git/objects/info -I./.git/objects/pack -I./.git/branches -I./.git/refs -I./.git/refs/remotes -I./.git/refs/remotes/origin -I./.git/refs/tags -I./.git/refs/heads -I./.git/hooks -I./tinyxml -I./prebuiltSources -MMD -MP --std=c++17  -c protocolbitfield.cpp -o protocolbitfield.cpp.o
protocolbitfield.cpp: In static member function ‘static std::__cxx11::string ProtocolBitfield::getInnerDecodeString(const string&, const string&, int, int)’:
protocolbitfield.cpp:302:96: error: ‘std::basic_ostream::__ostream_type {aka class std::basic_ostream}’ has no member named ‘str’; did you mean ‘setf’?
mask = " & 0x" + toUpper((std::stringstream() << std::hex << maxvalueoffield(numbits)).str());
^~~
setf
protocolbitfield.cpp: In static member function ‘static std::__cxx11::string ProtocolBitfield::getComplexDecodeString(const string&, const string&, const string&, const string&, int, int)’:
protocolbitfield.cpp:353:112: error: ‘std::basic_ostream::__ostream_type {aka class std::basic_ostream}’ has no member named ‘str’; did you mean ‘setf’?
std::string mask = " & 0x" + toUpper((std::stringstream() << std::hex << maxvalueoffield(leadingbits)).str());
^~~
setf
Makefile:20: recipe for target 'protocolbitfield.cpp.o' failed
make: *** [protocolbitfield.cpp.o] Error 1

I have similar errors when compiling under mingw8.1. According to the intertubes this is a known bug in gcc 8. The protogen code compiles cleanly under both clang and msvc.

I just realized your error did not occur in compiling ProtoGen, but in the code output by ProtoGen (the test app in this case). So my comment above is bogus.
Again I can reproduce this error using minGw. It also appears to be a compiler problem specific to gcc. However there may be a workaround that I can implement.

This post discusses the problem:
https://stackoverflow.com/questions/27391205/can-a-temporary-stringstream-object-be-used
The solution proposed in that post does work (namely static_cast to the correct type). I'll update ProtoGen to output the cast.

The most recent commit (version 3.1.d) generates code that is compatible with GCC (as well as MSVC).


CFDE: Favorite terms and rows

To support the favorites feature, we need to consider what places we want an indicator that a vocabulary term is favorited. Some of the potential places include:
requirement for August deadline (Epic 3)

in the facets on left of recordset app

shown below in the attached image

show favorited options on load
on hover, show a star users can click to toggle whether the entity/term is a "favorite"
this will have no effect on the sort order (favorites won't show first)

should this translate to all facets in other recordset popups?

only in show more popup

In the CFDE system, each favorite is stored in a table named corresponding to the entity the favorite is for, for example:

favorite_anatomy
favorite_assay_type
favorite_data_type

configuration:

add a property (user_favorites) to the new table-config annotation (detailed here) on the leaf table to point to the favorite table

when defined, allow favoriting on entities for this leaf table

child object, storage_table, that is the same as the savedQueryConfig.storageTable which tells the UI where to save and fetch favorites from"tag:isrd.isi.edu,2021:table-config": {
   "user_favorites": {
     "storage_table": {
        catalog: "registry",
        schema: "CFDE",
        table: "favorite_anatomy"
     }
   }
}

More properties to add to the table-config to remove hard coded options:

https://github.com/nih-cfde/cfde-deriva/issues/214#issuecomment-902260380

Stretch goal 1

when viewing the vocabulary table as a recordset

suggestion was to be another icon in the action column (clicking favorites/unfavorites)
recordset/#1/schema:vocab_table recordset page
show more popup
foreign key picker
add pure and binary

on individual record pages

maybe a star indicator at top of page

Stretch goal 2

allow vocabulary term displaynames to include star that is "functional"?

Just for history purposes so we can track the changes, I'm going to mention the further changes that we did to fix some of the issues related to this feature:

https://github.com/informatics-isi-edu/chaise/commit/1546ef15662f0f735aeb144e2c0e22a70873786d: Use the new oncreate=skip API and error handling changes related to that. Also added a spinner to favorites to disallow users from sending multiple requests.
https://github.com/informatics-isi-edu/chaise/commit/0f1215b54db85b296ae37ab7f438614c3d7b1038: Fix a bug related to add pure and binary.
https://github.com/informatics-isi-edu/chaise/commit/6420d299bdc726b3bc029493f94340b6814d80f0 and https://github.com/informatics-isi-edu/chaise/commit/042a7eb6704209b595d2564f8bb653f49aa21fcd: Making sure state of favorites is consistent between different facets as well as facet popup.


private protected – does not allow internal access

private protected: The type or member can be accessed only within its declaring assembly, by code in the same class or in a type that is derived from that class.

Maybe I just misunderstood the punctuation here, so it is meant like:
The type or member can be accessed only within its declaring assembly⮆ : ⮄ by code in the same class or in a type that is derived from that class.
From private protected (C# Reference)

A private protected member is accessible by types derived from the containing class, but only within its containing assembly.

That is correct definition. private protected allows visibility to derived and base type within same assembly.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 8121f526-cfe4-091d-d031-2cdc274cd8ee
Version Independent ID: 76a389f6-b568-3568-6483-6df440f96f0c
Content: Access Modifiers - C# Programming Guide
Content Source: docs/csharp/programming-guide/classes-and-structs/access-modifiers.md
Product: dotnet-csharp
Technology: csharp-fundamentals
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Thanks @Uzivatel919
The definition from the language reference is more clear, and should be used here.

Thinking about language reference definition, I see there is not mentioned base (declaring) class. That is also wrong. Although anyone naturally expects that containing class has access to its member always. So, maybe it is slightly silent correctly.


Update to WA Tool TA Lab

Description of changes:
Update to WA Tool TA Lab built by @awswa
From sssalim branch pull req #712

Closing this PL asking @awswa to push to Master directly


plot --> Linux

Hi, does anyone know why this happens when I want to plot a directed graph?
I'm using IJulia notebook (Python3) on Ubuntu 14.10. and I have already installed graphviz...
to_dot has no method matching to_dot(::GenericGraph{Int32,Edge{Int32},UnitRange{Int32},Array{Edge{Int32},1},Array{Array{Edge{Int32},1},1}}, ::Pipe)
while loading In[23], in expression starting on line 1
in plot at /home/nives/.julia/v0.3/Graphs/src/dot.jl:86

I am getting the same error on a Windows 8 system in Julia REPL and IJulia.
Once I switched the neato -T flag (Issue 172) I immediately received
`to_dot` has no method matching to_dot(::GenericGraph{Int64,Edge{Int64},UnitRange{Int64},Array{Edge{Int64},1},Array{Array{Edge{Int64},1},1}}, ::Pipe)
while loading In[4], in expression starting on line 1

 in plot at C:\Users\[user]\.julia\v0.3\Graphs\src\dot.jl:87

Currently line 87 in dots.jl is set to
stdin, proc = open(`neato -Tpng`, "w")

which should not be a problem on my system.

Change line 88 in dot.jl like this:
to_dot(g, stdin, AttributeDict())
It should be fixed after that :)

I bet!
</
<EMAIL_ADDRESS>/>

On Jun 7, 2015, at 12:17, nsabic<EMAIL_ADDRESS>wrote:
Change line 88 in dot.jl like this:
to_dot(g, stdin, AttributeDict())
It should be fixed after that :)
—
Reply to this email directly or view it on GitHub.


Add Setpoint units

Fixes part of #498 by adding a setpoint units which .are propagated to units for the setpoint data arrays
Done on top of #500 so that should be merged first
Needs some testing I think

Good idea with testing!

The underlying bits are so spaghetti that having a test will just make it a lot easier to understand what's going on 🗡

Yes especially _parameter_arrays is more complicated that it needs to be.

Should remember to add this to meta_attrs


Added support for NFD_PickFolder

Notice this currently uses the devel branch of on NFD. I’m not sure we want to use this or not but I wanted to PickFolder support for my own use case.

@saurvs Could you check it?
I've tested it, works fine!


Block storage reported in GBytes instead of Bytes

Description
The cASO storage accounting definition specifies that the fields ResourceCapacityAllocated and ResourceCapacityUsed are sent in bytes. cASO sends it in GBytes.
Versions
4.1.1

Hi @thebe14 can you confirm this is true? In https://github.com/IFCA/caso/blob/master/caso/messenger/ssm.py#L139 the capacity is translated into bytes.

I missed that. But this is a bad practice. The record should be built in one place, not altered by the _push_message_* methods. Not to mention that that is not the only capacity field in a storage record. Will move this multiplication to the right place.

@thebe14 yes, I agree with you.
We will fix this when we move to Pydantic 2, with full support for computed fields.


Collect Log with java agent (#6127)

[ ] If this pull request closes/resolves/fixes an existing issue, replace the issue number. Closes #.
[ ] Update the CHANGES log.

@elk-g  I would help u  to finish this PR.

@elk-g  I would help u  to finish this PR.

You still have UT failure, please fix.

You still have UT failure, please fix.

@elk-g  please use mvn clean package -Pall to find the error units.

@elk-g  please use mvn clean package -Pall to find the error units.

2021-01-17T09:08:19.9531484Z [ERROR] Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:3.1.1:shade (default) on project apm-toolkit-logging-common: Error creating shaded jar: duplicate entry: META-INF/services/org.apache.skywalking.apm.dependencies.io.grpc.ServerProvider -> [Help 1]

Seems you are facing package issue?

2021-01-17T09:08:19.9531484Z [ERROR] Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:3.1.1:shade (default) on project apm-toolkit-logging-common: Error creating shaded jar: duplicate entry: META-INF/services/org.apache.skywalking.apm.dependencies.io.grpc.ServerProvider -> [Help 1]

Seems you are facing package issue?

2021-01-17T09:08:19.9531484Z [ERROR] Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:3.1.1:shade (default) on project apm-toolkit-logging-common: Error creating shaded jar: duplicate entry: META-INF/services/org.apache.skywalking.apm.dependencies.io.grpc.ServerProvider -> [Help 1]

Seems you are facing package issue?

2021-01-17T09:08:19.9531484Z [ERROR] Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:3.1.1:shade (default) on project apm-toolkit-logging-common: Error creating shaded jar: duplicate entry: META-INF/services/org.apache.skywalking.apm.dependencies.io.grpc.ServerProvider -> [Help 1]

Seems you are facing package issue?

2021-01-17T09:08:19.9531484Z [ERROR] Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:3.1.1:shade (default) on project apm-toolkit-logging-common: Error creating shaded jar: duplicate entry: META-INF/services/org.apache.skywalking.apm.dependencies.io.grpc.ServerProvider -> [Help 1]

Seems you are facing package issue?

Yes, there are some problems in using maven-shade-plugin in toolkit. When I add maven-shade-plugin in toolkit module,  it will occur Error creating shaded jar: duplicate entry. But  when I remove this plugin,  other checks will fail and occur a compilation problem.  How should I use the maven-shade-plugin in toolkit module?

2021-01-17T09:08:19.9531484Z [ERROR] Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:3.1.1:shade (default) on project apm-toolkit-logging-common: Error creating shaded jar: duplicate entry: META-INF/services/org.apache.skywalking.apm.dependencies.io.grpc.ServerProvider -> [Help 1]

Seems you are facing package issue?

Yes, there are some problems in using maven-shade-plugin in toolkit. When I add maven-shade-plugin in toolkit module,  it will occur Error creating shaded jar: duplicate entry. But  when I remove this plugin,  other checks will fail and occur a compilation problem.  How should I use the maven-shade-plugin in toolkit module?

Let's merge #6214 first, it waits for a little long.

Let's merge #6214 first, it waits for a little long.


use trpc-pokemon in examples

instead of using local server, use https://github.com/sachinraja/trpc-pokemon. it doesn't seem to work in v10.

This works now! You'll have to refresh (disable and re-enable) the cache though.

Ah, I see > refresh the cache.
Working well. Thanks!


Fix deprecated methods on HomepageTest

When running phpunit just after the install of Slim-Skeleton I'm receiving some warnings from phpunit about the methods assertContains and assertNotContains that will be deprecated in PHPUnit 9.
Issue:

This PR aims to fix the issue with those methods.
Fix:

Thanks for your contribution!


Restricting compilation logging to primary instance

Restricting compilation and package management logging to primary instance

@mathewc finally got this updated. We now have a single TraceWriter, which is set to the new ConditionalTraceWriter and the conditional logic depends on a TraceEvent property and the IsPrimary flag.

:ship: I'm waiting for this to get in for the work I need to do :)

Merged.


debugging code for pipe problem

@zanderz can you run with these debug output printfs and tell me what happens?

:mag_right: The commits 998b59331f39...c862e92c5a2e introduced some visual changes on linux:

Changed: unlock_folders-Success (before) (after)

Changed: unlock_folders-Single (before) (after)


Treat ordinals more appropriately in Gower distance

Currently ordinals are treated as interval variables. They should actually be transformed to their corresponding position indices (absolute difference has no meaning) with those indices treated as interval variables. If all data type are Comparable we could assume natural order.

We also need to assume then that al values occur.


After updating from 4.0.x to 4.1.2 application asks wrong Spring Profile

My application uses Spring Config Server.
In application.yaml there is no spring.profiles.active property.
Active profiles is passed through env variables in gitlab CI.
After upgrading spring-cloud-config-client library upto 4.1.2 version I faced an issue.
Logs in application:
Located environment: name=NAME, profiles=[prod], label=null, version=a56ea361ee44, state=null

But it asks Config Server with DEFAULT profile.
How can it happen?

Oh... My colleague have just found this update https://github.com/spring-cloud/spring-cloud-config/commit/8e090b971338899ae2b1efb51c3fff7d7a8bd61f#diff-0b163e7aa4ac496d637a29fb55fb224c53c473a8c9902472819adff2ef27e0bb
And now I understand that it is a normal behavior.
So... it is not a bug, it is a feature now. :)


Grid system enhancements

Add css support for column definitions on grid container. This would eliminate the need to set a size on each grid item, while maintaining the ability to override size on any grid item.

Add sass maps to variables.scss
Create column definitions for grid container, including responsive definitions .pf-l-grid.pf-m-all-{1-12}-col

Update grid GridMediaQuery() mixin in src/patternfly/layouts/Grid/styles.scss.

change this:

@else if $point == "sm" or $point == "" or $point == null {
  @media screen and (min-width: $pf-global--breakpoint--sm) {
    @content;
  }
}

to this:

@else if $point == "sm" {
  @media screen and (min-width: $pf-global--breakpoint--sm) {
    @content;
  }
}

and add this

@if $point == "" or $point == null {
  @content;
}

:tada: This issue has been resolved in version 1.0.13 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Conda-Store Environments Return None

Conda-Store environments return "None" for spec and build since they are not built at time yet.
The bigger discussion around this is: "What do we call environments that haven't had successful builds yet?"
cc: @costrouc

Closing as needs more information.


Update deprecation notes about v1 registry

Adds section about the hub deprecating the v1 protocol. Adds note about intent to disable by default and remove support.
Change the wording Though disabled by default, to Though enabled by default, since the current default is disabled equal to false, or enabled. I found this confusing, but there might still be a better way to word it to make it clearer.
I choose 1.14 as disabled by default since we are already in freeze for 1.13 and making such a change seems unnecessary. We did add the flag in 1.9 but did not mention when the default will change, however I don't believe that means we need to wait 3 more releases to change the default if we are already waiting 3 to remove.
follow up to #28100
ping @nwt @dmp42

@thaJeztah formatting updated


Interface Position

Hi,
I'm not sure I would call this is "an issue", so please forgive me if this is wrong place to post this.
Ever since the upgrade (I'm using the latest version, 2.2.6), the interface list on each device is showing on the bottom of the page.
To me, this is tedious as this section is the most important (and awesome) feature.
Is there any way to rearrange the layout in a device?
I think it would make an excellent feature with regards to customization and flexibility.
Please let me know if I can move the interface pane to a higher position on the page.
Thanks.

The interface list was moved down to provide sufficient horizontal space to include more detail in the table (description, MAC address, etc.). We could maybe move some of the other panels (e.g. images and related devices below it), but there's not enough room to squeeze anything next to it.


Migrate library from Proguard to R8 will [CRASH] the library

Here it is the sample project that proves the EventBus is crashing the app when using newest tool R8. By default R8 is enabled in Android Studio 3.6.1. ProGuard is not used anymore since is deprecated.
Sample Project
How do we solve the issue to keep @Subscribe annotation methods using R8?
gradle file:
    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
        }

gradle.properties file:
org.gradle.parallel=true

android.useAndroidX=true
android.enableJetifier=true

runProguard=false

#625 #616

https://stackoverflow.com/questions/60976867/migrate-eventbus-library-from-proguard-to-r8-will-crash-the-subscriber

I just forget to include the path:
 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'


updated package.json

Task linked: RND-2894 Update and test all active themes

Task linked: RND-2894 Update and test all active themes


TrustSettings does not support iOS

The SecTrustSettingsCopyTrustSettings seems to only support macOS instead of iOS, which cause us to have a link error.

Thanks. I've released 0.3.3 with this set as macos-only

Thank you!


NPC Trading and Money

Need to add support for NPCs and money handling. This should be done probably with more global variables, one (or more) display functions in display.c and some logic in the switch(event.key.code) block.

Money support added by commit 11a35c542c9b6a69455ca1091bda6340f38ce0eb -- closing even though not in master branch


x-as-service example error with jina 0.6.8

When run 'python app.py' in x-as-service example with the latest jina 0.6.8, it shows error as below. Need help to fix the problem.
Appreciate your attention.
(py37-jina) sz@pc:/mnt/d/jina/examples/x-as-service$ python app.py
           spit@9130[I]:post initiating, this may take some time...
           spit@9130[I]:post initiating, this may take some time takes 0 seconds (0.00s)
           spit@9130[S]:successfully built Sentencizer from a yaml config
           spit@9130[I]:setting up sockets...
           spit@9130[I]:input tcp://<IP_ADDRESS>:60713 (PULL_BIND)    output tcp://<IP_ADDRESS>:34655 (PUSH_CONNECT)       control over tcp://<IP_ADDRESS>:42561 (PAIR_BIND)
           spit@9130[S]:ready and listening
         encode@9135[I]:post initiating, this may take some time...
         encode@9135[I]:post initiating, this may take some time takes 0 seconds (0.00s)
         encode@9135[S]:successfully built BaseExecutor from a yaml config
         encode@9135[I]:setting up sockets...
         encode@9135[I]:input tcp://<IP_ADDRESS>:34655 (PULL_BIND)    output tcp://<IP_ADDRESS>:57779 (ROUTER_BIND)        control over tcp://<IP_ADDRESS>:58929 (PAIR_BIND)
         encode@9135[S]:ready and listening
         encode@9140[I]:post initiating, this may take some time...
         encode@9140[I]:post initiating, this may take some time takes 0 seconds (0.00s)
         encode@9140[S]:successfully built BaseExecutor from a yaml config
         encode@9140[I]:setting up sockets...
         encode@9140[I]:input tcp://<IP_ADDRESS>:49929 (PULL_BIND)    output tcp://<IP_ADDRESS>:38427 (PUSH_BIND)  control over tcp://<IP_ADDRESS>:52495 (PAIR_BIND)
         encode@9140[S]:ready and listening
         encode@9145[I]:waiting ready signal from the container
         encode@9145[I]:usage: jina [-h] [-v] [-vf]
         encode@9145[I]:{hello-world, pod, flow, gateway ... 6 more choices} ...
         encode@9145[I]:jina: error: unrecognized arguments: --port-expose 51857
         encode@9145[S]:terminated
         encode@9111[C]:fail to start <class 'jina.peapods.container.ContainerPea'> with name encode-1, this often means the executor used in the pod is not valid
Traceback (most recent call last):
  File "app.py", line 29, in <module>
    with f:
  File "/home/sz/py37-jina/lib/python3.7/site-packages/jina/flow/__init__.py", line 444, in __enter__
    return self.start()
  File "/home/sz/py37-jina/lib/python3.7/site-packages/jina/flow/__init__.py", line 500, in start
    self.enter_context(v)
  File "/usr/lib/python3.7/contextlib.py", line 427, in enter_context
    result = _cm_type.__enter__(cm)
  File "/home/sz/py37-jina/lib/python3.7/site-packages/jina/peapods/pod.py", line 242, in __enter__
    return self.start()
  File "/home/sz/py37-jina/lib/python3.7/site-packages/jina/peapods/pod.py", line 376, in start
    return super().start()
  File "/home/sz/py37-jina/lib/python3.7/site-packages/jina/peapods/pod.py", line 212, in start
    self.enter_context(p)
  File "/usr/lib/python3.7/contextlib.py", line 427, in enter_context
    result = _cm_type.__enter__(cm)
  File "/home/sz/py37-jina/lib/python3.7/site-packages/jina/peapods/pea.py", line 424, in __enter__
    return self.start()
  File "/home/sz/py37-jina/lib/python3.7/site-packages/jina/peapods/pea.py", line 417, in start
    raise PeaFailToStart
jina.excepts.PeaFailToStart

Hello @yiouyou
As per the webqa-search example:
Due to the speed of our development and the amount of examples we have in the repository, we are not supporting every example for every version. As you can see in the requirements, this needs jina version 0.4.1 and therefore it is not ready to be used with the most recent 0.6.8 version.
Many breaking changes have happened between these releases.
Is there a special reason to have interest in this specific example and this version? We have other examples where we have kept better adapted to newer versions.
Thanks

@JoanFM which example does adapt newer version better? I'd like to try. After learning, maybe I can find a way to fix those breaking changes.

Hey @yiouyou,
You can try southpark example, multilyrics search, cross-modal search or object search.

Just a quick follow-up here: x-as-service has been moved to our legacy-examples repo and is no longer maintained. I'll close this issue.

Just a quick follow-up here: x-as-service has been moved to our legacy-examples repo and is no longer maintained. I'll close this issue.


F450 with Pixhawk 3 Pro v1.7.0-rc3 crash

Flight of DJI F450 with Pixhawk 3 Pro autopilot using v1.7.0-rc3 (66d4a1b3)
The pilot reported the vehicle took off, switched to Auto, reached the first waypoint and it started to climb above 300 meters, the pilot commanded RTL through QGC, the vehicle started to move towards home position but kept gaining altitude. The pilot sent land command through QGC but the vehicle didn't respond, it only responded to RC roll so the pilot engaged the kill switch.
Log
@dagar

What history does this vehicle have? Does it have previous successful flights?
In mission mode when it was stuck in the climb the commanded throttle (blue line) went to the minimum (12%).

Combined with the relatively high PWM_MIN of 1230 us the minimum motor outputs were around 1300us.

Which ESCs does this vehicle have? Do they need to be calibrated? I would start with a short manual (stabilized) checkout flight.

That vehicle had previous successful flights with v1.7.0-rc1 (3744cac)
https://review.px4.io/plot_app?log=be5c0de0-606e-4279-b196-327e76d08d13
https://review.px4.io/plot_app?log=c8b76678-ccba-424b-9d7a-83e87428e8e2
https://review.px4.io/plot_app?log=ac3eb2a8-e718-4a24-9044-a64320994d67
https://review.px4.io/plot_app?log=29d7b3ee-3a91-469c-910f-6e3a1b77ba43
https://review.px4.io/plot_app?log=344bef4b-1f2e-4047-8503-6e16028db80b
https://review.px4.io/plot_app?log=7fbe2e3e-60b9-4678-b760-ca7511745e1d
https://review.px4.io/plot_app?log=b69c8474-9cb4-44e5-bc4d-de8be8c9f968
https://review.px4.io/plot_app?log=38a302bd-0cbd-4cc4-a885-f2036a086304
https://review.px4.io/plot_app?log=0ccc1b69-8b09-430f-a994-7ea2c9cb5091
https://review.px4.io/plot_app?log=c9686972-8334-4c33-ad8d-38b612798308
These are the ESCs used on this vehicle. All calibrations performed.

@dagar  Is the green line a set height for the current task?  thanks :smiley:

@MaEtUgR @Stifael Could you please have a look?

Let's go over this again in detail tomorrow, but so far it looks like a physical setup issue. In the previous flight logs the nominal pwm output in a climb, hover, or forward flight is higher than the "flyaway" value in this log.

@Stifael Could you take another pass?

There is not much I can add to what @dagar  already mentioned.
I looked at the entire pipeline:
for auto:
position setpoint -> velocity setpoint -> thrust setpoint -> thrust magnitude from vehicle_rates_septoint_s -> actuator controls -> actuator outputs
for manual:
stick inputs -> velocity setpoints -> ... (as above)
All the above messages seem to be correct in terms of flight intention and control outputs (they all go basically to the minimum).
@r0gelion do you know why the pwm minimum is set to 1230? Was it set that high on purpose? Is there anything that changed in between the crash and the previous flights such as weight? In the log files from previous flights the average pwm output is around 1500, but in the crash log the pwm output is in average at around 1325.

@Stifael The PWM min is set to 1230 because it's the minimal value of the DJI ESCs and they don't support calibration.
If fact, that could be the issue: the ESCs are not the DJI ones. With this value, the lifting system produces more thrust than the weight of the drone.

Closing as misconfigured.


update karaf version to 4.3.5 currently for testing purposes

As per title

already done in PR 1287

HI @zan-mateusz this other PR cover the bumping to Karaf 4.3.5: https://github.com/apache/brooklyn-server/pull/1287 and also the internal reference to Logback.
In this you updated the repos but you missed do the version change for Karaf itself.


Use Hyperlinks in the personal access token doc – Link 2

Is there a reason, why the docs explain how to get there in word and image … without linking to the docs? #Hypertext

Why:
Because it is easier to click than to follow text and image descriptions. And because of the hyper in HTML.
What's being changed:
…
Check off the following:

[ ] I have reviewed my changes in staging (look for the latest deployment event in your pull request's timeline, then click View deployment).
[ ] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):

[ ] This pull request impacts the contribution experience

[ ] I have added the 'writer impact' label
[ ] I have added a description and/or a video demo of the changes below (e.g. a "before and after video")

Please feel free to squash this with https://github.com/github/docs/pull/10199

@tordans
Thanks so much for opening a PR! I'll get this triaged for review :zap:

Thanks for this suggestion, @tordans. Because these docs are used for multiple GitHub products (for example, the on-premises GitHub Enterprise Server, and also GitHub AE), adding links to settings that are only for GitHub.com would not work  for our other products.

Because these docs are used for multiple GitHub products (for example, the on-premises GitHub Enterprise Server, and also GitHub AE), adding links to settings that are only for GitHub.com would not work for our other products.

@lucascosti do the links change for those products or just the domains? This sounds to me like the docs could get a configuration setting that allows to link to the given page. Or maybe relative links would work?
In any case, I want stress the point that right now you have a full page of screenshots and text that you need to update and translate just to replace one (likely configurable) link – a lot of effort and still the UX is worse.
Anyways, thanks for the feedback :wave:.


mi2ly: fix build and refactor

Motivation for this change
initially i wanted to cleanup the file, but noticed it was broken.
By adding NIX_CFLAGS_COMPILE = [ "-fgnu89-inline" ]; it compiled sucesfully. @7c6f434c can you confirm it still works?
Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

@ofborg eval

It does, thanks!


Rename FirebaseUser and various fixes for Firebase v4

Breaking change:

User is renamed to FirebaseUser
UserCredential is renamed to FirebaseUserCredential
AdditionalUserInfo is renamed to FirebaseAdditionalUserIno
UserInfo is renamed to FirebaseUserInfo

Changes made:

Formatted using Prettier
projectId & databaseURL of FirebaseConfig is now optional
Refactor class Query (extracted #FirebaseDatabaseCallback)
Reference#push() returns a Promise or ThenableReference

Btw thanks for adding the firebase flow stuff! It's definitely nice to be able to have flow types with firebase. (: Also just a suggestion for the future but it would be easier to review if you split the prettier into a separate commit. Then add your changes on top or vice versa.

@kennethtruong @stevenyap
I've got not experience with firebase-js.
I would need your help wether this should be merged or not.
Especially regarding the FirebaseValue.
Could you two decide wether any or not should be used?
Once that is decided I can merge this PR.

@marudor ok we will discuss a bit more and let you know again
@kennethtruong I have replied to your issue about the update function... if the fix for update works, we can go ahead with FirebaseValue as {}  | Array<FirebaseValue>  | string  | number  | boolean | null
While I understand that any will resolve many issues for developers, it defeats the purpose of using flow because we won't be able to catch type issues when we cast it to any.

@stevenyap I really appreciate you taking the time in looking through my use cases and thanks for fixing the update method! That did solve one of my issue.
If there was a good solution for the below code I think I will be fine with your PR.
/* @flow */
type FirebaseValue = {} | Array<FirebaseValue> | string | number | boolean | null;

class Test {
  workbook: { connection: { label: string } };
  snap = (snapshot: FirebaseValue) => {
    if (snapshot instanceof Object) {
      if (snapshot.connection && snapshot.connection instanceof Object) {
        if (typeof snapshot.connection.label === 'string') {
          this.workbook = snapshot;
        }
      }
    }
  }
}

I get this error from flow.org/try
10:           this.workbook = snapshot;
              ^ property `connection`. Property not found in
10:           this.workbook = snapshot;
                              ^ Object

Two things to take into context before you read my solutions are:

Please note that an Array is actually an object in JS so type checking or refinement should take that into consideration.
You should know what is type refinement

Your code looks valid and therefore I guess that the error is with flow.
It seems that Flow object refinement is limited to simple if statements and nested if statements do not work (See https://github.com/facebook/flow/issues/3614#issuecomment-290622704)
Here's an example to rewrite your code in simple if statements that works:
/* @flow */
// I need to change {} to { [key:string]: FirebaseValue } else flow will complain
type FirebaseValue = { [key:string]: FirebaseValue } | Array<FirebaseValue> | string | number | boolean | null;

class Test {
  workbook: { connection: { label: string } };
  snap = (snapshot: FirebaseValue) => {
    if (snapshot == null || typeof snapshot !== 'object' || Array.isArray(snapshot)) return null

    const { connection } = snapshot
    if (connection && typeof connection === 'object' && !Array.isArray(connection)) {
      const { label } = connection

      if (typeof label === 'string') {
        return snapshot // no error
      }
    }
  }
}

There are other strategies to solve it too.
One way is to simply re-define the returned object:
// Simplest workaround
/* @flow */
type FirebaseValue = {} | Array<FirebaseValue> | string | number | boolean | null;

class Test {
  workbook: { connection: { label: string } };
  snap = (snapshot: FirebaseValue) => {
    if (snapshot instanceof Object) {
      if (snapshot.connection && snapshot.connection instanceof Object) {
        if (typeof snapshot.connection.label === 'string') {
          // this is the only change: return a definite shape of the object
          this.workbook = { connection: { label: snapshot.connection.label }};
        }
      }
    }
  }
}

Finally, I was wondering why I did not hit this problem since I am using the typedefs too. I am guessing the reason is that I am using Ramda and functional programming in my app, so I rarely use type refinement but instead use functions to transform the variables. Flow can track the types easily via functions. Here's an example to demonstrate it:
/* @flow */
type FirebaseValue = {} | Array<FirebaseValue> | string | number | boolean | null;

/* @flow */
// Return value if it is an object else return null
const toObject = (value: any): ?Object => value && typeof value === 'object' && !Array.isArray(value) ? value : null

type Workbook = { connection: { label: string } }
class Test {
  workbook: ?Workbook;
  snap = (snapshot: FirebaseValue): void => {
    // flow won't complain as long as your snapshot is an object
    // because Workbook is an inexact type meaning the object can always be changed
    this.workbook = toObject(snapshot)
  }
}

DataSnapshot from the firebase is the first point into our application and it is indeed a chaotic type because it can really be anything like null or a string instead of an object, etc. I am actually very grateful to flow for pointing this out and forces us to add more checks around it to create a safer app.

Thanks for looking into it! Hmm I'm not entirely sure if those are good solutions. One thing I noticed when you talked about using functions to transform your variables, is that in const toObject = (value: any): ?Object => value && typeof value === 'object' && !Array.isArray(value) ? value : null It's doing a cast to any which seems to defeat the purpose of having the FirebaseValue.
(Also first example doesn't show the type refinement since its just returning the value without setting it to the variable.)
Seeing your second example is a workaround for me but I'm not sure about the benefits with FirebaseValue here.
I still don't believe the FirebaseValue is necessary because if you have good typedefs throughout your app you shouldn't see an incorrect type. And if the user does get a value that isn't what is meant to be based on the type you're expecting.. the app is already broken which will happen either way if you did type checking or not. Flow didn't help catch it during compile time which is what I believe what flow is for. Though in the end my app would have thrown an error either way if the values didn't match. (Note: we're planning on doing is making a script that checks our database to make sure that all the values are correct. So we essentially will catch all the areas where the values won't be correct if there is going to be any.)
Another reason why I want to use any is because in the official firebase js library it shows that they're just using type any.
https://github.com/firebase/firebase-js-sdk/blob/master/typings/firebase.d.ts#L242
also in the typescript equivalent of flow-typed is also type any
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/firebase/index.d.ts#L20
But seeing how the official firebase library uses only any in their typescript means that they probably don't see the benefits in trying to add all the values that it could be probaby?
Sorry if I'm being stubborn but I would like a second opinion if possible.

Thanks for pointing out the mistake! I have removed the example for the sake of not misleading other developers.
const toObject = (value: any): ?Object => value && typeof value === 'object' && !Array.isArray(value) ? value : null does not cast it to any... in fact, it checks that ONLY object is allowed and ensure it is also not an Array. It is a kind of type refinement which is part of the reasons why we are using flow.
I don't agree with typescript definition. To me, any is the last resort if there are no solutions to work around. However, we do have workarounds which maintain the benefits of type safety.

And if the user does get a value that isn't what is meant to be based on the type you're expecting.. the app is already broken which will happen either way if you did type checking or not. Flow didn't help catch it during compile time which is what I believe what flow is for. Though in the end my app would have thrown an error either way if the values didn't match.

In theory, if we define ALL the possible type of value we are expecting in all cases (like FirebaseValue), then our app will never break because of type error. However, in practice, it is not perfect because Flow is still in development (eg type refinement is not so good) and there are limitations to static analysis type checker. That's why sometimes you don't see Flow catching errors for you. But if we don't type our values as accurately as possible (eg. FirebaseValue), we are not giving Flow a better chance to catch the possible type errors for us. Don't forget that the Flow is always improving.. we may not need our workarounds in the future releases but the types never change.
So can we go ahead with FirebaseValue = {} | Array<FirebaseValue> | string | number | boolean | null?
PS: I can be quite stubborn too sometimes haha :)
@PCreations: Would love to hear your thoughts on this.

Ya I just can't agree after thinking about it I started to look at how Facebook gives their response type for fetch requests which is the equivalent of firebase's .val(). They also use type any
https://github.com/facebook/flow/blob/master/lib/bom.js#L898
The json response can't be a function and yet they kept it as any. I think you're making FirebaseValue is be too restrictive. The fetch response should pretty much be the equivalent to what .val() should return. I'm pretty sure most people are not checking if their API response is the correct response and type.
Another example is JSON.parse
https://github.com/facebook/flow/blob/fa77d91c52ecc68d17ff0c82c94613abbb10499b/lib/core.js#L536
I don't believe you can get undefined nor a function from it yet it still type any.
I don't think this FirebaseValue has to be strict at all and by checking this in. It makes it a lot harder to use the firebase API with flow. I actually feel like this causes me to lose a lot of benefit with flow because its adding all these extra checks when I figure out if there was errors with or without the checks. If Facebook had given the fetch response a non any value I would agree with you but everything I've seen with flow or typescript seems to be pointing that it should be type any.

i would love to hear more opinions but i guess we would be wasting too much time discussing over it. When you gave the reference to JSON.parse and .json(), I felt there could be other reasons that I am not aware of.
So let's go with FirebaseValue: any for now. :)
I have updated the PR.
@marudor: Please assist to merge the PR.

Thanks @stevenyap! Ya I felt bad that we spent so much time in discussing this. But I do appreciate you taking the time to update everything!

There we go :)
Thank you two for discussing it to come up with the best option (for now)

It was a great discussion and necessary so that we can all make the best decision for the community! :)


Remove section: "Obtain Values Required to Connect Function to the IoT Hub"

No longer needed in the instructions as the process has been streamlined.

fixed


Run training fingerprinting via the CLI

Description of Problem:

Request to be able to create fingerprint.json file via the CLI without having to run rasa train. Feature will make it easier to run CI checks against Rasa assistant code changes.
Overview of the Solution:

Exposing a CLI command to generate fingerprint.json, something along the lines of rasa fingerprint or rasa train --fingerprint
Examples (if relevant):

Blockers (if relevant):

Definition of Done:

@tmbo Is this something we could include in 2.0? NIB has been asking for this for a while, and I think something like it makes sense. The workflow for checking if a model needs to be trained is cumbersome right now because you have to diff check the config, training data, domain file, and Rasa version today

yes I think this should be easy enough to add and I'd agree this does seem useful.

decided to add this to 2.1 milestone, as it's a new feature and shouldn't be release blocking for 2.0

@TyDunn Is there any update on this? The same customer is asking about this feature again, but it looks like it's been pushed to the 2.2 milestone.

@b-quachtran There wre quite a bit of improvements we need to make smoothen out friction caused by 2.0, so we decided to do that in 2.1 before we adding new functionality in 2.2

@b-quachtran How about something like rasa train --dry-run which would give you a different status code in case the model needs re-training?

@wochinge Yes, that would be exactly what they're looking for 😄

Ok, so they have access to previously trained models when running rasa train --dry-run?

Yeah, they have previously trained models stored in S3 and are able to download that for dry runs.


[proposal] koordlet identifies and reports the numa stats

What is your proposal:
The koordlet should support identifying, collecting, and reporting the NUMA stats. e.g. The memory total of the numa node 0.
Why is this needed:
Currently, the koordlet reports the node memory usage without NUMA awareness while it does have part of NUMA information like CPU topology. For some QoS strategies like BECPUSuppress, it checks the cpu topology to pick a good binding result. However, for some platforms like ARM the NUMA locality can be essential for the app performance. The koordlet is expected to identify the NUMA stats and report them so that the NUMA locality problem can be better handled in the scheduling and QoS management. e.g. To balance the memory util between numa nodes when an LSR pod is scheduled.
Is there a suggested solution, if so, please add it:

Enhance the NodeResource plugin to collect the numa stats of the node.
Add the numa stats reporting in the NRT states informer.

/area koordlet


Add helpers

This change set introduces helpers to facilitate common tasks when setting tests in Kubernetes.
It also introduces a set of structured operations that work on typed objects (e.g. Pods) as opposed
to unstructured operations that work on generic objects. These structured operations are intended for
the helpers, to avoid the complexity of manipulating generic objects in go.

TODO: We need to try to find a way for the example scripts to be executed in the build pipeline as some sort of integration test.

TODO: We need to try to find a way for the example scripts to be executed in the build pipeline as some sort of integration test.

Totally agree. There is issue #48. I just added a comment on how e2e tests are implemented in xk6-disruptor. We could use that for running scripts as e2e tests.


Cannot use ed25519 or ssh-agent with homebrew's ssh

This is related to #242.
Using ed25519 with ssh-agent is almost possible on Mac OS X right now.
In particular, one can set up homebrew's ssh with:
$ homebrew brew tap homebrew/dupes
$ brew install openssh --with-brewed-openssl --with-keychain-support
$ launchctl stop org.openbsd.ssh-agent
$ launchctl unload -w /System/Library/LaunchAgents/org.openbsd.ssh-agent.plist
$ sudo vi /System/Library/LaunchAgents/org.openbsd.ssh-agent.plist
   - change /usr/bin/ssh-agent to /usr/local/bin/ssh-agent
$ launchctl load -w -S Aqua /System/Library/LaunchAgents/org.openbsd.ssh-agent.plist

One can then logout and log in/restart, or in each shell run $ export SSH_AUTH_SOCK=$(launchctl getenv SSH_AUTH_SOCK).
In theory this should get one up and running. However you will note in  /System/Library/LaunchAgents/org.openbsd.ssh-agent.plist the <string>-l</string> part that passes a -l option to ssh-agent. This is an undocumented argument honoured in the Apple version of ssh-agent but not on the homebrew version, and passing the argument causes the homebrew version to fail.
The problem is discussed on gossamer-threads/openssh, which highlights the portions inside #ifdef __APPLE_LAUNCHD__  of openssh/ssh-agent.c
There are no apparent work-arounds that I have seen; it looks like homebrew's ssh-agent has to be patched to support Apple's -l option.
Edit It is probably worth linking #428, #413, and #418 since at least the latter two may be addressed if this issue is resolved.

I can confirm that this is working for me as well.
sudo sed -i 's/\/usr\/bin\/ssh-agent/\/opt\/local\/bin\/ssh-agent/' /System/Library/LaunchAgents/org.openbsd.ssh-agent.plist

Then logout or do:
launchctl stop org.openbsd.ssh-agent
launchctl unload -w /System/Library/LaunchAgents/org.openbsd.ssh-agent.plist
launchctl load -w -S Aqua /System/Library/LaunchAgents/org.openbsd.ssh-agent.plist
export SSH_AUTH_SOCK=$(launchctl getenv SSH_AUTH_SOCK)

We won't be supporting the keychain patch going forwards.

Thats probably wise; thanks for the update, @DomT4
Cheers


Remove blank lines just inside describe blocks

For whatever reason, these seem to cause the metalua-based formatter (which seems to power every editor's Lua formatter) to add an extra indent level. This reformatting will allow an auto-formatter to be used in the test files.

Cool, more lua people writing tests with busted I suppose :+1:


:bug: Remove leftover merge comment

:rocket: deployed to http://profiles-pr-90.dev.c2s.nhschoices.net


tour: PgUp, PgDn and arrow buttons don't work in Microsoft Edge browser

Context: https://tour.golang.org/basics/1
Change the title above to describe your issue and add your feedback here, including code if necessary

Need someone who actually has a Windows 10 machine to address this.

This was fixed in aef6c80 but it looks like the tour hasn't been updated since that was merged a month ago.

I've re-deployed the tour. Let me know if the issue persists.


Implement Face Detection

Description
This PR adds a face detection node, addressing https://github.com/personalrobotics/ada_feeding/issues/27. It also addresses some issues with segment_from_point (python 3 typing errors and a function call that was possibly blocking realsense nodes).
Testing procedure
On the realsense camera (using t0b1/nano), I tested that the node starts and stops with the appropriate service call, and publishes mouth locations only when a face is detected.
Initialization:

SSH into nano@nano
On nano, start vision nodes:

ros2config
ros2 launch realsense2_camera rs_launch.py rgb_camera.profile:='640,480,30' depth_module.profile:='640,480,30' align_depth.enable:='true' initial_reset:='true'

On t0b1, launch the face_detection node:

ros2 launch ada_feeding_perception ada_feeding_perception_launch.xml

Listen to the /face_detection topic:

ros2 topic echo /face_detection

Testing:

For each of the following commands, run it and verify that it executes as expected.

Turn on face detection

[x] ros2 service call /ToggleFaceDetection ada_feeding_msgs/srv/ToggleFaceDetection "{turn_on: True}"
[x] The face detection node should receive this message and begin publishing information to /face_detection

Turn off face detection

[x]  ros2 service call /ToggleFaceDetection ada_feeding_msgs/srv/ToggleFaceDetection "{turn_on: False}"
[x] The face detection node should receive this message and stop publishing

Before opening a pull request

[ ] Format your code using black formatter python3 -m black .
[ ] Run your code through pylint and address (most) warnings/errors: pylint --recursive=y .

Before Merging

[ ] Squash & Merge

@amalnanavati Thanks for the bug catches! My lack of experience working with cv is showing 😆 Actually writing down a quick algorithm this time and will get this coded up on Monday when I'm back in town.

Tested it, made some slight changes but other than that it looks good.
I'm merging it in, but as a side-note I think the fact that camera subscriptions is unreliable will be a big problem for us. For example, if while running ada_feeding_perception_launch.xml, I also use the commond-line tool to check the hz of the aligned depth topic, that is one subscription too many and the face detection node stops receiving color images. We do need an in-depth investigation into when the problem arises, and whether a republisher (started in #49 ) can address it, and if so what the minimal set of topics to republish is.


Output All checks passed when fern check succeeds

Per Discord conversation w/ @dsinghvi:

When you run fern check today there is no output signifying that everything succeeded. It'd be nice if it would output All checks passed

Relevant File (where change should be made): https://github.com/fern-api/fern/blob/ec16010ab28b86ea2fb2d3cfb7733cf3f21ab0ce/packages/cli/cli/src/commands/validate/validateFernWorkspaceAndLogIssues.ts#L38
I'll pick this up @dsinghvi and will reach out via Discord if I have any questions once I've played a little to get used to the program itself.

@rscottlundgren are you still planning on implementing this?

hey @dsinghvi if @rscottlundgren is not working on this can i take this ? I've just gone through the code and workings of it,  also i've tested the above case locally (Attaching the images for ref.)
Also, I couldn't find any tests associated with it.

hey @dsinghvi if @rscottlundgren is not working on this can i take this ? I've just gone through the code and workings of it, i've tested the above case locally (Attaching the images for ref.)
Also, I couldn't find any tests associated with it.

This has been released! https://github.com/fern-api/fern/pull/2501


Unable to send notification

I am experiencing an issue where this pops up at the top of my screen.

Text reads Unable to send notification: Error calling StartServiceByName for org.freedesktop.Notifications: Failed to activate service 'org.freedesktop.Notifications': timed out (service_start_timeout=120000ms)

Oh, can u try to install
sudo Pacman -S pacman-contrib
And see if it works after that? Also if you are not using paru as your AUR helper, you can change the command in ~/.config/polybar/scripts/updates from paru to your AUR helper.  And then try to reboot and see if it works


Assess Stablecoin suitability (Dai, USDC, Paxos etc) and ask for help liquidating to Cornell

While Dai is really cool, I'd be partial to the stablecoins from regulated financial institutions in this case (which I believe the other two are)
The fluctuation potential in Dai could be disastrous for a long term loan.


SpinBox and Slider support float/double/something with decimals?

I tried to have a Slider and a SpinBox with floats and, altho they are represented, the callbacks are not being called.

Fixed: https://github.com/dddomodossola/remi/pull/51


The implementation of Codable for geometry types is not compatible with swift data

The implementation of Codable for geometry types is not compatible with SwiftData. Saving a model with a LineString as a property produces the following error:
SwiftData/ModelCoders.swift:286: Fatal error: Composite Coder only supports Keyed Container

I have an branch that fixes this, but I think it changes how things are serialized, so it does not serve as a drop in replacement for the current version(or maybe it does, I'm not sure). I think it is possible to make a version that would be a drop in replacement(but maybe it isn't), at the expense or somewhat more repeated code.
Is this a change you would be interested in? If so I can work on preparing a PR. But i also understand if you are not, as this seems like a somewhat niche use.

@JesseCrocker  If you maybe could create a small demo project then I can have a look as well and see if I can find some time for this...


Feature Request: Channel Icon/ Image in the left nav

Would be great to have a channel Icon, image or placeholder letter to be able to tell quickly which channel to click. I already added a logo with shows up in the channel itself but not on the left sidebar :(

@karnagebitcoin this makes sense too and not take long to have it. thanks!


Avoid unnecessary transformer for CompositeTransformer

The Cisco WAP Storage Team, we found a step that needs optimization. One of Pinot Clusters is unstable in a period of time. We firstly tried to find the error log in pinot server log. We identified numerous error logs from transformers, but upon investigation, we determined that they are not the root cause. These extensive and unnecessary logs are significantly impeding our ability to pinpoint the actual cause of the error. During troubleshooting, we found the root cause:

Some table share the same kafka topic. Each table use filter config to ingest data. Such as below config:
"filterConfig": {              "filterFunction": "Groovy({featureName !=  \"wap_unified_monitor\"},featureName)"          },
CompositeTransformer contains Transformers. Some records is already marked as Skipped records. But those records still need to transformer by remaining transformers. I think this will bring misleading error log and unnecessary compute.  Stream.of(new ExpressionTransformer(tableConfig, schema), new FilterTransformer(tableConfig),          new SchemaConformingTransformer(tableConfig, schema), new DataTypeTransformer(tableConfig, schema),          new TimeValidationTransformer(tableConfig, schema), new SpecialValueTransformer(schema),          new NullValueTransformer(tableConfig, schema), new SanitizationTransformer(schema)).filter(t -> !t.isNoOp())      .collect(Collectors.toList())

So we add a patch to CompositeTransformer. We haven't find potential risk. So please pinot maintainers help us to review this PR. Thanks in advance!

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

Comparison is base (56ecafc) 61.60% compared to head (6f88429) 46.51%.
Report is 1 commits behind head on master.

Files
Patch %
Lines

.../local/recordtransformer/CompositeTransformer.java
0.00%
2 Missing :warning:

Additional details and impacted files
@@              Coverage Diff              @@
##             master   #12138       +/-   ##
=============================================
- Coverage     61.60%   46.51%   -15.09%
+ Complexity     1152      944      -208
=============================================
  Files          2406     1808      -598
  Lines        130859    95134    -35725
  Branches      20218    15345     -4873
=============================================
- Hits          80611    44253    -36358
- Misses        44373    47733     +3360
+ Partials       5875     3148     -2727

Flag
Coverage Δ

custom-integration1
?

integration
?

integration1
?

integration2
?

java-11
?

java-21
46.51% <0.00%> (-14.96%)
:arrow_down:

skip-bytebuffers-false
46.51% <0.00%> (-15.07%)
:arrow_down:

skip-bytebuffers-true
?

temurin
46.51% <0.00%> (-15.09%)
:arrow_down:

unittests
46.51% <0.00%> (-15.09%)
:arrow_down:

unittests1
46.51% <0.00%> (-0.19%)
:arrow_down:

unittests2
?

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

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


Gherkin Typescript definition missing string type for steps config

Thanks for the great project.
I'm pretty new to it and I really like it. At the moment, I'm trying Gherkin and found an issue in the configuration.
codecept.conf.ts
{
  // rest of config
 "gherkin": {
   "features": "./features/*.feature",
   "steps": "./step_definitions/*_steps.ts"  // <<<< error here: Type 'string' is not assignable to type 'string[]'
  }
}

I think the type definition for Gherkin steps is incomplete.
Without the string type, glob patterns are not supported for Gherkin step files because Typescript fails.
Error message in the terminal if the string is used

It should be
gherkin?: {
      /** load feature files by pattern. Multiple patterns can be specified as array */
      features: string | Array<string>,
      /** load step definitions from JS files */
      steps: string | Array<string>
    };

The code supports the glob pattern. I tested it by adding the type and it's also in the code here
The problem was also mentioned here - just to add this reference.

May you raise a PR? @AWolf81

@PeterNgTr Sure, I can create a PR.
Can I add it to the index.d.ts file directly?
Or is there a better place? I've seen that there is a way to generate the typings.
Or is this not prepared for the config?

https://github.com/codeceptjs/CodeceptJS/blob/3.x/typings/index.d.ts#L256
I suppose it's the way @AWolf81

OK, I've added the type in the mentioned PR.
As a workaround until this is released. It's possible to add the type in the config like following:
// codecept.conf.ts
type CodeceptJSModified = Omit<CodeceptJS.MainConfig, "gherkin"> & {
  gherkin: {
    features: string | Array<string>
    steps: string | Array<string>
  }
};
export const config: CodeceptJSModified = {
  // now supports the config with string pattern
};


docs(cdk/testing): fix broken harness predicate links

The links to the Filtering harness instances with HarnessPredicate
section are currently broken.

@howardjing Thanks for this PR. I think the actual root cause for these broken links is that we have custom logic for generating anchor ids in markdown files. I sent a PR that fixes this logic, so that it aligns with the one from Github. See: #19371.

Awesome, thanks for the prompt response!


Document use of docker container

Also include

How to mount directories
Maybe change the configuration to not write in a temporary directory?

Perhaps we could also base our docker image on
https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html#jupyter-r-notebook

https://jupyter-docker-stacks.readthedocs.io/en/latest/using/recipes.html#using-mamba-install-or-pip-install-in-a-child-docker-image

Fixed in #170


请问kashgari-bert+bilstm+crf做命名实体识别在cpu上跑的时候发生的占满全部cpu(90%使用率)问题如何解决？能否限定只使用某几块CPU？[Question]

You must follow the issue template and provide as much information as possible. otherwise, this issue will be closed.
请按照 issue 模板要求填写信息。如果没有按照 issue 模板填写，将会忽略并关闭这个 issue
Check List
Thanks for considering to open an issue. Before you submit your issue, please confirm these boxes are checked.
You can post pictures, but if specific text or code is required to reproduce the issue, please provide the text in a plain text format for easy copy/paste.

[x] I have searched in existing issues but did not find the same one.
[x] I have read the documents

Environment

OS [e.g. Mac OS, Linux]:
Python Version:
requirements.txt:
Ubuntu18.04

[Paste requirements.txt file here]

Question
[A clear and concise description of what you want to know.]
请问kashgari-bert+bilstm+crf做命名实体识别在cpu上跑的时候发生的占满全部cpu(90%使用率)问题如何解决？能否限定只使用某几块CPU？

没太明白，是做批量与测试后占用全部 CPU 还是做训练时候？这个是 TensorFlow 的特性，可以查询一下 TensorFlow 如何指定只是用几个 CPU 核心~


Move internals of many C++ Async classes to ref-counted struct

The purpose of this is to reduce the likelihood of races caused in the async code without changing the API. The current situation was that an async operation queued multiple entries on the core completion_queue, only some of which get delivered up to C++. If the entries are processed by different threads, a regular (as opposed to Sneaky) CallOpSet could successfully return control to the application thread from CompletionQueue::Next and thus allow the application to delete the Async class that it belongs to; meanwhile, one of the other (sneaky or regular) CallOpSets might still have work to do on a different thread and could have its object destructed before it is invoked.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Would it be saner to restrict this refactoring to just those stream objects that also contain SneakyOps?
Justification:

it's a much smaller diff
it's going to be easier to refine that smaller diff to elide the allocation in the future
we don't think it's necessary to take the extra allocation without a sneaky op?

So, I was working with the idea that we should protect against any
situation where multiple CallOpSet's could be processed in parallel by
different threads. But I guess you are saying that in that situation (when
it's not Sneaky), the user already sees the CQ events for each of those
CallOpSet's and has to act on them. Is that correct?
On Fri, Feb 5, 2016 at 2:04 PM Craig Tiller<EMAIL_ADDRESS>wrote:

Would it be saner to restrict this refactoring to just those stream
objects that also contain SneakyOps?
Justification:

it's a much smaller diff
it's going to be easier to refine that smaller diff to elide the
allocation in the future
we don't think it's necessary to take the extra allocation without a
sneaky op?

—
Reply to this email directly or view it on GitHub
https://github.com/grpc/grpc/pull/5099#issuecomment-180587247.

That's correct. And they're obliged to deal with them. I think this is only a problem when we don't show the user what's going on (to simplify API).

ok, did that....

Shouldn't CallOpSet::FinalizeResult call SetCollection(nullptr) to clear the reference cycle once the op is done?

You're right. I was thinking that most of our accesses had "delete this" on them, but that's not for these struct's at all. Yes, we need to drop the ref ourselves.

I believe that this is ready to review

... and I believe that all affected test (C++) pass.

LGTM

Green enough to merge ?


failure() doesn't work in a condition

    - name: Print Logs on Failure
      uses: ChristopherHX/conditional@main
      with:
        if: ${{ failure() }}
        step: |
          shell: bash
          run: |
            for f in $(find . -name \*.log); do
                echo ">>>>>> $f"
                cat "$f"
            done
            exit 1

Error: GitHub.DistributedTask.ObjectTemplating.TemplateValidationException: The template is not valid. /home/runner/work/org/repo/./.github/action.yml (Line: 62, Col: 13): Unrecognized function: 'failure'. Located at position 1 within expression: failure()
   at GitHub.DistributedTask.ObjectTemplating.TemplateValidationErrors.Check()
   at GitHub.Runner.Worker.ActionManifestManager.ConvertRuns(IExecutionContext executionContext, TemplateContext templateContext, TemplateToken inputsToken, String fileRelativePath, MappingToken outputs)
   at GitHub.Runner.Worker.ActionManifestManager.Load(IExecutionContext executionContext, String manifestFile)

Interestingly enough I was able to query the previous step status as follows while staying within the composite:
https://github.com/pybuilder/pybuilder/blob/master/.github/action.yml#L64

I agree https://github.com/pybuilder/pybuilder/blob/master/.github/action.yml#L64 doesn't cause a job failure, but it also doesn't do what you want.

steps.configure.output

This is always null, because steps doesn't have any output property in official runners ( see https://docs.github.com/en/actions/learn-github-actions/contexts#steps-context )
I guess you wanted to use steps.configure.outcome, but in both cases your step will be skipped on failure, before my action can handle the if. ( continue-on-error is also unavailable )
I recommend you to test your action locally with https://github.com/ChristopherHX/runner.server, then you can avoid committing changes of local actions and workflows during testing, it uses the same runner as github

I think you can remove every workaround soon https://github.com/actions/runner/commit/67ba8a7d429d953396c08550d8590af9889c4efe and I may archive this repository.
v2.284.0 seems to be prepared for release.
Official runnerlevel support is better than my hack

Sweet, thanks!


Remove issue filter on geo stat and link to MAP

There is still a discrepancy between the api stat call and the records viewed in the map, but this is an issue that needs to be addressed separately. It looks like there are still around 40,000 records that may not have BBM as their institution code, and are instead using one of the alternate codes. I will work to correct within the datasets in a later milestone.

The request performed for the map can be seen in the network trafic for the map
press the map link before clicking this graphql link
there you can see the query performed. Which we can see is the same as
datasetKey=... all of your dataset keys
hasCoordinate = true
https://api.gbif.org/v1/occurrence/search?datasetKey=4edd9396-59df-4b01-9e29-dc21a59f9963&datasetKey=07fd0d79-4883-435f-bba1-58fef110cd13&datasetKey=90302970-1bc6-4865-be76-9aef1dd707f9&datasetKey=9c45867f-f77d-42f3-9751-ae16bb7c9bc8&datasetKey=628abbe5-dc8d-41e9-a0c7-f05efe282649&datasetKey=ca1bcd7e-7387-42f9-81ba-1470db55e3e8&datasetKey=3ad882bb-cd21-4201-8b83-3684bfc6d830&datasetKey=ba0c046d-52bb-4262-a495-652988c9f3f7&datasetKey=df9c8b86-9d36-4e29-91b3-4274dff053e5&has_coordinate=true&limit=0


Fix fail to parse body for open api schema defining multiple content …

…types
Fixes
When using an open api schema with multiple content type definition like:
requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DownTimeLogCreate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DownTimeLogCreate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/DownTimeLogCreate'
        required: true

sending a request with a json body causes the following error:
  File "/home/marco/Projects/Synapse/azka_vision_mock_server/venv/lib/python3.6/site-packages/connexion/decorators/parameter.py", line 97, in wrapper
    request.files, arguments, has_kwargs, sanitize)
  File "/home/marco/Projects/Synapse/azka_vision_mock_server/venv/lib/python3.6/site-packages/connexion/operations/abstract.py", line 282, in get_arguments
    has_kwargs, sanitize))
  File "/home/marco/Projects/Synapse/azka_vision_mock_server/venv/lib/python3.6/site-packages/connexion/operations/openapi.py", line 296, in _get_body_argument
    body_arg.update(body or {})
TypeError: cannot convert dictionary update sequence element #0 to a sequence

Changes proposed in this pull request:

I am proposing that the request body parsing also considers the CONTENT-TYPE header sent with the request not just the open api schema definition

Hi @MarcoRizk, thanks for the PR.
There is currently indeed a limitation in Connexion when using multiple content types, but I don't think this is sufficient to solve it. I agree that we can use the headers, but they should be used to select the correct definition in the API contract, both for parameter parsing and validation.

hey any news on this PR
@MarcoRizk did u manage to fix this issue?

Fixed in https://github.com/spec-first/connexion/pull/1588


Icon field in defineType type error

Hello, I'm following Sanity's docs for adding an icon to a Document and I'm getting a type error when trying to do so. The icon is rendering fine on Sanity's studio so I guess this is purely a wrong type definition error:
My code:
import { DocumentTextIcon } from '@sanity/icons';
import { defineField, defineType } from '@sanity-typed/types';

export const blog = defineType({
	name: 'blog',
	type: 'document',
	title: 'Blog',
	icon: DocumentTextIcon, // <-- Error here
	fields: [
		defineField({
			name: 'title',
			type: 'string',
			title: 'Title of blog article',
		}),
          ...
	],
});

Typescript error:
Type 'ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>' is not assignable to type 'ComponentType | ReactNode'.
  Type 'ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>' is not assignable to type 'FunctionComponent<{}>'.
Type 'ReactElement<any, string | JSXElementConstructor<any>> | null' is not assignable to type 'ReactNode'.
      Type 'ReactElement<any, string | JSXElementConstructor<any>>' is not assignable to type 'ReactNode'.
        Property 'children' is missing in type 'ReactElement<any, string | JSXElementConstructor<any>>' but required in type 'ReactPortal'.ts(2322)

I've tried doing icon: DocumentTextIcon as unknown as ReactNode which is not ideal but it doesn't work either as I'm getting this other error:
Type 'ReactNode' is not assignable to type 'ComponentType | ReactNode'.
  Type 'ReactElement<any, string | JSXElementConstructor<any>>' is not assignable to type 'ComponentType | ReactNode'.
    Property 'children' is missing in type 'ReactElement<any, string | JSXElementConstructor<any>>' but required in type 'ReactPortal'.ts(2322)

And yes, I've also tried doing icon: DocumentTextIcon as unknown as ComponentType | ReactNode and it doesn't work as well.
https://www.sanity.io/docs/icons-for-data-types

Hi @saiichihashimoto, I was using:

typescript 5.1.6
@sanity-typed/types 6.3.3
sanity 3.39

I say was as I've stoped using this package atm as I notice that my VSCode was running very slow with the Type instantiation is excessively deep and possibly infinite issue. Currently I'm using sanity schema extract && sanity typegen generate to generate types but I'm really looking forward to use this package in the future as it looks very promising.


Workflow looks like garbage and doesnt work at all

Installed by SeargeSDXL-Installer.bat

I need more details if you want me to help with this.


Using openpose and tile causes the result color to be strange

I used same sd model
I have 3 key frame in tile:

and 3 key frame in openpose:

but the result color is strange such like no VAE being used,and background is not black:

every frame such like this:

How can I generate result like tile keyframes
this is my prompt:
my command is  animatediff generate -c config/prompts/prompt.json -W 448 -H 640 -L 30 -C 16
prompt.zip

4006314
{
  "name": "simple",
  "path": "share/Stable-diffusion/dreamshaper_6NoVae.safetensors",
  "vae_path": "models/huggingface/runwayml/stable-diffusion-v1-5/vae",       # <-------------
  "motion_module": "models/motion-module/mm_sd_v15_v2.ckpt",
  "compile": false,

you need diffusers format vae, so you need to convert your own pt files.
https://github.com/huggingface/diffusers/blob/main/scripts/convert_vae_pt_to_diffusers.py

4006314
{
  "name": "simple",
  "path": "share/Stable-diffusion/dreamshaper_6NoVae.safetensors",
  "vae_path": "models/huggingface/runwayml/stable-diffusion-v1-5/vae",       # <-------------
  "motion_module": "models/motion-module/mm_sd_v15_v2.ckpt",
  "compile": false,

you need diffusers format vae, so you need to convert your own pt files. https://github.com/huggingface/diffusers/blob/main/scripts/convert_vae_pt_to_diffusers.py

I converted my vae file vae-ft-mse-840000-ema-pruned.safetensors using convert_vae_pt_to_diffusers.py

But the result are not much different from before. I should have applied the new VAE correctly.
prompt.zip
before

now

can you try this checkpoint?
https://civitai.com/models/24149/mistoonanime
I don't know why, but when I used anything-* family checkpoints in the past, the quality of the generation was poor, so I don't use them.

can you try this checkpoint? https://civitai.com/models/24149/mistoonanime
I don't know why, but when I used anything-* family checkpoints in the past, the quality of the generation was poor, so I don't use them.

ok,it looks work well,thank you


Android: add an optional param to start the activity in the current task

Adds an optional param newTask for the Android version of the API. Setting it explicitly to false will start the activity in the current Android task. It's an optional param, with a default value of true.
Resolves https://github.com/leanmotherfuckers/react-native-email-link/issues/29

This doesn't actually work properly when used with choosers.