Fix local connection over port 22 error PR #10462

Fixes Issue #10462 to use local connection without resorting to ssh-ing into localhost, as recommended in
https://docs.ansible.com/ansible/2.6/user_guide/playbooks_delegation.html#local-playbooks

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: gekart
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: gbaufake
If they are not already assigned, you can assign the PR to them by writing /assign @gbaufake in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/kubernetes/ansible/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Hi @gekart. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

I signed it! "Thanks, your CLA has been submitted."

/lgtm

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: gbaufake, gekart
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/kubernetes/ansible/OWNERS [gbaufake]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@gekart
Can you cherry-pick this commit and submit a PR to istio-release-1.1 branch?
Regards,
Guilherme Baufaker Rêgo

/ok-to-test

@gekart: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
1300871982eb23a0c86c4d7b4f1ae590fb719367
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@gbaufake I don't have permissions to force merge.  IMO this PR should have merged long ago.  Once the gate is passing, the PR will merge automatically with current github labels.  Try rebasing.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: gbaufake, gekart, sdake
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/kubernetes/ansible/OWNERS [gbaufake,sdake]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@sdake
can we merge this PR?


Instancing example throws error and corrupts LÖVR on macOS

My system:
MacBook Pro 2023 with M2 Pro
Version of lovr:
0.17.1 (macOS)
What is happening?
When I run the instancing example, lovr shows the following error:

After that, every attempt to start lovr (no matter the project code, or even standalone) fails, showing the following error on the console:
[mvk-error] VK_ERROR_INITIALIZATION_FAILED: Shader library compile failed (Error code 3):
program_source:165:5: error: use of undeclared identifier '_0'
    _0 = gl_ViewIndex - spvViewMask[0];
    ^
.
Error:

GPU error: Pipeline cache creation failed (VK_ERROR_INITIALIZATION_FAILED)

Stack:

boot.lua:92: in function <boot.lua:4>
[C]: in function 'xpcall'

Deleting lovr's shader cache restores lovr back into a functioning state:
rm -rf ~/Library/Application\ Support/LOVR/

To reproduce:
git clone https://github.com/bjornbytes/lovr-docs
cd lovr-docs/examples/Optimization/Instancing/
lovr .

I tried to narrow this down to see what exactly is triggering this by implementing instanced drawing step by step. It seems to happen as soon as my vertex shader starts making use of InstanceIndex, which also isn't listed as a built-in on the Shaders page in the docs.

Instancing appears to be work fine in current dev (41da42b153c11b5adba03cae9ae908851c9f5347).

Interesting, this maybe sounds like a bug in MoltenVK/SPIRV-Cross.  Which version of MoltenVK do you have?
On dev, the InstanceIndex macro changed from gl_InstanceIndex - gl_BaseInstance to just plain gl_InstanceIndex.  Maybe that ended up inadvertently working around a shader compiler issue?
(InstanceIndex isn't on the Shaders guide because that page currently doesn't list any of the builtin GLSL variables, but it should probably mention that!).

Actually, another thing I remembered is that in March we upgraded GitHub actions to use MoltenVK 1.3.275 (up from 1.3.231).  It's more likely that this upgrade is what fixed it on dev.  See #761.

On dev, the InstanceIndex macro changed from gl_InstanceIndex - gl_BaseInstance to just plain gl_InstanceIndex. Maybe that ended up inadvertently working around a shader compiler issue?

Just for the record, I tried using the gl_* variables directly, and got the same crash.

Actually, another thing I remembered is that in March we upgraded GitHub actions to use MoltenVK 1.3.275 (up from 1.3.231). It's more likely that this upgrade is what fixed it on dev. See #761.

Yeah, that sounds much more likely. I so far haven't managed to get 0.17.1 compiled, but I'll have another go at it today and report back.

Going to close this since it was accidentally fixed on dev.  This is definitely a bug in spirv-cross related to multiview.

@bjornbytes Is this fixed in the latest macOS builds? As I've actually installed the most recent stable build on macOS, but I still see the error.

It's fixed on dev, not stable


testmodeler pack issue after 2.4.0

when depending on testmodeler 2.4.0+, test and generation could not work.

Following up with Rodge on the consuming in dotnet project.

Rodge confirmed 2.6.1 is used in dotnet without issues.


Play button is too small

It should be bigger, and the viz should start 'playing' upon loading.

Not sure if @mwernimont or @jiwalker-usgs is better suited to resolve this.

I made it bigger in #81 , just need autoplay


[Bug] Back button is not using localized string in Onboarding

As shown here, the 'ActionBack' button is not respecting the localized string in the onboarding tutorial.
Expected: Button says Précédent

Looks good on Android too.

Fixed


500 Error When Enabling SSL for Secure LDAP

Laravel Version: #5.8.*#
Adldap2-Laravel Version: #6.0#
PHP Version: #7.2.14#
LDAP Type:  ActiveDirectory

Description:
We are atttempting to implement secure LDAP connection in order to write back to Active Directory.  I have the following configured in config/ldap.php
'port' => env('LDAP_PORT', 636), // SSL
'username' => env('LDAP_USERNAME', 'serviceaccount@localdomain'),
'password' => env('LDAP_PASSWORD', 'xxxxxxxxxxx'),
'use_ssl' => env('LDAP_USE_SSL', true),

Steps To Reproduce:
When I change config file to the above setting and clear the configuration cache and then attempt to login, I get a 500 internal server error.  I am not sure how to identify the error in order to troubleshoot it further.  We are running on Windows Server 2016 and our system administrator assures me that the server and DC's are all configured to allow secure LDAP.

Hi @kellerisddev,
You should look at your Laravel logs, via the storage/logs directory. That's where all errors and exceptions are posted.

