On Behalf of

An 'on behalf of statement' appears at the end of the author list stating that the authors are writing on behalf of a larger group.
User Stories
Author

As an author, I want to be able to see any 'on behalf of' statement on the author list so that I can check it is correct.
As an author, I want to be able to add an 'on behalf of' statement to my author list so that I can acknowledge the authors are acting on behalf of a larger group.
As an author, I want to be able to edit the 'on behalf of' statement so that I can correct errors.
As an author, I want to be able to remove an 'on behalf of' statement so that I can delete this is required.

Production staff

But what if . . . ?

Considerations

Example of how this works on the website:
"Manoj M Lalu, Katrina J Sullivan, Shirley HJ Mei, David Moher, Alexander Straus, Dean A Fergusson, Duncan J Stewart, Mazen Jazi, Malcolm MacLeod, Brent Winston, John Marshall, Brian Hutton, Keith R Walley, Lauralyn McIntyre, on behalf of the Canadian Critical Care Translational Biology Group"

The full text contained in the tag is important here, as there are several different ways of phrasing this that need to be accounted for:

"for the HIV Genome-to-Genome Study and the Swiss HIV Cohort Study" (https://elifesciences.org/articles/01123)
"on behalf of the SPARTAC trial investigators" (https://elifesciences.org/articles/03821)

eLife currently only allows this at the end of the authors list. However, other publishers may want to include this after specific authors in the middle of the author list instead, and indeed, we might change how we handle this in the future.

XML requirements
A on-behalf-of element, the content of which is usually just a normal string (but may be mixed-content), is placed as a sibling to an author, in the contrib-group e.g.
<contrib-group>
     ...
     <contrib contrib-type="author">
          <name>
               <surname>Atherden</surname>
               <given-names>Frederick P</given-names>
          </name>
          ...
     </contrib>
     <on-behalf-of>on behalf of the Canadian Critical Care Translational Biology Group</on-behalf-of>
</contrib-group>

Taken from: https://github.com/elifesciences/TextureRequirements/issues/19

See inVision for design proposal


Test global hdf5 pwl only

@smattis this branch contains  some parallel i/o  optimizations that I've been testing  on HPC systems for a while. It  can't be merged into master because it  only works for  linear nodal elements, but it  should work for your vegetation cases.  The basic  idea here is  to write  the global  (parallel) mesh directly to hdf5 as a single mesh using slicing rather than writing the subdomains to hdf5. You may a difference  in how paraview behaves and performs but you will still be getting a single hdf5 and xmf like we're already doing.  The reason this approach is  more effiicent is that  hdf5 requires that all processors write exactly the same metadata for each item stored. Every processor  has the metadata for the global mesh but not the metadata for all the subdomain meshes, so the master branch is  currently communicating that metadata. Writing the global  mesh directly avoids  communication of the metadata.

Hot starting is not working on this branch yet.


coins returning not supported error

Describe the problem:
Three tickers - WBTC, ZEBI and PHB have been returning coins not supported error.
Steps to reproduce:

Use any function on the three tickers mentioned above

Observed Results:

Returned coin not supported error
Expected it to return a valid response

Relevant code exceptions or logs
Code Sample, a copy-pastable example
bitbnsObj.getBuyOrderBook('WBTC') #Could be any function except getTickerApi

logs, a copy-pastable example
{
 'data': '',
 'status': 0,
 'msg': 'coin name not supplied',
 'code': 406
}

This is sorted now


Accordion items should have an ID attribute for linking, and code to expand when linked from elsewhere

When someone uses a page link with an anchor for a collapsed item, eg from a web search result, article, or UI help link, the page opens, but the collapsed item is not opened nor is the page positioned at the item.  This makes it difficult for the user to locate the item that they are seeking.
When using Northstar V18, we had ID attribute on each accordion item, so could link precisely to an item and position the viewport at the item.  We also had JS that automatically expanded an item when linked to.
We also had a button to expand all accordion items to enable in-page search and printing.
If Carbon accordion item had an ID attribute, standard HTML linking would be enabled.  Providing common code to automatically expand a linked item, and to expand/collapse all items would provide an enhanced user experience that we had before.

My V18 expand/collapse all button made use of JS; I'd expect a Carbon solution to exploit React(?)
FYI...
Button to show/hide all sections currently uses custom HTML and Jquery JS, but should be supported by common source and JS/React
The button function is to overcome a main major usability issue (ref https://www.nngroup.com/articles/accordions-complex-content/ )
// Custom JS for multiple show-hide divs, for button to show/hide all
$("button#showhideall").click(function(){
$(this).toggleClass("collapse");
$(this).text(function(i, text){
if ($(this).hasClass('collapse')) {
$(this).text("Collapse all");
$("div.ibm-show-hide > h2").addClass("ibm-showing");
$("div.ibm-show-hide > h2 > a").addClass("ibm-show-active");
$("div.ibm-show-hide > div.ibm-container-body").css( "display", "block" );
} else {
$(this).text("Show all");
$("div.ibm-show-hide > h2").removeClass("ibm-showing");
$("div.ibm-show-hide > h2 > a").removeClass("ibm-show-active");
$("div.ibm-show-hide > div.ibm-container-body").css( "display", "none" );
}
})
});
  // If page opened with a hash, expand the target hidden div ...

if(parent.location.hash) {
var hash = parent.location.hash.substr(1);
if($('#' + hash).hasClass( "ibm-show-hide" )){
var divh2 = $('#' + hash).find(">:first-child")
divh2.toggleClass("ibm-showing");
divh2.find(">:first-child").toggleClass("ibm-show-active");
divh2.next("div.ibm-container-body").toggle();
} else {
if($('#' + hash).parent().hasClass( "ibm-container-body" )){
var containerbody = $('#' + hash).parent();
var divh2 = containerbody.prev("h2");
divh2.toggleClass("ibm-showing");
divh2.find(">:first-child").toggleClass("ibm-show-active");
divh2.next("div.ibm-container-body").toggle();
}
}
}

A Carbon accordion in IBM Documentation is implemented in HTML as a ul element. It is accessible. A ul in IBM Documentation using Carbon is also accessible. A ul can have an id and can be linked to when it acts like a ul and this is accessible.
It is not clear why adding an id on the ul of an accordion, and then clicking one of these links in IBM Documentation, renders the accordion inoperable. Nor is it clear why it is considered not accessible when its component parts are accessible.
On this page: https://ibmdocs-test.mybluemix.net/docs/en/SSQNUZ_4.x_test?topic=developer-resources

Expand and collapse the accordions, they work.
Click a link to one of the two accordions, that link works.
Try to open or close the accordion, doesn't work.
Refresh the page, try to open or close the accordion, it works again.

Aha.  The problem I saw was that IBM Docs had converted my V18 accordion to Carbon and dropped the ID value, which in V18 was on the  element.  In V18 an accordion usually had a single  and multiple  elements for the accordion items, each with their ID.  Therefore, I expected the same model in Carbon... it does seem odd to have a separate  for each accordion item.
You can see the failing effect in https://www.ibm.com/docs/en/app-connect/cloud?topic=frequently-asked-questions#topic_getting_started__faq_what-apps  (target ID does not exist)
That dropping of the ID value and the linking failure was the reason for my worse accessibility comment.
I have since reinstated the IDs on the  elements, and see the linking behaviour working OK with the ID on the ; for example:
https://ibmdocs-test.mybluemix.net/docs/en/app-connect/cloud?topic=frequently-asked-questions#topic_getting_started__faq_what-apps
...But can move the ID to the  if that is the standard to follow.  I could not find the standard markup in the Carbon docs.  (I find the Carbon docs hard to use to identify standards to follow - the docs are much worse than the V18 docs!)  I also have to inspect and reverse engineer what IBM Docs is doing to try to get pages working again after migrating from IBM Developer (V18).
I'd like to get the automatic opening of accordion items working too.  Individual items for links is better UX, and a "Show all" is good UX for browsing, searching, and printing multiple accordion items like in an FAQ.

@AnimatIan I've added the id back to the ul, but the click to get to the ul of the accordion renders the accordion inoperable until a refresh of the page is done. I think this must be an error in the react to render the accordion. If you can get around that, I'd be very happy :-)

(I find the Carbon docs hard to use to identify standards to follow - the docs are much worse than the V18 docs!)

Since we are an open-source project, we would happily welcome any PR's that help enhance our documentation to reduce any confusion you may be having.
Aside from that, here is an example I've put together that seems to address the root issue of being able to link to an open Accordion: https://codesandbox.io/s/wild-hill-rmmoy?file=/src/index.js
In this example, I've added an id="test" to the first AccordionItem, an anchor link at the top of the page using href="#test", and some large margin to show the scrolling. I've also added a react hook to control the open state of the Accordion. On click, it scrolls to the accordion via the href and sets the state to open.
This seems to resolve the questions in this issue, so I hope this helps!


catch probable test exception so we have good results

Scope & Purpose
This improves test result handling, so the test flow will not be abortet by exceptions in mid air, and fail to deliver results as seen here:
caught exception during test execution!
cluster startup: pid 18275 no longer alive! bailing out!
Error: cluster startup: pid 18275 no longer alive! bailing out!
    at /work/ArangoDB/js/client/modules/@arangodb/testutils/process-utils.js:1924:15
    at Array.forEach (<anonymous>)
    at checkClusterAlive (/work/ArangoDB/js/client/modules/@arangodb/testutils/process-utils.js:1895:27)
    at Object.reStartInstance (/work/ArangoDB/js/client/modules/@arangodb/testutils/process-utils.js:2566:5)
    at runArangodRecovery (/work/ArangoDB/js/client/modules/@arangodb/testsuites/recovery_cluster.js:187:8)
    at Object.recovery [as recovery_cluster] (/work/ArangoDB/js/client/modules/@arangodb/testsuites/recovery_cluster.js:296:7)
    at iterateTests (/work/ArangoDB/js/client/modules/@arangodb/testutils/testing.js:525:36)
    at unitTest (/work/ArangoDB/js/client/modules/@arangodb/testutils/testing.js:615:12)
    at main (UnitTests/unittest.js:67:14)
    at UnitTests/unittest.js:118:14
{}
2022-02-24T12:39:51Z [5653] ERROR [8a210] {general} JavaScript exception in file 'UnitTests/unittest.js' at 85,5: Error: cluster startup: pid 18275 no longer alive! bailing out!
2022-02-24T12:39:51Z [5653] ERROR [409ee] {general} !    throw x;
2022-02-24T12:39:51Z [5653] ERROR [cb0bd] {general} !    ^

unrelated error in foxx-allow-install-from-remote-off.js and macos. Rest green.


Timeout with buttons?

Hey,
Just wondering if it is possible to use the timeout option, if the noty has buttons?
I'm setting timeout to false in my defaults, then trying to create some noty's with buttons and overriding the timeout to 180*1000. I'm finding that I cant override the default timeout if I also set buttons within that noty. As soon as I remove the buttons I can override the timeout fine.
Is this expected?
Cheers

I would love to be able to set multiple criteria for closing notys

same as #247


Added react & prop-types as dependency to react-i18n

This pr adds missing dependencies from react-i18n.

prop-types
react

Should also fix #288.
Here is the current badge error:

Screenshot of error from Bundlephobia:

#172 was fixed by same approach.


Azure Cloud Shell intermittently doesn't work for some users

Windows Terminal version
1.17
Windows build number
No response
Other Software
No response
Steps to reproduce

Open up an Azure Cloud Shell tab
Go through the login process

Expected Behavior
Logs in successfully
Actual Behavior

(screenshot above is from an Azure Support employee messaging me on Teams)
This is the second of this kind of report we have received recently so there's likely something here. I have collected traces of the login process above and the current suspicion is that there was an API change on the Azure side and we aren't conforming to the new API. We have set up a meeting with the Cloud Shell team, will update here once that's done.

Wait @PankajBhojwani isn't this just the same as #16098?

Oops yes it is, deleting this and moving my comments to that one


Android Bluelink App language is reset to English when using hyundai_kia_connect_api

Hyundai / Kia Connect version: v1.40.11
Python version: 3.9.13
Operating System: Windows 10 and Raspberry Pi 11 (bullseye)
Android Bluelink App: 2.0.7

Description
When the Android Bluelink App language is configured for non-English, by using the hyundai_kia_connect_api the Android Bluelink App is reset to English. So somehow the authentication/login/api does reset the Android Bluelink App to English.
What I Did
I've looked at the source code of hyundai_kia_connect_api and I thought it's the side effect of the following python statement in KiaUvoApiEU.py, line 68:
        if BRANDS[brand] == BRAND_KIA:
            auth_client_id = "f4d531c7-1043-444d-b09a-ad24bd913dd4"
            self.LOGIN_FORM_URL: str = (
                "https://"
                + self.LOGIN_FORM_HOST
                + "/auth/realms/eukiaidm/protocol/openid-connect/auth?client_id="
                + auth_client_id
                + "&scope=openid%20profile%20email%20phone&response_type=code&hkid_session_reset=true&redirect_uri="
                + self.USER_API_URL
                + "integration/redirect/login&ui_locales=en&state=$service_id:$user_id"
            )
        elif BRANDS[brand] == BRAND_HYUNDAI:
            auth_client_id = "64621b96-0f0d-11ec-82a8-0242ac130003"
            self.LOGIN_FORM_URL: str = (
                "https://"
                + self.LOGIN_FORM_HOST
                + "/auth/realms/euhyundaiidm/protocol/openid-connect/auth?client_id="
                + auth_client_id
                + "&scope=openid%20profile%20email%20phone&response_type=code&hkid_session_reset=true&redirect_uri="
                + self.USER_API_URL
                + "integration/redirect/login&ui_locales=en&state=$service_id:$user_id"
            )

The statement "ui_locales=en" could cause the side effect? Should it be "ui_locales=de" for Germany and "ui_locales=nl" for the Netherlands? But changing that, still the language setting in the Android Bluelink App is reset to English.

Could you try editing this and seeing if it helps? https://github.com/Hyundai-Kia-Connect/hyundai_kia_connect_api/blob/9a3beacd620044e8a5cd0d5d52ceb22b1f338e9b/hyundai_kia_connect_api/KiaUvoApiEU.py#L626
This line also references langauge:
https://github.com/Hyundai-Kia-Connect/hyundai_kia_connect_api/blob/9a3beacd620044e8a5cd0d5d52ceb22b1f338e9b/hyundai_kia_connect_api/KiaUvoApiEU.py#L597
We have had this reported on kia_uvo too but I haven't spent time testing since I don't have a car in EU. Makes it hard to test.

Reference someone else who had this.  Not something I could focus on at the time but if you can test out and implement the languages the app supports I can extend into kia_uvo https://github.com/fuatakgun/kia_uvo/issues/339

I tried it out, the BlueLink App kept the language Dutch, when changing all above.

Awesome.   I assume the app has a few language options.  I am thinking we may this an option parameter for the vehicle manager init? If not passed we just take default of en I find it odd this isn't just set and stored to the account but this is the way.

Ok, I have tried to make the changes, see the attached patch file.
But I was not sure if the way I included this in KiaUvoApiEU.py is the correct way to do this, namely:
LANGUAGE = VehicleManager.language

I also put the patch file in text here below,
Left base folder: C:\Users\Rick\git\monitor\hyundai_kia_connect_api-1.40.11
Right base folder: C:\Users\Rick\git\monitor\hyundai_kia_connect_api
diff -r KiaUvoApiEU.py KiaUvoApiEU.py
7a8
> import VehicleManager
38a40
> LANGUAGE = VehicleManager.language
77c79
<                 + "integration/redirect/login&ui_locales=en&state=$service_id:$user_id"
---
>                 + "integration/redirect/login&ui_locales=" + LANGUAGE + "&state=$service_id:$user_id"
88c90
<                 + "integration/redirect/login&ui_locales=en&state=$service_id:$user_id"
---
>                 + "integration/redirect/login&ui_locales=" + LANGUAGE + "&state=$service_id:$user_id"
668c670
<             + "oauth2/redirect&lang=en"
---
>             + "oauth2/redirect&lang=" + LANGUAGE
697c699
<         payload = {"lang": "en"}
---
>         payload = {"lang": LANGUAGE}
diff -r VehicleManager.py VehicleManager.py
31c31
<     def __init__(self, region: int, brand: int, username: str, password: str, pin: str, geocode_api_enable: bool = False, geocode_api_use_email: bool = False):
---
>     def __init__(self, region: int, brand: int, username: str, password: str, pin: str, geocode_api_enable: bool = False, geocode_api_use_email: bool = False, language: str = "en"):
38a39
>         self.language: str = language

Issue145.patch.txt

Two thoughts would be look at using enum's in the constant to define the valid options.

Actually I can select 15 languages, so an Enum is not so flexible. You just pass the locale as a string according to the wanted language is more flexible. In the patch I did add in the previous post, the default language is "en", so you just describe the possible language abbreviations in the README or as a link to a page describing the language abbreviations.

That works for me! Could you drop a PR?

Thanks for the merge, really appreciate the work @cdnninja
The language feature is now used by my new release https://github.com/ZuinigeRijder/hyundai_kia_connect_monitor/releases/tag/R2.9.0

Thank you for this! Greatly appreciate the contribution!


Add state management to the frontnend

@i-am-steve-oh We have cherry picked everything we need from here, right? I might delete the branch then. If i get the time tomorrow I will do more work on the WPF branch to make some progress on the UI.


prefer wheel-provided libkvikio.so, use RTLD_LOCAL

Description
Contributes to https://github.com/rapidsai/build-planning/issues/118
Modifies libkvikio.load_library() in the following ways:

prefer wheel-provided libkvikio.so to system installation
expose environment variable RAPIDS_LIBKVIKIO_PREFER_SYSTEM_LIBRARY for switching that preference
load libkvikio.so with RTLD_LOCAL, to prevent adding symbols to the global namespace (dlopen docs)

Notes for Reviewers
How I tested this
Tested the general approach on https://github.com/rapidsai/cudf/pull/17316 and https://github.com/rapidsai/cuspatial/pull/1483.

/merge


Moving more types from reth crate to node core crate

Ref #6063

@mattsse Have moves args, and other modules on which it is dependent to the node-core crate. Any other refactoring required?

Will fix the failed checks by EOD. But is this the desired approach.


Add support for events declared in the interfaces

Currently using Event object we can subscribe only on events, that are declared in some class or it's parent. But sometimes I want to declare event in the interface, implement it by some class, and subscribe on event in this interface, not in the class, example:
interface SomeInterface
{
    const EVENT_SOME_EVENT = 'someEvent';
}

class SomeClass extends Component implements SomeInterface
{
   public function domSomething() {
       $this->trigger(self::EVENT_SOME_EVENT);
   }
}

Event::on(SomeInterface::class, SomeInterface::EVENT_SOME_EVENT, function() {
   // My handler
});

But in current implementation of the Event::trigger method only events for parent classes are checked, but not from interfaces. May be we should add checking for events in the interfaces too?

Any idea how implementation could look like?

In the pull-request

OK. Looks quite interesting but also makes events not as lightweight as they used to be. Worth benchmarking...

https://github.com/yiisoft/yii2/commit/b68613b7469a7e5df42e0f532cc5370964b07899 https://github.com/yiisoft/yii2/commit/e0f4114d77bef0e3f1847801b3a41f5a9f6dc62e


Doesn't work with KeePass 2.42

This plugin simply doesn't work with KeePass 2.42. Please update it.

Fixed with 1.0.9.


Add API for custom world generators

This is the API part of a custom world generation API. I was asked by @bloodmc to create a PR, so here it is.
Plugins can now implement the WorldGeneratorProvider interface. It is intended that, when the world is set to use that plugin as world generator, the plugin will be passed a WorldGenerator instance, which it can modify to provide custom populators, a custom biome generator and of course a custom chunk generator.
When a plugin wants to modify the terrain generation of an existing world, it can call world.getWorldGenerator(), make the desired changes and then call world.setWorldGenerator(). A plugin can also ask the world generator to generate something in a custom buffer. This is for example useful if a plugin wants to create a biome map: it just calls world.getWorldGenerator().getBiomeGenerator().
I'm also working on an implementation, see https://github.com/SpongePowered/Sponge/pull/214.
Overview of all classes and interfaces
PluginManager
PluginManager got a new method to let a plugin modify a world generator. This method is intended to be called by other plugins who want to create worlds with that plugin as the world generator.
I'm not too happy with the location of this method, I will try to find another location.
World
The get/setSeed methods have been moved to WorldGenerator, as the world seed is purely a world generator property. The JavaDocs of getWorldGenerator have been clarified.
BiomeType
Previously, there were two methods: getPopulators and insertPopulator. There was no indication whether the iterable returned by getPopulators was mutable. The existance of a insertPopulator method suggests it isn't, and that insertPopulator should instead be used to add populators (but how do you remove populators then?).
I have just made the list mutable, so that people can do BiomeType.JUNGLE.getPopulators().add(...), but also BiomeType.JUNGLE.getPopulators().clear(). The insertPopulator method is now redundant, and has been removed.
The JavaDocs of getPopulators have also been clarified.
BiomeGenerator
Lots of parameters have been removed. The size of the area to generate can be retrieved from the buffer, so no need to specify it in the method. If only part of the buffer needs to be generated, then a method can be added to the buffer to view a subset of it, similar to java.util.List.subList. I feel that adding the dimensions in extra parameters will only be a source of bugs. It's not hard to imagine a plugin that ignores those parameters and ruins the whole buffer.
The world parameter is also removed. Many methods on world can cause new chunks to be generated, which would cause calls to the biome generator, which would cause an infinite loop. All useful information of the world has been provided when the plugin was asked to provide a biome generator, so the plugin can keep track itself of the world seed, name, settings, etc.
GeneratorPopulator
Same story here as for BiomeGenerator.
Populator
The world parameter has been removed from the method: people can just call chunk.getWorld() to get the world.
A huge wall of text has been added to explain terrain population, hopefully people will now write populators that don't have all kinds of rare bugs.
PopulatorObject
No changes here, only a bit of extra JavaDocs.
PopulatorObjects
As per the JavaDocs of Populator, it is not at all easy to write a well-behaving populator. This class helps you to turn a PopulatorObject into a well-behaving Populator. Currently there's only one method, but more can be added in the future.
WorldGenerator
Added a getter/setter for the GeneratorPopulator. Made the same changes to getPopulators()/insertPopulator() as I did for BiomeType. The addition of the getter/setter for the world seed have been explained above for the World class.
PR #515 renames the WorldGenerator to ChunkGenerator. I have kept the name the same, as I feel that this class should contain everything related to world generation, not just chunks, but also the biome generator, world seed and whether map features are enabled.
In other words: the design of this class is still in flux, if the class indeed gets renamed to ChunkGenerator some methods will need to be moved.
WorldGeneratorProvider
A plugin needs to implement this class when it's able to provide a world generator. The plugin will then get a WorldGenerator instance, ready for the plugin to modify. The world name is passed separetely, the world seed can be retrieved from the
The settings are currently a simple String, but this can be changed to something more fancy.

Thanks @rutgerkok , Looks great!
@DDoS @Deamon5550 Please review.

BlockVolume and BiomeArea should have bound getters added. To prevent conflicts when both interfaces are implemented, BlockVolume should have getBlockMin() and getBlockMax(), and BiomeArea, getBiomeMin() and getBiomeMax(). For convenience, there should also be getBlockSize() and getBiomeSize() which return the equivalent of Max - Min + 1.
An OutOfBoundsException is thrown if an attempt is made to access data outside the Min and Max bounds.
The coordinate system for these access interfaces should be the most global one. If one represents a region of a world from p1 to p2, then blockMin = min(p1, p2) and blockMax = max(p1, p2). Same for biomes but with y discarded.
This is more desirable than always having min = 0 and max = size -1 because to properly generate you need the location of the buffer in the world.
Vector3i min = buffer.getBlockMin();
Vector3i max = buffer.getBlockMax();
for (int z = min.getZ(); z <= max.getZ(); z++) {
    for (int y = min.getY(); y <= max.getY(); y++) {
        for (int x = min.getX(); x <= max.getX(); x++) {
            buffer.setBlock(x, y, z, someGenFunc(x, y, z));
       }
   }
}

is more natural than
Vector3i size = buffer.getBlockSize();
for (int z = 0; z < size.getZ(); z++) {
    for (int y = 0; y < size.getY(); y++) {
        for (int x = 0; x < size.getX(); x++) {
            int wx = x + pos.getX();
            int wy = y + pos.getY();
            int wz = z + pos.getZ();
            buffer.setBlock(wx, wy, wz, someGenFunc(wx, wy, wz));
       }
   }
}

This might be a bit confusing at first for some cases such a chunks, which also implement these interfaces, since chunk.getBlock(0, 0, 0) would only by valid for chunk (0, 0), but it's worth it for consistency and simpler code.

It would be better to have a WorldGeneratorRegistry (or use GameRegistry) where plugins can register WorldGeneratorProviders.
It should not be a requirement that the plugin class is the provider class. Plugins should also be able to register multiple world generator providers.

You seem to be focusing on making sure implementing is not difficult, but try to make the API look good, not make the implementation easy to do. Implementation shouldn't guide API.

This is already mostly how I assumed the buffers would work, and it's also how I implemented the first few buffers.
One exception: getMaxBound() is exclusive (so getting a block at that position results in an IndexOutOfBoundsException). This is how I iterate over the blocks in my example plugin: (note that the x, y and z are the real world coords)
        Vector3i min = buffer.getMinBound();
        Vector3i max = buffer.getMaxBound();
        for (int x = min.getX(); x < max.getX(); x++) {
            for (int y = min.getY(); y < max.getY() && y <= MAX_Y; y++) {
                for (int z = min.getZ(); z < max.getZ(); z++) {
                    setBlock(buffer, x, y, z, seed);
                }
            }
        }

I can change the getMaxBound() to be inclusive if you want. Either way, the JavaDocs need  to be improved.
You other suggentsion still stands: there are currently no different getMinBound() and getMaxBound() methods for biome and block areas, so implementing both buffers is currently impossible: one returns a Vector3i, the other Vector2i.
In the Vector2i returned by the biome area, the y coord corresponds to the z coord in the world, which leads to confusing code like this: int zStart = min.getY();
Possible fixes:

Do what you said, ignore that buffer.getBlockSize().getZ() == buffer.getBiomeSize().getY().
Use Vector3i even for biome areas. However, buffer.setBiome(new Vector3i(3, 3, 3)) would then update the whole column, ignoring the y value.
Don't use vectors at all for biome areas. (buffer.getMinX(), buffer.getMinZ(), buffer.setBiome(x, z, biome), etc.)
Add a new interface called Column with an x and z pos.
Other ideas?

@rutgerkok
I don't really have any issues against an exclusive max, but inclusive seems more natural to me conceptually (although for code it isn't as much). Does anyone have any reason to favour one over the other?
For the biomes coord issue, the simplest solution is really the best here:
buffer.getBlockSize().getZ() == buffer.getBiomeSize().getY()

The problem with using Vector3i for biomes is that it might give the wrong idea that biomes are 3D.
There's also no reason why the biome area should be the same size as the block volume, although it will almost always be the case. Hence having two independent sizes is somewhat better.
It has already been decided that biomes will use Vector2i, instead of Vector3i with the y coordinate ignored. See: https://github.com/SpongePowered/SpongeAPI/pull/480#discussion_r25638806

@kenzierocks
I started by creating an API that would be ideal, then I made compromises to make the implementation not too difficult to maintain. The Sponge team will have to update the code to each and every Minecraft release....
That said, I don't always choose the easiest way. I already have this beast over here to make any IChunkProvider able to generate chunks of any size.
The structure problem requires much more thought, it really won't fit in this PR. For structures, you need to do predictions about terrain that doesn't exist yet to decide on the layout of a structure. In Minecraft, we have seen many approaches to that problem: the desert temple ignores the terrain altogether and spawns at a fixed height, the mineshafts also ignore the terrain and spawn at a random height, the villages always spawn at the surface no matter how hilly the terrain is, etc. Adding a nice structure API can always be done at a later date, it's just too much work for me right now.
The oneWorld.setWorldGenerator(anotherWorld.getWorldGenerator()) problem is there because the IChunkProvider class has a close relationship to one world. Maybe ChunkProviderGenerate can be updated to fix this, but this is impossible to do for all modded IChunkProviders in existance.
And so on.. The API will have limitations, we can't do everything, at least not now. The List<GeneratorPopulator> issue will probably be fixed, but the Sponge team will need to maintain more code because of this.
@boformer
Yeah, your idea about the registry could work. I will try to implement something like that.

@DDoS
I will change the max coords to be inclusive, unless anyone objects. I will also rename the bounds methods to be like you suggested.

@rutgerkok
Ok, just to be sure there's no confusion, they should be added to the BiomeArea and BlockVolume classes, not the buffers.

Looks great :+1:
I hope you work on addressing the Sponge teams critiques soon so I can start using it

I updated the API, I hope I didn't miss anything.
The base generator populator is not part of the getGeneratorPopulators() list. Although the two implement the same interface, they are completely different. You should not have two generator populators that generate the base terrain, but two generator populators that create caves work fine. So for the base terrain there's no List, only for the other generator populators. Maybe it would be a good idea to change the base generator populator over to a new interface called BaseChunkGenerator? In this way, it's impossible to accidentally add the generator populator using the wrong method.
@DDos I have added two methods to the Area classes (getBlockMin/getBlockMax), but the methods of the VolumeBuffer and AreaBuffer classes are still there (getMinBound/getMaxBound). What should I do there? Leave both? I have changed getMaxBound to be inclusive for consistency with getBlockMax and getBiomeMax.

@rutgerkok Do we even need the Area/VolumeBuffer interfaces? You could probably add the bound methods from the access interfaces to the immutable buffers separately, since they can't implement these interfaces. The mutable buffer gets these by extending the access interfaces. The mutable and immutable buffers don't need a common super interface, so you can remove Area/VolumeBuffer.

Looking fantastic so far @rutgerkok . Thanks for making the requested changes.

@rutgerkok Great that you moved the registration to the GameRegistry :)

