MINIFI-417 Upgrading underlying NiFi libs to 1.4.0 from 1.2.0

Thank you for submitting a contribution to Apache NiFi - MiNiFi.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[X] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[X] Does your PR title start with MINIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[X] Has your PR been rebased against the latest commit within the target branch (typically master)?

[X] Is your initial contribution a single, squashed commit?

For code changes:

[X] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi-minifi folder?
[X] Have you written or updated unit tests to verify your changes?
[X] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[X] If applicable, have you updated the LICENSE file, including the main LICENSE file under minifi-assembly?
[X] If applicable, have you updated the NOTICE file, including the main NOTICE file found under minifi-assembly?

For documentation related changes:

[X] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.

Took a swag at updating the underlying libs from 1.2.0 to 1.4.0 and it didn't appear to be too bad. I built everything and updated anything that needed to be updated. I also checked the nifi.properties to see if we needed to add anything and in 1.3.0 and 1.4.0 the only changes were related to clustering or authorizers (not applicable).
I admittedly did a not good job testing the full suite of functionality. The tests that I ran were the full build, a basic S2S, and transformation using the toolkit. I've had a bad habit recently of starting things and if I don't commit/put up a PR in one go then it gets lost. So I just wanted to get something up. If updating to 1.4.0 this way is something we want to pursue, I'd appreciate any testing that people are able to do easily (ie. those that have a better understanding of the C2 and have an instance set-up).

reviewing

code looks fine and was able to run it through some flows/configurations that were highlighting various problem spots addressed with 0.3.0.  Will get this merged in.  Thanks @JPercivall!

Awesome, thanks @apiri. I'm glad this wasn't as bad as the upgrade you did for 1.2.0


TS ESLint

Summary
Does ESLint have TypeScript support enabled?
Steps To Reproduce:
Add the below to any component.
    value: string = '';
    handleChange(e: InputEvent) {
        this.value = (e.target as HTMLTextAreaElement).value;
    }

Expected result
No eslint error on as
Actual result
error  Parsing error: Unexpected token, expected ","
Errors on as like TypeScript isn't enabled.
Additional information
I tried the same in a new project with 1.3.0, same result. The husky rule makes this more obvious, wasn't running lint prior to updating.
"parser": "@typescript-eslint/parser", in .eslintrc.json fixes it for me.

Done updating my project and this was the final config change required. The no-new is optional, but it's kind of a annoying lint rule.
{
    "parser": "@typescript-eslint/parser",
    "plugins": ["@typescript-eslint"],
    "extends": ["@salesforce/eslint-config-lwc/recommended"],
    "rules": {
        "@lwc/lwc/no-async-operation": "warn",
        "@lwc/lwc/no-inner-html": "warn",
        "@lwc/lwc/no-document-query": "warn",
        "no-new": "off",
        "no-unused-vars": "off",
        "@typescript-eslint/no-unused-vars": ["error", {
            "vars": "all",
            "args": "after-used",
            "ignoreRestSiblings": false
        }]
    }
}


Storage migration for StakingDetails

Story
Revised:
Provider Boosted staking details and Maximized Capacity staking details will be stored separately and also retargeted unlock chunks and unstaking unlock chunks will be stored separately, so a storage migration for StorageAccountDetails may be deferred.  However at some point this storage should be unified.
Acceptance Criteria:

Migration of StakingAccountDetails:

[x] copies unlock chunks to new separate storage
[x] copies everything else to new StakingDetails that no longer holds unlock chunks.
[x] Best practices followed for the migration; please see the most recent storage migration in our repo for an example.
[x] unstake logic is changed so that if it's MaximizedCapacity, the unlock chunks are added to the new storage.

Last task finished awhile back.


Add new version to test GoCD

Coverage remained the same at 100.0% when pulling 83ff294ab1b88152ae68544de9d5ffe4ad9adc76 on trungnguyen:master into 9ea7a8ea2065da8a5383c7d363cc819ce9972695 on ukparliament:master.

Coverage remained the same at 100.0% when pulling 83ff294ab1b88152ae68544de9d5ffe4ad9adc76 on trungnguyen:master into 9ea7a8ea2065da8a5383c7d363cc819ce9972695 on ukparliament:master.


docs:add four blogs

Changes:
Add four blogs

Please note that submitting 4 blogs in 1 pull request is not the best approach for contributors and reviewers. You could do such thing when you are super familiar with all related tools, but that is just not the case for now.
I'd suggest submitting one blog at a time in your future pull requests, and then goes to 2, 3, or 4 when everything runs smoothly. Don't simply treat it as a task to complete, see it as an opportunity to learn new things.

Thank you for your suggestion

Hi @SylviaBABY @SkyeYoung @juzhiyuan , need further review and approvals for this pull request.
Review contents can be found at https://deploy-preview-1471--apache-apisix.netlify.app/zh/blog/


Op-reth v1.0.4 broken debug_traceBlockByNumber

Describe the bug
rpc method debug_traceBlockByNumber is broken on v1.0.4
v1.0.4
// Request
{
    "method": "debug_traceBlockByNumber",
    "params":["0x114a730",{"tracer":"callTracer"}],
    "id": 1,
    "jsonrpc": "2.0"
}
// Response
{
    "jsonrpc": "2.0",
    "id": 1,
    "error": {
        "code": -32003,
        "message": "max fee per gas less than block base fee"
    }
}

v1.0.3 and below

Steps to reproduce

upgrade node from 1.0.0-1.0.3 to 1.0.4 rpc method stops returning valid responses for debug_traceBlockByNumber

Node logs
No response
Platform(s)
Linux (x86)
What version/commit are you on?
reth Version: 1.0.4-dev
Commit SHA: e24e4c773d7571a5a54dba7854643c02d0b0a841
Build Timestamp: 2024-08-06T19:26:05.400257125Z
Build Features: asm_keccak,jemalloc,optimism
Build Profile: maxperf
What database version are you on?
2
Which chain / network are you on?
base/optimism
What type of node are you running?
Archive (default)
What prune config do you use, if any?
No response
If you've built Reth from source, provide the full command you used
cargo build --profile maxperf --features jemalloc,asm-keccak,optimism --locked --bin op-reth
Code of Conduct

[X] I agree to follow the Code of Conduct

possibly closed by https://github.com/paradigmxyz/reth/pull/10210

this is fixed as of 1.0.5. Thank you


Failed to open collectd RRD database

binjr 2.17.0
OS: ArchLinux x86_64
When I try to add RRD database from /var/lib/collectd/hostname/cpu-0/percent-idle.rrd it fails with following exception:
eu.binjr.core.data.exceptions.DataAdapterException: Failed to open rrd db
	at eu.binjr.sources.rrd4j.adapters.Rrd4jFileAdapter.getBindingTree(Rrd4jFileAdapter.java:139)
	at eu.binjr.core.controllers.MainViewController.buildTreeViewForTarget(MainViewController.java:1099)
	at eu.binjr.core.controllers.MainViewController.lambda$addSource$37(MainViewController.java:771)
	at eu.binjr.core.data.async.AsyncTaskManager$1.call(AsyncTaskManager.java:83)
	at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Unknown Source)
	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
	at java.base/java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(Unknown Source)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
	at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)
Caused by: java.nio.file.AccessDeniedException: /var/lib/collectd/vostrobook/cpu-0/percent-idle.rrd
	at java.base/sun.nio.fs.UnixException.translateToIOException(Unknown Source)
	at java.base/sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source)
	at java.base/sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source)
	at java.base/sun.nio.fs.UnixFileSystemProvider.newFileChannel(Unknown Source)
	at java.base/java.nio.channels.FileChannel.open(Unknown Source)
	at org.rrd4j.core.RrdNioBackend.<init>(RrdNioBackend.java:91)
	at org.rrd4j.core.RrdNioBackendFactory.open(RrdNioBackendFactory.java:163)
	at org.rrd4j.core.RrdBackendFactory.getBackend(RrdBackendFactory.java:511)
	at org.rrd4j.core.RrdDb.<init>(RrdDb.java:612)
	at org.rrd4j.core.RrdDb.<init>(RrdDb.java:44)
	at org.rrd4j.core.RrdDb$Builder.build(RrdDb.java:93)
	at org.rrd4j.core.RrdDbPool.requestRrdDb(RrdDbPool.java:415)
	at org.rrd4j.core.RrdDbPool.requestRrdDb(RrdDbPool.java:366)
	at eu.binjr.sources.rrd4j.adapters.Rrd4jFileAdapter.getBindingTree(Rrd4jFileAdapter.java:108)
	... 11 more

Database is accessible by user:
$ file /var/lib/collectd/vostrobook/cpu-0/percent-idle.rrd
/var/lib/collectd/vostrobook/cpu-0/percent-idle.rrd: RRDTool DB version 0003 64bit aligned little-endian 64bit long (alpha/amd64/ia64)

Hi,
I've reproduced the issue. It is actually caused by a regression introduced a couple of versions ago which prevents binjr from opening rrd db files generated with RrdTools.
If all goes well, I should be able to publish a fix shortly.

Fixed by c6fcdb4

I've published a snapshot version that includes the fix here: https://github.com/binjr/binjr/releases/tag/v2.17.1-SNAPSHOT
Could you please try it and let me know if it fixes the issue on your end? If so I'll publish a new release w/ the fix.

It works. Thank you for quick fix!

Released in v2.17.1


feat: can pass validatorOptions to validate properties

I did this because I need to skip missing properties.


Social buttons to share post do not show up

[ ] This is a question about using the theme.
[x] I believe this to be a bug with the theme --- not Jekyll, GitHub Pages or one of the bundled plugins.
[ ] This is a feature request.
[x] I have updated all gems with bundle update.
[x] I have tested locally with bundle exec jekyll build.

Environment informations

Minimal Mistakes version: 3.3.6
github-pages or jekyll gem version: 3.1.6
Operating system: Windows 10

Expected behavior

Social buttons show up under 'Share On' text at the bottom of each post.
Steps to reproduce the behavior

https://github.com/StephenCavender/stephencavender.github.io

Forked theme
Customized and created posts
Updated to 3.3.6

Same issue as #422, related to an ad blocker removing Font Awesome icons... which are used in the sidebar, footer, and social sharing buttons.

Argh! Just installed ADP on Edge... Forgot I had it and it's not obvious on the UI... Sorry for the three extra false issues, but thx for the quick response time!

No problem. I've gotten this issue enough times now I know exactly what the problem is when it comes up. :smile:


Expand time travel

Overview
This PR brings wider support for time travel and time based callback registration in the test framework as covered in #18. This PR has some large changes to the internals of how the state of Hass objects are tracked and also proposes changes to the workflow consumers of the test framework will use. Currently, the PR is up to discuss these changes and get consensus before going much further with this work. There are a lot of code and architectural changes proposed in this PR, but they are just my stab at it and should be viewed as a starting point for discussion.
Proposed architecture changes:
The hass_fucntions fixture gets replaced with hass_mock fixture

hass_mock test fixture is an instance of HassMock class which keeps track of the mocked Hass state and provides public interfaces to manipulate the simulated automation envrionment
Add  new new internal classes to help track separated internal state of Hass. For now this is just SchedulerMocks, but could be extended to include things like StateMocks, EventMocks, etc.
Maintain backwards compatibility with existing code by constructing the hass_fucntions dict internally. I propose that this interface be considered deprecated in favor of public methods in the HassMock class as this PR does with time_travel

Create the concept of pre and post initialization of automations. Although not fully enforced in this PR, this is the proposed new patterns that guided the new implementation of time_travel:

Set initial stage with the given_that fixture. Time, state, automation parameters, etc.
Automations are initialized. (after this given_that cannot be used)

Right now this is either done by @automation_fixture or by the user calling initialize manually.
In the future it might make sense to group this into a fixture to make tests more clear to read and write. For example, you do all your setup and then call given_that.setup_complete(), given_that.automations_initialized(), or something similar.

Another option would be to lazily initialize automations on the first call to something that needs that and block future calls to given_that. This would be less obvious, but also less verbose for the user.

