BUG - Command with a trigger of 'standup' not found

Summary
Can't use the command /standup config.
Steps To Reproduce
Steps to reproduce the behavior:

Upload the plugin binary for your platform in Mattermost System Console > Plugins (BETA) > Management.
Get into the channel and try using the command /standup config
A Message Command with a trigger of 'standup' not found. To send a message beginning with "/", try adding an empty space at the beginning of the message. appeared.

Expected behavior
The setting menu should appear.
Observed Behavior
A Message Command with a trigger of 'standup' not found. To send a message beginning with "/", try adding an empty space at the beginning of the message. appeared.
Screenshots

Environment

Mattermost version: 4.20 (Open Source Team Edition)
Platform: Windows

Hi @ndtunitydev can you make sure the plugin was enabled?

@harshilsharma63
Yes, the plugin was enabled.

@ndtnarudol you have to configure standup for a channel.To configure the standup for a channel use command - /standup config.To know about all the available slash commands you can use- /standup help

@ndtnarudol you have to configure standup for a channel.To configure the standup for a channel use command - /standup config.To know about all the available slash commands you can use- /standup help

@jatinjtg
Thanks for the response but as being said in the report, I can't use the command /standup config.

@ndtnarudol you have to configure standup for a channel.To configure the standup for a channel use command - /standup config.To know about all the available slash commands you can use- /standup help

@jatinjtg
Thanks for the response but as being said in the report, I can't use the command /standup config.

@ndtnarudol The minimum mattermost version needed for standup raven is 5.12.0.

@jatinjtg
ah... I see.
The version of my mattermost is 4.20.
Thanks for the information!

@ndtnarudol The minimum mattermost version needed for standup raven is 5.12.0.

I have the same problem on 5.21.

@Ziv00s3 @ndtunitydev can you check Mattermost logs for some error in the plugin?

@harshilsharma63 fixed, I have uploaded Darwin version on Linux. Thank you!

I'm closing this one now as you were able to resolve the issue. Feel free to reopen if needed.


Adding comment about calico

Calico was removed from the image list since we can't stop the image builder from trying and failing to build for s390x. Calico doesn't have s390x support. Added a comment about the images used.

@kwmonroe Is this still relevant?

Closing this one out. Images that are needed by calico are no longer pulled/tagged by the cdk-addons build job.  They're already in rocks and are referenced in layer-calico.


Make metrics saveable/loadable as x-arrays

Live metrics are already handled as ordered dictionaries of numpy arrays; this is nearly exactly the data format needed to form an xarray of the metrics.
This would permit users to seamlessly access their data as N-dimensional arrays with labeled axes.

Completed by #10 ! 🍾 🎆


feat: Add new ptn modules azd/insights-dashboard.

Description
Fixes https://github.com/Azure/Azure-Verified-Modules/issues/1206.

Pipeline Reference

Pipeline

Type of Change

[ ] Update to CI Environment or utilities (Non-module affecting changes)
[x] Azure Verified Module updates:

[ ] Bugfix containing backwards-compatible bug fixes, and I have NOT bumped the MAJOR or MINOR version in version.json:

[ ] Someone has opened a bug report issue, and I have included "Closes #{bug_report_issue_number}" in the PR description.
[ ] The bug was found by the module author, and no one has opened an issue to report it yet.

[ ] Feature update backwards compatible feature updates, and I have bumped the MINOR version in version.json.
[ ] Breaking changes and I have bumped the MAJOR version in version.json.
[ ] Update to documentation

Checklist

[x] I'm sure there are no other open Pull Requests for the same update/change
[x] I have run Set-AVMModule locally to generate the supporting module files.
[x] My corresponding pipelines / checks run clean and green without any errors or warnings

@jongio for notification.

@AlexanderSehr  I have updated based on your comments, please re-review.

PS: If I'd want to be nitpicky you could remove the enableTelemetry parameter from the max test as true is anyways the default & regenerate the readme. But ... it's not mandatory 😄

Hey, @AlexanderSehr,
Thank you very much. The enableTelemetry parameter has been removed from the maximum test.😄😄😄
In addition, I would like to ask if this PR can be merged as soon as possible. The other ptn modules we are working on depend on this module. If this is not merged, the progress of our other ptn modules will be blocked.😄😄😄

PS: If I'd want to be nitpicky you could remove the enableTelemetry parameter from the max test as true is anyways the default & regenerate the readme. But ... it's not mandatory 😄

Hey, @AlexanderSehr, Thank you very much. The enableTelemetry parameter has been removed from the max test.😄😄😄
In addition, I would like to ask if this PR can be merged as soon as possible. The other ptn modules we are working on depend on this module. If this is not merged, the progress of our other ptn modules will be blocked.😄😄😄

100% we're only waiting for the team owning the MAR file to review & merge @matebarabas's PR. Once it's in, we can go right ahead.

@AlexanderSehr, @Menghua1, good news: the MAR manifest has been updated with the required record(s) for this module. You can take the next steps accordingly. Thanks.

@Menghua1, please make sure the following disclaimer is added to the readme.md of this module - preferably somewhere close to the top: "This module is not intended for broad, generic use, as it was designed to cater for the requirements of the AZD CLI product. Feature requests and bug fix requests are welcome if they support the development of the AZD CLI but may not be incorporated if they aim to make this module more generic than what it needs to be for its primary use case."

@Menghua1, please make sure the following disclaimer is added to the readme.md of this module - preferably somewhere close to the top: "This module is not intended for broad, generic use, as it was designed to cater for the requirements of the AZD CLI product. Feature requests and bug fix requests are welcome if they support the development of the AZD CLI but may not be incorporated if they aim to make this module more generic than what it needs to be for its primary use case."

@Menghua1,
to do so, please do it like I did for the container-apps module you can see here, i.e., add the disclaimer to the module's description in the main.bicep and then just re-generate the files using the Set-AVMModule script


[FLINK-22901][table] Introduce getUpsertKeys in FlinkRelMetadataQuery

What is the purpose of the change
For fix FLINK-20374, we need to resolve streaming computation disorder. we need to introduce a change log upsert keys, this is not unique keys.
/**
 * Determines the set of change log upsert minimal keys for this expression. A key is
 * represented as an {@link org.apache.calcite.util.ImmutableBitSet}, where each bit position
 * represents a 0-based output column ordinal.
 *
 * <p>Different from the unique keys: In distributed streaming computing, one record may be
 * divided into RowKind.UPDATE_BEFORE and RowKind.UPDATE_AFTER. If a key changing join is
 * connected downstream, the two records will be divided into different tasks, resulting in
 * disorder. In this case, the downstream cannot rely on the order of the original key. So in
 * this case, it has unique keys in the traditional sense, but it doesn't have change log upsert
 * keys.
 *
 * @return set of keys, or null if this information cannot be determined (whereas empty set
 *     indicates definitely no keys at all)
 */
public Set<ImmutableBitSet> getChangeLogUpsertKeys(RelNode rel);

Brief change log

Introduce FlinkRelMdChangeLogUpsertKeys
Introduce FlinkRelMdChangeLogUpsertKeysTest

Verifying this change
FlinkRelMdChangeLogUpsertKeysTest
Does this pull request potentially affect one of the following parts:

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

Documentation

Does this pull request introduce a new feature? (yes / no) no

Looks good from my side.

Thanks @cshuo and @wenlong88 for the review, merging...


Discontinuity Bug in Calculator

There's a bug in the calculator where, as I increase the activity duration, the calculated risk gets stuck at a constant value for a while and then abruptly doubles.
Eg, for anything between 180 minutes and 280 minutes it calculates 1000uC and for 281 it calculates 2000uC
I've replicated this in multiple other settings, eg 164 vs 165 minutes. I've skimmed the calculate code, and can't easily see the bug.

Actually, maybe the problem is just that it's rounding to 1 sig fig? I think this is pretty unhelpful though, the second sig fig really matters when you're near 100!

You're correct, it is because we're rounding to one sig fig. That's the amount of confidence we have in the model we've developed.
If you want the exact microCOVID number with no rounding, I suggest using the Risk Tracker.

Hm, maybe we should just show 2 sigfigs. It's kind of wrong, but also this appears to confuse a lot of people.

Actually, maybe the problem is just that it's rounding to 1 sig fig? I think this is pretty unhelpful though, the second sig fig really matters when you're near 100!

Yes and no. We're saying that, when it says "100" it's "somewhere between 30 and 300", so the difference between 100 and 150 shouldn't really matter to you. But... that conveys the that there are these jump discontinuities, which is also wrong.

I can see a case to show 2 sig figs just for a clearer user experience. But I'm not the sig-fig expert on the team. ;)


Vite Manifest.json points to the normal .js file not the .js.gz file.

I'm not sure if I understand this plugin correctly, but I notice that it generates additional .js.gz versions of the originals, as opposed to the vite-plugin-compress which compresses the original file. Now this should not be a problem, but how do I make sure the compressed .gz file is loaded? Or is this a server thing?

This should probably be a server thing. The client usually requests the regular .js file, with a header signaling that they understand gzip compression. The server than replies with a gzipped version of the .js file.
This plugin just allows you to pre-compress files, so the server doesn't have to compress these files on the fly. See for example the nginx gzip_static module.


Figure out all the template bs that's going on around here and throwing warnings

https://github.com/dropTableUsers42/Light/blob/c3d14ec0b0ba55e6030d1c312329b6e5e67ca58f/Physicc/src/bvh.cpp#L28

Fixed by ba9946ab5ce2e07283fcd93e4f077a80b04b80c6


We need low power management strategy

we need a low power management service to reduce system power consumption and save energy.

不仅要支持tickless，还应当根据应用场景来有针对性的优化低功耗方案


Empty rows/columns in QR code generation

Hello,
I'm generating QR codes and using directly the data matrix to output the black rectangles (I'm not drawing on screen).
The output QR is readable however the ModuleMatrix contains padding lines and columns. This is the output I get:

I expected the QR to fill completely my red bounding box.
This is the code I'm using - Rectangle is a custom class that is used in other parts of the project and get rendered correctly.
public IEnumerable<Rectangle> Generate(string value, double width, double height)
{
    using (var generator = new QRCodeGenerator())
    {
        using (var data = generator.CreateQrCode(value, QRCodeGenerator.ECCLevel.Q))
        {
            var moduleWidth = width / data.ModuleMatrix[0].Count;
            var moduleHeight = height / data.ModuleMatrix.Count;

            var y = 0;
            foreach (var line in data.ModuleMatrix)
            {
                var x = 0;
                foreach (bool value in line)
                {
                    x += moduleWidth;
                    if (value)
                    {
                        yield return new Rectangle(x, y, moduleWidth, moduleHeight);
                    }
                }
                y += moduleHeight;
            }
        }
    }
}

Thank you