@DDoS

So remove Area/VolumeBuffer, add the proper bounds methods to BiomeBuffer and VolumeBuffer. I don't think that the fact that the mutable buffers implement the access interfaces will be a problem.

Done.

I will now try to rebase this PR on https://github.com/SpongePowered/Sponge/pull/218 (both the API and implementation).

Rebased the API and made it work better with the API on master. Notable changes:

All generator settings have been moved out of WorldGenerator, they are now in WorldProperties/WorldCreationSettings/WorldBuilder. The (generator) populator lists remain, as well as the biome generator.
You can now specify the WorldGeneratorModifiers to use in WorldBuilder.
You can now change the WorldGeneratorModifiers in WorldProperties. world.setWorldGenerator will be removed soon, but it's still here until I have implemented the methods on WorldBuilder and WorldProperties.
Removed GeneratorType registerGeneratorType. This method forced plugins to create an implementation of WorldGenerator (making it almost impossible to evolve this interface, and risking plugins implementing the interface incorrectly). World generator modifiers are the way forward for plugins that want to modify terrain generation.

I hope to update the implementation tomorrow.

The SpongeEventFactory tests have failed for StateEvent. This needs to be fixed.
Other than that, I'm approve this PR.


created transformation project mapper

extracts the transf proj from the an information asset and adds it to the data engine process model
This PR is related to https://github.com/odpi/egeria/pull/4955

