feat: make input-cursor behaviour more consistent

Intent:
To make the Input-cursor more consistent with other implementations this PR does the following:

The cursor now "hard-toggles" from full opacity to transparent instead of animating.
The cursor does not animate while typing or changing the cursor-position.
The cursor-toggling timer resets on focus and key-events to give a more consistent behaviour while switching input fields for example.
This differs from the previous implementation where you would get inconsistent ticks depending on where in the timer-animation you would switch focus (if that makes sense 😄)

Other:
I went a bit back and forth of how and where to handle the logic (I previously kept more of it in the state, but finally settled on having most of it in one place), so any improvements are more than welcome! 🙌

Closes #422

Just tested this out - between this and #419 the input is really improving 😍
Thanks for your work and attention to detail on this @lessp - and thanks for reviewing @Akin909 !
Will bring this in after the CI checks for the merge finish 👍

Sweet! Happy to help out! 👏


.travis:fix up PodCIDRSuite failure on Arm64

Add mutex to protect the situation that invoke
c.Assert before ciliumNodesToK8s be deleted.
Signed-off-by: Jianlin Lv<EMAIL_ADDRESS>Fixes: #12306

Coverage decreased (-0.03%) to 36.956% when pulling 8328e989d51ca574653b5bfab43a3639cf98de81 on Jianlin-lv:pr-fix-podcidr-issue into c4b2c1e6c7245bdaf2bb4a904ed80a4087623f4d on cilium:master.

Is it the mutex that fixes this issue or the move into the select statement?
I think that previously, if there was a timeout for the 5s but the nodes got into the right state, it should (1) perform this check and (2) pass, although it prints an error via c.Error(). Now this check is not performed in the timeout case.

Mutex fixes this issue.
Updated this patch based on your comments.


I'm sorry, https://www.npmjs.com/package/linkifyjs did not show that jquery was an optional dependency, I now checked the package.json and saw this.

I'm sorry, https://www.npmjs.com/package/linkifyjs did not show that jquery was an optional dependency, I now checked the package.json and saw this.

Reading https://github.com/SoapBox/linkifyjs/blob/master/README.md#quick-start also increased the confusion so you may want to put a small notice that jquery is not required.


server side rendering switch to preact webpack.config.js issue

I am converting my project from React to Preact. Some React.Component is shared for client side and server side rendering.
The following only solves the client side rendering when the dependencies are bundling together
"resolve": {
    "alias": {
      "react": "preact-compat",
      "react-dom": "preact-compat"
    }
  }

As for the server side, I don't need the bundling because it will be run by node. How can I config the webpack.config.js to resolve require("react-dom/server"), require("react-dom") and require("react"). I don't want to change all require statement from react-dom to preact-compat. I dont want the preact-compat bundle with my server side rendering code.

You can transpile your code with babel using module-alias

As pointed out by @thangngoc89: if you don't want to touch your server code, your only option is to transpile with babel and to alias the react imports with preact-compat.

@thangngoc89 is correct - the best way to properly alias in Node (without webpack) is module-alias:
require('module-alias').addAliases({
  'react'  : 'preact-compat',
  'react-dom': 'preact-compat'
});

or, specify this in your package.json:
"_moduleAliases": {
  "react": "preact-compat",
  "react-dom": "preact-compat"
}

... and install the hook:
require('module-alias/register');

I'm doing some tests using preact. Everything works fine, when I'm using preact client-side. Using preact for SSR I always run into the same problem: I'm using a component library called antd. I compile/bundle my source without error, but when I run "node index.js" I always get Error: Cannot find module 'react' within the antd-files. Can anybody provide a webpack.config.js?
I'm using the following settings in different variations:
resolve: {
alias: {
react: "preact-compat",
"react-dom": "preact-compat"
}
},
target: "node",
externals: nodeModules,
//externals: nodeModules,
module: {
loaders: [
{
test: /.js$/,
exclude: /(bower_components)/,
loader: "babel-loader",
    query: {
      presets: ["preact","latest", "env"],
      plugins: [
        ["transform-react-jsx", { "pragma":"h" } ],
        ["module-resolver", {
          "root": ["."],
          "alias": {
              "react": "preact-compat",
              "react-dom": "preact-compat",
              "create-react-class": "preact-compat/lib/create-react-class"
          }
        } ]
      ]
    }
  },
]

},

@kappe Since you're running node index.js, I assuming you're not compiling your server code with Webpack ahead of time.
In which case, you probably need module-alias for creating an alias directly within Node.
const moduleAlias = require('module-alias')

moduleAlias.addAlias('react', 'preact-compat')
moduleAlias.addAlias('react-dom', 'preact-compat')

@lukeed I'm compiling my index.js but do exclude the antd-file (externals: nodeModules)
I've put these 3 lines of code on top of my index.js but I've got the same error.
When I try to include the "externals" I get several compiler errors.


refactor!: Refactor to make easy improvements

Has explained in the next comment, this refactor makes this project simpler to use and to improve: https://github.com/yanganto/struct-patch/issues/24#issuecomment-2254496376
I've based my work on the serde way of parsing AST into structs to make it more usable.
I've also changed the way I manage attributes to make it easier to add new ones.

Could we remove attribute?  and then the syntax will be simple
#[patch(attribute(derive(Deserialize, Debug), serde(rename = "foo"))]

->
#[patch(derive(Deserialize, Debug), serde(rename = "foo")]

Could we remove attribute? and then the syntax will be simple
#[patch(attribute(derive(Deserialize, Debug), serde(rename = "foo"))]

->
#[patch(derive(Deserialize, Debug), serde(rename = "foo")]

That's true it would be so much simple !
We just have to be careful to avoid the possibility between the attributes and the patch configuration attributes, but if there is no way to have conflict I can do that.
I also thought about this syntax (not sure if it's possible).
What do you think?
#[patch(
  #[derive(Deserialize, Debug)],
  #[serde(rename = "foo")]
)]

#[patch(
  #[derive(Deserialize, Debug)]
  #[serde(rename = "foo")]
)]

It is good and without ,, just parse everything between #[ and ] as inputs.
Such that if the developer forgot to put ,, it will not mater.

#[patch(
  #[derive(Deserialize, Debug)]
  #[serde(rename = "foo")]
)]

It is good and without ,, just parse everything between #[ and ] as inputs. Such that if the developer forgot to put ,, it will not mater.

Yes ok, I'll try that. This could allow code injection but it's his own code and I'll see how the formatter manage that

I could not implement a good solution for the attribute since the parse_nested_meta try to parse the sub attributes names to Iden which fails on # character.
This could be managed with more low level parsing but could not made it this morning.
I can look at that but only in a few days. I let the attribute for now.

Hi @taorepoara, looks good to me.
Is there anything you want to refactor in the PR?

Hi @taorepoara, it looks good to me. Is there still anything you want to refactor in the PR?

No, that all for this one. I'm working on another PR for other features and I'll try to implement the #[patch(#[my-attribute])] syntax later in another PR.


Dynamic namespaces

