Question: Setup Java Driver Software

I am having issue with the Kuka LBR iiwa Java Setup - "Setup Java Driver Software". The wiki is bit not clear to me.
Copy The folder contents ${GRL_DIR}/src/java/grl/ into the directory where your Sunrise Project is located.
Does this mean copy the (.settings, src, Third PartyLibraries, .classpath, .project) into my project directory? Or copy the "grl" folder as a whole under project_dir.
Could you please clarify this.  Detailed folder structure/names would be quite helpful. Thanks!

I think I usually copy the whole girl folder, sometimes I have to add paths
to sunrise or Chang the imports a bit. I would just commit a whole project
but sunrise syncs fit repositories it creates hidden behind the scenes.
On Wed, Feb 1, 2017 at 3:28 PM tdinesh<EMAIL_ADDRESS>wrote:

I am having issue with the Kuka LBR iiwa Java Setup - "Setup Java Driver
Software". The wiki is bit not clear to me.
Copy The folder contents ${GRL_DIR}/src/java/grl/ into the directory where
your Sunrise Project is located.
Does this mean copy the (.settings, src, Third PartyLibraries, .classpath,
.project) into my project directory? Or copy the "grl" folder as a whole
under project_dir.
Could you please clarify this. Detailed folder structure/names would be
quite helpful. Thanks!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ahundt/grl/issues/119, or mute the thread
https://github.com/notifications/unsubscribe-auth/AADZwDNQIVvt31yKXYCh7csP-HKCP1Ljks5rYOrmgaJpZM4L0WLY
.

--
Cheers!
Andrew Hundt
Ph.D. Student
Johns Hopkins University

Did that help or do you need more info like a screenshot of my own setup?

Screenshots would be useful. I am getting warnings/exclamations on the project build. Thanks!

Yeah there are usually a few that need to be fixed based on changes in path or what software kuka makes available. Sunrise is eclipse under the hood so sometimes you need to add extra folders to the classpath, and you'll need the JARs for flatbuffers. Do you have the connectivity suite?
Here is how I've got my folder layout set up:

Some of those folders are internal stuff for me which won't matter to you

I have Sunrise Workbench - <IP_ADDRESS> with the connectivity suite. For flatbuffers do you just include the "flatbuffers/java/com/google/flatbuffers" folder in the project? Attached is my current workspace screenshot

Managed to fix the errors and transfer the application to the controller. Now running the GRL_Driver gives following error. @ahundt any thoughts?

Oh yeah there is an XML file where all that sort of data should be loaded from.
In the kuka documentation that will probably be referred to as "ProcessData"
They are the xml files right in this folder:
https://github.com/ahundt/grl/tree/master/src/java/grl/src
And I have code in this file that loads it:
https://github.com/ahundt/grl/blob/master/src/java/grl/src/grl/ProcessDataManager.java

This is the one that specifically contains Laptop_IP:
https://github.com/ahundt/grl/blob/master/src/java/grl/src/RoboticsAPI.data.xml
So you need to make sure it is in the right spot in your sunrise project that it gets loaded up (and that the values are set properly for your system).

Also here is the folder with the flatbuffer jar I use. I haven't quite decided the best way to put the code in so I never committed it. I'm sure maven or something would be the way to do it... Just not sure so if you know more about Java package managment and can provide advice it would be appreciated!
FlatBuffer-1.3.zip
I should probably also update to 1.5...

Also if you're planning to use FRI directly, it can command the robot to move but there is one small bug that needs to be fixed to make sure that when you give an absolute joint angle it goes to that absolute joint angle with all zero angles being straight up. FRI is designed strangely to be interpolated motions over some other command so figuring out how to make it respond the way you would normally expect to control joints has been a bit of an adventure...
Are you planning on torque level control as well?

In other words, don't just run FRI without watching very carefully. Be ready to hit the red button to prevent the arm from crashing if it doesn't go where you expect!
It is very, very close to working properly though, here is what I'm doing to finalize the last of these details in case you'd like to replicate:
KukaFRIClientDataDriverTest
I suggest you start with:
https://github.com/ahundt/grl/blob/master/test/KukaFRIClientDataDriverTest.cpp
This should be compiled in the build/test/bin folder or whatever your cmake build folder is called.
This should move the arm to a starting position and rotate the last joint only.  This is just a test app for the API.
FRIHoldsPosition_Command
KukaFRIClientDataDriverTest should be run alongside FRIHoldsPosition_Command. This is just a test app for the API.
https://github.com/ahundt/grl/blob/master/src/java/grl/src/grl/driver/FRIHoldsPosition_Command.java
TODOs

The one TODO for position based FRI control to work is mentioned at this line:
https://github.com/ahundt/grl/blob/master/test/KukaFRIClientDataDriverTest.cpp#L157

The same sort of fix and ensuring the joint angles behave correctly will need to be fixed similarly to this todo in the actual FRI driver class.

Then for torque there may be one or two spots where the data/commands need to be copied into and out of the protocol buffer and into a more accessible format.

Running FRI with full driver
Once that todo line referenced above is fixed and the class works correctly, it should be quite easy to use either the ROS driver, V-REP driver, or directly use the grl class to control the robot in JAVA (really smartservo) or FRI mode by just changing the configuration string when initializing the KukaDriver object like in the following default configuration code:
https://github.com/ahundt/grl/blob/master/include/grl/kuka/KukaDriver.hpp#L84

Also note: the JAVA mode (SmartServo) works very reliably. We've been using that mode for two years now, which is why FRI isn't 100% yet. SmartServo is good enough for many use cases + demos, but I'm just getting to the point where I need that higher level of precision myself.

Thanks a lot for the detailed explanations.
I am first trying to get the JAVA mode running. Still having issues with that. The GRL_Driver now works on the KUKA controller.  But the grl_kuka_ros_driver gets a segfault.
/opt/grl-4.1.0/bin/grl_kuka_ros_driver
[ INFO] [1486402463.842206456]: done creating subscribers
Segmentation fault (core dumped)
Did you manually set the Robot_KONI_FRI_IP on the robot controller in the windows embeded? I have reverted the KONI changes from https://github.com/SalvoVirga/iiwa_stack/wiki/cabinet_setup. Wondering if something is wrong in that front. Thoughts?
Yes, I am planning to use FRI and torque control. Will switch to testing it once the JAVA mode works.

Also, I dont have much experience in Java package managment. So not sure what is the best way to included external flatbuffer dependency.

On Mon, Feb 6, 2017 at 1:45 PM tdinesh<EMAIL_ADDRESS>wrote:

Also, I dont have much experience in Java package managment. So not sure
what is the best way to included external flatbuffer dependency.

I think you can just put it in the folder right click and add it to the
path or something. Otherwise just google how to add a jar file to eclipse
—

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ahundt/grl/issues/119#issuecomment-277774178, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AADZwKewTddXGN7fqoEVsoaCPejiOY2Yks5rZ2pbgaJpZM4L0WLY
.

--
Cheers!
Andrew Hundt

Oh, I know how to include flatbuffer in Sunrise Workbench. I was wondering if there is a better way as you had asked earlier.
Still struggling with the segfault

For the segfault you will need to run in a debugger and get me a stack
trace. Then I can probably help.
On Mon, Feb 6, 2017 at 2:30 PM tdinesh<EMAIL_ADDRESS>wrote:

Oh, I know how to include flatbuffer in Sunrise Workbench. I was wondering
if there is a better way as you had asked earlier.
Still struggling with the segfault
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ahundt/grl/issues/119#issuecomment-277786647, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AADZwHU5XvUt5IcPSFJbGM01yQ1rQwnpks5rZ3TFgaJpZM4L0WLY
.

--
Cheers!
Andrew Hundt

Following is a backtrace with gdb. Thanks!
(gdb) trace
Tracepoint 1 at 0x518a20
(gdb) backtrace
#0  0x0000000000518a20 in spdlog::logger::should_log(spdlog::level::level_enum) const ()
#1  0x000000000053683e in spdlog::details::line_logger spdlog::logger::_log_if_enabled<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, char [2], std::__cxx11::basic_string<char, std::char_traits, std::allocator >, char [5], std::__cxx11::basic_string<char, std::char_traits, std::allocator > >(spdlog::level::level_enum, char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, char const (&) [2], std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) ()
#2  0x000000000052a7c0 in spdlog::details::line_logger spdlog::logger::info<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, char [2], std::__cxx11::basic_string<char, std::char_traits, std::allocator >, char [5], std::__cxx11::basic_string<char, std::char_traits, std::allocator > >(char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, char const (&) [2], std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) ()
#3  0x000000000051becf in grl::robot::arm::KukaJAVAdriver::construct(std::tuple<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator > >) ()
#4  0x000000000051bcfd in grl::robot::arm::KukaJAVAdriver::construct() ()
#5  0x000000000051eee3 in grl::robot::arm::KukaDriver::construct(std::tuple<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator > >) ()
#6  0x000000000051e52f in grl::robot::arm::KukaDriver::construct() ()
#7  0x0000000000521728 in grl::ros::KukaLBRiiwaROSPlugin::construct(std::tuple<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator > >) ()
#8  0x0000000000520d6f in grl::ros::KukaLBRiiwaROSPlugin::construct() ()
#9  0x0000000000504eed in main ()