def test_thing(automation, given_that, time_travel):
      given_that.time_is(datetime.time(15,00))
      # implicit initialization of automations with the call to `time_travel`.
      # No more calls to `given_that` allowed after this.
      time_travel.fast_forward(15).minutes()

Stimulate and observe (can be interleaved)

Stimulate the simulation (time_travel, state changes, events, etc)
Observer the simulation (assert_that)
The above process uses the test fixtures that already exist such as given_that, time_travel, and assert_that. The idea would be to keep these and add one as needed to keep test code highly readable.

To deal with the above pre/post initialization, it is useful to be able to create @automation_fixtures that do not initialize. An initialize key word argument was added to @automation_fixture to allow skipping the call to the auotmations' initialize function. This allows the user to do further setup with given_that and then manually call initialize.
Also, there is protection code added to enforce these orderings. For instance, if you try to time travel with registered callback it will raise an Exception. There are a few reasons for doing it this way:

It guides the user to consume the test library correctly
Exceptions give clear feedback on the failure so the test writer can correct. (e.g. "You can not set_time() after automations have been initialized.")

External facing changes
Although the aim was to limit externally facing changes to users of this code, some changes were necessary that will impact consumers of this library.
Due to the more detailed simulation of time, there are some new ordering dependencies that need to be honored by the consumer.

Start time can only be set prior to initializing automations

Once any callbacks have been registered, jumping around in time would cause inconsistencies in the simulated state.

The effects of these changes can be seen in how the bathrrom integration example tests don't really work anymore and some tests needed to be skipped. This is due to these tests being written before there was concept of a pre/post initialization stage. I'm looking for input on how best to cover this, but I think it might just be refactoring this test code to fit in these paradigms.
Questions
This PR adds test coverage through the various user facing test fixtures (assert_that, time_travel, etc). It also adds a few tests for individual internal classes, but there felt to be some overlap in this area. Any thoughts on what best practice is here?
Remaining work after design decisions are ironed out:

[ ] Merge in master to get the Hass.name change
[ ] Update or re-write the bathroom integration tests example to fit new paradigms
[ ] Finish updating documentation

Intro
I am impressed by the care you put in the code you write, and am really happy to have someone like you participate to this repo.
I have read the code quickly but didn't get into the details. As I was reading I quickly realized: This is a very professional PR, regarding the code as well as the description. So I figured, let's save both of us a lot of time and collaborate as professionals. I do not need to oversee all the nitty gritty details of your code: I trust your work and for now I'd rather discuss on the overview. At the very end I'll review everything in details just to help you for things like typo and such, or things difficult to see with only one pair of eyes ;) (only if you wish so)
For that purpose, in my opinion there is not better way than to meet, via video or simple screen sharing. Given your enthusiasm I'm sure you could present your work in a much more efficient manner than if I tried to understand it all on my own. Not that I couldn't, your code is very readable, I just think it would accelerate things for the both of us.
I'll add a doodle link with my availabilities below.
Comments
That being said, I did read your explanatory text and I have a couple of comments.
Backwards compatiblity: hass_function
Constructing it internally
Great idea!
Declare deprecated and move away from it
Yes definitely, I am 100% in line with that. I really like your approach of maintaining compatibility but slowly fading it away.
When that particular version with all your changes get released, we could print warnings to indicate the deprecation, and couple of versions later throw explicit exception explaning how to move away from hass_functions and use HassMock instead.
My two previous comments assume that HassMock works as expected and is not in an experimental state, but I think that's obvious for the both of us :)
Pre-post initialization
General idea
This is quite a breaking change, but if it brings value I'm totally in to go down that road. Of course we'll think of a release strategy together so that people who have tests like the bathroom example do not end up frustrated. Conceptually I think it makes a lot of sense, and if it helps keep everything coherent, yep 100% behind the idea.
Manual / Delayed initialization
I agree, that there must be some mechanism to allow delayed initialization. Otherwise, it would mean all the setup for any test would have to go in the @automation_fixture body, which wouldn't work if we had more than one test per automation, so in like 99% of cases.
As to how to implement it in practice, I think given_that.setup_complete() or something of the sort is a good solution. Also, at first I was rather opposed to the other option of initializing in the background. I felt it was too "magic" and a nightmare for the user to debug.
But then I thought, if we implement this properly, if it's clearly documented, and if whenever the user does the unexpected we throw an exception with a very detailled explanation of why this happens, linking to the documentation, then .... then I think it might actually be an even better option than the explicit initialization.
But well, I think these are the sort of things that would be easier to discuss in person :)
initialize keyword in @automation_fixture
Yep sounds good, and following a gradual deprecation process we could even make the default value for this parameter: false. So that the new Pre-Post intialization would be the standard way of thinking about the test framework
Protection code
. . . do I need to comment? 😊
This is exactly what I was suggesting a couple of lines above. So yes, I love the "fail fast" / "let's teach the user in real time" approach. 👍
External facing changes
Let's discuss this in person and figure out a strategy that would make sense in terms of how to release the breaking change without annoying too much the couple of users who decided to check out this project in its early stage :).
Question about test strategy
We can get into that after you give me your overview of the code and discuss about it. I am not pretending to have all the answers, but I think we can come up with something interesting with a discussion on the topic :)
Outro
After all I decided to not go with a doodle, let's just talk and decide when it would work best ;)
Could you join the Software Craft slack?
=> http://slack.softwarecrafters.org/
It's a very welcoming community, I'm sure you'll feel right at home. And more importantly you'll be able to DM me there, so we can schedule a meeting. Also feel free to reach me if you have a quick question or need input on something ;)
Overall, I know I say it a lot, but you deserve it: Thanks a lot for your work! It's amazing 😃 Looking forward to collaborate on that

Hi Florian, I just joined the Software Crafters Slack and will DM you on there in a bit. I'll also digest some of this great feedback and see if I can summarize any of my thoughts before we talk. Also, thanks for the praise; it's a lot of fun working on this project and you're an absolute pleasure to work with :).

Hey 🙂
I just wanted to let you know that I've contacted you via DM on the Software Crafter Slack.
If you're not available, there is absolutely no rush. But I figured since you didn't answer for 2 weeks maybe you never saw my messages 😅
And if it's a time problem, I repeat, there is no rush 😊

Whoops, thanks for dropping a message here. I thought Slack would give me email notifications on DMs. I'll check into that in a bit and get back to you there.

Haha all good. I'm glad you eventually got my message ;)
And again, there's no rush. Whatever timing we manage to make work, will be the best timing :)

Hey,
Any news on this?
I'd like to re-state: There is absolutely no rush 😊 I'm just pinging 🙂

No problem, thanks for the check in! Life had a way of getting away from me and to be honest the async communication worked better for me. I've got some time over the holiday that I can work on this. I'll need to get back up to speed on my changes and then we can sync up.
I'm really looking forward to landing some of these changes, I recently switched all my lighting over to smart switches and would like to start getting some more elaborate automations going with testing form day 1!

All good 👍
The idea was to continue working async, but a call is important to discuss certain aspects that would take ages to talk about over text. Plus I'd like you to introduce me to your changes and their logic instead of figuring it out on my own 🙂
Also, the goal of the call if not to micromanage you, no worries. On the contrary, the goal would be to set ground rules to allow you to work more independently on my project, and maybe give you some permissions to the repo 🙂👍
Anyways, let's get in touch and synchronize via slack for a meeting time and date. But again, no rush, could be 2 months from now I'm totally ok with that 🙂👍
Happy holidays 😊

That all sounds great, I'll drop you a message on slack.

Just an FYI, I merged in upstream master to my branch and got all tests passing again. This is ready for review/discussion.

After talking about this PR, I decided it's a better path to break this down in a series of smaller PRs. This will help greatly with review of these PRs since this one got to be a bit of a monster. First in the line of PRs is #27 .
I'll still be using this branch to guide the coming series of PRs to ultimately get to the new time travel framework.


win screen chain render layer ordering

Intermittent so doesnt always happen 🤷

This all turned out to be super wonky, so chains are off for now.
Might revisit this at some point to add the chainy flavor back in.


Support Xarray Datasets and DataArrays in cubed.visualize

I don't think there's currently a way of visualizing datasets in a single diagram, so this would be very handy.

Current workaround:
cubed.visualize(*(ds[var].data for var in ds.data_vars.keys()))

Maybe just define an Xarray accessor im cubed-xarray so that you can do ds.cubed.visualise?
https://docs.xarray.dev/en/stable/internals/extending-xarray.html

Maybe just define an Xarray accessor in cubed-xarray so that you can do ds.cubed.visualise?
https://docs.xarray.dev/en/stable/internals/extending-xarray.html

Thanks for the suggestion @TomNicholas - I didn't know about this extension point! I have implemented it in https://github.com/cubed-dev/cubed-xarray/pull/22 and it has been working well for me.


test(samples): add retry setting in getUptimeCheckConfig for fix build

Codecov Report

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

@@              Coverage Diff              @@
##             master       #5       +/-   ##
=============================================
- Coverage     78.01%   67.28%   -10.74%
+ Complexity      422      368       -54
=============================================
  Files            36       36
  Lines          4067     2320     -1747
  Branches         49       12       -37
=============================================
- Hits           3173     1561     -1612
+ Misses          831      703      -128
+ Partials         63       56        -7

Impacted Files
Coverage Δ
Complexity Δ

...toring/v3/stub/AlertPolicyServiceStubSettings.java
81.30% <0.00%> (-8.97%)
14.00% <0.00%> (-1.00%)

...d/monitoring/v3/stub/GroupServiceStubSettings.java
80.14% <0.00%> (-8.87%)
15.00% <0.00%> (-1.00%)

...toring/v3/stub/UptimeCheckServiceStubSettings.java
80.14% <0.00%> (-8.38%)
15.00% <0.00%> (-1.00%)

.../v3/stub/ServiceMonitoringServiceStubSettings.java
80.60% <0.00%> (-6.71%)
19.00% <0.00%> (-1.00%)

.../cloud/monitoring/v3/AlertPolicyServiceClient.java
56.52% <0.00%> (-6.70%)
18.00% <0.00%> (-5.00%)

...monitoring/v3/stub/GrpcUptimeCheckServiceStub.java
86.36% <0.00%> (-6.40%)
12.00% <0.00%> (-1.00%)

...cloud/monitoring/v3/stub/GrpcGroupServiceStub.java
87.14% <0.00%> (-6.15%)
12.00% <0.00%> (-1.00%)

...loud/monitoring/v3/stub/GrpcMetricServiceStub.java
88.63% <0.00%> (-6.00%)
14.00% <0.00%> (-1.00%)

...monitoring/v3/stub/GrpcAlertPolicyServiceStub.java
86.66% <0.00%> (-5.70%)
11.00% <0.00%> (-1.00%)

...3/stub/NotificationChannelServiceStubSettings.java
80.60% <0.00%> (-5.61%)
19.00% <0.00%> (-1.00%)

... and 14 more

Continue to review full report at Codecov.

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

what is the default timeout?

before adding retry setting default timeout is 30 second,but i have just increase it to 60 second by adding retry setting.


chore(artifacts): add implementation for sendArtifact in nexus

Description

Fixes WB-17682
Fixes #NNNN

What does the PR do?
implement sendArtifact() to support offline artifact sync in nexus (wandb-core)
Testing
import wandb

import os
import random
import tempfile

os.environ["WANDB_BASE_URL"] = "https://api.wandb.ai"

ENTITY = "ibindlish"
PROJECT = "test-nexus-offline-runs"
ARTIFACT = "test-art"
num_keys = 5

metrics = dict()
tmpdir = ".."

with wandb.init(entity=ENTITY, project=PROJECT, mode="offline") as run:
    for i in range(num_keys):
        key = f"key_{i}"
        value = random.random()
        metrics[key] = value
    wandb.log(metrics)
    artifact = wandb.Artifact(ARTIFACT, "run-test")
    for i in range(5):
        with tempfile.NamedTemporaryFile(delete=False) as temp_file:
            data_to_write = "Hello, World!\nThis is a new temporary file."
            temp_file.write(data_to_write.encode("utf-8"))
        artifact.add_file(temp_file.name)
    artifact = run.log_artifact(artifact)

