Adjust layout on Create plan page per wireframe

Move the text and tick boxes from below the bottom two entry fields over to the right. This cleans up real estate and gives the impression of a shorter form/first step in plan creation.
See UX wireframes @JEK-III - http://h90c3m.axshare.com/#g=1&p=create_plan
Current implementation

I'll be talking with @briri this afternoon about putting together a first draft of a different color scheme. So in this case it would be using a dark green outline for the box with a gray drop shadow to make the "boxes" with the different form fields stand out against a white background. Another thing to change would be to make the headers a dark green as well.

I'm not sure I understand the issue correctly @stephaniesimms. I just added some whitespace to the left of the orange headings/questions and deployed to dev. Let me know if that is what you were after.

yes, I meant add whitespace to the left of the orange headings. thanks @briri - looks good. and the other questions re colors are more related to accessibility. it sounds like UX is on the case.

looks good. moving this issue along.

Look at this page critically now, I have a few suggestions. I've attempted to mock these up in the annotated screengrab:

Should the big questions and the guidance and boxes all be in one line. This would mean indenting the questions by a fraction more
Our question/title and the smaller text question/guidance below essentially say the same thing in each case. Can we condense into one instruction per box/dropdown to save real estate further? e.g.

What is the title of the the research project you are planning?
Select the primary research organisation
Select the primary funder

Could the 'if applying for funding...' guidance, go in the box as greyed out text like 'Begin typing to see a filtered list'

Ignore the question marks on q2+3 btw - just realised they aren't phrased as questions.

@briri Now that I'm reviewing on stage w/new style things:

please add more whitespace above the question text for the 3 large question boxes
the "x" to cancel Org selection needs to be replaced next to the selection box (it drifted below)

I agree with all of @sjDCC 's suggestions except moving 'if applying for funding...' into the text field. That kind of guidance should be used with care because it goes away as soon as you start to fill in the field. It only works for the funding question because the filtered list appears right away when you start typing so the instruction isn't needed anymore.
We could still clean up the page by doing the opposite and just showing the guidance on focus in one of those black speech balloons. Which, now that I look, is what we do now on the Plan Details page.

I have made these adjustments and deployed to stage. The tooltips have a new CSS styling and should now be generic going forward (all appearing and behaving in the same manner). @JEK-III and @rhu001 please let us know if the old dark grey box is still the best way to present these.

@briri please also adjust per @sjDCC comments above:

delete "Project title" from above box 1
revise tooltip to include the word project: "If applying for funding, state the project title exactly as in the proposal"
delete explanation text above boxes 2 and 3 and revise main headings: "Select the primary research organisation" and "Select the primary funding organisation"

Changes made and deployed to dev and stage

the new layout looks great, much cleaner! two tiny adjustments:

Now that we're not asking 3 questions, please adjust the instructions at the top of the box per wireframe: "Before you get writing, we need some information about your research project to set you up with the best DMP template for your needs."
in the funder field the warning message appears as soon as I type anything into the box, including a valid funding org. expected behavior is to receive this msg only when i move focus away from the field and have not entered a valid funding org.

made recommended adjustments and deployed to dev and stage

Looks great except for one tiny behavior w/the error message in the Org and Funder selection boxes. When I type in the box and make my selection, a truncated half of the error message appears below the box. It only disappears when I tab away from the box. Can you make that not happen @briri ?

error message is now only visible when user is typing in the auto-complete boxes. Need to make sure it remains visible when the focus changes.

the problem I described previously is resolved. but now I'm getting some other strange/inconsistent error message behavior that doesn't provide a clear indication of what info is invalid (screenshots below). overall the behavior is correct in that i can't create a plan if all fields aren't validated. but if possible, we want to highlight which field(s) is invalid.
1- if I type a word "University" that exists in the filtered list but is not a complete Org name, I don't get an error msg for the Org field. But I do get an error when I try to click Create plan - this doesn't indicate which field is invalid

2- if I type "NASA" or "NERC" I sometimes get the field error message and other times am able to tab through it without a message. on a couple of occasions, i got the field error message after typing NERC and selecting "National Environmental Research Council (NERC)" from the list - I could not proceed until i cleared the field and started over

Yeah, I've done some testing and get the same issues as @stephaniesimms
A warning appears in the org and funder field when you type something that mismatches with values from the dropdown list, but it's very easy to keep typing and tab through this. The error that then displays when clicking the 'create plan' button doesn't indicate where the change is needed.
I noticed that we do highlight the box in red (screengrab 1) when the first error message appears, so suggest that the second error message highlights the field(s) with bad data and also appends the text from the earlier error message e.g.
"You cannot continue until you have filled in all of the information required. You must select an organisation and funder from the dropdown lists, or check the box for none"

@stephaniesimms I couldn't recreate the problem of typing / selecting NERC and still getting the error. Tried several times and always generated plan fine.
One small styling point I noticed is that we should probably align the heading / title with the boxes, but that's probably for another ticket?

Error messages should be working now @sjDCC and @stephaniesimms. The error message appears while typing and remains when you move to a different box.
The indentation of the title and page description are at a sitewide level in most cases so I' will update and address on #424

Looks good. Thanks @briri Definitely better to just leave the warning up as this stops users ignoring it
Closing out


add support for nested json responses

Fixes #6

I just ran the demo and it worked but haven't tested any other lookups. It is working with the API used in the nested response as described in #6


Printing actual http error, closing response body

Before:
2014/05/21 18:33:21 Post failed: Not OK

After:
2014/05/21 18:37:00 Post failed: Not OK: 500, No text specified

Also, response body should be closed since it is io.ReadCloser.
Probably you should update readme too, following files with empty lines will cause http error 500:
tail -F logfile | slackcat

will trigger error above, when:
tail -F logfile | grep --line-buffered -v '^\s*$' | slackcat

will work just fine.

I too had to work out the --line-buffered option.


Issues with find dynamixel using OpenCR on turtlebot 3

