Circuit drawers do not respect classical conditional ordering

Information

Qiskit Terra version: 0.16.0
Python version:
Operating system:

What is the current behavior?
Having gates conditioned on measurements performed earlier are moved before the measurements in the circuit drawing
eg
qr = QuantumRegister(3)
cr = ClassicalRegister(2)
qc = QuantumCircuit(qr,cr)
qc.reset(range(3))
qc.h(1)
qc.cx([1,0],[2,1])
qc.h(0)
qc.measure([0,1], [0,1])
qc.z(2).c_if(cr, 1)
qc.x(2).c_if(cr, 2)

                            ┌───┐┌─┐
q6_0: ─|0>──────────────■───┤ H ├┤M├───────
           ┌───┐      ┌─┴─┐ └┬─┬┘└╥┘
q6_1: ─|0>─┤ H ├──■───┤ X ├──┤M├──╫────────
           └───┘┌─┴─┐ ├───┤  └╥┘  ║  ┌───┐
q6_2: ─|0>──────┤ X ├─┤ Z ├───╫───╫──┤ X ├─
                └───┘ └─┬─┘   ║   ║  └─┬─┘
                     ┌──┴──┐  ║   ║ ┌──┴──┐
c9: 2/═══════════════╡ = 1 ╞══╩═══╩═╡ = 2 ╞
                     └─────┘  1   0 └─────┘

Steps to reproduce the problem
What is the expected behavior?
Suggested solutions

This is interesting. I believe the problem is in _get_layered_instructions which builds the list of layers for the drawers to use. There are apparently several problems here. Using simplified circuits, I get these different results. So I'm working on it.

@nonhermitian, I found the bug that was causing the inconsistency in the placement of the Z with condition in my circuits 1 and 3 above. I am now working on your original issue.
Given this circuit,
qr = QuantumRegister(3)
cr = ClassicalRegister(3)
qc = QuantumCircuit(qr,cr)
qc.h(range(2))
qc.measure(0, 0)
qc.measure(1, 1)
qc.z(2).c_if(cr, 4)
qc.draw('mpl')

I assume that since the bit that the Z is conditioned on is not affected by the measures, that the Z can shift to the left under the H gates.
But if we replace the Z line with qc.z(2).c_if(cr, 2), then the Z gate will have to be to the right of the qc.measure(1,1). If that's the way it should work then I can implement that in _get_layered_instruction.

Yes that is correct. You cannot be conditioned on a measurement value and displayed before that measurement occurs

Thanks.

Maybe an issue in the DAG topological order?

The circuit_to_dag call in _get_layered_instructions puts the nodes in the right order. The problem comes in the slide_from_left call. There are no checks for node.condition which means a node with condition behaves the same as one without.
My idea is to create a measure_map with an entry for each clbit. Then for each measure, the appropriate clbit entry would record the layer number of that measure. Then any subsequent nodes with condition on that clbit would only be allowed in positions following that measure's layer.
It's doable, but I'm open to a simpler solution if one exists.

I would also just make sure that a conditional is not moved if the user makes a mistake and puts it before a measurement; the drawing is faithful to the circuit instructions even if wrong.

I would also just make sure that a conditional is not moved if the user makes a mistake and puts it before a measurement; the drawing is faithful to the circuit instructions even if wrong.

Yes, that's how #5397 is implemented. It follows the DAG, so unless a measure is seen first on a particular register, it will not change where to put a subsequent conditional on that register.


Allow "FormAlertWithSubmitButton" to handle more complex buttons

Problem:
We are using FormAlertWithSubmitButton in a lot of refactors for "Pattern C: Form blocking". However, there are a variety of buttons used in App. In my refactor alone, I have buttons with icons, ButtonWithMenu, and MenuItem.

As stated here, we'd like the "offline" disabled version to mimic the original button as much as possible. And FormAlertWithSubmitButton only offers the generic Button component. So how can we use this component for more complex buttons.
Solution:
Lets allow FormAlertWithSubmitButton to either take components as a prop, or allow the component to wrap custom buttons.
I have an example/draft PR here: https://github.com/Expensify/App/pull/9680
Wrapping would look like this:
            <FormAlertWithSubmitButton>
                    {isOffline => (
                        <Button
                            text={item.text}
                            icon={item.icon}
                            onPress={item.onPress}
                            isDisabled={item.isDisabled || isOffline}
                            style={item.style}
                            iconStyles={item.iconStyles}
                            success={item.success}
                            shouldShowRightIcon={item.shouldShowRightIcon}
                            extraLarge
                        />
                    )}
                </FormAlertWithSubmitButton>

If people were curious, I originally add it as its own component but thought it may be more efficient to merge it with FormAlertWithSubmitButton.

Draft PR is out. Waiting on confirmation on what to do. Rory brings up a good point about whether it is strange that a button can also act as a wrapper: https://github.com/Expensify/App/pull/9680#issuecomment-1172788427

After discussing it with @tgolen @marcaaron @roryabraham , I updated this github's description as to the new plan.
We are going to go with a wrapper FormAlertWrapper. This wrapper will be used to add offline behavior and standardized error handling for more complex buttons that FormAlertWithSubmitButton cannot handle.


TableUtil.Sync will remove arrays from the original template

When using TableUtil.Sync, any empty arrays in the template data will override any arrays in the original template.
Reproduction
local function Sync(tbl, templateTbl) -- this function is coped from the TableUtil file

    assert(type(tbl) == "table", "First argument must be a table")
    assert(type(templateTbl) == "table", "Second argument must be a table")

    -- If 'tbl' has something 'templateTbl' doesn't, then remove it from 'tbl'
    -- If 'tbl' has something of a different type than 'templateTbl', copy from 'templateTbl'
    -- If 'templateTbl' has something 'tbl' doesn't, then add it to 'tbl'
    for k,v in pairs(tbl) do

        local vTemplate = templateTbl[k]

        -- Remove keys not within template:
        if (vTemplate == nil) then
            tbl[k] = nil

        -- Synchronize data types:
        elseif (type(v) ~= type(vTemplate)) then
            if (type(vTemplate) == "table") then
                tbl[k] = CopyTable(vTemplate)
            else
                tbl[k] = vTemplate
            end

        -- Synchronize sub-tables:
        elseif (type(v) == "table") then
            Sync(v, vTemplate)
        end

    end

    -- Add any missing keys:
    for k,vTemplate in pairs(templateTbl) do

        local v = tbl[k]

        if (v == nil) then
            if (type(vTemplate) == "table") then
                tbl[k] = CopyTable(vTemplate)
            else
                tbl[k] = vTemplate
            end
        end

    end

end

local t1 = { Stamps = {"Level-1"} }
local t2 = { Stamps = {} }
print(t1) -- notice how t1 has Level-1 in it here
Sync(t1, t2)
print(t1) -- and it now no longer has Level-1

This is intended behavior - from the docs "If the table has something that the template does not have, it gets removed."

Any workarounds if this is apparently intended?

