Show warning when math equation is invalid

What's your feature?
Currently, if the user enters an invalid math equation, there's no way to let them know there was an error, and the chart also displays incompletely.
Maybe we can do something like what Obsidian Dataview does: showing a warning message instead of showing an incomplete element.
Any related problems?
No response
Additional context?
No response

Another great idea! The intention is to just silently update the plot but if the user finished typing and the expression is still invalid, we should display a warning, I agree.


Correction for raw affiliation Fowler Kennedy Sport Medicine Clinic, Western University, London, Ontario

Correction needed for raw affiliation Fowler Kennedy Sport Medicine Clinic, Western University, London, Ontario
raw_affiliation_name: Fowler Kennedy Sport Medicine Clinic, Western University, London, Ontario
new_rors: 03hf41361;02grkyz14
previous_rors: 03hf41361
works_examples: W4382364104
contact: 644932bcac3c1b4d8cb287867baa6dff:57a4a5355b5271dd @ uwo.ca

This issue was accepted and ingested by the OpenAlex team on 2024-12-19. The new affiliations should be visible within the next 7 days.


Properties with single quote strings on the same line breaks syntax highlighting

Example:
/0082 { /type "" /path "/content/*" /selectors '(feed|rss|pages|languages|blueprint|infinity|tidy)' /extension '(json|xml|html)' }

This was solved via pull request https://github.com/BeardedFish/vscode-apache-dispatcher-config-language-support/pull/8.


Add Support Primal Carnage:Extinction

Unreal Engine 4, port 27015

Will investigate this game now :)

Yes, <IP_ADDRESS>:27015

Sorry, UE3 =)

@kofe88 I need a server to test the the library against, otherwise I cannot even attempt it :P

I have a server, what actions do I perform?

@kofe88 Is the server still up? I might try implementing it myself.

@Netifriik Yes, its use standart Source Query protocol =)

@kofe88 it's a bit late, I guess, but I pushed a pull-request and added what you needed :-)

#50 Merged in February


Fix initialization of BgpAttr with Python 3

With Python 3, setting an attribute which is not mentioned in slots
fails:
  File "/home/bernat/code/debian/mrtparse/mrtparse/__init__.py", line 1192, in __init__
    self.larg_comm = None
AttributeError: 'BgpAttr' object has no attribute 'larg_comm'

Fix the type "larg_comm" vs "large_comm".

Thank you so much!☺


Zeru finance onchain

PR-Codex overview
This PR updates the version of the quest-squid app, adds support for new quest types related to Zeru protocol, and includes new ABI definitions.
Detailed summary

Updated version to 20 in squid.yaml
Added support for Zeru protocol quest types
Included new ABI definitions for Zeru protocol
Defined addresses for Zeru and Honey protocol assets

The following files were skipped due to too many changes: abi/strategiesController.json, src/abi/strategiesController.ts, src/abi/lendingPool.ts, abi/lendingPool.json

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#5  👈
#3 : 1 other dependent PR (#4 )
#2
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @zkSoju and the rest of your teammates on  Graphite

Merge activity

Aug 29, 3:33 PM EDT: @zkSoju started a stack merge that includes this pull request via Graphite.


Updated to egui 0.15.0

egui -> 0.15.0
In addition, egui-theme -> 0.1.1 and egui-stylist -> 0.1.1
Everything looks correct from my end.

I will need to re-evaluate this PR as we're working on egui 0.18 in #32

This is no longer required and is supercered by #32


Property 'HMRClient' doesn't exist

Environment
Windows: 11
"@callstack/repack": "^3.7.0"
Platform: Android
"react-native": "0.71.8"
Description
I have followed all steps for Windows system but after running on emulator getting following error:

Can anyone help me to fix this issue.

Closing this one as it's already tracked inside of https://github.com/callstack/repack/issues/501


Enforcing Event to be a top level tag and other enforcement rules

@dungscout96 @smakeig @sappelhoff @IanCa @happy5214 @arnodelorme
We currently have schema attributes tagGroup and topLevelTagGroup HED schema attributes so that we can enforce and validate things like Definition must be in a tag group and can't be nested.
I propose the following:

We add a topLevelTag HED schema attribute.  We can then use this attribute with the Event tag to force it to be used at the top level.

Justification: We currently recommend this and do it in all examples, but I think should probably be enforced.

We add the tagGroup schema attribute to terms in the Action and Relation subtrees.

Justification: This is really for clarity in downstream processing. This will permit more consistent RDF and natural language parsing in the future.

For Relation it is clear since all these tags represent binary operations and should always be tagged as (A, (rel, B)), for example (A, (Greater-than, B)) makes clear what the order is.
For Action things are a little less clear. The issue is that (Agent, Move) could mean the agent moves or something moves the agent since tag strings are unordered.  All of our examples so far have avoided the issue by having examples with direct objects such as: (Agent, (Move, Device)).
I propose that we add the tagGroup schema attribute to the Move subtree and document that (Move, A) means the action is being done to A, while (A, (Move)) or (A, (Move, B)) means that A is doing the action.
As mentioned above, we have largely avoided the issue by always using parentheses.  This will help enforce, though it won't completely enforce it.  Comments?

Kay,
Sounds good - happy you are able to think through these things.  Let's
discuss later ....
On Wed, Aug 4, 2021 at 10:10 AM VisLab @.***> wrote:

@dungscout96
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_dungscout96&d=DwMFaQ&c=-35OiAkTchMrZOngvJPOeA&r=KEnFjcsfiKF_BPOsgvPP9w&m=VMHVZAkedgwm57SlejN6kSguWF8A5rnqXM8VUttOvBk&s=mOV-SNCzo5k06L1DJRob8F8ciDUFq_iBMZGrZXEWsx8&e=
@smakeig
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_smakeig&d=DwMFaQ&c=-35OiAkTchMrZOngvJPOeA&r=KEnFjcsfiKF_BPOsgvPP9w&m=VMHVZAkedgwm57SlejN6kSguWF8A5rnqXM8VUttOvBk&s=qubd4ltTBFiX4K5hxDe4ZzydGMuBteQKyk9n0Mh5dXk&e=
@sappelhoff
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_sappelhoff&d=DwMFaQ&c=-35OiAkTchMrZOngvJPOeA&r=KEnFjcsfiKF_BPOsgvPP9w&m=VMHVZAkedgwm57SlejN6kSguWF8A5rnqXM8VUttOvBk&s=599gK3dg--VyaNVnXNQPKgT4zmKMZGbXMnVSlRxxrrg&e=
@IanCa
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_IanCa&d=DwMFaQ&c=-35OiAkTchMrZOngvJPOeA&r=KEnFjcsfiKF_BPOsgvPP9w&m=VMHVZAkedgwm57SlejN6kSguWF8A5rnqXM8VUttOvBk&s=DLdfCqIZ5YEeEeTFCDfrJdiV3QFfWj83pgUw7o9Pw1A&e=
@happy5214
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_happy5214&d=DwMFaQ&c=-35OiAkTchMrZOngvJPOeA&r=KEnFjcsfiKF_BPOsgvPP9w&m=VMHVZAkedgwm57SlejN6kSguWF8A5rnqXM8VUttOvBk&s=FV1nSlZ26z5_s8bUEt9x4CBJt937yuRNTZcPsnYhEwU&e=
@arnodelorme
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_arnodelorme&d=DwMFaQ&c=-35OiAkTchMrZOngvJPOeA&r=KEnFjcsfiKF_BPOsgvPP9w&m=VMHVZAkedgwm57SlejN6kSguWF8A5rnqXM8VUttOvBk&s=oyrv2ed4v_dK_N2l5oNmB1X6xUuKU_uBZ89JopJMpd8&e=
We currently have schema attributes tagGroup and topLevelTagGroup HED
schema attributes so that we can enforce and validate things like
Definition must be in a tag group and can't be nested.
I propose the following:

We add a topLevelTag HED schema attribute. We can then use this
attribute with the Event tag to force it to be used at the top level.

Justification: We currently recommend this and do it in all examples,
but I think should probably be enforced.

We add the tagGroup schema attribute to terms in the Action and
Relation subtrees.

Justification: This is really for clarity in downstream processing.
This will permit more consistent RDF and natural language parsing in the
future.
For Relation it is clear since all these tags represent binary
operations and should always be tagged as (A, (rel, B)), for example (A,
(Greater-than, B)) makes clear what the order is.
For Action things are a little less clear. The issue is that (Agent,
Move) could mean the agent moves or something moves the agent since tag
strings are unordered. All of our examples so far have avoided the issue by
having examples with direct objects such as: (Agent, (Move, Device)).
I propose that we add the tagGroup schema attribute to the Move
subtree and document that (Move, A) means the action is being done to
A, while (A, (Move)) or (A, (Move, B)) means that A is doing the
action.
As mentioned above, we have largely avoided the issue by always using
parentheses. This will help enforce, though it won't completely enforce it.
Comments?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_hed-2Dstandard_hed-2Dspecification_issues_309&d=DwMFaQ&c=-35OiAkTchMrZOngvJPOeA&r=KEnFjcsfiKF_BPOsgvPP9w&m=VMHVZAkedgwm57SlejN6kSguWF8A5rnqXM8VUttOvBk&s=zrOFkckTWmFPbrypZn5iw-k8eIe74-yHnq1Z0q_6dHE&e=,
or unsubscribe
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AKN2SFSEHM3AIS7TWKYPUL3T3FC6NANCNFSM5BRHKGAQ&d=DwMFaQ&c=-35OiAkTchMrZOngvJPOeA&r=KEnFjcsfiKF_BPOsgvPP9w&m=VMHVZAkedgwm57SlejN6kSguWF8A5rnqXM8VUttOvBk&s=zLMru36sm_qQ3jbRWhIlGHXM7IX6-H4WLz9byXr2-RA&e=
.
Triage notifications on the go with GitHub Mobile for iOS
https://urldefense.proofpoint.com/v2/url?u=https-3A__apps.apple.com_app_apple-2Dstore_id1477376905-3Fct-3Dnotification-2Demail-26mt-3D8-26pt-3D524675&d=DwMFaQ&c=-35OiAkTchMrZOngvJPOeA&r=KEnFjcsfiKF_BPOsgvPP9w&m=VMHVZAkedgwm57SlejN6kSguWF8A5rnqXM8VUttOvBk&s=Kk1_6h1tZa1YimeVKr2caZlPC4bz4CvqbeqII8eTQBQ&e=
or Android
https://urldefense.proofpoint.com/v2/url?u=https-3A__play.google.com_store_apps_details-3Fid-3Dcom.github.android-26utm-5Fcampaign-3Dnotification-2Demail&d=DwMFaQ&c=-35OiAkTchMrZOngvJPOeA&r=KEnFjcsfiKF_BPOsgvPP9w&m=VMHVZAkedgwm57SlejN6kSguWF8A5rnqXM8VUttOvBk&s=kzXULajO610BNm2msp9pFpTRwWd4XQsTIU2bLfLb7TM&e=
.