Dear Robotis Representative,
My team recently purchased a turtlebot3 from robotis and the package came with a intel joule 570x board and OpenCR 1.0 board. We were trying to control one DYNAMIXEL XM430-W210-R by using the intel joule 570x board and the OpenCR 1.0 board. The program that we used was the simplest Dynamixel tutorial from the following website (http://wiki.ros.org/dynamixel_workbench_single_manager/Tutorials/CommandLine). By following the instruction, we were able to complete step 1, step 2 and step 3 without any issues. However, when we were executing a command line from step 4 (roslaunch my_dynamixel_workbench_tutorial single_manager.launch) ,  we received the following error: Please Check USB Port authorization and Baudrate [ex: 57600,115200, 1000000, 3000000] ...Failed to find dynamixel!. We have double checked the baudrate and model ID and they seemed to be correct.  We can't figure out why it is failing to find dynamixel. To make things clearer, we are attaching an image the entire process. Thank you for your help and time in advance!
SIncerely,
Hong

This is a same comment which is also placed in:
https://github.com/ROBOTIS-GIT/DynamixelSDK/issues/145

@hozhu
Hi,
and sorry for the late. I hope that still you are working on this
To summarize, you should change the firmware of the OpenCR from the TurtleBot3 Firmware into signal converter firmware.
signal converter-like firmware will be placed (today or next week) in following link:
https://github.com/ROBOTIS-GIT/OpenCR/tree/develop/arduino/opencr_arduino/opencr/libraries/OpenCR/examples/10. Etc/usb_to_dxl
What is shown in the screen you attached shows that you want to use the OpenCR as USB2Dynamixel or some device that can change the usb serial to TTL level communication signal. To use DynamixelSDK example or the applications in the PC, you should change the firmware of the OpenCR as it is able to work like USB2Dynamixel. Currently the OpenCR must be working as TurtleBot3 motordriver but not the USB2Dynamixel.
Thanks for patience, and please give me feedbacks

This issue will be closed since there was no actions for a while.
You can reopen this issue to show this issue to the users whenever.

Dear Robotis Representative,
I've tried to control one dynamixel XL430-W 250-T according to your tutorial, but I'm facing the above shown problem, Dynamixel is not found. Please help me to solve the issue as soon as possible.
Thanking You
Anway

@anwaybose You can use 'turtlebot3_setup motor' also. Please check below reference.
http://emanual.robotis.com/docs/en/platform/turtlebot3/faq/#setup-dynamixels-for-turtlebot3


Encryption in MongoDB

Article checklist
NOTE: (Please ensure that you have only one open issue + linked pull request at a time. This will ensure that we complete the article in a timely manner from inception to publishing.)
Preliminary Checks - Formatting and Structure

[x] Does your article follow any of the suggested structure formats? - see example formats
[x] Is your article properly formatted in Markdown? - see Github Markdown guide
[x] Have you used the correct folder and file structure? - see Contribution Guidelines
[x] Is your article over 750 words? - Tool: Wordcounter.net
[x] Have you used our preferred heading structure? - H3 (###) and up
[x] Does your article provide enough value and detail about your topic? - Articles should be clear, accurate, and fully explained.
[x] Can your article be understood by beginners? - Assume the audience is smart but has no prior exposure to the common terminology in your article.
[x] Have you included a hero image that is 600x400 pixels and have the copyright to use it? - Tools: Pixlr Image Editor for resizing and Unsplash for Creative Commons images
[x] In your PR - add a comment that states "This fixes #(enter your Idea Content Form #)" to link and close your Idea Content (issue) when the PR is merged.

Grammar & plagiarism checks

[x] Have you spellchecked and grammar checked your article? - Tools: Write&Improve - ProWritingAid -  Grammarly
[x] Please place your article through a 3rd party plagiarism checker? We suggest using Quetext, this tool is free and has a daily limit. We typically accept articles with 10% or less.
[x] Have you checked your article for readability? - Tool: Hemmingway
[x] Have you added sources for quotes and images that aren't yours?

Technical checks

[x] Are your code snippets properly formatted for syntax highlighting - see Syntax guide

Contribution guidelines
For first-time contributors and for more details, see Contributing Guidelines
This fixes #1940

@katungi  Sir any update?

Hello @HARITJOSHI1 The preliminary review has began. Let's get this show on the road.

Hello @HARITJOSHI1 The preliminary review has began. Let's get this show on the road.

Ohh yes!

@katungi any new update sir?

@hectorkambow what is the status? Pls reply sir

Hey @HARITJOSHI1, Amazing article. I personally needed it.
Just a few notes:

You used so way too many times in the article
You can use a grammar service like grammarly or hemmingway to check how long your sentences are.  Please look into that.
Overall, it is a great article

Can you point it out in the article as it will help me to correct the mistakes faster.

@katungi  I did some changes pls review it.

@katungi I did some changes pls review it.

On it @HARITJOSHI1

@katungi  Any update? Are the preliminary checks done?

@hectorkambow Any update? Are the preliminary checks done?

Check on these final changes.
I already did the tech review as I was going through the article this time.

I will check it out and update it and after that I will give u a reminder for the same

@katungi @hectorkambow what's the status of my article?

@katungi @hectorkambow what's the status of my article? @HARITJOSHI1

NOTE: Thank you for the follow up  - we are making some changes to the main repo now - and this is delaying a few article from being published as we want to implement the changes 1st - once these are done - we will publish this one asap. Thank you 🚀

@HARITJOSHI1
Please go over the edits I've made during my final review. There were some area a bit difficult to get through - see the edits to apply if applicable moving forward in future articles - please be sure to check our resources page for more tips.
One thing I recall was the in article links - you had the wrong syntax in place.
cc @katungi  please do the same as articles should not be pushed for final review with these type of issues.

@HARITJOSHI1
Please go over the edits I've made during my final review. There were some area a bit difficult to get through - see the edits to apply if applicable moving forward in future articles - please be sure to check our resources page for more tips.
One thing I recall was the in article links - you had the wrong syntax in place.
cc @katungi  please do the same as articles should not be pushed for final review with these type of issues.

Which wrong syntax links are you talking about sorry but I didn't get it

@HARITJOSHI1
Please go over the edits I've made during my final review. There were some area a bit difficult to get through - see the edits to apply if applicable moving forward in future articles - please be sure to check our resources page for more tips.
One thing I recall was the in article links - you had the wrong syntax in place.
cc @katungi  please do the same as articles should not be pushed for final review with these type of issues.

Which wrong syntax links are you talking about sorry but I didn't get it

The link syntax - when you were referring the reader to official docs or other blog posts the syntax was <>
I believe - you can see the changes in my edits as well.

@HARITJOSHI1
Please go over the edits I've made during my final review. There were some area a bit difficult to get through - see the edits to apply if applicable moving forward in future articles - please be sure to check our resources page for more tips.
One thing I recall was the in article links - you had the wrong syntax in place.
cc @katungi  please do the same as articles should not be pushed for final review with these type of issues.

Which wrong syntax links are you talking about sorry but I didn't get it

The link syntax - when you were referring the reader to official docs or other blog posts the syntax was <>
I believe - you can see the changes in my edits as well.
It should look like [alt tag] (URL)

Yeah I can see the changes but to be honest  I don't know quite sure how the syntax got this way cuz in my initial commit I didn't add any wrong syntax regarding to the links but anyways I will look into it and update the article asap.

@hectorkambow I have done the updates

@hectorkambow I have done the updates

I had already changed them there was no need that was a comment for future reference in future articles - are you doing git pulls to your repo (regarding our changes).
Any changes we do should be reflected on your article - if you do a git pull.

Published
https://www.section.io/engineering-education/enryption-in-mongodb/


ELR Routing

This PR addresses #5051, #5052 , #5053 , #5054 . It creates a base SubmissionReceiver class that has subclasses CovidReceiver and ELRReceiver. The correct receiver is created based on the topic configuration of the sender, and then that receiver is called to parse, validate, and route the incoming submission to the next step in the process.
Test Steps:

Create a sender with topic set to 'full-elr'
Send an HL7 message as that sender to test the happy path
Send an invalid or malformed HL7 message as that sender to test sad path
Send a CSV as a sender with topic 'covid-19' to test legacy CSV processing
Send a HL7 as a sender with topic 'covid-19' to test legacy HL7 processing

Changes

Added new UnsupportedProcessingTypeMessage to ActionMessages
Changed Topic to be an enum with proper backing string values
Added SubmissionReceiver.kt as a base class for Covid vs Full ELR receivers
Added CovidReciever and ELRReceiver to handle the two pipelines
Moved necessary code from ReportFunction to the Receiver classes to process legacy pipeline
Generated new functions for submissions going to new pipeline
Updated queue name so it is non-fhir specific, since this is for ELR messages
Modified HL7Reader so it adds messages to ActionLog but does not throw exceptions
Updated ReportFuntionTests for new changes
Added SubmissionReceiverTests to cover new classes and functionality

Testing

[x] Tested locally?
[x] Ran ./prime test or ./gradlew testSmoke against local Docker ReportStream container?
[x] Added tests?

Pull reviewers stats
Stats for the last 30 days:

User
Total reviews
Time to review
Total comments

jeremy-page
19
18m
3

cwinters-usds
16
2h 1m
12

carlosfelix2
15
1h 29m
40

kevinhaube
11
18h 10m
13

TomNUSDS
11
3h 15m
38

MauriceReeves-usds
10
10h 2m
6

bgantick
6
22m
1

sethdarragile6
6
51m
1

snesm
6
45m
6

oslynn
5
4h 55m
1

brick-green-agile6
5
35m
1

clediggins-usds
5
3h 38m
6

TurkeyFried
3
26m
1

JosiahSiegel
3
3m
0

jimduff-usds
3
3h 19m
4

jbiskie
3
1h 4m
0

acoushawk
2
4m
0

ahay-agile6
2
5h 15m
1

jorg3lopez
2
15h 49m
2

jh765
2
38m
3

mreifman
1
15h 36m
0

Tested covid and full-elr pipeline.
Some issues during testing.  These could be tackled as part of another ticket since it does not affect the existing pipeline.

Submitted an HCA HL7 to the ignore-full-elr client.  I saw this in the response:
a. reportItemCount = 0 and should be 1 or more
b. "topic": "FULL_ELR" - this should be lowercase to match the covid 19 one
Get an exception with the process-fhir function receives the queue message

System.Private.CoreLib: Exception while executing function: Functions.process-fhir. System.Private.CoreLib: Result: Failure
Exception: InvalidTypeIdException: Could not resolve type id 'gov.cdc.prime.router.fhirengine.engine.RawSubmission' as a subtype of `gov.cdc.prime.router.fhirengine.engine.Message`: Configured `PolymorphicTypeValidator` (of type `com.fasterxml.jackson.databind.jsontype.BasicPolymorphicTypeValidator`) denied resolution
 at [Source: (String)"{"class":"gov.cdc.prime.router.fhirengine.engine.RawSubmission","blobURL":"http://localhost:10000/devstoreaccount1/reports/receive%2Fignore.ignore-full-elr%2FNone-20e6c4e1-9b9e-4d13-a637-a943c418b8c7-20220519093601.hl7","digest":"28ffffff9cffffff8539fffffff96418ffffffb42dfffffff9ffffffe5ffffffeba4579ffffffd6103e561b66ffffffc775c6d3f685924ffffffb842ffffffff","sender":"ignore.ignore-full-elr"}"; line: 1, column: 10]
Stack: java.lang.reflect.InvocationTargetException
[2022-05-19T13:36:02.566Z] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[2022-05-19T13:36:02.566Z] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[2022-05-19T13:36:02.566Z] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[2022-05-19T13:36:02.566Z] 	at java.base/java.lang.reflect.Method.invoke(Method.java:566)


Fix bench test... not sure why it was working earlier. maybe I was no…

…t working off latest master

gonna merge yolo


add test for NO_PROXY="*"

What does this pull request do?

Related issues
closes #ISSUE

:broken_heart: Build Failed

Expand to view the summary

Build stats

Build Cause: [Pull request #840 opened]

Start Time: 2020-05-28T14:17:32.944+0000

Duration: 24 min 19 sec

Test stats :test_tube:

Test
Results

Failed
0

Passed
9221

Skipped
6667

Total
15888

Steps errors
Expand to view the steps failures

Name: Shell Script

Description: cibuildwheel --platform linux --output-dir wheelhouse; ls -l wheelhouse

Duration: 0 min 1 sec

Start Time: 2020-05-28T14:41:48.247+0000

log

Log output
Expand to view the last 100 lines of log output

[2020-05-28T14:41:39.296Z] [Cobertura] Publishing Cobertura coverage report...
[2020-05-28T14:41:39.296Z]
[2020-05-28T14:41:39.584Z] [Cobertura] Publishing Cobertura coverage results...
[2020-05-28T14:41:39.584Z]
[2020-05-28T14:41:39.601Z] [Cobertura] Cobertura coverage report found.
[2020-05-28T14:41:39.601Z]
[2020-05-28T14:41:42.381Z] + curl -sLO https://code.jquery.com/jquery-3.3.1.slim.min.js
[2020-05-28T14:41:42.686Z] + curl -sLO<EMAIL_ADDRESS>[2020-05-28T14:41:42.871Z] Archiving artifacts
[2020-05-28T14:41:45.041Z] Running in /var/lib/jenkins/workspace/thon_apm-agent-python-mbp_PR-840/src/github.com/elastic/apm-agent-python
[2020-05-28T14:41:45.361Z] + pip3 install --user cibuildwheel
[2020-05-28T14:41:46.306Z] Collecting cibuildwheel
[2020-05-28T14:41:46.567Z]   Downloading https://files.pythonhosted.org/packages/27/69/3f4839efb934758096d945dcc433dac182b192c249033f23c421ca39797c/cibuildwheel-1.4.2-py3-none-any.whl (1.5MB)
[2020-05-28T14:41:46.828Z] Collecting bashlex!=0.13 (from cibuildwheel)
[2020-05-28T14:41:47.089Z]   Downloading https://files.pythonhosted.org/packages/e4/27/c639cb10b965cf4fb5a3b9a9786ecd07edb681522e0d93bfc1ce8704f9d8/bashlex-0.14.tar.gz (60kB)
[2020-05-28T14:41:47.351Z] Building wheels for collected packages: bashlex
[2020-05-28T14:41:47.351Z]   Running setup.py bdist_wheel for bashlex: started
[2020-05-28T14:41:47.923Z]   Running setup.py bdist_wheel for bashlex: finished with status 'done'
[2020-05-28T14:41:47.923Z]   Stored in directory: /var/lib/jenkins/workspace/thon_apm-agent-python-mbp_PR-840/.cache/pip/wheels/1d/c3/2a/10941db906dde767cca26d03ca8ab4ca0acded27f96970b65e
[2020-05-28T14:41:47.923Z] Successfully built bashlex
[2020-05-28T14:41:47.923Z] Installing collected packages: bashlex, cibuildwheel
[2020-05-28T14:41:47.923Z] Successfully installed bashlex-0.14 cibuildwheel-1.4.2
[2020-05-28T14:41:48.233Z] + mkdir wheelhouse
[2020-05-28T14:41:48.538Z] + cibuildwheel --platform linux --output-dir wheelhouse
[2020-05-28T14:41:48.800Z]
[2020-05-28T14:41:48.800Z]      _ _       _ _   _       _           _
[2020-05-28T14:41:48.800Z]  ___|_| |_ _ _|_| |_| |_ _ _| |_ ___ ___| |
[2020-05-28T14:41:48.800Z] |  _| | . | | | | | . | | | |   | -_| -_| |
[2020-05-28T14:41:48.800Z] |___|_|___|___|_|_|___|_____|_|_|___|___|_|
[2020-05-28T14:41:48.800Z]
[2020-05-28T14:41:48.800Z] cibuildwheel version 1.4.2
[2020-05-28T14:41:48.800Z]
[2020-05-28T14:41:48.800Z] Build options:
[2020-05-28T14:41:48.800Z]   platform: 'linux'
[2020-05-28T14:41:48.800Z]   before_build: None
[2020-05-28T14:41:48.800Z]   before_test: ''
[2020-05-28T14:41:48.800Z]   build_selector: BuildSelector('*' - '')
[2020-05-28T14:41:48.800Z]   build_verbosity: 0
[2020-05-28T14:41:48.800Z]   dependency_constraints: <cibuildwheel.util.DependencyConstraints object at 0x7f90a499e550>
[2020-05-28T14:41:48.800Z]   environment: ParsedEnvironment([])
[2020-05-28T14:41:48.800Z]   manylinux_images: {'x86_64': 'quay.io/pypa/manylinux2010_x86_64:2020-05-20-c7bbd11', 'i686': 'quay.io/pypa/manylinux2010_i686:2020-05-20-c7bbd11', 'pypy_x86_64': 'pypywheels/manylinux2010-pypy_x86_64:2020-04-25-eb2cdff', 'aarch64': 'quay.io/pypa/manylinux2014_aarch64:2020-05-17-2f8ac3b', 'ppc64le': 'quay.io/pypa/manylinux2014_ppc64le:2020-05-17-2f8ac3b', 's390x': 'quay.io/pypa/manylinux2014_s390x:2020-05-17-2f8ac3b'}
[2020-05-28T14:41:48.800Z]   output_dir: 'wheelhouse'
[2020-05-28T14:41:48.800Z]   package_dir: '.'
[2020-05-28T14:41:48.800Z]   repair_command: 'auditwheel repair -w {dest_dir} {wheel}'
[2020-05-28T14:41:48.800Z]   test_command: None
[2020-05-28T14:41:48.800Z]   test_extras: ''
[2020-05-28T14:41:48.800Z]   test_requires: []
[2020-05-28T14:41:48.800Z]
[2020-05-28T14:41:48.800Z] Here we go!
[2020-05-28T14:41:48.800Z]
[2020-05-28T14:41:48.800Z] Docker version 19.03.9, build 9d988398e7
[2020-05-28T14:41:48.800Z] + docker create --env CIBUILDWHEEL --name cibuildwheel-7a4b77af-78e6-46e2-9fea-6b87386f534c -i -v /:/host quay.io/pypa/manylinux2010_x86_64:2020-05-20-c7bbd11 /bin/bash
[2020-05-28T14:41:48.801Z] Unable to find image 'quay.io/pypa/manylinux2010_x86_64:2020-05-20-c7bbd11' locally
[2020-05-28T14:41:48.801Z] Error response from daemon: Get https://quay.io/v2/: EOF
[2020-05-28T14:41:48.801Z] + docker rm --force -v cibuildwheel-7a4b77af-78e6-46e2-9fea-6b87386f534c
[2020-05-28T14:41:49.062Z] Error: No such container: cibuildwheel-7a4b77af-78e6-46e2-9fea-6b87386f534c
[2020-05-28T14:41:49.062Z] Traceback (most recent call last):
[2020-05-28T14:41:49.062Z]   File "/var/lib/jenkins/workspace/thon_apm-agent-python-mbp_PR-840/.local/lib/python3.6/site-packages/cibuildwheel/linux.py", line 127, in build
[2020-05-28T14:41:49.062Z]     '/bin/bash'])
[2020-05-28T14:41:49.062Z]   File "/var/lib/jenkins/workspace/thon_apm-agent-python-mbp_PR-840/.local/lib/python3.6/site-packages/cibuildwheel/linux.py", line 22, in call
[2020-05-28T14:41:49.062Z]     args, input=input, universal_newlines=universal_newlines, check=True
[2020-05-28T14:41:49.062Z]   File "/usr/lib/python3.6/subprocess.py", line 438, in run
[2020-05-28T14:41:49.062Z]     output=stdout, stderr=stderr)
[2020-05-28T14:41:49.062Z] subprocess.CalledProcessError: Command '['docker', 'create', '--env', 'CIBUILDWHEEL', '--name', 'cibuildwheel-7a4b77af-78e6-46e2-9fea-6b87386f534c', '-i', '-v', '/:/host', 'quay.io/pypa/manylinux2010_x86_64:2020-05-20-c7bbd11', '/bin/bash']' returned non-zero exit status 1.
[2020-05-28T14:41:49.062Z]
[2020-05-28T14:41:49.063Z] During handling of the above exception, another exception occurred:
[2020-05-28T14:41:49.063Z]
[2020-05-28T14:41:49.063Z] Traceback (most recent call last):
[2020-05-28T14:41:49.063Z]   File "/var/lib/jenkins/workspace/thon_apm-agent-python-mbp_PR-840/.local/lib/python3.6/site-packages/cibuildwheel/linux.py", line 279, in build
[2020-05-28T14:41:49.063Z]     exit(1)
[2020-05-28T14:41:49.063Z]   File "/usr/lib/python3.6/_sitebuiltins.py", line 26, in __call__
[2020-05-28T14:41:49.063Z]     raise SystemExit(code)
[2020-05-28T14:41:49.063Z] SystemExit: 1
[2020-05-28T14:41:49.063Z]
[2020-05-28T14:41:49.063Z] During handling of the above exception, another exception occurred:
[2020-05-28T14:41:49.063Z]
[2020-05-28T14:41:49.063Z] Traceback (most recent call last):
[2020-05-28T14:41:49.063Z]   File "/var/lib/jenkins/workspace/thon_apm-agent-python-mbp_PR-840/.local/bin/cibuildwheel", line 11, in <module>
[2020-05-28T14:41:49.063Z]     sys.exit(main())
[2020-05-28T14:41:49.063Z]   File "/var/lib/jenkins/workspace/thon_apm-agent-python-mbp_PR-840/.local/lib/python3.6/site-packages/cibuildwheel/__main__.py", line 228, in main
[2020-05-28T14:41:49.063Z]     cibuildwheel.linux.build(build_options)
[2020-05-28T14:41:49.063Z]   File "/var/lib/jenkins/workspace/thon_apm-agent-python-mbp_PR-840/.local/lib/python3.6/site-packages/cibuildwheel/linux.py", line 282, in build
[2020-05-28T14:41:49.063Z]     call(['docker', 'rm', '--force', '-v', container_name])
[2020-05-28T14:41:49.063Z]   File "/var/lib/jenkins/workspace/thon_apm-agent-python-mbp_PR-840/.local/lib/python3.6/site-packages/cibuildwheel/linux.py", line 22, in call
[2020-05-28T14:41:49.063Z]     args, input=input, universal_newlines=universal_newlines, check=True
[2020-05-28T14:41:49.063Z]   File "/usr/lib/python3.6/subprocess.py", line 438, in run
[2020-05-28T14:41:49.063Z]     output=stdout, stderr=stderr)
[2020-05-28T14:41:49.063Z] subprocess.CalledProcessError: Command '['docker', 'rm', '--force', '-v', 'cibuildwheel-7a4b77af-78e6-46e2-9fea-6b87386f534c']' returned non-zero exit status 1.
[2020-05-28T14:41:50.152Z] Stage "Integration Tests" skipped due to earlier failure(s)
[2020-05-28T14:41:50.237Z] Stage "Benchmarks" skipped due to earlier failure(s)
[2020-05-28T14:41:50.321Z] Stage "Prepare Release" skipped due to earlier failure(s)
[2020-05-28T14:41:50.362Z] Stage "Prepare Release" skipped due to earlier failure(s)
[2020-05-28T14:41:50.443Z] Stage "Prepare Release" skipped due to earlier failure(s)
[2020-05-28T14:41:50.527Z] Stage "Prepare Release" skipped due to earlier failure(s)
[2020-05-28T14:41:51.026Z] Running on Jenkins in /var/lib/jenkins/workspace/thon_apm-agent-python-mbp_PR-840
[2020-05-28T14:41:51.166Z] [INFO] getVaultSecret: Getting secrets
[2020-05-28T14:41:51.236Z] Masking supported pattern matches of $VAULT_ADDR or $VAULT_ROLE_ID or $VAULT_SECRET_ID
[2020-05-28T14:41:52.023Z] + chmod 755 generate-build-data.sh
[2020-05-28T14:41:52.023Z] + ./generate-build-data.sh https://apm-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/apm-agent-python/apm-agent-python-mbp/PR-840/ https://apm-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/apm-agent-python/apm-agent-python-mbp/PR-840/runs/1 FAILURE 1458805
[2020-05-28T14:41:52.274Z] INFO: curl https://apm-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/apm-agent-python/apm-agent-python-mbp/PR-840/runs/1/steps/?limit=10000 -o steps-info.json