After running the above script, you'll get the path to the offline run. You can sync it using the following command.
$> WANDB_BASE_URL=https://api.wandb.ai wandb sync /Users/ibindlish/Documents/Projects/wandb/wandb/offline-run-20240222_173121-kvayn9hy
The logged artifact shows gets synced and shows up in the UI

@ibindlish I have a comments/questions:

If both log_artifact and artifact implement the same thing, why do we need 2 different messages? (although looking at the python implementations, i see that they have differences. One for example is the response, i don't see it in the send_artifact function)
With log_artifact since it is a request, unless set otherwise explicitly specified, it means that online runs won't be sync-able (we won't save these records to the transaction log)

wandb sync uses the old backend to try with the new wandb-core you need to run wandb beta sync

wandb sync uses the old backend to try with the new wandb-core you need to run wandb beta sync

verified with wandb beta sync and it works.


Handle duplicate handling (same tags) for tag-add command

If the contact is tagged with the same label multiple times, the system will reject duplicate tags with an error: "Contact already has this tag."


Page not found at Onapsis GitHub repo page error

ENVIROMENT: production
COMPANY: Mindera
URL: https://github.com/peviitor-ro/Scrapers_canghelet/blob/main/sites/onapsis_scraper.py
Browser: Google Chrome
Device: laptop
OS: Windows 10
Precondition:
The https://github.com/peviitor-ro/Scrapers_canghelet/blob/main/sites/onapsis_scraper.py must be open in browser.
Steps:
Click on Github Repo.
Page goes to page not found message.
Expected result:
Click the GitHub repo.
Hogarth's scraper GitHub page should open un.
Actual result:
The button takes us to Page not found message.

Fixed!


Temporal benchmarks

Consider the best clock is the BioData device, ideally from the hardware timestamped events (e.g. SynchPulse or 'Set' stream).
Specifically:

[ ] Microphone:

Benchmark with the pulse that was sent to the mic ADC which relayed the synchpulse. Since each buffer is timestamped in CPU we can compare these two events and have a sense of the delay/jitter between the syncpulse (given in HARP HW) and when it arrives in Bonsai (given by the latest harp timestamp)

[x] TinkerForge

Benchmark using the AnalogInput bricklets since it is receiving the synch pulse from Harp. Find when the pulse occurs and compare the hw timestamp with the latest harp timestamp in software. NB: There is an assumption that the delay across bricklets is comparable.

[ ] UBX

This one is a bit trickier since the ubx hardware "buffers" the event and sends it at 1HZ. As a result I think the best metric is to simply compare the clock drift using the syncpulse we are sending to the UBX and logging. OR comparing the delay between each PPS message and the corresponding toggle in the output line that we are reading in one of the digital inputs of the BioData board

[ ] Pupil labs

We will start by looking at the burned IR LED in the camera and go from there. Unfortunately, we don't have a good way to get that hardcoded information translated into an LSL event. We are taking for granted that all the files logged by the software are aligned with the logs provided by LSL, which might not be the case. In the future, it might be better to pack all the data (e.g. Image, X, Y, etc..) in a single packet that guarantees synchrony. After that, the current benchmark strategy should work.

[ ] Adafruit Accelerometer

Assuming the events are well aligned (trigger and serial response) should be as simple as subtracting the two columns (hw_time - software time). That said, there is not any reason why we should not always use the latter...

[x] Empatica

We will use the photodiode that emits light when the "Tag" event is also sent via the server. We will then compare the timestamp of the event given in CPU with the photodiode signal given from the Biodata device

TinkerForge benchmark:

Empatica benchmarks (in 81e57cf)
Processing algorithm (some negative latencies were removed because the algorithm fails to detect very slow LED ramps, ~ 1% fo all trials):

Acceleromter benchmark (in 34a0fcd2d64054fdfba39b0234b5e8d175401f17):

For the UBX, we can check how does the difference grow in the respective clocks of the digital input event injected in the UBX board. We have made the decision of aligning on the first pulse and let the error propagate.

The best we can do for the pupil right now is to assume s stable frame rate (200hz) and calculate the drift by resting on the first burned LED event. This results in roughly 1400frames (or 7 seconds) missing after ~20min of recording.

Microphone:
The difference in the timestamp given in software to a buffer where we detect the TTL and the corresponding hardware-timestamped ttl:


Clean Up and Refactor DB Connection Pooling and Management

Make sure everything is 100% thread-safe.
Track all connections opened/closed for both connection pools, and on process shutdown, verify that no opened connections are left (and that the WAL and SHM files are not there).
We should distinguish very carefully the main process and the api process; we should have one DB connection pool for each and each should be initialized / cleaned up from server.py. We should have all of the db.close() statements in the finally: clause inside all running threads (rather than in the stop() methods). Etc. etc.

done here https://github.com/CounterpartyXCP/counterparty-core/pull/2786


add MTE IDs to the GT enum

Also made it so the space elevator controller is now in the GT5U ItemList, so it does solve the issue where GT5U requires GTNH-I to make the EoH recipe.

error is just some mods are missing that galaxyspace is expecting (OpenComputers)


Add some Serialize and Deserialize impls

This adds some Serialize and Deserialize impls to frame-system and frame-support enums and structs (recursively deriving whenever necessary). There are likely more areas where we can add them but we can start with these for now.
If I am missing anything wrt the PR process please let me know, but this should be quick and easy.
EDIT: cla-bot-2021 appears to want me to sign a CLA at localhost, which does not seem to be correct.

moving derives into pallet derive macros seems to be blocked on an issue i cannot resolve within pallet-atomic-swap
its pallet:Event enum has a variant of type PendingSwap<T: Config>, which we can add Serialize/Deserialize for as follows
#[cfg(feature = "std")]
#[derive(Serialize, Deserialize)]
#[serde(crate = "frame_support::serde")]
pub struct PendingSwap<T: Config> {
	/// Source of the swap.
	pub source: T::AccountId,
	/// Action of this swap.
	pub action: T::SwapAction,
	/// End block of the lock.
	pub end_block: T::BlockNumber,
}

however, T::SwapAction is a trait bound
pub trait SwapAction<'a, AccountId, T: Config> {
	/// Reserve the resources needed for the swap, from the given `source`. The reservation is
	/// allowed to fail. If that is the case, the the full swap creation operation is cancelled.
	fn reserve(&self, source: &AccountId) -> DispatchResult;
	/// Claim the reserved resources, with `source` and `target`. Returns whether the claim
	/// succeeds.
	fn claim(&self, source: &AccountId, target: &AccountId) -> bool;
	/// Weight for executing the operation.
	fn weight(&self) -> Weight;
	/// Cancel the resources reserved in `source`.
	fn cancel(&self, source: &AccountId);
}
// ...
type SwapAction: SwapAction<Self::AccountId, Self> + Parameter;

adding a Deserialize trait bound requires adding a named lifetime parameter, which appears to be not so trivial to do.
#[cfg(feature = "std")]
type SwapAction<'a>: SwapAction<'a, Self::AccountId, Self> + Parameter + Serialize + Deserialize<'a>;
#[cfg(not(feature = "std"))]
type SwapAction<'a>: SwapAction<'a, Self::AccountId, Self> + Parameter;

is my naive approach of accomplishing this but this depends on unstable features (GATs)
error[E0658]: generic associated types are unstable
   --> frame/atomic-swap/src/lib.rs:177:3
    |
177 |         type SwapAction<'a>: SwapAction<'a, Self::AccountId, Self> + Parameter + Serialize + Deserialize<'a>;
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information

not really sure how to proceed here

Why do you need this?

Please answer this

Why do you need this?

Please answer this

More specifically, my company maintains a somewhat easy to use afl wrapper that requires serde impls for corpus storage/retrieval and being able to better fuzz substrate is something that is of interest to us.

Being able to automatically fuzz event inputs without having to write bespoke wrappers to various pallet functions would be a very nice to have.

You want to fuzz using json?

Not json, specifically, no. Currently, data is serialized out via either bincode or cbor.
serde's Serialize/Deserialize is also the serialization/deserialization standard in Rust and deviating from it would require extra (and non-sensical) work for little benefit.

adding a Deserialize trait bound requires adding a named lifetime parameter, which appears to be not so trivial to do.

turns out DeserializedOwned is a thing. things build locally so now hopefully we just need CI to pass.

i will fix cargo test soon tm

I can imagine a custom derive macro in frame that derives Encode, Decode always and Serialize, Deserialize only in std.

I am currently looking into how doable this is.

After a while, we end up with an unorganized mess of types, where some random ones are ser/de and others are not, with no clear rule to define why some are some are not.

wrt this, currently all that happened was I made pallet::Error (maybe questionably) and pallet::Event (maybe not so questionably) serde and then adding it to any types that the compiler complained about but it can certainly be done more consistently within the smaller types within the pallet ecosystem.

@incertia maybe you can just make the macros support custom derive attributes. Then you can add serde support downstream in your runtime.

I also don't very like derive serde everywhere like this.
Also I don't really usecase for it.
Types implements Encode/Decode, there have full type information with TypeInfo. I don't think we need more.
If some people want to use type which implement serde for fuzzing maybe it is possible to do: use types which implement serde when declaring the runtime. Fuzz from the runtime with concrete types which implements serde.
As 2 other people seems to be against this I'll close the PR, but anybody can reopen it with some more opinions.


\buildCrossTargeting or \buildMultiTargeting

It seems the folder \buildCrossTargeting was renamed to \buildMultiTargeting, but docs still refer to older name.
See https://github.com/NuGet/Home/issues/4098
Should it be changed?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: f35f4267-e5e3-ddcf-d3e4-479fb233ce9f
Version Independent ID: 6d49d66f-f777-7e44-3a45-723e3ad09a59
Content: How to create a NuGet package
Content Source: docs/create-packages/Creating-a-Package.md
Product: nuget
GitHub Login: @karann-msft
Microsoft Alias: karann

@Igorbek thanks for catching that AND fixing it!


neovim fails to build on aarch64

Issue description
The neovim package fails to build on aarch64 on nixos-unstable channel.
Steps to reproduce
$> nix-shell -p neovim
these derivations will be built:
  /nix/store/vchimknrwxaf46k3w4vnvai6cq783q0b-neovim-unwrapped-0.3.1.drv
  /nix/store/1js0550xmkjy4lx7di4bilzbh1wm3ayc-neovim-0.3.1.drv
