Fix Polarization in Metadata and Restrict Processing to VV

Describe the bug
Currently, the metadata is fixed incorrectly as HH.
The topsApp workflow can handle different polarizations using the XML file: https://github.com/isce-framework/isce2/discussions/495
However, the default (at least with VV+VH) is co-pol VV data: https://github.com/isce-framework/isce2/discussions/496
For the IW SLC data used, there are a number of different polarizations as indicated here.
We tend to restrict to DV (or dual VV polarization with VV+VH). We should restrict to this.
To Reproduce
https://github.com/ACCESS-Cloud-Based-InSAR/DockerizedTopsApp/blob/dev/isce2_topsapp/delivery_prep.py#L143
Expected behavior
Throw an error if not DV.
Additional context
Can make this plugin more flexible later, but rather not have unintended side-effects for operations/submissions.

Sometimes there are SLCs that are submitted that do not have VV files as in S1B_IW_SLC__1SDH_20161021T042948_20161021T043018_002600_004644_D5CC which are DH - so we should throw an error.

Should have enumerator logic for that as well as it impact times-series etc. Should be relative straightforward fix using asfsearch polarization as additional filter for S1. https://docs.asf.alaska.edu/api/keywords/

Yes - agreed - it should be considered how we submit the jobs, possibly in the API, and even in the plugin and well documented.

It should be straightforward to have HyP3 reject HH/HH+HV scenes when you try to submit them by updating the pattern for acceptable input granules at https://github.com/ASFHyP3/hyp3/blob/develop/job_spec/INSAR_ISCE.yml#L14

Let's coordinate this in the new year - nothing urgent here IMO.


Automate ZNE challenge

Summary
Automates the ZNE challenge notebook. Running the script will execute mirror MBL circuits of different widths and depths and save plots and results and metadata.
Details and comments

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
290

Relevant Lines:
290

💛  - Coveralls


[vcpkg-ci-llvm] Reduce llvm artifact to cacheable size

What does your PR fix?
Cf. https://github.com/microsoft/vcpkg/issues/21905#issuecomment-1013422776:
The llvm:x64-windows binary artifact couldn't be uploaded to binary caching. So it was rebuilt (2 h!) whenever needed, even for PRs which were unrelated to llvm but triggered vcpkg-ci-opencv:x64-windows.
This is an attempt to mitigate the issue (until resolved in vcpkg tool) by removing some llvm features from windows CI.

Which triplets are supported/not supported? Have you updated the CI baseline?
unchanged, no

Does your PR follow the maintainer guide?
yes

If you have added/updated a port: Have you run ./vcpkg x-add-version --all and committed the result?
not needed

Triplet
773516ec: baseline
40f3cbc: less targets

x86-windows
58 min :green_circle:
53 min :green_circle:

x64-windows
1.8 h :red_square:
1.4 h :red_square:

x64-windows-static
1.5 h :red_square:
1.4 h :red_square:

x64-windows-static-md
1.5 h :red_square:
1.4 h :red_square:

x64-osx
2.8 h :green_circle:
2.6 h :green_circle:

x64-linux
2.1 h :red_square:
2.0 h :red_square:

llvm always takes a lot of time and space.

llvm always takes a lot of time and space.

This is not the point. The point is that there is an issue with uploading the artifact from CI to cache, and thus saving the build time the next time CI needs that artifact.

cc @BillyONeal, what do you think about this?

The change now seems to effect for windows triplets.
Note that this is needed mostly for x64-windows due to the chain
vcpkg-ci-opencv:x64-windows -> opencv[halide] -> halide -> llvm[clang,enable-rtti,tool].
llvm doesn't have many triggers, but vcpkg-ci-opencv has.
So if desired, we can scope this to x64-windows.

I feel like the underlying problem with the cache needs to be solved. If vcpkg detects that a blob will be to big it should just split it up.

I feel like the underlying problem with the cache needs to be solved. If vcpkg detects that a blob will be to big it should just split it up.

Sure. But it was discussed and did move forward.

I feel like the underlying problem with the cache needs to be solved. If vcpkg detects that a blob will be to big it should just split it up.

many nuget servers also suffer a 2GB hard limit, and llvm already goes beyond that in many cases. Your suggestion cannot solve that issue, also because you have to consider when you have to fetch the tool: you don't know a priori if it's split and in how many parts

The change now seems to have the desired effect for windows triplets.
Note that this is needed mostly for x64-windows due to the chain
vcpkg-ci-opencv:x64-windows -> opencv[halide] -> halide -> llvm[clang,enable-rtti,tool].
llvm doesn't have many triggers, but vcpkg-ci-opencv has.
So if desired, we can scope this to x64-windows.

great job for now. It looks like only linux is still failing. Is it so big the final artifact? or do you have any idea why is it so?

you don't know a priori if it's split and in how many parts

just look for <hash>-<part> first before looking just for <hash>. The amount of parts could be either determined by the size of <part> (e.g. always  splitting to like 2 GB and if it is lower you are finished) or just by checking if a next part exist.

you don't know a priori if it's split and in how many parts

Well there is at least one natural line (but not 50/50): Split the debug part (huge) from the release part. In a perfect world, the release part would be valid also for release-only configs.

It looks like only linux is still failing. Is it so big the final artifact?

In the past users had issues with caching of gdal[tools]:x64-linux. Well, statically linked every tiny tool had all the debug symbols in the debug variant... We solved it by no longer build the tools for debug.

or do you have any idea why is it failing?

It is failing for wanting to send too much data:
Error: curl failed to put file to https://vcpkgbinarycache.blob.core.windows.net/cache/12dec1eaa642a1018bd8b451066369a509eca9771b1367199b0d930a296e8953.zip?*** SECRET *** with exit code '0' and http code '413'
Code 413 is Payload too large.
And similiar to the gdal:x64-linux example, llvm always builds with static linkage.

Stop discuss the splitting here. This PR is meant as a temporary mitigation.

I'm not sure about this part, hoping other member review this PR.

Adding this to the Thursday meeting; I'm a soft approve.

Adding this to the Thursday meeting; I'm a soft approve.

:pray:
It affects every second PR I make: libwebp, zziplib, ... It really matters.

Thanks @dg0yt! We are good with this PR :)


Update README Mocking links

As of this morning, we have published official mocking guidance to docs: https://learn.microsoft.com/dotnet/azure/sdk/unit-testing-mocking. Link to that comprehensive doc instead of the Azure Core Markdown file.

API change check
API changes are not detected in this pull request.

/check-enforcer override


Simplicits V0