I updated the naming in Egeria here https://github.com/odpi/egeria/pull/5056 and also updated this PR.


Providing a "required" attribute

Currently, my form elements cannot be marked as "required". It would be great, if there were a possibility like the following sample shows:
{{input firstName required="true"}}

even better:
{{input firstName required}}

With custom templates i could access the required attribute to show something like:
The fields with * are required
Firstname*:

Closing in favor of #229


Ok so HOW

Seeing a lot of these kinds of statements in the content
"Here's a standard Bot Framework message payload that can be delivered to any channel and display text to the user."
That's great ... HOW. What Api calls do I use to convert this template into an activity in my bot to send back to my user.
You've got a bunch of information about the Json for the card. I already have these. I got the Json from the Adaptive Cards Documentation I've got the Nuget from the Nuget server this article is supposed to be about
"Adaptive Cards for Bot Developers" which is the one thing it doesnt cover. How does a Bot developer tie the Json into the Bot?

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

ID: 0d5f1948-8ed0-f397-99ac-d10d8ae74d2b
Version Independent ID: 63485280-4fee-678e-c5d4-5cd4b4dfd3bf
Content: Adaptive Cards for Bot Developers - Adaptive Cards
Content Source: AdaptiveCards/getting-started/bots.md
Product: adaptive-cards
GitHub Login: @matthidinger
Microsoft Alias: mahiding

Are Adaptive cards libraries available for python

I would like some clarity as well on how this can be used in the bot's development. How to have a custom element, etc. The documentation is very sparse

Finally. Somebody calling out MS on their horrible documentation. I mean come on. At least show us where to begin so our bot can open or create the adaptive card. The JSON and screenshots of the adaptive cards don't do anything for us. Like what...

