feat(integrations): Support Litestar (#2413)

Support Litestar through a new LitestarIntegration based on porting the existing StarliteIntegration.
starlite was renamed litestar as part of its move to version 2.0.
Closes #2413

General Notes
Thank you for contributing to sentry-python!
Please add tests to validate your changes, and lint your code using tox -e linters.
Running the test suite on your PR might require maintainer approval. Some tests (AWS Lambda) additionally require a maintainer to add a special label to run and will fail if the label is not present.
For maintainers
Sensitive test suites require maintainer review to ensure that tests do not compromise our secrets. This review must be repeated after any code revisions.
Before running sensitive test suites, please carefully check the PR. Then, apply the Trigger: tests using secrets label. The label will be removed after any code changes to enforce our policy requiring maintainers to review all code revisions before running sensitive tests.

@sentrivana thanks for the suggestions. The tox.ini, automated testing across versions, etc. is something I knew would probably need some work by someone more familiar with the project.

@szokeasaurusrex

I have done a first pass review and have added some suggestions. Once you address those, we will be happy to re-review. Please let me know if you have any questions!
Thanks for the initial review. I made most of the changes suggested. I think the only comments left open that you added have to do with adding @ensure_integration_enabled as needed and the dependence on a PR you mentioned you would make to make that work properly. So, feel free to make another pass to make sure I addressed things as expected.

One other thing I am wondering: since it seems a lot of this code was just copied over from the StarliteIntegration, maybe there is a way we could extract the common code so we can use the same code in both places? Although, it is probably not worth it if it would be super complicated to do.
TL;DR I think it would be complicated to do and not worth it.
Most of the differences between the two integrations have to do with the location of the types involved. I imagine someone with sufficient Python-fu (not me unfortunately) could do some aliasing magic such that some of the functions could be made to work for both integrations, but I also think that might be confusing enough that it outweighs the benefit of code reuse. I guess we would still end up with several instances of checking which integration we are in. There is probably some code without such concerns that could be extracted and called by both integrations, but I think it is little enough to not make it worth the effort.

@sentrivana @szokeasaurusrex could I get some advice on how to handle something wrt tox.ini and testing across versions?
Things are currently configured to test litestar version 2.0.0, 2.5.0, and latest (2.10.0 for now) using Python 3.8, 3.11, 3.12. From tox.ini:
    # Litestar
    {py3.8,py3.11,py3.12}-litestar-v{2.0}
    {py3.8,py3.11,py3.12}-litestar-v{2.5}
    {py3.8,py3.11,py3.12}-litestar-latest
...

    # Litestar
    litestar: pytest-asyncio
    litestar: python-multipart
    litestar: requests
    litestar: cryptography
    litestar-v2.0: litestar~=2.0.0
    litestar-v2.5: litestar~=2.5.0
    litestar-latest: litestar

It turns out Python 3.12 support did not really get added to litestar until 2.3.0. See e.g.
https://github.com/litestar-org/litestar/releases/tag/v2.3.0.
How should I update things to limit testing to valid versions?
Options I can think of:

Replace testing against litestar 2.0.0 with 2.3.0 since the latter is valid for all versions. But that means we won't be testing against earlier versions that are valid for Python < 3.12.
Change the target testing litestar 2.0.0 to not include Python 3.12, and just test Python 3.12 with litestar latest. But that means we won't be testing the earliest version of litestar that supported Python 3.12, and that kind of boundary testing seems to be part of the goal.
Change the target testing litestar 2.0.0 to not include Python 3.12, then add a target testing 2.3.0 that includes at least (perhaps only) Python 3.12.

I suggest we go for option 3 and have something like this:
    # Litestar
    {py3.8,py3.11}-litestar-v{2.0}
    {py3.12}-litestar-v{2.3}
    {py3.8,py3.11,py3.12}-litestar-v{2.5}
    {py3.8,py3.11,py3.12}-litestar-latest
...

    # Litestar
    litestar: pytest-asyncio
    litestar: python-multipart
    litestar: requests
    litestar: cryptography
    litestar-v2.0: litestar~=2.0.0
    litestar-v2.3: litestar~=2.3.0
    litestar-v2.5: litestar~=2.5.0
    litestar-latest: litestar

But if y'all prefer option 1 or 2 (or something else) to minimize test runtime, I am open to that.

@KellyWalker option 3 makes the most sense to me! We can test Litestar v2.3 against Python 3.12 only. I would expect the test runtime to be the same as what we have right now, since instead of testing Python 3.12 with Litestar 2.0, we test it with 2.3.

@szokeasaurusrex I think I have addressed all the new feedback. Please re-review.
It would also be nice to get some of the additional checks/actions  (testing, code coverage, etc.) re-run to see if there are any remaining issues with those with the latest code.

Thanks for addressing all the comments so far! I will take a look soon so that we can wrap this up this week. Will also test this with a live app.

@sentrivana

Finished looking through the integration, have some comments/suggestions, please take a look.

I applied all your suggestions, and I answered your question regarding a difference relative to the StarliteIntegration.

Next up: checking the tests and testing with a live app -- will do this tomorrow

No doubt you know how to make a sample live app, but if you could do it like it is described in this draft PR for updating the sentry-docs (which is a copy from the StarliteIntegration docs), it would serve to explicitly validate that as well.
https://github.com/getsentry/sentry-docs/pull/10880/files#:~:text=```-,%23%23 Verify,```,-When you point

@KellyWalker added an empty commit to trigger the CI again (github had problems yesterday)

I tested the integration with this demo app:
https://github.com/antonpirker/testing-sentry/tree/main/test-litestar
Errors are there:

Details of errors are also there:

The span tree is also there:

Looks really good!
One thing about the span tree: I have a 200ms sleep in my view. Should be the first three spans from the middleware be before those 200ms and the last three spans from the middleware at the end?


python: create venv's --without-pip

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew typecheck with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?

Currently, virtualenv_install_with_resources creates a venv with a full copy of pip. This is pretty wasteful, since we really only need it at build time to install resources. Instead, we can:

Create a venv using --without-pip
Use<EMAIL_ADDRESS>pip to install resources into this venv, using the --python option
Tangentially, remove all shell activate scripts (which admittedly doesn't save much but aren't necessary)

As a result, this saves ~7MB of disk space per venv:
$ brew install black
...
==> Summary
🍺  /opt/homebrew/Cellar/black/23.7.0_1: 1,121 files, 13.5MB
$ brew reinstall -s black
...
==> Summary
🍺  /opt/homebrew/Cellar/black/23.7.0_1: 558 files, 6.6MB, built in 41 seconds

Note I don't foresee this causing any issues, but I've left an opt-out to be safe.

I have a bunch of machines running different brew versions and a formula that uses virtualenv_create and relies on the fact that pip is available. What is the proper way to deal with this change? It broke my formula with new version of brew but if I add the extra parameter it will break on older versions.

Sorry about that!

running different brew versions

may be a silly question, but is updating to the latest version not an option?

relies on the fact that pip is available

in what way? there may be a simple change you could make, like https://github.com/Homebrew/homebrew-core/pull/138661#issuecomment-1666642881

I have a bunch of machines running different brew versions and a formula that uses virtualenv_create and relies on the fact that pip is available.

@cangussu Which versions? Note we do not support running any Homebrew versions beyond the latest.

This also removes setuptools. Some namespace packages may rely on it:
linuxbrew@794b47da48b2:/down$ az -v
Traceback (most recent call last):
  File<EMAIL_ADDRESS>line 187, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File<EMAIL_ADDRESS>line 110, in _get_module_details
    __import__(pkg_name)
  File "/home/linuxbrew/.linuxbrew/Cellar/azure-cli/2.51.0/libexec/lib/python3.10/site-packages/azure/__init__.py", line 1, in <module>
    __import__('pkg_resources').declare_namespace(__name__)
ModuleNotFoundError: No module named 'pkg_resources'

Since setuptools is included with our python, you'll only run into trouble if you've disabled system_site_packages
Also note if you use setuptools at runtime, you really should add it to your requirements as  Python 3.12 will no longer include it either https://github.com/python/cpython/issues/95299 https://github.com/pypa/pip/pull/12032

@branchvincent I followed your suggestion to use python -m pip and it worked for our use case, tks!

in what way? there may be a simple change you could make, like Homebrew/homebrew-core#138661 (comment)


Map URL with streetside imagery confuses Rapid

Description
Some URLs that include streetside imagery parameters throw an error like this and the application won't load completely:
Chrome:
Uncaught TypeError: Cannot read properties of undefined (reading 'captured_at')
    at PixiLayerMapillaryPhotos.js:84:63
    at Array.filter (<anonymous>)
    at Y6.filterSequences (PixiLayerMapillaryPhotos.js:84:29)
    at Y6.renderMarkers (PixiLayerMapillaryPhotos.js:114:31)
    at Y6.render (PixiLayerMapillaryPhotos.js:185:10)
    at s7.render (PixiScene.js:134:13)
    at a7._app (PixiRenderer.js:428:16)
    at a7._tick (PixiRenderer.js:261:14)
    at a0.emit (TickerListener.ts:67:25)
    at Jn.update (Ticker.ts:427:37)

Firefox:
Uncaught TypeError: o.properties is undefined
    t PixiLayerMapillaryPhotos.js:84
    filterSequences PixiLayerMapillaryPhotos.js:84
    renderMarkers PixiLayerMapillaryPhotos.js:114
    render PixiLayerMapillaryPhotos.js:185
    render PixiScene.js:134
    _app PixiRenderer.js:428
    _tick PixiRenderer.js:261
    emit TickerListener.ts:67
    update Ticker.ts:427
    _tick Ticker.ts:129
.....

Version
2.0.0-beta.0
What browser are you seeing the problem on? What version are you running?
Firefox v109.0
Steps to reproduce

Load URL below
Inspect console

The browser URL at the time you encountered the bug
https://mapwith.ai/rapid-v2-beta#background=Bing&datasets=fbRoads,msBuildings&disable_features=boundaries&map=19.00/36.09668/-86.73818&photo=streetside/1148715026&photo_dates=2020-01-01_&photo_overlay=mapillary,streetside

I fixed this in 571c50c62, will merge to main soon.


Rename eurucamp

The eurucamp name stands for itself and does not resolve to anything.

Thanks. Good point. Sorry, will keep the "long form" now for comments. Cheers.


Static pages can not be found (404)

Opening about page (either for top and bottom navigation) causes a 404 error message being displayed instead of opening page.
https://de.serlo.org/serlo

Thanks @DavidEibl for opening this issue. This happens sometimes lately, its not yet clear why... the page is accessible a few minutes later, so hard to reproduce. Can you remember what you did before trying to access the page? And was it immediately before you wrote the issue? Then i can look into our event history

Happend over a total period of around 1 hour up to the point where I published the issue.
Occured immediately after opening main page and later as well after opening other static pages.
OS: macOS Sierra 10.12.3
Browser: Firefox Quantum (57.0)
ISP: Vodafone (If this helps filtering logs ;-) )