Suggestion for Improving Post-Installation Instructions

Is there an existing issue for this?

[X] I have searched the existing issues.

Describe the solution you'd like
In the “Alternative Installation Methods” section of the README, it would be helpful to clarify that, after installing on macOS, users need to launch sniffnet from the command line. Since this installation method does not register the application in the Applications folder, users may find it a bit unclear how to start using the tool.
For example, I suggest updating the “Install on macOS” page in the Wiki to include the steps for launching the application after installing it via Homebrew.
Is your feature request related to a problem?
No response

Thanks for the suggestion.
Done 👍


Allow installation with statamic 5

Resolves #1

Thanks for the PR, I have upgraded the package as changes to the tests needed to be made.

Ah, fair enough, I didn't check the tests, I just confirmed, that the functionality in a running system is still correct. Thank you for the quick reply.


Freezes adding Microsoft Models

You cannot call a method on a null-valued expression.
At line:17143 char:5
+ ...             $OSBuild = ($WindowsBuildHashTable.Item("$OSBuild")).Spli ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

once it gets to that spot, I can't do anything and I can't uncheck microsoft either. I can't access any drop down :/

Also having this same issue.

Unable to reproduce. Closing issue.


Accessing application.properties

Is there a way to access the application.properties from anywhere within the application? For example, I wanted to use some of the entries I have from a spring boot application to create a DataSource to be used with my repositories. Of course I will have to do it programmatically by getting each property and setup the DataSource, but does the framework provide me a way to get the entries from the property files?

Are many possibilities to access application.properties.
One possibility is to use Application.get().getPippoSettings(). Other possibility is to create DataSource in Application.onInit() because in Application you have access at settings.

That's what I needed, thank you! Gonna try using Dagger 2 with Pippo now!

Good. You are welcome.
You can take a look on https://github.com/decebals/pippo/tree/master/pippo-guice, http://www.pippo.ro/mod/guice.html and https://github.com/decebals/pippo-demo/tree/master/pippo-demo-guice.
Also, maybe https://groups.google.com/forum/#!topic/pippo-java/Yr6Q-jM8PNE inspire you to customize Pippo via Dagger 2.
Have fun!


Support Webgl/Opengl via dart bindings for google filament

https://github.com/google/filament

This is unfortunately out of scope for Dart. We don't really have resources to build bindings for every library out there.
We do however want to enable any interested party to build their own bindings, e.g. you can use dart:ffi/ffigen to create your own bindings for filament and publish them on pub.

@mraleph
I am so confused.

We don't really have resources to build bindings for every library out there.

Filament isn't a library "out there", it is a Google project/product.  Is this a case of the left hand not talking to the right hand?

Google teams (and individual engineers) produce lots of different things. It does not mean that all of these things are somehow part of some unified big picture and are intended to somehow interoperate.

Filament isn't a library "out there", it is a Google project/product.

Note this helpful disclaimer at the end of filament's README.


This resolves rare desk stuttering during movement

More details in previous PR: https://github.com/rhyst/linak-controller/pull/73
It appears that 0.3s is better than 0.4s, as there are occasional desk stutters with 0.4s, as shown here:
Height:  918mm Speed: -62mm/s
Height:  892mm Speed: -62mm/s
Height:  874mm Speed: -6mm/s // <-- stuttering
Height:  864mm Speed: -45mm/s // <-- stuttering
Height:  842mm Speed: -62mm/s
Height:  817mm Speed: -62mm/s

