Adds group feature for injecting kwargs

We were doing this in the replacement function. Looks like everythin ghas to go in the replacement function, which makes things slightly trickier, but at least we can centralize the logic in that function.
[Short description explaining the high-level reason for the pull request]
Changes
How I tested this
Notes
Checklist

[ ] PR has an informative and human-readable title (this will be pulled into the release notes)
[ ] Changes are limited to a single goal (no scope creep)
[ ] Code passed the pre-commit check & code is left cleaner/nicer than when first encountered.
[ ] Any change in functionality is tested
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged / future TODOs are captured in comments
[ ] Project documentation has been updated if adding/changing functionality.

Part of me wants the grouped dependency to be dictionary (or list of tuples) and not a straight list. Why? So that someone could do this and get the correct behavior:
@inject(group(source("foo"), source("bar"), source("baz"))
def my_df(series_list: List[pd.Series]) -> pd.DataFrame:
      """One would likely expect the series to be named and thus the output to be "foo", "bar", "baz"... but it's not guaranteed.""""
     return pd.concat(series_list)

@inject(group(source("foo"), source("bar"), source("baz"))
def my_df(series_list: List[Tuple[str, pd.Series]]) -> pd.DataFrame:
      """This would be guaranteed to work""""
     return pd.DataFrame(dict(series_list))

Otherwise @elijahbenizzy should someone be able to do this:
@inject(group(source("foo"), source("foo"), source("foo")))
def my_df(series_list: List[pd.Series]) -> pd.DataFrame:
    """Should we have three? or just one?"""
    return sum(series_list)

constant = pd.Series([1,2,3,4])
@inject(group(source("foo"), source("foo"), source("foo"), value(constant)))
def my_df(series_list: List[pd.Series]) -> pd.DataFrame:
    """Are values allowed?"""
    return sum(series_list)

Otherwise @elijahbenizzy should someone be able to do this:
@inject(group(source("foo"), source("foo"), source("foo")))
def my_df(series_list: List[pd.Series]) -> pd.DataFrame:
    """Should we have three? or just one?"""
    return sum(series_list)

Ughh, yeah, currently this is broken but not for great reasons. Need to fix + add tests. Was thinking of releasing then fixing -- as this is a weird case. IMO the strangest case that will currently break is:

@inject(group(source("foo"), source("boo"), source("baz")))
def my_df(series_list: List[pd.Series], foo: pd.Series) -> pd.DataFrame:
"""Are values allowed?"""
return sum(series_list)

This is busted due to the popping of kwargs when we parse

constant = pd.Series([1,2,3,4])
@inject(group(source("foo"), source("boo"), source("baz"), value(constant)))
def my_df(series_list: List[pd.Series]) -> pd.DataFrame:
"""Are values allowed?"""
return sum(series_list)

This is fine by me -- it'll just work I think?

Otherwise @elijahbenizzy should someone be able to do this:
@inject(group(source("foo"), source("foo"), source("foo")))
def my_df(series_list: List[pd.Series]) -> pd.DataFrame:
    """Should we have three? or just one?"""
    return sum(series_list)

Ughh, yeah, currently this is broken but not for great reasons. Need to fix + add tests. Was thinking of releasing then fixing -- as this is a weird case.

I would argue against allowing duplicates, since you can achieve that another way more clearly.

IMO the strangest case that will currently break is:

@Inject(group(source("foo"), source("boo"), source("baz")))
def my_df(series_list: List[pd.Series], foo: pd.Series) -> pd.DataFrame:
"""Are values allowed?"""
return sum(series_list)

This is busted due to the popping of kwargs when we parse

constant = pd.Series([1,2,3,4])
@Inject(group(source("foo"), source("boo"), source("baz"), value(constant)))
def my_df(series_list: List[pd.Series]) -> pd.DataFrame:
"""Are values allowed?"""
return sum(series_list)

This is fine by me -- it'll just work I think?

I don't think we want that to work TBH. What's the "name" of the constant?

Part of me wants the grouped dependency to be a dictionary (or list of tuples) and not a straight list. Why? So that someone could do this and get the correct behavior:
@inject(group(source("foo"), source("bar"), source("baz")))
def my_df(series_list: List[pd.Series]) -> pd.DataFrame:
    """One would likely expect the series to be named and thus the output to be "foo", "bar", "baz"... but it's not guaranteed."""
    return pd.concat(series_list)

@inject(group(source("foo"), source("bar"), source("baz")))
def my_df(series_list: List[Tuple[str, pd.Series]]) -> pd.DataFrame:
    """This would be guaranteed to work"""
    return pd.DataFrame(dict(series_list))

@inject(group(source("foo"), source("bar"), source("baz")))
def my_df(series_dict: Dict[str, pd.Series]) -> pd.DataFrame:
    """This would be guaranteed to work"""
    return pd.DataFrame(series_dict)

Or maybe we can do all the above and know what to do based on the parameter type annotation?

Yeah, so I think we should allow it to be a dict depending on the annotation -- it should be pretty easy. That said, we could just as well do a grouped_dict as well as grouped_list, so you could have to annotate it in the right way...

Merging this to consolidate PRs


Pausing doesn't alter the power state

The power state of an instance doesn't distinguish between running and paused. Both are just marked as on.

Under the hood SF uses the libvirt "suspend" state to pause an instance. virsh show this as paused:
$ virsh list | grep 00509c3f-b5bc-4d7b-83c7-4745188d49e1
 740   sf:00509c3f-b5bc-4d7b-83c7-4745188d49e1 paused

Which is visible in the libvirt-python API:
$ python3
Python 3.6.9 (default, Apr 18 2020, 01:56:04)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import libvirt
>>> conn = libvirt.open(None)
>>> domain = conn.lookupByName('sf:00509c3f-b5bc-4d7b-83c7-4745188d49e1')
>>> domain.state()
[3, 1]
>>> libvirt.VIR_DOMAIN_PAUSED
3

This is a genuine bug in SF. I think I understand why its happening...


[Feature]: Allow passing in an arg in the shuttle main macro for log level

Describe the feature
Description
Currently a tracing subscriber is initialized for every service in the shuttle_runtime::main codegen, this set the log level by default to INFO unless there is one in the environment. The log level is set to DEBUG in the deployer environment though, so the tracing for a service will be set to DEBUG.
We should allow the user to pass in an arg to change the log level, but it should only be possible to set it higher than or equal to DEBUG.
Requirements
Implement the necessary changes in the codegen/shuttle_main macro to allow passing in an arg for log level.
Refactor the tracing setup in the codegen to use the log level from the arg if it exists and is higher than or equal to debug.
Batch 2.0 task:
https://www.notion.so/535743328783490baacd6fbb7befdd5d?v=f0988ae59d8f47e788bed373047a4255&p=724156276c0c4421abe614f40c75ab3b&pm=s
@XaviFP and @unbekanntes-pferd will look at this feature
Suggestion or Example of how the feature would be used
No response
Duplicate declaration

[X] I have searched the issues and this feature has not been requested before.

Hey @XaviFP and @unbekanntes-pferd! We have another community member who has expressed interest in implementing this, so I just wanted to check in and see how this is going, and if you are still working on this or perhaps need some help?

Hey @oddgrd - we have a proposal ready (@XaviFP recently added tests) - we'll open a PR by end of week latest.

That's great!

Nice!

@oddgrd Is this still wanted or should it close due to #1003 ?

Closing this since custom tracing subscribers (or other loggers) are now supported. https://docs.shuttle.rs/configuration/logs


use relative paths within wheel cache

When running pex within a chroot environment, the symlinks generated by pex/pex/resolver.py use the absolute path within the chroot in the path for the symlinks' targets. These symlinks are invalid paths to any program that accesses the wheel cache outside of the chroot. (This was seen within a remote execution environment with Buildfarm.)
Switch to using relative paths for the symlinks.
Fixes https://github.com/pantsbuild/pex/issues/978.

Style check failed. Iirc you can run tox -e format-run.


vNEXT Task: Setup VR SDKs when configuring

Overview
When the user imports and configures the MRTK, the XR SDKs have not been setup and requires the user to go an manually turn these on. We would like to automate this a bit more and automatically enable XR settings after a dialog that prompts them for acceptance of the project change.
Requirements

When importing or configuring the MRTK show a prompt that asks the user to enable XR settings for their currently targeted platform.
If user accepts then we update the project settings.

Acceptance Criteria

[ ] When configuring the MRTK and XR settings is not enabled show a prompt.
[ ] If user accepts prompt update the project settings to enable XR for the current target platform.

Looks like new Unity projects already have the required SDKs enabled, so we just need to turn on the XR Settings.


[staging] python311: 3.11a2 -> 3.11a4

Motivation for this change
Bump latest dev
Had to pin autotools version as it now throws errors using autoconf 2.71
Things done

Built on platform(s)

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

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

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

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

Probably related to https://bugs.python.org/issue45723

Probably related to https://bugs.python.org/issue45723

Still seems to be the appropriate step until they remedy it and cut a release.

Added 3.10.1, released on 2021/12/06.
https://www.python.org/downloads/release/python-3101/

❯ nix-build -A python310.tests --builders ""
/nix/store/ghlkbwi7j9zgk5f09617i3gw734grysq-import-requests
/nix/store/z8bbflgaj0dl7whm0ybyahqms4cfnnz6-python-gdb
/nix/store/lhfjr1zrj0ddavkcnljf6cbpimfz303d-python3-3.10.1-site-prefix-mypy-test
/nix/store/5bb83qa8wi2ncybiqq2nbigp78gb4m5f-python3-3.10.1-tests-nixenv
/nix/store/nkayn1zzmp6b8fjm0s0bfhsmb4g6cglz-python3-3.10.1-tests-nixenv-venv
/nix/store/c05cz024lsaxcb89a13dz6r14phrgm4k-python3-3.10.1-tests-nixenv-virtualenv
/nix/store/jfpa291h1618wjbi7f8x3pq2g4fbak72-python3-3.10.1-tests-plain
/nix/store/7nfp6lm5arx8r5w01b5wwqhlmz717hhv-python3-3.10.1-tests-plain-venv
/nix/store/fvyqx5wk02gjf2hzinak50j9cj66m3qw-python3-3.10.1-env

:heavy_check_mark:

Removed the python310 changes again because the python311 bump isn't ready.

I'm not sure why, but bringing in pkg-config solves:
possibly undefined macro: dnl

@GrahamcOfBorg build python311

Looks like the passthru tests include some packages from the package set, which are likely to fail

can't build requests because docutils is failing, but python311 builds fine
error: builder for '/nix/store/2yxv5mar2ccssh631vqxml7jva74mnjs-python3.11-docutils-0.17.1.drv' failed with exit code 1;
       last 10 log lines:
       >   File "/build/docutils-0.17.1/test/package_unittest.py", line 102, in loadTestModules
       >     module = import_module(mod)
       >              ^^^^^^^^^^^^^^^^^^
       >   File "/build/docutils-0.17.1/test/package_unittest.py", line 133, in import_module
       >     mod = __import__(name)
       >           ^^^^^^^^^^^^^^^^
       >   File "/build/docutils-0.17.1/test/test_parsers/test_rst/test_directives/test_tables.py", line 67, in <module>
       >     null_bytes_exception = DocutilsTestSupport.exception_data(null_bytes)[0]
       >                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^
       > TypeError: 'NoneType' object is not subscriptable
       For full logs, run 'nix log /nix/store/2yxv5mar2ccssh631vqxml7jva74mnjs-python3.11-docutils-0.17.1.drv'.

The interpreter builds on all platforms, merging.


Additional topic content

It would be helpful if there was a note somewhere that this technique replaces the old CapionML property in AppSource.
Does this mean CaptionML will be deprecated in the future? If so, a note to that effect would be helpful.
If CaptionML is not scheduled to be deprecated, is the new best practice for multi language support? If so, say so please.

Thanks

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

ID: 1d8610a4-2eb0-7924-19a5-a2ab0d6b98a5
Version Independent ID: a33fb833-bb5a-e54e-78aa-fbd6a61a088c
Content: Working with Translation Files - Business Central
Content Source: dev-itpro/developer/devenv-work-with-translation-files.md
Service: dynamics365-business-central
GitHub Login: @SusanneWindfeldPedersen
Microsoft Alias: solsen

Thanks for the feedback. We actually did have a note about CaptionML being deprecated and XLIFF being the new way to handle translations. This was removed a while back; the feedback from some partners was that they were not ready for that change. So, instead we still support both ways. I believe that the note about XLIFF and AppSource is there, in this section (https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-work-with-translation-files#generating-the-xliff-file). The guidance might change in the future, but this is what we can provide at this moment, unfortunately. Thanks.

Thanks for the feedback. We actually did have a note about CaptionML being deprecated and XLIFF being the new way to handle translations. This was removed a while back; the feedback from some partners was that they were not ready for that change. So, instead we still support both ways. I believe that the note about XLIFF and AppSource is there, in this section (https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-work-with-translation-files#generating-the-xliff-file). The guidance might change in the future, but this is what we can provide at this moment, unfortunately. Thanks.

Thanks for the explanation, but it just seems like there should be a little note in the CaptionML topic mentioning that you must use XLIFF files for AppSource and then maybe link to the topic you referenced above.
In any event, thanks for all you do. Your name shows up a lot in the docs.

Thanks for the explanation, but it just seems like there should be a little note in the CaptionML topic mentioning that you must use XLIFF files for AppSource and then maybe link to the topic you referenced above.
In any event, thanks for all you do. Your name shows up a lot in the docs.

Thank you :)
There's already a note in the topic: https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/properties/devenv-captionml-property#remarks. Does that suffice? I understand if this can be confusing, and I am happy to help out if there's some information gap. Thanks.

Thanks, there is a note further down in the topic that specifically
mentions CaptionML, etc.
On Mon, Feb 1, 2021 at 3:37 AM Susanne Windfeld Pedersen <
<EMAIL_ADDRESS>wrote:

Reopened #1667
https://github.com/MicrosoftDocs/dynamics365smb-devitpro-pb/issues/1667.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/dynamics365smb-devitpro-pb/issues/1667#event-4272250272,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHO3XBJZBFBT22DKOFWF3J3S4ZR3FANCNFSM4WP5E2VA
.

Closing this issue


Build errors hidden unless build.quiet enabled

Environment
  System:
    OS: macOS 13.4
    CPU: (8) arm64 Apple M1
    Memory: 228.05 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 16.19.0 - ~/.nvm/versions/node/v16.19.0/bin/node
    Yarn: 1.22.19 - ~/.yarn/bin/yarn
    npm: 8.19.3 - ~/.nvm/versions/node/v16.19.0/bin/npm
  Browsers:
    Chrome: 114.0.5735.90
    Firefox: 113.0.2
    Safari: 16.5
    Safari Technology Preview: 16.4
  npmPackages:
    @nuxt/types: ^2.16.3 => 2.16.3
    nuxt: ^2.16.3 => 2.16.3

Reproduction
Don't have any public repro at the moment.
Describe the bug
I have an error triggering during the build but Nuxt doesn't show the actual error and only shows not-very-englightning stack trace.
On setting build.quiet = true in nuxt config it shows the actual error.
With build.quiet:
FATAL  Nuxt build error

ERROR in Sentry CLI Plugin: Command failed: node_modules/@sentry/cli/sentry-cli releases new<EMAIL_ADDRESS>error: project not found

Add --log-level=[info|debug] or export SENTRY_LOG_LEVEL=[info|debug] to see more output.
Please attach the full debug log to all bug reports.

Without build.quiet:
FATAL  Nuxt build error

at WebpackBundler.webpackCompile (node_modules/@nuxt/webpack/dist/webpack.js:1861:21)
at runMicrotasks (<anonymous>)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async WebpackBundler.build (node_modules/@nuxt/webpack/dist/webpack.js:1826:5)
at async Builder.build (node_modules/@nuxt/builder/dist/builder.js:249:5)
at async Object.run (node_modules/@nuxt/cli/dist/cli-build.js:99:7)
at async NuxtCommand.run (node_modules/@nuxt/cli/dist/cli-index.js:356:7)

Additional context
It seems like the relevant code is https://github.com/nuxt/nuxt/blob/5ab8ea9ded8e57d9e1becc2731053b245f7c645f/packages/webpack/src/builder.js#L151-L158 which indeed only exposes webpack error when build.quiet is set.
Logs
No response

The quoted code comment says non-quiet mode: errors will be printed by webpack itself but it's not the case in this case at least.

We are approaching the Nuxt 2 EOL date (June 30, 2024) - see this article for more information. This is advance warning that I'm going to close this issue then, as it's currently marked as a Nuxt 2 related bug.
If it's a critical or security issue, please do comment and let me know, in case it is possible to address it before the EOL date.
If it's a an issue you think is relevant for Nuxt 3, please feel free to open a fresh issue (or just comment here so I can update labels, etc.). 🙏
Thank you for your understanding and for your contribution to Nuxt. ❤


Enable TCE deployments to support Kind port mappings to enable host/cluster communication

Feature Request

I recently deployed a number of community packages with TCE standalone (on Docker), including Prometheus and Grafana. Unfortunately, because of the way Docker runs on macOS (and Windows IIRC), it uses on internal VM and an internal docker network which are not accessible from the desktop host. Thus we cannot use any Load Balancer functionality in TCE standalone and are relying on port-forward from kubectl to get access to the applications.
This is not a great user experience for users of TCE.
Describe alternatives you've considered

It seems that Kind has the ability to configure "Extra Port Mappings" which would enable getting traffic into the kind cluster - https://kind.sigs.k8s.io/docs/user/configuration/#extra-port-mappings. The request here is to enable this configuration option in TCE standalone (maybe through an advanced configuration/values file to the cluster), which would enable host access to the TCE standalone cluster. This would avoid having to resort to kubectl port-forwards.
This would make TCE much more attractive, and enable users to use it in much the same way as they would use TCE on vSphere, and TCE on AWS with their respective infrastructure based load balancers.
It would also give some feature parity to standalone Kind clusters.
Additional context

Ah, this is totally my issue!
I'm very much a beginner, and have been stuck at this problem for days.
Can you expand on "Right now I'm simply hard coding an extraPortMapping to the kind cluster" @stevesloka ? :)
Professional context: I need this MacOS + Docker deployment to be a proper demo, so that I can get buy-in to use up a couple of precious on-prem vSphere hosts to further evaluate TCE... as a gateway to all Tanzu products.

Hey @Alfaj0r, I'm referencing this guide (https://projectcontour.io/guides/kind/) which maps a port from your local machine to a port in the cluster. Envoy then listens on a hostport and that gets mapped to your local machine via Kind.
Please let me know if you have any other questions!

@jpmcb I think this issue is solved with your recent changes.


feat: add GenerateKeyRaw method in order to save the raw bytes for encrypt without the piv device

feat: add GenerateKeyRaw method in order to save the raw bytes for encrypt, and set DecodePublic to public for parse the raw bytes

Hey, thanks for the PR! Can you elaborate on why you need this? Is it for a public key type this package doesn't support, or some other reason?

save the pub key for encrypt something without piv device.

@izouxv you should already be able to serialize the key with encodings like https://pkg.go.dev/crypto/x509#MarshalPKIXPublicKey
That works fine without this package exposing the raw public key or parsing logic

@izouxv you should already be able to serialize the key with encodings like https://pkg.go.dev/crypto/x509#MarshalPKIXPublicKey
That works fine without this package exposing the raw public key or parsing logic

thank you


Add testing notes

:tada: This PR is included in version 0.8.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


The height and width are reversed when using Presentation and Transformer

Version
Media3 1.1.0
More version details
No response
Devices that reproduce the issue

Pixel 7 running Android 13
Pixel 3 XL running Android 9

Devices that do not reproduce the issue
No response
Reproducible in the demo app?
Not tested
Reproduction steps
I'm attempting to compress a video using the following code (The input video resolution is 720x1600):
val editedMediaItem = EditedMediaItem.Builder(MediaItem.fromUri(uri))
            .setEffects(Effects(listOf(), listOf(Presentation.createForHeight(800))))
            .build()

val transformationRequest = TransformationRequest.Builder()
            .setVideoMimeType(MimeTypes.VIDEO_H264)
            .setAudioMimeType(MimeTypes.AUDIO_AAC)
            .build()

val transformer = Transformer.Builder(context)
            .setTransformationRequest(transformationRequest)
            .build()

transformer.start(editedMediaItem, outputPath)

Then I use the following code to obtain the output video resolution:
val cursor = context.contentResolver.query(uri, arrayOf(MediaStore.Video.VideoColumns.RESOLUTION), null, null, null)
cursor?.apply {
        moveToFirst()
        val resolution = getInt(getColumnIndexOrThrow(MediaStore.Video.VideoColumns.RESOLUTION))
        Timber.d(resolution)
}

Expected result
The output video resolution should be 360x800
Actual result
The output video resolution ends up being 800x360
Media
https://github.com/androidx/media/assets/5085836/815c4ab8-8c3b-4e44-aade-639324735bc8
Bug Report

[ ] You will email the zip file produced by adb bugreport to<EMAIL_ADDRESS>after filing this issue.

Encoders are more compatible with videos where the width is greater than or equal to the height. Therefore, to produce videos that can be played on more devices, we do automatically rotate videos to always have a width greater than or equal to the height, after applying all other effects.
This is described in our comments too. This is done in VideoSamplePipeline, which unfortunately isn't currently a customizable component.

Then what should I do to store the correct resolution in MediaStore? We need the accurate resolution for other tasks as well.

Is the rotation reflected in MediaStore.MediaColumns.ORIENTATION?

Ah, I see. The rotation for that output video is 90 degrees


More complex logic not parsing correctly

See: https://github.com/SigmaHQ/sigma/blob/master/rules/windows/registry_event/sysmon_registry_persistence_search_order.yml

Improved flexing, but really need to go through a lot of Sigma rules to verify correct parsing. "|" in negations may still be a problem

Problem parsing: https://github.com/SigmaHQ/sigma/tree/master/rules/windows/file_event/sysmon_webshell_creation_detect.yml
https://github.com/SigmaHQ/sigma/blob/master/rules/linux/macos_security_software_discovery.yml

Prob need to start at the beginning for the lexical analysis again. Try using a binary tree and will also need to examine not just the condition statement but also the detection section.


feat: add new APIError type

APIError is a wrapper error that provides a structured way of extracting error details from a request made by the client.
ErrDetails is a defined type that stores all the possible types of error details.
The APIError consists of the underlying error, status and details of type ErrDetails.

Done!


nczarr_test_run_ut_mapapi fails on s390x (big-endian)

nczarr_test_run_ut_mapapi fails on alpine linux edge s390x for version 4.8.0
*** Test zmap read/write data -k file
canonicalfile: /builds/hjaekel/aports/community/netcdf/src/netcdf-c-4.8.0/nczarr_test/tmp_mapapi.file
url=|file:///builds/hjaekel/aports/community/netcdf/src/netcdf-c-4.8.0/nczarr_test/tmp_mapapi.file#mode=nczarr,file|
testing: simpledata:
Pass: open
Pass: /data1: write
Pass: close
Pass: re-open
Pass: /data1:exists
Pass: /data1: len
Pass: /data1: read
Pass: /data1: content verify
Default type: ubyte
Default action: objdump
--- /builds/hjaekel/aports/community/netcdf/src/netcdf-c-4.8.0/nczarr_test/ref_ut_mapapi_data.cdl
+++ ./ut_mapapi_data_file.cdl
@@ -2,7 +2,7 @@
 "foo": 42,
 "bar": "apples",
 "baz": [1, 2, 3, 4]}|
-[1] /data1 : (100) (ubyte) |0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 9, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 13, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 16, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0, 21, 0, 0, 0, 22, 0, 0, 0, 23, 0, 0, 0, 24, 0, 0, 0|
+[1] /data1 : (100) (ubyte) |0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 9, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 13, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 16, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0, 21, 0, 0, 0, 22, 0, 0, 0, 23, 0, 0, 0, 24|
 [3] /meta1/.zarray : (34) |{
 "shape": [1,2,3],
 "dtype": "<1"}|
<end of output>
Test time =   0.03 sec
----------------------------------------------------------
Test Failed.
"nczarr_test_run_ut_mapapi" end time: Apr 17 20:48 UTC
"nczarr_test_run_ut_mapapi" time elapsed: 00:00:00
----------------------------------------------------------

If I recall, the s389x is big-endian. We have had difficulty testing on big-endian
machines, so I expect this is a big-endian problem.

Yes, s390x is big-endian. Can you say if this is just an issue in the test suite (which means I can just ignore this test on s390x and upgrade the package in Alpine) or the library writes data in the wrong way on big-endian machines (which would require a fix in the library)?

I  believe it is a problem  with the library. As I indicated,
it is difficult for us to test on big-endian machines, so
errors slip through. I believe I now have access to a big-endian
machine on which to test. So a fix is possible.


BUG: Secret "webhook-server-cert" not found

Problem Description
conversion-webhook pod stuck in container creating.
I'm trying with install Centralised Agent Mode
System Information
SVELTOS VERSION: 0.41.1
KUBERNETES VERSION: 1.27.4
Logs
Events:
  Type     Reason       Age                   From               Message
  ----     ------       ----                  ----               -------
  Normal   Scheduled    26m                   default-scheduler  Successfully assigned projectsveltos/conversion-webhook-8567997b9b-wrqhw to k3d-projectsveltos-cluster-01-agent-0
  Warning  FailedMount  4m43s (x10 over 24m)  kubelet            Unable to attach or mount volumes: unmounted volumes=[cert], unattached volumes=[], failed to process volumes=[]: timed out waiting for the condition
  Warning  FailedMount  26s (x21 over 26m)    kubelet            MountVolume.SetUp failed for volume "cert" : secret "webhook-server-cert" not found

Thanks @emreberber
Do you have cert-manager in your management cluster?

I am very sorry, I missed the note about the cert manager. But there is such a situation that when I install cert manager later, Pod still does not start running.
But when I deployed cert manager first and then sveltos in another cluster, there was no problem. 🤔

Thank you for verifying this @emreberber
I am planning on removing the conversion webhook soon since it has already been many releases since we switched from v1alpha1 to v1beta1.
Are you OK if we close this one?

Yeah I'm OK thank you 🙏🏻  We can close this one 👍🏻


P1 Dongel Pro + H2O: No data from smartmeter after update via https://install.smart-stuff.nl/p1p/

After the message from github that there is a new update available via https://install.smart-stuff.nl/p1p/ I have updated my P1 Dongel Pro with H2O meter (I have choosen the right option (DSMR with H2O). Had to choose the erase mode because otherwise it failed.
After the update completed (tried it twice now) there is no message recieved from the smart meter / P1 port.
It seems I have a lot of new options available but the software showing I have the following firmware: 4.8.18+2918 (18/05/2024)
But I can choose to connect to NRG and Enphase solar power, which wasn't available in the previous firmware.
Is the firmware for the H2O version somehow not correct?

Because of the erase the H2O profile is wiped. Steps to enable this:

connect to the dongle with a telnet client
after connection press "T4" and enter
check of the setting is correct with the command "at" followed by enter; device type should be 4.
reboot the dongle

Everything should be normal.

I just checked and it is giving a 4. I did used the option with H2O in the installer menu.
Device Type     : 4
Device First Use: 1

Is this a new model hardware (square with screw terminals) or the hexagon shaped one?
The firmware version in the uploader is for the new model.
T4 = new model
T3 = hexagon model
Change the profile value to T3 if this is a hexagon version.

 Didn’t read the device options wrong. Instead of choosing the normal P1 dongle pro I have chosen the H2O+ version which isn’t correct ofcourse. After reflaghing the right version it was working all right!

Super, i am glad is fixed :-)