The document doesn't even explain HOW to get the bot to end an adaptive. Am I missing something?


HTTP Error 422: Unprocessable Entity

Github Manager does not work anymore and throws the messages like:
fatal: [localhost]: FAILED! => {"changed": false, "errors": ["request failed Repo sovereigncloudstack.org@SovereignCloudStack cannot be updated: {'url': 'https://api.github.com/repos/SovereignCloudStack/sovereigncloudstack.org', 'msg': 'HTTP Error 422: Unprocessable Entity', 'status': 422, 'body': 'no body', 'response': <HTTPError 422: 'Unprocessable Entity'>}"], "msg": "Failures occured", "repository": null}

Also for orgs/SovereignCloudStack/repositories/k8s-os-health-monitor.yml and orgs/SovereignCloudStack/repositories/poc-rancher.yml

Fixed, there were lots of repos which were archived manually but not switched to "archived" in github-mananger.

https://github.com/SovereignCloudStack/github-manager/pull/294


Error setting up component Kodi

Make sure you are running the latest version of Home Assistant before reporting an issue.
You should only file an issue if you found a bug. Feature and enhancement requests should go in the Feature Requests section of our community forum:
Home Assistant release (hass --version):
.34.3
Python release (python3 --version):
3.5.2
Component/platform:
media_player/kodi
Description of problem:
Exception during initialization of kodi platform - my username and password are both empty, so I seems like the Kodi authorization part doesn't like that?
Expected:
Kodi to work with blank usernames and passwords
Problem-relevant configuration.yaml entries and steps to reproduce:
- platform: kodi
  host: http://pi0.xekm.com
  port: 18080
  name: kodi-pi0

- platform: kodi
  host: http://pi1.xekm.com
  port: 18080
  name: kodi-pi1

Traceback (if applicable):
16-12-06 07:35:35 homeassistant.components.media_player: Error while setting up platform kodi
Traceback (most recent call last):
  File "/srv/hass/lib/python3.5/site-packages/homeassistant/helpers/entity_component.py", line 150, in _async_setup_platform
    entity_platform.add_entities, discovery_info
  File "/usr/lib/python3.5/asyncio/futures.py", line 361, in __iter__
    yield self  # This tells Task to wait for completion.
  File "/usr/lib/python3.5/asyncio/tasks.py", line 296, in _wakeup
    future.result()
  File "/usr/lib/python3.5/asyncio/futures.py", line 274, in result
    raise self._exception
  File "/usr/lib/python3.5/concurrent/futures/thread.py", line 55, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/srv/hass/lib/python3.5/site-packages/homeassistant/components/media_player/kodi.py", line 59, in setup_platform
    turn_off_action=config.get(CONF_TURN_OFF_ACTION)),
  File "/srv/hass/lib/python3.5/site-packages/homeassistant/components/media_player/kodi.py", line 80, in __init__
    self.update()
  File "/srv/hass/lib/python3.5/site-packages/homeassistant/components/media_player/kodi.py", line 114, in update
    self._players = self._get_players()
  File "/srv/hass/lib/python3.5/site-packages/homeassistant/components/media_player/kodi.py", line 91, in _get_players
    return self._server.Player.GetActivePlayers()
  File "/home/hass/.homeassistant/deps/jsonrpc_requests/jsonrpc.py", line 112, in __call__
    return self.__request_method(self.__method_name, args, kwargs)
  File "/home/hass/.homeassistant/deps/jsonrpc_requests/jsonrpc.py", line 96, in __request
    return self.send_request(method_name, is_notification, args or kwargs)
  File "/home/hass/.homeassistant/deps/jsonrpc_requests/jsonrpc.py", line 37, in send_request
    response = self.request(data=request_body)
  File "/srv/hass/lib/python3.5/site-packages/requests/sessions.py", line 535, in post
    return self.request('POST', url, data=data, json=json, **kwargs)
  File "/srv/hass/lib/python3.5/site-packages/requests/sessions.py", line 474, in request
    prep = self.prepare_request(req)
  File "/srv/hass/lib/python3.5/site-packages/requests/sessions.py", line 407, in prepare_request
    hooks=merge_hooks(request.hooks, self.hooks),
  File "/srv/hass/lib/python3.5/site-packages/requests/models.py", line 306, in prepare
    self.prepare_auth(auth, url)
  File "/srv/hass/lib/python3.5/site-packages/requests/models.py", line 527, in prepare_auth
    r = auth(self)
  File "/srv/hass/lib/python3.5/site-packages/requests/auth.py", line 68, in __call__
    r.headers['Authorization'] = _basic_auth_str(self.username, self.password)
  File "/srv/hass/lib/python3.5/site-packages/requests/auth.py", line 38, in _basic_auth_str
    b64encode(b':'.join((username, password))).strip()
TypeError: sequence item 0: expected a bytes-like object, NoneType found

Additional info:

duplicate of #4666

This was not corrected by 4770, and is still an issue after 34.3.

@Spartan-II-117 i don't think this fix has made it into a point release.

https://github.com/home-assistant/home-assistant/pull/4774 was closed 16 hours ago, and the fix for Kodi went in 5 hours ago. I believe we will see this fix in the future.

@cmsimike mea culpa, I thought I had seen it on the list for 34.3


contact form submission functionality added

@vivekvardhan2810
I fixes #135 issue to add contact form submission functionality.

@AkankshaSinghK pls resolve the conflicts.

@AkankshaSinghK In contact page it is coming like this

can you check it.


Recommended usage

I am currently working a on a project which is used on multiple servers with multiple PHP versions.
Until now I used put backport packages (like this) into require-dev (for testing) and support section of composer.json.
However recently I found out that I could even require it in all cases which has two effects:

it gets installed in case of every installation (every PHP version, this is not so good)
I don't have to manually install it based on the deployment environment

A third option is to install it globally on older servers, but I don't like that either.
Does anybody have a good answer for this? What is the best practice?

If you'll note here: https://github.com/ramsey/array_column/blob/master/src/array_column.php#L12
This library does a check to see if the array_column() function already exists, so it should be safe to include it on all your servers, as there will be no conflict. I've made every attempt to ensure it behaves exactly like the core PHP function.
Does this answer your question?

Thank you for your answer.
Actually I am aware of that check, this is why installing it on every PHP version is possible at all.
My concern is that installing a package for every PHP version to support an EOL version...does it really worth it?
I am curious about how people do it in practice. I mentioned a few arguments, maybe there are more which help me decide whether it worth to add a dependency by default or just suggest it and people still using PHP 5.3 should deal with the case.

I understand your question now. :-)
It's a hard decision because, technically, you need to require it, otherwise parts of your application won't work or may error out. If you only suggest it, then you'll need to do checks in those parts of your application that use it so that they either gracefully degrade or they throw nice exception messages.
I would recommend requiring it for the current version of your application/library, especially since so many people are still running PHP 5.3 and 5.4. With the next major version bump of your application/library, then maybe you consider setting your application's minimum PHP version requirement to 5.5 or 5.6 (or 7.0, when it comes out).
I'll leave this comment open for now, in case others want to respond with their own recommendations.

Makes sense. This is not such a big library that it takes too much resources to download/store/load it.
Also, even if I take the number of uses into consideration (the majority is 5.5 now IMO) it is probably better to install it always instead of suggesting it. As you said, there are many points where the application can fail because of badly installed dependencies.
Thanks for your response.
I think this is an interesting (and unanswered) question in the community related to backport packages.


fix SpacingAroundCommaRule when comma goes after comment

Disable autocorrection for comma spacing rule if comma on newline preceded by // comment.
Fixes #367

@shashachu I managed to make auto correction work, but ran into another comment related case.
This code
fun main() { x(1 /* comment */ , 3); x(1 /* comment */, 3) }
will be formatted by current version as follows
fun main() { x(1 /* comment */, 3); x(1 /* comment */, 3) }
After this fix it became
fun main() { x(1, /* comment */ 3); x(1 /* comment */, 3) }
Is this behavior correct, or it should be left as it is now?
Also, maybe you can come up with other scenarios where auto correction might not work as expected in this rule?

@shashachu I managed to make auto correction work, but ran into another comment related case.
This code
fun main() { x(1 /* comment */ , 3); x(1 /* comment */, 3) }
will be formatted by current version as follows
fun main() { x(1 /* comment */, 3); x(1 /* comment */, 3) }
After this fix it became
fun main() { x(1, /* comment */ 3); x(1 /* comment */, 3) }
Is this behavior correct, or it should be left as it is now?

Sorry for the late reply. That doesn't look correct, as the intended behavior is to attach the comment to the first parameter, not the second.

I agree. My last commit fixed it, now the comma is only moved before the comment in case if comma is on a new line. Check out the tests.

Sorry for the delay - looks good to me. Thanks!


Physical view is not presenting

Reason
The microblink physical view is not presenting
Description
The follow error code is present in the console log.
Attempt to present <BRNewStaticScanViewController: 0x10f83ac00> on <TtGC7SwiftUI19UIHostingControllerGVS_15ModifiedContentVS_7AnyViewVS_12RootModifier_: 0x10c034e00> (from <TtGC7SwiftUI19UIHostingControllerGVS_15ModifiedContentVS_7AnyViewVS_12RootModifier_: 0x10c034e00>) which is already presenting <TtGC7SwiftUI19UIHostingControllerV11TikiRewards10HomeScreen: 0x10c02f400>.
Success Criteria

[ ] Present the microblink physical scan view

Additional Information
No response

duplicate https://github.com/tiki/apps-rewards-ios/issues/63


HttpRequest - Basic Auth

Is there any support for basic authorization for example just as Axios supports?
Following example is not working.
description: Vygenerování pouze jednoho čísla pojistné události [200]
includes: [expects.js]
actors:
  - actor: API
    segments:
      - segment: 1
        actions:
          - description: Provolání API
            action: org.getopentest.actions.HttpRequest
            args:
              verb: POST
              url: $data("api").claimBaseUrl
              username: $data("api").username
              password: $data("api").password
              headers:
                Content-Type: application/json
                X-Context: $data("api").token

You should be able to do basic auth by simply adding the Authorization header and dynamically generating it's value:
- description: Provolání API
  action: org.getopentest.actions.HttpRequest
  args:
    verb: POST
    url: $data("api").claimBaseUrl
    username: $data("api").username
    password: $data("api").password
    headers:
      Content-Type: application/json
      X-Context: $data("api").token
      Authorization: $script "Basic " + $base64($data("api").username + ":" + $data("api").password)

This will result in something like Authorization: Basic am9objpqcGFzc3c=. The portion that follows after the text Basic is the Base64 encoding of the username and password separated by a colon (e.g.: "john:jpassw").


Added fallback ASCII for *BSD, Solaris, and GNU (Hurd)

Description
Added fallback ASCII for contingency if neofetch detects a BSD/Solaris/GNU (Hurd)-based systems that doesn't yet/will never have proper ASCII.
Logos:

BSD Beastie taken from Wikipedia
GNU ASCII from the GNU website
Solaris ASCII from the old Sun Solaris logo

:+1:


open file as pdf

Q
A