Thank you for the report! Instead of hard coding a new value have pushed 1.1.0 which allows you to configure this value as move_command_period

Out of interest: Does anybody know the timeout the official apps use?


Revert https://github.com/knative-extensions/net-istio/pull/1085

Changes

Reverts https://github.com/knative-extensions/net-istio/pull/1085
Discussion see https://github.com/knative-extensions/net-istio/issues/1328#issuecomment-2220935876

Release Note
The experimental feature `system-internal-tls` was removed. Please use istio with service mesh to encrypt traffic between Knative components.

Closes #1328

/assign @dprotaso


asyncio support

Datasette in particular needs a neat way to run different models via an await ... async method. Having a way for model plugins to provide this - especially the API based plugins like OpenAI and Claude - would be really helpful and would unblock a bunch of Datasette plugins that could benefit from an LLM abstraction layer.

Two options:

Plugins have to specifically upgrade to offer this
Works for all plugins - those that have not yet upgraded (like most of the local model ones) can run in a thread and LLM will provide an async interface to them anyway

I'm going to build 1. I will treat 2. as an optional nice-to-have in the future.
I expect that any of the API-driven plugins which do not use a client library (like llm-mistral) will want a mechanism where they can define how the HTTP requests work and then some abstraction makes that work with both blocking and asyncio httpx.

Two options for the API design:

Keep the current model classes, but add await model.aprompt(...) style methods, similar to the Django ORM's await author.books.afirst() style of API design
Offer a separate async class - so model = llm.get_async_model("gpt-4o") and then async for token in model.prompt(...)

I'm torn on these two. Not sure how to decide.

I used Claude as an electric bicycle for the mind and I've decided to go with the separate async class. I think having a separate class will make things like type hints more obvious. https://gist.github.com/simonw/f69e6a1fe21df5007ce038dfe91c62f4

I'm going to add a llm prompt ... --async option purely for my own testing which switches to the async version of a model.

I'm going to have to do this for embedding models, too.

This may be tricky: https://github.com/simonw/llm/blob/fe1e09706f69a4934430d2f2dadc354ffc4aa4dc/llm/cli.py#L361-L363
That's a reminder that sometimes we do model.prompt() and sometimes we do conversation.prompt() - which means we'll need an async mechanism for conversations, too - or some kind of thing where we can get an async alternative version of a conversation.
One option: instead of conversation.prompt() we go back to model.prompt() and add conversation= as a keyword argument.
Reminder though: the reason we have conversation.prompt() is the idea was to add tool support as a feature of conversations, since when you run a function you may end up having a single prompt that executes multiple rounds against the LLM as it executes functions and sends in their outputs.

From https://community.openai.com/t/asynchronous-use-of-the-library/479414/4 it looks like OpenAI used to have a .acreate() method and switched to a AsyncOpenAI() client instead.

OpenAI async docs are here: https://github.com/openai/openai-python?tab=readme-ov-file#async-usageimport
import asyncio
from openai import AsyncOpenAI

client = AsyncOpenAI()

async def main() -> None:
    chat_completion = await client.chat.completions.create(
        messages=[
            {
                "role": "user",
                "content": "Say this is a test",
            }
        ],
        model="gpt-3.5-turbo",
    )

I got the first prototype of this working (minus logging to the database):
llm hi --async

Hello! How can I assist you today?

The --no-stream option is currently broken though:
llm hi --async --no-stream

Error: object AsyncResponse can't be used in 'await' expression

Claude helped with the refactoring of Model into AsyncModel: https://gist.github.com/simonw/3554b00117b16eb65889a747e32a96ae

Before I commit further to this API, let's see how this feels from Python library code.

This is interesting:
>>> import asyncio
>>> import llm
>>> model = llm.get_async_model("gpt-4o-mini")
>>> model.prompt("say hi in spanish")
/Users/simon/Dropbox/Development/llm/llm/models.py:390: RuntimeWarning: coroutine 'AsyncResponse.text' was never awaited
  return "<Response prompt='{}' text='{}'>".format(
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
<Response prompt='say hi in spanish' text='<coroutine object AsyncResponse.text at 0x3133d84a0>'>

That's because the default str() method for a response tries to use await text().

Using python -m asynco again:
>>> import asyncio
>>> import llm
>>> model = llm.get_async_model("gpt-4o-mini")
>>> response = model.prompt("say hi in spanish")
>>> response
<Response prompt='say hi in spanish' text='... not yet awaited ...'>
>>> await response.text()
'¡Hola!'
>>> response
<Response prompt='say hi in spanish' text='¡Hola!'>

This output tokens one at a time:
>>> import asyncio
>>> import llm
>>> model = llm.get_async_model("gpt-4o-mini")
>>> async for token in model.prompt("describe a good dog in french"):
...     print(token, end="", flush=True)
...
Un bon chien est fidèle, affectueux et protecteur. Il aime passer du temps avec sa famille et est toujours prêt à jouer. Sa loyauté est sans égale, et il fait tout pour garder ses maîtres heureux. Un bon chien est aussi intelligent et facile à dresser, ce qui lui permet d'apprendre rapidement des commandes et des tours. Sa présence apporte réconfort et joie, et il sait être un excellent compagnon, toujours là dans les moments de bonheur comme dans les moments difficiles. En somme, un bon chien est un véritable ami pour la vie.

This async API feels pretty good to me. I think this may be the right design.
Still to figure out:

[ ] How do plugins register their async versions? Might need a register_async_models() hook.
[ ] How does logging to the DB work? That's currently a method on Model, needs to move out and an async version needs to be considered.
[ ] How about loading FROM the database? Will that work for things like attachments too?
[ ] Testing for all of this
[ ] Get another plugin working - Anthropic or Gemini would be good
[ ] Maybe try getting a llm-gguf plugin to work with this? Might help confirm the API design further by showing it working with a blocking plugin (maybe via a run-in-thread hack)
[ ] How should embeddings work? Can I punt on that for the first release, maybe for the first alpha?
[ ] Are there any other weird knock-on impacts of this I haven't considered yet?

Reminder: model registration currently looks like this: https://github.com/simonw/llm/blob/fe1e09706f69a4934430d2f2dadc354ffc4aa4dc/llm/default_plugins/openai_models.py#L24-L45
If I add a new separate register_async_models() hook I need to think about things like aliases - it wouldn't make sense for a sync model and an async model to have different aliases from each other.
Given that, I think I want the existing register_models() hook and register() callback function to handle both types of model.
So what could that look like? One option:
def register_models(register):
    register(Chat("gpt-3.5-turbo"), AsyncChat("gpt-3.5-turbo"), aliases=("3.5", "chatgpt"))

So register() takes an optional second argument.
Problem there is that I may eventually have models which are available only in their async variant.
So I could do this:
def register_models(register):
    register(model=Chat("gpt-3.5-turbo"), async_model=AsyncChat("gpt-3.5-turbo"), aliases=("3.5", "chatgpt"))

That would free me up to support this:
def register_models(register):
    register(async_model=AsyncChat("gpt-3.5-turbo"), aliases=("3.5", "chatgpt"))

That's not terrible, it may be the way to go.

I think the llm.get_model() and llm.get_async_model() methods should be able to spot when a model is available in sync but not async variants (and vice versa) and return a more useful error message than just "model not found".

The only place that calls that plugin hook (and hence the only place that defines the register() method right now) is here: https://github.com/simonw/llm/blob/fe1e09706f69a4934430d2f2dadc354ffc4aa4dc/llm/init.py#L66-L85

Got this working:
% llm -m claude-3.5-sonnet hi
Hello! How can I help you today?
% llm -m claude-3.5-sonnet hi --async
Error: 'Unknown async model (sync model exists): claude-3.5-sonnet'

I have a hunch the saving-to and loading-from the database bit may end up producing new plugin hooks. I'll need those for Datasette at any rate since it has its own mechanism for executing database writes.

I'm doing this in the prototype right now and I really don't like it:
https://github.com/simonw/llm/blob/44e6be188af98aeaa9448ad50674f746098c7914/llm/default_plugins/openai_models.py#L444
That's multiple inheritance AND I'm inheriting from the non-async model class!
I'm going to refactor those to a common base class instead.

Got Claude to refactor that for me: https://gist.github.com/simonw/3872e758c129917980605eed49cbce7f

I should do an async Ollama spike: https://github.com/ollama/ollama-python/blob/main/examples/async-chat-stream/main.py


chore(deps): update postgis/postgis docker tag to v15

This PR contains the following updates:

Package
Type
Update
Change

postgis/postgis
final
major
13-master -> 15-master

postgis/postgis

major
13-master -> 15-master

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 is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.

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

This PR has been generated by Renovate Bot.

Thanks for the PR!
Any successful deployments (not always required) will be available below.

api
admin
public

Once merged, code will be promoted and handed off to following workflow run.

Main Merge Workflow

Too significant an upgrade!

Renovate Ignore Notification
As this PR has been closed unmerged, Renovate will ignore this upgrade and you will not receive PRs for any future 15.x releases. However, if you upgrade to 15.x manually then Renovate will reenable minor and patch updates automatically.
If this PR was closed by mistake or you changed your mind, you can simply rename this PR and you will soon get a fresh replacement PR opened.


Add AUTO INCREMENT support for SQLite

Add createAutoIncrement function.
Append AUTOINCREMENT to match the behavior of MySQL and PostgreSQL regarding reuse of identifiers (ie, do not re-use).
Remove invalid autoincrement flags from test table columns.
Prevent failing test running on swift < 4.1.1

The Package.swift dependency needs to be change to point to master temporarily for the tests to pass

Codecov Report

Merging #12 into master will decrease coverage by 0.55%.
The diff coverage is 16.66%.

@@            Coverage Diff             @@
##           master      #12      +/-   ##
==========================================
- Coverage    70.8%   70.25%   -0.56%
==========================================
  Files           4        4
  Lines         274      279       +5
==========================================
+ Hits          194      196       +2
- Misses         80       83       +3

Flag
Coverage Δ

#SwiftKuerySQLite
70.25% <16.66%> (-0.56%)
:arrow_down:

Impacted Files
Coverage Δ

Sources/SwiftKuerySQLite/SQLiteConnection.swift
70.33% <16.66%> (-0.75%)
:arrow_down:

Continue to review full report at Codecov.

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


Add system tests

Some system tests should be added for the program using the program.

One system test has been added with aa4b7847b6f490fcbb1d887dcb362ffed1b05a45 ,  however more should be added to test expected program functionality.
Currently the other system tests are waiting on a fix with the JSON parsing "" characters.


Set outputs to only run their code after form is ready

Have the listener only start listening when the "form ready" function is called.


Syntastic not working on local machine

I am currently facing this error whenever I type :SyntasticInfo on any python file. The file is not readable / not local even though it is in my local machine.
Syntastic version: 3.8.0-63 (Vim 800, Linux, GUI)
Info for filetype: python
Global mode: passive
Filetype python is passive
The current file will not be checked automatically
Available checkers: flake8 pep8 pycodestyle pyflakes python
Currently enabled checker: flake8
The current file will not be checked (file not readable / not local)

This is the output when I ran :echo syntastic#util#system('echo "$PATH"')
/home/hardianlawi/bin:/home/hardianlawi/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/hardianlawi/D
esktop/DataGrip-2017.1.5/bin:/home/hardianlawi/DataGrip-2017.1.5/bin:/home/hardianlawi/pycharm-2017.2.3/bin

Any suggestion?

What file are you trying to check?  Is it actually readable by the current user?  Is it inside an archive?

Hi, sorry. It seems that I won't be able to check it if I haven't saved the file yet, which is what the problem was. But then, how do I enable auto checking everytime I open a python script?

It's all in the manual: :h 'syntastic_check_on_open'.

Okay thanks!


homeSpan.begin() and M5Stack AXP192 Voltages

I have an odd issue with a M5StickC Plus ESP32 device. Apparently there is some strange incompatibility between homeSpan and the M5 AXP192 code that returns the battery and bus voltages. It took me about 4 hours to determine that the issue starts immediately after I call homeSpan.begin. At that point the AXP voltage calls start returning incorrect values (about 1 - 2 volts higher than reality). Unfortunately this makes battery management difficult.
I will test this on a M5Core2 tomorrow and see if this issue is unique to the M5StickC-Plus or all the M5Stack ESP32 devices.
Here is a sample that exhibits the problem. If I comment out homeSpan.begin the problem goes away ...  As you can see this is about the minimum HomeSpan code you can get away with ...
#include <M5StickCPlus.h>
#include <AXP192.h>
#include <HomeSpan.h>
unsigned long currentMillis;
unsigned long previousMillis;
const unsigned long period = 5000;
void setup() {
M5.begin();
Serial.begin(115200);
previousMillis=millis();
homeSpan.begin(Category::Bridges,"HomeSpan Bridge");
}
void loop(){
M5.update();
String output = "";
currentMillis = millis();  //Pull current time since boot
if ((currentMillis - previousMillis) >= period) {      //Check time elapsed since last update
output = "BatV: " + String(M5.Axp.GetBatVoltage()) + " VBUS: " + String(M5.Axp.GetVBusVoltage()) + "\n";
Serial.print(output);
previousMillis=millis();                             //Update previousmillis for next cycle
}
}

I'm unfamiliar with the M5StickC Plus but based on the pin mappings file from the Arduino-ESP32 site it seems the board exposes a limited number of GPIO pins - perhaps because other GPIO pins are being used for other functions, such as reading the battery.  I noticed that GPIO pin 21 is not defined, but HomeSpan uses that as the default pin for the control button.  If this is being used for another purpose by the M5StickC software, this could cause a problem.   HomeSpan also used pin 13 as the default for the status LED.  This pin appears to be defined for the M5 but is used for the external SPI (which may impact any devices connected via the SPI).  To see if this is the problem you can instruct HomeSpan to use different pins for the control button and the LED with the setControlPin() and setStatusPin() methods (see the API for details).

Many thanks .. should have been obvious to me but sometimes the trees are not visible while looking at the forest fire. Pin 21 is used by the AXP which explains why it was interfering. I changed StatusPin to 10 which is the actual LED and the ControPinl to 26 (unused). Will probably change ControlPin to 39 (button B) at some point but right now Im using that button for troubleshooting purposes. Again, many thanks for a great product and support.


create the new version of twe_conifg file

In the first commit, just copied the previous twe_config file and changed the name of file with a higher version. No changes have been made inside the file.

This change is

In the second commit, the following changes were made:

change the config version
Remove all project ID
Update the ClinVar annotation file id and index id.

This shouldn't be a new file but an update to the existing version.


Move contributor data to contributor directory.

Rvert PR https://github.com/codeforcauseorg/pledge/pull/27:
Reason:

The contributor is not added to our website.
The file is changed in root repository insted /src/data/contributors.

Thanks @Abhishek-kumar09 . I somehow missed that.


fix: card consistency

Before:

After:

Other card elements:

^ This example is still missing a shadow-sm

Ref: #1784

Is there a way we can keep the shadow as it looks 100x better on gray backgrounds, but also make it look ok on white backgrounds too?

Then we can change all the other cards to use the new styling that works on gray and white backgrounds

Gonna close this, I don't wanna lose the widget shadows just yet 👍


Create device emulator

If I have no physical device I want to have ability to test the server.

Please describe basic use-cases that emulator have to support.

The simplest should just pass registration process. It should send a request with correct handshake info and wait for ok response. I think it would be fine as a first iteration. Further use cases depends on how we would like to use it.


singlas -> signals in Readme

I hate people that just make changes to README.md so it says on their github profile that they contributed but I legit got confused what singlas are and thought this (a PR) was more helpful than opening an issue

All the singlas -> signals are welcome 😊


Some refactoring

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
❌

Tests pass?
✔

Thanks!


KYLIN-4438 fix bug: null password may cause RuntimeException when starting up

Proposed changes
Add condition to treet null input for EncryptUtil methods.  For default settings, password may not be set, so null will passed to PasswordPlaceholderConfigurer#resolvePlaceholder.  This will cause an "IllegalArgumentException: Null input buffer" and lead to startup failure. This fix treets null as a legal input and returns null for both encrytion and decrytion.
Types of changes

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices apply)