Fix how tint color is used for value label text colors

Original issue:

Window's rootViewController tintColor is white
The cells do not render the text correctly, because it's white on white

thank you for your fix! it will be merged on 2.0.1


Make project.sync() a public API

I thought we had already done this at some point.
We already have project.copy, we should provide the Sync-equivalent.

@big-guy We're booked for 3.3, so I think this should go in the next release after that unless it's very easy. Any thoughts? Is this easy enough we could ask for outside contribution?

It's pretty easy.
We need to add the sync method with the signature WorkResult sync(Action<? super CopySpec> action); and documentation to subprojects/core/src/main/java/org/gradle/api/Project.java
We need to add the method to the DSL here: subprojects/docs/src/docs/dsl/org.gradle.api.Project.xml
Make sure we have decent test coverage, something like we do in CopyTaskIntegrationSpec and CopySpecIntegrationSpec in SyncTaskIntegrationTest or a new class.

Note that we do not want a Closure version of this method.

👍

I maybe able to take a look at it this weekend.

Can I grab the issue?

Sure, please make sure you take a look at our contributing guidelines.

Addressed on https://github.com/gradle/gradle/pull/1137!
Btw, I found two NotYetImplemented annotations in integtests file. Would they be another story to enhance?

https://github.com/gradle/gradle/blob/f001402c8b7f404c923d972f1bc524b2de7b3fcd/subprojects/integ-test/src/integTest/groovy/org/gradle/integtests/SyncTaskIntegrationTest.groovy#L173
https://github.com/gradle/gradle/blob/f001402c8b7f404c923d972f1bc524b2de7b3fcd/subprojects/integ-test/src/integTest/groovy/org/gradle/integtests/SyncTaskIntegrationTest.groovy#L200

