feat: fire event when user cancels tx

Try out this version of the Stacks Wallet - download extension builds.

Description
This PR adds the ability for the developer to use an onCancel callback function from connect when a user closes/cancels a transaction window.
This is PR is in Draft status bc the callback is working, but I'm not sure what we actually want to do with the transaction during this process or what (if any) data we would want to return to the developer in the onCancel callback?
For details refer to issue #959
Type of Change

[x] New feature
[ ] Bug fix
[ ] API reference/documentation update
[ ] Other

Are documentation updates required?
TBD
Testing information
Tests still need to implemented.
Checklist

[ ] Code is commented where needed
[ ] Unit test coverage for new or modified code paths
[ ] Changelog is updated
[ ] Tag 1 of @hstove or @kyranjamie or @aulneau for review

I addressed code comments and will put up the related PR in connect now.

Set up connect and the extension this morning and ran through these changes.
I think it'd be better to reject the promise when the user cancels, rather than altering the resolve data. This is a small change, and just requires rejecting in the inpage.ts file
  transactionRequest: async transactionRequest => {
    const event = new CustomEvent<TransactionRequestEventDetails>(DomEventName.transactionRequest, {
      detail: { transactionRequest },
    });
    document.dispatchEvent(event);
    return new Promise((resolve, reject) => {
      const handleMessage = (event: MessageEvent<TransactionResponseMessage>) => {
        console.log('message in inpage.ts', event);
        if (!isValidEvent(event, Methods.transactionResponse)) return;
        if (event.data.payload?.transactionRequest !== transactionRequest) return;
        window.removeEventListener('message', handleMessage);
        if (event.data.payload.transactionResponse.cancel) {
          reject(event.data.payload.transactionResponse);
          return;
        }
        resolve(event.data.payload.transactionResponse);
      };
      window.addEventListener('message', handleMessage);
    });
  },

Also there are two scenarios I noticed where the callback isn't fired:

Logged out state where you need to enter your password
When signed in, but there are async actions running and you close before they finish

We need to find an earlier way to set up the close listener, even before the transaction page.

Just circled back and remembered this, maybe I should use this approach at least for now and change the conditional check in connect to just catching the failed promise?

Tests are going to fail here until it points at the changes in connect PR.


Snap cam showing Yellow Screen with obs  on Mac book air M1

I have been using this for a while on my intel imac its perfect
recently i downloaded it on m1 mac book air and it worked fine with obs . i went to bed after and woke up opened up the laptop to see a yellow screen on obs , it works fine on just snap cam but on the obs it is yellow screen, if i reinstall it it works fine till the computer is restarted , so i have to keep reinstalling on everyboot hope  someone can help me with what i am doing wong.
its a mac book air m1 2020
mac os sequoia 15.2

Do the following steps:
Do what this article tells: https://support.apple.com/en-us/108387.
Open Terminal and paste this script: sudo /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/jaku/SnapCameraPreservation/main/mac.sh)". Type your password and hit Return afterwards.
Wait for the script to complete.
Quit the app that you want to use SnapCamera and open that app again.
Choose SnapCamera and enjoy.
IMPORTANT: If you restart your Mac, you have to run the script in step 2 again. This is my solution and it works for me, hope it works for you as well.


Enable to accept multiple input files.

Usage:
IkaLog.py --input_file a.mp4 b.mp4 c.mp4
Caveat:
Output file is overwritten by the last input_file.
For example, when the command is 'IkaLog -f a.mp4 b.mp4 --json ika.json',
ika.json contains only data for 'b.mp4'.
'IkaLog -f a.mp4 b.mp4 --json INPUT_FILE.json' works as expected.

Added VideoInput.on_eof as a callback called on EOFError.
Added IkaEngine.reset_capture which is called from set_capture and also
on EOFError and VideoInput.on_eof returns true.
Made sure the lock is release in VideoInput.read_frame even on exception.

Thanks!


Windows Virtual Desktop Connection Issue - No such member

Can anyone help me with this?  I have Windows Virtual Desktop set up and working for one user but when I add a second user 'admin' two, it fails to connect.
Here is my error:

The user is added to the Desktop Application Group group and as far as I can tell everything is set up the same as the user that is working.  I can't figure out what I've missed here, I've added the user to Active Directory also and the user is in the Remote Desktop Users Group as well just in case this is the issue but I don't think it's getting this far.

Any pointers appreciated.  Thanks.

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

ID: 970202b7-165f-18df-e928-c47c45a18755
Version Independent ID: d5393b62-4211-72f5-fc7a-363f68f6d8a2
Content: Create a Windows Virtual Desktop Preview host pool with Azure Marketplace  - Azure
Content Source: articles/virtual-desktop/create-host-pools-azure-marketplace.md
Service: virtual-desktop
GitHub Login: @Heidilohr
Microsoft Alias: helohr

@schitzoid-embolism, Please help with the link of document on which above document feedback request is created.
In case your query in not related to document content, open a new forum thread in MSDN forum or Stack Overflow as it could be better place to get help on your scenario. These forum community members could provide their expert guidance on your scenario based on their experience. Thanks.

Here is the document link: https://docs.microsoft.com/en-us/azure/virtual-desktop/create-host-pools-azure-marketplace

@schitzoid-embolism, Thanks for providing the link. We are checking on this and will respond to you soon.

Seems to be AD related.  I've found after adding the user to AD and waiting for a period of time which seems to be a few hours then it suddenly works.  I am not syncing users with AD Connect so just creating AD users manually and matching with Azure AD but why the delay???  Anyone come across the same issue???

@schitzoid-embolism it might take a bit for the identities to fully sync. I will assign this to the author to see if that is something worth noting in the doc.

OK, it seems to work if you are using AD Connect to sync AD to Azure AD.  Just to save time I was manually adding to both and although it seems to "sync up" on it's own eventually it appears AD Connect does something in the background to just make this work.  In the real world I would be using AD Connect or Azure AD Domain Service but might be worth documenting this fact for others who are testing as this wasted a lot of my time.


Added contextDelta parameter to sendToWatson method

This feature simplifies updating context and sending it to Conversation.
I have used it in my bot already and it works as I wanted it to.
receive and interpret methods are not affected
change is backwards compatible with calling sendToWatson without contextDelta.
I ordered "implementing app actions" sections in decreasing chronological order (also in decreasing order of usability).
Closes #91

Also I added 2 dependencies to package.json
clone to devDependencies to simplify tests.
and deepmerge to dependencies to merge contextDelta with stored context.
I think that it is better to use an existing library than to invent my own.
It doesn't delete context variables, but setting them to null is as good, right?

Awesome, @Naktibalda ! Thanks for the attention on the issue!

I needed it myself.

@Naktibalda I'm going to need some time to tests some of the changes in this and other PRs @Naktibalda. I'll keep you posted

It is OK, I merged all my changes (except readContext that I no longer need) to https://github.com/Naktibalda/botkit-middleware/tree/my-master branch and installed it with npm as
"botkit-middleware-watson": "git+https://github.com/Naktibalda/botkit-middleware.git#my-master",

@germanattanasio Could you start by merging #89 and #94 ?
They are smaller, so they should be easier to review,  and there will be a small merge conflict between this PR and #94.
I will update the latter PR when we first one is merged.


I would like to submit the form in each step, any idea how to implement?

I am also using react-hook-form, anyone has ideas to work with both? Thanks

I don't believe that is customizable out of the box. But you could copy the source code in index.tsx and customize it to your liking. On line 162, there is an onClick handler for the 'Next' Button, so you could start working from there.


Monitoring Page Doc Update

Re: Monitoring Page
Issue Description
This page is meant only for Dedicated Clusters. This page is not meant for Free Tier Clusters
This link is not correct: https://crdb.io:8080/#/metrics/overview/cluster
It does not even work with a Dedicated Cluster.
Suggested Resolution
Please update this page with

a note that it is only for Dedicated Clusters.
the correct link for Dedicated Clusters

cc @taroface for awareness

cc @lnhsingh - wondering if you're familiar with the direct link we cite on the Monitoring Page?
It should be https://<cluster-name>.crdb.io:8080/#/metrics/overview/cluster but this doesn't work for me, and the actual URLs that launch for various test clusters all seem to have custom strings (e.g., https://admin-tricky-monkey-5795.crdb.io:8080/#/metrics/overview/cluster).
I'm inclined just to remove any mention of a direct link, unless we have a clear formula we can provide.


fix/Bulk Append throwing error on empty data in google sheets

Description

When executing a Google sheets Bulk insert rows query, an error is returned if the data array is empty.

Fixes #8924
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

Tested manually with different inputs of empty data

Test A
Test B

Checklist:

[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my own code
[X] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[X] New and existing unit tests pass locally with my changes

Cancelling this and creating another pull request


[REQUEST] Add fields for facilitator and editor to the story archetype

Is your feature request related to a problem? Please describe.
Stories are only possible because of the efforts of the team! Let's give them credit.
Describe the solution you'd like
I'd love to see them credited in the story! Something like:

This would probably need an update to the stories.md archetype to add a new field to the frontmatter for the editor(s) like we have for the facilitator:
https://github.com/opensourcestories/opensourcestories.org/blob/429951705e88089f2d7271cde5bc54e7580126e6/archetypes/stories.md?plain=1#L9
Then, we'd need to surface that information in the layout above the tags:
https://github.com/opensourcestories/opensourcestories.org/blob/429951705e88089f2d7271cde5bc54e7580126e6/layouts/stories/single.html#L48
It might be good to make it its own partial, like with the tags to keep things nice and organized.
Additional context
In the future, we might want to extend this so that you can click on a name to see that person's contributions to Open Source Stories.

Ohh - I like this. Especially if this is in a way which we can preserve the metadata of person-ActiveRole-artifact so that we can group by people, a role, or an artifact.

Thank you @LuvvAggarwal for your work on this issue!


Uptake new angular-eslint runtime-localize rule

Describe the issue
@m-akinc added a new rule to angular-eslint in https://github.com/angular-eslint/angular-eslint/pull/1898 which should help catch cases where strings are tagged with $localize in scopes that don't permit it, like file-level consts. This is now available in @angular-eslint/eslint-plugin. You can see the docs here.
We should enable this rule by default in our ruleset.

I tried to fix this in the runtime-localize branch but hit snags.

It requires installing<EMAIL_ADDRESS>but just bumping the version results in dependency conflicts with npm install
I tried regenerating package-lock.json and that successfully installed the dependency but it seemed to break other rules. Our tests for @angular-eslint/template/i18n started failing claiming the content didn't have an i18n attribute even though it does.

I suspect both of these issues are because the angular-eslint version is supposed to align with the Angular version but we're on Angular 17. If this is true then this issue needs to wait on the Angular 18 upgrade.


Add "top-down-max-depth" view of profiler data

The top-down tree is awesome, but sometimes it displays a deep tree of calls.  It could be useful to have a "max-depth" version that rolls up deeper trees into the tree nodes at the max-depth requested (perhaps with some visual display to show that its a collapsed node).

Good idea. You might try the cross-section view in the meantime. It takes a depth and displays only frames at the given depth or shallower.


(SNAP-1686) Fetch the latest commit id of snappydata repo to be included in product logs.

Changes proposed in this pull request
Fix from @kneeraj
Fetch the latest commit id of snappydata repo to be included in product logs.
Patch testing
Manually verified in product logs
ReleaseNotes changes
NA
Other PRs
NA

Opened https://jira.snappydata.io/browse/SNAP-1695 for AQP commit id


Core dumped after checking failed

System information
== cat /etc/issue ===============================================
Linux 84a2861a8739 3.10.0-229.el7.x86_64 #1 SMP Fri Mar 6 11:36:42 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
VERSION="7 (Core)"
VERSION_ID="7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
== are we in docker =============================================
Yes
== compiler =====================================================
c++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
== uname -a =====================================================
Linux 84a2861a8739 3.10.0-229.el7.x86_64 #1 SMP Fri Mar 6 11:36:42 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
== check pips ===================================================
numpy (1.13.3)
protobuf (3.5.0.post1)
tensorflow-tensorboard (0.4.0rc3)
== check for virtualenv =========================================
False
== tensorflow import ============================================
tf.VERSION = 1.5.0
tf.GIT_VERSION = v1.5.0-0-g37aa430d84
tf.COMPILER_VERSION = v1.5.0-0-g37aa430d84
Sanity check: array([1], dtype=int32)
== env ==========================================================
LD_LIBRARY_PATH is unset
DYLD_LIBRARY_PATH is unset
== nvidia-smi ===================================================
tf_env_collect.sh: line 105: nvidia-smi: command not found
== cuda libs  ===================================================
Describe the problem
I used keras using TensorFlow backend to train a batch of 300*300*3 RGB image.
The program occurred core dumped after printing check failed log as below.
Source code / logs
F tensorflow/core/kernels/maxpooling_op.cc:177] Check failed: input_backprop_index >= in_start && input_backprop_index < in_end Invalid input backprop index: -1491167680,<PHONE_NUMBER>,<PHONE_NUMBER>
I traced tensorflow source code, it should be check operation. And backprop index shouldn't be negative. I don't know tensorflow well, why can appear such problem? I think this error is root cause of code dumped. Could you help me solve this problem?

Thank you for your post. We noticed you have not filled out the following field in the issue template. Could you update them if they are relevant in your case, or leave them as N/A? Thanks.
Have I written custom code
OS Platform and Distribution
TensorFlow installed from
TensorFlow version
Bazel version
CUDA/cuDNN version
GPU model and memory
Exact command to reproduce

Thanks for your update. Here are fields you need.
Have I written custom code. N/A
OS Platform and Distribution. Centos7 and Linux 84a2861a8739 3.10.0-229.el7.x86_64
TensorFlow installed from. Using PIP
TensorFlow version. 1.4/1.5
Bazel version. N/A
CUDA/cuDNN version. N/A
GPU model and memory. N/A
Exact command to reproduce.  Using Keras (Tensorflow as backend)

Can you post a script we can run to reproduce this problem?
cc/ @vrv , I'm not sure who else should handle this

@skye I think the problem is that the input_backprop_index is an int, not an int64.

@skye @vrv , Thanks for your comments.
I already attach script in here, while a batch of training image is very large, it's not possible to upload them.
I just change input_backprop_index from int to int64 in 172 line located in https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/kernels/maxpooling_op.cc
Right?

Has this issue been addressed?

I'm having a similar issue. It seems like there is an integer overflow in maxpooling_op.cc when training on large images. I'm currently mitigating this by reducing the resolution of the input images.

It has been 14 days with no activity and the awaiting response label was assigned. Is this still an issue?

It has been 14 days with no activity and the awaiting response label was assigned. Is this still an issue?

It has been 29 days with no activity and the awaiting response label was assigned. Is this still an issue?

@skye @vrv , Thanks for your comments.
I already attach script in here, while a batch of training image is very large, it's not possible to upload them.
I just change input_backprop_index from int to int64 in 172 line located in https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/kernels/maxpooling_op.cc
Right?

Have you solved this issue?
I have a similar error. I changed int to int64 from line 165 to line 172 in tensorflow/blob/master/tensorflow/core/kernels/maxpooling_op.cc, then compiled tensorflow using bazel and install the whl file. But it still does not work.


luastatus: init at 0.6.0

Description of changes
closes https://github.com/NixOS/nixpkgs/issues/256021
luastatus is a universal status bar content generator. It allows you to configure the way the data from event sources is processed and shown, with Lua.
https://github.com/shdown/luastatus

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 256033 run on x86_64-linux 1

1 package built:

luastatus

Backport requested on Matrix, can someone test and verify it works?


Navbar tabs should support Open in New Tab

https://material-ui.com/components/tabs/#nav-tabs might be a solution


Store timer data with plugins instead of centrally

With the move to directory-based plugins, it is probably more feasible to store timer data with plugins (or maybe just store them in plugin data?) instead of a central location.
This might break existing, stored timers.

closed by https://github.com/alturiak/nio-smith/commit/488dd292f8aefb4614812d36f030f462c319c5f6

closed by https://github.com/alturiak/nio-smith/commit/488dd292f8aefb4614812d36f030f462c319c5f6


GitSavvy: view recorded log throws an exception