--
Scott Makeig, Research Scientist and Director, Swartz Center for
Computational Neuroscience, Institute for Neural Computation, University of
California San Diego, La Jolla CA 92093-0559, http://sccn.ucsd.edu/~scott

For the (move, a) and (a, (move)) examples, why are the extra parentheses around move needed in the second example?

HED strings are unordered, so (a, b) has the same meaning as (b, a).  If we
want downstream tools to be able to parse Subject Verb Direct-object, we
have to use parentheses.   (Move, A) and (A, Move) are treated exactly the
same way in HED. There is no ordering.  It would be nice to have a way up
front to distinguish between A moves and something else moves A.
On Wed, Aug 4, 2021 at 2:44 PM Stefan Appelhoff @.***>
wrote:

For the (move, a) and (a, (move)) examples, why are the extra parentheses
around move needed in the second example?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/hed-standard/hed-specification/issues/309#issuecomment-892925719,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJCJOWTTH47ZCDAMHZJFV3T3GKDTANCNFSM5BRHKGAQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.

We have thus far avoided discussing the issue because our examples have
always explicitly had Subject Verb Direct-object which was tagged as
(Subject, (Verb, Direct-object)).
On Wed, Aug 4, 2021 at 2:51 PM Kay Robbins @.***> wrote:

HED strings are unordered, so (a, b) has the same meaning as (b, a).  If
we want downstream tools to be able to parse Subject Verb Direct-object, we
have to use parentheses.   (Move, A) and (A, Move) are treated exactly the
same way in HED. There is no ordering.  It would be nice to have a way up
front to distinguish between A moves and something else moves A.
On Wed, Aug 4, 2021 at 2:44 PM Stefan Appelhoff @.***>
wrote:

For the (move, a) and (a, (move)) examples, why are the extra parentheses
around move needed in the second example?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/hed-standard/hed-specification/issues/309#issuecomment-892925719,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJCJOWTTH47ZCDAMHZJFV3T3GKDTANCNFSM5BRHKGAQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.

What if "Agent" and "Object" are special tags that denote the subject and object in an action? e.g. (Move, (Agent, Experimental-subject)) vs. (Move, (Object, Experimental-subject))
We may consider removing the current Agent subtree as the type of Agent can be largely inferred. e.g. Human-agent, Animal-agent, Robotic-agent, Software-agent from its position in the Item subtree.

It turns out that the specification has a case where Event must be in a top-level-tag-group and is not a top-level tag.  This is where within an event, another event is expressed as a delay or offset from the current event:
Event/Sensory-event, visual-presentation, (Event/Agent-action, Delay, 1.2s, Key-press)
This ability to express things happening as offsets might be valuable in the future. Until we introduce a better way to do this, we should not limit the role of the Event tag.

I would disagree with this - we should NOT encourage the lazy habit of
specifying only a few relative event latencies.  Instead, each event
latency must be expressed on a common timeline. (Hence as well the
importance for XDF data of allowing a timestamp for each data point in each
LSL data stream ...)
On Thu, Aug 12, 2021 at 1:56 PM VisLab @.***> wrote:

It turns out that the specification has a case where Event must be in a
top-level-tag-group and is not a top-level tag. This is where within an
event, another event is expressed as a delay or offset from the current
event:
Event/Sensory-event, visual-presentation, (Event/Agent-action, Delay,
1.2s, Key-press)
This ability to express things happening as offsets might be valuable in
the future. Until we introduce a better way to do this, we should not limit
the role of the Event tag.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_hed-2Dstandard_hed-2Dspecification_issues_309-23issuecomment-2D897849916&d=DwMCaQ&c=-35OiAkTchMrZOngvJPOeA&r=KEnFjcsfiKF_BPOsgvPP9w&m=XActRNR7PMS1oLz8wI8PxgYbiDJVbXjP700JaK7xX80&s=a4B71Fde7B1Jt3LRnRRHJAogjyF5hzh5T0gjahtWxCQ&e=,
or unsubscribe
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AKN2SFQLBD3NE3NVO57N7Z3T4QDOTANCNFSM5BRHKGAQ&d=DwMCaQ&c=-35OiAkTchMrZOngvJPOeA&r=KEnFjcsfiKF_BPOsgvPP9w&m=XActRNR7PMS1oLz8wI8PxgYbiDJVbXjP700JaK7xX80&s=6yhtl84TGbHbuq-MXCvF9QQ_Hv_MBS2pBqgdHAE39N0&e=
.
Triage notifications on the go with GitHub Mobile for iOS
https://urldefense.proofpoint.com/v2/url?u=https-3A__apps.apple.com_app_apple-2Dstore_id1477376905-3Fct-3Dnotification-2Demail-26mt-3D8-26pt-3D524675&d=DwMCaQ&c=-35OiAkTchMrZOngvJPOeA&r=KEnFjcsfiKF_BPOsgvPP9w&m=XActRNR7PMS1oLz8wI8PxgYbiDJVbXjP700JaK7xX80&s=aFZOMGbN5wEsO2fs2PKOUcD7JYIxKa7xQfsueVd7oPA&e=
or Android
https://urldefense.proofpoint.com/v2/url?u=https-3A__play.google.com_store_apps_details-3Fid-3Dcom.github.android-26utm-5Fcampaign-3Dnotification-2Demail&d=DwMCaQ&c=-35OiAkTchMrZOngvJPOeA&r=KEnFjcsfiKF_BPOsgvPP9w&m=XActRNR7PMS1oLz8wI8PxgYbiDJVbXjP700JaK7xX80&s=UVCmXAd9wMYzUaqoCR1mJ7aC-avKk2x2gg4BJ55dL8Y&e=
.

--
Scott Makeig, Research Scientist and Director, Swartz Center for
Computational Neuroscience, Institute for Neural Computation, University of
California San Diego, La Jolla CA 92093-0559, http://sccn.ucsd.edu/~scott


can it be made into a windows service?

i am not a professional developer, unlock fps necessarily require this program to start genshin? or alternatively, you can detection yuanshen. exe and make modifications after starting the program
then we can set it as a windows service,start on windows boot
In this way, we don't have to manually start unlock_fps every time before starting Genshin Impact
if possible, i would greatly appreciate it
if not possible, i apologize for asking foolish issue

Try task scheduler.

if you want to start on boot, just create a shortcut to the startup folder
and yes it does require the unlocker to start the game


Fixes around generic defintion EETypes

See individual commit descriptions.

Not that anyone would care, since this is not used anywhere.

There are couple of places where we do IsString check by comparing with EETypePtr.EETypePtrOf<string>(). It may look better to change those places to call the property, and change this property to just compare with EETypePtrOf() to avoid tricky condition.

👍

@dotnet-bot test Ubuntu Debug

@dotnet-bot test Windows_NT Debug

It may look better to change those places to call the property

Hm, I looked at them and while one place would benefit, the other place would end up worse off because it also compares to IntPtr and UIntPtr. We would lose consistency and it would be harder to read.


Grid expects two or more breakpoints

There are definitely cases where a site will have zero or one item(s) in $g-defaults, but that currently throws a Sass compilation error.

Fixed in https://github.com/mvcss/mvcss/commit/db6d984079a6abaf19adefdcee14fbd48d57486a


Kettle Issues - Shows Off when On, Temperature always 32 degrees

What issue do you have? Please be as thorough and explicit as possible.
Thanks for your work on this great plug in. The Kettle appears in Homekit and it is a combined device (a switch and a sensor). When I activate the device through Homekit, it initiates the boiling cycle, though in Homekit the switch immediately turns off (the kettle is still heating though). Also, it seems to always default to Black Tea / Boil setting which is not the temperature I would like to use. I use the Green Tea or Custom settings. Would be great if we could specify which setting to use.  In addition, the temperature always shows 32 degrees which is not correct. Is there something I am doing wrong?
Details of your setup.

Do you use (1) Homebridge UI-X (2) Homebridge CLI or (3) HOOBS?

Homebridge UI-X

Which version of Homebridge/HOOBS do you have?

v1.6.0

Which platform do you run Homebridge/HOOBS on (e.g. Raspberry Pi/Windows/HOOBS Box)? Please also mention your version of Node.js/NPM if known.

MacOS Ventura 13.1

Which version of this plugin (homebridge-govee) do you have? Has the issue started since upgrading from a previous version?

homebridge-govee v7.7.1

Which Govee devices do you have that are causing issues? Please include product models if applicable.

Smart Kettle
Please paste any relevant logs below.

I am also encountering this! (Homebridge UI-X on RPi) It's worth noting that the messages in the log appear to correctly report the current temperature, so this seems to be an issue of the data not getting to the right place (vs. not being available)
[08/01/2023, 21:23:46] [Govee] [Govee Smart Kettle] current target [100°C].
[08/01/2023, 21:23:46] [Govee] [Govee Smart Kettle] current on base [yes].
[08/01/2023, 21:23:46] [Govee] [Govee Smart Kettle] current temperature [86°C].

@macguyincali @alexanderspetrov
I am aware of these issues - the kettle is still a work in progress although I hope to have some better news soon.
However you will find the latest version of the plugin most likely makes the kettle stop working altogether - plan to get this fixed as soon as possible (eta days not weeks)

Just released a new beta enabling support for the kettle again (hopefully!)

excellent. Will take a look. Thanks!

let me know how it goes.
i also added config options to allow for the first two custom modes that you may have in the govee app

Hey there. Looks like the kettle functionality is back.  For some reason, on MacOS, it won't respond, but on iOS the switches do appear to work for the various Settings (green, oolong, coffee, blk/boil).  I'd like to try to set up the custom mode, but not quite sure how to do this.

Also, I should note that there is still a kettle related accessory in Homekit that still shows 32˚

Well done Ben!
I was hoping that at some point the individual settings might be addressable via homekit directly but I didn't think you would have this one out and done so quick. (Little did I know this kettle would fast become one my home's most used smart accessories.)
Thank you :)

Hey Ben!  Thanks for updating the plugin. I'm still confused about how to add the custom setting. Right now I have the built-in presets.  Also, I'm getting 32˚ as a temperature reading on the kettle.  Any thoughts would be appreciated!

OK. I've figured out how to add Custom mode; works like a charm.  Now, I'm still troubleshooting the temperature reading 32˚. Any fixes for this?

Any way to correct the temperature readings on the kettle?  (I now have 2). In the logs, they show up as having the correct temperature, but the accessory shows 32˚ and in HomeKit it shows 32˚ as well.


[Bug]: Export is timeout When use Format STYLE Alignment for all cell in sheet

Is the bug applicable and reproducable to the latest version of the package and hasn't it been reported before?

[X] Yes, it's still reproducable