Thanks @stevebauman , I have looked at that and unfortunately, it is not telling me why I am getting a 500 error.  It simply says the following:
[2020-05-19 09:07:42] local.INFO: LDAP (ldaps://local.domain:636) - Connection: default - Operation: Binding - Username<EMAIL_ADDRESS>I do notice that when I successfully connect via Port 389 there are two lines logged
[2020-05-19 00:00:03] local.INFO: LDAP (ldap://local.domain:389) - Connection: default - Operation: Binding -  Username<EMAIL_ADDRESS>[2020-05-19 00:00:03] local.INFO: LDAP (ldap://local.domain:389) - Connection: default - Operation: Bound -  Username<EMAIL_ADDRESS>Does that hold any significance?
Why would it fail to bind the same user securely if it is able to bind it insecurely?

Are you receiving a Laravel exception, or an IIS server exception? If no exceptions are posted in your storage/logs directory, I would look at your servers logs. Doesn't sound right to me that your app is blowing up without any type of log entry of the error.

It looks to be an  IIS server exception.  Just a
500 - Internal server error.
There is a problem with the resource you are looking for, and it cannot be displayed.

Sorry @kellerisddev! I'm not able to help you debug server IIS issues as I do not have access to it or it's logs / resources.


Support gRPC load balancing between mixer and the adapter

This change makes the service "Headless" returning a set of A records for the backing pods.
Adding a max connection age to the gRPC server forces mixer to reconnect at intervals and pick up additional pods.
This change depends on https://github.com/istio/istio/pull/14607 to work effectively but remains compatible so is safe to merge.

Codecov Report

Merging #104 into master will increase coverage by 0.03%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #104      +/-   ##
==========================================
+ Coverage   86.47%   86.51%   +0.03%
==========================================
  Files           7        7
  Lines         695      697       +2
==========================================
+ Hits          601      603       +2
  Misses         67       67
  Partials       27       27

Impacted Files
Coverage Δ

pkg/threescale/threescale.go
83.85% <100%> (+0.16%)
:arrow_up:

Continue to review full report at Codecov.

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

:+1:


added java code

Hey there, I m a beginner, just coded my Fibonacci series, kidly merge

Sure! Please provide a screenshot of your working code.

There's a code already written in Java.
You can update the existing code.


Can I make a keyboard button take a picture?

So when you click the button it opens the camera then takes a picture.

This is not possible according to telegram bot api documentation


SAMMI (Hobby CBM) training data has no participant ID.

In the testing data we collected from the Hobby CBM study, we did not find any participant ID column in the Jspsych_trials data files. It contains a "study" column, but its values are all "Templeton". It also has a "participant" column, but it is empty.

There is a participant id column that is populated.  I've verified this and shown it to Sonia and Anna.


[MRG] refactor the directory structures

The pull request is ready to be merged.

Pull Request Test Coverage Report for Build 786

16 of 16 (100.0%)  changed or added relevant lines in 9 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 95.041%

Totals

Change from base Build 784:
0.2%

Covered Lines:
2089

Relevant Lines:
2198

💛  - Coveralls


Missing bias tensor is not handled correctly in FullyConnected

The bias tensor at FullyConnected layer is optional. The implementation https://github.com/VeriSilicon/tflite-vx-delegate/blob/debeff61ebbf1366534878ded23990261600922b/op_map.cc#L447 does not handles this correctly. The bias tensor (index 2 in node->inputs->data[] ) can be -1, which indicates the bias tensor is missing.
    for (int i = 0; i < node->inputs->size; i++) {
      int input_index = node->inputs->data[i];
      if (context->tensors[input_index].type == kTfLiteInt16) {
        TFLITE_LOG_PROD(TFLITE_LOG_ERROR, "Int16 input is not supported");
        return false;
      }
    }

If the bias tensor is missing the VX Delegate crash with Segmentation Fault (tries to access invalid index: context->tensors[-1].type )

@robert-kalmar ,
Yes, we are going to fix this soon. Thanks for point out the issue. Beside this issue, we also need Tim-vx's change to support FullConnected with input/weight only.


webbreaker_install and webinspect_repo fail when launching a scan

A webinspect scan fails, when launching a webbreaker webinspect scan --settings myscan.xml.  The dir settings are not consistent, one --settings option will identify a settings file in a different location than where my git repo exists as determined by the other dir value.

Remove the two directory settings in the config.ini, values will no longer be configurable by the user, rather directory structures will be tightly coupled to the user home directory under the ($HOME or %USERPROFILE%) .webbreaker subdirectory.  Configuration values affected and scoped for the change are.
[webbreaker_install]
dir = .

[webinspect_repo]
dir = ./.webbreaker/etc/webinspect

Refactor config.ini blocks for webinspect, threadfix, and fortify, values.  Current blocks in-scope for refactoring are listed below.
<insert blocks here

PR #93 partially corrected the issue. There is still a couple of corrections to be made in webinspect config to resolve bug

remediated in v2.0.06 dir_static branch


[tvOS] onPress animation with magnification

Related to: #15454
Motivation: Improve tvOS feeling for TouchableHighlight
This is a new behaviour proposal with animation based on tvParallaxProperties :

When you select the button he is focus and the underlay is show
When you press the button, there is an animation, but after the animation, the focus is on the button and the underlay is show

Test Plan
Play with tvParallaxProperties on tvOS, test with and without patch just to see the actual behaviour
			<TouchableHighlight
						tvParallaxProperties={{
							enabled: true,
							shiftDistanceX: 0,
							shiftDistanceY: 0,
							tiltAngle: 0,
							magnification: 1.1,
                                                        pressMagnification: 1.0,
							pressDuration: 0.3,
						}}
						underlayColor="black"
						onShowUnderlay={() => (console.log("onShowUnderlay")}
						onHideUnderlay={() =>  (console.log("onHideUnderlay")}
						onPress={() =>  (console.log("onPress")}
					>
						<Image
							style={styles.image}
							source={ uri: 'https://www.facebook.com/images/fb_icon_325x325.png' }
						/>
					</TouchableHighlight>

cc @dlowder-salesforce

This is a nice idea.  Two suggestions:

Enable this on other touchables, e.g. TouchableOpacity
Maybe have a separate magnification property for the press, like pressMagnification.  The developer may not want magnification for the focus animation, but may want it for the press action.

@dlowder-salesforce Thank for you answer 👍
I'll add this pressMagnification property

Any update ?

@JulienKode thanks very much, I'll take another look at this today or tomorrow.  Be advised that there is another PR in flight (#15561) that affects the same files, so once that is committed, please merge from upstream.

Having a look now -- I made a branch from latest master that includes your changes, and trying this out to see how everything is working.  https://github.com/dlowder-salesforce/react-native/tree/julien-kode-patch-3

@dlowder-salesforce Sorry for the time, I've apply your changes to the branch and I've update the test plan,
The test plan looks good to you ?

Test plan is ok.

@dlowder-salesforce Sorry for my mistake, I have solve it

Any update ?

@JulienKode I'm working on a modal bugfix, then I will get back to looking at this 👍

@JulienKode this looks ok now.... @shergin or @javache could you please review?

@dlowder-salesforce  Ok perfect thanks

Any update ?

This is to change the behavior of onPress on tvOS, to look like native

@JulienKode I'll have another look this week, now that tvOS compile issues have been resolved.  Could you merge this up to latest master so that CI can run?

I've just resolve some conflict with the master, now the branch is up to date

@hramos @shergin This looks good and tests are passing..... could you please import this?

Feels like this should be a in the TouchableNativeFeedback component instead of changing TouchableHighlight. TouchableHighlight sounds like it highlights the element, while TouchableNativeFeedback feels like it would give the native OS feedback.

TouchableNativeFeedback is intended for Android, and has a dummy implementation on iOS.  I'll have a look to see if these properties could be added in a more general way (maybe the Touchable mixin).

TouchableNativeFeedback is intended for Android

It's implemented for Android, yeah, but since the name doesn't have the Android suffix, it leads me to believe that it wasn't intended to stay that way. I could be wrong.

Having TouchableNativeFeedback "just work" as one would expect on the native platform sounds like a good approach, as that would let us keep TouchableOpacity and TouchableHighlight working just like the name says - a plain opacity/highlight change.

I should make the changes on TouchableNativeFeedback?
Because the fact that TouchableHighlight have a strange behavior on tvOS (for a Button), it does not make it pleasant to use
May be I'm wrong

If we fixed TouchableNativeFeedback, can we ask people to use it on tvOS instead of TouchableHighlight?

I'm looking at @JulienKode 's changes again.... the way it's implemented, these are just part of tvParallaxProperties object, so they should work for any Touchable.  Yes it would probably make sense to enable TouchableNativeFeedback for Apple TV, and these properties should be added to all the Touchable components (including TouchableHighlight and TouchableOpacity).

@shergin or @hramos could you please go ahead and import this... I'll take an action item to work with @JulienKode on a separate PR to add the new properties to other Touchable components.

Can we start from fixing code style issues?

@shergin What is the part that need for you to be fix ?

@hramos Thanks for the review I've added the new properties to the docs facebook/react-native-website#176

This PR should land soon - had to rebase the PR first.

@hramos Thank you


Projective

Side stepping the merits of the arg order switch.  Timing of such a change, the day before a release, seems wildly dangerous.  That is the kind of thing, if done, is better that day after a release for the next one.

Can you explain if there is an impact regarding code that may already call tgis function?

The arg order switch doesn’t change the number of arguments, and so doesn’t break, and, in fact, fixes the implementation of mesh rotations so that all the various rotation conversions are consistent.  The naming itself re-enforces this consistency (Quaternions, Euler angles, etc. are NOT in Yaw-Pitch-Roll convention, mathematically).
With that said, there is nothing forcing the change to be applied at a certain time.
Sent from Windows Mail
From: Jeff Palmer
Sent: Monday, February 9, 2015 9:40 AM
To: BabylonJS/Babylon.js
Cc: Onyeka Obi
Side stepping the merits of the arg order switch. Timing of such a change, the day before a release, seems wildly dangerous. That is the kind of thing, if done, is better that day after a release for the next one.
—
Reply to this email directly or view it on GitHub.

It breaks AbstractMesh.calcMovePOV().  Probably others in repository.

I might need to you clarify what you mean by “break” in that case.
Sent from Windows Mail
From: Jeff Palmer
Sent: Monday, February 9, 2015 9:52 AM
To: BabylonJS/Babylon.js
Cc: Onyeka Obi
It breaks AbstractMesh.calcMovePOV(). Probably others in repository.
—
Reply to this email directly or view it on GitHub.

This is what I was thinking about. Could you push a PR with a new function instead of a replace?

This function is called during mesh rotation when quaternions are not used.  In that code, it essentially aides a transformation from Euler Angles to a quaternion, and then to a matrix.  However, the function is currently in the wrong convention, and so it does not match the rotations done with quaternions.
Sent from Windows Mail
From: David Catuhe
Sent: Monday, February 9, 2015 9:50 AM
To: BabylonJS/Babylon.js
Cc: Onyeka Obi
Can you explain if there is an impact regarding code that may already call tgis function?
—
Reply to this email directly or view it on GitHub.

Anyone calling code expecting a given order, got it to work that way.  When I made the method above, I just got it to work.  Yaw Pitch & roll not really in my vocabulary.  Now I would be processing the old way still
If this were 2 weeks ago, I would not even commented.  My yelp is about timing.

So what about renaming this function to whateverAlphaBetaGamma and use this new function for computeWorldMatrix

FYI, Not just me.  Did a search found used in TargetCamera, OculusGamepadCamera.

Good idea.  OK
Sent from Windows Mail
From: David Catuhe
Sent: Monday, February 9, 2015 9:56 AM
To: BabylonJS/Babylon.js
Cc: Onyeka Obi
This is what I was thinking about. Could you push a PR with a new function instead of a replace?
—
Reply to this email directly or view it on GitHub.

Understood
Sent from Windows Mail
From: Jeff Palmer
Sent: Monday, February 9, 2015 10:05 AM
To: BabylonJS/Babylon.js
Cc: Onyeka Obi
Anyone calling code expecting a given order, got it to work that way. When I made the method above, I just got it to work. Yaw Pitch & roll not really in my vocabulary. Now I would be processing the old way still
If this were 2 weeks ago, I would not even commented. My yelp is about timing.
—
Reply to this email directly or view it on GitHub.

This will work.
Sent from Windows Mail
From: David Catuhe
Sent: Monday, February 9, 2015 10:07 AM
To: BabylonJS/Babylon.js
Cc: Onyeka Obi
So what about renaming this function to whateverAlphaBetaGamma and use this new function for computeWorldMatrix
—
Reply to this email directly or view it on GitHub.

The idea here is that RotationYawPitchRoll is currently incorrect in all of these functions.  In that case, correcting it will “break” it.  David Catuhe has proposed adding a RotationAlphaBetaGamma, instead of subbing the current function.  I will proceed that way, so that either can be used.
Sent from Windows Mail
From: Jeff Palmer
Sent: Monday, February 9, 2015 10:19 AM
To: BabylonJS/Babylon.js
Cc: Onyeka Obi
FYI, Not just me. Did a search found used in TargetCamera, OculusGamepadCamera.
—
Reply to this email directly or view it on GitHub.


Add SetSheetViewOptions()

I have implemented #145 ("Add support for setting SheetView.showGridLines") by adding two new methods:

SetSheetViewOptions(sheetName string, viewIndex int, opts ...SheetViewOption) error
GetSheetViewOptions(sheetName string, viewIndex int, opts ...SheetViewOptionPtr) error

The options value are given by the user through types that have privates methods that implement the private SheetViewOption and SheetViewOptionPtr interfaces:

DefaultGridColor(bool)
RightToLeft(bool)
ShowFormulas(bool)
ShowGridLines(bool)
ShowRowColHeaders(bool)

Examples:
err := xl.SetSheetViewOptions("Sheet1", -1, excelize.ShowGridLines(true))

var showGridLines excelize.ShowGridLines
err := xl.GetSheetViewOptions("Sheet1", -1, &showGridLines)

Codecov Report

Merging #149 into master will decrease coverage by 1.46%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master     #149      +/-   ##
==========================================
- Coverage   98.45%   96.98%   -1.47%
==========================================
  Files          14       14
  Lines        3171     3219      +48
==========================================
  Hits         3122     3122
- Misses         30       78      +48
  Partials       19       19

Impacted Files
Coverage Δ

sheet.go
84.46% <0%> (-13.25%)
:arrow_down:

Continue to review full report at Codecov.

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

Ready for review.

@xuri I have more improvements on which I'm working. Could you give me some feedback on this one?

@dolmen Could you squash the commits and refine the commit message, you can copy the description of the PR to the squashed commit in this case.

Squash done.


TermGenie instance for Plant Trait Ontology

@cmungall  has set up an instance of TermGenie for the Plant Trait Ontology.  I am copying the various comments here for clarity:
From #353 :
CM: Use TermGenie for any trait that conforms to the attribute-entity pattern
Permanent URL (up now)    http://to.termgenie.org/
Proposed workflow for new requesters (from CM):

Sign up for a persona account (use the link above)
Add a ticket to the TO tracker, include persona username, requesting TG permission. I will take care of these.

Added new term using TermGenie:
[Term]
id: TO:TEMP-eqsimple00
name: plant embryo cotyledon color
def: "A embryo cotyledon morphology trait (TO:0000775) which is the color of a plant embryo cotyledon (PO:0025470)." []
synonym: "embryo cotyledon color trait" EXACT [GOC:TermGenie]
is_a: TO:0000326 {is_inferred="true"} ! leaf color
is_a: TO:0000775 {is_inferred="true"} ! embryo cotyledon morphology trait
intersection_of: PATO:0000014 ! color
intersection_of: inheres_in PO:0025470 ! embryo cotyledon
relationship: inheres_in PO:0025470 {is_inferred="true"} ! embryo cotyledon
created_by: cooperl
creation_date: 2015-11-20T01:01:34Z
TermGenie seems to be using an older version of the PO?

Response from @cmungall from #353
Did you do the Review and Submit step?
With your submitter hat on, the end result for you should be a TO ID (with your gatekeeper hat, you can push it out the queue into the ontology)
It's using the official release version of the PO - see the metadata here
http://obofoundry.github.io/ontology/po.html
https://github.com/OBOFoundry/OBOFoundry.github.io/edit/master/ontology/po.md

That links to an old version?     http://obofoundry.github.io/ontology/po.html
Header stanza from the po.obo file:
format-version: 1.2
data-version: releases/2015-09-21   (not sure what this is, it is not the date of the last release)
date: 26:07:2013 14:51
saved-by: cooperl
auto-generated-by: OBO-Edit 2.3-beta5

Here are some issues Ethan and I have come across so far:
def’n uses “associated with”
doesn’t insert the parent term in the def’n
pato quality “has number of” makes for strange names and def’ns
synonym generated is just the name currently.  Does not pull synonyms from the PO
Ethan couldn’t submit a term “user is not authorized to execute a commit”
Austin was also not authorized

To authorize, I will need the exact email/ID you use with Persona (to sign up for a persona account, click login in TG and follow the instructions).
Then place the email in this ticket. If it isn't someone I recognize it's best if you or Lol vouches for them

@cmungall this is my persona account : marieangelique.laporte

I think the account is a full email address

I will sign on with “maxglycine”
On Nov 23, 2015, at 3:17 PM, Chris Mungall <notifications<EMAIL_ADDRESS>wrote:
To authorize, I will need the exact email/ID you use with Persona (to sign up for a persona account, click login in TG and follow the instructions).
Then place the email in this ticket. If it isn't someone I recognize it's best if you or Lol vouches for them
—
Reply to this email directly or view it on GitHubhttps://github.com/Planteome/plant-trait-ontology/issues/361#issuecomment-159066989.
Rex Nelson
Computational Biologist
G329 Agronomy Hall
Iowa State University
Ames, IA 50011
nelsonrt<EMAIL_ADDRESS>515-294-1297
"Time flies like an arrow. Fruit flies like a banana"

On 24 Nov 2015, at 11:51, Rex Nelson wrote:

I will sign on with “maxglycine”

Your persona id will be an email address, I believe, so I will need the
complete address - gmail?

maxglycine<EMAIL_ADDRESS>On Nov 24, 2015, at 1:54 PM, Chris Mungall <notifications<EMAIL_ADDRESS>wrote:
On 24 Nov 2015, at 11:51, Rex Nelson wrote:

I will sign on with “maxglycine”

Your persona id will be an email address, I believe, so I will need the
complete address - gmail?
—
Reply to this email directly or view it on GitHubhttps://github.com/Planteome/plant-trait-ontology/issues/361#issuecomment-159387221.
Rex Nelson
Computational Biologist
G329 Agronomy Hall
Iowa State University
Ames, IA 50011
nelsonrt<EMAIL_ADDRESS>515-294-1297
"Time flies like an arrow. Fruit flies like a banana"

Created another test term today, here is the response:
Hello,
this is a confirmation that the following terms have been submitted for review in TermGenie:
[Term]
id: TO:1000000
name: stem internode bent
def: "A trait which is associated with the bent of a stem internode." [GOC:TermGenie]
synonym: "internodo del tallo (Spanish) bent" EXACT [GOC:TermGenie]
synonym: "???
Template needs to be modified to removed the "associated with" phrase which we no longer use in the TO
We do not need the Spanish and Japanese translations and these are not working anyway. Can eliminate? Looks like it is pulling from the PO.
Template needs to be modified so the starts with the genus (parent) term.
I still am not getting these notifications- how do I get my "gatekeeper hat"?

id: TO:1000000- id was generated, but it is incorrect

This is what I put in the to-idranges file for TG (TG always gets its own ID range, it's never the ID range of the submitter). We can change this if you like but this is a TG convention, it's meaningless anyway

I put in my TO:cooperl in the dbxref, but it is displaying [GOC:TermGenie] instead.

hmm, sounds like a bug

Template needs to be modified to removed the "associated with" phrase which we no longer use in the TO

Can you specify the template?

We do not need the Spanish and Japanese translations and these are not working anyway. Can eliminate? Looks like it is pulling from the PO.

We can't eliminate this automatically as PO is not using the correct language tags, so a machine has no reliable way of knowing which language a synonym is in.

Template needs to be modified so the starts with the genus (parent) term.

You mean the text def? It does look weird, but the assumption is that this is used for traits not phenotypes. If we want phenotypes we should have a different template.
In the interim you can override the text def.

I still am not getting these notifications- how do I get my "gatekeeper hat"?

Did you click the box to receive notifications?
I'm not sure if an email gets sent out to gatekeepers - @hdietze can confirm. In GO there is a rota and people check at the end of the day or when prodded.
You can get to the review page here:
http://to.termgenie.org/TermGenieReview.html

Missing Xref
That is a bug, this will be fixed very soon (see https://github.com/geneontology/termgenie/commit/be2eefcc2df58e0d30b45408452b9e4481221fe6)
GOC:TermGenie
This can now be changed on the application level. If there is a TO specific xref to use, we can now change it.
Notification E-mails
E-mails are only send on one/two point(s) during the whole TermGenie process:

If the checkbox is set, after submitting a request to the queue
Once the Gatekeeper has committed the request to the editors file

The e-mail is only send to the original requester. There is no e-mail send to anyone else at any stage, there is no notification that a request has been added to the queue for review.


Checksum mismatch for version 0.8.15

Component
Forge
Have you ensured that all of these are up to date?

[x] Foundry
[ ] Foundryup

What version of Foundry are you on?
forge 0.2.0 (e4a2915 2022-06-20T00:04:28.469233Z)
What command(s) is the bug in?
forge build
Operating System
macOS (Apple Silicon)
Describe the bug
❯ forge build
[⠊] Compiling...
[⠘] installing solc version "0.8.15"
[⠃] Failed to install solc 0.8.15: Checksum mismatch for version 0.8.15
Error:
   0: Checksum mismatch for version 0.8.15

Location:
   cli/src/compile.rs:100

Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it.
Run with RUST_BACKTRACE=full to include source snippets.

And I already install the solc:
❯ solc --version
solc, the solidity compiler commandline interface
Version: 0.8.15+commit.e14f2714.Darwin.appleclang

forge 0.2.0 (https://github.com/foundry-rs/foundry/commit/e4a29157b04ada49d7e21e339b5ed6cf131d58e9 2022-06-20T00:04:28.469233Z)

this has been fixed, try foundryup


Start animation from JS (on button click)

Hello,
I creating BottomDrawer similar to this one. But I am stuck on opening / closing modal from another component.
I have looked at code from Swipeable and it looks pretty straightforward, but I am unable to make it work for me.
I am setting ref to my BottomDrawer  component on my Screen
From Screen I am calling bottomDrawer.open() which gets executed on JS thread (I can see it calling console.log), but  BottomDrawer doesn't open.
Here is code for open method:
public open() {
    tron.log("OPEN RECEIVED");
    const clock = new Animated.Clock();
    this.runSpringAnimation(clock, new Animated.Value(20), new Animated.Value(0));
  }

runSpringAnimation is pretty much same as in Snappable example, and it works in combo with RN Gesture Handler (what I am doing is simillar to Snappable example, when Gesture ENDs, calculate snapPoint and run springAnimation to that point)
Can someone please explain to me what am I doing wrong 😊?

@mralj I do not have a full context of your code but I have managed to create onPress animations with this code:
https://snack.expo.io/ByL5dk0FN
If something is not clear or does not cover your case, please share some more code :).

Thank you very much for your response, I have had made stupid mistake:
this.runSpringAnimation(clock, new Animated.Value(20), new Animated.Value(0))
Returns value and based on that value translateY was calculated.
After setting that value like in your example (via just setValue) it works as expected :)

@mralj No problem at all :) If you run into some corner just open next issue and ping me :)


Alias support in decorator validate_arguments

Change Summary
In the validate_arguments decorator the Field object can be used to provide additional information.
@validate_arguments
def how_many(num: Annotated[int, Field(gt=10)]):
    return num

Now the Field alias parameter will also work in the decorator, the idea is to be able to add this functionality that exists in the creation of the models and did not work so far in the decorator.
@validate_arguments
def foo(bar: Annotated[str, Field(alias="quux")]):
    print(bar)

foo(quux=42)

Related issue number
With this change issue #2429 can be considered closed.
Checklist

[x] Unit tests for the changes exist
[x] Tests pass on CI and coverage remains at 100%
[x] Documentation reflects the changes where applicable
[x] changes/<pull request or issue id>-<github username>.md file added describing change
(see changes/README.md for details)
[x] My PR is ready to review, please add a comment including the phrase "please review" to assign reviewers

please review the solution I gave to issue #2429 when you have time.
I remain attentive to any correction or any questions you would have about what I did.

please update

Hi @samuelcolvin.
This would be the update of the tests and the integration of the empty string as a possible alias is not necessary because it is already built in as the tests show.


Users administration page not loading after deletion of invited user

I'm getting these errors in the browser console:
Exception from Deps recompute: TypeError: Cannot read property 'username' of undefined
    at getUserName (http://DOMAIN.meteor.com/def11d281a2952dbb07b845ebc08de9a8b2a122e.js:22:13578)
    at getProfileUrl (http://DOMAIN.meteor.com/def11d281a2952dbb07b845ebc08de9a8b2a122e.js:22:13872)
    at Object.Template.user_item.helpers.getInvitedUserProfileUrl (http://DOMAIN.meteor.com/def11d281a2952dbb07b845ebc08de9a8b2a122e.js:23:13633)
    at s (http://DOMAIN.meteor.com/def11d281a2952dbb07b845ebc08de9a8b2a122e.js:10:20760)
    at u (http://DOMAIN.meteor.com/def11d281a2952dbb07b845ebc08de9a8b2a122e.js:10:20992)
    at http://DOMAIN.meteor.com/def11d281a2952dbb07b845ebc08de9a8b2a122e.js:10:21511
    at Object.e.labelBranch (http://DOMAIN.meteor.com/def11d281a2952dbb07b845ebc08de9a8b2a122e.js:10:11827)
    at m (http://DOMAIN.meteor.com/def11d281a2952dbb07b845ebc08de9a8b2a122e.js:10:21366)
    at http://DOMAIN.meteor.com/def11d281a2952dbb07b845ebc08de9a8b2a122e.js:10:21484
    at Array.forEach (native) def11d281a2952dbb07b845ebc08de9a8b2a122e.js:1
4
Uncaught MinimongoError: Mod on _id not allowed

I'm using meteor <IP_ADDRESS> (so I can claim domains on meteor.com)

Hey, folks! Telescope has changed a lot in the past months, and there is a new React-based version, Telescope Nova (intro video).
The Legacy version is no longer supported, I'm closing this issue. I invite you to check the new version, it's awesome!
Happy hacking! 🚀
Ps: by the way, don't hesitate to join the Slack and ask any question, you are welcome! 👍


Segfaulting when using Memcached

DO NOT SUBMIT SECURITY REPORTS HERE
If you have a security vulnerability, please report it to the maintainers
privately. You will be able to file your bug and claim credit once we have a
fix implemented.
Describe the bug
Regularly intermittent Segfault/core dump when calling Memcached. NOTE this is accessed via Perl API (which is quite old now, so it's possible it's no longer supported and if the problem is feasible to there, I'm happy to close). The memcached daemon doesn't crash, so it's possible it's the Perl API, any way to tell?)
In an strace I see the following as well, which is likely related
writev(2, [{iov_base="corrupted double-linked list", iov_len=28}, {iov_base="\n", iov_len=1}], 2corrupted double-linked list
I appreciate it may not be Memcached itself. Just trying to get some pointers...
To Reproduce
Any information useful for reproducing the bug or crash. Workload, changes in workload, versions affected. If seeing a new issue after an upgrade, please include both before and after versions.
System Information

Centos 8
Memcached (perl version 5.30, perl cache::memcached 1.30)
Version of memcached: 1.5.9
Hardware detail: Dell server 128Gig ram.
Kernel 4.18.0-147.5.1.el8_1.x86_64 #1 SMP Wed Feb 5 02:00:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Detail (please include!)
Always include the output of stats, stats settings, and optionally stats items and stats slabs. These can be provided to a maintainer privately if necessary. Please sanitize anything secret from the data.
If you have a segfault or crash, please try to resolve the crash with addr2line. If possible, get a core dump and include a full back trace.
stats
STAT pid 1441
STAT uptime 3111558
STAT time<PHONE_NUMBER>
STAT version 1.5.9
STAT libevent 2.1.8-stable
STAT pointer_size 64
STAT rusage_user 4430.999003
STAT rusage_system 7159.366258
STAT max_connections 1024
STAT curr_connections 12
STAT total_connections 20166
STAT rejected_connections 0
STAT connection_structures 82
STAT reserved_fds 20
STAT cmd_get<PHONE_NUMBER>
STAT cmd_set 763162499
STAT cmd_flush 0
STAT cmd_touch 0
STAT get_hits 355488535
STAT get_misses 797096339
STAT get_expired 0
STAT get_flushed 0
STAT delete_misses 0
STAT delete_hits 0
STAT incr_misses 0
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT touch_hits 0
STAT touch_misses 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read<PHONE_NUMBER>02
STAT bytes_written<PHONE_NUMBER>04
STAT limit_maxbytes 67108864
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT time_in_listen_disabled_us 0
STAT threads 4
STAT conn_yields 30796210
STAT hash_power_level 16
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT slab_reassign_rescues 1400246
STAT slab_reassign_chunk_rescues 0
STAT slab_reassign_evictions_nomem 92581782
STAT slab_reassign_inline_reclaim 89642487
STAT slab_reassign_busy_items 92582726
STAT slab_reassign_busy_deletes 0
STAT slab_reassign_running 0
STAT slabs_moved 61002
STAT lru_crawler_running 0
STAT lru_crawler_starts 227715
STAT lru_maintainer_juggles 116613533
STAT malloc_fails 0
STAT log_worker_dropped 0
STAT log_worker_written 0
STAT log_watcher_skipped 0
STAT log_watcher_sent 0
STAT bytes 55944868
STAT curr_items 86910
STAT total_items 764562745
STAT slab_global_page_pool 0
STAT expired_unfetched 0
STAT evicted_unfetched 555044004
STAT evicted_active 72372
STAT evictions 670153278
STAT reclaimed 0
STAT crawler_reclaimed 0
STAT crawler_items_checked 72579478
STAT lrutail_reflocked 89071
STAT moves_to_cold 756727761
STAT moves_to_warm 39600875
STAT moves_within_lru 27300786
STAT direct_reclaims 670153278
STAT lru_bumps_dropped 0
STAT maxbytes 67108864
STAT maxconns 1024
STAT tcpport 11211
STAT udpport 0
STAT inter <IP_ADDRESS>,::1
STAT verbosity 0
STAT oldest 0
STAT evictions on
STAT domain_socket NULL
STAT umask 700
STAT growth_factor 1.25
STAT chunk_size 48
STAT num_threads 4
STAT num_threads_per_udp 1
STAT stat_key_prefix :
STAT detail_enabled no
STAT reqs_per_event 20
STAT cas_enabled yes
STAT tcp_backlog 1024
STAT binding_protocol auto-negotiate
STAT auth_enabled_sasl no
STAT item_size_max 1048576
STAT maxconns_fast yes
STAT hashpower_init 0
STAT slab_reassign yes
STAT slab_automove 1
STAT slab_automove_ratio 0.80
STAT slab_automove_window 30
STAT slab_chunk_max 524288
STAT lru_crawler yes
STAT lru_crawler_sleep 100
STAT lru_crawler_tocrawl 0
STAT tail_repair_time 0
STAT flush_enabled yes
STAT dump_enabled yes
STAT hash_algorithm murmur3
STAT lru_maintainer_thread yes
STAT lru_segmented yes
STAT hot_lru_pct 20
STAT warm_lru_pct 40
STAT hot_max_factor 0.20
STAT warm_max_factor 2.00
STAT temp_lru no
STAT temporary_ttl 61
STAT idle_timeout 0
STAT watcher_logbuf_size 262144
STAT worker_logbuf_size 65536
STAT track_sizes no
STAT inline_ascii_response no

Do you face the same problem with latest Memcached (1.6.3) ?
Can you share a mini application that reproduces the problem ? I use XMemcached (for Java) and Cache::Memcached (for Perl) and I haven't faced such problems here.

sorry, can you clarify; what exactly is crashing? I don't think there's any reason for Cache::Memcached to segfault an application, and if the server is stable that should also be fine..

@ibrierley poke?

Hi, it's a Perl script which is segfaulting when it retrieves some data
from memcached (via a Perl Memcached module that's been around a very long
time), the previous strace showing "corrupted double-linked list".
My main question is naturally why that is happening (or if there's some way
to prevent it and let it fail gracefully), I don't have the skills to
ascertain if that's because of Memcached, or the Perl module accessing it.
Thanks,
Ian
On Sun, Apr 12, 2020 at 2:58 AM dormando<EMAIL_ADDRESS>wrote:

@ibrierley https://github.com/ibrierley poke?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/memcached/memcached/issues/645#issuecomment-612550020,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA5YN5PPULA6IE5OBWVORQTRMEN4LANCNFSM4MD3PVPQ
.

Well I can safely say it's not the daemon causing your client to crash. As in there isn't anything the server should or shouldn't be doing; no matter what the client shouldn't crash.
Sadly I'm not sure where to point you from there. I'd need a great deal of information to debug it and it's not really on topic here :(

No problem, I was just wondering if anyone had come across the "corrupted double-linked list" when using it (I think that's a glibc error). For example a long time ago with php (I'm using Perl) I spotted the error mentioned here https://bugs.php.net/bug.php?id=57329 with Memcached.
Alas I'm guessing it will probably get no further (it's very difficult for me to isolate as it's intermittent and we have so much going on on the machine), so feel free to close, and I will reopen if I track it down further to Memcached.


im.mak preventing build

I am trying to compile this locally but I have been stuck for days.
I have searched this code forewards, backwards, and inside out and cannot figure this out.
I have all the dependencies compiled in my local maven repository. I have enabled resolvers += Resolver.mavenLocal in all the build files.
All goes fine... up until I hit the im.mak package. (im.mak.waves.transactions) in (dex/src/main/scala/com/wavesplatform/dex/tool/Checker.scala)
I cannot get it to use my local build... I cannot find any references to this being called from any repos within the code. I see no references to it in my ~/.cache, ~/.m2/ nor ~/.ivy2/ folders.
The issue I keep having is that the package fails to compile saying it can't find package im.mak, which it obviously can't seeing as its not built in any of the sources nor linked from any of the dependency repos
Yet it compiles perfectly when I don't try to do a local build... which baffles me. So how is this being included?
More importantly how can I use a local build of the transactions-java and crypto-java packages? (I actually think its just the transactions-java. I believe the crypto-java is used to build the transactions-java but I don't think its specifically used by matcher source).
Please help! This one has be stumped and my brain is going crazy searching this code trying to figure it all out. lol :)

I cannot find any references to this being called from any repos within the code.

Actually, this is a part of waves-transactions: https://search.maven.org/artifact/im.mak/waves-transactions/1.0.2/jar
Sometimes dependencies fail to download because of availability issues of maven.

Yet it compiles perfectly when I don't try to do a local build

How do you do a local build? Also, could you show the log with the error?

More importantly how can I use a local build of the transactions-java and crypto-java packages?

Did you mean https://github.com/wavesplatform/WavesJ ?

Unfortunately another perfect example of the documentation issue.  What he is experiencing is due to library incompatibilities which I got tired of trying to correct after realizing the documentation leads you down the wrong path.  Hacking this software together should not be.

Oh I got it sorted, and yes it was exactly an issue of me adding the wrong wavesj to my local repo..... I had to use the build "with dependencies".
@cryptofunallday I have understood the docs perfectly at every angle of compiling this. I am just doing things outside the scope of what has been intended. I have custom compiled the wallet,the etl (postgres), leveldb-jna, wavesj. waves-explorer, the waves data service, crypto java and transactions java, the protobuf schemes, match and the blockchain itself.
My intent WAS to hack the software.
We can consider this issue closed - but if anyone else has this issue, use the wavesj build that has all dependencies included.


Do not call updateAnswers initially if initial value is not present in the modal.

IMPORTANT: All PRs must be linked to an issue (except for extremely trivial and straightforward changes).
Fixes #1514
Description
Although the initial value was not selected, the 'update answer' function was called the first time the bind API was used. As a result, it validated the required field with an invalid result. Now, a check has been added to verify whether the bind API has been called for the first time and whether an initial answer option has been selected. If there is no initial answer option selected, then the answer will not be updated.
Alternative(s) considered
Have you considered any alternatives? And if so, why have you chosen the approach in this PR?
Type
Choose one: Bug fix
Screenshots (if applicable)
Checklist

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

https://user-images.githubusercontent.com/86107848/224241563-1cfc3c2b-c7fe-4022-9ff4-5ae46b3f5e02.mov

looking into review comments.

I will update my analysis regarding the review comment soon, so that it can be reviewed, thanks!

@omarismail94 @aditya-07 I replied to the comment. Can you please review once?


README: wording updates

Emphasise pod-native, remove some older and less relevant material.

cancelled CI as this doesn't need it.

:+1:

thanks guy


Adds check to FlowStorageFees to avoid division by zero

When storage fees are disabled, if the storageCapacityToFlow function is called, it will fail with a division by zero error. I added a condition in it to return zero if the conversion is zero. I also added a test for it
Also updated some go.mod files and imports to make the project build properly

Thank you for adding this!


When route part zero has type coersion, subroutes match when they should be NotFound.

Test case fails:
def test_use_route_test_bug2():
    router = Router()
    def h1(foo):
        return "first"
    router.add("/<foo:int>", h1)
    def h2(foo):
        return "second"
    router.add("/<foo:int>/bar", h2)

    router.finalize()
    with pytest.raises(NotFound):
        router.get("/foo/aaaa", "BASE")  #<-- This raises NotFound as expected
    with pytest.raises(NotFound):
        router.get("/0/aaaa", "BASE")  #<-- This returns route h1, should raise NotFound.

Generated source:
def find_route(path, router, basket, extra):
    parts = tuple(path[1:].split(router.delimiter))
    num = len(parts)
    if num > 0:
        basket[0] = parts[0]
        if num == 2:
            if parts[1] == "bar":
                try:
                    basket['__params__']['foo'] = int(basket[0])
                except ValueError:
                    ...
                else:
                    basket['__raw_path__'] = '<foo:int>/bar'
                    return router.dynamic_routes[('<foo:int>', 'bar')], basket
        try:
            basket['__params__']['foo'] = int(basket[0])
        except ValueError:
            ...
        else:
            basket['__raw_path__'] = '<foo:int>'
            return router.dynamic_routes[('<foo:int>',)], basket
    raise NotFound

When there are two parts to the route, and parts[1] != "bar", it falls through to the try/except clause for int(basket[0]), succeeds in that, so returns the route match for h1, should raise NotFound.
I don't think this is an indentation issue like #13, perhaps a logic problem?

Immediately obvious solution would be:
def find_route(path, router, basket, extra):
    parts = tuple(path[1:].split(router.delimiter))
    num = len(parts)
    if num > 0:
        basket[0] = parts[0]
        if num == 2:
            if parts[1] == "bar":
                try:
                    basket['__params__']['foo'] = int(basket[0])
                except ValueError:
                    ...
                else:
                    basket['__raw_path__'] = '<foo:int>/bar'
                    return router.dynamic_routes[('<foo:int>', 'bar')], basket
            else:                #<- New else condition
                raise NotFound   #<- New raise NotFound
        try:
            basket['__params__']['foo'] = int(basket[0])
        except ValueError:
            ...
        else:
            basket['__raw_path__'] = '<foo:int>'
            return router.dynamic_routes[('<foo:int>',)], basket
    raise NotFound

But that seems like cheating, I like the idea that the logic falls through to the bottom for NotFound.
Maybe it should be this?:
def find_route(path, router, basket, extra):
    parts = tuple(path[1:].split(router.delimiter))
    num = len(parts)
    if num > 0:
        basket[0] = parts[0]
        if num == 1:
            try:
                basket['__params__']['foo'] = int(basket[0])
            except ValueError:
                ...
            else:
                basket['__raw_path__'] = '<foo:int>'
                return router.dynamic_routes[('<foo:int>',)], basket
        if num == 2:
            if parts[1] == "bar":
                try:
                    basket['__params__']['foo'] = int(basket[0])
                except ValueError:
                    ...
                else:
                    basket['__raw_path__'] = '<foo:int>/bar'
                    return router.dynamic_routes[('<foo:int>', 'bar')], basket
    raise NotFound

Or is it just missing a single else?
def find_route(path, router, basket, extra):
    parts = tuple(path[1:].split(router.delimiter))
    num = len(parts)
    if num > 0:
        basket[0] = parts[0]
        if num == 2:
            if parts[1] == "bar":
                try:
                    basket['__params__']['foo'] = int(basket[0])
                except ValueError:
                    ...
                else:
                    basket['__raw_path__'] = '<foo:int>/bar'
                    return router.dynamic_routes[('<foo:int>', 'bar')], basket
        else:  #<-- single new else
            try:
                basket['__params__']['foo'] = int(basket[0])
            except ValueError:
                ...
            else:
                basket['__raw_path__'] = '<foo:int>'
                return router.dynamic_routes[('<foo:int>',)], basket
    raise NotFound

Ok, I've been diving into the code and the logic within the router AST generation, and I understand it much better now.
It looks like the optimize() step where it normally injects raise NotFound locations is missing one, the find_route_src should look like this:
def find_route(path, router, basket, extra):
    parts = tuple(path[1:].split(router.delimiter))
    num = len(parts)
    if num > 0:
        basket[0] = parts[0]
        if num == 2:
            if parts[1] == "bar":
                try:
                    basket['__params__']['foo'] = int(basket[0])
                except ValueError:
                    ...
                else:
                    basket['__raw_path__'] = '<foo:int>/bar'
                    return router.dynamic_routes[('<foo:int>', 'bar')], basket
            raise NotFound   #<- New raise NotFound
        try:
            basket['__params__']['foo'] = int(basket[0])
        except ValueError:
            ...
        else:
            basket['__raw_path__'] = '<foo:int>'
            return router.dynamic_routes[('<foo:int>',)], basket
    raise NotFound

I've narrowed down a test which covers all of the concerns above:
def test_use_route_bug16():
    router = Router()
    def h1(foo):
        return "first"
    router.add("/test/<foo:int>", h1)
    def h2(foo):
        return "second"
    router.add("/test/<foo:int>/bar", h2)

    router.finalize()
    with pytest.raises(NotFound):
        (route, handler, params) = router.get("/test/foo/aaaa", "BASE")
    with pytest.raises(NotFound):
        (route, handler, params) = router.get("/test/0/aaaa", "BASE")
    with pytest.raises(NotFound):
        (route, handler, params) = router.get("/test/0/aaaa/bbbb", "BASE")

Nice work, I will take a look later. It feels to me like you mentioned that the problem is in the optimize() method.

I am wondering if we need to do this:
def find_route(path, router, basket, extra):
    parts = tuple(path[1:].split(router.delimiter))
    num = len(parts)
    if num > 0:
        basket[0] = parts[0]
        if num > 2:   #<- New condition
            raise NotFound   #<- New raise NotFound
        elif num == 2:   #<- Changed from if
            if parts[1] == "bar":
                try:
                    basket['__params__']['foo'] = int(basket[0])
                except ValueError:
                    ...
                else:
                    basket['__raw_path__'] = '<foo:int>/bar'
                    return router.dynamic_routes[('<foo:int>', 'bar')], basket
        try:
            basket['__params__']['foo'] = int(basket[0])
        except ValueError:
            ...
        else:
            basket['__raw_path__'] = '<foo:int>'
            return router.dynamic_routes[('<foo:int>',)], basket
    raise NotFound

That fix would take care of both of them, but does introduce a new if statement into the route, which may hurt router performance a tiny bit.

Yup, which is something that I want to play with still.
Originally, it only ever used > as an operator. But, then I realized that we may want to bail out and use == if there is nothing deeper in the node chain. We potentially could go back, and remove this:
if (
    self.last
    and self.route
    and not self.children
    and not self.route.requirements
):

Or, at least limit it even further in scope where there is nothing at the parent node level as a fallback.

I was playing yesterday with changing the logic to use >= for all of the comparisons up the chain, then != for NotFound at the end. But I couldn't get it to work quite how I wanted it, I don't have enough experience with the tree rendering code.

I was playing yesterday with changing the logic to use >= for all of the comparisons up the chain, then != for NotFound at the end. But I couldn't get it to work quite how I wanted it, I don't have enough experience with the tree rendering code.

I'll add some comments so it will be easier to follow and we can start iterating/improving.


Add DocumentExtractionSkill

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Changelog
Please ensure to add changelog with this PR by answering the following questions.

What's the purpose of the update?

[ ] new service onboarding
[ ] new API version
[ ] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When you are targeting to deploy new service/feature to public regions? Please provide date, or month to public if date is not available yet.
When you expect to publish swagger? Please provide date, or month to public if date is not available yet.
If it's an update to existing version,  please select SDKs of specific language and CLIs that require refresh after swagger is published.

[ ] SDK of .NET (need service team to ensure code readiness)
[ ] SDK of Python
[ ] SDK of Java
[ ] SDK of Js
[ ] SDK of Go
[ ] PowerShell
[ ] CLI
[ ] Terraform
[ ] No, no need to refresh for updates in this PR

Contribution checklist:

[ ] I commit to follow the Breaking Change Policy of "no breaking changes"
[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[ ] Ensure to check this box if one of the following scenarios meet updates in the PR, so that label “WaitForARMFeedback” will be added automatically to involve ARM API Review. Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs, all “removals” and “adding a new property” no more require ARM API review.

Adding new API(s)
Adding a new API version
Adding a new service

[ ] Please ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If there are following updates in the PR, ensure to request an approval from Breaking Change Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in stable version
[ ] Removing properties in stable version
[ ] Removing API version(s) in stable version
[ ] Updating API in stable or public preview version with Breaking Change Validation errors
[ ] Updating API(s) in public preview over 1 year (refer to Retirement of Previews)

Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
Please follow the link to find more details on PR review process.

/azp run

@shuyangmsft does anybody from your team need to review this?  Looks good from my perspective.

@shuyangmsft does anybody from your team need to review this? Looks good from my perspective.

@shuyangmsft does anybody from your team need to review this? Looks good from my perspective.

Adding Carey from our team who will review the change tomorrow

@vkurpad From what I can tell, this is the only remaining work to make the DocumentExtractionSkill be considered GA (i.e. after this work we can go remove the 'preview' disclaimer from the docs. Should we have Shuyang add this to the 2020-06-30 SDK as well to make that move official? Or do you know of something else we need to do to mark this as GA?
For clarity for SDK folks, the way our skills are currently designed is such that they are version neutral. That means that this skill (and every other skill for that matter) technically already exists in other GA api versions (as a matter of fact, it exist in every API version where Skillsets are available, so 2017-11-11-Preview and later). Our concept of "preview" is really just a disclaimer in the docs right now, unfortunately. So arguably, to be fully correct, Shuyang should be adding this to the swagger for 2017-11-11-Preview, 2019-05-06, 2019-05-06-Preview, 2020-06-30 and 2020-06-30-Preview. That's probably over kill but just wanted to make that known.

@vkurpad From what I can tell, this is the only remaining work to make the DocumentExtractionSkill be considered GA (i.e. after this work we can go remove the 'preview' disclaimer from the docs. Should we have Shuyang add this to the 2020-06-30 SDK as well to make that move official? Or do you know of something else we need to do to mark this as GA?
For clarity for SDK folks, the way our skills are currently designed is such that they are version neutral. That means that this skill (and every other skill for that matter) technically already exists in other GA api versions (as a matter of fact, it exist in every API version where Skillsets are available, so 2017-11-11-Preview and later). Our concept of "preview" is really just a disclaimer in the docs right now, unfortunately. So arguably, to be fully correct, Shuyang should be adding this to the swagger for 2017-11-11-Preview, 2019-05-06, 2019-05-06-Preview, 2020-06-30 and 2020-06-30-Preview. That's probably over kill but just wanted to make that known.

Now I recall what we did to other skills. I added this skill to the 2020-06-30 as well.

Does anyone have time to sign off this PR? API review board was OK with this change.

@shuyangmsft I see there were changes based on testing, anything else pending or your team needs to review?

@shuyangmsft I see there were changes based on testing, anything else pending or your team needs to review?

All good from my end.


Improper EXIF header using WebP set_exif function

Describe the bug
WebP EXIF chunk is not read successfully after being written with the library.
WebP specification mentions that exif chunk header value should be a 4 bytes value (EXIF). I can see in source code that chunk header value is 6 bytes long in lib.rs on line 82:
pub(crate) const EXIF_DATA_PREFIX: &[u8] = b"Exif\0\0";

After writing exif chunk on a WebP image, then on following image read the error "Invalid TIFF byte order" is being returned.
Reproduction
Source code below can be used to reproduce the issue. It will require 2 dependencies:
Dependencies:
image = { version = "0.24.7", features = ["webp-encoder", "avif-encoder"] }
kamadak-exif = "0.5.5"

Sample WebP file: (Ultra minimalist with 400 bytes):

https://github.com/kamadak/exif-rs/blob/master/tests/exif.webp

Source code: (Code might not be optimal)
use image::EncodableLayout;
use exif::experimental::Writer;

use exif::parse_exif;
use std::{env, io::BufReader, fs::File};
use exif::Field;

use img_parts::ImageEXIF;

use std::io::prelude::*;

pub fn convert_to_bytes(exif_fields: &[Field]) -> Result<Vec<u8>, exif::Error> {
    let mut writer = Writer::new();
    let mut buf = std::io::Cursor::new(Vec::new());

    exif_fields.iter().for_each(|f| {
        writer.push_field(f);
    });

    writer.write(&mut buf, false)?;

    Ok(buf.into_inner())
}

fn main() {
    let args = env::args().collect::<Vec<String>>();

    println!("args: {:?}", args);

    let input_file_path = &args[1];
    let output_file_path = &args[2];
    println!("File path - file_path: {:?}", input_file_path);
    println!("File path - output_file: {:?}", output_file_path);

    let file = File::open(input_file_path).expect("failed to open file");
    let read_result = exif::Reader::new().read_from_container(&mut BufReader::new(&file));
    let exif = read_result.unwrap();

    let exif_data_buf: Vec<u8> = exif.buf().to_vec();
    println!("exif_bytes: {:?}", exif_data_buf);
    let exif_data = exif_data_buf.as_bytes();
    let exif_fields = parse_exif(exif_data).ok().unwrap().0;

    for f in exif_fields.iter() {
        println!("exif_data: {:?}", f);
    }

    let file = File::open(input_file_path).expect("failed to open file");
    let mut reader = BufReader::new(file);
    let buffer = reader.fill_buf().unwrap();

    let buffer_length = buffer.len();
    println!("buffer_length: {:?}", buffer_length);

    let buf = buffer.to_owned();
    let bytes = buf.into();

    let mut webp = img_parts::webp::WebP::from_bytes(bytes).unwrap();
    let output_exif_bytes = convert_to_bytes(&exif_fields).unwrap().to_vec();
    println!("exif_bytes: {:?}", output_exif_bytes);

    let exif_bytes = Some(output_exif_bytes.into());
    let exif_bytes_unwrapped = exif_bytes.clone().unwrap();
    println!("exif_bytes: {:?}", exif_bytes_unwrapped);

    webp.set_exif(exif_bytes);
    let mut output_file = std::fs::File::create(output_file_path).unwrap();
    let result = webp.encoder().write_to(&mut output_file).unwrap();

    println!("Result size: {}", result);
}

Execute this code a first time (after adding it in examples directory):
RUST_BACKTRACE=1 cargo run --example webp-exif ~/Downloads/exif.webp ~/Downloads/exif-out.webp

Then execute it a second time :
RUST_BACKTRACE=1 cargo run --example webp-exif ~/Downloads/exif-out.webp ~/Downloads/exif-out-2.webp

The 2nd execution should trigger an error.
It can be verified as well thanks to exiftool binary (brew install exiftool) that mentions a warning which is not present for initial file:
❯ exiftool ~/Downloads/exif-out.webp

ExifTool Version Number         : 12.70
File Name                       : exif-out.webp
Directory                       : /Users/alexis.kinsella/Downloads
File Size                       : 406 bytes
File Modification Date/Time     : 2023:12:05 21:55:03+01:00
File Access Date/Time           : 2023:12:05 21:55:05+01:00
File Inode Change Date/Time     : 2023:12:05 21:55:03+01:00
File Permissions                : -rw-r--r--
File Type                       : Extended WEBP
File Type Extension             : webp
MIME Type                       : image/webp
WebP Flags                      : EXIF
Image Width                     : 15
Image Height                    : 7
VP8 Version                     : 0 (bicubic reconstruction, normal loop)
Horizontal Scale                : 0
Vertical Scale                  : 0
Warning                         : [minor] Improper EXIF header
Exif Byte Order                 : Big-endian (Motorola, MM)
Image Description               : WebP test
X Resolution                    : 72
Y Resolution                    : 72
Resolution Unit                 : inches
Software                        : GIMP + implex + kamadak-exif
Exif Version                    : 0232
Image Size                      : 15x7
Megapixels                      : 0.000105
Expected behavior
It should write exif chunk successfully into a WebP image, and not prevent reading of exif data on the newly generated image with an exif library such as kamada-exif.
Proposed solution
Change of constant EXIF_DATA_PREFIXvalue from 6 bytes to 4 bytes seems to work as expected:
pub(crate) const EXIF_DATA_PREFIX: &[u8] = b"Exif";

Change of EXIF_DATA_PREFIX value to a 4bytes value has been tested and seems to behave successfully at least for the purpose of writing exif into a WebP image. However the overall impact of this change has not been thoroughly assessed in all possible ways. Other use of this value in the codebase might be problematic or not.
Additional context
All in all, I am not sure whether it is expected to have a 6 bytes long constant of 4 bytes long or if I missed some key point. It seems to me that value should be 4 bytes long and not 6 bytes long based on specification (metadata section): Metadata

Ok, the proposed fix finally does not seem to be working as expected as exiftool does not parse anymore the EXIF chunk, even thought it is still able to identify and extract chunk with the following command: exiftool -b ~/Downloads/exif-out.webp.

Comparing binary hex of image, I wonder if header shouldn't be empty as I finally got a satisfying result as shown below.
Resulting image with exif section rewritten seems to be correct when header remains empty.
Here are some screenshots comparing hexdump of initial image:

Then the image modified with img-parts with EXIF_DATA_PREFIX: &[u8] = b"Exif\0\0":

Then the image modified with img-parts with EXIF_DATA_PREFIX: &[u8] = b"":

WebP specification states that Chunk header should be 4 bytes long with uppercase. I still misunderstand the purpose of a 6  bytes long header with 4 mixed case characters (Exif instead of EXIF) following by 2 bytes of value 0.

I was able to find additional images with this header: Exif\0\0. exiftool says it has "Improper EXIF header" as well, which does not help to make sure whether it is ok or not.
kamadak-exif returns Invalid TIFF byte order for such images and eventually fails to parse EXIF.
Would you have some reference documents for WebP EXIF format that you relied on for the development of the library that would help to understand what should be expected ?

Workarounded the issue.


The calculation of the fee is showing incorrect.

-When amount is more than max amount, the fee calculations are incorrect. It should just use the remaining sats for all options.
-This is happening on staging app v1.5.0(260)

- Still facing the same issue on staging app v2.0(357)

@cakesoft-swati What needs to be done here? As per the last screenshot, the fee calculation is apt, do we need to change that?


Remove jq in FHIR access token lookup

Currently the FHIR documentation on how to look up an access token for the FHIR Server using the Azure CLI depends on the external tool jq to extract specific items from JSON payloads returned by the CLI.
However, the Azure CLI supports querying the JSON responses natively via --query. As such, this change updates the documentation to use --query instead of jq which removes an external tool dependency and also makes the Azure CLI snippets work on Windows.

@c-w : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Provide typings for use with Typescript

https://github.com/electron/spectron/issues/65

Thanks for adding this 👍


Javascript pages not working

Challenge http://freecodecamp.com/challenges/waypoint-comment-your-javascript-code has an issue.
None of the pages I've tried after the Bootstrap section (the pages running a script) work. I submitted a separate issue report for the JQuery section since the behavior is distinct. On the JavaScript pages and beyond I can't get anything to happen when I press run. For example on the page with the above link and screenshot below, I would expect the comment "saying your output will go here..." to disappear when pressing run with no code (besides the comments I added).
screen shot4.

https://github.com/FreeCodeCamp/FreeCodeCamp/issues/3142

I guess I should mention that I know this is an Internet Explorer issue and works on Firefox. However, based on the philosophy that it is better for web pages teaching web design to demonstrate good practices I would suggest (minimally) mentioning that there is an issue with using parts of the site with IE. I've also heard it's good practice to create an exception, so that each page will say something about it if the page doesn't work with Internet Explorer, but I've never actually seen this done, so I was hoping to hear an opinion on the importance of this

Sorry, I didn't search GitHub to make sure the issue with IE wasn't already addressed. If I may make one more suggestion, you might add a link to this page in the pop-up that appears when you press the bug button on FCC for newbies like me who haven't had a chance to look at your GitHub yet.


Update aws-core, http-client-spi, ... to 2.20.92

About this PR
📦 Updates

software.amazon.awssdk:aws-core
software.amazon.awssdk:http-client-spi
software.amazon.awssdk:netty-nio-client

from 2.20.83 to 2.20.92
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "software.amazon.awssdk" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #1210.


Received memory warning

After a short time of usage I get the following warning.
Received memory warning.
2015-02-17 15:00:01.126 Buddy.is[10403:3329142] Plugin 'BCamera' has a pending operation, memory purge is delayed for didReceiveMemoryWarning.

@confile,
BCamera?
I could not simulate this alert.

@confile,
Can I close this issue?


Updated version.json

Apologies for the spamming last night, I was trying to figure out a good automated process to release and push our packages to nuget.org.
I think I got it now, and  just released v0.3.0-beta!
The process for a release is:

Create a release branch named e.g. release/0.3.0
Update the version.json for that branch to skip the build number (and beta if it's not a pre-release)
Push changes to git
Create a new release in GitHub with name "Release v0.3.0-beta" and tag v0.3.0-beta
Publish the release
This will automatically kick of release.nuget.yml which will push the packages to nuget.org
Update the version.json on the main branch to increment at least the path number, third digit.

@Brett-Parker @AnoojNair / Mitchell - please review

@aslotte good work and good documentation for future releases.


Validate length of string inputs

Validate length of string inputs not to exceed database field length.
contents, pages

Sorry. Was the wrong package..


Concurrent operations support

Is there implemetation and test for concurrent operations support which is evaluated in Section 5.6 of your thesis?

Hi,
I've been refactoring the code so I haven't added these yet, but it should be simple to add for the current supported operations (insert, query, and delete). Which operations are you looking for? also curious about the semantics you are looking for for these concurrent operations?

The concurrent operations that mixed operations (insert, query, delete) are processed in same kernel. I find your interface are only "insertKey","SearchKey" that only process same type of operations in one kernel. The concurrent semantics can be same with the statement in Section 5.6.

Okay, I'll add a test for that (this weekend hopefully).


Print queues disabled due to wrong paper size specified

I have problem where cups print queues on a server become disabled when jobs with wrong paper size are sent.
Queues in both server and client have error policy "retry-job" or "abort-job" set but jobs are not retried or aborted, instead the print queue on the server gets disabled.
D [29/Oct/2020:11:56:02 +0100] [Job 204] PID 10101 (/usr/lib/cups/backend/papercut) stopped with status 4.
I [29/Oct/2020:11:56:02 +0100] [Job 204] Backend returned status 4 (stop printer)
If I eliminate the papercut backend the ipp backend has the same behaviour.
cups is version 2.3.0 on the server.
An URI on the server:
DeviceURI papercut:ipp://129.16.xxx.xxx:631/ipp
URI on client:
DeviceURI ipp://ourserver.chalmers.se:631/printers/sv-339-color4
This seems broken?
Currently I have to run a shell script that remove jobs and enables queues or else the all queues will soon be disabled...

I noticed something that might have triggered this, a lot of the installed printers on clients had this setting:
*DefaultInputSlot: Unknown
This seems to be a bad setting, the queue seems not to be disabled if this is set to Auto. If InputSlot is set to Auto it is not possible to change it back to Unknown again with the lpadmin command.

This looks like a PPD issue - while "Unknown" can be used by some PostScript printers to indicate there is no default paper tray, it isn't allowed by CUPS (and it seems not by PaperCut, either...)

So what is causing the problem? The ppd is created when adding the printer with lpadmin and "-m everywhere". Is it the printers fault??


Fix for issue #85 Extension hangs / freezes VS Code in big folders

This fix makes two changes:

instead of parsing all files in parallel, it does it in batches by using the async.eachLimit function with a batch size of 100 (see the change in extension.ts).
it replaces the use of vscode.TextDocument with a cheaper implementation that reads the file directly from disk using the node fs module. I did the change minimally invasive so that the parsers are only minimally affected.

Tested the scalability of the implementation of the chromium code base. The vscode UI was staying responsive and the extension host did not crash 😄. This is the result:
[Extension Host] Summary:
[Extension Host]% 46577 parseable documents found
[Extension Host]% 55894 CSS class definitions found
[Extension Host]% 9822 unique CSS class definitions found
[Extension Host]% 681 failed attempts to parse.

What an impressive improvement :grinning:, thanks for taking your time. I will test it in a moment.


Add support for displaying most used language (or 2nd, 3rd, 4th, ...)

Closes #87
Continues where #96 left off. Thank you @spenserblack for starting this.
Display the n-th most used language by enabling ?showLanguage=true and using the  ?languageRank=n query string, where n ∈[1, number of languages detected by tokei]
For example,
https://tokei-rs.onrender.com/b1/github/XAMPPRocky/tokei?showLanguage=true&languageRank=1&label=Champion&style=for-the-badge)](https://github.com/XAMPPRocky/tokei

Edge cases

If ?showLanguage=true is not present, line count will be displayed as per default badge behavior.
If  ?showLanguage=true but  ?languageRank= not present, badge will display most used language.
If n ∉[1, number of languages detected by tokei], badge will display "N/A".
If no languages are detected by tokei, badge will display "No Language".

Live Demo
Repo: https://github.com/XAMPPRocky/tokei

Colors, badge styles, logos, and labels can be freely customized by the user.

It is possible to enable negative integers and get least-used, 2nd least used languages, ..., but this would probably be out of scope here.
~Is ranking a suitable query parameter name?~

Thank you for your PR! Sorry for the delay, but now that I merged your other PR, this has conflicts. Would you be interested in updating this one?

Haven't looked into this for a while, will try deploying on onrender.com

Thank you for your PR!


Feature/185 update create credential jwt

[x] Added veridaContextName in vc object

Fixes #187

@tahpot,
The new change I made was to modify the createCredentialJWT() method so it accepts the veridaContextName used in opening a  public profile.
The Issue

We tried sending creating a VC from the demo-credential  app, but the logged-in issuer's profile contextName from the demo-app, is Verida: Vault meanwhile the library tries to use the issuer app contextName   which is Verida: Verifiable Credential Demo different from the profile contextName  Verida: Vault, this caused an error in the account-explorer-demo because it was unable to look up the profile with the app contextName (Verida: Verifiable Credential ).

But this works for the credential-mgt-platform demo because the same app contextName was for used setting a public profile.
Solution
So we have to pass the  profile contextName as an argument in the createCredentialJWT() which solves this problem
what are your thoughts on this approach?

@cmcWebCode40
No, this change is not correct.
The account-explorer-demo needs to lookup the the profile with the app context name (Verida: Verifiable Credential). If not found, it needs to lookup Verida: Vault as a fallback.
This is the logic used by the Vault.

so we may need to consider a bit of tooling in the SDK to make this easier?
using the Verida: Vault as a fallback sounds good I will have to test again and  @andy-verida will test as well in the vault.

@tahpot, @cmcWebCode40 and I tested together and confirm the fallback approach to the default context Verida: Vault works. the code looks sth like this
const MAX_PROFILE_RETRY = 2
export async function getPublicProfile(
  did: string,
  contextName = VERIDA_CONTEXT_NAME
) {
  let ctxName = contextName
  const retryNumber = ctxName === VERIDA_CONTEXT_NAME ? 1 : MAX_PROFILE_RETRY
  const client = AccountManager.getInstance().getClient()
  for (let t = 1; t <= retryNumber; t++) {
    if (t === MAX_PROFILE_RETRY) {
      ctxName = VERIDA_CONTEXT_NAME
    }

    try {
      const publicProfile = await client?.openPublicProfile(
        did,
        ctxName,
        'basicProfile'
      )
      const name = await publicProfile?.get('name')
      const avatar = await publicProfile?.get('avatar')

      return {
        name: name || 'Unknown',
        avatar: avatar || DefaultAvatar,
      }
    } catch (error: any) {
      Sentry.captureException(error)
    }
  }
}

Though I prefer code to be implemented at the app level, but not sure should we make it into the openPublicProfile function inside client lib so we can avoid repeating code in many apps?

I think this will be a common issue, so yes lets do that.
What if there is an extra fourth parameter to openPublicProfile() called fallbackContext = "Verida: Vault"?
It will default to "Verida: Vault", but could be set to nothing if the app doesn't want the fallback.
@andy-verida Feel free to create an issue and PR with that change if you agree.

What if there is an extra fourth parameter to openPublicProfile() called fallbackContext = "Verida: Vault"?

@tahpot looks good, I created a new issue here https://github.com/verida/verida-js/issues/194


The module always attempts to recreate the lambda, even with no modifications

Every time i run my terraform the lambda module thinks it needs recreation. This is the output I get when running a plan:
resource "aws_lambda_function" "lambda" {
...
...
      ~ last_modified                  = "2020-07-07T14:23:45.641+0000" -> (known after apply)
        layers                         = []
        memory_size                    = 128
...
...

Is there a way I can avoid this? last_modified is the only attribute that needs changing. It would be good if we could pass some variable so the resource can have a lifecycle (or it could be just added to the resource):
lifecycle {
    ignore_changes = [
      last_modified
    ]
  }

Many thanks.

hey @ophintor,
did you set source_code_hash in your module definition? Terraform uses this variable to calculate if an update of the lambda function is necessary (see https://www.terraform.io/docs/providers/aws/r/lambda_function.html#source_code_hash).
I used this setup for testing:
data "archive_file" "function" {
  type        = "zip"
  source_file = "${path.module}/index.js"
  output_path = "${path.module}/function.zip"
}

module "test" {
  source  = "spring-media/lambda/aws"
  version = "5.2.0"

  filename         = data.archive_file.function.output_path
  function_name    = "test"
  handler          = "index.handler"
  memory_size      = 128
  runtime          = "nodejs10.x"
  source_code_hash = data.archive_file.function.output_base64sha256

  event = {
    type                = "cloudwatch-event"
    schedule_expression = "rate(1 minute)"
  }
}

Running:

terraform init
terraform apply
terraform plan

resulted in:
No changes. Infrastructure is up-to-date.

This means that Terraform did not detect any differences between your
configuration and real physical resources that exist. As a result, no
actions need to be performed.

after the plan. Leaving out or commenting source_code_hash leads to the behavior you described.
Let me know if this solves your issue!

Yes sorry I should have specified. Indeed the hash was there and it was unchanged. I managed to fix it by creating my own module and adding the lifecycle/ignore bit. Not sure if the fact that I was pulling the zip from s3 was causing the issue?
This is the whole code (note that ):
module "my_lambda" {
  source                         = "spring-media/lambda/aws"
  version                        = "5.1.0"
  s3_bucket                      = data.terraform_remote_state.lambdas_bucket.outputs.lambdas_bucket
  s3_key                         = "..."
  function_name                  = "..."
  description                    = "..."
  handler                        = "..."
  runtime                        = "nodejs12.x"
  reserved_concurrent_executions = 1
  log_retention_in_days          = var.lambda_log_retention
  vpc_config = {
    subnet_ids         = data.terraform_remote_state.vpc.outputs.private_subnets
    security_group_ids = [data.terraform_remote_state.security_groups.outputs.lambda_sg_id]
  }
  event = {
    name                = "..."
    type                = "cloudwatch-event"
    schedule_expression = "cron(${var.open_opportunities_lambda_cron})"
  }
  environment = {
    variables = {
      ...
    }
  }
  tags = local.default_tags
}

Even with no changes the last_modified would always come up as:
      ~ last_modified                  = "2020-07-07T14:23:45.641+0000" -> (known after apply)

Thanks!

@ophintor you need to specify source_code_hash for s3_bucket based lambda deployments as well. Otherwise Terraform can't calculate if the deployment package has changed.
One possible way would be:
data "archive_file" "function" {
  type        = "zip"
  source_file = "${path.module}/../index.js"
  output_path = "${path.module}/../function.zip"
}

resource "aws_s3_bucket" "bucket" {
  force_destroy = true
}

resource "aws_s3_bucket_object" "package" {
  key        = "v1.0.0/example.zip"
  bucket     = aws_s3_bucket.bucket.id
  source     = data.archive_file.function.output_path
  etag       = data.archive_file.function.output_base64sha256
}

module "issue-62" {
  source  = "spring-media/lambda/aws"
  version = "5.2.0"

  description           = "Test for https://github.com/spring-media/terraform-aws-lambda/issues/62"
  function_name         = "issue-62"
  handler               = "index.handler"
  log_retention_in_days = 1
  runtime               = "nodejs10.x"
  s3_bucket             = aws_s3_bucket.bucket.id
  s3_key                = aws_s3_bucket_object.package.id
  source_code_hash      = data.archive_file.function.output_base64sha256
}

Oh right - Not sure why i thought the hash was there but it actually wasn't!
Thanks, that's useful in any case :)


users endpoint: permissions

LIST

admins see all users
managers only see themself and of contributors
contributors only see themself

UPDATE

admins can update all users
managers can update themself and contributors
contributors can only update themself
basic users can only update themself

related to #159

@barancw this is not working as expected due to the fact that users can have multiple roles, in fact users with higher roles (admin) will always have all lower roles (manager and contributor).
with the current implementation a manager can see and update admins as they are also contributors, but they should not be allowed to as they are also admins

alternatively we can consider allowing only one role per user and have the application imply lower capabilities as per original design (could then get rid of user roles associative table altogether and store role_id in users table


create service, add all correct info, click 'next' have no response

In GitLab by @sokril on Jan 15, 2019, 11:32

In GitLab by @luotian-github on Dec 17, 2019, 08:39
assigned to @sokril

In GitLab by @sokril on Mar 19, 2020, 08:45
No repetition, It should has been fixed.

In GitLab by @sokril on Mar 30, 2020, 08:03
closed


Updated README.md with basic usage and installation

Just to get people up and running with the addon

@Techn1x is this ready to merge?
Alternatively, I'm glad to give you push permission if you think you'll be likely to contribute some more improvements in the future.

Should be good to merge.
This should be my last PR for a while, the addon is pretty straightforward so shouldn't need much updating, but I won't say no to having push permissions just in case!

👍 on both counts


Rotate and Translate Img and Text

How can i achive this with threex.dynamictexture without broke texture coordinates.

just draw on the 2d canvas the drawing you like. you dont need to know about specific texture coordinates
the context is available in dynamicTexture.context, dont forget to do dynamicTexture.texture.needsUpdate = true when you are done drawing, this will update the texture on the gpu and make it appears on screen


Feature request: operate on specific elements in an svg

At the moment, attempting to morph inner svg elements gives an error. For example
<MorphReplace>
    <path
        key={this.pathKey}
        d={pathDefinition}
        className={curveStyles}
    />
</MorphReplace>

results in Uncaught TypeError: Cannot read property 'children' of undefined (caught in normizeSvg.js because findSvgRoot returns undefined).
Allowing this would be cool for applications such as data visualization. In my case animation is already handled for other svg elements and I just want to morph one particular path.

Same issue here, i'm inserting SVG element using dangerouslySetInnerHTML due to a cluncky backend architecture


ci(travis): adds awesome_bot for linting *.md files

Summary
awesome_bot will check urls in md for broken links and generate report with suggestions

Pull Request Test Coverage Report for Build 1305

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 89.682%

Totals

Change from base Build 1296:
0.0%

Covered Lines:
28856

Relevant Lines:
32176

💛  - Coveralls


Documentation regarding docker run

Description
Hi all! I tried to run stargate locally using docker following the documentation, but the container did not found the enviroment variables. The command I found in the documentation was docker run -p 3000:3000 --name stargatebot -d eddiejaoude/stargate
Then I managed to run with docker passing the env file with docker run -p 3000:3000 --env-file ./.env --name stargatebot -d eddiejaoude/stargate
Am I missing some step to run with docker?
Join Eddie's discord community here

Hi @rafaquelhodev, apologies for the slow reply.
There is still code in branches at the moment, we are also migrating some repos together, including moving the data later to an API https://github.com/EddieHubCommunity/api
The default branch main has the foundations for the project, but is still not ready to be used.
Sorry for the confusion.

Hi @eddiejaoude , no worries!

Hi @rafaquelhodev , we have split this project into 2, the Discord bot EddieBot and the api project into the EddieHubCommunity Org http://github.com/EddieHubCommunity/
Come and join us there were we can collaborate 🤓

Great! I'm gonna check it out!

Awesome! Any questions let us know in Discord and we can help 🤓 http://discord.eddiehub.org


cache: includes cpu features in cache keys

there's a discussion about "offline" compilation, and if that happens,
the CPU feature incompatibility becomes the problem.
This hardens the cache against it by including the cpu id in the file cache keys
so that the content will be used exactly on the same CPUs.
Note that this impacts only amd64 target.

thanks guys!

@ncruces Thanks for mentioning the Go baseline - had the random thought that perhaps we shouldn't do any cupid detection. Since Go has GOAMD64, I think it is also a build tag. Maybe it's more "pure-Go" to just use the build tags instead of detection, wazero code is no better than Go code?
Anyways, I don't think it's an important, or even great, enhancement to implement, but maybe an idea for where there is a will and a want.