V0 of Simplicits: Mesh-Free Geometry Agnostic Elastic Simulation ([https://research.nvidia.com/labs/toronto-ai/simplicits/]).

LGTM, great PR! :D


Quickpick item tooltip shows codicon spec in raw form

Type: Bug
I have an extension that uses the triangle-down codicon to decorate one of its items. This displays correctly in the list, but the hover text shows it as $(triangle-down)

VS Code version: Code - Insiders 1.87.0-insider (8fa84589eef3538dbc763ff98dc7d5a8a0c56374, 2024-02-09T05:47:15.236Z)
OS version: Windows_NT x64 10.0.22621
Modes:

Not sure, but to make one is very easy:
                vscode.window.showQuickPick([{
			label: 'arrow',
			detail: '$(arrow-down) down',
			description: '$(arrow-up) up',
		}]);


[Bug]: eufy cams no longer visible on HomeKit.

What happened?
Homebridge now shows error logs as follows.
[6/12/2023, 2:19:32 PM] [EufySecurit y-2.1.7] INFO: You're using guest a dmin account with this plugin! This is recommanded way!
[6/12/2023, 2:19:32 PM] [EufySecurit y-2.1.7] INFO:
Updating accessory:
Ulverley
[6/12/2023, 2:19:32 PM] [EufySecurit y-2.1.7] WARN:
This accessory is no
t compatible with HomeBridge Eufy Se curity plugin: Gate Ulverley Type: 2
3
[6/12/2023, 2:19:32 PM] [EufySecurit y-2.1.7] WARN: This accessory is no t compatible with HomeBridge Eufy Se curity plugin: Driveway Ulverley Typ e: 23
Previously these cams used to show up on HomeKit.
Homebridge is fully up to date. V1.6.1
Node js 18.16.0
let me know if anything else needed.
Homebase is s380 running v <IP_ADDRESS>
Cameras are s300 running v<IP_ADDRESS> sub system v<IP_ADDRESS>
Device Type
Floodlight (Supported)
Plugin Version
v2.0.x (Supported)
HomeBridge Version
other (UnSupported)
NodeJS Version
other (UnSupported)
Operating System
Raspbian 10+ (Supported)
Relevant log output
[6/12/2023, 2:19:32 PM] [EufySecurit y-2.1.7] INFO: You're using guest a dmin account with this plugin! This is recommanded way!
[6/12/2023, 2:19:32 PM] [EufySecurit y-2.1.7] INFO:
Updating accessory:
Ulverley
[6/12/2023, 2:19:32 PM] [EufySecurit y-2.1.7] WARN:
This accessory is no
t compatible with HomeBridge Eufy Se curity plugin: Gate Ulverley Type: 2
3
[6/12/2023, 2:19:32 PM] [EufySecurit y-2.1.7] WARN: This accessory is no t compatible with HomeBridge Eufy Se curity plugin: Driveway Ulverley Typ e: 23

config
{
            "username"<EMAIL_ADDRESS>            "password": "xxxxx",
            "country": "GB",
            "deviceName": "",
            "platform": "EufySecurity",
            "_bridge": {
                "username": "0E:42:28:E0:41:A8",
                "port": 43640
            },
            "ignoreStations": [],
            "ignoreDevices": [],
            "cleanCache": true,
            "stations": [
                {
                    "serialNumber": "T8030P23222901A9",
                    "manualTriggerModes": [
                        0,
                        1,
                        2,
                        3
                    ]
                }
            ],
            "cameras": [
                {
                    "serialNumber": "T8161P1022340682",
                    "rtsp": false,
                    "talkback": false
                },
                {
                    "serialNumber": "T8161P1022340C36",
                    "rtsp": false,
                    "talkback": false
                }
            ]
        },

PROBLEM RESOLVED - SYMPTOMS CAUSED BY DNS ERROR ELSEWHERE ON NETWORK.  NO ERROR, NO BUG!

No it’s not resolved the app says devices not supported
Please see attached

It's all very odd.  The doorbells went back to being visible in HomeKit (my complaint in the OP was that they had vanished), but no, they don't work as they used to, and not all functionality seems to be available..
It looks as if this might be due to the recent software updates to Apple Home, which have broken other stuff too.  For example, all my Athom switches (which as I understand it use Tasmota) simultaneously went into "Device Not Responding" mode after I installed the updates  This Eufy failure seems to have occurred at about the time the updates appeared, and the date of my OP corresponds with the first reportsin the Athom forums of Athom switches going non-responsive .
I guess the moral of the story is that if you want to use HomeKit one should use HomeKit certified kit.  :-(

Hi Colin,
This is not looking like a HomeKit issue. It's Homebridge plugin not accepting the cameras anymore before it gets to homekit.
Please stop posting this is working now etc. on my report or diagnosing HomeKit updates etc it’s potentially confusing to whomever is creating or working on updates/bugs. Thanks

And yes in the plugin the camera is on and it works in the eufy app on my phone

Same issue. Any progress?

I disabled the child bridge and the camera came back with what appears to be full functionality. I will re-add the child bridge another day to see if that repaired it.

Any updates on this?

Unfortunately nothing useful. Getting this working has been hampered by the fact that my eufy system did an update and now Homebase 3 is not recording or able to give me motion alerts even in the eufy app !
I intend trying above and removing the child bridge.
Sent from Outlook for iOShttps://aka.ms/o0ukef

From: pgogins1 @.>
Sent: Sunday, August 13, 2023 3:51:41 PM
To: homebridge-eufy-security/plugin @.>
Cc: dd3uk @.>; Author @.>
Subject: Re: [homebridge-eufy-security/plugin] [Bug]: eufy cams no longer visible on HomeKit. (Issue #330)
Any updates on this?
—
Reply to this email directly, view it on GitHubhttps://github.com/homebridge-eufy-security/plugin/issues/330#issuecomment-1676383140, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHSM4TV3FTR2Z2DD7MZMC3TXVDSX3ANCNFSM6AAAAAAZDM2X7A.
You are receiving this because you authored the thread.Message ID: @.***>

try to update to the latest version 2.2.5


"For" tag optimization

Fixes #93, #144, #191, #210

@jmealo Since you're active: mind looking into this?

@evgenius I don't think that I have time right now, but this definitely needs to get addressed.

@jmealo I might be not clear. It's a PR, not an issue to resolve.
But if you realize it's a PR and just don't have time to review it, no problem :)

Hi @justjohn ,
Could you please review this PR?
I'm too excited about using prototypes here so I may be missing something.

This looks solid. Using the prototype to extend the context seems like exactly the right approach, since it should work down multiple levels correctly. It may be worth defining a Twig.Context model more globally in the project, so this can be reused elsewhere.

@justjohn Thanks for reviewing it.
Defining Context makes sense only in that function scope. Otherwise we won't be able to change its prototype.
The idea is that you define a new Context function in the loop, set old context as its prototype (i.e. context parent) and instantiate a new context variable. If we go deeper (to a nested loop), a new function Context is declared and now the context above become a prototype of this new function.
So we can't define a global Context function.

This is more then should happen in this PR, but what I had in mind when I suggested a global Twig.Context object was mostly just encapsulating exactly what you wrote in a more reusable place. Something roughly like this:
// Context object definition
Twig.Context = function(context) {
    // copy everything from context to this
    if (context) for (key in context) {
        if (context.hasOwnProperty(key)) {
            // prevent obscuring methods on base prototype
            if (!this[key]) this[key] = context[key]
        }
    }
}
Twig.Context.prototype = {
    _createChild: function() {
        function Context() {}
        Context.prototype = this;
        return new Context();
    }
}

Then to create the base context for the template you use:
var context = new Twig.Context(user_provided_context);

And anytime you need to generate a child context in a tag, you can do:
parse: function (token, context, continue_chain) {
    ...
    loop = function(key, value) {
        var inner_context = context._createChild();
    ...
}

Since Twig.Context lives at the top of the prototype chain for all contexts, _createChild is always available. This is a more reusable way of generating child contexts, since it may be necessary in more then just the for tag.

@justjohn I'm lost for words... Looks great :)
Let's merge this one and then implement your idea. Do you want to do it yourself or want me to create a commit? I'm not going to put my name as an author of that commit as it looks too awesome :)

I'll implement it and commit it this evening, since I've already written most of it :smiley:

@justjohn :
Isn't it more compact:
Twig.Context = function (context) {
    function Context() {}
    Context.prototype = context;
    return new Context();
}

var context = Twig.Context(user_provided_context);
var inner_context = Twig.Context(context);

Am I missing something?

And we wouldn't need to have a service method _createChild() in the context object.

It is more compact, but it loses the benefits of being an object you can add service methods to. I see that as a benefit since it means they follow the context around. For example, if you're extending twig with your own custom for loop, you don't need access to the twig internals to create a child context.

I've added a Twig.Context object in ad55f6b59ab585d0f698bb06ea2fa83f156c75ed, It's pretty close to what's described here. I've also added a _merge function for folding changes from a child context back in, so all the logic now lives in one place.

@justjohn Great job, thanks.
Do you think it's time to release 0.8.0?

Yes, I think it is. Unless you have anything else you specifically want to get in, I'll push 0.8.0 up this evening.

Would be great, thanks!

Thank you guys so much for working on this!  It was much needed.  Can't wait for the release.


fix  if_mdt_get_bg

Changed if statement to check preferences.json instead of openaps.ini for used cgm device.

there was an error in my code. Opened a new PR.


Set new default WP_POST_REVISIONS for production environment

By default WordPress saves every post revision. Over time this causes the database to grow necessary large. Even when using a few custom fields per post the wp_postmeta table can easily get to + 100.000 rows in a year. This causes slow performance when joining the postmeta table.
I always limit the number of revisions by setting WP_POST_REVISIONS to a reasonable number in production environments. I think it's a good idea to add this variable to production.php config so people don't forget about it. I don't think the default to save every revision is so good and it's better to remove this variable if you want the behaviour than to think about adding it to every project (and clean up the database if you forget:).
Also, atleast in my experience, the WordPress function to "revert" back to older versions is not used much anyway. At least not beyond a couple revisions.
https://codex.wordpress.org/Revisions

Thank you for the PR! I have two stages of feedback:

We should avoid or seek to limit prod-only environment changes. Changes like this should be dropped in config/application.php. I don't want to give anyone any surprises in prod. I don't really expect the average bedrock user to follow the development closely enough to be able to pick on up subtle changes like "bedrock now only saves 10 post revisions in prod only".
I have doubts about the claim of negative performance impact of letting the postmeta table grow unchecked.

More on 2:
I understand that tables growing like crazy sounds like a bad thing inherently. However, in some pedestrian worst-case scenario queries I just ran against a wp_postmeta with 380k rows I don't really see a huge problem. Can you please post some queries where you are running into perf trouble?
select count(meta_id) from wp_postmeta;

+----------------+
| count(meta_id) |
+----------------+
|         380913 |
+----------------+

Here's a really dumb query that nobody would ever run: join the post title on every single meta field.
select meta_key, meta_value, post_title from wp_postmeta inner join wp_posts on wp_posts.id = wp_postmeta.post_id;

380281 rows in set (0.74 sec)

Nearly a second of runtime is bad but not that bad for what we just asked for. That query is useless and unrealistic.
Something slightly more useful perhaps for analytics or maintenance purposes: grab all the attached images and attach post modified dates to them and also attach the post title to them
select meta_key, meta_value, post_title, post_modified from wp_postmeta inner join wp_posts on wp_posts.id = wp_postmeta.post_id where meta_key = '_wp_attached_file';

...
| _wp_attached_file | laptop-mockup.png                                                                                | laptop-mockup                                                                                | 2018-06-22 13:39:34 |
| _wp_attached_file | Featured-33.jpg                                                                                | Featured Chris Cooper CarrotCast                                                                                | 2018-06-24 11:01:46 |
| _wp_attached_file | Facebook-32.jpg                                                                                | Facebook Chris Cooper CarrotCast                                                                                | 2018-06-24 11:02:43 |
| _wp_attached_file | Screen-Shot-2018-06-24-at-11.24.45.png                                                                                | google built adwords campaign                                                                                | 2018-06-24 11:56:04 |
| _wp_attached_file | Screen-Shot-2018-06-24-at-12.26.37.png                                                                                | Facebook Leads                                                                                | 2018-06-24 12:28:09 |
| _wp_attached_file | Screen-Shot-2018-06-24-at-13.18.33.png                                                                                | AdWords keyword spend                                                                                | 2018-06-24 13:19:40 |
+-------------------+--------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+---------------------+
3946 rows in set (0.04 sec)

Much more useful and much quicker.
https://codex.wordpress.org/Database_Description#Table:_wp_postmeta wp_postmeta has indexes on meta_key and post_id so this is expected to be fast. Let's try selecting .png images since meta_value is not indexed?
select meta_key, meta_value, post_title, post_modified from wp_postmeta inner join wp_posts on wp_posts.id = wp_postmeta.post_id where meta_value like '%.png';

| _wp_attached_file            | 30-day-money-back.png                                                                                | 30-day-money-back                                                                                | 2018-06-22 12:35:24 |
| _wp_attached_file            | dashboard-imac-mockup.png                                                                                | dashboard-imac-mockup                                                                                | 2018-06-22 13:28:45 |
| _wp_attached_file            | laptop-mockup.png                                                                                | laptop-mockup                                                                                | 2018-06-22 13:39:34 |
| _wp_attached_file            | Screen-Shot-2018-06-24-at-11.24.45.png                                                                                | google built adwords campaign                                                                                | 2018-06-24 11:56:04 |
| _wp_attached_file            | Screen-Shot-2018-06-24-at-12.26.37.png                                                                                | Facebook Leads                                                                                | 2018-06-24 12:28:09 |
| _wp_attached_file            | Screen-Shot-2018-06-24-at-13.18.33.png                                                                                | AdWords keyword spend                                                                                | 2018-06-24 13:19:40 |
+------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+---------------------+
2848 rows in set (0.69 sec)

Oof 0.69 seconds is kinda slow. But still this is sort of an unrealistic user-facing query since a user hitting your homepage is not scan the entire wp_post table unless you are exposing some kind of weird dashboard. Let's simulate an archive page by limiting our query to 50 posts or so.
select meta_key, meta_value, post_title, post_modified from wp_postmeta inner join wp_posts on wp_posts.id = wp_postmeta.post_id where meta_value like '%.png' and wp_posts.id >= 26588 and wp_posts.id <= 26638;

+-------------------+----------------------------------------+-------------------------------+---------------------+
| meta_key          | meta_value                             | post_title                    | post_modified       |
+-------------------+----------------------------------------+-------------------------------+---------------------+
| _wp_attached_file | 30-day-money-back.png                  | 30-day-money-back             | 2018-06-22 12:35:24 |
| _wp_attached_file | dashboard-imac-mockup.png              | dashboard-imac-mockup         | 2018-06-22 13:28:45 |
| _wp_attached_file | laptop-mockup.png                      | laptop-mockup                 | 2018-06-22 13:39:34 |
| _wp_attached_file | Screen-Shot-2018-06-24-at-11.24.45.png | google built adwords campaign | 2018-06-24 11:56:04 |
| _wp_attached_file | Screen-Shot-2018-06-24-at-12.26.37.png | Facebook Leads                | 2018-06-24 12:28:09 |
| _wp_attached_file | Screen-Shot-2018-06-24-at-13.18.33.png | AdWords keyword spend         | 2018-06-24 13:19:40 |
+-------------------+----------------------------------------+-------------------------------+---------------------+
6 rows in set (0.00 sec)

Alright that's more like it. This is where we see those indexes come into play. So no perf problem in a realistic scenario where you are fetching and joining info on 50 or so posts.
I guess let's try the other way around? Grab every single post with the featured image id joined to it?
select wp_posts.id, post_title, meta_value as featured_image from wp_posts left join (select post_id, meta_value from wp_postmeta where meta_key = '_thumbnail_id') as wp_postmeta on wp_posts.id = wp_postmeta.post_id;

14987 rows in set (0.48 sec)

Slow, but then again this is a shitty query because no end-user will query every single post. Let's try it emulating an archive page with like 50 posts on it.
select wp_posts.id, post_title, meta_value as featured_image from wp_posts left join (select post_id, meta_value from wp_postmeta where meta_key = '_thumbnail_id') as wp_postmeta on wp_posts.id = wp_postmeta.post_id where wp_posts.id >= 26588 and wp_posts.id <= 26638;

50 rows in set (0.01 sec)

Yep works for me.
So TLDR: I don't see the perf problem of letting postmeta grow like crazy. Please post the scenario you were encountering.

I totally understand your concern with setting only production variables and changing the expected behaviour. And I understand it can cause more questions from the community than problems it solves. I will close this PR.
Actually I did a bit more digging since I posted this PR and found the root cause of my issue. The performance issue had more to do with how WordPress builds queries with wp_postmeta when having more than one join.
I was fetching calendar events where the start date. If calendar events would span more than one day they could have an end date.
The code looked like this:
      $query->set('meta_key', 'acf__calendar--start-date');
      $query->set('orderby', 'meta_value_num');
      $query->set('order', 'ASC');
      $query->set('meta_query', array(
        'relation' => 'OR',
        array(
          'key' => 'acf__calendar--date-end',
          'value' => date('Ymd'),
          'compare' => '>=',
          'type' => 'NUMERIC',
        ),
        array(
          'relation' => 'AND',
          array(
            'relation' => 'OR',
            array(
              'key' => 'acf__calendar--date-end',
              'compare' => 'NOT EXISTS',
            ),
            array(
              'key' => 'acf__calendar--date-end',
              'compare' => '=',
              'value' => '',
            ),
          ),
          array(
            'key' => 'acf__calendar--start-date',
            'value' => date('Ymd'),
            'compare' => '>=',
            'type' => 'NUMERIC',
          ),
        ),
      ));

It would produce SQL that looked like this and took ~24sec to run:
SELECT SQL_CALC_FOUND_ROWS wp_4_posts.ID
FROM wp_4_posts
LEFT JOIN wp_4_postmeta ON ( wp_4_posts.ID = wp_4_postmeta.post_id )
LEFT JOIN wp_4_postmeta AS mt1 ON ( wp_4_posts.ID = mt1.post_id )
LEFT JOIN wp_4_postmeta AS mt2 ON (wp_4_posts.ID = mt2.post_id AND mt2.meta_key = 'acf__calendar--date-end' )
LEFT JOIN wp_4_postmeta AS mt3 ON ( wp_4_posts.ID = mt3.post_id )
LEFT JOIN wp_4_postmeta AS mt4 ON ( wp_4_posts.ID = mt4.post_id )
WHERE 1=1
AND (
  wp_4_postmeta.meta_key = 'acf__calendar--start-date'
  AND (
    ( mt1.meta_key = 'acf__calendar--date-end' AND CAST(mt1.meta_value AS SIGNED) >= '20180709' )
    OR (
      ( mt2.post_id IS NULL  OR ( mt3.meta_key = 'acf__calendar--date-end' AND mt3.meta_value = '' ) )
      AND ( mt4.meta_key = 'acf__calendar--start-date' AND CAST(mt4.meta_value AS SIGNED) >= '20180709' )
    )
  )
)
AND wp_4_posts.post_type = 'cpt_calendar'
AND ((wp_4_posts.post_status = 'publish'))
GROUP BY wp_4_posts.ID
ORDER BY wp_4_postmeta.meta_value+0
ASC LIMIT 0, 3;

I noticed that the website had a large number of post revisions with post_meta because I had forgotten to limit the number of post revisions.
I thought that cleaning it up would resolve the issue and I thought it would be a good default to limit the revisions so others don't run into this issue.
However cleaning the database only got the query time to ~5sec...
So I also rewrote the code to look like this:
      $query->set('meta_key', 'acf__calendar--start-date');
      $query->set('orderby', 'meta_value_num');
      $query->set('order', 'ASC');
      $query->set('meta_query', array(
        'relation' => 'OR',
        array(
          'key' => 'acf__calendar--date-end',
          'value' => date('Ymd'),
          'compare' => '>=',
          'type' => 'NUMERIC',
        ),
        array(
          'key' => 'acf__calendar--start-date',
          'value' => date('Ymd'),
          'compare' => '>=',
          'type' => 'NUMERIC',
        ),
      ));

And SQL looks like this now:
SELECT SQL_CALC_FOUND_ROWS wp_4_posts.ID
FROM wp_4_posts
INNER JOIN wp_4_postmeta
ON ( wp_4_posts.ID = wp_4_postmeta.post_id )
INNER JOIN wp_4_postmeta AS mt1
ON ( wp_4_posts.ID = mt1.post_id )
WHERE 1=1
AND ( wp_4_postmeta.meta_key = 'acf__calendar--start-date'
AND ( ( mt1.meta_key = 'acf__calendar--date-end'
AND CAST(mt1.meta_value AS SIGNED) >= '20180709' )
OR ( mt1.meta_key = 'acf__calendar--start-date'
AND CAST(mt1.meta_value AS SIGNED) >= '20180709' ) ) )
AND wp_4_posts.post_type = 'cpt_calendar'
AND ((wp_4_posts.post_status = 'publish'))
GROUP BY wp_4_posts.ID
ORDER BY wp_4_postmeta.meta_value+0 ASC
LIMIT 0, 3

Which runs in 0,0052s. So yeah... more of a WP issue I guess 😄
Thanks for your detailed feedback! 👍

@slackday - nice! Thanks for providing some detailed stuff here too :)
We're always looking for some more blog posts, and I do think that limiting post revisions is a handy thing to know. Would you be interested in fleshing all of this out a bit more and writing a post about limiting post revisions? It can be quick, but real-life examples of performance impact are always welcome. Let me know what you think!

Cool. I've never written a blog post so that's a nice offer for something to try. I'm interested. I just have to do some more research and find the right angle on this issue.
I'm on vacation right now hence the late response. I'll get back to you on Slack or Discourse when I'm back at work.


Add a &benchmark option to the time command

While working on issue #1570 I wrote a simple script that used time to test the speed of various sorting options. It would be extremely helpful if the time command had a &benchmark option that would run the function n times (perhaps defaulting to three or five but allowing the user to specify the number of runs) and outputting the best time.

It is probably better to dynamically size the default number of benchmark runs based on the time to run each benchmark; rather than hardcode the default to a value like five. That's because short run times are more likely to be significantly affected by transient factors outside the control of the benchmark. Long benchmark run times are more likely to have transient external factors amortized and thus result in less perturbation from the optimal run time. TBD is how formal this scaling of runs should be versus a "seat of the pants" approach that yields good enough results. One solution is to calculate the variance of run times and perform more runs if the variance is above some threshold while ensuring a minimum number of runs (e.g., totaling ten seconds) when each individual run is an extremely short duration.

This issue is interesting. It's semi-relevant since it applies to a C++ benchmark framework but the issues it explores are relevant to benchmarks of any other language. I've read many similar threads regarding optimizing the optimal number of benchmark runs. As far as I can tell there is no consensus on the optimal number of times to execute a benchmark. So I'm inclined to implement a &benchmark option that works for my situation and leave optimizations for future changes.


[20.03] mariadb: backport updates

Motivation for this change
Backport updates to 20.03
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

cc @flokli

@GrahamcOfBorg build mariadb.client
@GrahamcOfBorg build mariadb.server
@GrahamcOfBorg test mysql

@Izorkin the PR was targeted against another branch, and now needs a rebase. I'm doing that now.

Did that now, also had to manually add the

(cherry picked from commit …)

line usually created from the git cherry-pick -x parameter.
Pleas remember to always to backport cherrypicks with this parameter.

Pleas remember to always to backport cherrypicks with this parameter.

Sorry, i will try not to forget.


opening index.html via file: does not work on chrome/safari

the communication between simulated peers do work on firefox using localhost or file:.
for chrome/safari, this only works for localhost currently.
check, if we can improve that, otherwise document the issue.

reason seems to be different same-origin-policies used on firefox and chrome/safari:

firefox treats windows using the same file: url as the same origin
chrome/safari treat windows using the same file: url as different origins

only windows with the same origin can access the other window objects as we're doing currently. postMessage seems not be able to fix that, however, localStorage works.


change backend and formalize the dir_names

I rearranged the files and worked on the backends. I was developing the codes to make use of AmplifyDataStore and AmplifyAPI.

I rearranged the files and add some localization configurations, and the functionalities of the code do not change (except for some backend configurations, I tried to connect the announcement data to the backend, and probably will finish it these two days).


Build Failure with Apktool 2.9.3 on Linux due to Syntax Error in Temporary File

Information

Apktool Version (apktool -version) - 2.9.3
Operating System (Mac, Linux, Windows) - Linux (Kali)
APK From? (Playstore, ROM, Other) - Playstore (Phone Directory & Caller ID)
Java Version (java --version) - openjdk 17.0.10 2024-01-16 OpenJDK Runtime Environment (build 17.0.10+7-Debian-1) OpenJDK 64-Bit Server VM (build 17.0.10+7-Debian-1, mixed mode, sharing)

Stacktrace/Logcat
brut.androlib.exceptions.AndrolibException: brut.common.BrutException: could not exec (exit code = 2): [/tmp/brut_util_Jar_110116639072366788558884897057900241197.tmp, compile, --dir, /home/kali/Development/Apps/com.test/base/res, --legacy, -o, /home/kali/Development/Apps/com.test/base/build/resources.zip]
W: /tmp/brut_util_Jar_110116639072366788558884897057900241197.tmp: 4: Syntax error: Unterminated quoted string

Steps to Reproduce

Run apktool d base.apk to decompile an APK.
Make no changes to the decompiled files.
Attempt to rebuild the APK with apktool b base.
Observe the syntax error and build failure.

Frameworks
N/A - This issue occurred with a standard APK not specific to any OEM.
APK
The APK in question is available on the Playstore: Phone Directory & Caller ID.
Questions to ask before submission

Have you tried apktool d, apktool b without changing anything? - Yes, the error occurs even without making any changes to the decompiled APK.
If you are trying to install a modified apk, did you resign it? - Not applicable, as the issue occurs during the build process before signing.
Are you using the latest apktool version? - Yes, using Apktool 2.9.3.

May you pull the aapt(s) prebuilts from here and execute them in isolation to test? https://github.com/iBotPeaches/Apktool/tree/master/brut.apktool/apktool-lib/src/main/resources/prebuilt
My guess is one of 2 things is happening

Our copy of those binaries out of Apktool into /tmp for execution is not allowed for x reason
The architecture in play is invalid

They are static binaries so they should not depend on any shared objects.

Hey, was any solution found because I just ran into the exact same issue?

Hey, was any solution found because I just ran into the exact same issue?

Are you positive its the same issue? If so, may you follow my unanswered question above?

Odd @MohamedAl-Kainai - I run apktool on my M1 - did the arch change between M2? I guess I'm a bit lost on the intended arch. If you are running Kali on a Apple M2, but inside a VM that supports Apple Silicon I guess I don't know what it should be. We have code to read Java vars to determine which arch/os to use.
Like maybe this mac binaries are the intended one? https://github.com/iBotPeaches/Apktool/tree/master/brut.apktool/apktool-lib/src/main/resources/prebuilt/macosx

A fix that worked for me is downgrading to 2.8.1 (not sure if this step is needed) and afterwards running the following command:
sudo apt install binfmt-support qemu-user-static
as found in https://github.com/iBotPeaches/Apktool/issues/2407.

Thanks - good to know. So we either don't support the arch intended with aapt or improperly detecting the right arch to use.

A fix that worked for me is downgrading to 2.8.1 (not sure if this step is needed) and afterwards running the following command: sudo apt install binfmt-support qemu-user-static as found in #2407.

Thanks for sharing your solution! I tried running the command sudo apt install binfmt-support qemu-user-static without downgrading to 2.8.1, and it worked perfectly for me as well.

A fix that worked for me is downgrading to 2.8.1 (not sure if this step is needed) and afterwards running the following command: sudo apt install binfmt-support qemu-user-static as found in #2407.

This solution worked for me too, thanks!

May some of you with this issue give me an output of: java -XshowSettings:properties -version ?
I'm curious of a few of those to see if our OS Detection is invalid and feeding wrong arch binaries to you forcing the usage of qemu emulation.


Upgrade dpw to v23.0.5

Issue
There's a new dpw version (which we need to update to before Nov 21 to avoid failing tests)
Solution
Upgrade to dpw v23.0.5

I think the poetry lock needs to be updated as well. Better to trigger the update via the renovate dashbord issue.

Renovate PR with lock update: https://github.com/canonical/postgresql-k8s-operator/pull/776

Closing in favor of renovate PR


influxdb 2.6.1 - v1 API - unable to filter tags with WHERE after restart

Steps to reproduce:
List the minimal actions needed to reproduce the behavior.

Deployed a brand new instance of influxdb from bitnami charts
Created my data bucket
Created  v1  read and write accounts with respective read and write permission to the bucket
Fed my data (about 600 measurements) to influxdb using a python script (using the write account)
Queried the data using Grafana (using the read account)
At this point all was working fine, I considered the project complete
A new helm chart version was installed resulting in the pod restarting, after the restart, I was not able to query as below

Expected behavior:
The query:
SELECT mean("consumption") FROM "electricity" WHERE ("account_name" = 'Account') AND $timeFilter GROUP BY time(30m) fill(linear)
Actual behavior:
Before restart, this works fine - I get results.
After restart, getting no results.
The data can be browsed through the web UI before and after restart.
Removing the account_name condition and adding GROUP BY account_name indeed shows me the results along with the respective account_name which I can no longer filter via the WHERE clause.
I can get it to work again by wiping the bucket contents with influx delete --bucket octograph --start 2023-01-01T00:00:00Z --stop 2024-01-01T00:00:00Z and re-feeding the data.
This leads me to believe some kind of cache or index is lost.
Environment info:

System info: Run uname -srm and copy the output here
InfluxDB version: Run influxd version and copy the output here
Other relevant environment details: Container runtime, disk info, etc
Data path is /bitnami/influxdb in the bitnami build.
Ls of the directory shows:
configs  data  influxd.bolt  influxd.sqlite  lost+found  replicationq  wal

Config:
Default values, I made no significant customizations so the configuration is whatever the chart creates with the below values:
  values:
    influxdb:
      service:
        type: LoadBalancer
      updateStrategy:
        type: Recreate
    metrics:
      enabled: true
      serviceMonitor:
        enabled: true
    auth:
      existingSecret: influxdb

 /opt/bitnami/influxdb/etc/influxdb.conf is empty

Logs:
No errors in logs, query just returns no results.

We don't maintain the bitnami charts, so I don't have much familiarity with them. A couple of questions:

Is this easily reproducible?
If so, can you reproduce it outside of K8s using one of our supported releases?
^ Should help determine if it is an issue with how the bitnami charts are built.

We don't maintain the bitnami charts, so I don't have much familiarity with them. A couple of questions:

Is this easily reproducible?
All I have to do to reproduce it is to restart the influxd process in the container
If so, can you reproduce it outside of K8s using one of our supported releases?
^ Should help determine if it is an issue with how the bitnami charts are built.
My plan is to try that next/or an older version of influxdb

One other thing would be to see if an equivalent Flux query works:
SELECT mean("consumption") FROM "electricity" WHERE ("account_name" = 'Account') AND $timeFilter GROUP BY time(30m) fill(linear)

should turn into something along the lines of:
from(bucket: "electricity")
  |> range(start: <timeFilter.start>, stop: <timeFilter.stop>)
  |> filter(fn: (r) => r["account_name"] == "Account")
  |> aggregateWindow(every: 30m, fn: mean, createEmpty: false)
  |> yield(name: "consumption")

@jeffreyssmith2nd
Thanks, I had to adjust the query a bit - however, it does yield results.
The only thing is those results are further 'grouped by' additional tags that my influxql query would ignore

I guess I have two paths: switch to Flux or dig deeper to figure out what's happening with InfluxQL queries.

I think your InfluxQL query is fine, my Flux was just meant to be a loose guideline based on what I could tell of your schema.
So the flux query worked across reboots as well?

Interestingly, my script injected another day of consumption data into the bucket and I can query (with InfluxQL)  the new data (past day), but not the old data that was already there.
There must be some index or something not being loaded properly when influxdb is restarted.

A quick scan doesn't show anything that immediately jumps out to me, if I have some spare cycles I can take a deeper look.
You may also want to try running just their image itself. That would help isolate the chart vs the image. I would also consider standing up a second instance of the chart if possible to test to see if it is actually reproducible or if there is something odd about the data in the existing cluster.
If you find that it is not reproducible anywhere else, the influxd inspect commands (especially dump-tsi, dump-tsm, report-tsi and report-tsm) may point out if there's a data issue. You can also use build-tsi to rebuild the indexes, but I would only do that if you have solid backups in place first.
From the bitnami README on how to run their image standalone.
docker run \
    --volume /path/to/influxdb-persistence:/bitnami/influxdb \
    --env INFLUXDB_HTTP_AUTH_ENABLED=false \
    bitnami/influxdb:latest

I did not manage to repro it in the Bitnami container so, I stopped the cluster deployment and removed the volume and recreated it, created the bucket, v1 user again and fed the data, queried - it worked, removed the pod and waited for the new one to start, queried, it worked again...
This is a bit bizarre, I guess I should have wiped it earlier and started again
The only thing that wonders me is that I renamed the bucket a few times - but overall it was a brand new instance I created a few days ago. I don't get how this issue didn't get carried over when I copied the database from the pod.
Thanks for your time though, if I reproduce it again I will re-open the issue.

I did not manage to repro it in the Bitnami container so, I stopped the cluster deployment and removed the volume and recreated it, created the bucket, v1 user again and fed the data, queried - it worked, removed the pod and waited for the new one to start, queried, it worked again...
This is a bit bizarre, I guess I should have wiped it earlier and started again
The only thing that wonders me is that I renamed the bucket a few times - but overall it was a brand new instance I created a few days ago. I don't get how this issue didn't get carried over when I copied the database from the pod.
Thanks for your time though, if I reproduce it again I will re-open the issue.


feat: add school uniasselvi

adding school uniasselvi

@Suqqz I have to close this request without merging, because you requested to add a non-existent domain to this repository: Host aluno.uniasselvi.ce.gov.br not found: 3(NXDOMAIN) Please ensure that you are familiar with this repository rules located at the bottom of this page and submit a new request with the correct information. Thank you for your understanding!


Newsletters: add 264 (2023-08-16)

[ ] Lede, releases/RCs, and topic entries @harding

Made edits for @bitschmidty feedback (thanks!), added lede, releases/RCs, and topic entries.  I mentioned Brandon's article in the lede but left a FIXME for @bitschmidty to remove that mention if it doesn't get added in this week's newsletter.
Thanks everyone!


[zh-cn] added terms to glossary

Added two terms:

authn (authenticate)
authz (authorizer)

Fixes #35584

/approve


Lazy PTDF

This PR adds a Lazy PTDF based on the vectorized OPFData, but does not use it yet.

@klamike now that #114 is merged, can you rebase this branch on main please?

@klamike separate from my latest review: how do we want to handle inactive branches?
Options:

we don't, and leave that for a future PR
we address that in this PR (potentially non-trivial)

Let's leave it for a future PR, this code isn't used in the formulations yet. I'll add an error for when there are zeros in br_status for now.

Thank you @klamike!


[SPARK-29721][SQL] Prune unnecessary nested fields from Generate without Project

What changes were proposed in this pull request?

This patch proposes to prune unnecessary nested fields from Generate which has no Project on top of it.
Why are the changes needed?

In Optimizer, we can prune nested columns from Project(projectList, Generate). However, unnecessary columns could still possibly be read in Generate, if no Project on top of it. We should prune it too.
Does this PR introduce any user-facing change?

No
How was this patch tested?

Unit test.

cc @dongjoon-hyun @dbtsai @cloud-fan

Thanks! @MaxGekk

Test build #115649 has started for PR 26978 at commit 296293c.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/20448/
Test PASSed.

Test build #115649 has finished for PR 26978 at commit 296293c.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/115649/
Test FAILed.

btw, is there any reason not to support the other project-like plans (e.g., aggregate) for nested column pruning?

@maropu I think because nested column pruning is new feature, so some supports are not done yet. We can add more supports later. I thought about it before, but haven't worked on it yet.

ah, ok. thanks for the info.

Test build #115791 has started for PR 26978 at commit 06d2b80.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/20585/
Test PASSed.

Test build #115791 has finished for PR 26978 at commit 06d2b80.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/115791/
Test FAILed.

Shall we hold on this PR a little bit until the bug of https://github.com/apache/spark/pull/24637 is identified and resolved?

@dongjoon-hyun Yes, I do think so too. Let's see if we can have more details from @cloud-fan.

seem like a merge conflict when we sync with upstream, please go ahead and don't get blocked by me.

Oh. Thank you for updating, @cloud-fan !

Thanks @cloud-fan!

Test build #116670 has started for PR 26978 at commit f9abd6d.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/21449/
Test PASSed.

Test build #116670 has finished for PR 26978 at commit f9abd6d.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/116670/
Test PASSed.

Test build #116690 has started for PR 26978 at commit fd7d9bb.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/21469/
Test PASSed.

retest this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/21494/
Test PASSed.

Test build #116719 has started for PR 26978 at commit fd7d9bb.

Test build #116719 has finished for PR 26978 at commit fd7d9bb.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/116719/
Test PASSed.

Also, cc @dbtsai

    withTable("persisted") {
      val jsonStr = """{
         "items": [
           {"itemId": 1, "itemData": "a"},
           {"itemId": 2, "itemData": "b"}
         ]
        }"""
      val df = spark.read.json(Seq(jsonStr).toDS)
      df.write.format("parquet").mode("overwrite").saveAsTable("persisted")

      val read = spark.table("persisted")
      spark.conf.set("spark.sql.optimizer.nestedSchemaPruning.enabled", true)
      read.select(explode_outer($"items.itemId"), $"items.itemData").explain(true)
    }

Try the above example. @dongjoon-hyun @viirya

Thank you, @gatorsmile . I'll be more careful.


Cannot read property 'removeAttribute' of null

[ x] This is not a v0.x issue.
[x ] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior
Textfield select causes a crash when something selected, code is below.

<Field    name="region"                         component={props => <TextField                         select                         value={props.input.value}                         onChange={(event) => props.input.onChange(event.target.value)}                         label={Translator.t('dashboard.dialog.region')}                         className={classes.select}>                         {regionList.map((each, index) => (                             <MenuItem value={each.mRID} key={index}>{each.name}</MenuItem>                         ))}                     </TextField>}/>

Tech
Version

Material-UI
latest

React

Browser

TypeScript

etc.

+1, same issue causing the entire app crashed on my production deployment. So sad. :(

#13349


Failed to create the network with overlay driver type

Description of problem:
I follow the network doc: https://github.com/docker/docker/blob/master/docs/userguide/networking/work-with-networks.md ,  but I cannot create overlay network
ubuntu@docker:~$ docker network create -d overlay --subnet=<IP_ADDRESS>/16 --subnet=<IP_ADDRESS>/16 --gateway=<IP_ADDRESS> --gateway=<IP_ADDRESS> --ip-range=<IP_ADDRESS>/24 --aux-address a=<IP_ADDRESS> --aux-address b=<IP_ADDRESS> --aux-address a=<IP_ADDRESS> --aux-address b=<IP_ADDRESS> my-multihost-network
Error response from daemon: error getting pools config from store during init: store for address space GlobalDefault not found
ubuntu@docker:~$ docker network ls
NETWORK ID          NAME                DRIVER
9c6be6eb17fc        bridge              bridge
6be768fdb1d7        none                null
e50bf9a4e655        host                host
dcec95685b86        simple-network      bridge
docker version :
Client:
 Version:      1.9.0-rc5
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   9318004
 Built:        Tue Nov  3 05:59:27 UTC 2015
 OS/Arch:      linux/amd64

Server:
 Version:      1.9.0-rc5
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   9318004
 Built:        Tue Nov  3 05:59:27 UTC 2015
 OS/Arch:      linux/amd64

docker info :
Containers: 0
Images: 0
Server Version: 1.9.0-rc5
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 0
 Dirperm1 Supported: false
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.13.0-43-generic
Operating System: Ubuntu 14.04.1 LTS
CPUs: 4
Total Memory: 15.67 GiB
Name: docker
ID: UT5D:M5ZY:IEXQ:6LCU:YX6J:ZMWM:BLNJ:MTXH:PRHO:ETVF:3FHH:6LC4
WARNING: No swap limit support

uname -a :
Linux docker 3.13.0-43-generic #72-Ubuntu SMP Mon Dec 8 19:35:06 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

Environment details (AWS, VirtualBox, physical, etc.):OpenStack Cloud instance

Same error here with Docker 1.9 rc3 & rc4 and Azure when using Ubuntu Linux Kernel versions higher than 3.13.  docker-machine create against azure also times out after 60 retries even though the Azure VM is created okay.  Same error after that with "Error response from daemon: error getting pools config from store during init: store for address space GlobalDefault not found" from "docker network create -d overlay networkname"

You need at least kernel 3.16, and you need to specify --cluster-advertise and --cluster-store on the daemon opts.

All three of those requirements have been met when I get the problem.

@jamesmeen if you have all the configurations done correctly, then docker info output such include the cluster store and advertise output.
Example  :
Cluster store: etcd://<IP_ADDRESS>:42000/newroot
Cluster advertise: <IP_ADDRESS>:0

Can you please double check your configurations ?

Those do not appear in docker info.  I'm just using consul as per the document.
Oddly, enough the exact same docker-machine create command succeeds in creating an Azure VM when the kernel is 3.13.  Also, with kernel 3.13, the "docker networking create" command works too and I can see the overlay networks created and discovered across hosts.  It fails to start a container against the network though.
With 3.16 onwards, the same commands work less than with 3.13 kernel.

Actually, I have found my specific problem actually relates to docker-machine not supported Ubuntu 15.04 or newer which has the newer kernels included.  Ubuntu 15.04 switched to systemd so docker starts with no configuration, regardless of parameters passed into docker-machine.
Docker Machine issue #1891
Thank you

did nothing when creating machine, why to report resources were removed ?
ubuntu@ubuntu14:~$ docker-machine create -d virtualbox mh-keystore
Creating VirtualBox VM...
Creating SSH key...
Starting VirtualBox VM...
Starting VM...
Error creating machine: Too many retries.  Last error: Maximum number of retries (60) exceeded
You will want to check the provider to make sure the machine and associated resources were properly     removed.
ubuntu@ubuntu14:~$ docker-machine ls
error getting URL for host mh-keystore: exit status 255
error getting URL for host mh-keystore: exit status 255
error determining if host is active for host mh-keystore: exit status 255
NAME          ACTIVE   DRIVER       STATE     URL   SWARM
mh-keystore            virtualbox   Running

/user/local/bin/docker daemon -D -g /var/lib/docker -H unix:// -H tcp:<IP_ADDRESS>:2376 --label provider=virtualbox --cluster-store=consul://<IP_ADDRESS>:8500 --cluster-advertise=eth1:2376 --tlsverify --tlskey=/var/lib/boot2docker/server-key.pem --tlscert=/var/lib/boot2docker/server.pem --tlscacert=/var/lib/boot2docker/ca.pem -s aufs
$ docker network create -d overlay --subnet=<IP_ADDRESS>/16 --subnet=<IP_ADDRESS>/16 -- gateway=<IP_ADDRESS> --gateway=<IP_ADDRESS> --ip-range=<IP_ADDRESS>/24 --aux-address a=<IP_ADDRESS> --aux-address b=<IP_ADDRESS> --aux-address a=<IP_ADDRESS> --aux-address b=<IP_ADDRESS> my-multihost-network
376f9b5a2a35a530a01cbe411fa32f149ff39d94ec10a16f7fd389e5954cdf35
$ docker network ls
NETWORK ID          NAME                        DRIVER
d3477b5cdac2        mhs-demo0/host              host
13d65aaa86c0        mhs-demo0/docker_gwbridge   bridge
25e6a3f7981a        my-net                      overlay
32806487946a        mhs-demo0/none              null
cf643507b9c1        mhs-demo1/host              host
376f9b5a2a35        my-multihost-network        overlay
fcddfdf864bd        mhs-demo0/bridge            bridge
d6413651b16a        mhs-demo1/none              null
f5ff60ef51f4        mhs-demo1/docker_gwbridge   bridge
b3b6546cb1e9        mhs-demo1/bridge            bridge
$ docker network inspect my-multihost-network
[
    {
        "Name": "my-multihost-network",
        "Id": "376f9b5a2a35a530a01cbe411fa32f149ff39d94ec10a16f7fd389e5954cdf35",
        "Scope": "global",
        "Driver": "overlay",
        "IPAM": {
            "Driver": "default",
            "Config": [
                {
                    "Subnet": "<IP_ADDRESS>/16",
                   "Gateway": "<IP_ADDRESS>",
                   "AuxiliaryAddresses": {
                        "a": "<IP_ADDRESS>",
                        "b": "<IP_ADDRESS>"
                   }
                },
                {
                    "Subnet": "<IP_ADDRESS>/16",
                    "IPRange": "<IP_ADDRESS>/24",
                    "Gateway": "<IP_ADDRESS>"
                }
            ]
        },
        "Containers": {},
        "Options": {}
    }
]

@mavenugo  for my above comment, I create an overlay network with multi subnets, then create a container with specifying the overlay network, the container only obtain the first subnet, why did it get one subnet ? not two ?  :question:

resolved and close it, thanks!

I am not sure what the resolution is here ,? would docker 1.11 multi host networking not be supported  Ubuntu 15.10

I restarted the host , removed the consul container , rebuilt the container  with
"docker run -d -p 8500:8500 -h consul --name consul progrium/consul -server –bootstrap"
and it works now


Add data license to quilt package

Add a plain text description of the CC BY-NC-ND license to the quilt data package at the path LICENSE within the package.
The file can be copied from here: https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode.txt

I added an additional licence description file and stated explicitly that Quilt3 package was released under CC BY-NC-ND license.

I think the name DATA_LICENSE makes more sense for developers who aren't yet familiar with Quilt.

Done


Prompts getting blocked

VS Code Version: 1.86.0
OS Version: Windows 11 Pro 10.0.22631

Steps to Reproduce:

Ask prompt
Prompt gets blocked

CTRL + SHIFT + U and include your copilot chat logs

I am unable to reproduce, will open new issue if I see it again


Read only bytebuffer

Hi,
I appreciate your lib (which I use for serialization/deserialization purposes), but there is a major drawback for my use. When you read from an existing slice &[u8] you deep copy the memory in from_bytes function which is not efficient if you treat big slices. I have implemented a read-only version of your lib to handle deserialization. It would be great to have an implementation of read/write for &mut [u8] and read-only for &[u8] data containers. You would consider a contribution to your project?
Thank you,
Leo

Hi Leo !
I'm glad to know this lib is useful to you.
Contribution is really appreciated, please submit a PR with your implementation to handle read-only slices as you do have the code ready ;)

Implemented the &[u8] part in https://github.com/terahlunah/bytebuffer/commit/7f8b226aefaa2c2140b7dd3ae08086a830fae174.
I can't see a case where a &mut [u8] would be needed so I'll close this issue. But feel free to open a new one if you have a usecase in mind.


Public testing framework for duck array integration

What is your issue?
In #4972 @keewis started writing a public framework for testing the integration of any duck array class in xarray, inspired by the testing framework pandas has for ExtensionArrays. This is a meta-issue for what our version of that framework for wrapping numpy-like duck arrays should look like.
(Feel free to edit / add to this)
What behaviour should we test?
We have a lot of xarray methods to test with any type of duck array. Each of these bullets should correspond to one or more testing base classes which the duck array library author would inherit from. In rough order of increasing complexity:

[ ] Constructors - Including for Variable
[ ] Properties - checking that .shape, .dtype etc. exist on the wrapped array, see #4285 for example
[x] Reductions - #4972 also uses parameters to automatically test many methods, and hypothesis to test each method for many different array instances.
[ ] Unary ops
[ ] Binary ops
[ ] Selection
[ ] Computation
[ ] Combining
[ ] Groupby

We don't need to test that the array class obeys everything else in the Array API Standard. (For instance .device is probably never going to be used by xarray directly.) We instead assume that if the array class doesn't implement something in the API standard but all the generated tests pass, then all is well.
How extensible does our testing framework need to be?
To be able to test any type of wrapped array our testing framework needs to itself be quite flexible.

User-defined checking - For some arrays np.testing.assert_equal is not enough to guarantee correctness, so the user creating tests needs to specify additional checks. #4972 shows how to do this for checking the units of resulting pint arrays.
User-created data? - Some array libraries might need to test array data that is invalid for numpy arrays. I'm thinking specifically of testing wrapping ragged arrays. #4285
Parallel computing frameworks? - Related to the last point is chunked arrays. Here the strategy requires an extra chunks argument when the array is created, and any results need to first call .compute(). Testing parallel-executed arrays might also require pretty complicated SetUps and TearDowns in fixtures too. (see also #6807)

What documentation / examples do we need?
All of this content should really go on a dedicated page in the docs, perhaps grouped alongside other ways of extending xarray.

[ ] Motivation
[ ] What subset of the Array API standard we expect duck array classes to define
[ ] Explanation of the different base classes
[ ] Simple demo of testing a toy numpy-like array class
[ ] Point to code testing more advanced examples we actually use (e.g. sparse, pint)
[ ] Which advanced behaviours are optional (e.g. Constructors and Properties have to work, but Groupby is optional)

Where should duck array compatibility testing eventually live?
Right now the tests for sparse & pint are going into the xarray repo, but presumably we don't want tests for every duck array type living in this repository. I suggest that we want to work towards eventually having no array library-specific tests in this repository at all. (Except numpy I guess.) Thanks @crusaderky for the original suggestion.
Instead all tests involving pint could live in pint-xarray, all involving sparse could live in the sparse repository (or a new sparse-xarray repo), etc. etc. We would set those test jobs to re-run when xarray is released, and then xref any issues revealed here if needs be.

with the implementation in #4972 you should already be able to specify a hypothesis strategy to create e.g. a random awkward array. Same with dask or other parallel computing frameworks: if you can construct a hypothesis strategy for them the testing framework should be able to use that. check_reduce (or maybe it should be just check?) should allow customizing the comparison (or actually, that's the entire test code at the moment), so putting compute (or todense / get) calls should be easy.
For setup and teardown I think we could use pytest fixtures (and apply them automatically to each function). However, maybe we should just not use parametrize but instead define separate functions for each reduce operation? Then it would be possible to override that manually. As far as I remember I chose not to do that because tests that only delegate to super().test_function() just are not great design – if we can think of a way to do that while avoiding those kinds of test redefinitions I'd be happy with that (and then we could get rid of the apply_marks function which is a ugly hack of pytest internals).
I agree that moving the array library tests to dedicated repositories makes a lot sense (for example, the pint tests use old versions of the conversion functions from pint-xarray), but note that at the moment the tests for pint seem to increase the total test coverage of xarray a bit. I guess that just means we'd have to improve the rest of the testsuite?

you should already be able to specify a hypothesis strategy to create e.g. a random awkward array

Sounds good!

or maybe it should be just check?

Yes just check probably.

However, maybe we should just not use parametrize but instead define separate functions for each reduce operation?

But then the user writing the test code would have to write one of their own tests per xarray method wouldn't they? I think we should avoid putting that much work on them if we can. I think your current approach seems fine so far...

the pint tests use old versions of the conversion functions from pint-xarray

That's basically technical debt, so we should make a point to remove them from xarray eventually.

the tests for pint seem to increase the total test coverage of xarray https://github.com/pydata/xarray/pull/5692#issuecomment-1040002844. I guess that just means we'd have to improve the rest of the testsuite?

So long as @benbovy (or someone) writes new tests to cover the bugs that were revealed then this is fine.

Typing duck array is also a little challenging I find, we pretty much only do Any at the moment. I found some nice references and discussions that might be interesting for this:
https://github.com/pmeier/array-protocol
https://github.com/data-apis/array-api/issues/229

Typing duck array is also a little challenging I find

Thanks @Illviljan - I was literally just thinking about that here.

Another thing that might be useful is the hypothesis strategies in the test suite for the array API consortium standard (cc @keewis).

there's also the experimental array api strategies built into hypothesis

@asmeurer recently pointed me to https://data-apis.org/array-api-tests/. Would that be useful here?

Looks like these

https://data-apis.org/array-api-tests/.

use these

experimental array api strategies

Would that be useful here?

I think they are complementary. In theory if xarray supports the array API standard and a library passes all the data array API tests, then it should also pass all of xarray's tests (rendering the latter uneccessary). But in practice I think the tests here would still be useful, if only for the possible case of libraries that don't fully meet the API standard yet would still work fine in xarray.


Reuse Diagrams logic from master branch in gh-pages branch (playground)

To avoid code duplication.

Remember to verify the performance benchmark on jsperf still works after that change
as it reuses some resources from the gh-pages branch.


Fix: backward compatibility with node.js v4 and v5.

Ref: https://github.com/evcohen/eslint-plugin-jsx-a11y/issues/230

Coverage remained the same at 99.547% when pulling 92413ccf482b9b3f11d5b52464d5f6ad86d42118 on evilebottnawi:issue-230 into ca876d2368c085ace81907be8cfe6192c50cc082 on evcohen:master.

/cc @ljharb friendly ping. Can we release patch version asap? :smile:

@evilebottnawi v5.0.1 released! thanks for the fix, really appreciate it


✨ health on http endpoint show

#176  👈
main

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

Join @RTLS and the rest of your teammates on  Graphite


How input image size and anchor sizes should depend on input data?

As far as I understand settings in this repo is setted for Pascal VOC, so how input image size and anchor sizes should be adjusted depending on real image size and range of object bbox sizes?
https://github.com/yhenon/keras-frcnn/blob/69bdd8dbb16f3fe84a48b302afb86c8a3fdba762/keras_frcnn/config.py#L24

Also as I understand there are some limitations on smallest object size due to

very small objects cannot be detected (the ROI pooling operates on a layer that has a stride of 16 pixels)

Seems in literature it's called effective stride .


entity field "label"  and "labels"

As the alternative label was introduced, the entities now has new field labels which contain a list.
If I look in the exported entity json,  some of the entities have both (label, labels) fields,  some just  one -  some surprisingly the multiple one

This is intended behavior or bug?

Sounds as a bit of a mess, explanation needed, @adammertel.

@jancimertel created a database job that can be applied remotely. What deployment is it? We should ve able to fix it relatively quickly.

@adammertel I don't understand the question. Tomáš's DDB2 production script into Neo4j ceased to work properly because of the introduction of alternative labels, that's what. And he seems to discover strange structures - please look into it as per his post.

This was the production inkVisitor.

Thanks @tomaham, I think I understand now.
I checked the particular database but was not able to identify any invalid data (labels list is shorter than 1 or not existent)

Just to clarify what happened:
In the last version, a new feature was implemented - handling alternative labels (#2367). We have implemented this functionality by adding a new labels attribute to the entity model which is a list of strings. The first string is then used as the primary label, all the others (index 1+) are used as alternative / spelling variants. The original label attribute is therefore only a legacy thing that we did not try to remove completely for the cases like this one. But we are probably not keeping this consistent by not adding label attribute alongside labels when a entity is edited / created (would need to check this if you want to know).
Sorry, this change could have been communicated better directly with you. If you could, please use the first labels element as the main label. If this is a problem from various reasons we can make sure to keep the original label in the database but it would be a duplication of information.
If anything feel free to reach to me to discuss more details.

I see. I was surprised by this parallel presence of legacy label in some and non-existing label in the new. I have expected either completely missing label, or legacy label everywhere.

But we are probably not keeping this consistent by not adding label attribute alongside labels when a entity is edited / created (would need to check this if you want to know).
This is the thing that you are most probably not doing - newly added entities did not have the label field if I recall rightly.

Np - I will change the code so I can read just the "labels" and take the name from the first position within the labels.


can't compile

I'm getting this on 100% :
[100%] Linking CXX executable nheqminer
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/librt.a(shm_open.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/lib/x86_64-linux-gnu/librt.a(shm_unlink.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
CMakeFiles/nheqminer.dir/build.make:502: recipe for target 'nheqminer' failed
make[2]: *** [nheqminer] Error 1
CMakeFiles/Makefile2:68: recipe for target 'CMakeFiles/nheqminer.dir/all' failed
make[1]: *** [CMakeFiles/nheqminer.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

I encountered a similar problem on Ubuntu 16.04  and found out that the default boost version installed from libboost-all-dev was lower than the required version 1.62.
Was able to solve the problem after compiling a newer version of boost.
BOOST_ROOT=/usr/local cmake ../nheqminer


[Translatable] Child Relation Form Type

Hello!
I've been looking around for my problem quite a while and maybe you guys have a solution for me ready.
My entities are this:
class Category {   use ORMBehaviors\Translatable\Translatable; }
`
class CategoryTranslation {
use ORMBehaviors\Translatable\Translation;

 /**
 * One CategoryTranslation has One CategorySeo.
 * @ORM\OneToOne(targetEntity="CategorySeo", mappedBy="categoryTranslation")
 */
private $categorySeo;

class CategorySeo {
/**
* One CategorySeo has One CategoryTranslation.
* @ORM\OneToOne(targetEntity="CategoryTranslation", inversedBy="categorySeo")
* @ORM\JoinColumn(name="category_translation_id", referencedColumnName="id")
*/
protected $categoryTranslation;
`
As you can see Category is linked to CategoryRelation (OnetoMany) and CategoryRelation is linked to CategorySeo (OnetoOne).
Now I wanted to build a Admin User Interface with Sonata to edit Category Seo. I can edit all fields from Seo but I am not able to set the relation to CategoryTranslation.
class CategorySeoAdmin extends AbstractAdmin {    ->add('categoryTranslation', 'sonata_type_model', [                     'property' => 'name'                 ])
What I get when accesing the designated page is simple nothing, no error, all other fields are rendered but the field category Translation only includes the label field.
After creating a CategoryTranslationAdmin class and a __toString() function my choices are getting rendered but saving generates following exception: Could not determine access type for property "categoryTranslation".
I know i could link CategorySeo to Category but I'd rather use the given setup.
Does anyone have a hint for me what could be wrong?
thx in advance stefan

I'm going through the old issues/PRs and closing most of them so we can focus on now.
This one is missing any feedback or reasoning so I cannot deduce anything from it.
Thanks for you though, but closing for reasons above.
If the bug still remains, please send failing test case to verify it. Only with test we'll be albe to help.


Claim type url should be http schema

Those url should be http schema instead of https.
Those rule will not work correctly.

On the Configure Rule page, under Claim rule name, type the display name for this rule; in Incoming claim type, type the following claim type URL, and then select Pass through all claim values.
https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-forwarded-client-ip

To verify the rule, select it in the list and click Edit Rule, then click View Rule Language. The claim rule language should appear as follows: c:[Type == >"https://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-forwarded-client-ip"] => issue(claim = c);

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

ID: 0b2bb486-00c8-2238-3f4e-297db3569277
Version Independent ID: 9d517c40-13a9-c9ba-e940-b486310e6eab
Content: Client Access Control policies in Active Directory Federation Services 2.0
Content Source: WindowsServerDocs/identity/ad-fs/operations/Access-Control-Policies-in-AD-FS-2.md
Product: windows-server
Technology: identity-adfs
GitHub Login: @billmath
Microsoft Alias: billmath

Thanks for your dedication to our documentation. If we have been unable to review your issue in a timely manner, we sincerely apologize for the delayed response. We have captured the informtion you have provided for review. We are closing this issue for now, but if you feel that it's still a concern, please respond and let us know. If you determine another possible update to our documentation, please don't hesitate to reach out again. #please-close


Compile time issue

Hi,
I am getting an error on line 40 with missing parameter for completionHandler.
Subsequent errors follow after correction.
Please review with xcode 7.6 beta and Alamofire 1.3.1 on deployment target 8.4
Regards,
Brian Minnaar

Bump. Issue with Swift 2.0 XCode 7 and Alamofire 3

Closing for inactive.
@BiancaMinnaar @noder123 Hey, the Swift 3 and Alamofire 4 version has launched. Feel free to open an new issue.


where np.load(f"scenes/{domain_name}/normal/{eval_run_idx}_{i + rank * 50}.npz")

where np.load(f"scenes/{domain_name}/normal/{eval_run_idx}_{i + rank * 50}.npz")

I also ran into the same error here. @zhuyifengzju Is it possible to provide a download for the scene file?

Thanks for the issues. Somehow I missed any notification about this issue. I'll make a commit to add these files.

Thanks!


Update scala-library to 2.13.11

About this PR
📦 Updates org.scala-lang:scala-library from 2.10.7 to 2.13.11
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

💡 Applied Scalafix Migrations

org.scala-lang:{scala-library,scala-compiler,scala-reflect,scalap}:2.13.0 (created no change)

dependency:Collection213Upgrade@org.scala-lang.modules:scala-collection-migrations:2.8.1
Documentation: https://github.com/scala/scala-collection-compat#collection213upgrade

🔍 Files still referring to the old version number
The following files still refer to the old version number (2.10.7).
You might want to review and update them manually.
build.sbt

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-lang", artifactId = "scala-library" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.scala-lang", artifactId = "scala-library" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, scalafix-migrations, old-version-remains, commit-count:1

Superseded by #57.


Break provider-azure up by service

Description of your changes
Relevant proposal: https://github.com/crossplane/crossplane/pull/3939
Depends on: https://github.com/upbound/upjet/pull/194
Following the changes in: https://github.com/upbound/provider-aws/pull/680
This PR proposes the following changes according to the proposal https://github.com/crossplane/crossplane/pull/3939:

Subpackages belonging to each API group is produced. An example is: provider-azure-network.
ProviderConfig, ProviderConfigUsage and StoreConfig are part of a config package named provider-azure-config.
The monolith package (containing all the CRDs and associated controllers) is still produced.
Each produced package except for the monolith package has the pkg.crossplane.io/provider-family label in its package metadata.
Each service package except for the config package declares a dependency to the config package.

It also introduces the SUBPACKAGES make variable so that it's possible to build the individual subpackages. An example for building is:
make -j 3 SUBPACKAGES="monolith config network" build.all

One can also use the same variable to push those (already built) packages:
make -j 3 SUBPACKAGES="monolith config network" BRANCH_NAME=main publish

I have:

[x] Run make reviewable test to ensure this PR is ready for review.

How has this code been tested
Successfully built and pushed the monolith, config and network subpackages:

turkenh/provider-azure-config:v0.31.0-rc.1.11.g1d0143f4
turkenh/provider-azure-network:v0.31.0-rc.1.11.g1d0143f4
turkenh/provider-azure:v0.31.0-rc.1.11.g1d0143f4

I was able to set up and delete a ResourceGroup and a VirtualNetwork.network that relies on it using the turkenh/provider-azure-network:v0.31.0-rc.1.11.g1d0143f4 package.

/test-examples="examples/network/virtualnetwork.yaml"

Do you have an ETA on when the subpackages will be officially released? :)

@lippertmarkus we are aiming for official release on 13 June.
There are release candidates available for testing: https://docs.google.com/document/d/1tmXi3CRhCKNvdDTApzfNsBIFF88qhpUQth3t5y5oKew/edit
You can report issues/ask questions in community Slack: #sig-service-scoped-providers


Fix for duplicate writing in test mode

Summary
Context is the Proto Migration testing employs Dual-Write testing logic, and with changelogEnabled = true, it attempts to write 2 records to metadata_aspect with the same Primary Key.
In BaseLocalDAO.java: (ref)
/**
   * Same as above {@link #add(Urn, AspectUpdateLambda, AuditStamp, int)} but with tracking context.
   */
  @Nonnull
  public <ASPECT extends RecordTemplate> ASPECT add(@Nonnull URN urn, [AspectUpdateLambda](https://jarvis.corp.linkedin.com/codesearch/result/?name=BaseLocalDAO.java&path=datahub-gma%2Fdao-api%2Fsrc%2Fmain%2Fjava%2Fcom%2Flinkedin%2Fmetadata%2Fdao&reponame=linkedin%2Fdatahub-gma#139)<ASPECT> updateLambda,
      @Nonnull AuditStamp auditStamp, int maxTransactionRetry, @Nullable IngestionTrackingContext trackingContext) {
    final Class<ASPECT> aspectClass = updateLambda.getAspectClass();
    checkValidAspect(aspectClass);
    // dual-write to test table while test mode is enabled.
    if (updateLambda.getIngestionParams().isTestMode()) {
      [runInTransactionWithRetry](https://jarvis.corp.linkedin.com/codesearch/result/?name=BaseLocalDAO.java&path=datahub-gma%2Fdao-api%2Fsrc%2Fmain%2Fjava%2Fcom%2Flinkedin%2Fmetadata%2Fdao&reponame=linkedin%2Fdatahub-gma#1080)(() -> [aspectUpdateHelper](https://jarvis.corp.linkedin.com/codesearch/result/?name=BaseLocalDAO.java&path=datahub-gma%2Fdao-api%2Fsrc%2Fmain%2Fjava%2Fcom%2Flinkedin%2Fmetadata%2Fdao&reponame=linkedin%2Fdatahub-gma#604)(urn, updateLambda, auditStamp, trackingContext),
          maxTransactionRetry);
    }
    final [AddResult](https://jarvis.corp.linkedin.com/codesearch/result/?name=BaseLocalDAO.java&path=datahub-gma%2Fdao-api%2Fsrc%2Fmain%2Fjava%2Fcom%2Flinkedin%2Fmetadata%2Fdao&reponame=linkedin%2Fdatahub-gma#124)<ASPECT> result = [runInTransactionWithRetry](https://jarvis.corp.linkedin.com/codesearch/result/?name=BaseLocalDAO.java&path=datahub-gma%2Fdao-api%2Fsrc%2Fmain%2Fjava%2Fcom%2Flinkedin%2Fmetadata%2Fdao&reponame=linkedin%2Fdatahub-gma#1080)(() -> [aspectUpdateHelper](https://jarvis.corp.linkedin.com/codesearch/result/?name=BaseLocalDAO.java&path=datahub-gma%2Fdao-api%2Fsrc%2Fmain%2Fjava%2Fcom%2Flinkedin%2Fmetadata%2Fdao&reponame=linkedin%2Fdatahub-gma#604)(urn,
        new [AspectUpdateLambda](https://jarvis.corp.linkedin.com/codesearch/result/?name=BaseLocalDAO.java&path=datahub-gma%2Fdao-api%2Fsrc%2Fmain%2Fjava%2Fcom%2Flinkedin%2Fmetadata%2Fdao&reponame=linkedin%2Fdatahub-gma#139)<>(aspectClass, updateLambda.getUpdateLambda(),
            updateLambda.getIngestionParams().setTestMode(false)), auditStamp, trackingContext), maxTransactionRetry);
    return [unwrapAddResult](https://jarvis.corp.linkedin.com/codesearch/result/?name=BaseLocalDAO.java&path=datahub-gma%2Fdao-api%2Fsrc%2Fmain%2Fjava%2Fcom%2Flinkedin%2Fmetadata%2Fdao&reponame=linkedin%2Fdatahub-gma#648)(urn, result, auditStamp, trackingContext);
  }

Note how aspectUpdateHelper() is called TWICE when running testMode = true.
These both call insert() in EbeanLocalDAO.java with the same Aspect and without any sort of locking: (ref)
Solution
It's safe to make the assumption that:

since the second call to aspectUpdateHelper() is always testMode = false (see first snippet)...
the "testMode = true" call to insert() can ALWAYS ignore a write to metadata_aspect, since the "actual" write will insert into the changelog properly

Testing Done
n/a
Checklist

[ ] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable)

Codecov Report
Attention: Patch coverage is 0% with 1 line in your changes missing coverage. Please review.

Project coverage is 67.53%. Comparing base (af0995a) to head (fb8b67a).

Files with missing lines
Patch %
Lines

.../java/com/linkedin/metadata/dao/EbeanLocalDAO.java
0.00%
0 Missing and 1 partial :warning:

Additional details and impacted files
@@             Coverage Diff              @@
##             master     #428      +/-   ##
============================================
- Coverage     67.55%   67.53%   -0.02%
  Complexity     1522     1522
============================================
  Files           137      137
  Lines          5970     5970
  Branches        645      645
============================================
- Hits           4033     4032       -1
  Misses         1665     1665
- Partials        272      273       +1

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


Questions about how is Figure 3 drawn in the paper？

Thank you for making such a great contribution to the normalization！
I have some questions about Figure 3 in the paper. The proposed method  RevIn is to normalize the samples of a batch in the network, Does Figure 3(Effect of RevIN on distribution discrepancy between training and test data) depict the data distribution of the entire training set and test set? Here's how it's done.

Figure 3 illustrates the data distribution over the complete training and test sets. We aggregated all of the samples and visualized their distribution at each stage.


Remove the use of nightly features

Currently hash_extract_if and extract_if is used in cli/status.rs.
This should be removed

Fixed in 8678d17577


Render Texture snapshot pixel y-coordinate is inverted

Version

Phaser Version: 3.53.1

Description
Call a Render Texture's snapshotPixel() and read the pixel color in the callback. The color is incorrect.
Example Test Code
https://codepen.io/samme/pen/gOgYpdB
Click on the red area of the color wheel. The color swatch shows cyan.
Click on the cyan area of the color wheel. The color swatch shows red.

I can confirm this works properly in 3.60 now with a Dynamic Texture or a Render Texture.


anthropic: improve handling of multipart tool responses

fixes #1010
PR Checklist

[x] Read the Contributing documentation.
[x] Read the Code of conduct documentation.
[x] Name your Pull Request title clearly, concisely, and prefixed with the name of the primarily affected package you changed according to Good commit messages (such as memory: add interfaces for X, Y or util: add whizzbang helpers).
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. Fixes #123).
[ ] Describes the source of new concepts.
[ ] References existing implementations as appropriate.
[ ] Contains test coverage for new functions.
[ ] Passes all golangci-lint checks.

Just wanted to note that while this (and related commits by @lonelycode) do solve the problem and give a proper tool response, I notice tool calls are not streamed. This can be extremely helpful when tool arguments are very long.
We can either include a new 'WithToolStreamingFunc' or send tool chunks into the existing streaming function with perhaps some prefix (risk of false-positive), or just update the existing function signature (breaking change, but should be fine as we are still v0.x)


Move Webpack Loader to its own repository

I've been working on the included webpack loader to add support for @import directives and am thinking that it could be worth moving the loader to its own repository. Beyond @import support I have some ideas for adding options and using the loader as a tool to incorporate persisted queries and custom scalars. As the loader becomes more complex and feature-rich, it could be worth moving to its own repository.

Just a heads up - @poincare is working on the exact same thing right now. I do agree that it might be worth moving the loader out.

@jtmthf Agree with moving it into a separate repo eventually, just not until I get #33 merged :)
By the way, #33 implements "#import" as a set of comments since it is simpler than having to parse the actual AST of the query and pick out "@import" directives. There's also the extractgql, which is meant for persisted query support and currently provides middleware for Express as well as a persisted query network interface for Apollo Client. It is a bit undocumented right now, but that will be fixed soon.

I think once we validate #import having an @import directive on fragments would be a great next step! It could work in a very similar way.

@Poincare any updates on this? are there blockers that need to be addressed?

going to close this — please re-open if we think this needs to be separated.


Bug fix for repo releases sorted

Fixes #3496

Codecov Report

Merging #3522 into master will decrease coverage by <.01%.
The diff coverage is 50%.

@@            Coverage Diff             @@
##           master    #3522      +/-   ##
==========================================
- Coverage   35.75%   35.75%   -0.01%
==========================================
  Files         284      284
  Lines       40773    40776       +3
==========================================
+ Hits        14577    14578       +1
- Misses      24037    24039       +2
  Partials     2159     2159

Impacted Files
Coverage Δ

models/release.go
45.8% <50%> (+0.57%)
:arrow_up:

models/repo_list.go
65.62% <0%> (-1.57%)
:arrow_down:

Continue to review full report at Codecov.

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

Would it be worth adding a migration (in a separate PR) to fix the created_unix column for existing releases?

@xwjdsh Can you please backport this to release/v1.4 branch?


Port fetch

There has been some ongoing discussion in discord about fetch. I think it's best to have some other pairs of eyes to review the code and get some feedback before it's ready for merging.
We're not returning a stream (from what I understand), but instead we're returning values directly. We can change this as we need.
Todo:

[x] Timeout flag
[x] ByteStream / Streams for ctrl+c

I wonder if we should not allow for "exiting" the command before it's finished, in case it takes too long or other issues. At the moment, if we do fetch "https://test.com" it will sort of hang for a few seconds and ctrl+c does not seem to work. Should we support this?
Another question is if we should have a default timeout. I found cases where even a file seems to exist on a server, somehow it cannot be served. A default timeout would be useful in my view; any opinions?

The way we've done it in a few other places is that we have the ByteStream or StringStream, and the stream can be broken with ctrl-c. I think this is probably best in case the user finds themselves on a slow network and wants to break out and try a different host to connect to.
You could do copy_to into an iterator/reader type thing, and have that work like a ByteStream, which is just an iterator that outputs vec of bytes.

@jntrnr I've rewritten the command to use ByteStreams. I am not sure I've done the right thing though, maybe you can have a look at it when you have some time and suggest how to improve? Particularly, the buffering part is bad... I don't know how to make it work without writing/reading to/from a file :=) The copy_to takes as a variable of a type that implements Write, so... I guess we cold use Vec<u8>, but then how do I rewrite the BufferedReader part to support Vec<u8>?

@onthebridgetonowhere - taking a look now. If I can figure it out, I'll push an update

@onthebridgetonowhere - couldn't figure out how to push to this branch, but here's the fixes I did to use the buf reader directly: https://github.com/nushell/engine-q/pull/660

@onthebridgetonowhere - I'm going to go ahead and land what we have. Feel free to improve it more if you like, but I think what we have is a good starting point.

merged as part of #660

Thanks for the help! The buffer part was easy, don't know how I did not figure it out :D


Allow configuration of foreground colors

Nice addition to #14 in terms of making color config more robust - it would be nice to be able to change fg as well as bg.
For example, this doesn't look great:

Done!


Feature/graph-visualisation

This PR adds functions to create a graph from polygon shape data, and functions to visualise that graph as used in the recent demo. This addresses part of issue #19.
@ Reviewers: Sorry for the length of the PR. It is slightly longer than intended, will try to make more regular PRs in the future. In any case, I am very open to feedback or changes! Thanks for taking the time!
Main changes:

Added graph_tools.py module that allows for the creation of graphs from polygon data
Added visualisation.py module that enables the visualisation of polygons together with a graph
Added notebooks that demo how to use these functions together on the Chernobyl data

Other changes:

Added loading functions for Polesia data (chernobyl.py)
Added simple polygon test data in GeoDataFrames for fast debugging (src/data_loading/test_data.py)
Added networks standard notation to good names in pylintrc
Updated requirements/environment.yml
Updated constants.py
Update .gitignore
Add other notebooks that explore Polesia data

Things to discuss:

I have added dependencies to the conda requirements/environment.yml file instead of pip because some libraries recommend it (e.g. https://geopandas.org/install.html), but if people have tested the pip stuff on Jasmin, I am happy to transfer anything new to the pip requirements file. Note though that using pip may be less stable across platforms, i.e. external users.

Thanks to @Croydon-Brixton for the detailed review, very helpful! To summarize the remaining discussion points that are still open before I merge the commit:

Notation for folium map (m or fmap or folium_map)
Notation for networkx graph (G or graph)
Should we use conda to install GeoDataFrame

No need to resolve this before the weekend, have a nice weekend everyone!


Add 'what is grlc'

Added a one line intro to what is grlc. We can put the same text on the landing page on zenodo.

Gracias! :)


Simple page for Hemispheres.xyz

Jake and I are working on design/copy for a simple one-page site for the foundation that will sit at the hemispheres.xyz URL. Once we deliver the assets, how long will it take to tilt up? If we delivered by Mar. 7, could it be up by Mar. 8?
@gndelia

The main page is live at https://hemi.xyz/ - This issue is no longer needed (nor I think this is the correct repo). If anything is needed, let's open up a new issue in the appropriate repo.


Implement using a single system for a simulation

With the new capabilities for time series handling we can refactor some of the time series accessing code to enable passing a single system with all the combined time series and avoid users having to employ multiple systems.

The primary aspect of this work to is ensure that PSI can retrieve time series by passing the desired resolution. The current interfaces only support time series type, name, and features. It is possible that we can use features for this, but it might be better to add resolution as a first-class parameter throughout the stack.


Fix IsDelegations to be more strict

Definitely blacklist ...
It should split up by path segments, and verify none of the path segments are empty (no targets////thing)
any whitespace in the middle or at the beginning/end is invalid

We should probably also make sure that, when we build the URL, each segment is individually escaped.

Fixed by #376