What version of Laravel Excel are you using?
3.1.33
What version of Laravel are you using?
8.61.0
What version of PHP are you using?

=7.4

Describe your issue
When i use format alignment style for all cell in sheet - numbers of (rows:10k, columns:40), My action export-download is timeout and the performance is not good when i run on local.
How can the issue be reproduced?
$sheet->getStyle('A4':'AJ10004')
->getAlignment()
->setHorizontal(Alignment::HORIZONTAL_CENTER);
What should be the expected behaviour?
I looking forward to improving the performance of export-download when i format style on it.

Alignment is PhpSpreadsheet logic and something we cannot fix or improve over here.


Refactoring all markets related code

@adrian-carro I have separated out all of the code related to market operations into a separate markets package.  This exposed a number of issues with the structure of the housing package code.  I am going to refactor the code in the markets package to reflect what I think is a better overall organization structure.  When I am done, we can discuss this PR and you can decide whether or not you want to merge it.

@adrian-carro I was taking a look at the HousingMarket.java file and I noticed that there are no methods for removing bids or updating bids.  Do buyers never explicitly remove or cancel outstanding bids to buy homes? Do buyers never update the prices of there bids?

@adrian-carro If bidders never update their bids, then how are prices bid up in the event that a particular house get matched with multiple buyers?

@davidrpugh that's the seller who increases the price, not the buyer updating its bid.

@adrian-carro I am struggling to understand the principle behind the matching algorithm being used to match buyers and sellers in the market.  I think it is a kind of deferred acceptance algorithm where a buyer is initially matched to the highest quality house that it can afford; if, after all buyers have had a chance to be matched, matches between one buyer and one seller are finalized; for matches between a single seller and multiple buyers, the seller than increases the price until only single buyer remains.  Is this the idea?

@davidrpugh that's the basic idea, except that sellers matched with multiple bids get to bid up their price only once, and then they choose a random buyer among those who can still pay for it. In case none of them can, then the highest bidder gets selected. Hope this helps.

Thanks for confirming.  Here is a sketch Scala implementation of the algorithm discussed above.
import scala.collection.immutable.HashMap
import scala.util.Random

// define stub implementations of key classes
case class House(quality: Long)
case class HouseSaleRecord(householdId: Long, house: House, listPrice: Long)
case class HouseBuyerRecord(householdId: Long, limitPrice: Long)

// source of randomness
val prng: Random = new Random(42)

// test input data (would be stored in the HouseSaleMarket instance). Could improve the efficiency by maintaining the sellerRecords sorted in ascending order by listPrice.
val buyerRecords: Set[HouseBuyerRecord] = Set(HouseBuyerRecord(1, 100), HouseBuyerRecord(2, 105), HouseBuyerRecord(4, 105))
val sellerRecords: Set[HouseSaleRecord] = Set(HouseSaleRecord(3, House(15), 102), HouseSaleRecord(5, House(5), 100))

// first we create a mapping between a seller and a set of potential buyers
val preliminaryMatches: HashMap[HouseSaleRecord, Set[HouseBuyerRecord]] = {
  buyerRecords.aggregate(HashMap.empty[HouseSaleRecord, Set[HouseBuyerRecord]])(
    { case (aggregatedMatches, buyerRecord) =>
      val affordable = sellerRecords.filter(_.listPrice <= buyerRecord.limitPrice)
      if (affordable.isEmpty) {
        aggregatedMatches
      } else {
        val highestQuality = affordable.maxBy(_.house.quality)
        val matchedBuyerRecords = aggregatedMatches.getOrElse(highestQuality, Set())
        aggregatedMatches.updated(highestQuality, matchedBuyerRecords + buyerRecord)
      }
    },
    { case (matches, additionalMatches) =>
      matches.merged(additionalMatches)({ case ((k1, v1), (k2, v2)) => (k1, v1 ++ v2) })
    }
  )
}

preliminaryMatches  // Map(HouseSaleRecord(5,House(5),100) -> Set(HouseBuyerRecord(1,100)), HouseSaleRecord(3,House(15),102) -> Set(HouseBuyerRecord(2,105), HouseBuyerRecord(4,105))): scala.collection.immutable.HashMap

// then we finalize the matches
val finalizedMatches: HashMap[HouseSaleRecord, HouseBuyerRecord] = {
  preliminaryMatches.map {
    case (sellerRecord, buyerRecords) =>
    if (buyerRecords.size == 1) {
      (sellerRecord, buyerRecords.head)
    } else {  // this should really be an auction where the seller solicits sealed bids from the buyers!
      val shuffledBuyerRecords = prng.shuffle(buyerRecords)
      val randomBuyerRecord = shuffledBuyerRecords.head
      (sellerRecord, randomBuyerRecord)
    }
  }
}

finalizedMatches  //Map(HouseSaleRecord(5,House(5),100) -> HouseBuyerRecord(1,100), HouseSaleRecord(3,House(15),102) -> HouseBuyerRecord(2,105)): scala.collection.immutable.HashMap

At this point I think the matching process above should repeat until all possible matchings are exhausted.  For example given the above input data the following are unmatched records.
val unMatchedSellerRecords: Set[HouseSaleRecord] = sellerRecords.diff(finalizedMatches.keySet)
unMatchedSellerRecords // Set(): scala.collection.immutable.Set

val unMatchedBuyerRecords: Set[HouseBuyerRecord] = buyerRecords.diff(finalizedMatches.values.toSet)
unMatchedBuyerRecords  // Set(HouseBuyerRecord(4,105)): scala.collection.immutable.Set

Running the above algorithm again on these inputs would yield an empty set of preliminary matches and thus the algorithm would terminate.
This algorithm, which is identical in spirit to the one currently implemented in the model, is basically a "deferred acceptance" algorithm.  Most variants of deferred acceptance have been shown to converge to stable, but not necessarily optimal, matchings.
From the notes that have left in the HousingMarket.java class it appears that you are not entirely happy with the code.  Is this still the case?  Would you be open to replace the current algorithm?

@davidrpugh I hadn't really thought of replacing the market mechanism, but rather just solving a couple of details, such as the maximum number of rounds (which I think can be removed) or the concept of enoughBids (which could be better justified or removed). I can't find any other note in the code pointing at problems with the current algorithm. Also, I am not scala-literate at all, but it seems to me that the algorithm you're proposing is pretty much the same as the current one. Is what you are proposing just a refactoring of the same algorithm or replacing the current algorithm by a new one? In case the former is true, I think I'd rather keep the current format, unless changes are minor. In case the latter is true, then I'd still suggest to keep the current algorithm there, but I'm obviously not opposed to a second algorithm being there too as a choice for the user.

@adrian-carro I think the spirit of the current algorithm is fine (i.e., buyer tries to purchase the highest quality house that it can afford; initial matches are deferred until seller to extract a bit more surplus from multiple prospective buyers).
However it is not at all obvious to me that the current implementation is correct.  The HousingMarket.java class, for example, has a number of TODO notes that suggest a lack of confidence in what the code is actually doing.  Example:
if(config.BIDUP > 1.0) {
                    // TODO: All this enough bids mechanism is not explained! The 10000/N factor, the 0.5 added, and the
                    // TODO: topping of the function at 4 are not declared in the paper. Remove or explain!
                    enoughBids = Math.min(4, (int)(0.5 + nBids*10000.0/config.TARGET_POPULATION));
                    // TODO: Also, the role of MONTHS_UNDER_OFFER is not explained or declared!
                    pSuccessfulBid = Math.exp(-enoughBids*config.derivedParams.MONTHS_UNDER_OFFER);
                    geomDist = new GeometricDistribution(prng, pSuccessfulBid);
                    salePrice = offer.getPrice()*Math.pow(config.BIDUP, geomDist.sample());
                } else {
                    salePrice = offer.getPrice();
                }

I have tried to follow through the code but so much work is being done by side effects that it is impossible.
What I am proposing to do is to implement an algorithm that is in the same sprit as the current algorithm, but that is much simpler to understand (and more importantly test).

@davidrpugh Regarding the comments in the code that you point out, please, let me just clarify that they're not intended to show lack of confidence on how the code works but, rather, a misalignment between the code and the paper that needs to be corrected (probably in the paper). In any case, I think I understand now what you're proposing, and yes, it seems reasonable, as far as the current algorithm is also kept for now, while I take some time to check compatibility with previous results. Does this make sense for you?

@adrian-carro Yes, that makes sense.


Wallet module spamming epochs on zero height or something

The reason for https://github.com/fedimint/fedimint/issues/3102 is that wallet modules is spamming with epochs (generating them endlessly) for some reason. If I can get   https://github.com/fedimint/fedimint/pull/3201 to fail i'll be able to debug. :D

Actually I've found it: https://github.com/fedimint/fedimint/actions/runs/6193900461/job/16816547661

Last thought before sleep: sending same block height view should be consensus illegal. Probably the other part can't respond fast enough and so result if vote y is always None. Peer need to remember last vote and not submit lower vote, reject proposals of others like that as well.

Is this related to https://github.com/fedimint/fedimint/issues/3063? I saw this same problem with running setup UI against a federation using regtest bitcoin node that hadn't mined a block yet. So this seems like the same issue.

Yes. Looks the same.


cluster-driver-registrar permissions

cluster-driver-registrar design feels like it has some issues with respect to permissions and encourages what I think is an antipattern.
The trend of loading controllers into k8s and giving them enough access to self register crd's and other things has always felt a little bad. If your deploying with helm, helm is already dealing with registering objects and has all the permissions needed to register them. The permissions to do anything stop after its installed, so it can't be used to do further things to the cluster. This seems good. But, if you give a long running process permissions to do such things, then it can be used to do bad things later. Another facet is auditing. If its in helm, it can be easily parsed by a human and verified its safe before running. This is very hard to do if its buried inside code.

Spoke with @msau42 about this.
Sounds like the proposal is to keep the CSIDriver object, but instead of having it generated by the cluster-driver-registrar sidecar container, just have the driver author provide the manifest for the CSIDriver and have it created as part of driver deployment. This will also make clean up easier.
Overall seems reasonable and will reduce complexity. So I support it.

Yeah. Thats what I"m thinking.

This also eliminates the need for needing to run a long-running sidecar that will use up memory, but not really be actively reconciling anything

I'm ok with this as long as we document somewhere what to do.

We decided in today's CSI Meeting to go ahead and discontinue development of the cluster-driver-registrar.  We need to deprecate and update docs:

[ ] update README with deprecation
[ ] update csi-docs: CSINode, CSIDriver.  cluster-driver-registrar page

/assign @lpabon

One thing I started looking at was a need to be able to querie a plugins capabilities (ie from an external controller, perhaps I want to see if the provided storage supports Snapshots, Cloning etc etc).  I think it's a fairly important usage feature.  I was chatting with @lpabon and @msau42 about this and where it would live; it sounds like removing this may or may not have some implications.