Compiled the driver in Debug Build. Following is the backtrace.
 Thread 1 "grl_kuka_ros_dr" received signal SIGSEGV, Segmentation fault. 0x0000000000518a20 in std::__atomic_base<int>::load (__m=std::memory_order_relaxed, this=0x50) at /usr/include/c++/5/bits/atomic_base.h:396 396		return __atomic_load_n(&_M_i, __m); (gdb) backtrace #0  0x0000000000518a20 in std::__atomic_base<int>::load (__m=std::memory_order_relaxed, this=0x50) at /usr/include/c++/5/bits/atomic_base.h:396 #1  spdlog::logger::should_log (this=0x0, msg_level=spdlog::level::info) at /usr/include/spdlog/details/logger_impl.h:295 #2  0x000000000053683e in spdlog::logger::_log_if_enabled<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [2], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > (this=0x0, lvl=spdlog::level::info, fmt=0x573028 "KukaLBRiiwaRosPlugin: Connecting UDP Socket from ")     at /usr/include/spdlog/details/logger_impl.h:79 #3  0x000000000052a7c0 in spdlog::logger::info<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [2], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > (this=0x0, fmt=0x573028 "KukaLBRiiwaRosPlugin: Connecting UDP Socket from ") at /usr/include/spdlog/details/logger_impl.h:117 #4  0x000000000051becf in grl::robot::arm::KukaJAVAdriver::construct (this=0x7ddfe0, params=std::tuple containing = {...}) at /home/dinesh/ws_gsk/grl/include/grl/kuka/KukaJAVAdriver.hpp:160 #5  0x000000000051bcfd in grl::robot::arm::KukaJAVAdriver::construct (this=0x7ddfe0) at /home/dinesh/ws_gsk/grl/include/grl/kuka/KukaJAVAdriver.hpp:148 #6  0x000000000051eee3 in grl::robot::arm::KukaDriver::construct (this=0x7dda80, params=std::tuple containing = {...}) at /home/dinesh/ws_gsk/grl/include/grl/kuka/KukaDriver.hpp:134 #7  0x000000000051e52f in grl::robot::arm::KukaDriver::construct (this=0x7dda80) at /home/dinesh/ws_gsk/grl/include/grl/kuka/KukaDriver.hpp:94 #8  0x0000000000521728 in grl::ros::KukaLBRiiwaROSPlugin::construct (this=0x7d4270, params=std::tuple containing = {...}) at /home/dinesh/ws_gsk/grl/include/grl/ros/KukaLBRiiwaROSPlugin.hpp:195 #9  0x0000000000520d6f in grl::ros::KukaLBRiiwaROSPlugin::construct (this=0x7d4270) at /home/dinesh/ws_gsk/grl/include/grl/ros/KukaLBRiiwaROSPlugin.hpp:144 #10 0x0000000000504eed in main (argc=1, argv=0x7fffffffd2e8) at /home/dinesh/ws_gsk/grl/src/ros/grl_kuka_ros_driver.cpp:16

KukaFRIClientDataTest seems to spit out the joint positions.
[console] [info] position: [1.2164e-05, 0.436339, 0.000121999, 1.57083, -4.45813e-05, 6.59135e-06, -7.15458e-05] us: 0 connectionQuality: 3 operationMode: 2 sessionState: 2 driveState: 0 ipoJointPosition: [] ipoJointPositionOffsets: []

In classes/meetings at the moment but should be able to look in detail
tonight sorry for the delay.
On Mon, Feb 6, 2017 at 4:02 PM tdinesh<EMAIL_ADDRESS>wrote:

KukaFRIClientDataTest seems to spit out the joint positions.
[console] [info] position: [1.2164e-05, 0.436339, 0.000121999, 1.57083,
-4.45813e-05, 6.59135e-06, -7.15458e-05] us: 0 connectionQuality: 3
operationMode: 2 sessionState: 2 driveState: 0 ipoJointPosition: []
ipoJointPositionOffsets: []
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ahundt/grl/issues/119#issuecomment-277812353, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AADZwLHeASR2gBW8vR33Q-hsr8kQ35qhks5rZ4p3gaJpZM4L0WLY
.

--
Cheers!
Andrew Hundt

for the FRI test, make sure you have no other software running. The connection quality for commanding motion is 4.
For the other one, try commenting the spdlog printouts at /home/dinesh/ws_gsk/grl/include/grl/kuka/KukaJAVAdriver.hpp:160 and wherever else it may be crashing.

Also that's just the quick and dirty way to fix it, usage of spdlog is found here:
https://github.com/gabime/spdlog
It may be that the logger hasn't been initialized properly or its trying to initialize twice when it should be acquiring an existing instance. Usually pretty easy to fix but I'm not sure I've seen the exact error.
Here is an example of initializing it:
https://github.com/ahundt/grl/blob/master/src/v_repExtGrlInverseKinematics/v_repExtGrlInverseKinematics.cpp#L131
Yes I think that's the most likely problem especially in the ros plugin which hasn't been run for a few months so it should be an easy fix.

Thanks! that fixed the segfault. Now having following issue
Error sending packet to KUKA iiwa: ret = -1, len = 144 [ INFO] [1486491078.220977800]: KukaLBRiiwaROSPlugin in unsupported mode!
Looks like I have to publish /interaction_mode? Can't the driver just be set to read without choosing mode?

Following is the error on the SmartPad.
NULL ArmControlState message, main UDP FlatBuffer message is arriving but doesn't contain any data/commands!

I tried publishing /interaction_mode to MoveArmJointServo. It looks like the driver commands joint positions continuously. Is my interpretation correct? Why not latch onto last position (or last read position) until new position is commanded? I am looking from moveit perspective, it only publishes joint commands until goal is reached.

Thanks! that fixed the segfault. Now having following issue
Error sending packet to KUKA iiwa: ret = -1, len = 144 [ INFO] [1486491078.220977800]: KukaLBRiiwaROSPlugin in unsupported mode!
Looks like I have to publish /interaction_mode? Can't the driver just be set to read without choosing mode?

That's potentially a good reasonable default... Would need to be added to both the java code and the ros code.
Despite the errors being printed here it should still be reading joint data here.

I tried publishing /interaction_mode to MoveArmJointServo. It looks like the driver commands joint positions continuously. Is my interpretation correct?

Yes, also if you send a single set of joint angles it should just stay there.

Why not latch onto last position (or last read position) until new position is commanded?

I believe it does that, what problem are you seeing? It should command the last seen joint position repeatedly if it gets no updates.
Some of our applications require real time responses to changes detected by vision, so simply sending/following a trajectory would mean we couldn't meet those requirements. Stubs are present to handle such a mode but they aren't implemented right now.
One option is an intermediate node that translates that behavior because if you want to approximate a cartesian path in joint space you need to do frequent updates. I believe we have code that does this in https://github.com/jhu-lcsr/costar_stack which also integrates moveit. @cpaxton may know exactly where to look.
You could either use that package set or use it for inspiration.
I'm not sure if I've answered your question yet... :-) let me know and I'll dig a bit more.

Also was the logger initialization the missing piece of the puzzle?

I made the following pull request to try and fix the crash you described:
https://github.com/ahundt/grl/pull/122

You may also want to have a look at https://github.com/ahundt/grl/pull/106 which integrates with https://github.com/ros-industrial-consortium/majorana/issues/3, and I believe fixes some of the problems. However, there are merge conflicts and added dependencies I was hoping to make optional that aren't yet resolved.
In particular it seems he made that default case only appear in debug mode:
https://github.com/ahundt/grl/pull/106/files#diff-0d01df256a07b23e2a61068455a0d2beR470

What we could do to fix this in the ROS driver is at construction time set the mode to default to the  StartArm state, which would lead to this code path in  KukaLBRiiwaROSPlugin.hpp.
That would stop it printing the errors, and might need to fix up some other lower level steps but I believe it could be made to also allow the current arm position to be read off of the FRI driver.
On the other hand, this problem may strangely be somewhat desirable and the error message just needs to be improved. We could change the error message to indicate that the driver is most likely waiting on an "interaction_mode" message like MoveArmJointServo. In other words give clear instructions for what needs to happen to actually activate the system.

logger initialization was the issue. I will test #122 shortly.
I did try StartArm state, but the GRL_Driver complained it is an unsupported Mode.
I like the idea of initializing with StartArm state as default. That way we can atleast read the arm positions.

Can the mode_callback be a service instead of a topic callback? Right know there is no way getting an acknowledgement back.

could add a mode_service perhaps?
For reference in the timeline https://github.com/ahundt/grl/pull/124 is a new logger crash fix that should be better than the previous one.

mode_service sounds good. I will create a pull-request (also keeping the topic callback for backwards compatibility) #124 looks good.

That's potentially a good reasonable default... Would need to be added to both the java code and the ros code.
Despite the errors being printed here it should still be reading joint data here.

https://github.com/ahundt/grl/blob/master/src/java/grl/src/grl/driver/GRL_Driver.java#L508. Does not handle case grl.flatbuffer.ArmState.StartArm currently.
Also, joint data is not getting published on /joint_states (in MoveArmJointServo too).

This adds StarArm as an option in the Java code, and just does a hold postion command and prints that the connection is established:
https://github.com/ahundt/grl/pull/125
Not tested yet but it does compile.

This thread is getting long. I'll start new issues as they come along. Closing this one.


improvements in bounds

Just collecting some ideas here.
Current bounds have a descriptive API. Usually specifying the element or parent or body is enough. However, the coords API is not good enough. Right now it has a CSS-like model of { top, left, right, bottom }. What if I wanna specify square of [from, to]. Of a specific area. I feel practically top left right bottom is useless unless it can behave exactly like CSS. with percantages, vh, vw, rem, em etc.
Secondly, how do we want to deal with partially overlapping bounds

Hello, we tried to solve the issue.
This is what we did:
Updated the DragBounds type to include new options for specifying bounds. Added a new BoundsArea type for defining a specific area. Modified the compute_bound_rect function to handle the new bounds options. This change allows for more flexible and intuitive ways to define drag boundaries.
You can review changes in this commit: https://github.com/mnmnk43434/PuruVJ-neodrag-179/commit/de4aed9e0c5518445c620f1508288243104a185a.

[!CAUTION]
Disclaimer: The concept of solution was created by AI and you should never copy paste this code before you check the correctness of generated code. Solution might not be complete, you should use this code as an inspiration only.

If you no longer want Latta AI to attempt solving issues on your repository, you can block this account.


Place @login_required(login_url="login") as first decorator in retrieve_scan_file()

https://github.com/rackerlabs/scantron/blob/2943078f1485ea926cfef9f51dca3f51a354b46a/master/django_scantron/results/views.py#L14

Redirects for SAML login, but breaks API calls.  Looks like the decorator order matters.  Tried a couple combinations, looks like it's either web GUI redirect or functioning API.

Tried all 24 combinations for order of decorators.  Must choose a web GUI redirect or functioning API.


How can I change the font for the component?

Is it possible to change the font used within the component? I couldn't find any documentation for this

Edit: just added global css styling
.toasted {
  font-family: "Roboto", sans-serif;
}


Add CI

Fixes #22.

Looks like there are no packages for Olm 3.1.5 compatible with ubuntu-latest (i.e.18.04). Currently the Elixir build action doesn't support 20.04, once it does we can revisit this.

@fancycade are you running libolm-dev locally? I could only find a 2.2.2 version for the distro used by Github actions?

