Fixed #31259 -- Added a dark theme in the admin module

Since this is the new approach using CSS variables, I opened a new PR. It replaces https://github.com/django/django/pull/12444.

Thanks, this looks great!
The filter_horizontal title doesn't look right yet:

Also, I'm not sure whether an admin.site.enable_dark_mode flag would make sense (defaulting to True) – theming is more work when a dark mode is involved. Anyway, the "Theming support" section of the docs would probably need an addition anyway now https://docs.djangoproject.com/en/dev/ref/contrib/admin/#theming-support

Thanks, this looks great!
The filter_horizontal title doesn't look right yet:

Also, I'm not sure whether an admin.site.enable_dark_mode flag would make sense (defaulting to True) – theming is more work when a dark mode is involved. Anyway, the "Theming support" section of the docs would probably need an addition anyway now https://docs.djangoproject.com/en/dev/ref/contrib/admin/#theming-support

The white editor is Summernote. Will need to theme it.

The white editor is Summernote. Will need to theme it.

@matthiask Where do you have filter_horizontal in your app? The permissions view looks good:

@matthiask Where do you have filter_horizontal in your app? The permissions view looks good:

@mimi89999 Sorry for the noise, that was probably a problem on my side! I may not have had the most up-to-date CSS files then.

@mimi89999 Sorry for the noise, that was probably a problem on my side! I may not have had the most up-to-date CSS files then.

Also, I'm not sure whether an admin.site.enable_dark_mode flag would make sense

That would complicate things. I would need to move it to a separate CSS file and load it conditionally.

Also, I'm not sure whether an admin.site.enable_dark_mode flag would make sense

That would complicate things. I would need to move it to a separate CSS file and load it conditionally.

I don't think we need to put it behind a flag, I don't see a compelling reason for this - maybe if you were to provide your own admin theme and not a dark version, but I don't think it's a big problem.
What might be useful is a toggle, so the end user can decide if they want it or not - some people prefer dark themes on some sites but not others. But I would consider that an improvement that can be made later.

I don't think we need to put it behind a flag, I don't see a compelling reason for this - maybe if you were to provide your own admin theme and not a dark version, but I don't think it's a big problem.
What might be useful is a toggle, so the end user can decide if they want it or not - some people prefer dark themes on some sites but not others. But I would consider that an improvement that can be made later.

... toggle...

