99% tests passed, 17 tests failed out of 2612

I build a single EOS node according to: https://developers.eos.io/manuals/eos/latest/install/build-from-source/manual-build/platforms/ubuntu-18.04-unpinned .  My test enviroment is ubuntu 18.04.4, clang 8.0, cmake 3.17.0, boost 1.72.0, mongodb 4.2.5, mongo c driver 1.16.2, mongo cxx driver (git clone from https://github.com/mongodb/mongo-cxx-driver.git) in virtual machine with 16G memory. After I tested EOSIO, some tests failed, below is the summary, and log files under ~/eosio/eos/build/Testing/Temporary.
99% tests passed, 17 tests failed out of 2612
Label Time Summary:
long_running_tests         = 1267.51 secproc (11 tests)
nonparallelizable_tests    = 265.00 secproc (13 tests)
wasm_spec_tests            = 13389.44 sec*proc (2480 tests)
Total Test time (real) = 15866.77 sec
The following tests FAILED:
107 - nodeos_run_test (Failed)
108 - block_log_util_test (Failed)
110 - nodeos_run_test-mongodb (Failed)
111 - producer-preactivate-feature-test (Failed)
112 - nodeos_protocol_feature_test (Failed)
113 - distributed-transactions-test (Failed)
114 - restart-scenarios-test-resync (Failed)
115 - restart-scenarios-test-hard_replay (Failed)
116 - restart-scenarios-test-none (Failed)
118 - launcher_test (Failed)
123 - nodeos_run_check_lr_test (Failed)
124 - nodeos_remote_lr_test (Failed)
125 - nodeos_forked_chain_lr_test (Failed)
126 - nodeos_voting_lr_test (Failed)
127 - nodeos_under_min_avail_ram_lr_test (Failed)
128 - nodeos_irreversible_mode_lr_test (Failed)
129 - nodeos_chainbase_allocation_lr_test (Failed)
Errors while running CTest
Makefile:135: recipe for target 'test' failed
make: *** [test] Error 8
LastTestsFailed.log
CTestCostData.txt
LastTest.log.tar.gz

Make sure you did a Release build and not a Debug build.
A quick glance in your log I see many errors like:
Failed with error: deadline 2020-04-01T11:55:19.868 exceeded by 76us  (2) deadline 2020-04-01T11:55:19.868 exceeded by 76us
So either you have a debug build OR your machine is just too slow.

I encounter similar error when publish eosio.system:
cleos set contract eosio ~/eosio/eosio.contracts/build/contracts/eosio.system -p eosio
Reading WASM from /home/liudan/eosio/eosio.contracts/build/contracts/eosio.system/eosio.system.wasm...
Publishing contract...
error 2020-04-03T12:44:48.012 cleos     main.cpp:4013                 main                 ] Failed with error: deadline 2020-04-03T12:44:47.999 exceeded by 92us  (2)
deadline 2020-04-03T12:44:47.999 exceeded by 92us

Which is also an indication that you have a debug build or your machine is just too slow.

See if you have:
CMAKE_BUILD_TYPE:STRING=Debug
in your CMakeCache.txt file.

for FILE in locate CMakeCache.txt; do grep -i -H -n "CMAKE_BUILD_TYPE" $FILE ; done
Below is result, not found STRING=Debug
/home/liudan/eosio/eos/build/CMakeCache.txt:82:CMAKE_BUILD_TYPE:STRING=Release
/home/liudan/eosio/eosio.contracts/build/CMakeCache.txt:28:CMAKE_BUILD_TYPE:STRING=
/home/liudan/eosio/eosio.contracts/build/contracts/CMakeCache.txt:25:CMAKE_BUILD_TYPE:STRING=
/home/liudan/eosio/eosio.contracts/build/tests/CMakeCache.txt:91:CMAKE_BUILD_TYPE:STRING=
/home/liudan/eosio/install/cmake-3.17.0/CMakeCache.txt:42:CMAKE_BUILD_TYPE:STRING=Release
/home/liudan/eosio/install/cmake-3.17.0/Source/Checks/Curses-build/CMakeCache.txt:19:CMAKE_BUILD_TYPE:STRING=
/home/liudan/eosio/install/cmake-3.17.0/Tests/CMakeFiles/CheckFortran/CMakeCache.txt:29:CMAKE_BUILD_TYPE:STRING=
/home/liudan/eosio/install/mongo-c-driver-1.16.2/build/CMakeCache.txt:31:CMAKE_BUILD_TYPE:STRING=Release
/home/liudan/eosio/install/mongo-cxx-driver/build/CMakeCache.txt:62:CMAKE_BUILD_TYPE:STRING=Release
/home/liudan/eosio/install/mongo-cxx-driver/build/src/bsoncxx/third_party/EP_mnmlstc_core-prefix/src/EP_mnmlstc_core-build/CMakeCache.txt:37:CMAKE_BUILD_TYPE:STRING=Release
/home/liudan/eosio/install/mongo-cxx-driver-r3.4.0/build/CMakeCache.txt:52:CMAKE_BUILD_TYPE:STRING=Release
/home/liudan/eosio/install/mongo-cxx-driver-r3.4.0/build/src/bsoncxx/third_party/EP_mnmlstc_core-prefix/src/EP_mnmlstc_core-build/CMakeCache.txt:37:CMAKE_BUILD_TYPE:STRING=Release
/home/liudan/eosio.contracts/build/CMakeCache.txt:28:CMAKE_BUILD_TYPE:STRING=
/home/liudan/eosio.contracts/build/contracts/CMakeCache.txt:25:CMAKE_BUILD_TYPE:STRING=
/home/liudan/eosio.contracts/build/tests/CMakeCache.txt:91:CMAKE_BUILD_TYPE:STRING=

What are the cpu specs for this machine? Is it a VM?

My computer is i7-8750H (6 cores, 12 threads), 32G memory, 512G SSD(KXG50ZNV512G TOSHIBA),  Windows 10 and virtualbox 6.1,4. I created a VM with 6 vCPU 16G memory in virtualbox.

I use pre-build binary package to publish esio.system contract according to the guide of https://developers.eos.io/welcome/latest/tutorials/bios-boot-sequence , when I run:
cleos set contract eosio EOSIO_OLD_CONTRACTS_DIRECTORY/eosio.system/
this command also report same error：
Reading WASM from /home/liudan/eosio.contracts-1.8.x/build/contracts/eosio.system/eosio.system.wasm...
Publishing contract...
error 2020-04-04T09:22:49.373 cleos     main.cpp:4013                 main                 ] Failed with error: deadline 2020-04-04T09:22:49.369 exceeded by 74us  (2)
deadline 2020-04-04T09:22:49.369 exceeded by 74us

