add useScrollLock, fix 1199

Description
We weren't properly cleaning up the scroll lock in many places.
I abstracted this to a reuseable hook so we don't make this mistake anymore.
Related Ticket

Resolves #1199

Checklist

[x] I have run npm run build-all without errors
[x] I have formatted JS and TS files with npm run format-all

Expediting this to avoid bugs in the Monday morning release


Use cookie for user authentication and CMS version update

Currently there's an auth route which handles setting up the user for the first time and keeping track of the CMS version for cache-busting our dynamic pages. Unfortunately there's a lot of overhead using this technique:

Separate request
Reliant on client for correct data
Extra client logic to decipher user id and CMS version
Authentication required on each API request

If we use a cookie for this information, we get the following benefits:

User is validated on each request automatically
User ID is generated server-side
Version is updated server-side (on index request only)
No logic necessary to discern version client-side; read-only.
User ID no longer required to be manually evaluated

There are in fact no downsides to using cookies for this process, other than the idea that a cookie is being used at all. Unfortunately most people have bad connotations with the idea of cookies, because they've been used to track users activities from site to site; this is not our goal. Cookies are simply a more efficient way to manage user interaction with the site.

I'm going to postpone this to a different release when I feel comfortable with my database solution research.

 Add "New" notification for Video/Literature sections

 Use Cookies for Authentication


Add refactoring

It would be very nice to have refactoring options in VSCode like extracting code into a new function or proper rename. Is something like that planned?
Thanks.

Thanks for suggesting this! This is something which is already on our radar and we would like to add support for these kinds of refactoring!


Update settings for github actions

what

Update settings for github actions

references

DEV-1242 Add protected tags with Repository Rulesets on GitHub

@osterman have you processed this migration?


Node age

It would be nice if the site showed the age of the node

This has been added in commit f55dc9e - thanks for the feedback!


matrix-synapse requires pynacl==0.3.0

Issue description
pynacl was updated from 0.3.0 to 1.2.1 however matrix-synapse depends on pynacl==0.3.0 and therefore will no longer build.
Steps to reproduce
Technical details

system: "x86_64-linux"
host os: Linux 4.9.80, NixOS, 18.03pre127302.e860b651d6e (Impala)
multi-user?: yes
sandbox: no
version: nix-env (Nix) 1.11.16
channels(root): "nixos-18.03pre127867.6acfa356ddc"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs

The best solution might be to backport https://github.com/matrix-org/synapse/pull/2888 if it gets accepted.


Portal components

Description

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] I have signed the Adobe Open Source CLA.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes and the overall coverage did not decrease.
[x] All unit tests pass on CircleCi.
[x] I ran all tests locally and they pass.

Old reviews at https://github.com/adobe/aem-core-forms-components/pull/40


How can I make face recognition faster if I have more than 1M known images?

I tried to use your amazing project for face recognition (for example single unknown image) with my big number of known images (1 Million) but its really slow, this slow because its will load all known images (load_image_file -> then face_encodings) in order to compare with ONE unknown image file.
Any ideas how to speed this process? I was thinking to do face_encodings for all known images then save the 128 as string into apache solr but with no luck as I still need to do compare_faces with all known images:) ... Any suggestions?

You could create a database table (postgres, mysql, etc) with 128 columns and store the pre-calculated 1M encodings in that table.  Then you could do the compare_faces math using sql against that table to check one face.

Thank you for quick reply, How can I translate your compare_faces since its using np.linalg.norm to any other sql?

The formula for euclidean distance is just:

So assuming you had one column for each of the 128 feature values, you could do something like:
SELECT * from my_stored_encodings
ORDER BY
      sqrt(
         power(e1 - TEST_ENCODING)_VALUE_0_HERE, 2) +
         power(e2 - TEST_ENCODING_VALUE_1_HERE, 2) +
         power(..... etc....
     )

If you are using Postgresql, you can do more complex things like using it's built-in list data types to store the 128-number encoding in one column and do the comparison using a custom stored function. Just google around for "euclidean distance in sql".

Many thanks :)

you can use numpy logic to caluclate Euclidian distance between two vectors.
dist = numpy.linalg.norm(vecor(a)-vector(b))

Thank you All. I've indexed all images encoding into apache solr and then I managed euclidean distance using solr build-in function dist i.e. http://localhost:8983/solr/mycore/select?q=:&fl=dist(2,v_0,v_1,v_3,...,v_127,-0.0621345,0.048437204,0.0839613,...)
So fare, I indexed around 40K images and the query speed very good (17ms without any solr cache)

hello @ageitgey
thanks for the great work.
I am saving the face_encodings into database in one column. But I am not sure what data type should I select for the row. bigint ? bigserial ?
can you help please ?

I don't think its will be a good idea to save all face features (encodings) in one column, try to add 128 columns with float data type i.e.  Column0 float(22,20),Column1 float(22,20), ... Column127 float(22,20).

@khaledabbad but I am using postgresql database. @ageitgey mentioned that we can store encodings in 1 column if we use postgres.

@xenc0d3r In postges, you can optionally store them in a single column using the CUBE extension. However postgres has a 100-dimension limit on cube fields by default and you have to edit a file and recompile postgres yourself if you want to do it that way since the face encodings are 128 dimensions.
See the other thread: https://github.com/ageitgey/face_recognition/issues/403#issuecomment-373437405

@ageitgey thank you for your response. So I decided to save them as multiple columns. I know you are busy with other works but can you give a sql query example how to compare a uploaded image with the saved encodings in python.
Thanks in advance.

@xenc0d3r There's an example higher in this thread: https://github.com/ageitgey/face_recognition/issues/238#issuecomment-345847465
You'll just have to write out all 128 terms in the sql statement instead of only the 2 I put in the short example.

Hello @ageitgey @khaledabbad
When I try to save the encoded list to postgresql with python psycopg2 I receive the following error.
TypeError: 'numpy.float64' object does not support indexing
I have 128 rows for encoded list elements in my database table and their datatypes are float.
Can you help me please ?
Best Regards

@ageitgey @khaledabbad  my code is as :
test = list(encoded-photo)
for row in test:
c.execute("""INSERT INTO photos VALUES (DEFAULT,%s,%s,%s ---128 times,);""", row)

I had success inserting with this: (python code)
INSERT INTO test (face_encoding) VALUES ('"+face_encoding_string+"')
just changing values to string and inserting into postgres 128 cube encoding.
Python:
face_encoding_string = "(0.1,0.1,0.1)"

@mmelatti can you help me about this. can we discuss instantly on twitter etc. thank you

Don't have twitter atm sorry, I'll post my code and see if it can help you? I'm using psycopg2 as well.

@mmelatti thank you so much for your help. regards

@mmelatti and can you provide the sql query which you are using to compare images ? and also you said you used cude extension. but it has limitation up to 100 as far as I know.
May I use it ?

Yes its limited up to 100 but in this post I show my method for changing cube to 128:
https://github.com/ageitgey/face_recognition/issues/403
I have link to download the source for postgres and I have instructions for changing cube data type to 128 dimensions. I'm working on my query atm I'll share that code as soon as I finish it.

@mmelatti thank you. I am trying to install it.

@mmelatti I modified and installed the 10.3 version. But I think I can not start server with service postgresql start command. Everything tangled here.. :)

did you add new user $ adduser postgres
did you switch to that user to issue start command?

@mmelatti I receive FATAL:  role "faceadmin" does not exist

@mmelatti Ok i achieved finally. it is woking

@mmelatti can you also send the code where you instered the encoded array into database.
and what data type did you set for it ? thank you