When I mistakenly thought I encountered a bug, I tried to activate the log, but an exception was thrown when I ran GitSavvy: view recorded log in the Command Palette. It's included below.
The last line in the exception contains the entire file I was working on, but I also attatched it in case it might help track down the bug (zipped, because Github wouldn't upload it otherwise).
System info:

git 2.13.0
OS X Yosemite10.10.5 (14F2109)
ST Build 3132 (dev channel)

Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 797, in run_
    return self.run()
  File "common.commands.debug in /Users/allan/Library/Application Support/Sublime Text 3/Installed Packages/GitSavvy.sublime-package", line 57, in run
  File "common.util.debug in /Users/allan/Library/Application Support/Sublime Text 3/Installed Packages/GitSavvy.sublime-package", line 35, in get_log
  File "./python3.3/json/__init__.py", line 240, in dumps
  File "./python3.3/json/encoder.py", line 193, in encode
  File "./python3.3/json/encoder.py", line 411, in _iterencode
  File "./python3.3/json/encoder.py", line 312, in _iterencode_list
  File "./python3.3/json/encoder.py", line 388, in _iterencode_dict
  File "./python3.3/json/encoder.py", line 422, in _iterencode
  File "./python3.3/json/encoder.py", line 173, in default
TypeError: b'import numpy as np\nimport pandas as pd\nfrom sklearn import decomposition\nimport multiprocessing\n\n\ndef color2igraphColor(color):\n    """Convert a color-list to an igraph color string with format \'rgb(#, #, #)\'.\n\n    Parameters\n    ----------\n    color : listlike\n        List with color values.\n\n    Returns\n    -------\n    TYPE\n        igraph compatible color string.\n    """\n    colorStr = \'rgb(\' + \', \'.join(map(str, [128, 64, 255])) + \')\'\n    return colorStr\n\n\ndef objDir2Df(obj):\n    """Given an object, return a DataFrame with all non-dunder parameters along with\n    theur type. If an exception are raised during determining the type, the except is\n    returned in place of the type. Object\n\n    Parameters\n    ----------\n    obj : Object\n        Object to get parameter info off.\n\n    Returns\n    -------\n    DataFrame\n        DataFrame with parameters and parameter types.\n    """\n    lst = list()\n    gen = (el for el in dir(obj) if not (el.startswith(\'__\') and el.endswith(\'__\')))\n    for el in gen:\n        try:\n            tup = [el, eval(\'type(pp.%s])\' % el)]\n        except Exception as e:\n            tup = [el, e]\n        try:\n            tup.append(eval(\'pp.%s.shape\' % el))\n        except Exception as e:\n            try:\n                tup.append(eval(\'len(pp.%s)\') % el)\n            except Exception as e:\n                tup.append(None)\n        lst.append(tup)\n    df = pd.DataFrame(lst, columns=[\'parameter\', \'partype\', \'shape\'])\n    return df\n\n\ndef nanEqual(a, b):\n    """Returs elementvise true for equal elements in inputs a and b, treading\n       NaN\'s as equal.\n       Inputs must both have the \'shape\'-attribute and be of equal shape.\n\n    Parameters\n    ----------\n    a : array\n        First array\n    b : array\n        Second array\n\n    Returns\n    -------\n    boolean array\n\n    Raises\n    ------\n    ValueError\n    The inputs aren\'t of equal shape.\n    """\n    if not (hasattr(a, \'shape\') or hasattr(b, \'shape\')):\n        raise ValueError("Inputs a nad b must both have the shape-attribute (like numpy arrays)")\n    if a.shape != b.shape:\n        raise ValueError("Inputs shapes must be identical. a.shape = {} and b.shape is {}"\n                         .format(a.shape, b.shape))\n    return np.all( (a == b) | (np.isnan(a) & np.isnan(b)) )  # noqa\n\n\ndef timedelta2unit(timedelta, unit):\n    """Convert a timedelta or iterable with Timedeltas to\n       a numeric value matching a given unit.\n\n    Parameters\n    ----------\n    timedelta : pd.Timedelta\n        Timedelta to convert. Can be an itetable of Timdeltas.\n    unit : str\n        Unit to convert timedeltas to. Valid arguments are {\'s\', \'h\', \'d\', \'y\'}.\n\n    Returns\n    -------\n    np.double\n        Numpy array of timedelta values matching given unit.\n\n    Raises\n    ------\n    ValueError\n    If input(s) lack(s) the \'total_seconds\' method.\n    """\n\n    def _inner(time, unit):\n        """Convert a pd.Timedelta (\'time\') to a numeric value matching \'unit\'self.\n\n        Parameters\n        ----------\n        time : pd.Timedelta\n            Timedelta to convert.\n        unit : str\n            String indicating unit, same as outer function.\n\n        Returns\n        -------\n        double\n            time converted to a double matching given \'unit\'\n\n        Raises\n        ------\n        ValueError\n            If input `time` is missing the attribute total_seconds.\n        """\n        if not hasattr(time, \'total_seconds\'):\n            raise ValueError((\'The input (or the elements of the iterable)\' +\n                              \'must have the attribute "total_seconds".\'))\n        ts = time.total_seconds()\n        if unit == \'s\':\n            return ts\n        if unit == \'h\':\n            return ts / 3600\n        if unit == \'d\':\n            return ts / (24 * 3600)\n        if unit == \'y\':\n            return ts / (365 * 24 * 3600)\n\n    if hasattr(timedelta, \'__iter__\'):\n        return np.fromiter((_inner(td, unit.lower()) for td in timedelta), np.double)\n    return _inner(timedelta, unit.lower())\n\n\ndef standardizeData(data, getStdMean=False):\n    """\n    Normalize the data by substracting the mean from each feature,\n    and dividing by the standard deviation.\n\n    Parameters\n    ----------\n    data : array\n        Data to be standardized columnwise.\n    getStdMean : bool, optional\n        return the standard deviation and mean for the data before the stnadardization,\n        along with the data iteself.\n\n    Returns\n    -------\n    array\n        The snandardized data, and depending on the flag getStdMean, also the std and\n        mean of the data.\n\n    """\n    mean = data.mean(axis=0)\n    std = data.std(axis=0)\n    # set values of where there\'s no data to 1.0, since we\'re dividing with the std\n    std[mean == 0] = 1.0\n    normData = (data - mean)/std\n    if getStdMean:\n        return (normData, std, mean)\n    return normData\n\n\ndef pcaFit(toPca, performStandardization=True, **kwargs):\n    """Standardize data, create a PCA object and fit the data.\n\n    Parameters\n    ----------\n    toPca : np.array\n        Data to perform PCA analysis on.\n    performStandardization : bool, optional\n        Standardize data if True, leave as be othewise.\n    **kwargs : dict, optional\n        Additional keyword arguments to PCA.\n\n    Returns\n    -------\n    PCA\n        Fitted PCA instance.\n    """\n    if performStandardization:\n        toPca, std, mean = standardizeData(toPca, getStdMean=True)\n    else:\n        mean, std = np.NaN, np.NaN\n    pca = decomposition.PCA(**kwargs)\n    pca.fit(toPca)\n    pca.norm_std = std\n    pca.norm_mean = mean\n    return pca\n\n\ndef icaFit(toIca, performStandardization=True, **kwargs):\n    """Standardize data, create a ICA object and fit the data.\n\n    Parameters\n    ----------\n    toIca : np.array\n        Data to perform ICA analysis on.\n    performStandardization : bool, optional\n        Standardize data if True, leave as be othewise.\n    random_state : np.random.RandomState, optional\n        Random state used for the analyses, default seed is int(time.time() * 1e6)\n    **kwargs : dict, optional\n        Additional keyword arguments to ICA.\n\n    Returns\n    -------\n    ICA\n        Fitted ICA instance.\n    """\n    if performStandardization:\n        toIca, std, mean = standardizeData(toIca, getStdMean=True)\n    else:\n        mean, std = np.NaN, np.NaN\n    ica = decomposition.FastICA(**kwargs)\n    ica.fit(toIca)\n    ica.norm_std = std\n    ica.norm_mean = mean\n    return ica\n\n\ndef mapAsync(func, funcargLst, n=None):\n    """Given a function and an iterable with tuple-packed arguments, evalueate the\n    the function in parallel using multiple processors.\n\n    Parameters\n    ----------\n    func : function\n        Function to evalueate.\n    funcargLst : list\n        List with tuples containing arguemnts for func.\n    n : int, optional\n        Number of processors to use. Default is 16 or number of processors - 1\n        (if there isn\'t 16 processors avaiable).\n\n    Returns\n    -------\n    list\n        List with result.\n    """\n    if n is None:\n        n = 16 if 16 < multiprocessing.cpu_count() else multiprocessing.cpu_count() - 1\n    with multiprocessing.Pool(n) as pool:\n        call = pool.starmap_async(func, funcargLst)  # parse args correctly\n        res = call.get()\n        pool.close()\n        pool.join()\n        return res\n\n\ndef lstDct2dct(lst):\n    """Merge a list of dicts into a single dict.\n    Raises warning if there\'s overlapping key values.\n\n    Parameters\n    ----------\n    lst : list\n        List with dictionaries.\n\n    Returns\n    -------\n    dict\n        Merged dictionary.\n    """\n    retDct = dict()\n    for dct in lst:\n        keyIntersection = set(dct.keys()).intersection(set(retDct.keys()))\n        if keyIntersection:\n            Warning(\'Keys are being overwritten: {}\'.format(keyIntersection))\n        retDct.update(dct)\n    return retDct\n\n\ndef randomSample(itr, n):\n    """Draw n samples from iterable, where each element can only be drawn once.\n\n    Parameters\n    ----------\n    itr : iterable\n        Iterable to draw from.\n    n : int\n        number of elements to draw.\n\n    Returns\n    -------\n    list\n        n elements from itr.\n\n    Raises\n    ------\n    ValueError\n    If the requested number of draws isn\'t smaller then the length if itr.\n    """\n    if len(itr) <= n:\n        raise ValueError("\'itr\' must be longer that n")\n    idx = np.arange(len(itr))\n    np.random.shuffle(idx)\n    ret = [itr[i] for i in idx[:n]]\n    return ret\n\n\ndef getFirstDayInTimeseries(ts):\n    """Given a Pandas time series, get the Timestamp for the start of the day for the\n    earliest entry in the time series.\n\n    Parameters\n    ----------\n    ts : Series[Tiemstamp]\n        Pandas Series with Timestamps (datetime might also work).\n\n    Returns\n    -------\n    Timestamp\n        Pandas Timestamp matching the data for the first entry in ts.\n    """\n    t0 = ts.min()\n    t0d = t0.date()\n    return pd.Timestamp(t0d)\n\n\ndef swapMatrixRows(m, r0, r1, inplace=False):\n    if inplace:\n        m[[r0, r1]] = m[[r1, r0]]\n        return None\n    # Don\'t modify matrix inplace\n    mt = m.copy()\n    mt[[r0, r1]] = mt[[r1, r0]]\n    return mt\n\n\ndef swapMatrixCols(m, c0, c1, inplace=False):\n    if inplace:\n        col0 = m[:, c0].copy()\n        m[:, c0] = m[:, c1]\n        m[:, c1] = col0\n        return None\n    # Don\'t modify the matrix inplace\n    mt = m.copy()\n    mt[:, c0] = m[:, c1]  # copy from original, unmodified matrix\n    mt[:, c1] = m[:, c0]  # copy from original, unmodified matrix\n    return mt\n\n' is not JSON serializable

misc.py.zip

My bad, I open a PR for it.


Add example with multiple threads creation

The example shows the creation of multiple threads. Thread spawn failure and thread identifier allocation are tested.
Now written as an example, it uses asserts so that it can be easily converted into a test once a test suite is created #1790.

FYI, there are a few test efforts:
wasi level tests: https://github.com/WebAssembly/wasi-threads/pull/19
libc level tests: https://github.com/WebAssembly/wasi-libc/pull/369

I wonder if we actually need this example as it doesn't present any new feature that's already not in no_pthread.c already?

It's to test the failure and re-attempt on thread creation once the thread number limit is reached. Probably it doesn't add anything, I'll close the PR


No iTunes player

In legacy macOS usage of iTunes script leads to error, as Apple replaces iTunes with Music on legacy macOS too.
I changed the script, but for some users it might be not so obvious, what they should do in order to make plugin work.

Hm, interesting. What version of macOS do you have?
It's just a simple config.json setting, script. I suppose, I could change the default script library to Music for all versions of macOS.

I’m very sorry. I was blind and didn’t check my os version in advance. I have 12.7 so my message was irrelevant. I was so sure my os is below 10.15 so even didn’t check before leaving comment.
Sorry again.


Big Yeetus Mode - Fall Mountain Final Problem

Hello again Devil Squirrel!
I wonder if you received my response mail, but if not, in short I thanked you for the really quick response (specially on a Sunday!) to my previously raised issue.
Most of the update looks fine, except for two things I've noticed:
1.- Although the Yeetus Fall Mountain Final has been renamed correctly, it is still not recognized as a "Final" (red) by the tracker itself, but rather, as a "new" (grey) kind of round. (Picture 1), it doesn´t even have the check on the table (Picture 2)
2.- Furthermore, if you win it, it doesn´t count towards the "Total" wins shown on the overlay (although it IS recognized as such in the generated graph) (Picture 3).
Once again, many thanks for creating the tracker, and taking the time to keep updating it.
Do not hesitate to contact me if furher information is requiered.
Kind Regards!

Interesting, the win count is just because it's not recognized as a normal level. As to why that is, I'm not sure since I haven't had much time to play the game myself. If possible can you attach your data.db file zipped up?

Sure thing! Please find it attached and let me know if I can help in any way. Thanks for your support and quick responses!
data.zip

Weird, here is your db fixed. If it happens again Ill fix it in code, but Im thinking this was a one time thing.
data.zip

Holy! Thank you very, very much! Hope it is indeed a one-time thing and I do not neeed to bother you again. Do you have a "buy me a coffe" account or something similar? Kind Regards!

Forgot to mention, it seems it's working properly now.
Regards!

I've actually encountered the same problem with fall mountain. It might be due to playing the yeetus gameshow before the update to the stat tracker which addressed it?
datazip.zip

Must have been a wide spread issue then. It should be taken care of in v1.99, and hopefully game modes don't mess things up anymore with this change.


Bugfix: add missing poverty rate countries

I used the datagrid instead of the full HRP list to add the poverty rate countries, I've now included the missing ones.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1309

Relevant Lines:
1401

💛  - Coveralls


Add support for Balancer "fast-path" swap settlements.

The upgraded GPv2 contracts support a swap settlement where a single order is traded directly against Balancer.
As the Balancer SOR solver will be coming along soon, we should support these kinds of solutions so that the Balancer SOR solver has a gas advantage WRT the objective function.
This task would entail:

Adding support for two different kinds of settlements to be returned by the solver
Add code for ABI encoding this kind of settlement

Adding support for two different kinds of settlements to be returned by the solver

Alternatively, we could try to implement some post-processing logic that checks if a solution can be optimised (e.g. if it only contains balancer interactions it can be fast-pathed). Such a pipeline could also be used to combine multiple consecutive balancer swaps in a "not only balancer" solution?

Related to #675


Add an infinite progress when total count is unknown

Sometimes we really don't know the total count to set to the progress bar, so I believe we should show an infinite progress in that case

Awesome!


Use full projection for submission REST requests

This is a replacement for https://github.com/DSpace/dspace-angular/pull/582 that requests full projection for all HTTP verbs on submission rest endpoints, to cover submission creation and edit use cases that were failing prior.

Merging, as this is a tiny, one-liner (with a corresponding test update) that fixes Submission editing


Align top-left icons better.

Instead of centering them and adding margin, we just
left-align the envelope, @, and * icons.
We continue to offset the home icon by a pixel, since
the "roof" part of the house isn't what we really want
to use for alignment.

Testing Plan:
GIFs or Screenshots:

I am closing this based on feedback from @timabbott that he would prefer to center all the icons, which I think is reasonable.  I'd like to further simplify this code, and things still feel slightly out of alignment, but I think we can address this if we get more feedback.


abseil-cpp_202308: init at 20230802.0

Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

We recently added strictDeps and the installation of the test helpers in dc5cd92. Can you apply the same changes here?

Done.


Quickstart google.calendar init function broken

In https://developers.google.com/calendar/quickstart/nodejs, there's this line:
const calendar = google.calendar({version: 'v3', auth});

which isn't valid JS. I'm guessing it should be:
const calendar = google.calendar({version: 'v3', auth: auth });

This is a valid syntax in ES6 (AKA ES2015):
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer#New_notations_in_ECMAScript_2015
https://dev.to/sarah_chima/enhanced-object-literals-in-es6-a9d


Added region tag, module source, and version to bucket example

Intending to add to another standalone page, similar to https://cloud.devsite.corp.google.com/load-balancing/docs/terraform/ext-http-lb-gce-tf-module

@betsy-lichtenberg At some point, I think we definitely need to add more documentation on the references / variables used herein (or refactor to remove them). Right now I don't think the page is immediately intuitive as copying that Terraform config without modification won't work.

Thanks for the PR! 🚀✅ Lint checks have passed.

Taking a minimalist approach for now and seeing what kind of feedback we
get, if any.
We do offer the guidance:
"For information about this example and to learn how to run it, see the
README
https://github.com/terraform-google-modules/terraform-google-lb-http/blob/master/examples/multi-mig-http-lb/README.md
in
GitHub."
On Wed, Jul 7, 2021 at 4:49 PM Morgante Pell @.***>
wrote:

@betsy-lichtenberg https://github.com/betsy-lichtenberg At some point,
I think we definitely need to add more documentation on the references /
variables used herein (or refactor to remove them). Right now I don't think
the page is immediately intuitive as copying that Terraform config without
modification won't work.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/terraform-google-modules/terraform-google-lb-http/pull/179#issuecomment-876008092,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AF2E4GYKAQOQCPGKS2FJ3GLTWTRX3ANCNFSM477T2GAA
.


Create passgen.py

Pull Request Template
Password Generator -
Use Pythons string and random modules to generate passwords.
Issue no.(must) -
Self Check(Tick After Making pull Request)

[ ] This issue was assigned to me.
[x] One Change in one Pull Request
[x] My file is in the proper folder
[x] I am following clean code and Documentation and my code is well-linted with flake8.
[ ] I have added README.md and requirements.txt with my script

If the issue was not assigned to you Please don't make a PR. It will mark as invalid.
Join Us on Discord:- https://discord.gg/JfbK3bS
acknowledgment

[x] I have tested the script and distributed it under an MIT license.

this script is already done 6 days ago #448

Duplicate PR


Navigation

-Create A Navigator that can handle 4 screens

Home Screen
Sign in Page
Private Room Generate/Login
Chat Room

Jayden got the navigator to connect the home and chat page!

Changed Navigator to GoRouter like the tutorial in order to add sign in page

Removed sign in features to allow anonymous chatting, for the true Picto[REDACTED] experience


fix: remove extraneous parens - typeof is an operator, not a function

This way the code is more idiomatic and shorter

replaced by https://github.com/gabelerner/canvg/pull/435 due to some merge conflicts


Add a C++17 build to the test matrix

Maybe against Python3.9?  That would have caught this bug: #1646

I think this can be closed now that we have updated to C++17?


Prepare for nextVersion

Updates to name

@donavanbecker is this okay to approve and merge? still needed i guess, but just wanted to check it’s not gonna kick off any builds or releases for example that we wouldn’t want to happen!

@bwp91 It actually looks like it might, but only should with the push of a tag with a v

i approved but also disabled auto merge just in case


GROUP_CONCAT incorrect results

Missing stage 3 so fixed by
alasql.aggr.GROUP_CONCAT = function(v, s, stage) {
return stage == 2?s + ',' + v : stage == 1?v:s ;
};

Hi peter. Thank you for your input.
Any chance I could ask you to come with an example that does not work at the moment? I then add a testfile, add you fix so we can document that we did not break anything by this fix.

Using SUM example from wiki
alasql.aggr.GROUP_CONCAT1 = function(v, s, stage) {
return stage == 2?s + ',' + v : stage == 1?v:s ;
};
var data = [{a:1,b:10}, {a:2,b:20}, {a:1,b:30}];
var res = alasql('SELECT a, GROUP_CONCAT(b) AS b FROM ? GROUP BY a',[data]);
console.log(res);
var res = alasql('SELECT a, GROUP_CONCAT1(b) AS b FROM ? GROUP BY a',[data]);
console.log(res);


Revert rt1466 1.0.2

Backporting to the 1.0.2 branch was premature, as only bug fixes should go there.

+1

Merged!


Fix tangents for inbuilt meshes and surface tool (Not really sure that this is correct fix)

Attempt to fix normals #16009 and depth  #15934 (parallax) for inbuilt geometry. Also attempt to fix tangents for imported obj by changing surface tool. Not sure that this is correct fix, especially part with surface tool (maybe this brokes something else?), I just hope that this may be helpful. I prepared small scene to test that.
scene_with_all_meshes_normal_and_depth.zip
It works with opengl normals and inverted displacement, like in Material Tester demo.

I second.
I've created an example project to demonstrate the issue:

The bottom row shows the Godot icon with deep parallax mapping. The zipped video (that can be viewed without unzipping here shows that deep parallax mapping works fine on the left quad and on the right cube, but looks wrong on the middle cube.
Left is a quad, which just works fine out of the box. The middle is an out-of-the-box cube, and the right is the same, but with one addition to the shader: void vertex() { TANGENT = -TANGENT; }, which emulates what this PR would do.
The row above shows the UV coordinates (or more importantly, the direction in which u/v increase: all the same), the row above that shows the tangent as ALBEDO = vec3(0.5) + 0.5*TANGENT;, and the top row shows the binormal.
It's obvious that the tangent on the wrong-looking cube the wrong way: Cyan-ish (vec3(0, 0.5, 0.5), -> TANGENT = vec3(-1,0,0)) instead of red-ish (vec3(1,0.5,0.5) -> TANGENT = vec3(1,0,0)).
I admit that I didn't think this through, but from a "make it look like that other stuff that somehow works fine"-point-of-view, this PR looks sane.

I actually noticed some weird UV behaviour when I was attempting the crack shader. Works fine but only in the quad. On every other built-in mesh it behaves super weird. Can't say if it is a problem of my shader or the built-in s.

I actually noticed some weird UV behaviour when I was attempting the crack shader. Works fine but only in the quad. On every other built-in mesh it behaves super weird. Can't say if it is a problem of my shader or the built-in s.

What "crack" shader are you referring to? You might be affected by issue #21221, which would be fixed by merging this PR.
You can try this out by doing the following:

Open the Mesh's properties in the inspector, so that you can select the material.
If it is a SpatialMaterial, open the drop-down-menu and convert it to a ShaderMaterial.
Open the ShaderMaterial's settings, and navigate to the shader code.
if there's a void vertex() function available, add TANGENT = -TANGENT; at its very top.
if not, add void vertex() { TANGENT = -TANGENT; } above the void fragment() line.
This emulates the behaviour of this PR and fix the tangents (except it will break the them for the quad, obviously). (Make sure you do not actually use this workaround, as it will revert to the old, broken behaviour as soon as this bugfix is merged.)

Here is some information to help solve this problem better:

Godot uses mikktspace to generate tangents/normals when they are not supplied. We should not really mess with the output of it unless we know what you are doing, as this is considered standard
The problem may be related to Godot using a right-handed coordinate system and also culling back faces instead of front faces by default.
Here is some more information that could be useful on things that may be wrong or may need to be validated. Maybe flipping indices to compensate front/back face, I don't know.

Here is some information to help solve this problem better:

Godot uses mikktspace to generate tangents/normals when they are not supplied. We should not really mess with the output of it unless we know what you are doing, as this is considered standard
The problem may be related to Godot using a right-handed coordinate system and also culling back faces instead of front faces by default.
Here is some more information that could be useful on things that may be wrong or may need to be validated. Maybe flipping indices to compensate front/back face, I don't know.

@reduz asked me to paste this:
Here is some information to help solve this problem better:

Godot uses mikktspace to generate tangents/normals when they are not supplied. We should not really mess with the output of it unless we know what you are doing, as this is considered standard
The problem may be related to Godot using a right-handed coordinate system and also culling back faces instead of front faces by default.
Here is some more information that could be useful on things that may be wrong or may need to be validated. Maybe flipping indices to compensate front/back face, I don't know.

I made more experiments with a textured cube in blender, exported with and without the tangent space using the better collada exporter. My observations are:

using blender's exported tangent space, depthmapping works correctly.
using godot's generated tangent space, it doesn't
when comparing both, then godot's generated tangent space has the binormal inverted (but the tangents are the same).

I am absolutely certain that one of the following is true:

Godot handles importing the tangent space from .dae wrong*, Quad is wrong* and the depth map shader is wrong (to account for the wrongly imported bitangents) and probably lots of other shaders, too.
The PrimitiveMeshes except Quad, and the Surfacetool are wrong*
*) where "wrong" means "inverted bitangent".

I suspect it's 2., which is what this PR would fix.
I suspect that importing the tangent space is correct, since this was fixed recently in e63c64e256.
In the link you posted, flipping the bitangent is the only options applicable here: We cannot change the UV winding order or mirror the UVs, and inverting the green channel may work for normal mapping, but not for depth maps.

Superseded by #23760.


Use mapedit for interactively selecting observation stations

mapedit can be used to actively select sf-obejcts.

Addressed in PR #23 and in commit a76c426.


Class 05 materials

Type: Bug
My html code keeps opening in what looks like chinese, though the language is in english
VS Code version: Code 1.71.1 (e7f30e38c5a4efafeec8ad52861eb772a9ee4dfb, 2022-09-08T19:56:36.424Z)
OS version: Windows_NT x64 10.0.19043
Modes:
Sandboxed: No

System Info

Item
Value

CPUs
AMD Ryzen 7 4700U with Radeon Graphics          (8 x 1996)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
undefined

Memory (System)
7.42GB (0.50GB free)

Process Argv
--crash-reporter-id df4fa3b1-796a-41ae-b2de-183b33230abf

Screen Reader
no

VM
0%

Extensions (7)

Extension
Author (truncated)
Version

project-manager
ale
12.7.0

gitignore
cod
0.9.0

git-extension-pack
don
0.1.3

githistory
don
0.6.19

gitlens
eam
12.2.2

vscode-language-pack-zh-hans
MS-
1.71.9140930

vscode-open-in-github
ziy
1.3.6

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
vswsl492:30256859
vslsvsres303:30308271
pythonvspyl392:30443607
vserr242cf:30382550
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vsdfh931cf:30280410
vshan820:30294714
vstes263:30335439
vscoreces:30445986
pythondataviewer:30285071
vscod805:30301674
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
cmake_vspar411:30557514
vsaa593cf:30376535
pythonvs932:30410667
cppdebug:30492333
vsclangdc:30486549
c4g48928:30535728
hb751961:30553087
dsvsc012cf:30540253
azure-dev_surveyone:30548225
2144e591:30553903
fc301958:30567733

We closed this issue because it is a question about using VS Code rather than an issue or feature request. Please search for help on StackOverflow, where the community has already answered thousands of similar questions. You may find their guide on asking a new question helpful if your question has not already been asked. See also our issue reporting guidelines.
Happy Coding!


My reload page notification doesn't work correctly

When i need to reload the page with the notification pop up, doesn't show the text and others, just the styles
Screenshot

I used the Option 1  to deploy my project and everething went good, but i have this problem

The problem was the lang


Build is currently failing due to missing dependency

When trying to build, go get fails due to a missing test package:
go get github.com/danryan/hal/...
package github.com/daneharrigan/hipchat
        imports github.com/thoj/go-ircevent
        imports github.com/davecgh/go-spew/spew
        imports github.com/danryan/hal/adapter/test
        imports github.com/danryan/hal/adapter/test
        imports github.com/danryan/hal/adapter/test: cannot find package "github.com/danryan/hal/adapter/test" in any of:
        /usr/local/go/src/github.com/danryan/hal/adapter/test (from $GOROOT)
        /Users/vendion/gocode/src/github.com/danryan/hal/adapter/test (from $GOPATH)

Hey, thanks so much for the report! So sorry for the delay. I finally have time to begin working on this again.

This is fixed @danryan, it works for me at least.


Update openssl to 1.0.2g

This series of patches updates the openssl code to 1.0.2g and the Cryptlib.

Superseded by https://github.com/rhinstaller/shim/pull/61


feat: Create Stream writer v2 - starting with core logics

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

[ ] Make sure to open an issue as a bug/issue before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
[ ] Ensure the tests and linter pass
[ ] Code coverage does not decrease (if any source code was changed)
[ ] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> ☕

It seems like I cannot use any nice Java8 features, like method references or lambda.
Is it because we still need to support Java7?
Do I have to write old Java7 style code instead, or is there a workaround?
Thank you!


Make sure random objects don't get spawned inside each other, while getting spawned as close to ground plane as possible

Not a critical problem as such, but it significantly slows the simulation if intersection between two collision geometries occurs.
Prior to anything else, try using https://github.com/dartsim/dart instead of the ignition fork. Things might explode, but that might be okay. Else fix appropriately.

[ ] Try https://github.com/dartsim/dart

[ ] If not satisfactory, fix this issue correctly (there are currently only bad ways that I can think of, so investigate it more)

Default dart branch has no effect on this

Problem is now mostly mitigated via https://github.com/AndrejOrsula/drl_grasping/commit/a3e7f356544125dd730ed4e165b3aae0f9baff68


add evaluable functor: max

#144

Codecov Report

Merging #165 (0f35aac) into main (84e4119) will increase coverage by 0.02%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #165      +/-   ##
==========================================
+ Coverage   95.37%   95.40%   +0.02%
==========================================
  Files          19       19
  Lines        5903     5935      +32
==========================================
+ Hits         5630     5662      +32
  Misses        228      228
  Partials       45       45

Impacted Files
Coverage Δ

engine/number.go
100.00% <100.00%> (ø)

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 84e4119...0f35aac. Read the comment docs.


Get-EntraUserRole

Retrieve directory roles assigned to a specified user.

Code.
Tests
Docs

Marking this PR as P0 since this command was in the MSOnline module - https://learn.microsoft.com/powershell/module/msonline/get-msoluserrole


Window size does not reset between tests or fixtures

What is the Current behavior?
resizeWindow() changes the window size for the text it is executed in and all following tests, including those in different fixtures.
What is the Expected behavior?
I would expect the window size to reset after every test, if not at least after every fixture.
What is your web application and your TestCafe test code?
Not project specific.
Steps to Reproduce:

Write some tests
Make an early running test change the window size
Note that all subsequent tests are affected by the window size remaining

Your Environment details:

testcafe version:                   1.8.8
node.js version:                    v14.5.0
command-line arguments:   testcafe chromium testcafe/*
browser name and version:  Chromium 84.0.4147.89
platform and version:           Arch Linux 5.7.8

Hello,
Thank you for your report. This behavior is expected. TestCafe does not restore a browser window's original size between tests or fixtures.
If you want to reset the window to its original size between tests, you can use resizeWindow in beforeEach or afterEach hooks.

I would think that you'd want to make the default for tests to have the highest likelihood of having the same outcome no matter the order that they're running in.
Thanks for the quick response. I'll just add maximiseWindow() to the end of any tests where I change the window size.


Error: fasttrack not running any steps

Getting this from fasttrack. I'll have to dig deeper to find why is it not executing any steps and if that's a problem or not.
Traceback (most recent call last):
 File "/home/owid/etl/.venv/bin/fasttrack", line 5, in <module>
 fasttrack()
 File "/home/owid/etl/.venv/lib/python3.9/site-packages/click/core.py", line 1130, in __call__
 return self.main(*args, **kwargs)
 File "/home/owid/etl/.venv/lib/python3.9/site-packages/click/core.py", line 1055, in main
 rv = self.invoke(ctx)
 File "/home/owid/etl/.venv/lib/python3.9/site-packages/click/core.py", line 1404, in invoke
 return ctx.invoke(self.callback, **ctx.params)
 File "/home/owid/etl/.venv/lib/python3.9/site-packages/click/core.py", line 760, in invoke
 return __callback(*args, **kwargs)
 File "/home/owid/etl/backport/fasttrack.py", line 83, in fasttrack
 etl(
 File "/home/owid/etl/etl/command.py", line 116, in main
 run_dag(
 File "/home/owid/etl/etl/command.py", line 184, in run_dag
 raise ValueError(
ValueError: No steps matched the given input. Check spelling or consult `etl --help` for more options

Adding better logging and waiting for the next error, seems to happen for a relatively small group of datasets.


Error: Minified React error

Hi @fasaya, can you provide a bit more context please? What's the error? Anything in console?

Are you using the TronLink browser extension by any chance? Also, this might be a duplicate of #44.
Can you please update to the latest version of spatie/laravel-ignition by running composer update. We might've already fixed this issue but more importantly, the console error has been improved in the latest version. Feel free to open a new issue if you're still experiencing problems after upgrading.

yes i using tronlink , thanks to update me


introduce data connectors, used to validate if vin is allowed to connect

Description
Introduces the concept of data connectors which can use externally provided data to enhance server functionality.
The data connectors supported so far:

Redis
HTTP
File
gRPC

To start, data connectors are used for one capability: checking if a vin is allowed before allowing it to send data to the server. This prevents a compromised vehicle from being able to send data to a random fleet-telemetry server.
Please select all options that apply to this change:

[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Bug fix (non-breaking change which fixes an issue)
[X] Documentation update

Checklist:
Confirm you have completed the following steps:

[X] My code follows the style of this project.
[X] I have performed a self-review of my code.
[X] I have made corresponding updates to the documentation.
[X] I have added/updated unit tests to cover my changes.
[X] I have added/updated integration tests to cover my changes.

Other Notes

To generate gRPC service protos, additional dependencies are needed. The generation of protos is now handled by a Docker container.
General dependency upgrades.

Ginkgo no longer supports SlowSpecThreshold so it has been removed.

I'd like to reject connection before web socket is established but am not having success. Getting that working can be a followup if someone wants to work on it.

I'd like to reject connection before web socket is established but am not having success. Getting that working can be a followup if someone wants to work on it.

I have similar code in my server, for what it's worth I can give some information for any who may be looking at this PR or a follow up later. Vehicles connect to a telemetry server and present a client certificate. The client certificate includes the VIN in the subject DN. It is therefore possible to terminate the connection based on a VIN list during or at some point after client certificate validation.
My custom telemetry server uses nginx for client certificate validation and TLS termination, see this configuration snippet.
    server {
        .... omitting unrelated ...

        # SSL client verification settings for WebSocket
        ssl_client_certificate /certs/tesla-ca.pem;
        ssl_verify_client on;

        # WebSocket path(s) only
        location ~ ^/(ws)?$ {

            .... omitting unrelated ...

            proxy_set_header X-SSL-Client-DN $ssl_client_s_dn;
            proxy_pass http://app_servers;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $connection_upgrade;
            proxy_cache_bypass $http_upgrade;
        }
    }

I am doing something similar in my server to check VIN, but for my purpose it is to use certificate validation to check vehicles only send data for their own VIN. I check that after the websocket is established, I compare the VIN in the header (which comes from the client cert) to what's in the telemetry payload to make sure they are a match.
#[get("/")]
pub async fn websocket_handler(
    req: HttpRequest,
    stream: web::Payload,
    pool: web::Data<PgPool>,
) -> Result<HttpResponse, Error> {
    // Extract client certificate DN from header
    let client_dn = req
        .headers()
        .get("X-SSL-Client-DN")
        .and_then(|h| h.to_str().ok())
        .and_then(extract_vin_from_dn)
        .ok_or_else(|| {
            actix_web::error::ErrorUnauthorized("Invalid or missing client certificate")
        })?;

    let (res, session, msg_stream) = actix_ws::handle(&req, stream)?;

    // Spawn websocket handler with the authorized VIN
    actix_web::rt::spawn(handle_websocket(session, msg_stream, pool, client_dn));

    Ok(res)
}

It seems to me like it would be possible to check the headers right before the websocket is established. Not sure if this helps anyone looking to work on this PR, and I am not sure it's applicable as I did not understand all the code in this PR. I also think it would be possible to terminate the connection even earlier than this, presumably during client certificate validation rather than after that during the HTTP part before the websocket is established.


Unsupported MySQL DataTypes

Hello, I noticed that some DataType types are currently not supported for MySQL.

MEDIUMINT (something like "int3")
BIT(x)
ENUM / SET
TINYTEXT / TINYBLOB
MEDIUMTEXT / MEDIUMBLOB
LONGTEXT / LONGBLOB
INET4 / INET6
YEAR
Spatials, in general:

POINT / MULTIPOINT
LINESTRING / MULTILINESTRING
POLYGON / MULTIPOLYGON
GEOMETRY / GEOMETRYCOLLECTION

There is also no way to addColumn() with a custom type. Is there any reason for this? I understand that Kysely works for multiple DBs, but customizing the type would be interesting.

Alright, I just found out about sql ..., which allows customization. However, it still remains to know why this is not a part of Kysely directly (at least int3, for example).

it still remains to know why this is not a part of Kysely directly

Just an oversight. Your blaming attitude does not make me want to fix this for you. In fact, I would've fixed it right away if you asked nicely. But now, fix it yourself or GTFO.


Update "in" operator

Thanks Roberto-- love the project.  I made this tweak to my code, think it might help others.
Currently the 'in' operator tests if a value is in an array field.  This update still allows that, but also
allows people to test if a string field is in an array of their choosing.
(it allows users to effectively do a simple 'or' test)
eg
$url = "https://dummyjson.com/posts";
$posts = Block
::fromJsonUrl($url)
->getBlock("posts");
//if field id is in this array
$someOddPosts = $posts->where("id", "in", array(1,3,5,7,9));
// if the string "love" in the tags array field
$lovePosts = $posts->where("tags", "in", "love");
(I can update this further, eg testing if a string, should maybe also allow numeric,bool??  or just not an array??  If two arrays, perhaps could get intersection) -- but that was feeling complex

Hi @wildwalks , thank you for checking the library.
I totally agree, and I understand the value of this implementation. I think it solves a nice use case.
Furthermore, I want to hear your thoughts about this: What if instead of using the in operator (which means "an element is in an array), we could introduce a new operator like the has operator (which means "an array has an element")?

thanks @roberto-butti, I really appreciate your comments.
Interesting idea with 'has'.  I have been playing a bit more with data-block the last day and have a need for a few extra bits of logic. I am mostly thinking;

More operators: e.g. 'is not in'  !in or !has, etc. There are many naming conventions. I think first place is to cover off all the base PHP operators https://www.php.net/manual/en/language.operators.php. But there are so many more ways of comparing data - I like this list, https://docs.directus.io/reference/filter-rules.html, but I do not think it is intuitive. Maybe you have a list?. Having a planned list might help give some direction. We do not have to do them all at once :), I am happy to help with these, but maybe we come up with a list first to help improve consistency as it grows??

These next few I am not sure about, might not be right but some early ideas. You know the code, if these are separate, maybe we just leave these points below to another time.  Scope creep warning :)

Expression options: this is probably not the correct term, but basically it seems that data-block allows us to compare a value to a field. I have come across a case where I want to compare two fields, but I tried to do a get() and looking at the code it seems to require a set value?   I also wanted to do a where (and sort) against the abs() sum of a value and field. (yes I could probably pre-calcuate these, but it get complex quickly)
I am not sure of the best way to deal with this. It would be great if we could nest expressions eg ->where("field.total" ">" abs(array_sum(-15, "field.largest"))) -- but I have no idea how to implement that (I am not that nerdy sorry :)

Flexible: I wondered if there was also a way to allow users to exec their own logic in some of these. eg
$return = $data->where(function ($item) {
if($item->get("pets.dog") == "spot") {return true;)
if($item->get("pets.cat") == "snowie") {return true;)
if($item->get("pets")->count > 100) {return true;)
return false;
});

so specifically for "has", I guess that can work if we have a clear left side and right side, but I guess that is why I mentioned the expression options idea, does this can confuse this terminology later?? in SQL there is an any() function that is similar as well.
Anyway -- I guess I am not worried about the naming so much -- but it might be helpful to have a full-ish list of wanted operators before we start adding these. We do not want to be changing these down the track :)

Thank you @wildwalks  for sharing your thoughts.
In the where method, i would like to keep the basic operators.
Then, I agree to make it more flexible, so this is the reason I'm thinking of introducing a Filter class that can be instantiated and filled by the user for more complex cases (also and/or) and custom functions. And send to the where method (or better I will see if we will use a different method that accepts Filter class).
The Filter class will have a fluent interface in order to chain methods.
At the moment, I think we can add "has" as a "basic" operator.

Great -- good plan :)
yes, using filter sounds like a good way forward.
'has' works for me.
Shall I update this branch to work something like this?

->where("data.fieldname" "has" array('list', 'of','possible','matches'))

shall I also add "not has" as well "!has"  ->where("data.fieldname" "!has" array('list', 'of','possible','matches'))

and for consistency sake "!in"

and update the readme

i think to keep it easy, an array in the data has to check if has a element (scalar)
->where("field" "has" , "value")

I am sorry, I am a bit confused. That sounds like the same behaviour as the current implementation of 'in', where we check if an array in the data source contains a scaler? I was proposing we test if a scaler in the data is in an array provided in the where(). (is in the provided array has (contains) the scaler in the data)
I was picturing a change like the following, the opposite too in. But that seems different from your wording and feels a backwards? Your project, your call.
Is this what you want?
'in' => in_array($value, $elementToCheck->get($field)),
'has' => in_array($elementToCheck->get($field), $value),
Sorry, I did not mean to make this complicated.

The project is open source, so all suggestions are welcome.
And, @wildwalks ,  i appreciated a lot of all your thoughts shared on this thread
My approach is to go on with small steps.
My thought is that first step to implement the 'has' operator is more or less in the way you mentioned:
'in' => in_array($value, $elementToCheck->get($field)),
'has' => in_array($elementToCheck->get($field), $value),

Adding some tests helps to understand the scenario and the problem solved with the new operator.

The in operator: check if a scalar (input) is present in an array (in the data structure)
The has operator: check if an array (input) contains a scalar (in the data structure)

I think with one PR, we can cover this scenario. If you have in mind an additional scenario, we can open another PR

Hi @wildwalks ,  I understand where we were having a misunderstanding. The current implementation of the "in" operator is a bit wrong.
Forget the current implementation for a moment, which has to be fixed.
Using your initial example, on the first message of this thread, the expected behavior i would like to achieve is  (adjusting the current behavior of in operator and adding a new has operator):
// the id field that is a number (scalar) is checked if it is included in an array
$someOddPosts = $posts->where("id", "in", array(1,3,5,7,9));

// if the string "love" in the `tags` array field
$lovePosts = $posts->where("tags", "has", "love");

I wrote some tests that explain what i have in mind:
test(
    'where method, in operator',
    function () use ($fruitsArray): void {
        $data = Block::make($fruitsArray);
        $greenOrBlack = $data->where("color", "in", ["green", "black"]);
        expect($greenOrBlack)->tohaveCount(1);
        $noResult = $data->where("color", "in", []);
        expect($noResult)->tohaveCount(0);
        $greenOrRed = $data->where("color", "in", ["green", "red"]);
        expect($greenOrRed)->tohaveCount(3);
    },
);

test(
    'where method, has operator',
    function () use ($fruitsArray): void {
        $data = Block::make($fruitsArray);
        $sweet = $data->where("tags", "has", "sweet");
        expect($sweet)->tohaveCount(2);
        $noResult = $data->where("tags", "has", "not-existent");
        expect($noResult)->tohaveCount(0);
        $softFruit = $data->where("tags", "has", "soft");
        expect($softFruit)->tohaveCount(1);
    },
);

Where the "color" field is a string, and the "tags" field is an array of strings

Hi @wildwalks, I would like to apply changes to the "in" and "has" operators. Do you have any feedback about the latest message I shared? I think having your opinion is great here.

Hi @roberto-butti
Very sorry I went on holidays this week and away from my computer and didn't see your earlier messages.
That all looks good to me -- more intuitive.
We need to note the potential breaking change for people already using the "in" operator and upgrading.
Happy to go ahead with that.
Once that is in I can do !in and !has as a separate PR if you want?
thanks

yeah, let's start with in and has. then we will decide on the next feat request/pr which is the best operator for"not", also for other operators.
most important, enjoy your holiday

There's no pressure at all, @wildwalks. I'm asking to know your plans because I want to create a new release.
I would like to know if I have to wait for your changes, or if I can go ahead. Feel free to take your time :)

Hi. Sorry. Just got back today. Bit behind on emails. I managed to get offline for a while :)
No worries I can do some tomorrow. But I am a bit lost in this thread sorry.
The changes with In and Has - have you implemented them in another PR or shall I do them here (happy for you Todo it if quicker and easier). I am not worried about credit or anything.
Shall I update this PR with the new "in and Has"?

Sorry this took me a while.
Okay I think I have got this right.
added "has" queryblocks
added "in" and "has" unit tests (including adding test data)
Updated the older 'in' queryblocktests to 'has'
and updated readme.
(and updated against the latest branch)
Fingers crossed :)


DBZ-2411 Upgrade to Kafka 2.6.0

https://issues.redhat.com/browse/DBZ-2411

@gunnarmorling Updated to use Scala 2.12 - synced with https://github.com/strimzi/strimzi-kafka-operator/issues/3470

Thx!


Feature/frame interface

Closes #13362
Idea
The idea is to have a single entry point for interface like calls. This entry point will be the pallet-interface.  The pallet itself is just forwarding calls to an associated type Interface that implements trait UnfilteredDispatchable.
In order to make interfaces re-usable across chains:

all chains MUST locate the pallet-interface at the same index
all chains MUST locate the actual interfaces at the same index in the enum InterfaceCall that is aggregating the interfaces

e.g. Pip20 is agreed on to live at index 20 → pip20::Call should be located at index 20 in the enum InterfaceCall

interfaces  MUST use the struct Select<From, To>

the struct allows to derive a chain native type from a different type. Like trait Convert is doing for a lot of things in XCM
From MUST be the same type for all chains
the struct decodes to From (i.e. it is a transparent wrapper around From)

→ this allows to

decode interface calls for all chains in the same manner
encode interface calls for all chains in the same manner

Open Questions

Do you people agree with the approach?
Do you think it is worth adding?

The interface macro and expansions
Definition of an Interface
The following example definition showcases how an interface would be defined.
A detailed one
	#[frame_support::interface]
	pub mod pip20 {
		use frame_support::{
			dispatch::DispatchResult,
			interface::{CallResult, Select, Selector, SelectorResult, ViewResult},
			Parameter,
		};
		use sp_core::H256;
		use sp_runtime::traits::Member;

		pub type CurrencySelectable = H256;
		pub type AccountIdSelectable = [u8; 32];
		pub type BalanceSelectable = u128;

		#[interface::definition]
		pub trait Pip20: frame_system::Config {
			/// A means for converting between from a [u8; 32] to the native chains account id.
			type SelectAccount: Selector<
				Selectable = AccountIdSelectable,
				Selected = Self::AccountId,
			>;

			/// The chains native currency type.
			type Currency: Parameter + Member;

			/// A means for converting between from a `H256` to the chains native currency.
			type SelectCurrency: Selector<
				Selectable = CurrencySelectable,
				Selected = Self::Currency,
			>;

			/// The chains native balance type.
			type Balance: Parameter + Member;

			/// A means for converting between from a u128 to the chains native balance.
			type SelectBalance: Selector<Selectable = BalanceSelectable, Selected = Self::Balance>;

			#[interface::view]
			#[interface::view_index(0)]
			fn free_balance(
				currency: Select<Self::SelectCurrency>,
				who: Select<Self::SelectAccount>,
			) -> ViewResult<BalanceSelectable>;

			#[interface::view]
			#[interface::view_index(1)]
			fn balances(
				who: Select<Self::SelectAccount>,
			) -> ViewResult<Vec<(CurrencySelectable, BalanceSelectable)>>;

			#[interface::call]
			#[interface::call_index(0)]
			#[interface::weight(0)]
			fn transfer(
				origin: Self::RuntimeOrigin,
				currency: Select<Self::SelectCurrency>,
				recv: Select<Self::SelectAccount>,
				amount: Select<Self::SelectBalance>,
			) -> CallResult;

			#[interface::call]
			#[interface::call_index(3)]
			#[interface::weight(0)]
			fn burn(
				origin: Self::RuntimeOrigin,
				currency: Select<Self::SelectCurrency>,
				from: Select<Self::SelectAccount>,
				amount: Select<Self::SelectBalance>,
			) -> CallResult;

			#[interface::call]
			#[interface::call_index(1)]
			#[interface::weight(0)]
			fn approve(
				origin: Self::RuntimeOrigin,
				currency: Select<Self::SelectCurrency>,
				recv: Select<Self::SelectAccount>,
				amount: Select<Self::SelectBalance>,
			) -> CallResult;
		}
	}

A smaller one
	#[frame_support::interface]
	pub mod pip42 {
		use frame_support::interface;
		use frame_support::interface::CallResult;
		use sp_core::Get;
		use sp_runtime::BoundedVec;

		#[interface::definition]
		pub trait Pip42: frame_system::Config {
			type MaxRemark: Get<u32>;

			#[interface::call]
			#[interface::call_index(0)]
			#[interface::weight(0)]
			fn remark(
				origin: Self::RuntimeOrigin,
				bytes: BoundedVec<u8, Self::MaxRemark>,
			) -> CallResult;
		}
	}

The macro expands the module into

the trait itself without altering it
an enum Call - similar to the Call of pallets used for dispatching
an enum View - the entry points for look-ups that can be called via a runtime API

enum Call
Is mostly identical with the enum Call of a normal pallet. With the most notable difference, that methods are based on the trait of the interface and implemented directly by the Runtime.
enum View
Is mostly identical with the enum Call of a normal pallet. As for the enum Call that methods are based on the trait of the interface and implemented directly by the Runtime. The biggest difference is that these methods do not change some state, as they should always be executed outside of block construction without persisting state changes.
Runtime API
The runtime api defined in frame-support::interface.
sp_api::decl_runtime_apis! {
	pub trait Interface<View>
		where View: sp_api::Encode + frame_support::interface::View
	{
		fn view(view: View) -> ViewResult<Vec<u8>>;
	}
}

Runtime Level
Given the above interface at the runtime level one would define two additional enums that represent the interfaces a runtime exposes. It is of course required for the Runtime to implement the trait Pip20 to make this compile.
enum InterfaceCall
The enum aggregating all call interfaces for a runtime. Passed to the pallet-interface as the associated type Interface.
E.g.
#[frame_support::call_entry(Runtime)]
pub enum InterfaceCall {
    #[call_entry::index(20)]
    Pip20(pip20::Call<Runtime>),
}

enum InterfaceView
The enum aggregating all view interfaces for a runtime. Will be used in the runtime api.
E.g.
#[frame_support::view_entry]
pub enum InterfaceView {
    #[view_entry::index(20)]
    Pip20(pip20::View<Runtime>),
}

Runtime API
impl_runtime_apis! {
    impl frame_supporti::interface::Interface<InterfaceView> for Runtime {
        fn view(view: InterfaceView) -> ViewResult<Vec<u8>> {
            view.view()
        }
    }
}

Tasks

[x] Parse interface definition - the trait
[x] Expand interface enum Call
[x] Expand interface enum View
[x] Parse and expand enum CallEntry
[x] Parse and expand enum ViewEntry
[ ] (Maybe) make runtime-api accept default imlementation
[ ] (Maybe) define default index for an interface and trigger a compilation warning if it is positioned at a different index in the enum InterfaceCall
[ ] Clean up
[ ] Tests
[ ] Docs

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-each-crate-macos
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/3107472

@bkchr @kianenigma Here is the WIP state. Took me some time, but this was my bedtime project and I forgot about it from time to time so sorry for the delay.
I wanted to create this WIP PR already to get feedback on the direction.

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-each-crate-macos
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/3121423

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-benches
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/3121406

Ping @bkchr and @kianenigma ^^


Polymer apps with subdirectories in web fail after pub build

This issue was originally filed by @butlermatt

I'm not sure if this is a Polymer transformer bug or a pub bug. When creating a project with an entry point in a subdirectory of web/ then it tests and runs fine, but once you use pub build then you receive a script error trying to load polymer.js file (it's not traversing up to the primary package directory).
To duplicate issue clone this github repo:
https://github.com/butlermatt/subdir_bug
build it, and run:
cd subdir_bug/build/web
python -m SimpleHTTPServer
Open browser to localhost:8000/test/subdir_bug.html
Check the console log.
You'll note the sources all appear to traverse to the parent package/ directory but polymer.js is still looking in the local folder

This issue has been moved to dart-lang/polymer-dart#236.


Prometheus hangs indefinitely when exiting gracefully

What did you do?
For initial context, we run Prometheus within Kubernetes which is all managed by Prometheus Operator. When we make a change that requires the Prometheus pods to restart (ie: updating a Prometheus resource), we will see each Prometheus pod enter a Terminating state, and it will remain in that state for 10 minutes. After that time, the pod is killed and the restart happens as expected. The 10-minute period is due to the hard-coded teminationGracePeriod set within the StatefulSet by the Prometheus Operator, as seen here. We have been unable to figure out why these pods are taking this long to terminate.
What did you expect to see?
When a pod restarts "normally" (which does happen, but it's very rare for us), we see the log lines mentioned below (in the "what did you see instead" section), but with one additional log line added at the bottom:
level=info ts=2020-02-03T20:10:35.880Z caller=main.go:730 msg="See you next time!"

Also, the pod actually terminates successfully after a second or two from receiving a SIGTERM signal.
What did you see instead? Under which circumstances?
As soon as the pods receive a SIGTERM from Kubernetes, we see the following logs:
level=warn ts=2020-02-03T19:43:02.640Z caller=main.go:494 msg="Received SIGTERM, exiting gracefully..."
level=info ts=2020-02-03T19:43:02.640Z caller=main.go:517 msg="Stopping scrape discovery manager..."
level=info ts=2020-02-03T19:43:02.640Z caller=main.go:531 msg="Stopping notify discovery manager..."
level=info ts=2020-02-03T19:43:02.640Z caller=main.go:553 msg="Stopping scrape manager..."
level=info ts=2020-02-03T19:43:02.640Z caller=main.go:513 msg="Scrape discovery manager stopped"
level=info ts=2020-02-03T19:43:02.640Z caller=main.go:527 msg="Notify discovery manager stopped"
level=info ts=2020-02-03T19:43:02.640Z caller=manager.go:814 component="rule manager" msg="Stopping rule manager..."
level=info ts=2020-02-03T19:43:02.640Z caller=manager.go:820 component="rule manager" msg="Rule manager stopped"
level=info ts=2020-02-03T19:43:02.640Z caller=main.go:547 msg="Scrape manager stopped"
level=info ts=2020-02-03T19:43:02.648Z caller=notifier.go:598 component=notifier msg="Stopping notification manager..."
level=info ts=2020-02-03T19:43:02.648Z caller=main.go:718 msg="Notifier manager stopped"

No other log lines are logged and the pod is eventually killed after ten minutes. Note that we don't see the "see you next time" log line at all in this scenario.
Environment
We run Prometheus within Kubernetes, using Prometheus Operator to manage the Prometheus pods.
Version Info:

Kubernetes: v1.13.10
Prometheus: v2.15.2
Prometheus Operator: v0.32

Each Prometheus pod uses a Ceph mount (managed by Kubernetes) for Prometheus data.
Anyone have any ideas? I did try enabling debug logs and did not notice any additional log lines during the shutdown process (post SIGTERM being received). Furthermore, I found issue #5397 which seems very similar, and it seems like they were waiting for systemd to kill the process due to a timeout. I don't have any leads at the moment though other than my gut feeling that tells me this is likely something related to the TSDB / ceph volumes. For what it's worth, I did not find any single errors in the kubelet logs either.

Can you get a goroutine dump so we can see what's still running?

Sure, I can try to get that for you. Do you have a good suggestion on how I can do this after the process receives a SIGTERM signal and hangs? I would normally hit :9090/debug/pprof/goroutine, but the port doesn't appear to be listening anymore after the shutdown signal is received.

Sending SIGQUIT to the process will do the trick.

Yeah, but that wouldn't perform a graceful shutdown, right? Many of our Prometheus instances contain a lot of crucial business metrics and we don't want the regular shutdown routine to be via a forced shutdown.

You could shut it down and if it hangs you send the SIGQUIT before it hits teminationGracePeriod.

And what I mean is that SIGQUIT will print the goroutines.

Oh awesome; did not realize that. Thanks for that tip! Okay, let me reproduce this and send a SIGQUIT, and I'll post the goroutines so they can be inspected here.

Alright, I reproduced this issue and after about two minutes of the container not quitting, I sent a SIGQUIT.

From what you have ongoing grpc connextions that prevent the server to shut down.

There shouldn't be any gRPC connections. A lot of these are only scraping a few containers and have a few alert definitions defined, and that's it. And, we access Prometheus over the HTTP/9090 port. Here's our port/arg config for the Prometheus container:
    Port:          9090/TCP
    Host Port:     0/TCP
    Args:
      --web.console.templates=/etc/prometheus/consoles
      --web.console.libraries=/etc/prometheus/console_libraries
      --config.file=/etc/prometheus/config_out/prometheus.env.yaml
      --storage.tsdb.path=/prometheus
      --storage.tsdb.retention.time=30d
      --web.enable-lifecycle
      --storage.tsdb.no-lockfile
      --web.route-prefix=/
      --storage.tsdb.min-block-duration=2h
      --storage.tsdb.max-block-duration=2h

Actually, now that I think about it, we do have an in-house query proxy and this does communicate to Prometheus via Remote Reads. This may be the source of the problematic gRPC connection, so I'm going to look there as a starting point.

As we are at it I do not recommend you to have --storage.tsdb.no-lockfile (not related to this issue)

Prometheus Operator actually automatically adds that flag. See here:
https://github.com/coreos/prometheus-operator/blob/700ad6550fc80a6951c60171e9f7803616020e5c/pkg/prometheus/statefulset.go#L398

As for the gRPC open connections that may be causing this to hang.. I'm going to look more into this on Monday, but is there anything that comes to mind that would cause this behavior? I'm guessing after receiving SIGTERM, no new connections can be made, and shouldn't existing connections be terminated via the server or does it just wait for the client to terminate an existing connection?

Currently Prometheus waits. That is a problem since grpc has streaming that can last forever. However I am not familiar with grpc in Prometheus

/cc @nrchakradhar

@heyitsmdr Did you have more time to confirm this?

I've just seen a similar behavior with a harmless local test Prometheus. If I have my browser open pointing at the Prometheus status page, I get the same hanging behavior. If I try to reload the status page, Prometheus exits immediately. It looks like the kept-alive HTTP connection prevents it from shutting down, and once I let the browser reload, the connection gets terminated because of a connection error.

Here my goroutine dump:
level=warn ts=2020-02-19T22:04:02.032Z caller=main.go:512 msg="Received SIGTERM, exiting gracefully..."
level=info ts=2020-02-19T22:04:02.032Z caller=main.go:535 msg="Stopping scrape discovery manager..."
level=info ts=2020-02-19T22:04:02.032Z caller=main.go:549 msg="Stopping notify discovery manager..."
level=info ts=2020-02-19T22:04:02.032Z caller=main.go:571 msg="Stopping scrape manager..."
level=info ts=2020-02-19T22:04:02.032Z caller=main.go:531 msg="Scrape discovery manager stopped"
level=info ts=2020-02-19T22:04:02.032Z caller=main.go:545 msg="Notify discovery manager stopped"
level=info ts=2020-02-19T22:04:02.032Z caller=manager.go:879 component="rule manager" msg="Stopping rule manager..."
level=info ts=2020-02-19T22:04:02.033Z caller=main.go:565 msg="Scrape manager stopped"
level=info ts=2020-02-19T22:04:02.033Z caller=manager.go:889 component="rule manager" msg="Rule manager stopped"
level=info ts=2020-02-19T22:04:02.046Z caller=notifier.go:598 component=notifier msg="Stopping notification manager..."
 Can we get your prometheus version as well?

Also, it is the react or the old ui?

This is classic UI, this particular Prometheus built from master (or commit 7b1ecae24d76bbbdb744c76f71deb7f47d8bb1e0, to be precise).

Verified the same behavior with v2.16.0.

(The above commit is from my dev branch for isolation, so I wanted to make sure it's not coming from there.)

I am seeing the same behavior in 2.18.1. No human clients, but deployed Prometheus with Thanos, so maybe it is the Thanos sidecar.
 From what I can tell, this appears to be related to whatever Prometheus is scraping (e. g. in https://github.com/prometheus/prometheus/issues/6747#issuecomment-582461645 it appears as if goroutine 227 is stuck in the GracefulStop() function of web server code.

For the record, I was playing with prometheus alert rules this morning, I didn't dig much on it but noticed the same behaviour while /alerts is open, after reloading the page the process finishes normally.

Here is a PR which might help: https://github.com/prometheus/prometheus/pull/7810

@heyitsmdr Can you try Prometheus 2.21 and see if it fixes it ?

Just checked it out today, @roidelapluie.  And.. I'm happy to say I can't reproduce this anymore on 2.21!
Thank you so much 👏

Thanks! I'll close this. Please reopen a new issue if that is not solved.


Fix/Improve the dependency to com.jetbrains.rdgen

Hey guys,
I recently updated the build files of my plugin using your nuget package with --build-only --force. After that I had missing dependencies.
Luckily, Ivan Migalev, a member of your slack community, showed me a sample of how he included the new 2022.1 rdgen and it worked.
I suggest the change here because some other people might run into it. Also the new way uses the versioning in the style 2022.1 and not the confusing 0.221.xxx versioning which improves the build.gradle.
Suggestion for the build.gradle file:
Remove this line:
plugins {
    id 'com.jetbrains.rdgen' version '0.212.307'  // remove this line
   // other plugins
}

In Favor of this:
buildscript {
    repositories {
        maven { setUrl("https://cache-redirector.jetbrains.com/maven-central") }
    }

    // https://search.maven.org/artifact/com.jetbrains.rd/rd-gen
    dependencies {
        classpath("com.jetbrains.rd:rd-gen:2022.1.3")
    }
}

plugins {
   // other plugins
}

apply {
    plugin("com.jetbrains.rdgen")
}

Fixed in https://github.com/JetBrains/resharper-rider-plugin/commit/fc0101f51f347117a52fcac6ae434a4a0557e336


effects中如何触发Field的onfocus事件？

Help us to manage our issues by answering the following:

How would you tag this issue?

Question

x-effect中自己dispatch


Fix a bug in saving notebooks.

The original save was replaced by a new version to work around an issue
with workspace sync. However, the new version does not return the wrapped
return value, so places where we chain off that future (e.g. with calls to
then()) got broken. This means, for example, that 'Convert to HTML' will
fail if the notebook has unsaved changes.

LGTM. Thanks!


The tutorial files have errors in them

Please check the tutorial files in the branch . They have errors

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 6 Dec 2012 at 6:23

I am in the process of reviewing the documentation on the wiki. It would be useful to flag any known error in the documentation so that I can amend it.

I tried to post a discussion on the Google Groups mailing list (http://groups.google.com/group/xspec-users) but the post doesn't appear, maybe it needs to be moderated. Just in case, I post the same text here:
I was planning to reorganize the documentation for XSpec in order to update it a bit and possibly make it more user-friendly for those who use XSpec for the first time. I have few questions in order to get started:

There is documentation on the GitHub wiki (https://github.com/expath/xspec/wiki) as well as on branch wiki. The README for the branch wiki says explicitly: "Automatically created by the Google Code exporter. Not used, as we use the GitHub wiki instead". From conversations I had with Florent Georges and Tony Graham we mentioned to put the documentation in a documentation folder alongside the code. Which one should be the home of the XSpec documentation? If it's the wiki, I'll probably edit it directly on GitHub (with the risk of editing something that others may want to keep), if it's a branch or a documentation folder under master I'll send a pull request when I'm done.
I quickly reviewed the current documentation and was thinking to merge and structure it as follows (it's just a draft):

01 Introduction
02 Installation
02.01 Windows
02.02 Mac/Linux
03 Hello XSpec
04 Writing Scenarios
05 Running Scenarios
05.01 Running with oXygen
05.02 Running with ant
05.01 Running with maven
05.01 Running with emacs
06 Continuous Integration
06.01 Jenkins
06.02 TeamCity
07 How XSpec works
08 Links
Does it sound reasonable?

Not sure about the Github wiki. But i guess that it is versioned. To my knowledge versioning is a "must have" requirement for a wiki. So if you edit something out that others think are important they can just fetch it back from the history.

Wikis should be just like any GitHub repositories (https://help.github.com/articles/adding-and-editing-wiki-pages-locally/), therefore it should be possible to keep track of changes (https://help.github.com/articles/viewing-a-wiki-s-history-of-changes/). If we think that the wiki is the best place to put documentation, I guess I can clone the GitHub wiki (which is not the current wiki branch) and then do a pull request when I'm done.

I reviewed and updated the documentation on my fork of XSpec. I updated the old links, reorganised the structure of the wiki, tested most of the instructions provided, and added new pages. There are other things I would like to add (e.g. few pages on Continuous Integration) but I hope this is an enhancement to the current documentation.
I tried to merge the changes but I don't seem to have enough permissions to do so. I'm going to ask Florent Georges and Tony Graham to do it or to add me as a collaborator.

The updated documentation has been merged in https://github.com/expath/xspec/wiki so this issue can be closed.


Increase allowable zwave polling intensity values

Description:
Recent  voluptuous migration for the zwave component limited the polling intensity values to (0, 1, 2), but openzwave will act on any multiple and doesn't actually have a limit.  (See [http://www.openzwave.com/dev/classOpenZWave_1_1Manager.html#ab62582b7bcfec34574fb2aa7c54d147f])
This increases the allowable values up to 5, which is the max I use in my setup, but we may be better off just restricting it to int rather than a specific range.
If the code does not interact with devices:

[X ] Local tests with tox run successfully. Your PR cannot be merged unless tests pass

Nice catch. I myself don't use polling. :+1:


Upgrade CommandLineParser to 2.3.0

cleanup: it's better to depend on stable version, parser is used only internally, so no effect on users whatsoever.

Objective-C binary sizes
*****************STATIC******************
  New size                      Old size
 1,964,802      Total (=)      1,964,802

 No significant differences in binary sizes

***************FRAMEWORKS****************
  New size                      Old size
10,887,468      Total (=)     10,887,468

 No significant differences in binary sizes


No suggestion for keyword argument in print call

Environment data

VS Code version:  1.44.0-insider
Extension version (available under the Extensions sidebar): 2020.4.68586-dev
OS and version: MacOS 10.15.3
Python version (& distribution if applicable, e.g. Anaconda): 3.7.3
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): NA
Relevant/affected Python packages and their versions: NA
Relevant/affected Python-related VS Code extensions and their versions: NA
Jedi or Language Server? (i.e. what is "python.jediEnabled" set to; more info microsoft/vscode-python#3977): Language server
Value of the python.languageServer setting: Microsoft

Steps to reproduce:

For a python file:

print('a', 'b', )

After the last comma, type sep

Expected
A suggestion/hint for the sep keyword argument is shown.
Actual
No suggestions for the keyword arguments.

Basically #533. Scraped stub is
def print():
    "print(value, ..., sep=' ', end='\\n', file=sys.stdout, flush=False)\n\nPrints the values to a stream, or to sys.stdout by default.\nOptional keyword arguments:\nfile:  a file-like object (stream); defaults to the current sys.stdout.\nsep:   string inserted between values, default a space.\nend:   string appended after the last value, default a newline.\nflush: whether to forcibly flush the stream."
    pass

which, although extracts doc, does not fetch any parameters and has no facilities to extract information from the doc.

Seems like a bug in the scraper, it should be recognizing the first line as a signature and pulling it out.
Though, I think print is specialized already so maybe the change is in C#.