Checklist

[x] I have create an issue on Kylin's jira, and have described the bug/feature there in detail
[x] Commit messages in my PR start with the related jira ID, like "KYLIN-0000 Make Kylin project open-source"
[x] Compiling and unit tests pass locally with my changes
[x] I have added tests that prove my fix is effective or that my feature works
[x] If this change need a document change, I will prepare another pr against the document branch
[x] Any dependent changes have been merged

Further comments
N/A

Pull Request Test Coverage Report for Build 5770

4 of 4 (100.0%)  changed or added relevant lines in 1 file are covered.
8 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-0.0001%) to 27.514%

Files with Coverage Reduction
New Missed Lines
%

core-cube/src/main/java/org/apache/kylin/cube/cuboid/TreeCuboidScheduler.java
2
68.46%

core-job/src/main/java/org/apache/kylin/job/impl/threadpool/DefaultScheduler.java
2
80.23%

core-cube/src/main/java/org/apache/kylin/cube/inmemcubing/MemDiskStore.java
4
78.12%

Totals

Change from base Build 5753:
-0.0001%

Covered Lines:
24297

Relevant Lines:
88309

💛  - Coveralls

@xiacongling Hi, would you please open another issue for this pr, seems the change is not for KYLIN-4423

Hi, @nichunen. Issue created for this PR, see KYLIN-4438

@xiacongling OK, and the commit message should also start with the issue id, so we can link them on Jira


A new command to list and extract template files

When you want to customize your templates, you have to go to find source and download them. And also the same version. When you are in a stable version, you could find it easy. But for a dev branch, it's not as easy as before.
Since all templates has been embedded in binary, if we can list them and extract them. That's better.

Just for context, I will link the issue where this was discussed: https://github.com/go-gitea/gitea/issues/9320#issuecomment-564517381


style: update unittest comparison order to be (actual, expected)

Refs: #177
PR Type

Refactoring (no functional changes)
Tests

Description

All unit tests have been checked, and comparisons of the sort self.assertEqual(...) have inputs in the order actual, then expected.
How Has This Been Tested?

All unit test files searched through and altered where the order was found to be inconsistent.
Does this PR introduce a breaking change?

N/A
Checklist before requesting a review

[x] I have made sure that my PR is not a duplicate.
[x] My code follows the style guidelines of this project.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have performed a self-review of my code.
[x] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[x] I have added tests that prove my fix is effective or that my feature works.
[x] New and existing unit tests pass locally with my changes.
[x] Any dependent changes have been merged and published in downstream modules.

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


[BUG] Office 365 Management APIs Keeps Disappearing from APP Registrations

Describe the bug
Since Installing Center of Excellence - Core Components v1.71.7 the Custom Connector Office 365 Management APIs keeps disappearing from APP Registrations in Azure Active Directory
Component (please tell us which flow or app you are experiencing issues with):

Solution - Core
Version  - 1.71.7
App or Flow - Custom Connector

To Reproduce
Steps to reproduce the behavior:

Install Core Components v1.71.7
Install the Office 365 Management APIs in App Registrations in Azure Active Directory
Wait 2 weeks
See error - notice that Office 365 Management APIs has disappeared from App Registrations

Expected behavior
Office 365 Management APIs remains in APP Registrations
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
I have raised an incident with Microsoft Premier Support and they have come back saying that they cannot find anything wrong with Azure AD and therefore it would seem to be a problem with the Centre of Excellence.
This has now happened on two different tenancies.

Closing as duplicate of #662


[Bug]: Dropdown menus in the sidebar do not close when clicked

Summary

Open the react.dev website and go to the Learn section
Click on any dropdown menu located in the sidebar, it works✅
Click the dropdown menu again to minimise it but it doesn't work❌

Page
https://react.dev/learn
Details
I tried refreshing the page but that didn't help.
The dropdown menu doesn't close once it's opened.

Hey this is expected behaviour.

@harish-sethuraman How is it expected behavior that once you open a dropdown menu, you cannot close it. It's just bad design, mate.


feat: switch logic to props

Switch reading block's metadata from components to the props:

update source code
update examples with new approach

@jonaslagoni Hmm, strange with build. It's my logs after run npm run build. Could you try to remove node_modules and install deps from scratch?

Also regarding to the file names. I changed git config, after last commit everything should be fine :)

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


ng1-to-ng2 compatibility with angular 2.4.x

Angular version 2.4.7
While referencing the Ng1toNg2Module in the application module, the Angluar Cli gives an error as  ERROR in Ng1ToNg2Module is not an NgModule.
`import { Ng1ToNg2Module } from "ui-router-ng1-to-ng2";
@NgModule({
imports: [
BrowserModule,
HttpModule,
Ng1ToNg2Module
],
declarations: [
AppComponent
],
providers: [
{ provide: NgModuleFactoryLoader, useClass: SystemJsNgModuleLoader }
],
bootstrap: [
AppComponent
],
entryComponents: [
AppComponent
]
})
export class AppModule {
}
`

npm dependency warnings
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>none was installed.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>butnone was installed.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
Is 2.0.x a mandatory requirement ?

+1

+1

+1

+1

For angular 2.4 support, please use the last 1.x release of ui-router-ng1-to-ng2 (version 1.0.15).
For angular 4 support, use @uirouter/angular-hybrid version 2.0.0 or higher.


microbit javascript, bacspace doesn't work

On android using chrome, i can't remove text when coding microbit in javascript mode. Pressing bacspace does not do anything. (And yes i have my cursor active in the text)

@nielsswinkels Does this happen in /beta as well? We have bunch of fixes in beta for Monaco editor and I am wondering if this is fixed.

Beta has the same problem

Android issues are very specific to the version of Chrome, Android version and Keyboard you are using. Any information regarding the above would be very helpful.

Also, has this ever worked for you, ie: is this a regression?

I don't usually use android, and specially not javascript text mode, so I don't know if the problem existed before.
Now I updated to chrome 60.0.3112.116 and the problem is gone 👍 I'm using google's Gboard.

Do you remember what versions of the above you were on?
Get Outlook for iOShttps://aka.ms/o0ukef