@Dog2puppy Are you maybe just trying to do an 'extend'? Essentially you just append one table to the end of another (Which is something I want to add to this library.) If you want a shallow copy version for arrays, this can be done with table.move:
-- Add 't2' to the end of 't1':
local function Extend(t1, t2)
    table.move(t2, 1, #t2, #t1 + 1, t1)
end

For a deep copy, or for key-pair dictionaries, you'd just have to a recursive scan and basically do a one-way sync.

Closing this for now

Closing this for now


Server dependency is being included in the frontend bundle

Hey all,  first of all thank you for the interesting demo.
It seems that the demo is quite not fulfilling one of the main purposes of RSC, which is to keep server dependency in the server.
Example:
// ./components/Time.server.js

import moment from "moment";

const Time = () => {
  return <p>{moment().format("DD/MM/yyyy H:mm")}</p>;
};

export default Time;

// ./pages/index.js

import { Suspense } from "react";
import Time from "../components/Time.server";

export default function Index() {
  return (
    <Suspense fallback={"Loading..."}>
      <Time />
    </Suspense>
  );
}

The moment dependency is being included into the client bundle, checked the chunks into .next/static folder and also with @next/bundle-analyzer:

I'm seeing this as well.
Maybe you have some insights Vercel team? 😄 @huozhi @shuding @leerob

Hey there! We do not recommend profiling the repository right now, as there will be bugs, and we're switching the architecture as we move towards the work defined in the Layouts RFC, which uses Server Components by default.


TypeScript language service dies after 5 times updating 'typescript.npm' to the wrong value

Testing #27695

VSCode Version: 1.13
OS Version: Windows

Steps to Reproduce:

Follow testing steps as in #27695.
Try to set typescript.npm to different values that do not exist.
Observe how the 'could not install typings' notification appears. After 5th time of setting it to the wrong value the following notification appears:

"The TypeScript language service died 5 times right after it got started. The service will not be restarted."

However, if I set it in to the correct value on the sixth time, I successfully get typings for JQuery.
Repeating the steps above again leads to "The TypeScript language service died 5 times right after it got started. The service will not be restarted." second time (without restarting VS Code).

As a user I would be happy not to receive the message about the dead service in this case (as it still restarts after 6th time?).

Reproing this on 1.13, after I change typescript.npm, the "could not install typings" message appears immediately. On 1.14, there is a delay of 5-7s. Is that expected?

Yes, I believe we now correctly restart the TS server in 1.14 which is what causes the delay


[PE-D] Unable to create groups with alphanumeric names

UG gives an example of creating groups with alphanumeric names (eg: group 1 /create t:Students), but product does not accept alphanumeric names for groups

Labels: type.FeatureFlaw severity.Low
original: mukundrs/ped#1

Not closing bc this hgihlights the documentation error, which is not highlighted in duplicate #156


Addition of new domain called as Cyber Security

Project-Guidance! 🎊🎈
Welcome! 🎉
Thank you for visiting our repository! We're excited to have you here. If you find this project useful, please consider giving it a star! ⭐
🎉 Have you reviewed the Contributing Guidelines? 🤔 (Required)

[x] YES
[ ] NO

📝 Description

I have added anew folder for Cyber Security and added one project each for basic,medium and advanced as of now i will add more project once you review it and i still have to update the website part as well once you review it
🔧 Fixes #issue_no #1533

🏷 Initiative Participation (Required)
This pull request is associated with the following initiative. Please choose the one you are contributing to:

[ ] 🌸 GSSoC (Girl Script Summer of Code)
[x] 🌼 GSSoC 2024 Extd.
[ ] 🍂 Hacktoberfest 2024
[ ] ❄ Script Winter of Code (SWoC)
[x] ⛄ Winter of Blockchain (WoB)
[ ] 🙋♂ Personal
[ ] 📌 Other (please specify): _______________

Hey there I just added a new README.md file for Cyber Security domain and also updated index html to get a new domain on website page, i have updated a new image for the cyber security domain and if you review it i can add more projects in this domain Thank you

OK I have only given Basic Project @Kushal997-das

hi @Kushal997-das  as this is my first time contributing in open source due to lack of experience i had made these mistakes but now i have elaborated the readme file in this commit kindly verify


SecureString type error attempting to install SharePoint 2010

Just in case anyone else is unfortunate enough to still need AutoSPInstaller and AutoSPSourceBuilder to work with SharePoint 2010 (I know that SharePoint 2010 is long unsupported, but your site still says AutoSPInstaller works with SharePoint 2010.  I was using the latest version – checked in on the 1st Aug 2018.
When I attempted to install SharePoint 2010 on Windows 2008 R2, there was a type error related to secure string. (The syntax used works in Powershell 3, but SharePoint 2010 Management Shell requires Powershell 2)
Exception             : System.Management.Automation.RuntimeException: Unable to find type [SecureString]: make sure that the assembly
containing this type is loaded.
It seems to relate to the argument to the $secPhrase argument to ‘CreateOfJoinFarm’ (line 1739 on AutoSPInstallerModule.psm1).  I changed from
Function CreateOrJoinFarm ([xml]$xmlInput, [SecureString]$secPhrase, [System.Management.Automation.PsCredential]$farmCredential)
To
Function CreateOrJoinFarm ([xml]$xmlInput, [Security.SecureString]$secPhrase, [System.Management.Automation.PsCredential]$farmCredential)
and it worked fine.

I would love to know how in the world you found that.  Been digging around in the code for an hour before I found this post.  Thank you so much for sharing this.
Working on a migration project that has time-warped me back to SP 2010.  The Joy!


support --retranslate

If a file in epub is not translated well, it is supported to re-translate part separately
--retranslate "$translated_filepath" "file_name_in_epub" "start_str" "end_str"(optional)
Retranslate from start_str to end_str's tag:
python3 "make_book.py" --book_name "test_books/animal_farm.epub" --retranslate 'test_books/animal_farm_bilingual.epub' 'index_split_002.html' 'in spite of the present book shortage which' 'This kind of thing is not a good symptom. Obviously'
Retranslate start_str's tag:
python3 "make_book.py" --book_name "test_books/animal_farm.epub" --retranslate 'test_books/animal_farm_bilingual.epub' 'index_split_002.html' 'in spite of the present book shortage which'
Retranslate start_str's tag, auto find filename:
python3 "make_book.py" --book_name "test_books/animal_farm.epub" --retranslate 'test_books/animal_farm_bilingual.epub' '' 'in spite of the present book shortage which'
warning:
It deletes from the tag at start_str of the finished book to the next tag at end_str, and then re-translates. So make sure that the next tag of end_str is the translated content. (If end_str is not provided, the next label of start_str is guaranteed to be the translated content). There can be missing translations between the two strings, but if end_str is not translated, there will be problems

Because some tags are not translated and the numbers are inaccurate, I am going to use strings to represent the start and end

will take a look later

If someone wants to retranslate this paragraph after zathura selection, press the shortcut key, here is an example,
make_book_fix
#!/usr/bin/env bash

cleanContent(){
	tempContent=$1
	tempContent=$(echo "$tempContent" | tr '\n' ' ' | tr -s ' ')
	tempContent=$(echo $tempContent | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
	echo "$tempContent"
}

if [ $# -eq 0 ]; then
	echo "Usage: make_book_mult filepath translated_filepath fixname_in_epub startstr endstr"
	return
fi

old_dir="$PWD"
filepath=$(realpath "$1")
translated_filepath=$(realpath "$2")

dir="$HOME/src/bilingual_book_maker"
cd "$dir" || return

taglist="p,li,h1,h2,h3,h4,h5,h6"
style="color: #4a4a4a; font-style: normal; background-color: #f7f7f7; padding: 5px; margin: 10px 0; border-radius: 5px;text-indent: 0em;"

filaname_in_epub=$3
startstr=$4
endstr=$5

[[ "$startstr" == "" ]] && startstr=$(xclip -selection primary -o)
[[ "$startstr" == "" ]] && startstr=$(xclip -selection clipboard -o)
startstr=$(cleanContent "$startstr")

echo "startstr: ${startstr}"

time python3 "make_book.py" --book_name "$filepath" --openai_key "${openai_apikey_book}" --language "zh-hans" --accumulated_num 1400 --translate-tags "$taglist" --translation_style "$style"  --retranslate "$translated_filepath" "$filaname_in_epub" "$startstr" "$endstr"

cd "$old_dir"

zathura_fix_bilingual
#!/usr/bin/env bash

filename=$1
ori_filename=$(echo "$filename" | sed 's/_bilingual//')

notify-send "fix..."

echo "-------------------------------" >> $HOME/.cache/bilingual.log

make_book_fix "$ori_filename" "$filename" '' '' &>> $HOME/.cache/bilingual.log

zathurarc
map <Space> exec "zathura_fix_bilingual '$FILE'"

@hleft thanks
will take a look tomorrow, a bit tired today very sorry for that.

@yihong0618 It's okay, everyone needs a break

How is today? I have some other fixes that can be commit, but I want to wait for this pr..

@hleft after this PR merge please hold to add new feature, we need some refactor

@yihong0618  okay, now there are only commits about fixing bugs


Options are split by comma, so cannot contain one

Looking at the code here https://github.com/zeit/pkg/blob/767c46ffdf437a1fb7907811d69c6d979e53367d/lib/index.js#L331, it's clear that multiple options may be passed, comma separated. But if any option would actually contain a comma, it all falls apart.
May I suggest as an alternative, the ability to do this:
pkg --option b=c --option a=b

This way splitting would no longer be needed and there would no longer be any special characters to worry about. I don't mind making a PR for this.

Update:
it seems that replacing that line with this does the trick:
const bakes = Array.isArray(argv.options) ? argv.options : (argv.options || '').split(',');


Added primary_email_address to the author mapping code we run when syncing posts

Added primary_email_address to the author mapping code we run when syncing posts so that this information is accessible via $passle_post authors property for each author

Closed as the mapping of this field is not needed at the point of getting the post data from the API but at the point of filling in the post authors from the WP database - that already does it if the authors are synced.
We need to make that part of the code look for unsynced authors and trigger a sync for them most probably.


perf: check for headers before generating rows

Alaska Airlines Pull Request
Type of change:
Please delete options that are not relevant.

[ ] New capability
[x] Revision of an existing capability
[ ] Infrastructure change (automation, etc.)
[ ] Other (please elaborate)

Checklist:

[x] My update follows the CONTRIBUTING guidelines of this project
[x] I have performed a self-review of my own update

By submitting this Pull Request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Pull Requests will be evaluated by their quality of update and whether it is consistent with the goals and values of this project. Any submission is to be considered a conversation between the submitter and the maintainers of this project and may require changes to your submission.
Thank you for your submission!
-- Auro Design System Team
Summary by Sourcery
Enhancements:

Add a check to ensure 'componentData' and 'columnHeaders' are present before generating table rows.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Access/link to the publications

In the publications page, in addition to the titles and references of the publications, it would be nice to have a direct link to the papers or presentations themselves.
@gautierbureau if I remember well, we didn't really want to have pdf stored somewhere on the websites. Which option seems possible?
One possibility would be to make a link to my researchgate profile where the pdfs are uploaded but if any better option, just let me know.

One option is to create a tag, upload the pdf as assets and use the direct link to those assets

One option is to create a tag, upload the pdf as assets and use the direct link to those assets

Finally, I chose to just add a link to the Dynawo project page on researchgate. It seems to be enough in my opinion at the moment.


Added Support for optionExclusive Extension in Popup

IMPORTANT: All PRs must be linked to an issue (except for extremely trivial and straightforward changes).
Fixes #2436
Description
Add optionExclusive extension support for answerOption in Popup for more than 10 items.
Alternative(s) considered
Have you considered any alternatives? And if so, why have you chosen the approach in this PR?
Type
Choose one: (Bug fix | Feature)
Screenshots (if applicable)

Checklist

[x] I have read and acknowledged the Code of conduct.
[x] I have read the Contributing page.
[x] I have signed the Google Individual CLA, or I am covered by my company's Corporate CLA.
[x] I have discussed my proposed solution with code owners in the linked issue(s) and we have agreed upon the general approach.
[x] I have run ./gradlew spotlessApply and ./gradlew spotlessCheck to check my code follows the style guide of this project.
[x] I have run ./gradlew check and ./gradlew connectedCheck to test my changes locally.
[x] I have built and run the demo app(s) to verify my change fixes the issue and/or does not break the demo app(s).

Hi @MJ1998,
I have added the test cases to verify the changes. Thanks

Can you please UTs to handle the two conditions described below:

What happens if there are more than one option exclusive answer options eg: "No Problem", "Not Valid"
What happens if there are "Other" rows already added and you click on option exclusive answer? eg: Open choice question with other options added.

Hi @joiskash,
I have added the mentioned test cases. Please check. Thanks

Hi @jingtang10,
Could you please check now?

HI @jingtang10,
Do I need to do anything from my side?

Hi @jingtang10,
Could you please merge this PR? It passes all the requirements. Thanks


List of possible editors that can easily be configured with npm

For the large-text attachment, I suggest to use http://lab.lepture.com/editor/ https://github.com/lepture/editor for the markdown. Thats easy and compatible to the markdown used here in github.
Or maybe https://github.com/jbt/markdown-editor ? Or, if possible, let the user choose which editor he wants to use.

Tracking for #388

What is the goal of this issue? This question is already covered in two other issues. Please show us some code instead of opening tons of issues. Relevant issues: https://github.com/loklak/loklak_webclient/issues/97 and https://github.com/loklak/loklak_webclient/issues/388 Please follow up there.


Minecart won't rebound

Minecarts won't "bounce" off walls and head the other direction on powered rails, instead keeping their momentum and getting stuck. From what I've tested, this isn't a problem with any rule in particular, but is tied to the carpet-fixes mod.

.

Have you tried without carpet-fixes?

What minecraft version, and what carpet-fixes version

I've tried disabling everything, and it only fixed when I moved the file out of the mods menu (unless some settings are enabled by default that I don't know about). It's on 1.18.1, and the file is named fabric-carpet-1.18.1-1.4.57+v220119.jar

Ehh fabric-carpet is not the file I need to know the version of. I need the version of carpet-fixes

I'm pretty sure it was 1.4.0

Ok well then that's really outdated. Try using a more recent version like 1.7.2
If you still get the issue, then tell me

I've just tried it on 1.7.2, and the bug is still there when I disable all of the rules

Alright ill look into it

I'm not able to replicate this issue. Can you load up the latest version v1.8.2
https://github.com/fxmorin/carpet-fixes/releases
& see if you can recreate it there.


Fixed image tables so they don't scroll horizontally

Docs Build status updates of commit d5ed8d0:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

mixed-reality-docs/mrtk-getting-started.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit bc937d1:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

mixed-reality-docs/mrtk-getting-started.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit b3fc409:
:clock10: Pending: waiting for processors (13 builds ahead of you)
:warning: Docs Build is busy, currently there are 13 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit b3fc409:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

mixed-reality-docs/mrtk-getting-started.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit eb84141:
:clock10: Pending: waiting for processors (17 builds ahead of you)
:warning: Docs Build is busy, currently there are 17 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit eb84141:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

mixed-reality-docs/mrtk-getting-started.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 2d51962:
:clock10: Pending: waiting for processors (18 builds ahead of you)
:warning: Docs Build is busy, currently there are 18 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit 2d51962:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

mixed-reality-docs/mrtk-getting-started.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 6271b2a:
:clock10: Pending: waiting for processors (20 builds ahead of you)
:warning: Docs Build is busy, currently there are 20 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit 6271b2a:
:warning: Validation status: warnings

File
Status
Preview URL
Details

mixed-reality-docs/mrtk-getting-started.md
:warning:Warning
View
Details

mixed-reality-docs/mrtk-getting-started.md

Line 0: [Warning] Invalid file link:(~/images/MRTK_StandardShader.jpg).
Line 0: [Warning] Invalid file link:(~/images/MRTK_UX_Slider_Main.jpg).
Line 0: [Warning] Invalid file link:(~/images/MRTK_HandJointChaser_Main.jpg).

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Nevermind, they were in a different PR


bindGlobal is not a function

I installed Mousetrap through npm and used it in my react code as follows:
import * as Mousetrap from 'mousetrap';
.
.
.
componentDidMount () {       Mousetrap.bindGlobal('enter', this.submitSearch);
However, this returns the following issue:
Uncaught TypeError: mousetrap__WEBPACK_IMPORTED_MODULE_13__.bindGlobal is not a function
Is there a way around this?

You need to use mousetrap-global-bind since it is a plugin.

Since the bindGlobal code is included in the normal NPM download, shouldn't there be a way to do it without going to the other NPM package?

@browner12 You can import it, like this:
import 'mousetrap/plugins/global-bind/mousetrap-global-bind';

@TurbulentCupcake Please close this issue as completed.


Add the support for aten::mul operator.

Add the support for aten::mul operator.
Signed-off-by: Ningxin<EMAIL_ADDRESS>

Issue: https://github.com/microsoft/nni/issues/2901


Bug fix deleting prefabs

Whats new?

fixed bug on issue https://github.com/OnionGalaxy/LittleOrionEngine/issues/44

fixed bug on issue https://github.com/OnionGalaxy/LittleOrionEngine/issues/45

Issue fixed on https://github.com/OnionGalaxy/LittleOrionEngine/pull/47

Closing this because its not more needed


Non-AFD fallback?

Would it be in scope for mio to have a fallback like libuv does for non-MSAFD sockets on Windows?
(I ask because we are trying to deploy some software that uses mio 0.7 and a very significant number of users are hitting errors in registration, presumably due to this, so we're going to need a fallback at some layer no matter what. Mio 0.6 actually does work for these users, but it has other issues.)

I don't use Windows... so I don't really have an opinion on this.
/cc @carllerche @kleimkuhler @piscisaureus

I think extracting the bsp socket with SIO_BASE_HANDLE should be enough. It works without issue in wepoll.
Maybe there's a bug in the current mio implementation where accidentally the layered socket is used instead of the base handle.

a very significant number of users are hitting errors in registration, presumably due to this

I find that hard to believe. I have barely ever seen a legitimate LSP in the wild, it seems unlikely that "a very large number" of users use them all of a sudden.
But to be sure, have them share the output of netsh winsock show catalog.

@goffrie from your patch it looks like you are dealing with get_base_socket() failures.
It should not fail unless you're on windows XP or older. I suspect there's a subtle bug in the WSAIoctl call.
Were you testing with a 32 bit version of windows by any chance? Maybe this size_of::<RawSocket>() as u32 should be size_of::<usize>() as u32.

I was testing on 32-bit Windows 7. Things work fine on that OS and break
with monitoring software installed.
Note that the size of RawSocket is the same as usize (it's defined as u32
on 32bit, and u64 on 64bit.)
On Thu., May 7, 2020, 05:06 Bert Belder<EMAIL_ADDRESS>wrote:

@goffrie https://github.com/goffrie from your patch it looks like you
are dealing with get_base_socket() failures.
It should not fail unless you're on windows XP or older. I suspect there's
a subtle bug in the WSAIoctl call.
Were you testing with a 32 bit version of windows by any chance? Maybe
this
https://github.com/tokio-rs/mio/blob/a4f1151a85eca6c5a8c8d7a99c19111edccfb2f3/src/sys/windows/selector.rs#L637 size_of::()
as u32 should be size_of::() as u32.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tokio-rs/mio/issues/1314#issuecomment-625214128, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJO2TW3AFRORE5GDZVMZPDRQKP3NANCNFSM4MZFI4HQ
.

Here is the output of netsh winsock show catalog: https://gist.github.com/goffrie/bf213c7fa7906b4ef3ddfcc309119919

dealing with get_base_socket() failures.

I agree that this doesn't actually make that much sense. Still, it's where I see errors coming from. I see that libuv ignores errors here entirely, and it uses an explicit provider whitelist.
Also I see that you actually wrote the libuv impl :smile:

Libuv needed to support XP at the time, that's the whole reason the fallback is there. And there are some bugs in the whitelisting logic (it's too strict) that never got fixed.
I'm serious when I say SIO_BASE_HANDLE is enough - it really should not fail. To double check, maybe run the wepoll tests on your windows VM. I test it on CI with 2 different LSPs and it works fine. Microsoft docs (https://docs.microsoft.com/en-us/windows/win32/winsock/winsock-ioctls) say the same. So find thay bug in get_base_socket() and forget about that very painful fallback mode which will be nearly impossible to get right.

Well.. I can only say that it does fail :P I also tried using the implementation here https://github.com/python-trio/trio/blob/master/trio/_core/_io_windows.py#L183 and it also gives the same error, which is
OSError: [WinError 10014] The system detected an invalid pointer address in attempting to use a pointer argument in a call

Interestingly, getting SIO_BSP_HANDLE_SELECT does work, though.

To double check, maybe run the wepoll tests on your windows VM.

Ran them and they all fail (except test-reflock and test-tree which I assume are not testing the actual socket stuff), EPOLL_CTL_ADD fails.

@goffrie
Tried it myself, and I can confirm that SIO_BASE_HANDLE fails with EFAULT.
That's obviously a bug on qustodio's end, they shouldn't be intercepting the IOCTL at all.
However, when I use SIO_BSP_HANDLE I do get a different socket back, and everything works like clockwork.
Maybe we add a fallback to get_base_socket() to try that when SIO_BASE_HANDLE() fails?

SIO_BSP_HANDLE_POLL also works.
SIO_BSP_HANDLE_SELECT indeed does not (it returns the input socket).

cc @qustodio @irikuo https://github.com/tokio-rs/mio/issues/1314#issuecomment-625812392

Also cc @navasdavid @kokart -- https://github.com/tokio-rs/mio/issues/1314#issuecomment-625812392

Unfortunately qustodio is far from the only software we detected that
causes the error in get_base_socket :/
If we can get the AFD stuff working in more cases though, that still sounds
good.
On Fri., May 8, 2020, 07:04 Bert Belder<EMAIL_ADDRESS>wrote:

Also cc @navasdavid https://github.com/navasdavid @kokart
https://github.com/kokart -- #1314 (comment)
https://github.com/tokio-rs/mio/issues/1314#issuecomment-625812392
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tokio-rs/mio/issues/1314#issuecomment-625831477, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJO2TWV6NUMXTHDQRKMHJTRQQGNVANCNFSM4MZFI4HQ
.

Unfortunately qustodio is far from the only software we detected that causes the error in get_base_socket :/

So what are the other ones?

I did some detailed debugging of qproxy64.dll (the DLL that implements the qustodio LSP).
They actually explicitly handle SIO_BASE_HANDLE, and they seem to intentionally break it.
The handler was helpful enough to call some sort of log function with the message "WSPIoctl: Disabling SIO_BASE_HANDLE".
So long story short: qustodio wants to break the network stack; we should let them.

Well... that's interesting! Thank you for the investigation :)
Given that, I think I don't think there's anything to do in mio then, but for us we're probably still going to have to have the workaround for the time being :(

@goffrie

Given that, I think I don't think there's anything to do in mio then, but for us we're probably still going to have to have the workaround for the time being :(

I'm cool with adding a workaround that falls back to SIO_BSP_HANDLE_POLL if SIO_BASE_HANDLE fails, because it'd be small and contained. If qustodio catches up and starts breaking that too, the onus will be on them to explain why they break dropbox instead of the other way around.
The #1315 workaround has a too high maintainance cost + bug risk IMO.
Another option would be to explicitly sidestep LSPs when creating sockets. This is pretty trivial, and I believe "modern" aka UWP apps do this by default anyway. Although I would not make that the default in mio, it could be added as an option, or your software could do it by itself.

I think we probably can leave the issue open until we have a solution / work around.

Another option would be to explicitly sidestep LSPs when creating sockets. This is pretty trivial, and I believe "modern" aka UWP apps do this by default anyway. Although I would not make that the default in mio, it could be added as an option, or your software could do it by itself.

This sounds like a good option to me. How would one do that?

This sounds like a good option to me. How would one do that?

https://docs.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsasocketw
You need to explicitly set the lpProtocolInfo field to one that matches the MSAFD provider.
To find the appropriate lpProtocolInfo struct, use WSAEnumProtocols. You've seen the code, it's how the libuv whitelist works.

JFYI some info from Qustodio's side. This issue comes from a third-party LSP driver (the infamous Komodia) that we are in the process of deprecating (at the moment it's being used in Windows 7 and below).
As @piscisaureus found out, it is indeed blocking use of SIO_BASE_HANDLE with the intention of disabling LSP bypass.
I know for a fact Komodia is no longer maintained by its author, so the workaround should be ok.

@spaque Thanks for the clarification.


Brand icon area too large in third header example

Prerequisites

[X] I have searched for duplicate or closed issues
[X] I have validated any HTML to avoid common problems
[X] I have read the contributing guidelines

Describe the issue
The brand icon area is too large in the third header example from 769px breakpoint:

The visible focus outline is very large when one's using the keyboard to navigate.
The clickable area where one's using the mouse to navigate is very large. One can click on it without even noticing.

Reduced test cases
Can be seen directly in the documentation: https://getbootstrap.com/docs/5.3/examples/headers/.
What operating system(s) are you seeing the problem on?
Windows, macOS, Android, iOS, Linux
What browser(s) are you seeing the problem on?
Chrome, Safari, Firefox, Microsoft Edge, Opera
What version of Bootstrap are you using?
v5.2

Hi, I have a possible solution for this issue. Will I get assigned to this or should I open a PR directly?

Hey @xarcode. We don't assign issues in this repo so you can create a PR directly. Thanks :)


Translate stringlate itself

This issue will be used to notify translators of the app. Please subscribe to this issue if you want to start translating or already translated something and want to keep the strings updated for some language.

List of notified translation contributors:

German - @gsantner
Spanish - @Lonami
Russian - @Abrasha
Ukrainian - @Abrasha

Hi! Please let me know if you need any translation to Russian or Ukrainian language.

@Abrasha accuman just closed one for Russian through #126, but nobody else has translated Stringlate into Ukrainian yet, so feel free to do it!

Hi @Lonami! Awesome. I can take care of it. Should we create separate ticket for it? If so, you can assign it to me immediately :)

Sure, check out #146.

Hello guys, I'd like to participate in Russian translation (I also made Stringlate material icon for my own theme, I can share it if you 'd like me to).

Ping me if you need verification of Russian or Ukrainian.

any help is welcome :) 👍


