As a global admin, I want a one-time import of data from lending card XML files so that I can manage borrowing events and borrowed items in the database.

[ ] script should import all borrowing events from all card xml transcription files
[x] borrowing events should be associated with account for cardholder identified by MEP id
[x] handle partial dates
[x] notes in xml should be preserved as notes in db record
[x] if cardholder does not yet have an account, create it
[x] set purchased flag based on BB / "bought" in notes
[x] dates with year 1900 should be marked as year unknown
[ ] handle titles with missing MEP id
[ ] handle unclear titles (specifics TBD)
[ ] handle <del> tags (specifics TBD)
[ ] handle card files with multiple cardholders / shared account (specifics TBD)
[ ] preserve bibliographic data (specifics TBD)

Card import questions so far, in no particular order:

Please provide documentation and/or examples about how purchases of borrowed items are encoded. I haven't been able to find any.
How should I handle unclear or partially unclear titles?
Some cards are for people with no accounts; should an account be automatically created?
Examples:

aldi.ri Richard Aldington
chur.ba Barbara Church
coch.et Etienne Coche de la Fierté

How to handle shared accounts; what about when the account does not already exist, or when one person has an account but other people do not?  Examples:

bernheim.tei.xml: three cardholders: bern.fr Françoise Bernheim, bern.an Antoinette Bernheim, prot.al Aline Prot; all three are in the personography, only bern.an is in the logbooks and has an account
le_moal.tei.xml: moal Mrs le Moal, moal.pa Mr Paul le Moal

What should I do, if anything, with <del> tags, e.g. around <bibl> ?
What should I do, if anything, with about biblscope ?
<biblScope unit="volume" from="1" to="2">2 vols</biblScope></bibl>
Should notes in the xml be preserved in borrowing event notes?
There are borrowing events with title id not in the borrowed titles list. Any ideas how to handle? Examples:

groethuisen.tei.xml mep:005386
leyris.tei.xml Mep:?
mesures.tei.xml mep:00g90j
de_vigan.tei.xml mep:009n4b

What do you want me to do with the 1900 dates?  Should I mark year as unknown?

I've made a few small corrections to the card XML files to support import, but I don't think anything was questionable: just some date formatting issues and typos, a missing title id, and an attribute on the wrong element.  You can review here https://github.com/Princeton-CDH/mapping-expatriate-paris/commit/d6de37270be1200747d0e5d914980f55e8945c70

I have some answers, but not all!