Thanks @hotchemi.  I'll take a look.
Yes, those are both areas that we need to improve. You can leave those alone for this story.  We have a general problem with the Copy-like tasks having under specified inputs like that.

@big-guy Thank you for your response. Okay, so let me try to fix them when I can get a time to look into if it's okay.

@big-guy Why no closure version?


ability to completely disable connections to Lightning Node Connect terminal proxy servers

litd establishes connections to Lightning Node Connect terminal proxy servers to operate it's mailbox protocol. It's unclear when these connections are active.
This is a cool feature, but we should be able to turn it off without having to revoke macaroons and accounts associated with LNC. It's unclear when connections are made to the proxy servers, but I'm assuming litd keeps them open as long as there are some macaroons still associated with a LNC connection that happened at some time.
I am requesting the ability to turn off LNC in a command line/config option so that we can ensure that no connections to third party servers are ever in the works. We should still be able to use LND accounts feature and the macaroon baking features of litd without LNC making any other connections.

I don't know how things are setup in the back end, but https://github.com/lightninglabs/lightning-terminal/issues/586 might be a workaround for this issue.

Just to clarify: A connection to the LNC proxy server is only initiated if there is an active LNC session. So as long as you don't create any sessions, no connection to the proxy should be established.

Okay, that sounds good. I guess this feature isn't really needed now that I understand how it actually works. It might be useful to add this to your documentation somewhere, but that's up to you to decide.