Add VOC grayscale masks test and documentation

Motivation and context

Added explanations for importing 1-channel segmentation masks.
How has this been tested?

Manual test
Checklist

[x] I submit my changes into the develop branch
[ ] I have added description of my changes into CHANGELOG file
[x] I have updated the documentation accordingly
[x] I have added tests to cover my changes
[ ] I have linked related issues (read github docs)
[ ] I have increased versions of npm packages if it is necessary (cvat-canvas,
cvat-core, cvat-data and cvat-ui)

License

[x] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.
[ ] I have updated the license header for each file (see an example below)

# Copyright (C) 2020 Intel Corporation
#
# SPDX-License-Identifier: MIT

Pull Request Test Coverage Report for Build 5226

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 65.643%

Totals

Change from base Build 5219:
0.02%

Covered Lines:
10847

Relevant Lines:
16130

💛  - Coveralls


Fix task deletion bug #130

Minor change in session module's remove_task() method.

So the test I promised. Put this to the rocketry\test\app\test_app.py.
def test_delete_task():
    set_logging_defaults()

    app = Rocketry(config={'task_execution': 'main'})

    @app.task()
    def task_1():
        ...
    @app.task(name="task 2")
    def task_2():
        ...

    assert len(app.session.tasks) == 2

    app.session.remove_task(task_1)
    assert len(app.session.tasks) == 1

    app.session.remove_task("task 2")
    assert len(app.session.tasks) == 0