Hi @ghidosoft ,
that's a "feature not a bug". Those whitespace is an official part of the QR as defined in ISO norm. Most people don't know this, because QR codes most times are printed/shown on white surfaces where one might think, that the whitespace is part of the background.
The whitespace, official called "quiet zones" is part of the QR code, for better readability. (So that scanners can see where the QR code begins and ends.)
In my QRCode-renderer there is a flag called "drawQuietZones". When this is set to false, this quiet zones are ignored. You can orientate on my code. The quietzones are 4 blocks per side. So just skip the 4 first lines/cols and the last 4 lines/cols when iterating through the raw QR code data.

Hi @codebude, thank you very much for your answer.
I saw the drawQuietZones flag on the renderer and I thought that it was the renderer which added the quiet zone and not the generator.
Maybe it could be nice to add the drawQuietZones directly to QRCodeGenerator, for now I simply remove the first/last 4 rows/cols from the output matrix. I will then add the quiet zone separately, I need that to be customizable, despite the QR standard.

Maybe it could be nice to add the drawQuietZones directly to QRCodeGenerator, for now I simply remove the first/last 4 rows/cols from the output matrix.

Since the quietZones are part of the QR code, I think the decision (if they should be removed) should be made in the rendering component. So my philosophy is to generate valid (in terms of the ISO norm) qr code data. If then someone want's to render it without the quietZones or in fancy colors, he can change it in the way he renders the data. That's why I added the flag to the render.
Moving the flag to the generator part would, in addition, also lead to breaking changes. Because all rendering components were written under the premise that the data includes the quietZones.
Kind regards,
Raffael


Add externat1.txt

Institution/School Name
"Первый экстернат"
Instiution/School Website
https://externat1.ru
Email Users
Please place an x between the square brackets if yes

[x] Students
[x] Academic/Teaching Staff
[ ] Other/Support Staff
[ ] Alumni

Education Levels
Please place an x between the square brackets if yes

[ ] Post-graduate research
[ ] Graduate School
[ ] College (University) or Undergraduate School or equivalent
[x] Community College or equivalent
[x] High School or equivalent
[x] Elementary School or equivalent

@imgusev Pull request merged. Have a nice experience with JetBrains tools! Shall you need any help, feel free to email us at<EMAIL_ADDRESS>Thank you!


feat: bump version to 0.1.6

TESTING=none

I'll close this out.  I'll rebase and do another bump.


Add 'About UBI Center' dropdown pages

fixes #71
fixes #88
fixes #99

A few broken links to be aware of
Why not UBI page:
-Murray’s “proposed” link does not work
Why UBI page:
-SF Motors (in the caption, under the photo)
-First bullet in "Cash transfers improve a large set of outcomes" section (“raise earnings” link)


Unable to build project with scipy v1.0.0

Details

Project URL: https://readthedocs.org/projects/scikit-plot
Build URL (if applicable): https://readthedocs.org/projects/scikit-plot/builds/6176303/
Read the Docs username (if applicable): reiinakano

Expected Result
Successful build as in my previous builds
A description of what you wanted to happen
Actual Result
Building wheels for collected packages: scipy, subprocess32
  Running setup.py bdist_wheel for scipy: started
  Running setup.py bdist_wheel for scipy: finished with status 'error'
  Complete output from command /home/docs/checkouts/readthedocs.org/user_builds/scikit-plot/envs/v0.3.2/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-aaYEAX/scipy/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpIa8hOxpip-wheel- --python-tag cp27:
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/tmp/pip-build-aaYEAX/scipy/setup.py", line 418, in <module>
      setup_package()
    File "/tmp/pip-build-aaYEAX/scipy/setup.py", line 398, in setup_package
      from numpy.distutils.core import setup
  ImportError: No module named numpy.distutils.core

  ----------------------------------------
  Failed building wheel for scipy
  Running setup.py clean for scipy
  Complete output from command /home/docs/checkouts/readthedocs.org/user_builds/scikit-plot/envs/v0.3.2/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-aaYEAX/scipy/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" clean --all:

  `setup.py clean` is not supported, use one of the following instead:

    - `git clean -xdf` (cleans all files)
    - `git clean -Xdf` (cleans all versioned files, doesn't touch
                        files that aren't checked into the git repo)

  Add `--force` to your command to use it anyway if you must (unsupported).

  ----------------------------------------
  Failed cleaning build dir for scipy
  Running setup.py bdist_wheel for subprocess32: started
  Running setup.py bdist_wheel for subprocess32: finished with status 'done'
  Stored in directory: /home/docs/checkouts/readthedocs.org/user_builds/scikit-plot/.cache/pip/wheels/7d/4c/a4/ce9ceb463dae01f4b95e670abd9afc8d65a45f38012f8030cc
Successfully built subprocess32
Failed to build scipy
Installing collected packages: numpy, cycler, subprocess32, python-dateutil, backports.functools-lru-cache, pyparsing, matplotlib, scikit-learn, scipy
  Running setup.py install for scipy: started
    Running setup.py install for scipy: finished with status 'error'
    Complete output from command /home/docs/checkouts/readthedocs.org/user_builds/scikit-plot/envs/v0.3.2/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-aaYEAX/scipy/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-PeD_7E-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/docs/checkouts/readthedocs.org/user_builds/scikit-plot/envs/v0.3.2/include/site/python2.7/scipy:

    Note: if you need reliable uninstall behavior, then install
    with pip instead of using `setup.py install`:

      - `pip install .`       (from a git repo or downloaded source
                               release)
      - `pip install scipy`   (last SciPy release on PyPI)

    lapack_opt_info:
    lapack_mkl_info:
      libraries mkl_rt not found in ['/home/docs/checkouts/readthedocs.org/user_builds/scikit-plot/envs/v0.3.2/lib', '/usr/local/lib', '/usr/lib', '/usr/lib/x86_64-linux-gnu']
      NOT AVAILABLE

    openblas_lapack_info:
      libraries openblas not found in ['/home/docs/checkouts/readthedocs.org/user_builds/scikit-plot/envs/v0.3.2/lib', '/usr/local/lib', '/usr/lib', '/usr/lib/x86_64-linux-gnu']
      NOT AVAILABLE

    atlas_3_10_threads_info:
    Setting PTATLAS=ATLAS
      libraries tatlas,tatlas not found in /home/docs/checkouts/readthedocs.org/user_builds/scikit-plot/envs/v0.3.2/lib
      libraries lapack_atlas not found in /home/docs/checkouts/readthedocs.org/user_builds/scikit-plot/envs/v0.3.2/lib
      libraries tatlas,tatlas not found in /usr/local/lib
      libraries lapack_atlas not found in /usr/local/lib
      libraries tatlas,tatlas not found in /usr/lib
      libraries lapack_atlas not found in /usr/lib
      libraries tatlas,tatlas not found in /usr/lib/x86_64-linux-gnu
      libraries lapack_atlas not found in /usr/lib/x86_64-linux-gnu
    <class 'numpy.distutils.system_info.atlas_3_10_threads_info'>
      NOT AVAILABLE

    atlas_3_10_info:
      libraries satlas,satlas not found in /home/docs/checkouts/readthedocs.org/user_builds/scikit-plot/envs/v0.3.2/lib
      libraries lapack_atlas not found in /home/docs/checkouts/readthedocs.org/user_builds/scikit-plot/envs/v0.3.2/lib
      libraries satlas,satlas not found in /usr/local/lib
      libraries lapack_atlas not found in /usr/local/lib
      libraries satlas,satlas not found in /usr/lib
      libraries lapack_atlas not found in /usr/lib
      libraries satlas,satlas not found in /usr/lib/x86_64-linux-gnu
      libraries lapack_atlas not found in /usr/lib/x86_64-linux-gnu
    <class 'numpy.distutils.system_info.atlas_3_10_info'>
      NOT AVAILABLE

    atlas_threads_info:
    Setting PTATLAS=ATLAS
      libraries ptf77blas,ptcblas,atlas not found in /home/docs/checkouts/readthedocs.org/user_builds/scikit-plot/envs/v0.3.2/lib
      libraries lapack_atlas not found in /home/docs/checkouts/readthedocs.org/user_builds/scikit-plot/envs/v0.3.2/lib
      libraries ptf77blas,ptcblas,atlas not found in /usr/local/lib
      libraries lapack_atlas not found in /usr/local/lib
      libraries ptf77blas,ptcblas,atlas not found in /usr/lib
      libraries lapack_atlas not found in /usr/lib
      libraries ptf77blas,ptcblas,atlas not found in /usr/lib/x86_64-linux-gnu
      libraries lapack_atlas not found in /usr/lib/x86_64-linux-gnu
    <class 'numpy.distutils.system_info.atlas_threads_info'>
      NOT AVAILABLE

    atlas_info:
      libraries f77blas,cblas,atlas not found in /home/docs/checkouts/readthedocs.org/user_builds/scikit-plot/envs/v0.3.2/lib
      libraries lapack_atlas not found in /home/docs/checkouts/readthedocs.org/user_builds/scikit-plot/envs/v0.3.2/lib
      libraries f77blas,cblas,atlas not found in /usr/local/lib
      libraries lapack_atlas not found in /usr/local/lib
      libraries f77blas,cblas,atlas not found in /usr/lib
      libraries lapack_atlas not found in /usr/lib
      libraries f77blas,cblas,atlas not found in /usr/lib/x86_64-linux-gnu
      libraries lapack_atlas not found in /usr/lib/x86_64-linux-gnu
    <class 'numpy.distutils.system_info.atlas_info'>
      NOT AVAILABLE

    /home/docs/checkouts/readthedocs.org/user_builds/scikit-plot/envs/v0.3.2/local/lib/python2.7/site-packages/numpy/distutils/system_info.py:572: UserWarning:
        Atlas (http://math-atlas.sourceforge.net/) libraries not found.
        Directories to search for the libraries can be specified in the
        numpy/distutils/site.cfg file (section [atlas]) or by setting
        the ATLAS environment variable.
      self.calc_info()
    lapack_info:
      libraries lapack not found in ['/home/docs/checkouts/readthedocs.org/user_builds/scikit-plot/envs/v0.3.2/lib', '/usr/local/lib', '/usr/lib', '/usr/lib/x86_64-linux-gnu']
      NOT AVAILABLE

    /home/docs/checkouts/readthedocs.org/user_builds/scikit-plot/envs/v0.3.2/local/lib/python2.7/site-packages/numpy/distutils/system_info.py:572: UserWarning:
        Lapack (http://www.netlib.org/lapack/) libraries not found.
        Directories to search for the libraries can be specified in the
        numpy/distutils/site.cfg file (section [lapack]) or by setting
        the LAPACK environment variable.
      self.calc_info()
    lapack_src_info:
      NOT AVAILABLE

    /home/docs/checkouts/readthedocs.org/user_builds/scikit-plot/envs/v0.3.2/local/lib/python2.7/site-packages/numpy/distutils/system_info.py:572: UserWarning:
        Lapack (http://www.netlib.org/lapack/) sources not found.
        Directories to search for the sources can be specified in the
        numpy/distutils/site.cfg file (section [lapack_src]) or by setting
        the LAPACK_SRC environment variable.
      self.calc_info()
      NOT AVAILABLE

    Running from scipy source directory.
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-aaYEAX/scipy/setup.py", line 418, in <module>
        setup_package()
      File "/tmp/pip-build-aaYEAX/scipy/setup.py", line 414, in setup_package
        setup(**metadata)
      File "/home/docs/checkouts/readthedocs.org/user_builds/scikit-plot/envs/v0.3.2/local/lib/python2.7/site-packages/numpy/distutils/core.py", line 135, in setup
        config = configuration()
      File "/tmp/pip-build-aaYEAX/scipy/setup.py", line 336, in configuration
        config.add_subpackage('scipy')
      File "/home/docs/checkouts/readthedocs.org/user_builds/scikit-plot/envs/v0.3.2/local/lib/python2.7/site-packages/numpy/distutils/misc_util.py", line 1029, in add_subpackage
        caller_level = 2)
      File "/home/docs/checkouts/readthedocs.org/user_builds/scikit-plot/envs/v0.3.2/local/lib/python2.7/site-packages/numpy/distutils/misc_util.py", line 998, in get_subpackage
        caller_level = caller_level + 1)
      File "/home/docs/checkouts/readthedocs.org/user_builds/scikit-plot/envs/v0.3.2/local/lib/python2.7/site-packages/numpy/distutils/misc_util.py", line 935, in _get_configuration_from_setup_py
        config = setup_module.configuration(*args)
      File "scipy/setup.py", line 15, in configuration
        config.add_subpackage('linalg')
      File "/home/docs/checkouts/readthedocs.org/user_builds/scikit-plot/envs/v0.3.2/local/lib/python2.7/site-packages/numpy/distutils/misc_util.py", line 1029, in add_subpackage
        caller_level = 2)
      File "/home/docs/checkouts/readthedocs.org/user_builds/scikit-plot/envs/v0.3.2/local/lib/python2.7/site-packages/numpy/distutils/misc_util.py", line 998, in get_subpackage
        caller_level = caller_level + 1)
      File "/home/docs/checkouts/readthedocs.org/user_builds/scikit-plot/envs/v0.3.2/local/lib/python2.7/site-packages/numpy/distutils/misc_util.py", line 935, in _get_configuration_from_setup_py
        config = setup_module.configuration(*args)
      File "scipy/linalg/setup.py", line 19, in configuration
        raise NotFoundError('no lapack/blas resources found')
    numpy.distutils.system_info.NotFoundError: no lapack/blas resources found

    ----------------------------------------