SO has an approach here. Maybe someone can do something along those lines for 4.0+
I wonder if the browser isn't a better place for such a control, rather than every site adding it's own. 🤔 (We might think it's out-of-scope for us...) Anyhow let's see if we can get this in as it is for 3.2

... toggle...

SO has an approach here. Maybe someone can do something along those lines for 4.0+
I wonder if the browser isn't a better place for such a control, rather than every site adding it's own. 🤔 (We might think it's out-of-scope for us...) Anyhow let's see if we can get this in as it is for 3.2

I think it's more a browser or addon thing to set the theme per site.

I think it's more a browser or addon thing to set the theme per site.

Maybe someone can do something along those lines for 4.0+

Delaying adding a toggle in 4.0 was going to be my suggestion too.

I wonder if the browser isn't a better place for such a control, rather than every site adding it's own.

I think it is worth adding as there are times when users (me included) want to override this on a per-site basis. Also browsers don't currently provide a control for doing this. In addition, I have a dark theme enabled for GNOME on Linux, but this doesn't seem to translate to Chromium preferring a dark theme so having a way to override this allows a dark theme to be used by users that have systems that don't seem to support this seamlessly or at all.

Maybe someone can do something along those lines for 4.0+

Delaying adding a toggle in 4.0 was going to be my suggestion too.

I wonder if the browser isn't a better place for such a control, rather than every site adding it's own.

I think it is worth adding as there are times when users (me included) want to override this on a per-site basis. Also browsers don't currently provide a control for doing this. In addition, I have a dark theme enabled for GNOME on Linux, but this doesn't seem to translate to Chromium preferring a dark theme so having a way to override this allows a dark theme to be used by users that have systems that don't seem to support this seamlessly or at all.

Thanks for the screenshots @mimi89999. Looking good.
I wonder whether we want to desaturate some of the images/icons in the dark theme using CSS filter properties? The linked article uses contrast() and brightness(), but saturate() could be used instead. This isn't essential to getting this landed, however - @carltongibson has already implied that there may be tweaking to do post-freeze.

Thanks for the screenshots @mimi89999. Looking good.
I wonder whether we want to desaturate some of the images/icons in the dark theme using CSS filter properties? The linked article uses contrast() and brightness(), but saturate() could be used instead. This isn't essential to getting this landed, however - @carltongibson has already implied that there may be tweaking to do post-freeze.

I have a dark theme enabled for GNOME on Linux, but this doesn't seem to translate to Chromium preferring a dark theme

This is a known issue with Chromium on GNOME. Firefox and Epiphany are not affected:

I have a dark theme enabled for GNOME on Linux, but this doesn't seem to translate to Chromium preferring a dark theme

This is a known issue with Chromium on GNOME. Firefox and Epiphany are not affected:

I added docs and release notes but "Allow edits from maintainers" wasn't enabled so merged in b5cef91a91c9dbb697b65ef978a7de0b2c5cf564. Thanks @mimi89999! Nice work 🥇

I added docs and release notes but "Allow edits from maintainers" wasn't enabled so merged in b5cef91a91c9dbb697b65ef978a7de0b2c5cf564. Thanks @mimi89999! Nice work 🥇

@knyghty This is in now, but can I ask you to cast your a11y eye over it for contrast and such?

@knyghty This is in now, but can I ask you to cast your a11y eye over it for contrast and such?

I had a quick look at it, but only with the eyeball. A few disabled elements are lacking some contrast maybe, but I think the active versions are good, which is probably fine.
I'll try to make time for a deeper delve in the coming days.

I had a quick look at it, but only with the eyeball. A few disabled elements are lacking some contrast maybe, but I think the active versions are good, which is probably fine.
I'll try to make time for a deeper delve in the coming days.

Hi @mimi89999 -- compared to your screenshots mine look way off:

If I compare that with your first screenshot you had the headers in the sidebar as white, mine are dark on dark?
Also: Is there any easy way I can simply disable dark mode on my site? Usually we give users the choice if they want to use new features in Django. It is certainly easier to simply not use a new class etc, but I think it should be possible to disable this.

Hi @mimi89999 -- compared to your screenshots mine look way off:

If I compare that with your first screenshot you had the headers in the sidebar as white, mine are dark on dark?
Also: Is there any easy way I can simply disable dark mode on my site? Usually we give users the choice if they want to use new features in Django. It is certainly easier to simply not use a new class etc, but I think it should be possible to disable this.

Also: Is there any easy way I can simply disable dark mode on my site? Usually we give users the choice if they want to use new features in Django. It is certainly easier to simply not use a new class etc, but I think it should be possible to disable this.

Currently, you'd need to set the extra_head CSS block variables back to the light values.
We could move to a separate stylesheet, which you could then override with an empty file. 🤔
Adding a JS toggle was discussed above. But, surely, the powers that be don't intend every site to add JS for this?  — Ideally it should be controlled by prefers-color-scheme but I don't know if browsers let you set that per site.

Also: Is there any easy way I can simply disable dark mode on my site? Usually we give users the choice if they want to use new features in Django. It is certainly easier to simply not use a new class etc, but I think it should be possible to disable this.

Currently, you'd need to set the extra_head CSS block variables back to the light values.
We could move to a separate stylesheet, which you could then override with an empty file. 🤔
Adding a JS toggle was discussed above. But, surely, the powers that be don't intend every site to add JS for this?  — Ideally it should be controlled by prefers-color-scheme but I don't know if browsers let you set that per site.

@carltongibson I've had chance to look over it, a few things...
Not a11y related at all, but the nav sidebar seems really wrong. The border doesn't look right, there is a bright white border on the top/bottom/left in Firefox. There is this:
border-right: 1px solid var(--hairline-color);

I really think it should be:
border: 1px solid var(--hairline-color);

Also, some colours are too vibrant (icons, delete button), but this has been mentioned before.
The contrast between the almost white text and lighter shade of blue (login page heading, main header) is apparently too low. I'm not sure it matters that much, I think dark theme users are expecting a lower-contrast experience. However, it's pretty close to being at AA, so maybe the blue can be changed a bit.
Probably not enough contrast on the "History", "Add Foo" / etc. buttons. I also think it looks a bit ugly.
The help text is good, but the timezone warning is unreadable:

Action select looks very bad on Firefox at least:

It looks like this can be fixed by removing background: none in the CSS.
The contrast of the text for disabled actions on filter horizontal widgets is too low ("choose all" / "remove all" / the arrows). Since they're disabled it's maybe okay.
There are a few other things I can think of, but they are probably a bit too opinionated.

@carltongibson I've had chance to look over it, a few things...
Not a11y related at all, but the nav sidebar seems really wrong. The border doesn't look right, there is a bright white border on the top/bottom/left in Firefox. There is this:
border-right: 1px solid var(--hairline-color);

I really think it should be:
border: 1px solid var(--hairline-color);

Also, some colours are too vibrant (icons, delete button), but this has been mentioned before.
The contrast between the almost white text and lighter shade of blue (login page heading, main header) is apparently too low. I'm not sure it matters that much, I think dark theme users are expecting a lower-contrast experience. However, it's pretty close to being at AA, so maybe the blue can be changed a bit.
Probably not enough contrast on the "History", "Add Foo" / etc. buttons. I also think it looks a bit ugly.
The help text is good, but the timezone warning is unreadable:

Action select looks very bad on Firefox at least:

It looks like this can be fixed by removing background: none in the CSS.
The contrast of the text for disabled actions on filter horizontal widgets is too low ("choose all" / "remove all" / the arrows). Since they're disabled it's maybe okay.

I agree it should be border: 1px solid var(--hairline-color);

Probably not enough contrast on the "History", "Add Foo" / etc. buttons. I also think it looks a bit ugly.

The color is in the icons. I don't quite know what can be done to make them themable.

The help text is good, but the timezone warning is unreadable:

Sorry. I did not test that. Didn't even know that this warning exists.
@knyghty Will you open a PR with fixes for those issues? Could you please tag me inside it?

I agree it should be border: 1px solid var(--hairline-color);

Probably not enough contrast on the "History", "Add Foo" / etc. buttons. I also think it looks a bit ugly.

The color is in the icons. I don't quite know what can be done to make them themable.

The help text is good, but the timezone warning is unreadable:

Sorry. I did not test that. Didn't even know that this warning exists.
@knyghty Will you open a PR with fixes for those issues? Could you please tag me inside it?

For sure, hopefully tomorrow 👍
I see the + in the add button is an SVG, so it will always be white unless we inline it, but you can change the text and background colours - maybe it's enough. It would be nice to able to change the icon colour as well, but I don't see an easy solution there.

For sure, hopefully tomorrow 👍
I see the + in the add button is an SVG, so it will always be white unless we inline it, but you can change the text and background colours - maybe it's enough. It would be nice to able to change the icon colour as well, but I don't see an easy solution there.

The color is in the icons. I don't quite know what can be done to make them themable.

See my comment above.

Action select looks very bad on Firefox at least:

It looks like this can be fixed by removing background: none in the CSS.

I mentioned a potential solution to this for Chrome in another comment.

The color is in the icons. I don't quite know what can be done to make them themable.

See my comment above.

Action select looks very bad on Firefox at least:

It looks like this can be fixed by removing background: none in the CSS.

I mentioned a potential solution to this for Chrome in another comment.

I guess I should link the PR with some tweaks from here too: https://github.com/django/django/pull/13919

I guess I should link the PR with some tweaks from here too: https://github.com/django/django/pull/13919


Tags in URLs

For https://github.com/Princeton-CDH/lenape-timetree/issues/114

Here's a working version. Let me know if the #? part is too ugly. But the # ensures we don't leave page.

We could add logic to deselect active leaf when we close the panel — although technically I guess that's part of #110, so it could wait.

Clarification on this: right now we deselect all leaves but we don't clear the tag param from the url, which is confusing. I don't feel strongly about needing to fix it here, though.

We could add logic to deselect active leaf when we close the panel — although technically I guess that's part of #110, so it could wait.

Clarification on this: right now we deselect all leaves but we don't clear the tag param from the url, which is confusing. I don't feel strongly about needing to fix it here, though.

This should be taken care of here now.

documenting dev steps for the revised approach we agreed on in our whiteboarding session last week:

deselectAll method should be removed
new updateSelection method that sets highlighting in the tree based on the url (one/both/neither of tag param & leaf hash); this method should be called when the page is loaded
select by tag / leaf - rename to setCurrentLeaf / setCurrentTag (or similar) ; logic is to update url (param or hash) and then call updateSelection
closeLeafDetails - unset current leaf and tag, then call updateSelection; I think the proposed approach we discussed was to unset by calling setCurrentLeaf / setCurrentTag with a null value or similar
closeTag - unset current tag and then call updateSelection
add unit tests for the new methods including interactions between these parameters (both, none, either one)

Additionally: let's create a new branch feature/tag-interaction (or similar) and then merge this and the other tag-related PR into that branch. Dev review can happen before merging into that branch, acceptance testing can happen from a new PR to merge all the tag interactions into develop.

Yeah I think we will want to abandon this branch in favor of https://github.com/Princeton-CDH/lenape-timetree/pull/141

superseded by #141


Unable to download stories only, other posts download fine

Describe the bug
When I specifically want to download the stories only from a profile that I follow using the python module having logged in, literally nothing is downloaded and the script runs all the way to the end without error.
To Reproduce
Steps to reproduce the behavior:
import instaloader

def download_stories_only(loader, target_username):
    target_profile = instaloader.Profile.from_username(loader.context,
                                                target_username)
    profiles = {target_profile}
    actions_dict = {'profile_pic': False,
                    'raise_errors': True,
                    'fast_update': False,
                    'highlights': False,
                    'stories': True,
                    'tagged': False,
                    'igtv': False,
                    'posts': False,
                    }
    loader.save_metadata = False
    loader.compress_json = False
    loader.post_metadata_txt_pattern = ''
    loader.storyitem_metadata_txt_pattern = ''
    loader.dirname_pattern = './{target}'
    loader.download_profiles(profiles, **actions_dict)

loader = instaloader.Instaloader()
loader.load_session_from_file(username=USER, filename=SESSION_FILENAME)
download_stories_only(loader, target_username)

Expected behavior
Several videos and photos to be downloaded to the targetname directory, having confirmed that those videos are visible from the app
Error messages and tracebacks
If applicable, add error messages and tracebacks to help explain your problem.
No errors, traceback messages generated
Instaloader version
instaloader --version output.
4.9.5
Additional context
None

Why have you closed this issue?


Points are not rendered!

Hi,
i currently testing with the example kitti dataset. and i had checked out the master branch and all are rendered but not the lidar points.
In version 1.0.9 (tag) primitive points working but on the source code on the master they aren't rendered!
Was there a change or is that a bug?

i don't have any issues


WIP: Report project type and target framework

Created an IMSBuildSink which will be called everytime a project load completes and using this we can obtain the information regarding the project like target framework and project file path and then push the corresponding event to the event sink which will then be responded to by the C# extension
omnisharp-vscode side : https://github.com/OmniSharp/omnisharp-vscode/pull/2890

@rchande We need only the reference names and not the full path right ?


Serializing JSON: Unable to serialize more than two entries at the same level

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

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (aeba75e 2023-01-26T03:56:21.4985159Z)
What command(s) is the bug in?
No response
Operating System
Windows
Describe the bug
I'm attempting to write a list of deployed addresses for later retrieval using stdJson cheatcodes. The list would be a simple json file with names and a list of addresses, i.e. { address1: 0x0, address2: 0x1, address3: 0x3 }
I'm able to serialize an object with up to two entries, but I can't seem to add a third and a fourth entry at the same json level by following the examples in the Foundry Book.
Here's a snippet to demonstrate the issue:
// SPDX-License-Identifier: UNLICENSED
pragma solidity >=0.8.4;

import { Script } from "forge-std/Script.sol";
import { console2 } from "forge-std/console2.sol";
import { stdJson } from "forge-std/StdJson.sol";

contract FileUtils is Script {
    using stdJson for string;

    function serializeDemo() public {

        string memory json = "INTERNAL_KEY";
        console2.log(json); // output: INTERNAL_KEY
        json.serialize("address1", address(1));
        console2.log(json); // output: INTERNAL_KEY
        json = json.serialize("address2", address(2));
        console2.log(json); // output: {"address2":"0x0000000000000000000000000000000000000002","address1":"0x0000000000000000000000000000000000000001"}
        json = json.serialize("address3", address(3));
        console2.log(json); // output: {"address3":"0x0000000000000000000000000000000000000003"}
        // shouldn't the above output include all three address entries?
    }
}

cc @odyslam

@joejordan The issue is that you change the key while serializing, so you serialize the json into many different jsons.
When you do: json = json.serialize(), you set the json string to the output of json.serialize. That means that the next invocation of json.serialize() will use the output of the previous json.serialize as a key and not the original string INTERNAL_KEY.
The serialize cheatcodes always return the stringified version of the JSON they are serializing so that you can create arbitrary nested json objects.

@odyslam
As someone who currently tries to understand how to read/write json files and work with it - it's a problem of not paying attention to Developer Experience and interface design.
This topic is hard to understand, hard to work with and poorly documented (eg. some functions referenced in docs like vm.serialize don't even exist).
Sorry for harsh words but right now I am really frustrated with this thing.

When you do: json = json.serialize(), you set the json string to the output of json.serialize. That means that the next invocation of json.serialize() will use the output of the previous json.serialize as a key and not the original string INTERNAL_KEY.

Thanks @odyslam, that helped resolve the original issue.
I was going to ask next about how to write to an existing .json file to path without destroying the existing keys at the same level, but it turns out I was overthinking things. Originally I thought that I would have to first load the existing json file, parse the json, and then find some way to serialize it into the loaded data. Turns out instead that it's a one liner:
    /// @notice writes an address to the given json path
    /// @dev assumes file and path in json file exists.
    function setAddress(string calldata jsonPath, address value) public {
        vm.writeJson(vm.toString(value), getJsonFilePath(), string(abi.encodePacked(".", jsonPath)));
    }

The jsonPath argument above is an existing path in the json file, i.e. Marketplace.proxy if we wanted to write a new proxy address in the below json object. (We append an initial dot to the string because it was required to complete the path.)
{
  "Marketplace": {
    "logic": "0x0B1a87021ec75fBaE919b1e86b2B1335FFC8F4d3",
    "proxy": "0xA4aE77554847958aC0854f06601267c9F9C75dfD",
    "factory": "0x9eb52339B52e71B1EFD5537947e75D23b3a7719B",
    "router": "0xf18774574148852771c2631d7d06E2A6c8b44fCA"
  }
}

If I have some time I'll try and update the Foundry book, as I did find the existing documentation somewhat unclear about handling certain situations. Regardless, thank you, @odyslam for adding this invaluable feature to Foundry.

@joejordan would love to hear what you found unclear as a simple bullet point list here. If you don't find the time to update the foundry book, I could do it.

@odyslam I would start by explaining in more detail the absolute basics, and then build on the concepts with examples.
Read a json file with one entry
Write a json file with one entry
Read a json file with 10 entries
Write a json file with 10 entries
Then get into the more complex scenarios like building a complex JSON with different data types, arrays, decoding into structs, etc.
My issue with the documentation was that it was not clear to me initially that the initial string is an internal marker that is used to build upon a collection of JSON entries. I also found the example on the bottom of the serializeJson page confusing, and I think that's what primarily led to me struggling with implementing this feature.

I have created such script maybe it would help someone
  function saveJson(
        address[] memory _addresses,
        string[] memory _names,
        string memory _fileName
    ) internal {
        string memory chainIdStr = Strings.toString(block.chainid);
        string memory path = string(
            abi.encodePacked(
                "./deployments/",
                chainIdStr,
                "_",
                _fileName,
                ".json"
            )
        );

        string memory json = "{\n";

        for (uint256 i = 0; i < _addresses.length; i++) {
            json = string(
                abi.encodePacked(
                    json,
                    '  "',
                    _names[i],
                    '": "',
                    Strings.toHexString(_addresses[i]),
                    '"'
                )
            );

            if (i < _addresses.length - 1) {
                json = string(abi.encodePacked(json, ",\n"));
            } else {
                json = string(abi.encodePacked(json, "\n"));
            }
        }

        json = string(abi.encodePacked(json, "}\n"));

        vm.writeFile(path, json);
    }


sap.ui.commons.SearchField doesn't appear with JSON mvc

OpenUI5 version: 1.24.2
Browser/version (+device/version):
Google Chrome Version 41.0.2272.76 (64-bit)
Lenovo ThinkPad T420
Any other tested browsers/devices(OK/FAIL):
Firefox Version 36.0 FAIL
Steps to reproduce the problem:

Add to your JSON View the following content:

   {
        "Type": "sap.ui.commons.SearchField"
    }

Visit your view where the search field should be

What is the expected result?
You can see the search field and there aren't any errors in the console.
What happens instead?
The whole view doesn't show anything.
Console output: Uncaught TypeError: undefined is not a function      sap-ui-core.js: 147
Any other information?
I use the Ux3 GoldReflection Shell as frame of my application.
Here is a not working code snippet of a view Json:
{
  "Type": "sap.ui.core.mvc.JSONView",
  "content": [
    {
      "Type": "sap.ui.commons.TextView",
      "text": "It works!"
    },
    {
      "Type": "sap.ui.commons.SearchField"
    }
  ]
}

Hm, this breaks in `` JSONView.prototype.onControllerConnected() doing oSettings[sKey] = that.createId(oValue); where oValue is a ListBox control instead of a string.
Reproducible here: http://jsbin.com/judumeweqa/1/edit?html,output

That's a bug in the JSON View settings pre-processor. It assumes all associations to be specified as a simple string (as it would be in the original JSON View definition). But composite controls, like the SearchField, can fill associations of nested components with concrete objects.
The JSON View settings pre-processor needs to be made more robust and must handle such cases.

Hi Frank @codeworrior , I see you found a big in the JSON View.
Is there a incident created. I could not find any in the thread.
Best,
ilhan

The issue is fixed, so I will close the issue. If anyone wants to add comments, please feel free to reopen the case.


CensusContext.serialize should accept a destination buffer

Current, CensusContext.serialize always returns a buffer, which creates excess garbage.  A better interface would be to accept an existing buffer to write into.  This would allow callers to recycle buffers.  Also, it would allow the context to serialize into an existing buffer of other data, avoiding a copy.

It probably doesn't make sense to use ByteBuffer for a destination - I think either java.io.OutputStream (or java.io.ObjectOutputStream to be more compatible with the Serializable interface) makes more sense.
Thoughts?

The other question is, if we go with OutputStream, should serialize throw and IOException in case writing to the the stream fails?

We've changed serialize/deserialize to take an OutputStream/InputStream and to throw IOException in the case of an error writing/reading the stream.

I am going to close this issue for now - feel free to reopen it with any comments or questions.


Not downloading saved posts

I tried to download my saved posts instaloader --login=my_login saved but it does not.

sorry I was doing it wrong this is the right way: instaloader --login=my_login profile :saved


fix: Stop query in SQL Lab with impala engine (#20950)

fix(sqllab): Stop button for queries doesn't work in SQL Lab when using SQL Lab with impala engine and adding Progress Information
Fix the bug:https://github.com/apache/superset/issues/20950
SUMMARY

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

BEFORE

AFTER

progress info

TESTING INSTRUCTIONS

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

@eschutho @villebro Please review the code again. Thank you


Use pure Rust GUI library?

Has it been considered to move to a pure Rust GUI library to simplify the deployment process?
One candidate could be iced-rs: https://github.com/iced-rs/iced (which seems to get some investment: https://www.phoronix.com/news/COSMIC-Desktop-Iced-Toolkit).

Yes, I have looked into them, with iced and slint being the main candidates. However there are several problems with them:

None of the toolkits are nearly as mature as GTK and have missing major features. For example iced doesn't have multi-window support: https://github.com/iced-rs/iced/issues/27
They aren't well integrated with the system (except for slint which can use QT styling)

There is a new Rust toolkit being created every once in a while, but none of them have reached any widespread adoption.
GTK is one of the two de-facto "native" Linux graphical toolkits (with QT being the other one), looks consistent with other applications in the system and has widgets which users are familiar with. The gtk-rs bindings are also pretty good, which is why GTK was used instead of QT.
IMO the advantage of easier packaging (not depending on the system installation of GTK) does not outweigh the listed disadvantages. The situation would be different if this was a cross-platform app, but as it's Linux-only I really don't think using a Rust toolkit is worth it with the current state of things.


make: *** [parent-pom] Error 1

Installing Hue on Centos 6.6.
[root@centos6 hue]# java -version
java version "1.7.0_111"
OpenJDK Runtime Environment (rhel-<IP_ADDRESS>.el6_8-x86_64 u111-b01)
OpenJDK 64-Bit Server VM (build 24.111-b01, mixed mode)
[root@centos6 hue]# mvn -version
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 08:51:28-0500)
Maven home: /usr/local/maven
Java version: 1.7.0_111, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-1.7.0-openjdk-<IP_ADDRESS>.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-504.el6.x86_64", arch: "amd64", family: "unix"
Following the instructions given here. Error occurs after giving the make apps command.
I want to install from source on a single machine and point it to a hadoop cluster which is running centos 7 and HDP 2.4. Could not install hue directly on the cluster due to compatibility issues.
EDIT: I installed all the dependecy softwares and then ran make apps, i get: ImportError: /usr/lib64/libxml2.so.2: version LIBXML2_2.9.0' not found (required by /root/hue/build/env/lib/python2.6/site-packages/lxml-3.3.6-py2.6-linux-x86_64.egg/lxml/etree.so)
` Is there a way around?

Do you have this lib? libxml2-devel


Reformat project with clang-format

Reformatted all files with clang-format [closes #188 ].
Additionally, added a format check step to the Travis CI build (and tweaked some other things).
I have also set up a pre-commit git hook locally. What this does it run a check before you can commit locally to see if you have formatted all of the files associated with the commit.
Add the following code snippet inside the pandora project directory as .git/hooks/pre-commit
#!/bin/sh
# pre-commit hook that checks the files being commited have been formatted with
# clang-format and the project style
git diff --cached --name-only --diff-filter=ACMRT |
  grep -E '\.cpp|\.h' |
  xargs -n1 clang-format -style=file -output-replacements-xml |
  grep "<replacement " >/dev/null
if [ $? -ne 1 ]; then
    echo "PreCommitError: The .cpp and .h files you are trying to commit did not match clang-format required style."
    exit 1
fi

and then run chmod +x .git/hooks/pre-commit
Also, if you haven't set it up already, you can tell CLion to use `clang-format as it's engine for reformatting https://www.jetbrains.com/help/clion/clangformat-as-alternative-formatter.html

Tagged as WIP as the formatting has messed up some of the namespaces I think and now it won't compile... Will try and fix quickly.

Working towards updating the CI [#158 ] I have set up three stages for the CI to pass: Lint, Build, and Test.
As this PR is just concerned with formatting I have only put real commands in the Lint stage in a job called Format. If we also want to add a linting job within the stage (using clang-tidy) we can do that later too. For now, the Build and Test stages only have echo statements. So, although they pass, they don't do anything at this stage. That is work for a separate PR.
With this set up Lint gets run first, so if the code being pushed hasn't been formatted to our specified style in .clang-format then the build will fail.
@rmcolq I have enabled all of this on my Travis fork, but I think you might need to also update your Travis settings for pandora so that it runs Travis on PRs etc.

When you say you have Travis working locally, do you still have an install.sh file? Looks like I need to make one again for this to run on PR

When you say you have Travis working locally, do you still have an install.sh file? Looks like I need to make one again for this to run on PR

No, there isn't an install.sh anymore.  Also, as dev will be quite different from master I'm not sure if maybe we need to specify something about branches in the travis settings. Let me take a look.

So by default Travis should run on all branches provided that option is selected in the Travis Web interface settings (normally on by default). If we only want to build on specific branches we can [specify that in the config] (https://docs.travis-ci.com/user/customizing-the-build/#safelisting-or-blocklisting-branches).


ERROR: TypeError: can't convert Array into String

I've come to rely on knife solo and for months it has worked without issue. Recently I rebuilt my gemset and version 0.3.0 was installed, and now knife solo simply doesn't work. Everything I've tried so far results in this error locally.
When I try to run chef-solo -j dna.json on an instance where the 'kitchen' has been uploaded I get an error message that the cookbooks can't be found.
I've spent about two full days trying to figure out how to get this working and am giving up at this point.

2 years later - thank you @tmatilai!

Another thanks to @tmatilai ! I ended up using this in solo.rb for a chef-solo setup. My only change was that I had to point it at the root folder for what held my environment folder.


Define API calls in the documentation

Going by the core functionality, write out the API calls needed for this in the documentation, including all parameters, which controller is used and the uri names.

https://docs.google.com/document/d/e/2PACX-1vRCCN5zuJkm9sff6q9XvzBOpeOi-FkiNtODu5WTM0GYlJFFh5dvnO96Ohlsbo8Irkav2y4UQAIfhIuo/pub#h.z60xx5ev2hhd
API's defined in the documentation


[WIP] Add support for managing internal testers

This will address https://github.com/fastlane/fastlane/pull/9002

          1 Warning

:warning:
Pull Request is Work in Progress

  Generated by :no_entry_sign: Danger


embulk gem install libyajl2 failed  on embulk 0.7.3.

Hello.
embulk gem install libyajl2 failed  on embulk 0.7.3.
embulk gem install libyajl2
2015-08-25 20:58:34.887 +0900: Embulk v0.7.3
Fetching: libyajl2-1.2.0.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing libyajl2:
	ERROR: Failed to build gem native extension.

    "java -cp :/path/to/home/.embulk/bin/embulk org.jruby.Main" -r ./siteconf20150825-25731-16jj34y.rb extconf.rb
sh: java -cp :/path/to/home/.embulk/bin/embulk org.jruby.Main: No such file or directory

extconf failed, exit code 127

Gem files will remain installed in /path/to/home/.embulk/jruby/2.2.0/gems/libyajl2-1.2.0 for inspection.
Results logged to /path/to/home/.embulk/jruby/2.2.0/extensions/universal-java-1.8/2.2.0/libyajl2-1.2.0/gem_make.out

I checked environment variable.
I found that environment variable RUBY has following value.
 "RUBY"=>
  "java -cp :/path/to/embulk_source/embulk/pkg/embulk-0.7.3.jar org.jruby.Main",

I can install libyajl2 on embulk 0.6.18.
embulk gem install libyajl2
2015-08-25 20:59:38.867 +0900: Embulk v0.6.18
Fetching: libyajl2-1.2.0.gem (100%)
Building native extensions.  This could take a while...
Successfully installed libyajl2-1.2.0
1 gem installed

Fixed at 61e6bf86263ebda12d98811365fe3446350e87b2. Thanks.


deploy ovf from http server

There is deploy_ovf.py written to import the VM from ovf template. And this works when ovf template is stored locally.
I have all my VM's stored on http server and I want to deploy it from there, is there any way where we can just provide the http path of ovf/vmdk while importing vm in ESXi (same way of importing ovf from http server using vSphere client)
I tried modifying the code to make it work with http location but nothing seems to be working.
Any idea on this?

You could have an intermediary instance making a GET request (download) to your http server and then a POST (upload) to deploy it.

Download and upload is time consuming. I was looking for similar way how vSphere client deploys the VM on ESX without downloading it on the localhost.
Isn't there a way to do it through pyvmomi as well? I dont want to download it , it should just directly take http path for ovf and deploy the VM directly on ESXi host.
Is it even possible?

I don't think it is possible.
I'd believe even the vSphere client is acting as the intermediary and transforming the data while it is downloading (usually an ovf is in a stream format, which needs to be converted for the host to use it).
It won't be using disk space as it will just do it in memory.

I'm hunting the solution for http ova deployment as well.
@asonar Have you figured it out right now?

@CharmingYang0 - I’ve used this tool many times and it works great!
https://code.vmware.com/web/tool/4.3.0/ovf

@carceneaux
Thanks, I'll have a try.


Adds testing and hopefully a final fix for the empty toctree issue

This adds some more hacky fixes to our layout to avoid singlehtml builders.
Instead of trying to guess if this is working, I added testing!

Ha, just happened :)


[Install] Bash: support for new Meshery Adapter for Nighthawk

See mesheryctl Command Tracker for current status of commands.
Current Behavior
A new Meshery Adapter is being created in the v0.8 release: https://github.com/meshery/meshery-nighthawk
Desired Behavior
The bash installer should support this new adapter.
Implementation

Acceptance Tests

Mockups

Contributor Resources

⌨ mesheryctl Contributing Guide
Beginner's guide to contributing to Meshery and mesheryctl
mesheryctl Command Tracker
Meshery CLI Commands and Documentation
🙋🏾🙋🏼 Questions: Layer5 Discussion Forum and Layer5 Community Slack

@hexxdump I wonder if this is an item that you're up for. It not, that's ok. We'll just want to slap a "help wanted" on it.

Hi @leecalcote,
Committed the changes via - https://github.com/meshery/meshery.io/commit/08026d72e9b096ce36d7254b73a022e5b19768e6

Oh, wonderful. Thanks for this, @hexxdump. It seem that I would have done better to open the issue against the repo that actually contains that script. 😉 Thank you!
FYI, @gyohuangxin


Installing V0.7

Hi there, just tried installing the latest version, however getting the following error message. Does V0.6 have to be uninstalled first?
Thanks

(You can uninstall before, in that case you will lose the added Di2 device and settings, instead) you should run the command with the -r argument, like so:
adb.exe install -r "apps\ki2-0.7-release.apk"
Let me know if that works. I'm working on auto updates for the next version :)

That did the trick. Auto updates would be brilliant. Thanks for all your efforts


[Wave 8] [Ideal Nav] Three not-found pages appear when a non-existing workspace is accessed with an invite link

Action Performed:

On a browser, go to https://dev.new.expensify.com:8082/workspace/0680EF3C70411F57/invite

Expected Result:
One single Not-Found page Hmm... it's not here should appear
Actual Result:
Three Not-Found pages appear

Workaround:
N/A
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Attached above

View all open jobs on GitHub

@Expensify/design could you confirm what the UI should be when a non-existing workspace is accessed?
Please refer to the current UI in the issue description.

I think the idea here was to just show one "not found" view that spans across the entire app, not three distinct sections. Is that possible? cc @trjExpensify

Right, we created an issue here: https://github.com/Expensify/App/issues/34234
@kosmydel are you still needing to work on this one?

Light:

Dark:

ah I remembered that this was discussed before, but I thought the work is already done and that this is another regression.
In this case, we can combine this one with [Wave 8] [Ideal Nav] Improve "Hmm... it's not there" being duplicated across two content areas.
Closing this issue now.


Restrict the tensorboard package version

Fix issue 37 by restrict tensorboard version<1.12.0 as tensorboard>=1.12.0 incompatible with jupyter_tensoraboard.
Detail see: #37

If you are using TensorFlow 1.12, the better fix is to:

Upgrade tensorboard to 1.12.2 (<1.13)
Upgrade jupyter-tensorboard to 0.1.9


Added accept4()

I have run into applications using the accept4() function. This quick patch allows it to be intercepted.

Thanks!


Synchronization

👀

My bad, tried to introduce your recent changes to my fork but I got GitHub wrong and it all went the other way :D


Pull GUDHI 3.3.0

Pulls the latest changes from GUDHI, who recently released v3.3.0. Of particular interest is the edge collapse algorithm, which could speed up the Vietoris-Rips computations greatly in high homology dimensions.

See also https://github.com/giotto-ai/giotto-tda/pull/466

We need to merge this PR, in order to add new features to giotto-tda it would also update existing functionalities.
@gtauzin do you have write access to this repository ?

Done!


Integrate shell feature to jubakit

We decided to add command line feature to jubakit.
The feature is currently provided in 3rd party separate module: https://github.com/kmaehashi/jubash
TODOs are:

[x] Port things to Python 3
[x] Integrate with jubakit module
[x] Write some tests
[x] Write some docs

I'm thinking of integrating jubash into jubakit so that it can even be used like a "on-the-fly model debugging" feature.  Actually this is what I want sometimes.
for (idx, row_id, flag, score) in anomaly.calc_score(dataset):
  if score == float('nan'):
    anomaly.shell()  # drop into interactive shell; the process continues when shell exits.

Fixed via #45


Empty /metrics body using multiprocessing on FastAPI

I followed the instructions from here for using the client with FastAPI: https://prometheus.github.io/client_python/exporting/http/fastapi-gunicorn/
The normal style works without a problem, /metrics loads as expected. However, using the instructions for multiprocessing, the /metrics endpoints returns an empty body without any information as to what happened.
Are the docs outdated here or this simply a bug?
This also affects the https://github.com/trallnag/prometheus-fastapi-instrumentator library. Here the /metrics endpoint is also just empty - which I would link to the issue above.

Super weird stuff. If I change PROMETHEUS_MULTIPROC_DIR="wtf" to a non-existing folder, it works again.. So I guess it has to have something to do with PROMETHEUS_MULTIPROC_DIR
I will close this issue for now

Resolved. Apparently this happens because I load the PROMETHEUS_MULTIPROC_DIR  from a .env file with dotenv.
Pass the PROMETHEUS_MULTIPROC_DIR  via command line and it works as expected.


TestURLSession: Re-enable tests on Linux

Re-enable the TestURLSession tests which should no longer be flaky
however specifc tests are still disabled due to known issues.

Enable the tests on DarwinCompatibilityTests also.

Dont re-enable these tests on Windows yet as there are still random
crashes.

Disable test_concurrentRequests() as this fails about 4% of the time.

Disable test_getAllTasks() as this causes other tests to fail.

Disable test_http0_9SimpleResponses() as this fails on Ubuntu20.04.

Disable test_cancelledTasksCannotBeResumed() as this sometimes fails
on Ubuntu18.04.

@swift-ci test

@swift-ci test

@swift-ci test macos

@swift-ci test macos


Missing Solution Items

.NET SDK Version: 5

Steps to Reproduce:

clone the repo and open the solution
or create a new project via the cli
Open the solution in VS and attempt to open the Solution Items (i.e. azure-pipelines.yaml etc). All but two of these files cannot be opened because they do not exist. Looks like they are not in source control.

Thanks, I was just looking at those before my VS Toolbox presentation today and thinking I should delete some of the no longer used ones from there. I'll take care of it soon.


[DOC] Update Management navigation interface in dashboards for UX revisions and add index management tutorial

Description
Updates UI terminology and interface changes; adds tutorial
Issues Resolved
https://github.com/opensearch-project/documentation-website/issues/4364
Checklist

[X] By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and subject to the Developers Certificate of Origin.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@vagimeli Approved with noted changes and comments. Let me know if you have any questions. Thanks!

@natebower I accepted your changes and addressed comments. The proper format is "Select X > Y >Z".


[EVM] add test for large gas estimate

Describe your changes and provide context
Adding a test that tests a gas estimate that did not work on the our most recent release (v5.2.0) but works on latest main.
Testing performed to validate your change
hardhat tests

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 61.48%. Comparing base (e8e4b3b) to head (c5764b0).
Report is 11 commits behind head on main.

:exclamation: Current head c5764b0 differs from pull request most recent head dcb2b15. Consider uploading reports for the commit dcb2b15 to get more accurate results

Additional details and impacted files

@@            Coverage Diff             @@
##             main    #1631      +/-   ##
==========================================
- Coverage   61.64%   61.48%   -0.16%
==========================================
  Files         365      366       +1
  Lines       26178    26354     +176
==========================================
+ Hits        16138    16205      +67
- Misses       8967     9069     +102
- Partials     1073     1080       +7

see 4 files with indirect coverage changes


fix vmp in progress on nephe controller restart

Description
When the Nephe controller is restarted with ANPs applied, the vmp briefly enters the 'in-progress' state for less than a second before returning to the 'applied' state. This behavior can be misleading, as the ANP is still applied on the cloud and Nephe is simply resyncing the state. This PR fixes this issue by postponing the vmp updates until the initial cloud sync is completed.
Changes

Do not update the vmp status until initial cloud sync is completed.

Closes #177

Fixed.


giving error while installing vue-storefornt

@pkarw
while installing i am getting error

Hello please try again with the latest version pulled from the git; I've fixed one installer related issue and it works for me on Debian Linux
If the problem occurs, please go to vue-storefront directory and execute the sequence of:
yarn install yarn build
Then please provide us with the console output of these commands

Is it any better after the changes? Can we close this one?


Fix 'history' typo

The type fix as requested in #151. Test passed successfully on my computer.

Coverage remained the same at 100.0% when pulling 67d0782b3ea3121990caaa39f7c9dccad0eb06c5 on RedKenrok:master into e60277d6056e5aa92991808991ed644360fc2a40 on riot:master.

thank you!


A collection of cleanups

Move the markdown_repr into LogText.  I dislike having much in utils since it is basically misc. Since this has a clear place it can go (in the file with the only function that uses it and the only function that will ever use it) it should go there.
Move all of the code for deciding which logger to use into it's own file. I think this is better as it makes it easier to see and adjust what is going where. Rather than splitting them into seperate files based on the destination.
Some other general cleanup stuff.

Codecov Report

Merging #16 into master will decrease coverage by 0.18%.
The diff coverage is 70.37%.

@@            Coverage Diff             @@
##           master      #16      +/-   ##
==========================================
- Coverage   67.03%   66.85%   -0.19%
==========================================
  Files          21       22       +1
  Lines         179      178       -1
==========================================
- Hits          120      119       -1
  Misses         59       59

Impacted Files
Coverage Δ

src/Loggers/LogHistograms.jl
100% <ø> (ø)
:arrow_up:

src/TensorBoardLogger.jl
100% <ø> (ø)
:arrow_up:

src/utils.jl
100% <ø> (+9.09%)
:arrow_up:

src/Loggers/LogValue.jl
100% <ø> (ø)
:arrow_up:

src/event.jl
92.3% <ø> (ø)

src/TBLogger.jl
71.42% <100%> (ø)

src/logger_dispatch.jl
58.82% <58.82%> (ø)

src/Loggers/LogText.jl
94.11% <88.88%> (+1.26%)
:arrow_up:

Continue to review full report at Codecov.

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

Much needed.
Thanks again


can't compare offset-naive and offset-aware datetimes

@jezdez
If trying to save a datetime type setting getting this in Django 1.5.4:
TypeError
Exception Value:
can't compare offset-naive and offset-aware datetimes
Exception Location: constance/admin.py in changelist_view, line 119

http://stackoverflow.com/questions/7065164/how-to-make-an-unaware-datetime-timezone-aware-in-python
http://stackoverflow.com/questions/796008/cant-subtract-offset-naive-and-offset-aware-datetimes

I can reproduce this as follows.
settings.py:
USE_TZ = True
CONSTANCE_CONFIG = {
    'taz': (datetime.datetime(1972, 11, 30, 1, 10, 0), 'help text'),
}

Go to Constance in Django Admin and just hit Save. You get:
TypeError at /admin/constance/config/

can't compare offset-naive and offset-aware datetimes

Request Method: 	POST
Request URL: 	http://localhost:8000/admin/constance/config/
Django Version: 	1.10.4
...

admin.py in save
137. if getattr(config, name) != self.cleaned_data[name]:
▼ Local vars
Variable 	Value
name 	'taz'
self 	<ConstanceForm bound=True, valid=True, fields=(version;taz)>

If I set USE_TZ = False it works fine. (BTW, USE_TZ = True is the default in Django).

Now, if I use make_aware when I define the default, it works even with USE_TZ = True:
CONSTANCE_CONFIG = {
    'taz2': (timezone.make_aware(
        datetime.datetime(1972, 11, 30, 1, 10, 0)), 'help text'),
}

(I had to rename the variable since I can't delete or reset the old one.)
System configuration

Constance revision: 8db90e808756f62941c025c6dc522156d7271db0
Django version: 1.10.4
Python version: 2.7.12

@rvernica you need to use:
from pytz import timezone

CONSTANCE_CONFIG = {
    'taz2': (timezone(TIME_ZONE).localize(datetime(1972, 11, 30, 1, 10, 0)), 'help text'),
}

in your settings file

@jezdez, care to reopen this?

@rvernica done

Is this bug resolved?
Thanks

@rvernica can you please check if this was already fixed?

i reproduce with django 1.10

i had reproduce the error PR #311

fix on the PR #311

@jezdez, care to reopen this?

Sure!

i suggest this bug close because
You mixing the datetimes with timezone and without timezone. That the reason django fired the exception.
The correct way:
if you use USE_TZ = True the config CONSTANCE_CONFIG should contains datetimes with timezone
If use USE_TZ= False the CONSTANCE_CONFIG should use datetime native.
I had working for a week on this PR but... at the end i get that conclusion. it not be resolved with a code change, only with a documentation change.

Yes, that makes sense. We can just warn a user when naive datetime is used along with USE_TZ = True.  On the other hand, if there are a lot of naive datetime values already stored in the database, https://github.com/jazzband/django-constance/pull/337 will deal with that. Moreover, there was another try to deal with naive datetime  values when USE_TZ = True https://github.com/jazzband/django-constance/issues/169.
I think auto-convert naive datetime to datetime with timezone is more user-friendly than return HTTP 500.


hubot-reddit script crashes on slack.

The script crashes the bot if there is no limit. The bot signs off. Any fix on this?

I only imagine this could happen if you're using the IRC adapter to connect to slack. Is that the case?
Otherwise can you provide the hubot version so I can reproduce?

Here you go.
https://github.com/slackhq/hubot-slack

Well, we're using the same adapter.
Please provide the package.json of your hubot and let me know where you're running it; VPS, Heroku, etc.
I've tested this on DigitalOcean and Heroku with both the IRC and the Slack adapters, only the IRC adapter needed tweak on flooding settings.

hmm weird.


Fix version reference in README / Makefile & Actions

Tags don't have v prefix. Use just raw number.
:memo:  Brief description

:computer:  Commits

:file_folder:  Modified files

:warning: Additional information

[ ] Pushed to a branch with a proper name and provided proper commit message.
[ ] Provided a clear and concise description of what the issue is.

Check CONTRIBUTING.md and
CODE_OF_CONDUCT.md for more information

Thank you for taking interest in fixing my action. That really means a lot for me.
Unfortunately I planned to sync versioning between action versions, releases and docker tags - adding v... prefix to releases so they are all the same - but I was busy with work and didn't have time for it yet. So documentation was a little bit ahead of releases.


Only wind arrows and wind speed

Is there a way to get this card with only wind direction arrows and wind speed?
Like an hourly wind forecast card?

Just wind information. Only wind Speed and wind arrows.
Like a forecast card for wind 😀


daily merge to publish docs on docs.docker.com

Deploy preview for docsdocker ready!
Built with commit 038beaa7db49f1e254fa2aced52ee62f2e10046c
https://deploy-preview-10140--docsdocker.netlify.com


About dufomap's Python API in process.py

You have use dufomap in process.py, and now I want to use dufomap in my own project.
But I'm confused about the parameters for the dufomap function.
Like
mydufo = dufomap(0.2, 0.2, 1, num_threads=12) # resolution, d_s, d_p, hit_extension
mydufo.setCluster(0, 20, 0.2) # depth=0, min_points=20, max_dist=0.2
What does resolution, d_s, d_p, depth=0, min_points=20, max_dist=0.2 means?
Do you have a doc for dufomap function?
I have created a issue in dufomap's project, and I'm hope to get your respond, Thks!

I think it's better to directly check DUFOMap paper and SeFlow supplementary paper to know the meaning.
And according to cluster function, feel free to comment it, since it's just for visualization and remove small set of cluster etc, and I tried first time in paper without it, I will comment it in case people get confused.


if someone edit role, channel.

if someone edit role, channel. limits for it like all anthers.

I’ll look into adding this, thanks for the suggestion!


Implement chat functionality

Also add Snapchat-like '24 hour stories' to share with friends on the platform.

Don't forget about STICKERS!!!


"NameError: name '_compointer_base' is not defined" when importing pywinauto

Expected Behavior
Normal operation of pywinauto.
Actual Behavior
Can't even import pywinauto without triggering the following error:
Exception has occurred: NameError
name '_compointer_base' is not defined
File "C:\Users******\Desktop\Repo Installer\test.py", line 1, in
import pywinauto
NameError: name '_compointer_base' is not defined
The full Traceback is shown below:

All known dependencies are installed; checked using pip freeze:

Steps to Reproduce the Problem

Open up a new python file in VS code
On the first line, enter "import pywinauto"
Run the code

Short Example of Code to Demonstrate the Problem

Specifications

Pywinauto version: 0.6.8
Python version and bitness: 3.13.0, 64-bit
Platform and OS: VS Code on Windows 11

As a collaborator on this project and also a maintainer of comtypes, I can tell you that the cause of this error is that "comtypes does not yet support Python 3.11".
Once enthought/comtypes#636 is merged and released, the package available on PyPI will support Python 3.13.
Please try installing the aforementioned branch (and see also enthought/comtypes#618) and verify that there are no issues with your use case.

I installed the branch as requested; this does indeed seem to have fixed the issue. Thanks for the help!


Unexpected behavior loading state after build changes

When state is saved for a given application for one configuration, but then the application is reconfigured and re-deployed, then the system will attempt to apply the old state to the new configuration with undefined results.
For a simple case, consider deploying the Space Pins example, saving state, then deploying and running the RayPins sample. Because the system sees them as the same application, it won't know to discard the state, and everything will look wrong.
If possible, it would be great to fix this, but at the very least it needs to be clearly documented as a known hazard.

Hi Mark,
I think we might be seeing this issue.  We have rebuilt our application from Unity 2019.3 to 2019.4 with some new features and have be deploying to via Store updates and some users are seeing our application appearing in wrong orientation. (i.e. upside down). So far a Reset of the App seems to clear the problem. Does this sound consistent?

Hi Peter. Yes, that sounds consistent. Without being able to properly resolve the persisted data, anchors and space pins wind up piled up on the origin, and the singularities resulting from trying to construct lines between colocated points causes the ill defined behavior like the application upside down. In that case it's best to call WorldLockingManager.GetInstance().Reset() followed by Save(), or manually delete the persitence files.

Thanks Mark,  We might add a Reset World Locking in future releases.


Add tests for Dialog

SDK-354

Coverage increased (+0.09%) to 70.775% when pulling 32650331b461c23082515bcd4c3f712a4544c0d4 on dialog-tests into be86ac56896fb1c221a75973e84af9181851c792 on master.


Pattern: Update the Content item functional specifications for the Solutions page changes

User Story

As a [user role below]:
DDS developer

I need to:
have the Content item functional specs

so that I can:
so that I can properly code the Content item component that meets the Solution template requirements

Additional information

Design Issue (#1990 )
Development issue (#1848)
Solution page designs [Sketch]
Content item [storybook] [functional specs] [folder]
Media — manager [#1631] [functional specs] [folder]

Right now the content item uses the image with caption. Since we arer adding in the capability to add video into this component we need to update the functional specs to have a dependency on Media - manager instead of image with caption.
Media manager animation

Relationship diagram

Acceptance criteria

[ ] functional specs references new media – manager
[ ] update version number in name
[ ] change log updated to reflect updates and version
[ ] Documented Content item Link functional specifications
[ ] Sent and/or presented the specs to Design, Content Strategy and Dev for their review and comments
[ ] Additional stories are created, if needed, for any work to be done in future sprints
[ ] Send a message to Jeff to let him know that the functional specs are ready for a developer by tagging him in the dev issue.

Iceboxing this issue as the Media Manager component will not be developed at this manager.

Completed draft of updated specs: https://ibm.box.com/s/69x77s8wwsko0q9nae5o924xeuo6nncs

4/30/2020:  Reviewed in the meeting with Engineers.  Ellen to make some changes.

Updated func specs to reflect that this sub-pattern will use Video and Image with caption. Lightbox media viewer will be dependencies of those patterns, not of this pattern itself.
https://ibm.box.com/s/69x77s8wwsko0q9nae5o924xeuo6nncs

@jeffchew confirmed updates satsify dev team's needs. closing ticket as done.

@ellenchoi1 @jeffchew @sethibm Follow up from the meeting we just had. Content item will not contain the direct functionality to handle light box media viewer. Both Video Player and Image with caption will handle this functionality. See #2306, and #2025 for any updates based on this discussion.


🍒[cxx-interop] Test symbolic interface generation for new features

This adds a test that ensures that a symbolic interface for a C++ module will include these features:

move-only types
virtual methods

Default arguments are already tested.
rdar://125816549
(cherry picked from commit 442f9c12d3ad1d3d6af04eff924f6c9aa4e3851d)

@swift-ci please test


Insert multiple values

Is it possible to have an option to create inserts with multiple values?
Today when can do:
Insert into table (a,b) values(1,2);
Insert into table (a,b) values(1,3);
It would be nice to be able to do:
Insert into table (a,b) values
(1,2),(1,3)...

My friend, you can actually do what you are saying with most of the database engines, you need to lookup the correct syntax for your flavour(PostgreSQL, MySQL, SQLite etc)

@arryaz05 sorry I wasn't clear.
I think having an option to transform multiple insert statements into one would be useful. Currently I have only the option to do N inserts, like this:

I see what you mean, not sure if Generated SQL will do the trick but maybe just a good old statement?
Run a script instead

if you are doing this a lot I recommend copying the multiple insert statements into an editor like notepad++ where you easily convert this to a single statement either with regex or a macro


[AERIE-1716] Add git hash to snapshot version tag

Tickets addressed: AERIE-1716
Review: By commit
Merge strategy: Merge (no squash)

Description
Adds git hash to snapshot version tag to sidestep JARs with identical versions not being re-published.
Alternatives Explored
We could use this action to remove all versions with the same name as the version about to be published. This does add some complexity and another action dep. to our publish workflow.
We could also use GQL to do the package deletion logic: https://docs.github.com/en/packages/learn-github-packages/deleting-and-restoring-a-package#deleting-a-version-of-a-rep[…]scoped-package-with-graphql.
Both of these approaches are limited to working on packages that have < 5,000 downloads. See https://docs.github.com/en/packages/learn-github-packages/deleting-and-restoring-a-package#package-deletion-and-restoration-support-on-github:

You cannot delete a public package if any version of the package has more than 5000 downloads. In this scenario, contact GitHub support for further assistance.

For simplicity and avoiding the 5k limit we're going with adding the latest git commit hash to version for now.
Verification
Verification will ultimately take place when monitoring the publish workflow output and the https://github.com/NASA-AMMOS/aerie/packages page upon merging this PR.
Documentation
None.
Future work
None.

What is our strategy for handling release versions?

Good question, I'm unsure. Have we had a strategy for that so far? My understanding is that every version is just a "snapshot" and releases are formally done through the GH releases page (a manual process by Pat).

For completeness / any onlookers this is my response to @camargo:

My understanding is this change shouldn't effect our release process. This change just adds some more info. to the version ID, the release process (as I understand it) doesn’t care about the version string, the release is basically just a zip of develop at a tagged point.


Specifying Serialization Class

Just curious what your thoughts would be on adding the ability to change which typeclass is used for serialization of the messages. I have a project where a majority of the types already implement CBOR serialization and I am curious if it's possible/you would be interested in being able to leverage different classes.

Sure, I'm open to discussing how the API could change to accommodate other serialization methods. I chose winery for its pure speed, ease-of-use, and compactness, but other serialization methods could provide compatibility with other RPC methods.
Could you say more about your proposed use case? For example, assuming you are using CBOR for disk serialization, are you against using a different serialization scheme for RPC? What other benefits might CBOR have for your use case?


Documentation on secure input attribute is wrong.

Under general settings, I found this text:

I don't think secure input is the number of seconds between retry attempts.

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

ID: f22de92e-344d-4f31-78e7-4d411b6f2ea2
Version Independent ID: 4ad60472-dbcb-6a0a-a414-cf8ed6e02b19
Content: Transform data with Synapse Notebook - Azure Data Factory & Azure Synapse
Content Source: articles/data-factory/transform-data-synapse-notebook.md
Service: data-factory
Sub-service: tutorials
GitHub Login: @nabhishek
Microsoft Alias: jejiang

@HannekeDebie
Thanks for your feedback! We will investigate and update as appropriate.

@HannekeDebie
Thank you for bringing this to our attention.
I've delegated this to content author, who will review it and offer their insightful opinions.


Is there a CDN release of this

I'm playing around with the 3.0 version of Riot and the router has been removed. I'm wondering if there is a release of the stand alone router on a CDN someplace?
I've checked a few including cdn.jsdelivr.net (where I'm grabbing the 3.0 riot from) but I cant seem to locate the router code.
I'm using https://cdn.rawgit.com/riot/route/master/dist/route.js for now, but a released version on CDN would be much better.

@zaun no, at this point. But that's a good point! We should provide a CDN version. Will do, asap 😉

@zaun sorry to be late. At last I've send the PR to jsdelivr. I hope they'll merge it soon 😄
https://github.com/jsdelivr/jsdelivr/pull/14883

Successfully merged. I'm waiting their bot crawl our library.
https://github.com/jsdelivr/jsdelivr/tree/master/files/riot-route

Done.
https://www.jsdelivr.com/?query=riot-route


Switching from bower to npm closes #27

I tested this on all of the graph data we have, it looks good!


Datagrid: preserve selection when filtering

Select one ... (check one with "x")
`[ ]` bug
`[ ]` feature request
`[x]` enhancement

Expected behavior

I need to be able to incrementally build a selection of items in a datagrid through the following process:

filter the items of a datagrid down to a manageable number,
select one of these items,
undo my filter,
repeat from step 1 for a new item.

Actual behavior

Currently adding, removing or changing any filter simply erases the current selection, which makes the desired process impossible.
Proposed solution
The overall selection we keep in memory should remain constant but private, while the  "public" selection should follow the current filters at all times. Any actions performed through the action bar will apply only to the public selection (this is critical to prevent destructive actions from happening on unwanted items). To ensure this, we simply have to make sure the private selection remains truly private, our consumers will never need it.
Here is a step-by-step use case example showing what the private and public selections become based on user action, and how many selected items the selection counter in the footer of the data grid displays:

My dataset is the list of states of the United States.
I select Alabama and California.
Private selection: ["Alabama", "California"]
Public selection: ["Alabama", "California"]
Selection counter: 2
I apply the filter "Jer".
Private selection: ["Alabama", "California"]
Public selection: []
Selection counter: 0
I select New Jersey.
Private selection: ["Alabama", "California", "New Jersey"]
Public selection: ["New Jersey"]
Selection counter: 1
I delete my "Jer" filter.
Private selection: ["Alabama", "California", "New Jersey"]
Public selection: ["Alabama", "California", "New Jersey"]
Selection counter: 3
I apply the filter "New".
Private selection: ["Alabama", "California", "New Jersey"]
Public selection: ["New Jersey"]
Selection counter: 1
I select New York.
Private selection: ["Alabama", "California", "New Jersey", "New York"]
Public selection: ["New Jersey", "New York"]
Selection counter: 2
I realize my terrible mistake and unselect New Jersey.
Private selection: ["Alabama", "California", "New York"]
Public selection: ["New York"]
Selection counter: 1
I select New Hampshire.
Private selection: ["Alabama", "California", "New York", "New Hampshire"]
Public selection: ["New York", "New Hampshire"]
Selection counter: 2
I delete me "New" filter.
Private selection: ["Alabama", "California", "New York", "New Hampshire"]
Public selection: ["Alabama", "California", "New York", "New Hampshire"]
Selection counter: 4

This will even work if I apply multiple filters and remove them in a different order while selecting/unselecting items at the same time.

@mrnic3
This was released in 0.12.2.

Is there a workaround for this in the interim?

Hi there,
Is this feature released? Can I know the version? Thanks.
Yuting

This is still in the backlog, we haven't started working on it and it's not currently part of our priorities so I cannot give you an ETA on it.
We will update this thread when we pick it up, sorry that's the best I can give you.

An option to preserve the selection after filter application would make us all happy. Please consider it.

Is there any update for this?
I think an easy way would be to let the filter decide if it want to preserve the selection e.g.
` // https://github.com/vmware/clarity/blob/master/src/clr-angular/data/datagrid/providers/selection.ts#L25
this._filters.change.subscribe((evt) => {
const preserveSelection = evt.map(item => item.preserveSelection)
if (!this._selectable || preserveSelection.includes(true)) {
return;
}
this.clearSelection();
})`

Hi Team,
Is there any update o this?
Is the issue fixed?
If yes, how can we do it?

Closed by #3887


Make CI build flatter (and therefore faster)

Removed build stages from travis configuration. rustfmt and doc publishing run are run on the nightly build while h2spec runs on the stable build (as suggested by @carllerche). This also adds the changes to make coverage faster added in #118.
Closes #118.

This shaves off about 5 minutes from the total runtime, so it's better but not a massive improvement.

Seems good to me... but test coverage was reduced by 0.03%!!!! 🔨


Using browserDisconnectTolerance invalidates test suite

Expected behaviour
When a test fails, karma says that the test failed.
Actual behaviour
When a test fails and chrome disconnects then reconnects (which is allowed if the browserDisconnectTolerance is set to something greater than 0), karma will only report the results of the tests that have run since reconnecting, ignoring any test failures from before chrome disconnected.
Environment Details

Karma version (output of karma --version): 1.7.1
Relevant part of your karma.config.js file:

    browserDisconnectTolerance: 1

Steps to reproduce the behaviour

Set browserDisconnectTolerance to anything greater than 0.
Run a test that fails before the browser disconnects, then after reconnecting run a test that passes
Expected: The build should fail and karma should report the test failure from before the disconnection
Actual: The build passes because karma only reports the results of tests run since the reconnection

What is the easiest way to reproduce browser disconnection ?

You can try setting the option introduced in #3102 to 1ms.  Otherwise I guess you have to create a special test client.html that drops the connection.

Have the same problem here.
Karma doesn't report any tests that were run before the timeout.

Same here.
Doesn't this issue make browserDisconnectTolerance completely useless?


Fix loop joint

Summary
Fix incorrect behavior of loop joint and mimic joint.
The sdf parser and gazebo plugin seem to be the cause.
Fix xacro to work properly with the latest version.
The cause is unknown and may occur in the future.

Probably due to ROS version. The converted sdf (from xacro) version is different depending on which ROS you are using. For ROS noetic, sdf version is probably 1.7


Instead of beautiful documentation, the browser shows html

Describe the bug
Instead of beautiful documentation, the browser shows html
Screenshots

Environment
"@nestjs/common": "^9.0.11",
"@nestjs/platform-fastify": "^9.0.11",
"nestjs-asyncapi": "^0.3.2"
For Tooling issues:

Node version: 16.13.2
Platform:  Mac

Solution method
On line 50 in "asyncapi.module.ts" file, replace "html" with "text/html"

@NatashkinAlex thanks for reporting the issue, I've checked out with fastify manual e2e test - was working fine.
I've updated res types to keep in sync with @nestjs/swagger, if you could test on your code or provide a min reproduction repo would be great.
Check out version 0.3.4

thx, now everything work good


[6.x] Add custom date casting format to carbon object

The purposes of this PR is to make eloquent respect the custom date formats that are defined in protected $casts = [] in cases where a single attribute is accessed. Currently the custom date formatting is only applied when date attributes are converted to strings in addCastAttributesToArray.
Obviously this is because eloquent is designed to return a Carbon date object when a single date attribute is accessed. However we can still tell that Carbon object which format to use when it is converted to a string.
For example with how things are now it works like this:
use Illuminate\Database\Eloquent\Model;

class Invoice extends Model
{
    protected $casts = [
        'transaction_date' => 'date:m/d/Y',
    ];
}

$invoice = new Invoice;
$invoice->transaction_date = '2020-11-25';

(string)$invoice->transaction_date // 2020-02-05 00:00:00

With this change in place you instead get this:
(string)$invoice->transaction_date // 11/25/2020

This shouldn't break anything because getAttribute will still return a Carbon date object, but if and when that date object is converted to a string the desired format will be used instead of the default format.
Having something like this in place will reduce the amount of additional code that needs to be written in order to convert dates to the desired format.

Any reason you're targeting v6?
Also, since this appears to be changing behavior, it would have to go to v8.

@browner12
My thinking was that it wouldn't have an effect on existing implementations so that's why I targeted 6.x, but if I'm wrong about that then I can submit a new PR for v8.

If this is deemed non-breaking, v7 is the current stable release of Laravel.

OK my apologies for not realizing that v7 had been released.

Please fix the tests and target 7.x. :)


Inconsistent EOL-style in the source code

There is currently a mix of Windows-style (CR-LF) and Unix-style (LF) line endings in the Leaflet repository.
Did you define a convention on which style to use ? If not, should one be defined ?
The inconsistent EOL-style is particularly problematic for the file /dist/leaflet-src.js, constructed from different source files, and which produces a mix of CRLF and LF line endings within the same file.
#4995 makes consistent use of Unix-style line endings.

I would rather have an [eslint rule for that(https://eslint.org/docs/rules/linebreak-style), then worry about making the actual change.

Is this an actual problem for anyone, or just a matter of taste?

Mixed EOL-style in /dist/leaflet-src.js is a problem for me. When trying to commit it in a private SVN repository of mine, I received error from server for "inconsistent line endings". I normalized line endings myself prior to commit again.
You may at least write a script/code to normalized line endings in this file, which is part of the Leaflet distribution.

I suggest we should take the opportunity of #4989 to clean EOL and spaces.


[symengine] update to 0.9.0

Fix #23452
Update symengine to the latest version 0.9.0

@myd7349 I got an error while testing the feature。
config-x86-windows-out.log:
CMake Error at E:/Review/vcpkg/downloads/tools/cmake-3.22.2-windows/cmake-3.22.2-windows-i386/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find TCMALLOC (missing: TCMALLOC_LIBRARIES)
Call Stack (most recent call first):
  E:/Review/vcpkg/downloads/tools/cmake-3.22.2-windows/cmake-3.22.2-windows-i386/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
  cmake/FindTCMALLOC.cmake:11 (find_package_handle_standard_args)
  E:/Review/vcpkg/scripts/buildsystems/vcpkg.cmake:800 (_find_package)
  CMakeLists.txt:476 (find_package)

Currently port TCMALLOC has not been added in vcpkg, it should be disabled instead of being added as a feature. And why the dependency is gperftools.
source CMakeLists.txt:
if (WITH_TCMALLOC)
    find_package(TCMALLOC REQUIRED)
    set(LIBS ${LIBS} ${TCMALLOC_TARGETS})

    if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free")
    endif()
    set(PKGS ${PKGS} "TCMALLOC")

endif()

https://github.com/microsoft/vcpkg/blob/9a1b3ad21ce4bf3cc56cd727215ec551c1e6308e/ports/symengine/portfile.cmake#L17

Thanks for the update!


chore(main): release 1.1.2

:robot: I have created a release beep boop
1.1.2 (2023-06-05)
Bug Fixes

defensive code around container logic (#16) (97d770b)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/stordco/data-streams-ex/releases/tag/v1.1.2 :sunflower:


Creating two ClusterSecretStore pointing to different regions in the same cluster

Is there a possibility for creating two ClusterSecretStore in the same cluster where each refers to a different region of the same account? Both ClusterSecretStores will be referred to pull values for a single ExternalSecret. This will be helpful in case of a disaster. When failed over, the AWS Secrets Manager or Azure Key vaults go into read-only mode. But if we have to change the values, it would be helpful if we could refer to a region where the write permissions are also enabled.

Hey, yeah there is a region field in the provider spec, that should do it.
There is a example yaml spec at the top of the page here: https://external-secrets.io/v0.7.0/provider/aws-secrets-manager/

Thanks for the quick reply!
This is how it is present in the cluster with a single ClusterSecretStore
spec:     secretStoreRef:         name: secretstore-aws         kind: ClusterSecretStore     data:     - secretKey: <key 1>       remoteRef:           key: <secret name 1>           property: <key 1>     - secretKey: <key 2 >        remoteRef:           key: <secret name 2>           property: <key 2>
I'm referring to two different secrets present in the same region. Say, I need the secret name 2 from a different region, how should the ExternalSecret definition be changed to refer to the secondary region?

The straight-forward solution would be to have the secrets with the same name in both regions:

eu-central-1
eu-west-1

secret1
secret1

secret2
secret2

With that you just need to swap out the cluster-secret-store reference:
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
  name: "database-credentials"
spec:
  secretStoreRef:
    name: aws-sm-eu-central-1 # swap this out with a css pointing to the different region
    kind: ClusterSecretStore

Hope that makes sense.

Yes that makes sense. Another question is, if I'm using service accounts to authenticate to the SecretsManager, in this case I will require two service accounts, one pointing to us-east-1 and another to us-west-2.  The current helm chart provides the functionality to create one Service Account. Any more ServiceAccount that I need to create will require changes in the RoleBindings, ClusterRoleBindings and Deployments to include that additional ServiceAccount right? Will it require any change in the CRDs?

There is no need to use the external-secrets service-account provided by the helm chart. It's best to use dedicated service accounts which are used for authenticating with AWS.

So we can create multiple service accounts in an environment and they need not be mounted to the deployment to be able to pull the secrets from SecretsManager?

No, they don't need to be mounted. In your Clsuter Secret Store, you can specify a serviceAccountRef which will be used dynamically by ESO.

Oh alright...I was able to create it. Thanks for the help

glad it worked :+1:, closing this issue then. Feel free to comment if any other questions arise.


Add linter to http://atomlinter.github.io/

Now that the dependency on the linter is clear and locked (https://github.com/awslabs/aws-cfn-lint-atom/issues/2)
Fairly easy to "register" this linter @ http://atomlinter.github.io/, shall we do that?

+1 to this.  Be nice to see CloudFormation in the list!
@kddejong -- i can jump through the hoops if you're cool with it.

https://github.com/AtomLinter/atomlinter.github.io/pull/84

That was quick.... 👍
I'll close the issue then


How to use width: 100% after click open menu?

How to use width: 100% after click open menu?

It currently only supports pixel width. I've added the ability to use percentages and some other improvements on the pull request I have open on #35 if you want to take a look.

Is there any way it can depend on viewport width?pixel width  doesn't seem like a responsive solution.

I noticed that whe the menu is opened, the class bm-overlay is added to the body, you can use this to change the width of the menu (class .bm-menu) manually, for example:
body {
  &.bm-overlay {
    .bm-menu {
      width: 100% !important;
    }
  }
}


Undefined behaviour crash on NaN/inf/-inf input

Sorry another UB bug:
I'm aware that zfp doesn't currently support round-tripping non-finite values, but it would be good if it didn't crash hard on NaN/inf/-inf input, in particular since client libraries like xarray / zarr will often pad data with NaNs, sometimes at a fairly low level in the library e.g. to achieve uniform chunk sizes before writing to zarr.
As in https://github.com/LLNL/zfp/issues/241, with clang I get SIGILL crashes, and with UBSAN enabled it's attributed to, e.g.:
third_party/zfp/src/template/encodef.c:57:17: runtime error: nan is outside the range of representable values of type 'int'
    #0 0x55cf45e3edf7 in zfp_encode_block_float_4 third_party/zfp/src/template/encodef.c:98
    #1 0x55cf45e3f916 in zfp_encode_partial_block_strided_float_4 third_party/zfp/src/template/encode4.c:88:10
    #2 0x55cf45e480bc in compress_strided_float_4 third_party/zfp/src/template/compress.c:105:13
    #3 0x55cf45e464b2 in zfp_compress third_party/zfp/src/zfp.c:1116:3
...
SUMMARY: UndefinedBehaviorSanitizer: float-cast-overflow third_party/zfp/src/template/encodef.c:57:17

Assuming we want to allow some default conversion to happen silently, this can be worked around via -fno-strict-float-cast-overflow -fno-sanitize=float-cast-overflow, but I'm reluctant to enable these too widely in case it masks some other bug.

In fact in reversible mode at least, with these flags I do find it round-trips NaNs correctly. YMMV and obviously wouldn't work in lossy mode.

It is of course undesirable for zfp to crash if fed NaNs or infinities, which I suppose happens in the conversion from floating point to integer in the block-floating-point transform, which causes UB.  On the other hand, what would be an acceptable solution here?  zfp cannot do anything meaningful with such data (except in reversible mode, as you correctly point out), and so could only at best return an error without actually representing the data.  At this point, the application basically has to terminate as this results in complete loss of data.  Of course, doing so without crashing is preferable.
However, to detect non-numbers, one would have to insert potentially expensive infinite() calls/macros.  Since there are no such calls in C89, you have to rely on constructs like x != x to detect NaN and x > DBL_MAX || -x > DBL_MAX to detect infinities.  Doing so for every value to be compressed seems expensive for those applications that use zfp for arithmetic--you wouldn't instrument your numerical application to check every intermediate floating-point value for NaN or infinity.  This would lower performance for all applications, including those that can guarantee that all data is numerical.
When zfp is used for offline storage (as in xarray and zarr), a reasonable solution would be for the application code to perform such checks before calling zfp.  I realize that such libraries may have to be modified deep down to perform such checks, but they still need to deal with the fact that zfp would fail (ideally without crashing) in this case.
In the case of zarr, there's a layer around zfp (in numcodecs) where, IMO, such testing (e.g., via numpy.isfinite() and numpy.any()) ought to be done so that zfp is only fed numerical data.  This would insulate such zfp-specific tests (that likely apply to other compressors as well) from the core zarr library.
I'm unaware of xarray usage of zfp and so can't comment on that particular case.
All this being said, we have thought of several ways of supporting (encoding) non-numbers, primarily for offline storage, where performance is not as critical.  Likely the solution would be to set a compile-time flag or a runtime flag (in zfp_stream), or to expand the API to enable such a capability so as not to bog down the primary use case of compressing numbers.  Regardless of how this is achieved, it would almost surely imply backwards incompatible changes to the underlying zfp code stream, and therefore won't be supported anytime soon.
Sorry for not being more helpful here, but I think having the application or I/O layer check the data for validity is a reasonable compromise.  Another might be to add a compile-time macro (disabled by default) to zfp to request that it check inputs and return zero upon failure.  Keep in mind that this would result in zfp_compress() returning zero (failure) if even a single value in a gigabyte-sized array is non-numerical, which may or may not be desirable.

Thanks again for the considered response.
I think it would be reasonable to always raise a Python exception from zfpy on NaN/inf/-inf input. It'd be nice to have an option to silently ignore if you don't care what these values round-trip as, although like you say not essential if upstream libraries work around it.
I'm not an expert on this but I believe on CPU you can trap some of these failure conditions at a fairly low level via signal handlers without having to check each value, and I think this is what numpy does with e.g. np.seterr(invalid='raise'), this allows it to then raise a Python exception.
IMO numpy's approach is quite nice in giving the user a choice: do you want to silently ignore and accept some possibly-implementation-dependent default value, raise an exception, log a warning but proceed, ...
You can see this play out by trying e.g. np.float32('nan').astype(np.int32) under various np.seterr settings.

Thanks for the suggestion.  From IEEE 754-2019 Section 5.8 (Details of conversions from floating-point to integer formats), it seems clear enough that an exception would be generated:
When a NaN or infinite operand cannot be represented in the destination format and this cannot otherwise
be indicated, the invalid operation exception shall be signaled. When a numeric operand would convert to
an integer outside the range of the destination format, the invalid operation exception shall be signaled if
this situation cannot otherwise be indicated.

Though it's unclear if numpy.seterr() would apply as the code being executed is written in C and called from Cython.  While I can confirm using AppleClang that the floating-point status flags are set on integer overflow in this conversion, it does not appear that SIGFPE is signaled (at least the signal handler is never invoked, either on overflow or division by zero).  As far as I know, that would be the only way of detecting such exceptions in C without testing the flags.  But even if such a signal were generated, would we expect it to "propagate" back to Python where it can be caught as an exception?
Additionally, the invalid operation exception would be raised only when the actual conversion takes place, which invokes UB. From C99 <IP_ADDRESS>:
If the value of the integral part cannot be represented by the integer type, the behavior is undefined.

Would it not be "too late" at that point to catch the exception, assuming one is thrown?  Probably not in practice, but preferably UB would be avoided altogether.

Hey, yeah sorry I didn't mean that np.seterr would catch this for you, just that it's an example of a python library with functionality that does avoid crashing on similar errors in its own code.
Looks like I was wrong and numpy is not trapping SIGFPE, but testing CPU flags. Again not an expert but I'm assuming these flags persist until cleared, so numpy can check only after the entire operation has completed?
https://github.com/numpy/numpy/blob/83cd89b835dca7d5ea8b325e1fecec124316fd12/numpy/_core/src/npymath/ieee754.c.src#L357
If and how it avoids UB I'm not sure.
I can see this is a tricky one anyway, and not as urgent as the other bug, so no worries if there's not an easy fix.


imgui-rs 0.8.2 docs failing to build

Hey there,
I was getting ready to read the docs for imgui 0.8.2 but noticed that the build was failing.
I looked at the build logs and it seems to be getting stuck on specifically imgui-sys 0.8.2, with a fatal error:
fatal error: misc/freetype/imgui_freetype.h: No such file or directory
Does imgui still use that header? Or perhaps the pathing is incorrect?
Anyways, hopefully, this helps solve the build. I may take a look through the repo and submit a pull request if I anticipate being able to fix it myself :)

The header is used when the --features freetype is enabled, and I'm pretty sure the problem comes from the exclude line in imgui-sys/Cargo.toml
exclude = ["third-party/*.json", "third-party/*.lua", "third-party/imgui/*/"]

The final glob pattern excludes everything in the misc/ folder, which includes the now required misc/freetype/*
I initially thought this was related to the changes in #557 but, of course not, as those changes are for 0.9 onwards (not present in the 0.8.x branch) - but that branch likely has a variation of the same problem

(PR pending in #595)


ISPN-16650 Flaky test: org.infinispan.client.hotrod.impl.iteration.Di…

…stFailOverRemoteIteratorTest#testFailOver

Change back to TransportException on non operation pipeline failure
Fix AuthenticationTest to have assertion using TransportException

https://issues.redhat.com/browse/ISPN-16650

Thanks, @wburns!


Fix Clade I build

Description of proposed changes
Use --query to filter for clade I build since we have migrated to Nextclade v3 that includes clades I, Ia, and Ib.
Related issue(s)
Follow up to https://github.com/nextstrain/mpox/pull/281
Resolves https://github.com/nextstrain/mpox/issues/283
Checklist

[x] Checks pass
[x] Trial Clade I build

Trial build deployed to https://nextstrain.org/staging/trial/fix-clade-i/mpox/clade-I

I compared the trial build to the current live build and I'm confident in these changes so I'm going to merge.

Summary of comparison:
The trial build has one extra sequence (PQ221596/23MPX0047C), but all other sequences are the same based on accession. PQ221596 was previously unassigned with Nextclade v2, but is now assigned to clade Ia with Nextclade v3. So inclusion of PQ221596 in the trial build is expected.
I noticed that the trial build clade assignments are slightly different than the live build in tangletree:

I re-ran the build locally and the clade assignments are the same as the live build:

I'm going to attribute this to some stochastic tree building weirdness that is not a result of any changes in this PR.


I think child_process dependency can be removed

I noticed there's a dev dependency on child_process. That package has been removed from npm and is under ownership of npm security holder. It's just a README file.
Not sure what the use case is/was for the package?

Hey @johanalkstal thanks for catching this!  An older implementation used it to bypass some issues, but it's no longer needed and should be removed. I'll do that now.  Thanks!


Is there a visualisation tools for Metrics data

The XCode Organizer doesn't show Metrics data when the usage and user count are not enough. I'm able to download Metric payload data through debugging. But the problem is I don't have a tool like XCode Organizer to show the metrics payload in graph. Any idea how to interpret the Metric payload json data? Thanks.

I have a very, very, very rough app that can open MetricKit payloads display call stacks. It does not do visualizations. But, I can open source it.
Again, I want to stress just how rough it is 😅

Here it is: https://github.com/ChimeHQ/MetricKitViewer
It does "work" for crash data. Pull requests very welcome 😃


event updates

A review and merge from either of you is enough :) Thanks!
Description

Urgency

[ ] Blocker
[ ] High
[x] Medium

Requirements

Test all commands and procedures.
Build content locally and test for formatting/links.
Add redirects to dcos-website/redirect-files.
Change all affected versions (e.g. 1.7, 1.8, and 1.9).
See the contribution guidelines.

Do we know why these checks are failing ? looks like the build error is unrelated to your changes, and we still seem to have a ton of links failing. Other than that, the actual change looks fine. 👍

Retest this please


Adding a missing '%{?dist}' tag.

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

[X] The toolchain has been rebuilt successfully (or no changes were made to it)
[X] The toolchain/worker package manifests are up-to-date
[X] Any updated packages successfully build (or no packages were changed)
[X] All package sources are available
[X] cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/tools/cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json)
[X] All source files have up-to-date hashes in the *.signatures.json files
[X] sudo make go-tidy-all and sudo make go-test-coverage pass
[X] Documentation has been updated to match any changes to the build system
[X] Ready to merge

Summary

Adding a missing %{?dist} to align with our package-naming requirements.
Change Log

Added a %{?dist} tag.

Does this affect the toolchain?

No.
Test Methodology

No tests, a simple change.

Can you update the PR with where the tag is added as well?


Distributed Elixir Compatibility

Hey!
I'm really just getting started along the process of evaluating CQRS as a pattern for us, and I'm curious if you can speak to how this works in a clustered environment. Using something like Postgres for the actual event log solves the issue of having a consistent view of events but how does that work for any in memory state held?
We're looking at an upcoming project that seems to be a good fit for a CQRS/ES approach but I confess I'm still at the point where it makes sense as a diagram on someone's slide deck but I am unclear about what a project's code actually looks like.

The short answer is that it doesn't. Commanded only supports running on a single node. There's an open issue to support running on a cluster of nodes (#39).
The approach will likely be to distribute aggregate, event handler, and process manager processes amongst the nodes in the cluster. So they run as singleton instances, but the load is distributed  (e.g. user1 aggregate on node1, user2 aggregate on node2). In a net split scenario only one half of the cluster will continue functioning. This is to ensure consistency and prevent duplicate aggregates/handlers running. I'm open to suggestions, and pull requests, for alternative ways of tackling this.
An alternative approach, that you could implement now, is to use a single event store and Commanded instance per bounded context (microservice). Then you can deploy each service to its own node for distribution. You would need a way of message passing between each service for commands and events. This could be a REST API endpoint for commands and an event handler that pushes events onto a message bus for the other services to consume.
Feel free to chat about Commanded on Gitter.

Gotcha. Is there any literature on established techniques used in other platforms?

Here are a couple of relevant projects that implement distributed event sourcing:

Akka is an actor based toolkit for Java, Scala, and .NET (cluster | split brain resolver).
Eventuate uses causally ordered event streams (overview | repo).

Closing this issue. Refer to related issue "Support running on a cluster of nodes" (#39) instead.