Maybe this is my computer's VM performance problem. I open a new VM with 8 vCPU 16G memory on cloud, installed pre-build packate as today, then run command, the result becomes OK. I will test this problem again build packate from source code.
cleos set contract eosio $EOSIO_CONTRACTS_DIRECTORY/eosio.system
Reading WASM from /home/ubuntu/eosio.contracts/build/contracts/eosio.system/eosio.system.wasm...
Publishing contract...
executed transaction:<PHONE_NUMBER>1016e4f9c453f89538da6176218df1633d7586b990b7f2c5004f92  87792 bytes  24970 us
eosio <= eosio::setcode               {"account":"eosio","vmtype":0,"vmversion":0,"code":"0061736d0100000001cf034160000060047f7f7f7f006003...
eosio <= eosio::setabi                {"account":"eosio","abi":"0e656f73696f3a3a6162692f312e310117626c6f636b5f7369676e696e675f617574686f72...
warning: transaction executed locally, but may not be confirmed by the network yet         ]

Does seem like an issue with your VM.  I use VMWare all the time without issue.

Is there a hardware specifications required by EOS?

There are no specific hardware requirements because it varies via use.

I use my computer for software development and test based on EOS.

Right, but do you need to interact with EOS Mainnet, or Jungle Testnet, or Telos, or private chain. If private chain then what are all the configuration values, etc. etc.

All that being said it seems like your specs should be adequate. So I think you are correct that it is likely an issue with your VM.

According to https://stackoverflow.com/questions/58687159/poor-performance-of-virtualbox-under-win10 , I changed my virtualbox's VM setting. Now the eosio.system contract can be published OK, no matter the program is binary packate or is build from srouce codes. And some unitests disappeared which failed before, but some still fails. I will post new test result and log files to you later.

The result is out, only 3 failed:
99% tests passed, 3 tests failed out of 2612
Label Time Summary:
long_running_tests         = 3917.37 secproc (11 tests)
nonparallelizable_tests    = 795.73 secproc (13 tests)
wasm_spec_tests            = 13017.53 sec*proc (2480 tests)
Total Test time (real) = 18585.50 sec
The following tests FAILED:
110 - nodeos_run_test-mongodb (Failed)
112 - nodeos_protocol_feature_test (Failed)
129 - nodeos_chainbase_allocation_lr_test (Failed)
Errors while running CTest
Makefile:135: recipe for target 'test' failed
LastTestsFailed.log
CTestCostData.txt
LastTest.log.tar.gz


New Feature added to import GitHub repository from Bitbucket side

Change
This implementation export repositories from BitBucket side, data like: repo name, description, url, and visibility. The next step is use the import those data into GitHub side.
Does this PR introduce a breaking change?
No, it doesn't.
What needs to be documented once your changes are merged?
I'll add in the README.md file the commands for this case.
Additional Comments
In the export command, a .csv file will be generated, this file will be the input for the next import command.
Also, to this works properly, it should have a .env file with the following content:
PAT='BITBUCKET-PERSONAL-TOKEN'
GITHUB_USERNAME='john-doe-user'
GITHUB_TOKEN='github_pat_123_ABC'

@ajmalmsali when you have an available time, please take a look and let me know if you have any concern about the implementation, thank you!

⚠   Please ignore this PR, I'm going to closed it because the git rebase rewrite all the commit history!
This is the new one with the implementation PR #20


Add transaction export

Including doing the UI/UX design
UI/UX implementation
Code/Functionality

i'll take this

Can export list of transactions as, for example:

XML
JSON
CSV
TSV
XLS(X)
ODS

Whichever ones make sense


logging an Error object raise empty message error

The message is checked using lodash.isEmpty()
lodash.isEmtpy(new Error('whatever')) is true
therefore when I try to log an error, I get an error from le_node
Is this intentional? I would expect an error object to be logged without issues.

Yup, this is a mistake. The check shouldn't occur until after serialization, and it should just be to see if it's an empty string.

In addition to the empty check, the problem was compounded by our efforts to keep the original object unmutated by naive shallow cloning. Object.create isn’t an option given our needs so I've dealt with this by mutating (when timestamp or withLevel are true) and then deleting the added props at the end. Not ideal since technically this is still mutation (and would, for example, trigger Object.observe handlers) but I think the cases where this would matter are sufficiently unlikely.

Thank you for the quick fix


⚠ Jerry Savelle Ministries International Australia has degraded performance

In f04f7b2, Jerry Savelle Ministries International Australia (https://jsmiaustralia.org) experienced degraded performance:

HTTP code: 200
Response time: 6375 ms

Resolved: Jerry Savelle Ministries International Australia performance has improved in bff2326 after .


[MM-24154] - Fix copy/paste mismatch by upgrading electron context me…

Summary
Cherry-pick of https://github.com/mattermost/desktop/pull/1313

Will try to auto merge this PR once all tests and checks are passing. This might take up to an hour.

Will try to auto merge this PR once all tests and checks are passing. This might take up to an hour.

Trying to auto merge this PR.

Pull Request successfully merged
SHA: 6b8355e90e0e41ab8d579bfd8d3129892c3bf7be


add nodejs and AssemblyScript memory share demo

I created a simple demo for AS Shared memory with Nodejs, please kindly verify if it is suitable to show this demo.
If it is not suitable, please feel free to decline this PR.
Regards

Thanks for efforts! But this example is very basic and doesn't show how to use multithreading with the shared memory from AssemblyScript side. In addition, it contains a lot of mistakes. In general, multithreading on AS isn't yet ready for, because the memory manager is not thread safe, and mutable shared globals should be stored in linear shared memory (at least for "atomic" globals). For now all globals stored as thread local global variables by default. So closing this for now


Container IFrame Project Summary

This issue contains a summary of the goals for the Container IFrame Project which contains the work item break down:
https://github.com/microsoft/FluidFramework/projects/19
Have a loader on the outside which wraps the driver in a proxy, and have a loader on the inside of the iframe which is a proxy to the outer loaders driver proxy.

Simpler Container Proxy  – There are scenarios where the host needs access to things like quorum, audience, other container properties. By having the real driver outside the iframe, we can instantiate a trusted container that has a real quorum, audience, etc. rather than proxying them across the iframe boundary.

Resource utilization – This will be pay to play. If a host doesn’t care about the container proxy it won’t need to get it, and will only pay for the driver and the driver proxy in the frame, which I think we can keep pretty light, but we should do profiling to make sure that is the case.

Compatibility – The host will likely only have one version of the loader code, which will need to be compatible with the inner version of the loader code. We have strong compatibility guarantees around the loader, as a loader can’t load a container that it’s not compatible with regardless whether there is an iframe or not.

Safety – All the code running in the host will be trusted as it’s runtime code, or code like office web host. Just like the non-iframe case we need to make sure this code behaves well and doesn’t compromise the host.

Security – By default this proposal will keep tokens out of the iframe. We will need a mechanism for the host to proxy additional things into the iframe, probably via scope. My opinion is that we shouldn’t pass tokens into the iframe, but proxy api’s for doing privileged things back to the host. However, there will be no technical reason tokens couldn’t be passed in. The origin of the iframe will also be controlled by the host, or office web host. The runtime will be design to work with the strictest mode possible, but less strict modes will also be supported.

Untrusted Driver – I think this is a bit of scope for this , as you can’t have a loader without a driver, so any kind of dynamic driver and credential obtaining will need to be handled before the runtime

@anthony-murphy, is there a value in keeping this item active? I'll mark won't fix for bot to close unless there is some activity.


[$1000]FEATURE REQUEST: Add Google Meet invitation automatically in the conversation

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

FEATURE REQUEST:
Problem:
In 1:1 conversations, there is an option to start a call through Zoom or GMeet. However, when you click on GMeet (default tool we use), it opens a new window in the browser without notifying your colleague
Solution:
When you click on GMeet and the meet room is created, add the link invitation automatically in the 1:1 conversation similar to this one:
To join the video meeting, click this link: https://meet.google.com/qfc-dpib-ixd
Otherwise, to join by phone, dial +1<PHONE_NUMBER> and enter this PIN: 962 284 073#
To view more phone numbers, click this link: https://tel.meet/qfc-dpib-ixd?hs=5
Workaround:
unknown
Deliverable:
Find a way to insert the Google Meet chat link into the current conversation (1:1 or group chat) after someone clicks 📞 in the upper right corner then Google Meet (and a new meeting is opened in the default browser)
Def check the discussion in the #expensify-open-source thread for tips n' info
https://expensify.slack.com/archives/C01GTK53T8Q/p1651248273080599
Platform:

Where is this issue occurring?

Web
iOS
Android
Desktop App
Mobile Web

Version Number: 1.1.69-0
Reproducible in staging?: Y
Reproducible in production?: Y
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

Expensify/Expensify Issue URL:
Issue reported by: @saracouto
Slack conversation: https://expensify.slack.com/archives/C01GTK53T8Q/p1651248273080599
View all open jobs on GitHub

I don't think this is possible, addressed in thread https://expensify.slack.com/archives/C01GTK53T8Q/p1654028669274649?thread_ts=1651248273.080599&cid=C01GTK53T8Q

Per the Slack thread, @rushatgabhane thinks it might be possible so I'm moving along to Engineering, leaving myself assigned so that I'll be the CM if it gets labeled External

It really looks like it can be done but as mentioned on slack with OAuth consent
I'm not sure how the flow would work for this, the user clicks the Google Meet option then it shows the Google Auth modal? And only then the link is generated?

I'm not sure how the flow would work
Me neither @PauloGasparSv !!   Let's see what suggestions we get, I'm going to start this at $1,000 cuz I don't think it'll be quick n' easy.
https://www.upwork.com/jobs/~01e47773be5ce520dd

@allroundexperts can you list the drawbacks of approach 1 so that we can better understand which approach to go for?

The main drawback is that we'll be using an expensify hosted account. If (for some reason) google starts to charge us, the bills might get too much. @rushatgabhane

Source: https://developers.google.com/calendar/api/guides/quota

As the Calendar API is a shared service, we enforce quotas to make sure that it's used fairly by all users. If you perform a lot of writes in quick succession, you may be rate-limited.

If users create more than 100,000 events during a short period, their ability to create a large amount of events is reduced. They also might not be able to edit events for a few hours

Do not share calendars with many users in a short period (750 shares).

@allroundexperts I think a good long term solution would be to go for approach 2 because Calendar API has some rate limits.
Please submit a proposal for the 2nd approach with all the necessary implementation details, thanks!

@rushatgabhane I see you're a part of the conversation already. Are you back? Feel free to pick this up then.

Are you back?

Heyy, yes !!

I see you're a part of the conversation already. Feel free to pick this up then

@mananjadhav that's so thoughtful of you!
@mallenexpensify I'd love to pick this issue up, discussed this 1:1 with @mananjadhav :)

@parasharrajat I see a thumbs down on my proposal. Do you have any suggestion / comment?

We can either create an api endpoint on our backend that schedules meetings in an Expensify owned google account. This approach doesn't require authentication on the user end.

I don't like this point. NewDot is not linked to google in any way. Thus this will not work.
Instead, we can do the following.

Start oAuth2 flow either fully client side / with backend (useful when we are giving the user a option to sign in with google).
Let the user login with his google email while creating the meeting.
If possible, allow the user to access the GMeet directly when he rejects oAuth2 access.

In case of 2, we send a message in the chat that a new meeting is started. This will have a button to join.
for 3, We can either show a new meeting is started without the join link (saying that link is not available). or just don't send the message in chat.

@rushatgabhane @parasharrajat Has really explained the approach we need to take. Most of the stuff that we need here will sit on the backend. @rushatgabhane What sort of implementation details are you looking for?

@rushatgabhane Expensify will need to create an APP on google and share its client id and api key. Also, if you want to move with client sided oAuth flow, please note that we won't be able to store long lived token in our database. The client side generated tokens are short lived. To have more control, I'll suggest to go with backend authorisation.

cc @deetergp / @luacmartins for some thoughts, so scott you've worked on the migration of chronos to web-e and carlosM i believe you've worked a bit on the google calendar in Chronos. How difficult/feasible would be to have our backend create google calendar invite with video link for two users not on Expensify domain?

Hmm I think most of the work would be on getting user permissions to access/manage their calendars, which we are already discussing in this issue.
I'm not too familiar with that part of Google's API, since the work I did was on our own domain and authentication was already handled. My guess is that it would be quite challenging, but I could be wrong.

Doubled price to $2000 https://www.upwork.com/jobs/~01e47773be5ce520dd

@mallenexpensify Are we still looking for proposals? I think the above discussion defines the way forward clearly.

Actually, I'm not sure @allroundexperts , my price-doubling was a bit knee jerk, I only quickly browsed the comments.
@mananjadhav what's status?

Sorry, @mallenexpensify I wasn't tracking this one. As per this comment, @rushatgabhane is working on it.

Thanks @mananjadhav , assigned @rushatgabhane .  Rushat, can you provide an update?

@mallenexpensify there are some backend changes required.
@chiragsalian is trying to figure out how feasible it would be fihttps://github.com/Expensify/App/issues/9245#issuecomment-1147818979

Thanks @rushatgabhane , bumped to Weekly for now

@deetergp do you have any feedback from @chiragsalian 's question above?

How difficult/feasible would be to have our backend create google calendar invite with video link for two users not on Expensify domain?

I think we need to figure that out before anything else, right?

@chiragsalian @mallenexpensify I've barely done any work with the Google Calendar API, so I honestly could not provide any context on how hard what you are trying to do might be. Just off the cuff, I don't think sending a calendar invite to anyone would be prohibitively difficult — inviting people to meetings is a big part of what online calendars are for, and I'd be shocked of Google didn't make it very easy to include a Google Meet link in the invite.

Just familiarising myself with this issue. Seems like the current step remains figuring out how challenging/feasible the required back-end changes would be - is that correct @rushatgabhane @chiragsalian?

yeah, pretty much

@rushatgabhane still working on this one 🤔.

OK, so we are still on this question, it seems?

figuring out how challenging/feasible the required back-end changes would be

What do we need to do to be able to answer this?

Hmm i'm unsure what to do here.
Its simple of the backend to handle when we have a specific number of people all under the same domain and are part of the same calendar.
I don't know if the backend can create a calendar such that millions of users can have access to it as needed.
Do you have any other suggestions to research @rushatgabhane? If not we might have to discuss this in slack to get ideas from others to plan a way forward.

Discussed 1:1 with rushat and it seems like the task is mostly internal. I'm not too familiar on how the google calendar works and will need some time to investigate. For now i'll update the label from external to internal so that we don't get proposals.

I haven't been able to dive into this just yet. I'm still swamped with API refactors.

Unfortunately, I was still swamped the API refactors and just got done with them this week so I might be able to investigate this task next week. If not I'll look to reassign.

Okay time went by and I haven't been able to find time to investigate this issue. Unassigning myself and posting on slack if anyone has time on their plate to tackle this issue.

I'm going to close this for now. Doesn't seem urgent and no one has taken it on yet. Feel free to reopen if you disagree.


Accelerator for Adding Cursor Below Not Working on Windows

VSCode Version: 1.10.2
OS Version: Windows 10 Pro 14393.953

Steps to Reproduce:

Open a new file
Add several lines to the file
Press Alt+Ctrl+Down Arrow
Screen goes lopsided

Screenshot:

(Can't take screenshot of an upside down screen...)

Ctrl+Alt+Arrow is a shortcut for setting screen orientation on Windows that's apparently enabled mainly on Intel graphics drivers.
See here or here for potential methods to disable them.


No module named 'genetic'

see: https://github.com/handcraftsman/GeneticAlgorithmsWithPython/issues/8


Do not make all ActiveRecord::Base stampable

https://coupadev.atlassian.net/browse/CD-38816
I was trying to fix userstamp issue
Here is  PR for test https://github.com/coupa/coupa_development/pull/20667
solano build - https://ci.solanolabs.com/reports/1855560 (before - 60, after - 3 )
solano build - https://ci.solanolabs.com/reports/1855662 (before - 60, after - another 3 )
solano build - https://ci.solanolabs.com/reports/1855798 (before - 60, after - another 2 )
but we have MANY RSPEC FAILURES, more then before (461 failures the first try and ERROR on retry.)
I AM NOT SURE, THAT IT IS CORRECT FIX
This is another fix - https://github.com/coupa/userstamp/pull/2 (but it looks more ugly, but jenkins Finished: SUCCESS, solano build https://ci.solanolabs.com/reports/1856226 )
review please:

[ ] @johnny-lai

https://github.com/coupa/userstamp/pull/2 has been merged


[MODFISTO-233] Added tests to unrelease encumbrance

Purpose
MODFISTO-233 reOpen logic for encumbrances
Added tests to unrelease the encumbrance.


Update readme

Coverage remained the same at 100.0% when pulling 67bb55f360c24686f7e173ac4b1361947cf30b07 on dsager:update-readme into b4dd255be3e7b3a42192d717cb3ef9b50c5ccd15 on Devex:master.

+1

+1


Discussion on Visual feature aggregation

Thanks again for releasing the code. I was going through extract_features.py and found that to calculate the feature for a voxel, visibility of the voxel is not considered from a given camera.
Intuitively, I thought that features would be averaged only from rendered views from which a particular voxel is available. Do have any explanation why does visibility does not matter? Did you guys tried something like this before finalizing the current method?

This is a good question. We haven't tried taking visibility into consideration.
In our case, a simple average over all views works pretty well. We conjecture that when averaging, the visible features corresponding to a voxel tend to dominate, given that objects are usually somewhat convex. Of course, we believe that incorporating visibility could yield even better results, and it is worth trying.


Fix column casing in MySQL Introspector

Addresses #135. Please see issue for more information.

Thank you!
It's weird that this was not caught by the tests 🤔 Could this be a difference between MySQL 5 and MySQL 8?


Create test data set lesson

This PR creates a lesson on how to create test data sets for different scenarios.
I wrote this lesson from scratch. I don't love what I came up with. It doesn't have live code examples or challenges. I did toy with the idea of implementing some examples in pytest and testthat for some of the different scenarios i suggested, but it seemed like additional cognitive burden bc I couldn't think of one uniting thread to run through the lesson.
Feedback & suggestions very welcome.

Thank you for the feedback gilad, I agree those would make a really nice set of examples. If you feel called/have time to work on it, I welcome your additions, but I'll tackle them tomorrow (11/17) if not!

Thank you for the feedback @giladmishne, I agree those would make a really nice set of examples. If you feel called/have time to work on it, I welcome your additions, but I'll tackle them tomorrow (11/17) if not!

I can add them but only at the beginning of next week -- lmk if that works.

I can add them but only at the beginning of next week -- lmk if that works.

@giladmishne yes that timing works, thank you!!


GDExtension missing configuration/compatibility_minimum key required for Godot 4.1 support

Describe the bug
Tried adding the GodotSteam 4.2.4 GDExtension addon to a project in Godot 4.1rc3 and got the following error on load:
core/extension/gdextension.cpp:593 - GDExtension configuration file must contain a "configuration/compatibility_minimum" key: res://addons/godotsteam/godotsteam.gdextension
Failed loading resource: res://addons/godotsteam/godotsteam.gdextension. Make sure resources have been imported by opening the project in the editor at least once.
The error seems quite clear about a missing required key in the configuration file. Perhaps a new requirement added in Godot 4.1? Anyway, it seems to prevent the addon from loading in Godot 4.1 anyway.
To Reproduce
Add Godotsteam GDExtension addon to Godot 4.1 project folder and open project
Version of Godot:
4.1rc3
Version of GodotSteam:
GodotSteam 4.2.4 GDExtension

That version is built for Godot 4.0.3 not 4.1

That version is built for Godot 4.0.3 not 4.1

Yes, I understand this. But 4.1 will soon have a stable release and I'm guessing the intention is to update godotsteam to support 4.1 as well. So therefore I opened this issue to highlight a possible change that will need to be made for this.

Great, and you're right, 4.1 was just released!

Uh-oh!  Looks like today will be a little busier than expected!

The new GDExtension is out now.  Adding it to Godot Asset Library but it is live in Github's Release section.  There is currently no OSX version though.


atomic_rmw ops should return original value

We were previously discarding the original value & returning all zeros.

I will create a PR of the test changes to upstream as well.

Pre-commit hook seems to have failed with a server error, but I have verified that it passes locally


x/tools/gopls/internal/regtest/diagnostics: TestEditGoDirective/experimental failure with deadline exceeded

https://storage.googleapis.com/go-build-log/b95d332c/windows-386-2008_1bfb115d.log
Observed during trybot run for https://go-review.googlesource.com/c/tools/+/395694.
#### End Gopls Test Logs for "TestEditGoDirective/experimental"
--- FAIL: TestEditGoDirective (386.05s)
    --- FAIL: TestEditGoDirective/experimental (384.98s)
        diagnostics_test.go:2213: waiting on:
            	Unmet: empty diagnostics for "main.go"

            err:context deadline exceeded

            state:
            #### log messages (see RPC logs for full text):
            	Info: "2022/03/24 21:46:57 go env for C:\\Users\\gopher\\...
            	Info: "2022/03/24 21:46:57 go/packages.Load\n\tsnapshot=0...
            	Error: "2022/03/24 21:46:57 building workspace mod file: ...
            	Error: "2022/03/24 21:46:57 errors loading workspace: no ...
            	Info: "2022/03/24 21:47:27 background imports cache refre...
            	Info: "2022/03/24 21:47:27 background refresh finished af...

            #### diagnostics:
            	main.go (version 0):
            		(2, 7): type parameters require go1.18 or later
            		(2, 9): undeclared name: any (requires version go1.18 or later)
            	go.mod (version 0):
            		(0, 0): no module path for file:///C:/Users/gopher/AppData/Local/Temp/gopls-regtest-628564068/TestEditGoDirective/experimental/work/go.mod

            #### outstanding work:
            	Error loading workspace: 0.00
            #### completed work:
            	Load: 1
            	Setting up workspace: 1
            	diagnosing initial workspace load: 1
            	diagnosing files changed on disk: 1
        runner.go:324: closing editor: Shutdown: context deadline exceeded
FAIL
FAIL	golang.org/x/tools/gopls/internal/regtest/diagnostics	590.381s

This log message when running gopls.edit_go_directive command is suspicious:
[Trace - 21:46:57.910 PM] Received notification 'window/logMessage'.
Params: {"type":1,"message":"2022/03/24 21:46:57 building workspace mod file: no module declaration for file:///C:/Users/gopher/AppData/Local/Temp/gopls-regtest-628564068/TestEditGoDirective/experimental/work/go.mod\n"}

Potential file corruption or windows file mishandling? (windows)
full gopls test logs
```
#### Start Gopls Test Logs for "TestEditGoDirective/experimental"
[Trace - 21:46:57.134 PM] Sending request 'initialize - (1)'.
Params: {"processId":0,"clientInfo":{"name":"fakeclient","version":"v1.0.0"},"rootUri":"","capabilities":{"workspace":{"didChangeConfiguration":{},"didChangeWatchedFiles":{"dynamicRegistration":true},"executeCommand":{},"semanticTokens":{},"codeLens":{},"inlineValue":{},"inlayHint":{},"configuration":true},"textDocument":{"synchronization":{},"completion":{"completionItem":{"snippetSupport":true,"tagSupport":{"valueSet":[1]},"resolveSupport":{"properties":null},"insertTextModeSupport":{"valueSet":null}},"completionItemKind":{},"completionList":{}},"hover":{},"signatureHelp":{"signatureInformation":{"parameterInformation":{}}},"declaration":{},"definition":{},"typeDefinition":{},"implementation":{},"references":{},"documentHighlight":{},"documentSymbol":{"symbolKind":{},"tagSupport":{"valueSet":null}},"codeAction":{"codeActionLiteralSupport":{"codeActionKind":{"valueSet":null}},"resolveSupport":{"properties":null}},"codeLens":{},"documentLink":{},"colorProvider":{},"formatting":{},"rangeFormatting":{},"onTypeFormatting":{},"rename":{},"foldingRange":{},"selectionRange":{},"publishDiagnostics":{"tagSupport":{"valueSet":null}},"callHierarchy":{},"semanticTokens":{"requests":{"full":true},"tokenTypes":["namespace","type","class","enum","interface","struct","typeParameter","parameter","variable","property","enumMember","event","function","method","macro","keyword","modifier","comment","string","number","regexp","operator"],"tokenModifiers":null,"formats":null},"linkedEditingRange":{},"moniker":{},"typeHierarchy":{},"inlineValue":{},"inlayHint":{"resolveSupport":{"properties":null}}},"window":{"workDoneProgress":true,"showMessage":{"messageActionItem":{}},"showDocument":{"support":false}},"general":{"staleRequestSupport":{"cancel":false,"retryOnContentModified":null},"regularExpressions":{"engine":""},"markdown":{"parser":""}}},"initializationOptions":{"completionBudget":"10s","diagnosticsDelay":"10ms","env":{"GO111MODULE":"","GOMODCACHE":"","GOPACKAGESDRIVER":"off","GOPATH":"C:\\Users\\gopher\\AppData\\Local\\Temp\\gopls-regtest-628564068\\TestEditGoDirective\\experimental\\gopath","GOPROXY":"file:///C:/Users/gopher/AppData/Local/Temp/gopls-regtest-628564068/TestEditGoDirective/experimental/proxy","GOSUMDB":"off"},"expandWorkspaceToModule":true,"verboseWorkDoneProgress":true},"trace":"messages","workspaceFolders":[{"uri":"file:///C:/Users/gopher/AppData/Local/Temp/gopls-regtest-628564068/TestEditGoDirective/experimental/work","name":"work"}]}
[Trace - 21:46:57.134 PM] Received response 'initialize - (1)' in 0ms.
Result: {"capabilities":{"textDocumentSync":{"openClose":true,"change":2,"save":{}},"completionProvider":{"triggerCharacters":["."],"completionItem":{}},"hoverProvider":true,"signatureHelpProvider":{"triggerCharacters":["(",","]},"definitionProvider":true,"typeDefinitionProvider":true,"implementationProvider":true,"referencesProvider":true,"documentHighlightProvider":true,"documentSymbolProvider":true,"codeActionProvider":true,"codeLensProvider":{},"documentLinkProvider":{},"workspaceSymbolProvider":true,"documentFormattingProvider":true,"documentOnTypeFormattingProvider":{"firstTriggerCharacter":""},"renameProvider":true,"foldingRangeProvider":true,"executeCommandProvider":{"commands":["gopls.add_dependency","gopls.add_import","gopls.apply_fix","gopls.check_upgrades","gopls.edit_go_directive","gopls.gc_details","gopls.generate","gopls.generate_gopls_mod","gopls.go_get_package","gopls.list_imports","gopls.list_known_packages","gopls.regenerate_cgo","gopls.remove_dependency","gopls.run_tests","gopls.run_vulncheck_exp","gopls.start_debugging","gopls.test","gopls.tidy","gopls.toggle_gc_details","gopls.update_go_sum","gopls.upgrade_dependency","gopls.vendor"]},"callHierarchyProvider":true,"workspace":{"workspaceFolders":{"supported":true,"changeNotifications":"workspace/didChangeWorkspaceFolders"}}},"serverInfo":{"name":"gopls","version":"{"GoVersion":"devel b95d332c7e876eb8de8e0df84894c934a3f5cbde","Path":"","Main":{"Path":"","Version":"","Sum":"","Replace":null},"Deps":null,"Settings":null,"Version":"master"}"}}
[Trace - 21:46:57.135 PM] Sending notification 'initialized'.
Params: {}
[Trace - 21:46:57.135 PM] Received request 'window/workDoneProgress/create - (1)'.
Params: {"token":"1439228946174806623"}
[Trace - 21:46:57.135 PM] Sending response 'window/workDoneProgress/create - (1)' in 0ms.
Result:
[Trace - 21:46:57.135 PM] Received notification '$/progress'.
Params: {"token":"1439228946174806623","value":{"kind":"begin","title":"diagnosing initial workspace load","message":"Calculating diagnostics for initial workspace load..."}}
[Trace - 21:46:57.135 PM] Received request 'window/workDoneProgress/create - (2)'.
Params: {"token":"4995735335659635616"}
[Trace - 21:46:57.135 PM] Sending response 'window/workDoneProgress/create - (2)' in 0ms.
Result:
[Trace - 21:46:57.135 PM] Received notification '$/progress'.
Params: {"token":"4995735335659635616","value":{"kind":"begin","title":"Setting up workspace","message":"Loading packages..."}}
[Trace - 21:46:57.136 PM] Received request 'workspace/configuration - (3)'.
Params: {"items":[{"scopeUri":"file:///C:/Users/gopher/AppData/Local/Temp/gopls-regtest-628564068/TestEditGoDirective/experimental/work","section":"gopls"}]}
[Trace - 21:46:57.136 PM] Sending response 'workspace/configuration - (3)' in 0ms.
Result: [{"completionBudget":"10s","diagnosticsDelay":"10ms","env":{"GO111MODULE":"","GOMODCACHE":"","GOPACKAGESDRIVER":"off","GOPATH":"C:\Users\gopher\AppData\Local\Temp\gopls-regtest-628564068\TestEditGoDirective\experimental\gopath","GOPROXY":"file:///C:/Users/gopher/AppData/Local/Temp/gopls-regtest-628564068/TestEditGoDirective/experimental/proxy","GOSUMDB":"off"},"expandWorkspaceToModule":true,"verboseWorkDoneProgress":true}]
[Trace - 21:46:57.283 PM] Received request 'window/workDoneProgress/create - (4)'.
Params: {"token":"2477080916348470461"}
[Trace - 21:46:57.283 PM] Sending response 'window/workDoneProgress/create - (4)' in 0ms.
Result:
[Trace - 21:46:57.283 PM] Received notification '$/progress'.
Params: {"token":"2477080916348470461","value":{"kind":"begin","title":"Load","message":"Loading query=[builtin mod.com/...]"}}
[Trace - 21:46:57.356 PM] Received notification 'window/logMessage'.
Params: {"type":3,"message":"2022/03/24 21:46:57 go env for C:\Users\gopher\AppData\Local\Temp\gopls-regtest-628564068\TestEditGoDirective\experimental\work\n(root C:\Users\gopher\AppData\Local\Temp\gopls-regtest-628564068\TestEditGoDirective\experimental\work)\n(go version go version devel b95d332c7e876eb8de8e0df84894c934a3f5cbde windows/386)\n(valid build configuration = true)\n(build flags: [])\nGOFLAGS=\nGOINSECURE=\nGOWORK=\nGONOSUMDB=\nGO111MODULE=\nGOCACHE=C:\Users\gopher\AppData\Local\go-build\nGOMOD=C:\Users\gopher\AppData\Local\Temp\gopls-regtest-628564068\TestEditGoDirective\experimental\work\go.mod\nGOSUMDB=off\nGOPATH=C:\Users\gopher\AppData\Local\Temp\gopls-regtest-628564068\TestEditGoDirective\experimental\gopath\nGOROOT=C:\workdir\go\nGONOPROXY=\nGOPROXY=file:///C:/Users/gopher/AppData/Local/Temp/gopls-regtest-628564068/TestEditGoDirective/experimental/proxy\nGOPRIVATE=\nGOMODCACHE=\n\n"}
[Trace - 21:46:57.772 PM] Received notification '$/progress'.
Params: {"token":"2477080916348470461","value":{"kind":"end","message":"Done."}}
[Trace - 21:46:57.773 PM] Received notification '$/progress'.
Params: {"token":"4995735335659635616","value":{"kind":"end","message":"Finished loading packages."}}
[Trace - 21:46:57.776 PM] Received request 'client/registerCapability - (5)'.
Params: {"registrations":[{"id":"workspace/didChangeWatchedFiles-0","method":"workspace/didChangeWatchedFiles","registerOptions":{"watchers":[{"globPattern":"**/*.{go,mod,sum,work}","kind":7}]}}]}
[Trace - 21:46:57.776 PM] Sending response 'client/registerCapability - (5)' in 0ms.
Result:
[Trace - 21:46:57.777 PM] Received notification 'window/logMessage'.
Params: {"type":3,"message":"2022/03/24 21:46:57 go/packages.Load\n\tsnapshot=0\n\tdirectory=C:\Users\gopher\AppData\Local\Temp\gopls-workspace-mod1975635461\n\tquery=[builtin mod.com/...]\n\tpackages=2\n"}
[Trace - 21:46:57.810 PM] Received notification 'textDocument/publishDiagnostics'.
Params: {"uri":"file:///C:/Users/gopher/AppData/Local/Temp/gopls-regtest-628564068/TestEditGoDirective/experimental/work/main.go","diagnostics":[{"range":{"start":{"line":2,"character":7},"end":{"line":2,"character":12}},"severity":1,"code":"UnsupportedFeature","codeDescription":{"href":"https://pkg.go.dev/golang.org/x/tools/internal/typesinternal?utm_source=gopls#UnsupportedFeature"},"source":"compiler","message":"type parameters require go1.18 or later"},{"range":{"start":{"line":2,"character":9},"end":{"line":2,"character":12}},"severity":1,"code":"UndeclaredName","codeDescription":{"href":"https://pkg.go.dev/golang.org/x/tools/internal/typesinternal?utm_source=gopls#UndeclaredName"},"source":"compiler","message":"undeclared name: any (requires version go1.18 or later)"}]}
[Trace - 21:46:57.811 PM] Received notification '$/progress'.
Params: {"token":"1439228946174806623","value":{"kind":"end","message":"Done."}}
[Trace - 21:46:57.813 PM] Sending request 'textDocument/codeAction - (2)'.
Params: {"textDocument":{"uri":"file:///C:/Users/gopher/AppData/Local/Temp/gopls-regtest-628564068/TestEditGoDirective/experimental/work/main.go"},"range":{"start":{"line":0,"character":0},"end":{"line":0,"character":0}},"context":{"diagnostics":[{"range":{"start":{"line":2,"character":7},"end":{"line":2,"character":12}},"severity":1,"code":"UnsupportedFeature","codeDescription":{"href":"https://pkg.go.dev/golang.org/x/tools/internal/typesinternal?utm_source=gopls#UnsupportedFeature"},"source":"compiler","message":"type parameters require go1.18 or later"},{"range":{"start":{"line":2,"character":9},"end":{"line":2,"character":12}},"severity":1,"code":"UndeclaredName","codeDescription":{"href":"https://pkg.go.dev/golang.org/x/tools/internal/typesinternal?utm_source=gopls#UndeclaredName"},"source":"compiler","message":"undeclared name: any (requires version go1.18 or later)"}],"only":["source.fixAll","quickfix"]}}
[Trace - 21:46:57.815 PM] Received response 'textDocument/codeAction - (2)' in 1ms.
Result: [{"title":"go mod edit -go=1.18","kind":"quickfix","diagnostics":[{"range":{"start":{"line":2,"character":7},"end":{"line":2,"character":12}},"severity":1,"code":"UnsupportedFeature","codeDescription":{"href":"https://pkg.go.dev/golang.org/x/tools/internal/typesinternal?utm_source=gopls#UnsupportedFeature"},"source":"compiler","message":"type parameters require go1.18 or later"}],"edit":{},"command":{"title":"go mod edit -go=1.18","command":"gopls.edit_go_directive","arguments":[{"URI":"file:///C:/Users/gopher/AppData/Local/Temp/gopls-regtest-628564068/TestEditGoDirective/experimental/work/main.go","Version":"1.18"}]}},{"title":"go mod edit -go=1.18","kind":"quickfix","diagnostics":[{"range":{"start":{"line":2,"character":9},"end":{"line":2,"character":12}},"severity":1,"code":"UndeclaredName","codeDescription":{"href":"https://pkg.go.dev/golang.org/x/tools/internal/typesinternal?utm_source=gopls#UndeclaredName"},"source":"compiler","message":"undeclared name: any (requires version go1.18 or later)"}],"edit":{},"command":{"title":"go mod edit -go=1.18","command":"gopls.edit_go_directive","arguments":[{"URI":"file:///C:/Users/gopher/AppData/Local/Temp/gopls-regtest-628564068/TestEditGoDirective/experimental/work/main.go","Version":"1.18"}]}}]
[Trace - 21:46:57.815 PM] Sending request 'workspace/executeCommand - (3)'.
Params: {"command":"gopls.edit_go_directive","arguments":[{"URI":"file:///C:/Users/gopher/AppData/Local/Temp/gopls-regtest-628564068/TestEditGoDirective/experimental/work/main.go","Version":"1.18"}]}
[Trace - 21:46:57.855 PM] Received response 'workspace/executeCommand - (3)' in 40ms.
Result: null
[Trace - 21:46:57.857 PM] Sending notification 'workspace/didChangeWatchedFiles'.
Params: {"changes":[{"uri":"file:///C:/Users/gopher/AppData/Local/Temp/gopls-regtest-628564068/TestEditGoDirective/experimental/work/go.mod","type":2}]}
[Trace - 21:46:57.857 PM] Received request 'window/workDoneProgress/create - (6)'.
Params: {"token":"8741248032194605601"}
[Trace - 21:46:57.858 PM] Sending response 'window/workDoneProgress/create - (6)' in 0ms.
Result:
[Trace - 21:46:57.858 PM] Received notification '$/progress'.
Params: {"token":"8741248032194605601","value":{"kind":"begin","title":"diagnosing files changed on disk","message":"Calculating file diagnostics..."}}
[Trace - 21:46:57.863 PM] Sending request 'workspace/executeCommand - (4)'.
Params: {"command":"gopls.edit_go_directive","arguments":[{"URI":"file:///C:/Users/gopher/AppData/Local/Temp/gopls-regtest-628564068/TestEditGoDirective/experimental/work/main.go","Version":"1.18"}]}
[Trace - 21:46:57.910 PM] Received notification 'window/logMessage'.
Params: {"type":1,"message":"2022/03/24 21:46:57 building workspace mod file: no module declaration for file:///C:/Users/gopher/AppData/Local/Temp/gopls-regtest-628564068/TestEditGoDirective/experimental/work/go.mod\n"}
[Trace - 21:46:57.911 PM] Received response 'workspace/executeCommand - (4)' in 47ms.
Result: null
[Trace - 21:46:57.922 PM] Received request 'window/workDoneProgress/create - (7)'.
Params: {"token":"7174218026911131881"}
[Trace - 21:46:57.923 PM] Sending response 'window/workDoneProgress/create - (7)' in 0ms.
Result:
[Trace - 21:46:57.923 PM] Received notification '$/progress'.
Params: {"token":"7174218026911131881","value":{"kind":"begin","title":"Error loading workspace","message":"no module path for file:///C:/Users/gopher/AppData/Local/Temp/gopls-regtest-628564068/TestEditGoDirective/experimental/work/go.mod"}}
[Trace - 21:46:57.924 PM] Received notification 'window/logMessage'.
Params: {"type":1,"message":"2022/03/24 21:46:57 errors loading workspace: no module path for file:///C:/Users/gopher/AppData/Local/Temp/gopls-regtest-628564068/TestEditGoDirective/experimental/work/go.mod\n\tsnapshot=1\n\tdirectory=file:///C:/Users/gopher/AppData/Local/Temp/gopls-regtest-628564068/TestEditGoDirective/experimental/work\n"}
[Trace - 21:46:57.924 PM] Received notification 'textDocument/publishDiagnostics'.
Params: {"uri":"file:///C:/Users/gopher/AppData/Local/Temp/gopls-regtest-628564068/TestEditGoDirective/experimental/work/go.mod","diagnostics":[{"range":{"start":{"line":0,"character":0},"end":{"line":0,"character":0}},"severity":1,"source":"go list","message":"no module path for file:///C:/Users/gopher/AppData/Local/Temp/gopls-regtest-628564068/TestEditGoDirective/experimental/work/go.mod"}]}
[Trace - 21:46:57.924 PM] Received notification '$/progress'.
Params: {"token":"8741248032194605601","value":{"kind":"end","message":"Done."}}
[Trace - 21:47:27.852 PM] Received notification 'window/logMessage'.
Params: {"type":3,"message":"2022/03/24 21:47:27 background imports cache refresh starting\n"}
[Trace - 21:47:27.969 PM] Received notification 'window/logMessage'.
Params: {"type":3,"message":"2022/03/24 21:47:27 background refresh finished after 151.3671ms\n"}
</details>

I suspect there may be two different failure modes here. The failure rate on plan9-386 in particular is much higher than the failure rate elsewhere.
greplogs --dashboard -md -l -e 'FAIL: TestEditGoDirective' --omit=plan9 --since=2022-01-01
2022-04-08T13:27:25-7dd9f20-9535031/freebsd-386-12_3
2022-04-04T06:48:45-153e30b-492c85a/windows-amd64-race
2022-03-25T20:23:27-e309672-3dac914/linux-amd64-wsl
2022-03-22T21:30:29-87a8611-ac3efc8/linux-amd64-wsl
2022-03-18T23:20:51-5ea13d0-7ca6902/aix-ppc64
2022-03-18T13:39:41-5ea13d0-4aa1efe/linux-amd64-wsl
2022-03-16T17:41:38-77aa08b-c0158b6/windows-386-2008
greplogs --dashboard -md -l -e '(?ms)\Aplan9-.*FAIL: TestEditGoDirective' --since=2022-01-01

2022-04-08T18:30:53-fe932b4-3a19102/plan9-386-0intro
2022-04-07T20:56:02-ee2bc8b-8d581f5/plan9-386-0intro
2022-04-07T18:45:34-48e6d8d-c0bbeb0/plan9-386-0intro
2022-04-07T14:59:24-7cc24c2-063f403/plan9-386-0intro
2022-04-07T14:42:13-b3e0236-063f403/plan9-386-0intro
2022-04-06T22:27:40-b3e0236-9a6acc8/plan9-386-0intro
2022-04-06T22:00:21-b3e0236-81ae993/plan9-386-0intro
2022-04-06T18:19:46-6731659-5bb2628/plan9-386-0intro
2022-04-06T03:13:34-37acb39-5bb2628/plan9-386-0intro
2022-04-05T14:34:18-4077921-1a955bc/plan9-386-0intro
2022-04-05T01:54:27-4077921-07b0c57/plan9-386-0intro
2022-04-04T06:48:45-153e30b-492c85a/plan9-386-0intro
2022-04-03T21:26:39-153e30b-3451844/plan9-386-0intro
2022-04-01T21:28:32-153e30b-67d6a51/plan9-386-0intro
2022-04-01T14:08:14-cda13e2-1fc3346/plan9-386-0intro
2022-04-01T03:43:34-cda13e2-029d2c4/plan9-386-0intro
2022-04-01T03:16:26-cda13e2-f5290ef/plan9-386-0intro
2022-03-31T16:58:48-b9a4807-3706584/plan9-386-0intro
2022-03-31T04:40:46-8e193c2-3943d97/plan9-386-0intro
2022-03-30T22:30:03-8e193c2-3b7fce2/plan9-386-0intro
2022-03-30T03:52:37-9d8009b-f5a42cd/plan9-386-0intro
2022-03-30T02:40:41-761e51f-f5a42cd/plan9-386-0intro
2022-03-29T02:25:12-e693fb4-1724077/plan9-386-0intro
2022-03-28T18:20:56-e693fb4-0a69c98/plan9-386-0intro
2022-03-25T21:22:33-ed5a15c-3dac914/plan9-386-0intro
2022-03-25T19:08:41-e309672-2bbf383/plan9-386-0intro
2022-03-25T18:19:09-54af36e-f25631b/plan9-386-0intro
2022-03-24T22:24:35-78ff15e-a10a209/plan9-386-0intro
2022-03-24T19:25:44-4737f45-b95d332/plan9-386-0intro
2022-03-24T18:41:54-4460e9b-b95d332/plan9-386-0intro
2022-03-24T17:50:47-9fd677e-b95d332/plan9-386-0intro
2022-03-24T14:44:47-9fd677e-cccfb8f/plan9-386-0intro
2022-03-24T03:55:46-9fd677e-9058080/plan9-386-0intro
2022-03-23T19:31:59-9fd677e-947bf33/plan9-386-0intro
2022-03-23T14:57:56-87a8611-20ba3f5/plan9-386-0intro
2022-03-22T17:37:31-1428e83-63ea27e/plan9-386-0intro
2022-03-22T16:51:29-c717623-63ea27e/plan9-386-0intro
2022-03-21T22:42:59-c717623-86c8075/plan9-386-0intro
2022-03-21T18:29:06-c717623-b9d6cea/plan9-386-0intro
2022-03-21T17:27:41-c717623-129a2fc/plan9-386-0intro
2022-03-20T21:02:35-5ea13d0-7eaad60/plan9-386-0intro
2022-03-18T19:32:40-5ea13d0-a682a5c/plan9-amd64-0intro
2022-03-18T15:35:06-5ea13d0-2c92b23/plan9-386-0intro
2022-03-17T13:53:41-e998cd2-c379c3d/plan9-386-0intro
2022-03-17T08:43:51-85d68bc-c379c3d/plan9-386-0intro
2022-03-17T03:41:50-85d68bc-9956a54/plan9-386-0intro
2022-03-16T20:10:07-77aa08b-91631bc/plan9-386-0intro
2022-03-14T20:31:55-24806f2-41fe746/plan9-386-0intro
2022-03-14T14:50:06-49d48a0-7900576/plan9-386-0intro
2022-03-14T11:03:14-198cae3-7900576/plan9-386-0intro
2022-03-11T22:34:28-198cae3-baf61e4/plan9-386-0intro
2022-03-11T06:03:26-ee31f70-c1f2213/plan9-386-0intro
2022-03-10T23:06:14-622cf7b-5003ed8/plan9-386-0intro
2022-03-10T18:50:50-9f99e95-8cf1169/plan9-386-0intro
2022-03-10T06:26:28-1670aad-29b968e/plan9-386-0intro
2022-03-10T01:34:17-1670aad-604140d/plan9-386-0intro
2022-03-08T23:18:30-b59c441-20d333b/plan9-386-0intro
2022-03-08T22:23:42-b59c441-0add064/plan9-386-0intro
2022-03-08T21:00:10-b59c441-e030833/plan9-386-0intro
2022-03-08T15:42:25-b59c441-291bda8/plan9-386-0intro
2022-03-07T23:46:55-b59c441-d9d5572/plan9-386-0intro
2022-03-07T20:00:56-b59c441-114d5de/plan9-386-0intro
2022-03-07T16:24:54-b59c441-cc9d3f5/plan9-386-0intro
2022-03-07T16:11:49-b59c441-63bd6f6/plan9-386-0intro
2022-03-07T09:29:14-e155b03-8893175/plan9-386-0intro
2022-03-07T06:23:26-e155b03-82a6529/plan9-386-0intro
2022-03-05T08:36:13-e155b03-55a60ca/plan9-386-0intro
2022-03-04T19:04:50-121d1e4-7d7b9bb/plan9-386-0intro
2022-03-04T18:29:58-121d1e4-ca384f7/plan9-386-0intro
2022-03-04T18:26:08-0eabed7-ca384f7/plan9-386-0intro
2022-03-04T18:03:16-19fe2d7-ca384f7/plan9-386-0intro
2022-03-04T15:48:03-19fe2d7-46afa89/plan9-386-0intro
2022-03-04T01:18:57-3ce7728-81767e2/plan9-386-0intro
2022-03-03T18:04:51-09e0201-58804ea/plan9-386-0intro
2022-03-03T17:28:58-09e0201-78070ec/plan9-386-0intro
2022-03-03T14:42:03-09e0201-86371b0/plan9-386-0intro
2022-03-03T02:46:20-09e0201-86b5f6a/plan9-386-0intro
2022-03-03T01:58:56-09e0201-2e9facb/plan9-386-0intro
2022-03-03T00:37:10-09e0201-301fd8a/plan9-386-0intro
2022-03-03T00:23:02-09e0201-d367205/plan9-386-0intro
2022-03-02T21:27:47-a972457-bcb89fc/plan9-386-0intro
2022-03-02T18:52:17-7103138-986b04c/plan9-386-0intro

I think I know what is causing these failures, approximately.
The example in the test has two diagnostics with quick fixes:
package main

func F[T any](_ T) {
}

The use of type parameters.
The use of any.

In the test, we call "apply quick fixes" which applies quick-fixes in rapid succession. However, we asynchronously reload the workspace when notified of the first on-disk change, and so may theoretically call packages.Load while the Go command is in the middle of the second edit. I guess this because the failing tests have the log message "no module declaration for file:///tmp/workdir/tmp/gopls-regtest-1306654604/TestEditGoDirectiveWorkspace/experimental/work/go.mod", which doesn't occur in the logs of successful test runs.
However, I still don't understand the following:

Don't we enforce that only one Go command is executing at any given time (including across go/packages) via the gocommand library?
Why don't we subsequently succeed at reloading, after the second modification.

Both of these indicate a bug in gopls, but at least there is some rational explanation for the failure.
Investigation continues.

Aha, ok I've got it.

Our maxInFlight go invocations is actually 10, so there's plenty of room for concurrency.
We were detecting file changes in regtests based only on file hash, so we don't catch the intermediate on-disk state of the modfile edit.

I've "fixed" the latter by including mtime in our file identity. We'll see if that makes the errors go away: on certain platforms (e.g. WSL) I recall that mtime is particularly coarse.

Note: another "fix" is to only apply a single quick-fix. I'd prefer if we didn't have to make that accomodation: the regtest framework should be able to handle multiple quick-fixes being applied in succession. Let's see if the flakes go to zero after the CL above.

greplogs --dashboard -md -l -e 'FAIL: TestEditGoDirective' --omit=plan9 --since=2022-01-01

@bcmills it looks like you added an 'omit' flag to your local copy of greplogs. Care to upstream? :)

Care to upstream?

Just waiting on review from @aclements. 🙂
(https://github.com/aclements/go-misc/pull/10)

No failures since the CL above. I'm declaring victory :tada:


Convert zarr dependencies to utils, update numpy chunk encoding

We have been working on building a subset router (https://github.com/asascience-open/xreds/blob/fa3aa81e398c280cef34fd6e0846880df0bb2aef/xreds/plugins/subset_plugin.py#L138) which introduces a nested dataset router. The core zarr plugin did not work with this because of zmetadata and zvariable dependencies using the xpublish global get_dataset dependency. Instead this simply moves those functions to utils and removes the Depends functionality. If there is a better way to handle this i am all ears, I was not sure of why they were dependencies in the first place so this may be incorrect.
This also includes a patch for numpy arrays when using the zarr router (https://github.com/xpublish-community/xpublish/issues/207). In some cases (especially kerchunk concatenated datasets) there may be a combination of numpy and dask arrays, and the numpy arrays may include encoding information even if the encoding is reset beforehand. This PR changes this functionality to force the encoding to match the array shape when the underlying array is not a dask array.

pre-commit.ci autofix


Illegal cast in switch statement for dynamic values on WASM

A switch statement on a dynamic value tries to cast the value to a type, when all (non-default) cases are matching that type.
Reproducable Code:
void main() {
  dynamic number = 42;
  switch (number) {
    case 'a':
      print('a');
    case 'b':
      print('b');
    default:
      print('default');
  }
}

This code works on web with JS, but fails when running with --wasm.
Expected behaviour:
prints out default.
Actual behaviour:
Uncaught RuntimeError: illegal cast

When adding a case of any other type than String it works.
I thought this would be fixed by #56321, but this is still happening.
dart --version output:
Dart SDK version: 3.6.0 (stable) (Thu Dec 5 07:46:24 2024 -0800) on "macos_arm64"

For refutable patterns, the static type of the matched value shouldn't matter, so something is being cast unnecessarily here. (And for these patterns, the type shouldn't matter at all, they're equivalent to 'a' == $v which works for any type of object.
The only case where the static matched value type being dynamic should mater for a refutable pattern is when you use the relational operators, like case == expr or case < expr, where the operator invocation is a dynamic invocation and its result is subject to implicit downcast to bool (which doesn't really matter for ==).
And bound variables like var x could get the type dynamic, but that doesn't matter inside the pattern.

Dart2wasm tries to follow the spec for dynamic expression switches and it uses the appropriate == based on the types of the case expressions. However, in order to dispatch to the == checks it first tries to cast to the relevant types. This breaks when the type of the switch expression doesn't match the types of the case expressions.
We should be adding a type guard before checking against the case expressions to ensure the type of the expression even matches. If it doesn't then we can run the default case or skip all the cases.


Sanitizes cert/key pairs

This will strip leading and trailing whitespace before concatenating the certs and keys making sure they get formatted correctly.
Resolves https://github.com/cloudfoundry-incubator/haproxy-boshrelease/issues/72

Will try to get a release cut tonight

Thank you!


chore(deps): update terraform-module

This PR contains the following updates:

Package
Type
Update
Change

terraform-ibm-modules/landing-zone/ibm (source)
module
minor
6.4.4 -> 6.6.0

terraform-ibm-modules/powervs-workspace/ibm (source)
module
minor
2.2.0 -> 2.3.0

Release Notes

terraform-ibm-modules/terraform-ibm-landing-zone (terraform-ibm-modules/landing-zone/ibm)
v6.6.0
Compare Source
Features

added new outputs: management_rg_id, management_rg_name, workload_rg_id and workload_rg_name (#931) (ade1dd9)

v6.5.1
Compare Source
Bug Fixes

reverted the ability to set the provider_visibility in DA due to known provider bug (#930) (e2d5345)

v6.5.0
Compare Source
Features

exposed the ability to set the provider_visibility in the DA Learn more (#921) (a6c87a4)

:warning: NOTE: This was reverted in https://github.com/terraform-ibm-modules/terraform-ibm-landing-zone/releases/tag/v6.5.1

terraform-ibm-modules/terraform-ibm-powervs-workspace (terraform-ibm-modules/powervs-workspace/ibm)
v2.3.0
Compare Source
Features

support dal14 New DC (#195) (c5e41c3)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

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

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline


Added Natsume Yuujinchou

Added Natsume Yuujinchou

🔍 I have searched the data.js file and confirmed I am not adding a duplicate entry. Note: Different season of the same anime are okay to add such as Sword art online (2013) and Sword art online (2014) .
🌻 I have added a anime year under animeYear. Note: Do not add ranges such as 2017-2019.
🔗 I have added the myanimelist page under animeLink.
3⃣ I have at least three emojis listed under animeEmoji.
5⃣ I have a maximum of five emojis listed under animeEmoji.
👍 My pull request has a descriptive title (such as Added Sword Art Online or Added Sword Art Online: Alicization).
🖍 I have placed the new show(s) or movie(s) in alphabetical order based on title. If the show or movie starts with 'the', then use the second word to alphabetize.


Allow specifying a username for bot

Currently the bot rings all unassigned bells.
Add an optional argument --name that when specified means the bot just rings bells assigned to the given username.
Non goal:
Logging in from the command line + adding the username to the list of users. A user would have to log in with a browser first (and keep the browser open to avoid triggering a leaving event)

This is indeed a good idea - but I think we can definitely release it into the wild without it.  There will always be ways to improve the bot, but I think it's a good idea to get it out and being useful as soon as it can actually function.  It's too late for a shoutout tonight though, I don't think enough people will see it and anyway I'm too tired to write a decent post.


Add OKD/OCP info in the bundle metadata

We are now generating bundle for OCP and OKD better to have that info in the bundle metadata also.

maybe this can be part of the clusterInfo object?
"clusterInfo": {
    "openshiftVarient":"okd or ocp",
    "openshiftVersion": "4.1.11 or 4.5.0-0.okd-2020-10-03-012432",
    "clusterName": "crc",
[...]
}

What if we don't do it ? I would like to avoid to have in CRC a lot of if okd then, if ocp then.
Currently we would need it for:

having the correct oc client
asking or not for the pull secret.

For oc, we can directly add it in the bundle. It makes sense to have the client next to the bundle since they are coming from the same source.
For the pull secret, we could add in the bundle an optional default pull secret. For OKD, it would be a placeholder. For OCP, it won't be provided and CRC will then ask for it.
It enables a "feature" for large deployment of CRC in the same company: IT dep. can repackage a bundle with a pull secret, it avoids end users to have to sign in on Red Hat portal.

What if we don't do it ? I would like to avoid to have in CRC a lot of if okd then, if ocp then.

We can still identify the bundle, only from the openshiftVersion, but have to do some string matching.

For the pull secret, we could add in the bundle an optional default pull secret. For OKD, it would be a placeholder. For OCP, it won't be provided and CRC will then ask for it.

For this we'll need to know if its an okd bundle or ocp bundle to be able to make the choice between using or not using the default pull secret from the bundle meta data.
but we can avoid the check for getting the oc, which is already better.

We can still identify the bundle, only from the openshiftVersion, but have to do some string matching.

I've already asked to avoid this if possible as this is bound to break sooner or later.

For this we'll need to know if its an okd bundle or ocp bundle to be able to make the choice between using or not using the default pull secret from the bundle meta data.

The check would be "is there a pull secret in the bundle or not?"
With an OKD bundle, we probably should not be showing in the UI OpenShift version: xxx but OKD version: xxx because OKD is not OpenShift (which is a Red Hat product/trademark). Dunno how strongly PM/... would care about this.
For debugging purpose imo it's always good to have a log telling us whether it's OKD or OpenShift even if this could be guessed from the versioning.

For what it's worth, OKD contains tons of references to OpenShift.
For example:
Authentication required for https://api.okd4.clg.lab:6443 (openshift)
Username: admin
Password:
Login successful.

You have access to 63 projects, the list has been suppressed. You can list all projects with 'oc projects'

Using project "default".

The UI, in a full OKD install, still refers to OpenShift version.  The pages bear the OKD logo instead of OpenShift, but all of the internals are still OpenShift.

I think now using snc we can create both the bundles (okd/ocp), we still force user to provide pull secret path and in case of okd user can provide and dummy/empty pull secret as mention in readme file.


Macro wrapper for memcpy

Description:
Initial migration from memcpy to SAFE_MEMCPY Macro and MemBlockBuilder. Only a few files were changed, tests and corrections to the check_format script are still pending.
Fixes #9328

WiP: I am writting safe_memcpy_test.cc to increase code coverage.

FYI I think the coverage failure in CI is not your fault; I'm going to write a small PR to just regold the coverage expectations, which I suspect are due to a flake.
I have issued https://github.com/envoyproxy/envoy/pull/14140 which you can either patch into this PR or just wait for that to merge and then merge main into this PR.

No problem 👍 , thanks for the opportunity to contribute on this project and review some C++ 😄 . I hope to improve on the next PR 😉

I think if you merge main it may help the 'coverage' run.
The Windows CI failure looks like it's an infra-flake.

Sorry for misunderstanding, you meant that I should merge branch grial:issue-9328 with grial:master, and then rebase this PR to envoyproxy:master, right? I got confused by the main 😅

ok, I had merged envoy:master into grial:issue-9328, without changing any other files. Next time, I will make a new branch from the orginal (non-forked) project.

Hi @mattklein123 , @alyssawilk , @PiotrSikora , @lizan , @ggreenway , @zuercher and @asraa 👋 , this PR is ready for review 🥧  😄

Thanks for the comments @htuch 🙂, this week I will try to review again the code you spotted to check whether it could be improved by safeMemcpy.

Apparently, I messed things up when merging my forked master branch. There are two commits that were not signed off. After trying what the guide said and having done git commit --ammend -s -c 200093, the problem persists, any ideas on how to sign a particular commit?
BTW, I also tried rebasing, but I had to abort the process since I was not able to apply the changes done after those commits.

Hi @jmarantz, should I add the unsafeMemcpy function in this PR? Or would it be better to leave it for another one ?, like we were planning to do with some of the changes proposed for MemBlockBuilder 😄 .

No need to do it in this PR -- just leave a TODO. You need to merge and resolve conflicts anyway.

/wait

/retest

/retest

I suggest trying to merge main, which will hopefully resolve the coverage issue in CI.

I suggest trying to merge main, which will hopefully resolve the coverage issue in CI.

/retest

/retest

/retest

/retest

main merge needed.

main merge needed.

@lizan do you have other comments? It would be good to get this in as it's kind of a conflict-magnet :)

@lizan do you have other comments? It would be good to get this in as it's kind of a conflict-magnet :)

/retest

/retest

/retest

Hi @rialg -- can you 'merge main' and get CI sorted? Then @lizan can merge.

/retest

ACK. Thanks @jmarantz!

And thank you for pushing this all the way through! IIRC there were some follow-ups from this PR. Are you going to be able to pursue those?

Of course :). I will start to work on the pending changes on a new branch and submit the PR for reviewing next week, most likely.


Type safe props

Apply akka best practices: Introduce props methods in the companion objects of Actors for creating Props in a type safe manner.

This is currently WIP. I'm trying to implement this for the creation of reports in the AppActor as well, but I need some time refactor the map function which maps from reporter configs to ActorRefs.

I'm working on type safe creation of Reporter actors. Here's what I've got so far in the AppActor:
  val reporters = config.reporters.map(config2Actor)

  def config2Actor(entry: (String, AbstractReporterConfig)): (String, ActorRef) = {
    val consoleReporterClass = classOf[ConsoleReporter]
    val slackReporterClass = classOf[SlackReporter]

    val props = entry._2.implementation match {
      case consoleReporterClass => Props(new ConsoleReporter(mapper, config.asInstanceOf[ConsoleReporterConfig]))
      case slackReporterClass => Props(new SlackReporter(mapper, config.asInstanceOf[SlackReporterConfig]))
    }

    val actor = context.actorOf(props, s"reporter-${entry._1}")
    (entry._1, actor)
  }

This looks pretty ugly. A few things that could be improved:

move ReporterConfiguration class to the file where the reporter actor is defined
define ReporterConfiguration implementation class in the companion object of the configuration
define props in the companion object of the reporter actor

This would change the above implementation to:
  val reporters = config.reporters.map(config2Actor)

  def config2Actor(entry: (String, AbstractReporterConfig)): (String, ActorRef) = {
       val props = entry._2.implementation match {
      case ConsoleReporterConfiguration.implementation => ConsoleReporter.props(mapper, config.asInstanceOf[ConsoleReporterConfig])
      case SlackReporterConfiguration.implementation => SlackReporter.props(mapper, config.asInstanceOf[SlackReporterConfig])
    }

    val actor = context.actorOf(props, s"reporter-${entry._1}")
    (entry._1, actor)
  }

Pros:

uses best practice when defining props
makes explicit which actors are created
compile time safety when refactoring reporter actor constructor parameters

Cons:

everything has to be written down explicitly
feels like unnecessary boilerplate code
you have to remember to add a case statement to config2Actor when introducing a new reporter implementation

I'd like to hear comments before I go further down this road.

The second solution looks very good to me. Unnecessary boilerplate seems okay to me, especially since the addition of reporters isn't something that is going to happen very often :+1:

I don't have the time to dive into the details, but the asInstanceOf absolutely must disappear: there must be a way to use pattern matching more elegantly. Can't you define a fixed set of possible reporters (in config: foo, bar, baz) and create a corresponding ADT (sealed base trait and case objects/classes)?

@bripkens voilà! This is ready for reintegration. Please review.

Great stuff!

Cool stuff, thanks @britter! :)

Also thank you @hseeberger for your comments :)


Follow ups after 1.1.0 release

Fix user.home for diktat gradle plugin (attempt 2)
Move log4j into scope test (diktat-common, diktat-rules)
Remove deprecated properties of DiktatExtension
Bump default version of diktat-rules in build.gradle.kts

Apparently ktlint still uses --debug option and we can keep it in our plugins for compatibility
There is no need for us to have logging implementation in dependencies: for CLI it's now provided by ktlint (they depend on logback) and specific config should be provided with the launch command; for maven and gradle plugins there is a logger provided by the build tool itself.
This pull request closes #76, closes #1269

Fix user.home for diktat gradle plugin (attempt 2)

🤣


I wasn't high when I wrote this.

Allow "illegal" postcodes for addresses outside the UK

:rocket: :roller_coaster: :ship:

Cheers @dan-palmer


[improve][doc] Add doc for builtin functions

Documentation

[x] doc
[ ] doc-required
[ ] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository: https://github.com/cbornet/pulsar/pull/9

I removed usage of available-functions and reload as they are not part of next/2.11

Meriging...


[SPARK-38076][CORE] Remove redundant null-check is covered by further condition

What changes were proposed in this pull request?
There are many code pattern in Spark Java code as follows:
obj != null && obj instanceof SomeClass

the null-check is redundant as instanceof operator implies non-nullity, so this pr remove the redundant null-check.
Why are the changes needed?
Code simplification
Does this PR introduce any user-facing change?
No
How was this patch tested?
Pass GA

This is all in Spark.

thanks @dongjoon-hyun


Training data missing audio files

Some of the raw training data found in the Google Drive doesn't contain the audio files corresponding to them (e.g. bluhende_nacht.ogg).

Ah, the input you mentioned had a .ogg that was named Nacht.ogg which didn't match Bluhende Nacht.sm name. I'll open an issue to store the .ogg name in the DataHandler and convert them both to the same name if the parse was valid when copying audio.

For now, I recommend removing the 12 data that are missing audio files. It shouldn't impact training data.


Issue while re-registering pool (updating pool parameters)

mati@HEGEMONEK:~/CRFA$  ./05c_regStakepoolCert.sh crfa funds

....
....
....

1 UTXOs found on the Source Address!

Hash#Index: d39e2682e3be1cabd6dd1bb0d7f57f1bbf6dcf558423042f26d97ff1985fa46e#0  ADA: 6.195590 (6195590 lovelaces)
-----------------------------------------------------------------------------------------------------
Total ADA on the Address:  6.195590 ADA / 6195590 lovelaces

Command failed: transaction build-raw  Error: crfa.pool.cert: TextEnvelope type error:  Expected: CertificateConway Actual: CertificateShelley

ERROR (Code 1) !

more context please
do you work in online or offline mode?

In the online mode, all scripts are against the main branch.

Maybe I need to convert my certificates like above: crfa.pool.cert to be somehow type: Conway scripts?

hey @matiwinnetou , was that resolved?


Support multiple cursors across multiple windows

If I have two windows open at once and I option-click in seperate windows to make multiple cursors, it just defocuses the first window and makes only one cursor in the second window. I think it should allow this multiple selection so that you can edit large stretches of text across several files.

Do you mean separate vscode windows or separate editors within one vscode window? Which OS?

I'm on Mac, and yeah several editors in the one window.


Installation Issue

I'm trying to install convertvdb. The cmake build was successful, but when the install fails right at the end with a clang linker error.
When I run cmake I get ...
-- The C compiler identification is Clang 9.0.1
-- The CXX compiler identification is Clang 9.0.1
-- Check for working C compiler: /usr/bin/clang-9
-- Check for working C compiler: /usr/bin/clang-9 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/clang++-9
-- Check for working CXX compiler: /usr/bin/clang++-9 -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test HAS_CPP14_FLAG
-- Performing Test HAS_CPP14_FLAG - Success
-- Performing Test HAS_CPP11_FLAG
-- Performing Test HAS_CPP11_FLAG - Success
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of off64_t
-- Check size of off64_t - done
-- Looking for fseeko
-- Looking for fseeko - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Setting build type to 'Release' as none was specified.
-- Found ZLIB: zlibstatic (found version "1.2.8")
-- Performing Test HAVE_GCC_INLINE_ASM_AVX
-- Performing Test HAVE_GCC_INLINE_ASM_AVX - Success
-- Performing Test HAVE_SYSCONF_NPROCESSORS_ONLN
-- Performing Test HAVE_SYSCONF_NPROCESSORS_ONLN - Success
-- TBB: using libc++.
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Using X11 for window creation
-- Found X11: /usr/include
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
Configuring for Blosc version: 1.17.2.dev
-- Using LZ4 internal sources.
-- Using Snappy internal sources.
-- Using zlib internal sources.
-- Using ZSTD internal sources.
-- Building for system processor x86_64
-- Detected that BLOSC is used a subproject.
-- Adding run-time support for SSE2
-- Adding run-time support for AVX2
-- CMake Build Type: Release
-- Configuring for OpenVDB Version 7.0.0
-- Configuring for OpenVDB ABI Version 7

-- ------------- Configuring OpenVDBCore --------------

-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake (found suitable version "1.71.0", minimum required is "1.61") found components: iostreams system
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
-- Could NOT find Jemalloc (missing: Jemalloc_LIBRARY)
CMake Warning at ext/openvdb/openvdb/CMakeLists.txt:143 (message):
Unable to find Jemalloc, attempting to fall back to TBB malloc.
    It is recommended to use Jemalloc for optimum performance.

-- Found TBB: /usr/include (found suitable version "2020.1", minimum required is "2017.0") found components: tbbmalloc tbbmalloc_proxy

-- ----------- Configuring OpenVDBBinaries ------------

-- Configuring done
-- Generating done
-- Build files have been written to: /home/vbundu/mitsuba2-vdb-converter/build
When I run make -j, I get this error ....
[100%] Linking CXX executable vdb_print
/usr/bin/ld: ../libopenvdb.so.7.0.0: undefined reference to std::exception_ptr::exception_ptr(std::exception_ptr const&)' /usr/bin/ld: ../libopenvdb.so.7.0.0: undefined reference to std::exception_ptr::~exception_ptr()'
/usr/bin/ld: ../libopenvdb.so.7.0.0: undefined reference to std::bad_alloc::bad_alloc()' /usr/bin/ld: ../libopenvdb.so.7.0.0: undefined reference to std::bad_alloc::bad_alloc()'
/usr/bin/ld: ../libopenvdb.so.7.0.0: undefined reference to `std::rethrow_exception(std::exception_ptr)'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [ext_build/openvdb/openvdb/cmd/CMakeFiles/vdb_print.dir/build.make:93: ext_build/openvdb/openvdb/cmd/vdb_print] Error 1
make[1]: *** [CMakeFiles/Makefile2:1171: ext_build/openvdb/openvdb/cmd/CMakeFiles/vdb_print.dir/all] Error 2
make: *** [Makefile:152: all] Error 2
I also get this one as well ....
/usr/bin/ld: ext_build/openvdb/ext_build/tbb/libtbb_static.a(tbb_misc.cpp.o): in function tbb::bad_last_alloc::bad_last_alloc()': tbb_misc.cpp:(.text._ZN3tbb14bad_last_allocC2Ev[_ZN3tbb14bad_last_allocC2Ev]+0x5): undefined reference to std::bad_alloc::bad_alloc()'
/usr/bin/ld: ext_build/openvdb/ext_build/tbb/libtbb_static.a(arena.cpp.o): in function tbb::interface7::internal::task_arena_base::internal_execute(tbb::interface7::internal::delegate_base&) const': arena.cpp:(.text+0x1ce3): undefined reference to std::exception_ptr::exception_ptr(std::exception_ptr const&)'
/usr/bin/ld: arena.cpp:(.text+0x1ceb): undefined reference to std::rethrow_exception(std::exception_ptr)' /usr/bin/ld: arena.cpp:(.text+0x1cf8): undefined reference to std::exception_ptr::~exception_ptr()'
/usr/bin/ld: arena.cpp:(.text+0x1f16): undefined reference to std::exception_ptr::exception_ptr(std::exception_ptr const&)' /usr/bin/ld: arena.cpp:(.text+0x1f1e): undefined reference to std::rethrow_exception(std::exception_ptr)'
/usr/bin/ld: arena.cpp:(.text+0x1f32): undefined reference to `std::exception_ptr::~exception_ptr()'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [CMakeFiles/convertvdb.dir/build.make:93: convertvdb] Error 1
make[1]: *** [CMakeFiles/Makefile2:496: CMakeFiles/convertvdb.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
Do you what may be the problem?

Hi !
It looks like you have a linker issue with clang. Can you try building with gcc/g++ instead ?
You might have some pre-built dependency that was built with gcc/g++.

Oh yea I was able to fix the problem by using clang++. Thank you very much


fromROSCostMap2D only works with sizes smaller than the actual size

E. g. trying to convert a 5 x 5 m ros costmap the length has to be a bit smaller than 5  x 5m, e. g. 4.9 x 4.9 m.
The error pops up here.

Seems like the tf_pose.getOrigin() can't just be simply used but has to be adjusted to the map resolution (because the costmap align itself like that).
E. g. an tf origin of (-3.84537, -3.96554) has to become (-3.84, -3.96)
Also in general it would be good to be able to get just the whole map.
E. g. by requesting 0 or a negative size of the costmap.

@stonier
If you didn't see it yet
@bit-pirate
fyi

Aye, I'm aware of it. Thanks for the issue.


Change configuration name to match API parameter

This change renames the configuration of the TwiML Application SID in the application
to more closely match how it is named in the API. I thought about changing the
environment variable too, but that would require more coordination with deployment
and I couldn't think of anything that was more descriptive.

there should be one place in the code that references that var, can you change that too?


Inline completions not displayed when extending selectedSuggestionInfo range and text

Testing #131415

Add the following to the body of provideInlineCompletionItems to return a dummy inline completion item

			if (context.selectedSuggestionInfo !== undefined) {
				if (context.selectedSuggestionInfo.text === 'helloworld1') {
					return [{
						text: 'helloworld1',
						range: context.selectedSuggestionInfo.range,
						trackingId: 'some-id'
					}];
				}
			}

Open an untitled file and add

helloworld1 = 1
hellow

Ctrl+Space to put up suggest widget.
Inline completions not displayed (?) The docstring says "provided inline completions must extend the text of the selected item and use the same range, otherwise they are not shown as preview." Here the completion I'm providing does extend the selected item in the suggest widget, and it uses the same range as what's provided in the context. I don't have context on the inline completions API beyond what's described in https://github.com/microsoft/vscode/issues/129495 so perhaps the docstring could be further clarified if I have misunderstood how this API is supposed to work?

I needed to also configure editor.suggest.preview--thanks for the hint @hediet :D


Custom message in the config file

Add quick example in the README.md
Added repoConfig.message based ConfigMessageGenerator.

Without config/no message in config:

With config file:
{
  "maxReviewers": 5, // Maximum  number of people to ping in the PR message, default is 3
  "numFilesToCheck": 10, // Number of files to check against, default is 5
  "message": "@pullRequester, cool! @reviewers, please check this out for @pullRequester."
}

Great! Can you just remove the comments that don't add any value and i'll merge it in. Thanks :)

@vjeux Thanks! Done.


misc/git: check formatting for staged changes only

Use case:

Start with a correctly-formatted .go file
Make some changes that are formatted correctly
Make some other changes that are formatted incorrectly
Use git add -p to stage only the correctly-formatted changes
Commit

Since the unstaged changes won't be committed, they're outside the remit of
a pre-commit hook. With this change, the pre-commit hook will only examine
the staged version of the file.
Fixes #23136

ping @ErinCall - please take a look at the review comments. :)

NVM I'll just stick with my fork


BarChart Legend Overflow Bug

Describe the bug
The legend in the bar chart for "Investment return vs. policy benchmark" overflows into the chart in certain conditions.
To Reproduce
Steps to reproduce the behavior:

Go to https://essential-staging-cu.herokuapp.com/impact-reports/joy
Click on "Financials" button in the header
Scroll down to "Investment return vs. policy benchmark" section
See that the legend of the bar chart is pushed up against the chart.
Refresh the page.
See the legend is correctly placed under the chart.

Expected behavior
The legend should always be rendered below the bar chart.
Screenshots
Before Refreshing Page

After Refreshing Page

Desktop (please complete the following information):

OS: macOS 11.6
Browser: Brave
Version: 1.31.87

Additional context
I think if the chart is initialized after page load it will correct itself. That or providing more sizing values might prevent the legend from being squished via auto-generated values.

I changed the code to load the charts when a user scrolls them into view. This gives a nice animation, albeit quick, for the user and seems to get rid of the overflow issue.
I think SSR was the culprit here not loading CSS or having window dimensions on the server, which would render the chart in a squished-up dimenison.


Add an admin-friendly way to recalculate rollups on an object

In the event that new rollups are added to an object, or existing rollup criteria is updated, existing data in orgs will need to be fully recalculated to ensure that the data is accurate. There should be an easy way for admins (and developers) to be able to select a object from the org's schema & run a batch job to recalculate all rollups for the selected object.

User can select 1 object from the org's schema
User can optionally provide criteria to filter the records that are included in the recalculation
User clicks a button & a batch Apex job is initiated - the job should recalculated all relevant rollups for the select object

Broke ground on support for this last night/this morning. My initial thought on the subject of Batch Apex: Rollup already knows when to batch/queue based on the number of objects present - with a little bit of work, it will be possible to refine the existing scalability to make room for this full recalculation feature.

count the number of calculation items that will need to be processed, total (remains to be seen if the criteria to filter records will be included in the MVP for this; could do this here and then extend it to #15 , or vice versa)
if the count is close to the 50k query limit, use a batch class to gather all of the calculation items up prior to beginning to rollup; in other words, chain the new batch job into the existing infrastructure
if the count is below and not close to the 50k query limit, gather the calc items in-situ and begin the rollup process normally
expose a LWC via a Lightning App via a new Tab that allows an admin to kick off the whole process!
include Permission Set to add this new Tab's visibility

Broke ground on support for this last night/this morning. My initial thought on the subject of Batch Apex: Rollup already knows when to batch/queue based on the number of objects present - with a little bit of work, it will be possible to refine the existing scalability to make room for this full recalculation feature.

count the number of calculation items that will need to be processed, total (remains to be seen if the criteria to filter records will be included in the MVP for this; could do this here and then extend it to #15 , or vice versa)
if the count is close to the 50k query limit, use a batch class to gather all of the calculation items up prior to beginning to rollup; in other words, chain the new batch job into the existing infrastructure
if the count is below and not close to the 50k query limit, gather the calc items in-situ and begin the rollup process normally
expose a LWC via a Lightning App via a new Tab that allows an admin to kick off the whole process!
include Permission Set to add this new Tab's visibility

That sounds amazing! Looking forward to seeing the changes in action

That sounds amazing! Looking forward to seeing the changes in action

@jongpie just finished the backend piece of this, after a hilarious setback at the end of last night - turns out you can't have an inner class extend the functionality of the parent class's Batchable methods. Calling Database.executeBatch on an inner class instance leads to a gack, or "Internal Salesforce Error".
I thought you might be interested to see the above class and the full recalculation method - ~30 lines of method code plus the class with the overrides.
Hope to wrap up the frontend pieces of this today/tomorrow and get v1.0.8 out there!

@jongpie just finished the backend piece of this, after a hilarious setback at the end of last night - turns out you can't have an inner class extend the functionality of the parent class's Batchable methods. Calling Database.executeBatch on an inner class instance leads to a gack, or "Internal Salesforce Error".
I thought you might be interested to see the above class and the full recalculation method - ~30 lines of method code plus the class with the overrides.
Hope to wrap up the frontend pieces of this today/tomorrow and get v1.0.8 out there!

Did the front-end of this ever happen? I can refresh rollups via anon apex but it would be neat to be able to do it via the UI!

@solo-1234 yes! There is a button you can add via the “custom” section in the Lightning App builder for flexipages. You can refresh the CMDT rollups for any parent record using the button

That works great - thanks!

Great!


updated SDK to 2023-06-01

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.ResourceManager.MobileNetwork

@JeetendraJoshi-MSFT I left a few comments in the corresponding APIview since we would like a stable version of the SDK, please take a look and resolve them: https://apiview.dev/Assemblies/Review/5bcab98a5e4f468eb48f99bfe6fbba8d
Here is some instructions about how to resolve those naming comments:

you need to add some configurations following the guidance of the generator here: https://github.com/Azure/autorest.csharp/blob/feature/v3/docs/mgmt/polishing.md#rename-mapping
regenerate the code (run command dotnet build /t:GenerateCode) and API (run the eng/scripts/Export-API.ps1 mobilenetwork script) and samples (run command dotnet build /t:GenerateTests)

I suggest we do this in steps, ie resolve a few comments and regenerate, instead of resolving a lot of comment all at once and then regenerate.
Special note about the Collection, Resource, Data: there are a few comments for the types ending with the word Data, when you change its name, the corresponding Collection and Resource types will change their name as well, this is by design.

@ArcturusZhang:
It seems like you want us to rename all of our classes to be prepended with MobileNetwork (e.g. change DiagnosticsPackageData to MobileNetworkDiagnosticsPackageData say).
I don't understand why we want to do this - all  of these classes are in the Azure.ResourceManager.MobileNetwork namespace so it feels unambiguous what they are referring to.
Is there precedence for this? Is this policy for the dotnet SDK ? if this is policy- why isn't it built into the auto-code-generator to name classes this way (i.e. dotnet build /t:GenerateCode could create models/ classes with these names)
My steer here is that as an RP team I want the creation of all the SDKs to be as frictionless and as automated as possible. Happy to talk over teams (andrewlee and jjoshi) if that's easier.

@andrew-lee-metaswitch all these comments come from the arch board's general comments for mgmt dotnet SDKs
DotNet SDKs should not have same name types across all libraries - this is the main reason we are commenting about "prepend the models with your RP names if the name is not so unique"
The generator has taken over some requirement that must do in its implementations, but it cannot know if the name of the model is general or not therefore this has to be a manual work after the generation


fix: Extending Promise with ES6 class

Extending the global Promise using ES6 classes after the agent has loaded results in the extended class properties not being present on the created promise instance. This can break third-party libraries and customer code that relies on extending the Promise class with additional properties and methods. Those properties will now be properly copied to the wrapped Promise instance the agent creates.

Overview

Updating the promise wrapper to check for additional instance level properties during construction. If found, the property descriptor for those properties will be applied to the new wrapped promise instance that is created and returned by the agent.
Related Issue(s)

https://new-relic.atlassian.net/browse/NR-155491
Testing

Closing. This breaks jspdf and possibly other libraries that es6 extends Promise.


sync with master

Current coverage is 100%

Merging #614 into v22.5.6 will not change coverage

@@           v22.5.6   #614   diff @@
=====================================
  Files           29     29
  Lines          439    454    +15
  Methods        111    115     +4
  Messages         0      0
  Branches         0      0
=====================================
+ Hits           439    454    +15
  Misses           0      0
  Partials         0      0

Powered by Codecov. Last update ad15a7a...b09ebab