Bug fix?
no - ?

New sample?
yes?

What's in this Pull Request?
formatter generates a link to open file as pdf.
This replaces my previous #231 opened on Apr 25 by russgove

hey whjats up with this?

Thanks @russgove. This has been waiting a very long time. Thank you for your patience and your sample!

😌 I wasn’t patient, i gave up!
no worries
Sent from my iPad

On Jul 6, 2022, at 3:31 PM, Chris Kent @.***> wrote:

Thanks @russgove. This has been waiting a very long time. Thank you for your patience and your sample!
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.


Player health not being saved/health bar not updating when loading save file

Thought I had my own project open, whoops haha


submit order response code

PostOrder should return some status about the order i.e. status after submit

submitted successfully
rejected (reason)

http://sra-spec.s3-website-us-east-1.amazonaws.com/#operation/postOrder

@benjyz the SRA spec already includes a code, a human-readable reason, and more details nested under validationErrors. Here's a screenshot from the SRA spec page:

What exactly do you think is missing?

do relayers follow the spec? what's the "enforcement" mechanism there, i.e. I have the feeling relayers do all kinds of things, but not entirely clear how they follow spec or not. where would I file an issue with a relayer.

@benjyz which relayer? Some have public Github accounts for feedback.


Is possible support dynamic linq?

Hi, Please,  is possible add support to dynamic linq  ? https://github.com/NArnott/System.Linq.Dynamic, this library return a IQueryable, not Iqueryable... Thanks

I added new tests for System.Linq.Dynamic here. Just add  .Cast<type>() before calling the Cacheable method.

Thanks but this not work because in EF6+ the Cast<>  not work with dynamic class (Dynamic Linq produce a dynamicClassXX). this is the error:
.....
var resultTemp = queryable.Cast().Cacheable().ToListAsync().Result; <-- because dynamic linq only return async methods... in my code, so the result is:
An exception of type 'System.NotSupportedException' occurred in EntityFramework.dll but was not handled in user code
Additional information: Unable to cast the type 'DynamicClass6' to type 'secModule'. LINQ to Entities only supports casting EDM primitive or enumeration types.
.....
This error occurs in EFCacheKeyProvider.cs
in this line (15):  traceString = objectQuery.ToTraceString();
Now, I'm add a copy of your methods for support Iqueryable, starting with this:
public static EFCachedQueryable Cacheable(this IQueryable query)
{
return Cacheable(query, new EFCachePolicy(), new EFCacheDebugInfo());
}
...... etc
But the next error is this:
An exception of type 'System.InvalidOperationException' occurred in EntityFramework.dll but was not handled in user code
Additional information: The source IQueryable doesn't implement IDbAsyncEnumerable. Only sources that implement IDbAsyncEnumerable can be used for Entity Framework asynchronous operations. For more details see http://go.microsoft.com/fwlink/?LinkId=287068.

.Result is a blocking property, which means your query won't be async anymore.

vote for extend Dynamic Linq's language with the possibility for creating new strong-typed classes. In this case, your cast would work for custom projections.


Add Quick installation Code

Reduce the workload of installation.

ResourceFunction["GitHubInstall"]["RuleBasedIntegration", "Rubi"] may be better for version 12 or later, XD

@wuyudi @miRoox Thanks for making this suggestion. However, first, we would need to bring the paclet up-to-date with the latest integration rules from Albert. There seem to be problems and I haven't looked at the code in ages.

ResourceFunction["GitHubInstall"]["RuleBasedIntegration", "Rubi"] may be better for version 12 or later, XD

Actually 11.3 has this function.

@wuyudi I did not forget this PR :) What we first need to do is to make a GitHub release that contains the fixed FileNameJoins. I talked to Albert recently and the integration rules seem not to have changed, so we're fine on this front.
I have another thing going on in this branch. It includes a link Steps output that you can click then it opens the correct position in the "integration rule notebooks" where you can instantly see from which book/reference the integration rule was derived. Additionally, you see of course the real code for the rule.


Reordering layers in layerlist cause action buttons to disappear

Adding a layerlist to the mapview  with group layers, legend and transparency action buttons, and selectionEnabled = true causes the legend and transparency action buttons to disappear upon layer reordering.  This happens for all the layers in the group being reordered but not layers in other groups.  This did not happen with 4.17 and webpack.  It also doesn't happen with 4.18 using the cdn.  It seems to limited to 4.18 and the ES Modules.

@nbabel can you provide a github repo or stackblitz the reproduces the issue? Thanks!

@andygup I just downloaded this repo to create an example for you and I can't recreate the error.  So it must be something specific to my app.  I edited the repo to be closer to may app, @arcgis/core v4.18.0, angular v8.2.14.  But still can't recreate the problem.

I was able to recreate the problem at the api level.  The issue is when you reorder layers within a subgroup (group within a group).  Here is a pen that shows the problem: https://codepen.io/nbabel/pen/ExgNMwO
I also created a geonet post about it since it seems to be an issue with the api itself not necessarily this repo.
https://community.esri.com/t5/arcgis-api-for-javascript/add-a-legend-to-layerlist-sample-with-group-layers-and/m-p/1028136#M71811

Thanks for clarifying and providing a sample @nbabel! We will take a look.

This has been fixed on next, but may not have been deployed to npm. https://codepen.io/kekenes/pen/qBqKBxB?editors=1000

Thanks @ekenes I just did a fresh npm install with "@arcgis/core": "^4.18.0" and it did not fix the issue.  Is there an incremental release I should update to or will this be in the 4.19 release?

npm install @arcgis/core@next

Thanks @odoe, but what is @next?  I'm not familiar with that.

https://github.com/Esri/feedback-js-api-next

Thanks for the clarification @ekenes.


False positive DOC203

The following code I believe follows numpydoc style for the return documentation:
def list_documented_parameters(docstring: str):
    """Extract a list of documented parameters from docstring.

    Supports numpydoc-style, google-style and rst-style formats.

    Parameters
    ----------
    docstring: str
        documentation string

    Returns
    -------
    parameters: list
        names of the parameters
    types: list
        types of the parameters
    descriptions: list
        description of the parameters
    """
    return [], [], []

pydoclint gives:
"1: DOC203: Function list_documented_parameters return type(s) in docstring not consistent with the return annotation. Return annotation has 0 type(s); docstring return section has 3 type(s)."
Sorry if I misunderstood something.
Version:
$ pip install pydoclint
Collecting pydoclint
  Using cached pydoclint-0.5.9-py2.py3-none-any.whl.metadata (6.9 kB)
Requirement already satisfied: click>=8.1.0 in /usr/lib/python3/dist-packages (from pydoclint) (8.1.6)
Requirement already satisfied: docstring-parser-fork>=0.0.9 in /home/user/.local/lib/python3.12/site-packages (from pydoclint) (0.0.9)
Using cached pydoclint-0.5.9-py2.py3-none-any.whl (46 kB)
Installing collected packages: pydoclint
Successfully installed pydoclint-0.5.9

Hi, you'd need to annotate the return types in the function signature.
def list_documented_parameters(docstring: str) -> tuple[list, list, list]:

My code base actually does not have any annotations. I added one to the param arg to make the case simpler, but this error occurs with or without.
There is --arg-type-hints-in-signature=False but nothing corresponding for return types.

If I may make a suggestion, the error code should be split into two:

one error code for "missing annotations".
one error code raised only when annotations are present and where "annotations are inconsistent". Presumably this should be DOC203.

This would allow me to ignore case (1), and give error messages that are precise.
A further possibility to consider is to change the code so that DOC203 is not raised when --arg-type-hints-in-signature=False.

one error code for "missing annotations".

pydoclint doesn't check "missing annotations" but rather inconsistent annotations.  In other words, if annotations are missing in the function signature and in the docstring, pydoclint is fine with that.

A further possibility to consider is to change the code so that DOC203 is not raised when --arg-type-hints-in-signature=False.

So in your example, return type annotation rather than argument type annotation missing.  "arg type hints in signature" only covers the arg list, not the return type.

one error code for "missing annotations".

pydoclint doesn't check "missing annotations" but rather inconsistent annotations. For example, if annotations are missing in the function signature and in the docstring, pydoclint is fine with that.

I agree that this should be the behaviour.

A further possibility to consider is to change the code so that DOC203 is not raised when --arg-type-hints-in-signature=False.

So in your example, return type annotation rather than argument type annotation missing. "arg type hints in signature" only covers the arg list, not the return type.

Yes, it only refers to the arg list. Perhaps an additional flag is needed then.

I am maintaining a code base that should work with old python versions, I cannot add annotations but would like to keep the informative docstring annotations. In my mind, unspecified annotations (that is, a lack of PEP 3107 annotations) are consistent and compatible with documented annotations.

I'm closing this issue.  Please feel free to reopen if there's additional things to discuss.


Broken since 0.1.17: Cannot read property 'length' of undefined

With 0.1.15:
$ neon build
neon info forcing rebuild for new build settings
neon info running cargo
warning: unused manifest key: workspaces
   Compiling regex-syntax v0.4.0
   Compiling cslice v0.2.0
... etc ...

0.1.16 is broken due to the missing ts-typed-json.
With 0.1.17:
$ neon build
neon ERR! Cannot read property 'length' of undefined

I haven't found an obvious way to get debug output out of neon-cli.
Node version 6.10.3, also tested with 7.10.0.
npm version 5.0.0

Fixed in 0.1.18.


cannot start julia

run Julia code, then julia is not booted. The log message is as following,
Window load time: 638ms
/deep/ combinator is deprecated. See https://www.chromestatus.com/features/6750456638341120 for more details.
::shadow pseudo-element is deprecated. See https://www.chromestatus.com/features/6750456638341120 for more details.
Error reporting uncaught exception Error: Cannot find module '../package.json'
at Module._resolveFilename (module.js:338:15)
at Function.Module._resolveFilename (C:\Users\Liye Zhang\AppData\Local\atom\app-1.8.0\resources\app.asar\src\module-cache.js:383:52)
at Function.Module._load (module.js:289:25)
at Module.require (module.js:366:17)
at require (C:\Users\Liye Zhang\AppData\Local\atom\app-1.8.0\resources\app.asar\src\native-compile-cache.js:50:27)
at Object. (C:\Users\Liye Zhang\AppData\Local\atom\app-1.8.0\resources\app.asar\node_modules\exception-reporting\lib\reporter.js:14:17)
at Object. (C:\Users\Liye Zhang\AppData\Local\atom\app-1.8.0\resources\app.asar\node_modules\exception-reporting\lib\reporter.js:209:4)
at Module._compile (C:\Users\Liye Zhang\AppData\Local\atom\app-1.8.0\resources\app.asar\src\native-compile-cache.js:103:30)
at Object.defineProperty.value [as .js] (C:\Users\Liye Zhang\AppData\Local\atom\app-1.8.0\resources\app.asar\src\compile-cache.js:208:21)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:313:12)
at Module.require (module.js:366:17)
at require (C:\Users\Liye Zhang\AppData\Local\atom\app-1.8.0\resources\app.asar\src\native-compile-cache.js:50:27)
at C:\Users\Liye Zhang\AppData\Local\atom\app-1.8.0\resources\app.asar\node_modules\exception-reporting\lib\main.js:19:24
at Function.module.exports.Emitter.simpleDispatch (C:\Users\Liye Zhang\AppData\Local\atom\app-1.8.0\resources\app.asar\node_modules\event-kit\lib\emitter.js:25:14)
at Emitter.module.exports.Emitter.emit (C:\Users\Liye Zhang\AppData\Local\atom\app-1.8.0\resources\app.asar\node_modules\event-kit\lib\emitter.js:125:28)
at C:\Users\Liye Zhang\AppData\Local\atom\app-1.8.0\resources\app.asar\src\atom-environment.js:832:32
Uncaught TypeError: Cannot read property '1' of null