Command "/home/docs/checkouts/readthedocs.org/user_builds/scikit-plot/envs/v0.3.2/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-aaYEAX/scipy/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-PeD_7E-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/docs/checkouts/readthedocs.org/user_builds/scikit-plot/envs/v0.3.2/include/site/python2.7/scipy" failed with error code 1 in /tmp/pip-build-aaYEAX/scipy/

A description of what actually happened
This used to work. The only major change I can see is that latest scipy is now v1.0.0 and somehow it fails on this. I could try to force rtd-requirements to use v0.19 but then I'd have to bump my package another version. :( Please let me know if this is the only viable fix.
Edit: Looks like if I had released a version 6 hours earlier (pre-scipy 1.0) I wouldn't have had to face this. Oh well, first blood I guess :P

Pinning the requirements, or if you need scipy 1.0, using conda instead is the best way around dependency issues.

Sorry, I don't understand what you mean by pinning the requirements. I'm not sure how to use conda with rtd either, could you point me to some references?


[bug:filer]  failed to stream content /osss3/tests3/<IP_ADDRESS>-1MB-y1xglnh601-969216: volume 4182 not found

Sponsors SeaweedFS via Patreon https://www.patreon.com/seaweedfs
Maybe related to 3219
Describe the bug
Filer server can't get the latest topo.
master log.
`weed.szth-24-10-131.root.log.INFO.20220622-100458.8:I0623 03:00:02     8 volume_layout.go:222] volume 4182 does not have enough copies
weed.szth-24-10-131.root.log.INFO.20220622-100458.8:I0623 03:00:02     8 volume_layout.go:227] volume 4182 remove from writable
weed.szth-24-10-131.root.log.INFO.20220622-100458.8:I0623 03:00:02     8 volume_growth.go:235] Created Volume 4182 on topo:idc1:rack1:<IP_ADDRESS>:32588
weed.szth-24-10-131.root.log.INFO.20220622-100458.8:I0623 03:00:02     8 volume_layout.go:222] volume 4182 does not have enough copies
weed.szth-24-10-131.root.log.INFO.20220622-100458.8:I0623 03:00:02     8 volume_layout.go:227] volume 4182 remove from writable
weed.szth-24-10-131.root.log.INFO.20220622-100458.8:I0623 03:00:02     8 volume_layout.go:391] Volume 4182 becomes writable
weed.szth-24-10-131.root.log.INFO.20220622-100458.8:I0623 03:00:02     8 volume_growth.go:235] Created Volume 4182 on topo:idc1:rack2:<IP_ADDRESS>:32580
weed.szth-24-10-131.root.log.INFO.20220622-100458.8:I0623 03:34:08     8 volume_layout.go:457] Volume 4182 becomes crowded
weed.szth-24-10-131.root.log.INFO.20220622-100458.8:I0623 03:40:12     8 volume_layout.go:378] Volume 4182 becomes unwritable
weed.szth-24-10-131.root.log.INFO.20220622-100458.8:I0623 03:40:12     8 volume_layout.go:445] Volume 4182 reaches full capacity.
weed.szth-24-10-131.root.log.INFO.20220623-100022.8:I0623 10:00:48     8 volume_layout.go:222] volume 4182 does not have enough copies
weed.szth-24-10-131.root.log.INFO.20220623-100022.8:I0623 10:00:48     8 volume_layout.go:227] volume 4182 remove from writable`
filer server log
`E0623 03:00:02     8 filer_server_handlers_read.go:244] failed to stream content /osss3/tests3/<IP_ADDRESS>-1MB-y1xglnh601-969216: volume 4182 not found
E0623 03:00:02     8 common.go:287] processRangeRequest headers: map[Accept-Ranges:[bytes] Access-Control-Expose-Headers:[Content-Disposition] Content-Disposition:[inline; filename="<IP_ADDRESS>-1MB-y1xglnh601-969216"] Content-Length:[1048576] Content-Type:[video/avi] Etag:["72f4fdcbd826b1e7b2869eaae94f9095"] Last-Modified:[Wed, 22 Jun 2022 19:00:02 GMT] Server:[SeaweedFS Filer 30GB 3.12]] err: volume 4182 not found
E0623 03:00:02     8 filer_server_handlers_read.go:244] failed to stream content /osss3/tests3/<IP_ADDRESS>-1MB-y1xglnh601-969216: volume 4182 not found
E0623 03:00:02     8 common.go:287] processRangeRequest headers: map[Accept-Ranges:[bytes] Access-Control-Expose-Headers:[Content-Disposition] Content-Disposition:[inline; filename="<IP_ADDRESS>-1MB-y1xglnh601-969216"] Content-Length:[1048576] Content-Type:[video/avi] Etag:["72f4fdcbd826b1e7b2869eaae94f9095"] Last-Modified:[Wed, 22 Jun 2022 19:00:02 GMT] Server:[SeaweedFS Filer 30GB 3.12]] err: volume 4182 not found
E0623 03:00:02     8 filer_server_handlers_read.go:244] failed to stream content /osss3/tests3/<IP_ADDRESS>-1MB-phzo4e7s31-930184: volume 4182 not found
E0623 03:00:02     8 common.go:287] processRangeRequest headers: map[Accept-Ranges:[bytes] Access-Control-Expose-Headers:[Content-Disposition] Content-Disposition:[inline; filename="<IP_ADDRESS>-1MB-phzo4e7s31-930184"] Content-Length:[1048576] Content-Type:[video/avi] Etag:["72f4fdcbd826b1e7b2869eaae94f9095"] Last-Modified:[Wed, 22 Jun 2022 19:00:02 GMT] Server:[SeaweedFS Filer 30GB 3.12]] err: volume 4182 not found
E0623 03:00:02     8 filer_server_handlers_read.go:244] failed to stream content /osss3/tests3/<IP_ADDRESS>-1MB-xve4uqscw2-952044: volume 4182 not found
E0623 03:00:02     8 common.go:287] processRangeRequest headers: map[Accept-Ranges:[bytes] Access-Control-Expose-Headers:[Content-Disposition] Content-Disposition:[inline; filename="<IP_ADDRESS>-1MB-xve4uqscw2-952044"] Content-Length:[1048576] Content-Type:[video/avi] Etag:["72f4fdcbd826b1e7b2869eaae94f9095"] Last-Modified:[Wed, 22 Jun 2022 19:00:02 GMT] Server:[SeaweedFS Filer 30GB 3.12]] err: volume 4182 not found
E0623 03:00:02     8 filer_server_handlers_read.go:244] failed to stream content /osss3/tests3/<IP_ADDRESS>-1MB-phzo4e7s31-930184: volume 4182 not found
E0623 03:00:02     8 common.go:287] processRangeRequest headers: map[Accept-Ranges:[bytes] Access-Control-Expose-Headers:[Content-Disposition] Content-Disposition:[inline; filename="<IP_ADDRESS>-1MB-phzo4e7s31-930184"] Content-Length:[1048576] Content-Type:[video/avi] Etag:["72f4fdcbd826b1e7b2869eaae94f9095"] Last-Modified:[Wed, 22 Jun 2022 19:00:02 GMT] Server:[SeaweedFS Filer 30GB 3.12]] err: volume 4182 not found
E0623 03:00:02     8 filer_server_handlers_read.go:244] failed to stream content /osss3/tests3/<IP_ADDRESS>-1MB-j21ca34sz6-978636: volume 4182 not found`
weed version:3.12

Similarly, I have problems with the fact that the filer often receives addresses of volume servers that do not have the requested data.


Modify Infrastructure agent packaging process to include POMI binary

Add pomi version to Version files in agent infra bundle
Change package build jobs to include pomi in the package (including windows)

I added to PR that were almost completed but still WIP to include the whole code, feel free to take over:

https://source.datanerd.us/meatballs/infra-agent/pull/1471
https://github.com/newrelic/infrastructure-agent/pull/181

I reopened this issue since we still need a review here https://source.datanerd.us/meatballs/infra-agent/pull/1471 to include nri-prometheus in the MSI


headless browser provider: High memory consumption

Sometimes it takes a lot of time (~5min) to release a browser instance, which takes at least 350MiB of memory.
Maybe we should start only 1 browser process and create / close "tabs" in it
Pros: Save memories (?)
Cons: maybe hard to maintain sessions?

Try to fix this by #79 , now monitoring its effects. So far so good

Confirmed, fixed by #79 .