building '/nix/store/vchimknrwxaf46k3w4vnvai6cq783q0b-neovim-unwrapped-0.3.1.drv'...
unpacking sources
unpacking source archive /nix/store/zg7vi1k141fkhimmbqs2l0z5zymx1gsq-source
source root is source
patching sources
updateAutotoolsGnuConfigScriptsPhase
configuring
fixing cmake files...
cmake flags: -DCMAKE_BUILD_TYPE=Release -DCMAKE_SKIP_BUILD_RPATH=ON -DCMAKE_INSTALL_INCLUDEDIR=/nix/store/zvpdp8x4hd3shsprm540ffaqq62j0zl9-neovim-unwrapped-0.3.1/include -DCMAKE_INSTALL_LIBDIR=/nix/store/zvpdp8x4hd3shsprm540ffaqq62j0zl9-neovim-unwrapped-0.3.1/lib -DCMAKE_INSTALL_NAME_DIR=/nix/store/zvpdp8x4hd3shsprm54
0ffaqq62j0zl9-neovim-unwrapped-0.3.1/lib -DCMAKE_POLICY_DEFAULT_CMP0025=NEW -DCMAKE_OSX_DEPLOYMENT_TARGET= -DCMAKE_OSX_SYSROOT= -DCMAKE_FIND_FRAMEWORK=last -DCMAKE_STRIP=/nix/store/ah0va6j4cnwj9nx4j6rwcfc8nh785jwm-binutils-2.30/bin/strip -DCMAKE_RANLIB=/nix/store/ah0va6j4cnwj9nx4j6rwcfc8nh785jwm-binutils-2.30/bin/ranl
ib -DCMAKE_AR=/nix/store/ah0va6j4cnwj9nx4j6rwcfc8nh785jwm-binutils-2.30/bin/ar -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_INSTALL_PREFIX=/nix/store/zvpdp8x4hd3shsprm540ffaqq62j0zl9-neovim-unwrapped-0.3.1 -DLUA_PRG=/nix/store/5lwpysvm05n25prj969f7znx8mzja84y-luajit-2.1.0-beta3/bin/lua -DGPERF_PRG=/nix/stor
e/g36cd9jmq8rk65n7hfz076knh1k1gj9q-gperf-3.1/bin/gperf
-- The C compiler identification is GNU 7.3.0
-- Check for working C compiler: /nix/store/r4yzs2pnn47k9f1m6l69r9p5nlv2figm-gcc-wrapper-7.3.0/bin/gcc
-- Check for working C compiler: /nix/store/r4yzs2pnn47k9f1m6l69r9p5nlv2figm-gcc-wrapper-7.3.0/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Replacing -O3 in CMAKE_C_FLAGS_RELEASE with -O2.
-- Performing Test HAS_OG_FLAG
-- Performing Test HAS_OG_FLAG - Success
-- Performing Test HAS_ACCEPTABLE_FORTIFY
-- Performing Test HAS_ACCEPTABLE_FORTIFY - Success
-- Performing Test HAVE_EXECINFO_BACKTRACE
-- Performing Test HAVE_EXECINFO_BACKTRACE - Success
-- Performing Test HAS_WIMPLICIT_FALLTHROUGH_FLAG
-- Performing Test HAS_WIMPLICIT_FALLTHROUGH_FLAG - Success
-- Performing Test HAS_WVLA_FLAG
-- Performing Test HAS_WVLA_FLAG - Success
-- Performing Test HAS_FSTACK_PROTECTOR_STRONG_FLAG
-- Performing Test HAS_FSTACK_PROTECTOR_STRONG_FLAG - Success
-- Performing Test HAS_FSTACK_PROTECTOR_FLAG
-- Performing Test HAS_FSTACK_PROTECTOR_FLAG - Success
-- Performing Test HAS_DIAG_COLOR_FLAG
-- Performing Test HAS_DIAG_COLOR_FLAG - Success
-- Performing Test HAS_NO_ARRAY_BOUNDS_FLAG
-- Performing Test HAS_NO_ARRAY_BOUNDS_FLAG - Success
-- Found PkgConfig: /nix/store/091bir0r4wdbq898i8v6z33297mx69k1-pkg-config-0.29.2/bin/pkg-config (found version "0.29.2")
-- Looking for dlopen in dl
-- Looking for dlopen in dl - found
-- Looking for kstat_lookup in kstat
-- Looking for kstat_lookup in kstat - not found
-- Looking for kvm_open in kvm
-- Looking for kvm_open in kvm - not found
-- Looking for gethostbyname in nsl
-- Looking for gethostbyname in nsl - found
-- Looking for perfstat_cpu in perfstat
-- Looking for perfstat_cpu in perfstat - not found
-- Looking for clock_gettime in rt
-- Looking for clock_gettime in rt - found
-- Looking for sendfile in sendfile
-- Looking for sendfile in sendfile - not found
-- Found LibUV: /nix/store/6w56ng8h00cyvqhjavwj1q1c1r9aqash-libuv-1.21.0/lib/libuv.so
-- Found Msgpack: /nix/store/msmdanlnkx7mxixjjrz2msgakmzblqb8-libmsgpack-2.1.5/lib/libmsgpackc.so (found suitable version "2.1.5", minimum required is "1.0.0")
-- Found LuaJit: /nix/store/5lwpysvm05n25prj969f7znx8mzja84y-luajit-2.1.0-beta3/lib/libluajit-5.1.so
-- Performing Test MSGPACK_HAS_FLOAT32
-- Performing Test MSGPACK_HAS_FLOAT32 - Success
-- Found unibilium: /nix/store/8rbvs43rl6pm48czf1c83a6waw1l49nz-unibilium-2.0.0/lib/libunibilium.so
-- Performing Test UNIBI_HAS_VAR_FROM
-- Performing Test UNIBI_HAS_VAR_FROM - Success
-- Found LibTermkey: /nix/store/jdy810mlm201kpz551i6yg91xy310qs0-libtermkey-0.20/lib/libtermkey.so
-- Found LibVterm: /nix/store/3ngiykhzcqgr7y5xc9kj9lcbq10591j3-neovim-libvterm-2017-11-05/lib/libvterm.so
-- Found JeMalloc: /nix/store/nw0486337wn6mdig0pmganl23bqy2c3j-jemalloc-5.0.1/lib/libjemalloc.so
-- Performing Test HAVE_WORKING_LIBINTL
-- Performing Test HAVE_WORKING_LIBINTL - Success
-- Looking for _nl_msg_cat_cntr
-- Looking for _nl_msg_cat_cntr - found
-- Found Iconv
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- 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
-- Checking Lua interpreter /nix/store/5lwpysvm05n25prj969f7znx8mzja84y-luajit-2.1.0-beta3/bin/lua
-- Using the Lua interpreter /nix/store/5lwpysvm05n25prj969f7znx8mzja84y-luajit-2.1.0-beta3/bin/lua.
-- MIN_LOG_LEVEL not specified
-- Performing Test HAS_WNO_STATIC_IN_INLINE_FLAG
-- Performing Test HAS_WNO_STATIC_IN_INLINE_FLAG - Success
-- Found Gettext: /nix/store/4wiy073gn2i8ipdnii4s3xzh34hcpz83-gettext-<IP_ADDRESS>/bin/msgmerge (found version "<IP_ADDRESS>")
-- 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 int
-- Check size of int - done
-- Check size of long
-- Check size of long - done
-- Check size of intmax_t
-- Check size of intmax_t - done
-- Check size of size_t
-- Check size of size_t - done
-- Check size of long long
-- Check size of long long - done
-- Check size of void *
-- Check size of void * - done
-- Looking for _NSGetEnviron
-- Looking for _NSGetEnviron - not found
-- Looking for include file iconv.h
-- Looking for include file iconv.h - found
-- Looking for include file langinfo.h
-- Looking for include file langinfo.h - found
-- Looking for include file locale.h
-- Looking for include file locale.h - found
-- Looking for include file pwd.h
-- Looking for include file pwd.h - found
-- Looking for include file strings.h
-- Looking for include file strings.h - found
-- Looking for include file sys/wait.h
-- Looking for include file sys/wait.h - found
-- Looking for include file sys/utsname.h
-- Looking for include file sys/utsname.h - found
-- Looking for include file termios.h
-- Looking for include file termios.h - found
-- Looking for include file utime.h
-- Looking for include file utime.h - found
-- Looking for include file sys/uio.h
-- Looking for include file sys/uio.h - found
-- Looking for fseeko
-- Looking for fseeko - found
-- Looking for getpwent
-- Looking for getpwent - found
-- Looking for getpwnam
-- Looking for getpwnam - found
-- Looking for getpwuid
-- Looking for getpwuid - found
-- Looking for uv_translate_sys_error
-- Looking for uv_translate_sys_error - not found
-- Looking for readv
-- Looking for readv - found
-- Looking for _putenv_s
-- Looking for _putenv_s - not found
-- Looking for opendir
-- Looking for opendir - found
-- Looking for readlink
-- Looking for readlink - found
-- Looking for setenv
-- Looking for setenv - found
-- Looking for unsetenv
-- Looking for unsetenv - found
-- Looking for setpgid
-- Looking for setpgid - found
-- Looking for setsid
-- Looking for setsid - found
-- Looking for sigaction
-- Looking for sigaction - found
-- Looking for strcasecmp
-- Looking for strcasecmp - found
-- Looking for strncasecmp
-- Looking for strncasecmp - found
-- Looking for utime
-- Looking for utime - found
-- Looking for utimes
-- Looking for utimes - found
-- Looking for FD_CLOEXEC
-- Looking for FD_CLOEXEC - found
-- Looking for CODESET
-- Looking for CODESET - found
-- Looking for include file endian.h
-- Looking for include file endian.h - found
-- Looking for include file sys/endian.h
-- Looking for include file sys/endian.h - not found
-- Performing Test HAVE_BE64TOH_MACROS
-- Performing Test HAVE_BE64TOH_MACROS - Success
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_CXX_COMPILER

-- Build files have been written to: /build/source/build
building
build flags: -j1 -l1 SHELL=/nix/store/7q3ayirslrcva28wava6zpjcflcz1h3b-bash-4.4-p23/bin/bash
[  0%] Generating auto/ui_events.generated.h, auto/ui_events_call.generated.h, auto/ui_events_remote.generated.h, auto/ui_events_bridge.generated.h, auto/api/private/ui_events_metadata.generated.h
/nix/store/5lwpysvm05n25prj969f7znx8mzja84y-luajit-2.1.0-beta3/bin/lua: bad light userdata pointer
stack traceback:
        [C]: in function 'match'
        /build/source/src/nvim/generators/gen_api_ui_events.lua:15: in main chunk
        [C]: at 0x00405660
make[2]: *** [src/nvim/CMakeFiles/nvim.dir/build.make:1225: src/nvim/auto/ui_events.generated.h] Error 1
make[2]: *** Deleting file 'src/nvim/auto/ui_events.generated.h'
make[1]: *** [CMakeFiles/Makefile2:2865: src/nvim/CMakeFiles/nvim.dir/all] Error 2
make: *** [Makefile:152: all] Error 2
builder for '/nix/store/vchimknrwxaf46k3w4vnvai6cq783q0b-neovim-unwrapped-0.3.1.drv' failed with exit code 2
cannot build derivation '/nix/store/1js0550xmkjy4lx7di4bilzbh1wm3ayc-neovim-0.3.1.drv': 1 dependencies couldn't be built
error: build of '/nix/store/1js0550xmkjy4lx7di4bilzbh1wm3ayc-neovim-0.3.1.drv' failed

Technical details

system: "aarch64-linux"
host os: Linux 4.18.0, NixOS, 18.09pre149044.6afd19e699c (Jellyfish)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.0.4
channels(root): "nixos-18.09pre149044.6afd19e699c"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Sounds like an upstream issue. There is https://github.com/neovim/neovim/issues/7879 at least which is closed... but maybe the problem has resurfaced.

Looks like this is fixed: https://hydra.nixos.org/job/nixos/release-19.03/nixpkgs.neovim-unwrapped.x86_64-linux

Does not build on my machine..
❯ nix-shell -p neovim
these derivations will be built:
  /nix/store/xaw73gca3ff3f4l0j92mycpv7s52374c-neovim-unwrapped-0.3.4.drv
  /nix/store/m55qkv4by07nl7l40a9mrb5s7vpah9jm-neovim-0.3.4.drv
