Use projects on different workstations & t2 generate help

@johnnyman727 I stumbled over the t2 key commands help text:

key           Generate a local SSH keypair for authenticating a Tessel VM

After reading #99 and #100 I wonder about the text needs to be changed because t2 key generate has to be used before very first t2 provision - or is this planed like a macro what checks and use OR generate the key before first usage of t2 provision automatically ?
In both cases the help needs to be changed I think - also about the global --key option #363  - maybe this would be a fitting short text:

key           Generates either a global (~/.tessel/) or a local project based SSH keypair

Calling t2 key --help also needs more descriptions (e.g.):

generate           Generates either a global (~/.tessel/) or a local project based SSH keypair
Options:
-d  PATH           places the generated SSH keypair to {PATH}./.tessel/ (bound to the local project)

The used case to work with this additional PATH option would be like having different passwords and be possible to archive the hole project move it to different computers to make it possible to use your Tessel from more then one of your workstations (Desk, Laptop, UNI-Computer-Pool, maybe someone likes to create a Tessel-Development-App and needs a shared key per project and Tessel).
So the final result of thinking about why to have multiple Tessel-Keys is: You may share them without thinking about you shared your single secret keypair. Thats the difference from normal used case opposing the SSH used case (we talked about #347 ).

@Student007 you actually don't need to run t2 key generate before running t2 provision. provision will call the key generate code automatically. I don't really like the key generate command but it was added solely for the VM workflow.

The used case to work with this additional PATH option would be like having different passwords and be possible to archive the hole project move it to different computers to make it possible to use your Tessel from more then one of your workstations (Desk, Laptop, UNI-Computer-Pool, maybe someone likes to create a Tessel-Development-App and needs a shared key per project and Tessel).

So the final result of thinking about why to have multiple Tessel-Keys is: You may share them without thinking about you shared your single secret keypair. Thats the difference from normal used case opposing the SSH used case (we talked about #347 ).

I think something may have been lost in translation here - I don't quite understand what you mean. Can you try to explain again?

:laughing: @johnnyman727 If you like to make a zip-archive of your Tessel project to move it over to your laptop you like to have a project specific id_rsa.

@Student007 can we close this issue now?

@johnnyman727 no, but there is no time to do it with a full set of testing at the moment. Sorry :crying_cat_face:

@Student007 what else does this issue need to be considered resolved?

Closing this due to inactivity. @Student007 feel free to speak up if you think it's still an active issue.


No search?

Search is the one crucial feature that this site is missing IMO. I understand that you can just CTRL + F, but a search bar is more accessible to everyone, and it would allow searching against the content in each recipe as well, using regular old string matching and some simple document processing techniques such as TF/IDF. Since there's no backend this can easily be done on the client side.

I suggest implementing this and making a pull request, even if it never gets merged other people can choose to use it for their own mirror of based.cooking. Just asking for a feature will usually be a waste of everyone's time.

I agree. Search would be nice. I have no idea how to implement that, though. Would contribute if I could.

I found this if anyone wants to frankenstein something together:
https://github.com/akrylysov/simplefts.git


Added examples and random-color cron script

Added more solid-color examples, and created a script to choose a random example and run it. I use this to change the keyboard color every 30 min or so.
Moved modes to the exampleModes folder since some of them do not work for me. Also, blinking, etc, may be too distracting.

@hvva Thanks for creating these examples!
Can you update your sh file to run node instead of nodejs?
nodejs is created via the legacy installer, node is created when node is built from source, or installed manually.

Updated script to run node rather than nodejs.
Also added exampleMode "off.js". The script will check if laptop is on battery. If so, it will turn the keyboard off.

Will merge with #20

What about making it compatible with the official software? Would it be possible?
if not, what about making the profiles language agnostic? By using some ini-like language that can be used by systemd, the C++ port, desktop managers or applications.

Closing since no updates from the PR author


terraforming_snowflake on windows

Describe the bug
unable to run the terraforming snowflake on windows
To Reproduce
.\terraform init
Initializing the backend...
Initializing provider plugins...
Finding snowflake-labs/snowflake versions matching "~> 0.59"...
╷
│ Error: Incompatible provider version
│
│ Provider Terraform Registry  v0.65.0 does not have a package available for your
│ current platform, windows_386.
│
│ Provider releases are separate from Terraform CLI releases, so not all providers are available for all
│ platforms. Other versions of this provider may have different platforms supported.
╵
Expected behavior
was hoping it would work
VSCode - on windows
Desktop (please complete the following information):

OS: Windows
Version 11

Additional context
https://quickstarts.snowflake.com/guide/terraforming_snowflake/index.html?index=..%2F..index#5

maybe just update this Prerequisites to mention that the snowflake terraform provider only runs in linux so you will need some flavour available
if you are on windows set up wsl  https://learn.microsoft.com/en-us/windows/wsl/ and use that environment for this quickstart.
Prerequisites
What You'll Need
A GitHub account
A git command-line client
Text editor of your choice
Terraform installed


Cleopatra and Stratum exchanges not handled correctly

Bug Description
Cleopatra and Stratum exchanges not handled correctly
Severity (High/Medium/Low)
High
Details
Currently, for every Solidly-like pool contract, the bot retrieves the corresponding factory contract by calling a function in the pool contract.
In the case of Velocimeter pool contracts, that function is named voter; in all other cases, it is named factory.
The handling of Cleopatra exchanges, which is currently broken for two different reasons:

The bot attempts to retrieve the factory contract by calling non-implemented function factory in the pool contract
The bot assumes that the pool contract uses decimals=4, while this contract actually uses decimals=18

The handling of Stratum exchanges, which is currently broken for two different reasons:

The bot attempts to retrieve the factory contract by calling non-implemented function voter in the pool contract
The bot assumes that the pool contract uses decimals=4, while this contract actually uses decimals=18

In order to fix the handling of Cleopatra exchanges:

The bot should retrieve the factory contract by reading storage-slot 11 in the pool contract
The bot should assume that the pool contract uses decimals=18

Fixing the handling of Stratum exchanges is less trivial, primarily because the factory contract cannot be retrieved from the storage of the pool contract (neither by calling a function on that contract, nor by reading this value directly from the contract storage).
That address can probably be retrieved by fetching the first event on the pool contract, because the factory contract is the creator of the pool contract (i.e., the value of msg.sender in the constructor of the pool contract was the address of the factory contract).
Another option is to use the hard-coded value 0x061FFE84B0F9E1669A6bf24548E5390DBf1e03b2, which is the address of a Stratum factory contract.

Your solution to getting the Factory address for Cleopatra sounds good.
For Stratum - hardcoding the address does not solve the problem this contract call was meant to address - which is to discover the exchange an unknown pool belongs to.
The fee resolution in the code - "4" - is correct. If you disagree, please prove otherwise.

I think a short-term solution of making the bot able to continue without receiving the factory address here would be a good solution.

Your solution to getting the Factory address for Cleopatra sounds good.
For Stratum - hardcoding the address does not solve the problem this contract call was meant to address - which is to discover the exchange an unknown pool belongs to.
The fee resolution in the code - "4" - is correct. If you disagree, please prove otherwise.

I think a short-term solution of making the bot able to continue without receiving the factory address here would be a good solution.

OK, my bad on the fee-resolution.
I was looking into the contract's decimals function, which of course has nothing to do with the fees.
That resolution appears to be hard-coded (either in the factory contract or in the pool contract or both).
So I'm gonna assume that you've carefully investigated that in order to determine that it is indeed 4 and not 18 for both of these exchanges (cleopatra ands stratum).

Have decided on removing the attempt to fetch factory addresses dynamically (during runtime).


"feature" request - can you please upgrade to easylogger++ v9.96.4

Dear librealsense support,
i've been having difficulty integrating software that uses the latest version of easylogger (9.96.4) with librealsense.
i think it has something to do with the fact the librealsense is using a one year old version of easylogger,
but more important that the "age" is the importance of the bug fixes made to it since then.
( for more info about the actual error i'm dealing with, you are welcome to view https://github.com/muflihun/easyloggingpp/issues/639)
but it seems to me that using easylogger 9.96.4 is a good idea regardless of my problems.
:-)
thanks,
omer.

Hi @omerbrandis
That makes sense. We will try to add this in one of the upcoming releases. You can disable librealsense ELPP via CMake flag if you are not using it and it is causing you problems for now.

hello MR.Dorodnic,
can you please provide more information about disabling usage of easylogger?
( i've seen parm BUILD_EASYLOGGINGPP for the build of librealsense itself,
but i'd rather avoid building librealsense from source, so far i've used the package installation ).
thanks,
Omer.

Yes, I was referring to BUILD_EASYLOGGINGPP Cmake flag

[Realsense Customer Engineering Team Comment]
@omerbrandis
do you still need any assist for this issue?

Hi,
No , i do not,
do you wish me to close this issue?
( i thought it should be kept open until its executed)
omer.

[Realsense Customer Engineering Team Comment]
@omerbrandis
This is new feature request, we will discuss internally, but might not have it in short time. I will create feature request internally, you can trace the release note of the new release in the future. So the ticket should be able to close.


 U: .

Console output
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3216/1/console

versions
git=2.17.1 maven=3.6.3

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Hi , @Apache9
Could you please review this PR and provide feedback?
 U: .

Console output
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3216/1/console

versions
git=2.17.1 maven=3.6.3

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
3m 33s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

_ master Compile Tests _

+1 :green_heart:
mvninstall
4m 17s
master passed

+0 :ok:
refguide
3m 43s
branch has no errors when building the reference guide. See footer for rendered docs, which you should manually inspect.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
3m 59s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+0 :ok:
refguide
3m 40s
patch has no errors when building the reference guide. See footer for rendered docs, which you should manually inspect.

_ Other Tests _

+1 :green_heart:
asflicense
0m 16s
The patch does not generate ASF License warnings.

20m 56s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3216/1/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/3216

Optional Tests
dupname asflicense refguide

uname
Linux 7aab1361c1d2 4.15.0-136-generic #140-Ubuntu SMP Thu Jan 28 05:20:47 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 5d42f58ff6

refguide
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3216/1/artifact/yetus-general-check/output/branch-site/book.html

refguide
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3216/1/artifact/yetus-general-check/output/patch-site/book.html

Max. process+thread count
65 (vs. ulimit of 30000)

modules
C: . U: .

Console output
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3216/1/console

versions
git=2.17.1 maven=3.6.3

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.


[sil-dead-function-elimination] Do not remove bodies of transparent functions referenced from vtables and witness tables

Fixes rdar://28960061 and SR-3034

Resolves SR-3024.

@swift-ci Please smoke test

This should resolve the issue with release mode on Linux, mentioned in https://github.com/apple/swift-package-manager/pull/758

🙏👏🙌🎉🎉🎉


A question about

Hi,
how to get these values  as the below ?
“”sample  option    bam_size(mb)  vcf_lines  CPU_time(s)  Memory(mb)“

Run the benchmark script in the benchmark folder should generate a file named "result.txt", which contains these information.
This script is written in Julia so you may need to install it before running.

thank you , I will have a try later .

HI ,
it's worked! thank you!


How the event_flags generated?

Hello, I am very interested in your project, especially the part about event_flag, but I don't quite understand how the boss's ID in event_flag matches the value of event_flag? (For example, 10000800 (Godrick the Grafted) corresponds to (0x151c33,7). How did you find this matching relationship? I would be grateful if you would disclose it.

I would also like to extract some more of the event flags. Specifically, I want to know if a bell bearing has been turned in.
I have considered turning it in and checking the diff of the event buffer from before and after.

The new er-save-lib has a get_event_flag_by_id and set_event_flag_by_id functions. This is gonna be on the new relaese.

@ClayAmore are you still planning on working on this?
if not i might be able to try


[TUBEMQ-477] implement state machine for tasks and jobs

Codecov Report

Merging #363 (7db938b) into TUBEMQ-455 (dec0143) will increase coverage by 0.01%.
The diff coverage is n/a.

@@               Coverage Diff               @@
##             TUBEMQ-455    #363      +/-   ##
===============================================
+ Coverage          7.79%   7.80%   +0.01%
+ Complexity          470     468       -2
===============================================
  Files               261     261
  Lines             28010   28010
  Branches           4598    4598
===============================================
+ Hits               2182    2186       +4
+ Misses            25353   25349       -4
  Partials            475     475

Impacted Files
Coverage Δ
Complexity Δ

.../apache/tubemq/corebase/policies/FlowCtrlItem.java
38.88% <0.00%> (-1.12%)
8.00% <0.00%> (-1.00%)

.../tubemq/corebase/policies/FlowCtrlRuleHandler.java
43.98% <0.00%> (-0.59%)
34.00% <0.00%> (-1.00%)

.../java/org/apache/flume/sink/tubemq/TubemqSink.java
55.42% <0.00%> (+4.00%)
14.00% <0.00%> (ø%)

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 dec0143...7db938b. Read the comment docs.


Project board is out of date

The project board for this repository has not been updated in over 8 months. Is it still being used? If so, it should be updated to reflect the current state of the project. If not, it should be disabled in GitHub.
Ref: https://github.com/cloudevents/sdk-javascript/projects/1

I've disabled the projects tab as it isn't being used.
We can re-enable if we happen to want to use it.


[N7 Account Settings] Create personal details pages

cc @arosiclair - We can use this PR to test out your PR to create the commands. This is almost ready for testing, I have a bit more testing and cleanup to do first
Details

~Holding on Web-E PR that creates the necessary "update" commands: https://github.com/Expensify/Web-Expensify/pull/36075~

Update: Not on hold anymore!

Fixed Issues
$ https://github.com/Expensify/App/issues/11578
$ https://github.com/Expensify/App/issues/11579
$ https://github.com/Expensify/App/issues/11580
$ https://github.com/Expensify/App/issues/11581
Tests
Note when testing in dev only: Comment out this line in web-e so local dev testing works!
Profile page

Navigate to Settings -> Profile page
Verify all of the menu item heights look the same and everything looks good, like this screenshot:

Verify clicking on Personal Details button navigates to personal details initial page

Personal Details initial page (part 1)

Navigate to Settings -> Profile -> Personal Details
Log in to an account with no legal name, date of birth, or address set verify this page looks empty like this:

Legal name page

Navigate to Settings -> Profile -> Personal Details -> Legal name
Verify you cannot submit the form with either of the legal name fields empty
Verify you see an error below fields if either field has > 150 characters

Verify you see an error below fields if either field has characters , or ;

Verify when you click "Save" you are redirected back to the Personal Details Initial page, and that you now see the updated legal name (first + last with a space inbetween)

Verify you see the update on a second logged in device too, unless offline

Date of birth page

Navigate to Settings -> Profile -> Personal Details -> Date of birth
Fill out a date less than 5 years ago. Click save, verify you see an error that makes sense

Fill out a date more than 150 years ago. Click save, verify you see an error that makes sense

Fill out a date that is invalid (like November 31 2000). Click save, verify you see an error that makes sense

Fill out a date that is valid (and between 5 and 150 years ago), make sure you see no error
Click "Save", verify you are redirected back to the Personal Details Initial page, and that you now see the updated date of birth

Address page

Navigate to Settings -> Profile -> Personal Details -> Home address
Verify you cannot submit the form with any of the address fields empty except the "Address line 2" field (an error shows up on all fields that are empty, except address line 2)

Verify you cannot enter more than 50 characters on any field (except the first address line & you only enter up to 10 in the zip code field)
Verify if you have "USA" selected in the country picker, the "State" picker is shown. But if you switch to any other country, the "State / Province" Text input field now shows

https://user-images.githubusercontent.com/3885503/213698697-dfc0a665-bdf0-4cce-be7d-1f389b5d1c98.mov

Fill out the form with valid data, click "Save", verify you are redirected back to the Personal Details Initial page, and that you now see the updated address on that page - all fields should be separated by commas
Go to the home address page, start typing in the street field, click on a suggested address
Verify the fields in the form get auto-populated

Personal Details initial page (part 2)

Navigate to Settings -> Profile -> Personal Details
Log in to an account with legal name, date of birth, or address set. Verify this page looks like this:

[ ] Verify that no errors appear in the JS console

Offline tests
You should be able to do all of the above offline, except looking at updates on a 2nd device
QA Steps
Same as above

[ ] Verify that no errors appear in the JS console

PR Author Checklist

[ ] I linked the correct issue in the ### Fixed Issues section above
[ ] I wrote clear testing steps that cover the changes made in this PR

[ ] I added steps for local testing in the Tests section
[ ] I added steps for the expected offline behavior in the Offline steps section
[ ] I added steps for Staging and/or Production testing in the QA steps section
[ ] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[ ] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[ ] I included screenshots or videos for tests on all platforms
[ ] I ran the tests on all platforms & verified they passed on:

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

[ ] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[ ] I followed proper code patterns (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I followed the guidelines as stated in the Review Guidelines
[ ] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] I verified that if a function's arguments changed that all usages have also been updated correctly
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

Few more things to figure out before this should be 100% ready:

Pusher updates when updating DOB & Address
Country picker

@eVoloshchak FYI this PR is basically ready for lots of testing, I just have a bit of translation work to do before it's ready to merge - so if you have time to test it soon that would be great 🙏

@eVoloshchak FYI this PR is basically ready for lots of testing, I just have a bit of translation work to do before it's ready to merge - so if you have time to test it soon that would be great 🙏

Nice! I'll start testing later today

@Beamanator, I've found a couple of issues

Not sure if it's a bug with my environment, but when navigating to PersonalDetailsInitialPage, app crashes with the following error:

Invalid attempt to destructure non-iterable instance

It doesn't matter if you have a legal name or not.
This line is at fault
https://github.com/Expensify/App/blob/3de46a3a807ed0e4eefacc1d975067121b3bd7b2/src/pages/settings/Profile/PersonalDetails/PersonalDetailsInitialPage.js#L78
Using the same approach you used in AddressPage has resolved the issue
https://github.com/Expensify/App/blob/3de46a3a807ed0e4eefacc1d975067121b3bd7b2/src/pages/settings/Profile/PersonalDetails/AddressPage.js#L125

Legal name isn't updated until you close the Personal Details page and then open it again. Not sure if it should be polled and updated automatically or updated only when leaving/coming back to  Personal Details page

https://user-images.githubusercontent.com/9059945/214559207-e83e5da6-b546-4690-9740-159613479681.mov

Initially, inputs on Legal Name page don't validate for errors as you type, only when the input is blurred. This is until the input is blurred for the first time, after that the validation occurs for every symbol as you type. iOS and Android also have this problem

https://user-images.githubusercontent.com/9059945/214560114-1667cf80-e475-4c5a-92c3-48e4b874053c.mov

Thanks for the tests @eVoloshchak ! Some responses:

Not sure if it's a bug with my environment, but when navigating to PersonalDetailsInitialPage, app crashes with the following error:

Odd, I actually haven't seen that error on my side but I'll update and see if it fixes it for you 👍

Legal name isn't updated until you close the Personal Details page and then open it again. Not sure if it should be polled and updated automatically or updated only when leaving/coming back to Personal Details page

This is interesting, to get this to work in my dev environment I have to comment out some expensify card user data updating... I wonder if that's throwing for you... I'll look in the logs soon

Initially, inputs on Legal Name page don't validate for errors as you type, only when the input is blurred. This is until the input is blurred for the first time, after that the validation occurs for every symbol as you type. iOS and Android also have this problem

Yeah, this is actually expected, it's the way the forms were designed - I brought this up here but the point is that there are many fields that we don't want to validate on each keystroke (email validation, for example) so I believe we're planning to keep this as is

@eVoloshchak - yeah about your second point, I started an internal discussion (here, which you don't have access to sorry) - for now you probably can't do any of the tests 😅

@MonilBhavsar @arosiclair it looks like @eVoloshchak is going to have trouble testing until I implement the plan detailed here (hopefully tomorrow, but won't be in staging till early next week).
I also finished up the error messages & made this follow-up (https://github.com/Expensify/App/issues/14549) for country picker translations. So if y'all could review again by EOW that would be super helpful 👍 🙏

Putting on hold for https://github.com/Expensify/Web-Expensify/pull/36284, where we'll handle the pusher bug mentioned by @eVoloshchak (updating private personal details in a new account used to throw errors because we tried updating Marqeta, but user didn't have all required private personal details)

@eVoloshchak Actually I think you can continue tests, just assume on a 2nd device you won't see immediate updates 😅

@eVoloshchak Actually I think you can continue tests, just assume on a 2nd device you won't see immediate updates 😅 (until https://github.com/Expensify/Web-Expensify/pull/36284 is merged)

Awesome, will continue testing later today

One more "issue" I'm considering making a follow-up: When you save a legal name (for example), I believe we're retriggering calling OpenPersonalDetailsInitialPage which results in:

Optimistic onyx data is stored from updating legal name
Results from OpenPersonalDetailsInitialPage return and get displayed, which is old data
Pusher message from updating legal name arrives, with new data

No longer holding on Web-E PR! 👍

There are a couple of crashes due to localization

There is no common.error.comma and common.error.semicolon, so it crashes on legal name screen is you enter comma or semicolon
There is no privatePersonalDetails.error.dateInvalid, so there's a crash when you try to delete a date

https://user-images.githubusercontent.com/9059945/215760091-2689f0e0-43b0-4d2b-8d4d-3b6ef8e66f46.mov

One real bug I've found is that if the address line exceeds 150 characters, the form will still be submitted, but the address won't be updated

https://user-images.githubusercontent.com/9059945/215761366-257e028c-810c-4ab2-bcce-21eda3868368.mov

Not sure if that's the intended behavior, but date picker isn't cleared when you leave the page, while legal name and address pages are cleared

https://user-images.githubusercontent.com/9059945/215762188-1e051abd-e60b-43fe-adef-bf65a1eedcdb.mov
Other than that, I've tested these flows on all platforms and it looks and works well

I also have a suggestion for the address form, but not sure if that's going to be hard to implement: we could automatically select a country in the country picker when user selects the auto-suggested address
https://user-images.githubusercontent.com/9059945/215763727-8a1c4245-e886-4b7d-9b75-43545da941f5.mov

@eVoloshchak did you experience any weird behavior in the date of birth page on iOS? For some reason I'm getting errors and I think it's because values.dob is a Date object instead of a string??

@eVoloshchak did you experience any weird behavior in the date of birth page on iOS? For some reason I'm getting errors and I think it's because values.dob is a Date object instead of a string??

Hmm, actually I'm getting this error on both iOS and Android when pressing Save
I must have missed this, but I remember datepicker working on native at some point

@eVoloshchak yeah that's what i'm seeing too - but not always I think 🤔  I don't think this is related to my changes in this PR though, since I didn't adjust the DatePicker & I didn't use it in a weird way 😅

Do you mind testing this on a DatePicker that's in main?

Pulled latest main, DatePicker on Personal Information screen works fine on Android
I can't check iOS since Passwordless is too passwordless and I'm not receiving sign-in links

Sorry y'all I'll finish the checklist & screenshots tomorrow 🙏 Then are we good to go with tests & a few follow-ups @eVoloshchak ?

Yes!

The iOS date issue i mentioned before is gone 😬 Dunno how it happened 🤷

Screenshots & vids all uploaded from me, @eVoloshchak @arosiclair mind giving it a final review today? 🙏

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

@Beamanator, tested again and uploaded the screenshots
I'm still getting the date error on iOS and Android, so can't fully test those. I've verified that datepicker in personal information screen

@eVoloshchak

I'm still getting the date error on iOS and Android, so can't fully test those. I've verified that datepicker in personal information screen

Ugg that's annoying, but I think we should make it a follow-up since I don't think it has anything to do with my changes, it must be a generic date picker bug on native (I didn't see it on Android by the way, only iOS)

Sorry for noticing this just now, is ZIP code input supposed to not be validated? I can enter anything into it

Good question, for now I think we want to keep it as it is, since some countries have letters and / or numbers in the zip code. Example:

6 Christchurch Terrace, London SW3 4AJ, United Kingdom

https://goo.gl/maps/XcNWtuuJfVCeL4zW7

@Beamanator, makes sense
In that case, I'll re-test and upload screenshots for native in an hour, everything else looks good

Groovy, thanks @eVoloshchak 👍 👍

Found a small issue, Personal Details page isn't scrollable
https://user-images.githubusercontent.com/9059945/216588519-6ac9019b-96c2-4c00-93a6-e65708897818.mov

@eVoloshchak good catch, added the scrollview 👍

I saw a small validation issue with Address page.
Initially if I don't do anything with country selector, it accepts it and probably stores wrong value.
https://user-images.githubusercontent.com/32012005/216609538-558656d4-5c48-4bf0-b9be-e94591691f96.mov

Sorry, another issue with country selector not updating with selected/latest value
https://user-images.githubusercontent.com/32012005/216610810-d19b9241-4209-47b1-b0f3-6e2f89c5aa20.mov

@MonilBhavsar

I saw a small validation issue with Address page.
Initially if I don't do anything with country selector, it accepts it and probably stores wrong value.

Hmm I have only reproduced when I accidentally had something other than a valid country stored in Onyx - is that how you reproduced that one?

Sorry, another issue with country selector not updating with selected/latest value

I thinkkkkk this is due to this: https://github.com/Expensify/App/issues/14784

Hmm I have only reproduced when I accidentally had something other than a valid country stored in Onyx - is that how you reproduced that one?

I am able to reproduce it every time. The country also doesn't look correct, any idea how false country shows up? Also, @eVoloshchak Are you able to reproduce this issue?

I thinkkkkk this is due to this: https://github.com/Expensify/App/issues/14784

Looks like it. Thanks! 👍

@MonilBhavsar - I think the reason the country picker validation sometimes doesn't work is b/c I used to have "AF" stored in country, I think from old test. When I updated to a valid country, I saw everything work properly, so I wonder if that's the same for you
Also in your test I can see that the country started as "AF" - I think that was a starting test value before I added the full list:

I've been trying to break it but can't so far, so I wonder if you can break after you successfully set a real country in the picker?

@eVoloshchak Are you able to reproduce this issue?

Yes, was able to reproduce on a new account
https://user-images.githubusercontent.com/9059945/216632960-e1894510-5ce2-4554-9c52-27ec4a093183.mov

Ahhhhhhhh @eVoloshchak your video helped 👍  The reason this happens is b/c google places DOES populate the country, but the country is only two letters (in your example, US) and the country picker has different values, so it shows up as - but technically the country is populated - I'll fix this somehow 🙃

Fixed - please hopefully a final review @MonilBhavsar @eVoloshchak 🙏 🙏 🙏

Re-tested and added recording for Android
Encountered an issue on iOS: I logged out, signed back with a new account, the address field was empty, but when I navigated to Home address screen it was populated by the info from the previous account.
https://user-images.githubusercontent.com/9059945/216851236-9afb57f4-8894-4158-bcea-add4842c5923.mov
Also if you edit home address and then come back to edit it again, the changes aren't saved on home address page
https://user-images.githubusercontent.com/9059945/216851273-1f870b27-cbe9-40d3-9e1e-5934d141d6ec.mov
This is also happening on a physical device

@eVoloshchak I'm 99% sure those issues you mentioned are Form bugs, unrelated to my PR - but I'll try to dive in to them today 👍

Encountered an issue on iOS: I logged out, signed back with a new account, the address field was empty, but when I navigated to Home address screen it was populated by the info from the previous account.

Also if you edit home address and then come back to edit it again, the changes aren't saved on home address page

I can confirm that these happen on all platforms, and are due to the same Form bug: https://github.com/Expensify/App/issues/14784
I used a proposed solution (this one) and it fixed the bug
Note: I didn't actually implement the bug fix because the exact fix is being reviewed in that PR - I bumped them to move quicker since the bug is affecting all pages with Form

@Beamanator, thank you!
I've re-tested with this proposal applied and it works good

Thanks @eVoloshchak ! All you @MonilBhavsar @arosiclair 👍

@MonilBhavsar I do see a slight delay on the Personal Details Initial Page (when loading the latest private personal details) but definitely not that big of a delay. I wonder if there's a larger delay since this data is encrypted and has to come all the way from Auth? If there's consistently long delays maybe we can have some kind of loading state on that page

I'm merging b/c I got 2 approvals and everything seems like it has been tested pretty thoroughly 👍 Thanks y'all!

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

If there's consistently long delays maybe we can have some kind of loading state on that page

Yes, a loader sounds good. This might seem broken, but in real we're fetching data

🚀 Deployed to staging by https://github.com/Beamanator in version: 1.2.67-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

Noting there was an issue created by QA when testing this PR https://github.com/Expensify/App/issues/14949 but I will go ahead with the deploy as it seems like its only affecting one platform and this is a big PR so reverting is not a good option. However, it would be great to fix that one sooner than later.

🚀 Deployed to production by https://github.com/mountiny in version: 1.2.67-7 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Use sighup to reload configuration

This PR uses sighup instead of the HTTP API POST /-/reload endpoint to trigger config reload.
Unlike prometheus, alertmanager (0.23.0 / 2021-08-25 and earlier) does not have a --web.enable-lifecycle cli option, so nothing to do here on that front.

There were a few surprising mypy errors for which I ended up doing fetch-lib so the diff looks bigger than what it really is.
Renaming of test_charm to test_config_changed_modifies_file shows up as deletion + new file.

Crossref: OPENG-32

Hi @sed-i @mmanciop @simskij

The HTTP API endpoint provides us with response status when we issue commands, which we lose when switching to using signals.
If the motivation of this PR is to  prevent external access of the HTTP (port 80) endpoint of the workload container inside a Alertmanager pod, shall we instead explore mechanisms in Juju or elsewhere that can help us do this ? Note the ports used for Prometheus and Alertmanager peers is not 80. Port 80 in the workload container only needs to be accessed by the charm side card container. Hence port 80 need not be exposed by the  pod.

Isn't the port 80 also the same we use to serve the requests from Karma over the https://github.com/canonical/alertmanager-k8s-operator/blob/279f4bfc051c181f6ef91197320cedca1748c121/metadata.yaml#L36 relation interface AND what powers the Alertmanager interface?

is it really an option not to expose it?

Depends on the topology you have in mind :) but yes, in general the HTTP API (of all cos apps) would need to be exposed.

Grafana is also not port 80, but all of these expose HTTP endpoints which will come over ingress as 80 regardless, and be remapped.
Unlike the others, Grafana does not support reload method, and Grafana (in general) requires auth for any "dangerous" endpoints. Yes, they'll all need to be exposed, and filtering endpoints out is not realistic.

After discussing this a bit it was decided to stick with HTTP API.


[feat] Print dependencies of a test in --list-detailed output

This is an example of the new expected output:
List of matched checks
======================
  * T0 (found in /path/to/reframe/unittests/resources/checks_unlisted/deps_complex.py)
      - description: T0
      - systems: *
      - environments: *
      - modules:
      - task allocation: standard
      - dependencies: []
      - tags:
      - maintainers:
  * T1 (found in /path/to/reframe/unittests/resources/checks_unlisted/deps_complex.py)
      - description: T1
      - systems: *
      - environments: *
      - modules:
      - task allocation: standard
      - dependencies: [('T4', 'DEPEND_BY_ENV', None), ('T5', 'DEPEND_BY_ENV', None)]
      - tags:
      - maintainers:
...

Fixes #1091

We could have another option for showing the full dependency tree, but that's a different issue.

Codecov Report

Merging #1237 into master will decrease coverage by 0.54%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1237      +/-   ##
==========================================
- Coverage   91.92%   91.37%   -0.55%
==========================================
  Files          84       84
  Lines       12209    12398     +189
==========================================
+ Hits        11223    11329     +106
- Misses        986     1069      +83

Impacted Files
Coverage Δ

reframe/frontend/cli.py
81.45% <ø> (+0.17%)
:arrow_up:

reframe/core/config.py
51.23% <0.00%> (-33.26%)
:arrow_down:

unittests/test_utility.py
99.30% <0.00%> (+0.02%)
:arrow_up:

unittests/test_cli.py
94.02% <0.00%> (+0.14%)
:arrow_up:

reframe/utility/__init__.py
90.85% <0.00%> (+0.66%)
:arrow_up:

reframe/frontend/statistics.py
91.03% <0.00%> (+1.31%)
: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 c0d45ae...59d4e90. Read the comment docs.


Update nl.json

Better dutch translation for works

In the context of work it's the wrong translation, i will commit an update.


Flutter WEB: CanvasKit font rendering does not match DomCanvas or Desktop or device SKIA font rendering.

Summary
The font renders on WEB, when using CanvasKit and building apps with:
flutter run -d chrome --release --dart-define=FLUTTER_WEB_USE_SKIA=true
Look very different from the default DomCanvas or device and desktop font renderings.
An example application is presented below with screenshot comparisons.
The example application repo is available here: https://github.com/rydmike/mr_font_test
Live web comparions are also available:

DomCanvas: OK https://rydmike.github.io/fontissue/domcanvas
CanvasKit: FAIL https://rydmike.github.io/fontissue/canvaskit

CanvasKit Font Issue
A small Flutter test application to test the difference in the look of fonts on Windows, WEB DomCanvas and WEB CanvasKIT is provded.
The application uses the Flutter StoryBoard package (https://pub.dev/packages/flutter_storyboard)
to be able show several mobile like screens on a larger canvas like WEB or Desktop. This makes it easy too visually see the differences between the example fonts. We still need to compare screenshots from different platforms to each other to observe differences between them.
Three comparisons are presented:

Windows 10 desktop
WEB, using DomCanvas
WEB, using CanvasKit

The results: CanvasKit deviates too much from other targets
The screenshots below show a major difference in how the fonts look when the Flutter WEB CanvasKit is used compared to how fonts look on Android, Windows and even the default Flutter WEB DomCanvas.
You can also use the links to live examples provided further below to the DomCanvas and CanvasKit versions and put them in separate browser tabs and switch between them to observe the significant difference in font rendering.
Windows Desktop
On Windows Desktop we can see that the fonts look correct. We can also notice that we get a none "Roboto" font as the default font. This is expected on the Windows platform. If Roboto is desired on Windows to ensure consistent design the font has to be bundled and specified in the theme.

WEB, using DomCanvas
When we use the default Flutter DomCanvas to build the Flutter WEB application, the fonts look OK.
We can also see that the font now defaults to "Roboto" also when one it is not explicitly defined.
The fonts for default and forced Roboto are thus identical. At least when running this test on a WEB browser using Windows as platform, when running on iOS using e.g. Safari it is not the case, we then instead see the San Francisco font as the default font, this is expected too.
This WEB example was made on a Windows computer and the "Roboto" font is included as a
bundled asset, but for the default look never explicitly specified.
The DomCanvas example can be seen as a live example here:
https://rydmike.github.io/fontissue/domcanvas

WEB, using CanvasKit
When we use the Flutter WEB CanvasKit and build the Flutter WEB application using:
flutter run --release --dart-define=FLUTTER_WEB_USE_SKIA=true -d Chrome

We can see that the fonts are NOT OK! The fonts are too thin compared to the same fonts on Windows Desktop, Android, iOS and compared to the previous WEB DomCanvas example as well.
The CanvasKit example can be seen as a live example here:
https://rydmike.github.io/fontissue/canvaskit

Setup and version
These tests and resulting screenshots were made on a Windows 10 computer. The "Roboto" font was still included as a bundled asset, but for the platform defaults, in Demo 1 never actually specified explicitly. The Demo 2 and Demo 3 specifies the desired font explicitly.
The Web results are as they were rendered on Windows 10 using Chrome version 81.0.4044.129 (Official Build) (64-bit)
The test builds where made using Flutter Channel master, as shown below:
[√] Flutter (Channel master, 1.18.0-9.0.pre.103, on Microsoft Windows [Version
    10.0.18363.720], locale en-US)
[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[√] Chrome - develop for the web
[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.5.4)
[√] Android Studio (version 3.6)
[√] IntelliJ IDEA Community Edition (version 2019.2)
[√] VS Code (version 1.44.2)
[√] Connected device (4 available)

• No issues found!
> flutter doctor -v
[√] Flutter (Channel master, 1.18.0-9.0.pre.103, on Microsoft Windows [Version
    10.0.18363.720], locale en-US)
    • Flutter version 1.18.0-9.0.pre.103
    • Framework revision 87b3f1635e (59 minutes ago), 2020-05-04 19:05:42 +0300
    • Engine revision 2037e0f18d
    • Dart version 2.9.0 (build 2.9.0-5.0.dev d5af40b640)

[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.5.4)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.5.30011.22

[√] Android Studio (version 3.6)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 45.1.1
    • Dart plugin version 192.7761
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)

[√] IntelliJ IDEA Community Edition (version 2019.2)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.3.1
    • Flutter plugin version 35.3.3
    • Dart plugin version 192.7402

[√] VS Code (version 1.44.2)
    • Flutter extension version 3.10.0

[√] Connected device (4 available)
    • Nexus 7    • 0a99f5e8   • android-arm    • Android 6.0.1 (API 23)
    • Windows    • Windows    • windows-x64    • Microsoft Windows [Version
      10.0.18363.720]
    • Web Server • web-server • web-javascript • Flutter Tools
    • Chrome     • chrome     • web-javascript • Google Chrome 81.0.4044.129

/cc @hterkelsen

Any progress on this issue?
Also I want to clarify that I only see this issue on CanvasKit builds when including the fonts as a bundled asset (I did not test with google_fonts... yet).
So when, like in the supplied example, the Roboto font is included as an asset it looks like this:

The Roboto font looks horrible as you can see, as does the Montserrat font.
If I on the other hand remove the "Roboto" font from being bundled as an asset from the same example, and just trust that it will exist and be loaded on the target platforms without explicitly bundling it, and since it now does so on Flutter web (it did not on older Flutter versions), then the Roboto font actually looks OK for the SKIA build too, but the bundled Montserrat font still looks as bad as before:

So for the default Material font Roboto, the workaround for SKIA builds for now is not to bundle it and the app will look OK with SKIA builds too. Still you might need to bundle "Roboto" too when building for other platforms that might not include it, when you want to ensure the exact same font anyway (like eg Windows) and of course special fonts need to be bundled (remote loaded) anyway, we cannot assume they exist on any target platform.
Clearly since the SKIA build can show a correct looking Roboto font, something fishy is going on with the SKIA WEB rendering of fonts when they are loaded from assets.
Maybe some setting that needs to be changed?

I have recently attempted to compile my flutter web app using Compiled with --dart-define=FLUTTER_WEB_USE_SKIA=true similar to @videah (CanvasKit rendering) without any success. How would I switch back to compiling my Flutter Web app with DomCanvas rendering, since CanvasKit is useless at this point?

Updated info with a CanvasKit+CanvasText web build
I just tried to make a web build with both experimental flags CanvasKit CanvasTex enabled, by using:
flutter run -d chrome --release --dart-define=FLUTTER_WEB_USE_SKIA=true --dart-define=FLUTTER_WEB_USE_EXPERIMENTAL_CANVAS_TEXT=true
Used version: Channel master, 1.21.0-6.0.pre.106,
Tested this to see if it makes any difference to earlier above report. Unfortunately when it comes to fonts embedded as assets, I did not see any improvement on the font renders on CanvasKit builds.
Fonts on CanvasKit remain totally unusable when fonts are provided as embedded assets in a Flutter app. The fonts on DomCanvas still also remain just a tiny bit too fuzzy to be acceptable. So all web build options are still no go.

Note: Open or download the images below to compare exact bit map copies with no image scaling to best see the difference.

The OK and reference Windows/Android font renders of embedded Roboto

The a bit too fuzzy and too bold fonts with DomCanvas

The failed super thin font renders on CanvasKit with CanvasTex
The addition of CanvasText did not change results, the earlier findings above still apply.

Not that this excuses the discrepancy between backends, but reordering the font definitions to put the 'default' font at the top seems to fix this.
See https://github.com/rydmike/mr_font_test/pull/1 for example.

Wow, that totally worked! Thanks Tim for this workaround! :smile: :+1:
I wish somebody had let me know ages ago that it matters in what order fonts are listed in pubspec.yaml. I always list my fonts from thinnest to boldest one, seem logical to me and the order never mattered when building for Android/Windows/iOS so it certainly did not occur to me to even try this.
Hopefully now that the reason is known it can be fixed so that the order does not matter for Web CanvasKit builds too, it should not behave like this.
With this adjustment the result from the CanvasKit+CanvasText looks very good. The font rendering look very close to Windows/Android renders. The bold font on the card header is still a bit too bold compared to Android/Windows render, but not as bad as before. The fonts are also a bit less soft/fuzzy than DomCanvas only renders, but still a bit softer than on the supplied Windows render, but it is very close to it, nice!
Updated CanvasKit + CanvasText render of the same image as used above
With the asset font order in pubspec.yaml changed so that the regular font type is always listed first.

I created a new issue that pinpoints the specific bug here. Closing this one now. Thanks!

@timsneath Sure, good call, that's much clearer now that it has been pinpointed to the exact cause.
Just out of curiosity, did you know the font order mattered for CanvasKit builds or was it just a lucky/experienced guess and try?  😃

Well, it looked like Roboto Thin rather than Roboto Regular, so I was wondering why. My initial approach before spelunking into engine code (which is of course a viable option) was to comment out the weight: 400 line to see whether that would make Regular the default; when that didn't work, that naturally led to the question about ordering.


Create koa-ws (or co-ws) package for notifications + bidirectional JSON RPC 2.0 over WebSockets

We now have this implemented over several files. We can make a proper npm package (or use an existing one if such thing exists) for this exact purpose.
WebSocket reconnect with exponential back-off is important. We can use code from one of:

https://github.com/jeffbcross/ngSocket
https://github.com/gdi2290/angular-websocket/blob/master/angular-websocket.js

which is basically:
function createWebSocket () {
  var connection = new WebSocket();

  connection.onclose = function () {
    setTimeout(function () {
        // Connection has closed so try to reconnect every 10 seconds.
        createWebSocket();
    }, 10*1000);
  }
};

This is related to #16.

Not doing this in favor of simplicity so closing.


Provide NPM package

It would make it very convenient for those of us using webpack or browserify

+1

+1

This issue can be easily be avoided using browserify-shim.

Not as easy as npm install easeljs would be. Package management and build systems are related but distinct problems.

browserify-shim wont help webpack users.

I know it's not as easy, and that browserify-shim won't help webpack users. But it is a valid point for browserify users that are looking for a way to install, as long as there is no NPM-package.
My comment was not made to talk down at anyone, just to help people find a way to pass the issue without having to wait on the team to add a package.
As for webpack users, webpack seems to have options to import bower modules, or to shim packages that are not correctly formatted.
I haven't used webpack myself, so I can't really help there, but seeing as there are options, I would imagine that this isn't the highest priority on the teams mind.

Are the maintainers interested in providing an npm package? If so, I'm willing to help get things set up for publishing this on npm; I can make a PR for the package.json and/or provide guidance on npm best practices. Lmk if any of this could help get this issue closed out!

This doesn't solve the fundamental problem of module importing in Webpack. However, I figured out a nice way to bypass this until a solution is presented by just "importing" the classes from the window global object. I put up a Gist which demonstrates this and also shows how to use it with ES6 syntax/ classes: https://gist.github.com/iamkether/752e381e03ddcb78f637

Hi All - just wanted to pop in to let you know that this is one of our priority items for the next release. We have a plan in mind that we will run past you here in a bit, but we are very open to thoughts on specific implementation details.

Any update on this?

unofficial package here, https://github.com/mattbalmer/createjs-collection

We have our own in-house package for creates that's not the point. I would like to have an official one.

For Webpack users, here is a "verbose", but fully-functional configuration:
Install EaselJS via Bower: bower install --save EaselJS
Install these Webpack loaders: npm install --save-dev imports-loader exports-loader
In your webpack.config.js, merge your config with:
module.exports = {
    module: {
        loaders: [
            // That will tell Webpack that EaselJS refers to `window` with `this` and exports `window.createjs`.
            { test: /bower_components\/EaselJS\/.*\.js$/, loader: 'imports?this=>window!exports?window.createjs' }
        ]
    },

    plugins: [
        // This will tell Webpack how to find the main file of bower modules
        new webpack.ResolverPlugin(
            new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin('.bower.json', ['main'])
        )
    ],

    resolve: {
        // Add bower_components as a modules root
        modulesDirectories: ['node_modules', 'bower_components']
    }
}

Now, if you use ES2015, you could do in your app:
import { Stage } from 'EaselJS';

const stage = new Stage(canvas);
// enjoy!

Hi,
toverux solution works fine.

Any movement on this? It's been 5 months...
Isn't it (for the moment) just a case of adding a simple package.json?

Still on the horizon, but nothing expected immediately. Cheers.

@Diligentia-Uitgeverij was wondering if you could help me r.e using the browserify shim you mentioned earlier. I'm having trouble using it. Tried a number of things, but generally my package.json has this:
"browser": {
    "easel": "./src/vendor/easeljs-0.8.2.combined.js"
},
"browserify-shim": {
    "easel": "easel"
},

The resulting bundle does contain the EaselJS code, but I'm unable to require it in my JS files using require('easel').
Running the browserify diagnostic reveals this:
{ file: 'example/src/script.js',
  info:
   { package_json: 'example/package.json',
     packageDir: 'example',
     shim: undefined,
     exposeGlobals: {},
     browser: { easel: './src/vendor/easeljs-0.8.2.combined.js' },
     'browserify-shim': { easel: 'easel' },
  messages:
   [ 'Found "easel" in browser field referencing "./src/vendor/easeljs-0.8.2.combined.js" and resolved it to "example/src/vendor/easeljs-0.8.2.combined.js"',
     { resolved: { 'example/src/vendor/easeljs-0.8.2.combined.js': { exports: 'easel', depends: undefined } } } ] }

{ file: 'example/src/vendor/easeljs-0.8.2.combined.js',
  info:
   { package_json: 'example/package.json',
     packageDir: 'example',
     resolvedPreviously: true,
     shim: { exports: 'easel', depends: undefined },
     exposeGlobals: {},
     browser: { easel: './src/vendor/easeljs-0.8.2.combined.js' },
     'browserify-shim': { easel: 'easel' },
  messages: [] }

Perhaps I've misunderstood what the shim does, but it was my understanding that I could feed it a source file that hasn't been setup for CommonJS and then require it in my scripts?

@shennan From my experience setting up createjs-easeljs with npm & browserify, your shim needs an exports argument:
  "browser": {
    "createjs": "./node_modules/createjs-easeljs/lib/easeljs-0.8.2.min.js",
  },
  "browserify": {
    "transform": [
      "browserify-shim"
    ]
  },
  "browserify-shim": {
    "createjs": {
      "exports": "createjs"
    }
  },

Sigh...

We have started an ES6 branch which will enable a lot of these things (RequireJS, CommonJS, npm, etc), which we hope to start posting publicly fairly soon, with an official release in Q1/Q2 of 2017

Ah, waiting!

Great to hear ES6 is coming soon!
In the meantime, I found a clean(er) way to import via webpack:
npm i -DE createjs-easeljs
add to webpack.config.js:
loaders: [
      ...
      {
        test: require.resolve('createjs-easeljs'),
        loader: 'imports?this=>window!exports?window.createjs'
      }
]

@lannymcnie I looked for an ES6 branch but could not find one, has it been merged already?

@RoosterKelly Sorry, the ES6 branch is internal for now. Probably will get pushed to github in the new year.

I'm also interested in a version directly usable with webpack.

I've messed about with a lot of different ways in trying to make the CreateJS suite work in any module format and my analysis is that the latest stable (2015.11.26) can only ever be a global module. I've tried imports-loader which may work so long as your output target is truly "web". This ended up not working for me in two different ways though:

If you also need to use PreloadJS, you'll find that the embedded JSON3 library will think it's in an AMD ecosystem and therefore be undefined.
Because we're testing with Mocha & jsdom (a node environment) meaning the this CreateJS is expecting to be window is in fact global. I went way too far down a rabbit hole trying to make jsdom think it was a real browser and it just wasn't worth it.

That said, here is how I've configured webpack to handle the global library
$ npm install script-loader --save
$ npm install github:CreateJS/combined --save
// entry.js

// Sucks but aliasing is not available here
import 'script-loader!CreateJS/builds/createjs-2015.11.26.combined.js';

Then any modules further down your dependency tree will have access to createjs as a global
console.log(createjs);
...
const { EaselJS, SoundJS, PreloadJS } = createjs;
...

+1

+1

+1

+1

+1

Try it.
https://github.com/yuki-torii/yuki-createjs

@limichange Just tried it and works like a charm. Thanks a lot !

You can try my solution for this: https://github.com/eskab/createjs-boilerplate. I'm using bower packages of library

+1. The lack of official npm package is the only thing that drives me out from this amazing engine.

+1 this, very weird that no npm package is provided.

It looks like there are two forks on this thread that implement the necessary package.json - can we just use one of those?

Actually I see that it would be even better to have proper support for ES6 imports - for example, it's not obvious how we would import the WebGL based StageGL (or even the older SpriteStage) in the current system (if I use bower, which I have done).
It'd be nicer to do something like:
import {StageGL} from 'easeljs/StageGL'
or whatever it would take to enable tree shaking. It would also be nice to avoid adding everything to a global object. That seems like a bit more work than just adding package.json.
Is there a planning document to get this done somewhere?

We have started an ES6 branch which will enable a lot of these things (RequireJS, CommonJS, npm, etc), which we hope to start posting publicly fairly soon, with an official release in Q1/Q2 of 2017

@lannymcnie Well it is 10 days until the end of Q2, any update on the ES6 branch of CreateJS?

HI , you can try it https://www.npmjs.com/package/createjs-cmd

+1

+1

+1

+1

We have pushed npm support for the latest tagged version.

@lannymcnie thanks for the update! I'm finding issues lining up the main entry point configured in package.json and the the actual result of npm i easeljs which is ./lib/easeljs.js, but also noticed npmFilemap which looks new. Is there a minimum version of Node/NPM I need to be using? NPM 5.4.2 / Node 7.10.0 if so.

For the current EaselJS build, there isn't support for importing directly -- just downloading - much like bower.  The next version of EaselJS (which will be much sooner than the last release cycle) will be ES6, and have full compatibility for NPM, RequireJS, CommonJS, etc. Sorry for the inconvenience in the mean time.

Progress report on NPM support? Just found the Create JS suite and I'm hoping to be able to use it like other js libraries soon. It seems like a great set of tools from what I've seen.

There is a public branch of EaselJS 2.0, though its not published on npm just yet. We can look into a good approach to release it on NPM.

My mistake: Looks like we already have an NPM package for 2.0
https://www.npmjs.com/package/@createjs/easeljs
Cheers,

Thanks, we will publish an update shortly.


fix(pkg/tiller): saves all previous computed values on reuseValues

Resolves #3655

Is there a version you expect this to be included in? I don't see it in v2.9.0-rc4.

https://github.com/kubernetes/helm/releases/tag/v2.9.0-rc5

Did this get lost in Helm 3? #3957

Did this get lost in Helm 3? #3957


Transfers on the app should be made through the proxy

This function https://github.com/chelofinance/Xion-hackton/blob/main/frontend/utils/xion.ts#L26-L84
should make transfers through the proxy.
The msg api of the proxy can be found after this other issue is finished
https://github.com/chelofinance/Xion-hackton/issues/106
@kmchmk as before If you work on this one leave a message on the issue thread. If not ill work on this one

I haven't done anything for #106 . I can work on it tomorrow, if you haven't.


Server Crash Issue #3478 Still Happening but on 1.10.2 Now

Issue Description:
After server has been idle for long periods, when a player logs in the server gets hung up and eventually crashes
What happens:
After server has been idle for long periods, when a player logs in the server gets hung up and eventually crashes
What you expected to happen:
No crash
Steps to reproduce:

Leave server idle, overnight usually will do it but i've seen it happen after just a few hours
Logon to server
Server will eventually crash, crash log attached
...

Affected Versions (Do not use "latest"):

EnderIO: EnderIO-1.10.2-<IP_ADDRESS>_beta
EnderCore: EnderCore-1.10.2-<IP_ADDRESS>-beta
Minecraft: 1.10.2
Forge: <IP_ADDRESS>0

Your most recent log file where the issue was present:
http://pastebin.com/FepZjT9w

I should have mentioned, as before, when you start the server back up everything is fine again

All those watchdog-related crashes should be gone with the current Endercore. Closing this, please comment if it still happens, I can re-open the ticket then.


Problem with interpolation.py

Hi,
I've been trying to use dti() in interpolation.py with the results I get from demo_track.py, but I think this function has a problem - on line 78 of interpolation.py, I  believe  n_frame = tracklet.shape[0] will always return 1. Therefore I don't think the following code is ever run. And when I have tried to change this, e.g. n_frame = int(tracklet[:,0]) , I run into different problems, e.g. I think the score threshold doesn't work because in demo_track.py the score is always written as 1.0 -
results.append(f"{frame_id},{tid},{tlwh[0]:.2f},{tlwh[1]:.2f},{tlwh[2]:.2f},{tlwh[3]:.2f},1.0,-1,-1,-1\n"))  .
If you could tell me how to usethis code with the text files output by demo_track I would be very grateful.
Thanks

Hi @ajwl27
Why do you think the return of n_frame = tracklet.shape[0] should be always 1? In fact, it should not be if only the length of trackless is not 1. I tested the code and it ran smoothly. Could you provide the tracking output .txt files here to help debug?

Thanks for the reply @noahcao
I uploaded the first 500 trackfiles output from demo_track from my source video - https://drive.google.com/file/d/18_w2SdpJojjlPxEsqI3H6IJFiK6prZV5/view?usp=sharing
Sorry if I misunderstand, but I think  tracklet.shape[0] will be 1 because tracklet is a list with data from a single line (track) from a single track file (ie. all outputs from 1 frame). Something like [1,801.0,1970.00,1948.00,68.00,52.00,1.0,-1,-1,-1]

I feel confused about the uploaded files. In default, given one video, the output file should be just one .txt file instead of 500.
tracklet should a array of size T x 10, where T is the time length of the tracklet.
You may want to refer to the data format of motchallenge for reference, on which the interpolation.py is supposed to work.

Sorry for the delay replying to you. I think this is my fault, I think I was using some code from BYTETrack's demo file instead of the OC-SORT one. I've rerun the tracking to get a single trackfile and it seems to be working now. Thanks for your prompt help :)


Debugging

Local System:
Frontend running locally at 4100:

Backend running at port 8020:

Debugging
This is what happens when the backend is not running

Breakpoints

CORS/Password Incorrect/Login Not working
What happens when there is no cross origin request for the correct URL:

The breakpoint

When Log in is not working:

Breakpoints

Peer grade
1.9/2.0
Used last tri project and completed task, showed all errors. Did not give a 2.0 because I did not see any progress gained from debugging session. Nothing was actually fixed but the material was definitely learned.


You can convert tgs to json?

.tgs is just a compressed json file.
you cat use Stickerdownloadbot to download a .tgs file (will be in an archive) and then run gunzip as follows:
gunzip -c telegram_sticker.tgs > telegram_sticker.json


rust-analyzer: use nix-update-script

Description of changes
found out about this from https://github.com/NixOS/nixpkgs/pull/215733#discussion_r1103260533, figured this will make things simpler

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Update script returns 0 but cargoHash is not filled.
$ nix-shell maintainers/scripts/update.nix --argstr package rust-analyzer-unwrapped

Going to be running update for following packages:
 - rust-analyzer-unwrapped-2023-01-30

Press Enter key to continue...

Running update for:
 - rust-analyzer-unwrapped-2023-01-30: UPDATING ...
 - rust-analyzer-unwrapped-2023-01-30: DONE.

Packages updated!

$ git diff --no-ext-diff | cat
diff --git a/pkgs/development/tools/rust/rust-analyzer/default.nix b/pkgs/development/tools/rust/rust-analyzer/default.nix
index 47028160d17..bd6758bd912 100644
--- a/pkgs/development/tools/rust/rust-analyzer/default.nix
+++ b/pkgs/development/tools/rust/rust-analyzer/default.nix
@@ -13,14 +13,14 @@

 rustPlatform.buildRustPackage rec {
   pname = "rust-analyzer-unwrapped";
-  version = "2023-01-30";
-  cargoSha256 = "sha256-ONziMXbMPDoIb44mOJCg5O1QOo5o13kaGb+b6Qp3Ikk=";
+  version = "2023-02-06";
+  cargoSha256 = "";

   src = fetchFromGitHub {
     owner = "rust-lang";
     repo = "rust-analyzer";
     rev = version;
-    sha256 = "sha256-W8abw+8SuxSMMBH4ydfawdC6zwPHQwhHerFEXkB4oU4=";
+    sha256 = "sha256-apIUZwMwZkWqd7anSGcI1g+2rYfd5GoxIpFFabUFYBU=";
   };

   auditable = true; # TODO: remove when this is the default

I can't reproduce the error, but I agree nix-update should exit with an error here

opened https://github.com/Mic92/nix-update/pull/139 to fix this upstream, we can hold on to this until nix-update is updated

@oxalica could you check now that nix-update is updated?


I cant install on Laravel 5.8.4

PLease, try to support Laravel 5.8.4

composer require caffeinated/shinobi:dev-master is working for me now, thanks.


Corruption of  ${HOME}/.azure files

Describe the bug
The files inside the .azure folder gets corrupted
To Reproduce
IT's a race condition, so it's really diffictult to reproduce. I was using terraform, that uses the azure go sdk. at the same time I was running az aks list to see when the resource would come online. az cli failed with the following message.
az aks list
Failed to load token files. If you have a repro, please log an issue at https://github.com/Azure/azure-cli/issues. At the same time, you can clean up by running 'az account clear' and then 'az login'. (Inner Error: Failed to parse /Users/jopedros/.azure/accessTokens.json with exception:
    Extra data: line 1 column 16946 (char 16945))

Opening the file manually, I could see in the token array, there was an extra set of braces
}]

Manually correcting the file solved the issue.
Environment summary
az --version
azure-cli                         2.0.63 *
osX, bash.

This is a known issue. Meantime, the workaround is to use Azure_CONFIG_DIR to isolate CLI into its own sandbox

I observe the same problem when using Terraform with fetching credentials from Azure CLI on macOS (https://www.terraform.io/docs/providers/azurerm/auth/azure_cli.html).
I do not think this is a problem within the Terraform Azure provider.

add to S164.

I have encountered the same issue twice when running a .NET Core project (targeting netcoreapp3.1) from Visual Studio 2019 (16.4.2) on win10. No Azure orchestration was involved. Maybe this sheds some new light on the issue.
I am authentating with "az login" (azure-cli 2.0.77) and accessing a keyvault from the .NET Core project. At some seemingly arbitrary point my code stops working (in a manner that suggests expiration of a token), I try to "az login" again and it complains about extra data in (user dir)/.azure/accessTokens.json, same as in the original report. Removing the extra chars fixes the issue.
My extra data started at column 17991 and was 5 characters long, which suggests a pattern of the corrupt files being 8n+4 characters long.

I hit this issue many times as well. It's very annoying.

Sorry for the inconvenience caused. Terraform azurerm provider also uses az account get-access-token internally (src):
err := jsonUnmarshalAzCmd(&token, "account", "get-access-token", "--resource", endpoint, "--subscription", subscriptionId, "-o=json")

According to https://stackoverflow.com/a/186464/2199657, there is no cross-platform way for file locking. We will evaluate portalocker and see if we can incorporate it.

I am seeing this now with the latest visual studio 2019, 16.6.2 and .net core 3.1.  I noticed every day the first time I tried launch a project in visual studio, though if I clear the account, az account clear and then use a device code login I'll be ok for the day.

I am seeing this now with the latest visual studio 2019, 16.6.2 and .net core 3.1. I noticed every day the first time I tried launch a project in visual studio, though if I clear the account, az account clear and then use a device code login I'll be ok for the day. If I remove the characters at the position shown in the error to then end of the file, the tokens are still valid

Hi @panmanphil, to help us better understand your issue,

Could you elaborate how you are using Azure CLI in Visual Studio?
If you are seeing a corrupted file, could you share the name and skeleton of the file? Please remove sensitive information.

Part one of the answer is that I first notice that the file is corrupted because within visual stdio, when I start up a debug session, the normal startup that gets a token for keyvault with my identity instead of the managed service identity in azure is unable to load the the file from ~/.azure /accessTokens.json due to a  newtonsoft.json error. Then I go to the command line and type az login and get the message this issue refers too.
I haven't gotten the error today, I'll upload a redacted copy of the json file the next time I see it happen.

I am sorry, but I still don't quite get how you are using Azure CLI. Are you directly reading ~/.azure /accessTokens.json or sub-processing with az account get-access-token?
Anyway, both case may trigger this issue. We will try to use portalocker to avoid it.

az login uses these tokens directly, no? I have to use az account clear to be able to login with either az login or with visual studio. I don't know what tool caused the corruption as I use both the command line and visual studio freely during the day. Here is an example of a corrupted file. the last few bytes are the problem
[{"tokenType": "Bearer", "expiresIn": 3599, "expiresOn": "2020-06-18 16:49:25.952665", "resource": "https://management.core.windows.net/", "accessToken": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "refreshToken": "xxxxxxxxxxxxxxxxxxxxxxxxxxx", "oid": "xxxxxxx", "userId"<EMAIL_ADDRESS>"isMRRT": true, "_clientId": "xxxxxxx", "_authority": "https://login.microsoftonline.com/common"}, {"tokenType": "Bearer", "expiresIn": 3599, "expiresOn": "2020-06-19 14:38:14.368807", "resource": "https://management.core.windows.net/", "accessToken": "xxxxxxxxxxxxxxxxx", "refreshToken": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "oid": "xxxxxxxxx", "userId"<EMAIL_ADDRESS>"isMRRT": true, "_clientId": "xxxxxxxxxxxxxxxxxxxxxx", "_authority": "https://login.microsoftonline.com/xxxxxxxxxxxxxxxxxxxxx"}, {"tokenType": "Bearer", "expiresIn": 3599, "expiresOn": "2020-06-22 17:42:47.852873", "resource": "https://database.windows.net/", "accessToken": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "refreshToken": "xxxxxxxxxxxxxxxxxxxxxxxxxx", "oid": "xxxxxxx", "userId"<EMAIL_ADDRESS>"isMRRT": true, "_clientId": "xxxxxxxx", "_authority": "https://login.microsoftonline.com/xxxxxxxxxxxxxxxxx"}, {"tokenType": "Bearer", "expiresIn": 3599, "expiresOn": "2020-06-22 21:49:06.397180", "resource": "https://vault.azure.net", "accessToken": "xxxxxxxxxxxx", "refreshToken": "xxxxxxx", "userId"<EMAIL_ADDRESS>"isMRRT": true, "_clientId": "xxxxxxxxx", "_authority": "https://login.microsoftonline.com/xxx"}]7d"}]

Visual Studio doesn't have any direct integration with Azure CLI, and don't share the credential cache with Azure CLI. I guess you are using some plugin to make it work?
az login does updates those tokens. If 2 instances of Azure CLI are running concurrently, this issue will happen. Please make sure there is no background Azure CLI running. If so please follow https://github.com/Azure/azure-cli/blob/dev/doc/use_cli_effectively.md#concurrent-builds to isolation each instance for now.

We are using the azure cli to login with this library to aid in local development with managed service identities. Typically the login is once per day, not concurrent.
https://docs.microsoft.com/en-us/azure/key-vault/general/service-to-service-authentication#local-development-authentication

@panmanphil, thanks for the detailed information. Not exactly az login, but the command az account get-access-token is run concurrently by AzureCliAccessTokenProvider:
https://github.com/Azure/azure-sdk-for-net/blob/5d331813d381c133cb50a4f9214b4c901bd133a4/sdk/mgmtcommon/AppAuthentication/Azure.Services.AppAuthentication/TokenProviders/AzureCliAccessTokenProvider.cs#L25
        private const string GetTokenCommand = "az account get-access-token -o json";

As you can see from the token, it usually expires in 1 hour, so your issue should happen 1 hour after the login, instead of 1 day.
"expiresIn": 3599,

When the token is going to expire, ADAL, which used by Azure CLI, will refresh the cache:
https://github.com/AzureAD/azure-activedirectory-library-for-python/blob/6f0c4755658fbbacf50de684c16eb378d1dbfb92/adal/cache_driver.py#L166-L189
        if is_resource_specific and now_plus_buffer > expiry_date:
            if TokenResponseFields.REFRESH_TOKEN in entry:
                self._log.info('Cached token is expired at %(date)s.  Refreshing',
                               {"date": expiry_date})
                return self._refresh_expired_entry(entry)

Then CLI will save the ADAL cache to a JSON file. When there are two concurrent invocations of Azure CLI, conflicts will occur for the token cache.
Could you check if your client application is multi-threaded and two thread are calling AzureServiceTokenProvider concurrently?

Starting to make more sense now. Though the mechanics of threading in a .net core web app are little vague to me, I'd say yes it's multithreaded. Probably a bigger factor is that we run multiple web apps and functions locally at the same time, a service oriented architecture and any of the them could trigger the refresh token logic you found.

We currently have a beta release for Windows which uses MSAL as the authentication library. It already contains the file locking mechanism. But we haven't fully tested it yet. (Will test it in #14070.)
You may want to give it a try: https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-windows?view=azure-cli-latest&tabs=azure-cli

I keep getting this error.
Failed to load token files. If you have a repro, please log an issue at https://github.com/Azure/azure-cli/issues. At the same time, you can clean up by running 'az account clear' and then 'az login'. (Inner Error: Failed to parse C:\Users\fey\.azure\accessTokens.json with exception:
    Extra data: line 1 column 15818 (char 15817))

Any plan to fix it?

subscribing to updates

@nfx there is a subscribe button in the right column in the web UI, which you can use to avoid notifying existing subscribers 😉


create recipe for migmap

Currently, the tests for this PR are failing because of some issue with the test environment also relating to another package that I built, igblast. MiGMAP depends on igblast. The igblast program in turn depends on an environmental variable IGDATA to point to where some required data live, so I defined it in etc/activate.d/ in the igblast recipe so that environmental variable is defined when the environment is sourced. However, this variable (and CONDA_ENV_PATH, the path of the conda environment, on which it depends) do not seem to be activated during the test phase of conda build. If I source activate the test or build directories and then run the programs manually, the programs work, but not during the test phase.
If someone has time I think I'd appreciate a review of this PR and of my igblast recipe which also became more complicated than I first imagined. Sorry for asking so many questions, still getting the hang of this.

C.f. conda/conda-build/#364

Aaron Meurer says in the second post of that issue that relying on activate scripts is a bad idea. So I would say we should try something else. For example, you could wrap the commands that need environment variables into shell scripts that set them and forward all given arguments with<EMAIL_ADDRESS>

I'm not sure if I agree with that philosophy. I feel that it is OK to execute the path/to/some/virtualenv/script because virtualenv is pure python and the virtualenv paths are hardcoded into the python binaries; however, for conda, I think you get into some dangerous territory -- for example, if the conda environment isn't sourced here, the java command will silently default to the system java, which is out of date and will cause errors. Of course, you could wrap the java command into the wrapper script too, but where does the complexity end? My instinct is that you should assume a conda environment is activated to run a program.
For the purposes of getting it to work now, though, I've taken the approach to wrap the commands and will just grumble a bit =) I've updated the PR, which also includes an updated igblast. Again, I'd appreciate a quick review since I'm still getting started with this.

Looks good apart from my little comment above.

I just tried it without the sed command, it still seems to leave the hardcoded shebang. So I kept it and added the perl dependency as you suggested. I'll merge when the build is finished.


static ServiceEntry can not use hosts

Bug description
apiVersion: networking.istio.io/v1beta1
kind: ServiceEntry
metadata:
  name: external-svc-mongocluster
spec:
  hosts:
  - mymongodb
  addresses:
  - <IP_ADDRESS>/32
  ports:
  - number: 27017
    name: mongodb
    protocol: TCP
  location: MESH_INTERNAL
  resolution: STATIC
  endpoints:
  - address: <IP_ADDRESS>
```
vip and endpoint can access,but the hosts can not access,host not found

[ ] Docs
[ ] Installation
[ x] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

**Expected behavior**

**Steps to reproduce the bug**

**Version (include the output of `istioctl version --remote` and `kubectl version` and `helm version` if you used Helm)**
[root@master01 serviceentry]# istioctl version
client version: 1.7.0-beta.1
control plane version: 1.7.0-beta.1
data plane version: 1.7.0-beta.1 (20 proxies)

[root@master01 serviceentry]# kubectl version
Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.2", GitCommit:"c97fe5036ef3df2967d086711e6c0c405941e14b", GitTreeState:"clean", BuildDate:"2019-10-15T19:18:23Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.2", GitCommit:"c97fe5036ef3df2967d086711e6c0c405941e14b", GitTreeState:"clean", BuildDate:"2020-05-12T09:28:18Z", GoVersion:"go1.12.4", Compiler:"gc", Platform:"linux/amd64"}
**How was Istio installed?**

**Environment where bug was observed (cloud vendor, OS, etc)**

ServiceEntry does not add any DNS addresses into kube-dns. It will not resolve until we add native DNS support for Istio

what is native dns,when will be added

https://preliminary.istio.io/latest/blog/2020/dns-proxy/ describes more

Closing as this is working as expected


Decoding string value of only + (unquoted) fails

Behaviour
When decoding yaml documents having values of just + (unquoted), decoding fails with the following error:
cannot parse "+" as tag:yaml.org,2002:int

Expected
The + values to be interpreted as string
Additional info
Encountered this error while using Terraform yamldecode function, which uses go-cty-yaml.
See temporary repo that illustrates the error: https://github.com/TBeijen/terraform-go-cty-yaml-decode-error
Sample document triggering error:
name: +
web_origins:
  - /foobar

Thanks! This is now fixed in version 1.1.0, thanks to your work in https://github.com/zclconf/go-cty-yaml/pull/14.


[Feature Request]: Make it possible to programmatically focus the dropdown component even when no option is selected

Requirements before reporting

[X] No duplicated issue reported
[X] I have checked the latest version if the feature exist there

Type of feature request
Functionality
What is your feature request?
Make it possible to programmatically focus the dropdown component even when no option is selected.
Background
In an application, there are ten dependent dropdowns. When a user selects an option in the first dropdown, the second dropdown becomes enabled. By programmatically focusing the second dropdown, we can eliminate the need for an extra click, streamlining the user's interaction. Similarly, when the user selects an option in the second dropdown, the third dropdown is enabled and automatically focused. This pattern continues, enabling and focusing each subsequent dropdown as the user progresses through their selections.
Idea
Add a method or similar to the dropdown component.
Contact information
<EMAIL_ADDRESS>

@patrikhultgren maybe this is what you need? https://github.com/scania-digital-design-system/tegel/pull/867

I thought the same, but that solution only works when an option is selected.


Support POST operations to API

Currently we have only PUT method for writing records to HS.io via the API, and this requires a UUID which the client will likely not have since they are doing a record insert.
Please implement support for POSTing new records.
CC @shawnsarwar
child of #996

Already added POST method to create facility
in here
http://<IP_ADDRESS>/api/v2/facilities?api-key=f591a75c55c3111aa52cc0c90a2d61e64d094318


Page Indicator

Ask your Question
How can i show a page indicator on Android?

Thanks.
I'm new to react-native and I'm not even comfortable with javascript yet.
I come from native development on Android and would like to develop a view
pager with indicator.
What advice can you give me?
Regards.
Rui Oliveira
troZee @.***> escreveu no dia quarta, 26/05/2021 à(s)
12:46:

Hey @RuiHelderOliveira https://github.com/RuiHelderOliveira
The page indicator has not been implemented on android yet, but you can
use the 3rd party library:
https://github.com/callstack/react-native-pager-view/blob/master/example/src/PaginationDotsExample.tsx#L19
or you can create the custom one like here:
https://github.com/callstack/react-native-pager-view/blob/96d1566f56c81647352555d0850d7a51a47d8517/example/src/HeadphonesCarouselExample.tsx#L195
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/callstack/react-native-pager-view/issues/358#issuecomment-848701220,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABRDP27FTJTSAT6IDXFLJPDTPTNQZANCNFSM45PE7PZA
.


[FEAT]

Is your feature request related to a problem? Please describe.
The copyrights year in the footer is hardcoded to 2022. Devs will have to update it every year which would be not effective.
Describe alternatives you've considered
I have thought of automating this via js. I have the code.
Additional context
No response
Describe the thing to improve
I would like to automate this. Please assign this issue to me and label it as hacktoberfest.

<div className="flex items-center text-[#9696B4] text-[11px] sm:text-xs leading-[12px] font-montserrat justify-center lg:justify-start">
                            © {new Date().getFullYear()}, refine from Delaware
                            to wherever you're with{" "}
                            <LoveIcon
                                className="ml-2"
                                onClick={() => {
                                    leftReward();
                                    rightReward();
                                }}
                            />
                        </div>

planning to make this small change sounds cool?