How did you install Juno? Do you only get that error when julia-client is installed/enabled or always?

i get it always julia executable is on the path. Nevertheless i have also tried to set the path in the julia-client configuration.

Atom 1.8.0

The error is
C:\Users\jrubio\AppData\Local\atom\app-1.8.0\resources\app.asar\node_modules\exception-reporting\lib\main.js:25 Error reporting uncaught exception Error: Cannot find module '../package.json'(…)(anonymous function) @ C:\Users\jrubio\AppData\Local\atom\app-1.8.0\resources\app.asar\node_modules\exception-reporting\lib\main.js:25
events.js:141 Uncaught Error: spawn where ENOENT

That's a different error -- please check that C:\Windows\system32 is on your Path and add it if not.

thank you for the answer.
It's working now. The issue seems related to the order of the installed plugins.
After an Atom cleanup (removed users/user/.atom,  AppLocal/atom, Roaming/Atom) and reinstaling, it works.  It works if Juno is installed as the first plugin.
As you point out, my issue is not related to the issue described in this thread.

Thank you for you reply. I successfully installed Juno on another computer in the same way.  During installation, Juno shows no message for a longtime. I suggest to show the information during installing related packages to let users know the progress and what is happening.
I use JuliaDT to edit the code again, because the current Julia editors are similar, only for editing the code. Another reason is that Juno does not support using Debug.jl  for debugging in in an interactive way from console window.  Hope there will be a mature IDE soon.


Add a feature flags for selectively pulling in which tls the reqwest dependency will use

When doing cross compilation with rust. OpenSSL can be quite tricky and projects doing that would like the option of using rustls instead of openssl. This PR allows users of the XRPL Rust SDK to customize which tls dependency gets used with the underlying reqwest crate used by the xrpl_http_client.

pretty good change imo - for maximal interoperability we should set default-features = false for most/all dependencies.

Thank you.

Should we make the rustls feature the default?

for maximal interoperability we should set default-features = false for most/all dependencies.

Can you elaborate a bit on this? What kind of problems does setting default-features to false solve?

for maximal interoperability we should set default-features = false for most/all dependencies.

Can you elaborate a bit on this? What kind of problems does setting default-features to false solve?

A lot of blockchains support functionality of smart contracts - which run in constrained environments (where the smart contracts and/or core chain logic are compilable to WASM that runs in a no_std environment).
In such an environment, you cannot use the features of standard rust (std::..).
Since XRPL is also a blockchain; it's likely that other projects may also want to utilize the same primitives/types, encoding/decoding and signature verfication schemes/logic in their chains to have better interop with XRPL (i.e. build a bridge for example).
If the code/logic to interop with XRPL can only run in a no_std environment, then unfortunately the crates in this repo cannot be used as they cannot operate in a no_std env.
On a sidenote, im currently in the process of converting xrpl_types and xrpl_binary_codec to run in no_std env (for our usecase); but it will take some time for the repo to be functional since all the other crates that depend on on these will also need some updating (specifically the Error type).

Update: PR for no-std support: https://github.com/futureversecom/xrpl-sdk-rust/pull/2

I will merge, but probably make reqwest-rustls a default feature. You see an issue with that @gunnigylfa ?

No problem with that, thanks for merging!


Purge/Rename channels

Rename:

[x] #producthuntto -> #producthunt

Remove from default channels:

[x] #firesideconf

Purge:
?

How about we send out a purge notice for the following channels, giving people 1 week to move to their umbrella channel?

[ ] #ux -> #design
[ ] #security, #science -> #technology
[ ] #apis -> #programming
[ ] #oakville -> #toronto
[ ] #making -> #homeautomation (rename to #diy)

#security #science and #technology should remain apart
#making & #automation, not sold on that change.


Shell script generated with commented options