Thanks for the information. Sadly as far as I can tell there weren't any activities on the platform, that could have caused this, so we'll have to further check why this happens.
ping @arekkas I checked our event history, there were no events logged in the time of this issue. The last thing was 7 hours earlier a new edit for https://de.serlo.org/presse Do you think the problem could be delayed that long (i.e. something with cache or reindexing, etc.?) or do you have a different idea what could be causing this, if its not taxonomy or page changes? The only change on software side that (in my understanding) could maybe cause this is https://github.com/serlo-org/athene2/pull/602, or are there more things to consider?

@arekkas Phillip found a hint: The bug seems to be connected with the language versions. It only occurs on pages which share a URL like /serlo or /community on different language tenants. And it looks like, as if the page ony works on one of the tenants at the same time

@SimonKoehl That was the key information, thanks! Is fixed in my PR :-)

Nice! I forwarded the "thanks" to Phillip


arrow-jdbcadapter

Make changes in jdbc adapter to return arrow data for SQL data type

created by mistake


eliminate eslint-config-custom package

use a top-level flat config, instead of using turborepo's encouraged practice of maintaining a local eslint-config-custom package

closed by #1461


Investigations on Gen2 WLS Filter Example Disparity Color Range Jumpiness

In relation to https://github.com/luxonis/depthai-experiments/tree/master/gen2-wls-filter
The disparity color range is jumpy.  I don't know if this is out of my ignorance of how WLS works, or if it's something like the following.
Below is a video showing it:
https://youtu.be/IEqg0R2xA3g
With that said, I'm guessing the color range is normalized every frame to the present min and max disparities, or something like that. So perhaps we could do a fixed normalization or some average over time as the scene changes maybe.

I think that instead of doing normalization, we should just extend the disparity range (e.g 0..95) to cover the pixel range (0..255), as here:
https://github.com/luxonis/depthai-experiments/blob/faa065e/gen2-camera-demo/main.py#L215

Yes, good call!  Agreed. (And I should have thought of that.)

Actually I should have thought about this :D
Should be fixed in : https://github.com/luxonis/depthai-experiments/pull/88

Heh, thanks Szabi! :-)


Docs: Provide CLI --ignore option examples

I am unable to discern from the existing documentation how to use the CLI --ignore option. It would be nice to have a real example for each.
For instance, none of the following worked:
babel --ignore html ./*
babel --ignore .*html ./*
babel --ignore ".*html" ./*
babel --ignore *html ./*
babel --ignore **html ./*
babel --ignore **/*html ./*
babel --ignore [html] ./*
babel --ignore [.*html] ./*
babel --ignore [*html] ./*
babel --ignore [**html] ./*
babel --ignore [**/*html] ./*
babel --ignore ["html"] ./*
babel --ignore [".*html"] ./*
babel --ignore ["*html"] ./*
babel --ignore ["**html"] ./*
babel --ignore ["**/*html"] ./*