Being able to inspect the driver in order to build an appropriate csidriver object would be useful. But having a whole agent for that running all the time sounds like too much to me. what about a go cli tool that does the inspection and dumps out to stdout a first stab at a csidriver object?

@kfox1111 I think it would be tough to ask customers to have a separate tool. I think the only cli we can depend on is kubectl. We could have a command instead of an object, but in the end, kubectl/Kube api is the only control plane.

I think there is a disconnect here...
I don't expect customers to build up the kubernetes packaging themselves. They will deploy static manifests or helm charts to load k8s objects that load the drivers into their cluster. As such, they will have an already built csidriver object as part of the deployment.
The separate tool, could optionally be used by the person building the packaging for the driver.

@kfox1111 Yeah, I see where you are going. Do you mind attending tomorrow's kube-csi meeting to discuss it with the team?

I think there is a disconnect here...
I don't expect customers to build up the kubernetes packaging themselves. They will deploy static manifests or helm charts to load k8s objects that load the drivers into their cluster. As such, they will have an already built csidriver object as part of the deployment.
The separate tool, could optionally be used by the person building the k8s packaging for the driver.

Ahh, yeah that doesn't help my use case; say for example I have a controller running that periodically takes snapshots, it would be useful for that controller to be able to determine if the PVC assigned to it can even support Snapshots.  Anyway, seems like a good primer for discussing this in tomorrows meeting.

I can try. its been historically hard for me to make it though.

@j-griffith thats what csidriver is for though I think? You can query k8s to see what features the csidriver supports?

Spoke too soon. Looks like it doesn't have a flag today to say if it supports snapshots.
Maybe it should though?

Spoke too soon. Looks like it doesn't have a flag today to say if it supports snapshots.
Maybe it should though?

Yep, I was getting at proposing something to actually reflect the response of a full GetCapabilities call.  I'm not sure how to request a describe on the csidriver object, anyway that's why I raised the point, gather all the pieces and bits of knowledge and see what we can come up with.  It may not have any impact on the registrar removal at all.

@j-griffith to support your use case I think there would need two pieces to implement:

Add capabilities to the CSIDriver object
Add a tool that can automatically generate a CSIDriver object

I agree with @kfox1111 that we shouldn't need a long running process to do this, and some outside utility or some not long-running sidecar should be sufficient.
Now there's also the issue that some volume features don't actually have a specific capability (like raw block), and that capability can only be determined by trying to use it and getting back a runtime error.

@j-griffith can you describe your controller in more detail and what it does?  It watches PVCs and then calls CreateSnapshot on the csi driver?

Now there's also the issue that some volume features don't actually have a specific capability (like raw block), and that capability can only be determined by trying to use it and getting back a runtime error.

This still could  be made a flag in CSIDriver and annotated by the packager. It just can't automatically be done.

@msau42 That was an arbitrary example, but I'll expand on the idea a bit, I think this deserves it's own issue (not sure which project it would belong to, but I lean towards Kubernetes API).  There are two things that stand out IMO:

In general a user should be able to determine what capabilities the underlying storage they have access to provides.  Whether they have multiple SC's or a single SC the only option I see currently to see if optional capabilities are supported is "try it and see if it works", whether that be Snapshot, Extend, Block Mode, Cloning (when it lands) etc.

More specifically in my contrived use case; say I have a controller that creates PVCs and launches some application pod that persists its data to the assigned PVC.  Let's also say one of the things that controller does is monitor the capacity usage of that PVC and expands it as necessary; or back to the Snapshot case, maybe I just have a simple Snapshot scheduler running.  Ideally I'd be able to check with Kuberentes to determine if the features I require are even available BEFORE creating volumes, deploying my app and running for some period of time only to then try to execute some operation and have it fail.

All of this is more about usability for a standard cluster user, not a developer or a cluster admin.  Don't know if that helps or not, I can be more precise if needed.

part 1 is interesting in that csidriver wouldn't necessarily solve it either, as there is a disconnect between driver and storageclass. Users can not necessarily see the storage class details they are using.
so, part 2 sounds like something like an operator, automating what the person might do in part 1.
This is an interesting set of use cases for sure. Definitely bigger then this container though. This almost feels like its big enough to need a KEP?

Thanks for the details, this helps me understand what perspectives we're looking at this from.
I'd like to expand a little bit on each persona:

A platform admin that wants to decide what drivers to use in their cluster and maybe is doing initial investigation of the storage landscape and all the options available.  At this point the driver is not installed and so there's nothing to query. I think the best option for discovering capabilities in this case is through documentation.  We're trying to do something like this in our csi drivers page
A Kubernetes user wants to figure out what storage options are available to them in the cluster. Ideally, the platform team should have documented and described their supported options and what StorageClasses are available, but if not, then querying the StorageClass and/or CSIDriver objects could be a possible solution.  However, since those objects are admin-scoped objects, then those users must have read access granted to them.  However, just because those options exist doesn't mean that the users can use them.  The admin may have set things like StorageClass quota per namespace.
A Kubernetes controller wants to automate some volume operations but wants to fail fast if the underlying driver doesn't support it.  This is something that I think CSIDriver can help with, although without seeing a specific example, I see it more of an optimization.  The operations themselves should already be failing with appropriate error messages.

part 1 is interesting in that csidriver wouldn't necessarily solve it either, as there is a disconnect between driver and storageclass. Users can not necessarily see the storage class details they are using.
so, part 2 sounds like something like an operator, automating what the person might do in part 1.
This is an interesting set of use cases for sure. Definitely bigger then this container though. This almost feels like its big enough to need a KEP?

Yeah, I think the gist of what I'm thinking here is to be able to use the Kubernetes API to say "hey, what capabilities are available for StorageClass foo, bar and biz; Then if I need/want to check a Volume for that same info I can easily derive it from the PVC object.
I apologize I'm not completely familiar with what's being suggested WRT the CSIDriver object, I believe folks are talking about an internal object that again isn't exposed via the Kube API.
I am inclined to agree that I don't think the registrar is where something like this should live.

CSIDriver is a K8s API object that currently contains some information about an installed driver: https://kubernetes-csi.github.io/docs/csi-driver-object.html

CSIDriver is a K8s API object that currently contains some information about an installed driver: https://kubernetes-csi.github.io/docs/csi-driver-object.html

Ahh, ok that doesn't work for me because I'm not running the registrar; which comes back to the original reason for the post here.

Are you running in a 1.14 cluster?
We're currently recommending that drivers create the CSIDriver object manually as part of their deployment specs.  Instead of running the cluster-driver-registrar

Yeah, with my user persona hat on, I can see the problem. both storageclass and csidriver are kind of scoped to be cluster admin tools. There isn't really an object that is user facing with the required info in it. Usually that would be stuck in documentation somewhere provided by the admin saying what storageclasses existed and what things it supports. like, the gold storage class provides better ha, or the fast storage class provides x iops... but being able to ask the cluster what storageclasses support snapshotting is really important too...
The csidriver should provide the needed info. but the user cant see it, plus they don't use it directly anyway. The storageclass is what they use, but they typically cant see that either...
The problem I guess, is you need to see some of the csidriver info through the lens of a user looking at the storage class.... Maybe an option would be to extend the storageclass api to have a functionality endpoint?
so, in rbac something like:

apiGroups:

"storage.k8s.io"
resources:
storageclasses/functionality
verbs:
get

Which would allow the user to ask for the safe bits of the associated csidriver object by the corresponding storageclass?
Definitely into needing a KEP though I think.

I think we may be overengineering this. At is simplest, we use cluster-driver-registrar as is today: One container creating a CSIDriver object providing information about the driver to the caller (user/admin).
The issue is that this is a running process wasting memory since once the CSIDriver object is created, it does not need to update it any longer.
We have discussed the possibility of changing cluster-driver-registrar from a running loop to a begin-end program so that it can be run in a Job. That way it will:

Create/update the CSIDriver object after communicating with the csi driver. Then stop.
Not waste memory.

If this is not desired, we can have another side-car container (provisioner?) register the CSIDriver. It is running already and it has leader support.