We are looking for a new feature that enables changing the watched namespaces dynamically without the need of an operator restart in (https://github.com/apache/flink-kubernetes-operator). This would significantly improve the operational experience in shared environments where a per namespace operator deployment is not an option.

Hi @morhidi, how do you envision this working, though? How would you communicate the namespaces to be watched? A ConfigMap? Environment variables?
This is entering the meta-operational realm, though and I'm not sure we should address this problem at the SDK level because I'm not sure we could craft a generic solution that would cover all use cases without opening up potential issues… like what happens if the provided namespaces are invalid or if the operator is not deployed with enough permissions to watch them? This would also most likely mean dedicating an always running process to monitor a configuration source and could also run the risk of crashing the operator with an invalid configuration (which would lead to the opposite of the desired result).
A possible solution would be to deploy your operator watching all namespaces and then have an informer/watcher/event source that would watch for events on namespaces with a specific label. That, in turn, would dynamically manage an event source for the associated namespace… 🤔 Maybe adding an API to simplify that handling could be worked out…

Hi @metacosm, thanks for your prompt reply. Let me add some context here. We would need to onboard our operator onto a larger shared environment where all operators run in a dedicated system namespace and where users register their namespaces in a self-service manner. The operators are not allowed to monitor all namespaces, and this is controlled by a fairly strict security policy.
We would only need,  from the SDK perspective, the ability to change the namespaces being monitored. Then we would use a ConfigMap + SharedIndexInformer in our case to react on the ConfigMap changes (which is managed externally, and this is indeed meta-operational realm I fully agree with you)
Let me know what you think.

I believe not having cluster wide permissions in a quite common case. We already support watching just a list of namespaces both for controllers and informers (in InformerEventSource from v3) . So this issues is about changing this list in runtime. At the end this means stopping old and/or starting new informers in the background. What is a much more efficient way then restarting the whole operator.
A way that I picture the API for this is having a notion of RegisteredController:
  Operator operator = new Operator(client);
  RegisteredController controller = operator.register(new WebPageReconciler(client));
  operator.start();

  controller.changeNamespaces([new namespace list])

The RegisteredController would provide the operations over running controller.
Changing the informers under the hood should be fairly simple to implement. What we have to think about - and would be a bit more complex - is to make more explicit if an InformerEventSource inherits namespaces to watch from the controller. This is already supported, but the namespaces are just passed around on startup, this will probably require an additional flag in the InformerEventSource. Maybe a generic notification system for Event Sources about runtime namespace/config changes (but this might not needed in the first iteration).

For the record we already discussed the current possible workaround on discord:
Having a registered informers for the config map, that would on config map change simply restart the operator. (Not necessarily the pod will be restarted, just operator stopped and a new created.) This works, just much less efficient, since the operator will reconcile every CR on startup. What could be a not desired side effect.

The thing that I'm not quite clear on is how you deal with permissions… If your operator is not allowed to watch all namespaces, how do you give it permissions to operate on the new namespaces that would be dynamically changed?

This is managed by an external component with elevated privileges.

@morhidi  this is now merged to the main, will be part of the next release. See the docs already for usage:
https://javaoperatorsdk.io/docs/features#dynamically-changing-target-namespaces

Great! @csviri

@morhidi do you know if there is an equivalent GO operator sdk support ? not sure how to look it up?

@michalrabinowitch AFAIK there is no such alternative there directly, what you can do is to restart the controller on config map change for example (AFAIK there is possibility to watch a static set of namespaces).
In JOSDK this is smarter in the sense that does not need  a restart, therefore no syncing happens again (which can take a long time).


[CVE] Fix vulnerabilities by updating alpine

Hello @j6s,
First of all, thanks for providing this fantastic open-source project. I use it myself with the Grafana dashboard.
The vulnerability scanner from armosec found 14 vulnerabilities in your image. They originate from an outdated version of alpine.
These vulnerabilities are related to: apk-tools, openssl and busybox
Found vulnerabilities (selection): CVE-2021-36159, CVE-2021-3711, CVE-2021-42378
I would really appreciate if you could merge the PR and create a new Docker tag as soon as you have time for it.

Interesting, thank you for bringing this to my attention - I would have missed it.
I am unsure if the image will autobuild but I'll trigger a build & push of the image if it doesn't

The latest and 1.3.2 images now contain your changes to the base image


Keep around the latest valid program and jump table

This PR maintains the latest valid context of a program.
This fixes the situation where you are not able to query anything while you're trying to develop and your current buffer is in an invalid state (syntactically or semantically). With this patch you are still able to hover & lookup definitions/declarations.
However, some positions may become inconsistent but (I believe that) the benefits outweigh this issue. This will be tackled later on when the document processing gets refactored.

I agree with the principle of this PR!


No completion for abc in editor (works in REPL)

import abc
abc.

We have one issue for all these sorts of problems, as they tend to have a common cause. Search for “library x” and you should find it.

Then again, looking at that first screenshot, you didn't get the module colors either. So perhaps something else failed rather than the import analysis?

@MikhailArkhipov  do you still see this issue? Was it just timing out? If so, pressing ctrl+space should eventually get you completions.

OK. Works now in VSC so closing.


Fix the Post Actions by removing button text.

Hides "Comment" in the post detail sidebar.
https://www.pivotaltracker.com/story/show/151371732

          1 Message

:book:
Nice, more deletions than insertions :red_circle:

  Generated by :no_entry_sign: Danger


Use llvm.used for __objc_protorefs and __objc_protolist

The purpose of the changes is to use llvm.used for __objc_protorefs and __objc_protolist
in the IRGen in Swift compiler to avoid runtime crash.

Resolves SR-11246.

I think this is the right fix. The problem that this PR addresses is if one LTO's swift and objective c objects together. If objective c uses protocol descriptors without adding it to llvm.used it would explain current failures.
AFAICT clang eagerly adds references to protocols when it generates protocols (https://github.com/apple/swift-clang/blob/f667f9fe4ab9da2a82db0291609f2480c30f079c/lib/CodeGen/CGObjCMac.cpp#L6978)  and so there would be no need to add them to llvm.used for use sites.
Swift doing the same make sense to me.
@rjmccall do you agree?

@aschwaighofer yeah, that is correct.  This should match the clang behaviour and fix the LTO cases.

Thank you for pointing that out. I have fixed the test case and committed
it.
Jin
On Tue, Sep 24, 2019 at 9:43 PM Saleem Abdulrasool<EMAIL_ADDRESS>wrote:

@compnerd commented on this pull request.
In test/IRGen/objc_protocol_vars.sil
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apple_swift_pull_27346-23discussion-5Fr327929343&d=DwMCaQ&c=r2dcLCtU9q6n0vrtnDw9vg&r=KZqTaO6FWodhuO5iRSr5Nw&m=rpwh5h93FpbkwUC1xrk1D58DRRvofamNaGTAwGN1jAM&s=5ovknABs7gJb0IkHdyNMjO8j3qeOjIeFZu9GIKqOdl8&e=
:

@@ -0,0 +1,39 @@
+// RUN: %target-swift-frontend -disable-autolinking-runtime-compatibility-dynamic-replacements -runtime-compatibility-version none -primary-file %s -emit-ir | %FileCheck -check-prefix CHECK %s

You should be able to use -parse-as-library and drop main.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apple_swift_pull_27346-3Femail-5Fsource-3Dnotifications-26email-5Ftoken-3DALGEZHJAQPP3UBCIRMDMGZLQLLT73A5CNFSM4I2F5HW2YY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCF2CT2A-23pullrequestreview-2D292825576&d=DwMCaQ&c=r2dcLCtU9q6n0vrtnDw9vg&r=KZqTaO6FWodhuO5iRSr5Nw&m=rpwh5h93FpbkwUC1xrk1D58DRRvofamNaGTAwGN1jAM&s=o9oEWeV-FEgrVffJenc-sC_j-fszVTlHB_WvzPdpdy8&e=,
or mute the thread
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_ALGEZHIULHYI7R5RB6YNDOTQLLT73ANCNFSM4I2F5HWQ&d=DwMCaQ&c=r2dcLCtU9q6n0vrtnDw9vg&r=KZqTaO6FWodhuO5iRSr5Nw&m=rpwh5h93FpbkwUC1xrk1D58DRRvofamNaGTAwGN1jAM&s=rodl8AjD6Ndmlc4edPpf-bCmSe3ZTgGfH8jJkMlYFdg&e=
.

@swift-ci Please test

Build failed
Swift Test Linux Platform
Git Sha - f151af5a164a2b4232b648532bd6530aeb5310ef

Build failed
Swift Test OS X Platform
Git Sha - f151af5a164a2b4232b648532bd6530aeb5310ef

@swift-ci Please test

Build failed
Swift Test Linux Platform
Git Sha - e7e4fcde3ab1f1a66da456a442eb99ba57f1b37a

Build failed
Swift Test OS X Platform
Git Sha - e7e4fcde3ab1f1a66da456a442eb99ba57f1b37a

@swift-ci Please test

@swift-ci Please test

Build failed
Swift Test Linux Platform
Git Sha - 9b4891a8dc25fadbb693c5242724e314c38516a3

@swift-ci benchmark

@swift-ci test source compatibility.

Performance: -O

Regression
OLD
NEW
DELTA
RATIO

DataAppendArray
2900
3300
+13.8%
0.88x (?)

Improvement
OLD
NEW
DELTA
RATIO

DropLastAnyCollection
13
12
-7.7%
1.08x (?)

Code size: -O
Performance: -Osize

Regression
OLD
NEW
DELTA
RATIO

PrefixArray
13
14
+7.7%
0.93x (?)

Code size: -Osize
Performance: -Onone
Code size: -swiftlibs

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac mini
  Model Identifier: Macmini8,1
  Processor Name: Intel Core i7
  Processor Speed: 3.2 GHz
  Number of Processors: 1
  Total Number of Cores: 6
  L2 Cache (per Core): 256 KB
  L3 Cache: 12 MB
  Memory: 64 GB

@swift-ci Please test

@swift-ci test source compatibility.

@swift-ci benchmark

Build failed
Swift Test OS X Platform
Git Sha - 0991b3de9528aa6b487e05f79b9ccafb2941efff

Performance: -O

Improvement
OLD
NEW
DELTA
RATIO

ObjectiveCBridgeStubFromNSStringRef
105
93
-11.4%
1.13x (?)

SuffixAnyCollection
13
12
-7.7%
1.08x (?)

Code size: -O
Performance: -Osize

Improvement
OLD
NEW
DELTA
RATIO

SuffixArray
5
4
-20.0%
1.25x (?)

FlattenListLoop
3136
2686
-14.3%
1.17x (?)

MapReduceShortString
14
13
-7.1%
1.08x (?)

Code size: -Osize
Performance: -Onone
Code size: -swiftlibs

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac mini
  Model Identifier: Macmini8,1
  Processor Name: Intel Core i7
  Processor Speed: 3.2 GHz
  Number of Processors: 1
  Total Number of Cores: 6
  L2 Cache (per Core): 256 KB
  L3 Cache: 12 MB
  Memory: 64 GB

Build failed
Swift Test Linux Platform
Git Sha - c00a7ec799b54d7e96a23129768559dd4fb3bf4b

@swift-ci benchmark

Performance: -O

Regression
OLD
NEW
DELTA
RATIO

FlattenListLoop
2801
3149
+12.4%
0.89x (?)

FlattenListFlatMap
5640
6092
+8.0%
0.93x (?)

Code size: -O
Performance: -Osize
Code size: -Osize
Performance: -Onone
Code size: -swiftlibs

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac mini
  Model Identifier: Macmini8,1
  Processor Name: Intel Core i7
  Processor Speed: 3.2 GHz
  Number of Processors: 1
  Total Number of Cores: 6
  L2 Cache (per Core): 256 KB
  L3 Cache: 12 MB
  Memory: 64 GB

@swift-ci Please test

@swift-ci Smoke test

@aschwaighofer @compnerd @aschwaighofer @rjmccall This looks good now and I am merging it.


Replace function utils.dataset_utils.check_lon_alignment to fix #217

Pull Request Checklist:

[x] This PR addresses an already opened issue (for bug fixes / features)

This PR fixes issue #217

[x] Tests for the changes have been added (for bug fixes / features)
[x] Documentation has been added / updated (for bug fixes / features)
[x] HISTORY.rst has been updated (with summary of main changes)
[x] I have added my relevant user information to AUTHORS.md

What kind of change does this PR introduce?:

replace utils.dataset_utils.check_lon_alignment by cf_convert_between_lon_frames:

converts either dataset or specified lon interval to another longitude frame if necessary
added functionality to adjust shifted longitude frames

added utils.dataset_utils.detect_bounds and detect_coordinate  (from regrid-main branch)
added tests for the new functions, added new test datasets
set minimum cf_xarray version to 0.7 (incl. functionality to read eg. bounds info from encoding dict)
pin pandas to <1.4 because of failing TestSubsetShape tests

Does this PR introduce a breaking change?:

It shouldn't.

Other information:

I had some failed attempts in creating this function. The function _crosses_0_meridian was required at some point, but not anymore. It somehow seemed a waste to just remove it. I will remove it when you think there is no use for it expected at some point.
I can add further tests, but I thought it would be better to get some feedback first if I'm on the right track.

Specifying ipython_genutils and sphinx_rtd_themes explicitly in the environment.yml works for me locally with a fresh environment. I don't know what is going wrong and why it does not install ipython_genutils using conda or pip here.

Hi @sol1105, thanks so much for all your work on this, I’ve been having a look.
It looks good although it may be useful to split the function cf_convert_between_lon_frames up a bit more. For example, the section where you are identifying the grids https://github.com/roocs/clisops/blob/437bcce4e04df1a51c3309de7c931aebc34a78fc/clisops/utils/dataset_utils.py#L140-L145 may be useful as a separate function.
For the detect_coordinate and detect_bounds functions, these would probably be useful in roocs_utils rather than clisops, if they don’t already exist there, as they could be applied elsewhere.
The test test_convert_lon_frame_shifted() looks good so it would be great to add some more tests as well on other datasets!

Hi @sol1105, the notebook looks good. Yes, we can move all the functions over in one go. I suspect we could merge detect_coordinate and get_coord_by_type as get_coord_by_type returns the coord from which you can access the name?
Yes, I think it would make sense to check the longitude selection interval also

@Zeitsperre I noticed a problem with clisops.core.subset.check_lons:
In the following example it is not subsetted correctly, the subsetted dataset still includes all longitude values:
from clisops.ops.subset import subset
import xarray as xr
import numpy as np

ds = xr.Dataset(
    data_vars={"var": (("lat", "lon"), np.ones((5, 10)))},
    coords={
        "lat": ("lat", np.zeros(5)),
        "lon": ("lon", np.arange(-10,0,1)),
    },
)
ds["lat"].attrs = {
    "standard_name": "latitude",
}
ds["lon"].attrs = {
    "standard_name": "longitude",
}

outputs = subset(
        ds=ds,
        area=(-1, 0.0, 10.0, 90.0),
        output_type="xarray",
    )

The problem are the following lines in the check_lons function, extending the longitude selection interval from [-1, 10] to [-361, 10]:
https://github.com/roocs/clisops/blob/d7c3d7ad9224618a79622bd26125a7dcd7e5c8d0/clisops/core/subset.py#L262-L266
it probably should be
 if np.all((ds_lon <= 0) | (np.isnan(ds_lon))) and np.any(kwargs[lon] > 180):
     if isinstance(kwargs[lon], float):
         kwargs[lon] -= 360
     else:
         kwargs[lon][kwargs[lon] <= 180] -= 360

maybe with a subsequent sort?
I tried to replace check_lons with the new function of this PR, but I  encountered some problems with the subset_gridpoint function and the tests listed below, so I kept it out of this PR for now.

TestSubsetShape::test_wraps
TestSubsetShape::test_subset_multiregions
TestSubsetGridPoint::test_irregular

The check_lons function eventually looked  like this, with ops/subset.py not having any check_lon functionality anymore (in case we want to build upon that at some point):
def check_lons(func):
    @wraps(func)
    def func_checker(*args, **kwargs):
        """
        Reformat user-specified "lon" or "lon_bnds" values based on the lon dimensions of a supplied Dataset or DataArray.

        Examines an xarray object longitude dimensions and depending on extent (either -180 to +180 or 0 to +360),
        will reformat user-specified lon values to be synonymous with xarray object boundaries.
        Returns a numpy array of reformatted `lon` or `lon_bnds` in kwargs with min() and max() values.
        """
        if "lon_bnds" in kwargs:
            lon = "lon_bnds"
        elif "lon" in kwargs:
            lon = "lon"
        else:
            return func(*args, **kwargs)

        args = list(args)
        ds_lon = get_lon(args[0])

        if isinstance(args[0], (xarray.DataArray, xarray.Dataset)):
            if kwargs[lon] is None:
                kwargs[lon] = np.asarray((float(ds_lon.min()), float(ds_lon.max())))
            else:
                kwargs[lon] = np.asarray(kwargs[lon])

            if lon == "lon_bnds":
                args[0], lb, ub = cf_convert_between_lon_frames(
                    args[0], kwargs[lon]
                    )
                kwargs[lon] = np.asarray((lb, ub))
            elif lon == "lon":
                lbi, ubi = (float(kwargs[lon].min()), float(kwargs[lon].max()))
                args[0], lb, ub = cf_convert_between_lon_frames(
                    args[0], (lbi, ubi)
                    )
                if not (np.isclose(lbi, lb, atol=0.1) and np.isclose(ubi, ub, atol=0.1)):
                    if kwargs[lon].shape == ():
                        kwargs[lon] = np.asarray(_convert_interval_between_lon_frames(kwargs[lon], kwargs[lon])[0])
                    else:
                        kwargs[lon] = np.asarray([_convert_interval_between_lon_frames(lonval, lonval)[0] for lonval in list(kwargs[lon])])

        return func(*args, **kwargs)

    return func_checker

The problem are the following lines in the check_lons function, extending the longitude selection interval from [-1, 10] to [-361, 10]:
https://github.com/roocs/clisops/blob/d7c3d7ad9224618a79622bd26125a7dcd7e5c8d0/clisops/core/subset.py#L262-L266
it probably should be
 if np.all((ds_lon <= 0) | (np.isnan(ds_lon))) and np.any(kwargs[lon] > 180):
     if isinstance(kwargs[lon], float):
         kwargs[lon] -= 360
     else:
         kwargs[lon][kwargs[lon] <= 180] -= 360

maybe with a subsequent sort?

You're right about the intervals. The intention of the check_lons was to handle cases where the data ran from 0 to 360 and the user had asked for a subset using -180 to 180 bounds. What we would sometimes see is xarray selecting the inverse of our selection as well, so that also needed to be handled for (with splitting, for polygons/bounding boxes). The goal was not to roll the grid over, since our usage had us manipulating very large netCDFs.

I tried to replace check_lons with the new function of this PR, but I encountered some problems with the subset_gridpoint function and the tests listed below, so I kept it out of this PR for now.
* TestSubsetShape::test_wraps

* TestSubsetShape::test_subset_multiregions

* TestSubsetGridPoint::test_irregular

@tlogan2000  and I would be curious to see those changes in a PR as well. I'll be honest in that many of these checks were written as-needed and could probably be replaced or at least optimized, now that our collective familiarity with xarray has improved. Please feel free to tag us both on the PR!

@Zeitsperre @ellesmith88 @agstephens
I suggest to merge this as a preliminary update, to have that in the next release. It fixes #217 and does not conflict with the core.subset.check_lons function afaik. We can then look into editing check_lons further in another PR. Would that be ok?

I would be fine with merging as is. It would be good to have a PR that we can try building against downstream, so we can see exactly what needs rearranging in our stack. Thanks for keeping me in the loop @sol1105 !

@sol1105 @Zeitsperre merged to get it into the release. We can still patch things after Easter.


On Windows getting value error

I have installed tensorflow on windows (with Anaconda) and trying to run on windows.
command : python train_scripts/train_script_gru_simple_no_attn.py
ValueError: Attempt to reuse RNNCell <tensorflow.contrib.rnn.python.ops.core_rnn_cell_impl.GRUCell object at 0x000002063DDCBBE0> with a different variable scope than its first use.  First use of cell was with scope 'train_test/embedding_rnn_seq2seq/embedding_rnn_decoder/rnn_decoder/gru_cell', this attempt is with scope 'train_test/embedding_rnn_seq2seq/rnn/gru_cell'.  Please create a new instance of the cell if you would like it to use a different set of weights.  If before you were using: MultiRNNCell([GRUCell(...)] * num_layers), change to: MultiRNNCell([GRUCell(...) for _ in range(num_layers)]).  If before you were using the same cell instance as both the forward and reverse cell of a bidirectional RNN, simply create two instances (one for forward, one for reverse).  In May 2017, we will start transitioning this cell's behavior to use existing stored weights, if any, when it is called with scope=None (which can lead to silent model degradation, so this error will remain until then.)
Please help

Moreover I was getting the below error:
AttributeError: module 'tensorflow.python.ops.nn' has no attribute 'seq2seq'
So I converted to 'tf.nn' to 'tf.contrib'

Install the old version of tensorflow. More specifically tensorflow==0.12.0rc0.
pip install tensorflow==0.12.0rc0

I am also getting this error-
AttributeError: module 'tensorflow.python.ops.nn' has no attribute 'seq2seq'
tensorflow version- 0.12.0rc0

So I also converted  'tf.nn' to 'tf.contrib.legacy_seq2seq'
But now I am getting-
typeerror can't pickle notimplementedtype object
Please help

I also stuck here and getting an error as  "module 'tensorflow.python.ops.nn' has no attribute 'seq2seq' ".
Any one with the solution, please help

This issue was resolved by inserting "tf.contrib.legacy_seq2seq.embedding_rnn_seq2seq" instead of  "module 'tensorflow.python.ops.nn'" in project


Added missing space after a "your" in react-compat

@JoshuaKGoldberg Let's update that one as well ^ :-)

Thanks @JoshuaKGoldberg and @tleunen!


[BUGFIX] Added check if product is valid in shoppingcart

https://github.com/massiveart/POOL-ALPIN/issues/1381

else ack


build: download tools used by TravisCI instead of installing them

Codecov Report

Merging #69 into master will not change coverage.
The diff coverage is n/a.


Unable to delete an instance

After shutting down and hibernating an instance, I am unable to call delete command. The instance is listed as discontinued and is no longer visible by calling .instances.get():
>>> datacrunch.instances.get()
Out[26]: []
>>> print_instance_info(datacrunch.instances.get_by_id(instance_id))
Out[27]: {'id': '37f...fd2', 'status': 'discontinued'}

Calling delete on that instance raises APIException:
datacrunch.exceptions.APIException: error code: forbidden_action
message: Can't discontinue a discontinued instance

How to properly delete an instance to stop being charged for it? At least from my observations shutdown & hibernate commands are enough to stop balance charging, but I am concerned by the fact that I haven't managed to delete an instance without API error.

Hi Mark,
Hibernation works by actually deleting your instance but keeping the volumes that were attached to the instance originally.
that means the instance is deleted, but the volumes are still being charged for.
If you would like to completely delete both the instance and volumes you need to specify them explicitly.

When deleting an instance, you can specify which of it's attached volumes will be deleted by providing volume_ids array. Any attached volumes that are not specified in the array would be detached. Note: If not providing a volume_ids array, only the OS volume will be deleted and the rest detached.

An example is found here: https://github.com/DataCrunch-io/datacrunch-python/blob/master/examples/instances_and_volumes.py


[improve][broker] log exception in MessageDeduplication#takeSnapshot

Motivation
We encounter problem in MessageDeduplication and find it need to add log info.
Modifications
add log
Verifying this change

[x] Make sure that the change passes the CI checks.

Documentation

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

/pulsarbot rerun-failure-checks

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

Project coverage is 41.35%. Comparing base (bbc6224) to head (41386ea).
Report is 438 commits behind head on master.

Additional details and impacted files

@@              Coverage Diff              @@
##             master   #22994       +/-   ##
=============================================
- Coverage     73.57%   41.35%   -32.23%
+ Complexity    32624    14651    -17973
=============================================
  Files          1877     1772      -105
  Lines        139502   138535      -967
  Branches      15299    15458      +159
=============================================
- Hits         102638    57287    -45351
- Misses        28908    74134    +45226
+ Partials       7956     7114      -842

Flag
Coverage Δ

inttests
27.80% <0.00%> (+3.21%)
:arrow_up:

systests
24.71% <0.00%> (+0.38%)
:arrow_up:

unittests
37.21% <0.00%> (-35.63%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files
Coverage Δ

...roker/service/persistent/MessageDeduplication.java
43.49% <0.00%> (-37.43%)
:arrow_down:

... and 1504 files with indirect coverage changes


XML to Proto online

On insert content we need detect is XML or JSON then convert to Protobuf
https://github.com/xml-to-proto/xml-to-proto.github.io

is this still open? i can work on it

is this still open? i can work on it

Yes, you can


Change expect.not.objectContaining() to match documentation

Summary

Fixes #10186 by changing expect.not.objectContaining() to simply invert the result of expect.objectContaining().
By semver this is a patch-level change, but I agree with jeysal that it would be prudent to treat this as a breaking change anyway, just in case someone's relying on the previous behavior.
Test plan

Revised existing tests which asserted undocumented behavior and added several new test cases.

Rebased on 92f74cd1f to incorporate #10711. CI failed on v15.x on macOS with a timeout - not sure if this is related, and in either case I lack a macOS machine for testing.

Nah, don't worry about that - mac CI something just decides to not work

Since we reverted #10508, which parts of this should stay or go? My brain is currently mush, so I was unable to decipher it 😛

I think it just needs a rebase that applies the let result = ... return this.inverse ? ... to the current code

Rebased on master (2fa34c410acc3df463dcfecf4f29c5683941b0c0). Moved one test case which relied on the now-reverted recursive behavior.


Implemented cross thread cache

This PR allows a cache to be shared across threads. It also removes the use of UnsafeCell and one unsafe block.
Potential downsides:

requires lazy_static (I'm pretty sure it can be modified to remove this requirement, by using Mutex::new(Option<#cache_type::new(#cache_size)>)
overhead of Mutex may be worse than not sharing the cache for certain workloads

As a side note, it looks like right now all the caches are just named cache. Won't this cause a name conflict if multiple functions are configured to be cached? Or does thread_local somehow handle this?

Thanks for the PR, it looks good!
I'm wondering if it would be better to allow either the TLS or mutex implementation via a config attribute?
Something like
#[lru_cache(100)]
#[lru_config(thread_local)]
fn ...

That way the mutex overhead can be avoided in situations where the results don't take that long to compute, but caching could still improve the performance. I've not looked into the exact overhead of get_mut compared to locking a mutex, but the lru_cache crate should be pretty efficient. I can look into adding that to this PR.
As for your side note, the names used shouldn't matter as they are local to the function they are defined. The TLS itself doesn't reference the names, just the locations. I added a test to ensure there are no problems with multiple cached functions going forward to be safe.


xfce.xfce4-namebar-plugin: fix build

Motivation for this change
noticed it was failing to build
  configure flags: --prefix=/nix/store/2hxlg20rqh6ksjj4k6amrk0bhg4mq0dz-xfce4-namebar-plugin-1.0.0 configure
  /nix/store/3af4czhg5b9vaawzdwfirlphgg9spxf7-hook/nix-support/setup-hook: line 22: python: command not found

Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

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

arch failure is related to a dependency


[P000594] Rep. Erik Paulsen

Rep. Erik Paulsen:
http://paulsen.house.gov
Likely contact form URL to start with:
http://paulsen.house.gov/contact-me/

YMAL file not found. I am working on it.


Default ObjectPermissions

As ...
Patti - Platform Admin
I want ...
To have a set of default groups and object permissions in a new Nautobot install.
So that ...
I don't have to learn how permissions work and build out objectpermissions and groups before I can start using Nautobot.
I know this is done when...

There are some basic groups created on a new Nautobot install
Some ideas for groups:

Viewer (can view all objects except sensitive models like secrets)
Auditor (can view all objects)
Execute (can view all objects and run jobs)
Engineer (can view and change all objects)

Optional - Feature groups this request pertains to.

[ ] Automation
[ ] Circuits
[ ] DCIM
[ ] IPAM
[ ] Misc (including Data Sources)
[ ] Organization
[ ] Plugins (and other Extensibility)
[ ] Security (Secrets, etc)
[ ] Image Management
[ ] UI/UX
[ ] Documentation
[ ] Other (not directly a platform feature)

Database Changes
None
External Dependencies
None

@gsnider2195 Don't know if this would be a separate issue/feature but I would love some "magic" content types that make managing this easier. Thinking:

*:*
app_label:* ex:

dcim:*
ipam:*
my_custom_app:*


BUG: Using Modin objects within an apply fails, with unclear error message

Modin version checks

[X] I have checked that this issue has not already been reported.

[X] I have confirmed this bug exists on the latest released version of Modin.

[X] I have confirmed this bug exists on the main branch of Modin. (In order to do this you can follow this guide.)

Reproducible Example
import modin.pandas as pd

abbreviations = pd.Series(['Major League Baseball', 'National Basketball Association'], index=['MLB', 'NBA'])

teams = pd.DataFrame({'name': ['Mariners', 'Lakers'] * 500, 'league_abbreviation': ['MLB', 'NBA'] * 500})

print(teams.set_index('name').league_abbreviation.apply(lambda abbr: abbreviations.loc[abbr]).rename('league'))

Issue Description
This code fails because it tries to use the Modin Series abbreviations within a .apply function.
Running on either Ray or Dask, the error you get is pretty cryptic -- it's not easy to tell that this is the problem.
Expected Behavior
Ideally, it would behave like Pandas, allowing the use of a Modin object within an apply. If this is not possible, at least a nicer error message would help.
Error Logs
With Ray:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "~/src/modin/modin/logging/logger_decorator.py", line 129, in run_and_log
    return obj(*args, **kwargs)
  File "~/src/modin/modin/pandas/series.py", line 393, in __repr__
    temp_df = self._build_repr_df(num_rows, num_cols)
  File "~/src/modin/modin/logging/logger_decorator.py", line 129, in run_and_log
    return obj(*args, **kwargs)
  File "~/src/modin/modin/pandas/base.py", line 261, in _build_repr_df
    return self.iloc[indexer]._query_compiler.to_pandas()
  File "~/src/modin/modin/logging/logger_decorator.py", line 129, in run_and_log
    return obj(*args, **kwargs)
  File "~/src/modin/modin/core/storage_formats/pandas/query_compiler.py", line 282, in to_pandas
    return self._modin_frame.to_pandas()
  File "~/src/modin/modin/logging/logger_decorator.py", line 129, in run_and_log
    return obj(*args, **kwargs)
  File "~/src/modin/modin/core/dataframe/pandas/dataframe/utils.py", line 501, in run_f_on_minimally_updated_metadata
    result = f(self, *args, **kwargs)
  File "~/src/modin/modin/core/dataframe/pandas/dataframe/dataframe.py", line 4015, in to_pandas
    df = self._partition_mgr_cls.to_pandas(self._partitions)
  File "~/src/modin/modin/logging/logger_decorator.py", line 129, in run_and_log
    return obj(*args, **kwargs)
  File "~/src/modin/modin/core/dataframe/pandas/partitioning/partition_manager.py", line 694, in to_pandas
    retrieved_objects = cls.get_objects_from_partitions(partitions.flatten())
  File "~/src/modin/modin/logging/logger_decorator.py", line 129, in run_and_log
    return obj(*args, **kwargs)
  File "~/src/modin/modin/core/dataframe/pandas/partitioning/partition_manager.py", line 903, in get_objects_from_partitions
    return cls._execution_wrapper.materialize(
  File "~/src/modin/modin/core/execution/ray/common/engine_wrapper.py", line 92, in materialize
    return ray.get(obj_id)
  File "~/mambaforge/envs/modin/lib/python3.10/site-packages/ray/_private/auto_init_hook.py", line 24, in auto_init_wrapper
    return fn(*args, **kwargs)
  File "~/mambaforge/envs/modin/lib/python3.10/site-packages/ray/_private/client_mode_hook.py", line 103, in wrapper
    return func(*args, **kwargs)
  File "~/mambaforge/envs/modin/lib/python3.10/site-packages/ray/_private/worker.py", line 2493, in get
    raise value.as_instanceof_cause()
ray.exceptions.RayTaskError(TypeError): ray::_apply_list_of_funcs() (pid=781021, ip=<IP_ADDRESS>)
  At least one of the input arguments for this task could not be computed:
ray.exceptions.RayTaskError: ray::_apply_list_of_funcs() (pid=781021, ip=<IP_ADDRESS>)
  File "~/src/modin/modin/core/execution/ray/implementations/pandas_on_ray/partitioning/partition.py", line 421, in _apply_list_of_funcs
    partition = func(partition, *args, **kwargs)
  File "~/src/modin/modin/core/dataframe/algebra/map.py", line 51, in <lambda>
    lambda x: function(x, *args, **kwargs), *call_args, **call_kwds
  File "~/mambaforge/envs/modin/lib/python3.10/site-packages/pandas/core/frame.py", line 10123, in map
    return self.apply(infer).__finalize__(self, "map")
  File "~/mambaforge/envs/modin/lib/python3.10/site-packages/pandas/core/frame.py", line 10037, in apply
    return op.apply().__finalize__(self, method="apply")
  File "~/mambaforge/envs/modin/lib/python3.10/site-packages/pandas/core/apply.py", line 837, in apply
    return self.apply_standard()
  File "~/mambaforge/envs/modin/lib/python3.10/site-packages/pandas/core/apply.py", line 963, in apply_standard
    results, res_index = self.apply_series_generator()
  File "~/mambaforge/envs/modin/lib/python3.10/site-packages/pandas/core/apply.py", line 979, in apply_series_generator
    results[i] = self.func(v, *self.args, **self.kwargs)
  File "~/mambaforge/envs/modin/lib/python3.10/site-packages/pandas/core/frame.py", line 10121, in infer
    return x._map_values(func, na_action=na_action)
  File "~/mambaforge/envs/modin/lib/python3.10/site-packages/pandas/core/base.py", line 921, in _map_values
    return algorithms.map_array(arr, mapper, na_action=na_action, convert=convert)
  File "~/mambaforge/envs/modin/lib/python3.10/site-packages/pandas/core/algorithms.py", line 1814, in map_array
    return lib.map_infer(values, mapper, convert=convert)
  File "lib.pyx", line 2917, in pandas._libs.lib.map_infer
  File "~/src/modin/modin/pandas/series.py", line 1222, in <lambda>
    lambda s: arg(s)
  File "<stdin>", line 1, in <lambda>
  File "~/src/modin/modin/logging/logger_decorator.py", line 129, in run_and_log
    return obj(*args, **kwargs)
  File "~/src/modin/modin/pandas/indexing.py", line 656, in __getitem__
    return self._helper_for__getitem__(
  File "~/src/modin/modin/logging/logger_decorator.py", line 129, in run_and_log
    return obj(*args, **kwargs)
  File "~/src/modin/modin/pandas/indexing.py", line 703, in _helper_for__getitem__
    result = self._get_pandas_object_from_qc_view(
  File "~/src/modin/modin/logging/logger_decorator.py", line 129, in run_and_log
    return obj(*args, **kwargs)
  File "~/src/modin/modin/pandas/indexing.py", line 399, in _get_pandas_object_from_qc_view
    return res_df.squeeze(axis=axis)
  File "~/src/modin/modin/logging/logger_decorator.py", line 129, in run_and_log
    return obj(*args, **kwargs)
  File "~/src/modin/modin/pandas/series.py", line 1808, in squeeze
    return self._reduce_dimension(self._query_compiler)
  File "~/src/modin/modin/logging/logger_decorator.py", line 129, in run_and_log
    return obj(*args, **kwargs)
  File "~/src/modin/modin/pandas/series.py", line 2265, in _reduce_dimension
    return query_compiler.to_pandas().squeeze()
  File "~/src/modin/modin/logging/logger_decorator.py", line 129, in run_and_log
    return obj(*args, **kwargs)
  File "~/src/modin/modin/core/storage_formats/pandas/query_compiler.py", line 282, in to_pandas
    return self._modin_frame.to_pandas()
  File "~/src/modin/modin/logging/logger_decorator.py", line 129, in run_and_log
    return obj(*args, **kwargs)
  File "~/src/modin/modin/core/dataframe/pandas/dataframe/utils.py", line 501, in run_f_on_minimally_updated_metadata
    result = f(self, *args, **kwargs)
  File "~/src/modin/modin/core/dataframe/pandas/dataframe/dataframe.py", line 4015, in to_pandas
    df = self._partition_mgr_cls.to_pandas(self._partitions)
  File "~/src/modin/modin/logging/logger_decorator.py", line 129, in run_and_log
    return obj(*args, **kwargs)
  File "~/src/modin/modin/core/dataframe/pandas/partitioning/partition_manager.py", line 694, in to_pandas
    retrieved_objects = cls.get_objects_from_partitions(partitions.flatten())
  File "~/src/modin/modin/logging/logger_decorator.py", line 129, in run_and_log
    return obj(*args, **kwargs)
  File "~/src/modin/modin/core/dataframe/pandas/partitioning/partition_manager.py", line 903, in get_objects_from_partitions
    return cls._execution_wrapper.materialize(
  File "~/src/modin/modin/core/execution/ray/common/engine_wrapper.py", line 92, in materialize
    return ray.get(obj_id)
ray.exceptions.RayTaskError(TypeError): ray::_apply_func() (pid=781713, ip=<IP_ADDRESS>)
  File "~/src/modin/modin/core/execution/ray/implementations/pandas_on_ray/partitioning/partition.py", line 379, in _apply_func
    result = func(partition, *args, **kwargs)
TypeError: 'NoneType' object is not callable

With dask:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "~/src/modin/modin/logging/logger_decorator.py", line 129, in run_and_log
    return obj(*args, **kwargs)
  File "~/src/modin/modin/pandas/series.py", line 393, in __repr__
    temp_df = self._build_repr_df(num_rows, num_cols)
  File "~/src/modin/modin/logging/logger_decorator.py", line 129, in run_and_log
    return obj(*args, **kwargs)
  File "~/src/modin/modin/pandas/base.py", line 261, in _build_repr_df
    return self.iloc[indexer]._query_compiler.to_pandas()
  File "~/src/modin/modin/logging/logger_decorator.py", line 129, in run_and_log
    return obj(*args, **kwargs)
  File "~/src/modin/modin/core/storage_formats/pandas/query_compiler.py", line 282, in to_pandas
    return self._modin_frame.to_pandas()
  File "~/src/modin/modin/logging/logger_decorator.py", line 129, in run_and_log
    return obj(*args, **kwargs)
  File "~/src/modin/modin/core/dataframe/pandas/dataframe/utils.py", line 501, in run_f_on_minimally_updated_metadata
    result = f(self, *args, **kwargs)
  File "~/src/modin/modin/core/dataframe/pandas/dataframe/dataframe.py", line 4015, in to_pandas
    df = self._partition_mgr_cls.to_pandas(self._partitions)
  File "~/src/modin/modin/logging/logger_decorator.py", line 129, in run_and_log
    return obj(*args, **kwargs)
  File "~/src/modin/modin/core/dataframe/pandas/partitioning/partition_manager.py", line 694, in to_pandas
    retrieved_objects = cls.get_objects_from_partitions(partitions.flatten())
  File "~/src/modin/modin/logging/logger_decorator.py", line 129, in run_and_log
    return obj(*args, **kwargs)
  File "~/src/modin/modin/core/dataframe/pandas/partitioning/partition_manager.py", line 903, in get_objects_from_partitions
    return cls._execution_wrapper.materialize(
  File "~/src/modin/modin/core/execution/dask/common/engine_wrapper.py", line 109, in materialize
    return client.gather(future)
  File "~/src/modin/modin/core/execution/dask/implementations/pandas_on_dask/partitioning/partition.py", line 358, in apply_list_of_funcs
    partition = func(partition, *f_args, **f_kwargs)
  File "~/src/modin/modin/core/dataframe/algebra/map.py", line 51, in <lambda>
    lambda x: function(x, *args, **kwargs), *call_args, **call_kwds
  File "lib.pyx", line 2917, in pandas._libs.lib.map_infer
  File "~/src/modin/modin/pandas/series.py", line 1222, in <lambda>
    lambda s: arg(s)
  File "<stdin>", line 1, in <lambda>
  File "~/src/modin/modin/logging/logger_decorator.py", line 129, in run_and_log
    return obj(*args, **kwargs)
  File "~/src/modin/modin/pandas/indexing.py", line 656, in __getitem__
    return self._helper_for__getitem__(
  File "~/src/modin/modin/logging/logger_decorator.py", line 129, in run_and_log
    return obj(*args, **kwargs)
  File "~/src/modin/modin/pandas/indexing.py", line 702, in _helper_for__getitem__
    qc_view = self.qc.take_2d_labels(row_loc, col_loc)
  File "~/src/modin/modin/logging/logger_decorator.py", line 129, in run_and_log
    return obj(*args, **kwargs)
  File "~/src/modin/modin/core/storage_formats/base/query_compiler.py", line 4135, in take_2d_labels
    return self.take_2d_positional(row_lookup, col_lookup)
  File "~/src/modin/modin/logging/logger_decorator.py", line 129, in run_and_log
    return obj(*args, **kwargs)
  File "~/src/modin/modin/core/storage_formats/pandas/query_compiler.py", line 4277, in take_2d_positional
    self._modin_frame.take_2d_labels_or_positional(
  File "~/src/modin/modin/logging/logger_decorator.py", line 129, in run_and_log
    return obj(*args, **kwargs)
  File "~/src/modin/modin/core/dataframe/pandas/dataframe/utils.py", line 501, in run_f_on_minimally_updated_metadata
    result = f(self, *args, **kwargs)
  File "~/src/modin/modin/core/dataframe/pandas/dataframe/dataframe.py", line 954, in take_2d_labels_or_positional
    return self._take_2d_positional(row_positions, col_positions)
  File "~/src/modin/modin/logging/logger_decorator.py", line 129, in run_and_log
    return obj(*args, **kwargs)
  File "~/src/modin/modin/core/dataframe/pandas/dataframe/dataframe.py", line 1149, in _take_2d_positional
    [
  File "~/src/modin/modin/core/dataframe/pandas/dataframe/dataframe.py", line 1150, in <listcomp>
    [
  File "~/src/modin/modin/core/dataframe/pandas/dataframe/dataframe.py", line 1151, in <listcomp>
    self._partitions[row_idx][col_idx].mask(
  File "~/src/modin/modin/core/execution/dask/implementations/pandas_on_dask/partitioning/partition.py", line 177, in mask
    new_obj = super().mask(row_labels, col_labels)
  File "~/src/modin/modin/core/dataframe/pandas/partitioning/partition.py", line 257, in mask
    new_obj = self.add_to_apply_calls(self._iloc_func, row_labels, col_labels)
  File "~/src/modin/modin/core/dataframe/pandas/partitioning/partition.py", line 162, in add_to_apply_calls
    return self.__constructor__(
  File "~/src/modin/modin/core/execution/dask/implementations/pandas_on_dask/partitioning/partition.py", line 46, in __init__
    super().__init__()
  File "~/src/modin/modin/core/dataframe/pandas/partitioning/partition.py", line 55, in __init__
    self.execution_wrapper.put(self._iloc)
  File "~/src/modin/modin/core/execution/dask/common/engine_wrapper.py", line 135, in put
    client = default_client()
  File "~/mambaforge/envs/modin/lib/python3.10/site-packages/distributed/client.py", line 5550, in default_client
    raise ValueError(
ValueError: No clients found
Start a client and point it to the scheduler address
  from distributed import Client
  client = Client('ip-addr-of-scheduler:8786')

Installed Versions

INSTALLED VERSIONS
commit              : 513166faea5926101ad14ecc149b6c72d3376866
python              : 3.10.12.final.0
python-bits         : 64
OS                  : Linux
OS-release          : 5.4.0-135-generic
Version             : #152-Ubuntu SMP Wed Nov 23 20:19:22 UTC 2022
machine             : x86_64
processor           : x86_64
byteorder           : little
LC_ALL              : None
LANG                : en_US.UTF-8
LOCALE              : en_US.UTF-8
Modin dependencies
modin               : 0.23.0+107.g513166fa
ray                 : 2.6.1
dask                : 2023.7.1
distributed         : 2023.7.1
hdk                 : None
pandas dependencies
pandas              : 2.1.1
numpy               : 1.25.1
pytz                : 2023.3
dateutil            : 2.8.2
setuptools          : 68.0.0
pip                 : 23.2.1
Cython              : None
pytest              : 7.4.0
hypothesis          : None
sphinx              : 7.1.0
blosc               : None
feather             : 0.4.1
xlsxwriter          : None
lxml.etree          : 4.9.3
html5lib            : None
pymysql             : None
psycopg2            : 2.9.6
jinja2              : 3.1.2
IPython             : 8.14.0
pandas_datareader   : None
bs4                 : 4.12.2
bottleneck          : None
dataframe-api-compat: None
fastparquet         : 2022.12.0
fsspec              : 2023.6.0
gcsfs               : None
matplotlib          : 3.7.2
numba               : None
numexpr             : 2.8.4
odfpy               : None
openpyxl            : 3.1.2
pandas_gbq          : 0.15.0
pyarrow             : 12.0.1
pyreadstat          : None
pyxlsb              : None
s3fs                : 2023.6.0
scipy               : 1.11.1
sqlalchemy          : 1.4.45
tables              : 3.8.0
tabulate            : None
xarray              : None
xlrd                : 2.0.1
zstandard           : None
tzdata              : 2023.3
qtpy                : 2.3.1
pyqt5               : None

@zmbc thank you for reporting this issue. I can reproduce it at version ea8088af4cadfb76294e458e5095f262ca85fea9. Indeed, you should assume that your callables will apply to pandas objects as opposed to modin.pandas objects, and you should avoid referencing modin.pandas objects within the callables. This is an important bug that we should document and possibly even warn users about the first time they use a method like apply or map.
Even if we did allow access to modin.pandas objects inside the callables, the performance would probably not be good because we'd have to pass the entire dataframe to every partition that's accessing the dataframe. For a distributed dataframe, you want to avoid ever materializing all the data in one worker.  Better would be to rewrite the code so it's more amenable to distribution, e.g. for your example:
teams.set_index('name').merge(abbreviations.to_frame(), left_on='league_abbreviation', right_index=True, how='left')[0].rename('league')

alternatively, if the list of abbrevations is really small, use df.replace with a  dictionary of abbreviations:
teams.set_index('name').league_abbreviation.replace({'MLB': 'Major League Baseball', "NBA": 'National Basketball Association'})

Despite what I've written above, the error you get here isn't helpful at all. I'll investigate to see why Modin raises this error and whether we can either fix the bug or give a more informative error.
(by the way, a note that @zmbc might not find  useful but that might be useful for me and future modin maintainers: this works fine in MODIN_ENGINE=PYTHON. Seems like it's a ray/dask problem with serializing modin frames for partitions)

@mvashishtha Maybe changing __reduce__ function will help us here?
Something like:
    @classmethod
    def _inflate_full(cls, pandas_series, source_pid):
        """
        Re-creates the object from previously-serialized disk-storable representation.

        Parameters
        ----------
        pandas_series : pandas.Series
            Data to use for object re-creation.

        Returns
        -------
        Series
            New Series based on the `pandas_series`.
        """
        import os
        current_pid = os.getpid()
        print(f"Current pid: {current_pid}")
        if current_pid != source_pid:
            # Pandas objects can be used in any processes.
            return pandas_series
        # Modin objects can only be created in the main process.
        return cls(data=pandas_series)

    def __reduce__(self):
        import os
        self._query_compiler.finalize()
        pid = os.getpid()
        print(f"Source pid: {pid}")
        # there is can be the flag in Series itself:
        # for example, self._make_full_reduce
        if True:  # PersistentPickle.get():
            return self._inflate_full, (self._to_pandas(), pid)
        return self._inflate_light, (self._query_compiler, self.name)

Even if we did allow access to modin.pandas objects inside the callables, the performance would probably not be good because we'd have to pass the entire dataframe to every partition that's accessing the dataframe. For a distributed dataframe, you want to avoid ever materializing all the data in one worker.

I'm not so sure that this is a fundamental limitation. If the callable could directly use modin.pandas objects, it could do some operation on them, such as a .loc, that greatly reduced the data size before it needed to be materialized. Sure, it could do some operation using an entire Modin dataframe, and that would be slow, but I don't think anyone would be surprised that it was slow.
My example is obviously contrived and could have been done much better with join or merge. But I do think this functionality would be useful to have in general.

Even if we did allow access to modin.pandas objects inside the callables, the performance would probably not be good because we'd have to pass the entire dataframe to every partition that's accessing the dataframe. For a distributed dataframe, you want to avoid ever materializing all the data in one worker.

I'm not so sure that this is a fundamental limitation. If the callable could directly use modin.pandas objects, it could do some operation on them, such as a .loc, that greatly reduced the data size before it needed to be materialized. Sure, it could do some operation using an entire Modin dataframe, and that would be slow, but I don't think anyone would be surprised that it was slow.
My example is obviously contrived and could have been done much better with join or merge. But I do think this functionality would be useful to have in general.

Agree. We can give performance warnings, but the code should work anyway.


Can't run "npm run build" within common or server packages due to a genver error

Describe the bug
Running "npm run build" (or specifically, "npm run build:genver") fails within several common/ and server/ packages.
To Reproduce
Steps to reproduce the behavior:

In a cloned repository, "npm install" and "npm build".
Change directory to \common\lib\common-utils
"npm run build"

Expected: build to run
Actual:
'gen-version' is not recognized as an internal or external command, operable program or batch file.
Note: it also repros in \server* directories such as \server\routerlicious\packages\services
Expected behavior
Build to complete successfully

@KRyan did you run npm i from the common-utils package dir? The common packages are not managed by Lerna so they're like standalone packages in the repo.

@tylerbutler -- ah, thanks, that was the issue!  After running npm i in the appropriate directory, it works.


[FLINK-21031] Reenable JobMasterStopWithSavepointIT

What is the purpose of the change
This PR reenables the JobMasterStopWithSavepointIT and adjusts the test so that it passes with changes that happened since it was last run.
Moreover in the course of debugging the test I realized the result of Task#triggerCheckpointAsync is ignored. I added a hotfix commit that fixes it. I considered two ways of fixing it.

Changing the result type to void
Actually returning the future
I decided against option 1. because of the logic in MultipleInputStreamTask. So far the whole logic there has been ignored. If that's ok, we could remove it and change the return type to void.

Verifying this change
All tests work including JobMasterStopWithSavepointITCase
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

I took another approach at removing the return value, but unfortunately I failed because a lot of tests heavily depend on that return value. I removed the change from the PR and I opened a separate issue (https://issues.apache.org/jira/browse/FLINK-22209) for removing the return value as it is highly misleading because it means a different thing in production code and in the test code.

Hey @rkhachatryan could you take another look? I left only the changes to the test.

Failures are unrelated. Merging...


Updated readme file for documentation section

Codecov Report

Merging #37 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master     #37   +/-   ##
======================================
  Coverage    33.5%   33.5%
======================================
  Files          13      13
  Lines         991     991
======================================
  Hits          332     332
  Misses        622     622
  Partials       37      37

Continue to review full report at Codecov.

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


Configuration

Hello,
who is working on the cubic and pentagon configurations??

I am working on the cubic.

Closing since this is answered


Motivation section could include other module types blocked by this issue

The Motivation section mentions JSON but it might be strengthened a bit by calling out that there are multiple proposed module types all blocked by this issue (CSS, HTML especially if it's a leaf node).

SGTM, PRs welcome.


how to save and run custom script for microfab

How to save and run custom script for microfab  is it as .JSON ? But I got error in export.
I am unable to understand this.
How or where to find a good tutorial to use microfab ?
I want to add custom fabric network in local , before it was easy with ansible but now IBM-blockchain-platform-vs code extension is not providing option to add such ansible  environment .
How microfab is better than ansible .
In IBP-vscode extension  change log it is mention that microfab is easy to add network.
Unfortunately I couldn't find a good tutorial  to understand this microfab , how or where to get in depth documentation or tutorial for microfab
Environment:
IBM Blockchain Platform Extension Version:2.0.2
Visual Studio Code version:1.55.1
Environment name and version (e.g. Node.js v10.24.0, npm v6.14.11):
Operating System and version:Linux x64 5.8.0-48-generic snap Ubuntu 20.04 lts

This link helped to me run micro fab partially.
Link :https://fabcar-samples.github.io/docs/networks/microfab/
custom script for microfab save it as inside  project  folder as .env file
Kindly added some more sample in documentation,Thank you

Hy brother I need to know how can we add node (peer) in microfab?

microfab is confusing, I used ansible script to bootstrap network. But u can try by adding JSON file of the peer by using IBM blockchain platform VScode extension

thanks for replying.
Do you have the json format for the peer?
thanks.
On Wed, Jul 14, 2021 at 12:26 PM Alfred Syriac @.***>
wrote:

microfab is confusing, I used ansible script to bootstrap network. But u
can try by adding JSON file of the peer by using IBM blockchain platform
VScode extension
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/IBM-Blockchain/microfab/issues/85#issuecomment-879662061,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMN5BGHWVXO63F6A3DTNNYTTXU33LANCNFSM422R6SOA
.


spec file extension is case sensitive

From @ocary on May 22, 2018 15:59
On Windows, the .spec extension is case sensitive.  Files without .spec as the extension are not seen as specs that can be run.  Example:   .Spec instead of .spec
This caused confusion as the IntelliJ plugin sees .Spec as a valid Gauge spec for the plugin, but the run command does not see the file as a spec.
Other OSes have not been tested - I think OS X handles file case sensitivity different than Windows does.
Expected behavior
Any case combination of .spec will be run by Gauge (EG:  .spec, .Spec, .SPEC, .SpEc, etc) provided the file matches the arguments passed to the run command.
Actual behavior
Running a spec with a file extension other than .spec, gives No specifications found in {supplied path to specs}
If a directory is passed as the spec path, then only specs with extension .spec are run.
Steps to reproduce

Make a new directory
Run gauge init java in the new directory
In new directory\specs, copy example.spec to example2.Spec
Open a command prompt to the new directory
Run gauge run specs\example2.Spec
Observe message No specifications found in specs/example2.Spec.

Gauge version
Windows7 Enterprise - Service Pack 1

Gauge version: 0.9.7
Commit Hash: bc9784c

Plugins
-------
csharp (0.10.3)
flash (0.0.1)
html-report (4.0.3)
java (0.6.6)
json-report (0.2.1)
screenshot (0.0.1)
spectacle (0.1.2)
xml-report (0.2.1.nightly-2018-05-07)```

_Copied from original issue: getgauge/gauge-java#158_

From @ajoecker on May 22, 2018 17:41
to my surprise this seems normal windows behavior. Changing the exentions of eg. doc to DOc or dOC etc does not make it ignorant to the respective programs (in this case word).
btw this is a gauge project issue, not the runner

From @ocary on May 22, 2018 16:0
Interestingly, the filename part of the file does not appear to be case sensitive.   Example.spec and EXAMPLE.spec will run successfully.

should be available in gauge nightly>=31/05/18

Question
What is the expected behavior on VSCode. Currently the file associations are only for .spec.

Casing matters for VSCode file associations


Getting KeyError when checking Hive query status

Is the issue already present in https://github.com/cloudera/hue/issues or discussed in the forum https://discourse.gethue.com?

No

Hue version or source? (e.g. open source 4.5, CDH 5.16, CDP 1.0...). System info (e.g. OS, Browser...).

open source 4.7, Chrome browser, Hue server running on Linux.

Describe the bug:

In Hive editor, query status always transitions from Running to Query failed even if the underlying YARN job succeeded.
Following error is seen inside the error.log file:

[24/Apr/2020 14:39:32 -0700] decorators   ERROR    Error running check_status
Traceback (most recent call last):
File "/usr/lib/hue/desktop/libs/notebook/src/notebook/decorators.py", line 114, in wrapper
 return f(*args, **kwargs)
File "/usr/lib/hue/desktop/libs/notebook/src/notebook/api.py", line 246, in check_status
 response = _check_status(request, notebook=notebook, snippet=snippet, operation_id=operation_id)
File "/usr/lib/hue/desktop/libs/notebook/src/notebook/api.py", line 260, in _check_status
 response['query_status'] = get_api(request, snippet).check_status(notebook, snippet)
File "/usr/lib/hue/desktop/libs/notebook/src/notebook/models.py", line 512, in get_api
 return ApiWrapper(request, snippet)
File "/usr/lib/hue/desktop/libs/notebook/src/notebook/models.py", line 498, in __init__
 self.api = _get_api(request, snippet)
File "/usr/lib/hue/desktop/libs/notebook/src/notebook/connectors/base.py", line 396, in get_api
 patch_snippet_for_connector(snippet)
File "/usr/lib/hue/desktop/libs/notebook/src/notebook/connectors/base.py", line 382, in patch_snippet_for_connector
 snippet['dialect'] = snippet['connector']['dialect']
KeyError: 'dialect'

Steps to reproduce it?

In Hue 4.7.0, run any query from the Hive editor and observe the query status and one can see the query status showing Query failed.

This line of code is throwing the KeyError, which was added as part of this commit.
If get() method is used to fetch the dialect key then the issue seems to be resolved and the query status is displayed correctly. Like this:
snippet['dialect'] = snippet['connector'].get('dialect')

I would like to confirm if this is the correct way to fix this issue or am I missing something from my end?

IIRC it was fixed since (and could not repro on master) and we probably should do a 4.7.1 release so.
If not, probably safer to add an extra check, e.g:
https://github.com/cloudera/hue/blob/master/desktop/libs/notebook/src/notebook/connectors/base.py#L392
... and snippet['connector'].get('dialect'):


ignore vs exclude in the configuration file

We have a lot of configurations that allows us to add exceptions to our rules. But we use two ways to name those:
ignoreAnnotated
ignoreAnnotation
ignoreCompanionObjectPropertyDeclaration
ignoreConstantDeclaration
ignoreDataClasses
ignoreDefaultParameters
ignoreDeprecated
ignoreEnums
ignoreHashCodeFunction
ignoreLabeled
ignoreLocalVariableDeclaration
ignoreNamedArgument
ignoreNestingFunctions
ignoreNumbers
ignoreOnClassesPattern
ignoreOverridableFunction
ignoreOverridden
ignorePackages
ignorePrivate
ignorePropertyDeclaration
ignoreRanges
ignoreSimpleWhenEntries
ignoreSingleWhenExpression
ignoreStringsRegex
ignoreUsageInGenerics
ignoredExceptionTypes
ignoredLabels

excludeAnnotatedClasses
excludeAnnotatedFunction
excludeAnnotatedProperties
excludeClassPattern
excludeCommentStatements
excludeGuardClauses
excludeImportStatements
excludeImports
excludeLabeled
excludePackageStatements
excludeReturnFromLambda
excludeStringsWithLessThan5Characters
excludedFunctions

Does this difference have sense? For example we have excludeLabeled and ignoreLabeled. Which one should we use? Both?
Other topic are excluded and ignored that I think that we should rename to exclude and ignore.

Thanks for bringing this to attention. Naming things is hard. This has to be accepted.

There are only two hard things in Computer Science: cache invalidation and naming things.
-- Phil Karlton

I don't think that a uniform naming guideline for configuration options can be reached. There are many contributed rules and you can't make sure that everyone adheres to the naming guidelines. That would make it harder for 3rd contributors to actually contribute a rule. Furthermore, you change a public API here. As a user of detekt, I'm tired of constantly changing my existing config just for the sake of change. It costs time. I'm not sure regarding the user benefit of having a uniform naming. The rules are different and would be hard to achieve a uniform naming.
Related #2403

There are only two hard things in Computer Science: cache invalidation and naming things.

☝ That's SO TRUE
You are right. Even with deprecations and supporting both configurations this costs time for our users.
A consistent configuration is good, but changing the configuration is bad... I don't know which option is better.

You trade freedom and flexibility for consistency. I don’t think that consistent naming improves anything except being more consistent. The user has to evaluate the effect of each of the listed config options. They don’t have that much of a uniform behavior.
I would have a different opinion if the config option names were misleading, but that’s not the case here.
That’s why we should close this issue.


is there any limit of number of resources in a RG?

Should we be concerned with  any limitation on number of resources in an RG?
I know there is a limit on the role assignments that can be done at subscription level, hence checking If there is something like this on the resource level in an RG?

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

ID: 2562755f-b20a-0252-12dd-f23304d79c75
Version Independent ID: b99fee51-e39b-b44b-da33-101e180d4bd3
Content: Specify resource group for VMs in Azure DevTest Labs
Content Source: articles/lab-services/resource-group-control.md
Service: lab-services
GitHub Login: @spelluru
Microsoft Alias: spelluru

@mganeshphani  Thank you for the feedback!  We are investigating this and will get back to you shortly.

@mganeshphani - When you create Azure DevTest Labs all the subscription limits will still be applied as if the labs is any other resource in your subscription.
Below links  have additional information on Subscription limits-
https://buildazure.com/2017/06/14/azure-subscription-resource-limits-and-quotas/
https://docs.microsoft.com/en-us/azure/azure-subscription-service-limits
Hope the above information helps.

@mganeshphani - we will go ahead and close this issue , however if you need any further information please let us know. Will be happy to help further.


[SL Review]: Updates to Ministry contact - time sensitive

User Story
“As a ministry contact I want receive emails with copies of all SLR nominations form my ministry so I can get prepare them for the validation meeting.”
Some contacts in the ministries have, or will change roles please soon update the following"
Tasks
Date: September 18, 2023
Contact: Lori MacDonald
Action
Remove Access for:

[ ] Agriculture and Food
[ ] Energy, Mines and Low Carbon Innovation
[ ] Environment and Climate Change Strategy
[ ] Indigenous Relations and Reconciliation
Grant Access for:
[ ] Post-Secondary Education and Future Skills

Date: September 18, 2023
Contact: Caroline Birnie
Action
Grant Access for:

[ ] Agriculture and Food
[ ] Energy, Mines and Low Carbon Innovation
[ ] Environment and Climate Change Strategy
[ ] Indigenous Relations and Reconciliation

Date: September 30, 2023
Contact: Deb Schwartz
Action
Remove Access for:

[ ] Post-Secondary Education and Future Skills

Acceptance Criteria
The checklist the product owner uses to decide whether a story is done. Objective and discrete answers (such as a yes/no) that can be tested.

Andrew will update the DMN and he'll need help from Bhumin.

added Caroline to slreview group.
Waiting to hear back from slreview team on post secondary education and future skills pdf recipient before updating dmn.

Lori will be the contact


Update SecretClient prototype with changes from first round of user studies

Were the Java UX the first round?

Done, Changes included in branch: https://github.com/Azure/azure-sdk-for-net/tree/keyvault-proto


Fix "waiting for update of instances for Linux Virtual Machine Scale Set"

PR for issue
What is being addressed
The error that occurs is:
│ Error: waiting for update of instances for Linux Virtual Machine Scale Set "vmss-rp-porter-trejd1" (Resource Group "rg-trejd1"): Code="MaxUnhealthyUpgradedInstancePercentExceededInRollingUpgrade" Message="Rolling Upgrade failed after exceeding the MaxUnhealthyUpgradedInstancePercent value defined in the RollingUpgradePolicy. 100% of instances are in an unhealthy state after being upgraded - more than the threshold of 10%. The most impactful error is: Instance found to be unhealthy or unreachable.. First failed instance ID is: 0."
How is this addressed

Changing the threshold to MaxUnhealthyUpgradedInstancePercent from 10 to 100 precent.

/test

Fix for #1591

@anatbal have we done a deployment, made the VMSS instance unhealthy and then check it upgrades?

I am trying to do one now

/test


Adding test part to Wiki

Adding test-related topics into the Wiki

@melikaeft can you please review ?

Changes made after the review.
Closing the issue.


Add Object methods for handling nested objects

The Object module currently lacks the following methods for accessing and updating nested properties.

[ ] Object.AtPathN

Get the nested values in object O at the paths and keys specified in P.
(P: (PropertyKey | PropertyKey[])[], O: Record) --> ?

[ ] Object.Update

Update a nested value in object O at path P.
(P: PropertyKey[], V: ?, O: Record) --> Record

[ ] Object.UpdateN

Update multiple nested values in object O at paths and keys specified in P, using values specified in V.
(P: (PropertyKey | PropertyKey[])[], V: ?[], O: Record) --> Record

The implementation should include unit tests and JSDoc comments that adhere to the guidelines established in the style-guide/ directory.

Closed by #82


Question: Does swissmap shrink on key deletion?

Does swissmap suffer from the same key-deletion issue as golang map? Namely memory is not freed upon deleting of keys?
See https://github.com/golang/go/issues/20135

I modified the example from this article: https://100go.co/28-maps-memory-leaks/
Go's Map:
After creating map:  0 MB
After adding 1 million elements:  461 MB
After deleting 1 million elements:  293 MB

Swiss:
After creating map:  0 MB
After adding 1 million elements:  411 MB
After deleting 1 million elements:  274 MB


Add sentence segmentation with 'wtpsplit'

Detailed description

Recently, wtpsplit was published and it also support multi-lingual sentence segmentation (with Thai being one of the languages). I'm not sure how it compares to the existing crfcut method as I'm not too familiar with the Thai language to check segmentation results but it might be a good addition.
Context

We automatically create statistical text corpora from crawled web texts. "Sentence" is a common segmentation unit we use in this case, especially to deduplicate common sentences. Paragraphs (often containing multiple sentences) hinder deduplication efforts.

Benefit: Another possible (robust?) option to "sentence" segment Thai text. Since not all texts mark sentences boundaries with whitespaces (e.g. social media?). More options seem to be better (if the options work well) and might support different text genres and formats.

Possible implementation

https://github.com/bminixhofer/wtpsplit

with language code th
different models seem to exists (small and large ones)

Done!
wtpsplit will include in PyThaiNLP 4.1.


chore: fix test_prrecorder::test_make_full_record

Similar to #794
I am not sure what is happening with GitHub APIs. It seems they are changing it too frequently and altering such minute details. Our test-support-script was failing yet again. See https://github.com/SpoonLabs/sorald/runs/6168004259?check_suite_focus=true.

@khaes-kth Somehow GitHub does not automatically put the PR title as the message of the squashed commit and hence we are getting commits on master which do not follow our conventions so let's be careful from the next time that we update the title.

Ture, I forgot to copy the title.


Work with org-download

Thanks for this package! I can confirm I use it daily ;)
Describe the bug
org-download checks if the major-mode is org-mode for its features to work. In journal files, the major-mode is org-journal.
To Reproduce
Try running org-download-screenshot in a journal file.
Expected behavior
Screenshot should be inserted to the buffer as a file link.
I had expected org-journal to be a minor mode, so this failure was surprising to me. org-download has checks like (eq major-mode 'org-mode) in a few places, which I think is fair. I tested that org-download works fine in org-journal buffers by manually updating those guards.
It seems like the potential fixes are:

Make org-journal a minor-mode
Find a more general way for org-download to check it's in an org-mode-ish buffer.
Just add org-journal-mode to the relevant guards in org-download.

I don't know if 1 is possible, and think 3 is obviously ugly. My vote is 1 if possible.
FYI @abo-abo

This is a very good argument for making org-journal a minor mode.
I know we discussed this at some point in the past, but maybe it's time to revisit it. (Or did we reach a consensus last time we discussed making org-journal a minor mode? I forget...)

I think this should be fixed upstream, by checking if the current mode has been derived from org-mode.
(derived-mode-p 'org-mode)

I will create a PR for https://github.com/abo-abo/org-download.

Ah, derived-mode-p is exactly what I was looking for.
Thanks for the fast fix! Confirmed it works for me.


Flutter sdk

Hi pion/ion flutter sdk got error in the latest ion server version,can anyone help to fix it? thanks..
[VERBOSE-2:ui_dart_state.cc(148)] Unhandled Exception: request timeout
#0      Room.publish (package:flutter_pion/src/room.dart:61:13)

#1      SFU._createSender. (package:flutter_pion/src/sfu.dart:126:46)

#2      SFU._createSender. (package:flutter_pion/src/sfu.dart:136:30)

@tsungyumr This is due to a change in the signaling of ion, and we need to rewrite the flutter SDK in the next two weeks.

@cloudwebrtc  Got it, thanks for quickly feeback answer.

the same issue
E/flutter (22870): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: request timeout E/flutter (22870): #0      Client.publish.<anonymous closure> (package:flutter_ion/src/client.dart:133:24) E/flutter (22870): <asynchronous suspension> E/flutter (22870): #1      RTCPeerConnection.eventListener (package:flutter_webrtc/rtc_peerconnection.dart:99:47) E/flutter (22870): #2      _rootRunUnary (dart:async/zone.dart:1134:38) E/flutter (22870): #3      _CustomZone.runUnary (dart:async/zone.dart:1031:19)


Record "Start Date" coming from vacancy sources

Trello card URL

https://trello.com/c/Z4dHUUis/442-enable-start-dates-from-ats-providers-to-appear-on-job-listings

Changes in this PR:

Fusion and MyNewTerm feeds include startDate values in the vacancies. This PR ensures they get recorded.

When possible, we take it like a literal date and record it as Vacancy#starts_on
When coming as a text, extra wording, etc. a literal parse is prone to errors.  In that case, we record it as a text on Vacancy#other_start_date_details.

This matches the Hiring staff vacancy creation flow when they don't enter an exact date but fill in an input text for the Start Date form.

I haven't introduced it for the UnitedLearning feed, as non of the vacancies in their feed include the field (not the value, but not even the field name). So it seems their integration is not exposing the StartDate.

Namespace the whole VacancySource area.
This helps us wrap the different parts of the VacancySource codebase without mixing everything in the same folder. For example, we have introduced the concept of VacancySource::Parser used by a VacancySource::Source.
There is room for further improvements, as we have repeated code around (including using the StartDate parser) and other things that could be extracted (JobRole parser shared between all sources comes to mind). But I tried to keep the PR to a reasonable size and only made the changes that would allow me to introduce the VacancySource::Parser::StartDate concept and accommodate it in a coherent codebase around it.

@ddippolito that is a good point. And thanks for pointing out a particular gem.
I've checked Chronic with some sample data from the integrations and works brilliantly parsing exact dates in natural language.
The problem is that in our incoming data, we don't always want to record an exact date in the vacancy, as usually comes with some added text.  Examples:
Chronic.parse  "September 2023"
=> 2023-09-01

Chronic.parse "1st September 2023 or as soon as possible afterwards"
=> 2023-09-01

Chronic.parse "September 2023 or sooner if available"
=> 2023-09-1

Chrinic.parse "Autumn Term 2023"
=> 2022-09-23

When that info comes, I think we should store it as free text (like when the hiring staff introduces those sentences in the text input for the start date during the vacancy creation flow).
If we were parsing it as well as Chronic does, we would be setting very specific dates on our site, while the job posting date intended to mention a period or be more vague, and I think this would be a problem.


Does CredentialsManager work on Linux?

Hi there,
I want to know if CredentialsManager works on Linux platform. From the document, credentials are added to Keychain. So I'm not sure if it can work on Linux.
Please help me, thanks!

hi, I'm investigating, but I don't have a Linux environment. If I have, I can try it myself. I just want to know if I can use CredentialsManager to save account and password on Linux platform.
Thanks.

It seems like you have not included the output of fastlane env
To make it easier for us help you resolve this issue, please update the issue to include the output of fastlane env 👍


Building engine with mono enabled cannot find MSBuild.exe

Godot version:
3.2.1
OS/device including version:
Windows 10
Issue description:
Attempting to build the engine from source with mono. Generated the mono glue, now attempting to rebuild the engine with the generated mono glue. Getting the error: "MsBuild.exe does not exist at 'C:\Program Files\Mono\lib\mono\msbuild\15.0\bin'."
It is correct that MsBuild.exe does not exist there. There is an MsBuild.dll at that location, and many other things besides, but no MsBuild.exe. From other posts I've found, I think it should be looking in C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin, where there IS an MSBuild.exe. I'm not sure why it's insisting on looking in the mono directory instead. Is this a bug? Is there a way for me to fix this?
Full log attached.
message.txt

@Avantir-Chaosfire Can you (or anyone else) still reproduce this bug in Godot 3.4.4 or any later release?

Cannot reproduce


Add Activated Subassemblies: Engines & BDArmory from SpaceDock

This pull request was automatically generated by SpaceDock on behalf of Tazius, to add Activated Subassemblies: Engines & BDArmory to CKAN.
Mod details:
name = /mod/1378/Activated%20Subassemblies:%20Engines%20%26%20BDArmory
author = Tazius
abstract = Stock engine subassemblies that have been pre-staged and pre-ignited & BDArmory subassemblies that have Weapon Manager Guard Mode and AI Pilot activated to streamline craft creation for contract pack creators.
license = CC-BY-SA 2.0 https://creativecommons.org/licenses/by-sa/2.0/
Homepage = http://forum.kerbalspaceprogram.com/index.php?/topic/160722-activated-subassemblies-engines-bdarmory/
description = Activated Subassemblies: Engines & BDArmory
The goal of this mod is to streamline the creation of crafts for Contract Configurator contract packs.
Normally, when crafts are created for contract pack the author has to go through each .craft file and set engine staging & ignition values to true to get crafts engines to activate when spawned by a mission. If authors want their crafts to take off & fly autonomously they will need edit their .craft files to set the pilot activation value to true. If the author wants their crafts to attack other crafts of a different team, .craft files will need to be edited so that Guard Mode is set to true.
This mod allows authors to build crafts from scratch using these activated subassemblies so that they don't have to do any craft file editing outside of the game.
Activated Subassemblies: Engines & BDArmory:
Stock engine subassemblies that have been pre-staged and pre-ignited & BDArmory subassemblies that have Weapon Manager Guard Mode and AI Pilot activated.
Requirements: BDArmory: https://github.com/PapaJoesSoup/BDArmory/releases
Download on SpaceDock & CKAN: https://spacedock.info/mod/1378/Activated Subassemblies: Engines %26 BDArmory
Installation:

Download one of the 3 variants
Extract zip file
Drop the saves folder from the extracted zip file into the KSP installation directory.
Use the activated_engines_bdarmory sandbox game save to access the subassemblies.
Alternatively, copy the Subassemblies folder within the installed game save into your own existing game save folder to access the subassemblies.

License:
This mod for Kerbal Space Program is developed by Tazius and distributed under the license CC-BY-SA 2.0.
Please read about the license at https://creativecommons.org/licenses/by-sa/2.0/
Let me know if there's any additional parts that people would like activated and add to this download. documentation](/markdown) for tips.
Thanks for hosting your mod on SpaceDock!
Please direct questions about this pull request to Tazius.

CKAN doesn't write to the saves folder with the current spec, and the functionality seems unlikely to garner sufficient use cases to justify adding it.


OpenShift route generation quirks

Description
Currently the generation of OpenShift Routes is broken and doesn't work in the quickstarts. See https://issues.jboss.org/browse/OSFUSE-479 for the downstream issue.
The main reason is, that although -Dfabric8.deploy.createExternalUrls is applied to fabric8:apply no Route is created when the Services found dont have as type LoadBalancer. IMO this is a to harsh restriction, since the user explicitly request the generation of a route, so it should be created regardless of the type (and the type should be changed to LoadBalancer if this is required). I know, that route / ingress creation is nowadays delegated to exposecontroller, but this is not of much help for the downstream products which do not have an exposecontroller available (not productised). So we need a direct solution here.
At least as it stands now, fabric8.deploy.createExternalUrls is useless for auto-generated Services with service type ClusterIP.
@fabric8io/maintainers  any opinion on this ? My suggestion is to move the route creation as post-process step which would (a) change the service type to LoadBalancer and (b) create the route.

Service doesn't need to be loadbalancer type to work with & in fact that it's discouraged as it automatically creates load balancers on public clouds, redundant when you're using the router.

Cool, so it's probably enough to simply remove the check on the service type when a Route is requested.

Yep.