@mmelatti I inserted succesfully into database but when I try to compare them I got the following error.
LINE 1: ...first_name FROM wanted ORDER BY face_encoding <-> cube(array...
^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.
any ideas ?

I had that same error for a while. It went away when I changed ORDER By ________ to make sure it was the same column that I'm storing the cube data type

@mmelatti so should I remove order by part. Can you help please. it does not recognize cube command

@mmelatti ARE you storing the encoding in 128 different rows or in a single row ?

1 row, cube data type, entered as 128 dimensions: looks like this when entering: (0.1,0.1,0.1, ...., 0.1,0.1)

I receive an error while encoding. Any ideas ? @ageitgey @khaledabbad
File "/usr/local/lib/python3.6/dist-packages/face_recognition/api.py", line 197, in face_encodings
raw_landmarks = _raw_face_landmarks(face_image, known_face_locations, model="small")
File "/usr/local/lib/python3.6/dist-packages/face_recognition/api.py", line 151, in _raw_face_landmarks
face_locations = _raw_face_locations(face_image)
File "/usr/local/lib/python3.6/dist-packages/face_recognition/api.py", line 100, in _raw_face_locations
return face_detector(img, number_of_times_to_upsample)
MemoryError: std::bad_alloc

Hello @mmelatti
I would like to thank you first for sharing the database for face recognition.
I had a problem when running LoadDatabase.py and I would appreciate if you please help to solve it.
$ python LoadDatabase1.py
/Users/Badr/.virtualenvs/cv/lib/python2.7/site-packages/psycopg2/init.py:144: UserWarning: The psycopg2 wheel package will be renamed from release 2.8; in order to keep installing from binary please use "pip install psycopg2-binary" instead. For details see: http://initd.org/psycopg/docs/install.html#binary-install-from-pypi.
""")
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/local/Cellar/python/2.7.14/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk/Tkinter.py", line 1541, in call
return self.func(*args)
File "LoadDatabase1.py", line 81, in SubmitDataBase
image = face_recognition.load_image_file(self.filename)
AttributeError: LoadDatabase instance has no attribute 'filename'

@badory happy to help. First of all, if you're getting Tkinter errors, Tkinter is just used for the GUI. I also included a command line interface that does pretty much the same thing. So if you get Tkinter errors I would try using the CLI in /command_line_interface folder. as for the psycopg2 error, that library is required for connecting to the PostgreSQL database. It seems like you're having problems with the wheel package. Have you tried steps to install this? sudo apt-get update, sudo apt-get pip2 or pip3 (whichever python version). pip install --upgrade pip ; pip install psycopg2 ; make sure its in your python virtual environment. maybe try uninstalling and reinstalling? I'm not sure if you're using python's virtualenv.

@ageitgey - Did you read about the FB class action suit and revised Facebook privacy terms to come out where users opt-in to face recognition features (e.g. auto-tagging) ??? I think it had something to do with storing biometric (face) data...
https://techcrunch.com/2018/04/16/judge-says-class-action-suit-against-facebook-over-facial-recognition-can-go-forward/

@mmelatti, are u suing knn search anywhere in database ? Why not store ML models of the encodings in database than encodings ? isnt the search time less with models ?

Hi @mmelatti,
Thank you for your reply,
I started with MongoDb to store the encodings. I pickled the numpy arrays as one and stored in to mongo document. Am planning to write the euclidean distance  in application code after loading all the arrays fom database. Am i doing it correctly ? Any ideas ? Why didnot you simply pickle the encoding ? And load all the encodings to application code for comparision ?

For very large numbers The database searching an encoding may be faster than the application code for comparison (Application code may just loop through entries need confirmation on this?)? I'm not as familiar with the specific details of the API. Additionally, haven't tried but I'm not sure on the management side, how to remove entries from application code so +/- management?

@mmelatti  thank you :) Could you please tell the sql code for how you calculated the euclidean distance in postgre ? I see that usually array operations doesnot include a direct distance calculation feature. In mongo, it has array push pop and minimal operations.

pretty sure example of how sql should look is located right at the top of this thread: (ageitgey posted)
SELECT * from my_stored_encodings
ORDER BY
sqrt(
power(e1 - TEST_ENCODING_VALUE_0_HERE, 2) +
power(e2 - TEST_ENCODING_VALUE_1_HERE, 2) +
power(..... etc....
)

@mmelatti thank you 👍
How can you improve the accuracy of images if you store in database ? We need to store more images of same person ?
Imagine i store 10 images of same person. Then accuracy could be improved ?
Regarding the speed, if i have 50,000 different faces. can my response still be in milli seconds if i check with each result in postgres database ?
I see that postgres implemented knn indexing within <-> eulidean distance operator. Is this same as trianing a knn machine learning model ?
Thank you,

@MLDSBigGuy You might want to check out this website:  to get  a better idea of what the api is doing and how convolution neural networks work.
You should still be able to get fast queries from a spatial database even with many entries in the db. The neural network converts feature maps to vector space (128 embedding) in vector space we can use vector distance to determine similarity in identifications. I don't believe the knn indexing is the same as the api. besides the obvious advantageous use of persistent data I would take a look at some key differences here:

I don't believe storing 10 images of the same person in the database will improve accuracy. If done for all persons you would be blurring the identity in the vector space and also seems counter intuitive to the convolution neural network except in special cases. I believe the best approach to improve accuracy without somehow creating a better more accurate convolution neural network would be to instead: don't increase stored images of same person, but instead analyze more frames of a person. aka if you are doing video surveillance you can look at multiple frames of a person walking by and determine the person through multiple frames and angles. The industry seems to be taking this approach for increased accuracy.
best,

Thank you ver much @mmelatti for  your detailed answer. I will go through the links.
Yes, you are right. matching the person walking through camera is good 👍
I saw your code here for postgres setup: https://github.com/mmelatti/face_recognition/blob/master/face_database/README_setup_Postgresql.txt.
I see that you didnot create index on encodings. Wont query be much faster with indexing ?
If so, do i need to create index when i create table in starting (or) when i query entries ?
Thank you,

How can I use face_recognition to load multiple images? please guide me, I am new to python..
I've asked it in detail on stackoverflow, please see and please guide me:
https://stackoverflow.com/questions/53042959/dynamically-store-images-via-face-recognition

@Asad2195  ageitgey/face_recognition provides exactly that functionality. See The examples in the
project from PIL import Image
import face_recognition
Load the jpg file into a numpy array
image = face_recognition.load_image_file("biden.jpg")
This loads faces. This thread specifically follows how to store face encodings in a spatial database for querying likeness.

Hi @ageitgey
I used the database  'sqlite3'
SELECT * from my_stored_encodings ORDER BY sqrt( power(e1 - TEST_ENCODING_VALUE_0_HERE, 2) + power(e2 - TEST_ENCODING_VALUE_1_HERE, 2) + power(..... etc.... )
I'm sorry to bother you, when I used the database, I found the following error
'Error: no such function: sqrt'
What's the point of using a database if you're not computing Euclidean distances inside a table,
or because the database I'm using doesn't support 'sqrt' function?

@jackweiwang sqllte is not a traditional database. It's a minimal database that only works for some simple uses. It doesn't have the math functions you'd need to do this calculation in the database, so it wouldn't be a good choice for this kind of use.

@khaledabbad can u help me apache solr thing

Thank you All. I've indexed all images encoding into apache solr and then I managed euclidean distance using solr build-in function dist i.e. http://localhost:8983/solr/mycore/select?q=:&fl=dist(2,v_0,v_1,v_3,...,v_127,-0.0621345,0.048437204,0.0839613,...)
So fare, I indexed around 40K images and the query speed very good (17ms without any solr cache)

@khaledabbad
Hello! Please let me see your solr config for this and instructions.
Thank you!

@ageitgey I have a similar use case of matching one person encoding to millions of ever-growing encodings.
Can we use clustering(for ex, kmeans) to create groups of similar image. Then, when new image comes up, we match that first with nearest cluster and then, with nearest encoding within it. The distance method can be the same euclidean or other? Please tell your observations on this approach?

@khaledabbad @anigogo @deimsdeutsch
Hey, how should we create a schema.xml design for that? Any examples do you have currently?

Thank you All. I've indexed all images encoding into apache solr and then I managed euclidean distance using solr build-in function dist i.e. http://localhost:8983/solr/mycore/select?q=:&fl=dist(2,v_0,v_1,v_3,...,v_127,-0.0621345,0.048437204,0.0839613,...)
So fare, I indexed around 40K images and the query speed very good (17ms without any solr cache)

@khaledabbad  query means you have taken new image encodings and did euclidean distance using solr Right? and if yes did it took 17 milliseconds to give out prediction.
2.It's better and helpful for others if you share your apache solr code of save encodings to the database and do the euclidean distance on it.

You could create a database table (postgres, mysql, etc) with 128 columns and store the pre-calculated 1M encodings in that table. Then you could do the compare_faces math using sql against that table to check one face.

There are two approaches for comparing right (1) distance based and (2) knn approach.
Q1) Which approach would provide more accuracy?
Q2) Can I use cosine similarity for comparing? if yes, what is the accuracy when data size is very large
Q3) If KNN-Classifier is giving more accuracy how can we implement it in database? (i am guessing it is tough or near to impossible even then i am asking out of curiosity :) )

Thank you All. I've indexed all images encoding into apache solr and then I managed euclidean distance using solr build-in function dist i.e. http://localhost:8983/solr/mycore/select?q=:&fl=dist(2,v_0,v_1,v_3,...,v_127,-0.0621345,0.048437204,0.0839613,...)
So fare, I indexed around 40K images and the query speed very good (17ms without any solr cache)

@khaledabbad can you share the source code if possible?
Thanks

Hello,
This was interesting, I tried storing my features in DB and used it for prediction by calculating Euclidean distance for comparing the images.
But here I am facing an issue, I updated in DB only one image feature of a single class image. When I use the same image by little zoomin/zoomout the euclidean distance value is high for the same image.
How we can handle this???
Basically here I am not training with multiple images if we are doing how we can store the feature??
Thanks

I tried to use your amazing project for face recognition (for example single unknown image) with my big number of known images (1 Million) but its really slow, this slow because its will load all known images (load_image_file -> then face_encodings) in order to compare with ONE unknown image file.
Any ideas how to speed this process? I was thinking to do face_encodings for all known images then save the 128 as string into apache solr but with no luck as I still need to do compare_faces with all known images:) ... Any suggestions?

@khaledabbad do you have a project setup video or tutorial ? I want to see how you setup your solr and then how did you save encoding, and then compared them during recognition.

query = "SELECT first_name, last_name, face_encoding FROM people ORDER BY face_encoding <-> cube(array["+face_encoding_string+"]) LIMIT 1"
ERROR: Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\huuthoang\AppData\Local\Continuum\anaconda3\envs\opencv-env\lib\tkinter_init_.py", line 1705, in call
return self.func(*args)
File "D:\FaceID\New folder (2)\FaceRecognition.py", line 105, in SubmitImage
cur.execute(query) #execute query
psycopg2.errors.UndefinedFunction: function cube(text[]) does not exist
LINE 1: ...e_encoding FROM people ORDER BY face_encoding <-> cube(array...
^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.

For very large numbers The database searching an encoding may be faster than the application code for comparison (Application code may just loop through entries because we can't hash these encodings for lookup because we need closest match. need confirmation on this?)? I'm not as familiar with the specific details of the API. Additionally, haven't tried but I'm not sure on the management side, how to remove entries from application code so +/- management?

How do I contact you so you can help me resolve the error I'm having

The formula for euclidean distance is just:

So assuming you had one column for each of the 128 feature values, you could do something like:
SELECT * from my_stored_encodings
ORDER BY
      sqrt(
         power(e1 - TEST_ENCODING_VALUE_0_HERE, 2) +
         power(e2 - TEST_ENCODING_VALUE_1_HERE, 2) +
         power(..... etc....
     )

If you are using Postgresql, you can do more complex things like using it's built-in list data types to store the 128-number encoding in one column and do the comparison using a custom stored function. Just google around for "euclidean distance in sql".

Hi,
Thank you for the sample.  I have encoded 250 faces in mysql DB and the Face_Recognition is trying to recognize from the db using the above logic.
This is recognizing incorrectly, where as when we use the pics in the code and use "face_distances = face_recognition.face_distance(known_face_encodings, face_encoding)"  it works well.
Can you kindly suggest the solution for identifying the correct user name from the db ?
Thanks

Sorry for asking on this old thread but,
given this formula:
      sqrt(
         power(e1 - TEST_ENCODING_VALUE_0_HERE, 2) +
         power(e2 - TEST_ENCODING_VALUE_1_HERE, 2) +
         power(..... etc....
     )

is the e1 supposed to be the column name and the TEST_ENCODING_VALUE_0_HERE the literal value?

Nevermind, it is exactly as I said e1 is the column name, while the left part is the literal value.
Here is a small template (jinja2) that I come with so it is not that tedious to write such query:
{% macro euclidea_distance(column_name) %}
sqrt(
    {% for i, term in encodings -%}
    power({{column_name}}{{ i }} - ({{ term }}), 2) +
    {% endfor -%}
0)
{% endmacro %}
SELECT  *, {{ euclidea_distance("TERM_") }} as distance
FROM faces f
HAVING distance < 0.5
ORDER BY distance
LIMIT 30

I found a distance of less than 0.5 gives very good results
Then you just provides the terms in an index-value fashion to the template, like this:
template.render(encodings=enumerate(face_encodings))

I don't think its will be a good idea to save all face features (encodings) in one column, try to add 128 columns with float data type i.e.  Column0 float(22,20),Column1 float(22,20), ... Column127 float(22,20).

What field type should I use in solr, in case datatype, where should I mention this

@ageitgey Hey Man, I've fetched the embedding for around 1M images but now I've to load the whole dataset for each query. Can you please suggest a solution in which I can train KNN with already fetched embedding vectors?
Thanks.

I am using cube extension and it is good. But if I upload a face that is not in the database it returns the most similar face to the uploaded image with the LIMIT 1 parameter. Is there a way to fix this?
Thanks.

Using a MongoDB you can easily save all the face-encoding in a single document without much hassle of datatypes and columns.

@siddharthverma-1607 could you make some example

Hello can you please share with me your code I will be very thankful to you.

Hello can you please share with me your code I will be very thankful to you.

Or you can stop asking others to do your work over and over again. Investigate, out effort into it, learn from it and if you have questions (specific questions) ask on stack overflow.

I don't think its will be a good idea to save all face features (encodings) in one column, try to add 128 columns with float data type i.e. Column0 float(22,20),Column1 float(22,20), ... Column127 float(22,20).

I don't think its will be a good idea to save all face features (encodings) in one column, try to add 128 columns with float data type i.e. Column0 float(22,20),Column1 float(22,20), ... Column127 float(22,20)

Hey @khaledabbad  I'm working on a similar project and I would really appreciate it if you could send me the SQL query for creating the 128 columns you were referring to. And also the query you used to push the face_encodings to the database. I'm using postgressSQL-database.

I thought about a simple speed up solution, not sure how accurate this is actually, on top of 128 features, add the vector length in a column, and presort table by vector length. Then select nearest n rows to query vector length under a threshold, then euclidian distance on the extracted ones. Sounds faster but I'm not sure how small changes in data might result in wrong results

Can you share source code of this? We will be happy to get assistance on this and sponsor you a beer :)

Thank you All. I've indexed all images encoding into apache solr and then I managed euclidean distance using solr build-in function dist i.e. http://localhost:8983/solr/mycore/select?q=:&fl=dist(2,v_0,v_1,v_3,...,v_127,-0.0621345,0.048437204,0.0839613,...)
So fare, I indexed around 40K images and the query speed very good (17ms without any solr cache)


Consistency in the CHANGE log will help build from src folk

Summary
I think it is important to mention when versions of important underlying dependencies (aka nginx or openresty) get bumped, that the CHG log reflects it as a standard somewhere.
For those who build from source, the CHG log and Upgrade docs are some of the most important guides to ensure smooth transitions and understanding whats changed.
EX:
2.0 mentions the OpenResty Bump: https://github.com/Kong/kong/blob/master/CHANGELOG.md#200 , this is helpful
2.1 lacks the OpenResty Bump mention:
https://github.com/Kong/kong/blob/master/CHANGELOG.md#210
Which if you want to take advantage of the newer upstream keepalive behavior, you need to be on OpenResty <IP_ADDRESS> as thats where your patches have been applied in your build process:
https://github.optum.com/APIGateway/kong-build-tools/tree/dev/openresty-patches/patches/<IP_ADDRESS>
vs the 2.0 <IP_ADDRESS>
Otherwise your logs will get something like this and then someone like me needs to dig a bit further and find out the OpenResty bump was necessary with a second lookover:
2020/07/24 00:00:00 [warn] 45#0: [lua] init.lua:114: missing method 'ngx_balancer.enable_keepalive()' (was the dyn_upstream_keepalive patch applied?) set the 'nginx_upstream_keepalive' configuration property instead of 'upstream_keepalive_pool_size'

Appreciate whoever dropped in the error log that helped let me know I was missing something regardless which initiated my investigation 😀 .
Another location I managed to confirm the needs for 2.1 was simply the latest build from src docs here: https://docs.konghq.com/install/source/ mentioning the newest OpenResty version too. But I normally would never hunt over here.
Additional Details & Logs

Kong version 2.1

@jeremyjpj0916 Thank you for the feedback, that was indeed a slip! We'll update the changelog and make sure dependencies are accounted for moving forward.

@hishamhm thanks! Closing this up then.


Full example in keras

Do you have a model definition that works in keras?
I'm having problemas because loss is becoming NaN , after 10 steps. I don't know if it's the gradients or anything like this.

I added a full example in Keras, using the yeast dataset for multilabel learning from [[1]].(http://www.ecmlpkdd2008.org/sites/ecmlpkdd2008.org/files/pdf/workshops/pl/11.pdf)
Make sure that the matrices y_true and y_pred have the right format. Let's say that you have n datapoints and k different labels. Then y_pred must be an (n x k)-matrix with values between 0 and 1, and y_true must be an (n x k)-matrix which only takes on the values 0 and 1.
[1] Park, Sang-Hyeun, and Johannes Fürnkranz. "Multi-label classification with label constraints." Proceedings of the Proceedings of the ECML/PKDD-08 Workshop on Preference Learning (PL-08). 2008.

Thanks very much!! I'll test it tomorow, but it seems great!

I also only get NaNs, although my labels are exactly like in your example, e.g.,
y_train[0]

array([ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  1.,  0.,
        0.,  0.,  0.,  1.,  0.], dtype=float32)

Can you post a minimal example where the loss returns NaNs?

My mistake - I had zero vectors. Sorry! Thanks for the tool!


cairo: Fix up reference counting in Surface::map_to_image()

The C function is technically (transfer none) as one must not call
destroy() on it to unreference it but instead
cairo_surface_unmap_image().
This was tried to be avoided in the Drop impl of MappedImageSurface but
not correctly, leading to assertions.
Fixes https://github.com/gtk-rs/gtk-rs-core/issues/265

Thanks!


gpt 3.5

when you set the model gpt-3.5-turbo have error the url endpoint is different https://api.openai.com/v1/chat/completions and custom body

I'll fix it this evening...
(mobil)
Ralph Dietrich @.***> schrieb am Di., 28. März 2023,
15:17:

Thank you!
(mobil)
Marijsoft @.***> schrieb am Di., 28. März 2023, 14:59:

when you set the model gpt-3.5-turbo have error the url endpoint is
different https://api.openai.com/v1/chat/completions and custom body
—
Reply to this email directly, view it on GitHub
https://github.com/baumwollschaf/RDOpenAI/issues/2, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABO77ZVVLKNRRFHTK3IGR5DW6LOBFANCNFSM6AAAAAAWKRDVRQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

fixed

I'll re-fix it in a few days... i'm sick...
(mobil)
Ralph Dietrich @.***> schrieb am Di., 28. März 2023,
15:23:

I'll fix it this evening...
(mobil)
Ralph Dietrich @.***> schrieb am Di., 28. März 2023,
15:17:

Thank you!
(mobil)
Marijsoft @.***> schrieb am Di., 28. März 2023,
14:59:

when you set the model gpt-3.5-turbo have error the url endpoint is
different https://api.openai.com/v1/chat/completions and custom body
—
Reply to this email directly, view it on GitHub
https://github.com/baumwollschaf/RDOpenAI/issues/2, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABO77ZVVLKNRRFHTK3IGR5DW6LOBFANCNFSM6AAAAAAWKRDVRQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

ok, try now please.

Chat Completions is a complete different model and ViewModel

Thanks for your advice

i hope u are fine , about the health

Caught a cold. Thanks
Marijsoft @.***> schrieb am Di., 28. März 2023, 21:07:

i hope u are fine , about the health
—
Reply to this email directly, view it on GitHub
https://github.com/baumwollschaf/RDOpenAI/issues/2#issuecomment-1487460909,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABO77ZRAQMB6FCLABA2IHETW6MZI3ANCNFSM6AAAAAAWKRDVRQ
.
You are receiving this because you modified the open/close state.Message
ID: @.***>


Add expanded prop to the Collapse component

Is your iteration request related to a problem?
I need a way to control the expanded state of the Collapse component. For example, when I click on the button I need to collapse the Collapse component if it was expanded before.
Describe the solution you'd like
The expanded prop as @jrgarciadev proposed.
Additional context
Here is the case: https://take.ms/TMG83

@jrgarciadev Could you assign me?

For sure @DaniAcu 🙌🏻

@jrgarciadev PR is ready to be reviewed and merged. 😆

Thank you @DaniAcu 🚀, @klimsemenov86 this change is already included in the new version v1.0.2-beta.3

@DaniAcu @jrgarciadev thank you! It works 👍


chore(deps): update common-dev-assets digest to 568f6ca

This PR contains the following updates:

Package
Update
Change

common-dev-assets
digest
ea0f594 -> 568f6ca

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

:tada: This PR is included in version 1.0.5 :tada:
The release is available on:

GitHub release
v1.0.5

Your semantic-release bot :package::rocket:


tls_parser: allow optional extensions

fixes #1816

I get the following error
⇩ [0/0]    [showhost]                                                                                ?:help [*:8001]
Traceback (most recent call last):
  File "/Users/yifanlu/Downloads/mitmproxy/mitmproxy/proxy/server.py", line 119, in handle
⇩ [0/0]    [showhost]                                                                                ?:help [*:8001]
Error: <IP_ADDRESS>:54143: Traceback (most recent call last):
  File "/Users/yifanlu/Downloads/mitmproxy/mitmproxy/proxy/server.py", line 119, in handle
    root_layer()
  File "/Users/yifanlu/Downloads/mitmproxy/mitmproxy/proxy/modes/transparent_proxy.py", line 19, in __call__
    layer()
  File "/Users/yifanlu/Downloads/mitmproxy/mitmproxy/proxy/protocol/tls.py", line 361, in __call__
    self._client_hello.alpn_protocols or
  File "/Users/yifanlu/Downloads/mitmproxy/mitmproxy/proxy/protocol/tls.py", line 274, in alpn_protocols
    for extension in self._client_hello.extensions.extensions:
AttributeError: 'NoneType' object has no attribute 'extensions'

Sorry about that - I fixed that as well - and added another test class.
Please try again now.

Works now, thanks.


Enable Replication Acceptance Tests to run against a specified CouchDB Instance

The aim of this PR is to create a build script for the CI server to use to build the replication acceptance tests in a controlled manor. In a similar vein to the build script for sync-android.

Modified CloudantReplicationTestBase to get the URI for the test server from a new ReplicationSettings, which reads the configuration from a plist file, ReplicationSettings.plist.

ReplicationSettings.plist file is modified based on environment variables by buildplist.sh during the
xcode build process.

build.rb manages the lifecycle of docker containers which run an instance of CouchDB, at the version specified by the command line argument. The script exits with the same exit code provided by  the xcodebuild command.

reviewer @mikerhodes
reviewer @emlaver

Rhys and I had a conversation over Slack about the background for this PR.  He sent me a link for the docker installation and the cloudantsync001 docker images.  I will be documenting the steps it takes to install and test this PR.

Needs docs on how to use it.
Would help if commits also gave a bit more context.

Need to download docker: https://github.com/boot2docker/osx-installer/releases/tag/v1.5.0
        a.    In command line:

                                     i.     Initialize docker: boot2docker init

                                    ii.     Start the docker VM and daemon: boot2docker up

                                   iii.     Run ‘export’ commands to set Docker client

                                           i.e. export DOCKER_HOST, DOCKER_CERT_PATH, etc.

                                  iv.     Add to bash_profile: $(boot2docker shellinit)

                                   v.     If you using Cisco client (VPN), fix to use port forwarding:
                          https://github.com/boot2docker/boot2docker/issues/392#issuecomment-68563869

Download docker images:
a.    http://cloudantsync001.bristol.uk.ibm.com/dockerimages/cloudantsaas.tar
b.    http://cloudantsync001.bristol.uk.ibm.com/dockerimages/couchdb1.6.tar
c.     http://cloudantsync001.bristol.uk.ibm.com/dockerimages/couchdb2.0.tar

Load docker images through command line:
a.    ‘docker load –I couchdb2.0.tar’

Set up xcpretty: sudo gem install xcpretty

Run in CDTDatastore directory: ruby build.rb (optional –couch flag)

Couchdb 1.6 result output:
All tests
Test Suite RA_Tests_OSX.xctest started
Attachments
✓ testAddLocalReplicateDeleteLocalReplicate (2.235 seconds)

✓ testAddLocalReplicateDeleteLocalReplicate412Retry (2.063 seconds)

✓ testReplicateManyLocalAttachments (1.135 seconds)

✓ testReplicateManyRemoteAttachments (2.376 seconds)

✓ testReplicateRemoteDocumentDeleteLocalCheckReplicated (3.047 seconds)

✓ testReplicateRemoteDocumentDeleteRemoteCheckReplicated (4.040 seconds)

✓ testReplicateRemoteDocumentUpdate (3.069 seconds)

✓ testReplicateSeveralRemoteDocumentsWithAttachments (2.062 seconds)

✓ testRevposIssueFixed (2.045 seconds)

ReplicationAcceptance
✓ test_CreateRemoteDeleteRemotePullPushCreateLocalPush (4.087 seconds)

✓ test_pullDocsWhileWritingOthers (99.227 seconds)

✓ test_pullDocsWhileWritingOthersWriteToThirdDB (205.630 seconds)

✓ test_pullDocsWhileWritingSame (351.425 seconds)

✓ test_pullDocsWhileWritingSameWriteToThirdDB (476.695 seconds)

✓ test_pushDocsAsWritingThem (279.809 seconds)

✓ test_PushResurectedDocument (1.189 seconds)

✓ testBasicURLConnectionChangeTracker (5.199 seconds)

✓ testCreateReplicationWithExtraHeaders (1.624 seconds)

✓ testMultiThreadedReplication (10.348 seconds)

✓ testPullDeleteAllPush (41.223 seconds)

✓ testPullErrorsWhenLocalDatabaseIsDeleted (2.169 seconds)

✓ testPullFilteredReplication (8.189 seconds)

✓ testPullLargeRevTree (45.496 seconds)

✓ testPullLotsOfOneRevDocuments (303.772 seconds)

✓ testPullLotsOfOneRevDocumentsIndexed (361.750 seconds)

✓ testPullModifySeveralRevsPush (940.370 seconds)

✓ testPushErrorsWhenLocalDatabaseIsDeleted (14.577 seconds)

✓ testPushFilteredReplicationAllowOne (1.181 seconds)

✓ testPushFilteredReplicationAllowSome (6.133 seconds)

✓ testPushLargeRevTree (3.342 seconds)

✓ testPushLotsOfOneRevDocuments (406.370 seconds)

✓ testPushStateAfterStopping (7.887 seconds)

✓ testRemoteLastSequenceValueAfterPullReplication (6.445 seconds)

✓ testRemoteLastSequenceValueAfterPushReplication (7.176 seconds)

✓ testSyncReplicationErrorsWhenLocalDatabaseDeleted_pullDelegateDeletes (5.370 seconds)

✓ testSyncReplicationErrorsWhenLocalDatabaseDeleted_pushDelegateDeletes (4.498 seconds)

✓ testURLConnectionChangeTrackerForRetry (15.144 seconds)

✓ testURLConnectionChangeTrackerWithBadCredentials (5.149 seconds)

✓ testURLConnectionChangeTrackerWithRealRemote (5.113 seconds)

✓ testURLConnectionChangeTrackerWithRealRemoteUsingAuthorizer (5.121 seconds)

Executed 40 tests, with 0 failures (0 unexpected) in 3653.776 (3653.793) seconds

Couchdb 2.0 result output:
All tests
Test Suite RA_Tests_OSX.xctest started
Attachments
✓ testAddLocalReplicateDeleteLocalReplicate (2.189 seconds)

✓ testAddLocalReplicateDeleteLocalReplicate412Retry (2.055 seconds)

✓ testReplicateManyLocalAttachments (6.183 seconds)

✓ testReplicateManyRemoteAttachments (2.548 seconds)

✓ testReplicateRemoteDocumentDeleteLocalCheckReplicated (3.067 seconds)

✓ testReplicateRemoteDocumentDeleteRemoteCheckReplicated (4.048 seconds)

✓ testReplicateRemoteDocumentUpdate (3.060 seconds)

✓ testReplicateSeveralRemoteDocumentsWithAttachments (2.060 seconds)

✓ testRevposIssueFixed (2.044 seconds)

ReplicationAcceptance
✓ test_CreateRemoteDeleteRemotePullPushCreateLocalPush (4.101 seconds)

✓ test_pullDocsWhileWritingOthers (113.749 seconds)

✓ test_pullDocsWhileWritingOthersWriteToThirdDB (239.119 seconds)

✓ test_pullDocsWhileWritingSame (355.866 seconds)

✓ test_pullDocsWhileWritingSameWriteToThirdDB (435.653 seconds)

✓ test_pushDocsAsWritingThem (246.307 seconds)

✓ test_PushResurectedDocument (1.158 seconds)

✓ testBasicURLConnectionChangeTracker (5.184 seconds)

✓ testCreateReplicationWithExtraHeaders (1.620 seconds)

✓ testMultiThreadedReplication (4.287 seconds)

✓ testPullDeleteAllPush (36.688 seconds)

✓ testPullErrorsWhenLocalDatabaseIsDeleted (2.080 seconds)

✓ testPullFilteredReplication (8.158 seconds)

✓ testPullLargeRevTree (41.795 seconds)

✓ testPullLotsOfOneRevDocuments (269.050 seconds)

✓ testPullLotsOfOneRevDocumentsIndexed (297.357 seconds)

✓ testPullModifySeveralRevsPush (776.804 seconds)

✓ testPushErrorsWhenLocalDatabaseIsDeleted (13.172 seconds)

✓ testPushFilteredReplicationAllowOne (1.166 seconds)

✓ testPushFilteredReplicationAllowSome (6.135 seconds)

✓ testPushLargeRevTree (3.239 seconds)

✓ testPushLotsOfOneRevDocuments (361.938 seconds)

✓ testPushStateAfterStopping (7.510 seconds)

✓ testRemoteLastSequenceValueAfterPullReplication (9.440 seconds)

✓ testRemoteLastSequenceValueAfterPushReplication (9.311 seconds)

✓ testSyncReplicationErrorsWhenLocalDatabaseDeleted_pullDelegateDeletes (7.496 seconds)

✓ testSyncReplicationErrorsWhenLocalDatabaseDeleted_pushDelegateDeletes (6.438 seconds)

✓ testURLConnectionChangeTrackerForRetry (15.131 seconds)

✓ testURLConnectionChangeTrackerWithBadCredentials (10.109 seconds)

✓ testURLConnectionChangeTrackerWithRealRemote (5.109 seconds)

✓ testURLConnectionChangeTrackerWithRealRemoteUsingAuthorizer (5.107 seconds)

Executed 40 tests, with 0 failures (0 unexpected) in 3327.532 (3327.545) seconds

Cloudant saas results:
All tests
Test Suite RA_Tests_OSX.xctest started
Attachments
✓ testAddLocalReplicateDeleteLocalReplicate (2.222 seconds)
✓ testAddLocalReplicateDeleteLocalReplicate412Retry (2.050 seconds)
✓ testReplicateManyLocalAttachments (1.142 seconds)
✓ testReplicateManyRemoteAttachments (2.400 seconds)
✓ testReplicateRemoteDocumentDeleteLocalCheckReplicated (3.051 seconds)
✓ testReplicateRemoteDocumentDeleteRemoteCheckReplicated (4.078 seconds)
✓ testReplicateRemoteDocumentUpdate (3.161 seconds)
✓ testReplicateSeveralRemoteDocumentsWithAttachments (2.059 seconds)
✓ testRevposIssueFixed (2.041 seconds)
ReplicationAcceptance
✓ test_CreateRemoteDeleteRemotePullPushCreateLocalPush (4.091 seconds)
✓ test_pullDocsWhileWritingOthers (103.780 seconds)
✓ test_pullDocsWhileWritingOthersWriteToThirdDB (230.897 seconds)
✓ test_pullDocsWhileWritingSame (374.417 seconds)
✓ test_pullDocsWhileWritingSameWriteToThirdDB (509.164 seconds)
✓ test_pushDocsAsWritingThem (434.244 seconds)
✓ test_PushResurectedDocument (1.291 seconds)
✓ testBasicURLConnectionChangeTracker (5.324 seconds)
✓ testCreateReplicationWithExtraHeaders (1.703 seconds)
✓ testMultiThreadedReplication (6.538 seconds)
✓ testPullDeleteAllPush (59.543 seconds)
✓ testPullErrorsWhenLocalDatabaseIsDeleted (4.383 seconds)
✓ testPullFilteredReplication (8.250 seconds)
✓ testPullLargeRevTree (63.696 seconds)
✓ testPullLotsOfOneRevDocuments (536.670 seconds)
✓ testPullLotsOfOneRevDocumentsIndexed (328.847 seconds)
✓ testPullModifySeveralRevsPush (855.120 seconds)
✓ testPushErrorsWhenLocalDatabaseIsDeleted (13.523 seconds)
✓ testPushFilteredReplicationAllowOne (1.157 seconds)
✓ testPushFilteredReplicationAllowSome (1.118 seconds)
✓ testPushLargeRevTree (3.298 seconds)
✓ testPushLotsOfOneRevDocuments (385.380 seconds)
✓ testPushStateAfterStopping (7.394 seconds)
✓ testRemoteLastSequenceValueAfterPullReplication (6.442 seconds)
✓ testRemoteLastSequenceValueAfterPushReplication (6.822 seconds)
✓ testSyncReplicationErrorsWhenLocalDatabaseDeleted_pullDelegateDeletes (3.790 seconds)
✓ testSyncReplicationErrorsWhenLocalDatabaseDeleted_pushDelegateDeletes (9.850 seconds)
✓ testURLConnectionChangeTrackerForRetry (15.111 seconds)
✓ testURLConnectionChangeTrackerWithBadCredentials (5.099 seconds)
✓ testURLConnectionChangeTrackerWithRealRemote (5.123 seconds)
✓ testURLConnectionChangeTrackerWithRealRemoteUsingAuthorizer (5.106 seconds)
Executed 40 tests, with 0 failures (0 unexpected) in 4019.374 (4019.392) seconds

Running the build command:
xcodebuild -workspace ReplicationAcceptance.xcworkspace -scheme RA_Tests_OSX -destination 'platform=OS X' test | xcpretty
1 test failed:
All tests
Test Suite RA_Tests_OSX.xctest started
Attachments
✓ testAddLocalReplicateDeleteLocalReplicate (5.513 seconds)
✓ testAddLocalReplicateDeleteLocalReplicate412Retry (3.898 seconds)
✓ testReplicateManyLocalAttachments (4.753 seconds)
✓ testReplicateManyRemoteAttachments (29.731 seconds)
✓ testReplicateRemoteDocumentDeleteLocalCheckReplicated (5.187 seconds)
✓ testReplicateRemoteDocumentDeleteRemoteCheckReplicated (5.538 seconds)
✓ testReplicateRemoteDocumentUpdate (5.445 seconds)
✓ testReplicateSeveralRemoteDocumentsWithAttachments (6.400 seconds)
✓ testRevposIssueFixed (3.817 seconds)
ReplicationAcceptance
✓ test_CreateRemoteDeleteRemotePullPushCreateLocalPush (9.338 seconds)
✓ test_pullDocsWhileWritingOthers (837.498 seconds)
✓ test_pullDocsWhileWritingOthersWriteToThirdDB (836.681 seconds)
✓ test_pullDocsWhileWritingSame (832.444 seconds)
✓ test_pullDocsWhileWritingSameWriteToThirdDB (811.676 seconds)
✓ test_pushDocsAsWritingThem (384.995 seconds)
✓ test_PushResurectedDocument (3.564 seconds)
✓ testBasicURLConnectionChangeTracker (14.592 seconds)
✓ testCreateReplicationWithExtraHeaders (4.159 seconds)
✓ testMultiThreadedReplication (16.804 seconds)
✓ testPullDeleteAllPush (107.883 seconds)
Failing tests:
-[ReplicationAcceptance testRemoteLastSequenceValueAfterPullReplication]
** TEST FAILED **
✓ testPullErrorsWhenLocalDatabaseIsDeleted (16.343 seconds)
✓ testPullFilteredReplication (13.889 seconds)
✓ testPullLargeRevTree (333.665 seconds)
✓ testPullLotsOfOneRevDocuments (406.641 seconds)
✓ testPullLotsOfOneRevDocumentsIndexed (422.020 seconds)
✓ testPullModifySeveralRevsPush (2709.324 seconds)
✓ testPushErrorsWhenLocalDatabaseIsDeleted (22.996 seconds)
✓ testPushFilteredReplicationAllowOne (2.275 seconds)
✓ testPushFilteredReplicationAllowSome (2.122 seconds)
✓ testPushLargeRevTree (6.983 seconds)
✓ testPushLotsOfOneRevDocuments (389.136 seconds)
✓ testPushStateAfterStopping (8.572 seconds)
✗ testRemoteLastSequenceValueAfterPullReplication, (([response.body.array count] == count) is true) failed - Remote db has wrong number of docs
✓ testRemoteLastSequenceValueAfterPushReplication (17.771 seconds)
✓ testSyncReplicationErrorsWhenLocalDatabaseDeleted_pullDelegateDeletes (15.878 seconds)
✓ testSyncReplicationErrorsWhenLocalDatabaseDeleted_pushDelegateDeletes (12.735 seconds)
✓ testURLConnectionChangeTrackerForRetry (16.171 seconds)
✓ testURLConnectionChangeTrackerWithBadCredentials (6.064 seconds)
✓ testURLConnectionChangeTrackerWithRealRemote (5.900 seconds)
✓ testURLConnectionChangeTrackerWithRealRemoteUsingAuthorizer (6.105 seconds)

ReplicationAcceptance
testRemoteLastSequenceValueAfterPullReplication, (([response.body.array count] == count) is true) failed - Remote db has wrong number of docs
/Users/estebanmlaver/Cloudant/CDTDatastore/ReplicationAcceptance/ReplicationAcceptance/ReplicationAcceptance+CRUD.m:153
  //    NSLog(@"%@", response.body.array);
  XCTAssertTrue([response.body.array count] == count, @"Remote db has wrong number of docs");
}

Executed 40 tests, with 1 failure (0 unexpected) in 8408.760 (8408.848) seconds

Thanks Esteban.
Is that test consistently failing?

@rhyshort what's the next steps given the test failure @emlaver pointed out?

I think they would be

Merge this PR
Get ReplicationAcceptance running against all the platforms in automation
Analyse any failures opening tickets and creating PRs as needed

@mikerhodes @rhyshort @gadamc I'm running the xcodebuild test again to see if it's consistently failing.

Looks like all tests passed this time:
All tests
Test Suite RA_Tests_OSX.xctest started
Attachments
✓ testAddLocalReplicateDeleteLocalReplicate (2.244 seconds)
✓ testAddLocalReplicateDeleteLocalReplicate412Retry (2.061 seconds)
✓ testReplicateManyLocalAttachments (1.172 seconds)
✓ testReplicateManyRemoteAttachments (2.392 seconds)
✓ testReplicateRemoteDocumentDeleteLocalCheckReplicated (3.054 seconds)
✓ testReplicateRemoteDocumentDeleteRemoteCheckReplicated (4.042 seconds)
✓ testReplicateRemoteDocumentUpdate (3.063 seconds)
✓ testReplicateSeveralRemoteDocumentsWithAttachments (2.062 seconds)
✓ testRevposIssueFixed (2.055 seconds)
ReplicationAcceptance
✓ test_CreateRemoteDeleteRemotePullPushCreateLocalPush (4.082 seconds)
✓ test_pullDocsWhileWritingOthers (104.149 seconds)
✓ test_pullDocsWhileWritingOthersWriteToThirdDB (240.372 seconds)
✓ test_pullDocsWhileWritingSame (393.226 seconds)
✓ test_pullDocsWhileWritingSameWriteToThirdDB (448.883 seconds)
✓ test_pushDocsAsWritingThem (253.464 seconds)
✓ test_PushResurectedDocument (1.170 seconds)
✓ testBasicURLConnectionChangeTracker (5.218 seconds)
✓ testCreateReplicationWithExtraHeaders (1.618 seconds)
✓ testMultiThreadedReplication (4.298 seconds)
✓ testPullDeleteAllPush (37.248 seconds)
✓ testPullErrorsWhenLocalDatabaseIsDeleted (3.194 seconds)
✓ testPullFilteredReplication (8.160 seconds)
✓ testPullLargeRevTree (41.449 seconds)
✓ testPullLotsOfOneRevDocuments (277.581 seconds)
✓ testPullLotsOfOneRevDocumentsIndexed (309.882 seconds)
✓ testPullModifySeveralRevsPush (824.386 seconds)
✓ testPushErrorsWhenLocalDatabaseIsDeleted (13.865 seconds)
✓ testPushFilteredReplicationAllowOne (1.163 seconds)
✓ testPushFilteredReplicationAllowSome (6.135 seconds)
✓ testPushLargeRevTree (3.433 seconds)
✓ testPushLotsOfOneRevDocuments (416.506 seconds)
✓ testPushStateAfterStopping (7.772 seconds)
✓ testRemoteLastSequenceValueAfterPullReplication (6.505 seconds)
✓ testRemoteLastSequenceValueAfterPushReplication (7.123 seconds)
✓ testSyncReplicationErrorsWhenLocalDatabaseDeleted_pullDelegateDeletes (4.980 seconds)
✓ testSyncReplicationErrorsWhenLocalDatabaseDeleted_pushDelegateDeletes (5.007 seconds)
✓ testURLConnectionChangeTrackerForRetry (15.125 seconds)
✓ testURLConnectionChangeTrackerWithBadCredentials (5.121 seconds)
✓ testURLConnectionChangeTrackerWithRealRemote (5.120 seconds)
✓ testURLConnectionChangeTrackerWithRealRemoteUsingAuthorizer (5.126 seconds)
Executed 40 tests, with 0 failures (0 unexpected) in 3483.504 (3483.616) seconds

+1

Looks like we should merge +1.


[BUG]+[FIX] Correct 1-hour offset on messages timestamps

Hi Knugi,
i ve been wondering, why there is a time shift of 1 hour of the messages timestamps. The error is in utility.py:
Instead of:
'APPLE_TIME = datetime.timestamp(datetime(2001, 1, 1))'
you have to use:
APPLE_TIME = datetime.timestamp(datetime(2001, 1, 1, tzinfo=timezone.utc))'
add from datetime import timezone
Why the 1-Hour Difference Happens:
In your calculation (APPLE_TIME), the local time is created based on the system’s time zone, and when you call timestamp(), it converts the local time to UTC. If your system is in a time zone with a 1-hour offset from UTC (e.g., UTC+1 or a daylight-saving adjustment), the timestamp generated will reflect that conversion and the 1-hour shift.
For example, if your system is set to UTC+1, calling timestamp() on datetime(2001, 1, 1) will convert it to UTC. The difference between the time zone (UTC+1) and UTC will cause a 1-hour shift.
If you want to use APPLE_TIME correctly, you should adjust for the time zone by considering the system’s local time zone or ensuring you are always working with UTC time. To ensure consistent results, it’s always best to work with UTC time when dealing with timestamps, or explicitly handle time zone offsets.
you could also use:
APPLE_TIME = datetime(2001, 1, 1, tzinfo=timezone.utc).timestamp()
OR
978307200 + msg.timestamp (978307200 = 31Years)
Let me know, if you need further explanation

Hardcoding the timestamp makes sense, as it will always remain constant. This is fixed in 82d2485.
I also implemented automation to apply the timezone based on the OS data in a8bac88. Let me know if you found any issues.


Unable to change seconds

https://jsfiddle.net/svcyn2bu/

flatpickr version used: 4.5.7 and 4.6.1
Browser name and version: all

If you set a minDate and a maxDate at the 0 minute and 0 second mark (example, 10 AM - 2 PM), the user is unable to change the seconds when the minute is set to 0.  I cannot set a time of 11:00:05 but I can set a time of 11:05:05.
The setHoursFromInputs function seems to be incorrectly setting the seconds when limits are placed on the picker.

+1


BUG: Pass arguments in correct order.

I fixed this already with https://github.com/quantopian/pyfolio/commit/33dce4b8fdc3b40d37d37b6cefb2eb109c7b365d before seeing this.

I went with your commit here: https://github.com/quantopian/pyfolio/commit/e8ae26879374eb8358d811e6a2d86afb9629cea9


tsdb: need histogram support for created-timestamp handling

Proposal
OM introduced created timestamps, but doesn't support native histograms yet. However, we have backported created-timestamps to the classic protobuf format, which also supports native histograms. (And of course, OM is supposed to support native histograms soon.)
Combining both features, we run into the problem that AppendCTZeroSample will always insert a float zero sample, even into a series of histograms. Which will make rate calculation impossible whenever the zero float sample and any histogram sample is in the range at the same time.
So we need to find a way to insert a zero histogram in case the created timestamp comes with a histogram sample.

@ArthurSens would you be interested in working on this?
@bwplotka @krajorama FYI.

Yes, that sounds fun :) Finally an excuse for me to dig deeper into native histograms :P
Is this something that you folks need ASAP? I have an accepted talk at kubecon around something that I haven't finished the implementation, I can work on this after a few weeks 😬

Given that's only happening if you activate both feature flags at the same time, I doubt it's super urgent. But user reports will tell. :)

I'm just making sure I understand the problem here.
We currently have 2 sample types, float and histogram. The problem is that AppendCTZeroSample appends a float type and we don't check if we're appending a float or a histogram before calling it. Is that correct?
If yes, what do we want to do here? Just ensure we don't call AppendCTZeroSample when iterating over a histogram? Or implement AppendCTZeroSample to HistogramAppender?
I'm asking because I haven't fully understood how native histograms work under the hood... does created timestamps matter in their context?

If a histogram is a counter-like histogram, CT applies in the same way as for float counters.
The same way as a zero float sample is inserted into a series of float counters, we need to insert a zero histogram sample into a series of histogram counters.
In the exposition format, we can see if a CT is part of a float sample or a histogram sample, so it should be easy to do the right thing.
Implementation details have to be researched, but the above describes the desired outcome.

Awesome, thanks for the info!
Another question, what is the histogram equivalent to a zero sample?
Does this look correct?
histogram.Histogram{Count: 0, Sum: 0, Schema: 3, ZeroThreshold: 0.0, ZeroCount: 0}

yes. just use the Go zero value.
We might need to check that a schema change or a change of the zero bucket doesn't trigger a new chunk if it is only for an empty histogram. Once we have made sure of that, even the Schema doesn't matter anymore.

@ArthurSens is this still on your radar? I think we need this to declare native histograms a stable feature (which, in turn, we would really like for v3 of Prometheus).

Yes, I had a branch almost ready actually, but I've got some feedback in #13506 saying that we want to refactor the scrapeloop code a little bit before advancing here.
This will definitely come out before 3.0 though :)

Just reviewing the current WIP PR and I wonder... should do anything with ResetHint? Or it simply will be less useful field if we have CT attached to some samples in future with e.g. metadata store

I think the ResetHint and the CT should be consistent with each other. We cannot enforce that all targets will consistently and correctly add CTs, so we still need the ResetHint. Or in other words: CT should just feed into ResetHint as yet another source of information for a counter reset.
Maybe one day we can promote CT to be the counter reset source of truth (implying we have to "fix" a CT that comes in incorrectly from a target or add a CT if a target doesn't expose one). But even then, we still need a marker for gauge histograms.

Agree with Beorn, I did add this comment in otel collector to say pretty much the same: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/624b3682b96067aca40a0b70beb844e94f561a50/pkg/translator/prometheusremotewrite/histograms.go#L67

While working on https://github.com/prometheus/prometheus/pull/14694, I've noticed that our strategy of ingesting a "Zero" histogram, i.e. histogram.Histogram{}, already plays nicely with counterResetHints.
You'll notice in the new test TestHeadAppender_AppendHistogramCTZeroSample, "zero" histograms are appended and the appender correctly adds CounterResetHints to them.


Trouble Running Project on Windows 11 with Python 3.11.5

Hi, I'm trying to get this project running on my machine but I'm a little lost.
What I have done:

I have cloned this repository locally.

I did 'pip install autogen'. (saw some warning about something being out of the "PATH")

I renamed OAI_CONFIG_LIST_sample to OAI_CONFIG_LIST and modified with a OpenAI API key (as in figure 1).

I tried to run 'python test\twoagent.py', but got messages as in figure 2.

I did run 'pip install autogen' again to get the warnings again (see figure 3).

As I saw that apparently something more has been installed this time I tried to run 'python test\twoagent.py' again, and indeed the message I have got this time is different (see figure 4).

If anyone can give me some clue of what's happening I would be very grateful.
Some info about my environment:

Windows 10.0.22621.2283 (Windows 11 22H2)
Python 3.11.5

Thank you for this awesome project.

Hi, I'm trying to get this project running on my machine but I'm a little lost.
What I have done:

I have cloned this repository locally.
I did 'pip install autogen'. (saw some warning about something being out of the "PATH")
I renamed OAI_CONFIG_LIST_sample to OAI_CONFIG_LIST and modified with a OpenAI API key (as in figure 1).
I tried to run 'python test\twoagent.py', but got messages as in figure 2.
I did run 'pip install autogen' again to get the warnings again (see figure 3).
As I saw that apparently something more has been installed this time I tried to run 'python test\twoagent.py' again, and indeed the message I have got this time is different (see figure 4).

If anyone can give me some clue of what's happening I would be very grateful.
Some info about my environment:

Windows 10.0.22621.2283 (Windows 11 22H2)
Python 3.11.5

Thank you for this awesome project.

Please use pip install pyautogen instead of pip install autogen.

Please use pip install pyautogen instead of pip install autogen. Then, please remove the first empty line from OAI_CONFIG_LIST. If there is still an error, try pip uninstall autogen.

Thank you for the reply, I tried the 3 actions but no success... I will check it again soon and come back here... Thanks.

I managed to get it work.
Although I couldn't get the script to run like it's supposed to... (using OA_CONFIG_LIST file).
The way I found to make it work is to change the code of 'twoagent.py'.
I just included a openai import, and set the api key manually.
Here's how the working code:
from autogen import AssistantAgent, UserProxyAgent, config_list_from_json
import openai

openai.api_key = "xxx"

# Load LLM inference endpoints from an env variable or a file
# See https://microsoft.github.io/autogen/docs/FAQ#set-your-api-endpoints
# and OAI_CONFIG_LIST_sample
config_list = config_list_from_json(env_or_file="OAI_CONFIG_LIST")
assistant = AssistantAgent("assistant", llm_config={"config_list": config_list})
user_proxy = UserProxyAgent("user_proxy", code_execution_config={"work_dir": "coding"})
user_proxy.initiate_chat(assistant, message="Plot a chart of NVDA and TESLA stock price change YTD.")

This works too. If you don't have multiple endpoints to use, this is the simplest way. You can also specify the api_key etc. in the llm_config directly without the "config_list".

We are closing this issue due to inactivity; please reopen if the problem persists.


Potential Bug: Green text becoming invisible

I wrote a simple python Hello World program.
Then out of curiosity I just added about 200 empty lines after it. And then deleted them.
To my surprise now every time I try to write the print statement (that should appear in green color) the print keyword becomes invisible.
Even after restarting PyVim and my system, it does not revert to the original.
Note:
In the screenshot given below, the first line has been highlighted in visual mode and the second line has the cursor on the letter 'p'.

This may be a minor color bug or it may be a specific case of a more general issue. Will try to research on its effects.
PS: I am a student and a novice to OSS. Kindly please tell me if I do something wrong to help me learn. :)

Thanks for reporting the bug @ja5h . I appreciate it.
This looks indeed like a bug, but I'm not able to reproduce it...
A few questions:

Are you using a custom colorscheme?
Do you know whether your terminal supports 256 colors? (I think it does, if I look at the screenshot, but I'm not entirely sure.)
Just to be sure: you are not using GNU Screen or Tmux?
What terminal are you using?
What Python version do you have?

Thanks a lot!
Jonathan

To answer your questions in order:

Custom Color Scheme:
Nope.

256 color support:
Unsure.

GNU Screen/Tmux:
Nope.

Terminal I am using:
Gnome Terminal <IP_ADDRESS>

Python version I am using:
2.7.3

I am also unable to reproduce this bug.


Made version and platform mandatory for Browser object

A non-mobile Browser object in config is represented by its name, version and platform from which version and platform are optional.
It is a good idea to make all the three fields mandatory to avoid confusing the hub since there exists mobile browsers with the same configuration.

Done.


Clean up CI pipeline and testing

The goal of this issue is to have a functional CI pipeline working again were we can be confident on the result of it and re-enable the tag at the repo level. Changes required:

Disabling tests in the locutus-node subcrate and icnrementally re-enable them as we work on it again, and remove lint warns from there since now that crate is out of sync with the state of the repo.
All the tests outside of the locutus-nodesubcrate should be sensible and working, also clean up any linter warnings (including clippy).

Once that is done add back the tag/label at the README

I'd suggest that every disabled test is accompanied by an issue to get it working.


Error evaluating kustomization manifest for metadata

I came across an error during deployment but it does not mess with any of my pods or containers so far.
Currently running with:
minikube version: v1.11.0
kubernetes version 1.15.6
this took place after running the following command per instructions:
kfctl apply -V -f https://raw.githubusercontent.com/IBM/KubeflowDojo/master/manifests/kfctl_k8s_istio.yaml
Error:
ERRO[0194] Error evaluating kustomization manifest for metadata: env source files: [secrets.env]: open<EMAIL_ADDRESS>no such file or directory  filename="kustomize/kustomize.go:155"
Error: failed to apply:  (kubeflow.error): Code 500 with message: kfApp Apply failed for kustomize:  (kubeflow.error): Code 500 with message: error evaluating kustomization manifest for metadata: env source files: [secrets.env]: open<EMAIL_ADDRESS>no such file or directory
Usage:
  kfctl apply -f ${CONFIG} [flags]

Flags:
      --context string   Optional kubernetes context to use when applying resources. Currently not used by KFDef resources.
  -f, --file string      Static config file to use. Can be either a local path:
                         		export CONFIG=./kfctl_gcp_iap.yaml
                         	or a URL:
                         		export CONFIG=https://raw.githubusercontent.com/kubeflow/manifests/v1.0-branch/kfdef/kfctl_gcp_iap.v1.0.0.yaml
                         		export CONFIG=https://raw.githubusercontent.com/kubeflow/manifests/v1.0-branch/kfdef/kfctl_istio_dex.v1.0.0.yaml
                         		export CONFIG=https://raw.githubusercontent.com/kubeflow/manifests/v1.0-branch/kfdef/kfctl_aws.v1.0.0.yaml
                         		export CONFIG=https://raw.githubusercontent.com/kubeflow/manifests/v1.0-branch/kfdef/kfctl_k8s_istio.v1.0.0.yaml
                         	kfctl apply -V --file=${CONFIG}
  -h, --help             help for apply
  -V, --verbose          verbose output default is false

kfctl exited with error: failed to apply:  (kubeflow.error): Code 500 with message: kfApp Apply failed for kustomize:  (kubeflow.error): Code 500 with message: error evaluating kustomization manifest for metadata: env source files: [secrets.env]: open<EMAIL_ADDRESS>no such file or directory

I'm not sure did some break the code in the kubeflow/manifest master branch. can you try
kfctl apply -V -f https://raw.githubusercontent.com/IBM/KubeflowDojo/master/manifests/kfctl_k8s_istio.v1.0.2.yaml

This has been fixed https://github.com/kubeflow/kfctl/pull/356.
Please rebase and rebuild kfctl.

rebased and rebuilt kfctl and the issue is gone. will close


Store only the first tree state in each series of identical tree states

Storing only the first tree state in each identical series of tree states saves memory, and makes Chain cloning cheaper.
Possible Implementation
We can access the deduped trees using:
Non-finalized state:
Chain.{sapling,orchard}_note_commitment_tree_by_height.range(..=target_height).next_back()

Finalized state (reading is implemented, writing new blocks and updating cached blocks is not):
db.zs_prev_key_value_back_from({sapling,orchard}_note_commitment_tree, target_height)

Performance
This needs a full sync performance test:

The performance of reversed iteration is usually much worse than forward iteration
https://github.com/facebook/rocksdb/wiki/RocksDB-FAQ

This is important to do eventually because large blocks take up more space on disk. But we don't need to do it any time soon.

Performance and disk space usage are not a priority for Zebra right now.

This is required for the note commitment tree scanning in #6642 to have reasonable performance.

Note from the engineering sync: This seems risky to do between the last release candidate and the first stable release. There is no specific deadline for this change.

Finalized state:
db.iterator_cf({sapling,orchard}_note_commitment_tree, IteratorMode::From(target_height, Direction::Reverse)).next()

The database read part of this ticket is implemented in PR #6813.
Everything else still needs to be implemented:

non-finalized state data structure deduplication and lookups
finalized state deduplication for newly verified blocks
finalized state deduplication for existing blocks on disk

PR #6813 introduces state minor versions and the idea of a state format update task. But I didn't create the actual task in that PR. I'm happy to help out with that change, currently it's just a vague idea of a design, and a bunch of TODOs.

@upbqdn lets catch up some time and work out how to make these database changes without breaking compatibility?

Please add your planning poker estimate with Zenhub @arya2

Here's a draft checklist for state format changes, let me know if it works for you!

[ ] update the database format in the Zebra docs
[ ] increment the state minor version
[ ] write the new format in the block write task
[ ] update older formats in the format upgrade task
[ ] test that the new format works when creating a new state, and updating an older state

See the upgrade design docs for more details.
The links won't work until PR #7261 merges.

Some database compatibility issues have come up in the disk format change part of this ticket, so I'd like to merge them after the 1.1.0 release. This impacts some parts of PR #7266. (But not the compatibility fixes!)
@mpguerra I wasn't sure how to set up those dependencies in ZenHub, did you want to split this ticket into permanent database format changes and in-memory changes? (The memory changes are merged and fine to go in the release.)

Or we could just remember not to merge PR #7266 before the release.

Some database compatibility issues have come up in the disk format change part of this ticket, so I'd like to merge them after the 1.1.0 release. This impacts some parts of PR #7266. (But not the compatibility fixes!)
@mpguerra I wasn't sure how to set up those dependencies in ZenHub, did you want to split this ticket into permanent database format changes and in-memory changes? (The memory changes are merged and fine to go in the release.)

I blocked #7266 on the v1.1.0 release, however that won't physically stop it from merging so I would just add the do-not-merge label to it for now and we need to remember to remove it after the release

Did this close by mistake? Or are all the PRs for this issue done already?

This shouldn't have been closed. The only reason I can think of might be this line in the PR description:

Address part of https://github.com/ZcashFoundation/zebra/issues/4784.

Which seems odd.

I think it's because I linked a PR with this issue in the Github interface and when that PR close this automatically closed also

I haven't used that feature yet.


doc: correct the description for nodeSelectorTerms,matchExpressions.

See #20491, the description for nodeSelectorTerms,matchExpressions seems wrong, and this PR is going to fix this.

/assign

Hi @Huang-Wei, can you do a technical review of this? Just add a /lgtm if it is technically correct and I'll take it from there.
/cc @Huang-Wei

btw: there is a dupe PR #20174. I will let the doc reviewers to decide which one (or both) to go into master.

btw: there is a dupe PR #20174. I will let the doc reviewers to decide which one (or both) to go into master.

Since you did the technical review for this one I'm going to approve this one and close #20174 as a duplicate.  Thanks again @Huang-Wei for the technical review.

/lgtm
/approve


Support for additional architectures

We might want to build KubeVirt for arm64 and ppc64le (as requested) as well.

[ ] Multi arch support for binaries
[ ] Reflect arch in containers
[ ] minikube on desired arch
[ ] vagrant and tests on desired arch

How does arm64 make sense when KVM barely works there? How is kubernetes doing on those architectures? We should not do the mistake of building for architectures that don't really work (where working means running docker, KVM, kubernetes). I'm not sure about vagrant right now either, because it's gonna be slow (emulated) and ppc64le doesn't have nested virtualization. Not sure about arm in this regard.

This ticket is intentionally named to support additional architectures, without naming them.
It's to keep in mind that we should consider this in our tools, build systems, and ci.
I'd also put it up to discussion what arches we need to support - and who implements this support - but so far arm64 and ppc64le were explicitly requested (see the added link).


olvid: update 1.5.0 -> 1.5.2

Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@Rookeur could you please follow the naming conventions and rename your commit to: olvid: 1.5.0 -> 1.5.2.
thanks in advance

Result of nixpkgs-review pr 307016 run on x86_64-linux 1

1 package built:

olvid


Avoid inplace operators in general tests

numpy returns scalars instead of 0d arrays:
import numpy as np
import array_api_strict as xps

xps.mean(xps.asarray(4, dtype=xps.float32)).__iadd__(1)
np.mean(np.asarray(4, dtype=np.float32)).__iadd__(1)  # AttributeError: 'numpy.float32' object has no attribute '__iadd__'

And this causes errors in unrelated tests since inplace operators are used in more generic tests:
https://github.com/data-apis/array-api-tests/blob/4caff2867c69d5b9b329320319b61c5444bf6f87/array_api_tests/pytest_helpers.py#L483
I don't think using inplace-operators in this case is particularly important and can probably be switched to a normal bitwise or.
xref: https://github.com/numpy/numpy/issues/27305

Is there a specific test that's failing because of this? I haven't seen it before.
I'm a little confused why this would be an issue, since Python automatically converts a += b into a = a + b if a.__iadd__ is not defined. For instance, that line you showed works with NumPy scalars
>>> a = np.bool_(False)
>>> b = np.bool_(True)
>>> a |= b
>>> a
True

even though a.__ior__ is not defined.
There are tests that test in-place operators directly, which do directly call the __i*__ methods https://github.com/data-apis/array-api-tests/blob/b4c0823469c02d6ce6e512ad4c2bd8ba42b1b4b2/array_api_tests/test_operators_and_elementwise_functions.py#L609, but outside of those I don't think the dunder methods are ever called directly.
Actually, there's a general issue in the test suite which is that the hypothesis strategies for arrays do not actually generate NumPy scalars. So right now, NumPy scalars are not really tested at all, except in a few places inside of some tests where they are created from indexing. We should really fix this because there are likely several issues with NumPy scalars and the array API (I've already seen others outside of the one you noted here).

I suppose it becomes a problem once using __ior__ directly? That's what I've been doing. I've been following array-api-strict's
example. Array-api-strict cleverly avoids this problem since it actively forces to 0d-arrays instead of scalars.
 Did you mean: '__or__'?
E       Falsifying example: test_unstack(
E           x=<Namedarray, shape=(1,), dims=('dim_0',), dtype=float32, data=[0.]>,
E           data=data(...),
E       )
E       Draw 1 (axis): -1
E       Draw 2 (kw): {'axis': -1}
E       Explanation:
E           These lines were always and only run by failing examples:
E               /home/runner/work/xarray/xarray/array-api-tests/array_api_tests/pytest_helpers.py:460
E               /home/runner/work/xarray/xarray/array-api-tests/array_api_tests/pytest_helpers.py:464
E               /home/runner/work/xarray/xarray/array-api-tests/array_api_tests/pytest_helpers.py:466
E               /home/runner/work/xarray/xarray/array-api-tests/array_api_tests/pytest_helpers.py:472
E               /home/runner/work/xarray/xarray/array-api-tests/array_api_tests/pytest_helpers.py:473
E               (and 23 more with settings.verbosity >= verbose)
E
E       You can reproduce this example by temporarily adding @reproduce_failure('6.111.2', b'AXic42RkZEAGjAAAygAN') as a decorator on your test case

https://github.com/pydata/xarray/actions/runs/10655652392/job/29533434595


feat(next)!: 2.0.0 major version

📃 Summary
This PR prepares the release of the new major version, see https://github.com/shortcuts/no-neck-pain.nvim/issues/361 for the detailed additions.
If you encounter any bug, I encourage you to report them but if you are lazy, you can use the frozen stable in the meantime, see installation guide.
close https://github.com/shortcuts/no-neck-pain.nvim/issues/361
close https://github.com/shortcuts/no-neck-pain.nvim/issues/353
close https://github.com/shortcuts/no-neck-pain.nvim/issues/277

winlayout wrongly parsed when there's 2 split opened before enablining

fallbackToBufferDelete + skipEnteringNoNeckPainBuffer potential infinite loop


Material cards in the code are optimized away

https://sketchfab.com/3d-models/sketchfab-3d-editor-challenge-littlest-tokyo-d5ca33dacf10459a92a8de25fb362a23

https://github.com/godot-extended-libraries/godot-modules-fire See instructions.

Is it possible to keep everything that is a card? Like zero volume.

Upstream is fixed.


prepare release

@willydouhard FYI the get_user_info method in AzureADOAuthProvider() got deleted from 1.1.300rc4 -> 1.1.300rc5
1.1.300rc4
1.1.300rc5

Hey did this get added in 1.1.300? @willydouhard

This new way to handle resources access is breaking the custom endpoints that I add to the server

This new way to handle resources access is breaking the custom endpoints that I add to the server

This is my solution to patch and temporarily fix the issue caused by the serve route
from chainlit.server import app
from starlette.routing import BaseRoute, Route

from src.core.routers import admin

routes: list[BaseRoute] = [
    r for r in app.router.routes if isinstance(r, Route) and r.name != "serve"
]

serve_route = [
    r for r in app.router.routes if isinstance(r, Route) and r.name == "serve"
]

app.router.routes = routes

app.include_router(admin.router)

app.router.routes.extend(serve_route)


Run RSpec in Travis

Explicitly invoking RSpec from .travis.yml. Tweaking RSpec output to look better in Travis.

LGTM


Using Azure DevOps Service or TFS to deploy to Azure WebApp private link

Can you please add some guidance or recommendation on how to setup CI/CD for web app which is protected with Private endpoint?
How to setup Azure DevOps Service/Server Pipeline to deploy into App Service protected with private endpoint and what are the prerequisites?

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

ID: 9a47763b-5a9d-bfcb-b97e-63bfa6570782
Version Independent ID: f2a07f58-6038-0289-b2f0-d44f586980a8
Content: Tutorial: Connect to a web app using an Azure Private endpoint - Azure Private Link
Content Source: articles/private-link/tutorial-private-endpoint-webapp-portal.md
Service: private-link
GitHub Login: @asudbring
Microsoft Alias: allensu

Hello @Anand-Moghe
Thank you for your feedback! We have assigned this issue to the author to review further and take the next course of action.

Sending to PM for review
#reassign:@ivapplyr

@Anand-Moghe Thank You for the feedback.  We are looking into this further and will update if appropriate.
#please-close


[Bug]: Build workflow does not load GHTOKENWORKFLOW secret

AL-Go version
5bb4f65ffe64f5328a70a288d04640786aa467ec (modified)
Describe the issue
After updating the AL Go system files with the latest commits from the main branch, my repos get the following error during the Build pipeline:
Error: Unexpected error when running action. Error Message: The property 'GHTOKENWORKFLOW' cannot be found on this object. Verify that the property exists., StackTrace:
at CheckAppDependencyProbingPaths, /home/runner/work/_actions/cegekaJG/AL-Go-Actions/cegeka/AL-Go-Helper.ps1: line 1167 <-
at DownloadDependenciesFromProbingPaths, /home/runner/work/_actions/cegekaJG/AL-Go-Actions/cegeka/DownloadProjectDependencies/DownloadProjectDependencies.Action.ps1: line 22 <-
at


Provide carbon fibre rod length

Hi,
could you please provide the length of the carbon fibre rod?
Thank you :)

Hello！
The length of the carbon fiber rod is 30.
GoodLuck！

------------------ Original ------------------
From: @.>;
Date:  Fri, Jun 4, 2021 03:39 PM
To: @.>;
Cc: @.***>;
Subject:  [blackbox114/Blacky] Provide carbon fibre rod length (#31)

Hi,
could you please provide the length of the carbon fibre rod?
Thank you :)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Thank you!


Another scenario - "Failed to start" if a runbook with Patch-MicrosoftOMSComputer name is already present

We can add another scenario if a runbook is already present with "Patch-MicrosoftOMSComputer" name.
Error message:
Failed to start the runbook. Check the parameters passed. RunbookName Patch-MicrosoftOMSComputer. Exception One or more errors occurred
As update management uses Runbooks to perform updates, if same names are being used by user with their Runbooks, update deployment jobs will most probably fail.
The above shared is an example and very straight forward to test / reproduce. Just create a Runbook with "Patch-MicrosoftOMSComputer" name and schedule an update for Windows VM. You will get this same error.
As this is a very simple scenario but find a causing is not easy, this should be looked upon. Some options:

making errors more user friendly (not sure this would be feasible but would be worth it), or
adding a check while enabling update management (check if any Runbook with same name is already present), or
updating this documentation (most immediate, easy and empowers a user as well)

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

ID: c53fae91-9d02-f626-dd03-7c532bcffe38
Version Independent ID: 10756920-a188-fd6f-c9c9-910d6ce27673
Content: Troubleshoot Azure Automation Update Management issues
Content Source: articles/automation/troubleshoot/update-management.md
Service: automation
GitHub Login: @MGoedtel
Microsoft Alias: magoedte

@sachinpanwar Thank you for your feedback, our team will review and get back to you at the earliest.

@sachinpanwar Thanks again for your for reaching out and sharing your valuable feedback.
Apologies for the delayed response on this. We will further take your feedback with our document authoring and Product team
and see how we can enhance the current documentation on Machine "Failed to start" scenario or create a new scenario to reflect your feedback.
We will take this as backlog item to review the feedback and update the document accordingly. For now closing this thread but would tag this thread as we raise PR to reflect the feedback and also update this  thread as well.  If we need any further clarifications from you will reach out to you.
We will go ahead and close this issue for now , however if you have any further queries please tag us in your reply and will be happy to reopen the thread and continue the conversation. Thank you


Maximum number of selected points in query

Hi, I am currently testing your database. So far everything worked great and was really fast. Recently I needed to run one specific query and I got this message:
Query has reached the maximum number of selected points (1000000). Please use another time windows, an aggregation function or select less series to reduce the number of points.
I am estimating, that the query would work with ~180 million points, so one million is quite low limit for me. Is there some way how to configure this limit and increase it?
Thanks in advance.

Thank you for your comment. Currently this is a fixed-limit and the value of one million is just some arbitrary chosen number. It will not be so difficult to change this in a configurable value and I agree this would be a good idea. Probably a database property would be the best since we want every server in a siridb cluster to have the same limit for a given query.
I think about the following statement for configuring the limit:
alter database set query_points_limit <number>

Todo:

[ ] update grammar
[ ] create default values and store the values in database.dat
[ ] auto migration at startup for old database.dat files
[ ] make sure the correct limit values are synchronized when expanding with a new server
[ ] check if each server is running the required version before processing the set statements
[ ] create show ... statements for viewing the current values
[ ] update siridb-prompt with new grammar
[ ] update siridb-http with new grammar

Released version 2.0.17 including this change.


Unable to import fbx from blender 2.79/2.8

Hello, so I've been playing around with fbxcel and fbxcel_dom to try and import fbx files from blender
I encountered an error during an import of a test scene
Tree(Tree(Parser(Error { repr: Repr { error: Data(NodeLengthMismatch(9687, None)), position: Some(SyntacticPosition { byte_pos: 9687, component_byte_pos: 9662, node_path: [(8, "Objects"), (0, "NodeAttribute"), (1, "Properties70")], attribute_index: None }) } })))
thread 'example::fbx::load_fbx_rigged' panicked at 'Fail to load rigged fbx: BadParsing', src\libcore\result.rs:1165:5
stack backtrace:
   0: backtrace::backtrace::trace_unsynchronized
             at C:\Users\VssAdministrator\.cargo\registry\src\github.com-1ecc6299db9ec823\backtrace-0.3.37\src\backtrace\mod.rs:66
   1: std::sys_common::backtrace::_print_fmt
             at /rustc/4560ea788cb760f0a34127156c78e2552949f734\/src\libstd\sys_common\backtrace.rs:76
   2: std::sys_common::backtrace::_print::{{impl}}::fmt
             at /rustc/4560ea788cb760f0a34127156c78e2552949f734\/src\libstd\sys_common\backtrace.rs:60
   3: core::fmt::write
             at /rustc/4560ea788cb760f0a34127156c78e2552949f734\/src\libcore\fmt\mod.rs:1030
   4: std::io::Write::write_fmt<std::sys::windows::stdio::Stderr>
             at /rustc/4560ea788cb760f0a34127156c78e2552949f734\/src\libstd\io\mod.rs:1412
   5: std::sys_common::backtrace::_print
             at /rustc/4560ea788cb760f0a34127156c78e2552949f734\/src\libstd\sys_common\backtrace.rs:64
   6: std::sys_common::backtrace::print
             at /rustc/4560ea788cb760f0a34127156c78e2552949f734\/src\libstd\sys_common\backtrace.rs:49
   7: std::panicking::default_hook::{{closure}}
             at /rustc/4560ea788cb760f0a34127156c78e2552949f734\/src\libstd\panicking.rs:196
   8: std::panicking::default_hook
             at /rustc/4560ea788cb760f0a34127156c78e2552949f734\/src\libstd\panicking.rs:210
   9: std::panicking::rust_panic_with_hook
             at /rustc/4560ea788cb760f0a34127156c78e2552949f734\/src\libstd\panicking.rs:473
  10: std::panicking::continue_panic_fmt
             at /rustc/4560ea788cb760f0a34127156c78e2552949f734\/src\libstd\panicking.rs:380
  11: std::panicking::rust_begin_panic
             at /rustc/4560ea788cb760f0a34127156c78e2552949f734\/src\libstd\panicking.rs:307
  12: core::panicking::panic_fmt
             at /rustc/4560ea788cb760f0a34127156c78e2552949f734\/src\libcore\panicking.rs:85
  13: core::result::unwrap_failed
             at /rustc/4560ea788cb760f0a34127156c78e2552949f734\/src\libcore\result.rs:1165
  14: core::result::Result<fbxcel_dom::v7400::document::Document, alers::resource::fbx::LoadError>::expect<fbxcel_dom::v7400::document::Document,alers::resource::fbx::LoadError>
             at /rustc/4560ea788cb760f0a34127156c78e2552949f734\src\libcore\result.rs:960
  15: bin::example::fbx::load_fbx_rigged
             at .\src\app\example\fbx.rs:25
  16: bin::example::fbx::load_fbx_rigged::{{closure}}
             at .\src\app\example\fbx.rs:22
  17: core::ops::function::FnOnce::call_once<closure-0,()>
             at /rustc/4560ea788cb760f0a34127156c78e2552949f734\src\libcore\ops\function.rs:227
  18: alloc::boxed::{{impl}}::call_once<(),FnOnce<()>>
             at /rustc/4560ea788cb760f0a34127156c78e2552949f734\src\liballoc\boxed.rs:922
  19: panic_unwind::__rust_maybe_catch_panic
             at /rustc/4560ea788cb760f0a34127156c78e2552949f734\/src\libpanic_unwind\lib.rs:80
  20: std::panicking::try
             at /rustc/4560ea788cb760f0a34127156c78e2552949f734\src\libstd\panicking.rs:271
  21: std::panic::catch_unwind
             at /rustc/4560ea788cb760f0a34127156c78e2552949f734\src\libstd\panic.rs:394
  22: test::run_test::run_test_inner::{{closure}}
             at /rustc/4560ea788cb760f0a34127156c78e25

52949f734\/src\libtest\lib.rs:1413

The scene in question is a simple cylinder with a rigged bone
https://github.com/andreasterrius/alers/blob/debug/fbx-loader/cylinder_rig.blend
This is the exported fbx
https://github.com/andreasterrius/alers/blob/debug/fbx-loader/cylinder_rig.fbx
Weirdly, when I imported the fbx back into blender it works and I noticed that blender added an extra bone on top of the existing one. I am not entirely sure why since I'm not well versed in this field. Maybe it added an extra bone during the import process ?
If I export the scene that was imported by blender as fbx again, I can load it using fbxcel_dom, which leads me to to think that it might be the blender exporter that didn't write the fbx properly during the first export.

Thank you for reporting.
I checked your FBX file using binary editor, and I'm fairy certain that the FBX file is broken (i.e. fbxcel rejects it as expected).
However, the data is syntactically wrong but still meaningful (i.e. maybe semantically not broken).
I'll let the parser support such data with emitting warning.
Conclusion:

The FBX file has an error.

However, the error is not clitical.

I'll update fbxcel to support such FBX data with non-critical errors.

If you want to read such files directly (without fixing the data), you can wait until I implement it.

I recommend you to report the issue to developers of Blender (especially FBX exporter).
(I can also report the issue, but I've been busy these days and I'll put off reporting...)

Use the info below.

Details of the error
By running cargo run --example dump-pull-parser-events -- cylinder_rig.fbx >/dev/null, you can see the output below:
thread 'main' panicked at 'Failed to parse FBX file: Error { repr: Repr { error: Data(NodeLengthMismatch(9687, None)), position: Some(SyntacticPosition { byte_pos: 9687, component_byte_pos: 9662, node_path: [(8, "Objects"), (0, "NodeAttribute"), (1, "Properties70")], attribute_index: None }) } }', src/libcore/result.rs:1165:5

This means:

A node starting at offset 9662 has an error.

Length info or actual data length of the node seems wrong.

The node is Properties70 node,

which is the second child of NodeAttribute, which is the first child of Object, which is the ninth toplevel node.

Lets see the node.
FBX version
First, the FBX version is 7.4.
$ hexdump -C ~/temp/transient/cylinder_rig.fbx -n 32
00000000  4b 61 79 64 61 72 61 20  46 42 58 20 42 69 6e 61  |Kaydara FBX Bina|
00000010  72 79 20 20 00 1a 00 e8  1c 00 00 63 07 00 00 00  |ry  .......c....|
00000020

The first 23 bytes are magic (header), and e8 1c 00 00 in little endian is the FBX version.
0x00001ce8 is 7400.
This means that end offset of nodes, number of node properties, and length of node attributes are represented by 4 bytes respectively, and NULL record at ends of some nodes are 13 bytes.
The node
$ hexdump -C ~/temp/transient/cylinder_rig.fbx -s 9648 -n 80
000025b0  46 6c 61 67 73 53 04 00  00 00 4e 75 6c 6c d7 25  |FlagsS....Null.%|
000025c0  00 00 00 00 00 00 00 00  00 00 0c 50 72 6f 70 65  |...........Prope|
000025d0  72 74 69 65 73 37 30 00  00 00 00 00 00 00 00 00  |rties70.........|
000025e0  00 00 00 00 2f 2d 00 00  03 00 00 00 2d 00 00 00  |..../-......-...|
000025f0  08 47 65 6f 6d 65 74 72  79 4c 9b 8c 66 00 00 00  |.GeometryL..f...|
00002600

53 04 00  00 00 4e 75 6c 6c (S.....Null in the right column) seems to be an attribute value of the previous node.
S means string, 04 00 00 00 means the string is 4 bytes, and 4e 75 6c 6c (Null) is value.
(Flags before them is part of the node name, TypeFlags.)
Next of the attribute, from offset 9662 (0x25BE), a new node begins.
First 4 bytes d7 25  00 00 (= 0x25d7 = 9687) is end offset of the node.
Next 4 bytes 00 00 00 00 (= 0) is the number of node properties.
Next 4 bytes 00 00  00 00 (= 0) is the length of node properties in bytes.
Next 1 byte 0c (= 0x12 = 12) is the length of node name in bytes.
Next 12 bytes Properties70 is the node name.
At this point, offset of the next byte is 9687 (= 9662+4+4+4+1+12), so Properties70 ends here.
Lack of NULL record
However, this is odd.
NULL record can be omitted only when (1) it has one or more node properties and (2) it has no children.
(This condition is same as the condition of braces can be omitted in FBX ASCII format.)
The Properties70 node here has no node properties, so it should have NULL record.
Next 13 bytes filled by 00 is a NULL record, but this seems to be not for Properties70, but for the parent node NodeAttribute (starting at offset 0x2557 and ends at offset 0x25E4).
And after the NULL record, the next node Geometry (which should be a sibling of NodeAttributes node) begins.
In conclusion, Properties70 (starting at offset 0x25BE) should have NULL record for it, but it has none.
This is the error reported by fbxcel crate.
FBX exporter should emit NULL record for the Properties70.

Feel free to re-open if you have questions or something to say.
I created separate issue to support this case (if possible).
If you want to parse the data using fbxcel (without modifying the FBX by other tools), check #3 and wait it is implemented.

Thanks for the detailed response.
For now, I'll fix the data before importing using fbxcel.
As for the blender bug, I'll submit a bug report to them after testing the issue out on their daily builds.

I just published fbxcel-0.5.0, and it can parse your data without failing.
It has breaking change around error types (nonexhaustiveness and new variants), but it would be very very easy to migrate.
I'll also update and publish fbxcel-dom in near future, but it may take time (because I want to make another breaking change to fbxcel-dom).

Released fbxcel-0.0.4, which depends on fbxcel-0.5.

Thank you for the hard work!


Special case handling of double values in scenario market data

Double values in scenario data are stored in a multimap with every other type of market data. It might be worth treating them as a special case at storing them in primitive arrays. That saves the overhead of boxing which can be significant for very large data sets.
There is a question about how the data should be returned to functions:

Immutable List<Double> backed by the array - avoids changing the API exposed to functions
double[] that is defensively copied - gives the data to functions in a compact form but lots of copying
double[] that holds the underlying data - efficient but dangerous

Suggested approach:
Create an ImmutableDoubleArray class wrapping a double[]. The input array can be defensively copied or used directly. The direct version should probably have "unsafe" in the name. The backing array is exposed, either defensively or directly via a method called "*unsafe".
So no copying will occur if the unsafe methods are used on construction and to access the backing array.
The market data lookup interface should have methods something like:
ImmutableDoubleArray getDoubleValues(MarketDataKey<T> key); // defensive copy

ImmutableDoubleArray getDoubleValuesUnsafe(MarketDataKey<T> key); // underlying array

Should the Unsafe call perhaps return a type which acknowledges that it is in fact mutable?

We want people to treat it as if it were mutable. Mutating it is definitely an error. It's intended as an immutable array with an escape hatch where we'd like to guarantee immutability but can't because of the limitations of Java.
If we make it explicitly mutable then we should expect mutation and we should defensively copy the backing array. Which is exactly what we're trying to avoid.
What should it be called to communicate the fact that it's mutable if someone behaves badly but it is intended to be read-only?


About pretrained model

Thanks for sharing! I am trying to reproducing your results, and could you please provide your trained model ?

Thank you for your interesting on my paper!
I have already uploaded the pretrained models ( checkpoints) to the github.
path: DfFintheWild/Depth_Estimation_Test/Results_test/[Dataset_name]/check_point.pth