@fancycade are you running libolm-dev locally? I could only find a 2.2.2 version for the distro used by Github actions?

Yeah I have 2.2.2 on Debian. Looks like the next updates will have 3.1.5.


Dylan/polishing

renamed extensions methods
fixed comment in options
fixed absolute path in solution filter

However, you need to regen the ref/ assemblies


Restore from seed file

Follow-up ticket from #1065: We should also be able to restore from a seed file.

blocked by https://github.com/itchysats/itchysats/issues/1065


x64: Add support for fmsub and fnmsub instructions

👋 Hey,
Feature
Add support for the fmsub and fnmsub instructions in the x64 backend.
Benefit
This improves instruction selection quality for a few special fma cases.
Implementation
We already have support for the fmadd and fnmadd versions of these instructions here and here. So we adding support for these instructions should be a matter of introducing the new opcodes and implementing lowering rules similar to what already exists today.
Something similar was done in #8588 for the RISC-V backend. If anyone needs help implementing this, let me know!

Hey, I would like to try to implement this. I might need some help, as this is my first contribution.
If I have questions, should I ask them here or in Zulip?

Awesome! 🎉

If I have questions, should I ask them here or in Zulip?

Up to you, I'm available in both. I might be able to give you a faster reply on Zulip since that usually sends me a notification.

@afonso360 Seems the same here - also complete.


Method get() happened exception