And actually, I realized this fix is not enough though as if someone passes the task function it will still fail.
But this should fix it:
    def remove_task(self, task: Union['Task', str]):
        from rocketry.core.task import Task
        if not isinstance(task, Task):
            task = self[task]
        self.tasks.remove(task)

There is a risk of circular imports so not sure if Task can be imported where the other imports are.

I added the test case and modified the remove_task() method. Also, I didn't face any issues related to circular imports. Here's a quick snap of test case results.

Ye, looks good! Moreover, those warnings are most likely just that you are missing some pytest plugins. The CI will fail if warnings are raised there.
I'll try to merge this today or latest tomorrow. Thanks for seeing the effort to fix this!

Ye, Thanks @Miksus for helping me out. Also, I'll install the missing pytest plugins.


Badges

and update readme urls.
will need @ahwillia to authorize the code coverage tools for the badges to work.

@JeffFessler -- is this a webhook or something I need to setup. I'm happy to do it if it is just clicking a few buttons.

Coveralls looks enabled... codecov.io is giving me an access token that I'm not sure what to do with... Screenshotting the top of that page below

i've put in an innocuous PR (docstrings) that hopefully will trigger the codecov runs and then we'll see if it is working.  thanks!


Cannot import more than 1 SVG from library, silently hangs indefinitely

Im working with an NX monorepo. new Vite app. the important part as follows
    svgr({
      svgrOptions: {
        ref: true,
        typescript: true,
        exportType: "named",
      },
      esbuildOptions: {
        loader: "tsx",
      },
      include: "**/*.svg",
    }),

i have a library that is consumed by said app. if there is just ONE svg being exported, it'll render that svg to the screen. if there is suddenly multiple exports as follows
export { ReactComponent as Alert } from "./alert.svg";
export { ReactComponent as Check } from "./check.svg";

and i STILL only import one...
import { SomeIcon } from "@company/test-lib";
import * as ReactDOM from "react-dom/client";

ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render(
  <div>
    <SomeIcon />
  </div>,
);

it hangs indefinitely. no errors. no crashes. no nothing. just keeps trying to load up. seriously wouldn't mind some advice on this its driving me insane.
EDIT:
for some added context, in the browser network tab, i can see that it stays in a permanent pending state trying to fetch the svgs....

Using your config, I also get the same thing on the 3rd import of an image.


Implement initial support for siren entity

Basic  implementation of siren entity.
Not working yet, for unknown reasons, the entity doesn't seems to be added to hass.

Siren seems to be initialized:
2023-02-05 13:07:20.766 DEBUG (MainThread) [custom_components.tapo_control] Setting up sirens
2023-02-05 13:07:20.766 DEBUG (MainThread) [custom_components.tapo_control] Found cached capability getAlarm, creating TapoSiren
2023-02-05 13:07:20.766 DEBUG (MainThread) [custom_components.tapo_control] Tapo Siren - init - start
2023-02-05 13:07:20.766 DEBUG (MainThread) [custom_components.tapo_control] Tapo Siren - init - end
2023-02-05 13:07:20.766 DEBUG (MainThread) [custom_components.tapo_control] Adding siren entity...

but in later update stage doesn't update.
2023-02-05 13:08:00.040 DEBUG (MainThread) [custom_components.tapo_control] Updating entity...
2023-02-05 13:08:00.040 DEBUG (MainThread) [custom_components.tapo_control] <Entity Despacho Indicator LED: off>
/* Other entities appear here but not the siren */

Full log: https://gist.github.com/ldotlopez/9aca5fabe6c8386ab1621f1802b0d6fb

async_add_entities takes an array, not an object. Modified code & made it work for child devices (battery cameras through hub)
async def async_setup_entry(
    hass: HomeAssistant,
    config_entry: ConfigEntry,
    async_add_entities: AddEntitiesCallback,
) -> None:
    LOGGER.debug("Setting up sirens")
    entry: dict = hass.data[DOMAIN][config_entry.entry_id]

    async def setupEntities(entry):
        sirens = []
        tapoSiren = await check_and_create(
            entry, hass, TapoSiren, "getAlarm", config_entry
        )
        if tapoSiren:
            LOGGER.debug("Adding TapoSirenEntity...")
            sirens.append(tapoSiren)

        return sirens

    sirens = await setupEntities(entry)
    for childDevice in entry["childDevices"]:
        sirens.extend(await setupEntities(childDevice))

    async_add_entities(sirens)

Thanks, I can see the siren now.
I can work from here.

I just pushed latest changes.
This PR adds siren entity for cameras with duration support.
Considere this PR done. I give up on adding support for (pseudo)tones like light and/or sound since I didn't figure out how (if it's possible) to pass options in the manual_msg_alarm method

Thank you! This will be included in release 5.


The licence badge has to be in SVG not PNG

To be able to make this https://github.com/sindresorhus/awesome/pull/895 accept we need to change the badge format to SVG.
How are we supposed to make a svg of the licence batch if it's a link ? https://github.com/awesome-spark/awesome-spark/blob/master/README.md#license

This work (Awesome Spark, by https://github.com/awesome-spark/awesome-spark), identified by Maciej Szymkiewicz, is free of known copyright restrictions.

Apache Spark, Spark, Apache, and the Spark logo are trademarks of
The Apache Software Foundation. This compilation is not endorsed by The Apache Software Foundation.


Label different

Should be: Add XML Request

Deployed a new feature, please have a look @ue71603
The popup has 2 sections now - in the first you can paste custom TripRequest XML and that will be used to do a TripRequest call. Also(as before) you can paste custom TripRequest Response and visualize it immediately.


Replacing Enzyme with react-testing-library

React Boilerplate
Started as POC, see previous pull request, this PR is updated to version 3.7 of rbp.
In this PR I also adapted the testing documentation.
I chose not to add setup and teardown options to the global test config, see. Whilst it simplifies things I like things to be explicit.
As I, at a minimum, use a snapshot test most of the time and find myself copy/pasting this test a lot, I added this test to the generator templates. In the spirit of rbp this test is wrapped in the skip method so one has to deliberately 'unskip' it.
Any feedback will be appreciated :-)

Daamn @Mensae you didn't waste any time!! Awesome job! Will review this Sunday at the latest.


Added Profiles to support scala 2.11 and added new configuration options

I added new profiles to support scala 2.11 in the core pom.xml and added some more options for mongodb connections for those of us with less than perfect networks.

Why you want scala 2.11 if spark works with scala 2.10?

Spark also can be compiled with 2.11, as it is in the environment where I'm using it full time. Hence the change and pull request.

Thank you very much!


Cannot use allure.createStep with wdio-allure-reporter with cucumber framework?

When using wdio-allure-reporter with cucumber as framework
I'm not able to use allure.createStep like I could use with mocha-allure-reporter.
Also when I have defined a scenario in feature file and it has some Given-When-Then, it considers each Given-When-Then as a test case and scenario as a test suite in the html report.
Please check attached feature file and report screenshot
feature.feature.txt
Any help here @christian-bromann @just-boris

@sumeetp4 it will be available after https://github.com/webdriverio/wdio-allure-reporter/pull/96
stay tuned

Sure @BorisOsipov ,looking forward to use it. Thanks :)


Rolling average

Re-implement the rolling average method from HEXTOF-processor, where the rows are rolled on the time stamp axis and not per row.

duplicate of #229. closing


Model inference/embeddings enhancements

Resolves https://github.com/voxel51/fiftyone/issues/1442.
Change log

Resolves https://github.com/voxel51/fiftyone/issues/1442 by ensuring that TorchImageDataset, TorchImageClassificationDataset, and TorchImagePatchesDataset use numpy data structures that can be shared between processes rather than large in-memory Python lists that will be wastefully copied between workers
Adds samples.select_fields() to the apply_model(), compute_embeddings(), and compute_patch_embeddings() routines. This can significantly improve DB I/O performance when applying models to datasets with many existing fields (loading existing fields is not needed to run inference)
Updates the errors/warnings in apply_model(), compute_embeddings(), and compute_patch_embeddings() to explicitly include the IDs of the offending samples for easier debugging

Mea culpa I haven't gotten around to creating proper unit tests for expensive things like applying models, so I tested this by just running this code from last time I worked on models...
Test graceful failures when applying models
import fiftyone as fo
import fiftyone.zoo as foz

dataset = foz.load_zoo_dataset("quickstart")
dataset = dataset.select_fields("ground_truth").limit(3).clone()