icon_tree_shaker.dart causes dead code diagnostic

The location https://github.com/flutter/flutter/blob/0c5ffdc9efc4e04ed637645014465b656afc14a5/packages/flutter_tools/lib/src/build_system/targets/icon_tree_shaker.dart#L191
gives rise to a dead_code_on_catch_subtype diagnostic:
   info • Dead code: This on-catch block won’t be executed because 'OSError' is a subtype of 'Exception' and hence will have been caught already • packages/flutter_tools/lib/src/build_system/targets/icon_tree_shaker.dart:191:7 • dead_code_on_catch_subtype

The second catch clause is unreachable and should be deleted.

This was caused by this change: https://dart.googlesource.com/sdk/+/ae392b8e007f2a2ad42fab96b7156c0fc68c49c7
@ZichangG

We could do something like commit an ignore, roll the change, and then remove it afterwards?

Added ignore here: https://github.com/flutter/flutter/pull/53258
@ZichangG Could you ping this issue when your OSError change rolls into Flutter?

It landed last Friday. https://github.com/dart-lang/sdk/commit/17294842e90ff35d039f778f0721457b79766e47
It is in Flutter now. https://github.com/flutter/engine/pull/17654


Compatibility with yarn v3

Yarn v3 RC is out, and can be tested by using the command yarn set version
yarn set version 3.0.0-rc.2 for latest v3 RC
yarn set version from sources for current development version
This issue tracks it's breaking changes, and here's the changelog.
Unfortunately, yarn.build seems to be incompatible with it.
On versions 3.0.0-rc.1 and 3.0.0-rc.2, yarn.build plugin prevents any yarn commands at all as it uses yup, while yarn v3 has migrated to typanion.
Current development version enables yup back to ease migration, but both yarn build and yarn bundle fail :
yarn build
Type Error: e.every is not a function
    at test (/path/to/my/repo/.yarn/releases/yarn-sources.cjs:9:12254)
    at z.validateAndExecute (/path/to/my/repo/.yarn/releases/yarn-sources.cjs:198:525)
    at async jn.run (/path/to/my/repo/.yarn/releases/yarn-sources.cjs:210:1845)
    at async jn.runExit (/path/to/my/repo/.yarn/releases/yarn-sources.cjs:210:2012)
    at async i (/path/to/my/repo/.yarn/releases/yarn-sources.cjs:302:12367)
    at async r (/path/to/my/repo/.yarn/releases/yarn-sources.cjs:302:10721)

yarn bundle
Type Error: The "path" argument must be of type string. Received undefined
    at new NodeError (node:internal/errors:363:5)
    at validateString (node:internal/validators:119:11)
    at Object.join (node:path:1176:7)
    at /path/to/my/repo/.yarn/plugins/@ojkelly/plugin-build.cjs:5:1442
    at It.mktempPromise (/path/to/my/repo/.yarn/releases/yarn-sources.cjs:178:62552)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async d.execute (/path/to/my/repo/.yarn/plugins/@ojkelly/plugin-build.cjs:5:1356)
    at async d.validateAndExecute (/path/to/my/repo/.yarn/releases/yarn-sources.cjs:198:618)
    at async jn.run (/path/to/my/repo/.yarn/releases/yarn-sources.cjs:210:1845)
    at async jn.runExit (/path/to/my/repo/.yarn/releases/yarn-sources.cjs:210:2012)

Thanks for the heads up. That shouldn't be too much work to update.

This is now fixed, and yarn 2 compatibility has been moved to /v2. Fixed in #88 and tested on 3.0.0-rc.2
yarn 3
yarn plugin import https://yarn.build/latest
yarn 2
yarn plugin import https://yarn.build/v2


FormatException: Bad UTF-8 encoding 0x81 (at offset 1)

hello，thanks for your open source。
I have some problems when  use the package. eg：

String phone=await encryptString("12345678910", Utils.rsakey);
When used in this way, the decryption result is not correct.

String phone=await encryptString("12345678910", utf8.decode(base64.decode(Utils.rsakey)));
When used in this way, it can't run and the console reported the following error :

FormatException: Bad UTF-8 encoding 0x81 (at offset 1)

development environment：

vscode
flutter version: 1.0.0+1
dart environment:
sdk: ">=2.0.0-dev.68.0 <3.0.0"

Check out this https://github.com/giandifra/simple_rsa/issues/5#issuecomment-464449870, might be helpful.

final encryptedText = await encryptString(asekey,utf8.decode(base64.decode(encryptionHelper.mPublicKey)));
Same as yours,
my publishkey is a string without '-----BEGIN PUBLIC KEY-----' and '-----END PUBLIC KEY-----',
it can't run and the console reported the following error :
Unhandled Exception: FormatException: Bad UTF-8 encoding 0x81 (at offset 1)

$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, v1.9.1+hotfix.6, on Microsoft Windows [Version 6.1.7601], locale zh-CN)
[√] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[√] Android Studio (version 3.5)
[√] Connected device (1 available)


Why OkHttpURLConnection 3.6.0 not supporting interceptors?

[ ] Question

I am using OkHttpURLConnection 3.6.0 ( OkHttpClient 3.6.0) with Volley 1.0.0
I need to use OkHttp interceptors in my application.
I have browsed the source code of OkHttpUrlConnection and at line 383, the OkHttpClient interceptors are cleared out.
Is it by design? Commenting that line makes the added interceptors work. Should we not use interceptors with OkHttpURLConnection?
At this interceptor wiki link, it is saying that interceptor doesn't work with OkURLFactory ( which is deprecated now). Does it mean it won't work with OkHttpURLConnection as well?

Yep, this is by design. Interceptors have never worked with HttpURLConnection. It might be possible to make ’em work, but we haven’t considered the consequences. I’m also anxious that supporting interceptors there might make certain types of bug fixes more difficult.
I’d like to encourage you to use the Request/Response API instead. There’s some open source projects that might make it easier to migrate.
https://github.com/lxdvs/Volley-OkHttp-Android

@swankjesse Thanks Jesse. I will use the Request/Response API instead.

I'm so sorry to see that.

oh, we need the feature 😢 pls support it

You can use this:
https://gist.github.com/swankjesse/dd91c0a8854e1559b00f5fc9c7bfae70

(you’ll need to comment out lines 570 and 572)


💡[Feature]: ask the user for the type of feedback

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description

Location: contact

Use Case
By doing so , we can segregate the email easily.
Benefits
No response
Add ScreenShots
No response
Priority
Medium
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

Thank you for creating this issue! 🎉 We'll look into it as soon as possible. In the meantime, please make sure to provide all the necessary details and context. If you have any questions or additional information, feel free to add them here. Your contributions are highly appreciated! 😊
You can also check our CONTRIBUTING.md for guidelines on contributing to this project.

i can do it please assign it to me


IOrientationListener initialization bug?

Hello there,
Just some thing I've noticed while developing my app: Sometimes the OrientationListener just doesn't initialize that well. It doesn't really work correctly at all sometimes. i.e. when tilting it to the right (change of roll) it doesn't recognize that correctly. After restarting the app (finish() and then start it again) normally everything is back to normal and works).
Which leads me to the question:
Is the OrientationSensor stuff being calibrated on each startup (maybe this causes this problem?)? But I don't really think so. Maybe it's a hardware bug on my side.
s4ke

I already thought of that, but I just wanted to ask instead of just assuming anything.


feat(service-params): cmdline params are unclear

originally posted by @CAJan93 in slack:

I am a bit confused with the different parameters. Where do we list what all these params do?

docker run -it --pull=always risingwavelabs/risingwave:latest compute --help

        --client-address <CLIENT_ADDRESS>
            The address of the compute node's meta client.

            Optional, we will use listen_address if not specified.

For e.g. the compute node I found above params that are related to our discussion. listen_address  was not listed and I am not sure what the difference between --client-address  and --meta-address  is.

Let's make it clearer what the params mean and unify them with meta params

Thank you very much for posting this issue @jon-chuang. Maybe we should also have a look at the parameters from the other components. The compactor e.g. lists
        --state-store <STATE_STORE>
            [default: ]

I would not know what are valid values here.


Allow use of already commissioned device in TC_DeviceBasicComposition

Testcase adjusted to allow commissioned device in test instead of PASE based device.
Tested with BLE/Thread device and parameters:
python3 TC_DeviceBasicComposition.py --commissioning-method ble-thread --thread-dataset-hex  --bool-arg use_pase_only:false --discriminator 3840 --passcode 20202021

@tennessee-google could you take a quick look if this is a suitable change ? We can run this test now on a single device, but not sure if it fits your initial intention.


Add Code/Region Folding Support

Is it possible for you to add "folding" support? For example, in PowerShell, I can write:
#region Foo
Some Code here
Some More Code Here
....
100 Lines Later
#endregion Foo
Then hover my house over the #region Foo line and collapse it. It's super convenient for organizing chunks of code.
I'd like to do something similar with VBScript like:
'region Foo
...
'endregion Foo
What do you think?

Hi, currently I'm afraid of adding pseudo statements which aren't in the vbs standard.
Everyone might use a different, i would prefer a variant near vb.net (an ps)
'#Region "Name"

'#End Region