when i run example:QuicClientExample.java, "get()",  there is exception,
            QuicChannel quicChannel = QuicChannel.newBootstrap(channel)                     .streamHandler(new ChannelInboundHandlerAdapter() {                         @Override                         public void channelActive(ChannelHandlerContext ctx) {                             // As we did not allow any remote initiated streams we will never see this method called.                             // That said just let us keep it here to demonstrate that this handle would be called                             // for each remote initiated stream.                             ctx.close();                         }                     })                     .remoteAddress(new InetSocketAddress(host, port))                     .connect()                     .get();
exception:
java.util.concurrent.ExecutionException: io.netty.channel.ConnectTimeoutException: connection timed out: QuicConnectionAddress{EPHEMERAL} 	at io.netty.util.concurrent.AbstractFuture.get(AbstractFuture.java:41)
I use "nc.exe", the ip and port are open.

I am working on a fix... stay tuned

I think it should be fixed.. Please reopen with more details if its still happens


Interface not working as expected with imlp

Hi,
I don't know if the problems is a misunderstood from my side, if i am using interface wrong or if it is an issue.  The problem is related to using an interface when i implement the interface to my models (via impl not struct) the definition of the interface is not in the result schema i have to define it in the implementation but then it uses the interface method.
Let me explain it better, i am doing an initial POC implementing the relay schema (at the moment not conections) to see how to have relay support in Juniper so i created the following:
//node.rs
#[graphql_interface(for = [Faction, Ship])]
pub trait Node {
    fn id(&self) -> ID;
}

//faction.rs
pub struct Faction {
    pub id: String,
    pub name: String,
}

#[graphql_interface]
impl Node for Faction {
    fn id(&self) -> ID {
        ID::new(&self.id)
    }
}

#[graphql_object(impl = NodeValue)]
impl Faction {
    fn name(&self) -> &str {
        &self.name
    }
}

//ship.rs
pub struct Ship {
    pub id: String,
    pub name: String,
}

#[graphql_interface]
impl Node for Ship {
    fn id(&self) -> ID {
        ID::new(&self.id)
    }
}

#[graphql_object(impl = NodeValue)]
impl Ship {
    fn name(&self) -> &str {
        &self.name
    }
}

I created a Node interface with an id function and each model has the Node implementation for the interface, the result of this schema is:
type Ship implements Node {
  name: String!
}

type Faction implements Node {
  name: String!
}

interface Node {
  id: ID!
}

From what i understand this is not correct and the schema result should be:
type Ship implements Node {
  id: ID!
  name: String!
}

type Faction implements Node {
  id: ID!
  name: String!
}

interface Node {
  id: ID!
}

If i want to have this definition i should have the following rust implementation:
//node.rs
#[graphql_interface(for = [Faction, Ship])]
pub trait Node {
    fn id(&self) -> ID;
}

//faction.rs
pub struct Faction {
    pub id: String,
    pub name: String,
}

#[graphql_interface]
impl Node for Faction {
    fn id(&self) -> String {
        ID::new(&self.id)
    }
}

#[graphql_object(impl = NodeValue)]
impl Faction {
    fn id(&self) -> String {
        ID::new(&self.id)
    }

    fn name(&self) -> &str {
        &self.name
    }
}

//ship.rs
pub struct Ship {
    pub id: String,
    pub name: String,
}

#[graphql_interface]
impl Node for Ship {
    fn id(&self) -> String {
        ID::new(&self.id)
    }
}

#[graphql_object(impl = NodeValue)]
impl Ship {
    fn id(&self) -> String {
        ID::new(&self.id)
    }

    fn name(&self) -> &str {
        &self.name
    }
}

As you can see i added the id function resolver to each of the implementation so now it is duplicated but the schema is how i want it to be.
When i consume any of the model throw the NodeValue for examlpe for NodeValue::Ship() (like the node(id: "") query) the id is resolved by the impl Node for Ship interface but if i have a simple relation like Vec<Ship> this is resolved by ´impl Ship´ function but i expect to always use the id function from impl Node for Ship.
So my question is, is it the expected behaviour and i understood wrong? is the implementation wrong on my side? do you think it is a bug?

I created a reproduction repository just in case it is easier https://github.com/IvanRodriCalleja/juniper_interface_issue

@IvanRodriCalleja this is a known issue on 0.15.x that is already fixed on master. There is no plans to backport this fix to 0.15.x, as master Interfaces are completely redesigned.

Works perfect!!
Thanks to point to the issues, i didn't find them.


fix(cli): try to fix packaging import

Put packaging package in all pipfiles and hope that it fixes dependency issue
BREAKING CHANGE: im not sure

Overview

Test Plan

Changelog

Review requests

Risk assessment

#15717 fixes this issue. so this is gonna close.


Feature: Display Orcfax Node Details

What problem are you trying to solve?
Currently there is no Node info on the Explorer, aside from inside the fact statement archive.
Describe the solution you’d like

[x] Display a new "Oracle Nodes" tile in the Network Summary which shows how many nodes there are and how many out of the total are active vs. inactive or not working.
[x] Display a table of nodes and their metadata including:

ID / URN
Type
Status
Location
Total Collected
Last feed collected
Last date/time collected

[x] Display which node collected which fact in the Facts Table

Describe any alternatives you’ve considered
No response

Completed as part of https://github.com/orcfax/explorer.orcfax.io/pull/27


link error: the top most nav links are not yet updated as in prisma lens

Since the top most links are directly dependent on prisma-lens
so it needs to re-update the yarn.lock file as prisma-lens is accessed directly via its repository
changes made for the FAQ link in the navbar of the document
which also results an error in edit link when the same link accessed inside the document

problem fixed now


21 toolbar add new trail

Completed toolbar rework (#21,#20,#60,#48)

Toolbar rework functionality has been successfully added.  There are some minor bugs logged in separate issues, but should not hold up the merge for this ticket.  referenced tickets in this pull request have been closed as implemented with the exception of #20 which is still open with comments added for erroneous behavior exhibited.


Vue + Fine Uploader = cool

While I'm not yet a user of Vue, it's very exciting to see an integration with Fine Uploader. Please do let me know if you run into any Fine Uploader related issues getting this to work. I'd be happy to help.

Hi @rnicholus !
First of all, let me thank you for FineUploader, it was the library I was looking for. Great job with that ! I'll be sure to submit an issue if I ran into some problems.
If you have any suggestion that could improve this integration, I'll try to do my best 😉

Hey there !
I'm reworking my whole vue integration, using your react implementation as base (the frameworks are quite similar). I'll port all the react component you did for Vue 2. It'll be way better than my very basic component that I have at the moment.
If you are interested, the code is there: https://github.com/Elhebert/vue-fineuploader/tree/feature/refactor.

Great idea. I had hoped multiple framework-specific implementations of the same pattern could exist at some point, based off the pattern in react-fine-uploader. I plan to implement the same pattern myself again as a series of web components as well: fine-uploader-web-components.
Let me know if you have any questions regarding my code.

Looks like you're making some serious progress here 🎉.
What do you think about moving this into the FineUploader GitHub organization? Of course, I'd add you as a member to the org, and an admin of this repo.

That would be great.
I still have some work to do, and a lot of testing ^^, but I think that it could already be released as an rc.
At least it'll offer people a better implementation than the one I have currently on npm, and I'll have more useful feedbacks concerning this version.
If you need me to do some modification to my repo to be "compliant" with the ones on the organisation, tell me and I'll adapt it.

Because GitHub's permissions system sucks, I'll have to transfer this into a "holding" organization, and then transfer it into FineUploader. I'll have permissions setup for you in the FineUploader org ahead of time though. Let me know if you have any questions.

...please transfer at your convenience to FineUploader-transfer. Once that is done, I can move it into FineUploader.

I made the transfer, and also released a release candidate of the library.
I still need to implement the thumbnail, fileinput and the gallery. I also need to dive into the VueJS unit tests, might be a godd idea to write some 😆

Cool, I'll transfer this into FineUploader now.

released a release candidate of the library

What is the version number? Might be useful to add an npm badge to the README to show the latest published version. Ideally the releases section of the repo would contain info about each release. Please see react-fine-uploader and fine-uploader for examples.

also need to dive into the VueJS unit tests, might be a good idea to write some

Absolutely. I think unit testing all of these components is very important.
Related, please see FineUploader/react-fine-uploader#21. When this is implemented, it will affect your library too.

Oh looks like you are maintaining release notes, awesome. I should have looked first. I didn't see any notes for RC2 though.
Anyway, the repo is transferred, as you can see. Can we change this to vue-fine-uploader, to be consistent with the naming of other repos in this org? Since you're already going to release 2.0 in the near future which will contain substantial breaking changes, maybe that is an appropriate time to do this too.

I tagged it with v2.0.0-rc.1 (because it is the second version of my implementation), and published it on npm. Then rc-2 when I updated the README. (not sure if that the way I'm supposed to tag my version, not that familiar with version number conventions ^^).
The badge is actually commented inside the README, I kinda forgot to uncomment it when I released the new version ^^. I'll go fix that.
For the name, I was thinking about that too. Consistency is important here.

This being my first "serious" repo on github, I try to do my best.
For the release notes, of rc.2, I haven't written some because it was a simple update of the README, just like rc.3.
If I'm doing something "wrong" or if I did a mistake, don't hesitate to notify me 😉

Don't think anything you're doing is wrong, I guess I've just formed some strong opinions over the years of working on Fine Uploader and my other OSS projects. So, I'll share those opinions if you'd like.
Somewhat of a nitpick - i see RCs as saying "this is done, just want to get some people to test it out". In this case, since more development is needed (components, tests, etc) this sounds more like a beta or alpha release. Also, in most cases, I think you can leave the version number as-is if you're only updating the README. I usually only update the version if actual code changes. And I always follow semver.

It actually make sense and I'm already familiar with semver.
For the RCs, I guess I picked it from my former employer that used RCs as beta versions.
Thanks for sharing your opinions.

Hi @rnicholus,
Truly sorry about the long inactivity here.
Professional situation was really bad, the relationship between me, my manager and my boss were getting horrible, and didn't let me much time for personal projects, nor will to simply develop outside of work. (Yeah, was that bad).
But 🎉 everything is over, got couples of day for myself, got my self a good job within a good team.
Gonna be able to resume my work on vue-fineuploader in the next couples of days.
Anyway, things a better now, sorry for the inactivity.

Glad to hear you're happy with your new job. No need to apologize. I appreciate all of your work on this.

Is there a way to get the UUID of uploaded files? The server sends it back in the request, but the "submitted" event only passes an integer identifier.

Ah, this.uploader.methods.getUuid(id) does the trick.


Overhead of MXNDArraySyncCopyFromCPU on osx

While investigating a performance issue I noticed that setting the values
of a mx.nd.NDArray is somewhat slow os osx (sierra):
import mxnet as mx
import numpy as np
import ctypes

a = mx.nd.zeros(4)
b = np.zeros(4, dtype='f')
%timeit a[:] = b
28.3 µs ± 653 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)

For comparison, pure numpy takes about 400ns.
Some of this seems to be python overhead (the largest ones I found were a.shape with about 2μs and a.ctypes.data_as(ctypes.c_void_p) with 4μs in a._sync_copyfrom. Most of it is on the C side however:
handle = a.handle
b_addr = b.ctypes.data_as(ctypes.c_void_p)
b_size = ctypes.c_size_t(b.size)
%timeit mx.base._LIB.MXNDArraySyncCopyFromCPU(handle, b_addr, b_size)
14.3 µs ± 1.66 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)

On a linux machine that same test runs in 900ns.
I am using version 0.11.1 according to mx.__version__, installed via pip install --pre mxnet-mkl.
I sampled the stack trace while MXNDArraySyncCopyFromCPU was running in a loop:

@tlby something that you noticed as well

Thinking a bit more about this, I am a bit confused about why there is any synchronisation at all. I'm really new to mxnet, so I might be missing something, but shouldn't the engine be able to tell if there are any outstanding operations at all? And if not, couldn't it just skip the ThreadedVar::WaitForVar call entirely? If there is nothing that might want to change the any variable, then that variable in particular should be fine, right? My guess would be that this is the case most of the time when executing things synchronously.


Implementation of push-notification

Ghostly might help us.

https://github.com/patriksvensson/ghostly

Good

How about setting up a task to get notifications every 15 seconds?

Yep. I am not familiar with background tasks and toast notifications. so it will take long time to implement this(have to learn about that).

have to learn about that.

https://apps.microsoft.com/store/detail/notifications-visualizer/9NBLGGH5XSL1

15 seconds is too long?

and I dont know if this is best way to get.

and I dont know if this is best way to get.

WDYM?

Is it correct to get notifications at background time intervals and toast new items.

Unigram might help us

Unigram might help us

How? It's just a telegram client.

yea. but unigram created with UWP and uses toat messaging.

Ghostly might help us.

If we used the GQL the user would need ghostly installed i think

Hmmmmmmmmm

WASDK might enable us to implemet push notification feature. If we set up our FluentHub website, could we also set up web hooking?

WASDK might enable us to implemet push notification feature. If we set up our FluentHub website, could we also set up web hooking?

Perhaps. I'm not a push-notification expert, but it should be possible. Feel free to use https://codrex.dev / related subdomains for push notifications, i don't mind. @onein528

I appreciate for it.

👀

This lib is for toast notification


Edits after meeting discussions

Apart from session 3, I did some of the changes discussed for session 2. Haven't re-arranged the tasks though

Apart from session 3, I did some of the changes discussed for session 2. Haven't re-arranged the tasks though

There is another PR where I rearranged some tasks, would have to look at it again after this tho. Because there are new tasks


Global immutable flag not working in REPL

When I turn on the immutable flag globally in the "compiler options" box in REPL it is not working (although it does when I build locally with rollup)

I've copied the example project from step 16-g of the tutorial to the REPL
https://svelte.dev/repl/38ee1513be5e498397649956ea1a9e8a?version=3.24.0
and turned on the immutable flag globally instead of per-file setting as suggested in the tutorial.
It works as if this flag was not set.
Interestingly though, the js code in the right "JS output" sidebar is changing the same way as when I set the immutable option
through the <svelte:options immutable={true}/> tag inside the component.
Chrome 83, Windows 7 x64

I believe this flag was removed in svelte 5


[No intent to merge] Test PR to check conditions to merge.

This PR is for testing CI conditions and how our CI behaves currently.
It will be approved, but not merged.

Can we close this one?

@neysofu , I want to test it more, because it looks like we still allow to merge with broken checks:

And another thing I want to check, that each important jobs preventing from merging, which includes:

normal compilation, but broken test
normal compilation, normal tests, but HUGE drop in coverage
Adding dependency that violates licensening (After we add license check)
Subtle breakage of demo-rollup test

It is good exercise to manually break things to see that they are detected properly.


BrowserFileExtensions.RequestImageFileAsync broken with bUnit 1.30.3

Describe the bug
We are testing Blazor code that calls the BrowserFileExtensions.RequestImageFileAsync API.
After upgrading to bUnit 1.30.3, the call fails because the AspNetCore.Components code checks if the IBrowserFile reference is of (implementation) type BrowserFile.

Example:
Testing this component:
            <InputFile data-testid="file-input" class="file-upload" OnChange="this.OnFileChangedAsync" />

    private async Task OnFileChangedAsync(InputFileChangeEventArgs e)
    {
        IBrowserFile file = e.File;
        IBrowserFile previewFile = await file.RequestImageFileAsync(file.ContentType, PreviewSize, PreviewSize);
       ...

With this test:
    [Fact]
    public async Task Test()
    {
        IRenderedComponent<MyFileUpload> cut = this.RenderComponent<MyFileUpload>();

        IRenderedComponent<InputFile> fileComponent = cut.FindComponent<InputFile>();

        await fileComponent.InvokeAsync(() =>
            fileComponent.UploadFiles(InputFileContent.CreateFromBinary([1, 2, 3, 4], "image.png")));
    }

Results in this output:
System.InvalidOperationException
Cannot perform this operation on custom Microsoft.AspNetCore.Components.Forms.IBrowserFile implementations.
   at Microsoft.AspNetCore.Components.Forms.BrowserFileExtensions.RequestImageFileAsync(IBrowserFile browserFile, String format, Int32 maxWidth, Int32 maxHeight)
   at MyFileUpload.OnFileChangedAsync(InputFileChangeEventArgs e) in MyFileUpload.razor.cs:line 98

Expected behavior:
Test should succeed.
Version info:

bUnit version: 1.30.3 (worked with 1.29.5)
.NET Runtime and Blazor version: 8.0.8
OS type and version: Windows 11, Edge
MudBlazor 6.21.0

Additional information:
No idea how this could ever have worked as BUnitBrowserFile always just implemented IBrowserFile, but did not derive from BrowserFile.
This is certainly a violation of LSP (Liskov Substitution Principle) on Microsoft/Blazor side.
But I can't understand why the test works with bUnit up to version 1.29.5.

Hmmm - well that happened before, but didn't bubble up. We added the following line:
+		if (uploadTask.Exception is { InnerException: not null } e)
+		{
+			ExceptionDispatchInfo.Capture(e.InnerException).Throw();
+		}

In https://github.com/bUnit-dev/bUnit/compare/v1.29.5..v1.30.3#diff-4a729e37c8defa8dbe7be884ca28c72b50bec37511d2b5622bff5c3e919be43cR40
@egil We might want to limit bubbling up only that one exception.
As you said @candritzky  - we can't do much about that code the Blazor team is using.

@egil Opened a PR so we "just" bubble bUnit created Exceptions.

@linkdotnet Thanks Steven, I tried with 1.31.1-preview and it solves my problem. Tests are green again. :-)


LDAP: error decoding CN when using Active Directory

I set up LDAP Authentication.
Certain users worked, but some not.
I got the following error:
ERROR in views: ldap error: 'ascii' codec can't decode byte 0xc3 in position 3: ordinal not in range(128)
Digging around I found the problem in auth/ldap.py:214.
There a decode with "ascii" is performed. When i changed this to "utf-8" it worked for the failing users as well.
self.ldap_groups.append(values["cn"][0].decode("utf-8"))
There is a similar code a few lines below, but I can only test AD.

Coverage remained the same at 60.853% when pulling 6d750076442e579f78cc63916208be9843a798bb on sirferl:AD-problem into 6f3cc74721a0c69cc186163ea9b78406a4b07adc on Netflix:master.

Hey @sirferl,
looks like there is even a comment on the next decoding, saying it is utf-8 encoded!
https://github.com/Netflix/lemur/blob/6d750076442e579f78cc63916208be9843a798bb/lemur/auth/ldap.py#L219-L221
We don't use ldap, and I hope no means to test that. So leaving it for now as is.

Thanks for the PR. merging it now.

thank you.
reading this, it looks like UTF-8 would be the better alternative:
https://www.python-ldap.org/en/python-ldap-3.3.0/bytes_mode.html#what-s-text-and-what-s-bytes ->
"The LDAP protocol states that some fields (distinguished names, relative distinguished names, attribute names, queries) be encoded in UTF-8. In python-ldap, these are represented as text (str on Python 3, unicode on Python 2)."


Make etags handle DEFMETHOD forms

Make etags handle DEFMETHOD forms of the following format:
(DEFMETHOD (CLASS-CLASS :BORN) ()
  ...)

etags creates multiple tags with the same name causing some annoyance when jumping around in Emacs, i.e. this:
(DEFMETHOD (VANILLA-FLAVOR [etags magic]
(DEFMETHOD (VANILLA-FLAVOR [etags magic]
(DEFMETHOD (VANILLA-FLAVOR [etags magic]
(DEFMETHOD (VANILLA-FLAVOR [etags magic]

should become:
(DEFMETHOD (VANILLA-FLAVOR :PRINT-SELF) [etags magic]
(DEFMETHOD (VANILLA-FLAVOR :DESCRIBE) [etags magic]
(DEFMETHOD (VANILLA-FLAVOR :WHICH-OPERATIONS) [etags magic]
(DEFMETHOD (VANILLA-FLAVOR :OPERATION-HANDLED-P) [etags magic]

This should be doable by passing something sensible to the --regexp option.

I think that the following regex might just work sufficiently:
/(defmethod (\([a-z-]+\) : [a-z-]+)/\1/


Configure Android build for release builds

Automated message from Dropbox CLA bot
@borisyankov, it looks like you've already signed the Dropbox CLA. Thanks!


Provide runners for all workers per worker_spec

This is to make #12443 pass.
Per [worker_spec] all workers must have a runner.
I created a runner for all of our workers.
Also added missing loading for our event_catchers

@jrafanie Alternatively, we could say that the worker must be generic OR specific?

@kbrock I don't understand.  is this supposed to be merged after https://github.com/ManageIQ/manageiq/pull/12443?  It looks like it has the same changes.  If so, can you mark it as WIP, rebase it and un-WIP it when done.

@jrafanie sorry.
This Pr provides runners for all workers
The other is blocked on this one
That PR contains this commit (so it can run) AND the before(:suite) change

@kbrock this is only to make the specs pass, right?
I wonder why the event_catchers work although the runners are not present.
Maybe it's just a wrong spec?
We all know, getting code in is easier than out :)

@durandom Yes. specs only. GenericWorker should work fine.
Other solutions (e.g. delayed_job, resque) seem to work just fine with only a Work (typically called Task or Job) and no Runner.
Haven't looked into our problem space enough to understand why we need both.

Yes. specs only.

Would it not be easier and add less code to "fix" the spec then? Maybe the author of the spec knows

I wonder why the event_catchers work although the runners are not present.

@durandom I would think it's probably inheriting the Runner from the parent class.
I don't know, do we need to have running for all classes or only ones that are overriding the parent's behavior?

[5] pry(main)> ManageIQ::Providers::Azure::NetworkManager::EventCatcher::Runner
=> ManageIQ::Providers::BaseManager::EventCatcher::Runner

So, yes, it defaults to the base class.
But then this base class has methods that need to be implemented by it's subclass
https://github.com/ManageIQ/manageiq/blob/3921e87915b5a69937b9d4a70bb24ab71b97c165/app/models/manageiq/providers/base_manager/event_catcher/runner.rb#L117-L123
I would assume the NetworkManager::EventCatchers all raise errors and restart all over...
Maybe @Ladas knows how this works, as he introduced those NetworkManagers :)

So, those NetworkManager::EventCatchers are not started at all. Because they are not in this little list
My bet is, instead of adding the runners we should remove the catchers, @Ladas ?

Can we implement these methods at the upper level so the runners are not needed?
Wish we didn't have a list like that :(

Also, a bunch of runners are just plain empty. Guess they are returning a different parent class, which is good.

@durandom Only OpenStack Event catcher is working currently. As stated in https://github.com/durandom/manageiq/blob/8be10544f8cd7c30d116a9a83b0a0dc5b7a3cbdb/app/models/miq_server/worker_management/monitor/class_names.rb#L4-L4 , the other providers worker code was just preparation. But we can remove the catchers for now, if it causes issues.
@kbrock I guess we could remove the runners, they were mainly the empty classes from what I saw. Not sure how hard will be to remove them though. :-)

I guess we could remove the runners

I think you mean the Workers. So @kbrock you can turn this into a :scissors:  PR :smile:

WIP: going to see if we can change the spec instead

@kbrock I dont think you need to change the spec, but just remove those empty placeholder EventWorkers classes

@durandom spec was failing for me if I preloaded these files. (The original purpose of this pr)
See first line in desc for this pr

@kbrock I understand, thats why you want to remove Google::NetworkManager::EventCatcher and Google::NetworkManager::MetricsCollectorWorker. They are not used and pure boilerplate now.

@durandom wow. I was totally missing your point. thanks

@jrafanie ok. I have removed the 2 culprits that were unused (and incomplete) boilerplate code.


[BUG]: Python 3.12. compatibility

Describe the bug.
Needs more checking on #107 and #106 - looks like issues with setup tools even when already updating the pypi structure
Expected behavior

Also note that 2024.2 will be based on python 3.12 by default


Fetching mail with POP3 does not delete them from the server

When fetching mail with POP3, K-9 never deletes the mail from the server.
Expected behavior
The mail should be deleted from the server after retrieving, since that is how POP3 normally works. See RFC1939.
Actual behavior
K-9 never sends the POP3 DELE command after fetching the mail. They are still stored on the mail server, and other MUAs can retrieve them, which is the behavior you would expect from IMAP, not POP3.
Steps to reproduce

Configure POP3 as the protocol when setting up an account.
Try to retrieve mail from the same same account using another POP3 MUA.

Environment
K-9 Mail version: 5.700
Android version: 28
Account type (IMAP, POP3, WebDAV/Exchange): POP3
Please take some time to retrieve logs and attach them here:

K-9 Mail has always worked like this. But you're right that it's not the way POP3 is intended to be used.
However, instead of adding support for the "download and delete" model it's more likely we'll remove POP3 support. In my opinion it's a relic of the past that shouldn't have a place in a modern email client.

Can this be reconsidered now that this is being rebranded to Thunderbird? This is needed for parity with the desktop version of Thunderbird.
Please reopen.


fix(local): close browsers using interactive testing

closes #3164

Ran the npm test locally and there are no left over browsers opened.


Update bankScraper.js

don't throw error on credentials that don't have username (like isracard that use id and not username)

Good point and thanks for the contribution.
Since this #50 includes major changes I suggest creating future prs from the the unifyRepos branch until we merge it


Icon not visible in Activity Bar after installation

Possibly relate to #61, but I'm running the latest version of VS Code.  After installing Azure Tools, its icon is not visible in the Activity Bar.
However, if I disable Azure Resources, then click "Restart Extensions", then click the "Enable" button, the icon will appear.  I can then enable all dependent extensions that were disabled when Azure Resources was disabled.
But then by closing or opening a folder, or restarting VS Code, I have to do the process all over again.

That's very weird. Are there any errors anywhere when installing? If you could provide a video that would also be helpful.

I didn't see any errors, but I'm a relatively naive user of VS Code.  How's this for a video (see attached):
https://github.com/user-attachments/assets/add528f1-5b99-4a46-b902-45f565f78563
In this video, I'm showing the version of VS Code (1.95.3 on Windows 11).  All extensions installed are checked.  But Azure Tools is installed already, so I disable Azure Resources.  After re-enabling it, the Azure icon appears! I then re-enable all other Azure extensions that were disabled when I disabled Azure Tools.  Finally, I open a folder and the icon disappears again.
Would this output from the "Extension Host" be relevant?
2024-11-17 18:02:51.534 [info] Extension host with pid 31644 started
2024-11-17 18:02:51.535 [info] Skipping acquiring lock for c:\Users\rob_j\AppData\Roaming\Code\User\workspaceStorage\54228756b24706cd89663ad37f44e0c2.
2024-11-17 18:02:51.938 [info] ExtensionService#_doActivateExtension vscode.emmet, startup: false, activationEvent: 'onLanguage'
2024-11-17 18:02:52.065 [info] ExtensionService#_doActivateExtension adrianwilczynski.namespace, startup: false, activationEvent: 'onLanguage:csharp'
2024-11-17 18:02:52.098 [info] ExtensionService#_doActivateExtension jesschadwick.nuget-reverse-package-search, startup: false, activationEvent: 'onLanguage:csharp'
2024-11-17 18:02:56.418 [info] Extension host with pid 23852 started
2024-11-17 18:02:57.026 [info] ExtensionService#_doActivateExtension vscode.github-authentication, startup: false, activationEvent: 'onAuthenticationRequest:github'
2024-11-17 18:02:57.714 [info] ExtensionService#_doActivateExtension vscode.git-base, startup: true, activationEvent: '', root cause: vscode.git
2024-11-17 18:02:57.774 [info] ExtensionService#_doActivateExtension christian-kohler.path-intellisense, startup: true, activationEvent: ''
2024-11-17 18:02:59.054 [info] ExtensionService#_doActivateExtension EditorConfig.EditorConfig, startup: true, activationEvent: ''
2024-11-17 18:02:59.992 [info] ExtensionService#_doActivateExtension HelloCognition.hello-code-snippets, startup: true, activationEvent: ''
2024-11-17 18:03:00.124 [info] ExtensionService#_doActivateExtension ybaumes.highlight-trailing-white-spaces, startup: true, activationEvent: ''
2024-11-17 18:03:00.272 [info] ExtensionService#_doActivateExtension vscode.git, startup: true, activationEvent: ''
2024-11-17 18:03:00.469 [info] ExtensionService#_doActivateExtension ms-dotnettools.vscode-dotnet-runtime, startup: false, activationEvent: 'onLanguage:csharp', root cause: josefpihrt-vscode.roslynator
2024-11-17 18:03:00.559 [info] ExtensionService#_doActivateExtension vscode.github, startup: true, activationEvent: ''
2024-11-17 18:03:00.679 [info] ExtensionService#_doActivateExtension k--kato.docomment, startup: false, activationEvent: 'onLanguage:csharp'
2024-11-17 18:03:00.708 [info] ExtensionService#_doActivateExtension vscode.github-authentication, startup: false, activationEvent: 'onAuthenticationRequest:github'
2024-11-17 18:03:00.779 [info] Extension host terminating: renderer closed the MessagePort
2024-11-17 18:03:00.787 [info] Extension host with pid 31644 exiting with code 0
2024-11-17 18:03:00.965 [info] Eager extensions activated
2024-11-17 18:03:00.975 [info] ExtensionService#_doActivateExtension vscode.debug-auto-launch, startup: false, activationEvent: 'onStartupFinished'
2024-11-17 18:03:00.997 [info] ExtensionService#_doActivateExtension vscode.merge-conflict, startup: false, activationEvent: 'onStartupFinished'
2024-11-17 18:03:01.032 [info] ExtensionService#_doActivateExtension eamodio.gitlens, startup: false, activationEvent: 'onStartupFinished'
2024-11-17 18:03:01.943 [info] ExtensionService#_doActivateExtension ecmel.vscode-html-css, startup: false, activationEvent: 'onStartupFinished'
2024-11-17 18:03:01.969 [info] ExtensionService#_doActivateExtension ms-dotnettools.vscode-dotnet-runtime, startup: false, activationEvent: 'onStartupFinished'
2024-11-17 18:03:02.096 [info] ExtensionService#_doActivateExtension ms-vscode-remote.remote-containers, startup: false, activationEvent: 'onStartupFinished'
2024-11-17 18:03:02.594 [info] ExtensionService#_doActivateExtension ms-vscode-remote.remote-wsl, startup: false, activationEvent: 'onStartupFinished'
2024-11-17 18:03:02.798 [info] ExtensionService#_doActivateExtension streetsidesoftware.code-spell-checker, startup: false, activationEvent: 'onStartupFinished'
2024-11-17 18:03:03.731 [info] ExtensionService#_doActivateExtension vscode-icons-team.vscode-icons, startup: false, activationEvent: 'onStartupFinished'
2024-11-17 18:04:55.081 [info] ExtensionService#_doActivateExtension vscode.emmet, startup: false, activationEvent: 'onLanguage'
2024-11-17 18:05:21.241 [info] ExtensionService#_doActivateExtension ms-azuretools.vscode-azureresourcegroups, startup: false, activationEvent: 'onView:azureResourceGroups'
2024-11-17 18:05:22.285 [info] ExtensionService#_doActivateExtension ms-azuretools.azure-dev, startup: false, activationEvent: 'api', root cause: ms-azuretools.vscode-azureresourcegroups
2024-11-17 18:05:22.600 [info] ExtensionService#doActivateExtension vscode.microsoft-authentication, startup: false, activationEvent: 'onAuthenticationRequest:microsoft'
2024-11-17 18:05:32.758 [info] ExtensionService#doActivateExtension ms-azuretools.vscode-azurestorage, startup: false, activationEvent: 'onView:azureWorkspace'
2024-11-17 18:05:38.329 [info] ExtensionService#doActivateExtension ms-azuretools.vscode-cosmosdb, startup: false, activationEvent: 'onView:azureWorkspace'
2024-11-17 18:05:41.722 [info] ExtensionService#doActivateExtension ms-azuretools.vscode-azurefunctions, startup: false, activationEvent: 'onView:azureWorkspace'
2024-11-17 18:06:27.814 [info] Extension host terminating: renderer closed the MessagePort
2024-11-17 18:06:28.218 [error] Canceled: Canceled
at new tT (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:31:108738)
at py.U (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:31:113348)
at s..n.charCodeAt.s. (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:31:110842)
at Y0.g (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:114:32313)
at Y0.executeCommand (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:114:31817)
at r.registerCommand.description (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:114:31147)
at Y0.h (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:114:32833)
at Y0.g (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:114:31910)
at Y0.executeCommand (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:114:31817)
at Object.executeCommand (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:156:37246)
at f (c:\Users\rob_j.vscode\extensions\eamodio.gitlens-16.0.1\dist\gitlens.js:1482:14096)
at c (c:\Users\rob_j.vscode\extensions\eamodio.gitlens-16.0.1\dist\gitlens.js:1482:18656)
at ActionRunners.updateContextKeys (c:\Users\rob_j.vscode\extensions\eamodio.gitlens-16.0.1\dist\gitlens.js:1107:65661)
at s (c:\Users\rob_j.vscode\extensions\eamodio.gitlens-16.0.1\dist\gitlens.js:1107:64105)
at RegisteredActionRunner.unregister (c:\Users\rob_j.vscode\extensions\eamodio.gitlens-16.0.1\dist\gitlens.js:1107:64248)
at RegisteredActionRunner.dispose (c:\Users\rob_j.vscode\extensions\eamodio.gitlens-16.0.1\dist\gitlens.js:1107:62902)
at ActionRunners.dispose (c:\Users\rob_j.vscode\extensions\eamodio.gitlens-16.0.1\dist\gitlens.js:1107:63688)
at c:\Users\rob_j.vscode\extensions\eamodio.gitlens-16.0.1\dist\gitlens.js:1428:14975
at Array.forEach ()
at Object.dispose (c:\Users\rob_j.vscode\extensions\eamodio.gitlens-16.0.1\dist\gitlens.js:1428:14957)
at ci (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:24:699)
at file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:118:14992
at file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:24:1009
at Object.dispose (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:7:2146)
at z.eb (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:118:11919)
at file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:118:9874
at Array.map ()
at z.$ (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:118:9862)
at z.terminate (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:118:10105)
at EC.terminate (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:119:1424)
at Zi (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:174:15084)
at MessagePortMain. (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:174:11632)
at MessagePortMain.emit (node:events:519:28)
at MessagePortMain.internalPort.emit (node:electron/js2c/utility_init:2:2949) setContext undefined
2024-11-17 18:06:28.219 [error] Canceled: Canceled
at new tT (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:31:108738)
at py.U (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:31:113348)
at s..n.charCodeAt.s. (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:31:110842)
at Y0.g (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:114:32313)
at Y0.executeCommand (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:114:31817)
at r.registerCommand.description (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:114:31147)
at Y0.h (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:114:32833)
at Y0.g (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:114:31910)
at Y0.executeCommand (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:114:31817)
at Object.executeCommand (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:156:37246)
at f (c:\Users\rob_j.vscode\extensions\eamodio.gitlens-16.0.1\dist\gitlens.js:1482:14096)
at c (c:\Users\rob_j.vscode\extensions\eamodio.gitlens-16.0.1\dist\gitlens.js:1482:18656)
at ActionRunners.updateContextKeys (c:\Users\rob_j.vscode\extensions\eamodio.gitlens-16.0.1\dist\gitlens.js:1107:65661)
at s (c:\Users\rob_j.vscode\extensions\eamodio.gitlens-16.0.1\dist\gitlens.js:1107:64105)
at RegisteredActionRunner.unregister (c:\Users\rob_j.vscode\extensions\eamodio.gitlens-16.0.1\dist\gitlens.js:1107:64248)
at RegisteredActionRunner.dispose (c:\Users\rob_j.vscode\extensions\eamodio.gitlens-16.0.1\dist\gitlens.js:1107:62902)
at ActionRunners.dispose (c:\Users\rob_j.vscode\extensions\eamodio.gitlens-16.0.1\dist\gitlens.js:1107:63688)
at c:\Users\rob_j.vscode\extensions\eamodio.gitlens-16.0.1\dist\gitlens.js:1428:14975
at Array.forEach ()
at Object.dispose (c:\Users\rob_j.vscode\extensions\eamodio.gitlens-16.0.1\dist\gitlens.js:1428:14957)
at ci (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:24:699)
at file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:118:14992
at file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:24:1009
at Object.dispose (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:7:2146)
at z.eb (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:118:11919)
at file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:118:9874
at Array.map ()
at z.$ (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:118:9862)
at z.terminate (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:118:10105)
at EC.terminate (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:119:1424)
at Zi (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:174:15084)
at MessagePortMain. (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:174:11632)
at MessagePortMain.emit (node:events:519:28)
at MessagePortMain.internalPort.emit (node:electron/js2c/utility_init:2:2949) setContext undefined
2024-11-17 18:06:28.220 [error] Canceled: Canceled
at new tT (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:31:108738)
at py.U (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:31:113348)
at s..n.charCodeAt.s. (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:31:110842)
at Y0.g (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:114:32313)
at Y0.executeCommand (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:114:31817)
at r.registerCommand.description (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:114:31147)
at Y0.h (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:114:32833)
at Y0.g (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:114:31910)
at Y0.executeCommand (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:114:31817)
at Object.executeCommand (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:156:37246)
at f (c:\Users\rob_j.vscode\extensions\eamodio.gitlens-16.0.1\dist\gitlens.js:1482:14096)
at c (c:\Users\rob_j.vscode\extensions\eamodio.gitlens-16.0.1\dist\gitlens.js:1482:18656)
at ActionRunners.updateContextKeys (c:\Users\rob_j.vscode\extensions\eamodio.gitlens-16.0.1\dist\gitlens.js:1107:65661)
at s (c:\Users\rob_j.vscode\extensions\eamodio.gitlens-16.0.1\dist\gitlens.js:1107:64105)
at RegisteredActionRunner.unregister (c:\Users\rob_j.vscode\extensions\eamodio.gitlens-16.0.1\dist\gitlens.js:1107:64248)
at RegisteredActionRunner.dispose (c:\Users\rob_j.vscode\extensions\eamodio.gitlens-16.0.1\dist\gitlens.js:1107:62902)
at ActionRunners.dispose (c:\Users\rob_j.vscode\extensions\eamodio.gitlens-16.0.1\dist\gitlens.js:1107:63688)
at c:\Users\rob_j.vscode\extensions\eamodio.gitlens-16.0.1\dist\gitlens.js:1428:14975
at Array.forEach ()
at Object.dispose (c:\Users\rob_j.vscode\extensions\eamodio.gitlens-16.0.1\dist\gitlens.js:1428:14957)
at ci (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:24:699)
at file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:118:14992
at file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:24:1009
at Object.dispose (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:7:2146)
at z.eb (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:118:11919)
at file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:118:9874
at Array.map ()
at z.$ (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:118:9862)
at z.terminate (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:118:10105)
at EC.terminate (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:119:1424)
at Zi (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:174:15084)
at MessagePortMain. (file:///c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:174:11632)
at MessagePortMain.emit (node:events:519:28)
at MessagePortMain._internalPort.emit (node:electron/js2c/utility_init:2:2949) setContext undefined
2024-11-17 18:06:28.224 [info] Extension host with pid 23852 exiting with code 0
2024-11-17 18:06:32.047 [info] Extension host with pid 31340 started
2024-11-17 18:06:32.047 [info] Skipping acquiring lock for c:\Users\rob_j\AppData\Roaming\Code\User\workspaceStorage\54228756b24706cd89663ad37f44e0c2.
2024-11-17 18:06:32.336 [info] ExtensionService#_doActivateExtension vscode.emmet, startup: false, activationEvent: 'onLanguage'
2024-11-17 18:06:32.423 [info] ExtensionService#_doActivateExtension adrianwilczynski.namespace, startup: false, activationEvent: 'onLanguage:csharp'
2024-11-17 18:06:32.430 [info] ExtensionService#_doActivateExtension jesschadwick.nuget-reverse-package-search, startup: false, activationEvent: 'onLanguage:csharp'
2024-11-17 18:06:32.949 [info] ExtensionService#_doActivateExtension ms-dotnettools.vscode-dotnet-runtime, startup: false, activationEvent: 'onLanguage:csharp', root cause: josefpihrt-vscode.roslynator
2024-11-17 18:06:33.450 [info] ExtensionService#_doActivateExtension k--kato.docomment, startup: false, activationEvent: 'onLanguage:csharp'
2024-11-17 18:06:33.698 [info] ExtensionService#_doActivateExtension vscode.git-base, startup: true, activationEvent: '', root cause: vscode.git
2024-11-17 18:06:33.705 [info] ExtensionService#_doActivateExtension christian-kohler.path-intellisense, startup: true, activationEvent: ''
2024-11-17 18:06:33.736 [info] ExtensionService#_doActivateExtension EditorConfig.EditorConfig, startup: true, activationEvent: ''
2024-11-17 18:06:33.773 [info] ExtensionService#_doActivateExtension HelloCognition.hello-code-snippets, startup: true, activationEvent: ''
2024-11-17 18:06:33.783 [info] ExtensionService#_doActivateExtension ybaumes.highlight-trailing-white-spaces, startup: true, activationEvent: ''
2024-11-17 18:06:34.071 [info] ExtensionService#_doActivateExtension ms-dotnettools.csharp, startup: false, activationEvent: 'onLanguage:csharp', root cause: josefpihrt-vscode.roslynator
2024-11-17 18:06:36.349 [info] ExtensionService#_doActivateExtension vscode.git, startup: true, activationEvent: ''
2024-11-17 18:06:37.230 [info] ExtensionService#_doActivateExtension vscode.github, startup: true, activationEvent: ''
2024-11-17 18:06:38.454 [info] ExtensionService#_doActivateExtension vscode.github-authentication, startup: false, activationEvent: 'onAuthenticationRequest:github'
2024-11-17 18:06:38.789 [info] ExtensionService#_doActivateExtension josefpihrt-vscode.roslynator, startup: false, activationEvent: 'onLanguage:csharp'
2024-11-17 18:06:41.210 [info] ExtensionService#_doActivateExtension ms-dotnettools.csdevkit, startup: false, activationEvent: 'onLanguage:csharp'
2024-11-17 18:06:42.342 [info] ExtensionService#_doActivateExtension formulahendry.dotnet-test-explorer, startup: true, activationEvent: 'workspaceContains:/*.csproj,/*.fsproj'
2024-11-17 18:06:58.746 [info] ExtensionService#_doActivateExtension ms-azuretools.vscode-azureresourcegroups, startup: true, activationEvent: 'workspaceContains:/host.json', root cause: ms-azuretools.vscode-azurefunctions
2024-11-17 18:06:59.782 [info] ExtensionService#_doActivateExtension vscode.debug-auto-launch, startup: false, activationEvent: 'onStartupFinished'
2024-11-17 18:06:59.822 [info] ExtensionService#_doActivateExtension vscode.merge-conflict, startup: false, activationEvent: 'onStartupFinished'
2024-11-17 18:06:59.870 [info] ExtensionService#_doActivateExtension eamodio.gitlens, startup: false, activationEvent: 'onStartupFinished'
2024-11-17 18:07:00.331 [info] ExtensionService#_doActivateExtension ecmel.vscode-html-css, startup: false, activationEvent: 'onStartupFinished'
2024-11-17 18:07:00.387 [info] ExtensionService#_doActivateExtension ms-vscode-remote.remote-containers, startup: false, activationEvent: 'onStartupFinished'
2024-11-17 18:07:00.873 [info] ExtensionService#_doActivateExtension ms-vscode-remote.remote-wsl, startup: false, activationEvent: 'onStartupFinished'
2024-11-17 18:07:01.026 [info] ExtensionService#_doActivateExtension streetsidesoftware.code-spell-checker, startup: false, activationEvent: 'onStartupFinished'
2024-11-17 18:07:01.289 [info] ExtensionService#_doActivateExtension vscode-icons-team.vscode-icons, startup: false, activationEvent: 'onStartupFinished'
2024-11-17 18:07:01.429 [info] ExtensionService#_doActivateExtension ms-azuretools.vscode-azurefunctions, startup: true, activationEvent: 'workspaceContains:/host.json'
2024-11-17 18:07:03.903 [info] Eager extensions activated
2024-11-17 18:07:03.935 [info] ExtensionService#_doActivateExtension ms-dotnettools.vscodeintellicode-csharp, startup: false, activationEvent: 'onLanguage:csharp'
2024-11-17 18:07:11.431 [info] ExtensionService#_doActivateExtension vscode.microsoft-authentication, startup: false, activationEvent: 'onAuthenticationRequest:microsoft'
2024-11-17 18:07:50.708 [error] Error: Timeout. Client cound not connect to server via named pipe
at K. (c:\Users\rob_j.vscode\extensions\ms-dotnettools.csharp-2.55.29-win32-x64\dist\extension.js:2:1178863)
at Generator.next ()
at s (c:\Users\rob_j.vscode\extensions\ms-dotnettools.csharp-2.55.29-win32-x64\dist\extension.js:2:1164913)


Adds option to set absolute thresholds

For the performance regression functionality in the compare command, this change adds the option to set absolute thresholds for F1 scores. For example, a user may want to ensure that the F1 score for a given intent never falls below 0.5. To define this, with this change, they could add a threshold as follows:
thresholds:
- type: intent
  group: PlayMusic
  comparison: absolute
  threshold: 0.5

Fixes #312

/azp run

/azp run


PostgreSQL: Validation and Installer parameters fix.

Description
Bug fixing
Validation fails due to PGBIN local parameter absence, need to specify it as environment variables. /NoPath parameters was ignored since called unproperly.
Related issue:
No issue/Reported by @miketimofeev
Check list

[+] Related issue / work item is attached
[-] Changes are tested and related VM images are successfully generated

We should fix display version of PostGreSQL, now it's 11.3, but in the log is - https://get.enterprisedb.com/postgresql/postgresql-12.3-1-windows-x64.exe'


Support OpenAPI spec generation [ENHANCEMENT]

Is your feature request related to a problem? Please describe.
In Marqo 2.x there isn't a way to generate OpenAPI spec. This was possible from the /openapi.json path.
Describe the solution you'd like
An endpoint, usable from a running Marqo container, from which to retrieve the openapi specs.
Additional context
Relevant docs: https://fastapi.tiangolo.com/reference/openapi/docs/

Hi @pandu-k,
What's the current status of this issue? It seems like the OpenAPI spec generation is still not functional, as I'm unable to retrieve it from the expected /openapi.json endpoint.
Additionally, the documentation in the README might need an update, as it implies that generating the OpenAPI spec is still supported, which doesn't seem to be the case.
Could you provide any updates or guidance on how to proceed? Thanks!

I’ve found a solution that restores OpenAPI spec generation and resolves the issue with the /openapi.json and /docs paths. The root cause was in src/marqo/tensor_search/models/add_docs_objects.py, where the documents field included a union type. The issue arose because the second type of the union, np.ndarray, could not be serialized properly.
From my perspective, there are a few potential ways to address this:

Implement a custom OpenAPI function for FastAPI to exclude ndarray fields from the schema.
Create a custom JSON encoder for models containing ndarray.
Replace np.ndarray with a standard Python list type.

I opted for the third approach since it was the simplest and most straightforward solution.
Here are the specific changes I made:

On line 33, I updated documents: Union[Sequence[Union[dict, Any]], np.ndarray] to documents: Union[Sequence[Union[dict, Any]], list].

On line 71, I changed docs: Union[Sequence[Union[dict, Any]], np.ndarray] to docs: Union[Sequence[Union[dict, Any]], list].

After applying these modifications, the OpenAPI spec at /openapi.json and Swagger UI at /docs are now functioning as expected.
I'm not entirely sure if this is the ideal long-term solution, but if it seems like a good fit, I’d be happy to submit a PR for it.

Thanks @gabauer - we'll look into this

Hello @gabauer  , thanks for looking into this and raising a PR. I checked the source code and noticed that the ndarray type here is not used in any code or tests. I think it would be safe to remove it. Actually, the only type accepted for docs is List[Dict[str, Any]]

Hi @papa99do, thanks for looking  into it, I will check this out, try to let the tests run and add a test with a simple "is there" check on the openapi URIs to prevent breaking this stuff in the future.

Hello @gabauer , sorry for the long wait. I've merged in your change after addressing the build permission issue. I've tested that the openAPI endpoints can be accessed again. I'll follow up to add more documentation and examples in following PRs. Thanks again for your contribution!


Updated collectionexerciesvc-api dependency to latest

Don't we want to use release versions?

@jwgwalton sure but can't update to release version until rm-collectionexercisesvc-api PR is merged as release hasn't happened yet


Compilation Error

I am getting the error  "Cannot open include file: 'imgui.h': No such file or directory"

Fixed it by replacing original code with here.

Reopening this issue because I now have a new error. When I try to build it I get a linker error - "entry point must be defined"


Where is the Buildbot config?

I'm looking for your Buildbot config. I couldn't find it in this GH organisation but I may have overlooked.

https://github.com/ngi-nix/ngipkgs/blob/main/infra/makemake/buildbot.nix

Thanks.


Update needed - just follow instructions

Hello, the training was good but can be improved and updated.

the training says that you need to switch to Pay-As-You-Go but that is not true.
You can achieve the training while staying in Free Trial vanilla. To achieve this, the Cluster creation should mention selecting "Single Node" instead of "Standard". This will reduce the number of Cores needed (it did throw an error about 8 cores needed versus 4 available with a "Standard" configuration).

the PySpark code line for the token is complex for nothing as value r"" will work.

the training says to graph the data with "source" as data to be analyzed but the data retrieved in the table here were showing only NULL in source column, I changed this to "category" to have a nice graph.

Regards,
Clement RATEL

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

ID: 355fba0e-958e-f572-18c2-892c91d20b13
Version Independent ID: 7fe76247-c969-2068-2c3c-bf327fbbe39e
Content: Quickstart - Run a Spark job on Azure Databricks Workspace using Azure portal
Content Source: databricks/scenarios/quickstart-create-databricks-workspace-portal.md
Service: azure-databricks
GitHub Login: @mamccrea
Microsoft Alias: mamccrea

@clementratel Thank you for your feedback! We will review and update as appropriate.

Thanks for your dedication to our documentation. Unfortunately, we have been unable to review your issue and apologize for the delayed response. The requested updates have not yet been made. The timeline for resolution varies based on resourcing. We've created an internal work item (DOC-7064) to incorporate your suggestions. We are closing this issue for now, but feel free to comment here as necessary.
#please-close

#please-close


BUG: IP address missing from etcd certificate

Environment:

Cloud provider or hardware configuration: bare-metal

OS (printf "$(uname -srm)\n$(cat /etc/os-release)\n"): CentOS Linux release 7.4.1708 (Core)

Version of Ansible (ansible --version): <IP_ADDRESS>

Kubespray version (commit) (git rev-parse --short HEAD): ffbdf31ac4809fd08bd351a7f31139a84ec71cec
Network plugin used: calico
Copy of your inventory file:
[..]
[all]
k8s-test01.k8s.example.com        access_ip=<IP_ADDRESS> etcd_address=<IP_ADDRESS>
k8s-test02.k8s.example.com        access_ip=<IP_ADDRESS> etcd_address=<IP_ADDRESS>
k8s-test03.k8s.example.com        access_ip=<IP_ADDRESS> etcd_address=<IP_ADDRESS>
[..]

Command used to invoke ansible: kubespray deploy --config kubespray.yml --kube-network <IP_ADDRESS>/16 -n calico
Anything else do we need to know:
public IPs replaced with X,Y,Z
etcd log:
2018-01-14 10:31:36.500249 W | rafthttp: health check for peer c1c99862f13fe1c could not connect: x509: certificate is valid for X, <IP_ADDRESS>, Y, <IP_ADDRESS>, Z, <IP_ADDRESS>, not <IP_ADDRESS>

$ openssl x509 -in /etc/ssl/etcd/ssl/member-k8s-test01.k8s.example.com.pem -text -noout
DNS:localhost, DNS:k8s-test01.k8s.example.com, DNS:k8s-test02.k8s.example.com, DNS:k8s-test03.k8s.example.com, DNS:etcd.kube-system.svc.cluster.localDNS.9 = etcd.kube-system.svcDNS.10 = etcd.kube-systemDNS.11 = etcdIP.1 = <IP_ADDRESS>, IP Address:X, IP Address:<IP_ADDRESS>, IP Address:Y, IP Address:<IP_ADDRESS>, IP Address:Z, IP Address:<IP_ADDRESS>

this bug was introduced in #2139 (/cc @mattymo), the bug does not occur when this commit is reverted.

+1, same issue here. It looks like list of DNS altnames gets malformed and thus first node IP is made a part   of malformed DNS record.

Fixed in https://github.com/kubernetes-incubator/kubespray/pull/2208.


[Request] Add this to deno.land

It would be really nice if this also was in deno.land as deno users can see these modules

supporting deno.land/x would require polluting repo with large distribution files


Further updates for latest brooklyn and docs

discussed with @aledsage , follow on from his work - merging


Improvement for Configure a Security Context for a Pod or Container

What would you like to be added
In Configure a Security Context for a Pod or Container Seccomp should link to https://kubernetes.io/docs/tutorials/clusters/seccomp/  instead of https://en.wikipedia.org/wiki/Seccomp
Why
For a better understanding of how Seccomp works in k8s. As Seccomp is stable fetaure in k8s.

/assign

Fixed it here #28678


Issue templates for cli, consensus, ledger and networking bugs

Description
Additional issue templates and workflow adding new bugs to the project board
Preview: https://github.com/carbolymer/cardano-node/issues/new/choose
Checklist

[ ] Commit sequence broadly makes sense and commits have useful messages
[ ] New tests are added if needed and existing tests are updated.  These may include:

golden tests
property tests
roundtrip tests
integration tests
See Runnings tests for more details

[ ] Any changes are noted in the CHANGELOG.md for affected package
[ ] The version bounds in .cabal files are updated
[ ] CI passes. See note on CI.  The following CI checks are required:

[ ] Code is linted with hlint.  See .github/workflows/check-hlint.yml to get the hlint version
[ ] Code is formatted with stylish-haskell.  See .github/workflows/stylish-haskell.yml to get the stylish-haskell version
[ ] Code builds on Linux, MacOS and Windows for ghc-8.10.7 and ghc-9.2.7

[ ] Self-reviewed the diff

Note on CI
If your PR is from a fork, the necessary CI jobs won't trigger automatically for security reasons.
You will need to get someone with write privileges.  Please contact IOG node developers to do this
for you.

This PR looks obsolete.
Re-open if not.


Papertrading notebook

Describe the bug
When I run the first block I have this error :
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
cvxpy 1.2.3 requires setuptools<=64.0.2, but you have setuptools 67.3.2 which is incompatible.
What can I do?

ok i did this and it works
!pip install 'setuptools<64.0.2'


azure-spring-cloud-maven-plugin lacks a skip option

Plugin name and version
				<groupId>com.microsoft.azure</groupId>
				<artifactId>azure-spring-cloud-maven-plugin</artifactId>
				<version>1.8.0</version>

Plugin configuration in your pom.xml
I would like to be able to configure the following:
			<plugin>
				<groupId>com.microsoft.azure</groupId>
				<artifactId>azure-spring-cloud-maven-plugin</artifactId>
				<version>1.8.0</version>
				<!-- https://github.com/microsoft/azure-maven-plugins/wiki/Azure-Spring-Cloud -->
				<configuration>
					<skip>true</true>

In my specific case, it would enable switching from azure-webapp-maven-plugin to azure-spring-cloud-maven-plugin through a maven profile. More generally, it would enable skipping this plugin through a property, instead of through a profile with a plugin section.
				<groupId>com.microsoft.azure</groupId>
				<artifactId>azure-webapp-maven-plugin</artifactId>

Already has such an option (quite standard for most maven plugin).
Thanks

@blacelle  thanks for your reporting. I like the idea, this enhancement is reasonable. I added it into our blacklog.


Use remote cache for pool volume data

What is the purpose of the change

Help alleviate the instability of the pool volume query (pools/fees) by caching it's data in a shared cache. This prevents new edge functions from having to query the data and can instead rely on the cache, which has a generous stale time.
ClickUp Task
ClickUp Task URL
Brief Changelog

Use remote cache for pools fees data (volume)
Add generous staleWhileRevalidate setting to cache value (1 hour), allowing older data to be returned even if there's intermittent errors with the query service
Add additional fault tolerance to RemoteCache object: falling back to in-memory cache if there's any kind of issue creating the remote cache client (Vercel KV)

Testing and Verifying

Pools volume data should appear
CURLing the remote cache should show an entry for pools-metrics-map

Converting to draft as we decide our strategy to segment cache for different Osmosis node envs (mainnet, testnet, edgenet), as well as deployment envs (prod, stage)

Investigating an issue with 400s when posting to remote cache

I removed all uses of remote cache, as further discussion is needed around how we want to handle Vercels 1MB request limit


Fix clippy warnings

As discussed in #12, there are some clippy warnings that need fixing.
Maybe a clippy pass could be added in the CI to avoid this popping up again?

Sounds good. Do you want to add it?

Sure! I can take a look tonight


[WIP] Open request column

Summary of Changes
Include a summary of changes then remove this line
Tests
What tests did you add or modify and why? If no tests were added or modified, explain why. Remove this line
Documentation
What documentation did you add or modify and why? Add any relevant links then remove this line
CheckList
Make sure you have checked all steps below to ensure a timely review.

[ ] PR title addresses the issue accurately and concisely. Example: "Updates the version of Flask to v1.0.2"

In case you are adding a dependency, check if the license complies with the ASF 3rd Party License Policy.

[ ] PR includes a summary of changes, including screenshots of any UI changes.
[ ] PR adds unit tests, updates existing unit tests, OR documents why no test additions or modifications are needed.
[ ] In case of new functionality, my PR adds documentation that describes how to use it.

All the public python functions and the classes in the PR contain docstrings that explain what it does

[ ] PR passes all tests documented in the developer guide
[ ] I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message"

Codecov Report

Merging #261 into amundsen-notifications will increase coverage by 3.18%.
The diff coverage is n/a.

@@                    Coverage Diff                     @@
##           amundsen-notifications     #261      +/-   ##
==========================================================
+ Coverage                   69.66%   72.84%   +3.18%
==========================================================
  Files                         134       26     -108
  Lines                        3385     1123    -2262
  Branches                      371       94     -277
==========================================================
- Hits                         2358      818    -1540
+ Misses                        992      276     -716
+ Partials                       35       29       -6

Impacted Files
Coverage Δ

...ication/static/js/components/common/Tabs/index.tsx

...ndsen_application/static/js/ducks/search/api/v0.ts

...ication/static/js/components/common/Flag/index.tsx

...ts/common/ResourceListItem/TableListItem/index.tsx

...sen_application/static/js/ducks/allTags/reducer.ts

...tatic/js/components/common/ScrollTracker/index.tsx

...pplication/static/js/ducks/popularTables/api/v0.ts

...static/js/components/common/ResourceList/index.tsx

...tic/js/components/common/ResourceList/constants.ts

...tatic/js/components/common/PopularTables/index.tsx

... and 97 more

Continue to review full report at Codecov.

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


convolution struct members

Hello,
This is a question to verify my interpretation of   test_convolution_descr_t members in mkldnn_test_common.hpp
 mb; // Size of mini-batch
 ng; // What does ng stand for?
 ic, ih, iw; //Input: number of channels, height, and width
 oc, oh, ow; //Output: number of channels, height, and width
 kh, kw; // filter: height and width
 padh, padw; //padding dimensions
 strh, strw; // stride: height and width

Thanks,
Steena

Hi Steena,
You interpretation is correct. ng describes the number of groups in convolution as described in AlexNet paper.