It seems the issue is the ./* at the end. . works. OP stands though, since examples would've been equally useful in this case.

If you want to make a PR, would be appreciated  https://github.com/babel/babel.github.io/blob/master/docs/usage/cli.md

merged https://github.com/babel/babel.github.io/issues/860


Added WebView2 developer guide

Docs Build status updates of commit 71094bd:
:warning: Validation status: warnings

File
Status
Preview URL
Details

microsoft-edge/webview2/concepts/developer-guide.md
:warning:Warning
View
Details

microsoft-edge/toc.yml
:white_check_mark:Succeeded
View

microsoft-edge/webview2/concepts/developer-guide.md

Line 41, Column 5: [Warning-file-not-found] Invalid file link: '../another-perf-article.md'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit 501be0a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-edge/toc.yml
:white_check_mark:Succeeded
View

microsoft-edge/webview2/concepts/developer-guide.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit d351a03:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-edge/toc.yml
:white_check_mark:Succeeded
View

microsoft-edge/webview2/concepts/developer-guide.md
:white_check_mark:Succeeded
View

microsoft-edge/webview2/index.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit c33f337:
:warning: Validation status: warnings

File
Status
Preview URL
Details

microsoft-edge/webview2/concepts/developer-guide.md
:warning:Warning
View
Details

microsoft-edge/toc.yml
:white_check_mark:Succeeded
View

microsoft-edge/webview2/index.md
:white_check_mark:Succeeded
View

microsoft-edge/webview2/concepts/developer-guide.md

Line 47, Column 211: [Warning-hard-coded-locale] Link 'https://docs.microsoft.com/en-us/dotnet/api/microsoft.web.webview2.core.corewebview2environment.newbrowserversionavailable?view=webview2-dotnet-1.0.774.44' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
Line 47, Column 120: [Suggestion-preserve-view-not-set] Did you mean to link to a specific version? It's usually better not to specify a version, so the link always goes to the canonical version. If you really need to link to a specific version, add &preserve-view=true to the URL: https://docs.microsoft.com/microsoft-edge/webview2/reference/win32/icorewebview2environment?view=webview2-1.0.774.44#add_newbrowserversionavailable. Otherwise, remove the view parameter.
Line 47, Column 211: [Suggestion-preserve-view-not-set] Did you mean to link to a specific version? It's usually better not to specify a version, so the link always goes to the canonical version. If you really need to link to a specific version, add &preserve-view=true to the URL: https://docs.microsoft.com/en-us/dotnet/api/microsoft.web.webview2.core.corewebview2environment.newbrowserversionavailable?view=webview2-dotnet-1.0.774.44. Otherwise, remove the view parameter.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit ff13bc1:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-edge/webview2/concepts/developer-guide.md
:bulb:Suggestion
View
Details

microsoft-edge/toc.yml
:white_check_mark:Succeeded
View

microsoft-edge/webview2/index.md
:white_check_mark:Succeeded
View

microsoft-edge/webview2/concepts/developer-guide.md

Line 47, Column 120: [Suggestion-preserve-view-not-set] Did you mean to link to a specific version? It's usually better not to specify a version, so the link always goes to the canonical version. If you really need to link to a specific version, add &preserve-view=true to the URL: https://docs.microsoft.com/microsoft-edge/webview2/reference/win32/icorewebview2environment?view=webview2-1.0.774.44#add_newbrowserversionavailable. Otherwise, remove the view parameter.
Line 47, Column 211: [Suggestion-preserve-view-not-set] Did you mean to link to a specific version? It's usually better not to specify a version, so the link always goes to the canonical version. If you really need to link to a specific version, add &preserve-view=true to the URL: https://docs.microsoft.com/dotnet/api/microsoft.web.webview2.core.corewebview2environment.newbrowserversionavailable?view=webview2-dotnet-1.0.774.44. Otherwise, remove the view parameter.

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit f4d38b0:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-edge/toc.yml
:white_check_mark:Succeeded
View

microsoft-edge/webview2/concepts/developer-guide.md
:white_check_mark:Succeeded
View

microsoft-edge/webview2/index.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Good stuff, thanks @Reezaali @jm-trd-ms! Some comments/suggested edits.
@pagoe-msft can you also work with @Reezaali @jm-trd-ms to make sure this doc is surfaced in the right places? At least landing page and getting-started guides.

@Reezaali @jm-trd-ms - this would be a great doc to add to every See Next section: "To learn more about building webview2 applications checkout _____ link to this doc". Probably under links to getting started guides and before samples/feedback repo

Docs Build status updates of commit a3b8bd5:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-edge/toc.yml
:white_check_mark:Succeeded
View

microsoft-edge/webview2/concepts/developer-guide.md
:white_check_mark:Succeeded
View

microsoft-edge/webview2/index.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit f21a521:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-edge/toc.yml
:white_check_mark:Succeeded
View

microsoft-edge/webview2/concepts/developer-guide.md
:white_check_mark:Succeeded
View

microsoft-edge/webview2/gettingstarted/win32.md
:white_check_mark:Succeeded
View

microsoft-edge/webview2/gettingstarted/winforms.md
:white_check_mark:Succeeded
View

microsoft-edge/webview2/gettingstarted/winui.md
:white_check_mark:Succeeded
View

microsoft-edge/webview2/gettingstarted/wpf.md
:white_check_mark:Succeeded
View

microsoft-edge/webview2/index.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Added status endpoint to receive information about the current status of an repository and makes it also possible to subscribe to changes via WebSocket.

Summary:

Makes it able to enable an endpoint (at custom location) which serves the status of the current repo with such active: true  (if the repo is checked out successfully) and hash: abc... (which contains the current git hash).
Makes it able to subscribe via WebSocket to events if this repo was updated.
Added basic JavaScript to use the websocket to reload the page fully if changes are notified by the server.

See updated README.md for more details. Hint: status_endpoint ...

@abiosoft Any updates?


Invalid tier identifier spam

I have the latest recommended version and I'm seeing this message spammed repeatedly:
[04:07:39 ERROR]: Invalid tier identifier when retrieving with name.
I've managed to get around this for now, using http://dev.bukkit.org/bukkit-plugins/pl3xconsolefilter/
I just setup the config like this (for anyone who happens to have the same issue):
filters:
ERROR:
contains:
- 'Invalid tier identifier when retrieving with name.'

Fixed.

When was this fixed?

At least yesterday when <IP_ADDRESS> was out


dispatch.h incompatible with gcc / g++ 12

$ echo "#include <dispatch/dispatch.h>" > foo.c
$ gcc foo.c
In file included from /usr/include/dispatch/dispatch.h:32,
                 from foo.c:1:
/usr/include/os/generic_unix_base.h:58:18: error: missing binary operator before token "("
   58 | #if __has_feature(assume_nonnull)
      |                  ^
/usr/include/os/generic_unix_base.h:72:18: error: missing binary operator before token "("
   72 | #if __has_feature(attribute_availability_swift)
      |                  ^
/usr/include/os/generic_unix_base.h:97:18: error: missing binary operator before token "("
   97 | #if __has_feature(objc_fixed_enum) || __has_extension(cxx_strong_enums)
      |                  ^

When Ninja is used with Cmake, it fails already on configure:
-- Check for working C compiler: /opt/local/bin/gcc-mp-12 - broken
CMake Error at /opt/local/share/cmake-3.24/Modules/CMakeTestCCompiler.cmake:69 (message):
  The C compiler

    "/opt/local/bin/gcc-mp-12"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libdispatch/libdispatch/work/build/CMakeFiles/CMakeTmp

    Run Build Command(s):ninja -f Makefile cmTC_e8fee/fast && ninja: error: Makefile:5: expected '=', got ':'
    default_target: all
                  ^ near here

Any chance to use libdispatch with gcc? __has_feature is clang specific, right?

Hopefully someone fixes this eventually. It is disappointing when a software cannot be built with the primary compiler.

@cooljeanius We will likely need this one too: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78352

Found this from working on academysoftwarefoundation/opencolorio#1973, in particular Obj-C blocks being unsupported undefines OS_ASSUME_PTR_ABI_SINGLE_BEGIN. This in turn breaks all sort of includes until reaching libdispatch.

@amyspark Re blocks: GCC upstream is aware of the issue but it is not on the top of the list: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78352

UPD. Sorry, I need more caffeine. I already posted this link above LOL
P. S. There was an old experimental GCC versions which presumably supported blocks, but it was based on 4.x branch.

UPD. Sorry, I need more caffeine. I already posted this link above LOL
P. S. There was an old experimental GCC versions which presumably supported blocks, but it was based on 4.x branch.

Yeah Apple's version of GCC 4.2 had support for blocks, and apparently Mike Stump had a patch based on that version ready to contribute back to the FSF upstream, but then the GPL v3 hit and Apple wouldn't let their employees contribute anymore, so the patch never ended up getting submitted back upstream...

@cooljeanius I do not think Apple gcc-4.2 supports blocks, at least it errs out on the code using those (maybe it has some partial support, I am not sure). I have referred to this compiler: https://code.google.com/archive/p/plblocks

@cooljeanius I do not think Apple gcc-4.2 supports blocks, at least it errs out on the code using those (maybe it has some partial support, I am not sure). I have referred to this compiler: code.google.com/archive/p/plblocks

Blocks support was introduced in Snow Leopard when Apple was still using gcc 4.2 as the system compiler; it had to have supported it for the OS to work... (unfortunately my Snow Leopard machine is dead, so I can't produce proof at the moment, but I definitely remember blocks working on it...)

10.6 has llvm-gcc and clang. (Well, we can check what it uses for ObjC.)

look at apple-oss-distributions/gcc@e19d86d; it contained some blocks-related changes

@cooljeanius It is conceivable that they ported some patches from clang before finally deciding to dump gcc, the question is whether it worked. AFAIK no, at least not properly. The fact that someone went as far as writing a separate compiler just to try supporting blocks is also suggestive: what was the need at all if a stock gcc-4.2 already supported them?

The fact that someone went as far as writing a separate compiler just to try supporting blocks is also suggestive: what was the need at all if a stock gcc-4.2 already supported them?

From the plblocks description page:

Plausible Blocks (PLBlocks) provides a drop-in runtime and toolchain for using blocks in iPhone 2.2+ and Mac OS X 10.5 applications. Both the runtime and compiler patches are direct backports from Apple's Snow Leopard source releases.

(emphasis added)
It's just a backport for Leopard from Snow Leopard; gcc-4.2 would have had to have supported them for the backport to be possible.

combined with compiler from gcc

10.6.8 has gcc 4.2 v 5646
We have a newer gcc on Tiger: https://ports.macports.org/port/apple-gcc42
Do blocks work on 10.4 and 10.5? AFAIK, no. With the same or newer Apple gcc than 10.6.8.


Complete file format support

Adds support for file format v1.
Also disables the version constraint for v2.x files. The program uses the official library to read exports. It's probably safe to assume it will support any new formats.
Closes #23.

LGTM, merging.


Refactor All The Things - part1

Alright... Time to clean up my diff backlog :)
I apologize in advance for a somewhat huge PR but things are way too interconnected here and also changes are mostly trivial. I tried to break it into 3 more or less separated commits though, so hopefully this will help to make review a bit easier. Also would like to mention that this is the first part of it and there is more to come in following PRs but I need this as a base (together with #911), so please don't put it at the end of your review queue :D
In general all of this is simply trying to:

move things out of .h (besides obvious one-liners)
clean up dependency lists a bit
simplify constructions to avoid "spaghetti code" as much as possible
name things properly - nSmth for int-s, fSmth or isSmth for bool-s etc.
follow code convention for braces and stuff (more or less)
unify log format for modules that were refactored
decouple from util.h and version.h
make some small additional fixes along the way, see below

Refactor CActiveMasternode

move strMasterNodeAddr to CActiveMasternode

Refactor InstantSend

new lock cs_instantsend to protect maps on CleanTransactionLocksList()
new DEFAULT_INSTANTSEND_DEPTH constant
rename MIN_INSTANTX_PROTO_VERSION to MIN_INSTANTSEND_PROTO_VERSION and bump it
fix a bug that caused crash sometimes(?) https://github.com/dashpay/dash/compare/v0.12.1.x...UdjinM6:refactor?expand=1#diff-3f2efe7102777a5f67b9de6bce83eae7R492 - this needs more attention (later?), probably was the result of the way CConsensusVote::GetHash() currently works i.e. it doesn't return a hash at all.

Refactor Privatesend

more functions for CDarksendBroadcastTx: constructors, signing, serialization
use insecure_rand() instead of rand() in general but GetRand() for session id
new DEFAULT_...

Note: vin part of some names was changed to txin (which is a proper name for an object of CTxIn because vin stands for vector of CTxIns) where applicable but not everywhere. That's intentional, I'll explain this in (one of?) the next part :)

utACK 9bc414c - love it :heart:
Shall we squash for merge or keep it as is?

@schinzelh nit addressed. I'm fine with either way, I separated them only to make review easier :)

Ooops, forgot to include CActiveMasternode decoupling from util.h (for strMasterNodeAddr). Now it should be fine, let's see what travis say :)

LOVE it :heart:
Much easier to read and understand now.
100% utACK

After merging #911 this needs a rebase now :)

utACK d24182c

lol, holy crap udjin :+1: I need a bit of time to review this, but I'll get to it soon :D


updated error message

Summary
Updated error message

Ticket Link #808

Hello @himanshu007-creator,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.
Per the Mattermost Contribution Guide, we need to add you to the list of approved contributors for the Mattermost project.
Please help complete the Mattermost contribution license agreement?
Once you have signed the CLA, please comment with /check-cla and confirm that the CLA check is green.
This is a standard procedure for many open source projects.
Please let us know if you have any questions.
We are very happy to have you join our growing community! If you're not yet a member, please consider joining our Contributors community channel to meet other contributors and discuss new opportunities with the core team.

/check-cla

Codecov Report

Merging #809 (6802cff) into master (f9b5a21) will decrease coverage by 0.03%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master     #809      +/-   ##
==========================================
- Coverage   34.97%   34.93%   -0.04%
==========================================
  Files          52       52
  Lines        5945     5945
==========================================
- Hits         2079     2077       -2
- Misses       3657     3659       +2
  Partials      209      209

Impacted Files
Coverage Δ

server/plugin.go
16.38% <0.00%> (ø)

server/subscribe.go
67.10% <0.00%> (-0.38%)
:arrow_down:

Continue to review full report at Codecov.

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

LGTM, thanks @himanshu007-creator! :tada:


Adds pin to the wr_freq_res function in the header file

This adds the missing pin parameter in the wr_freq_res function in the pwmWrite.h file.
With this change, I could upload to an esp32 using the esp arduino 3.0 platform.

Can confirm this change is required to compile with esp32s3 and Arduino framework core >= 3.0. Still researching why pin is required if channel is specified.


Offline mode historical data not found

Describe the bug
When running ETHena on offline mode, historical.go cannot find data.xlsx. 2 things here: 1) the data.xlsx is not included in the GitHub repository (what should the data columns look like?). 2) historical.go has a hardcoded data.xlsx to one of your directories (see screenshot - we might want to make this use relative paths instead?)
To Reproduce
Steps to reproduce the behavior:

Git clone this repository onto a clean directory
Install necessary dependancies and run GUI.py
Select "offline" mode
See error "panic: OpenFile: open C:\Users\Shivam Patel\GolandProjects\Trading_Hackathon\src\go\backtestingUtils\data.xlsx: no such file or directory"

Expected behavior
The offline mode should work like the Live mode, showing trades and prices, etc.
Screenshots

Desktop (please complete the following information):

OS: MacOS Mojave

Hi Frank Looi, thank you for bring this error to our attention. The offline/ back-testing functionality of this bot was mainly only for our team to back-test different strategies for live production. That being said I have just pushed a patch update to fix this file path error, please let me know if there are any further errors.
Solution
If you want to fix this on your local machine rather than cloning the repository again then these are the step I took to fix the problem.
Within the src/go/backtestingUtils in historical.go line 22 in the function parseXlsx you can change the path of the file from data.xlsx to ../../ticker/data/16to17-July.xlxs . This will parse a historical data file within the mentioned directory.
Further Comments
If you want to extend this, there are several other historical data files within src/go/ticker/data.  You may want to use your own historical data file: simply add the relative path to that file within the FileToSlice function body on line 22. But ensure the bid and ask price of the currency is on the 3rd and 4th column of the xlsx file, otherwise the parser will parse the data incorrectly.
Please let me know if there are any further questions or errors, thanks.

encountering this error as well
Date | 16 Mar 21
Time | 03:28:55 WAT
Pair | ETHBTC                     Status:
User | FOOL               UPDATE EMAIL SENT
Bid  | 0
Ask  | 0panic: OpenFile: open ../../ticker/data/16to17-July.xlsx: no such file or directory

goroutine 1 [running]:
_/home/keno/ETHena/src/go/backtestingUtils.parseXlsx()
        /home/keno/ETHena/src/go/backtestingUtils/historical.go:25 +0xb6
_/home/keno/ETHena/src/go/backtestingUtils.InitialiseFunds(0xc0004803e0, 0x8, 0xc000480400, 0x0)
        /home/keno/ETHena/src/go/backtestingUtils/offline.go:18 +0x26
main.startBot(0xa37284, 0x6)
        /home/keno/ETHena/src/go/main/main.go:151 +0x14ba
main.main()
        /home/keno/ETHena/src/go/main/main.go:60 +0x36
exit status 2

In historical.go I have the following path set
func parseXlsx() {
	pathToHistoricalData := "../../ticker/data/16to17-July.xlsx"
	fileSlice, err := xlsx.FileToSlice(pathToHistoricalData)
	if err != nil {
		panic(err)
	}
	HistoricalData = fileSlice
}


Edit Profile Page

Description
Hi, I would like to work on Edit Profile Screen. I will be making new screen over smart-home-app/lib/src/screens/ directory.
Please assign me this task.
Below is the screen on which I want to work.

Domain
UI/UX
Type of Contribution
Addition
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of Smart Home App.

Please consider me next in the queue if the issue is not resolved. I'm a GSSOC22 participant

I would recommend the contributor of this issue to fetch upstream and resolve conflicts before creating a new Pull Request.


create type is not right after configure table relations

I have a transaction table:
export class TableTransaction extends BaseTable {
  readonly table = 'transaction';

  columns = this.setColumns((t) => ({
    ...t.baseColumns(),

    userId: t.varchar(),
    walletId: t.varchar(),
  }));

  relations = {
    user: this.belongsTo(() => TableUser, {
      required: true,
      references: ['id'],
      columns: ['userId'],
    }),

    wallet: this.belongsTo(() => TableWallet, {
      required: true,
      references: ['id'],
      columns: ['walletId'],
    }),
  };
}

The code below do not emit typescript errors which should be.
await db.transaction.create({
  userId: 'userId',
  // walletId: '',
});

If I comment out one of any relations, type check returns.

This is caused by CreateRelationsData<T extends Query> generic defined incorrectly:
https://github.com/romeerez/orchid-orm/blob/577903ee8fba02d58b1da8fbe0d7fcc3faec819e/packages/qb/pqb/src/queryMethods/create.ts#L63-L69
For the query above, it returns { userId: ... } | { user: ... } | { walletId: ... } | { wallet: ... }.
Instead, it should be returning ({ userId: ... } | { user: ... }) & ({ walletId: ... } | { wallet: ... }).

Thanks @bingtsingw for finding it and @IlyaSemenov for digging into it. That's right it's about union/intersections.
After many hours of despairing attempts to fix it, now it should be alright!
https://github.com/romeerez/orchid-orm/blob/e19a5e3d4e131606a43e101633f112ed0d1ff05b/packages/qb/pqb/src/queryMethods/create.ts#L85-L91
By using such hacks it will now be checking types as expected in ({ userId: ... } | { user: ... }) & ({ walletId: ... } | { wallet: ... }).


Fix bug about not saving failed visited status

The bug is caused by dateslot constructor, when it is called, it will checkDateTime and it will convert it into successVisit if date passed.
Fix: will checkDateTime only if hasVisited is false.

Codecov Report

Merging #225 (865e7d3) into master (cbd3308) will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master     #225      +/-   ##
============================================
+ Coverage     53.21%   53.22%   +0.01%
- Complexity      629      630       +1
============================================
  Files           102      102
  Lines          2896     2897       +1
  Branches        377      378       +1
============================================
+ Hits           1541     1542       +1
  Misses         1219     1219
  Partials        136      136

Impacted Files
Coverage Δ

...main/java/seedu/address/model/person/DateSlot.java
72.61% <100.00%> (+0.32%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


FreeBSD - unifiedbeat v2 - Registrar file not updated

Dear cleesmith,
First thank you for your amazing work on this dedicated beat.
I have successfully built it on FreeBSD and it works like a charm except for one thing: the registrar file (.unifiedbeat) is almost never updated and sometimes even overwritten with default value '{}' when exiting.
When I analyze the logs produced by unifiedbeat I do not see the "Stop: updated registry file.", nor do I see a "Stop: failed to update registry file" entry.
But I do see the "Stop: waiting for spooling and publishing to shutdown." message followed by the "U2SpoolAndPublish: told to quit; graceful return." entry.
Any idea why this is happening ?

No idea, as I can not reproduce this.
How are you terminating it?  Kill -9 pid?  Does it actually terminate?
It depends on libbeat calling the Stop func and go-unified2 updating the filename/offset.
The only time I've seen a empty .unifiedbeat file is when I deleted the unified2 file being tailed,
which isn't a normal thing to do. The intended usage was that this executes in lock-step with
snort/suricata ... assuming you want near real-time alerts.
The final logged lines should be:
2016-02-18T08:35:03-05:00 INFO Stop: waiting for spooling and publishing to shutdown.
2016-02-18T08:35:03-05:00 INFO U2SpoolAndPublish: told to quit; graceful return.
2016-02-18T08:35:03-05:00 INFO Stop: updated registry file.
2016-02-18T08:35:03-05:00 INFO Cleaning up Unifiedbeat before shutting down.
2016-02-18T08:35:03-05:00 INFO Cleanup: is spooling and publishing running? 'false'
2016-02-18T08:35:03-05:00 INFO Cleanup: closed GeoIp2Reader.
2016-02-18T08:35:03-05:00 INFO Exit beat completed

The last version of Go in the FreeBSD 10.2 packages is the 1.5.1 version.
For my tests I only have one snort file and it is a valid unified2 file.
I tried to terminate the process with CTRL+C and multiple signals (HUP, INT, QUIT, ABRT, TERM) all with the same results accept for a few random cases where the .unifiedbeat file is properly updated. After these tests I only killed it using "kill pid" or ctrl+c.
I do not touch the monitored unified file so it can not be the issue.
I agree with the intended usage, but if I restart the snort host I do not want to have duplicate alerts as it will reprocess the whole log file.
You can find attached the log file for the last execution:
unifiedbeat.txt
Currently I only generate few snort event and I configured unifiedbeat to output them on the console for test purposes only.
Thanks for your answer and your time.

While I still can not reproduce your issue, I did change the code to not rely on a channel to write the registry file.  You may want to try the latest changes, and let me know if that works.  I don't think compiling with Go 1.5.1 would be an issue, but I'm not sure.

I just compiled unifiedbeat based on your latest changes and it solved the issue.
The .unifiedbeat file is properly updated even when I start unifiedbeat as a service.
As a result, the process does not exit as fast as before but the modifications are done as expected.
Thank you for your time and for this project.

Yes, without using a quit channel it has to set a boolean then it waits 5 seconds to be sure.
The channel technique is preferred, but if it doesn't work then this will have to do.
Thanks for the feedback and testing.  I hope it is useful for you.


Accounts example doesn't typecheck

pact> (typecheck "accounts")
"Typecheck accounts: Unable to resolve all types"
accounts.pact:117:33:Warning: Unable to resolve type
accounts.pact:134:33:Warning: Unable to resolve type
accounts.pact:75:24:Warning: Unable to resolve type [integer,decimal,string,time]
accounts.pact:75:32:Warning: Unable to resolve type [integer,decimal,string,time]

This is intentional, the idea is to show "you don't have to typecheck": the data argument is left untyped in the schema, and the check-balances function doesn't typecheck on it's own (but successfully typechecks at usage site).
I'm comfortable making untyped schemas a typecheck error, but in the case of check balances, aren't we going to have the prover generate proofs for all supported types? Which would mean that a typecheck result with a constraint is no longer a warning. I think we need to create an issue for that ...

This is long fixed and covered in accounts.repl, for FV as well.


new /permissionsGroups features

Hey folks. I'm not sure how long it's gonna take for the new permissions stuff to get released .. but it was enabled on our account today and I'm hoping I'll be able to make time this week to play around with it.
Before I go pushing stuff to github, have you already started adding the new user acl stuff in a local branch somewhere? I'll happily let you do all the coding, assuming one of you is already on it (or planning to be on it soon).

This is might be a problem with the API .. or it could be a problem with the code I wrote (based on the beta docs I have), but I can't get del_users_from_permgroup() to work.
>>> a(r.get_users_in_permgroup(1675132)[-1])
{
    "activateTime": "1424204640970",
    "surname": "User",
    "name": "PermissionsTest",
    "roles": [
        "USER"
    ],
    "activated": true,
    "enabled": true,
    "id": 54951950,
    "_href": "/permissionsGroups/1675132/users/54951950",
    "invitationTime": "1424203793488",
    "organization": 49381386,
    "email"<EMAIL_ADDRESS>
    "uuid": "02c96481-55af-4d55-b9dc-d41b3e766a69"
}

>>> r.get_users_in_permgroup(1675132)[-1]['id']
54951950

>>> r.del_user_from_permgroup(1675132, r.get_users_in_permgroup(1675132)[-1]['id'])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "ravello_sdk.py", line 991, in del_user_from_permgroup
    return self.request('DELETE', '/permissionsGroups/{0}/users'.format(pg), req)
  File "ravello_sdk.py", line 333, in request
    response = self._request(method, path, body, headers)
  File "ravello_sdk.py", line 401, in _request
    raise RavelloError('got status {0} ({1}/{2})' .format(status, code, msg))
ravello_sdk.RavelloError: got status 405 (unknown/unknown)
>>>

I wonder if this is an API thing ... does every user HAVE to be in a permission group? (I guess I'll keep testing.)

NEVERMIND. My bad. Fixed.


[8.x] Fix multiple dots for digits_between rule

This makes the digits_between rule a bit more strict by validating for multiple dots in a number (2.2.3, 2..3, ...).
Fixes https://github.com/laravel/framework/issues/42326

Possibilities to consider (for example, digits_between:1,10):

single dot
dot at the end (some may argue that it is valid, not me)
dot at the beginning (some may argue that it is valid, not me)

I suggest using substr_count($value, '.') to count the dots
Why to convert/cast the value to string so many times?
What if the value is not a string and is not a number, but is an array?
I suggest doing simple, lightweight stuff (comparison operations) before doing hard stuff (like regex)
I suggest using ctype_digit() which is significantly faster than regex

:warning: N.B. Should also allow dots in validation rule digits – for consistency...
My solution:
public function validateDigitsBetween($attribute, $value, $parameters)
{
    $this->requireParameterCount(2, $parameters, 'digits_between');

    // make sure that the value is a number or a numeric string
    if (!is_numeric($value)) {
        return false;
    }

    if (is_string($value)) {
        // make sure that the value is not a dot and does not contain more than single dot
        if ($value === '.' || substr_count($value, '.') > 1) {
            return false;
        }
    } else {
        $value = strval($value);
    }

    $length = strlen($value);

    return $length >= $parameters[0] && $length <= $parameters[1]
        && ctype_digit(str_replace('.', '', $value));
}

public function validateDigits($attribute, $value, $parameters)
{
    $this->requireParameterCount(1, $parameters, 'digits');

    // make sure that the value is a number or a numeric string
    if (!is_numeric($value)) {
        return false;
    }

    if (is_string($value)) {
        // make sure that the value is not a dot and does not contain more than single dot
        if ($value === '.' || substr_count($value, '.') > 1) {
            return false;
        }
    } else {
        $value = strval($value);
    }

    return strlen($value) == $parameters[0]
        && ctype_digit(str_replace('.', '', $value));
}


Read Frame level input data error

Hi,
I try to use new WOD Apache Parquet format and example code
#@title Sensor data with both lidar and camera boxes

# Lazily read DataFrames for all components.
association_df = read('camera_to_lidar_box_association')
cam_box_df = read('camera_box')
cam_img_df = read('camera_image')
lidar_box_df = read('lidar_box')
lidar_df = read('lidar')

# Join all DataFrames using matching columns
cam_image_w_box_df = v2.merge(cam_box_df, cam_img_df)
cam_obj_df = v2.merge(association_df, cam_image_w_box_df)
obj_df = v2.merge(cam_obj_df, lidar_box_df)
# Group lidar sensors (left), group labels and camera images (right) and join.
df = v2.merge(lidar_df, obj_df, left_group=True, right_group=True)

# Read a single row, which contain data for all data for a single frame.
_, row = next(iter(df.iterrows()))
# Create all component objects
camera_image = v2.CameraImageComponent.from_dict(row)
lidar = v2.LiDARComponent.from_dict(row)
camera_box = v2.CameraBoxComponent.from_dict(row)
lidar_box = v2.LiDARBoxComponent.from_dict(row)

print(
    f'Found {len(lidar_box.key.laser_object_id)} objects on'
    f' {lidar.key.segment_context_name=} {lidar.key.frame_timestamp_micros=}'
)
for laser_object_id, camera_object_id, camera_name in zip(
    lidar_box.key.laser_object_id,
    camera_box.key.camera_object_id,
    camera_image.key.camera_name,
):
  print(f'\t{laser_object_id=} {camera_object_id=} {camera_name=}')

but I have error on line
_, row = next(iter(df.iterrows()))

~/dask/dataframe/groupby.py:1127: FutureWarning: Not prepending group keys to the result index of transform-like apply. In the future, the group keys will be included in the index, regardless of whether the applied function returns a like-indexed object.
To preserve the previous behavior, use

	>>> .groupby(..., group_keys=False)

To adopt the future behavior and silence this warning, use

	>>> .groupby(..., group_keys=True)
  func=lambda s0: s0.apply(

dask                         2023.3.1
waymo-open-dataset-tf-2.11.0 1.5.0

waymo-open-dataset-tf is local build
Since I'm not so used to the new format any advice how to resolve this?

Hi,
thanks for reporting this issue. I will update the v2.merge function to specify the group_keys=False to remove the warning in the coming v1.5.1 update.
It is just a future warning right? Did you get a valid row instance in the output?

Hi @alexgorban,
In my case execution was terminated with error
  File "~/lidar-sensor/main.py", line 141, in read_lidar
    _, row = next(iter(df.iterrows()))
StopIteration
python-BaseException

Process finished with exit code 1

Hi @alexgorban,
When is update v1.5.1  planned for? Any advice how to temporary resolve this problem?
Thanks in advance!

Hi @atanasko, the v1.5.1 just released,  but unfortunately a fix for this warning didn't landed it the release.
The StopIteration likely means that dask was not able to find the dataset. The first cell in the tutorial assumes that a user specifies a valid path for the dataset (e.g. sets dataset_dir variable). You can debug this by printing value of the paths in the read function.
Here is an example how to modify the tutorial_v2 to access data directly from GCP in a colab (NOTE: it will be slower compared to the local access if you download the dataset and run the tutorial in a local Jupyter notebook):

Add and run a new cell to install dependencies

!pip install gcsfs waymo-open-dataset-tf-2-11-0==1.5.1
!pip install pyarrow==10.0.0

Add and run a new cell to configure GCP access:

from google.colab import auth
import gcsfs
import google.auth
auth.authenticate_user()

credentials, project_id = google.auth.default()
fs = gcsfs.GCSFileSystem(project=project_id, token=credentials)

Modify and run Initial setup cell:

from typing import Optional
import warnings
# Disable annoying warnings from PyArrow using under the hood.
warnings.simplefilter(action='ignore', category=FutureWarning)

import tensorflow as tf
import dask.dataframe as dd
from waymo_open_dataset import v2

# Google Cloud Storage Bucket
dataset_root = 'waymo_open_dataset_v_2_0_0'

context_name = '10023947602400723454_1120_000_1140_000'

def read(tag: str) -> dd.DataFrame:
  """Creates a Dask DataFrame for the component specified by its tag."""
  paths = sorted(fs.glob(f'{dataset_root}/training/{tag}/{context_name}.parquet'))
  return dd.read_parquet(paths, filesystem=fs)

Please let me know if local access in a Jupyter notebook or using data from GCP directly via the colab doesn't work.

Hi @alexgorban,
Thanks again for your time!
I compile WOD 1.5.1 using Python 3.10 on my local machine and try again. Again my test fail :-(, but what I notice is the following.
I do not think that the problem is in the path, because my example with images only work fine, and also the following example retrieve the row:
 # @title Sensor data with both lidar and camera boxes

    # Lazily read DataFrames for all components.
    lidar_box_df = read('lidar_box')
    lidar_df = read('lidar')
    df = v2.merge(lidar_df, lidar_box_df, left_group=True, right_group=True)

    _, row = next(iter(df.iterrows()))

but this one:
  # Join all DataFrames using matching columns
    cam_image_w_box_df = v2.merge(cam_box_df, cam_img_df)
    cam_obj_df = v2.merge(association_df, cam_image_w_box_df)
    obj_df = v2.merge(cam_obj_df, lidar_box_df)
    # Group lidar sensors (left), group labels and camera images (right) and join.
    df = v2.merge(lidar_df, obj_df, left_group=True, right_group=True)

    # Read a single row, which contain data for all data for a single frame.
    _, row = next(iter(df.iterrows()))

have a problem and I still can not figure out what the problem is because I do not understand in deep the merge process, maybe you would have an idea what the problem with this example merge can be. I'm testing with the
context_name = '10017090168044687777_6380_000_6400_000'

Thanks in advance!

Hi @alexgorban,
I just notice that the following code return the row
   association_df = read('camera_to_lidar_box_association')
    _, row = next(iter(association_df.iterrows()))
    print("stop")

when I use
context_name = '10023947602400723454_1120_000_1140_000'

but it fail when I use
context_name = '10017090168044687777_6380_000_6400_000'

I'll try to analyze this

@alexgorban my original code also works with
context_name = '10023947602400723454_1120_000_1140_000'

@alexgorban my original code also works with
context_name = '10023947602400723454_1120_000_1140_000'

Could you tell me how to install waymo-open-dataset-tf-2-11-0==1.5.1?
I ran the 'pip install waymo-open-dataset-tf-2-11-0==1.5.1' command, but it did not find this version：
ERROR: Could not find a version that satisfies the requirement waymo-open-dataset-tf-2-11-0==1.5.1 (from versions: none)
ERROR: No matching distribution found for waymo-open-dataset-tf-2-11-0==1.5.1
Could you give me some tips？

Hi @MingRuiye,
What is your Python version? I see that Waymo team already build a wheel for python 3.10. When I install it there was only version for python 3.9, so I build it from source.

waymo-open-dataset-tf-2-11-0==1.5.1

Hi, atanasko.
Thank you for your prompt reply. My Python version is 3.8. I have tried to download the packages to install , it's shown "ERROR: waymo_open_dataset_tf_2_11_0-1.5.1-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl is not a supported wheel on this platform."
My environment is
ubuntu16.04
python3.8
pip23.1.2
But I have tried python 3.10 after getting your reply. It still doesn't work.

Hi @MingRuiye,
What is your Python version? I see that Waymo team already build a wheel for python 3.10. When I install it there was only version for python 3.9, so I build it from source.

I have solved it. Thank you!

Hi @MingRuiye,
I create new Python project and there was problem (in my case) with OpenEXR package (ldconfig wass not find). I execute
# export PATH=$PATH:/usr/sbin
# pip install OpenEXR
# pip install waymo-open-dataset-tf-2-11-0==1.5.1

and all installed correctly

Could you tell me about the environment you use? Thank you very much！

hi @MingRuiye,
Debian GNU/Linux bookworm (from testing repository)
Python 3.10.11
WOD local wheel build from source

As I previously mention I have just install waymo-open-dataset-tf-2-11-0==1.5.1 in other test project without problem

I know, thank you!


[storage] cookieStorage's maxAge option doesn't work

Describe the bug
Create a persisted signal using cookieStorage and passing the maxAge option, but the created cookie is a session cookie.
In the linked StackBlitz project, click "Open in New Tab" button at top-right corner. Looks like it can't set cookies from an iframe.
  const [maxAge, setMaxAge] = makePersisted(createSignal('initial'), {
    name: 'maxAge',
    storage: cookieStorage,
    storageOptions: { path: '/', maxAge: 60 * 60 * 24 * 7 },
  });
  const [expires, setExpires] = makePersisted(createSignal('initial'), {
    name: 'expires',
    storage: cookieStorage,
    storageOptions: {
      path: '/',
      expires: new Date(Date.now() + 60 * 60 * 24 * 7 * 1000),
    },
  });

  createEffect(() => {
    setMaxAge('hello');
    setExpires('hello');
  });

Minimal Reproduction Link
https://stackblitz.com/edit/github-n4ho5j-nffe5j?file=src%2Froutes%2Findex.tsx

I confirm this error

The problem is serializeCookieOptions doesn't convert maxAge to max-age and other similarly named object properties that do not match the name of the attribute expected by the browser.


Deploy 084 - WOETH on Arbitrum One

Deployed contracts

Contract name
Address

BridgedWOETH (new)
0xe9024A7cB3ABB38D514b6Da8Fa34e71AA03Ebf1f

BridgedWOETHProxy (new)
0xd8724322f44e5c58d7a815f542036fb17dbbf839

Addresses

Contract name
Address

Deployer
0x58890a9cb27586e83cb51d2d26bbe18a1a647245

Note: As of now, Deployer is configure as the Governor, will change it once L2 Governor is done and deployed. Also, had some issues with Arbitrum's estimate gas (it only works if gas limit is set really high). I had to run/submit at least one tx manually due to that
TODO:

Add unit and fork tests and configure CI to run tests for Arbitrum separately
Document things

If you made a contract change, make sure to complete the checklist below before merging it in master.
Refer to our documentation for more details about contract security best practices.
Contract change checklist:

[ ] Code reviewed by 2 reviewers.
[ ] Copy & paste code review security checklist below this checklist.
[ ] Unit tests pass
[ ] Slither tests pass with no warning
[ ] Echidna tests pass if PR includes changes to OUSD contract (not automated, run manually on local)

Note that the live code does not have the non-reentrant modifiers on the mint and burn (unlike the code checked into GitHub). However this is okay since in the current state of the contract these modifiers are not required. We can leave this on the current deploy.


Don't use s3 bucket_head to check for bucket existence

This PR fixes #314 .
This code caused problems when you have write permission to an s3
bucket path but not read permission to the bucket root.
This code was added to prevent implicit bucket creation (to fix issue
#154) but it appears that it is no longer needed.

test_buffered_writer_wrapper_works in test_s3.py tests the happy path.  test_nonexisting_bucket in test_s3.py tests that the proper exception (ValueError) is thrown when the bucket doesn't exist.  Props for great test coverage!

OK, thank you, and congrats on your first contribution to smart_open! :1st_place_medal:


Setup a Community Meeting Invite for BPFD

Setup a public community meeting for bpfd to foster new innovation and community growth.

Done within https://github.com/kubernetes/community/pull/7172 We now have weekly meetings on Thursdays see the slack channel for more information


How big is the data after downloading/unpacking

(It would be nice if this was in your README)

Hi Ross!
Sorry about that. It is about 15G (this is for the Recommended Steps).

Thanks, I will try to download everything now

I'm about to put a piazza announcement out about project build issues. You guys are a special case because I didn't attempt to run everything until I got confirmation on the data size an hour ago.
I was able to download and validate the data successfully, and am running the analysis now (successfully so far, it's on the network_analysis.py at the moment). I just wanted to let you guys know that so far you are in the same category as beta and theta: the build instructions have worked up to the analysis point. I will follow up with you guys when the analysis complets.

Thank you for the notice!

Just wanted to let you know that your analysis finished successfully with no errors :+1:
I haven't built the report yet, but I was very pleased that this worked - clearly your testing on another machine was a great idea!

Thank you!
Now I can step into finals with a relief :D

It is most likely an overkill but for future semesters, giving everyone a preconfigured vm image (e.g. Vagrant) might help to standardize testing :D

Even VM's aren't bulletproof, especially for cases where hardware is involved (although this doesn't really apply to any of your projects). Our plan was to have groups pair off with each other and have everyone in one group try to build and run the other group's project and vice-versa. Unfortunately, we got so busy that this just slipped through the cracks. Thanks for the suggestions though :+1:


Add images of native components

It would be nice to have a screenshot of what each component looks like when it's rendered. I'm new to native app development, so when I'm skimming the docs and come across a component like StatusBarIOS I'm not 100% what it is without an image.

+1

Have you seen the UIExplorer? It is a better version of what you are looking for since you can use the components and understand their behavior too.

UIExplorer is great but can be broken on master. I couldn't get it to work on android the other day. I just wanted to see what ProgressBarAndroid was. I did figure out after some googling but experience could have been much better with just a screenshot tho.

The important thing is the cost of maintenance. If someone can commit the time to keep the images up-to-date then I will stamp the PR.

Agreed. Cost of maintenance would be crazy. Only if we could figure out an automated way of doing it.
Every component/module corresponds to an UIExplorer demo and the screenshot automatically while building the docs.

I had not seen UIExplorer. This is pretty awesome, it's UIExplorer runnable in your browser. Not sure about your thoughts on whether it's OK to link to this third party site, but that could be helpful. Or even just being more explicit about UIExplorer example in the React Native docs.

Yeah, I think the UIExplorer should be made a lot more prominent. We deleted the Sample App and tell people to run the UIExplorer instead, but it's hard to get set up on Android. It's the best app to start with, though, because you can browse through it for components you want and then read the source code to learn how to use them. Myself and a couple other people started off that way and found more success than reading docs, I recommend it.

:+1: thanks


kstars: 3.7.0 -> 3.7.2

Updated URL with new format
Release Notes for 3.7.2:
https://knro.blogspot.com/2024/08/kstars-372-released.html
Description of changes

Release notes for 3.7.2: https://knro.blogspot.com/2024/08/kstars-372-released.html
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/4563


use proxy

hello, how do I use proxy for it

I haven't had to try this scenario but I can find several articles about setting it with the vanilla twitter4j: https://stackoverflow.com/questions/8476290/proxy-configuration-in-twitter4j
Can you please comment here if you can or cannot figure out how to do it based on this? Thanks!!


Add ModelMetadata endpoint support

Users may want to find the input tensor name and/or shape of a particular model. The v2 predict protocol outlines a ModelMetadata API. We should have ModelMesh support this as I believe Triton and MLServer already expose this endpoint.
Related issue and discussion: https://github.com/kserve/modelmesh-serving/issues/104

I think all that should be needed is the addition of that rpc to those advertised by the adapter logic for Triton and MLServer here and here, as well as to the id extraction config set by the controller here. And test coverage of course.


Implement basic grid_explorer client

Async client for the current grid explorers

configurable url
Proper types (at least farm, node)
Reservation types
Ability to query nodes for a given farm
Filter nodes based on being online or not
Filter nodes based on capacity remaining
Must be able to submit a reservation, and verify when it has been deployed

For now, using the reqwest library seems like the best way forward

Added node filtering and workload decommissioning (for zdbs only) methods to the client. Also there's a method to get the workload state (pending, ok, error) and poll it with given timeout.

Closed in #45


Add missing ar translations

[ ] Changes have been thoroughly tested to not break existing functionality.
[ ] New functionality has been documented or existing documentation has been updated to reflect changes.
[ ] Visual changes are explained in the PR description using a screenshot/recording of before and after.

Sorry, my bad

Thanks

My pleasure


[PR]: Be compatible with Blue Topaz theme

My trouble
As you know that Blue Topaz theme could set various types of colorful tag like the picture below. It's not what I want and I can't remove it.

My wish
The theme is not compatible with colorful tag plugin which annoys me. I'm not familiar with CSS and I wish you can help. Thanks a lot. :smile:

The theme I use is also Blue Topaz . My labeling options are Obsidian by default, which gives me a weird effect. It seems that some tags are valid and some are not. I don't understand the reason, and I can't find the law.

Thanks for your reply.
Maybe the answer lies in theme CSS. However I'm not familiar with that. Maybe I should ask theme author for help. Thanks anyway. ❤


Add tests for regular expression

Type of changes

[x] Bug fix
[ ] New feature
[ ] Documentation / docstrings
[x] Tests
[ ] Other

Checklist

[x] I've run the latest black with default args on new code.
[ ] I've updated CHANGELOG.md and CONTRIBUTORS.md where appropriate.
[x] I've added tests for new code.
[x] I accept that @willmcgugan may be pedantic in the code review.

Description
I added tests for the regular expressions in the ReprHighlighter class, as discussed here: #364
Also, I made a slight change to the attribute regex to also allow values surrounded by single quotes, since I thought that might be desired behavior.

This is solved in Master. I made some improvements to the highlighter system. Thanks @deppiedave64 for prompting me to look at this.


to use OpenGL3 with X11

when I test the CausalWorld/tutorials/requesting_task/tutorial_one.py ,I met the issue like this:
pybullet build time: May 20 2022 19:43:01
startThreads creating 1 threads.
starting thread 0
started thread 0
argc=2
argv[0] = --unused
argv[1] = --start_demo_name=Physics Server
ExampleBrowserThreadFunc started
X11 functions dynamically loaded using dlopen/dlsym OK!
X11 functions dynamically loaded using dlopen/dlsym OK!
Creating context
Failed to create GL 3.3 context ... using old-style GLX context
Failed to create an OpenGL context
And I failed to solve it,it seems like X11 cannot match with opengl3,can you help me.

I was not able to reproduce this issue locally. It seems to be related to an open issue with the Bullet Physics SDK as discussed here: https://github.com/bulletphysics/bullet3/issues/1681
Have you had a chance to try any of the discussed workarounds in this thread?


chore: update to v4.0.0-rc3

Apologies, another bump to a release candidate. Finding these problems is definitely motivating me to improve our testing and release process. :-)

Ugh. This breaks Mathlib. I will try again soon.


Trigger on tags pushed

Summary by CodeRabbit

New Features

Enhanced workflow configuration to trigger on specific tag patterns, improving versioning and deployment flexibility.

obsolete


[HEALTHVIC-1186] - added footer main menu

Motivation and Context

JIRA issue: https://salsadigital.atlassian.net/browse/HEALTHVIC-1192
Changed

new field to configure footer menu is available in tide
FE will use this field, and fallback to main menu as per current implementation to support legacy sites.

Screenshots

How Has This Been Tested?

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Improvement/refactoring (non-breaking change that doesn't add any features but makes things better)

Checklist

[ ] I've added relevant changes to the documentation.
[ ] I have added tests to cover my changes (if not applicable, please state why)
[ ] My change requires a template update for create-ripple-app.
[ ] I have added template update script for next release.

This is currently in the backlog. So closing this PR until the story comes into the sprint.
The ticket that asked to close this

https://digital-engagement.atlassian.net/browse/SDPA-6121

Some UX research will be undertake as part of ticket and is currently in the backlog -
https://digital-engagement.atlassian.net/browse/SDPA-6119
https://digital-engagement.atlassian.net/browse/SDPA-6109

@MdNadimHossain or @dylankelly Can we get an update on this one? Thanks.


Keep JS implementation in sync with Ruby

What would be a good way to keep the two implementations in sync?
One way would be to use opal, and have it compile the Ruby version to JS.
What are other good ways?
Keep in mind that the current JS and Ruby implementations for UuidPacker do have some descrepancies. #14

cc: @skalee

Yes, Opal is an option. Though I don't know how heavyweight it is.
Other ideas that come to my mind are:

Keep implementations separate, just rework the test suite so that all examples are run against both implementations, especially edge case tests.
Use Ruby2JS. I have no experience with this tool, never seen it before, I've just found it in the Internet. But it exists for several years, looks quite mature, and is maintained. I believe it may be a more lightweight solution than running whole Ruby VM in a browser.
Rewrite that packer to JavaScript and run from Ruby with some ExecJS, Ruby Racer, etc.
Rewrite that packer in a language which can be used with or translated to both JS and Ruby. For instance, C code can be compiled to JavaScript with Enscripten, and used in Ruby as C extension; Java can be compiled to JavaScript with JSweet, and used in JRuby.

Opal does have its disadvantages.  I've had a little go on it, but it failed to run the translated version of Array#pack as it's not yet implemented.

Keeping implementations separate could work, and allows for language-specific deviations, but it means giving up DRYness for such flexibility.  This is the current state.

Haven't tried Ruby2JS, yet.  It also has a list of unimplemented things, but may not matter much in our case.

We already have JS versions of both IdPacker and UuidPacker, so JS -> Ruby is definitely an option.

Interesting idea!


Fix links in menu bars and rely on local images

Can I get a review on this, please - the menu is currently broken...

thanks @gonuke !


Add .gitconfig tweak to instructions steering users around go get failure

[url<EMAIL_ADDRESS>  insteadOf = https://github.com/

Fixed by going public.


nixos/awstats: drop module

Motivation for this change
The awstats module has never been maintained after initially added to nixpkgs and should be removed, or have someone take ownership of it.
ping @vcunat @griff
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

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

Notify maintainers
cc @

I looked into setting up AWstats a few weeks ago, but after 5 minutes couldn't work out how to use this module. For example, there is no option to specify log locations - I seems like this module assumes you're only serving one website, and that website is using apache.
I was planning to roll my own solution - and have been umming and ahing about pushing it upstream. My main concern was breaking backwards compatibility - but if the alternative is removal then that probably isn't a problem.
So I'd be happy to take ownership of this and do some refactoring to make it more flexible.

IIRC awstats started as a prototype written for @tohl, but I suspect it's never made it to practical usage.  (And I won't be maintaining it.)

@aristaeus yeah the module isn't complete, makes far too many assumptions, and only works use under fairly limited scope.
I'd love to coordinate with you if you're rewriting this, as my motivation for this PR is changes I'm making to the httpd module. I'll ping you in my upcoming httpd PR.
Thank you!

prototype written for @tohl, but I suspect it's never made it to

yes, awstats can be removed

I also never used this module since I was only interested in the mail stats functionality of awstats which this module didn't support and so I have my own local module just for that. So I would be fine with the module being removed.

@aristaeus If you plan on also supporting mail stats or would be open to getting support for that into your new module I would love to help out with code and comments from my own hacked together module if it means I no longer have to maintain my own module.

@griff sounds good. Is your config online somewhere?

@aristaeus it is now mail-awstats.nix.
Please note that it is very hacky and only works for postfix and though there are options for multiple domains it only collects statistics for all the configured postfix domains combined. And if the journald log is very large the first time the hourly service is run it will be very slow because it reads the log twice.

@griff thanks for providing that! @aristaeus any updates on your progress?

@aanderse Sorry, I've had a busy couple of weeks. My branch is now looking pretty respectable so I'll submit a PR now.

Great, thanks!


Base tile layers fetched when invisible

Is there a way to not fetch tiles for tile layers that aren't visible?
Desired behaviour:

Documented means to have Leaflet download tiles for only the selected base layer according to L.control.layers

Current behaviour (0.7.7):

Leaflet downloads tiles for all layers, whether visible according to L.control.layers or not
Tiles for the "invisible" layer can appear before the visible tiles if they load first, irritating the users
The documentation does not mention any way to change this
I can't find any undocumented means in the code, either

To reproduce:

L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token={accessToken}', options).addTo(map) with your accessToken once each for id: 'mapbox.satellite' and id: 'mapbox.outdoors' to produce satelliteTileLayer and outdoorsTileLayer
L.control.layers({ sat: satelliteTileLayer, map: outdoorsTileLayer })
Scroll around at zoom 14
Observe satellite tiles visibly loading before outdoors tiles load

The answer is probably yes.
However, this issue tracker is used for reporting bugs and discussing new features. For questions on using Leaflet, please use gis.stackexchange.com or stackoverflow.

Rephrased; see above.
If the feature exists, it's not documented, so it's a documentation bug.
If the feature does not exist, it's a feature request.
Please re-open, per your advice that this issue tracker is used for reporting bugs and discussing new features.

Leaflet downloads tiles for all layers, whether visible according to L.control.layers or not

No, it doesn't. See https://playground-leaflet.rhcloud.com/qog/edit?html,output
If you disagree, please publish a fiddle/codepen/playground that displays this behaviour.

Thanks for the demo; I could diff it against my code to isolate the problem with my usage pattern. Amend your example as follows to see it:
    // insert these:
    map.addLayer(positron);
    map.addLayer(darkmatter);
    // before these:
    L.control.layers({Positron: positron, 'Dark Matter': darkmatter}, {}, {collapsed: false}).addTo(map);

Et voilà, double loading as claimed.
The relevant chunk of documentation, under Control Layers, emphasis mine:

Creates an attribution control with the given layers. Base layers will be switched with radio buttons, while overlays will be switched with checkboxes. Note that all base layers should be passed in the base layers object, but only one should be added to the map during map instantiation.

The blunder is obvious in hindsight. My bad. And, we'll be friendlier if we guard rail against it. I'll dig for a way to identify the double-add and either a) warn against it, or b) quietly suppress it. If I can't find one, a stronger warning in the docs might suffice.
Is there a convention in the code base for issuing warnings? I don't see any use of console.

Is this within cooee of acceptable?
	onAdd: function (map) {
		this._initLayout();
		this._update();

		map
		    .on('layeradd', this._onLayerChange, this)
		    .on('layerremove', this._onLayerChange, this);

		// Unload redundant base layers under our control
		// https://github.com/Leaflet/Leaflet/issues/4925
		var alreadyLoadedBaseLayerCount = 0;
		for (var i in this._layers) {
			var entry = this._layers[i];
			if (!entry.overlay && map.hasLayer(entry.layer)) {
				if (++alreadyLoadedBaseLayerCount > 1) {
					map.removeLayer(entry.layer);
				}
			}
		}

		return this._container;
	},

Roughly equivalent, but leaving the last-mentioned base layer selected rather than the first-mentioned:
		// Unload redundant base layers under our control
		// https://github.com/Leaflet/Leaflet/issues/4925
		this._onInputClick();

npm test passes for both.

Is there a convention in the code base for issuing warnings? I don't see any use of console.

We still haven't dropped support for IE8, so we don't assume console.
I kinda like calling this._onInputClick();, but I'm not 100% sure about it. It makes sense, and looks like it would guard against developer mishaps. Maybe make it optional (or even default) e.g. L.control.layers(bases, overs, {sanitizeLayers: false}). And if this is going to be a feature, there should be tests for it.
Such a change should also be noted in docs/examples/layers-control.md


chore: temporarily exclude more files from scan

Verification build https://dev.azure.com/monacotools/Monaco/_build/results?buildId=293375&view=results

New verification build https://dev.azure.com/monacotools/Monaco/_build/results?buildId=298723&view=results


Sync problem

You forgot to synchronize the variable Fpsvalue in the loop, which will cause the shellcode to not be synchronized to the value changed in the unlocker

收到。感谢老哥


Add Support For .yaml

Hello,
In our repositories we currently are including the .clomonitor.yml file, however, some of our repositories are restricted to naming conventions and as such we must have .yaml for the file instead of .yml. It appears that on the monitor those repos that are using .clomonitor.yaml are not being properly read and as such their score is not properly reflected.
Is there any way to add support for both .clomonitor.yml and .clomonitor.yaml to both be accepted?

Hi @Jdubrick 👋
Sure, we can do that 🙂


[PORT] stock picking barcode to 10.0

Add this commit too https://github.com/it-projects-llc/website-addons/commit/fb5b03ef4b7c31b74541eefdbaf93edc89084639

do cherry-pick from #157


Default outbound for public subnet

Describe the bug
module: network
version: 0.1
oci version: 0.4.26
description: what is the issue in details
The default behaviour of the module network makes the public and private subnet having outbound for all TCP and UDP ports. This should be optional and not enforced
Screenshots

resource "oci_core_default_security_list" "public_subnet_security_list" {
      + defined_tags               = (known after apply)
      + display_name               = "defaultSecurityList"
      + freeform_tags              = (known after apply)
      + id                         = (known after apply)
      + manage_default_resource_id = (known after apply)
      + state                      = (known after apply)
      + time_created               = (known after apply)

      + egress_security_rules {
          + description      = "Outbound All TCP"
          + destination      = "<IP_ADDRESS>/0"
          + destination_type = (known after apply)
          + protocol         = "6"
          + stateless        = (known after apply)
        }
      + egress_security_rules {
          + description      = "Outbound All UDP"
          + destination      = "<IP_ADDRESS>/0"
          + destination_type = (known after apply)
          + protocol         = "17"
          + stateless        = (known after apply)
        }

      + ingress_security_rules {
          + description = (known after apply)
          + protocol    = "1"
          + source      = "<IP_ADDRESS>/0"
          + source_type = (known after apply)
          + stateless   = true

          + icmp_options {
              + code = 4
              + type = 3
            }
        }
    }

Here is the planned way to fix this is to use optionals key. I will add new key object in both public_subnets and private_subnets, so it becomes like this:
variable "public_subnets" {
  type = map(object({
    cidr_block        = string
    security_list_ids = list(string)
    optionals         = map(any)
    # The followings are the keys for the optionals with defaults in brackets
    # route_table_id = string # id of custom route table
    # allow_tcp_egress_to_ports = list(string)
   # allow_udp_egress_to_ports = list(string)
  }))

Leaving the variables empty will not create any rules in the default security list for the subnets.

Actually the above will not work since that the module will create two default security lists only, one for public subnets and the other for private subnets. So the prober design is to introduce two new variables: public_subnets_security_list_rules and private_subnets_security_list_rules. The type will be as following:
  type = object({
    tcp_egress_ports = list(number)
    udp_egress_ports = list(number)
  })

  default = {
    tcp_egress_ports = []
    udp_egress_ports = []
  }


Unable to click link in chat message as it is overlayed by buttons

Hi,
I found this bug when a colleague sent me a link.  I can't click the link!

After some investigation, it looks like the thumbs up, bookmark and "..." buttons only overlay messages if it is not the first message in a group from the same person.
If it is the first message, the buttons overlay the time next to the name of the user who sent the messages.
Further to this, you cannot highlight the whole line of text (with the intention of copying it).  It will stop highlighting at the buttons when they appear.
Asked here too: https://techcommunity.microsoft.com/t5/Microsoft-Teams/Unable-to-click-link-in-chat-message-as-it-is-overlayed-by/m-p/389929#M28815
Does anyone have a workaround or fix for this?

@chris31389 - Thanks for reproting this. We are fixing it.

@Wajeed-msft Any ideas when it will be fixed and released?

Very soon. I'm afraid we can't be specific though.

@billbliss @Wajeed-msft Its been almost a month! It is still really really really really really really annoying.
When is this expected to be available?????

This is fixed. Please check and let us know if you are still facing this issue.


Replacing a sumstats file on the public FTP and pushing the file through harmonisation pipeline.

The user Holger Hummerich contacted us to update his summary statistics file on the public FTP in this folder: http://ftp.ebi.ac.uk/pub/databases/gwas/summary_statistics/GCST90001001-GCST90002000/GCST90001389/.
The new file is currently on our private FTP in a folder named "JonesE_GCST90001389" (gwas_cat/SummaryStatsUploads/JonesE_GCST90001389) and needs to be moved to http://ftp.ebi.ac.uk/pub/databases/gwas/summary_statistics/GCST90001001-GCST90002000/GCST90001389/.
Moreover, the file needs to be pushed through harmonisation - as this is a manual file replacement and the file will not enter the automatic harmonisation pipeline (triggered by submission app).
I am not familiar enough with CODON to perform the above file move from private to public FTP.

The priority is moving the file to the public ftp, harmonisation can wait for Jame if necessary

thanks yomi - we should remember that for a period of time we will host raw and harmonised files not matching 100% (the harmonised file is from previous version of sumstats)

@jdhayhurst  Please finish up by adding to harmonisation pipeline

removed existing harmonised data and queued up the new data for harmonising


kustomize: always rerun operations

Dependency tracking was meant to avoid "make kustomize" from
doing unnecessary work. But because the output files are under git
control, "git rebase" can lead to an inconsistent state (output files
out-dated, but were touched last by git). It's better to always
re-generate them.
Also fixes the .PHONY declaration of the other targets.

how can I try this? once I switch to another branch, the changes of this branch are not present.
This can properly be used/tested only after merging?

If you are in a situation where you can actually try it (i.e. "make kustomize" doesn't do something it should do), then you can cherry-pick my commit or simply patch the Makefile.
Otherwise just check it out and observe that "make kustomize" now always creates all files, each time it is called.

I created kustomize-area change as in #268 and tried it on top if this branch changes,  works as expected, make kustomize created new state. Also, changing branch to-other-and-back did not create any unwanted effects.


Add compile time assert that int size is 32 bit

Is your feature request related to a problem? Please describe.
Per discussion 2/26/2020 there's likely breakage in multiple places on a system where int != 32 bit (standard minimum is 16 bit)
Describe the solution you'd like
Along with #204, cFE not really designed to work on a system without char of 8 bit size and int of 32.  Enforce/warn on build.
Describe alternatives you've considered
Improve documentation?  Still nice to bail on compile for those who don't read documentation.
Additional context
#504, and many other places convert int32 to int or the unsigned equiv.
Requester Info
Jacob Hageman - NASA/GSFC

There really shouldn't be an issue running on a system where int is only 16 bits because the code uses int32 and uint32 precisely for this reason, except where interaction with the system library requires 'int'.
Many printf style calls do contain a force cast to int to be compatible with %d, but this could be changed to long and %ld instead.   There should never be an unintended truncation if casting a [u]int32 type to a long type, because  long is guaranteed to be at least 32 bits.
My preference is to still avoid asserting on items that aren't known to be problems.  In this case it is just that we haven't really tested it, not that it doesn't work.

Many printf style calls do contain a force cast to int to be compatible with %d, but this could be changed to long and %ld instead. There should never be an unintended truncation if casting a [u]int32 type to a long type, because long is guaranteed to be at least 32 bits.
My preference is to still avoid asserting on items that aren't known to be problems. In this case it is just that we haven't really tested it, not that it doesn't work.

You describe a known problem with truncation due to casting and then claim there isn't a known problem.  I don't follow this logic.  There is a known problem, lets add an assert.

Because the better solution is to use %ld/long and %lu/unsigned long casts, rather than asserting on something that isn't really a problem, and unnecessarily limiting the software for not a good reason.
I don't like compile time asserts, and especially so when they aren't really a fundamental problem.

I agree there are better solutions, but at such a low priority I don't see it getting resolved soon.  It seems prudent to notify a user of the current issue on such a system.  Maybe @acudmore or @jwilmot could weigh in.  I'd prefer a check along with a response that systems with int of size < 32 bits could encounter truncation due to type casting of 32 bit types to int.  I'd rather be obvious about the current issue than not-so-obvious issues if used on this sort of system.  A user could always remove the assert if they so chose.
  I'm not following why this should be the preferred approach.

Yes I agree its low priority, but I'd rather not forcibly break the build on someone just because we haven't explicitly tested the software using their configuration, especially when there is a real fix for the known issue.
The truncation issue is a minor one as it only affects printfs, and only if the value actually exceeds int at runtime.  The code might still run OK otherwise.  Hardly worth a hard-stop on preventing someone from even building the code in that config.
Compile-time asserts should be reserved for items which are known to be truly incompatible with the architecture.  We cannot assert against every system/config variation we haven't tested or for which there might be a potential issue or an open bug.
This seems like more appropriate for release notes and documentation, not a compile-time assert.


External link icon for larger font sizes

Please could we have an additional external link icon to use with larger font sizes?
We have a design that has a rel="external" link in 24px and it would be great to use the external link icon with it. The current image isn't big enough to look good.
https://github.com/alphagov/govuk_frontend_toolkit/blob/master/stylesheets/_typography.scss#L334-400 is the relevant code.

[From the frontend meeting] For any new external link styles, please raise a PR on the front end toolkit, we're happy to merge if the need is made clear.

We have ended up using an SVG icon for the external link icon due to the numerous cases of sizes/colors we require it in. Moving forward I can't see any other option than to provide SVG.

Getting #293 would also solve this issue as that would remove all external link icons.

External link icons were removed in #293, so this can be closed.


build: update sha for docker container

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

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

Fixes #<issue_number_goes_here> 🦕

@googleapis/yoshi-nodejs Could you pls review?