From: Niels<EMAIL_ADDRESS>Sent: Saturday, September 9, 2017 2:51:35 AM
To: Microsoft/pxt
Cc: Sam El-Husseini; Assign
Subject: Re: [Microsoft/pxt] microbit javascript, bacspace doesn't work (#2870)
Closed #2870https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fpxt%2Fissues%2F2870&data=02|01|Sam.El-Husseini%40microsoft.com|e474390fd5324dc74f9708d4f7685c4b|72f988bf86f141af91ab2d7cd011db47|1|0|636405474979816910&sdata=Mjptg661HMPtQ%2BA9N5SDpzLD3Pwc%2F2AaI0J2aWbongM%3D&reserved=0.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fpxt%2Fissues%2F2870%23event-1241820749&data=02|01|Sam.El-Husseini%40microsoft.com|e474390fd5324dc74f9708d4f7685c4b|72f988bf86f141af91ab2d7cd011db47|1|0|636405474979816910&sdata=v8gVJfAi0H5zq5CDy6aXC%2Bmf5J7d%2Bt%2FOq7oO2oy6aLk%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAP6rzFspisLZfvKdm9zFSD24uMXifuq0ks5sgl-ngaJpZM4PQGaC&data=02|01|Sam.El-Husseini%40microsoft.com|e474390fd5324dc74f9708d4f7685c4b|72f988bf86f141af91ab2d7cd011db47|1|0|636405474979816910&sdata=36%2F41ynKsvauhyOSZ6xYZ8bCB3CmGRPzOFuFqS1EOiU%3D&reserved=0.

Oh... No idea.. and i don't think i can find that anymore


Use latest createdAt on metadata.xml

This enables the service to run in more than 1 replica

I don't understand why CI freezes after running the AdminApiTest

Do all the catalogs the registry provides share the same timestamp, which is the time the last extension or platform was updated?
And now it's querying the database on every request?

Yeah, I know it's not the perfect solution but it works. I could cache it for a specific timeframe but I wouldn't know when to invalidate it if we're running on multiple replicas.
Another idea: maybe we could read that value from a ENV parameter and restart the app when the value changes, but I am not fully convinced in this strategy yet.

I'll give it more thought about it. Closing now


Upload app at Fdroid store

Is the app compatible with the licenses allowed at Fdroid? We might have to take out Google maps. Please check.

No @mariobehling I don't think It'll be compatible with Fdroid. We can change Maps for OpenStreetMaps or we can can just pass an intent to choose application to open maps. I think the second option gives the user more flexibility as OpenStreetMaps are not that detailed,so, user can choose whatever application they like.

A gradle flavour without Google Maps will be accepted. From my experience
with prior submissions.
We can make such a flavour. So that our FDroid variant uses the url
approach or uses OSM, and our Play Store version has embedded maps.
On May 9, 2015 12:45 AM, "Manan Wason"<EMAIL_ADDRESS>wrote:

No @mariobehling https://github.com/mariobehling I don't think It'll be
compatible with Fdroid. We can change Maps for OpenStreetMaps or we can can
just pass an intent to choose application to open maps. I think the second
option gives the user more flexibility as OpenStreetMaps are not that
detailed,so, user can choose whatever application they like.
—
Reply to this email directly or view it on GitHub
https://github.com/fossasia/ots15-companion/issues/7#issuecomment-100331598
.

I like the "intent" idea that @mananwason mentioned, that seems like it would be intuitive and flexible for our users.

@mariobehling @leto If everyone agrees, I can implement this on another branch.

@mananwason I wonder if the embedded Google map is such an important feature, that we need to maintain two different branches. If it is too complicated, we should find a solution, that is easy for both. Just proceed, if this works for now.

No @mariobehling That's what I am saying that we should work with intents and let user choose application but It would be best if this is done on another branch, even if it's just some lines of code.

I suggest we only maintain openstreetmap version, cause it is may easy for us and avoid some licence issues at F-Droid.
And, "intent" also are good idea!

We tried to find a simple version with OpenStreetMap but the library implementation was more complicated.
Before we look into detail here, a bigger priority is to get the images on the sponsor page right.

@mariobehling I am working on that right now.

In general, :+1: to creating new branches for new features and bugfixes. Let's move forward with implementing the simplest strategy to get in the Fdroid store and then make iterative improvements from there.

Hi I also agree to change to OpenStreetMap or simpler and better - just a link for the location.
In my opinion it's very important to have an open AND FREE (also google free) version for the OTS app.
Can you also please check the permission. We ONLY need the internet access for the time table. Please kill the rest!


Force Rust 1.57 MSRV

This PR forces the CI as well as local dev environments to use Rust 1.57, which is the MSRV for this project.
Closes #94

@CerulanLumina what do we do about the clippy errors for MSRV?

Clippy on stable should be fine. Any MSRV issues should be caught by the rest of the toolchain, and it seems using an updated clippy should only allow the extra indirection we have in topsort.
Thanks for working this, we appreciate your contributions!

I changed it to validate with stable but also added an allow so that it won't bother people on their local environments.

Thanks for the contribution! I'm worried about forcing all uses of this library to use 1.57, even local development builds (as opposed to using it only as part of a CI matrix). I'll ask the rest of the typeshare team and get back to you.

@Lucretiel I implemented the dev change due to the task mentioned in #94, but if that's not necessary I can remove the local dev part of this PR ;).

I spoke with the team and apparently I was just mistaken, these changes look good! I'm giving it a final lookover then we should be able to merge today

Thanks!


Add support for rust Array length Const

My initial reaction was that indexing arrays by the length would cause inconsistencies as you could write an array where the indexed length is different than the const length
#[flux::sig(fn([i32; _][2]))]
fn myarr(a: [i32; 1]) {
    a[1]
}

But if array literal are the only way to construct arrays then I think this should be ok and it just declaring an inhabited type. However, not connecting both lengths makes code cumbersome. For example, it makes it impossible to use the result of a function like https://doc.rust-lang.org/std/primitive.u32.html#method.to_be_bytes without explicitly checking the length, even though you already know the length is 4. Ideally, arrays shouldn’t be indexed but rather we the const length should be automatically reflected into the logic when needed, i.e., the typing rule for Len should be something like
|- a: [T; n]         reflect(n) = a
———————————————————————————--———-——-
          |- Len(a): usize[a]

I’m ok with leaving the implementation like this for now as doing this reflection requires further design.
Originally posted by @nilehmann in https://github.com/liquid-rust/flux/pull/252#pullrequestreview-1221901911

It seems to me that we should be able to support this by:

Preserve the Const in the ty::TyKind::Array (ie. https://doc.rust-lang.org/beta/nightly-rustc/rustc_middle/ty/enum.TyKind.html)

Remove the indexing (pull out of BaseTy)

Instead use try_eval_usize to get index?

[Maybe we could just store the usize in our representation i.e. change our
pub struct Const;

to pub struct Const(usize); ?

That should get us far but it's actually a bit more complicated. There are also some technical details.

An array length is not always something that can be evaluated to an int, in particular, it can be a generic const, e.g.,

fn first<const n: usize>(arr: [i32; n]) {
    arr[0]
}

We should also handle generic consts (*). Further, the length could in theory be an arbitrary const expression, so I'm not sure exactly in which cases try_eval_usize fails. In practice, const generics are very restricted so it may be the case that an array length is always something that can be evaluated to an int or a generic const.

I don't know how to explain this very well, but if you go and try to implement this you'll hit a wall, because there's no place in the pipeline where we can easily call try_eval_usize.

1 we can leave for future work, but for 2 we need some redesign.
(*) The interaction between const code and refinements still eludes me, but there's probably something principled we should be able to do. For example, in the same way, we currently support global const (e.g., const x: i32 = 0) inside refinements, we should be able to support generic consts inside refinements
#[flux::sig(fn(arr: [i32; n], i: usize{i > n}) -> i32)]
fn<const n: usize>get(arr: [i32; n], i: usize) -> i32 {
    arr[i]
}

Hmm I managed to get a bunch of stuff working (including the eval stuff) I
am almost done but am pulling Array out of BaseTy so we don’t have
“useless” indices - let me push and you can take a look?
On Sun, Dec 18, 2022 at 4:24 PM Nico Lehmann @.***>
wrote:

That should get us far but it's actually a bit more complicated. There are
also some technical details.

An array length is not always something that can be evaluated to an
int, in particular, it can be a generic const, e.g.,

fn first(arr: [i32; n]) {
arr[0]}
We should also handle generic consts (*). Further, the length could in
theory be an arbitrary const expression, so I'm not sure exactly in which
cases try_eval_usize fails. In practice, const generics are very
restricted so it may be the case that an array length is always something
that can be evaluated to an int or a generic const.

I don't know how to explain this very well, but if you go and try
to implement this you'll hit a wall, because there's no place in the
pipeline where we can easily call try_eval_usize.

1 we can leave for future work, but for 2 we need some redesign.
(*) The interaction between const code and refinements still eludes me,
but there's probably something principled we should be able to do. For
example, in the same way, we currently support global const (e.g., const
x: i32 = 0) inside refinements, we should be able to support generic
consts inside refinements
#[flux::sig(fn(arr: [i32; n], i: usize{i > n}) -> i32)]fnget(arr: [i32; n], i: usize) -> i32 {
arr[i]}
—
Reply to this email directly, view it on GitHub
https://urldefense.com/v3/__https://github.com/liquid-rust/flux/issues/254*issuecomment-1356920395__;Iw!!Mih3wA!A52J6VmSrNSVnc1L3teO3gSLYEMj2F8A07Yb8NWkEBjiT6vqjNtutL5lMA_oXqhVsL03HWegO5oZs5__nLKYJWWL$,
or unsubscribe
https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AAMS4OEWQBPBENLDHUO4TZDWN6TMRANCNFSM6AAAAAATCYJEM4__;!!Mih3wA!A52J6VmSrNSVnc1L3teO3gSLYEMj2F8A07Yb8NWkEBjiT6vqjNtutL5lMA_oXqhVsL03HWegO5oZs5__nAIZzW9D$
.
You are receiving this because you authored the thread.Message ID:
@.***>

Perhaps the ParamEnv hack works for the simple cases only?
On Sun, Dec 18, 2022 at 5:03 PM Ranjit Jhala @.***> wrote:

Hmm I managed to get a bunch of stuff working (including the eval stuff) I
am almost done but am pulling Array out of BaseTy so we don’t have
“useless” indices - let me push and you can take a look?
On Sun, Dec 18, 2022 at 4:24 PM Nico Lehmann @.***>
wrote:

That should get us far but it's actually a bit more complicated. There
are also some technical details.

An array length is not always something that can be evaluated to
an int, in particular, it can be a generic const, e.g.,

fn first(arr: [i32; n]) {
arr[0]}
We should also handle generic consts (*). Further, the length could in
theory be an arbitrary const expression, so I'm not sure exactly in which
cases try_eval_usize fails. In practice, const generics are very
restricted so it may be the case that an array length is always something
that can be evaluated to an int or a generic const.

I don't know how to explain this very well, but if you go and try
to implement this you'll hit a wall, because there's no place in the
pipeline where we can easily call try_eval_usize.

1 we can leave for future work, but for 2 we need some redesign.
(*) The interaction between const code and refinements still eludes me,
but there's probably something principled we should be able to do. For
example, in the same way, we currently support global const (e.g., const
x: i32 = 0) inside refinements, we should be able to support generic
consts inside refinements
#[flux::sig(fn(arr: [i32; n], i: usize{i > n}) -> i32)]fnget(arr: [i32; n], i: usize) -> i32 {
arr[i]}
—
Reply to this email directly, view it on GitHub
https://urldefense.com/v3/__https://github.com/liquid-rust/flux/issues/254*issuecomment-1356920395__;Iw!!Mih3wA!A52J6VmSrNSVnc1L3teO3gSLYEMj2F8A07Yb8NWkEBjiT6vqjNtutL5lMA_oXqhVsL03HWegO5oZs5__nLKYJWWL$,
or unsubscribe
https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AAMS4OEWQBPBENLDHUO4TZDWN6TMRANCNFSM6AAAAAATCYJEM4__;!!Mih3wA!A52J6VmSrNSVnc1L3teO3gSLYEMj2F8A07Yb8NWkEBjiT6vqjNtutL5lMA_oXqhVsL03HWegO5oZs5__nAIZzW9D$
.
You are receiving this because you authored the thread.Message ID:
@.***>