I spoke with @liggitt about the self-registration and permissions aspects from the original concern. The fact that this is a controller-level deployment, and can therefore be run in dedicated/restricted nodes (which can control specifically what workloads run on it) means that we're not concerned about this level of self-reporting compared to something like self-reporting Nodes.
@kfox1111 's concern about auditing I think still applies.  It's not easy to see the spec created before deployment since it's created on demand.  But I think manually crafting the CSIDriver object also makes it more likely that it's going to get out of date (and maybe that's ok).  Maybe we can support both models?  The sidecar that creates the object on demand, but it also has a "dry run" or "offline" mode that only writes the spec out to a file.

@kfox1111 's concern about auditing I think still applies. It's not easy to see the spec created before deployment since it's created on demand. But I think manually crafting the CSIDriver object also makes it more likely that it's going to get out of date (and maybe that's ok). Maybe we can support both models? The sidecar that creates the object on demand, but it also has a "dry run" or "offline" mode that only writes the spec out to a file.

I think we can leave it up to the vendors then to decide which model to use

Its also up to the operators. Which is my primary hat. Id much rather see a CSIDriver object up front, then to give a driver access to register them itself. If you let the vendors do too much, it makes it harder on the operators to validate. So no easy answer there.

Also, the risk of getting out of date applies to all of the packaging, not just the csidriver object. For example, what if the driver starts saying "I support snapshots" but the packaging doesn't add the sidecar for snapshot support yet? Having the csidriver packaging decoupled from the driver allows the specific csidriver info to be at the package level, stating what the whole k8s driver (csi driver + k8s packaging) supports.

note that I'm not opposed to the admin-created object, I just wasn't especially concerned about drivers self-reporting
I do think it needs to be clearer whether the CSIDriver spec is:

a tool for the storage-admin to control what features are enabled for a specific driver (which, to work, must be a subset of the features supported by the driver)
a recording of the observed or reported features supported by the driver

hmm.. I wasn't thinking it that way but that is interesting. I did not see it as an admin object but a packager. so maybe there really are 3 sets of different information:

the information from the csi driver on what features it supports
the information from the k8s packager that wraps up the csi driver stating what support the packaged version supports
a way for the admin to turn off support for a feature as they don't want it supported (disable snapshot support for example)

Support for the admin to override it might be useful.
I still think the csidriver object should be a packager object though. If the driver was fully self describing, it should have enough info that you could run a commandline tool against the csidriver and it would fully generate all the kubernetes packaging automatically. statefulsets/daemonsets/csidriver/rbac/etc. Doing just csidriver but not the rest feels like it could cause issues.

Did we reach any conclusion here? Our documentation says:

As of Kubernetes 1.14, this side car container is being refactored.

It has been two releases without any progress in the refactoring / redesign. The documentation also says that CSIDriver instances should be created "by installation manifest".
I am proposing deprecation of this sidecar in https://github.com/kubernetes-csi/cluster-driver-registrar/issues/48.

All documentation has been updated to mark this as deprecated and e2e tests updated.
/close


Resolves Spelling / Grammar on the menu interactions page

Fixes issue #62

Committed changes based on review suggestions. Ready for re-review @theresalech.


XHR polling sometimes create double connections.

I have not been able to nail, what exactly is causing this.
It seems that sometimes people using XHR polling, will be able to open two connections with one page load. When they disconnect, however, only one (the latter) of the connections will be disconnected. I was able to produce this problem, with a fairly simple setup - a static html file and nowjs logging to the browser every x second.
I need to react when people close the last tab to my site (in case of several tabs open), effectively shutting down all connection to nowjs. I had been doing this by keeping track on connections via user profiles, but the above bug cause this to break, as sometimes people will become ghosts, appearing to be connected, but in reality having disconnected a long time ago. I have been able to create a workaround for now, by reacting to any disconnect event, but this may lead to bad behavior for people running multiple tabs open in the browser.

Are you guys still experience this issue? I have been unsuccessful in reproducing

I'll check with @googletorp to see if he can still reproduce…


Cannot assign through subscript: 'annotationsByNode' setter is inaccessible

I used cocoa pod to retrieve the code.
When I try to run the project I get the following error in the pod files:
Cannot assign through subscript: 'annotationsByNode' setter is inaccessible

Ditto


Fix conform format() not falling back to LSP

according to conform.nvim documentation, lsp_fallback is a option on the format commands and not a global plugin configuration.
issue was reproduced and fixed with clangd/cpp files

@AndreCascais i'm thinking of making conform as default plugin in nvchad itself, so will keep this on hold!

done https://github.com/NvChad/NvChad/commit/2e54fce0281cee808c30ba309610abfcb69ee28a


Question: how to wrap an  tag into  tag?

Question or comment
I am looking to wrap an  tag into  tag. However, the documentation does seem to describe such functionality, only trimming tags. Any chance you could suggest me how it's done?
My goal is that every  would have a link that'd actually open that image in a new tab.

Hi @geantas - I think this would be possible in sanitize-html, but it would probably be easier to use "cheerio" as a second step after sanitize-html. The cheerio package is likely already installed in your project and is well suited to manipulating the DOM structure on the server.

@BoDonkey gives good advice here. Just a quick note that cheerio might or might not already be present since sanitize-html is often used outside of ApostropheCMS, and in any case you should explicitly npm install anything you plan to use in your project rather than relying on sub-dependencies being present, although it's true you only pay for the space once if it's already a sub-dependency.


Constraints on nested properties (ie CVTs) don't work when adding from Freebase

Attempting to use the constraint from #92 with Population -> Number (ie the number property of the Population CVT) doesn't work.  The problem is that the front end is setting the constraints property on the nested property, but the backend is looking only at the top level.
We need to not only make them agree, but also make the user aware of which context (ie top level or nested), they are writing the constraint for.
This was initially reported on the mailing  list and here: http://stackoverflow.com/questions/12956498/google-refine-add-column-from-freebase-constraint-does-not-seem-to-work

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

This was specific to Freebase's interface. The new data extension dialog for standard services does not support nested properties and does not handle constraints in the same way.


[stable/magic-ip-address] static IP addresses for node-local services

This chart is manually verified to work with the steps described in the README.

/assign @linki

@linki Hey. Thanks for maintaining the charts! Would you mind reviewing this?

Could anyone review this?

/ok-to-test

/lgtm
Apologies that we let this one get stale @mumoshu.

@viglesiasce Thanks for reviewing!
I've added the sign-off line to the commit message to make dco-labeler happy.

@viglesiasce And the LGTM status seems to have been reset. Could you approve it once again?

/lgtm


data-files in cabal file wrong

Setup: filepath wildcard 'test/test-suite/tests/draft3/optional/*.json' refers
to the directory 'test/test-suite/tests/draft3/optional', which does not exist
or is not a directory.

It looks like this is because there is a submodule which I didn’t clone.


Add specific Edge version to 'Browser Support' section

Edge 16 is the earliest version that could support Chota. I did not explicitly test that, though. But I think it is important to mention that not all versions of Edge are supported.

Thanks @troxler


UniformSpider masks the opposite side of the aperture when strut_width is large.

So an odd bug here, example:
transmission = dl.UniformSpider(1, 1.9, softening=0).transmission(256, 4)
plt.imshow(transmission)
plt.colorbar()

Cool works as expected here. However if we push the strut_width up to 2, the opposite side of the spider becomes occulted:
transmission = dl.UniformSpider(1, 2., softening=0).transmission(256, 4)
plt.imshow(transmission)
plt.colorbar()

This seems to be related the the softening parameter:
transmission = dl.UniformSpider(1, 2., softening=2).transmission(256, 4)
plt.imshow(transmission)
plt.colorbar()

I haven't had time to dive into this properly, but I suspect that this is related to #224.
Would to hear your thoughts @Jordan-Dennis

Fixed with #246


[5.8] Fix TrimStrings middleware for excluded array attributes

Problem
In TrimStrings (middleware class), array attributes declared in $except are ignored: the array values are trimmed anyway.
This pull request contains

a unit test for TrimStrings including a test for that special case
a fix

What the fix does
In the parent class TransformsRequest.php, the attribute name is passed to the cleanArray() function (as an optional parameter). It's then passed to the cleanValue() function as key. This allows the behaviour with $except to work properly in TrimStrings.
Notes
I'm not sure whether it's a proper way to do it, please let me know if there's a better way and feel free to modify this PR or implement a fix differently. Thank you.

Think I'll hold off on this for now since it seems there are a lot of other cases to cover as pointed out by @derekmd

Sounds good. Thank you Derek for reviewing this PR and pointing some of those cases out.
For anyone else having this problem, you can use this fix without touching Laravel source code: just add these functions in your TrimStrings middleware class to override those in TransformsRequest:
// override cleanValue() and cleanArray() from TransformsRequest so array attributes can also be excluded
// https://github.com/laravel/framework/pull/26350
protected function cleanValue($key, $value)
{
    if (is_array($value)) {
        return $this->cleanArray($value, $key);
    }

    return $this->transform($key, $value);
}

protected function cleanArray(array $data, $parentKey = null)
{
    return collect($data)->map(function ($value, $key) use ($parentKey) {
        $key = is_int($key) && is_string($parentKey) ? $parentKey : $key;

        return $this->cleanValue($key, $value);
    })->all();
}


Still not work on Android 10, got Activity.RESULT_CANCELED imediately.

I tried running the latest demo on my HUAWEI MATE30(Android 10) and got Activity.RESULT_CANCELED imediately after I select Camera on dialog. But it worked well on Android 7. Sorry for my poor English.

Seems bug of HUAWEI. It works fine on other Android 10 phones.

It's happening across devices man! I just tried so many ways to fix it, it's completely on what device you use, current codes work on majority of Android 10 devices but some have their own issues. Really hard to make it compatible for all.

any updates on this? anything I could do to help? Not sure why it always gives Activity.RESULT_CANCELLED...and only on Huawei as @qsjh898 said. I have a Redmi device and works just fine

@amanzan Avoid setting MediaStore.EXTRA_OUTPUT on Huawei can solve this problem to some extent.


Add additional information to documentation - write to csv

Is your feature request related to a problem? Please describe.
It's more me being a newbie, but I don't understand yet how to take the data here and be able to write it to a csv
Describe the solution you'd like
Additional tutorial in the docs in addition to the great job that has already been completed.
Describe alternatives you've considered
Pasting to notepad
Additional context
Appreciate your time, this is an amazing project.

Pandas makes this super easy!  Take the MLB example:
from sportsreference.mlb.boxscore import Boxscore
game = Boxscore('BOS201806070')
df = game.dataframe
The DataFrame object has a to_csv method:
from sportsreference.mlb.boxscore import Boxscore
game = Boxscore('BOS201806070')
df = game.dataframe
df.to_csv('path\data.csv')

jcurrey - thanks so much!
I used it with this example.
`from sportsreference.ncaaf.boxscore import Boxscore
import csv
game_data = Boxscore('2018-01-08-georgia')
print(game_data.home_points)  # Prints 23
print(game_data.away_points)  # Prints 26
df = game_data.dataframe  # Returns a Pandas DataFrame of game metrics
print (df)
df.to_csv('box.csv')`
Everything looks good, except the column under stadium is empty, and the column for time has the stadium name and location in the row.

jcurrey - what would you do for this situation?
`from sportsreference.ncaaf.rankings import Rankings
rankings = Rankings()
Prints a dictionary of just the team abbreviation and rank for the current
week.
##print(rankings.current)
Prints more detailed information including previous rank, full name, and
movement for all teams for the current week.
##print(rankings.current_extended)
Prints detailed information for all teams for all weeks where rankings
have been published for the requested season.
print(rankings.complete)
`
If I do the same thing trying to use pandas I get AttributeError: 'dict' object has no attribute 'dataframe'

A key thing to remember is data types.  A DataFrame is it's own object with properties and methods.  A dict is a python type, so it looks like you need to create a DataFrame object from that dict object.  And then you can call the df.to_csv method.
Side note–  this is more data wrangling than sports reference.  I'm pretty sure roclark throws us a dataframe object just so we can data wrangle easily.  Pandas is a great with plenty of resources out there, google the pandas library and check some stuff out if you're new to it.  But I imagine this is something you're looking for:
from sportsreference.ncaaf.rankings import Rankings
import pandas as pd

rankings = Rankings()

list_df = []

rc = rankings.complete

for n in rc:
    df = pd.DataFrame(rc[n])
    list_df.append(df)

df_final = pd.concat(list_df)

df_final.to_csv('weekly_rankings.csv')

Thanks @jcurrey for taking the time to respond here and provide a solid answer!
@kbrahm, does this answer your question, or do you need more help? You have a great idea in enhancing the documentation. I’ve received a few suggestions on adding more in-depth examples and plan on doing that in the future. It would be good to show how to manipulate data, save to a database, and even do things like find the tallest player on a roster, etc. To @jcurrey’s point, I wouldn’t say this is completely within the bounds of sportsreference, but it would be great to show others a few ways that you can actually use the package to solve more complex problems.
Lastly, @jcurrey and @kbrahm, do either of you have further questions or suggestions? Are there any features I could/should add here outside of expanding the documentation? If so, I will create a new issue for those features and keep this one open for the documentation update.
Thanks again to both!

@jcurrey That was exactly what I was looking to see. I know it was more of a general question and I appreciate you taking the time!
@roclark Should I create a bug report on the stadium data being in the time column? How about the error I was receiving when running the source code and figuring out how to use the classes and different years? I'll be sure to let you know if I think of any ways to make improvements or if I see anything that looks off.

@kbrahm yeah, opening up a new issue for the stadium data would be good so we can discuss that further and track the progress, as well as any others. I think that would be helpful for people that come to this page in the future to determine a resolution for any issues they run into, so this issue can be kept at documentation. Does that sound fair?

Sounds good @roclark. Thanks again!


Create TODO feature not working

I am on windows 7 and when I press ctrl-shift+t no TODO tags are created. I used the toolbar to toggle the TODO as well and that does not work as well.

Currently todo tags are only created when you are in an outline bullet - that is a paragraph beginning with a *, -, number with a period, etc.  Does that describe what you're doing?  If not, I'm interested in how a todo would work. Would the text of it be the current line or sentence?

After using a * it works. Sorry about that I am dumb.  I cant seem to get the TODOs to be displayed in the sidebar.

I do have enable Toolbar support and tool-bar installed.


Document how to apply a Vite plugin  just to the client build

Matthew describes how to do it here (also copied below):  https://github.com/withastro/astro/issues/5870#issuecomment-1405609124
Where would we see this going in docs?

The code shown here is Astro's internal code; it does not run in the browser. I think the problem is you are using a Vite plugin that is running both to transform the server code and the client code.
If you want to run a Vite plugin just on the client code you'll need to use the integration API to do that, which would work something like this:
import pluginLegacy from '@vitejs/plugin-legacy';
import { defineConfig } from 'astro/config';
export default defineConfig({
  integrations: [
    {
      name: 'my-integration',
      hooks: {
        'astro:build:setup': ({ vite, target }) => {
          if(target === 'client') {
            vite.plugins.push(pluginLegacy());
          }
        }
      }
    }
  ]
});

I think this fits really well as one of our new Recipes!

https://github.com/withastro/astro/issues/5870#issuecomment-1407368142

I just used this in order to run a plugin to set react and react-dom as externals and fetch them from esm.sh in a client side rendered Island. It also can help to set other dependencies as externals and apply an import map. I've made a couple of examples here:

Import map at build time
Import map at run time

This failed silently when I tried to use this recipe, possibly because it tries to run the plugin/vite-option for the server as well? The use case for this can be to run import maps, those can also be used to share dependencies across micro-frontends.

Example with micro-frontends

Let me know if there is anything you'd like to know if something is unclear.

I also wrote an article about Micro-frontends and Astro 😊

Not 100% sure if this example works well in all cases, so will close for now rather than documenting.


Thank you note, feedback and a couple of feature requests...

Hey, first of all, the thank you note: I've been using/testing Twitter clients in Linux pretty much since I moved to Linux (from Windows) a year and a half ago. I was very happy with Choqok, but is REALLY heavy on resources (~450MB on memory on my computer)... I knew a Terminal-based client would be much lighter on resources, but it would also be much less attractive and possibly lacking features and so on... Boy, was I wrong! I'm very happy with Rainbowstream's super small footprint on resources (~85MB, and that's including the ~50MB that the Terminal uses), so again, thank you very much for your work on this little nifty Twitter client, keep it up!
Let's give you some feedback: I'm pretty happy with the themes coloring (I'm in love with Solarize), I really like the simplicity and easy setup (Turses is too complex and ugly for my taste, though multiple Twitter accounts in Rainbowstream would be nice)... But the absolute winner is the -iot feature, that's the selling feature I LOVE about Rainbowstream that makes me stick with it!
And finally, a couple feature requests that I'd like to see in future versions: The first, most important and possibly hard to implement feature I really need in Rainbowstream is a better history/unread management... You see, I'm from Venezuela and this is a crappy country with a crappier Internet connectivity. I have connection instabilities for several periods during the day and Rainbowstream seems to manage connection drops rather poorly. It simply posts a "-- Heartbeat Timeout --
You can use switch command to return to your stream. Type h stream for more details." and I have to try several commands ("switch mine" and/or "r" and/or exit and restart the application) to resume the stream normally again and then put a "home 10, 50" or whatever number I think would show me the tweets I might have missed during the interruption... An automatic history/unread detection would be awesome to resume from last read tweet or something like that.
Another weird "feature" of Rainbowstream that I find useless and rather annoying is the "hangup" condition that stops the stream after 2h... I've set the number in the config file to 0 to see if it eliminates the feature, but after 12 hours or some unpredictable time, still hangs up the stream... I'd like to know if I can suppress that condition and keep the stream ON indefinitely (my computer is ON pretty much 24/7 for several days or weeks, even).
Another small thing I'd like to customize is the "padding" of tweets: both, vertically (with respect to other tweets)) and horizontally (with respect to the Terminal borders)... Currently there's no padding/space between tweets vertically, I'd like to test how it looks with 1 line of separation between them, and currently there's 1 or 2 characters of horizontal separation at the beginning of every tweet and info about RTs, Favs and so on... I'd like it to be cero... Those two things could be in the config.jason file for the user to play with and it doesn't seem to be a complicated thing to code... I think.
This last thing is not a feature request, but I stumbled upon this post on somebody's blog about Rainbowstream's Image on Terminal feature and proposes a couple stuff to improve the image representation that seems to work well. If you haven't seen it, it might be nice to check it out: http://softwarebakery.com/maato/image_in_terminal.html
Well, that's it, again, thank you very much for this cool project and sorry for the long post.
Greets.
tuqueque.

Thanks to your post and the link to maato's page, I had a go at testing out support for 24-bit images on the terminal, which is supported by a list of terminal emulators. I had a go at implementing something like what maato did in Go, and the result is here: https://github.com/Tenzer/explosion.
You can compare the output from maato with what I've got and see the difference. That is however without me implementing the extra resolution by using the sub-pixels. (I believe the vertical lines are due to the font used on my machine, and the block not going all the way to the top of each character).
It should be quite easy to add in Rainbow Stream as well as my Go implementation is only 58 lines in total.

Oh, on a related note I saw that iTerm 3 is going to support showing real images in the terminal, it's however using their own made ANSI escape sequence, but I guess that's better than anything else for users who use that: https://iterm2.com/features.html (See the "Inline Images" header).

That's awesome! ... I don't use Mac, I use Linux (Manjaro), but the 24-bit image feature would be great in Rainbowstream; I hope it gets implemented... I'm also hoping you implement maato's higher resolution trick.
Thank you for your interest, keep it up!


Adding collections Pixar us presidents

Included a series of Pixar characters representing all the 46 US Presidents, with their names inscribed as ordinals, onto Bitcoin.

Adding a series of Pixar characters representing all the 46 US Presidents, with their names inscribed as ordinals, onto Bitcoin


Add github workflow to verify Espressif ESP32 sample

Purpose
Add a workflow to validate PRs do not break the Espressif ESP32 sample.
Does this introduce a breaking change?

[ ] Yes
[x] No

Pull Request Type
What kind of change does this Pull Request introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[x] Other... Please describe: CI pipeline improvement.

How to Test
Just create a PR and verify the output of "ESPRESSIF ESP32 CI Tests"
What to Check
The check has completed successfully.
Additionally verify the end of the check log contains information for flashing a device:
Project build complete. To flash, run this command:
/opt/esp/python_env/idf4.4_py3.8_env/bin/python opt/esp/idf/components/esptool_py/esptool/esptool.py -p (PORT) -b 460800 --before default_reset --after hard_reset --chip esp32  write_flash --flash_mode dio --flash_size detect --flash_freq 40m 0x1000 iot-middleware-freertos-samples/demos/projects/ESPRESSIF/esp32/build/bootloader/bootloader.bin 0x8000 iot-middleware-freertos-samples/demos/projects/ESPRESSIF/esp32/build/partition_table/partition-table.bin 0x10000 iot-middleware-freertos-samples/demos/projects/ESPRESSIF/esp32/build/azure_iot_freertos_esp32.bin
or run 'idf.py -p (PORT) flash'

Other Information

set -o errexit # Exit if command failed.

Should we add -all to build all and default should be all. Then we have following documentation.
eg:
ci_tests.sh [-st] [-nxp] [-pc] [-esp]

if none specified all vendors are build
#! /bin/bash
Copyright (c) Microsoft. All rights reserved.
Licensed under the MIT license. See LICENSE file in the project root for full license information.

ci_tests.sh [-st] [-nxp] [-pc] [-esp]

if none specified all vendors are build

set -o errexit # Exit if command failed.
set -o nounset # Exit if variable not set.
set -o pipefail # Exit if pipe failed.
TEST_SCRIPT_DIR=dirname "$0"
TEST_FREERTOS_SRC=pwd/libs/FreeRTOS
RUN_BOARDS_BUILD=${@:-"-st -nxp -pc -esp"}
function exit_if_binary_does_not_exist()
{
local search_dir=$1
local filename=$2
if [ $(find "$search_dir" -name "$filename") ]; then
  echo "$filename is found in $search_dir"
else
  echo "$filename not found"
  exit 1
fi

}
function sample_build() {
local vendor=$1
local board=$2
local outdir=$3
if [ $vendor == "ESPRESSIF" ]
then
  idf.py build -C ./demos/projects/ESPRESSIF/esp32
else
  cmake -G Ninja -DBOARD=$board -DVENDOR=$vendor -B$outdir -DFREERTOS_PATH=$TEST_FREERTOS_SRC .
  cmake --build $outdir
fi

}
for arg in $RUN_BOARDS_BUILD
do
case "$arg" in
"-esp")
echo -e "::group::Building sample for ESPRESSIF ESP32 port"
sample_build "ESPRESSIF" "esp32" "build"
exit_if_binary_does_not_exist "./demos/projects/ESPRESSIF/esp32/build" "azure_iot_freertos_esp32.bin"
;;
"-nxp")
echo -e "::group::Building sample for NXP mimxrt1060 port"
sample_build "NXP" "mimxrt1060" "build_nxp_mimxrt1060"
exit_if_binary_does_not_exist "build_nxp_mimxrt1060" "iot-middleware-sample.elf"
exit_if_binary_does_not_exist "build_nxp_mimxrt1060" "iot-middleware-sample-pnp.elf"
;;
"-st")
sample_build "ST" "b-l475e-iot01a" "build_st_b-l475e-iot01a"
exit_if_binary_does_not_exist "build_st_b-l475e-iot01a" "iot-middleware-sample.elf"
exit_if_binary_does_not_exist "build_st_b-l475e-iot01a" "iot-middleware-sample-pnp.elf"
exit_if_binary_does_not_exist "build_st_b-l475e-iot01a" "iot-middleware-sample-gsg.elf"
                sample_build "ST" "stm32h745i-disco" "build_st_stm32h745i-disco"