Consider using an extension like [https://marketplace.visualstudio.com/items?itemName=maptz.regionfolder](#region folding for VS Code) (I haven't tested it!)
You could modify your local installed extension, but be aware every new version needs to be customized again:
Add following to this file
"%userprofile%.vscode\extensions\serpen.vbsvscode-1.2.0\syntaxes\language-configuration.json"
[...]
"folding": {
        "markers": {
            "start": "'region",
            "end": "'endregion"
        }
    }

(I haven't tested this completly, but initial it seems to work)

Awesome - thank you for the suggestions. I will put these to use.
If you do decide to build in support, for the record, I'm fine with whatever variant you propose - you are the author!


x/tools/gopls: "pattern too long" error with gopls@master + k8s + coc.nvim

Noticed that when using gopls@master in kubernetes, I am starting to get a new exception in coc.nvim:

I believe this is related to the (enormous) file watching pattern we serve for Kubernetes directories. But it is surprising that I don't get this error with<EMAIL_ADDRESS>Needs investigation.
More generally, I really hope we can switch to simply requesting all file watching notifications, and avoid the enormous pattern entirely. But this must be carefully tested in various LSP clients.

can we have an experimental flag to use a simplified file watching patterns instead and let people test (in particular those involved in the issue that resulted in the current way of file watch registration)?

So, it turns out that we do get this error with<EMAIL_ADDRESS>so I have moved this to 'okay-after-beta1'.
Here is the upstream discussion about file watching: https://github.com/microsoft/vscode/issues/109754
In that discussion, it is suggested that we could simply watch **. I think we should test this in various LSP clients to confirm it works.
If we do so, I don't think we need to guard it behind a flag. Or if we do, the default should be to use the simplified watching logic and we can can have a temporary flag to revert to the old behavior.

Unfortunately I don't think this is going to get prioritized for v0.12.0, as much as I'd like to fix it.


Add gradle wrapper

Add gradle wrapper

Any plans merge this PR?

Gradle wrapper is not a part of the library. It's just a tool for building project. When you will try to run sample app, Android Studio will propose you to download latest wrapper version.

What will happen if user will need to build the library using CI server without android studio?

In case you want to add this library to your project there should be no problems, because gradle wrapper from main project will be used.
In case you want to build this library from this repo you can make a fork, then add gradle wrapper into your forked repo and configure CI system to sync your fork before building the project.
If you have another case, please, explain it.


Added capability to run CVDP from within ADF

Added capability to run CVDP from within ADF, and modified output ADF timeseries names to match CESM standards.
Fixes #17 #77

@phillips-ad Thank you so much for doing this!  It looks like there are a few minor code mods that will need to be made.  I can either just make them myself and push it to your branch (which will automatically update this Pull Request), or I can send you the list of changes and you can implement them yourself.  Just let me know which way you prefer!

@nusbaume If you are OK making the minor changes yourself that's fine with me! I will update my original comment on this pull request to be much more descriptive of what I did. One matter that I wasn't sure how to address documentation wise: Users will have to load the NCL module on whatever system (CGD or CISL) they are on.

Sounds good!  I'll go ahead and make the mods along with any other fixes I find during testing (hopefully there aren't any, but you never know).  If all goes well I'll get these changes merged into the ADF early next week.
Also, thanks for the heads up about NCL!  I'll go ahead and update the relevant documentation once this PR is merged to let any future users know of the new requirement.
Finally, when you do update your original comment, can you change the issue references to be on their own separate lines, e.g.:
Fixes #17
Fixes #77

Otherwise Github can have problems managing the issues properly.  Thanks!


refactor: use updated buf lib for in-memory proto generation

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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 69.749%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
4284

Relevant Lines:
6142

💛  - Coveralls


Please clarify the number for each 3D printed parts for the rig and a picture depicting the setup

Could you please clarify how many 3D printed parts I need each for Body,Clamp and Mount

You need one of each part


fix: set default duration > 0

Description of the Issue
Marquee is not playing on FireFox unless window is resized or reduced motion is toggled.
Fix
Default duration state has been set to 1 (> 0).
When the default duration is > 0, Marquee will play as intended on Firefox
Question
Anyone have any idea why this is happening?

This was a super weird one. Like @chanroyc said, if the duration is set to 0 by default, the Marquee won't play until the browser is resized. This only happens on Firefox. Having a default value greater than 0 fixes this. 🤷
I don't totally understand why that works - but either way I've tested locally and it looks good to me!

I had a similar issue with the Marquee a while back where I ended up using the code from Splatoon that @ste-vg wrote, though my issue was in Safari.. I think also adding in a .01s animation-delay helped but I'll see if I can poke around a bit more, otherwise this looks fine to me, too 🤷♂

I have a sneaking suspicion that this is related to how we're measuring the content.  This could be similar, albeit for clientWidth. That would explain why it works on resize.
Since we don't want to add any image loaded checkers or anything (after all, it's possible people will not use this component for images), maybe we should try to only render this component once the content has loaded, and see if that fixes it?

Thanks guys. So instead of setting duration to 1, I created a new state called isPlaying which defaults to false.
The state will be set to the playing prop after all the calcs.
When isPlaying is true, .is-playing classname will be added. I have moved the animation into .is-playing
Let me know what you guys think.

I think this approach will make the content "jump" if you go from true to false and vice - versa for the playing prop as we are now completely removing the animation


ResponderGuard defense and ideas

Great work on this. I added some defenses to the Inveigh dev repo. Basically, since the NBNS request destination IP is often not the broadcast IP, I can hook on that to detect ResponderGuard. Right now, I just have an ignore in for each request. The next step would be to blacklist the ResponderGuard IP upon detection.
The broadcast address will be hit with ResponderGuard -CidrRange. It gets hit last though giving me a chance to blacklist. Maybe start with the broadcast address so that ResponderGuard will detect Inveigh when they are on the same subnet? The Inveigh start time vs ResponderGuard start time would be a factor but it probably increases the odds a little on the ResponderGuard side. Note that it seems like Inveigh running in unpriv mode doesn't even see the ResponderGuard non-broadcast requests. It's listening directly on the broadcast address rather than sniffing UDP 137 traffic.
Two other current ResponderGuard hooks I spotted are the random non-137 source port and the fixed NBNS transaction ID.
Another feature that might be helpful would be the ability to set the requested hostname. Maybe even add the ability to loop though an array of specified hostnames. I think my sleep deprived DerbyCon brain did a bad job of trying to explain it when we spoke. If an attacker watches the traffic (advisable) before spoofing, they can possibly spot a detection tool or even just zero in on something specific to spoof. Often, LLMNR and WPAD are all that's needed when spoofing. Being able to throw something like WPAD into the mix will help on the ResponderGuard side. When spoofing I'm also instantly suspicious of a request for a single hostname that looks random.
I'd love to see LLMNR/NBNS lose their default enabled status on domain attached systems so I'm all for beating up on them. Any opinion though on if I should enable ResponderGuard defense by default or not with Inveigh? Ideally, spoofing detection tools would be employed by blue teams that are hunting or organizations that have an unavoidable (hrm) need for LLMNR/NBNS. Running detection tools instead of hardening can be asking for trouble but so can just running spoofing tools without planning.

Hey man! Great seeing you at Derbycon. Awesome points made. I totally agree with not running detection tools in place of hardening. In a perfect world you would definitely want hardening first, but it still would be nice to go hunting. :-) I can definitely work on fixing most of the issues you called out.
-The non-137 source port and the fixed NBNS transaction ID shouldn't be too hard to fix. I'll work on those first.
-Setting the specified hostname is something I want but with the way I'm generating a random hostname it needed to be the same size (me rage coding it to get it in PoC form). But again, that is something that really shouldn't take terribly long to fix. What do you think about by default setting the hostname to something like "SERVERXXXXX" where the X's are randomized? That might look a little less obvious. What do you think about an option that enumerates all AD computer objects, figures out which ones are no longer reachable, and uses those hostnames as a list?
-Both WPAD and LLMNR are things I want added so I totally agree with you on those. Adding to the list!
-The broadcast IP problem is hard for me to think how I would get around that... I will have to think about that some more... but I like what you said about starting by scanning broadcast.
Your question about whether enabling defense in Inveigh against ResponderGuard by default is an interesting one. I would say that would be similar to someone writing malware obfuscation asking an AV company if they should continue to keep bypassing them or suffer detection. I think the answer is yes, keep pushing on developing bypasses because real attackers are sure as hell going to. But... I also would say if you have time to make the detection side better by helping me code in better detection in ResponderGuard then that could be time very well spent as well. :-) Thanks for taking a look at the tool and providing your feedback so quickly! I really appreciate it.

Yep, it would be great to explore detection more. If you want we can leave this open and I'll add in anything I see.
I was thinking about the hostname prefix also. The big thing would be to make it settable (this is how I end up with all those parameters in Inveigh!) so that there isn't a default I can use to detect ResponderGuard. The AD lookup thing would be cool. You could also maybe mirror some of the real requests pulled from the ResponderGuard subnet.
There is probably some stuff in Inveigh/Conveigh that can be looked at. I wasn't really happy with Conveigh using an elevated shell due to the packet sniffing code. I ran into some timing issues with just using broadcast/multicast listeners. It's the same reason that I don't currently have the learning mode working on the unpriv side of Inveigh. So maybe you'll solve that on the way:) My dream with Conveigh was that an admin would take one look at all the LLMNR/NBNS traffic bouncing around and immediately disable them both. It would be great though to have a good detection tool that can be used across an entire enterprise without dealing with routers.

Amazing job with ResponderGuard.  Its going to help me in the next Pentest.
Here is a little line of code since you helped me out that you can add to send email alerts in your script on Line 449.
Send-MailMessage -From "ResponderGuard<EMAIL_ADDRESS>-To "Christopher Mulligan<EMAIL_ADDRESS>-Subject "Responder Guard as detected an attacker" -Body "An NBNS spoofer was discovered at $ip." -Priority High -SmtpServer "smtp.hotmail.com"
Thanks,
Chris

Just an update, Inveigh 1.3.2 with the ResponderGuard detection stuff never made it out of the dev branch. It will be in the upcoming 1.4 release though. The plan is to just have a parameter that enables/disables (enabled by default) defenses against detectors.


Temperature precision

Sometimes the temperature has way too many digits at least in home-assistant mqtt
In HA
RuuviTag Otto Temperature
26.115000000000002 °C
MQTT message
homeassistant/sensor/ffxxxxxxxxxx/temperature/state 26.115000000000002
homeassistant/sensor/ffxxxxxxxxxx/temperature/attributes {"RuuviTag":"ffxxxxxxxxxx","Measure":"Temperature","Unit":"°C"}
Tag has latest ruuvi firmware.

Thanks. It's fixed in 0.1.10.
Precision for each measure is defined in https://github.com/balda/ruuvitag-discovery/blob/master/dict/measures.js (accuracy field).


Cython bug on threading?

cython compiled .py file:
cython_test.py
import threading,time

def thread_func():
    print("Running at {}".format(time.time()))
    print("Still Running at {}".format(time.time()))
    print("Still Running!")

def test():
    f = threading.Thread(target=thread_func)
    f.start()
    st = time.time()
    while time.time() - st < 5:
        pass
    print("main thread done")

This file is compiled with cythonize("cython_test.py")
Test file:
import cython_test # Cython Compiled
cython_test.run()

Normal behavior with python:
print "Running at xxx" and "Still Running at xxx" in a sequence, with no interval more than 5s and before main thread prints : "main thread done"
Running at X
Still Running at X
Still Running!
main thread done

Cython compiled py file's behavior:
the first "Running at" prints right away, but the second "Still Running at " print after "main thread done " displayed.
Running at X
main thread done
Still Running at X
Still Running!

Tested on Python 3.7.1; Cython 0.29 ; Ubuntu 16.04
======
Is that saying cython never switch back to thread_func once it context switched to main thread?

CPython frees the GIL every couple of byte code executions and can thus switch threads between any two byte codes. Cython does not have byte code. I/O operations might still free the GIL, however, but in any case, that's outside of Cython's control.
Your example code implements a busy loop in the main thread that does not allow other threads to run, since it does not free the GIL. If you want to allow other threads to run, either free the GIL when you don't need it, or release and re-acquire it every so-many operations to allow for a thread-switch. In any case, as long as you require the GIL in more than one thread, you will not get any parallelism.


Flesh out prototype interface for allowing users to give feedback on crosswalks.

We have a very quick sketch of what the interface to allow feedback on crosswalks should look like. We need better designs for these and a mocked up version so that we can start user testing it with people.
Use static files from the data exploration phase to try and build a version of this that explores the various complexities without needing the backend support for now