building '/nix/store/xaw73gca3ff3f4l0j92mycpv7s52374c-neovim-unwrapped-0.3.4.drv'...
unpacking sources
unpacking source archive /nix/store/25cip07j2zf6jad4n9m1ym516c2vpf5b-source
source root is source
patching sources
applying patch /nix/store/jnp9n2x9cdvl47da3656illrd3p2qvb5-system_rplugin_manifest.patch
patching file runtime/autoload/remote/host.vim
patching file runtime/plugin/rplugin.vim
updateAutotoolsGnuConfigScriptsPhase
configuring
fixing cmake files...
cmake flags: -DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_SKIP_BUILD_RPATH=ON -DCMAKE_INSTALL_INCLUDEDI
R=/nix/store/id8hcg31pzhfkh5h7hrdw2bv1ypkrfv4-neovim-unwrapped-0.3.4/include -DCMAKE_INSTALL_LIBDIR=/nix/store/id8hcg31pzhfkh5h7hrdw2bv1ypkrfv4-neovim-unwrapped-0.3.4/lib -DCMAKE_INSTALL_NAME_DIR=/nix/store/id8hcg31pzhfkh5h7hr
dw2bv1ypkrfv4-neovim-unwrapped-0.3.4/lib -DCMAKE_POLICY_DEFAULT_CMP0025=NEW -DCMAKE_OSX_DEPLOYMENT_TARGET= -DCMAKE_OSX_SYSROOT= -DCMAKE_FIND_FRAMEWORK=last -DCMAKE_STRIP=/nix/store/5qj51mzplnxdfra88fxj7q0k5ki4r68a-binutils-2.3
1.1/bin/strip -DCMAKE_RANLIB=/nix/store/5qj51mzplnxdfra88fxj7q0k5ki4r68a-binutils-2.31.1/bin/ranlib -DCMAKE_AR=/nix/store/5qj51mzplnxdfra88fxj7q0k5ki4r68a-binutils-2.31.1/bin/ar -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++
-DCMAKE_INSTALL_PREFIX=/nix/store/id8hcg31pzhfkh5h7hrdw2bv1ypkrfv4-neovim-unwrapped-0.3.4 -DLUA_PRG=/nix/store/ps5586xh7kwvhihdnjg22jkgfi76bdnp-luajit-2.1.0-beta3-env/bin/lua -DGPERF_PRG=/nix/store/72c1fakclvbyync0vs2kc7lmpxl2
0dkz-gperf-3.1/bin/gperf
-- The C compiler identification is GNU 7.4.0
-- Check for working C compiler: /nix/store/3wrcg1zy6k70pvf4dma3xv5h1kgqjxb1-gcc-wrapper-7.4.0/bin/gcc
-- Check for working C compiler: /nix/store/3wrcg1zy6k70pvf4dma3xv5h1kgqjxb1-gcc-wrapper-7.4.0/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
CMake Deprecation Warning at CMakeLists.txt:12 (cmake_policy):
  The OLD behavior for policy CMP0059 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.

-- Replacing -O3 in CMAKE_C_FLAGS_RELEASE with -O2
-- Performing Test HAS_OG_FLAG
-- Performing Test HAS_OG_FLAG - Success
-- Performing Test HAS_ACCEPTABLE_FORTIFY
-- Performing Test HAS_ACCEPTABLE_FORTIFY - Success
-- Performing Test HAVE_EXECINFO_BACKTRACE
-- Performing Test HAVE_EXECINFO_BACKTRACE - Success
-- Performing Test HAS_WIMPLICIT_FALLTHROUGH_FLAG
-- Performing Test HAS_WIMPLICIT_FALLTHROUGH_FLAG - Success
-- Performing Test HAS_WVLA_FLAG
-- Performing Test HAS_WVLA_FLAG - Success
-- Performing Test HAS_FSTACK_PROTECTOR_STRONG_FLAG
-- Performing Test HAS_FSTACK_PROTECTOR_STRONG_FLAG - Success
-- Performing Test HAS_FSTACK_PROTECTOR_FLAG
-- Performing Test HAS_FSTACK_PROTECTOR_FLAG - Success
-- Performing Test HAS_DIAG_COLOR_FLAG
-- Performing Test HAS_DIAG_COLOR_FLAG - Success
-- Performing Test HAS_NO_ARRAY_BOUNDS_FLAG
-- Performing Test HAS_NO_ARRAY_BOUNDS_FLAG - Success
-- Found PkgConfig: /nix/store/9max4zhkqnyn1akbzy92s3fplqfsn6ja-pkg-config-0.29.2/bin/pkg-config (found version "0.29.2")
-- Looking for dlopen in dl
-- Looking for dlopen in dl - found
-- Looking for kstat_lookup in kstat
-- Looking for kstat_lookup in kstat - not found
-- Looking for kvm_open in kvm
-- Looking for kvm_open in kvm - not found
-- Looking for gethostbyname in nsl
-- Looking for gethostbyname in nsl - found
-- Looking for perfstat_cpu in perfstat
-- Looking for perfstat_cpu in perfstat - not found
-- Looking for clock_gettime in rt
-- Looking for clock_gettime in rt - found
-- Looking for sendfile in sendfile
-- Looking for sendfile in sendfile - not found
-- Found LibUV: /nix/store/z322nn8zms14n00m2qaada9m8xb0i0jd-libuv-1.26.0/lib/libuv.so
-- Found Msgpack: /nix/store/riiawvgnv053azjm6qqpab511appm2f5-msgpack-3.0.1/lib/libmsgpackc.so (found suitable version "3.0.1", minimum required is "1.0.0")
-- Found LuaJit: /nix/store/ps5586xh7kwvhihdnjg22jkgfi76bdnp-luajit-2.1.0-beta3-env/lib/libluajit-5.1.so
-- Performing Test MSGPACK_HAS_FLOAT32
-- Performing Test MSGPACK_HAS_FLOAT32 - Success
-- Found unibilium: /nix/store/4h5q7gk1pkdmhl756s73sqg3hnpkwq2n-unibilium-2.0.0/lib/libunibilium.so
-- Performing Test UNIBI_HAS_VAR_FROM
-- Performing Test UNIBI_HAS_VAR_FROM - Success
-- Found LibTermkey: /nix/store/c95k74lvws4b2sji745847yn6hj5ilh4-libtermkey-0.20/lib/libtermkey.so (Required is at least version "0.18")
-- Found LibVterm: /nix/store/fwkfzb0v537wryl0b1syq60n67f5qh2q-neovim-libvterm-2017-11-05/lib/libvterm.so
-- Found JeMalloc: /nix/store/vc8ins4fk8a2v7h0sjnwkqjgr6xyja9q-jemalloc-5.1.0/lib/libjemalloc.so
-- Performing Test HAVE_WORKING_LIBINTL
-- Performing Test HAVE_WORKING_LIBINTL - Success
-- Looking for _nl_msg_cat_cntr
-- Looking for _nl_msg_cat_cntr - found
-- Found Iconv
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- 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
-- Checking Lua interpreter: /nix/store/ps5586xh7kwvhihdnjg22jkgfi76bdnp-luajit-2.1.0-beta3-env/bin/lua
-- Using Lua interpreter: /nix/store/ps5586xh7kwvhihdnjg22jkgfi76bdnp-luajit-2.1.0-beta3-env/bin/lua
-- MIN_LOG_LEVEL not specified
-- Performing Test HAS_WNO_STATIC_IN_INLINE_FLAG
-- Performing Test HAS_WNO_STATIC_IN_INLINE_FLAG - Success
-- Found Gettext: /nix/store/ianpfm95qxgm4rkc9n8gccackl6a21vn-gettext-<IP_ADDRESS>/bin/msgmerge (found version "<IP_ADDRESS>")
-- 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 int
-- Check size of int - done
-- Check size of long
-- Check size of long - done
-- Check size of intmax_t
-- Check size of intmax_t - done
-- Check size of size_t
-- Check size of size_t - done
-- Check size of long long
-- Check size of long long - done
-- Check size of void *
-- Check size of void * - done
-- Looking for _NSGetEnviron
-- Looking for _NSGetEnviron - not found
-- Looking for include file iconv.h
-- Looking for include file iconv.h - found
-- Looking for include file langinfo.h
-- Looking for include file langinfo.h - found
-- Looking for include file locale.h
-- Looking for include file locale.h - found
-- Looking for include file pwd.h
-- Looking for include file pwd.h - found
-- Looking for include file strings.h
-- Looking for include file strings.h - found
-- Looking for include file sys/wait.h
-- Looking for include file sys/wait.h - found
-- Looking for include file sys/utsname.h
-- Looking for include file sys/utsname.h - found
-- Looking for include file termios.h
-- Looking for include file termios.h - found
-- Looking for include file utime.h
-- Looking for include file utime.h - found
-- Looking for include file sys/uio.h
-- Looking for include file sys/uio.h - found
-- Looking for fseeko
-- Looking for fseeko - found
-- Looking for getpwent
-- Looking for getpwent - found
-- Looking for getpwnam
-- Looking for getpwnam - found
-- Looking for getpwuid
-- Looking for getpwuid - found
-- Looking for uv_translate_sys_error
-- Looking for uv_translate_sys_error - not found
-- Looking for readv
-- Looking for readv - found
-- Looking for _putenv_s
-- Looking for _putenv_s - not found
-- Looking for opendir
-- Looking for opendir - found
-- Looking for readlink
-- Looking for readlink - found
-- Looking for setenv
-- Looking for setenv - found
-- Looking for unsetenv
-- Looking for unsetenv - found
-- Looking for setpgid
-- Looking for setpgid - found
-- Looking for setsid
-- Looking for setsid - found
-- Looking for sigaction
-- Looking for sigaction - found
-- Looking for strcasecmp
-- Looking for strcasecmp - found
-- Looking for strncasecmp
-- Looking for strncasecmp - found
-- Looking for utime
-- Looking for utime - found
-- Looking for utimes
-- Looking for utimes - found
-- Looking for FD_CLOEXEC
-- Looking for FD_CLOEXEC - found
-- Looking for CODESET
-- Looking for CODESET - found
-- Looking for include file endian.h
-- Looking for include file endian.h - found
-- Looking for include file sys/endian.h
-- Looking for include file sys/endian.h - not found
-- Performing Test HAVE_BE64TOH_MACROS
-- Performing Test HAVE_BE64TOH_MACROS - Success
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_CXX_COMPILER
    CMAKE_EXPORT_NO_PACKAGE_REGISTRY

-- Build files have been written to: /build/source/build
building
build flags: -j4 -l4 SHELL=/nix/store/0s6yah4v71z5jqvsp1l8zvssjv1xka1l-bash-4.4-p23/bin/bash
Scanning dependencies of target translations
Scanning dependencies of target shell-test
[  0%] Generating auto/ui_events.generated.h, auto/ui_events_call.generated.h, auto/ui_events_remote.generated.h, auto/ui_events_bridge.generated.h, auto/api/private/ui_events_metadata.generated.h
/nix/store/lqwrqhlgn6yclcsxjaa9jbj9wl4ymsq9-luajit-2.1.0-beta3/bin/lua: bad light userdata pointer
stack traceback:
        [C]: in function 'match'
        /build/source/src/nvim/generators/gen_api_ui_events.lua:15: in main chunk
        [C]: at 0x00405618