exit_if_binary_does_not_exist "build_st_stm32h745i-disco" "iot-middleware-sample.elf"
exit_if_binary_does_not_exist "build_st_stm32h745i-disco" "iot-middleware-sample-pnp.elf"

echo -e "::group::Building sample for ST b-l4s5i-iot01a port"
sample_build "ST" "b-l4s5i-iot01a" "build_st_b-l4s5i-iot01a"
exit_if_binary_does_not_exist "build_st_b-l4s5i-iot01a" "iot-middleware-sample.elf"
exit_if_binary_does_not_exist "build_st_b-l4s5i-iot01a" "iot-middleware-sample-pnp.elf"

            ;;
            "-pc")
            sample_build "PC" "linux" "build_pc_linux"
            exit_if_binary_does_not_exist "build_pc_linux" "iot-middleware-sample"
            exit_if_binary_does_not_exist "build_pc_linux" "iot-middleware-sample-pnp"
                    ;;
    * )
            echo "build for $arg not found";;
    esac

done

Refers to: .github/scripts/ci_tests.sh:6 in 0f338b6. [](commit_id = 0f338b6608e35392b5466f2fb40a4aa8be48dc00, deletion_comment = False)


Compability with Xaero's World Map

Is your feature request related to a problem? Please describe.
When I open the world map in the train, the player actually stopped, so does the train. (Visually)
When I close the world map, the player and the train will be 'teleported' into the position they should be.
Describe the solution you'd like
When I open the world map in the train, I can see that I'm moving, like in Journeymap.