dataset.add_samples(
    [
        fo.Sample(filepath="non-existent1.png"),
        fo.Sample(filepath="non-existent2.png"),
        fo.Sample(filepath="non-existent3.png"),
        fo.Sample(filepath="non-existent4.png"),
    ]
)

# Inference

# torch, data loader single batches
model = foz.load_zoo_model("inception-v3-imagenet-torch")
dataset.apply_model(model, "predictions1")
print(dataset.values("predictions1"))

# torch, data loader batches
model = foz.load_zoo_model("inception-v3-imagenet-torch")
dataset.apply_model(model, "predictions2", batch_size=2)
print(dataset.values("predictions2"))

# TF, single inference
model = foz.load_zoo_model("ssd-mobilenet-v1-coco-tf")
dataset.apply_model(model, "predictions3")
print(dataset.values("predictions3"))

# TF, batch inference (TF1 only)
model = foz.load_zoo_model("resnet-v2-50-imagenet-tf1")
dataset.apply_model(model, "predictions4", batch_size=2)
print(dataset.values("predictions4"))

# Compute embeddings

# torch, data loader single batches
model = foz.load_zoo_model("inception-v3-imagenet-torch")
embeddings = dataset.compute_embeddings(model)
print(embeddings)

# torch, data loader batches
model = foz.load_zoo_model("inception-v3-imagenet-torch")
embeddings = dataset.compute_embeddings(model, batch_size=2)
print(embeddings)

# TF, batch inference (TF1 only)
model = foz.load_zoo_model("resnet-v2-50-imagenet-tf1")
embeddings = dataset.compute_embeddings(model, batch_size=2)
print(embeddings)

# Compute patch embeddings

for sample in dataset:
    if sample["ground_truth"] is None:
        sample["ground_truth"] = fo.Detections(
            detections=[fo.Detection(bounding_box=[0.1, 0.1, 0.8, 0.8])]
        )
        sample.save()

# torch, data loader single batches
model = foz.load_zoo_model("inception-v3-imagenet-torch")
embeddings = dataset.compute_patch_embeddings(model, "ground_truth")
print(embeddings)

# torch, data loader batches
model = foz.load_zoo_model("inception-v3-imagenet-torch")
embeddings = dataset.compute_patch_embeddings(model, "ground_truth", batch_size=2)
print(embeddings)

# TF, batch inference (TF1 only)
model = foz.load_zoo_model("resnet-v2-50-imagenet-tf1")
embeddings = dataset.compute_patch_embeddings(model, "ground_truth", batch_size=2)
print(embeddings)

Test applying image models to video frames
import numpy as np

import fiftyone as fo
import fiftyone.zoo as foz

dataset = foz.load_zoo_dataset("quickstart-video").clone()

view = dataset.take(1)

# Model inference

model = foz.load_zoo_model("inception-v3-imagenet-torch")
view.apply_model(model, "imagenet_preds", batch_size=8)
print(view.count_values("frames.imagenet_preds.label"))

model = foz.load_zoo_model("ssd-mobilenet-v1-coco-tf")
view.apply_model(model, "coco_preds")
print(view.count_values("frames.coco_preds.detections.label"))

# Frame embeddings

model = foz.load_zoo_model("mobilenet-v2-imagenet-tf1")

embeddings1 = view.compute_embeddings(model)

view.compute_embeddings(model, embeddings_field="embeddings1")
embeddings1b = {
    _id: np.stack(e)
    for _id, e in zip(view.values("id"), view.values("frames.embeddings1"))
}

embeddings2 = view.compute_embeddings(model, batch_size=8)

view.compute_embeddings(model, embeddings_field="embeddings2", batch_size=8)
embeddings2b = {
    _id: np.stack(e)
    for _id, e in zip(view.values("id"), view.values("frames.embeddings2"))
}

# Frame patch embeddings

model = foz.load_zoo_model("mobilenet-v2-imagenet-tf1")

patch_embeddings1 = view.compute_patch_embeddings(
    model, "frames.detections"
)

view.compute_patch_embeddings(
    model, "frames.detections", embeddings_field="patch_embeddings1"
)
patch_embeddings1b = {
    _id: {fn: p for fn, p in enumerate(e, 1)}
    for _id, e in zip(
        view.values("id"), view.values("frames.patch_embeddings1")
    )
}

patch_embeddings2 = view.compute_patch_embeddings(
    model, "frames.detections", batch_size=8
)

view.compute_patch_embeddings(
    model, "frames.detections", embeddings_field="patch_embeddings2"
)
patch_embeddings2b = {
    _id: {fn: p for fn, p in enumerate(e, 1)}
    for _id, e in zip(
        view.values("id"), view.values("frames.patch_embeddings2")
    )
}

@ehofesmann I believe the changes to the Torch datasets in this PR as motivated by https://github.com/voxel51/fiftyone/issues/1442 would also be nice to port over to our Lightning Flash integration to avoid the same memory leaks over there.

@ehofesmann I believe the changes to the Torch datasets in this PR as motivated by #1442 would also be nice to port over to our Lightning Flash integration to avoid the same memory leaks over there.

The Lightning Flash implementation for all of the data loaders uses Python lists so I'm not sure that it would make much sense for our FiftyOne loaders to incorporate NumPy arrays.

@ehofesmann I believe the changes to the Torch datasets in this PR as motivated by #1442 would also be nice to port over to our Lightning Flash integration to avoid the same memory leaks over there.

The Lightning Flash implementation for all of the data loaders uses Python lists so I'm not sure that it would make much sense for our FiftyOne loaders to incorporate NumPy arrays.

What are your thoughts on https://github.com/pytorch/pytorch/issues/13246#issuecomment-436632186 from https://github.com/voxel51/fiftyone/issues/1442 then? This seems like a fundamental memory leak that many Torch users may be suffering from

What are your thoughts on pytorch/pytorch#13246 (comment) from #1442 then? This seems like a fundamental memory leak that many Torch users may be suffering from

It definitely appears to be an issue that needs to be addressed. It has been brought up regarding pytorch-lightning https://github.com/PyTorchLightning/pytorch-lightning/issues/2352, it's just not how the data loaders in flash are currently working. If I end up needing to make changes to the FiftyOne-related work in that repo, I will bring this issue up.

What are your thoughts on pytorch/pytorch#13246 (comment) from #1442 then? This seems like a fundamental memory leak that many Torch users may be suffering from

It definitely appears to be an issue that needs to be addressed. It has been brought up regarding pytorch-lightning PyTorchLightning/pytorch-lightning#2352, it's just not how the data loaders in flash are currently working. If I end up needing to make changes to the FiftyOne-related work in that repo, I will bring this issue up.

Okay fair enough, just wanted to make sure this was on your radar


Consider replacing Pavlova with Pydantic

Pydantic seems to address the same problem as Pavlova, but looks to be more flexible and better supported.

Just FYI, I had a problem in my recently pip installed ietfdata. the pavlova package wasn't found and I had to install it separately.
I'm not sure, but it suggests an issue with the dependency configuration

Disregard this please--i had an old version

Closed by 123f68f


Use tagged dependencies for CI and develop/master for nightly

Ensures CI failures are useful for PRs

Codecov Report

Merging #70 (300fa5b) into master (0ae35cc) will decrease coverage by 0.05%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #70      +/-   ##
==========================================
- Coverage   94.56%   94.50%   -0.06%
==========================================
  Files          41       41
  Lines        4615     4606       -9
==========================================
- Hits         4364     4353      -11
- Misses        251      253       +2

Impacted Files
Coverage Δ

src/Picasso_FieldManager.hpp
94.64% <0.00%> (-3.58%)
:arrow_down:

unit_test/tstGridOperator3d.hpp
95.75% <0.00%> (-3.04%)
:arrow_down:

unit_test/tstGridOperator2d.hpp
96.22% <0.00%> (-1.89%)
:arrow_down:

unit_test/tstPolyPIC.hpp
97.94% <0.00%> (-1.03%)
:arrow_down:

unit_test/tstAPIC.hpp
96.98% <0.00%> (-0.76%)
:arrow_down:

src/Picasso_APIC.hpp
99.25% <0.00%> (+0.74%)
:arrow_up:

src/Picasso_UniformMesh.hpp
83.33% <0.00%> (+2.08%)
:arrow_up:

src/Picasso_LevelSet.hpp
97.87% <0.00%> (+12.68%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Fixed NullPointerException

Sometimes a NullPointerException occurs when using the computeBounds function, this fixes these by simply adding additional null pointer checks to 2 specific places.
I posted about this as an issue, but thought it'd be faster to create a Pull Request.
Best Regards

v6.5.0 published @ExoMemphiz


ci: Run only on stable

Testing against stable and nightly is useful to find upcoming problems early. But this only works properly if testing happens fairly often in the test environment. As we do not have that much activity on this repository, I propose to only build on stable. This reduces the number of runners needed to execute the tests, and should result in a (slightly) quicker turn-around for pull requests (the windows checks still dwarf all other tests).

We could do a scheduled run against nightly every week or so.

We could do a scheduled run against nightly every week or so.

Yes, that's true. @filmor @scrogson would you prefer that?
Note that I don't know who would receive notifications on failed runs if actions are not associated with a pull request.

We could do a scheduled run against nightly every week or so.

would you prefer that?

yeah, that sounds like a good idea.

Closing in favor of https://github.com/rusterlium/rustler/pull/344. Lets see if a simple schedule already suffices.


Typescript language service has been unexpectedly suspended five times in the past five minutes

Typescript language service has been unexpectedly suspended five times in the past five minutes

Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our issue reporting guidelines. Please take the time to review these and update the issue.
Happy Coding!

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


SOLR-15658: First pass of testing with findify/s3mock

https://issues.apache.org/jira/browse/SOLR-15658
Still very much a work in progress.
There are two tests that will fail consistently:

S3BackupRepositoryTest.testCanListFullOrEmptyDirectories
S3IncrementalBackupTest.testBackupIncremental

The rest of the tests are either the same speed or much faster than using adobe/S3Mock, except for the following which take 30s each, for no discernible reason:

S3BackupRepositoryTest.testBackwardRandomAccess
S3BackupRepositoryTest.testCopyFiles
S3BackupRepositoryTest.testRandomAccessInput

This s3Mock also requires that directory paths end in / for all operations including reads, which AWS S3 does not require. Some code had to be changed for this.
I still also need to remove the Old S3 Mock from the codebase.

I'm a little worried that findify/s3mock hasn't been updated in >3 years now. Might be worth looking at something else...

Fair enough, good point.


fix(stdio): allow usage of file writer on shared non-blocking file descriptors

When dealing with shared file descriptors like stdout, stderr and stdin, we should be ready to handle, whatever is their state. In the case of set it as a non-blocking file descriptor, we should retry on EAGAIN, as per POSIX documentation. We should also check for the stream error before assuming it's an error.
Since our API assume everything is written (no non-blocking behaviour), we should retry and not just write whatever is possible.

I'm not sure that looping is the best way to handle this situation. It will put the program into a busyloop which keeps asking the OS to write data and the OS refusing immediately, until the situation is resolved (which may take any amount of time). Though the program will work, the situation will now manifest as a performance problem.
Waiting for the socket to be writable with select would be less wrong, but I'm not sure if this warrants the complexity.
I think we should instead ensure that it's easy to create an object which can be manipulated with the appropriate APIs, whether that's converting a File to a Socket or duplicating the file descriptor to a blocking one so that it can be used with File.

I think we should instead ensure that it's easy to create an object which can be manipulated with the appropriate APIs, whether that's converting a File to a Socket or duplicating the file descriptor to a blocking one so that it can be used with File.

Duplicating the file descriptor will share the blocking properties, so that's not an option. Despite the added complexity, wouldn't select also interfere with users event pollers?
This won't change the behaviour if the file descriptor is blocking, and our write API doesn't have a way to know how many bytes we wrote, so the API is not really prepared for non-blocking operations, therefore, we should probably act as if it was blocking.
I couldn't find any better solution for this problem, but this fails if the user is interacting with some program that sets the stdout/stderr as non-blocking, so we should definitely handle this in some way.

Duplicating the file descriptor will share the blocking properties, so that's not an option.

Hm, yeah.

Despite the added complexity, wouldn't select also interfere with users event pollers?

How so?

This won't change the behavior if the file descriptor is blocking, and our write API doesn't have a way to know how many bytes we wrote, so the API is not really prepared for non-blocking operations, therefore, we should probably act as if it was blocking.

No, I think throwing is appropriate. We should most definitely not try to smooth over exceptional situations with DWIM hacks which guess what the user wants.

I couldn't find any better solution for this problem, but this fails if the user is interacting with some program that sets the stdout/stderr as non-blocking, so we should definitely handle this in some way.

I think the situation where standard streams are non-blocking falls well beyond what a standard library should reasonably support. It is in the same area as the standard streams being completed closed (so the first file opened gets fd 0 etc.).

Despite the added complexity, wouldn't select also interfere with users event pollers?

How so?

I think I misinterpreted select. I thought that listening to the same descriptor it wont notify both. Well, could be an option. How would you suggest to use it?

This won't change the behavior if the file descriptor is blocking, and our write API doesn't have a way to know how many bytes we wrote, so the API is not really prepared for non-blocking operations, therefore, we should probably act as if it was blocking.

No, I think throwing is appropriate. We should most definitely not try to smooth over exceptional situations with DWIM hacks which guess what the user wants.

The problem is, when the user doesn't want it to throw? Should they try/catch? EAGAIN is meant to be run again, so, on those situations the user has to try/catch, which is not the workflow to be used with exceptions.

I couldn't find any better solution for this problem, but this fails if the user is interacting with some program that sets the stdout/stderr as non-blocking, so we should definitely handle this in some way.

I think the situation where standard streams are non-blocking falls well beyond what a standard library should reasonably support. It is in the same area as the standard streams being completed closed (so the first file opened gets fd 0 etc.).

I think it should. After-all its a shared file descriptor, we should be ready for side effects applied by other programs, unrelated to ours.

I think I misinterpreted select. I thought that listening to the same descriptor it wont notify both. Well, could be an option. How would you suggest to use it?

Hypothetically, on an EAGAIN, check if the fd is non-blocking. If it is, call select with an infinite timeout with just that fd on the read set. If it returns with success, retry the loop.
But, I don't think we should do this.

The problem is, when the user doesn't want it to throw?

Then they should use the std.socket API, or another library, which is better suited for working with non-blocking file descriptors.

I think it should. After-all its a shared file descriptor, we should be ready for side effects applied by other programs, unrelated to ours.

No, and we should not take that stance with anything. DWIM in a general-purpose library, much more in a language's standard library, is a recipe in disaster. The contracts of our APIs should be simple and as short as possible; if you start adding circumstances which our functions "helpfully" try to handle, and then you document all the situations and the possible outcomes of such multiplied with all interactions of each other, the result is a mess that no one can sensibly design a system with predictable behavior out of.
Let's take this to an extreme. Consider the possibility that a root process (or even non-root with ptrace_scope) may exist which uses /proc/PID/mem to randomly corrupt bytes in our D program's memory. This is an entirely valid way for one process to interact with another, and it uses a documented feature of the Linux kernel. So, should Druntime keep multiple redundant copies of all data and run threads which detect errors and repair bytes corrupted by such a hostile process?
No. If so, why yes to this? Scaling it back, where do we draw the line?
How exactly do you define, in unambiguous technical terms, where the line is drawn?
Another way to look at this would be: what other languages' standard libraries do the same thing as what this change is proposing?
For std.stdio specifically, one easy argument to make against this proposal is that, because it wraps the C FILE* API, it should generally follow its behavior. Since C programs will fail in the same way as D programs currently, the behavior is as expected, and should not be changed. (However, I think DWIM-isms should be kept out of the standard library in general.)

Then they should use the std.socket API, or another library, which is better suited for working with non-blocking file descriptors.

Since the file descriptors are shared you can't control them, so, in theory, every program should handle these cases, it just happens to be an edge case, in most situations.

Let's take this to an extreme. Consider the possibility that a root process (or even non-root with ptrace_scope=0) may exist which uses /proc/PID/mem to randomly corrupt bytes in our D program's memory. This is an entirely valid way for one process to interact with another, and it uses a documented feature of the Linux kernel. So, should Druntime keep multiple redundant copies of all data and run threads which detect errors and repair bytes corrupted by such a hostile process?

Yeah, but this is clearly an impractical situation. The presented solution is not.
I understand your points there, but I do think that our API is not designed to defer errors to the user to handle, specifically, EAGAIN, because we don't give the exact size written to the buffer.
So if we shift from the proposed implementation and have some other alternative: Should we then, like, create an exception that has the written size so the user can catch and proceed? Otherwise, to cover these cases, we can't use the stdio API, which is a bit unfortunate.
My only problem, then, is that exceptions for control flow is fundamentally wrong and slow. Therefore, I don't have another solution for it other than changing the API to be able to defer EAGAIN to the user, which we probably dont want to.
Hypothetically, would adding the size as a return value be as breaking change? ABI signature will change but this already happens across versions.

Since the file descriptors are shared you can't control them, so, in theory, every program should handle these cases, it just happens to be an edge case, in most situations.

The correct way to handle this situation is to signal an error.

Yeah, but this is clearly an impractical situation. The presented solution is not.

OK, let's extrapolate to a less extreme situation. What if file descriptor 0 is a socket, should we detect that and switch to using send/receive instead of read/write?

Should we then, like, create an exception that has the written size so the user can catch and proceed?

I don't think that's necessary, because you can query if the file descriptor is non-blocking, and switch to using appropriate (or the low-level C) APIs if desired.

Otherwise, to cover these cases, we can't use the stdio API, which is a bit unfortunate.

We also can't use the stdio API to work with sockets, even though on UNIX they are also file descriptors.
I just don't think this is something that std.stdio needs to be burdened with.

My only problem, then, is that exceptions for control flow is fundamentally wrong and slow. Therefore, I don't have another solution for it other than changing the API to be able to defer EAGAIN to the user, which we probably dont want to.

If we were to reach the conclusion that std.stdio should support these, then one way to achieve that would be to add a rawPartialWrite function OSLT.

Hypothetically, would adding the size as a return value be as breaking change? ABI signature will change but this already happens across versions.

On one hand, adding a return value would make it more symmetric with rawRead. However, this approach is not great for the same reasons that APIs which return errors as regular values (without some kind of @mustuse-like mechanism) are not great - it's much too easy to ignore the error (and adding @mustuse here would be a breaking change). rawRead is, unfortunately, already in that unpleasant territory.

Philosophy aside, here are some blockers which I think would make sense to address before we decide that we should support this situation in std.stdio:

[ ] Major programming languages which support I/O to standard input/output streams with non-blocking file descriptions
[ ] Some authoritative documentation that the underlying C FILE API supports working with non-blocking file descriptions

@ljmf00 what are your plans with this PR?

@rikkimax You're responsible for this one now.

We'll probably need a way to disable this behaviour and possibly a max retry count, but otherwise this guarantees synchronous behaviors.
Please add this configurability and once CI is green can be merged.

I strongly recommend against inventing ad-hoc workarounds in our standard I/O module which cause us to spin the CPU, with no evidence to support that this what the rest of the world (that D programs live in and interact with) expects us to do or does this as well.

A reasonable argument, to not make it on by default. Opt-in only.


Fix SFTP getUrl function for PHP >= 5.6.28

PHP 5.6.28 made an (apparently undocumented) change for scanning an SFTP directory. Previously the URL was created by casting the Resource as a string ("Resource #27"), now it requires it to be cast as an int ("27").
Previously this function returned ssh2.sftp://Resource #27/my/url, now returns ssh2.sftp://27/my/url.
The "new" method has been tested in 5.6.26 and still works correctly (as well as 5.6.29 and 7.0.14).

@Herzult is it going to be merged? It is a required change for the lib.


has(Variant value) function is not working properly

Godot version:
3.2.2.stable.official
Issue description:
So I declared a variable called array  which takes it's elements from another array that is stored in a json file. And I want to see if a certain value is inside the array. The loop I've written to traverse the array is returning true whereas the function has  is returning false. I wonder if this problem is related to the engine or because of something I'm missing.
Steps to reproduce:

Does the JSON contain 300 as a number or as a string? The print handler won't make a difference between those.

It contains it as a number

@KutayGuler Could you upload a minimal reproduction project, please?

@Calinou Sure, I will upload it in a moment.

@Calinou here it is
HasFunctionIssue.zip

As Calinou said JSON doesn't distinguish integers from floats. In your example you are trying to check if the array contains 300 (integer). But array actually contains 300.0 (floting-point number).
array.has(300.0) <- this will work
array.has(300) <- this won't work
One thing that I have noticed is when using in keyword you can actually use integers:
300 in array <- this will work
300.0 in array <- this will also work

Indeed, this is intended behavior. The array contains 300.0, not 300.
Changing the behavior in GDScript's array has method is not going to happen (because GDScript does have integers so this distinction makes sense), but maybe parse_json could have a boolean setting to treat whole numbers as integers?

Thanks for the explanations :) @Calinou @HazmatDemon @aaronfranke


iOS fails to build - GoogleAppIndexing