make[2]: *** [src/nvim/CMakeFiles/nvim.dir/build.make:1243: src/nvim/auto/ui_events.generated.h] Error 1
make[2]: *** Deleting file 'src/nvim/auto/ui_events.generated.h'
make[1]: *** [CMakeFiles/Makefile2:3662: src/nvim/CMakeFiles/nvim.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[  0%] Building C object test/functional/fixtures/CMakeFiles/shell-test.dir/shell-test.c.o
[  0%] Generating nvim.pot
Scanning dependencies of target tty-test
[  0%] Building C object test/functional/fixtures/CMakeFiles/tty-test.dir/tty-test.c.o
[  0%] Linking C executable ../../../bin/shell-test
[  0%] Built target shell-test
[  0%] Linking C executable ../../../bin/tty-test
[  0%] Built target tty-test
[  0%] Generating ja.euc-jp.mo
[  0%] Generating cs.cp1250.mo
[  0%] Generating sk.cp1250.mo
[  0%] Generating nb.mo
[  0%] Generating af.mo
[  0%] Generating ca.mo
[  0%] Generating cs.mo
[  0%] Generating da.mo
[  0%] Generating de.mo
[  0%] Generating eo.mo
[  0%] Generating en_GB.mo
[  0%] Generating es.mo
[  0%] Generating fi.mo
[  0%] Generating fr.mo
[  0%] Generating ga.mo
[  0%] Generating it.mo
[  0%] Generating ja.mo
[  0%] Generating nl.mo
[  0%] Generating ko.UTF-8.mo
[  0%] Generating no.mo
[  0%] Generating pl.UTF-8.mo
[  0%] Generating pt_BR.mo
[  0%] Generating ru.mo
[  0%] Generating sk.mo
[  0%] Generating uk.mo
[  0%] Generating sv.mo
[  0%] Generating vi.mo
[  0%] Generating zh_CN.UTF-8.mo
[  0%] Generating zh_TW.UTF-8.mo
[  0%] Built target translations
make: *** [Makefile:152: all] Error 2
builder for '/nix/store/xaw73gca3ff3f4l0j92mycpv7s52374c-neovim-unwrapped-0.3.4.drv' failed with exit code 2
cannot build derivation '/nix/store/m55qkv4by07nl7l40a9mrb5s7vpah9jm-neovim-0.3.4.drv': 1 dependencies couldn't be built
error: build of '/nix/store/m55qkv4by07nl7l40a9mrb5s7vpah9jm-neovim-0.3.4.drv' failed

System Info:

system: "aarch64-linux"
host os: Linux 4.19.32, NixOS, 19.03.172312.330b9fac600 (Koi)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.2.2
channels(root): "nixos-19.03.172363.b12b1e2f428"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

@timokau aarch64, you were looking at x86_64-linux :/

See also https://github.com/NixOS/nixpkgs/pull/61588


Lambda Documentation wasn't working as it was

Since the static.config.js file can be JSX, it was blowing up since the extra binHelper which is executed when in local, wasn't being executed in Lambda.

Description

Changes/Tasks

[ ] Changed code

Motivation and Context

Screenshots (if appropriate):

Types of changes

[ ] Refactoring/add tests (refactoring or adding test which isn't a fix or add a feature)
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[ ] I have updated the documentation accordingly
[ ] I have updated the CHANGELOG with a summary of my changes
[ ] My changes have tests around them

Nice addition! That binHelper is freakin' magical haha.


"Layers" Search-Grid

NOTE: This needs the additional plugin to be testable as part of the original ticket. This capability can still be used in plain Opensphere when the "supportsGrid" flag on the DrawControlsCtrl is set to 'true'; or if a future plugin/feature wants to reuse this grid code as well.
Testing steps:

Set "supportsGrid" to true (this is NOT how it's committed), or use provided Surge link
Lower the brightness or opacity of the "Street Map Tiles" layer
Draw a box, circle, and/or polygon
Remember, this is NOT how it's committed; the grid will NOT be shown normally
Verify a grid snapped to 0.25 degree lat/lon coordinates is drawn around the shape (this can be changed to 1-degree or 0.1-degree grid boxes by changing the setting in settings.json)
Verify the grid is not drawn when the search area is large

http://happy-harbor.surge.sh/opensphere/

I like the idea of moving it down to GeoSearch since not all types of searches would benefit from being able to pass the config object back to the UI.  But, since igeosearch is just an add-on interface that doesn't have the nice abstract implementation from which all searches spawn that isearch has, it would be a breaking change to update that interface.  Right now, the grid is opt-in, with no changes required to existing searches -- whether seen or unseen from the OpenSphere repo.  Perhaps I could add a new interface?  Kinda kills the point of the extensible GridConfig object though.
Also, to make it a search-specific thing, I'd have to add some sort of completely-generic-config that all searches pass back.  This completely generic config would contain the same three settings that my GridConfig currently has, but could obviously send back any future configs for any feature.  Maybe that would be a better approach -- remake the gridconfig into a generic searchconfig object, so then it belongs in the top level of the search object hierarchy.  Do we have anything like that already?  Would that be a good workaround to the breaking changes required of messing with igeosearch?
Or am I missing something?  I'll keep thinking about it just in case.
Thanks for the feedback!

Glenn

with no changes required to existing searches

Any change to an interface is a breaking change. There is no guarantee that all implementations of the interface extend the accompanying abstract class.
As for the implementation here, I'd rather see this as a utility function. Any geo search provider using grid-indexed data should already have a feature representing the search area. Then it can look up its own grid config (say we had several search providers with various grids) and pass the feature and the grid config to the utility function to get the resulting grid/area feature.

The grid creation/management is moved now directly to the plugin and the interface+abstract changes are backed out.  Let me know if there's anything else that needs to be moved around!


Accelerate data transfer for map Pandas UDF plan

This PR is to accelerate the data transfer between JVM and Python for the plan GpuMapInPandas, by implementing the columnar way.
Also add the related integration tests.
For issue #305

Will run some benchmark locally before marking ready for review.

build

Will run some benchmark locally before marking ready for review.

Got some positive numbers and tests passed on databricks. Mark as ready for review.

Got some positive numbers

Can you elaborate here what those numbers were? What was the use-case and how much improvement did you see?

Not easy to show the numbers here, so here is the link.
I just ran some benchmark for data transfer locally to verify the columnar way will get better perf,  and this PR is for the issue #305 .

Forced push only for the commit signature issue. Since the latest merge commit has no signature by default. I added it by a forced push.

build

@revans2 Hi, Could you take a look at this PR ? Thanks in advance.

I am going to merge this, if any concern, I will make new PRs.


Update fcs-remover to <IP_ADDRESS>

After making all changes to the cask:

[x] `brew cask audit --download {{cask_file}}` is error-free.
[x] `brew cask style --fix {{cask_file}}` left no offenses.
[x] The commit message includes the cask’s name and version.

Thank you for the contribution. It was merged directly as 9b4a88b17a3a7353efe7d1802feee951f47c3a06. Your contribution is still credited to you.


Remove expired and dead APIs

Not quite sure why my environment has attempted to add the whitespace in order to align things...prettier maybe? The markdown was formatted like that after I opened the file the first time. Only maybe 6 links were removed or modified myself.
Related to #3

Can you please fix sync with master? There are some conflicts.

Synced


glibc: Programs linked against brewed glibc fail to look up username from user id

From @waedt on July 31, 2015 6:19
Basically what the title says.  For example, running whoami from brewed coreutils results in whoami: cannot find name for user ID 100358403.
Copied from original issue: Linuxbrew/legacy-linuxbrew#500

Yes, I can confirm that I've also observed this bug. Do you know whether your system is using LDAP or /etc/passwd, or some author authentication system?

If you're using /etc/passwd, a workaround may be
ln -s /etc/passwd `brew --prefix glibc`/etc/

From @neil1hart on July 16, 2016 19:30
I'm having the same problem after following https://github.com/Linuxbrew/linuxbrew/wiki/Standalone-Installation on red hat.  Our work computer doesn't use /etc/passwd but some other authentication.
whoami
whoami: cannot find name for user ID 11230
/usr/bin/whoami
nhart

Perhaps also try
ln -s /etc/nsswitch.conf `brew --prefix glibc`/etc/

I found that the time zone was also incorrect unless I did
ln -s /etc/localtime `brew --prefix glibc`/etc/

You may need to add the nsswitch.conf file.
See http://www.linuxfromscratch.org/lfs/view/development/chapter06/glibc.html
and look for <IP_ADDRESS>. Adding nsswitch.conf.

From @waedt on July 16, 2016 21:16
The workaround I came up with was to symlink /lib64/libnss_sss.so.2 to $(brew --cellar)/glibc/2.19/lib/libnss_sss.so.2.  That fixed the issue for me on Fedora 22.

On my system where whoami fails as above, I noticed that the host glibc has libnss_ldap.so.2, but the brewed glibc does not have this library.

From @maxim-belkin on July 17, 2016 20:56
Thanks for the note. It might be that we have to make glibc depend on sssd

From @maxim-belkin on July 19, 2016 16:14
Fun fact: we need sssd, which needs samba, which is currently compiled --without-ldap ;)

From @andrewyatz on October 14, 2016 10:37
Also just encountered this same problem on RedHat. @waedt solution worked for me though as @maxim-belkin pointed out we're going to need to compile a lot more to make this work.

There is the formula homebrew/dupes/openldap. Perhaps samba could be compiled against that on Linuxbrew.

Glad to hear the workaround worked for you. Would you be interested in submitting a PR for glibc that enables compiling libnss_ldap.so and libnss_sss.so?

From @andrewyatz on October 14, 2016 16:7
Ha one PR at a time @sjackman hey ;).
I'd like to but I'm not sure how much time I have to do this ATMO. I would probably require some help from @maxim-belkin who sounds like they've started down this path and help direct me to a sssd client. All I could find was the sssd distro (https://fedorahosted.org/sssd/) and that seemed to talk more about running daemons vs. clients.

I can't find anything in the glibc documentation on how to enable libnss_ldap or libnss_sss. I hope it's in there somewhere. May have to grep through the sources.

From @andrewyatz on October 14, 2016 16:16
I think what happens is that if you compile sssd that will generate the
required lib for libnss_sss and deposits that into the /lib64 dir.
Depending on the nss file that tells it what plugins to use when performing
lookups (well that's my guess at least). There's some chatter on the NixOS
GitHub org suggesting this is correct
https://github.com/NixOS/nixpkgs/issues/1868.

Ah, I see. I assumed is was provided by glibc.

libnss_ldap.so.2 on Debian is provided by http://www.padl.com/OSS/nss_ldap.html
libnss_sss.so.2 on Debian is provided by sssd

From @neil1hart on October 24, 2016 23:36
Haven't been back here for a bit.  I followed waedt comment
ln -s /lib64/libnss_sss.so.2 $(brew --cellar)/glibc/2.19/lib/libnss_sss.so.2
resolved my issues with whoami, ls -al, groups

FYI, I believe I had the same issue. htop was unable to convert uids into usernames. For me, adding symlinks to the host's libnss_sss.so.2 and libnss_ldap.so.2 fixed things. Specifically, running the following fixed the issue on 3 separate RHEL systems / versions:
$ ln -s /lib64/libnss_sss.so.2 $(brew --cellar)/glibc/2.19/lib/libnss_sss.so.2
$ ln -s /lib64/libnss_ldap.so.2 $(brew --cellar)/glibc/2.19/lib/libnss_ldap.so.2

Thanks for the workaround, Nick. I'm curious to learn how to build these two files within Linuxbrew.

FYI https://arthurdejong.org/nss-pam-ldapd/ also seems to be a fork of the original libraries that provides a libnss_ldap.so.2 library.

I believe I have this issue with getent (installed with glibc/2.19) and namei (installed with util-linux/2.29).  I'm running this on a system with an AD/LDAP domain serving users and groups.  On my system, I only needed to link in the libnss_ldap.so.2 to make it work. (didn't need libnss_sss.so.2 or /etc/nsswitch.conf.

I just wanted to add to this conversation as I ran into a similar situation after my company switched to using Centrify for authentication (https://www.centrify.com/). The brewed coreutils commands and getent were not resolving names from IDs after the switch. I then came across this thread. Thanks to all of you above who have contributed to this solution. ln -s /lib64/libnss_centrifydc.so.2 $(brew --prefix)/Cellar/glibc/2.23/lib/ solved the issue. Name resolution now works.
From /etc/nsswitch.conf:

passwd: centrifydc files nis
shadow: centrifydc files nis
group: centrifydc files nis

Amendment to my comment above.
I wanted this to persist through upgrades of glibc, so I've added the symlink to /home/linuxbrew/lib64/ and then I appended that path to my LD_LIBRARY_PATH. Everything works just fine. I suppose that I could have just added /lib64/ to my LD_LIBRARY_PATH, but I didn't want to risk the other files in there interfering with any of the Linuxbrew stuff.


Support to runUnsynchronized

If flutter app has the timer, we have to support the runUnsynchronized method, if not we need to wait until timeout and then interact with the element

Found the wait to work around with this issue:

Using this method to start run unsync
driver.execute('flutter:setFrameSync', false , durationMilliseconds)

Execute your comment (click, getText())

Turn of unsync
driver.execute('flutter:setFrameSync', true , durationMilliseconds)


Upgrade dependencies

Upgraded dependencies to get up to date.
Todo's

[x] Fix vuex-i18n :: Key 'report.undefined.message' not found
[x] Fix Uncaught SyntaxError: Unexpected token ... message on headless Cypress due to spread operator (likely from styleguide)

@roschaefer build seems to be fine, just the package service has some downtimes here and then.


2.12.1

Description
This PR cuts a 2.12.1 patch release to Jazzy with a few bug fixes we want to make sure get in before the next sync.
Checklist

[x] Required by CI: Code is auto formatted using clang-format
[x] Extend the tutorials / documentation reference
[x] Document API changes relevant to the user in the MIGRATION.md notes
[x] Create tests, which fail without this PR reference
[x] Include a screenshot if changing a GUI
[x] While waiting for someone to review your request, please help review another open pull request to support the maintainers

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 44.07%. Comparing base (e94c891) to head (1648cb5).
Report is 1 commits behind head on jazzy.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##            jazzy    #3168      +/-   ##
==========================================
+ Coverage   44.07%   44.07%   +0.01%
==========================================
  Files         698      698
  Lines       61535    61540       +5
  Branches     7457     7458       +1
==========================================
+ Hits        27115    27119       +4
- Misses      34252    34253       +1
  Partials      168      168

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Holding off until #3169 ...


Fix publicPath handling

publicPath should be read from REACT_STATIC_PUBLIC_PATH and not from REACT_STATIC_ASSETS_PATH.
Fixes #1411.

(You switched around a 1 and a 4 in your Fixes # comment.)

Fixed "fixes", thanks!

@gbrsales Is there a reason to not also make this update in webpack.config.dev.js?

@jellomoose None in particular. It's likely I simply missed it.

Tested this change locally and it seems to work well.

hi everyone! thanks for your PR! there is now a call for maintainers of React Static, please weigh in here: https://github.com/nozzle/react-static/issues/1259

@gbrsales would you be able to rebase / merge in master? (I'll squash merge when this is ready, no need to clean the history).
Please take into account the commentary by @nddery!

Fixed via #1272


Add sensu_config type

Pull Request Checklist

Description

Adds sensu_config type and provider to manage config settings for sensuctl.
Related Issue

Relates to #901
Motivation and Context

Should be able to modify sensuctl config values.
How Has This Been Tested?

Unit tests and beaker tests on centos-7 nodeset.

I used #935 branch as starting place because this PR adds new acceptance tests and wasn't sure how to reconcile the if: portion in describe to be compatible with pending #935 PR.

I can rebase this PR if #935 is merged first.


Broken link in Article..

Link labeled "How to set Azure Active Directory device-based conditional access policy for access control to Azure Active Directory connected applications" is broken.... Leads to a 404.. )

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: efd1a047-ff5f-48bd-1a9a-87024d3cbe70
Version Independent ID: 23ae844e-35df-0d4f-50d5-021a5ba9bdf9
Content: Enable conditional access support in the OneDrive sync client for Windows
Content Source: OneDrive/enable-conditional-access.md
Service: one-drive
GitHub Login: @kaarins
Microsoft Alias: kaarins

@bodowney Thanks for reporting this! I fixed the links!


[question] sdl-gpu cross-compilation ?

Hello,
First thanks a lot for your work, and for sharing your code, much appreciated.
FYI, I'm currently using SDL2 + ImGui + several other API (see https://framagit.org/ericb/miniDart ) and I'm stuck with the SDL2 renderer, who can't be mixed easely with ImGui (and OpenGL usually). Looks like sdl-gpu is a better solution, but my main need is to provide a Windows version (compiled on Linux).
So, my question is very simple : Is it possible to cross compile SDL_GPU ? I mean : build a Windows version using Linux (x86_64) for example ?
Thansk a lot in advance for your answer :-)

Hey, cross-compilation is definitely possible, though I haven't done it Linux -> Windows myself.  You can use a Linux to Windows cross-compile CMake toolchain file to tell CMake what to do.

Ok, thanks for your fast answer. If I can find the time, I'll give it a try. And if it works, I'll post the Cmake toolchain  (possibly very close to the one I'm using to build OpenCV, ffmpeg and other miniDart resources).
Please be patient :-)

Hello,
FYI, I did it. Please have a look at :
https://github.com/ebachard/sdl-gpu/commit/4d3f431d5b3fddde0bc7eb2647b9203aef4e85ff
https://github.com/ebachard/sdl-gpu/commit/3d7a4fd0870564cc872f4c5862f301eee8a60c6a
Results:

got a clean libSDL2_gpu.a at the end
the demos are built
If you copy data + its content in build/demos, all the demo seem to work using wine64 :-)

Of course, in the case you are interested, just tell me, and I'll create PR (MIT license is ok for you ?).
If not, just close the issue.
Thanks again for you great code !
P.S. : include ffmpeg demos seems to be a great idea !


Mock DNS server for automated unit tests

The DNS unit tests frequently fail because they are relying on external DNS servers. We should work to make them more reliable and ideally decouple their reliance on external DNS servers.

@trustin @normanmaurer - FYI

Already working on it :)

Am 27.09.2015 um 07:42 schrieb Scott Mitchell<EMAIL_ADDRESS>@trustin @normanmaurer - FYI
—
Reply to this email directly or view it on GitHub.

Thanks @normanmaurer !

Thank you guys!


Mono: ImmediateGeometry not drawing correctly

Godot version:
Godot 3.1 beta 2
OS/device including version:
Windows 10,Intel Integrated HD4000, Ryzen 3 Vega 8
Issue description:
I was porting motion trail from asset library to C#, but the drawn geometry is all cluttered around node's origin.
Steps to reproduce:
Open attached project, there are two trails: one using GDScript and the other C#, the GDScript draws a trail while the C# draws a small flickering shape.
Minimal reproduction project:
motion-trails-1.0.zip

This is not a bug. There is an error in your code.
You have this line in GDScript and the equivalent in C#:
var t = float(i + 1) / points.size()

float t = (i + 1) / points.Count;

The C# code is wrong. It's making an integer division. It should be:
float t = (float)(i + 1) / points.Count;
// or
float t = (i + 1f) / points.Count;


Adds ChoiceStyle propery to PromptOptions so the developer can overr…

Problem
As a developer, I would like to be able to change the PromptChoice style when calling PromptAsync so I can alter the style based on the channel where my bot is running.
Ref issue #1433
Currently, OnPromptAsync uses the Style property to set the ChoicePrompt style, in many implementations, Prompts and Dialogs are created as singletons and I can't alter this property without impacting other sessions using the same instance of the dialog.
Fix
Added a nullable ChoiceStyle property to PromptOptions so the developer can invoke PromptAsync and alter the ListStyle if needed. The code will look as follows:
await dc.PromptAsync(
    "ChoicePrompt",
    new PromptOptions
    {
        Prompt = new Activity { Type = ActivityTypes.Message, Text = "favorite color?" },
        Choices = _colorChoices,
        ChoiceStyle = ListStyle.SuggestedAction,
    },
    cancellationToken);

Additional notes
This PR also fixes to StyleCop issues in the ChoicePromptTests.
Other solutions considered

Creating a different ChoicePrompt with the desired Style property for each channel in my dialog constructor and then picking the right one during PromptAsync but didn't look that elegant.
Creating my own choice prompt derived from Prompt but couldn't inject a new value for Style in the OnPromptAsync override that is invoked by StepContect.PromptAsync (I also need to duplicate a bunch of code in ChoicePrompt that I don't want to lose).
Creating my own ChoicePrompt that takes a Func<ITurnContext, ListStyle> in the constructor and overrides OnPrompAsync to evaluate the delegate and set the style there but can't access the private DefaultChoiceOptions dictionary defined in the base and I will end up losing functionality (and will also duplicate a bunch of code in the base OnPromptAsync.