Hi.
The kwargs options passed in the Slurm({"account": ...., }) constructor are commented in the resulting bash script because of the hash symbol (#) in line 68 of slurmpy.py.
header.append("#SBATCH %s%s" % (k, v))

that's how directives are passed to slurm. https://slurm.schedmd.com/sbatch.html


rm signing root (fixes #1487)

The reasoning for the signing-root removal can be found in #1487
This is a proposal. So far there was reasonable support expressed, but more discussion/suggestions are welcome.
Changelog:

Introduce signed containers:

DepositData already uses "data". And since we sign over a message, I think I like "msg" as general field name for the (msg, signature) type wrappers.
May generalize it to SignedContainer[MsgType] helper type construction. Just want to see it working first.

Update containers/state to use new signed and bare container types.

No empty zeroed signature in the state anymore
Operations (and things like proposer slashings) use the new signed containers.

DepositData is an edge case: I made a DepositMsg type to sign the contents over, replicating the exact old signature of signing root. I don't think this is much of a problem, as DepositData is not a message anyway, and within Deposit it is indeed more like data (with a proof) than a message (with a signature).
Improve transition function for proposers: to verify the signature apart from the bare header contents (which don't contain a signature anymore). Blocks and headers are still transparent, but can now both be wrapped in Signed variants to (block/header into msg field, and add the signature field)

Validator API doc is improved with this now: a minimal working function to produce a valid block state root.
Split previous test case into an invalid-sig and zeroed sig case, just to be sure.
Changed the validate_state_root to just "checked": the signature signs over the state root. It makes no sense to ignore the state root, but then enforce it partially with the signature check (testing infra previously signed twice: one dummy signature for missing state root, then the real one once the state root could be computed).

Also note that process_blockheader is now so clean it could have been a BeaconBlockHeader as input type. But kept it as block, as scoping it to just the header data only requires the spec to convert from normal block to header. Clients can abstract/interface this nicely how they like it (or nearly keep it as is).

Updated validator and network docs to account for this removal of signing root. Verbosely again to make it clear: SignedBeaconBlock.msg is a BeaconBlock, and the hash_tree_root of this BeaconBlock msg is signed over to create signature signature.
Testing infra improved:

Use new signed container types
always clearly state "signed_block" when it's a (msg, signature) pair.
hash_tree_root everywhere
fix signature problems with fork-choice pyspec tests (Ran full test suite with BLS forced on to catch problems, and noticed these got in, since we don't output them as vectors, and CI didn't check the BLS part of these tests)
No more double signature hack or just-in-time randao signature creation. Clear bare data is passed around and when signed wrapped in the appropriate signed container type.

no signingroot :tada:

Note: left old Phase 1 use of signing root as-is, it's changing anyway with the new PR (see #1483 )
We may want to squash this PR when merging. Or I can rebase and split the test work from the spec changes.

@hwwhww renamed checked to validate_result. Two things to consider here:

I think it should absolutely be True by default, even if overruled elsewhere. Verification of the block signature and state root are probably the two most important things to eth2 phase0...
Added an unsigned-transition method in the testing machinery. Which is a clean call to process_slots, process_blocks, and done. Same thing in the validator spec for proposers to build their block. But for spec purposes, I think it's useful to highlight the option as part of the beacon chain spec itself, or alternatively we link to the validator spec which describes the transition for a proposer building its block.

Changed msg -> message and DepositMsg -> DepositMessage, and squashed the PR commits.

LGTM - generally, naming has been brought up as a potential area of improvement  and I'd generally agree that it would be good to do a holistic rename round once something like this is merged so that there is structure to the naming (DepositMessage for example looks a bit odd)


Flask required only if necessary

Related to #380
Only requires Flask package to be installed when using specifically related functionality.

Coverage remained the same at 100.0% when pulling 363cb63ad76245005eb197ad3840e94171751575 on flask-support-note into 53908d30e566ccb81d73d3e27b461f407a8a8d31 on master.

Coverage remained the same at 100.0% when pulling 363cb63ad76245005eb197ad3840e94171751575 on flask-support-note into 53908d30e566ccb81d73d3e27b461f407a8a8d31 on master.

@rafaelcaricio can we first release Connexion without this breaking change? This breaking change (existing users need to update their requirements to pull in Flask) should also get a major version number bump I guess. Let's first roll out the Framework changes in a compatible way (no changes necessary by users) and see if it works for everybody.

@hjacobs I was thinking about that. But still this changes here are important. I will just change the setup.py for now to include Flask by default and change back the README.

@hjacobs Done in https://github.com/zalando/connexion/pull/424/commits/86891ab74df0bdbf68051327432e7fe05a026cd2.

Changes in this PR will make easier to release Connexion 2.x in near future. I still want to make some more changes before going for 2.x, mostly related to https://github.com/zalando/connexion/issues/283. So we release together those breaking changes.

Coverage remained the same at 100.0% when pulling 89cf913c8455337c48dd626417cfd33460e18f95 on flask-support-note into 53908d30e566ccb81d73d3e27b461f407a8a8d31 on master.

Coverage remained the same at 100.0% when pulling 89cf913c8455337c48dd626417cfd33460e18f95 on flask-support-note into 53908d30e566ccb81d73d3e27b461f407a8a8d31 on master.

Coverage remained the same at 100.0% when pulling 86891ab74df0bdbf68051327432e7fe05a026cd2 on flask-support-note into 53908d30e566ccb81d73d3e27b461f407a8a8d31 on master.

Coverage remained the same at 100.0% when pulling b04f773d541d4bb4f973f09710b6a16d020e1727 on flask-support-note into 53908d30e566ccb81d73d3e27b461f407a8a8d31 on master.

Coverage remained the same at 100.0% when pulling b04f773d541d4bb4f973f09710b6a16d020e1727 on flask-support-note into 53908d30e566ccb81d73d3e27b461f407a8a8d31 on master.

Coverage remained the same at 100.0% when pulling b04f773d541d4bb4f973f09710b6a16d020e1727 on flask-support-note into 53908d30e566ccb81d73d3e27b461f407a8a8d31 on master.

Coverage remained the same at 100.0% when pulling b04f773d541d4bb4f973f09710b6a16d020e1727 on flask-support-note into 53908d30e566ccb81d73d3e27b461f407a8a8d31 on master.

@rafaelcaricio we could release the current master as version 1.*. What do you think?

(totally selfish here), but if at all possible, I would like to get #425 in the next released version. Currently, we are doing a pip install from the forked version, but it isn't ideal.

@rafaelcaricio after the latest merge -> conflicts to be resolved :smirk:

Sorry about that :( Looks like it is just imports, shouldn't be too hard to fix. I think after the resolution it should look like
￼from flask import jsonify, redirect, request
￼
￼from connexion import NoContent, ProblemException, problem

@vimalloc Don't worry. I am fixing that. 😉
@hjacobs Yes, after merging this PR we can release a new version of Connexion still under 1.x. If people are not playing with Connexion's internals in their services everything should continue work as usual.

@rafaelcaricio I felt adventurous and released https://github.com/zalando/connexion/releases/tag/1.1.6

@hjacobs it is ok, but flask was removed from the setup.py in the current master. This PR puts it back. So after merging this, we should release again with this "bug fix".

@rafaelcaricio uh, I did not see this!

:+1:

@rafaelcaricio go for it, my GnuPG setup is also broken atm, so you can do tag -s.


Illegal instruction (core dumped)

attempting to run
 ./tigerbeetle format --cluster=0 --replica=0 --replica-count=1 0_0.tigerbeetle

dont see any other info, maybe if you have a docker image it could be a nice easy way to spin up an instance ?
cat /etc/os-release
    NAME="Linux Mint"
    VERSION="20.3 (Una)"
    ID=linuxmint
    ID_LIKE=ubuntu
    PRETTY_NAME="Linux Mint 20.3"
    VERSION_ID="20.3"
    HOME_URL="https://www.linuxmint.com/"
    SUPPORT_URL="https://forums.linuxmint.com/"
    BUG_REPORT_URL="http://linuxmint-troubleshooting-guide.readthedocs.io/en/latest/"
    PRIVACY_POLICY_URL="https://www.linuxmint.com/"
    VERSION_CODENAME=una
    UBUNTU_CODENAME=focal

    ./tigerbeetle version --verbose
    Illegal instruction (core dumped)

    sha256sum ./tigerbeetle
    f692ca17fb97f235d6db61b20ce7a0b6ae3aaee9c7d6f341eabfcdb2d0fcb0b0  ./tigerbeetle

    cat /proc/cpuinfo | head -n28
    processor	: 0
    vendor_id	: GenuineIntel
    cpu family	: 6
    model		: 42
    model name	: Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz
    stepping	: 7
    microcode	: 0x2f
    cpu MHz		: 900.000
    cache size	: 6144 KB
    physical id	: 0
    siblings	: 8
    core id		: 0
    cpu cores	: 4
    apicid		: 0
    initial apicid	: 0
    fpu		: yes
    fpu_exception	: yes
    cpuid level	: 13
    wp		: yes
    flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer xsave avx lahf_lm epb pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid xsaveopt dtherm ida arat pln pts md_clear flush_l1d
    vmx flags	: vnmi preemption_timer invvpid ept_x_only flexpriority tsc_offset vtpr mtf vapic ept vpid unrestricted_guest
    bugs		: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit mmio_unknown
    bogomips	: 4390.18
    clflush size	: 64
    cache_alignment	: 64
    address sizes	: 36 bits physical, 48 bits virtual
    power management:

running the docker command
docker run -p 3000:3000 -v $(pwd)/data:/data ghcr.io/tigerbeetle/tigerbeetle  start --addresses=<IP_ADDRESS>:3000 /data/0_0.tigerbeetle

the cli just exits with no output

Our binaries depend on some CPU features (e.g. hardware-accelerated AES) that your machine is missing.
Switching to a newer CPU would work :sweat_smile: (~2014 or newer).
Alternatively, you can compile without support for those CPU features.
If you clone the repo, you can apply this patch:
diff --git a/build.zig b/build.zig
index 99b0246a8..369f01b08 100644
--- a/build.zig
+++ b/build.zig
@@ -18,17 +18,17 @@ const supported_targets: []const CrossTarget = supported_targets: {
         "aarch64-macos",
         "x86_64-linux",
         "x86_64-macos",
         "x86_64-windows",
     };
     const cpus = .{
         "baseline+aes+neon",
         "baseline+aes+neon",
-        "x86_64_v3+aes",
+        "baseline",
         "x86_64_v3+aes",
         "x86_64_v3+aes",
     };
     for (triples, cpus) |triple, cpu| {
         result = result ++ .{CrossTarget.parse(.{
             .arch_os_abi = triple,
             .cpu_features = cpu,
         }) catch unreachable};

and then run zig build -Drelease to compile. Likewise you'll have to rebuild the client (instructions there depend on which language client you plan on using).

will give it a try on my other pc tomorrow, thanks

works fine on newer cpu

For anyone else looking for this - as of the latest release of tigerbeetle, you also need to comment out this line:
assert(std.crypto.core.aes.has_hardware_support);

in src/vsr/checksum.zig


Enhancement: Improve ResearchSquare Preprint display

https://outbreaksci.prereview.org/10.21203/rs.3.rs-32796/v1 says "Not Found"
**The title has something extra at the end. I wonder if removing that will fix things.
Here's the pdf: https://assets.researchsquare.com/files/rs-32796/v1/4a557e94-2c89-41ab-89c1-9e2f1e75bcbf.pdf
Here it is on Research Square: https://www.researchsquare.com/article/rs-32796/v1

IssueHunt Summary

Backers (Total: $100.00)

 prereview ($100.00)

Become a backer now!
Or submit a pull request to get the deposits!
Tips

Checkout the Issuehunt explorer to discover more funded issues.
Need some help from other developers? Add your repositories on IssueHunt to raise funds.

@murkatr does it work if you remove the v1 ? I believe that OSrPRE can't take the version numbers on the DOIs.

@georgiamoon Unfortunately, it still does not work when the v1 is removed.
@leonardosfl As an update, @georgiamoon will be emailing Research Square about this. We may need to take a different approach with Research Square preprints. (Also connecting the related #89 issue here.)

@murkatr Sorry for confusion — that email conversation is a bit unrelated to this issue.
My understanding from the @jheretic is that the issue is ResearchSquare doesn't enable us to reference the hosted PDF the way we are doing for other preprint servers.
At the moment I think the fix to this issue is to provide clearer feedback that the PDF can't be loaded, rather than that the PDF is not found. This is more similar to what I was suggesting in #75 which is another situation in which the user experience is affected by the unavailability of a preprint (in that case a 503 error).
The solution in #146 looks good to me as a way to address this for now!
Another idea would be to have some template for the metadata we do have about a preprint, e.g. title, authors, abstract, doi, that could display on the right hand side of the UI, which is similar to how this is handled for bioRxiv and medRxiv preprints on prereview.org, e.g.:

https://www.prereview.org/preprints/doi/10.31234/osf.io/7yzhd

@leonardosfl FYI — We decided to clarify this issue vs #75 so that #75 is about better error handling and this issue is about improving the display of ResearchSquare preprints!

@georgiamoon Just to mention, this also affects ResearchGate preprints: https://outbreaksci.prereview.org/10.13140/RG.2.2.33033.06242/1

Yes — My understanding is that we need a way to handle each preprint server which is slightly different. Is that your sense as well @leonardosfl ? or is there a common solution for a few of them?

@georgiamoon The issue with ResearchGate is different. We are able to get the PDF URL, but ResearchGate doesn't seem to allow us to embed the PDF, it redirects to the preprint page if we try do it (which is the current behavior). I tried proxying it using the API, but ResearchGate detects that we are not using a browser and returns a 403 Forbidden.
Because of that, I think we'll have to use the approach you mentioned before:

Another idea would be to have some template for the metadata we do have about a preprint, e.g. title, authors, abstract, doi, that could display on the right hand side of the UI, which is similar to how this is handled for bioRxiv and medRxiv preprints on prereview.org, e.g.:

Moving to ResearchSquare, I noticed that it does allow embedding of PDFs, so we just need to implement the code to fetch the PDF URL.

@leonardosfl @jheretic @harumhelmy @rudietuesdays is there any update on this issue?

Hi, is this still available for anyone to try out?

Hi, is this still available for anyone to try out?


Clean up spec output on Travis

woo short travis logs
@homu r+

:pushpin: Commit f8f7334 has been approved by indirect

:hourglass: Testing commit f8f7334 with merge 9cd9d62...

@homu r=indirect

:pushpin: Commit 004585f has been approved by indirect

:hourglass: Testing commit 004585f with merge e23ea15...

:sunny: Test successful - status


It got worse!

I have an XML (that I'm not sure about its TM, so can't paste it here, sorry), that has just one line with AS warning:

Very long vector path (1364 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector.

But after I used the avocado, it  turns to two lines AS warning:

Very long vector path (1071 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector.

Very long vector path (875 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector.

But yea, it reduced the size of the file:

ic_logo.xml:
Done in 63 ms!
4.056 Kb - 22.6% = 3.141 Kb

Can you please include the files you were optimizing? Not much info for me to work with here. :)

@alexjlockwood Issue updated.

There may be two lint warnings now, but what if you compare the total characters of all of the android:pathData attributes before vs. after?

Before avocado: 3607 characters,
After avocado: 2727 characters.


Enable logbin by overriding my.cnf

Hi, When I submitted my source connector using docker-compose exec connect-debezium bash -c '/scripts/create-mysql-source.sh' command, It was successful but, it's task failed. I saw this using connector REST API:
    {
        "name": "mysql-source-demo-customers",
        "connector": {
            "state": "RUNNING",
            "worker_id": "<IP_ADDRESS>:8083"
        },
        "tasks": [
            {
                "id": 0,
                "state": "FAILED",
                "worker_id": "<IP_ADDRESS>:8083",
                "trace": "org.apache.kafka.connect.errors.ConnectException: Cannot read the binlog filename and position via 'SHOW MASTER STATUS'. Make sure your server is correctly configured
        at io.debezium.connector.mysql.AbstractReader.wrap(AbstractReader.java: 230)
        at io.debezium.connector.mysql.AbstractReader.failed(AbstractReader.java: 208)
        at io.debezium.connector.mysql.SnapshotReader.execute(SnapshotReader.java: 678)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java: 1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java: 624)
        at java.lang.Thread.run(Thread.java: 748)
        Caused by: java.lang.IllegalStateException: Cannot read the binlog filename and position via 'SHOW MASTER STATUS'. Make sure your server is correctly configured
        at io.debezium.connector.mysql.SnapshotReader.lambda$readBinlogPosition$16(SnapshotReader.java: 710)
        at io.debezium.jdbc.JdbcConnection.query(JdbcConnection.java: 436)
        at io.debezium.jdbc.JdbcConnection.query(JdbcConnection.java: 377)
        at io.debezium.connector.mysql.SnapshotReader.readBinlogPosition(SnapshotReader.java: 694)
        at io.debezium.connector.mysql.SnapshotReader.execute(SnapshotReader.java: 252)
        ... 3 more
        "
            }
        ],
        "type": "source"
    }

Using https://serverfault.com/questions/366924/mysql-check-enable-binary-logs answer I found that my binlog is not enabled. It seems that binlog configuration is not enabled because its configuration has been overridden by another configuration.
I overridden my.cnf file to prevent the problem.

Hmmm I'm puzzled by this. Can you double check that if you rebuild the stack (docker-compose down; docker-compose up) the issue persists, without your changes?
I did make a mistake in a previous version where I used the native image, but the Debezium one should do the config that you're suggesting.

Hi @rmoff, I still face the same problem after rebuilding the stack.
Maybe different OS behave differently. I use Ubuntu 18.04 as my host.


Elasticache Cluster Mode - Throws Connection Errors During Update/Maintenance

Describe the bug
We're currently running an AWS Elasticache Redis Cluster with multiple shard and nodes which works great, until we do a scheduled update event where we start receiving a lot of Predis\Connection\ConnectionException: Connection timed out [tls://clustercfg.##############.eh01hp.use1.cache.amazonaws.com:6379] when one of the nodes in the shard get updated./patched.
It appears that even though there are other nodes in the shard and the rest of the cluster is healthy that requests fail until the server is updated and returned back into rotation. The current predis setup we're using is to pass the AWS Elasticache configuration endpoint as the host value when initialising predis. The AWS elasticache cluster configuration endpoint is basically a CNAME that returns all the A records of the nodes in the cluster (including the node that's been taken out of service).
I suspect what's happening here is that predis (due to the order of the A records rotating) is attempting to query a single node when making the request to the cluster and is unable do autodiscovery of the other nodes etc? If that's the case i suspect it maybe as simple as changing the way we initialize predis to contain all the nodes returned by the configuration endpoint.
In that track does predis cache the autodiscovered nodes from the cluster for a period of time like phpredis? I wasn't able to see anything in the documentation.
Lastly if i'm on the right track with the DNS issue being problematic would we be open to having the library handle enumerating the nodes from a DNS value that returns multiple values i.e with a flag in the initialization or by default?
I've had a good hunt to find any real documentation regarding this specific issue and have come up with basically nothing.
To Reproduce
Steps to reproduce the behavior:
Run an elasticache cluster using the cluster configuration endpoint as the host value for predis. Then perform patching / maintenance on a node.
Expected behavior
Predis to continue serving traffic to the other nodes in the cluster (when they're promoted), and at the least don't return a timeout error.
Versions (please complete the following information):
v1.1.7
Code sample
If applicable, a small snippet of code that reproduces the issue.
Additional context
Add any other context about the problem here.

Thanks for reporting this, @mattjamesaus. Can you submit a PR with a solution?

Well it doesn't necessarily need to be implemented in predis, it could be up to the wrapped code to enumerate these values. I guess what I'm trying to determine, is the aforementioned issue then expected result and if so that's ok.
I think it could be dangerous if this behaviour is changed if others are expecting it to behave consistently.
It could be a case of just updating the doc to call this out and an example of how to enumerate the records prior to hand off.


Add queryRay methods.

I added the queryRay methods to World. This is an extension of the querySegment methods. It was a real doozy to research, but the test works without crashing or unexpected results. Actually, the example works really well and I'd love to compare the performance against other similar libraries some day. By the way, this is my first contribution that goes beyond the original spec, bringing us ahead of Bump.lua. Thanks for your support!

Wow, this is great stuff! I'm going to need to figure out a project to use this with soon! Merging, thanks for all your hard work!


CentOS 8.2 - invalid arithmetic operator on line 127 and 177 in hyperion-prepare.sh

Hi,
i have an issue with your "hyperion-prepare.sh" Script on line 127 and 177 in CentOS.
[root@centos ~]# ./hercules-helper/hyperion-prepare.sh
We have a CentOS system
VERSION_MAJOR : 8.2
./hercules-helper/hyperion-prepare.sh: line 127: [[: 8.2: syntax error: invalid arithmetic operator (error token is ".2")
We have a CentOS system
VERSION_MAJOR = 8.2
./hercules-helper/hyperion-prepare.sh: line 177: [[: 8.2: syntax error: invalid arithmetic operator (error token is ".2")
Done!

My System:
[root@centos ~]# uname --all
Linux centos 4.18.0-193.28.1.el8_2.x86_64 #1 SMP Thu Oct 22 00:20:22 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

kind regards

I'll look into that for you.

This should be fixed with commit 51c9e7e.
Tested on CentOS 7.8 and 8.2.
Must be run as a normal user, not root.

This bug is fixed, but i have 2 another Bugs under CentOS
for one i open a pull request https://github.com/wrljet/hercules-helper/pull/5/commits/d20a65fa18f00f87a059ba3632adb64c225d9a19


Remove dependency on AspNetCore.All where it isn't needed

It would be nice if AspNetCore.All could be removed from a dependency here, as it's quite large - and from looking at the extension/source file, there isn't a need there.
This would make using the EF.DbContextFactory nicer outside of the context of an ASP .NET Core application.

Hi @ptyang
You're right, you might want to use EF.DbContextFactory on a Generic Host or something like that.
BTW what is your use case? just curious...
So yeah, I'll let this issue open to work thru it in the near future, thanks!

Actually I've just about wrapped up some changes in a repo where I've:

Moved out the dependency on AspNetCore.All to the IntegrationTest where it's actually being used
Upgraded both the EFCore.DbContextFactory.IntegrationTest project and the EFCore.DbContextFactory project to target .NET Core 2.1

Both projects build and tests still run fine, I'm going to have a PR for you if you want to take a look for ideas on upgrading the rest of the projects

That sounds really good, go ahead with the PR!

Yeah, I encountered an exception due to access by multiple threads to a shared DbContext and was looking into this project as a potential solution. However, I uninstalled when I saw it pull in the entire Microsoft.AspNetCore.All metapackage. For one thing that's a lot of dependencies but also it's pulling in the packages for ASP.NET Core 2 whereas I'm developing an ASP.NET Core 3 application.
So I'll hold off this library for now but probably take another look at it hen this and #19 are merged.

Closing this issue since this was done on the V2.0  and it's available now.


CashFlow relocation

Pull Request Description
What issue does this change request address? (Use "#" before the issue to link it, i.e., #42.)
Closes #1131
What are the significant changes in functionality due to this change request?
Updates location of CashFlow.

For Change Control Board: Change Request Review
The following review must be completed by an authorized member of the Change Control Board.

[x] 1. Review all computer code.
[x] 2. If any changes occur to the input syntax, there must be an accompanying change to the user manual and xsd schema. If the input syntax change deprecates existing input files, a conversion script needs to be added (see Conversion Scripts).
[x] 3. Make sure the Python code and commenting standards are respected (camelBack, etc.) - See on the wiki for details.
[ ] 4. Automated Tests should pass, including run_tests, pylint, manual building and xsd tests. If there are changes to Simulation.py or JobHandler.py the qsub tests must pass.
[x] 5. If significant functionality is added, there must  be tests added to check this. Tests should cover all possible options.  Multiple short tests are preferred over one large test. If new development on the internal JobHandler parallel system is performed, a cluster test must be added setting, in  XML block, the node <internalParallel> to True.
[x] 6. If the change modifies or adds a requirement or a requirement based test case, the Change Control Board's Chair or designee also needs to approve the change.  The requirements and the requirements test shall be in sync.
[x] 7. The merge request must reference an issue.  If the issue is closed, the issue close checklist shall be done.
[x] 8. If an analytic test is changed/added is the the analytic documentation updated/added?
[x] 9. If any test used as a basis for documentation examples (currently found in raven/tests/framework/user_guide and raven/docs/workshop) have been changed, the associated documentation must be reviewed and assured the text matches the example.

This change does impact some users, and an email inviting them to update their submodules is warranted when the merge is ready to go in.

Approved to merge if tests pass without incident.


Allow for aliases to be defined for sections within a page

We can currently define aliases at the page level, so that users searching for e.g. 'reveal' will be able to find the details component.
We don't currently have any equivalent functionality for sections on the page, so we can't e.g. alias section break as horizontal rule.
Adding this would help us to make sections within some of our longer pages more discoverable.

Some feedback to add to the experience of using search:

When searching for the override classes (i.e. ‘govuk-!-margin-bottom-9’ etc - I can never remember the format)  the only entry in the search facility is the width override (which is further down the page). I’d expect to see multiple results for the different types of override classes
Also when I’m looking for horizontal rule, it’s listed under spacing. I think I’d expect to be able to search on the word horizontal.
I also wondered if you’ve considered tried adding support for searching for html tags, and then listing results for any component that uses that. For example searching ‘h1’ would give me a result for the heading page

Like @christaylor-hod I frequently struggle to find the margin and padding override classes and the horizontal rules.
I've slowly learnt to search for 'width' to get the margin overrides, but this is somewhat counterintuitive.

Looks like this was closed by #2291 🎉


Can anyone explain why model loading fails when I try 'archead' while it works with 'normhead' during custom training with16 classes

ValueError: Shapes (512, 16) and (512, 85742) are incompatible

Hello, it d be nice to provide a better traceback with some of the code, still the problem seems to be the classification layer where the original dataset is supposed to have 85742 unique classes, whereas yours only has 16, you might need to change that manually in the last layer.

Hello !
I have the same problem, I want to use my own mini CASIA face dataset (with 91 classes ) for training and I have the same error, I don't know where to change it manually in the code ? I just change the ./configs/arc_res50.yaml file like this:
# general
batch_size: 128
input_size: 112
embd_shape: 512
sub_name: 'arc_res50'
backbone_type: 'ResNet50' # 'ResNet50', 'MobileNetV2'
head_type: ArcHead # 'ArcHead', 'NormHead'
is_ccrop: False # central-cropping or not

# train
train_dataset: './data/CASIA.tfrecord'
binary_img: True
num_classes: 91
num_samples: 14088
epochs: 5
base_lr: 0.0001
w_decay: !!float 5e-4
save_steps: 1000

# test
test_dataset: './data/CASIA_test.tfrecord'

Can I have any help please ?
(and thank you for the implementation of Arcface for TF2 , it's a good job ^_^)

Hello !
I have the same problem, I want to use my own mini CASIA face dataset (with 91 classes ) for training and I have the same error, I don't know where to change it manually in the code ? I just change the ./configs/arc_res50.yaml file like this:
# general
batch_size: 128
input_size: 112
embd_shape: 512
sub_name: 'arc_res50'
backbone_type: 'ResNet50' # 'ResNet50', 'MobileNetV2'
head_type: ArcHead # 'ArcHead', 'NormHead'
is_ccrop: False # central-cropping or not

# train
train_dataset: './data/CASIA.tfrecord'
binary_img: True
num_classes: 91
num_samples: 14088
epochs: 5
base_lr: 0.0001
w_decay: !!float 5e-4
save_steps: 1000

# test
test_dataset: './data/CASIA_test.tfrecord'

Can I have any help please ?
(and thank you for the implementation of Arcface for TF2 , it's a good job ^_^)


christy-branch: include application foundation

Included a bunch of folders/files to help us start building our web application :)

This looks great! These files seem awesome to help us jumpstart everything.

Tested locally and got it up and running; looks good!


Prompt for Suite API connection info

mp-test now prompts for suite api credentials as part of creating a new connection

They will still be in config.json, same as other connection info parameters. There's no way to update these through the UI yet (that will require some additional work/ui design, but we do want to support that eventually - see https://jira.eng.vmware.com/browse/VOPERATION-34410), but there's no problem manually updating them.

They will still be in config.json, same as other connection info parameters. There's no way to update these through the UI yet (that will require some additional work/ui design, but we do want to support that eventually - see https://jira.eng.vmware.com/browse/VOPERATION-34410), but there's no problem manually updating them.

would it help to add a message, something like "Suite API info saved in config.json". or do we expect the dev to know about config.json already?