Hello,
I can't build the iOS version, whereas the Android version works fine.
I have restored all the NuGets packages, and all the Components seem to be correctly installed.
I get these following errors:
Native linking failed. Please review the build log.
(XamarinEvolve.iOS	 //C:\Program Files (x86)\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets	681)
Native linking error: file not found: /Users/Xxx/Library/Caches/Xamarin/mtbs/builds/XamarinEvolveiOS/67a3fe1aa3172176a9205b8a492d7e3b/obj/iPhoneSimulator/Debug/mtouch-cache/GoogleAppIndexing
(XamarinEvolve.iOS	 //C:\Program Files (x86)\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets	681)
On the Mac, a file "GoogleAppIndexingResources.bundle" is present in the given folder.
I don't find any detail in my logs...
Do you have any idea?

Goldstrike,
You probably have a setup issue with your build environment,  You will find that the forums on Xamarin.com is a great place to get help for issues like the one you are describing.
Cheers,
Tom Hebert
From: Goldstrike<EMAIL_ADDRESS>Sent: Friday, May 13, 2016 7:49 AM
To: xamarinhq/app-evolve<EMAIL_ADDRESS>Subject: [xamarinhq/app-evolve] iOS fails to build - GoogleAppIndexing (#8)
Hello,
I can't build the iOS version, whereas the Android version works fine.
I have restored all the NuGets packages, and all the Components seem to be correctly installed.
I get these following errors:
Native linking failed. Please review the build log.
XamarinEvolve.iOS
C:\Program Files (x86)\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets 681
Native linking error: file not found: /Users/Xxx/Library/Caches/Xamarin/mtbs/builds/XamarinEvolveiOS/67a3fe1aa3172176a9205b8a492d7e3b/obj/iPhoneSimulator/Debug/mtouch-cache/GoogleAppIndexing
XamarinEvolve.iOS
C:\Program Files (x86)\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets 681
On the Mac, a file "GoogleAppIndexingResources.bundle" is present in the given folder.
I don't find any detail in my logs...
Do you have any idea?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHubhttps://github.com/xamarinhq/app-evolve/issues/8

Hi Bigfromaz,
I don't found any solution for now.
I've seen that Adamhill met a similar part of my problem, like described here:
https://github.com/xamarinhq/app-evolve/issues/5
But I don't know if he managed to solve it.
Regards,

You could maybe maybe just remove the app indexing from the iOS app?
There is just 1 line of code in the AppDelegate
or... delete the component and re-download it? that may work.

removing and re-adding the "Google App Indexing for iOS" component did the trick for me... it had rev'd up from <IP_ADDRESS> in the project refs to <IP_ADDRESS> currently... the latter resolved the build error.
for those new to the Xamarin fray, this reference comes via the "Xamarin Components" gallery, similar to Nuget... manage these bits by right mousing on the "Components" node under the iOS target project and select "Edit Components"

for mutual reference, i am also seeing numerous phantom "does not exist" errors pop on basic stuff like "InitializeComponent" whenever i open a xaml but they don't prevent a successful build... the iOS app fires up on the simulator and seems to run fine

Should be good now, but you will still need to log in for components


Create MaximumDepthOfBinaryTree.java

I added MaximumDepthOfBinaryTree.

this is amazing @RajkumarSony
thanks for the contribution in my repo and please share in social media and tag me on twitter


Update the sdg library

Add the new design and code for the sdg library

bulk of the new library code is merged!


Add default value for actions doc pages

Checklist

[x] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[x] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary.

Motivation and Context

Related to #435.
Adds the default value of actions to their doc pages.

Description

Hey @revolter, thanks for your contribution, and migrating your PR over. One thing I'm a little worried about is, that many default values are being generated on demand, based on your system environment. So the extra column might give the wrong impression of other config items having no default values, even though they might do. I'm not sure if there is a way we can solve this?

Firstly, it looks exactly the same if you run fastlane action gym too, so the problem already existed long before. So we could solve that too if we're at it (I'm not pointing fingers or something).
Secondly, what about changing:

Key
Description
Default

x
first
true

y
second

z
third
false

to:

Key
Description
Default

x
first
true

y
second
false *

z
third
false

* = this default value is dependent on the user's system

many default values are being generated on demand, based on your system environment.

What is this about? Examples?

@janpio, fastlane action cert's keychain_path has a default value of /Users/revolt/Library/Keychains/login.keychain-db for me.

Hmm, outputting this might not be the most easy to understand:
https://github.com/fastlane/fastlane/blob/master/cert/lib/cert/options.rb#L53

I don't understand exactly what do you mean. And, why is there an array if only the last element is selected?

This is how the default_value is defined in the source of cert, see the link under the code for context. This is what would be available for docs generation.
Why it is this way, especially the .last? No idea.

I understand, I don't know how can I add these dynamic values :-?

I understood this better, and, I am proposing this solution:
For docs.fastlane.tools, use:

Key
Description
Default

a
first
true

b
second
*

c
third
false

d
fourth
-

- = this parameter doesn't have a default value
* = this default value is dependent on the user's system
For terminal, use:

Key
Description
Default

a
first
true

b
second
false*

c
third
false

d
fourth
-

- = this parameter doesn't have a default value
* = this default value is dependent on the user's system
This way, the user that reads the online docs knows what is the default value of a parameter, which parameters don't have a default value and which have a dynamic default value. And for the user that runs fastlane action <action_name>, we also show the evaluated dynamic default value while also letting him/she know that it won't be the same on other systems.
What do you think?

Sounds good to me.
Basically:

If it has a defined value, say that.
If it has some code that has to be evaluated, say so but nothing else.
If no value, say that.

#2 could link to the line in the file on Github maybe so a user can click it to find out how the default is calculated?

Links to specific lines get easily desynchronized, one solution would be to link to the entire file.

You know the revision when you build the docs. Just link to that version of the file with the line at that revision.
https://github.com/fastlane/fastlane/blob/f410f2a6d9d20ae8e6747db978cae7142a03d781/Dangerfile#L5 instead of https://github.com/fastlane/fastlane/blob/master/Dangerfile#L5

This indeed solves one desynchronization case, but what about when someone adds a new option at the beginning of the file? All the line numbers should be updated, but most probably the respective person would forget to do it.

Docs are generated automatically by a script. This script would link the "complex" default values automatically to the correct line that it already used to get the param name, param description and param default. If someone edits an action, docs are regenerated and links are updated.

The options.rb files are not parsed, but evaluated and run like any regular ruby file, so you don't have access to that kind of info.

Oh ok.
Hmm, is there a "give me a code behind this variable" instead of "give me the value of this variable" maybe?

Most probably not, but it's ok, a link to the file would suffice.

Hey @revolter, could you rebase this onto current master so we get the new CI checks here?
Also, how would we best check if this generates a useful version of the docs to review? I still like this idea a lot and would like to get this merged or at least progressed in any way.

Will do in half a day.
I will need to re-read the comments here because I kind of forgot the implications and cons of the current changes.

I still like this idea a lot and would like to get this merged or at least progressed in any way.

Me too, I didn't forget it.

I think the problem was caused by default values like:
https://github.com/fastlane/fastlane/blob/8a2e328892c34ff5d1d450a759a480cb325c5008/gym/lib/gym/options.rb#L166
which would probably cause the docs to actually show #{FastlaneCore::Helper.buildlog_path}/gym, but I'm not sure. I'll test it after rebase.

Yeah, I think it might be worth to actually merge the current state if it isn't to bad and work on improvements later on. That's why I was asking how to best test the code. Ping me when you rebased.

Stubborn bot 😂 I'll prefer to do it all in this PR. Also, I didn't have time last night to work on this, will let you know asap.

@janpio, Rebased. But I have no idea how to test the docs.

So, that line actually evaluates to ~/Library/Logs/gym, but we wanted for the user to know that this value is for his/her system, and might be different on other systems.

I managed to create a draft implementation of this comment:

Off topic, this looks like it's an important issue:
#!/bin/bash --login -eo pipefail
bundle exec danger || echo "danger failed"
^D^D
Could not set up API to Code Review site for Danger

For your GitHub repo, you need to expose: DANGER_GITHUB_API_TOKEN
You may also need: DANGER_GITHUB_HOST, DANGER_GITHUB_API_BASE_URL

Found these keys in your ENV: CIRCLE_WORKFLOW_JOB_ID, CIRCLE_BUILD_NUM, CIRCLE_PR_REPONAME, CIRCLE_NODE_TOTAL, GEM_HOME, SHELL, CI_PULL_REQUESTS, SSH_CLIENT, TMPDIR, CIRCLE_INTERNAL_SCRATCH, CIRCLE_WORKFLOW_UPSTREAM_JOB_IDS, CIRCLE_PROJECT_USERNAME, SSH_TTY, LC_ALL, CIRCLE_WORKFLOW_CONCURRENCY_MAP, CIRCLE_INTERNAL_TASK_DATA, USER, CIRCLE_NODE_INDEX, CIRCLE_COMPARE_URL, CIRCLE_BRANCH, SSH_AUTH_SOCK, CIRCLE_PULL_REQUEST, CIRCLE_JOB, CIRCLE_PULL_REQUESTS, CI_PULL_REQUEST, CIRCLE_WORKING_DIRECTORY, CIRCLE_PR_USERNAME, PATH, MAIL, CIRCLE_WORKFLOW_WORKSPACE_ID, CIRCLE_USERNAME, CIRCLE_PREVIOUS_BUILD_NUM, PWD, CIRCLE_STAGE, LANG, CIRCLE_PR_NUMBER, RUBY_ENGINE, CIRCLE_BUILD_URL, CIRCLE_WORKFLOW_ID, CIRCLECI, HOME, SHLVL, GEM_ROOT, CIRCLE_SHA1, CI, CIRCLE_REPOSITORY_URL, CIRCLE_INTERNAL_CONFIG, BASH_ENV, CIRCLE_SHELL_ENV, LOGNAME, GEM_PATH, SSH_CONNECTION, LC_CTYPE, RUBY_ROOT, RUBYOPT, CIRCLE_TEST_REPORTS, CIRCLE_PROJECT_REPONAME, RUBY_VERSION, _, __CF_USER_TEXT_ENCODING, BUNDLER_ORIG_BUNDLE_BIN_PATH, BUNDLER_ORIG_BUNDLE_GEMFILE, BUNDLER_ORIG_BUNDLER_ORIG_MANPATH, BUNDLER_ORIG_BUNDLER_VERSION, BUNDLER_ORIG_GEM_HOME, BUNDLER_ORIG_GEM_PATH, BUNDLER_ORIG_MANPATH, BUNDLER_ORIG_PATH, BUNDLER_ORIG_RB_USER_INSTALL, BUNDLER_ORIG_RUBYLIB, BUNDLE_BIN_PATH, BUNDLE_GEMFILE, BUNDLER_VERSION, BUNDLER_ORIG_RUBYOPT, RUBYLIB, MANPATH.

Failing the build, Danger cannot run without API access.
You can see more information at http://danger.systems/guides/getting_started.html
danger failed

Nice.
Ideas for future PRs:

Parse the files and recognize dynamically if the value is static or dynamic
Parse the files and output the dynamic value in the docs
Parse the files, parse the dynamic value and transform it into a more readable "explanation" (ENV[foo] => "Environment variable FOO")
Build step / rubocop that makes sure all dynamic default values are marked as such
Replace the dynamic=true with dynamic_explanation="Environment variable FOOorfalse` if unset"

I think that programmatically checking if a value is dynamic or not would be quite hard.
For example, this:
https://github.com/fastlane/fastlane/blob/487f1dae11b79f50afcd50cfee079ebb5f1b8cea/screengrab/lib/screengrab/options.rb#L43
and
https://github.com/fastlane/fastlane/blob/487f1dae11b79f50afcd50cfee079ebb5f1b8cea/fastlane/lib/fastlane/actions/flock.rb#L56
look the same, but the first one is defined like:
https://github.com/fastlane/fastlane/blob/487f1dae11b79f50afcd50cfee079ebb5f1b8cea/screengrab/lib/screengrab/options.rb#L11
which is dynamic, while the second one is defined like:
https://github.com/fastlane/fastlane/blob/487f1dae11b79f50afcd50cfee079ebb5f1b8cea/fastlane/lib/fastlane/actions/flock.rb#L4
which is static.

Writing this yourself, yes. But if there is a library one could use (or even a meta feature of ruby maybe) it would be simple. But there is definitely no naive and obvious implementation, yes.


Can't install the Selenium.WebDriver in the CalculatorTest in C#

Hi,
I downloaded the CalCulatorTest and would like to give it a try.
However, i am not able to build the project.
In order to build the project, I need to update/install the nuget packages.
However i am stucked now with Selenium.WebDriver.
My environment is a VDI without internet connection, which I am not sure if the problem is due to that.
I downloaded the selenium.webdriver.3.0.1.nupkg and other required packages from nuget website, and copied this package into the vdi.
I also configure a Package Resource Folder to point to the offline nuget packages I downloaded manually.

I tried to use the Restore option to restore the package, but all packages can be installed except
Selenium.WebDriver.3.0.1.
I also try another option, where I comment out the Selenium.WebDriver.3.0.1 package in the packages.config, later try with a manual install using 'Manual Packages for Solution'

here is the complete error return from the Package Manager output.
Attempting to gather dependency information for package 'Selenium.WebDriver.3.0.1' with respect to project 'CalculatorTest', targeting '.NETFramework,Version=v4.5'
Gathering dependency information took 61.71 ms
Attempting to resolve dependencies for package 'Selenium.WebDriver.3.0.1' with DependencyBehavior 'Lowest'
One or more unresolved package dependency constraints detected in the existing packages.config file. All dependency constraints must be resolved to add or update packages. If these packages are being updated this message may be ignored, if not the following error(s) may be blocking the current package operation: 'Appium.WebDriver <IP_ADDRESS> constraint: Selenium.WebDriver (>= 3.0.1)', 'Selenium.Support 3.0.1 constraint: Selenium.WebDriver (>= 3.0.1)'
Resolving dependency information took 0 ms
Resolving actions to install package 'Selenium.WebDriver.3.0.1'
Resolved actions to install package 'Selenium.WebDriver.3.0.1'
Retrieving package 'Selenium.WebDriver 3.0.1' from 'CalculatorPackages'.
Adding package 'Selenium.WebDriver.3.0.1' to folder 'C:\Projects\CalculatorTest\packages'
Install failed. Rolling back...
Package 'Selenium.WebDriver.3.0.1' does not exist in project 'CalculatorTest'
Package 'Selenium.WebDriver.3.0.1' does not exist in folder 'C:\Projects\CalculatorTest\packages'
Executing nuget actions took 2.74 min
NU3008: The package integrity check failed.
Time Elapsed: 00:02:44.3588234
Please advise, thanks in advance.

Can you clean up your project and try to install "Microsoft.WinAppDriver.Appium.WebDriver" ? it should give you correct version of Selenium.WebDriver. Thanks

Hi @koktsing,
As @stu4355226 suggested, please try downloading the preview WinAppDriver NuGet package and use that in lieu of the Appium.WebDriver.
You should also be using Selenium.WebDriver version 3.8.0, Selenium.Support 3.8.0, Castle.Core v4.2.1, and Newtonsof.Json v10.0.3.
Please reopen ticket if this does not solve your issue.


Fix type of the media field in the BlockIO protocol

The media field should be a pointer to BlockIOMedia.

Thanks for correcting this!


Closed header tag

Codecov Report

Merging #37 into dependabot/npm_and_yarn/react-styleguidist-9.1.11 will not change coverage.
The diff coverage is n/a.

@@                                Coverage Diff                                 @@
##           dependabot/npm_and_yarn/react-styleguidist-9.1.11      #37   +/-   ##
==================================================================================
  Coverage                                              63.51%   63.51%
==================================================================================
  Files                                                     34       34
  Lines                                                    233      233
  Branches                                                  25       25
==================================================================================
  Hits                                                     148      148
  Misses                                                    77       77
  Partials                                                   8        8

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 0fc4e2c...691bac2. Read the comment docs.

Thanks @dreszczyk


Tweak the default PHP config

I believe the default values for some of the php.ini options should be changed to match most Craft CMS dev workflows:

display_errors should be set to On, which is the recommended value for development as per the comments in php.ini.
display_startup_errors should also be set to On.
max_input_vars should be set to 2000 or even 5000, as 1000 is often too low when saving entries with lots of matrix fields (or the settings for such matrix fields).
post_max_size (default value: 8M), upload_max_filesize (default value: 2M), max_file_uploads (default value: 20) could all be at least doubled IMO (I personally set them much higher but I understand that too high is not good either). 2M for upload_max_filesize in particular is really low.

These all seem like reasonable defaults IMO, I probably would have asked for much higher limits. 😄
I especially agree with max_input_vars = 5000, and the highest possible memory limits.

+1 for increasing upload defaults.
I tend to use values in the range of 16M-64M to allow for image uploads that can support various transformations. A retina resolution (2x) full-width image for a desktop breakpoint can easily exceed 3200px width. Which makes for some chunky master image sizes.

We just released 1.1.0 that adds display_errors to iniset and also enables display_errors on start up. I think we only need to add display_startup_errors to resolve this ticket, which we can do post 1.1.0,

Yeah, +1, the upload_max_filesize is extremely low.

The defaults have been improved in v2 and there is a new nitro iniset command to tweak settings on a per site basis. Please see the documentation for further details - https://craftcms.com/docs/nitro/2.x/php-settings.html


The number of free resources is not updated after committing actions to change resources

Description
The system does not set limits on resources since the number of free resources is not updated automatically after committing actions that change the number of resources.
You must automatically update the number of free resources for the following actions:

Create VM
Change Root disk size in VM sidebar
Change Additional disk size in VM sidebar
Change Service Offering in VM sidebar
Delete VM
Create Additional storage in VM sidebar
Create Additional storage in the Storage section
Change Additional disk size in the Storage section
Delete Additional storage in VM sidebar
Delete Additional storage in the Storage section
Revert to snapshot (in VM sidebar, in the Storage section, in the Snapshot section)
Create a volume from a snapshot (in VM sidebar, in the Storage section, in the Snapshot section)
Delete volumes when VM deleting

Steps to reproduce

Log in as admin
Create a new Account with "User" role and limits (8 CPU, 2048 Memory, 100 Primary storage)
Logout and login as the new user
Go to create VM
Set Custom SO to 8 CPU, 2048 Memory
Set Root disk size to 100 GB
Fill in the remaining required fields and create a VM
Go to create VM

Actual result

The window for creating a VM opens
You can choose the size of the root disk from the size of the template to 100 GB
In SO, you can set the CPU value from 1 to 8, the memory from 512 to 2048
In no case does a resource limit error occur
You can send a request to create a VM (an error will be received during deployment, see screenshots)

Expected result
Instead of the VM creation window, an error about insufficient resources is shown.
Environment

Browser:
- [ ] Chrome version XX
- [ ] Firefox version XX
- [ ] Safari version XX
- [ ] IE version XX
- [ ] Edge version XX
Others:

Connected feature ID
vm_creation_so
vm_creation_so_custom
vm_creation_rootdisk_resize
vm_creation_diskoffering_resize
vm_disk_resize
vm_disk_attached_delete
vm_disk_attach_new
vm_SO_change
vm_expunge
vm_vmsnap_reverttosnap
vm_disk_snap_volume_create
vm_destroy_datadrives
storage_disk_resize
storage_disk_delete
storage_snap_volume_create
storage_snap_reverttosnap
storage_disk_create
volsnapshot_volume_create
volsnapshot_reverttosnap
Screenshots

According https://github.com/bwsw/cloudstack-ui/issues/1242#issuecomment-430100375 here it should be fixed but not.
No Storage resources but create button is enabled and no message about exceeded resources.

Expected: Create button is disabled, Disk Size  is 0, message "The disk offering cannot be selected because it doesn't fit the account resources available." is shown in list and in vm creation dialog.
Actual: Create button is enabled, Disk Size  is 10, error got if tru to create VM
Maximum amount of resources of Type = 'primary_storage' for Account Name = Limit in Domain Id = 2 is exceeded: Account Resource Limit =<PHONE_NUMBER>0, Current Account Resource Amount =<PHONE_NUMBER>0, Requested Resource Amount =<PHONE_NUMBER>0.

For testing all mentioned features need to be 1242 will be closed.

Lack 2:

Error message appears in VM creation in case if resourses is enough.

Steps:

Login by user
Create few disks to exceeded limit for primary storage
Delete any disk (more than 10 gb)
Create new VM and choose ISO for installation source
Expected: no message appears, create buttom is available
Actual: error message appears, create button is disabled

@Nadya913 please provide additional cases: ISO, templates, snapshots. This issue should be completed.

Statistics don't updated for cases:
Primary storage - Revert to snapshot (in VM sidebar, in the Storage section, in the Snapshot section)

@wowshakhov please, check the following cases:

VM creation
Revert to snapshot (in VM sidebar, in the Storage section, in the Snapshot section)
Create a volume from a snapshot (in VM sidebar, in the Storage section, in the Snapshot section)

And send the issue to code review
Other cases will be tested during regression testing by QA

Regression:
REQ_VM_DTLS_016, REQ_VM_DTLS_017
REQ_STORAGE_DTLS_008, REQ_STORAGE_DTLS_009
REQ_SNAP_LIST_008

Tested on 1406


Frontend: Refactor API Functions File Structure

This PR is just a refactor of the existing helper functions that make the frontend's API calls.   I've split up the interfaces and functions across the different resources they deal with for better readability and scalability.  Existing interfaces and functions should be easier to find with this refactor, and it'll be much simpler to add additional resources' interfaces and functions (i.e. partners, officers, etc) when needed.

Nice! Thank you.

Awesome!  Went ahead and merged 👍🏽