Pull Request Test Coverage Report for Build 52919

0 of 0   changed or added relevant lines in 0 files are covered.
4 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.008%) to 75.994%

Files with Coverage Reduction
New Missed Lines
%

/libraries/Microsoft.Bot.Builder.Dialogs/Prompts/ChoicePrompt.cs
4
75.76%

Totals

Change from base Build 52909:
0.008%

Covered Lines:
4340

Relevant Lines:
5711

💛  - Coveralls

Pull Request Test Coverage Report for Build 52918

0 of 0   changed or added relevant lines in 0 files are covered.
4 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.008%) to 75.994%

Files with Coverage Reduction
New Missed Lines
%

/libraries/Microsoft.Bot.Builder.Dialogs/Prompts/ChoicePrompt.cs
4
75.76%

Totals

Change from base Build 52909:
0.008%

Covered Lines:
4340

Relevant Lines:
5711

💛  - Coveralls

No issues found in Microsoft.Bot.Builder.dll
No issues found in Microsoft.Bot.Builder.AI.Luis.dll
No issues found in Microsoft.Bot.Builder.AI.QnA.dll
No issues found in Microsoft.Bot.Builder.ApplicationInsights.dll
No issues found in Microsoft.Bot.Builder.Azure.dll
No issues found in Microsoft.Bot.Builder.Dialogs.dll
No issues found in Microsoft.Bot.Builder.TemplateManager.dll
No issues found in Microsoft.Bot.Configuration.dll
Compat issues with assembly Microsoft.Bot.Connector:
MembersMustExist : Member 'System.String Microsoft.Bot.Connector.Authentication.AuthenticationConstants.ToChannelFromBotLoginUrl' does not exist in the implementation but it does exist in the contract.

No issues found in Microsoft.Bot.Schema.dll

I think there is a bug in the Prompt. The signature to AppendChoice includes a cancellationToken - this is non sense as the method is not async. I would have thought we should remove that - although that might break the binary compat tests.

No issues found in Microsoft.Bot.Builder.dll
No issues found in Microsoft.Bot.Builder.AI.Luis.dll
No issues found in Microsoft.Bot.Builder.AI.QnA.dll
No issues found in Microsoft.Bot.Builder.ApplicationInsights.dll
No issues found in Microsoft.Bot.Builder.Azure.dll
No issues found in Microsoft.Bot.Builder.Dialogs.dll
No issues found in Microsoft.Bot.Builder.TemplateManager.dll
No issues found in Microsoft.Bot.Configuration.dll
Compat issues with assembly Microsoft.Bot.Connector:
MembersMustExist : Member 'System.String Microsoft.Bot.Connector.Authentication.AuthenticationConstants.ToChannelFromBotLoginUrl' does not exist in the implementation but it does exist in the contract.

No issues found in Microsoft.Bot.Schema.dll

@johnataylor I looked at Prompt.AppendChoice  and you are right, cancellationToken is not needed there but it will break binary compat if we remove it, @cleemullins, do you think we should change that? Or leave it as is?


How to recognize unknown people?Let me ask the question in this way, if I send the picture of any unknown people it again recognize as ramiz raja ,but I am expecting it to be unknown.

I am also having this problem. Why is this so? I want it to be UNKNOWN. Please help. Thanks :)

a new IF condition after predict function will solve the problem. If the confidence level is below certain level then print "unknown".

The script hasn't been curated properly. I have spent a lot of time testing it.

machine learning is based on minimizing the error so even in eigenfaces difference between the test and darabase image is used so you can set it as if the difference exceeds a certain level print unknown in text box


build: Update SPIRV-Tools and glslang to latest

SPIRV-Headers has not changed this week.

CI Vulkan-ExtensionLayer build queued with queue ID 162161.

CI Vulkan-ExtensionLayer build # 899 running.

CI Vulkan-ExtensionLayer build # 899 passed.


report: Hex-Rays Decompiler (part of Related Work) [6h]

Depends on issue #80.

Prerequisite for issue #35.

Merged into the Decompilers section. Closing this issue in favour of the issue of the Decompilers section.


[158] Issue #158 - April 23, 2020

To contribute to this issue, simply leave a comment here. Please also review our contributing guidelines.
The current draft for this issue in _drafts/. If you want to contribute directly, feel free to open a pull request.

Another Combine primer—this time, about materialization. 🙌🏽
https://twitter.com/jasdev/status/1248322907987685378

Introducing Resilient Decoding