Closing stale issues as part of task triage and preparing for a new roadmap


[IZPACK-1730] SummaryPanel label fonts not consistent with other panel labels

@reinhapa, can you please merge this PR? After this, I can raise PR which are dependent on this merge. Thanks.


IBM TSO/E Logon

IBM TSO/E Mainframe logon, not directly a web site but I think it's important to bring up that this has been a thing for 50+ years and many is reachable from the internet.

Thank you for the contribution!


Add help text to agent screen

In this area:

Should read:

Agents are the highest level grouping in Articulate. This page allows agent level configuration. For more help with this screen visit our docs here.

I need to think this through, I would like all the pages to have a similar arrangement and this space is used for search on other pages. Search doesn't make as much sense for the agent page.


splitAST does not split sentences within link titles

Closely related to #24—possibly more controversial.
When provided with an input of:
{
  type: 'Paragraph',
  children: [
    {
      type: 'Link',
      title: null,
      url: 'https://example.com',
      children: [Array],
      loc: [Object],
      range: [Array],
      raw: '[This link has more than one sentence. It has two lines.](https://example.com)'
    }
  ],
  loc: { start: { line: 1, column: 0 }, end: { line: 1, column: 78 } },
  range: [ 0, 78 ],
  raw: '[This link has more than one sentence. It has two lines.](https://example.com)'
}

The following is returned:
{
  type: 'Paragraph',
  children: [
    {
      type: 'Sentence',
      raw: '[This link has more than one sentence. It has two lines.](https://example.com)',
      loc: [Object],
      range: [Array],
      children: [Array]
    }
  ],
  loc: { start: { line: 1, column: 0 }, end: { line: 1, column: 78 } },
  range: [ 0, 78 ],
  raw: '[This link has more than one sentence. It has two lines.](https://example.com)'
}