Add support for $id keyword

Hello!
In my project, I'm working with json schemas that use the $id  keyword introduced in draft-wright-json-schema-01.
To make schema mapping working, I've introduced the Schema#ID() method, which allows us to work with both id and $id keywords.

Do you have to work with both? Why not just assume $id, then add an internal field mapped to id, and some unmarshalling code that migrates it if it exists?

We only have schemas with $id, so there is no need to work with both simultaneously.
By the custom unmarshalling did you mean something like this:
type Schema struct {
	ID          string      `json:"$id"` // RFC draft-wright-json-schema-01, section-9.2
	LegacyID    string      `json:"id"`  // RFC draft-wright-json-schema-00, section 4.5
	Definitions Definitions `json:"definitions,omitempty"`
}

func (s *Schema) UnmarshalJSON(data []byte) error {
	var tempSch tempSchema
	if err := json.Unmarshal(data, &tempSch); err != nil {
		return err
	}

	if tempSch.ID == "" {
		tempSch.ID = tempSch.LegacyID
	}

	*s = tempSch.getSchema()

	return nil
}

type tempSchema Schema

func (ts *tempSchema) getSchema() Schema {
	return Schema{
		ID:          ts.ID,
		Definitions: ts.Definitions,
	}
}

Yes, exactly.

Cool, I'll update the PR 👌

Thanks!

This PR is so helpful. Is it ready to be merged?

@ziposcar @vaihtovirta Sorry about the lateness, kind of dropped the ball on this! Merged now.


A feature request：How can I judge user intentions ？

Hello，
I have a need for speech recognition now, and I have read many documents of this project, but I am still not sure whether this project can meet my need：
Now I have hundreds of thousands of wav audio files, which are only one to five seconds and divided into two categories, one is positive answer, the other is negative answer, but I do not have the text information corresponding to each wav file, now my demand is whether I can use this project to make intention judgment？
For example, if I input an audio data, then I can get the intention expressed by this audio, but there is no text corresponding to this audio
Any help will be greatly appreciated！

Thank you for your interest.
At this moment, this library is only for feature extraction, preprocessing and post-processing. It cannot be used directly for your described task.


Post release automated changes for recoveryservices releases

Post release automated changes for azure-arm-recoveryservices

API change check
API changes are not detected in this pull request.

@xirzec what is this github event processor ? It seems like trying to get something does not exist ?

@xirzec what is this github event processor ? It seems like trying to get something does not exist ?

I think that's just the normal issue automation now. It seems like it was hitting quota/throttling issues /cc @ckairen

/check-enforcer reset

/check-enforcer evaluate

/check-enforcer evaluate

/check-enforcer override


not able to select elements created by instafeed.js

Heya,
I'm trying to get the value of the class of  with jquery, it works with all elements that instafeed.js doesn't create. But the elements created with the template aren't able to select.
So my jQuery is not best practice, I'm just trying to get the idea to work before I optimize it, anyways, what I'm not figuring out is that this works just fine on #thumb and #max but if I move the selectors "up" one level, but not with anything within these divs, the elements that have been created by instafeed.js.
What's weird is that css is selecting the elements just fine but seem invisible to jQuery...
Concept (no Instafeed implemented):
JSFiddle here.

Closing as stale. Sounds like an order of execution thing, though.


How to verify that miette runs successfully for library mode

All examples do not describe the use of unit tests and integrate tests.
Which is required for #[source]#[source_code]#[source_from]#[diagnostic_source]?
I need to manually copy the source code myself and bind to the #[source] attribute?
I spent the whole night learning, but still didn't get started, just copied example to get a hard to call full example.

if you want to make sure that everything is working in library mode, I would test directly against the miette Diagnostic protocol: https://github.com/zkat/miette/blob/main/src/protocol.rs#L17-L67
That is, instead of checking how things render, I would make sure that each of these returns what you expect them to return, when you return your library's Error type. Does that make sense?

if you want to make sure that everything is working in library mode, I would test directly against the miette Diagnostic protocol: https://github.com/zkat/miette/blob/main/src/protocol.rs#L17-L67
That is, instead of checking how things render, I would make sure that each of these returns what you expect them to return, when you return your library's Error type. Does that make sense?

I think I'm expressing it wrong.
I'm developing a library, and I'm wrapping all errors in my library into a unified Error according to the example guide.
I write integration tests for my library, bugs are unavoidable during development, and I still want some fancy backtrace to be printed out in the integration tests as well to provide enough information for me to be picky eaters

fn third() -> FancyResult {
    Err(DemoError {
        src: NamedSource::new(
            "cli::main",
            "|fn third() -> FancyResult {
              |   Err(DemoError {
              |       src: NamedSource::new()
              |       })
              |   Ok(())
              |}",
        ),
        bad_bit: (9, 4).into(),
    })?;
    Ok(())
}

When I run this demo, she seems to start working.
Do I need to manually fill in the appropriate code every time and format it for this, the setup is to set some trim flags to match the lock-in. Did I miss something

If you want to render to a string for comparison, you could consider doing what miette's own test suite does for the graphical reporter: https://github.com/zkat/miette/blob/main/tests/graphical.rs#L29-L32
Is that closer to what you were asking for?

If you want to render to a string for comparison, you could consider doing what miette's own test suite does for the graphical reporter: https://github.com/zkat/miette/blob/main/tests/graphical.rs#L29-L32
Is that closer to what you were asking for?

So do I just have to hardcode my snippets into a NamedSource variable？
like: https://github.com/zkat/miette/blob/main/tests/graphical.rs#L82-L86

no, you don't need to hardcode the source.

I mean, if I'm developing an application and also want to get some fancy snippet hints, do I have to hardcode the source. If not, please help direct me where should I go to find the example

You don’t need to hard code the source. You just need to label the field that’s going to be the source with #[source_code] and if you need something more dynamic than that, you can just implement Diagnostic by hand, which is not really that much of a hassle

Is there a way to automatically capture context code, the #[source_code]


Feat/compression

Description of change

Messages are compressed with brotli before saving them to the tangle, and decompressed before getting parsed.
Introducing message version and encoding version.

The format of a message on the tangle is as follows:
$message_version $encoding_version $data
where

$message_version is a one byte flag indicating the message version (1 for the current, not-modified message).
$encoding_version is a one byte flag indicating the encoding version (1 for json + brotli).
$data is the compressed data.

$message_version can be used in the future to indicate the format that follows the first byte.
Links to any relevant issues
implements issue #434
Type of change
Add an x to the boxes that are relevant to your changes.

[ ] Bug fix (a non-breaking change which fixes an issue)
[ ] Enhancement (a non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Fix

How the change has been tested
Unit tests, manual tests, wasm bindings tests.
Change checklist
Add an x to the boxes that are relevant to your changes.

[x] I have followed the contribution guidelines for this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

we might need to check if the license of Brotli is compatible with the library
https://github.com/dropbox/rust-brotli/blob/master/LICENSE

we might need to check if the license of Brotli is compatible with the library https://github.com/dropbox/rust-brotli/blob/master/LICENSE

It looks like it is licensed under the BSD 3-Clause. According to the accepted answer here: https://softwareengineering.stackexchange.com/questions/40561/is-bsd-license-compatible-with-apache
it should be compatible with the Apache 2.0 License, but we might have to double check.

Would it maybe make more sense to move compression_brotli.rs into the identity-core crate?

Would it maybe make more sense to move compression_brotli.rs into the identity-core crate?

It's specific to IOTA messages.

we might need to check if the license of Brotli is compatible with the library https://github.com/dropbox/rust-brotli/blob/master/LICENSE

It looks like it is licensed under the BSD 3-Clause. According to the accepted answer here: https://softwareengineering.stackexchange.com/questions/40561/is-bsd-license-compatible-with-apache
it should be compatible with the Apache 2.0 License, but we might have to double check.

crypto.rs allows dependencies with a BSD 3-Clause licence so I think we should be good: https://github.com/iotaledger/crypto.rs/blob/dev/.github/workflows/about.toml


Fix logger [wip]

What does this PR do?
Fixes #607 to be able to do #609
PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.

Thanks for the bug fixes. I think maybe I did a rebase right at the end and forgot to re-run the tests. I promise they were all passing at some point.

well, not only, also flush is missing in older PT... :]

Yeah, missing the flush on Torch 1.1 was my mistake.

It is fixed, but more serious is missing add_hparams in 1.1 which means that they are not exported at all...


Add Changelog

Description
What do you think about adding a changelog so users know what changes to expect from a version update?

Hi @pheanex
Yeah, sure, I've started to write detailed change log of a release since 0.2.10
Check it out: https://github.com/identixone/fastapi_contrib/releases/tag/v0.2.10
Do you think this should be enough?

That is great! :partying_face: Thank you for doing that!
I wonder if it still makes sense to add a changelog.md or something to the project or mention it in the readme that the changelog is on github releases to make it more visible.
Some also put it in the project_urls for showing on pypi

Sure, let's do this starting from next release

Closing this for https://github.com/identixone/fastapi_contrib/commit/e61ecaa3fc114aebb89f4ced28b75bb6dfd21f05
If you have further suggestions, please open new request :)


Heartbeat function

When running any form of the bot (multi or single too) the heartbeats are not sent out, instead in the console the below EM appears:
[2017-10-18 08:20:32] [MainThread] [PokemonCatchWorker] [INFO] Candy gained: 3. You now have 15 Hoothoot candy!
[2017-10-18 08:20:32] [MainThread] [MoveToFort] [INFO] [2017-10-18 08:20:32] [MainThread] [MoveToFort] [INFO] Moving towards pokestop A*****ke - 0.05km
Exception in thread Thread-2:
Traceback (most recent call last):
File "C:\Python27\lib\threading.py", line 801, in _bootstrap_inner
self.run()
File "C:\Python27\lib\threading.py", line 1073, in run
self.function(*self.args, **self.kwargs)
File "C:\Users\birdo\PokemonGo-Bot\pokemongo_bot_init.py", line 1587, in heartbeat
self.get_inbox_time = int(datetime.datetime.now().strftime("%s")) * 1000
ValueError: Invalid format string
[2017-10-18 08:20:35] [MainThread] [UpdateLiveStats] [INFO] ***** | Uptime : 0:19:04 | Earned 4,100 Stardust | +11,685 XP | 36,775 XP/h | Visited 7 stops | Total Stardust: 8,200
[2017-10-18 08:20:38] [MainThread] [  SpinFort] [INFO] [2017-10-18 08:20:38] [MainThread] [  SpinFort] [INFO] Spun pokestop A******ke (8 streak). Experience awarded: 50. Items awarded: 2x Potion, 1x Pokeball
It is mid run, and after it the bot continues with the account, but it does not display any data where or how the mouses are standing.