Purchased items
(I've been trying to insert the code into Github to demonstrate, but it keeps treating it as code and not displaying it properly)
Take a look at the rodken.tei file.  Three of the four books have a check out date, but not a return date--instead, they have a note with "BB" included within the borrowingEvent tag.  BB is the typical notation, but there is also "bought," "bought book," and probably others.  The shared feature of all of the purchased item events, though, is that none of them will have a return date.
This is a great question about the "unclear" tags.  @jkotin do you have ideas about this?
Yes, accounts should be created for all people with cards.  These are people who are members, but are not mentioned in the logbooks we have (we are still missing some)
I'm not sure the best way to handle the shared accounts--this is a case in which, perhaps, the "account" should simply be "Bernheim" and be affiliated with all three people?
In general, the "del" tags are inserted to reflect a crossed out title in the cards; we didn't want to lose track of the potentially interesting information that a person had initially meant to borrow one book, then decided to borrow another.  My instinct (@jkotin what do you think?) is to move this information to notes.
I'm not sure what we should do with biblscope.  We do want to keep the information contained therin, which is generally which (of potentially several) volumes a particular person borrowed, but I'm not sure how we would display that on the site.  Perhaps it should be migrated into a special kind of note, or modifier for the book borrowed?
Notes inclued within the borrowingEvent tag should be included in the borrowingEvent.  If the note says "BB" or "bought book" or "bought," it should trigger tagging the event as a purchasing event.
These titles probably just slipped through the net.  I was only able to find them by searching the mepID, though; they don't seem to be in the files you indicate (the Groethuisen title is actually in Hemingway, for example).  Not sure what's going on!
But generally, these should still generate a "book" stub.  The mepID is going to be pretty vestigial--something that we should be able to sort by, to group book stubs that were identified during the OpenRefine work as likely to be the same book, but which will become less and less important the more we physically merge those stub records.
The 1900 dates should be marked as year unknown, but the month-and-day information preserved.

Let's discuss the following at our meeting tomorrow:

Unclear titles
Crossed out titles
Shared accounts

Are there other issues we should discuss?
Best,
J

On Apr 10, 2018, at 9:46 PM, elspethgreen<EMAIL_ADDRESS>wrote:
I have some answers, but not all!
• Purchased items
(I've been trying to insert the code into Github to demonstrate, but it keeps treating it as code and not displaying it properly)
Take a look at the rodken.tei file. Three of the four books have a check out date, but not a return date--instead, they have a note with "BB" included within the borrowingEvent tag. BB is the typical notation, but there is also "bought," "bought book," and probably others.  The shared feature of all of the purchased item events, though, is that none of them will have a return date.
• This is a great question about the "unclear" tags. @jkotin do you have ideas about this?
• Yes, accounts should be created for all people with cards. These are people who are members, but are not mentioned in the logbooks we have (we are still missing some)
• I'm not sure the best way to handle the shared accounts--this is a case in which, perhaps, the "account" should simply be "Bernheim" and be affiliated with all three people?
• In general, the "del" tags are inserted to reflect a crossed out title in the cards; we didn't want to lose track of the potentially interesting information that a person had initially meant to borrow one book, then decided to borrow another. My instinct (@jkotin what do you think?) is to move this information to notes.
• I'm not sure what we should do with biblscope. We do want to keep the information contained therin, which is generally which (of potentially several) volumes a particular person borrowed, but I'm not sure how we would display that on the site. Perhaps it should be migrated into a special kind of note, or modifier for the book borrowed?
• Notes inclued within the borrowingEvent tag should be included in the borrowingEvent. If the note says "BB" or "bought book" or "bought," it should trigger tagging the event as a purchasing event.
• These titles probably just slipped through the net. I was only able to find them by searching the mepID, though; they don't seem to be in the files you indicate (the Groethuisen title is actually in Hemingway, for example). Not sure what's going on!
But generally, these should still generate a "book" stub. The mepID is going to be pretty vestigial--something that we should be able to sort by, to group book stubs that were identified during the OpenRefine work as likely to be the same book, but which will become less and less important the more we physically merge those stub records.
• The 1900 dates should be marked as year unknown, but the month-and-day information preserved.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Some new questions and updates.
@elspethgreen I absolutely did not give you the right filenames for the missing title ids.    Here are more details:
missing titles

transcriptions/cards/h/hemingway.tei.xml: hemi.er Ernest Hemingway
Failed to find item with MEP id mep:005386 - looks like this was entered as the wrong id
from hemingway.tei.xml:

     <ab ana="#borrowingEvent">
          <date ana="#checkedOut" when="1925-12-10">〃 10</date>
          <bibl ana="#borrowedItem" corresp="mep:005386">
          <title>Budden Brooks</title> in 2 vols.</bibl>
          <date ana="#returned" when="1926-01-19">Jan 19</date>
        </ab>

from borrowed-titles:
  <row>
        <titleid>mep:00688t</titleid>
        <borrowerid>#hemi.er</borrowerid>
        <borrower_name>Ernest Hemingway</borrower_name>
        <title>Budden Brooks in 2 vols.</title>
        <regularized_title>Buddenbrooks</regularized_title>
    </row>

transcriptions/cards/m/macliesh.tei.xml: macl.ar Archibald MacLeish
Failed to find item with MEP id Mep:?
Not in borrowed titles; I'll add logic to create a stub
transcriptions/cards/m/michaelides.tei.xml: mich.l Madame L. Michaelides
Failed to find item with MEP id mep:00g90j
from the xml:

   <ab ana="#borrowingEvent">
                         <date ana="#checkedOut" when="1930-04-02"></date>
                         <bibl ana="#borrowedItem" corresp="mep:00g90j"><title>This once</title></bibl>
                         <note>, 0.50 </note>
                         <date ana="#returned" when="1930-04-05"></date>
                     </ab>

Not in borrowed titles; I'll auto-create a stub

transcriptions/cards/r/reynal.tei.xml: reyn.je Jeanne Reynal
Failed to find item with MEP id 001p3c
this one is just missing the 'mep:' prefix, id looks right in borrowed-titles

<ab ana= "#borrowingEvent">
                 <date ana="#checkedOut" when="1931-05-07">  May 7  </date>
                 <bibl ana="#borrowedItem" corresp="001p3c">
                     <title>  Women in Love</title>
                 </bibl>
                 <date ana="#returned" when="1931-05-29">May 29.</date>
             </ab>

transcriptions/cards/vw/de_vigan.tei.xml: viga.mo Mlle Monique de Vigan
Failed to find item with MEP id mep:009n4b

      <date ana="#checkedOut" when="1947-09-07"/>
      <bibl ana="#borrowedItem" corresp="mep:009n4b">
        <author>Powys</author>
      </bibl>
      <date ana="#returned" when="1948-06"/>
    </ab>

Id is not in borrowed-titles.xml.  Not sure how to handle an item with no title but an author.  Is that right? Let me know if you have any suggestions.
date questions

I found one 1320 date that seems pretty clearly a typo for 1932; I've corrected this in the XML (the team had a laugh about a time-traveler borrowing a book)
Account #23: Raphael  Invitation to the Waltz 1320-12-28  1932-12-30

There are some 1901 and 1902 dates, look like they are all in Gertrude Stein.  Are these perhaps successive unknown years?  My inclination is to mark all 1900/1901/1902 dates as year unknown (the year will be preserved in the database but marked as unknown).

missing cardholders
Found a few cardholder ids that aren't finding matches in the personography

Person not found for mazo - transcriptions/cards/m/mazon.tei.xml
Person not found for mesu - transcriptions/cards/m/mesures.tei.xml; this was an organization in personography xml, which we haven't handled yet
Person not found for reno - transcriptions/cards/r/renoir.tei.xml
Person not found for ulma.d - transcriptions/cards/u/ulmann_d.tei.xml; looks to me like this is a typo of ulma.de.  If you can confirm, I'll fix.

Given the small number, I'm wondering about having someone manually create the person records (if they are indeed missing and not typos I didn't find) rather than coding logic to generate them from the script.

Here's the output from a preliminary import run on the test site.  The skipped files are related to questions we haven't answered yet -- shared accounts and cardholders not being found.
Account not found for bern.fr Françoise Bernheim, bern.an Antoinette Bernheim, prot.al Aline Prot
/home/deploy/mapping-expatriate-paris/transcriptions/cards/b/bernheim.tei.xml
Account not found for deni.el Madame Maurice Denis, deni.pi Monsieur Pierre Denis
/home/deploy/mapping-expatriate-paris/transcriptions/cards/d/denis.tei.xml
Account not found for denn.ho Mrs Frederic Dennis, denn.ma Mrs. A. L. P. Dennis (Mary Cable Dennis)
/home/deploy/mapping-expatriate-paris/transcriptions/cards/d/dennis.tei.xml
Failed to find item with MEP id mep:005386
Account not found for laug.ja James Laughlin, laug.le Leslie Laughlin
/home/deploy/mapping-expatriate-paris/transcriptions/cards/l/laughlin.tei.xml
Account not found for gall.ir Irma le Gallienne, gall.ri Richard le Gallienne
/home/deploy/mapping-expatriate-paris/transcriptions/cards/l/le_gallienne.tei.xml
Account not found for moal Mrs le Moal, moal.pa Mr Paul le Moal
/home/deploy/mapping-expatriate-paris/transcriptions/cards/l/le_moal.tei.xml
Account not found for leyr.pi Pierre Leyris, leyr.be Betty Leyris
/home/deploy/mapping-expatriate-paris/transcriptions/cards/l/leyris.tei.xml
Person not found for mesu
/home/deploy/mapping-expatriate-paris/transcriptions/cards/m/mesures.tei.xml
Failed to find item with MEP id mep:00g90j
Failed to find item with MEP id Mep:?
Person not found for mazo
/home/deploy/mapping-expatriate-paris/transcriptions/cards/m/mazon.tei.xml
Failed to find item with MEP id 001p3c
Person not found for reno
/home/deploy/mapping-expatriate-paris/transcriptions/cards/r/renoir.tei.xml
Person not found for ulma.d
/home/deploy/mapping-expatriate-paris/transcriptions/cards/u/ulmann_d.tei.xml
Failed to find item with MEP id mep:009n4b

Summary:
564 files processed
570 card holders
536 accounts found; 17 accounts created
20,187 borrowing events found in XML
19,020 borrowing events created
11 files skipped

Basic card import logic is now complete, except for the footnote functionality which we're tracking in #93 (in progress but not yet ready for testing).  Ran a test import on the latest xml starting from a fresh copy of production data.  Here's the script output:
python manage.py import_cards  ~/mapping-expatriate-paris/transcriptions/cards/
Person not found for moal
/home/deploy/mapping-expatriate-paris/transcriptions/cards/l/le_moal.tei.xml
No MEP id for cardholder Librairie des Deux Lycée - /home/deploy/mapping-expatriate-paris/transcriptions/cards/l/libraries_des_deux_lyee.tei.xml
Person not found for mesu
/home/deploy/mapping-expatriate-paris/transcriptions/cards/m/mesures.tei.xml
Person not found for mazo
/home/deploy/mapping-expatriate-paris/transcriptions/cards/m/mazon.tei.xml
No MEP id for cardholder  - /home/deploy/mapping-expatriate-paris/transcriptions/cards/m/mcnair.tei.xml
Multiple accounts found for roye
/home/deploy/mapping-expatriate-paris/transcriptions/cards/r/royer_sement.tei.xml
Person not found for reno
/home/deploy/mapping-expatriate-paris/transcriptions/cards/r/renoir.tei.xml
No MEP id for cardholder Les Revues - /home/deploy/mapping-expatriate-paris/transcriptions/cards/r/revues.tei.xml
No MEP id for cardholder Rhein-Verlag - /home/deploy/mapping-expatriate-paris/transcriptions/cards/r/rhein.tei.xml
Multiple accounts found for rich
/home/deploy/mapping-expatriate-paris/transcriptions/cards/r/richards_orpen.tei.xml
Multiple accounts found for rich
/home/deploy/mapping-expatriate-paris/transcriptions/cards/r/richardson.tei.xml
Person not found for ulma.d
/home/deploy/mapping-expatriate-paris/transcriptions/cards/u/ulmann_d.tei.xml

Summary:
564 files processed
568 card holders
542 accounts found; 18 accounts created
20,165 borrowing events found in XML
19,892 borrowing events created
11 files skipped

Successfully ran a full import on the test site with fresh data from production and latest xml!  Script summary output:
564 files processed
573 card holders
549 accounts found; 24 accounts created
20,165 borrowing events found in XML
20,165 borrowing events created
0 files skipped```

Aldington has an account now (and one that is flagged with a "has card") but it doesn't seem like any of his borrowing events are actually imported.  Looking at the TEI, I think this is because this file was an early Cliff experiment and is encoded somewhat differently.  The items are actually not encased within borrowing-event tags, but arranged in some kind of array.  I can add this to my list of small manual data cleanup.
Barbara Church looks good, so I think the import is basically running smoothly for the no-account card people.

@rlskoeser I found a potential problem--I spot-checked a deletion within a borrowing event and it was not represented in the database.  Here's the XML:

Oct 28
Those Barren Joyful Delaneys
Nov 7

Could it be because the title tag includes both the deletion and the actual title?  Could we adjust for this--it's probably something that happened more than once?

biblScope looks well represented in the notes for the borrowing events--but this structure is eventually changing based on our conversation with Regine, right?

The disambiguated titles look good--but I meant my list to be in addition to the ones that you'd already identified!  So definitely add these back to the list: “Poems”, “Collected Poems”, “Plays”, “Essays”, “Three Plays”
Also, I'm not sure I understand the note about the generic IDs being associated with zero borrows.  When I look at "Theatre," for example, each instance of "Theatre" has one borrow (which seems to make sense).  Is the ID with zero borrows a back-end thing?

@elspethgreen thanks for the feedback. Responses:

a potential problem--I spot-checked a deletion within a borrowing event and it was not represented in the database ...

How would you like to see this represented?  I am currently only looking for <del> directly under the borrowing event, but I could expand that to find them anywhere under the event - would that be sufficient?  i.e., in this case you would only see the del and not that it was inside a title.

biblScope looks well represented in the notes for the borrowing events--but this structure is eventually changing based on our conversation with Regine, right?

Correct - the biblScope data in the notes is a provisional measure to give us access to the information in the database.  It will need to be moved into structured fields eventually.

Checking out the notBefore notAfter's has revealed an encoding problem rather than an import problem. An overzealous encoder has recorded entirely un-listed return dates (in some cases, expressly marked as "returned") as "notBefore" the listed check-out date.

I noticed that too!  However, I think the current import logic is working properly: the date is marked as completely unknown because there is no overlap between notBefore and notAfter dates (since there is no notAfter), and I'm only adding the text of the dates to the notes when I have both.  Do you have any concerns with how this one looks as currently imported on the test site?

The disambiguated titles look good--but I meant my list to be in addition to the ones that you'd already identified! So definitely add these back to the list: “Poems”, “Collected Poems”, “Plays”, “Essays”, “Three Plays”

Ah, sorry about that!  I wasn't paying attention to the fact that they weren't in your list; I'll add them to my list.

I'm not sure I understand the note about the generic IDs being associated with zero borrows.

If you search for the original generic entries by mep id, e.g. mep:00060b for Theatre, you'll see what I mean.  The stub records created by importing the borrowed titles for these ids are now skipped, because we don't want to aggregate borrowing events for them.  I don't think it's a big deal, just wanted to make sure you're aware.  Should be easy enough to remove this after the import runs and we're comfortable that we don't need them anymore.

I think it would be good to have a "del" anywhere within the borrowing event represented--that would take care of the example I found, and probably others I haven't yet dreamt of.
So that's an import change, but everything else (+ expanding the list of non-collapsed titles) should be good.  The strange unpaired nofAfter's are represented absolutely correctly--it just freaked me out to see the TEI mistake.

Updated the test site with a fresh copy of production data and ran the import on the latest xml.  Import now looks for <del> tags anywhere in the borrow event (not just directly under); image paths in footnotes now use the full url.
Import script output:
Summary:
564 files processed
574 card holders
550 accounts found; 24 accounts created
20,165 borrowing events found in XML
20,165 borrowing events created
0 files skipped

I think we'll have to make another minor change to the image URL--it seems like trying to get to a specific image (rather than just the whole file) is making the link fail.  But the information regarding the specific image is super useful for finding the right borrowing event quickly.  Could we remove the specific image path (taking this, https://diglib.princeton.edu/tools/ib/pudl0123/825298/b/boulenger_bidoire/00000003.jp2 and making it this https://diglib.princeton.edu/tools/ib/pudl0123/825298/b/boulenger_bidoire/) but reproduce the image path in the associated "Notes" field of the footnotes?


Cannot search tokens

Hello,
This doesn't seem to be working on an M1 2021 MBP. I followed your steps, and got as far as having the "alfredworkflow" file created and imported in Alfred, but when I actually try to search my tokens I get nothing:

I can even refresh my tokens successfully:

Also I'm not sure what happened during this step:

Does that look right to you?
Thanks again for creating this workflow. Really excited to start using it!

For me, the CLI program searches but no result in the Alfred workflow.

Make sure that you have enabled  Allow Multi-Device in your Authy Application

And you can try this
authy fuzz git

Make sure authy cmd is in your $PATH and add this $PATH to Alfred workflow env

Thanks for the response. It worked after adding to my $path and running chmod 777 on my .authy.json file.


Drop leading zero in version number

As we discussed in last week's engineering meeting , this pull request drops the leading 0 from the version number. Going forward we will adhere to semantic versioning.
It also updates the package description.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

I've also added an empty change log which we can start filling in going forward.

This looks great to me @larrysalibra -- thanks for going ahead and doing this. I changed the http links to https. Feel free to merge.


TA Review (VnV Report): No specific data for Test-PR1-3

@samm82
Summary
Specific data should be included to support your claims for Test-PR1-3.
Deadline
Apr 4, 2024
Estimated Work Hours
0.5

Completed in commit id: 1815be0


Support for python3.8

Hello,
I was wondering if you were planning to support python 3.8 (https://github.com/bioconda/bioconda-recipes/issues/24502).
Thanks

@SooLee Any updates on this topic?

@joachimwolff Thanks for the reminder! I will try to get to it sometime next week.

@SooLee We tried to update the recipe on conda, however, we gave up. Seems there are major patches for the Makefile and build.sh file necessary.
https://github.com/bioconda/bioconda-recipes/pull/25030

We finally managed to make it work: https://github.com/bioconda/bioconda-recipes/pull/25052
pairix should be soon available on conda on python 3.8


Cron / schedule paramter issue in trade.js

Hello. So I am trying to set this up and I am running into the following issue and I can no see anything wrong with my cron pattern. It is valid according to crontab.guru. I want to execute a buy at 16:00 (or 4:00pm) every wednesday but the bot seems to not know how to handle the number 16. What am I doing wrong?
Please also see the attached screenshot.

Try wrapping the value in quotes in trades.js, e.g: schedule: "0 16 * * WED"

Thank you for the swift reply.
It's a small detail but I must have overlooked this in the way the cron pattern is typed down in the .env file.
Maybe a little info on the main pages in the trades.js section would be beneficial to future users.
I also noticed that as long as TRADES is not commented out in the .env file the trades in the trade.js file will be ignored.

Yes good point, I will add the types each value should be in the docs. Thanks.


Ability to generate analysis results report after the experiement execution

might from our export results, or a better way.

done with https://github.com/Microsoft/nni/pull/905 https://github.com/Microsoft/nni/pull/966


Fix go modules definition for go mod tidy to work.

This is a pre-requisite to being able to replace go modules version for cloud.google.com/go and cloud.google.com/go/spanner to a custom branch on a fork as following:
(these replace will be added to the bottom of go.mod)
replace cloud.google.com/go => github.com/hengfengli/google-cloud-go v0.48.1-0.20210903130221-989a19403c8c
replace cloud.google.com/go/spanner => github.com/hengfengli/google-cloud-go/spanner v1.1.1-0.20210903130221-989a19403c8c
Command ran: $ go mod tidy
Note that these replace shouldn't be merged to mainline but would stay on pg-support branch and thus aren't part of this pull request.

Thanks fo the quick review!


segfault  when used as a library

Preliminary Checks

[X] This issue is not a duplicate. Before opening a new issue, please search existing issues.
[X] This issue is not a question, feature request, or anything other than a bug report directly related to this project.

Description
Hello,
I am trying to implement a ROS wrapper for this library to use my ZED2 on a machine without GPU.
Everything was working fine until I tried to publish a CameraInfo message.
As soon as I add the following instruction info_left.header.stamp = ros::Time::now(); (or any instruction that changes the time value of the header) I get a segmentation fault.
If I run the code in debug, the segmentation fault is raised somewhere in sl_oc::sensors::SensorCapture::updateTimestampOffset, which is even more surprising, since that method should not be called, since I did not set SENSORS_MOD_AVAILABLE.
In an effort to try to understand which instruction was causing the problem, I imported the entire source code of the library into my ROS package. When compiled this way, I get no segmentation fault and the node works with no problems.
Steps to Reproduce

Compile and install zed-open-capture
Create a simple ROS package with the following source

#include <ros/ros.h>
#include <image_transport/image_transport.h>
#include "videocapture.hpp"

int main(int argc, char** argv)
{
    sl_oc::video::VideoParams params;
    params.res = sl_oc::video::RESOLUTION::HD2K;
    params.fps = sl_oc::video::FPS::FPS_15;

    sl_oc::video::VideoCapture cap(params);
    cap.initializeVideo(-1);

    ros::init(argc, argv, "image_publisher");
    ros::NodeHandle nh;

    sensor_msgs::CameraInfo info_left;
    info_left.header.stamp = ros::Time::now();

    ros::spin();
}

This is the CMakeLists.txt I am using
cmake_minimum_required(VERSION 3.0.2)
project(zed_open_capture_ros)

find_package(catkin REQUIRED COMPONENTS
        image_transport
        sensor_msgs
        std_msgs
        )

catkin_package(
)
include_directories(
         include
        ${catkin_INCLUDE_DIRS}
        "/usr/local/include/zed-open-capture"
)

link_directories(zed_open_capture "/usr/local/lib")
add_executable(segfault src/segfault.cpp)
target_compile_definitions(segfault PUBLIC VIDEO_MOD_AVAILABLE)
target_link_libraries(segfault ${catkin_LIBRARIES} zed_open_capture)

Compile with catkin_make
Run using rosrun zed_open_capture_ros segfault
Segmentation fault

Expected Result
All the elements are correctly initialized, and there should be no segmentation fault.
In fact, the node does not trigger a segmentation fault when the library is imported into the package.
Actual Result
Segmentation fault.
ZED Camera model
ZED2
Environment
My host OS is Ubuntu 22.04, I am developing and running everything in a container with Ubuntu 20.04 and ROS Noetic.
For testing, I am using a ZED2

Anything else?
No response

Hi @Hi-Zed
we noted the issue.
I will test it in the next few days to fix the problem.

Planned (to not close).

I'm doing literally the exact same thing (ROS1 wrapper for a non-CUDA system) and getting the exact same fault in the same place when I try to update the CameraInfo before posting the messages.
My code initially loads the camera calibration information, and saves it in two CameraInfo messages, l_info and r_info. Once it's in the capture loop, what it was trying to do was update the timestamps on l_info and r_info and then ship them. Why this crashes the sl_oc::sensors::SensorCapture::updateTimestampOffset function in a different thread is still obscure to me.
However, if you create a sensor_msgs::CameraInfoPtr to the camera info, update the stamps and frame_ids through that, and then publish the CameraInfoPtr, things appear to operate smoothly.
    while(ros::ok)
    {
        const sl_oc::video::Frame frame = cap.getLastFrame();
        if (frame.data != nullptr)
        {
            // Image is YUV 4:2:2, convert to rgb
            cv::Mat frameYUV = cv::Mat(frame.height, frame.width, CV_8UC2, frame.data);
            cv::Mat frameBGR;
            cv::cvtColor(frameYUV, frameBGR, cv::COLOR_YUV2BGR_YUYV);
            // Split into two images
            left_raw = frameBGR(cv::Rect(0, 0, frameBGR.cols / 2, frameBGR.rows));
            right_raw = frameBGR(cv::Rect(frameBGR.cols / 2, 0, frameBGR.cols / 2, frameBGR.rows));

            // Create ROS message and publish it
            sensor_msgs::ImagePtr l_msg = cv_bridge::CvImage(std_msgs::Header(), "bgr8", left_raw).toImageMsg();
            sensor_msgs::ImagePtr r_msg = cv_bridge::CvImage(std_msgs::Header(), "bgr8", right_raw).toImageMsg();

            ros::Time now = ros::Time::now();
            l_msg->header.stamp = now;
            r_msg->header.stamp = now;
            r_msg->header.frame_id = "zed_right";
            l_msg->header.frame_id = "zed_left";

            sensor_msgs::CameraInfoPtr l_info_ptr = boost::make_shared<sensor_msgs::CameraInfo>(l_info);
            sensor_msgs::CameraInfoPtr r_info_ptr = boost::make_shared<sensor_msgs::CameraInfo>(r_info);

            l_info_ptr->header.stamp = now;
            r_info_ptr->header.stamp = now;
            l_info_ptr->header.frame_id = "zed_left";
            r_info_ptr->header.frame_id = "zed_right";

            l_image_pub.publish(l_msg);
            l_info_pub.publish(l_info_ptr);
            r_image_pub.publish(r_msg);
            r_info_pub.publish(r_info);
        }
        ros::spinOnce();
    }

I suppose it's a udev rule issue.
The sensor module cannot access the sensors data and for some reason (to be verified) it crashes.
In the udev folder you can find the udev rules file and a script to install it


Impossible to build error handling in current version

I'm not sure if this is me misunderstanding, but I expect to be able to build a handle_command function that looks like this:
  fn handle_command(state: &Self::State, cmd: Self::Command) -> Result<Vec<Self::Event>, Error> {
    match (state, &cmd) {
      (PlayerData {generation: 0, ..}, PlayerCommand::Create {..}) => Ok(vec![cmd.into()]),
      (_, PlayerCommand::Create {..}) => Err(Error{kind: CommandFailure("Create is only valid on generation 0".to_string())})
    }

In other words, if this is not the first generation, a "create" event is invalid. However, as the kind field in eventsourcing::Error is not exported, it is not possible to set it, and no other constructor for eventsourcing::Error exists.
https://github.com/robscllc/eventsourcing seems to contain a fix for this (along with some other improvements).

I've updated and taken all the open PRs, so this should be possible with kind being public now.


Lc 283 Associated Learning and Audience Tagging rewaz v2

Creating pull request for changes for Associated Learning

No longer needed


ROX(ReadOnlyMany) PVC for RBD seems to be wrong

Describe the bug
When i using ceph-csi image with lastest version, i want to use ROX PVC feature for rbd, but something is wrong.
Environment details

Image/version of Ceph CSI driver : v3.0.0
Helm chart version : none
Kernel version : Linux version 3.10.0-957.el7.x86_64
Mounter used for mounting PVC (for cephfs its fuse or kernel. for rbd its
krbd or rbd-nbd) : krbd
Kubernetes cluster version : 1.16.6
Ceph cluster version : nautilus 14.29

Steps to reproduce
Steps to reproduce the behavior:

Deploy a storageclass

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
   name: csi-rbd-sc-test
provisioner: rbd.csi.ceph.com
parameters:
   clusterID: 1fbfb12a-40cf-48c6-b6be-50cf007c6fe1
   imageFeatures: layering
   pool: kubernetes
   csi.storage.k8s.io/provisioner-secret-name: csi-rbd-secret
   csi.storage.k8s.io/provisioner-secret-namespace: default
   csi.storage.k8s.io/node-stage-secret-name: csi-rbd-secret
   csi.storage.k8s.io/node-stage-secret-namespace: default
   fsType: ext4
reclaimPolicy: Delete
mountOptions:
   - discard
   - ro

Deploy a PVC

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: rbd-pvc-rom2-test
spec:
  accessModes:
    - ReadOnlyMany
  volumeMode: Block
  resources:
    requests:
      storage: 1Gi
  storageClassName: csi-rbd-sc-test

Deploy a pod with pvc

---
apiVersion: v1
kind: Pod
metadata:
  name: csi-rbd-demo-pod4
spec:
  containers:
  - name: web-server
    image: <IP_ADDRESS>:5000/busybox:latest
    command: [ "/bin/sh", "-ce", "tail -f /dev/null" ]
    volumeDevices:
      - name: mypvc
        devicePath: /dev/xvda
  volumes:
  - name: mypvc
    persistentVolumeClaim:
      claimName: rbd-pvc-rom2-test

Deploy a pod with privileged

---
apiVersion: v1
kind: Pod
metadata:
  name: csi-rbd-demo-pod4-1
spec:
  containers:
  - name: web-server
    image: <IP_ADDRESS>:5000/busybox:latest
    command: [ "/bin/sh", "-ce", "tail -f /dev/null" ]
    securityContext:
      privileged: true
    volumeDevices:
      - name: mypvc
        devicePath: /dev/xvda
  volumes:
  - name: mypvc
    persistentVolumeClaim:
      claimName: rbd-pvc-rom2-test

Actual results

In pod without privileged, when i want to mount device, it show:

/ # mkdir /data
/ # mkfs.ext2 /dev/xvda
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
65536 inodes, 262144 blocks
13107 blocks (5%) reserved for the super user
First data block=0
Maximum filesystem blocks=4194304
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
	32768, 98304, 163840, 229376
/ # mount  /dev/xvda /data
mount: permission denied (are you root?)

It show no root permission to mount, so i deploy anthoer pod with privileged, but it show
/ # ls /dev | grep xvda

it did not mount rbd volume  without any error message.

Read-only is supported for only clone. Why someone will create read-only empty pvc? Is there any usecase?

Read-only is supported for the only clone. Why someone will create read-only empty PVC? Is there any use-case?

currently, it's not disabled it would be best to disable it. @dillaman any thoughts?

apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  containers:
    - name: my-container
      securityContext:
            privileged: true
            capabilities:
              add: ["SYS_ADMIN", "SYS_RAWIO"]
      image: busybox
      command: [ "/bin/sh", "-ce", "tail -f /dev/null" ]
      volumeDevices:
        - devicePath: /dev/block
          name: my-volume
      imagePullPolicy: IfNotPresent
  volumes:
    - name: my-volume
      persistentVolumeClaim:
        claimName: rbd-pvc

you need to set SYS_RAWIO  see https://kubernetes.io/blog/2019/03/07/raw-block-volume-support-to-beta/

capabilities:
add: ["SYS_ADMIN", "SYS_RAWIO"]

@Madhu-1 it seems doesn't work

Does the above pod works with readwritemany ?

Does the above pod works with readwritemany ?

no, it work in readonlymany mode

@Madhu-1 this is  run message about my pod :
Name:         csi-rbd-demo-pod4-1
Namespace:    default
Priority:     0
Node:         nm-bigdata-030033070.ctc.local/<IP_ADDRESS>
Start Time:   Thu, 30 Jul 2020 13:02:52 +0800
Labels:       <none>
Annotations:  kubectl.kubernetes.io/last-applied-configuration:
                {"apiVersion":"v1","kind":"Pod","metadata":{"annotations":{},"name":"csi-rbd-demo-pod4-1","namespace":"default"},"spec":{"containers":[{"c...
Status:       Running
IP:           <IP_ADDRESS>
IPs:
  IP:  <IP_ADDRESS>
Containers:
  web-server:
    Container ID:  docker://0cf2499fb90a74d8f13200a99b16e730f0fb7906c19ac8a937d0b1979266c557
    Image:         <IP_ADDRESS>:5000/busybox:latest
    Image ID:      docker-pullable://<IP_ADDRESS>:5000/busybox@sha256:edafc0a0fb057813850d1ba44014914ca02d671ae247107ca70c94db686e7de6
    Port:          <none>
    Host Port:     <none>
    Command:
      /bin/sh
      -ce
      tail -f /dev/null
    State:          Running
      Started:      Thu, 30 Jul 2020 13:02:54 +0800
    Ready:          True
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-zmhx5 (ro)
    Devices:
      /dev/xvda from mypvc
Conditions:
  Type              Status
  Initialized       True
  Ready             True
  ContainersReady   True
  PodScheduled      True
Volumes:
  mypvc:
    Type:       PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
    ClaimName:  rbd-pvc-rom2-test
    ReadOnly:   false
  default-token-zmhx5:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-zmhx5
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:          <none>

In my opinion, something wrong with 'ReadOnly:   false' in stage of mount volume

@Yuggupta27 PTAL

Read-only is supported for only clone. Why someone will create read-only empty pvc? Is there any usecase?

Sorry to reply to a closed issue. Cause kubernetes allows assigning more than one access modes to one PVC (RWO and ROX for example), I may want to create a PVC using ceph rbd like this, and I wish I could start a "data preparing" pod writting data to the PVC first, and stop the first pod and then start more than one pods mount the PVC read from the same PVC. I know I can achieve this workflow by cloning new pvcs based on snapshots, but if it could be done without snapshots and many other read-only pvcs cloned from the snapshots, the workflow may run faster and keep the k8s and ceph clean.


Use explicit userInfo keys for NSManagedObjectContextDidSaveNotification

In iOS 10 beta 4 there is a new key in the userInfo dictionary, managedObjectContext, so the existing collection operator causes a crash as it assumes all values are NSSets.
I have added explicit checking for inserted, deleted and updated objects.

it looks good to me 👍
@segiddins ?

Thanks a lot for the comments. I'll add separate private {h,m} files for this function as @valeriomazzeo suggests, as that seems neater than what we currently have here.

No problem – I've moved the impl into RKManagedObjectStore.m based on your comment.

I think the only thing missing is to specify that header is private both in the project file and in the podspec.

While I was there I noticed another header that should be private and added that (RKMappingOperation_Private.h)

@segiddins @valeriomazzeo : Any idea when the next release is scheduled? I'd like to incorporate this fix into my project and would want to do it off a patch release rather than a specific commit.

Hi every one, then it fix will be in cocoapods? Now there version RestKit 0.27.0 but still:
static NSSet *RKSetOfManagedObjectIDsFromManagedObjectContextDidSaveNotification(NSNotification *notification) {     NSUInteger count = [[[notification.userInfo allValues] valueForKeyPath:@"@sum.@count"] unsignedIntegerValue];     NSMutableSet *objectIDs = [NSMutableSet setWithCapacity:count];     for (NSSet *objects in [notification.userInfo allValues]) {         [objectIDs unionSet:[objects valueForKey:@"objectID"]];     }     return objectIDs; }

@NelepovDmitry : They haven't released a version with the fix. You can try this in your Podfile:
pod 'RestKit', :git => 'https://github.com/RestKit/RestKit.git', :commit => '13d98d5a6a5e06656ad040013dcae149b7cf8b99'

I also see this warning in the debugger:
userInfo = {
   NSTargetObjectUserInfoKey = "<_PFWeakReference: 0x1704211c0>";
   NSUnknownUserInfoKey = "@count";
}

I dont really understand, is this just a warning? Or has something indeed failed? Everything seams to be working... :S

I used this commit
pod 'RestKit', :git => 'https://github.com/RestKit/RestKit.git', :commit => '9cbba9eb1b490c3c5e2873c8fba8e9c0fec1bf07'

in what version of restKit it will be included avaiable from cocoapods?

We need this fix as soon as possible ready on CocoaPods

This will come with https://github.com/RestKit/RestKit/issues/2459 correct?

If anyone can confirm
pod 'RestKit', :git => 'https://github.com/RestKit/RestKit.git', :commit => '13d98d5a6a5e06656ad040013dcae149b7cf8b99'
fixes the issue, either me or @segiddins can will make an hotfix release (0.27.1).
I didn't really follow on https://github.com/RestKit/RestKit/issues/2459
Does this pull request fixes it?

@valeriomazzeo Yep, it does seem to resolve the exception issues for me! Hotfix release would be appreciated!

👍  for the hotfix release!

@SandyChapman and @RustamKhisamov : I used the commits you had specified, but still the issue persists. Initially I tried updating the pod to the latest version, but that didn't work. I had to modify the code directly in RKManagedObjectStore.m and add the header file RKMappingOperation_Private.h. Only then it worked. Is there any other commit that works?

I have started some work on #2466 and #2467 in order to release 0.27.1, but there issues with some of the dependencies.
Once those two PR will be passing on Travis then we can release.
Any help is appreciated.

This fixed for me:
pod 'RestKit', :git => 'https://github.com/RestKit/RestKit.git', :commit => '13d98d5a6a5e06656ad040013dcae149b7cf8b99'
But it would be really good to have a stable version.

@zsoltbalint : If it makes you feel any better, that commit is identical to the 0.27.0 release with the addition of the single fix required.

Thanks @SandyChapman , for clarification! 👍

Can we have a CocoaPods release with this wonderful fixes?

Any news on when the new version with this fix will be available?

Seems like Rest.Kit is somewhat dead ...

pod 'RestKit', :git => 'https://github.com/RestKit/RestKit.git', :commit => '13d98d5a6a5e06656ad040013dcae149b7cf8b99'
It fixed my all issues with RestKit by upgrading to XCode 8 from XCode 7.
Thanks guys. 👍

Such a critical fix should have already been released :-(

Again: looks like RestKit died the typical open source death. Rest In Peace. It's sad to see, but developers move on, especially when they earn no money.

see https://github.com/RestKit/RestKit/pull/2466

@segiddins I see that with #2466, you are hinting to a 0.27.1 realease. However, this PR is long ovverdue and not merged into the master. There is maybe an error with Travic CI, but "some" maintainer should take it as a starting point and make the final step.
However, If you (or someone else) does not have the time to maintain the component please state this publicly by making RestKit deprecated or bringing other people to the project. This would be very nice.


[Perf] Extract runtime package versions

/azp run tools - perf-automation - tests

/azp run tools - perf-automation - tests


geographic endpoint not working

Hello,
As I encounter awful response time despite of a very basic bot, I tried to use europe.directline.botframework.com instead of the default one. However, when monitoring the HTTP traffic, I see that it is not working:

The above picture shows the websocket switch but it fails without websockets too.
Best Regards

Hi @stephaneey, we've been experiencing intermittent interruptions in our European datacenter. We're actively fixing and monitoring this. At the moment all services appear to be stable, but please let us know if you see any additional degradation.

Hi @dandriscoll , indeed it's working now. However, I don't see any performance improvement. My message endpoint is hosted in Europe but it's calling LUIS (westus). Directline is often returning a 504 bad gateway because of the response time that exceeds 15 seconds. I thought that using the europe endpoint could help but it doesn't. My bot couldn't be simpler as it's only starting a LUIS dialog to detect the intent (nothing more). I added some execution time calculation and noticed that simply detecting the user intent takes about 7 seconds...Any clue on how to improve performance here?
thanks

Hi @stephaneey .  We're currently working on deployments for Europe and other datacenters.  They are not ready for use yet, but will be very soon.
Other improvements we're making to LUIS are on some of the particularly heavily used recognizers such as the datetime and number recognizers, which are occasionally hopping to the wrong datacenter.  Finally spelling is something we're looking at; it's an off-service call if you enable it which adds latency to the call.
All up, we're working on this - knowing which features you're using would help us know how to pinpoint the latency problems you're seeing.

I am also getting the same error... #2078
my LUIS takes too long time to detect which intents to called in my case it takes 24-25 sec.
Due to which it exceeds its 15 sec response time and i got the internal server or gateway timeout error.

I only have a lightweight LUIS model; no bing spell check. My LUIS takes about 7 secs but the overall process is often above the 15 seconds, hence resulting in a bad gateway problem. Code wise, I only have "case message": reply typing reply, reply with luisdialog. Inside of the triggered intent, I'm just replying a text message. This is alrready almost unusable a is and my bot is still doing nothing. My goal is to interact with some systems with the user input and that will surely take time...meaning that if things don't change, i'll always be above 15 seconds.
Also, something annoying, when a typing reply is sent by the bot, it's not taken into account by the 5 seconds delay. I understand that the reply is retrieved by the websocket channel and not by the HTTP post query but this is annoying. Maybe a good idea to increase the 15 seconds timeout or to make it configurable somehow.

yes you are correct, when i stuck with this issue i have also change my whole code and just write the default code to simple return the count of string, but at then also it takes long time to detect the intents.
And some time it works and detect the LUIS intent within 3-4 sec and some time it takes too long.
my code within the intents takes only 2 seconds to execute. I think 15 seconds timeout is very less as overall execution of the codes cross the 15 seconds.

@jameslew  any update / comment..?

Closing this issue as functionality on all geographic Direct Line endpoints has been restored. If you want to discuss Direct Line or LUIS endpoints, please open a new issue.


change since 0.18 to since 0.19 for generic http client/server.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@9eb190b). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #1636   +/-   ##
=========================================
  Coverage          ?   83.41%
  Complexity        ?     1826
=========================================
  Files             ?      263
  Lines             ?     8385
  Branches          ?      805
=========================================
  Hits              ?     6994
  Misses            ?     1133
  Partials          ?      258

Impacted Files
Coverage Δ
Complexity Δ

.../io/opencensus/contrib/http/HttpServerHandler.java
88.88% <ø> (ø)
5 <0> (?)

...java/io/opencensus/contrib/http/HttpExtractor.java
100% <ø> (ø)
1 <0> (?)

.../io/opencensus/contrib/http/HttpClientHandler.java
78.26% <ø> (ø)
3 <0> (?)

...o/opencensus/contrib/http/AbstractHttpHandler.java
87.75% <ø> (ø)
9 <0> (?)

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 9eb190b...1c65b9e. Read the comment docs.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@9eb190b). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #1636   +/-   ##
=========================================
  Coverage          ?   83.41%
  Complexity        ?     1826
=========================================
  Files             ?      263
  Lines             ?     8385
  Branches          ?      805
=========================================
  Hits              ?     6994
  Misses            ?     1133
  Partials          ?      258

Impacted Files
Coverage Δ
Complexity Δ

.../io/opencensus/contrib/http/HttpServerHandler.java
88.88% <ø> (ø)
5 <0> (?)

...java/io/opencensus/contrib/http/HttpExtractor.java
100% <ø> (ø)
1 <0> (?)

.../io/opencensus/contrib/http/HttpClientHandler.java
78.26% <ø> (ø)
3 <0> (?)

...o/opencensus/contrib/http/AbstractHttpHandler.java
87.75% <ø> (ø)
9 <0> (?)

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 9eb190b...1c65b9e. Read the comment docs.


[DOCS] Upgrade pre-commit min version; add hook; pre-commit autoupdate

https://github.com/pre-commit/pre-commit-hooks/releases/tag/v5.0.0
pre-commit-hooks now requires pre-commit>=3.2.0
https://github.com/pre-commit/pre-commit-hooks?tab=readme-ov-file#check-illegal-windows-names
https://pre-commit.com/#pre-commit-autoupdate
Did you read the Contributor Guide?

Yes, I have read the Contributor Rules and Contributor Development Guide

Is this PR related to a JIRA ticket?

No, this is a documentation update. The PR name follows the format [DOCS] my subject.

What changes were proposed in this PR?
Added another check/test to our pre-commit framework and updated the hooks
How was this patch tested?
Ran locally: pre-commit run --all-files
Did this PR include necessary documentation updates?

No, this PR does not affect any public API so no need to change the documentation.

https://github.com/apache/sedona/actions/runs/11239301932/job/31246043426?pr=1614

refs https://github.com/pre-commit/pre-commit/pull/2808
https://github.com/apache/sedona/actions/runs/11239478986/job/31246617364?pr=1614


Change module naming to fit go-gorm repo

[v] Do only one thing
[v] Non breaking API changes
[v] Tested

What did this pull request do?
Change the module naming to fit the go-gorm bigquery repository

User Case Description
Module name should match repository by default

@jinzhu
Do you want to give me write permissions to this repo so I can merge changes?
Or do you want to manage it?
10x,
Guy

Hello @guypeled76
Sorry for the delay, just assigned the manage permission to you.
Thank you for your contribution!

Thanks,
Guy

Thanks,
Guy

Hello @guypeled76
Thank you for your contribution, so the BigQuery is usable now?

Hi @jinzhu
The things that are in the test coverage are usable.
We are just starting to move to it so it is not yet battle tested but it looks good.
So it's usable but in an early stage.
Every time we will find an issue or require another bigquery feature we will add it to the test coverage as well. It seems that all the "regular" GORM API like Where, Find, Not and so on are working out of the box. We only needed to add support for the nested tables/rows both in creation and when querying. We didn't use JOINS as we don't need it but we might use it in the near future for joining a small table with a larger one.
Hope that makes sense.
Guy


Build for Windows

How long would it take to supply /windows_8.1/amd64 build with the library? Or where to find instructions how to build it myself?

Hi,
The build instructions are in the README:
https://github.com/luben/zstd-jni#building-and-dependencies
All you will need is JDK and SBT. Here is how to install sbt on windows.
http://www.scala-sbt.org/0.13/docs/Installing-sbt-on-Windows.html
The rest is "sbt compile package publish-local"
If you know some hosts providing ssh access to windows that I can use for compilation I may include it the pre-build packages for the next version

Might be closed with PR #5

Hi,
I made it build and pass the tests on both win32 and win64 (after a lot of trials and errors):
https://ci.appveyor.com/project/luben/zstd-jni/build/22
The only step left is uploading the result and making a new release may be tomorrow.

The release with windows support (x86 and amd64) is on maven central, can you try it?

@luben checked the JAR file. Windows build missed.

Also make sure to get the latest version of sbt-jni plugin - they had have issues with windows too.

@mkane007 are you sure you are not using an old jar? When I look into the jar here:
http://repo1.maven.org/maven2/com/github/luben/zstd-jni/0.5.0/zstd-jni-0.5.0.jar
I see both win/x86 and win/amd64 dlls inside. Also I have changed the logic where to look for the windows dlls.
Please try again. It may be also maven-central being slow on updating its index.

@luben you're right. Was looking at different repository. Thanks.

Thanks for the pointer to the new version of the sbt-jni. It has some other problems compiling on windows so I have overriden some of its logic in my build:

one of the problems is that the jni_md.h provided from the windows JDK is compatible only with visual studio (uses __int64) and does not work with msys/gcc so I have put fixed version in my repo (using inttypes.h and int64_t)

another problem is that jni dlls compiled on windows (with gcc and I suppose other compilers) needs extra flags for the linker and the compiler, e.g. "--kill-at" to the linker in order to strip the stdcall suffixes from the symbols (on x86 at least).

BTW, if it now works for you let's close the issue.

Closing, if it is still a problem, please reopen


Getting error while trying to install

Hi Paul,
Could you please check this error while trying to install
(qtest) alister@alister-Lenovo-ideapad-320-14ISK:~/sample/qtest$ pip install qasymphony-qtest-library
Collecting qasymphony-qtest-library
  Using cached qasymphony_qtest_library-0.2.2-py3-none-any.whl (5.3 kB)
Collecting requests>=2.18.4
  Using cached requests-2.27.1-py2.py3-none-any.whl (63 kB)
Collecting certifi>=2017.4.17
  Using cached certifi-2<IP_ADDRESS>-py3-none-any.whl (155 kB)
Collecting idna<4,>=2.5
  Using cached idna-3.3-py3-none-any.whl (61 kB)
Collecting charset-normalizer~=2.0.0
  Using cached charset_normalizer-2.0.12-py3-none-any.whl (39 kB)
Collecting urllib3<1.27,>=1.21.1
  Using cached urllib3-1.26.9-py2.py3-none-any.whl (138 kB)
Installing collected packages: urllib3, idna, charset-normalizer, certifi, requests, qasymphony-qtest-library
ERROR: Exception:
Traceback (most recent call last):
  File "/home/alister/All Code/qtest/lib/python3.7/site-packages/pip/_internal/cli/base_command.py", line 164, in exc_logging_wrapper
    status = run_func(*args)
  File "/home/alister/All Code/qtest/lib/python3.7/site-packages/pip/_internal/cli/req_command.py", line 205, in wrapper
    return func(self, options, args)
  File "/home/alister/All Code/qtest/lib/python3.7/site-packages/pip/_internal/commands/install.py", line 413, in run
    pycompile=options.compile,
  File "/home/alister/All Code/qtest/lib/python3.7/site-packages/pip/_internal/req/__init__.py", line 81, in install_given_reqs
    pycompile=pycompile,
  File "/home/alister/All Code/qtest/lib/python3.7/site-packages/pip/_internal/req/req_install.py", line 771, in install
    prefix=prefix,
  File "/home/alister/All Code/qtest/lib/python3.7/site-packages/pip/_internal/locations/__init__.py", line 214, in get_scheme
    prefix=prefix,
  File "/home/alister/All Code/qtest/lib/python3.7/site-packages/pip/_internal/locations/_distutils.py", line 130, in get_scheme
    scheme = distutils_scheme(dist_name, user, home, root, isolated, prefix)
  File "/home/alister/All Code/qtest/lib/python3.7/site-packages/pip/_internal/locations/_distutils.py", line 46, in distutils_scheme
    d.parse_config_files()
  File "/home/alister/All Code/qtest/lib/python3.7/site-packages/_virtualenv.py", line 21, in parse_config_files
    result = old_parse_config_files(self, *args, **kwargs)
  File "/usr/lib/python3.7/distutils/dist.py", line 397, in parse_config_files
    filenames = self.find_config_files()
  File "/usr/lib/python3.7/distutils/dist.py", line 352, in find_config_files
    sys_dir = os.path.dirname(sys.modules['distutils'].__file__)
  File "/usr/lib/python3.7/posixpath.py", line 156, in dirname
    p = os.fspath(p)
TypeError: expected str, bytes or os.PathLike object, not NoneType
WARNING: You are using pip version 21.3.1; however, version 22.1.2 is available.
You should consider upgrading via the '/home/alister/All Code/qtest/bin/python -m pip install --upgrade pip' command.
(qtest) alister@alister-Lenovo-ideapad-320-14ISK:~/sample/qtest$

Hello! Unfortunately, I no longer have the time to maintain this solution. I am going to archive this project so it's still available for reference, but as an alternative browse to their URL (previously api.qasymphony.com, but currently qtest.dev.tricentis.com/) and locate the link to their Python download.
You can view the readme with a screenshot to their download link for clarification.
Good luck!


investigate nginx as external loadbalancer for kubernetes

what are we going to use for our baremetal load balancer.  Nginx?  Envoy?  HAProxy?  Other?

https://github.com/kubernetes/contrib/tree/master/service-loadbalancer might be useful

this is covered by flipbit


Sigma Value Modifiers

Rule without value modifiers
detection:
    selection:
        EventID:
            - 150
            - 770
            - 771

converts to
<field name="win.system.eventID" negate="no" type="pcre2">(?i)150|770|771</field>

instead of
<field name="win.system.eventID" negate="no" type="pcre2">(?i)^150$|^770$|^771$</field>

Could cause false positive with eventID = 1500, 1150...
It may also affect performance.
Rule source: https://github.com/SigmaHQ/sigma/blob/master/rules/windows/builtin/dns_server/win_dns_server_susp_server_level_plugin_dll.yml#L25-L28

Added a quick logic check for this. Unfortunately don't have time to continue much dev on this tool though. Hope it works for you now. A quick check shows it working for me.

Just a note, code is looking for anything that is an int in a sigma field value and then creating the regex exact match logic in the Wazuh rule. Could create unintended false negatives in other fields with ints as values

Did you only fix for integer values? The same problem applies to string values.

Doing this for all string values wouldn't be a good solution. Maybe you can add an option for some field names to allow this? I really don't support it anymore.


test: throw on deprecation

The system test told us about this one:
  1) SpeechSmokeTest v1p1beta1
       successfully makes a call to the service:
     DeprecationWarning: grpc.load: Use the @grpc/proto-loader module with grpc.loadPackageDefinition instead
      at GrpcClient.load (node_modules\google-gax\src\grpc.ts:224:27)
      at new OperationsClientBuilder (node_modules\google-gax\src\operations_client.ts:440:38)
      at new lro (node_modules\google-gax\src\index.ts:58:10)
      at new SpeechClient (src\v1p1beta1\speech_client.js:122:29)
      at Context.done (system-test\speech_smoke_test_v1p1beta1.js:21:18)

Is there a chance to get this fix into the next version? :)


Allow room admins to configure room settings

Currently the owner of the bot needs to configure the allow_from for each room. Ideally, this would be done by the people in the room instead of the service provider.

Room settings expands to anything in the room configuration (whitelist, blacklist, message format, etc)


fetch service from consul very slow using consuldotnet

Sorry to bother you again.
When we request an api through gateway(using ReRoutes configuration in Consul),it appears very slow,almost 2 seconds.I'm using all local websites,including Consul from local.
I debugged the Ocelot srouce code ,and found that it will take more than 1 sec in ConsulServiceDiscoveryProvider.Get ,to be exact ,it's await _consul.Health.Service(_config.KeyOfServiceInConsul, string.Empty, true)!
Below is my log data(notice the ConsulServiceDiscoveryProvider logger part):
ocelot-consul.log
I tried 3 times,more than 1 sec in average.

And I found the ConsulClientFactory,and changed it as below(make IConsulClient a Cache):

It flys,as the follow log data shows:
ocelot-consul-new.log

So could you think about this case?
Since above modify in  ConsulClientFactory is just a simple try,you master must have your own consideration.
And it still cost more than 100 ms,I think we can think about service cache in Ocelot.
Thanks very much!

@zpf1989 I have had a quick look now, the IConsulClient is cached later on as part of LoadBalancerHouse so it should only be created once per ReRoute. Unless I am missing something I probably am so will keep looking as it is clear from log you are spending more time in Consul code.
Were you using Console logging for either of these tests?

Yeah,I have logging in Console either,and Consul is also has its Console terminal.
With logging in Console  disabled,It appears faster,but the 1 sec still exists.
I debug the ConsulClientFactory using F5,found that every request will create a new ConsulClient,even for the same ReRoute.
Hope to help.

@zpf1989 OK thanks for the information, please could you share you json configuration so I can debug this further. It should not be creating a new client for each request.

Sorry to provide the configuration in consul so late,Here is it:
config_in_consul.txt
And below is in the ocelot.json file under my gateway website,
{
"GlobalConfiguration": {
"RequestIdKey": "RequestId",
"ServiceDiscoveryProvider": {
"Provider": "Consul",
"Host": "localhost",
"Port": 8500
}
}
}
If I missed something,tell me please.
Thank you!

@zpf1989 Thanks for sharing I will take a look. It might be something to do with the fact your are also storing the configuration in Consul. I do not have a test for this. I will check again asap.

@zpf1989 I am sorry but I'm not sure if I will have time to debug this before 14/05/2018. If you have time I suggest trying your configuration in the ocelot configuration.json and see if you get the same problem. If you don't we know its an issue with storing configuration in Consul.

I've tried your way,and I got the same problem.
I moved the config from Consul to my ocelot.json file,and removed the AddStoreOcelotConfigurationInConsul.
It's the same problem,as below:

And I think the problem should not be the position of the configuration.
It's the process that finding service from consul acts slow.
Waiting for your news ,thank you.

@zpf1989 ok cool, I will take a look ASAP. I am away from my computer at the moment :)

@zpf1989 This is a bug. I have an if statement to check if we need to rebuild the cached load balancer / service discovery client and it does not account for the user not choosing a load balancer. Ocelot defaults to no load balancer so we need to make the check account for that. I will change this tickets status and will fix the bug asap.
However you can fix this issue by choosing a load balancer in your configuration. If you have a look at the docs here it should make sense how to choose one.

Well,as to load balancer,there is a plan to use nginx between the gateway and the api.
Nginx register itself as a service in consul too,and so gateway can find it and  follow requests with servicename APIA to  special nginx server with some custom handling.
But, as you see,it's complex.
So what's your advice about which one would we use,the nginx,or the load balancer inside ocelot?
And what's the difference between the two?
No offense ,just for discuss.  If you don’t set anything it uses NoLoadBalancer. The bug is related to this. If you put NoLoadBalancer in your config your performance issue should be resolved!
Use nginx with Ocelot NoLoadBalancer. Nginx is a much more battle tested piece of software :)
Don’t worry I’m not offended!

@zpf1989 I have released a fix for this issue in Ocelot version 7.0.2 please can you give it a try and see if the performance is still poor? Let me know if it doesn't improve. I believe you are using the same setup as Tencent apart from this bug so the performance should be good!

@zpf1989 there was a problem with the release, please wait for further updates

It works fine and the 1 sec disappear.
But It still cost about 100 ms in gateway ,I have no idea whether it's the same in your test.
It may relate to my local Consul server,consuldotnet,my gateway site,or something else.
I'll keep on it.
Thank you very much!

Man,it seems to a new bug,see the case below:
I use the no NoLoadBalancer.
First,I start up the gateway only,when request an api,it fails because of no service found in consul.It's OK.
Than, I start the api and request again after it's green in consul,it still fails .
It's the NoLoadBalancer that fetching services from consul for only once(and the NoLoadBalancer is cached),like below:

Should it be the same as RoundRobin to pass a getting services Func to the constructed function?

@zpf1989 awesome!! Thank you for your patience! I really appreciate the help.


Closing DatePicker modal window by pressing the Escape key seems to be broken

Opening the date picker on any of these examples and then pressing esc to close it will throw an error in the dev console:

@emorevival can you confirm the issue still exists?

Closing due to inactivity.


win 10 install stuck

install stuck on a fresh windows 10 20h1 install
with roaming profile from win server with active directory
maybe some files are blocking on roaming but i can't find them

I am having this same issue after trying to update to beta version.

Fixed in #893


Project doesn't compile

Multiple pages (Default.aspx, Consume.aspx) use the same "_Default" class and therefore have multiple Page_Load methods.

Same. That fact that this is still the case almost 4 years later makes me question why my employer is even using onelogin.


Add support for groupid in agent activation

Added group_id as optional parameter when activating agent.

Make a mistake when updating the readme


pre_window doesn't execute

Trying to set up a project, but I'm having trouble getting pre_window commands to run, which I'm using for virtual environments. It seems to just skip that. The DB window never tries to start mysql and the ones with pipenv don't seem to try to start that.
Tmuxinator config:
name: myproject
root: ~/Git/myproject/

windows:
  - Editor:
      pre_window: pipenv shell
      layout: main-vertical
      panes:
        - Vim:
          - nvim .
        - Log:
          - tail -f devlog.txt
        - Shell:
          - #zsh

  - Shell:
      pre_window: pipenv shell
      layout: main-vertical
      panes:
        - #zsh
        - #zsh

  - DB:
      pre_window: sudo /etc/init.d/mysql start
      layout: even-vertical
      panes:
        - Serverlogin:
          - mycli -u devlogin -p devpass -D myproject
        - Me:
          - mycli -S /var/run/mysqld/mysqld.sock -D myproject

  - Server:
      pre_window: pipenv shell
      panes:
        - FLASK_APP=src/myproject.py flask run |& tee devlog.txt

  - Mux:
    - tmuxinator open myproject

mux debug myproject output:

#!/bin/zsh

# Clear rbenv variables before starting tmux
unset RBENV_VERSION
unset RBENV_DIR

tmux start-server;

cd /home/jakob/Git/myproject

# Run on_project_start command.

  # Run on_project_restart command.

  if [ -z "$TMUX" ]; then
    tmux -u attach-session -t myproject
  else
    tmux -u switch-client -t myproject
  fi

@Krakob after some testing, it looks like your pre_window setting needs to be at the top level of your project.yml. The same pre_window command will run for all of your windows/panes (i.e., it's not specific to a single window).
From your example, if you want to run pipenv shell for only your Workspace window, you could do that like so:
windows:
  - Editor:
      layout: main-vertical
      panes:
        - Vim:
          - pipenv shell && nvim .
        - Log:
          - pipenv shell && tail -f devlog.txt
        - Shell:
          - pipenv shell #zsh

Depending on how common this use case is, I think it would be reasonable to make a feature request for pre hooks to be scoped such that they run for each pane in a window, or each window in a project.

There's a few issues with this - pipenv shell launches a shell, meaning that anything used with && like that won't execute inside the shell. Additionally, I don't want all panes to be in the subshell, since it screws a bit with my Neovim setup, and there's simply no need to for e.g. the DB clients.
In reality, launching the virtual environment is pretty much only necessary for the shells, which is trivial since I don't need to do anything other than launch them. What has me scratching my head is launching Flask. Anyhow, I swear I got this working before (starting MySQL before opening database windows, but not hindering any others), but I don't have that config file at hand right now. I should be able to post that before the end of the week.

There is another hook, called simply pre, that runs before the entire project starts. Is that maybe what you're looking for?

Not quite, since pipenv launches a subshell, I want some panes/windows outside of it and some panes launching it and then launching processes within it.

Turns out I didn't have this working, the reason being that I didn't need it 'cause MySQL runs on startup and I basically never need to start it myself 😆
Anyhow, you can run things in the spawned pipenv shell by simply doing pipenv shell my_command and that pretty much solves it. Thank you for your input :)


fix: make bodyHtml{Start,End} a global setting (fix #146)

@brillout Can this be merged? Looks good to me.

Mostly yes, the only thing missing is to make it cumulative.
On Sat 27. Jul 2024 at 20:42, Chris-Robin Ennen @.***>
wrote:

@brillout https://github.com/brillout Can this be merged? Looks good to
me.
—
Reply to this email directly, view it on GitHub
https://github.com/vikejs/vike-vue/pull/147#issuecomment-2254224675, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHVQRQB77DYVJN6CACTDJTZOPS2PAVCNFSM6AAAAABLEPSTH6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJUGIZDINRXGU
.
You are receiving this because you were mentioned.Message ID:
@.***>

I don't quite understand - aren't we doing that already?

Ah, my bad, I thought you were commenting the other PR.
As for this PR I didn't merge it yet because of the following.
I want to create a new meta config:
// +config.js

export default {
  meta: {
    bodyHtmlStart: {
       env: { server: true, client: false },
       cumulative: true,
       global: true
    }
  }
}

If the user sets bodyHtmlStart in a non-global fashion then Vike throws an helpful error. (As it wouldn't work and catching bugs early is better here.)
Also it's a breaking change, so I'm considering bundling this change with other breaking changes I'm going to release soon.
That said, I don't have any strong opinions here and I guess we could already merge since the current implementation is broken.

Agree. Still, if this doesn't need any work I propose we merge and release once those changes are implemented. The head settings will warrant their own release as well and they're probably breaking as well so I don't see any reason to let this PR sit.


Header is not complete

hey @Kanika637 can you assign this issue to me, i can make the  final header look alike the above i have mentioned

Hey @uvsingh2706, You can go forward and work on this issue.
One more thing, the content of the product's text is being misplaced, Kindly correct it

oky!!
i'm doing it

Hey @uvsingh2706, Regarding handling the misplaced, don't do that as someone is already working on it as a new issue. Just complete that grey header👍

oky @Kanika637


ROS noetic support

Is it planned to support ros noetic?

Please checkout 'noetic-devel'

Is this one going to be in ros-noetic release. So we can get it as apt install ros-noetic-multimaster-fkie and apt install ros-noetic-master-sync-fkie?

Is this one going to be in ros-noetic release. So we can get it as apt install ros-noetic-multimaster-fkie and apt install ros-noetic-master-sync-fkie?

there is already a noetic release, but only with ros-noetic-fkie-master-sync and ros-noetic-fkie-master-discovery working

there is already a noetic release, but only with ros-noetic-fkie-master-sync and ros-noetic-fkie-master-discovery working


Feature Request: List with checkbox to only export some layers

Sometimes only want to export 2 or 3 layers. Currently, have to export image then crop it in image editor.
Would be great to include only the layers I want in the export

Are you using the web app?
If you are using the CLI, keymap draw command has an argument called --select-layers/-s to subselect the layers to be drawn, see https://github.com/caksoylar/keymap-drawer/issues/51#issuecomment-1722304621.
The web app currently doesn't have a way to do that: It is purely a UI issue because I am not sure where I'd put it as it doesn't exist in the configuration (see the linked comment for justification). Perhaps I can put it under the "Export" dialog, next to the new background color selectors -- the problem with that is that they don't affect the preview; they would only take effect in the exported file. I'll also consider adding a new dialog for these kinds of options that would modify the preview directly, but I don't know if it would be clean enough.

I implemented a "Draw options" dialog in the dev version of the web app, please have a look and feedback would be appreciated! https://keymap-drawer-dev.streamlit.app/

I pushed this to the main app as well, so I am closing assuming the original request was satisfied. Feedback is still welcome, though!

Changes look great! Did some testing.
Filter for preview works perfectly. Exporting only relevant layers works perfectly.
Not sure if a bug, but exporting png does not export in dark mode. SVG works as expected.

Great, thanks for testing.
For PNG export you have to force dark_mode setting to on (not "auto"), I believe it will always default to light otherwise. Let me know if that doesn't work for you.


Update tableplus to 1.0,67

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

Additionally, if updating a cask:

[ ] I verified this change is legitimatehow do I do that?. I did so because sha256 was altered, but version was not. I’m providing confirmation below, as instructed by the guide.

You should brew upgrade cask-repair. You’re using an old version.

Sure, will do. Does it affect this PR?

Sure, will do. Does it affect this PR?

Not at all. As soon as Travis passes, we’ll merge it.

Travis has passed.


KSP: Serde can't work with discrimantor

Get a sample application: https://github.com/altro3/micronaut3-bug/tree/kotlin (branch kotlin)
Send simple request to endpoint localhost:8080/test
{
    "numWings": 2,
    "beakLength": 12.1,
    "featherDescription": "this is description",
    "class": "ave",
    "color": "red"
}

And you will see exception:

Sample controller:
    @Post("/test")
    open fun test(@Body @NotNull @Valid animal: Animal): Mono<Animal> {
        return Mono.just(animal)
    }

Sample model classes:
@Serdeable
@JsonPropertyOrder(
        Animal.JSON_PROPERTY_PROPERTY_CLASS,
        Animal.JSON_PROPERTY_COLOR
)
@JsonIgnoreProperties(
        value = ["class"], // ignore manually set class, it will be automatically generated by Jackson during serialization
        allowSetters = true // allows the class to be set during deserialization
)
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "class", visible = true)
@JsonSubTypes(
        JsonSubTypes.Type(value = Bird::class, name = "ave")
)
open class Animal(
        @Nullable
        @JsonProperty(JSON_PROPERTY_COLOR)
        @JsonInclude(JsonInclude.Include.USE_DEFAULTS)
        open var color: ColorEnum? = null,
        @Nullable
        @JsonProperty(JSON_PROPERTY_PROPERTY_CLASS)
        @JsonInclude(JsonInclude.Include.USE_DEFAULTS)
        open var propertyClass: String? = null,
) {

    companion object {

        const val JSON_PROPERTY_PROPERTY_CLASS = "class"
        const val JSON_PROPERTY_COLOR = "color"
    }
}

Bird
@Serdeable
@JsonPropertyOrder(
        Bird.JSON_PROPERTY_NUM_WINGS,
        Bird.JSON_PROPERTY_BEAK_LENGTH,
        Bird.JSON_PROPERTY_FEATHER_DESCRIPTION
)
data class Bird(
        @Nullable
        @JsonProperty(JSON_PROPERTY_NUM_WINGS)
        @JsonInclude(JsonInclude.Include.USE_DEFAULTS)
        var numWings: Int? = null,
        @Nullable
        @JsonProperty(JSON_PROPERTY_BEAK_LENGTH)
        @JsonInclude(JsonInclude.Include.USE_DEFAULTS)
        var beakLength: BigDecimal? = null,
        @Nullable
        @JsonProperty(JSON_PROPERTY_FEATHER_DESCRIPTION)
        @JsonInclude(JsonInclude.Include.USE_DEFAULTS)
        var featherDescription: String? = null,
) : Animal() {

    companion object {

        const val JSON_PROPERTY_NUM_WINGS = "numWings"
        const val JSON_PROPERTY_BEAK_LENGTH = "beakLength"
        const val JSON_PROPERTY_FEATHER_DESCRIPTION = "featherDescription"
    }
}

ColorEnum
@Serdeable
enum class ColorEnum(
        @get:JsonValue val value: String
) {

    @JsonProperty("red")
    RED("red");

    override fun toString(): String {
        return value
    }

    companion object {

        @JvmField
        val VALUE_MAPPING = entries.associateBy { it.value }

        @JsonCreator
        @JvmStatic
        fun fromValue(value: String): ColorEnum {
            require(VALUE_MAPPING.containsKey(value)) { "Unexpected value '$value'" }
            return VALUE_MAPPING[value]!!
        }
    }
}

Exception reproduce only with KSP.
IMPRTANT: For this problem it doesn' matter do you use field: prefix or not. It doesn't work in both cases
Example Application
https://github.com/altro3/micronaut3-bug/tree/kotlin
Version
4.3.5

@dstepanov next bug form micronaut-openapi :-)

@dstepanov problem only with kotlin, with java all works fine. You can check java in the same scenario and compare introspection in the same project in branch main: https://github.com/altro3/micronaut3-bug/tree/main

Also can say tat with io.micronaut:micronaut-jackson-databind all works fine

@dstepanov You close it to early. Still have the same error:

@dstepanov Please, reopen issue. It still doesn't work :-(

@dstepanov Hi! Any news about this?

Nope, need to check again

@altro3 Looks like @field:JsonProperty(JSON_PROPERTY_PROPERTY_CLASS) is needed

@dstepanov No, problem not here. I try to generate classes with prefix field, and now I see wrong value in propertyClass field:

As you see, discriminator value must be ave, but we see className in this field  - Bird.
I tried write test for KSP here - https://github.com/micronaut-projects/micronaut-serialization/pull/833 , but every time I see problem with not found Intrspected class, but in tem directory I see it.
In my opinion, you need to write a test for this case and understand what the problem is with KSP.
@dstepanov  But without your help I won't be able to do this

@dstepanov Interesting difference between introspection for KSP and KAPT (left is KSP):

Intropected class (the same for KAP and KSP):
@Serdeable
@JsonPropertyOrder(
        Animal.JSON_PROPERTY_PROPERTY_CLASS,
        Animal.JSON_PROPERTY_COLOR
)
@Generated("io.micronaut.openapi.generator.KotlinMicronautServerCodegen")
@JsonIgnoreProperties(
        value = ["class"], // ignore manually set class, it will be automatically generated by Jackson during serialization
        allowSetters = true // allows the class to be set during deserialization
)
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "class", visible = true)
@JsonSubTypes(
        JsonSubTypes.Type(value = Bird::class, name = "ave"),
        JsonSubTypes.Type(value = Mammal::class, name = "mammalia"),
        JsonSubTypes.Type(value = Reptile::class, name = "reptilia")
)
open class Animal(
    @field:Nullable
    @field:Schema(name = "color", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @field:JsonProperty(JSON_PROPERTY_COLOR)
    @field:JsonInclude(JsonInclude.Include.USE_DEFAULTS)
    open var color: ColorEnum? = null,
    @field:Nullable
    @field:Schema(name = "class", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @field:JsonProperty(JSON_PROPERTY_PROPERTY_CLASS)
    @field:JsonInclude(JsonInclude.Include.USE_DEFAULTS)
    open var propertyClass: String? = null,
) {

    override fun equals(other: Any?): Boolean {
        if (this === other) return true
        if (javaClass != other?.javaClass) return false
        other as Animal

        if (propertyClass != other.propertyClass) return false
        if (color != other.color) return false

        return true
    }

    override fun hashCode(): Int {
        var result = propertyClass?.hashCode() ?: 0
        result = 31 * result + (color?.hashCode() ?: 0)
        return result
    }

    override fun toString(): String {
        return "Animal(propertyClass='$propertyClass', color='$color')"
    }

    companion object {

        const val JSON_PROPERTY_PROPERTY_CLASS = "class"
        const val JSON_PROPERTY_COLOR = "color"
    }
}

It became clear why if we add the field prefix with KSP, we have the wrong Bird value. The problem is in object serialization when requested:

As you see, object Bird with serialization set value Bird to class property. Must be ave
My test Birdobject is:

As you see, I don't set field propertyClass. Thi value calculated by micronaut-serde

Problem in class SerBean:

As you see, you set value for decriptor annotaion value SerdeConfig.TYPE_NAME. But maybe problem is befor and we have the wrong value in tis annotaion value.
I am 100% sure that we need a test, because there are at least 2 bugs for KSP


repo-token controllers

PR that covers the implementation of the repo and token reconciler.

/lgtm

/approve
/lgtm


after upgrade animation 'lazy' not working

upgrade angular from 6.0.9 to 6.1.0, updated ngu-carousel and make it work but animation lazy doesn't works.

@harellevy Hi,
Yes we have some element ref issue to animate the item in latest version, but it is temporary I'm working on custom animation where you can able to animate the item yourself. Once it is complete let you know.
Thanks


Seed cover images

Can you see another book?
Make it a copy of one of the other books but with a different content type


dashboard: add an exec speed graph

Show also the "executions per second" graph on the dashboard.
We have differing amouns of fuzzing time each day, so it is very hard
to analyze the dynamics of "exec total" otherwise.

I think we either need to use floats or exec/minute or hour

Changed to float


Fix file descritor leak in the postoffice plugin

Need to close the main inotify handle.
Closes #1838.
Signed-off-by: Igor Pashev<EMAIL_ADDRESS>

This change is

But still, this line is not hit https://github.com/whamcloud/integrated-manager-for-lustre/blob/f17ff3fdf16ed583a075de4978136d80dc2ddd9d/iml-agent/src/daemon_plugins/postoffice.rs#L166

I'd expect inotify to close everything on drop, do you know why this is not the case?

I would postulate it is not dropped :)

Since the issue is tricky, why not to add a description, how it is guaranteed now that the descriptors are freed?


feat: apply stylua formatting

This PR creates a .stylua.toml file on the project root, and edits all .lua files in the project to conform to stylua rules. This addresses #239. Because this includes so many changes, each file is edited in its own commit, so as to make it easier to track.
I've gone through all changes, and all but one are just whitespace or quotation style changes. However, there's one thing we should take a look at:
In lua/sf/term.lua, line 112, the second argument in string.gsub was changed from "\'" to "'". I'm assuming the code here simply was escaping the single quote in the code, and not replacing with an actual escaped quote. Was escaping the quotes what was meant to be doing? In that case, I assume the second argument should be "\\'"?

@FedeAbella you are right, the 2nd param should have been \\' instead of \'.
It's a feature I don't use much, good that you caught it up.
Thanks for the formatting style!


router: Use gRPC message for local responses when the request is gRPC

Some gRPC clients get confused when they get non-gRPC responses to
their gRPC requests. While such clients should be fixed, we can play
nice and format the local responses returned by Envoy router filter as
gRPC responses when the request is gRPC.
Risk Level: Medium
Testing: A HTTP2 integration test is added to exercise the new behavior.
None of the existing tests were affected.
Docs Changes: version_history.rst updated.
Fixes: #1934
Signed-off-by: Jarno Rajahalme<EMAIL_ADDRESS>TODO:

[ ] grpc-message header value should be %-encoded, but I could not find the encoder in Envoy sources, even though I'd expect such be used to user-supplied header values (headers-to-add).

Thanks for tackling this - it'll be great to have our response paths be consistent about the application layer :-)
I had the same suggestion as Matt here but he beat me to it - we're going to eventually want this to apply to all local replies and I agree that it doing this one step at a time makes sense.  One thought - it would be nice if the first step moved us towards a reusable function rather than adding custom code to the router filter.  What do we think of moving the wrapper code for "gRPC or normal sendLocalReply" to somewhere generally accessible (http connection manager is fine by me) even if we don't move any other callers of sendLocalReply over to it in this PR?

In a perfect, perfect world, I think we would make sendLocalReply() a filter API, such that the connection manager would handle this logic as something built-in.

WDYT about making this to a grpc-status-converter filter that can applied at the first of the HTTP filter chain? The filter can catch all non-200 status response from all local replies as well as from backend. It basically does 3. in https://github.com/envoyproxy/envoy/issues/1934#issuecomment-339410536
The gRPC spec does say clients should expect non-200 status and accept it. When they doesn't, the filter can be used to convert all non-200 status to a gRPC error that doesn't confuse clients.

I like the idea of moving certain functionality to a filter, but it will be a little hard because the connection manager itself sends local replies, so in practice I'm not sure how well it will work in this case...

Agree that this should be done for all local replies. I first tried to do this at http/utility, but that failed due to circular bazel dependency with grpc/common. One solution to this would be to move the needed status mapping functionality to http/utility. Then, if we passed request headers to sendLocalReply() we could have callers be unaware of gRPC with the minimal cost of inspecting content type for gRPC also when it is already known that the request is gRPC. Like the idea of extending the filter callbacks to send local replies.
If implemented as a filter, then (at least we) would need to configure all http filter chains with the filter as we don't know if/when/what clients have problems with non gRPC responses.

Yeah, for this particular case I think I'm for inclined to add this to the filter API directly vs. do it as a filter, since IMO gRPC is a core concept that Envoy should just support out of the box.

@mattklein123 Now looking into adding this to the filter API. Currently local responses sent by filters are passed to the the encodeHeaders() callback in decoder filter callbacks, either directly, or via one of the utility functions. This is implemented so that encodeHeaders() encoder filter member of evenry encoder filter is called. I would have expected only the encoders downstream of the current decoder filter to see the local response, but apparently all of them, from first to last get the encodeHeaders() call. This may be confusing if later filters that have not seen the request somehow transform the response.
My question is: should we keep this behavior for local responses sent via the new API? If the local response is sent by a encoder/decoder filter it should be possible to locate that filter from the encoder chain and start the encoding iteration from there, or from the previous encoder, rather than from the beginning of the encoder chain. This may get complicated if the local response is sent by a decoder that is not a encoder, as it will not be as easy to figure out which encoders should see the local response. At the minimum all the decoders that are also encoders that have seen the request should also see the local response. Thoughts?

@jrajahalme yeah agreed this is a problem in the current filter iteration system. Great callout! I agree that it would be possible for filters to get confused and only filters downstream should see the response. But I also agree with your assessment that the code really needs to only do this for dual encoder/decoder filters. IMO it's likely fine to skip this for now with some clear comments/TODO somewhere (and even better maybe some type of ASSERT if we are about to do something we might later regret). @alyssawilk thoughts here?

Yeah, I think logically we should make that change, and definitely have docs explaining it since I suspect folks may get confused either way :-)

Sorry for the manual rebase! First commit is same (but rebased) as before, other commits address comments and implement the new callback we discussed above.

@htuch Addressed your review comments, thanks!

@mattklein123 IMO it would be best to add a new GH issue for the local responses being traversed through all encoders?

@jrajahalme can you check CI errors and then I will review?

Sure, will take care of the CI. It passed locally, so did not expect it to fail...

@mattklein123 Took the most of yesterday to figure out the reason for the CI failure, hopefully all-OK now.

CI tsan fail for lc_trie_test, which I feel might be unrelated to this PR: https://circleci.com/api/v1.1/project/github/envoyproxy/envoy/51617/output/103/0?file=true
Running it locally to try to reproduce.

lc_trie_test fails on me locally as well, but the log is not very helpful:
exec ${PAGER:-/usr/bin/less} "$0" || exit 1
-----------------------------------------------------------------------------
[==========] Running 14 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 14 tests from LcTrieTest
[ RUN      ] LcTrieTest.IPv4Defaults
[       OK ] LcTrieTest.IPv4Defaults (63 ms)
[ RUN      ] LcTrieTest.RootBranchingFactor
[       OK ] LcTrieTest.RootBranchingFactor (67 ms)
[ RUN      ] LcTrieTest.IPv4AddressSizeBoundaries
[       OK ] LcTrieTest.IPv4AddressSizeBoundaries (62 ms)
[ RUN      ] LcTrieTest.IPv4Boundaries
[       OK ] LcTrieTest.IPv4Boundaries (124 ms)
[ RUN      ] LcTrieTest.IPv6
[       OK ] LcTrieTest.IPv6 (66 ms)
[ RUN      ] LcTrieTest.IPv6AddressSizeBoundaries
[       OK ] LcTrieTest.IPv6AddressSizeBoundaries (72 ms)
[ RUN      ] LcTrieTest.IPv6Boundaries
[       OK ] LcTrieTest.IPv6Boundaries (144 ms)
[ RUN      ] LcTrieTest.CatchAllIPv4Prefix
[       OK ] LcTrieTest.CatchAllIPv4Prefix (122 ms)
[ RUN      ] LcTrieTest.CatchAllIPv6Prefix
[       OK ] LcTrieTest.CatchAllIPv6Prefix (133 ms)
[ RUN      ] LcTrieTest.BothIpvVersions
[       OK ] LcTrieTest.BothIpvVersions (136 ms)
[ RUN      ] LcTrieTest.NestedPrefixes
[       OK ] LcTrieTest.NestedPrefixes (131 ms)
[ RUN      ] LcTrieTest.NestedPrefixesWithCatchAll
[       OK ] LcTrieTest.NestedPrefixesWithCatchAll (138 ms)
[ RUN      ] LcTrieTest.MaximumEntriesException
[       OK ] LcTrieTest.MaximumEntriesException (40706 ms)
[ RUN      ] LcTrieTest.ExceedingAllocatedTrieNodesException

@jrajahalme you are hitting https://github.com/envoyproxy/envoy/pull/3298. Don't worry about it for now.

Yes, just verified it fails the same way locally on master as well.

Just about to add a commit that changes all encodeHeaders() calls that are used to send local responses to use sendLocalReply() instead. This requires moving the base implementation of sendLocalReply() to ActiveStream.

@jrajahalme I was about to review, but will hold off if you are still making major changes. Please ping me when I should review.

@mattklein123 Now, just merged the new commits to the branch :-)

@mattklein123 CI passed before the last two commits, and those passed all tests for me locally, so IMO it's good to review.

Except for that I messed the format, just pushed a fix for that.

Thanks for the timely reviews!


Fix linux path to wheel for libgeos

Coverage increased (+0.004%) to 85.137% when pulling f3625fb1a7c54ccb11f9365abee29d289d2f2fe8 on dazza-codes:patch-1 into 9667fe86b6668deb319e6eb0479bc84e5f6e73ee on Toblerity:master.

Apologies for the lagged review! It seems that you're running in a conda environment, how did you install shapely? Normally, conda users would install shapely via conda install shapely (sometimes with -c conda-forge), which would install geos into /opt/conda/envs/gis/lib/libgeos*. Did you use pip install shapely? This would install binary wheels into the path that you specified. We generally don't want to support odd combinations (binary wheels in a conda environment), and I'm not sure how much appetite there is for that at the moment. However, it's understandable that occasionally conda users may need to pip install sompackage that has a dependency on shapely, which will then install the binary wheels version in a conda environment.

@mwtoews - I'm not sure the objection applies to the solution, since the description of the solution must be specific to the venv where libs are installed but the actual solution is not specific to the way the venv was created or how the library is installed.  As I understand the implementation in this PR, it is not that much different from the existing implementation and it should work across any venv and any installation method.  If you can prove that is not true, the objection may require additional work to resolve the concerns raised.

We generally don't want to support odd combinations (binary wheels in a conda environment)

AFAIK, we already supported this for linux and mac (not for windows), based on my earlier comment at https://github.com/Toblerity/Shapely/pull/843#discussion_r387055738.
@dazza-codes you mention in the top post that the wheel library is "not found correctly". Can you explain that a bit more? Do you see errors when using shapely? Did it select the libgeos instead of libgeos_c for you? (for me, when testing a pip install in a clean conda env, it correctly finds the wheel library)

I can't see what this would improve. We're sorting the list of .so files so that libgeos-.so is at index 0 and libgeos_c-.so is at index 1. The shapely wheel builder only ever creates 2 .so files. Are you using wheels built by another system? Will close this PR.


What are the valid locale strings?

Question/Bug Report:
If on dateparser.parse(s, locales=[locale_string]) I set:
en_US.UTF-8
el_GR.UTF-8
fi_FI.UTF-8
fi-FI

I get:
ValueError: Unknown locale(s): 'x'

However, setting fi as locale, works as expected.
Is this a known/expected behavior, or not?

It is expected. The list of supported locales can be found at https://dateparser.readthedocs.io/en/latest/#supported-languages-and-locales

Would it be possible / Does it make sense to add them as aliases?

I am not sure if you'd "specifically" like to add fi_FI, fi_FI.UTF-8 as aliases to fi, but you could somehow add logic to infer fi_FI =~ fi as equivalent.
You could add DeprecationWarnings if you'd like to teach people (and me), that, "Yeah, I know you meant that, but please don't do it".

I personally think that your suggestion, aliases, may be a good approach here, and it should not be too difficult to implement.


docs: add documentation for webhook

Description
Adding documentation about the webhook created in this PR #601; how to add the config, what event is available, and the information about the payload.
Modifications
Tests
Checklist

[x] Added PR label
[ ] Added unit test, integration, and/or e2e tests
[ ] Tested locally
[x] Updated documentation
[ ] Update Swagger spec if the PR introduce API changes
[ ] Regenerated Golang and Python client if the PR introduces API changes

Release Notes
NONE

Thank you @deadlycoconuts for the review and giving suggestions to make the explanation clearer!


Make Slider change the value with onKeyEvent for: all arrows, PgDn, PdUp, Home, End buttons

WIP: if the change is fine from the implementation point of view, I'll add some tests

Thanks!


Pontoon documentation integration: Profile page

We need a page to describe the new Profile page in more details.
#211 is only adding a placeholder for now.

https://blog.mozilla.org/l10n/2022/09/12/redesigned-profile-page-now-available-in-pontoon/ should be useful here.


The design preview shows only a white dot?

Error on the photo I'm having and don't know how to fix it, I've spent all day looking for options, but without any options. Is there any solution for me? thank you very much

Check "Avalonia Diagnostics" in the Output view. There might be some information. In the VS Options (Avalonia XAML Editor) you can also change verbosity.


Add api for /user/permissions

Add api for /user/permissions
GET /user/permissions?authtoken=<authtoken>

permission: admin

Returns all permissions info.

POST /user/permissions?authtoken=<authtoken>
{
  "permission": "<permission>"
}

permission: admin

Create new permission info.

DELETE /user/permissions/<user-uuid>?authtoken=<authtoken>&permission=<permission>
permsission: admin

Delete given user's permission.

Done.