However these are equivalent representations:
[This link has more than one sentence. It has two lines.](https://example.com)

[This link has more than one sentence.
It has two lines.](https://example.com)

Yes. Currently, splitAST parse only Str node and it parse shallow.
https://github.com/azu/sentence-splitter/blob/1663ab26ba4ad29d9ab36616a572231a5e9d637c/src/sentence-splitter.ts#L182-L191
As a result, this library does not psers Str of Link or Strong.
<Paragraph>
  <Str>  ← will be parsed  (depth: 1)
  <Link>
     <Str> ← will not be parsed (depth: 2)
   </Link>
   <Str> ← will be parsed (depth: 1)
</Paragraph>

The reason of this behavior is similar reason to textlint-rule-helper's isPlainStrNode(node).

[Common Situation] Want to ignore a Str node that is wrapped by Link, BlockQuote etc #16

For example, the link to external blog that's Str(link title) is not under your controll.
However, it is reasonable that we can handle Link's children.
If we add recursive option, we can resolve these issue #24 #25.
Or, add handling to more types Link and Strong etc...
https://github.com/azu/sentence-splitter/blob/1663ab26ba4ad29d9ab36616a572231a5e9d637c/src/sentence-splitter.ts#L191
We need to add new behavior as option.


JSHint reports some issues with the codebase

The code is pretty nice and compact in its current form. However I would suggest taking another look at the code style and errors reported by JSHint.
For example instead of this:
if (!token)           { return loggedOut() } // without access token it's logged out

preferr this:
if (!token) {
    return loggedOut(); // without access token it's logged out
}

If not changing the style (thats just suggestion), the errors should be fixed (missing semicolons etc.). By the way feel free to close if you disagree as I don't feel strongly about this.

Fixed in 851232496f80b25631179213c749e384dca4e277


AssertionFailedException: found two shells in EdgeRing list

Please note
Expected behavior and actual behavior.
Expected unary_union successfully
Steps to reproduce the problem.
it happens when i use shapely union operation (unary_union()),  all of all geoms is_valid  is True. But sometime when i use set operation such as result = list(set(geoms_list)) , seems to make random order , the unary_union(result) runs successfully.
Code
import shapely
from shapely.ops import unary_union
def test_unary_union():
# copy all datas from upload text file to here
datas_string = "copy to here"
geoms_data = [shapely.wkt.loads(geom_wkt) for geom_wkt in datas_string.split("\t")]
# all geoms are valid
assert all([geom.is_valid for geom in geoms_data])
# this operation will raise error, i don't know why
union = unary_union(geoms_data)
# after set operation, the unary_union runs successfully (maybe random the order of geoms, the count of geoms is the same)
new_geoms = list(set(geoms_data))
union = unary_union(new_geoms)
Data
data.txt
Operating system
Ubuntu 22.04
Shapely version and provenance
2.0.2 with pip install   GEOS ersion: 3.11.1

I cannot reproduce the problem using geos 3.12.1, so most likely it has been solved.
You could try with shapely 2.0.3, which includes geos 3.11.3.  geos 3.11.3 contains most of the same bugfixes as geos 3.12.1.


Manuals with duplicate slugs can't be updated

We've recently seen some exceptions that were caused by users trying to update manuals that had duplicate slugs.
It was previously possible to create manuals with duplicate slugs as we'd saved the manual to the local database before it was sent to the Publishing API. These operations have recently been reversed such that trying to save a manual with duplicate slug will be rejected by the Publishing API and therefore not be saved to the local database. This should ensure we don't run into similar problems in future but doesn't help with the existing duplicate manuals.

I took a recent copy of the data from production and determined that the following manuals have duplicate slugs:

90c29aa7-1df0-4891-9c53-69914bd4b617

Test Manual
guidance/test-manual
rural-payments-agency
2 sections

e4d53b5c-9bf8-42e8-a9b2-e070cd2e6b46

To be deleted
guidance/test-manual
ofqual
0 sections

c21f1a7e-9158-4489-8e36-64db3adb74d5

To be deleted
guidance/test-manual
ofqual
0 sections

e6b3575b-e8d4-4774-b5a4-cc701c20873c

To be deleted
guidance/test-manual
ofqual
0 sections

ccc8c86f-86b3-43dd-93cc-563e94531eac

Foundering of potter Majestic
guidance/foundering-of-potter-majestic
marine-accident-investigation-branch
0 sections

b809b253-9d07-4fa3-8981-70fce69bdb57

Foundering of potter Majestic
guidance/foundering-of-potter-majestic
marine-accident-investigation-branch
0 sections

ddeef32f-04b6-438e-b94e-fe5ac792f001

Foundering of potter Majestic
guidance/foundering-of-potter-majestic
marine-accident-investigation-branch
0 sections

780c2358-f32f-4842-826f-edb0e2ac5236

Foundering of potter Majestic
guidance/foundering-of-potter-majestic
marine-accident-investigation-branch
0 sections

PR #1182 improves the delete_draft_manual Rake task so that it deletes draft manuals from the local database even if they don't exist in the Publishing API, and so that we can run the script via Jenkins.
Having merged and deployed these changes to production, we ran the following Rake tasks to remove the offending manuals with duplicate slugs:
bundle exec rake delete_draft_manual[,e4d53b5c-9bf8-42e8-a9b2-e070cd2e6b46]
bundle exec rake delete_draft_manual[,c21f1a7e-9158-4489-8e36-64db3adb74d5]
bundle exec rake delete_draft_manual[,e6b3575b-e8d4-4774-b5a4-cc701c20873c]

bundle exec rake delete_draft_manual[,b809b253-9d07-4fa3-8981-70fce69bdb57]
bundle exec rake delete_draft_manual[,ddeef32f-04b6-438e-b94e-fe5ac792f001]
bundle exec rake delete_draft_manual[,780c2358-f32f-4842-826f-edb0e2ac5236]

Deleting these manuals should ensure we no longer experience the exceptions linked to in the description of this issue.
Closing.


[FLINK-12312][runtime] Remove CLI command for rescaling

What is the purpose of the change
See http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/DISCUSS-Temporarily-remove-support-for-job-rescaling-via-CLI-action-quot-modify-quot-td27447.html
Brief change log

Remove rescaling code.
Throw exception from respective REST handlers.

Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:

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

Documentation

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

Thanks for the review. Merging as soon as travis gives green light.

Rebased to latest master.


Mast: Watch biostem

Mast requests the watch of the watch_keyword biostem. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

biostem has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by tripleee in Charcoal HQ


ci: Added Melos command "doc-setup"

Description

The purpose of this new command is to make it easier to install things needed for doc development.
Also added jinja2 into the requirements file -- currently it is installed manually by the doc-publish script (https://github.com/flame-engine/flame-docs-site/blob/main/publish.sh#L58)

Checklist

[x] I have followed the Contributor Guide when preparing my PR.
[-] I have updated/added tests for ALL new/updated/fixed functionality.
[x] I have updated/added relevant documentation in docs and added dartdoc comments with ///.
[-] I have updated/added relevant examples in examples or docs.

Breaking Change?

[x] No, this PR is not a breaking change.

Just FYI - this command does not work on Windows.  I am looking into a fix.


Error installing yakyak 1.5.1 through Ubuntu Software Center

I report in the following the details of the error reported during the installation:
Lintian check results for [...]/yakyak-1.5.1-linux-amd64.deb:
E: yakyak: maintainer-address-missing "Martin Algesten"

I think the one reported by @tkisme is a different error with respect to the one I originally created this thread for. I just get that error when I install the .deb package (which is actually a warning as I can ignore it and go on with the installation), but once installed the software works just fine.

Am I the only one who got this error?

did not have any problems installing via software center or via command line sudo dpkg -i yakyak-1.5.2-linux-amd64.deb

Just to say that YakYak installs fine on Linux Solus OS. Haven't had much use for it - but it installs fine.


[Question] Running Polly in Chrome console

I am trying to run Polly in Chrome console.
I executed to following code-
`const fetchUrls = ['https://cdn.jsdelivr.net/npm/<EMAIL_ADDRESS>'https://cdn.jsdelivr.net/npm/<EMAIL_ADDRESS>'https://cdn.jsdelivr.net/npm/<EMAIL_ADDRESS>'https://cdn.jsdelivr.net/npm/<EMAIL_ADDRESS>]
for (let i = 0; i < fetchUrls.length; i++) {
let script = document.createElement('script');
script.type = 'text/javascript';
script.src = fetchUrls[i];
document.getElementsByTagName('head')[0].appendChild(script);
}
window.PollyJS = window['@pollyjs/core'];
PollyJS.Polly.register(window['@pollyjs/persister-rest']);
PollyJS.Polly.register(window['@pollyjs/adapter-fetch']);
PollyJS.Polly.register(window['@pollyjs/adapter-xhr']);
const polly = new PollyJS.Polly
('RecordingName', {
adapters: ['xhr', 'fetch'],
persister: 'rest'
});`
But I get an error thrown every few seconds.
Is there an example for working code in the Chrome console?
Thank you.

This should work if you just replace the rest persister with the local storage one. I'm assuming you don't have a server setup to use the REST persister.

Thank you, now its working.


keybase won't start up

Keybase GUI Version: 6.3.1-20240530102114+0c98770127
Seems stuck in start up

Stuck in Starting?
Does your install location have spaces in it (like in your Username?)
Check this thread if that's the case for a workaround. https://github.com/keybase/client/issues/25138#issuecomment-1209536679
At least as of 6.3.1, this is still broken.

Keybase GUI Version: 6.3.1-20240530102114+0c98770127 Seems stuck in start up

If you're on Windows, one thing to check is C:\Users\YourUsername\AppData\Local\Keybase\gui_config.json
Some folks will see "windowHidden\":true
Quit the app from the hamburger menu
Change that true to false
Save the file
Start the app back up.

"windowHidden":true

I tried this and it works the first startup but if you subsequently close keybase the next restart it changes it back to "windowHidden":false and the problem persists.


runtime: cgocall is low performance for Conn on Windows

What version of Go are you using (go version)?

$ go version
go version go1.20 windows/386

Does this issue reproduce with the latest release?
Yes. It is long standing.
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
set GO111MODULE=auto
set GOARCH=386
set GOBIN=D:\build\go\GOPATH\bin
set GOCACHE=D:\build\go\GOCACHE
set GOENV=C:\Users\HYX\AppData\Roaming\go\env
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=386
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=D:\build\go\GOPATH\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=D:\build\go\GOPATH
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=D:\build\go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=D:\build\go\pkg\tool\windows_386
set GOVCS=
set GOVERSION=go1.20
set GCCGO=gccgo
set GO386=sse2
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=0
set GOMOD=
set GOWORK=
set CGO_CFLAGS=-O2 -g
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-O2 -g
set CGO_FFLAGS=-O2 -g
set CGO_LDFLAGS=-O2 -g
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m32 -fno-caret-diagnostics -Qunused-arguments -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=C:\Users\HYX\AppData\Local\Temp\go-build3874135637=/tmp/go-build -gno-record-gcc-switches

What did you do?

I think this is a new case of https://github.com/golang/go/issues/19574, taking effect on higher level Conn and specific platform Windows. It is suggested to be a new issue.
This is a long term user observation.
It is traced into cgocall by pprof (high percentage): on Windows, Conn Read/Write finally calls API WSARecv/WSASend according runtime.cgocall.
It is a very basic functionality for web servers, proxies, and other network data transferring tools.
Low performance will pop up when there is a large amount of data, with high CPU usage (for example 10%+, task manager, OS level) which could be 10+ times than rust/c developed similar apps.
Since the scenario is network data transferring, I don't have a simple/short example that can reproduce the issue . Anyone who can generate it is appreciated.
Proxies are the most typical case (both Read/Write). My example is bellow in the reply.
Test existing programs if you are interested
Maybe we can get started with some high rated open source proxies for now.
Here I used the client as a local proxy without any upstream proxies, and wget (single thread) to download via it.
Attention: downloading self hosted resources on the same machine doesn't help reproduce the difference. Loopback MSS = 65495 is adopted.
go: xray, v2ray, and glider.
xray.exe -config direct.json

v2ray.exe run -config direct.json

wget.exe -c -O nul -e https_proxy=<IP_ADDRESS>:5080 <https-big-file-url>

Config file: direct.json.zip.
glider.exe -listen=http://<IP_ADDRESS>:6080

rust: shadowsocks-rust.
sslocal.exe -b <IP_ADDRESS>:7080 --protocol=http

Mitigation
An alternative way to Read/Write directly is using a big enough buffer. By piling up packets data and then Read/Write in one time, it definitely reduces the context switching costs. But, it has disadvantages and does not 100% work:

buffers should not be too big, or when connections increase, they consume lots of memory;
if packets data can't be piled up, that will make buffering ineffective;
must be answered small and high frequency packets are common.

My experimental local proxy with big buffer.
I have tried ReadFrom, and observed 4k length packets are transferred on loopback interface, triggering high CPU usage.
What did you expect to see?
Lower CPU usage. OS level.
What did you see instead?
High CPU usage.

There's not really a whole lot of information here- you said you'd previously looked at it in pprof, what did you run with pprof, can you link the output? I'd also consider changing the package in the title to net - for all we know, cgo could be working directly but net is calling it too many times.

Does this reproduce when downloading large files from http?

I have constructed a short simple proxy, that can help reproduce the issue.
tunnel.go Source Code (Click to show)
package main

import (
	"flag"
	"log"
	"net"
	"sync"
	"time"
)

const GlobalTimeout = 15 * time.Second

type Config struct {
	BuffSize    int
	LocalAddr   string
	RemoteAddr  string
}

func parseConfig() *Config {
	conf := &Config{}

	flag.IntVar(&conf.BuffSize, "buffsize", 8192, "Specify connection buffer size.")
	flag.StringVar(&conf.LocalAddr, "localaddr", "<IP_ADDRESS>:6699", "Local address to listen to.")
	flag.StringVar(&conf.RemoteAddr, "remoteaddr", "", "Remote address to connect to.")

	flag.Parse()

	return conf
}

func ListenAndServe(cfg *Config) {
	l, err := net.Listen("tcp", cfg.LocalAddr)
	if err != nil {
		log.Printf("[tcp] failed to listen on %s: %v\n", cfg.LocalAddr, err)
		return
	}
	defer l.Close()

	log.Printf("[tcp] listening on %s\n", cfg.LocalAddr)
	for {
		c, err := l.Accept()
		if err != nil {
			log.Printf("[tcp] failed to accept: %v\n", err)
			continue
		}
		go Serve(c, cfg)
	}
}

func Serve(c net.Conn, cfg *Config) {
	var wg sync.WaitGroup
	var LrErr, LwErr, RrErr, RwErr error

	defer c.Close()

	LeftTimeout := 2 * GlobalTimeout
	RightTimeout := GlobalTimeout

	cr, err := net.DialTimeout("tcp", cfg.RemoteAddr, GlobalTimeout)
	if err != nil {
		return
	}
	defer cr.Close()

	wg.Add(1)
	go func() {
		defer wg.Done()
		var n int
		LeftBuf := make([]byte, cfg.BuffSize)
		for {
			c.SetDeadline(time.Now().Add(LeftTimeout))
			n, LrErr = c.Read(LeftBuf)
			if LrErr == nil {
				cr.SetDeadline(time.Now().Add(RightTimeout))
				_, RwErr = cr.Write(LeftBuf[0:n])
			}
			if LrErr != nil || LwErr != nil || RrErr != nil || RwErr != nil {
				c.SetDeadline(time.Now())
				cr.SetDeadline(time.Now())
				break
			}
		}
	}()

	RightBuf := make([]byte, cfg.BuffSize)
	for {
		var n int
		cr.SetDeadline(time.Now().Add(RightTimeout))
		n, RrErr = cr.Read(RightBuf)
		if RrErr == nil {
			c.SetDeadline(time.Now().Add(LeftTimeout))
			_, LwErr = c.Write(RightBuf[0:n])
		}
		if LrErr != nil || LwErr != nil || RrErr != nil || RwErr != nil {
			c.SetDeadline(time.Now())
			cr.SetDeadline(time.Now())
			break
		}
	}
	wg.Wait()

	if RrErr != nil {
		log.Printf("Remote error: %v\n", RrErr)
	} else if RwErr != nil {
		log.Printf("Remote error: %v\n", RwErr)
	}
}

func main() {
	cfg := parseConfig()
	if cfg.RemoteAddr == "" {
		log.Printf("Invalid remoteaddr!")
		return
	}

	ListenAndServe(cfg)
}

If you want to pprof, drop pprof.go in the same folder, and compile with -tags=pprof.
Because of it is a very simple proxy, the functionality is limited too.
Usage of tunnel.exe:
  -buffsize int
        Specify connection buffer size. (default 8192)
  -localaddr string
        Local address to listen to. (default "<IP_ADDRESS>:6699")
  -remoteaddr string
        Remote address to connect to.

Here is one example for testing:
tunnel.exe -localaddr=<IP_ADDRESS>:443 -remoteaddr=dl.google.com:443 -buffsize=512000

curl.exe -o nul --resolve dl.google.com:443:<IP_ADDRESS> https://dl.google.com/go/go1.20.windows-386.zip

You may specify a common buffsize that you prefer. Bigger buffer could reduce cgocall times, but not 100%.
Results of a same high speed resource on my side:
graph-sample-8kBuffer-CPUHigh.png

graph-sample-500kBuffer-CPULow.png

@CannibalVox

net is calling it too many times

I think that would be necessary, as messages need responses (in time).

Does this reproduce when downloading large files from http?

Of course. It shouldn't be related to the contents. I also confirmed it.

The key is the contexts switching cost of cgo calling. That seems to be a bit too much, resulting high speed Read/Write cost more resources.

When the profile tells you that a lot of time is spent in cgocall what it is really telling you is that your program is spending most of its time in functions that are not written in Go.  The profiler is not able to get a stack trace from functions that are not written in Go, so what you see is the backtrace in Go code that leads up to the non-Go code.  That backtrace ends in cgocall, because that is the name of the function that calls the non-Go function.
So it's not clear that this is a bug as such.  Of course it would be nice to get more complete information.  And it is possible that your program is really not spending much time in non-Go code, in which case there may be a bug somewhere.

cgocall high CPU usage could be in 2 scopes:

program level, by pprof,
OS level, by task manager.

The problem here is in OS level, comparing to other language developed programs.
For example shadowsocks-rust which I mentioned above.
They are tested by downloading the same file with the same speed. Using Wireshark, I can see the max packet-data-length from shadowsocks-rust is 8192. There should be same level API/cgo calling. While setting the same buffer size to the above example, OS level high CPU usage is observed.
@ianlancetaylor

When the profile tells you that a lot of time is spent in cgocall what it is really telling you is that your program is spending most of its time in functions that are not written in Go.

This is not the answer here, I think. All different languages call the OS network APIs.
The profiles don't really count here though, some people still may want to have a glance, as they tell something.

My descriptions may not cover what you concern, please have a try by yourself.

The key is the contexts switching cost of cgo calling. That seems to be a bit too much, resulting high speed Read/Write cost more resources.

It seems like it's possible that WSARecv is making blocking calls which puts the syscall over the 1us timeout to rejoin the P without penalty, which will create a fair amount of context switching when called repeatedly. I believe linux & mac make non-blocking calls for socket read/write and get results via netpoll?
I don't know how I would check that this is the case, though. Obviously net.Conn.Read is blocking, but that doesn't say much about syscall.WSARecv.

Hi @lifenjoiner, do you have numeric CPU usage numbers reported by the OS you could share for your sample program vs maybe shadowsocks-rust or one of the other programs?

I will say that if WSARecv was non-blocking, I would expect the vast majority of this program to be spent in netpoll rather than in syscall, right? The program is network, the vast majority of its runtime should be waiting rather than acting, so if it's all cgo, then it must be waiting in cgo.

Measurements by typeperf:
Base info
Both buffer size are (should be) 8k.
tunnel.exe
curl.exe -o nul -x http://<IP_ADDRESS>:7080 <URL>
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  387M  100  387M    0     0   948k      0  0:06:58  0:06:58 --:--:--  948k

sslocal.exe
curl.exe -o nul --resolve <domain>:443:<IP_ADDRESS> <URL>
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  387M  100  387M    0     0   949k      0  0:06:57  0:06:57 --:--:--  949k

Results
% User Time is likely to be what I saw in Process Explorer.
tunnel.exe

sslocal.exe

Raw data: typeperf-process-counters.tunnel-vs-sslocal.zip

Do you have a tool to measure context switching in there?

I will say that if WSARecv was non-blocking, I would expect the vast majority of this program to be spent in netpoll rather than in syscall, right? The program is network, the vast majority of its runtime should be waiting rather than acting, so if it's all cgo, then it must be waiting in cgo.

Does waiting consume lots of CPU resource?
If you go to View -> Source in the http UI mode of pprof, you will see most of time are spent at:
https://github.com/golang/go/blob/02d8ebda8398342516a24a3e8435d527ed156cab/src/runtime/cgocall.go#L157

Do you have a tool to measure context switching in there?

Currently, no.
I can see the Properties -> Threads -> Cycles Delta in Process Explorer:

Process
Threads
Cycles Delta

tunnel.exe
2+
50+ M

sslocal.exe
1
20 ~ 30

Context switching rate is high, referring:

You can determine whether context switching is excessive by comparing it with the value of Processor% Privileged Time. If this counter is at 40 percent or more and the context-switching rate is high, then you can investigate the cause for high rates of context switches.

tunnel.exe

sslocal.exe

All data are included in the attachment above.

I will say that if WSARecv was non-blocking, I would expect the vast majority of this program to be spent in netpoll rather than in syscall, right? The program is network, the vast majority of its runtime should be waiting rather than acting, so if it's all cgo, then it must be waiting in cgo.

Does waiting consume lots of CPU resource?

No- rather, when go goes into the syscall state, it takes the os thread with it. My understanding is that it has 1us to return before go spins up another os thread to handle the goroutines that were previously being handled by the os thread that was taken for the syscall. The thing is that if there's not enough work to sustain an additional os thread than what it was previously using (which is most cases, since go is generally using the correct number of threads), go will generally keep spinning up and shutting down os threads, causing an obscene amount of context switches, which seems to be what's happening here.
I would say that go's handling of goroutines returning from syscall is generally poor when it can't put everything back exactly where it found it, and getting to the point where this code maintained two os threads due to the usage patterns in play would probably be ideal, even though making these calls nonblocking would be a quick fix

btw there's another case like this (poor decisions about when to spin down os threads cause insane context switches) I'm aware of that isn't cgo related: #21827
In that case, parking an os locked thread with sleep or a blocking channel read will cause the os thread to be spun down since it isn't doing any work, the goroutine is moved to a thread where it can't run, and then the locked thread has to be awoken when the goroutine unparks, causing two context switches.

@lifenjoiner Could you collect a runtime trace (https://pkg.go.dev/runtime/trace#Start) from this example? Just collect for a few seconds, otherwise you'll probably get a huge trace file.

@prattmic Many thanks for diving in!
Here is a trace file for 30s while downloading is stable.
trace-30s.zip
Method:
https://pkg.go.dev/net/http/pprof#hdr-Usage_examples
curl -o trace-30s.out http://localhost:6060/debug/pprof/trace?seconds=30

Hey @prattmic I saw that you were assigned #44343 and it is scheduled for 1.21. If the goal is to deal with tasks that are a blocker from Windows users upgrading go to the latest version, this is a big one, and while it raises some interesting high level questions about the way that the scheduler handles things, the task as reported may not be that complicated. Network calls on windows appear to be synchronous and they need to be made asynchronous in order to stop this behavior I believe. I don't see how it's possible to run a web service on windows in Go 1.21 without this task being fixed.

@lifenjoiner could you run your benchmarks using go tip? Some weeks ago I submitted an improvement that asyncify some udp/tcp operations: CL 463839.

@qmuntal Thanks for your work! Following are my benchmarks.
Base Info

go1.20.3.windows-386.zip
Patch. Manually patched my local src/internal/poll/fd_windows.go. Confirmed it works by making a syntax mistake of the file did trigger a compiling error.
set GOARCH=amd64 to build PE64 files. Keep the same page.
My network changed. So, --limit-rate is added to my previous downloading commands to make similar tests. But it is NOT at a uniform speed as before. I saw peaks and pause of the downloading speed and CPU usage by Process Explorer. So, another group of tests with a higher downloading speed was made.
A different PC.

Results

--limit-rate 1M, 2.753 / 0.293 = 9.4. Previous: 6.367 / 0.543 = 11.7.

tunnel.exe
$>curl.exe --limit-rate 1M -o nul --resolve dldir1.qq.com:443:<IP_ADDRESS> <url>
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  387M  100  387M    0     0  1036k      0  0:06:22  0:06:22 --:--:-- 1272k

sslocal.exe
$>curl.exe --limit-rate 1M -o nul -x http://<IP_ADDRESS>:7080 <url>
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  387M  100  387M    0     0  1033k      0  0:06:23  0:06:23 --:--:-- 1184k

--limit-rate 3M, 8.541 / 0.729 = 11.7.

tunnel.exe
$>curl.exe --limit-rate 3M -o nul --resolve dldir1.qq.com:443:<IP_ADDRESS> <url>/WeCom_<IP_ADDRESS>07.exe
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  387M  100  387M    0     0  3000k      0  0:02:12  0:02:12 --:--:-- 1005k

sslocal.exe
$>curl.exe --limit-rate 3M -o nul -x http://<IP_ADDRESS>:7080 <url>
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  387M  100  387M    0     0  3203k      0  0:02:03  0:02:03 --:--:-- 4164k

Conclusion
Seems there are still more improvements can be done.

The screenshots are reports generated by typeperf. I've selected the valid duration and % User Time. It shows the average under the scroll bar.
I don't know if CL 463839 is the right direction.
Here are my new benchmarks on the same PC and network. CL463839 Vs NoPatch. Both with 10 samples.
My network is not very stable. Maybe you can remeasure them by yourself.
Prerequisite

benchmark.bat. The script that I used.

@echo off
setlocal ENABLEDELAYEDEXPANSION
pushd %~dp0

::-code-::

for /L %%i in (0, 1, 9) do (
    title %%i %date% %time%
    start /min typeperf -f csv -si 00:01 -cf typeperf-process-counters.txt -o typeperf-process-counters-%%i.csv
    sleepy 2s
    curl.exe --limit-rate 3M -o nul --resolve dldir1.qq.com:443:<IP_ADDRESS> https://dldir1.qq.com/wework/work_weixin/WeCom_<IP_ADDRESS>08.exe
    sleepy 2s
    taskkill /f /im typeperf.exe
)

::-code-::

:Exit
popd
endlocal
exit /b

You may choose a URL by your convenient.

typeperf-process-counters.txt

\Process(tunnel)\% Privileged Time
\Process(tunnel)\% Processor Time
\Process(tunnel)\% User Time

CL463839.exe and NoPatch.exe

tunnel.go
tunnel.exe -localaddr=<IP_ADDRESS>:443 -remoteaddr=dldir1.qq.com:443

Compile them by yourself. All other files and logs are in the attached zip file.
Data Files
CL463839-Vs-NoPatch_10-samples.zip
Analysis

I will say that if WSARecv was non-blocking, I would expect the vast majority of this program to be spent in netpoll rather than in syscall, right? The program is network, the vast majority of its runtime should be waiting rather than acting, so if it's all cgo, then it must be waiting in cgo.

@CannibalVox  WSARecv is non-blocking, have verified that using @lifenjoiner's tunnel.go.
@lifenjoiner your initial guess seems to be right, there are a lot of context switches due to the high amount of cgo calls. I haven't seen any low hanging fruit in the net nor internall/poll that could mitigate that, so I'm inclined to say that this is a duplicated of #19574.

I don't understand, I thought sub-1us cgo calls don't cause context switches

Also #19574 didn't repro when I tried it a few months ago

@qmuntal Thanks for your efforts!
Hoping someone will make more progress.

@lifenjoiner CL 562915 might fix your issue. It removes the LockOSThread call from syscall.Syscall, which is a cause of context switched. Could you give it a try?
To build a Go application using a specific commit, follow these instructions:

run go install golang.org/dl/gotip@latest
run gotip download 562915
run gotip build .

--limit-rate 3M
Measured curl at the same time.

CL562915.xlsx
Seems better. Great work! @qmuntal

!!! This seems like a really big deal, @qmuntal, thank you very much!

Seems better. Great work! @qmuntal

If I read your charts correctly, CL 562915 reduced User Time from ~6% to ~2% and Privileged Time from ~50% to ~6%. Given that the Privileged Time is now way less than the high-context-switch threshold (40% according to https://github.com/golang/go/issues/58336#issuecomment-1420216511), IMO we can close this issue.


Use google authentication with django social auth.

Is it possible to login with google using django social auth? It says it is supported.

Sure. Try to add the Google backend to AUTHENTICATION_BACKENDS and SOCIAL_AUTH_ENABLED_BACKENDS in your config.
You should add an image for Google as well or override the login.html template.

Where exactly is this config going to be located and what do I add?

When installing from pip the configuration will be found in the home directory of the user running the jukebox.
e.g. /home/johndoe/.jukebox/settings_local.py


Move Makefile.bundled-shared from openwebrtc.recipe to openwebrtc.git

Currently, in post_install, the openwebrtc recipe re-creates (Android-specific) libopenwebrtc_jni.so and libopenwebrtc_bridge_jni.so such that all the dependency libraries are linked in statically. We should do this using autotools inside openwebrtc.git. This needs to be done using a specially-crafted linker command (which is done by Makefile.bundled-shared) since there is no way to force libtool to do this. It will always choose the shared library over the static library if both are available while satisfying a dependency.
This wasn't a problem with OpenWebRTC's build scripts because all the dependencies were only built statically.
This change depends on us moving to Cerbero as the primary build system (#222)
ref: https://github.com/nirbheek/cerbero/pull/11/

This is also relevant to Android packaging because for Android, libopenwebrtc.so and libopenwebrtc_bridge.so should be "fat" libraries as well with no dynamic library dependencies except those that are provided natively by Android (the rest should be bundled in just like libopenwebrtc_jni.so).
The current proposal is to make the changes required for this to openwebrtc.git's autotools and add those as patches to openwebrtc.recipe till we move to Cerbero completely (at which point those can just be merged into master). I'll be working on this tomorrow.
Lastly, we should also strip these fat shared libraries to remove debug symbols.


Re-enable unit test for split op in CI

jenkins: retest this please.

jenkins: retest this please

Jenkins: retest this please

the test has already been re-enabled by other PR