I did a bit of googling: http://stackoverflow.com/a/11743262
Python doesn't actually support %s as an argument to strftime (if you check at
http://docs.python.org/library/datetime.html#strftime-and-strptime-behavior it's not in the list), the only
reason it's working is because Python is passing the information to your system's strftime, which uses
your local timezone.
The usage of strftime("%s") is platform dependent and seems to not work on windows.

This problem should have solved. Of not we can open again. Closing now.


Proposal: Remove Use of getAuthenticateData

While I understand the value of getAuthenticateData as a way of sanitizing data, it does cause a lot of confusion and misdirection for users while providing little in terms of extensibility.
https://github.com/jpadilla/ember-simple-auth-token/blob/master/addon/authenticators/token.js#L146-L153
Also it does not use Ember.get so you could lose the potential value of unwrapping objects, proxies or computed properties.
This is something that could have been useful in a sanitization/unwrapping function.
Passing credentials directly as an object would be clearer from a use perspective and would really slim down confusion around identificationField and passwordField config since they wouldn't be needed anymore.
This also makes the library more flexible for use with other systems which may require more than two fields.
I have worked in projects where other session IDs are passed in along with email/password to the token endpoint and this would require extending and rewriting the getAuthenticateData or even the entire makeRequest function.

Example in an app may have a controller with the following code:
this.session.authenticate('authenticator:token', { identification: this.email, password: this.password })

If after API development the JWT endpoint requires email and password instead of the configured identification and password then the thought would be to change the code to:
this.session.authenticate('authenticator:token', { email: this.email, password: this.password })

But instead the configuration for identificationField would need to be changed to email.

In comparison if there was no getAuthenticateData function or call, then it becomes much more clear and simple to pass in the fields required by the API being used.
Th code change listed be required and users wouldn't have to know about configuration for identificationField or passwordField at all, and they would have more flexibility.

Downside:
Removing getAuthenticateData would potentially break applications where credentials aren't explicitly passed in (for instance using this as the credentials in a controller/component and letting getAuthenticateData remove properties other than the required fields).
This would be hard to make a warning for.
The change required to support this in an app would be to either explicitly create a new credentials object (I think this is best to recommend) or using something like _.pick or Ember.Object.getProperties.

Hey @rtablada thanks for such a thoughtful description of this issue. Last PR I merged was #173 which was after releasing v3. I'm always down for simplifying API, removing confusion and misdirection. How would you suggest we move forward?

I was suggesting the same two years ago: https://github.com/jpadilla/ember-simple-auth-token/pull/144

Closed by #226. Thanks again @rtablada for bringing this up.


Add DB file encryption

For Electron, it's actually necessary for Trezor.

And for ReactNative, use sqlcipher https://github.com/OP-Engineering/op-sqlcipher

Do you have simple draft how / what key would be used for the db file and so on - curious how this is planned / would work once implemented

For Electron

Would it be possible for all other Browser as well?

@negue Probably yes, I need to investigate it.

Soon.
https://sqlite.org/forum/forumpost/20b2639ec5
https://utelle.github.io/SQLite3MultipleCiphers/docs/installation/install_overview/#webassembly
https://github.com/utelle/SQLite3MultipleCiphers/releases/tag/v1.8.3

Oh I wanted to mention the turso article but you want 3 steps ahead 😬
I searched for a few sqlite wasm projects - but somehow https://github.com/utelle/SQLite3MultipleCiphers never came up
thats awesome (both the link and that it might be added to evolu soon ™ )


feat(server): reduce mlp and attn in one op for flash neox

Do you expect that identical input should produce identical (or extremely close) results irrespective of batch membership?

It's always tricky as some noise is added when you have bigger batches but they should be close, yes. The fused layer norm seems to also add a lot of noise. You can try using nn.LayerNorm instead and it might solve the issue entirely. I need to check if it's truly worth it to use this kernel.
We have a lot of discussions internaly around this topic at the moment but we don't have a solution for now... (cc: @gante)
Can you share some info on the prompt and the resulting generations?

Based on my (limited) empirical observation in transformers, changing the numerical representation has a more significant impact than having a slightly incorrect position embedding -- lower resolution representations are quite sensible to the presence of numerical masking (padding).
Also, based on working on the TF side of things, the order of FP operations can also change the results.
TBH, as long as the quality of the output doesn't decrease, I wouldn't worry much about it! :D

Lol @njhill you were rigth: https://github.com/huggingface/text-generation-inference/pull/150.

Thanks @OlivierDehaene. I've been playing with the latest fixed version but it still doesn't seem to be completely stable. The same input as a member of different size batches gives different results.
However, I found that the order of inputs within the batch doesn't affect the output, and the contents/size of the other inputs generally doesn't either (strangely, reducing another input in the batch to < 8 tokens then did cause the result of the first input to change).
So I have a feeling something is still wrong, hopefully these clues might help. This doesn't seem like an FP precision thing to me since it seems stable for certain kinds of changes.

reducing another input in the batch to < 8 tokens then did cause the result of the first input to change

@njhill You can also reproduce this behavior with batched generation in transformers, especially with non-FP32 computations. The more masked tokens (padding) you have, the higher the odds of this happening.
(I'd be happy to provide a reproducer if you're curious :) )

@njhill,
Would you have a snippet I could run to reproduce the issue? I am unable to trigger it on my side.

Thanks @gante. If you're referring to the existing GPT-NeoX impl in transformers then yes I'm aware of the behaviour but I think it is a still-to-be-fixed bug right? I did start to look into fixing it, I will try to get back to that soon.
I do also understand that in general lower precision can cause some padding instability, but in my experience the differences are usually minor/subtle rather than completely different output.
I agree with you that the differences don't really matter, but for research/reproducibility purposes, people submitting greedy requests expect to get identical results.
@OlivierDehaene I am still experimenting and want to make sure I can repro with your exact code/image rather than my fork. As soon as I've confirmed that I'll share an example.

@OlivierDehaene after more experimentation I found that @gante is right, this does indeed seem to be numerical precision related. Specifically, the variation seems to be quite significant with bf16 (even more so for the flash attention impl), but results are much more stable with fp16 (and I assume fp32 too though I didn't try that).
In general, fp16 seems to be a better default for inferencing, even if the model was trained with bf16. @OlivierDehaene WDYT about changing that in the code? It's not used on V100 etc anyhow.

@OlivierDehaene so as I said with float16 things seem to be very stable, but I did find one example which gives different results:
In greedy mode, max 10 tokens
The single input The capital city of England is produces the output  London. The capital city of Scotland is Edinburgh.
When combined in a batch of size 2 along with Here is an explanation of FlashAttention:, it produces the output  London.\n\nThe capital city of England is


boards: st: stm32h750 disco kit rd/wr the sdram2

Set the Mode Register definition of the SDRAM command Mode register to 0x230 when programming the CAS_LATENCY of the external memory mode.
That value hold by the <mode-register> property of the fmc-sdram node, represents the Mode register (MDR) bit-field to the  SRDAM Command Register (FMC_SDCMR)
The SDRAM_MODEREG_CAS_LATENCY which is bit [4:5] of the  is expected to be aligned with the  STM32_FMC_SDRAM_CAS_ bit field  of the st,sdram-control property.
The STM32_FMC_SDRAM_CAS_3 is configuring the SDRAM memory bank during the HAL_SDRAM_Init().
The  is sent to the SDRAM during the memory programming sequence, with  the FMC_SDRAM_CMD_LOAD_MODE command.
Note that a STM32_FMC_SDRAM_CAS_2 and <mode-register=0x220> are not valid for the stm32h750b_dk target board.
Fixes https://github.com/zephyrproject-rtos/zephyr/issues/75504

Running the  tests/drivers/memc/ram/  on the  stm32h750b_dk :
Running TESTSUITE test_ram
===================================================================
START - test_psram
 SKIP - test_psram in 0.001 seconds
===================================================================
START - test_ram0
 SKIP - test_ram0 in 0.001 seconds
===================================================================
START - test_sdram1
 SKIP - test_sdram1 in 0.001 seconds
===================================================================
START - test_sdram2
 PASS - test_sdram2 in 0.001 seconds
===================================================================
START - test_sram1
 PASS - test_sram1 in 0.001 seconds
===================================================================
START - test_sram2
 PASS - test_sram2 in 0.001 seconds
===================================================================
TESTSUITE test_ram succeeded

------ TESTSUITE SUMMARY START ------

SUITE PASS - 100.00% [test_ram]: pass = 3, fail = 0, skip = 3, total = 6 duration = 0.006 seconds
 - SKIP - [test_ram.test_psram] duration = 0.001 seconds
 - SKIP - [test_ram.test_ram0] duration = 0.001 seconds
 - SKIP - [test_ram.test_sdram1] duration = 0.001 seconds
 - PASS - [test_ram.test_sdram2] duration = 0.001 seconds
 - PASS - [test_ram.test_sram1] duration = 0.001 seconds
 - PASS - [test_ram.test_sram2] duration = 0.001 seconds

------ TESTSUITE SUMMARY END ------

===================================================================
PROJECT EXECUTION SUCCESSFUL

Note that boards/st/stm32f429i_disc1/stm32f429i_disc1.dts is probably wrong at the fmc-sdram node and should be
		mode-register = <0x230>;
...
		st,sdram-control = <...
					    STM32_FMC_SDRAM_CAS_3
					    ...>;

About the  boards/st/stm32f769i_disco/stm32f769i_disco.dts, the fmc-sdram properties  should probably have
		mode-register = <0x220>;
...
		st,sdram-control = <...
					    STM32_FMC_SDRAM_CAS_2
					    ...>;

--> keeping unchanged though, as no hardware available for testing

Hi @FRASTM,
I tried the code it passes but if I reset the device constantly it fails the tests.
I am attaching the test result
Test passed

Test failed

rebase on 67544a6d2df37d35ed326d7e9ea6e9197655def8
Add the tag memc to the stm32h750_dk board.yaml
change the STM32_FMC_SDRAM_RPIPE to pass on any target board

rebase on 67544a6 Add the tag memc to the stm32h750_dk board.yaml change the STM32_FMC_SDRAM_RPIPE to pass on any target board

Can you please help me how to add tags in boards.yaml

Add the tag memc to the stm32h750_dk board.yaml
change the STM32_FMC_SDRAM_RPIPE to pass on any target board

Could you please help me how to add tags?

rebase on 67544a6 Add the tag memc to the stm32h750_dk board.yaml change the STM32_FMC_SDRAM_RPIPE to pass on any target board

Can you please help me how to add tags in boards.yaml

This is just adding the corresponding line in the  supported: entry of the stm32h750b_dk.yaml so that a sample can select by depends_on:  in its testcase.yaml