The basic gist is that it allows you to mark properties in your Decodable types as @Resilient which allows them to gracefully recover from errors. You can then inspect those errors at the property or report on all errors encountered during decoding.

https://forums.swift.org/t/introducing-resilient-decoding/35212

My SwiftPM wishlist (aka proposal proposals)
https://forums.swift.org/t/my-swiftpm-wishlist-aka-proposal-proposals/35292

Conform to protocols by fulfilling stricter requirements

Protocols are great to express a set of required dependencies without specifying the underlying implementation. However composition becomes difficult when some requirements are themselves expressed in term of protocols.

https://forums.swift.org/t/conform-to-protocols-by-fulfilling-stricter-requirements/35272/3

Fun 😂 https://twitter.com/jckarter/status/1249098635813376003

Declaration-Like Argument Blocks
https://forums.swift.org/t/declaration-like-argument-blocks/35336

Solving the mutating slice CoW problem
Summary: https://bugs.swift.org/browse/SR-12524 describes a problem we've had since the earliest days of Swift. For years there has been talk of solving it with language features, and in fact we got one of the necessary features in coroutine accessors. I think I can now demonstrate it's the only feature we needed, and I'll propose we incorporate this capability into the standard library.
https://forums.swift.org/t/solving-the-mutating-slice-cow-problem/35297

Sketching out more efficient variadics

TLDR:

Variadics and array literals both default to allocating Arrays, which usually means a heap allocation.
The compiler can already stack-promote Arrays if it can prove that there are no outstanding references to the Array instance.
But it's hard to do that through a non-inlinable function call.
We can sidestep that problem today by using UnsafeBufferPointer.
When move-only types come along, we're close to being able to make a safe BorrowedBuffer type. (Which we'll very likely want anyway, for other purposes.)
If we then come up with a syntax to allow types other than Array to be used for variadic parameters, we get safe stack-allocated variadics out of it. (I don't much care what the syntax is at the moment.)

https://forums.swift.org/t/sketching-out-more-efficient-variadics/35346

https://twitter.com/ServerSideSwift/status/1250007938355408898

https://twitter.com/jckarter/status/1250091859210317825 😁

SE-0282: Low-Level Atomic Operations
The review of SE-0282: Low-Level Atomic Operations begins now and runs through April 24, 2020.
https://forums.swift.org/t/se-0282-low-level-atomic-operations/35382

Include argument labels in identifiers

Ever since SE-0111, argument labels have not been part of function types. While this makes sense, it leads to a dearth of labels that can be difficult to work with.
This prompts a question: where do argument labels live? They aren’t in the type, and they obviously aren’t in the body. That leaves one place: the name.

https://forums.swift.org/t/include-argument-labels-in-identifiers/35367

[Accepted with Modifications] SE-0281: @main: Type-Based Program Entry Points
https://forums.swift.org/t/accepted-with-modifications-se-0281-main-type-based-program-entry-points/35400

Swift on Server WorkGroup April 1st, 2020 meeting notes
https://forums.swift.org/t/april-1st-2020/35408

I don't remember if this was shared before
https://gankra.github.io/blah/swift-abi/
https://twitter.com/dgregor79/status/1250608397482786816

https://developer.apple.com/documentation/xcode_release_notes/xcode_11_4_1_release_notes

Swift
Resolved Issues
Fixed a crash that could occur in Swift code that imported an Objective-C class defined with the objc_runtime_name attribute. (60888835)
Swift Packages
Resolved Issues
Fixed an issue where an error like “Swift package product A is linked as a static library by B and C. This will result in duplication of library code.” was incorrectly emitted if an app and an embedded app extension or helper tool statically linked the same package product. If you previously set the DISABLE_DIAMOND_PROBLEM_DIAGNOSTIC build setting to work around this issue, you can delete this setting now. (59310009, 61227255)

SE-0279: Multiple Trailing Closures [Amended]

The second review of SE-0279 — Multiple Trailing Closures begins now and runs through April 24, 2020.

https://forums.swift.org/t/se-0279-multiple-trailing-closures-amended/35435

Hiding / Ignoring Directories from Xcode when Opening Swift Packages
https://forums.swift.org/t/hiding-ignoring-directories-from-xcode-when-opening-swift-packages/35431

Swift on Server WorkGroup March 18th, 2020 meeting notes
https://forums.swift.org/t/march-18th-2020/35430

Renaming Trailing-closure Functions in the Standard Library
https://forums.swift.org/t/renaming-trailing-closure-functions-in-the-standard-library/35454

Pitch: Test if a type conforms to a non-existential protocol

encountered a problem when trying to optimize a generic algorithm and was a bit stuck when I had to adapt an implementation detail to whether my generic type conformed to more restrictive protocol or not. In python, a simple if isinstance(self, class) would solve the issue, but I didn't find any equivalent in swift.
The problem
Playing around with generic algorithms (in this case quickselect), I had to gather the last accessible index of a Collection. It is easy and cheap if the collection conforms to BidirectionalCollection by using
let lastIndex = index(before: endIndex)

https://forums.swift.org/t/pitch-test-if-a-type-conforms-to-a-non-existential-protocol/35479

https://twitter.com/mattt/status/1251198889559982082

Allow key paths to reference unapplied instance methods
https://forums.swift.org/t/allow-key-paths-to-reference-unapplied-instance-methods/35582

I don't remember if this was shared before
https://gankra.github.io/blah/swift-abi/
https://twitter.com/dgregor79/status/1250608397482786816

We did, in issue 148 😄

Add modify…(…) methods to Dictionary / MutableCollection / Optional

Full proposal text | Preliminary implementation
This proposal adds the following APIs to the Swift standard library:

Optional:

modifyIfNotNil(_:)

Dictionary:

modifyValue(forKey:_:)
modifyValue(forKey:default:_:)

MutableCollection:
*modifyElement(at:_:)

https://forums.swift.org/t/add-modify-methods-to-dictionary-mutablecollection-optional/35607


Add more methods to span

In addition to colors, the termcolor crate supports some other styles. Our spans should, too!

[ ] bold
[ ] underline
[ ] intense

can i help?

@Hourann absolutely!
Let me try and explain how the span component works right now. The currently implemented methods live here:
https://github.com/killercup/output-rs/blob/c60002f0190f16a044eae48250a60562b8ace495/src/components/span.rs#L68-L76
As you can see, they set some fields on the struct to update the internal style. These fields are defined here:
https://github.com/killercup/output-rs/blob/c60002f0190f16a044eae48250a60562b8ace495/src/components/span.rs#L58-L59
When you render a span, the render_for_humans method gets called. To actually apply the style, it builds a ColorSpec and tells the internal writer to use it:
https://github.com/killercup/output-rs/blob/c60002f0190f16a044eae48250a60562b8ace495/src/components/span.rs#L79-L82
To add the additonal styling features, you'll need to 1) add the new methods that 2) change new fields and 3) are used in the ColorSpec builder.
To test this, I recommend copying this test:
https://github.com/killercup/output-rs/blob/c60002f0190f16a044eae48250a60562b8ace495/src/components/span.rs#L121-L122

I am considering two kinds of apis, taking bold as an example.
The first one is explicitly takes an bool argument:
span().bold(true)

The second one just think you want to set it to bold when method called
span().bold()

I think the latter is better, because in no case user will call span().bold(false)  because it's default behavior.
What's your opinion?

Good question! There are two cases to consider.

because in no case user will call span().bold(false) because it's default behavior.

Hypothetical question: What if you have a function that generates a "common" span style and in one case you want to overwrite the span you got from it to not be bold?

The span! macro!

Right now, it assumes methods take a parameter:
https://github.com/killercup/output-rs/blob/c60002f0190f16a044eae48250a60562b8ace495/src/components/span.rs#L12-L13
So, if you were to write it like .bold(), you'd need to change the macro to support that case, too.
Thus, I suggest you go with span().bold(true).

I have another, maybe weird proposal. I'm not saying you should do this, but I wanted to mention it:
enum FontWeight { Regular, Bold }

trait TryIntoFontWeight {
    fn try_into_font_weight(from: Self) -> Result<FontWeight, Error>;
}

// interesting
impl<'a> TryIntoFontWeight for &'a str {
    fn try_into_font_weight(from: &'a str) -> FontWeight {
        match from {
            "regular" => Ok(FontWeight::Regular),
            "bold" => Ok(FontWeight::Bold),
            _ => Err(Error::SomeErrorVariant),
        }
    }
}

// trivial
impl TryIntoFontWeight for FontWeight {
    fn try_into_font_weight(from: FontWeight) -> FontWeight { Ok(from) }
}

// and now use it
impl Span {
    pub fn weight<W: TryIntoFontWeight>(mut self, weight: W) -> Self {
        self.weight = Some(weight.try_into_font_weight()?);
        Ok(self)
    }
}


Pictures on iclound show abnormal size after downloading

Before modification
let videosOptions = PHVideoRequestOptions()
videosOptions.isNetworkAccessAllowed = true
After modification
let videosOptions = PHVideoRequestOptions()
videosOptions.isNetworkAccessAllowed = true
videosOptions.version = .original

There is 2022 year outside🎉 Old outdated issues are closing. Please search if there are already existing issues with the same problem before opening new ☮


feat: Initial implemantation acessibility

Related Issue
Accessible Rich Internet Applications (ARIA)
Proposed Changes

Adjustment div for button context actions
Adjustment focus with style select buttons
Update tests unit dropdown and blockAction

codeclimate have a lot issues but is not my change, i think if add source folder tests in excludes path codeclimate it's good work


Export RegExp

Hi,
I would like to export a JavaScript RegExp (for example /.*/) to GO.
Then I want to use to put it to another VM.
Here's what I tried:
vm := goja.New()
result, err := vm.RunString(`/.*/`)
if err != nil {
    panic(err)
}
fmt.Println(result.Export())

This example prints: map[].
I'd expect something else for example the string .*.
Could you give me a hint if that's possible?

You can get the pattern and the flags and use them to create a new RegExp in the target runtime:
	vm := New()
	vm1 := New()
	result, err := vm.RunString(`/a/gi`)
	if err != nil {
		panic(err)
	}
	if o, ok := result.(*Object); ok {
		if src := o.Get("source"); src != nil {
			result1, err := vm1.New(vm1.Get("RegExp"), src, o.Get("flags"))
			if err != nil {
				t.Fatal(err)
			}
			if result1.String() != "/a/gi" {
				t.Fatal(result1)
			}
		}
	}

Exporting regexps using Export() is problematic because ECMAScript and Go regexps are not fully compatible so there is no 'native' type to export to.

Thank you for the super quick reply! I could reproduce you suggestion.
Is it also possible to add this somehow as a custom exporter.
So my problem now is, that the regex is in a nested object structure:
{
  "id": "123",
  "regex": /.*/
}

I' export the whole structure via .Export() into a structure of interfaces and maps. Would it be possible to hook into that export to add a custom export for RegExp?

Presently no. You need to either do some kind of preprocessing on the JS side, or export into a struct with the appropriate field being a string, or implement your own version of Export().
It probably makes sense to export RegExp into some kind of custom object, similar to Proxy or Promise, but I don't consider it a high priority.

Thanks a lot for your quick and helpful replies.
I'm closing this, since the question was answered.


[Ubuntu] Add PHP extensions: imagick, pcov and sodium

Description
Improvement
This PR adds imagick, pcov and sodium PHP extensions on Ubuntu.
imagick on all supported PHP versions, sodium on PHP 7.0 and 7.1 and pcov on PHP 7.1 and newer.
Note: PCOV is disabled, as Xdebug is enabled by default. These two extensions should not be enabled at the same time.
Ref: https://github.com/krakjoe/pcov#interoperability
Related issue: #3341
Check list

[X] Related issue / work item is attached
[ ] Tests are written (if applicable)
[ ] Documentation is updated (if applicable)
[ ] Changes are tested and related VM images are successfully generated

@shivammathur could you please pull the latest main to your branch? We've fixed Ubuntu 16 image generation

@miketimofeev Done