feature: add support for UWP navigation

Is your feature request related to a problem? Please describe.
There is no support for UWP native currently.
Describe the solution you'd like
Please add support for the UWP navigation stack.

We need to split up Sextant and take out the core features to an abstracted platform-independent Sextant.Core package. I'm willing to do this. Can I PR? Any guidance?

Talk to @RLittlesII  on slack see where he needs the help. He and @giusepe  are in charge of the sextant project.

Thanks @limefrogyank for tackling this feature.


More demonstrative code example

Summary of changes
Changed the example shown to demonstrate better how markdown formats (colours) the code block based on the given language, in this case javascript.
Task list

[x] For workflow changes, I have verified the Actions workflows function as expected.
[x] For content changes, I have reviewed the [style guide] (https://github.com/github/docs/blob/main/contributing/content-style-guide.md).

See Code sample syntax highlighting in the style guide.

ok

Thanks @cmwilson21 - how does the previous code snippet add to the tutorial where the proposed one doesn't?
The reason I made the PR was because I didn't think the previous code snippet demonstrated what the text was describing, whereas the new one does (defining the language syntax). Although I might have not fully understood what the previous code snippet showed that the proposed one doesn't.
(I can't make the changes now, as I don't have my laptop on me but can make them early next week or so)

@thomashudsonuk No worries on the timing for the changes. My thought was to add your javascript example in addition to the command line text one already present since they show very different visual examples and are both included in content.
Also, kudos for checking our style guide! Thanks for doing that ✨

Thanks @cmwilson21, and I hope you are well.
I've made a new commit (75edc06) with the suggested changes - keeping the original example).-Hopefully, that's as you intended; please let me know if not or if I haven't made the changes in the 'proper' way (via another commit), as I'm still learning Git/ GitHub - for example if it would have been better to create a review with suggestions for you to approve.
Thanks again.

@thomashudsonuk This works great! Thank you for making the suggested changes. And leaving the updates via a new commit works perfectly in this situation.
I'm going to approve this and get it merged 👍
Thank you for your contribution! And welcome to the community!


Adds saveUninitialized option

Implements feature discussed #36.
The option defaults to true to maintain backward compatibility.
Please let me know if you'd like me to change/fix anything.

Thank you for opening the PR.
I see a problem in the way how the sessionHash is stored. It shares the sessionHash between different requests.
If we have a request it will set the sessionHash to the hash of the session from the request. Now if we have a second request before the first request is finished, it will change the sessionHash and the session of the first request will be saved - even if it shouldn't be be saved.
I wrote a test to reproduce the problem: https://gist.github.com/SerayaEryn/27847ce1e89e310303e4b0e5edb03444
An alternative would be to decorate the request with the sessionHash.
But I wonder if it is even necessary to calculate the hash to detect a new but not modified session.
A new session has 4 properties. If something is added to the session the number of properties will change.
Shouldn't something like the following be enough? It would be more performant, too.
Object.keys(session).length !== 4

Well spotted, I completely missed that the sessionHash wasn't per request.
I switched to the logic you suggested above, I agree it is much better.
Thanks for reviewing the PR, let me know if you'd like any further changes.


remove branches from inner loop for findAllReadsAndWrites

Motivation

Fewer branches is more better.
Test plan

See included automated tests.

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR.  When the build
finishes, I'll share with you whether or how it failed. Thanks!
Stripe employees can see the build results here:
→ https://go/builds/bui_LqaaXxBG8wqY0B
→ https://go/builds/bui_LqaajuHAH9QSCt

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR.  When the build
finishes, I'll share with you whether or how it failed. Thanks!
Stripe employees can see the build results here:
→ https://go/builds/bui_LqbrB9PMZpmhdr
→ https://go/builds/bui_LqbrPE1a11l58V

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR.  When the build
finishes, I'll share with you whether or how it failed. Thanks!
Stripe employees can see the build results here:
→ https://go/builds/bui_LqcV3O6Dn5Tb5d
→ https://go/builds/bui_LqcWIsA0P9PWhE


Log with INFO level for client's request payload spams output

I believe in here using
log::debug!("request payload: {:#}", request_payload);
instead of
log::info!("request payload: {:#}", request_payload);
would be a better option, since the output is pretty large and rather specific. It also hides my own important logs for the info level. Another even better way is to add the ability to set log exhaustiveness from outside on client creation or by a setter

Hi there, sorry for the delayed response. Yes, you're right, that was an oversight. If you can, please feel free to submit a PR. Otherwise, I should have this issue resolved in the next coming days. Thanks for reporting it!


Request: Collapsible

Hey there!
Element is pretty awesome!
I was wondering whether a collapsible like an accordion is on the roadmap / in the scope of element.
Regards

Yes, we plan to add accordion in Element 1.1.
Duplicate of #627 .

Sorry for the dupe.


Editor freezes when creating a new project after moving Godot to the second screen

Tested versions
4.2.1 stable official
System information
Windows 10, NVidia GeForce GTX 1650 Ti, apparently OpenGL
Issue description
When creating a new project, the editor window freezes:

There is nothing of note in the console log, from what I can tell; the first two warnings are because I'm using the NuGet version, where the EXE filename isn't case-matching.
WARNING: Case mismatch opening requested file 'godot_v4.2.1-stable_win64.exe', stored as 'Godot_v4.2.1-stable_win64.exe.
     at: open_internal (drivers/windows/file_access_windows.cpp:132)
WARNING: Case mismatch opening requested file 'godot_v4.2.1-stable_win64.exe', stored as 'Godot_v4.2.1-stable_win64.exe.
     at: open_internal (drivers/windows/file_access_windows.cpp:132)
Godot Engine v4.2.1.stable.official.b09f793f5 - https://godotengine.org
OpenGL API 3.3.0 NVIDIA 532.09 - Compatibility - Using Device: NVIDIA - NVIDIA GeForce GTX 1650 Ti

Project is missing: c:/temp/audiotest/project.godot

Steps to reproduce

Set up your laptop with an external monitor, and Windows set to "Extend display"
Open Godot
Move Godot to the monitor screen
Click the new project button
Wait. Forever.

Note that creating a project on the first/default (laptop/internal) screen works fine.
Minimal reproduction project (MRP)
Not applicable.

Related to https://github.com/godotengine/godot/issues/74261.

Can you reproduce this if you force Godot to start on integrated graphics? This is likely a NVIDIA Optimus issue.

Can you reproduce this if you force Godot to start on integrated graphics? This is likely a NVIDIA Optimus issue.

Yes. I followed these instructions, and added every instance of Godot to use the integrated graphics driver. (The actual Godot .exe, which is 100MB+, as well as the Chocolatey wrapper EXE, and the godot console EXE).

This is replicable on a desktop 4090 with the latest NVIDIA 546.33 studio drivers and is not limited to a New Project. It will trigger on any action that tries to generate a pop-up element after moving the Project Manager window onto a second screen and even when both monitors are set to the same resolution and orientation.
Works

Mousing over the Asset Library Projects tab or any Project or Button (causing them to partial highlight).
Selecting a Project (causing a full highlight).
Switching between Projects and Asset Library Projects tabs.

Crashes

New, Import, Scan, or About (causes a pop-up window).
[en] English, or Sort (causes a dropdown style pop-up).

Once you open a window on your main monitor, you can drag it over to the new monitor without issue. Any of the above crash inducing functionalities (such as the Version Control Metadata dropdown menu within New Project) will work on your main monitor but crash from the second. The same principles will still apply when you load up a Project. One thing that causes a crash there is mousing over any resource, which causes a tooltip to pop up, which will crash Godot if it's in the second monitor. Enabling Single Window Mode or, conversely, disabling Multi Window Mode will fully protect Godot; you can move the Project window onto either monitor and everything works fine in either. However, the Project Manager window can't be protected in this way and will always crash.

Some people have had a similar freeze on some mobile devices that might be related

@Ruruie-FGSC thanks for the detailed description of what works and what doesn't!
The other work-around is simply not to do anything with Godot until you get your project loaded.

Recently discovered this could be renderer dependent.
The editor does not crash on Forward+ but will on Compatibility.
Project List seems to always be in Compatibility renderer however.


DRILL-7828: Refactor Pcap and Pcapng format plugin

DRILL-7828: Refactor Pcap and Pcapng format plugin
Description
It merges two (PCAP and PCAPNG) format plugins into one and placed it in the contrib module. Hence it uses two different readers for them. The decision, which reader to use is based on identifying PCAP file Magic Number
Documentation
An example of setting PCAP Format Plugin
        "pcap": {
          "type": "pcap",
          "extensions": ["pcap", "pcapng"],
          "stat" : false, // optional
          "sessionizeTCPStreams": false // optional
        }

Testing
Added test case for the pcapng file, but pcap extension

@vdiravka Thanks for the nice submission. I'll do a review on this weekend.
BTW, Has this PR implemented the Streaming read for Pcap-NG format feature?

One other thought on the compatibility issue. We can perhaps fudge it here as we discussed. Perhaps it make sense to fix it correctly:

Store a version number in the "persistent store" (ZK) each time we write to the store. This can't be a product version, it must be a persistent store format version. (Why? So you can change things in the SNAPSHOT release.)
On each startup, check the persistent store version. If it is less than the current version, run an upgrade process. In particular, invoke a versionxToy conversion for each 'x' from the current store version to the current software version.
In each conversion, look for changed configs and "do the right thing." For this PR, it would mean changing the plugin name and rewriting one of them ("pcap-ng" maybe) as needed. In some cases, it might mean deleting an unsupported plugin. Etc.

The wise thing would be to log the original JSON and any changes, so if things go wrong (and they will), there is a way to recover.

One other thought on the compatibility issue. We can perhaps fudge it here as we discussed. Perhaps it make sense to fix it correctly:

Store a version number in the "persistent store" (ZK) each time we write to the store. This can't be a product version, it must be a persistent store format version. (Why? So you can change things in the SNAPSHOT release.)
On each startup, check the persistent store version. If it is less than the current version, run an upgrade process. In particular, invoke a versionxToy conversion for each 'x' from the current store version to the current software version.
In each conversion, look for changed configs and "do the right thing." For this PR, it would mean changing the plugin name and rewriting one of them ("pcap-ng" maybe) as needed. In some cases, it might mean deleting an unsupported plugin. Etc.

The wise thing would be to log the original JSON and any changes, so if things go wrong (and they will), there is a way to recover.

Nice Idea. Versioning + Upgrade from previous + Recovery mode

@paul-rogers I am familiar with this issue in Drill:
https://stackoverflow.com/questions/50487014/apache-drill-1-12-0-failure-in-starting-embedded-drillbit-and-no-current-conn/50495562#50495562
And I am absolutely agree about plugins configs versioning. We have it for parquet metdata, smth similar can be done for plugins. And other thing is proper migration tool for the new schema of storage plugins configs (every plugin configs change will require to update plugins configs version and migration on the new Drill sturtup with an old configs).
But it sounds like a useful, but new feature. It shouldn't prevent to go further with current PR. Especially in current PR, I added code for an old plugins configs, so new Drill start-up will not cause any issues with an old plugin configs.

Actually, There is a JIRA (thanks @vdiravka) related to this ideas. Storage Plugins Handler improvements
Well,  If this feature is implemented ASAP, it will be great. (1.19 or later ?)

@vdiravka Hi. Do we have any new revisions ready to submit? AFAIK, Now there is only an issue and related to the conflict upragde, Is right?

Where are we on this one? We should avoid the "boil the ocean" temptation: the desire to fix too many things in one PR. If this PR will break upgrades, then the team can decide if that is OK for the handful of people who might be affected. Maybe document recovery in release notes, or be prepared to describe the steps on Slack or the mail lists.
I am concerned about table functions. They are obscure, but are supposed to work. I'd like to see a test added so we can be sure that the non-public config variables do, in fact, work. Of course, you could argue that we can skip that until someone complains, then file another bug because, again, there are likely few users of this plugin and likely none of them use table functions.

@dzamo Hello. Is it possible to add a docs (when the DRILL-6564 or related issues not resolved) that describe the troubleshooting about conflict upgrade at the phase of upgrade (from old plugin config). thanks.

As I told earlier we don't break backward compatibility: in second commit Changes related to CR I have added support for old plugins and in third commit Changes related to CR2 I have added test case to check it. So we are fine to use the new config and don't fail, if old plugin config is places in PS
@paul-rogers Could you pls check again?

@paul-rogers Thanks for your review and thanks for your time.


Sui

This PR contains Sui working with EdDSA, signing with Blake2b, and broadcasting TX.
It also has the Polkadot branch merged into it.
DOT OK
SUI OK

All items in the comments were done.
Tests:
SUI
https://suiscan.xyz/mainnet/tx/FqNJnC669TWxU8jr9JTvaZMXihUR9KFemeMjsmdVhTPe
DOT
https://polkadot.subscan.io/extrinsic/0x88a48e7afb59b972ceb7b3918497db77682e8d4a116e9c58eeec49ce79ebb330


What is this for, exactly?

@FedericoPonzi While the general concept of an init system is clear to most everyone who's ever dealt with a *NIX system, I'm not exactly sure whether a container init system is something most people spend time thinking about.
To be clearer - why do I need systemd inside a container? Don't containers already have systemd? Is Horust a replacement for systemd, even? How does it stack up against other tools? Can it replace something I have in my stack now, even in its alpha phase?
I'm not saying that Horust should be anything re the above, I'm saying that outside of the immediate people who you and I talked to about the project, it's unclear exactly what it's doing here and what it... well, is.
Let's dream for a sec: If Horust gets big, what would it like? Who would use it? What would it replace?

The initial idea behind Horust was to create a new and powerful service manager. You give it a bunch of programs to run, some dependencies and constraints, and Horust will make sure to enforce the given configurations.
The init "addition" is just a requirement for being able to run horust inside a container.

@FedericoPonzi While the general concept of an init system is clear to most everyone who's ever dealt with a *NIX system, I'm not exactly sure whether a container init system is something most people spend time thinking about.

Of course not. By design a well thoroughly designed container should run just one binary. But sometimes, you really need to be able to run multiple things inside the same container. There is even a page on Docker docs for that:

The container’s main process is responsible for managing all processes that it starts. In some cases, the main process isn’t well-designed, and doesn’t handle “reaping” (stopping) child processes gracefully when the container exits. If your process falls into this category, you can use the --init option when you run the container. The --init flag inserts a tiny init-process into the container as the main process, and handles reaping of all processes when the container exits.

Docker itself is shipped with tinyinit, which is very useful as a basic init system for most programs. I've seen people ending up with a bash script as a starter script, in which they first spawn a process B as a background job using & and after that the bash script will exec on process A.
See an example here.
This approach is fine and with --init should work fine. But what happens if B fails and you want to restart it? You would need to start writing some service manager, or use supervisord (which most people end up with). With supervisord, which today is a 10+ years old piece of software (so I assume very stable at this point), you will need to bring in your container the python runtime, making your container even bigger. Also, some dependencies are hard to express in Supervisord (IMO).
And for serious / production usage you probably want/need one some way to be sure that your service is running. The healthchecker, it's very useful if you want to be sure that your service is running && running properly.

To be clearer - why do I need systemd inside a container? Don't containers already have systemd?

I should have answered the first question. For the second one, the answer is of course not. Few companies have taken the effort of trying to run systemd inside a container - but for what I've read its use is usually discouraged inside containers because of its use of low-level kernel features. So unless you're already very familiar with systemd or you really need it for reasons, it's probably not worth the effort.

Is Horust a replacement for systemd, even?

I would say yes, because the problem they aim to solve is overlapping. The first use case I had in mind is for containers, because I don't have the presumption that anyone will realistically use it as their own init system in the near future. For this, one would probably need the support by some Linux distro, and someone should writing some mechanism to port systemd services to Horust services and so on. So the first supported use case would be running it inside containers. In the future, the idea would be to create a viable replacement for systemd.

How does it stack up against other tools? Can it replace something I have in my stack now, even in its alpha phase?

Sure, you can probably replace whatever you're using to run multiple things inside a container (supervisord, s6 and so on) with horust. Also, Horust it's runnable even outside a container as a normal user program. So if you need to run multiple things in a complex workflow, you can give it a try!

I'm not saying that Horust should be anything re the above, I'm saying that outside of the immediate people who you and I talked to about the project, it's unclear exactly what it's doing here and what it... well, is.
Let's dream for a sec: If Horust gets big, what would it like? Who would use it? What would it replace?

In the far far far far future, I think it could be used as an init system and replace systemd. Using some feature flags, it could be compiled in a more "basic version" which could still be used to run in containers. My best wish would be to keep the code so easy that one dev could just come in, scan through the code and remove all the unneeded feature.


Nothing showing in Grafana - Possible DB not getting data

Hi
Have IP connectivity, checked with TCP dump internally also ran a few commands to check the influxdb logs, looks to be receiving data and trying to update influxdb but when i run to see if there are "measurements" there is nothing there.
This is sending from vMX instances running remotely.
Please see some logs attached.
Many thanks,
Jon.
logs1.txt
logs2.txt

Also unable to access influx GUI on 8083, but I can access chronograph on 8888

root@opennti-vm:/home/jon/open-nti# docker ps CONTAINER ID        IMAGE                                  COMMAND                  CREATED             STATUS              PORTS                                                                                NAMES 38bb533f155a        open-nti_input-oc                      "/entrypoint.sh /sou…"   2 hours ago         Up 25 minutes       8092/udp, 8125/udp, 8094/tcp, <IP_ADDRESS>:50051->50051/udp                                                               opennti_input_oc 68245d06f1e9        kapacitor:1.5.0                        "/entrypoint.sh kapa…"   2 hours ago         Up About an hour    <IP_ADDRESS>:9092->9092/tcp                                                                                kapacitor da887f86754a        quay.io/influxdb/chronograf:<IP_ADDRESS>    "/usr/bin/chronograf…"   2 hours ago         Up About an hour    <IP_ADDRESS>:8888->8888/tcp                                                                                chronograf_con 8b1fc3355ca0        juniper/open-nti-input-syslog:latest   "/bin/sh -c /home/fl…"   2 hours ago         Up About an hour    5140/tcp, 24220/tcp, 24224/tcp, <IP_ADDRESS>:6000->6000/udp                                                               opennti_input_syslog d49d6592b6f5        juniper/open-nti-input-jti:latest      "/bin/sh -c /fluentd…"   2 hours ago         Up About an hour    <IP_ADDRESS>:50000->50000/udp, 24284/tcp, <IP_ADDRESS>:50020->50020/udp                                                        opennti_input_jti 8bbc1b89010b        juniper/open-nti:latest                "/sbin/my_init"          2 hours ago         Up About an hour    <IP_ADDRESS>:80->80/tcp, <IP_ADDRESS>:3000->3000/tcp, <IP_ADDRESS>:8083->8083/tcp, <IP_ADDRESS>:8086->8086/tcp, <IP_ADDRESS>:8125->8125/udp   opennti_con

TCP Resets when accessing the gui

Hi @bodleytunes
Old admin UI has been removed from influxdb , please see :
https://github.com/influxdata/influxdb/pull/8306
https://github.com/influxdata/influxdb/issues/8273.
Use chronograf instead
port 8083 is no longer being used. We will remove from the Dockerfile as soon as possible and update the documentation.
From the logs you've attached, I can see measurements in the juniper database
logs1.txt
root@23f9d31cbf51:/# influx -database juniper -execute 'show measurements'
name: measurements
name
juniperNetworks.jnprLogicalInterfaceExt
juniperNetworks.jnpr_firewall_ext
juniperNetworks.jnpr_interface_ext
logs2.txt
root@23f9d31cbf51:/# influx -database juniper -execute 'show measurements'
name: measurements
name
juniperNetworks.jnprLogicalInterfaceExt
juniperNetworks.jnpr_firewall_ext
juniperNetworks.jnpr_interface_ext
Regards

Hi
Yes looks like DB was getting data all along it was just bundled dashboards in grafana not showing any data so I have started to build my own and it seems to be working now.
Cheers!
Jon.


Remove code bloat in public SDK for 64K roms

Yep, this is cleaner. As much fun as it was to always deliberately take a bus fault during startup


Kensington.kensington works 3.1.6 7511941b 3f26 43b6 9c8b ea4d3d5be703

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.5 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Automatic Validation ended with:

WixQuietExec:  ERROR: The process "KensingtonWorks2.exe" not found. WixQuietExec:  ERROR: The process "tbwhelper.exe" not found. WixQuietExec:  Error 0x80070080: Command line returned an error. WixQuietExec:  Error 0x80070080: QuietExec Failed WixQuietExec:  Error 0x80070080: Failed in ExecCommon method CustomAction CA_KillKensigtonWorks returned actual error code 1603 but will be translated to success due to continue marking Action start 8:06:06: WixSchedFirewallExceptionsUninstall. SchedFirewallExceptions:  Component 'tbwhelper_x86' action state (1) doesn't match request (2) SchedFirewallExceptions:  No firewall exceptions scheduled Action ended 8:06:06: WixSchedFirewallExceptionsUninstall. Return value 1. Action start 8:06:06: WixSchedFirewallExceptionsInstall. SchedFirewallExceptions:  Scheduling firewall exception (1?KensingtonWorks Helper?2147483647?<IP_ADDRESS>?1?2?C:\Program Files\Kensington\KensingtonWorks2\tbwhelper.exe??-2147483648?This localhost-only rule allows KensingtonWorks Helper to handle incoming configuration requests from the GUI.) Action start 8:06:06: WixRollbackFirewallExceptionsInstall. Action ended 8:06:06: WixRollbackFirewallExceptionsInstall. Return value 1. Action start 8:06:06: WixExecFirewallExceptionsInstall. Action ended 8:06:06: WixExecFirewallExceptionsInstall. Return value 1. Action ended 8:06:06: WixSchedFirewallExceptionsInstall. Return value 1.

This is a driver install prompt.
I don't think there is a way to silently agree to this since the dialog box comes from Windows itself, not the installer.

Automatic Validation ended with:

WixQuietExec:  ERROR: The process "KensingtonWorks2.exe" not found. WixQuietExec:  ERROR: The process "tbwhelper.exe" not found. WixQuietExec:  Error 0x80070080: Command line returned an error. WixQuietExec:  Error 0x80070080: QuietExec Failed WixQuietExec:  Error 0x80070080: Failed in ExecCommon method CustomAction CA_KillKensigtonWorks returned actual error code 1603 but will be translated to success due to continue marking Action start 8:06:06: WixSchedFirewallExceptionsUninstall. SchedFirewallExceptions:  Component 'tbwhelper_x86' action state (1) doesn't match request (2) SchedFirewallExceptions:  No firewall exceptions scheduled Action ended 8:06:06: WixSchedFirewallExceptionsUninstall. Return value 1. Action start 8:06:06: WixSchedFirewallExceptionsInstall. SchedFirewallExceptions:  Scheduling firewall exception (1?KensingtonWorks Helper?2147483647?<IP_ADDRESS>?1?2?C:\Program Files\Kensington\KensingtonWorks2\tbwhelper.exe??-2147483648?This localhost-only rule allows KensingtonWorks Helper to handle incoming configuration requests from the GUI.) Action start 8:06:06: WixRollbackFirewallExceptionsInstall. Action ended 8:06:06: WixRollbackFirewallExceptionsInstall. Return value 1. Action start 8:06:06: WixExecFirewallExceptionsInstall. Action ended 8:06:06: WixExecFirewallExceptionsInstall. Return value 1. Action ended 8:06:06: WixSchedFirewallExceptionsInstall. Return value 1.


Auth routing setup

Auth routing setup is done!
partial fix of #161

check this out and let me know if you need any changes! @abhijeet007rocks8 @DhairyaBahl

@akshay1027 There are merge conflicts Please resolve them.
If you face any issues to resolve them contact me.
Also login/signup should not be a separate identity it need to be invoked first them it would lead to messages

okay, I will try to change it!

@akshay1027 resolve the conflicts and kindly tell me what is the status of the PR ?

@akshay1027 Please resolve the merge conflicts so that we can merge the PR

conflicts resolved @abhijeet007rocks8 @DhairyaBahl

please check it out!


Ospray2 gui

This PR is based off the gui refactoring PR. Once that is merged this can be retargeted at master.
OSPRay can be built conditionally with the BUILD_OSP option in CMake. The path for OSPRay is configured in the site.NCAR file. The latest release of OSPRay, v2.4.0, works out of the box.

@StasJ, how does one configure the environment to build with OSPray? I downloaded 2.4 and installed it in /Users/clyne/apps/ospray-2.4.0.x86_64.macosx. But when I set the OSPRAY target in cmake to this directory I get:
WARNING: Target "vapor" requests linking to directory
"/Users/clyne/apps/ospray-2.4.0.x86_64.macosx".  Targets may link only to
libraries.  CMake is dropping the item.
WARNING: Target "vaporpychecker" requests linking to directory
"/Users/clyne/apps/ospray-2.4.0.x86_64.macosx".  Targets may link only to
libraries.  CMake is dropping the item.
WARNING: Target "render" requests linking to directory
"/Users/clyne/apps/ospray-2.4.0.x86_64.macosx".  Targets may link only to
libraries.  CMake is dropping the item.
WARNING: Target "render" requests linking to directory
"/Users/clyne/apps/ospray-2.4.0.x86_64.macosx".  Targets may link only to
libraries.  CMake is dropping the item.

@StasJ, how does one configure the environment to build with OSPray? I downloaded 2.4 and installed it in /Users/clyne/apps/ospray-2.4.0.x86_64.macosx. But when I set the OSPRAY target in cmake to this directory I get:
WARNING: Target "vapor" requests linking to directory
"/Users/clyne/apps/ospray-2.4.0.x86_64.macosx". Targets may link only to
libraries. CMake is dropping the item.
WARNING: Target "vaporpychecker" requests linking to directory
"/Users/clyne/apps/ospray-2.4.0.x86_64.macosx". Targets may link only to
libraries. CMake is dropping the item.
WARNING: Target "render" requests linking to directory
"/Users/clyne/apps/ospray-2.4.0.x86_64.macosx". Targets may link only to
libraries. CMake is dropping the item.
WARNING: Target "render" requests linking to directory
"/Users/clyne/apps/ospray-2.4.0.x86_64.macosx". Targets may link only to
libraries. CMake is dropping the item.

@clyne you should be setting OSPRAYDIR, not OSPRAY (There is a an example in the site.NCAR file for my setup)

@stasj the gui refactoring PR has been merged.

@clyne There appears to be a problem with GitHub. When you run git diff locally, it works as expected and only shows about 3.5k insertions and 2k deletions, whereas GitHub is showing 4.4k insertions and 20k deletions.

@StasJ is there something you need me to do? This passes checks earlier.

@StasJ is there something you need me to do? This passes checks earlier.

GitHub was showing the wrong diff (different from when I ran the diff manually locally) so I recreated the PR in a way that github will definitely work (#2401)


Plans for release with maven

Are there any plans for releasing new versions with Maven ? It would be easier for me to download substance and its dependencies with maven.

https://github.com/kirill-grouchnikov/substance/issues/20


Add support for allowFontScaling

All the text elements in the datepicker had the default value of allowFontScaling={true} and there was no way to change that. I would like to use this component but have the option to turn font scaling off. So i added a new property with the same name, and then put in the logic next to all the <Text components. I do not know your code base like at all. I did all these changes in the last half hour, so I may have missed other places there are  but i think i got em all. Let me know what you think about the changes.

Coverage remained the same at 98.276% when pulling 5e42ef38b64b9aba7d11b51b901878a88c0483c0 on matuszeg:master into 58ed2b1fa9c6f372104788e6d2b5fa960be2792f on xgfe:master.

Coverage remained the same at 98.276% when pulling b0eb48f538411a945f5703eff152d9e9a8e1ee1e on matuszeg:master into 58ed2b1fa9c6f372104788e6d2b5fa960be2792f on xgfe:master.

Any progress with this PR?

I haven't heard anything. It looks like no one has touched the project since October 2017 and I creeped on the top contributor's public activity and there is nothing for months. There are a lot of pull requests and issues adding up.


version not updated in md_store.json

A little one.
When installing a newer version, the version not updated in md_store.json.
"version": "0.8.0-git",

Fixed in v0.9.1
This version is no longer kept in the file. Instead, the store has its own version number that allows to upgrade the store when formats change.


Gradle Tooling API cannot build HierarchicalEclipseProject model for a project using appengine plugin

Using com.google.appengine:gradle-appengine-plugin:1.9.17 I get the error:
java.io.File cannot be cast to org.gradle.api.artifacts.Configuration

I raised the following error with the Eclipse and Gradle folks. They've directed me to raise an issue here. All details are available here: http://forums.gradle.org/gradle/topics/gradle-tooling-api-cannot-build-hierarchicaleclipseproject-model-for-a-project-using-appengine-plugin?utm_source=notification&utm_medium=email&utm_campaign=new_reply&utm_content=reply_button&reply[id]=15222186#reply_15222186
The code that need to fixed is:
https://github.com/GoogleCloudPlatform/gradle-appengine-plugin/blob/d866b74bc648a56a50909670691b8566cf2a45e3/src/main/groovy/com/google/appengine/AppEnginePlugin.groovy#L672
To change
plugin.model.classpath.plusConfigurations += functionalTestRuntimeConfiguration

To:
plugin.model.classpath.plusConfigurations += [functionalTestRuntimeConfiguration]

Please look into this. Many thanks!

Great! I'll take a look at this. We don't get much feedback from eclipse users so please report anything you find.

I'll put this is, we're always open to pull requests though, so please feel free to send in fixes as PRs in the future!

Thanks!


Workspace does not work

VSCode Version:1.30.0-insider (1.30.0-insider)(07202fb, 2018-12-04T06:06:15.581Z)
OS Version: MacOS 10.14.1

Steps to Reproduce:

update to the latest insider version
open a workspace

The vscode has bugs like this:

Does this issue occur when all extensions are disabled?: Yes/No

Duplicate of https://github.com/Microsoft/vscode/issues/64292


a bug while resume

Hi, Xumin. Thanks for your splendid work, it inspires me a lot. But I find a bug while resuming. The code would be killed by the system

Then I use "--resume" to resume it. I find the learning rate is not correct.(My initial learning rate is 0.0002)

Hi, thanks for you interest in our work.
Can you take a look into this bug and then raise a pull request.

I find that scheduler is not resume. Take 'last_epoch' into consideration for StepLR, LambdLR can solve this problem. CosLR does not need to be modified.
builder.py

misc.py

runner.py

have you solved the problem?

Yes, I solved it. I modified 'last_epoch' to resume learning rate.

have you solved the problem?

Yes, I solved it. I modified 'last_epoch' to resume learning rate.

have you solved the problem?

Yes, I solved it. I modified 'last_epoch'  in the code aforementioned to resume learning rate

Yes, I solved it. I modified 'last_epoch' in the aforementioned code to resume learning rate.

The code is updated in 7b411c2aa50412f3c7b65923104681c05fe9e38e

have you solved the problem?

Yes, I solved it. I modified 'last_epoch' in aforementioned code to resume learning rate.


Add Finishing Reagents to Jewelcrafting

This adds the finishing reagents to JC.

This is covered by global

does this bug still exist in 2<IP_ADDRESS> ?


feat(validation): allow manual statuscode on validation error

Current dependencies on/for this PR:

main

PR #81

PR #82

PR #83

PR #84

PR #85

PR #86

PR #87   👈

This comment was auto-generated by Graphite.

Current dependencies on/for this PR:

main

PR #81

PR #82

PR #83

PR #84

PR #85

PR #86

PR #87   👈

This comment was auto-generated by Graphite.

Graphite Merge Job
Current status: ⏳ Queued to merge
This pull request is currently queued to be merged as part of a stack.
This comment was auto-generated by Graphite.

Job Reference: WMaDhgzSyZLMN10U1aZP


added bdd tests for actions like and dislike

Codecov Report

Merging #81 (7d6ac1c) into master (57bed23) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #81   +/-   ##
=======================================
  Coverage   95.39%   95.39%
=======================================
  Files           7        7
  Lines         304      304
=======================================
  Hits          290      290
  Misses         14       14

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

IBM Cloud toolchain: Delivery Pipeline deployed recommendations to nyu-devops, including commit f744c4506f1a0c0dadc9c1eccedc2daa19d5a7a3


Give SingletonVector{<:NamedTuple} the Tables.jl interface

xfail: https://travis-ci.com/tkf/BangBang.jl/builds/135127974

Codecov Report

Merging #37 into master will decrease coverage by 0.5%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##           master      #37      +/-   ##
==========================================
- Coverage   87.95%   87.45%   -0.51%
==========================================
  Files          17       17
  Lines         249      255       +6
==========================================
+ Hits          219      223       +4
- Misses         30       32       +2

Impacted Files
Coverage Δ

src/NoBang/NoBang.jl
100% <ø> (ø)
:arrow_up:

src/NoBang/singletoncontainers.jl
73.33% <66.66%> (-4.45%)
: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 8d18bb2...0eb3142. Read the comment docs.


Update visual-studio-code.md

Important step Filesystem Image build + upload added

This is a fix. Resolves https://github.com/rancilio-pid/ranciliopid-handbook/issues/49


TypeError

Traceback (most recent call last):
File "C:\Python39\lib\site-packages\brawlstars\client.py", line 66, in get_player
raise HTTPError(resp.status_code)
File "C:\Python39\lib\site-packages\brawlstars\errors.py", line 29, in init
self.error = 'An error occurred. Status: ' + code
TypeError: can only concatenate str (not "int") to str
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\prog\PycharmProjects\untitled3\brawltracker.py", line 4, in
player = client.get_player(tag="Q8P2ULP")
File "C:\Python39\lib\site-packages\brawlstars\client.py", line 72, in get_player
raise Timeout()
brawlstars.errors.Timeout
Process finished with exit code 1.
code must be str?

bruh


invalid literal for int() with base 10: - need help finding what is causing the problem

I'm not sure where to trace this too. Any help would be welcome.
Here's the error:
File "/home/dminlgp/.virtualenvs/dminlgp.com/src/django-threadedcomments/threadedcomments/models.py", line 26, in _root_id
return int(self.tree_path.split(PATH_SEPARATOR)[0])
ValueError: invalid literal for int() with base 10: ''

This seems to be caused by malformed model instance - in it's tree_path it should contain the ID of itself and of all it's ancestors in the reply tree.

wow, thanks for the quick response.
If I understand what your saying, I'm not passing the right info to the view? Or is it something else?

no, it's something else - the model wasn't save()d properly. Are you using transactions? did any error occur during the saving of the document?
If you could dump the model into fixtures and post it somewhere maybe we can figure it out.

same problem here, anybody was able to fix it ?

Are you nominating a custom field as a primary key? Threaded-comments uses generic forignkeys, and they all expect integers as your PK.

Threaded-comments uses generic forignkeys, and they all expect integers as your PK.
I provide integers as PK

Not the same problem I had. Sorry mate.

If this is still happening, please let me know. I'm closing now for inactivity.

Is this issue still happening? I have a hard time reproducing it. Can someone post example code that causes this?


Force plasma off in custom modes

It seems that the device goes into some inconsistent state. Invoking auto command turns on plasma but the endpoint still says plasma is off. Forcing plasma=off does fix the issue so I am going with that.
#47

I have pushed out a fix, give that a try.


add snapTo method to animate height

Hi I need this feature to be able to migrate my old library to new( your library) I hope we could merge this immediately.


App crashing when Allow location permission [Android]

🐛 Bug Report

App is crashing when Allow location permission, location permission is requested like this:
i'm using the latest Geolocator package.
LocationPermission permission = await Geolocator.requestPermission();
Expected behavior
work without app crashing, after allow location permission
Reproduction steps
Configuration
Version: 1.x
Platform:

[ ] :iphone: iOS
[x] :robot: Android

Same here 😿. Seems like transitive dependency issue. In my case it was camera package bump which bumped geolocator_android to 4.1.7 from 4.1.4
Quick fix was to force the older version
# https://github.com/Baseflow/flutter-geolocator/issues/1230
dependency_overrides:
  geolocator_android: 4.1.4

The log is provided in natsuk4ze/gal#47 in my repo.

Thanks for weighing in @natsuk4ze, glad you were able to fix it in gal. This might indeed mean that the problem is not with geolocator, but often with another plugin that does not correctly handle permission request results.
@hashnetic can you provide us with the dependencies in your pubspec.yaml? We can verify whether this is the case with your issue and file issues at the appropriate repositories.

me too


No comment preservation for parenthesized expressions

@evmar ran into issues where generating a JSDoc comment for a type assertion for Closure did not get preserved.
Neither
var x = (/** @type {Foo.Bar} */ y);

nor
var x = /** @type {Foo.Bar} */ (y);

have their comments preserved, though I'm not sure which is more common.

@DanielRosenwasser
var x = /** @type {Foo.Bar} */y;

is also unpreserved. It's no unique to parenthesized expressions.

Also happens for dotted expressions:
let x = /** @type {string} */ foo.bar;

Not sure if related, but it also happens for regular comments when they appear before a }:
// Comment
let a = 5;
// Another comment
if (a === 5) {
    alert('hello world');
    // Third comment
}

Compiles to:
// Comment
var a = 5;
// Another comment
if (a === 5) {
    alert('hello world');
}


chore(docs): Updated the readme

Current dependencies on/for this PR:

main

PR #6   👈

This stack of pull requests is managed by Graphite.


Unable to add default webhook for Telegram

Gitea version (or commit ref): 1.9.1
Git version: 2.7.4
Operating system: Linux 4.4.0-116-generic 140-Ubuntu SMP Mon Feb 12 21:23:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Database (use [x]):

[ ] PostgreSQL
[X] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[X] No
[ ] Not relevant

Log gist:

Description
Tried adding Telegram as a default webhook resulted in a empty tab pane:
Site Administration -> Default Webhooks ->  Add Webhook -> Telegram
Note: Adding Telegram webhook manually by repository does work.
Screenshots

Looks like that was forgotten when the webhook was added. I'll make a PR with a fix.


Iframe click (emitOnBlur)

References https://github.com/arkon/ng-click-outside/issues/32
Adds emitOnBlur input which enables emitting of event when user clicks e.g. on iframe.

This is great! Waiting on this feature!

Published in v3.3.0. Thanks @DanielKucal!


[Bug] Got error when executing "gravitino-fileset-example.ipynb" in Jupyter notebook

Start Gravitino playground, open Jupyter notebook, open "gravitino-fileset-example.ipynb", and then execute step by step.
When execute the second step,
metalake = gravitino_admin_client.create_metalake(name=metalake_name,
                                                  comment="metalake comment",
                                                  properties={})

it reported error:
TypeError                                 Traceback (most recent call last)
Cell In[6], line 9
      7 # Create metalake via Gravitino admin client
      8 metalake_name="default"
----> 9 metalake = gravitino_admin_client.create_metalake(name=metalake_name,
     10                                                   comment="metalake comment",
     11                                                   properties={})
     12 print(metalake)

TypeError: GravitinoAdminClient.create_metalake() got an unexpected keyword argument 'name'

It seems that, the scripts in notebook used the un-released 0.6.0 python API, while pip installed is old 0.5 release (see https://github.com/apache/gravitino/blob/v0.5.1/clients/client-python/gravitino/client/gravitino_admin_client.py).
To fix, the notebook should use old API, unstill 0.6.0 got released.

My fault, my environment is not clean. Close this issue.


Improve error handling and output a summary message

Background

https://github.com/cookpad/global-data-platform/issues/676

While we are using the nightly E2E test runs to check the Snowplow collector state, we need to be careful that issues that arise when checking the collector do not interfere with the reporting of the overall E2E test run, especially now while things are under development.
Currently, when the Check Collector step runs, if we can't reach the instance for whatever reason the experience is a less than desirable for a couple of reasons:

The message output in Slack is missing counts so it looks a little odd
The overall build on Bitrise will fail, which can be confusing for other teams

Ideally we want to be able to minimise the disruption here if possible.
Changes
These changes go hand in hand with other changes in cookpad/bitrise-step-snowplow-micro-reset-collector#2 and aim to do the following:

We now set a new SNOWPLOW_MICRO_COLLECTOR_SUMMARY output with a description both upon success and on any kind of failure.

This message can be used in the Slack output.
Setting it here helps because we don't have to construct it manually (and badly in error scenarios) in both iOS and Android workflows

If the $total, $bad or $good variables aren't set (i.e because the curl command failed), we no longer will fail the build and instead will exit and set the summary to something else.

To better reflect the changes, I also renamed the fail_for_bad_events input to fail_on_error.
To test the negative user journeys, you can see this test build here: https://app.bitrise.io/build/54aa8fff-150c-4a60-9dc8-b401ffade251

@dss-kenya, @waliahimanshu: The biggest thing to note here is that after these changes are ready, you can just use $SNOWPLOW_MICRO_COLLECTOR_SUMMARY in the Slack message instead of forming it yourself 👍


Pep8 and other fixes

This builds on top of #27 and should be reviewed afterwards.
It is mostly a combination of pycodestyle (pep8) changes and other cleanup from pyflakes.
In addition .travis.yml was changed to exercise the plugin and to ensure future changes follow pep8 and don't introduce errors.
This still doesn't bump the setup because I still want to do a few more things but they should be relatively small compared to this and #27.

This is ready for review now.

on my todo for the day

Ping

finally found some time to do this, nice work @fgsch


Question: Certificate / Key Based Authentication

Looking at the previous bug reports, it looks like the asyncssh plugin was setting the agent_path to None, and thus breaking ssh-agent forwarding.
I've think I've implemented the proper syntax to do agent forwarded authentication via keys, but it doesn't seem to work. Below is a configured profile for connecting. Is there something wrong, or even better, an example of agent based authentication?
ASR = { 'host': "<IP_ADDRESS>", 'auth_username': 'testing', 'auth_password': '', 'auth_strict_key': False, 'transport': 'asyncssh', 'transport_options': {'agent_path': () }, 'driver': AsyncIOSXEDriver }

offhand I think you are missing asyncssh in transport options -> {"transport_options": {"asyncssh": {stuff}} -- maybe ya can give that a shot and/or if you have an example of what works w/ asyncssh directly would be easy to see how we can plug it in here. im just looking here since I dont know for sure :D -- wanna try that and let us know if that helps?

That is fair. I've added your option below, and it doesn't seem to work? Note, I have to re-dictate the code below, so it may have some typos.
`
import json
import asyncio
import sys
import getpass
from scrapli.driver.core import AsyncIOSXEDriver, AsyncNXOSDriver
ASR = { 'host': '<IP_ADDRESS>', 'auth_username': 'testing', 'auth_password': '', 'auth_strict_key': False, 'transport': 'asyncssh', 'transport_options': {'asyncssh': {'agent_path': () }}, 'driver': AsyncIOSXEDriver }
N9K = { 'host': '<IP_ADDRESS>', 'auth_username': 'testing', 'auth_password': '', 'auth_strict_key': False, 'transport': 'asyncssh', 'transport_options': {'asyncssh': {'agent_path': () }}, 'driver': AsyncNXOSDriver }
DEVICES = [ASR,N9K]
async def fetch_data(device):
driver = device.pop("driver")
async with driver(**device) as conn:
responses = await conn.send_commands(["show ip int brief", "show version"])
return responses
async def main():
coroutines = [fetch_data(device) for device in DEVICES]
results = await asyncio.gather(*coroutines)
for result in results:
print(result.result)
if name == "main":
USERNAME = input("Enter username: ")
while True:
password = getpass.getpass(prompt="Password: ")
password2 = getpass.getpass(prompt="Repeat Password: ")
if password == password2:
PASSWORD = password
break
for key, value in ASR.items():
ASR["auth_username"] = USERNAME
ASR["auth_password"] = PASSWORD
for key, value in N9K.items():
N9K["auth_username"] = USERNAME
N9K["auth_password"] = PASSWORD
asyncio.run(main())
`

do you have a working example w/ asyncssh? quickly searching looks like you may need to actually specify the path there or have the env var set to define it. copy/pasta from asyncssh docs:
agent_path (str) – (optional) The path of a UNIX domain socket to use to contact an ssh-agent process which will perform the operations needed for client public key authentication, or the SSHServerConnection to use to forward ssh-agent requests over. If this is not specified and the environment variable SSH_AUTH_SOCK is set, its value will be used as the path. If this argument is explicitly set to None, an ssh-agent will not be used.

If you're asking if I have a working example using asyncssh and key based auth, then no. The example above is a working example with password based auth.
I saw that section you're referencing previously. SSH_AUTH_SOCK is set as if I echo it, then I get a value. ssh-add -L also confirms the agent is functioning and regular ssh to device works with key based auth. However I've been trying different permutations, such as excluding the transport_options section, including it with the agent_path undefined without success.

I think you just need to get this working w/ asyncssh; then it will be very easy to make work w/ scrapli as we are literally just passing the options directly to asyncssh. you can try to actually set the agent path explicitly I guess. you could try to specify keys directly too to make sure everything works without the agent bits.
I'm going to close this though as I dont think there is any scrapli related issue here. if you have a working example w/ asyncssh and that doesn't/can't be made to work w/ scrapli, or there is some scrapli specific issue here then defo reopen, but I dont think (always subject to being proven wrong!) thats the case since im pretty sure this was all put to bed in #266/#268

Just getting back from vacation. I apparently didn't know what you were asking. But here is a working example with asyncssh using keys.
import asyncio, asyncssh, sys

async def run_client() -> None:
    async with asyncssh.connect('<IP_ADDRESS>') as conn:
        result = await conn.run('ls abc', check=True)
        print(result.stdout, end='')

try:
    asyncio.get_event_loop().run_until_complete(run_client())
except (OSError, asyncssh.Error) as exc:
    sys.exit('SSH connection failed: ' + str(exc))

OK, found the problem. Apparently for one of the two devices that I didn't update the transport options like you've stated. If looks like I'll have to provide some error handling in that case so that devices that work will come back and devices that don't will fail gracefully.


[add] site group Inquiry form feature

Coverage decreased (-39.8%) to 39.163% when pulling d28d8cc534ce2bf310d5a242285768e935bb929d on inquiry-group into 2425ef71530a07f9a0d53ca4820b05b2e992b922 on master.


Distribute CSS files in releases

material-ui would be much more user-friendly if it were possible to download it as a set of CSS files and examples. Currently there is a high barrier to using the project unless you're familiar with node/npm/browserify/react.
relates to #58 #63 #78

This may not be necessary if we do #30 .

CSS / LESS files are no longer needed as of v0.8


ES 2022?

Can you pls. change these two numbers to change the ES version to 2022?

This is now available in v2.1.0