Related to #487


Include params rather than inherit them.

This will allow user-set variables to be passed to params, as the main class (init.pp) will be evaluated first.

Hi All - Any issues with this PR?

The standard pattern for all Puppet modules nowadays is to inherit the params class and use the values in it as defaults. This module is not fully made this way because it's quite old and hasn't been fully updated this way. However, is something is to be done, I'd rather it be to use standard practices.

This has been dealt with via #169 - closing this


Proximity fade causes disappearing objects and potential crashes

Godot version:
v3.1.beta2.official
OS/device including version:
Windows 10 Pro
Issue description:
Proximity fade will occasionally do one of the following:
-Cause the program to crash
-Not work
-Cause screen-based dithering (has only happened in one experience)
-Cause a mesh to disappear upon opening the project until it is selected in the editor
It also appears invisible to cameras and other viewports, in my experience. However, they don't appear after the object is selected in the heirarchy.
Steps to reproduce:
Open the project and click the mesh instance in the scene heirarchy to make it appear. The cube is placed at 0,0,0 with a rotation of 0,0,0.
Image of before clicking in the heirarchy:

Image of after clicking in the heirarchy:

Minimal reproduction project:
The project is called "Distance fade" despite the fact that it's a proximity fade problem.
bug_test.zip

I can confirm with my own proximity fade tests.
Actually, proximity fade worked in my project for most of the 3.1 betas I tried, and I didn't realize it was broken until the 3.1 stable version. I created my own minimal project to make sure something wasn't screwy with my actual project. Here's how it looks in the editor in 3.1 RC2:

And here's how it looks in the editor in 3.1 RC3:

It's invisible on opening the scene, appears solid after clicking on it in the hierarchy, and is invisible when actually running the scene.
The same thing happens in 3.1 stable.

I also have this problem.
Here is a screenshot in editor - no depth fade is working but it at least shows the objects:

in when I run the game:

those boxes in the middle of the scene are a test. the red one is a normal material.
the blue cube is the wame material as my water. The white one is a new spatial material with depth fade set to enabled.
Oddly when I made a test project, the problem did not occur.
I put a cube on a plane, applied my water material and it seemed to work fine (but not in the editor).
I'm running Linux Manjaro, Godot 3.1 branch.

Might related to: #25535

Yes. Its the same issue.


Fix typo in Mix task name

Thanks so much for Recode! It's made my devex sooooo much better. 💜
I was setting it up in a new project and ran into this typo when I copied and pasted the suggested command. Easy enough to diagnose for someone familiar with how the rest of the ecosystem works, but it could potentially trip someone up.

Thank you for your contribution and the kind words.


Move to organization level julia ci/cd

This PR also fixes our x86 (32-bit) compatibility which was non-existent until we started testing for it in this PR.
Also using the Julia language server which has support for formatting code has resulted in lots of style changes to make the Julia formatting more consistent.

Ah yeah @epatters I was just using the built in formatting commands from the Julia language servers and the standard Julia formatting specification. I'll revert them and just do the changes that I made to fix the 32 bit support

One that gets changed, is this good to merge? Want to have time to get this merged in tomorrow morning if possible

This will be an active blocker getting any other AlgebraicJulia package moved over to the new setup since they will need these fixes to be 32 bit compatible

We might want to look into formalizing the formatting of AlgebraicJulia packages to avoid this in the future and also clean up our code. This will make it easier for outside collaborators to contribute as well. There are currently a lot of mixed format standards such as inconsiderate spacing of parameters/list items and inconsistent uses of single/double quotes are a couple that the formatter seems to really pick up on. The biggest thing we would have to figure out is probably just disabling indentation checking by a formatter since the indentation used in Catlab isn't able to be done programmatically.

Yes, once the formatting changes are reverted, this is good to merge. Thanks Micah!


Add Java ND4J (Moore-Penrose) Pseudo Inverse (left/right) Implementation

What changes were proposed in this pull request?
Add methods to compute the left and right pseudo-inverse by simple
matrix multiplications directly in ND4J according to
https://en.wikipedia.org/wiki/Moore–Penrose_inverse#Definition
The method makes use of InvertMatrix.invert(..) which at the moment
uses apache commons math so this is not a 100% ND4J based implementation but
as soon as someone implements an invert method in ND4J using Blas this
should be fine.
See also: #2858
How was this patch tested?
Tests for left and right inverse are added in TestInvertMatrices.java
for working and nonworking (singular matrix) cases.

Is this the same as pull #2861?

No, #2861 relies on apache commons math's QRDecomposition (See also wiki) while this pull request offers the direct closed-form solutions to right/left pseudo-inverses.

Ah, I see, what do you think @tteofili?

sounds good to me to use this pseudo inverse impl because it only relies on commons-math for the inverse calculation, so as soon as inverse is fixed with a pure nd4j impl, the pseudo inverse calculation won't depend on commons-math anymore either.

I'm not sure but it might be worth having both implementations. I'm not too deep into the actual math there, but is there a case where you cannot compute the pseudo matrix via the closed form solution while it is possible using a decomposition method? The closed form solution requires the input matrix to have either full row rank (right pseudo-inverse) or full column rank (left pseudo-inverse). The decomposition methods require the decomposed matrices to be non-singular as they usually use some components of the decomposed matrix and invert them which results in the pseudo-inverse for the input matrix. Is there a situation in which the input matrix does not have full rank but the decomposed matrices are not singular? @tteofili

Ok, let's merge both for now and keep on working on this :) We'll need to add a test for pinvert() too...
Thanks for the contributions guys!


Test tweaks

The extra logging in TestReleaseImages is for #1123, see commit messages for more comments.

LGTM


linkage_checker: system framework links are harmless.

These do not seem to cause runtime errors.
Fixes #9338

Review period will end on 2020-12-01 at 14:30:46 UTC.

Review period skipped due to critical label.


unable to run ui tests- app is not getting installed

{
"app": "/Users/nabsofken/Library/Developer/Xcode/DerivedData/myapp-bzxylkuxaecrglemjcbvxzoztvow/Build/Products/UITest-iphonesimulator/myapp-Debug.app",
"runner-app-path" : "/Users/nabsofken/Library/Developer/Xcode/DerivedData/myapp-bzxylkuxaecrglemjcbvxzoztvow/Build/Products/UITest-iphonesimulator/myapp-Runner.app",
"scheme-path": "/Users/nabsofken/TwixiOS/myapp.xcodeproj/xcshareddata/xcschemes/myappUITests.xcscheme",
"test" : "/Users/nabsofken/Library/Developer/Xcode/DerivedData/myapp-bzxylkuxaecrglemjcbvxzoztvow/Build/Products/UITest-iphonesimulator/myapp.xctest",
"output-dir": "/Users/nabsofken/TwixiOS/build/",
"device" : "iPhone 7 Plus",
"junit-output" : true,
"num-sims" : 1
}

I am using the above config but the main debug app is not getting installed in the simulator but the runner app is. Not sure what I am doing wrong. Below is my console log

2017-03-22 11:36:50.770 bluepill[50619:954887] There is .xctest file under /Users/nabsofken/Library/Developer/Xcode/DerivedData/myapp-bzxylkuxaecrglemjcbvxzoztvow/Build/Products/UITest-iphonesimulator/myapp-Debug.app/Plugins
{50619} 20170322.113650 [  INFO  ] No unit test detected - The folder “Plugins” doesn’t exist.
{50619} 20170322.113651 [  INFO  ] No UI test bundle detected The folder “Plugins” doesn’t exist.
{50619} 20170322.113651 [  INFO  ] This is Bluepill v0.2.3-44-g33eea9c
{50619} 20170322.113651 [  INFO  ] Running with 1 simulator.
{50619} 20170322.113651 [  INFO  ] Packed tests into 1 bundles
{50619} 20170322.113651 [  INFO  ] Started Simulator 1 (PID 50636).
2017-03-22 11:36:51.310 bp[50636:954917] SimDevice is loaded..
{50636} 20170322.113651 [  INFO  ] (SIM-1) Running Tests. Attempt Number 1.
{50636} 20170322.113651 [  INFO  ] (SIM-1) [Attempt 1] Create Simulator
{50636} 20170322.113651 [  INFO  ] (SIM-1) Running in NON-headless mode...
{50619} 20170322.113652 [  INFO  ] 1 Simulator still running. [1]
{50619} 20170322.113652 [  INFO  ] Using 331 of 1064 processes.
{50636} 20170322.113652 [  INFO  ] (SIM-1) Simulator 4116BFF9-D540-4DBF-8F7F-9E93F6675AA6 achieved the BOOTED state
{50636} 20170322.113652 [  INFO  ] (SIM-1) Completed: [Attempt 1] Create Simulator 4116BFF9-D540-4DBF-8F7F-9E93F6675AA6
{50636} 20170322.113652 [  INFO  ] (SIM-1) [Attempt 1] Install Application
{50636} 20170322.113711 [  INFO  ] (SIM-1) Completed: [Attempt 1] Install Application
{50636} 20170322.113711 [  INFO  ] (SIM-1) [Attempt 1] Launch Application
{50636} 20170322.113711 [  INFO  ] (SIM-1) Yay, after the launch async call!!![Attempt 1] Launch Application
{50619} 20170322.113722 [  INFO  ] 1 Simulator still running. [1]
{50619} 20170322.113722 [  INFO  ] Using 402 of 1064 processes.
{50636} 20170322.113745 [  INFO  ] (SIM-1) Launch succeeded
{50636} 20170322.113745 [  INFO  ] (SIM-1) No error
{50636} 20170322.113745 [  INFO  ] (SIM-1) Completion block for launch
{50636} 20170322.113745 [  INFO  ] (SIM-1) Calling completion block
{50636} 20170322.113745 [  INFO  ] (SIM-1) Completed: [Attempt 1] Launch Application
{50619} 20170322.113752 [  INFO  ] 1 Simulator still running. [1]
{50619} 20170322.113752 [  INFO  ] Using 413 of 1064 processes.
2017-03-22 11:38:15.684 bp[50636:957735] Daemon connection: got whitelisting response and daemon protocol version 22
2017-03-22 11:38:15.684 bp[50636:957735] Daemon connection: ready to execute test plan

Because there is no UI tests bundle built. Have you specified build-for-testing when you build the app?

yes I did a build-for-testing step beforehand. But it only seems to install the runner app during execution

That's expected. In UI tests, normally you'll call [[[XCUIApplication alloc] init] launch]; in your test code, that line of code will trigger the installation and launch of the app.
Please double check if you have the correct UI test bundles in your build folder.


Update... eliminated binaries of CPython 3.10.0 Beta 3.

Update...

Stop it. You will be banned from this org if you continue sending spam PRs.


Add the ability to reorder the side icons.

Any reason why this should be implemented? Mainly the pros of it, I feel like just creating blank feature requests without any description why it should be implemented or what is the reasoning you want it is kind of meh and people should stop doing that.

Duplicate of #783


Fixing dsl for python.details {}

Moving from using project to setting the deletage on the closure
This should also make sure that if people have pygradle loaded their
groovy IDE should be able to let you know what the options are for the
closure.
This removes an integ test and adds a unit test. The integ test sets a
value to make sure the parse works, but doesn't require another test
(which adds a bunch of time to builds)
This fixes the issues in #31 and supersedes it.

This is failing because #35 needs to be done first. It adds the travis config file to make it build.

Go ahead and rebase to get the checks passing.


How do I view the version?

I had to discover az --version myself with trial and error, it's not documented.

@derekbekoe

@derekbekoe: Looks like it simply needs to be exposed in help. Lets discuss if there is more


Errors on ranges not handled correctly

it 'accepts a time range' do
  range = Time.new...Time.new
  expect(a_double).to receive(:random_call).with(range: range)
  a_double.random_call(range: 1)
end

fails with not what I'd expect.
  1) argument matchers matching ranges accepts a time range
     Failure/Error: a_double.random_call(range: 1)
     TypeError:
       can't iterate from Time
     # /usr/local/tanga/ruby_2.2.0-gh-201503006-1/lib/ruby/gems/2.2.0/bundler/gems/rspec-support-afdba844f4a5/lib/rspec/support/fuzzy_matcher.rb:18:in `each'
     # /usr/local/tanga/ruby_2.2.0-gh-201503006-1/lib/ruby/gems/2.2.0/bundler/gems/rspec-support-afdba844f4a5/lib/rspec/support/fuzzy_matcher.rb:18:in `include?'
     # /usr/local/tanga/ruby_2.2.0-gh-201503006-1/lib/ruby/gems/2.2.0/bundler/gems/rspec-support-afdba844f4a5/lib/rspec/support/fuzzy_matcher.rb:18:in `include?'
     # /usr/local/tanga/ruby_2.2.0-gh-201503006-1/lib/ruby/gems/2.2.0/bundler/gems/rspec-support-afdba844f4a5/lib/rspec/support/fuzzy_matcher.rb:18:in `==='
     # /usr/local/tanga/ruby_2.2.0-gh-201503006-1/lib/ruby/gems/2.2.0/bundler/gems/rspec-support-afdba844f4a5/lib/rspec/support/fuzzy_matcher.rb:18:in `values_match?'
     # /usr/local/tanga/ruby_2.2.0-gh-201503006-1/lib/ruby/gems/2.2.0/bundler/gems/rspec-support-afdba844f4a5/lib/rspec/support/fuzzy_matcher.rb:41:in `block in hashes_match?'
     # /usr/local/tanga/ruby_2.2.0-gh-201503006-1/lib/ruby/gems/2.2.0/bundler/gems/rspec-support-afdba844f4a5/lib/rspec/support/fuzzy_matcher.rb:39:in `each'
     # /usr/local/tanga/ruby_2.2.0-gh-201503006-1/lib/ruby/gems/2.2.0/bundler/gems/rspec-support-afdba844f4a5/lib/rspec/support/fuzzy_matcher.rb:39:in `all?'
     # /usr/local/tanga/ruby_2.2.0-gh-201503006-1/lib/ruby/gems/2.2.0/bundler/gems/rspec-support-afdba844f4a5/lib/rspec/support/fuzzy_matcher.rb:39:in `hashes_match?'
     # /usr/local/tanga/ruby_2.2.0-gh-201503006-1/lib/ruby/gems/2.2.0/bundler/gems/rspec-support-afdba844f4a5/lib/rspec/support/fuzzy_matcher.rb:10:in `values_match?'
     # /usr/local/tanga/ruby_2.2.0-gh-201503006-1/lib/ruby/gems/2.2.0/bundler/gems/rspec-support-afdba844f4a5/lib/rspec/support/fuzzy_matcher.rb:31:in `block in arrays_match?'
     # /usr/local/tanga/ruby_2.2.0-gh-201503006-1/lib/ruby/gems/2.2.0/bundler/gems/rspec-support-afdba844f4a5/lib/rspec/support/fuzzy_matcher.rb:30:in `each'
     # /usr/local/tanga/ruby_2.2.0-gh-201503006-1/lib/ruby/gems/2.2.0/bundler/gems/rspec-support-afdba844f4a5/lib/rspec/support/fuzzy_matcher.rb:30:in `all?'
     # /usr/local/tanga/ruby_2.2.0-gh-201503006-1/lib/ruby/gems/2.2.0/bundler/gems/rspec-support-afdba844f4a5/lib/rspec/support/fuzzy_matcher.rb:30:in `arrays_match?'
     # /usr/local/tanga/ruby_2.2.0-gh-201503006-1/lib/ruby/gems/2.2.0/bundler/gems/rspec-support-afdba844f4a5/lib/rspec/support/fuzzy_matcher.rb:12:in `values_match?'

Thanks for reporting this, @joevandyk.  I believe this is a bug in time range objects --- === just flat out doesn't work on them, but did in 1.8.7.  I opened an issue with the ruby core team:
https://bugs.ruby-lang.org/issues/11113
I'd rather not put special-case handling in RSpec for time range objects to avoid calling === but we may have to.  I want to wait to hear what the ruby core team says about the bug, though.

As a temporary work around, you can wrap your range object in the eq matcher (or an alias), as that will only call == on the range:
it 'accepts a time range' do
  range = Time.new...Time.new
  expect(a_double).to receive(:random_call).with(range: an_object_eq_to(range))
  a_double.random_call(range: 1)
end

Not great, but it works.

So it looks like the ruby core team has promptly fixed this:
https://github.com/ruby/ruby/commit/b0616346f8098d0f2063c48ee61c09eb2ddc851e
Given that it's a ruby bug that has already been fixed and there's a reasonable work around shown above, I don't think it makes sense for us to put special case code in rspec to work around this.  I'm going to close this.  Thanks again for reporting it, @joevandyk.


I want to have a confirmtaion before deleting a connection. i have used editor.removeConnection = function() {} method, and whenever i click on delete, this gets triggered. What should i write in my confirm message inorder to delete the connection

	_this.editor.removeConnection = function(id) {
	const res = confirm('are u sure u want to delete');
		if(res == true){

//which method should i use
}
}

using _this.editor.dispatch('connectionRemoved');
it goes into this event, but connection is still visible in the UI

View: https://github.com/jerosoler/Drawflow/issues/240
Closed for duplicate.


Bump Apalache to 0.45.6

Hello :octocat:
We just released a version of Apalache that includes an apalache-mc.bat file, enabling Quint to start that file in order to run Apalache on Windows.
This PR bumps the Apalache version so we can use that, and then adds CHANGELOG entries related to Windows so we can cut a release

I would recommend you to bump to 0.46.1 right away. It has two nice fine-tuning features for quint verify: https://github.com/apalache-mc/apalache/blob/main/CHANGES.md#0461---2024-09-24


Consider using custom dtypes over numpy builtins

What is wrong?
The types provided by numpy default to the endianness of the machine.  I.E., if the machine's native floating point is big-endian, then numpy.float32 will also default to big endian.
WASM always wants littleendian.
How can it be fixed.
Short term, we can add an import-time assertion:
# wasm/__init__.py
import sys
assert sys.byteorder == 'little'

Long term we should replace all usage of numpy types with the following equivalents which aren't succeptable to the underlying hardware being the wrong endianness

numpy.uint32 -> numpy.dtype('<u4')
numpy.uint64 -> numpy.dtype('<u8')
numpy.int32 -> numpy.dtype('<i4')
numpy.int64 -> numpy.dtype('<i8')
numpy.float32 -> numpy.dtype('<f4')
numpy.float64 -> numpy.dtype('<f8')

We already had a short discussion about this where you pointed out that WASM binaries encode values in little-endian order.  So there's definitely a need to be explicit about this in certain cases.
I wanted to be sure and point out that I think there's some value in letting numpy do its thing once it has a value that it can use.  In other words, we only care about endianness when decoding or encoding values, but not when doing arithmetic with them or anything like that.  I don't even know if numpy supports doing arithmetic operations with a different internal byte order, but, if it does, I imagine there's a performance cost involved.


Reimporting same Jfrog Xray report 2nd time mitigated some of the issue while others are untouched

Hello Team, I have one engagement under some product. I imported Jfrog Xray report 1st import and again I reimported the same report with option close old findings check marked. During this process it mitigated 3 findings.
Not Sure how those findings closed
Repro steps:

Freshly import new report - created x findings
Reimport same result with "close old findings check marked"
Message- mitigated 3 findings

Docker_docker.io-amazon-aws-alb-ingress-controller_version-v1.1.5_sumkumar_2022-01-17.zip
Attaching the sample Jfrog xray file
Please note I used JFROG-XRAY SCAN  scanner to import this report

There are no deduplication settings for the JFrog Xray Scan in the settings, that will be the reason. I will investigate more and write a PR.

merged for release 2.7.0


The server parameters are not expanded correctly

Environment

Operating System: Darwin
Node Version:     v20.0.0
Nuxt Version:     3.4.2
Nitro Version:    2.3.3
Package Manager<EMAIL_ADDRESS>Builder:          vite
User Config:      devtools
Runtime Modules:  -
Build Modules:    -

Reproduction
https://github.com/nulltask/nuxt-server-route-parameters-repro
Describe the bug
The server parameters are not expanded correctly.

api/[year]-[month]/index.ts

actual: event.context.params => { "year-:month": "2023-4" }
expected: event.context.params => { year: "2023", month: "4" }

Additional context
No response
Logs
No response

@danielroe Thank you for the information and your incredible works.