add demos

Add demos and try to dix the demo issues

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
257

Relevant Lines:
278

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
257

Relevant Lines:
278

💛  - Coveralls


Add an open license for the code and data

Currently, I don't see any license for the code or data mentioned in the repo. This is problematic for reuse.
I'd suggest the following:

CC BY 4.0 for GO and GOA data, since that license is used by GO.
CC0 for the GO embeddings that are produced by this study (see #1).
A permissive software license for the code, such as BSD or MIT.

Thanks for the good suggestions. I have updated the license in Readme file.

Thanks! I see the license related commits in this range 78c830300f55f792ca73b428d3bb2f79589c6cd5...af71d1da3cc24d97e2ae4a7b88ec46325365b1ee. Much appreciated.


msglist: Add end-of-feed whitespace; use background color from Figma

Screenshots coming soon. (Both sets of screenshots were made with #399 in the branch, for no particular reason except to avoid showing an unrelated bug that might be distracting.)
Fixes: #400
Fixes: #401

Before
After

Or to see both the top and bottom of a message list at the same time (when there are very few messages):

Before
After

Thanks for these fixes! Looks good — merging.
@terpimost, Chris has a question for you in the last commit:
https://github.com/zulip/zulip-flutter/commit/3b95070d3
Happy to make further adjustments depending on your answer, but merging this now because I'm pretty sure this is an improvement in any case.


[HUDI-7438] Add GitHub action to check Azure CI report

Change Logs
This PR adds the GitHub action to check Azure CI report.  The action fails if Azure CI does not pass.
The action checks the last hudi-bot comment to look for the Azure CI report on the latest commit of the PR.
Impact
Enforces Azure CI check.
Risk level
none
Documentation Update
N/A
Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

Testing new comment, which should trigger Azure CI / check-azure-ci-report to rerun.

Testing new comment again

New comment

new comment

new comment

new comment

Test

New comment

New comment

New comment

new comment

test

new comment

test

Based on GitHub docs, issue_comment event will only trigger a workflow run if the workflow file is on the default branch.  So I have to land this PR on master to test if issue_comment event triggers really work.

Merging this one as the PR only touches GitHub workflows of the repo.


Can it support double-click zoom in and out? And multiple pictures?

Hi! That wasn't one of the goals of this project. The primary goal was to just replicate the pinch zooming on Instagram.


Documenting error messages produced by quorum with suggested actions.

Pull Request Description
Documenting error messages produced by quorum with suggested actions.
Fixed Issue(s)
N/A
Testing
See https://pegasys-docgoquorum--14.com.readthedocs.build/en/14/HowTo/Logging and Errors/

Note: link checker is broken and I'm working on fixing it. I will merge the fix in this PR as soon as possible so we can merge it. Thanks for your understanding.


"Cerchezu" is listed in the drop-down menu

Description:
When user writes "Cerchezu" the location appears in the drop-down menu next to the comune and the county witch is a part according to the law
Precondition:
The website is up an running.

Step 1
Write in the search bar "Cerchezu"

Expected results
The location appears in the drop-down menu as "Comuna Cerchezu, CONSTANȚA"


Build failure: liquibase

Steps To Reproduce
Steps to reproduce the behavior:

Use a NixOS Flake that refrences the unstable branch build with liquibase as one of the environment.systemPackages.
Run a nixos-rebuild switch.
Get an error regarding /nix/store/5qax6r6kxi4spn5bc7qjpgglxb9kvhxp-liquibase-4.29.2.drv, please see Build log below.

Build log
error: builder for '/nix/store/5qax6r6kxi4spn5bc7qjpgglxb9kvhxp-liquibase-4.29.2.drv' failed with exit code 1;
       last 3 log lines:
       > Running phase: unpackPhase
       > unpacking source archive /nix/store/v12lcsjxsq3n4lgi8za3k9mqc8pak59b-liquibase-4.29.2.tar.gz
       > unpacker produced multiple directories
       For full logs, run 'nix log /nix/store/5qax6r6kxi4spn5bc7qjpgglxb9kvhxp-liquibase-4.29.2.drv'.
error: 1 dependencies of derivation '/nix/store/0axj206cqqnd0kqd9qji9704yrrcc10c-system-path.drv' failed to build
error: 1 dependencies of derivation '/nix/store/kb8yfknl9krrnxs6ddg5bzwk48501kcj-nixos-system-nixos-24.11.20241004.bc947f5.drv' failed to build

Additional context
From what I can tell, there's no update to Liquibase since my system already has version 2.29.2 from an earlier nixos-rebuild switch that I ran last week.  I can confirm that removing liquibase  from environment.systemPackages allows me to update my system without errors.
Notify maintainers
John Soo<EMAIL_ADDRESS>

Confirmed fixed in #346148, might take a few days to reach nixos-unstable. nixos-24.05 is not affected.


Fix deprecation warnings for node12 actions and set-output commands

Using<EMAIL_ADDRESS>(the latest release at the moment) results in multiple deprecation warnings in the workflow logs:

Node.js 12 actions are deprecated. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/. Please update the following actions to use Node.js 16: cpcloud/flake-dep-info-action, cpcloud/flake-dep-info-action
The set-output command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

These warnings are caused by some dependencies in action.yml referring to old versions of actions (not just the mentioned cpcloud/flake-dep-info-action, but also some other ones that need updating to avoid the deprecated set-output usage). Update those actions to avoid the deprecation warnings.

Thanks for the PR, and sorry I missed this a while ago!
I've just put cleaned up this whole dependency tree to use GITHUB_OUTPUT, so this PR is no longer necessary.
I'll also add a mend renovate setup to help keep the github actions up to date.


Added example for database presistence using databases library.

@alex-oleshkevich
I got working one implementation with starlette-databases-imia combination. It is not that neat but is working perfectly.
Kindly check the issue #4 and thanks for guiding in the right direction.

@alex-oleshkevich If it looks good, then I would run some pep8/flake8 on top of this and put some comments.

I am going to implement providers for databases, async sqlalchemy core, and async sqlalchemy ORM, tortoise, and gino soon.
Your example is very valuable!

Hi @jeetu7, can you pls update your examples to have the same code style and format as ones in examples/ dir? Thanks!


Synchronous env detection via <WithEnvironment />

Part of #59
This PR implements <WithEnvironment /> component which can be used to detect the current env. It has an improved check for Preact that relies on the number of arguments passed down to render() and it doesn't require a re-render. I haven't wired it up with the rest of the code yet (I plan to do that in the next PR), as there are some caveats we need to discuss first:

It uses a class keyword which could potentially increase the bundle size since we target es5 in the config. I don't think it would create any issues though, but proper bundle analysis is probably required
There is no proper test to check if the argument condition does indeed return true when rendered via Preact. I guess that's the responsibility of a more higher-level integration test, ideally covered by <FpjsProvider /> tests, but I didn't want to overload the PR and wanted to make it more atomic.

Thanks for the PR @molefrog! I don't have any comments so far, everything looks good.
Let's keep this PR as a "feature branch" so that you can target your next PRs to this one, and once everything is ready we can merge it into a single release.

Let's keep this PR as a "feature branch" so that you can target your next PRs to this one, and once everything is ready we can merge it into a single release.

Good, I was actually going to propose the same thing. I'll try to get the next one ready early next week.

Hi @TheUnderScorer, I've just updated the branch with the changes we discussed:

FpjsProvider now uses WithEnvironment internally. This allowed me to simplify the initialisation logic and now the client is only initialised on a) the first render b) when the config changes if forceRebuild is set to true
I covered the new Preact detection logic with a simple test. Unfortunately, having two test suites in one file for React and Preact wasn't possible, there are some logic involved with the way modules are required. So I had to introduce a file with-environment.preact.test.tsx not sure if it matches the naming conventions so I'm open to feedback.

Thanks for the update @molefrog!
I like the preact test suite implementation, nice work!

@molefrog I've fixed all of the comments above, including the removal of SyntheticEventDetector which is not being used anymore in the code.

Thanks, @molefrog! From your perspective, do you think that there is anything left to do in regard of this PR?

Thanks, @molefrog! From your perspective, do you think that there is anything left to do in regard of this PR?

Well, I have tested all examples in the repo with a real API key, works as expected.
There is one additional commit I haven't added here, which is supposed to add an extra check before we call cloneElement in WithEnvironment. Calling cloneElement on plain children (text, booleans etc.) breaks the render, however our types don't allow such children.
https://github.com/molefrog/fingerprintjs-pro-react/commit/215d674ad462e6696a8605501d3cd4c638fc50d8
I think we can safely ignore this, but it is up to you.

Hi! Just curious if there is anything else that I should consider working on in this PR 😃 I have some ideas for further improvements, but I just don't want overload this PR.

Hel @molefrog!
For now, I think that we can consider it finished 😃. Sorry for the overall delay, I was on holiday for the last couple of days.

:tada: This PR is included in version 1.4.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Unclear how to connect with LogRocket and/or to replay logs

The intro paragraph about LogRocket says this:

"Instead of guessing why errors happen, or asking users for screenshots and log dumps, LogRocket lets you replay Redux actions + state, network requests, console logs, and see a video of what the user saw."

But the README.md says nothing about how to accomplish this, it seems to imply that all the library does is output the actions and diffs to console. Did I misunderstand something?

Like, there must be some sort of API key/secret that I add to the installation, surely?

I was looking for a way to replay logs as well. Apparently the intro paragraph is misleading...cuz I couldn't find the replay logic anywhere. 🤷♂

So I tried installing LogRocket using the instructions on their site. It works, but has nothing to do with this repo. State history is recorded there for replay using their UI, but it there are no instructions as to how to export the state history and use it for replay locally, which is where the real debugging capabilities are for the developer.
LogRocket team: these empty promises vailed as open source support is in really poor taste. Wait until you're actually actively maintaining the repo before you slap your branding on it!!

Hi guys, engineer at LogRocket here. We appreciate the feedback and candor.
I do agree that we can make it clearer that redux-logger is a development tool, whereas LogRocket is a separate production-grade product by the same company. I would add that we were a long-time sponsor of this repo before it became part of our org, so the branding is nothing new. It's what pays the bills.
In general, here's how we look at it:
Redux-logger is a great enhancement to the primary frontend developer tool you already have open: your browser dev tools. Logs, network, exceptions, and performance metrics all shown in real-time as you develop/debug. Having redux in there just makes sense.
But if you want that in production, just getting redux logs dumped to the local console is pretty useless; you need it in a centralized location along with the other context. Which is where LogRocket comes in, you get all your redux actions along with all the context you need to interpret them (video, network, exceptions).
As for our usage of "replay", well, I'm open to ideas there. LogRocket as a tool is very much a video-analogue - replay is the natural word to describe what it does (show you what was "recorded").

Hi @pkriete thanks for your response.
LogRocket is an interesting product, now that I've tried it out - but that's a separate conversation.
The issue at hand is that the README.md is very misleading and needs to be rewritten. You need to make it clear that the paragraph about LogRocket is a promotion, and has nothing to do with this repo. Because as it's written right now, it implies that redux-logger does what LogRocket does, but they are two separate and unrelated things. LogRocket USES redux-logger, but redux-logger does not doo what LogRocket does.
As you can see by @dobre-robert-marius's comment, I was not the only one confused by this.


OIDC issue

I have a second problem, I tried to set up oidc
I added an oidc to Authenticators Methods, received data from Google API and wrote down the necessary:
"DomainURL": "https://my domain",
         "OIDC": {
             "IssuerURL": "https://accounts.google.com",
             "ClientSecret": "secret",
             "ClientID": "client ID",
             "GroupsClaimName": "groups"

In the Google management console, I specified Authorized redirect URIs for my domain (https://mydomain/authorise/oidc)
Also in the config I specified "accounts.google.com" in the allow section so that it would be available during the mfa
But when i choose SSO and choose my google account, then I get
https://mydomain/authorise/oidc?state=some key
ERR_CONNECTION_REFUSED
Could you please tell me what I'm doing wrong?
I also read a lot of documents about oidc but I can't understand what is the problem here

As I have only used hashicorp vault myself I cant really speak to what google does. Unfortunately this is probably a configuration issue on that side of things.
This is kind of bordering into "provide support" rather than detailing issues or feature requests for Wag.
While I love helping and supporting people that use Wag this can be a bit of a drain on my time and I am looking into options for providing paid support for setup and deployment issues.
Until that becomes a direct option if you wanted to donate I'd be more than happy to do an entire setup with a Google account on my side of things then give you a detailed step by step guide.

I got it, thanks a lot for the help anyway!


Note: this will require integration with #36

Bumping to v1.3


[WFLY-14226] Upgrade Mojarra to 3.0.0.SP03 in the EE9 feature pack

https://issues.redhat.com/browse/WFLY-14226
This upgrade incorporates fixes from the Mojarra 2.3.14.SP branch. The complete list of fixes included in Mojarra 3.0.0.SP03 can be seen here:
https://github.com/jboss/mojarra/compare/3.0.0.SP02...3.0.0.SP03

Thanks, @fjuma !


Collection, document, and subdocument-level security

The database needs to handle authorzization at three levels -- collection, document, and document path.  It cannot be left up to the application.  It must be supported for both application "drivers" (e.g., Java development) and ad-hoc queries (e.g., AQL).
Collection-level security:  The database should prevent users from being able to search collections to which they're not entitled.  Most document databases have limited/unreliable support for this.
Document-level security:  The database should prevent users from being able to search documents to which they're not entitled.  Most document databases don't support this.
Subdocument-level security (e.g., cell-level security in Accumulo):  The database should prevent users from being able to access parts of a single document to which they're not entitled.  For example, in a healthcare system with each patient record being materialized as a single document, the doctor should be able to see all of the patients PHI,but researchers should only be able to see .  Few databases of any striple handle this.  It's huge for law enforcement, intel, defense, and healthcare fields, where organization have been manually and unnaturally splitting/duplicating data around authorization patterns as opposed to having one copy of the data and having a database that could police access to specific fields.

From 3.2 onwards we do support collection-level security.
Finer grained access restrictions on a document or sub-document level are not planned
since this would negatively affect performance

For domain specific permissions also see the guide for creating a Foxx service with fine grained permissions in the updated training center: https://www.arangodb.com/foxx-fine-grained-permissions/


Update readme

Needs new development, debugging, and deployment instructions

Updated with #49, @aliciaxw will add Windows setup instructions.


Require log4j-2.16.0

Description
Added log4j 2.16.0 to the Gradle contraints
Issues Resolved
N/A
Check List

[x] New functionality includes testing.
[x] New functionality has been documented.

[x] New functionality has javadoc added

[x] Commits are signed with a real name per the DCO

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

:exclamation: No coverage uploaded for pull request base (1.2@c5ce4e1). Click here to learn what that means.
The diff coverage is n/a.

@@          Coverage Diff           @@
##             1.2     #749   +/-   ##
======================================
  Coverage       ?   91.43%
  Complexity     ?      604
======================================
  Files          ?       74
  Lines          ?     1798
  Branches       ?      154
======================================
  Hits           ?     1644
  Misses         ?      116
  Partials       ?       38

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 c5ce4e1...ce4a78b. Read the comment docs.


Apply Traits to Schema Registry, Digital Twins, Models Repository, WebPubSub, Mixed Reality

This works spans from https://github.com/Azure/azure-sdk-for-java/pull/26562  where interfaces to capture commonly occurring APIs at client builders has been created.

API changes have been detected in com.azure:azure-data-schemaregistry. You can review API changes here

API changes have been detected in com.azure:azure-digitaltwins-core. You can review API changes here

API changes have been detected in com.azure:azure-mixedreality-authentication. You can review API changes here

API changes have been detected in com.azure:azure-iot-modelsrepository. You can review API changes here

API changes have been detected in com.azure:azure-messaging-webpubsub. You can review API changes here


Dark theme error UI text is white on yellow.

Bug type
Component, Other
Component name
No response
What happened?
Illegible error text when DarkMode is set to true.

Expected behavior
Legible error text.
Reproduction link
https://try.mudblazor.com/snippet/QuQwvGFkahWFYrLc
Reproduction steps

Create new MudTemplate.
Set <MudThemeProvider IsDarkMode=true />
Add <MudButton OnClick="()=>{throw new Exception();}">Exception</MudButton> to index
Click the button

Relevant log output
No response
Version (bug)
6.0.13
Version (working)
No response
What browsers are you seeing the problem on?
Firefox
On what operating system are you experiencing the issue?
Windows
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

How about changing
background: lightyellow;

to this?
background-color: var(--mud-palette-error);
color: var(--mud-palette-error-text);

This would produce following results in default palettes:


Run SeeWhat on your local machine

assignment for @onebitme @asiliskender

@asiliskender bey I've finished

@onebitme me too!


Test output: duplicate, documentation, and suggestion

This should be a simple one. In my test run (#7: AWtest.zip), I labeled my output testOut. It returned:

testOut-diff.tif
testOut-filled.nc
testOut-flooded.nc
testOut-label.tif

These four returned files are pretty intuitive but not defined in the README.
The second and third items are identical, so these should be combined.
I am not sure of the value of returning the diff. It seems like it could be helpful -- or it could be unhelpful, if working with a very large DEM whose extra export could fill HDD space.
testOut-label.tif is obviously the set of leaf-depression labels.
Considering that you have so many outputs that are all named after this main name, I think it may make sense to do the same with the DH connectivity output, thereby changing the command-line way of operating the DH but having a more coherent set of outputs. This set of connections should be significantly smaller than the rasters, and the label.tif output will not be very useful without it.

I forget, is the "DH connectivity output" currently being saved out somewhere?

Yes, "DH connectivity output" is, as correctly stated on the README, the third argument (<OutGraph>). And the output looks good, with the ocean being 2**32-1 and everything else having an integer identifier.

Hmm, a related question. What outputs should there be? filled, flooded, and diff are really test/verification outputs. It might be that we should move that to a separate executable since they're not outputs that most users want.
To clarify: I see dephier.exe as being more of a demonstration executable than a serious tool that people would use.

That's a good point. And it seems that now that I've updated to your version, no outputs are appearing. Indeed. main.cpp in your version seems to still have no output code (vestige from speed tests?).
Related: Kerry posted an updated bug-fix PR for `main.cpp: https://github.com/r-barnes/Barnes2019-DepressionHierarchy/pull/4
If you see dephier.exe as more of a demo, perhaps the answer is to create some Python bindings that can allow users to more interactively.... um, interact with DH?

First off, this looks like a really cool and helpful project. I came across the ESurf papers yesterday and have spent a couple of hours trying to figure out how to use your code. I work mostly in karst and glacial systems, where we are often interested specifically in the surface depressions.
Usage has been a bit slow to figure out. I primarily work in Python (yes! to the Python bindings). While I have worked some in C++, most of that was more than a decade ago. I thought I would just list a few of the key things that were unclear or difficult for me when first approaching your code. Some of these things I have started figuring out by combing through the source code. However, I'd guess that if a user can't figure out how to use your tool without digging into the source, then that will eliminate the majority of the potential users (at least in the Geosciences), particularly if your source is C++.
Questions I had:

What are valid input formats for dems? (I'm guessing it should be ESRI ASCII, based on looking at the test dem files, but it would be nice to state this in the Readme).

What is output? This still isn't clear to me. In particular, is the Depression Hierarchy somehow output? What kind of data structure does it have? How would I read it in and do something with it?

What is ? Is this just the elevation that will be considered as ocean? Integer? Float? It also seems that I can specify a mask, but how do I do this (looks like maybe I just use no_data values)?

If dephier.exe is really just intended to be an example usage of your library rather than a serious tool, you should probably make this more explicit. In this case, a brief summary of the available functions in the library would also go a long way toward improving usability. Python bindings, with accompanying docs, would be even better.
I've also run into some compilation problems, but will create a separate issue to ask about that.

Hi Matt!

GDAL-compatible files: @r-barnes updated this in the README already.
It looks like @r-barnes got to this one too.
Ocean can be integer or floating point, and it looks like this is addressed as well. I believe that it is treated as a float within the code. I have updated the README beyond what Richard wrote and created a PR (https://github.com/r-barnes/Barnes2019-DepressionHierarchy/pull/12).

It looks like @r-barnes new updates create a DH that indeed has it more as a standalone usable tool, which is good. @KCallaghan and I are working on a hydrological model that incorporates both DH and FSM, and we plan to include Python bindings as part of this. We'll probably have something together in the next few months; go to https://github.com/umn-earth-surface/TWSM if you want to cheer us on.
@r-barnes: I think we can close this after you accept my small README.md edits in the PR.

Cool. Works for me now. I'm still a bit unclear on how exactly Ocean works, though. The elevation setting for Ocean makes sense. Does it automatically define edges as ocean too? Or do you also have to manually apply some No Data mask? Just for fun, here's the output from some cockpit karst in Puerto Rico, which ran in 1 sec!

Clearly, there are plenty of DEM artifacts at the small scales, but you can certainly see the "cockpits." Currently, I'm primarily interested in the attributes of the depressions, so I'll see if I can figure out how to extract these. However, my group is also heading toward developing a coupled surface-subsurface landscape evolution model (in Landlab) that will explore landscape evolution processes in karst and on glacial surfaces (coupled to conduit development in the subsurface). For this, the routing models you guys are developing might also be useful.

I'll continue to comment here on a few things I'm finding confusing. You can feel free to ignore me, but I figure this at least provides a potentially useful record for me or others in the future.
After digging into the Depression class, I figured out how to save other depression stats in the DH csv file (volume, pit/outlet elevations, etc) by adding some additional output statements in main.cpp.
One thing that I found a bit frustrating was that the output label tiff was not georeferenced. This made it difficult to compare depressions directly against the DEM, which I was trying to do in QGIS.  Eventually, after digging a bit in RichDEM, I figured out that I could add a line of code that would produce the correct georeferencing:
label.geotransform = topo.geotransform;//inserted in main.cpp
label.saveGDAL(out_name+"-label.tif");
This at least made my life easier, though there might be good reasons to have a raw pixel-based coord output as well. I don't understand enough of how to use the outputs yet to have a feeling for that.
Strange behavior related to Ocean level. Originally, I was seeing little or no change if I set Ocean level to 0 or to somewhere in the middle of the elevation range of my DEM. Eventually, I switched to a DEM that I padded with NaNs on the edge. This seemed to produce somewhat different basins, and then the Ocean level command-line arg also seemed to start having some effect.
I found the code for filtering and for generating top-level labels (watersheds) in dephier_paper_tests.cpp. When I generated top-level labels for my DEM w/o it being padded by NaNs, it was all a single watershed (again, didn't seem to matter what I set Ocean level to). Once I padded with NaNs, I got several watersheds.
Diagonal artifacts. Whatever I do, I seem to end up with a lot of artifacts that align with the diagonal flow directions of the D8, as in the example image above (if I switch it to D4, these are replaced by horizontal and vertical artifacts and much of my domain does not have identified depressions). I've tried filtering by volume or cell number, but whatever I do I seem to still have a lot of small diagonal depressions, even as I start to lose some of the big, obvious depressions I can see in the DEM. This may be somehow related to the DEM I'm using.

Hi Matt,
The output you shared looks really cool! I'm glad you are finding our tool useful.
For the ocean level: the code does not automatically define edges as ocean (imagine a case where you have actual ocean on one side of your domain with the other side being inland - you would only want that side to count as ocean). For an entirely inland region like this, I would recommend creating a border yourself that is set to your ocean level. Please also make sure that at least one cell in your input data (or if you are doing the border, all of the border cells) have values exactly equal to the ocean level you select. If you had used some value which did not exist in your DEM, this could have led to some of the strange behaviour you were seeing with differing basins produced.
I have not seen the diagonal artifacts you are getting here on any of the regions I have used this code on, so my first guess would be that it is related to the DEM itself.


Restarting systemd-logind kills x server

Issue description
When I restart systemd-logind, my X server dies. logind is restarted on system upgrades.
Steps to reproduce

Start a x session from a display manager that supports passing file descriptors (for example gdm)
Open console and run systemctl restart systemd-logind

systemd changelog
https://github.com/systemd/systemd/blob/master/NEWS#L103-L112
          systemd-logind may now be restarted without losing state. It stores
          the file descriptors for devices it manages in the system manager
          using the FDSTORE= mechanism. Please note that further changes in
          other components may be required to make use of this (for example
          Xorg has code to listen for stops of systemd-logind and terminate
          itself when logind is stopped or restarted, in order to avoid using
          stale file descriptors for graphical devices, which is now
          counterproductive and must be reverted in order for restarts of
          systemd-logind to be safe. See
          https://cgit.freedesktop.org/xorg/xserver/commit/?id=dc48bd653c7e101.)

Technical details

System: (NixOS: 17.09)
systemd: v234
gdm: 3.24.2

Journal
/nix/store/rhngsh1xfczlwyx2zgpk487c5cdi3qnz-gdm-3.24.2/libexec/gdm-x-session[4414]: Fatal server error:
/nix/store/rhngsh1xfczlwyx2zgpk487c5cdi3qnz-gdm-3.24.2/libexec/gdm-x-session[4414]: (EE) systemd-logind disappeared (stopped/restarted?)
/nix/store/rhngsh1xfczlwyx2zgpk487c5cdi3qnz-gdm-3.24.2/libexec/gdm-x-session[4414]: (EE)
/nix/store/rhngsh1xfczlwyx2zgpk487c5cdi3qnz-gdm-3.24.2/libexec/gdm-x-session[4414]: Please consult the The X.Org Foundation support
/nix/store/rhngsh1xfczlwyx2zgpk487c5cdi3qnz-gdm-3.24.2/libexec/gdm-x-session[4414]:          at http://wiki.x.org
/nix/store/rhngsh1xfczlwyx2zgpk487c5cdi3qnz-gdm-3.24.2/libexec/gdm-x-session[4414]:  for help.
/nix/store/rhngsh1xfczlwyx2zgpk487c5cdi3qnz-gdm-3.24.2/libexec/gdm-x-session[4414]: (EE) Please also check the log file at "/dev/null" f
/nix/store/rhngsh1xfczlwyx2zgpk487c5cdi3qnz-gdm-3.24.2/libexec/gdm-x-session[4414]: (EE)

This happens for me too, I think it's related to this: https://github.com/NixOS/nixpkgs/pull/28053#issuecomment-325196778

@eqyiel I can reproduce the error by solely restarting systemd-logind without touching any files.

@groxxda I see, in any case I'm seeing the same thing as you every time I run nixos-rebuild switch!

CC @jtojnar, @teh, @zimbatm

Maybe the following patch solve it?
diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix
index ed1f5d20af..dd9ba71044 100644
--- a/nixos/modules/system/boot/systemd.nix
+++ b/nixos/modules/system/boot/systemd.nix
@@ -875,7 +875,12 @@ in
     systemd.services.systemd-remount-fs.restartIfChanged = false;
     systemd.services.systemd-update-utmp.restartIfChanged = false;
     systemd.services.systemd-user-sessions.restartIfChanged = false; # Restart kills all active sessions.
-    systemd.services.systemd-logind.restartTriggers = [ config.environment.etc."systemd/logind.conf".source ];
+    # Restarting systemd-logind breaks X11
+    # - upstream commit: https://cgit.freedesktop.org/xorg/xserver/commit/?id=dc48bd653c7e101
+    # - systemd announcement: https://github.com/systemd/systemd/blob/22043e4317ecd2bc7834b48a6d364de76bb26d91/NEWS#L103-L112
+    # - this might be addressed in the future by xorg
+    #systemd.services.systemd-logind.restartTriggers = [ config.environment.etc."systemd/logind.conf".source ];
+    systemd.services.systemd-logind.restartIfChanged = false;
     systemd.services.systemd-logind.stopIfChanged = false;
     systemd.services.systemd-journald.restartTriggers = [ config.environment.etc."systemd/journald.conf".source ];
     systemd.services.systemd-journald.stopIfChanged = false;

@Mic92's patch is what @zimbatm and I discussed last Sunday as well. I think it's probably the correct solution. I had wanted to investigate what issues a never-restarted logind would cause. The linked commit message says it's OK so +1 from me.

commit was applied.


[Feature][Dashboards] Use embedded procedure to generate dynamic chat in the Work Logs dashboard

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Use case
The existing approach to generate this table is the active SQL. If I want to add more week's data, I'll have to copy tons of code.

However, I can't directly use the dynamic SQL in Grafana as it only has the read-only permission. Therefore, I'm thinking if we can provide an embedded procedure to allow end users to call this procedure.
Description
Prerequisite: Create a mock dataset for the dynamic SQL to run on
The SQL is
DROP TABLE IF EXISTS _worklogs;
CREATE TABLE _worklogs AS

with _accounts as (
  select ua.account_id, ua.user_id, u.name
    from accounts a
    join user_accounts ua on a.id = ua.account_id
    join users u on ua.user_id = u.id
  where ua.user_id in (1,2)
),

_activities as (
  SELECT
    *,
    ROW_NUMBER() OVER (PARTITION BY `Date` ORDER BY `Time` desc) AS _row_number
  FROM (
    SELECT DATE(created_date) as Date, created_date as Time, 'Create an issue' as Activity, concat('#', issue_key, ' ', title) as Details, a.name as Name
    FROM issues i
    join _accounts a on i.creator_id = a.account_id
    where created_date > '2023-10-09 19:15:28'

    union

    SELECT DATE(resolution_date) as Date, resolution_date as Time, 'Issue resolved' as Activity, concat('#', issue_key, ' ', title) as Details, a.name as Name
    FROM issues i
    join _accounts a on i.assignee_id = a.account_id
    where resolution_date > '2023-10-09 19:15:28'

    union

    SELECT DATE(authored_date) as Date, authored_date as Time, 'Finish a commit' as Activity, concat(message, ' #', sha) as Details, a.name as Name
    FROM commits c
    join _accounts a on c.author_id = a.account_id
    where authored_date > '2023-10-09 19:15:28'

    union

    SELECT DATE(created_date) as Date, created_date as Time, 'Open a PR' as Activity, concat('#', pull_request_key, ' ', title) as Details, a.name as Name
    FROM pull_requests pr
    join _accounts a on pr.author_id = a.account_id
    where created_date > '2023-10-09 19:15:28'

    union

    SELECT DATE(merged_date) as Date, merged_date as Time, 'PR gets merged' as Activity, concat('#', pull_request_key, ' ', title) as Details, a.name as Name
    FROM pull_requests pr
    join _accounts a on pr.author_id = a.account_id
    where merged_date > '2023-10-09 19:15:28'

    union

    SELECT DATE(prc.created_date) as Date, prc.created_date as Time, 'Comment on PR' as Activity, concat('#', pr.pull_request_key, ' ', pr.title) as Details, a.name as Name
    FROM pull_request_comments prc
    left join pull_requests pr on prc.pull_request_id = pr.id
    join _accounts a on prc.account_id = a.account_id
    WHERE
      prc.type = 'NORMAL'
      and prc.created_date > '2023-10-09 19:15:28'

    union

    SELECT DATE(prc.created_date) as Date, prc.created_date as Time, 'Review PR' as Activity, concat('#', pr.pull_request_key, ' ', pr.title) as Details, a.name as Name
    FROM pull_request_comments prc
    left join pull_requests pr on prc.pull_request_id = pr.id
    join _accounts a on prc.account_id = a.account_id
    WHERE
      prc.type in ('REVIEW', 'DIFF')
      and prc.created_date > '2023-10-09 19:15:28'
  ) t

  ORDER BY Time desc
),

_activity_count_per_day as (
  SELECT
    Date,
    count(*) as value
  FROM _activities
  GROUP BY 1
),

last_few_calendar_months as(
-- construct the last few calendar months within the selected time period in the top-right corner
	SELECT
    CAST((now()-INTERVAL (H+T+U) DAY) AS date) as d,
    DATE_FORMAT(CAST((now()-INTERVAL (H+T+U) DAY) AS date), 'w%u %Y') as week_name,
    DATE_FORMAT(CAST((now()-INTERVAL (H+T+U) DAY) AS date), '%Y%u') as week_number
	FROM ( SELECT 0 H
			UNION ALL SELECT 100 UNION ALL SELECT 200 UNION ALL SELECT 300
		) H CROSS JOIN ( SELECT 0 T
			UNION ALL SELECT  10 UNION ALL SELECT  20 UNION ALL SELECT  30
			UNION ALL SELECT  40 UNION ALL SELECT  50 UNION ALL SELECT  60
			UNION ALL SELECT  70 UNION ALL SELECT  80 UNION ALL SELECT  90
		) T CROSS JOIN ( SELECT 0 U
			UNION ALL SELECT   1 UNION ALL SELECT   2 UNION ALL SELECT   3
			UNION ALL SELECT   4 UNION ALL SELECT   5 UNION ALL SELECT   6
			UNION ALL SELECT   7 UNION ALL SELECT   8 UNION ALL SELECT   9
		) U
	WHERE
		(now()-INTERVAL (H+T+U) DAY) > '2023-04-09'
),

_calendar_months_with_rank as (
  SELECT
    d,
    concat(week_name, ' (', DATE_FORMAT(DATE_SUB(d, INTERVAL WEEKDAY(d) DAY), '%m/%d'), '~', DATE_FORMAT(DATE_ADD(DATE_SUB(d, INTERVAL WEEKDAY(d) DAY), INTERVAL 6 DAY), '%m/%d'), ')') as week_name,
    week_number,
    DATE_FORMAT(d, '%W') as weekday,
    dense_rank() over(ORDER BY week_number desc) as week_rank
  FROM  last_few_calendar_months
  ORDER BY 1 desc
),

_final_datasets as (
  SELECT
    _calendar_months_with_rank.*,
    case when _activity_count_per_day.value is null then 0 else _activity_count_per_day.value end as activity_count
  from _calendar_months_with_rank left join _activity_count_per_day on _calendar_months_with_rank.d = _activity_count_per_day.Date
)

SELECT * FROM _final_datasets;

This SQL is equivalent to the _final_dataset in the dashboard chart (see the pic below). I just replaced the Grafana variables and methods (E.g. $time_filter(), $time_to, $time_from, and $users) with static values to get it run on Navicat.

Run the dynamic SQL to generate the chart
I wrote a procedure to dynamically generate a table with the last 54 weeks as the column, Monday, Tuesday, ..., Sunday as the rows.
DROP TABLE IF EXISTS WeeklyActivity;

SET SESSION group_concat_max_len = 1000000; -- Ensure the group_concat function doesn't truncate the results.

-- Step 1: Create the Table with Dynamic Columns
SET @columns = (
  SELECT GROUP_CONCAT(DISTINCT
    CONCAT('`', week_name, '` INT DEFAULT 0')
    ORDER BY week_number DESC
    SEPARATOR ', '
  )
  FROM _worklogs
);

SET @create_table_sql = CONCAT('CREATE TEMPORARY TABLE IF NOT EXISTS WeeklyActivity (`Day` VARCHAR(9), ', @columns, ');');

PREPARE create_stmt FROM @create_table_sql;
EXECUTE create_stmt;
DEALLOCATE PREPARE create_stmt;

SELECT @columns;
SELECT @create_table_sql;

SELECT * FROM WeeklyActivity;

-- Step 2: Populate the Table with Aggregate Values for Each Day

-- Retrieve the distinct week names from the _worklogs table to generate the column list
SELECT GROUP_CONCAT(DISTINCT CONCAT('`', week_name, '`')
                    ORDER BY week_number DESC
                    SEPARATOR ', ') INTO @week_names
FROM (
    SELECT week_name, week_number
    FROM _worklogs
    GROUP BY week_name, week_number
    ORDER BY week_number DESC
    LIMIT 54
) AS subquery_week_names;

select @week_names;

-- Prepare the dynamic SQL for inserting the weekly activity counts
SET @insert_sql = CONCAT(
    'INSERT INTO WeeklyActivity (Day, ', @week_names, ') ',
    'SELECT weekday, ',
    (SELECT GROUP_CONCAT(
        CONCAT('SUM(CASE WHEN week_name = ''', week_name, ''' THEN activity_count ELSE 0 END) AS ', CONCAT('`', week_name, '`'))
        ORDER BY week_number DESC
        SEPARATOR ','
    ) FROM (
        SELECT week_name, week_number
        FROM _worklogs
        GROUP BY week_name, week_number
        ORDER BY week_number DESC
        LIMIT 54
    ) AS subquery),
    ' FROM _worklogs ',
    'WHERE weekday IN (SELECT DISTINCT weekday FROM _worklogs) ',
    'GROUP BY weekday ',
    'ORDER BY FIELD(weekday, ''Monday'', ''Tuesday'', ''Wednesday'', ''Thursday'', ''Friday'', ''Saturday'', ''Sunday'');'
);

SELECT @insert_sql;

-- Execute the dynamic SQL statement
PREPARE insert_stmt FROM @insert_sql;
EXECUTE insert_stmt;
DEALLOCATE PREPARE insert_stmt;

SELECT * FROM WeeklyActivity

The result of the dynamic SQL is

which is the same as the existing chart

To Do

[ ] Find the solution to pre-define the dynamic SQL in a procedure
[ ] Make sure that users can call the procedure based on the temp table _final_results in the Work Logs dashboard

Related issues
No response
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

It's not feasible after further investigation.


Where is the ssh key file?

Hi Eugene, thanks for creating this repo.

ssh -i ~/.ssh/podman-machine-default

https://github.com/eugene-khyst/podman-testcontainers/blob/main/README.md?plain=1#L180
Where does this ssh keyfile come from? I'm running Podman 5.1.1 on an M1 Mac running macOS 14.5 and there is no such file. I can "ssh" to the podman machine using podman machine ssh but that command doesn't take the -L argument, so I can't set up the socket tunnel.

Then I believe the generated key is located at ~/.ssh/<name>.
Anyway, run ls ~/.ssh/ to see all keys. id_rsa is not what you searching. But some other key may be what you need.

It turns out that the answer was there all along, in the output to podman system connection list --format=json:
[
    {
        "Name": "podman-machine-default",
        "URI": "ssh://core@<IP_ADDRESS>:59492/run/user/504/podman/podman.sock",
        "Identity": "/Users/me/.local/share/containers/podman/machine/machine",
        "IsMachine": true,
        "Default": true,
        "ReadWrite": true
    },
    {
        "Name": "podman-machine-default-root",
        "URI": "ssh://root@<IP_ADDRESS>:59492/run/podman/podman.sock",
        "Identity": "/Users/me/.local/share/containers/podman/machine/machine",
        "IsMachine": true,
        "Default": false,
        "ReadWrite": true
    }
]

The Identity value is the actual ssh key:
❯ file /Users/me/.local/share/containers/podman/machine/machine
/Users/me/.local/share/containers/podman/machine/machine: OpenSSH private key
❯ ssh -i /Users/me/.local/share/containers/podman/machine/machine -p 59492<EMAIL_ADDRESS>Last login: Wed Jul  3 12:01:41 2024 from <IP_ADDRESS>
core@localhost:~$

I don't know why there's a difference in key file location between your system and mine, but now I can modify the command so it uses the file specified in the output.


Are utils/ bitrot?

cache_dump does not work out-of-the box
-    my %h = $r->hgetall($opt);
+    my %h;
+    if($r->TYPE($opt) eq "hash") {
+      %h = $r->hgetall($opt);
+    } else {
+      next;
+    }

souper2llvm seems to always generate invalid IR
Is there some other tools that are supposed to be used?

cache_dump works out of the box for me, I was just using it yesterday. You'll need to provide standard bug report information (your platform details, steps to reproduce, observed output, etc.) for us to figure out why it isn't working for you.
souper2llvm is more of a research tool and not really something that we want to support, and it contains a bunch of known bugs. I'd suggest not relying on it for now. It was written by @rsas but he probably doesn't have time to support it at the moment.

Hi @LebedevRI, as mentioned by @regehr, souper2llvm was created a while ago for testing purposes and was not updated/maintained since. It should not be difficult to update/fix it. Contributions are very welcome.

cache_dump works out of the box for me

That is interesting. The reproduction steps are trivial.

This is debian sid, fully updated.

 dpkg -l | grep redis
ii  libredis-perl                                    2:1.9910-1                                             all          persistent key-value database with network interface (Perl client library)
ii  redis                                            5:4.0.10-1                                             all          Persistent key-value database with network interface (metapackage)
ii  redis-server                                     5:4.0.10-1                                             amd64        Persistent key-value database with network interface
ii  redis-tools                                      5:4.0.10-1                                             amd64        Persistent key-value database with network interface (client)

Clone this repo. (i'm at b41a0944c0f0c5b106c71f0ba390290f6ef07b2c)
Run $ ./build_deps.sh without arguments
$ mkdir souper_build && cd souper_build && cmake -DTEST_SOLVER="-z3-path=/usr/bin/z3" -GNinja ../ && ninja
$ redis-cli flushall
Build something with sclang with SOUPER_DYNAMIC_PROFILE and SOUPER_STATIC_PROFILE set.
Run ./cache_dump, and it fails with
(i apologize, this is from memory, i butchered the build at the moment):
error "WRONGTYPE Operation against a key holding the wrong kind of value", pointing to the line 195 of cache_dump. Application of the patch from the first comment fixes it.

So nothing special at all, pretty much as per the README..

as mentioned by @regehr, souper2llvm was created a while ago for testing purposes and was not updated/maintained since.

Thank you for this info.
I was surprised given that it is the tool that is used by the -triage switch of the cache_dump script.

Again, this software is the basis for active research and as such contains plenty of dead ends.

No, i totally understand. Thank you for working on this amazingly unique software!

I'll apply the cache_dump patch but I'm surprised that it is necessary, perhaps something on your machine placed keys into your redis following the flushall?

I'll double-check tomorrow, but i don't think so.

Thanks. Also we'd love to hear what you're using Souper for, and might be able to help out somehow.
Note that synthesis and (even more so) pass support for synthesis is an active area of work for us and we may be able to help if we know more.

Thanks. Also we'd love to hear what you're using Souper for, and might be able to help out somehow.

Thanks. Nothing earth-shattering.
Basically the same as https://blog.regehr.org/archives/1192 - build some project i care about with Souper,
analyze the results, possibly try to implement some low hanging fruits/missing optimizations in LLVM.

Nice. Synthesizing optimizations turns out to be pretty sensitive to choice of command line options. @rsas did 100% of the synthesis work and may be able to help out.

Uhm, this is weird. I have re-done everything from scratch, like i did the first time,
but the cache_dump problem no longer reproduces. I'm thinking it may be causable
by killing of the sclang/built binary w/ dynamic profiles.
No point in keeping this open, at least now.
Thanks everyone.

That is weird. But also I realized that I haven't used dynamic profiling for quite a while and I should try it more, I'm not sure that code is all that robust.
Keep in mind also that there are some limits to Souper's static and dynamic profiling: they are tracking the popularity of specific souper optimizations, which may or may not correlate well (often not) with the usefulness of the (usually) much more general version that you would actually implement in InstCombine or whatever. There's some sort yet to be done on automated generalization of optimizations.

Hi @LebedevRI, as mentioned by @regehr, souper2llvm was created a while ago for testing purposes and was not updated/maintained since. It should not be difficult to update/fix it. Contributions are very welcome.

I was wondering, is there some long-term pre-existing plan for such utility?
Will there be some deeper integration with alive2,
in the sense that such tool should be provided by alive2?
If not, would it perhaps make more sense to re-write this util as a more proper tool (using LLVM API?), possibly with tests?

I have one potential use case for such an API, especially if it was reasonably fast and could generate LLVM Functions from Souper instructions in-process.
It would give us a nice way of calling LLVM analysis functions (computeKnownBits) and passes (LVI? SCEV?). I am implementing some of this on Souper IR, but that approach doesn't scale. It would also become necessary once we start dealing with memory, so we do not have to implement alias analysis ourselves.

Hi Roman... souper2llvm is an interesting case. It has served uses for us (and continues to) but really it's the wrong approach to do this all in a separate language. If we want to move forward with this tool, my inclination would be to start with the LLVM-building code that we already have in the opt pass and extend that to be more generally useful and powerful. With that said, I'm not sure if we have a lot of compelling use cases for that functionality, though as Manasij says we can think of some if we stretch a bit.

In my mind, there is no question whether that tool is useful or not.
It is already used by cache_dump. That is my main interest, and main unscratched itch,
to have a sane way to comb through the souper opts, filter only these LLVM does not know about.

I have one potential use case for such an API, especially if it was reasonably fast and could generate LLVM Functions from Souper instructions in-process.

Can't say anything about fast (i wouldn't think it will necessarily be horrendously slow?), but sure,
splitting the implementation so that it can be used outside of the conversion tool totally makes sense.

Oh, i almost missed this, souper already can produce llvm ir, via SouperPass::getValue().
Naturally, that won't produce the whole module though.

yes, I think the question is whether it makes sense to factor that code out, so it can be used by both the pass and also the souper2llvm utility
the missing code (create a module with an empty function etc.) is pretty straightforward
converting souper without phi, path conditions, and blockpc into LLVM also seems very easy
converting phi, path conditions, and blockpc into LLVM Ir seems quite a bit more involved....

yes, I think the question is whether it makes sense to factor that code out, so it can be used by both the pass and also the souper2llvm utility

It does, because currently souper2llvm is broken (:
It is likely best to have one common path rather than having a perl script that tries to
convert textual souper into llvm ir.


chore: add support details in ibm catalog

Description
Added support details in ibm_catalog.json
https://github.ibm.com/GoldenEye/issues/issues/9259

Release required?

[ ] No release
[x] Patch release (x.x.X)
[ ] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

/run pipeline

/run pipeline

/run pipeline


Add new OSD features

one-letter indicator for disarmed/armed (D/A) state
one-letter indicator for angle/acro (A/C) mode
display "BATTERY!" in the middle of the screen once the voltage drops too much

This has been merged.


Fix PY2 handing of potential non-unicode paths being slugified.

cf. this broken services test build output: https://travis-ci.org/jupyterlab/jupyterlab/jobs/414480761

Thanks!


functions needed from frontend

1.deal with the User* ->GetParents
2.delete a block
3.inserting a instruction anywhere in the block

Do you mean:

To know where the value is defined? (params, global and defined in basicblocks)
Delete a BasicBlock and modify relevant branch inst?(Condition branch -> UnCondition branch)
Duplicated with #9


Whether this project could be used without DRF

Hi, I manually parse JSON data and return it without using DRF, but I need JWT.
Can I use this project without DRF?

Okay, thanks


fixed the randomFloat problem

there was a slight chance where randomFloat generates a float smaller than $min when $min was 0.01 and $max was null, result was 0.

Test case has been added. Please check


Network Contributor role assignment needed for AGIC service proncipal

AGIC can't create listener on Application Gateway without assigning Network Contributor role on VNET where Application Gateway Configured:
I1227 17:07:48.398000       1 utils.go:114] Using verbosity level 3 from environment variable APPGW_VERBOSITY_LEVEL
I1227 17:07:48.439839       1 supported_apiversion.go:70] server version is: 1.28.3
I1227 17:07:48.451152       1 environment.go:294] KUBERNETES_WATCHNAMESPACE is not set. Watching all available namespaces.
I1227 17:07:48.451178       1 main.go:118] Using User Agent Suffix='ingress-azure-5cbc769855-j76hs' when communicating with ARM
I1227 17:07:48.451260       1 main.go:137] Application Gateway Details: Subscription="XXXXXXXXXXXXXXXXXX" Resource Group="XXXXXXXXXX" Name="XXXXXXX"
I1227 17:07:48.451275       1 auth.go:58] Creating authorizer using Default Azure Credentials
I1227 17:07:48.451455       1 httpserver.go:57] Starting API Server on :8123
I1227 17:07:49.261918       1 main.go:184] Ingress Controller will observe all namespaces.
I1227 17:07:49.350091       1 context.go:171] k8s context run started
I1227 17:07:49.350135       1 context.go:238] Waiting for initial cache sync
I1227 17:07:49.350218       1 reflector.go:219] Starting reflector *v1.Service (30s) from pkg/mod/k8s.io/client-go@v0.20.0-beta.1/tools/cache/reflector.go:167
I1227 17:07:49.350223       1 reflector.go:219] Starting reflector *v1.Secret (30s) from pkg/mod/k8s.io/client-go@v0.20.0-beta.1/tools/cache/reflector.go:167
I1227 17:07:49.350251       1 reflector.go:255] Listing and watching *v1.Secret from pkg/mod/k8s.io/client-go@v0.20.0-beta.1/tools/cache/reflector.go:167
I1227 17:07:49.350284       1 reflector.go:219] Starting reflector *v1.Ingress (30s) from pkg/mod/k8s.io/client-go@v0.20.0-beta.1/tools/cache/reflector.go:167
I1227 17:07:49.350294       1 reflector.go:255] Listing and watching *v1.Ingress from pkg/mod/k8s.io/client-go@v0.20.0-beta.1/tools/cache/reflector.go:167
I1227 17:07:49.350295       1 reflector.go:219] Starting reflector *v1.Endpoints (30s) from pkg/mod/k8s.io/client-go@v0.20.0-beta.1/tools/cache/reflector.go:167
I1227 17:07:49.350309       1 reflector.go:255] Listing and watching *v1.Endpoints from pkg/mod/k8s.io/client-go@v0.20.0-beta.1/tools/cache/reflector.go:167
I1227 17:07:49.350230       1 reflector.go:219] Starting reflector *v1.Pod (30s) from pkg/mod/k8s.io/client-go@v0.20.0-beta.1/tools/cache/reflector.go:167
I1227 17:07:49.350462       1 reflector.go:255] Listing and watching *v1.Pod from pkg/mod/k8s.io/client-go@v0.20.0-beta.1/tools/cache/reflector.go:167
I1227 17:07:49.350467       1 reflector.go:219] Starting reflector *v1.AzureIngressProhibitedTarget (30s) from pkg/mod/k8s.io/client-go@v0.20.0-beta.1/tools/cache/reflector.go:167
I1227 17:07:49.350583       1 reflector.go:255] Listing and watching *v1.AzureIngressProhibitedTarget from pkg/mod/k8s.io/client-go@v0.20.0-beta.1/tools/cache/reflector.go:167
I1227 17:07:49.350488       1 reflector.go:219] Starting reflector *v1beta1.AzureApplicationGatewayRewrite (30s) from pkg/mod/k8s.io/client-go@v0.20.0-beta.1/tools/cache/reflector.go:167
I1227 17:07:49.350600       1 reflector.go:255] Listing and watching *v1beta1.AzureApplicationGatewayRewrite from pkg/mod/k8s.io/client-go@v0.20.0-beta.1/tools/cache/reflector.go:167
I1227 17:07:49.350506       1 reflector.go:219] Starting reflector *v1.IngressClass (30s) from pkg/mod/k8s.io/client-go@v0.20.0-beta.1/tools/cache/reflector.go:167
I1227 17:07:49.350740       1 reflector.go:255] Listing and watching *v1.IngressClass from pkg/mod/k8s.io/client-go@v0.20.0-beta.1/tools/cache/reflector.go:167
I1227 17:07:49.350246       1 reflector.go:255] Listing and watching v1.Service from pkg/mod/k8s.io/client-go@v0.20.0-beta.1/tools/cache/reflector.go:167
I1227 17:07:49.451045       1 context.go:251] Initial cache sync done
I1227 17:07:49.451070       1 context.go:252] k8s context run finished
I1227 17:07:49.451145       1 worker.go:39] Worker started
I1227 17:07:49.631601       1 mutate_app_gateway.go:83] [brownfield] Prohibited targets: {"Path":"/"}
I1227 17:07:49.631698       1 health_probes.go:67] [brownfield] Probes AGIC created: defaultprobe-Http, defaultprobe-Https
I1227 17:07:49.631708       1 health_probes.go:68] [brownfield] Existing Blacklisted Probes AGIC will retain: apim-probe, portal-probe, Management-probe
I1227 17:07:49.631713       1 health_probes.go:69] [brownfield] Existing Probes AGIC will remove:
I1227 17:07:49.631740       1 http_settings.go:68] [brownfield] HTTP Settings AGIC created: defaulthttpsetting
I1227 17:07:49.631748       1 http_settings.go:69] [brownfield] Existing Blacklisted HTTP Settings AGIC will retain: APIGateway-Settings, DevPortal-Backend-Settings, Management-APIM-Settings
I1227 17:07:49.631754       1 http_settings.go:70] [brownfield] Existing HTTP Settings AGIC will remove:
I1227 17:07:49.631798       1 pools.go:67] [brownfield] Pools AGIC created: defaultaddresspool
I1227 17:07:49.631812       1 pools.go:68] [brownfield] Existing Blacklisted Pools AGIC will retain: APIM-DevPortal, APIM-APIGateway, APIM-Management
I1227 17:07:49.631817       1 pools.go:69] [brownfield] Existing Pools AGIC will remove: n/a
I1227 17:07:49.631930       1 listeners.go:103] [brownfield] Listeners AGIC created: fl-452c578b4f742bd7a3927c3caf2b604e
I1227 17:07:49.631943       1 listeners.go:104] [brownfield] Existing Blacklisted Listeners AGIC will retain: APIGateway-Listener, DevPortal-Listener, APIM-MAnagement-Listener
I1227 17:07:49.631948       1 listeners.go:105] [brownfield] Existing Listeners AGIC will remove: n/a
I1227 17:07:49.632007       1 redirects.go:52] [brownfield] Redirects AGIC created: n/a
I1227 17:07:49.632018       1 redirects.go:53] [brownfield] Existing Blacklisted Redirects AGIC will retain: n/a
I1227 17:07:49.632024       1 redirects.go:54] [brownfield] Existing Redirects AGIC will remove: n/a
I1227 17:07:49.632054       1 pathmaps.go:93] [brownfield] PathMaps AGIC created: n/a
I1227 17:07:49.632060       1 pathmaps.go:94] [brownfield] Existing Blacklisted PathMaps AGIC will retain: n/a
I1227 17:07:49.632066       1 pathmaps.go:95] [brownfield] Existing PathMaps AGIC will remove: n/a
I1227 17:07:49.632082       1 routing_rules.go:95] [brownfield] Rules AGIC created: rr-452c578b4f742bd7a3927c3caf2b604e
I1227 17:07:49.632089       1 routing_rules.go:96] [brownfield] Existing Blacklisted Rules AGIC will retain: DevPortal, APIGateway, APIMManagement
I1227 17:07:49.632094       1 routing_rules.go:97] [brownfield] Existing Rules AGIC will remove: n/a
I1227 17:07:49.652947       1 mutate_app_gateway.go:166] BEGIN AppGateway deployment
I1227 17:07:50.113985       1 mutate_app_gateway.go:172] END AppGateway deployment
E1227 17:07:50.114078       1 controller.go:142] network.ApplicationGatewaysClient#CreateOrUpdate: Failure sending request: StatusCode=0 -- Original Error: autorest/azure: Service returned an error. Status= Code="ApplicationGatewayInsufficientPermissionOnSubnet" Message="Client with object id XXXXXXXXXXXXXXXXXXX does not have permission on the Virtual Network resource /subscriptions/XXXXXXXXXXXXXXXXXXXXXXXX/resourceGroups/XXXXXXXXXXX/providers/Microsoft.Network/virtualNetworks/XXXXXXXXXXX/subnets/XXXXXXXXXXX-Subnet to perform action Microsoft.Network/virtualNetworks/subnets/join/action. For details on the required permissions, please visit https://aka.ms/agsubnetjoin." Details=[]
E1227 17:07:50.114093       1 worker.go:62] Error processing event.network.ApplicationGatewaysClient#CreateOrUpdate: Failure sending request: StatusCode=0 -- Original Error: autorest/azure: Service returned an error. Status= Code="ApplicationGatewayInsufficientPermissionOnSubnet" Message="Client with object id XXXXXXXXXXXXXXXXXXXXXXXXX does not have permission on the Virtual Network resource /subscriptions/XXXXXXXXXXXXXXXXXX/resourceGroups/XXXXXXXXXXXXXX/providers/Microsoft.Network/virtualNetworks/XXXXXXXXXXXX/subnets/XXXXXXXXXXXX-Subnet to perform action Microsoft.Network/virtualNetworks/subnets/join/action. For details on the required permissions, please visit https://aka.ms/agsubnetjoin." Details=[]

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

ID: d3925c0f-2f3a-a53e-d558-c00cca37e961
Version Independent ID: 1a49146e-07a4-bb12-0a5b-0d07590fbcad
Content: Create an ingress controller with an existing Application Gateway
Content Source: articles/application-gateway/ingress-controller-install-existing.md
Service: application-gateway
GitHub Login: @greg-lindsay
Microsoft Alias: greglin

@Alexey-Zheltov
From the error message, it appears the service principal does not have "Microsoft.Network/virtualNetworks/subnets/join/action" permission delegated to the subnet Application Gateway is deployed into.

Which is documented as a required one
Are you sure the service principal has "Microsoft.Network/virtualNetworks/subnets/join/action" permission?
Did you try the same using Network Contributor permission, and did that work?

Documentation says following:
"If the virtual network Application Gateway is deployed into doesn't reside in the same resource group as the AKS nodes, please ensure the identity used by AGIC has the Microsoft.Network/virtualNetworks/subnets/join/action permission delegated to the subnet Application Gateway is deployed into. If a custom role is not defined with this permission, you may use the built-in Network Contributor role, which contains the Microsoft.Network/virtualNetworks/subnets/join/action permission."
In my case Application Gateway deployed within the same resource group with AKS, so statement that permissions need to be granted only in case if application gateway and AKS deployed within different resource groups does not seem to be correct.

@Alexey-Zheltov
That observation is correct, the document assumes that if the App gateway is in the same RG as the AKS, the AKS already has the required permissions (which is wrong).
greg-lindsay please update the document to state that the Service Principal should have the Microsoft.Network/virtualNetworks/subnets/join/action permission delegated to the subnet Application Gateway is deployed into irrespective of the RG.

I will clarify #please-close


Merge fisherman/index into local cli cache

Currently, the fisherman/index repository is used exclusively for the web-based search on fisherman.sh.
It would be pretty cool if packages from the index are also discoverable and installable via CLI, since at the moment, an invocation of fisherman install <package> for a package that's present exclusively in the index, but is not a repository under the oh-my-fish or fisherman orgs on Github will fail.

A few points on the rationale of allowing some plugins to remain outside the fisherman org can be found here.

Before 2.0, repos were read from fisherman/index. With 2.0, we started using the GitHub API to query the org/s, since maintaining an index was a lot of work and I wanted to make fisherman more of a "decentralized" tool.
The index still exists for historical reasons and because the website still uses it for search. TBH, I was hoping to make the website use the GitHub API at some point to query orgs just like the current CLI does.
I think it would be really nice if fisherman used all the available sources to populate the index. I still don't like the idea of having to maintain a central index, but if that's what people want, sure.

I wanted to make fisherman more of a "decentralized" tool

What do you mean here by "decentralized"? Collecting all plugins in the same org seems to be the opposite..
I think that it can be a feature of fishkit to simplify how new plugins are submitted to the index. And what do you mean exactly by maintaining the index?

PR Welcome.

@brj if PR is actually welcome, could we leave this open?

This is not a trivial modification. If anyone really wants to take a stab at this, I'd be probably okay with it, but I don't want to leave this open here forever either.


config: adding proxy connect config

At Envoycon it came up that we had examples for tunneling TCP over CONNECT, and decapculating TCP formerly in CONNECT but none for just proxying CONNECT.  Now we do.
Risk Level: n/a
Testing: manual
Docs Changes: n/a
Release Notes: n/a

In this recent PR @phlax cleaned up some of the remaining v2 references. This included taking a version reference like v2 out of the file extensions.  None of the files in https://github.com/envoyproxy/envoy/tree/master/configs include references now. For consistency it would be good to rename your PR file to configs/proxy_connect.yaml

It would be a bonus to add instruction on how to use or test the config. Not suggesting a full example like in the sandboxes.  For example If I try the proxy connect config  with curl I get the following error.
curl -v --proxy <IP_ADDRESS>:10001 https://www.google.com/
*   Trying <IP_ADDRESS>:10001...
* TCP_NODELAY set
* Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 10001 (#0)
* allocate connect buffer!
* Establish HTTP proxy tunnel to www.google.com:443
> CONNECT www.google.com:443 HTTP/1.1
> Host: www.google.com:443
> User-Agent: curl/7.68.0
> Proxy-Connection: Keep-Alive
>
< HTTP/1.1 200 OK
< date: Tue, 20 Oct 2020 01:30:04 GMT
< server: envoy
<
* Proxy replied 200 to CONNECT request
* CONNECT phase completed!
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* CONNECT phase completed!
* CONNECT phase completed!
* error:1408F10B:SSL routines:ssl3_get_record:wrong version number
* Closing connection 0
curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number

Debug output from Envoy is:
[2020-10-19 18:46:10.078][419038][debug][conn_handler] [source/server/connection_handler_impl.cc:496] [C0] new connection
[2020-10-19 18:46:10.078][419038][debug][http] [source/common/http/conn_manager_impl.cc:248] [C0] new stream
[2020-10-19 18:46:10.078][419038][debug][http] [source/common/http/conn_manager_impl.cc:860] [C0][S12436179200589299345] request headers complete (end_stream=false):
':authority', 'www.google.com:443'
':method', 'CONNECT'
'user-agent', 'curl/7.68.0'
'proxy-connection', 'Keep-Alive'

[2020-10-19 18:46:10.078][419038][debug][router] [source/common/router/router.cc:429] [C0][S12436179200589299345] cluster 'service_google' match for URL ''
[2020-10-19 18:46:10.078][419038][debug][router] [source/common/router/router.cc:586] [C0][S12436179200589299345] router decoding headers:
':authority', 'www.google.com:443'
':method', 'CONNECT'
':scheme', 'https'
'user-agent', 'curl/7.68.0'
'x-forwarded-proto', 'http'
'x-request-id', '1c935131-625a-44d0-9e3c-a53fa5c74fcc'
'x-envoy-expected-rq-timeout-ms', '15000'

[2020-10-19 18:46:10.078][419038][debug][pool] [source/common/tcp/original_conn_pool.cc:98] creating a new connection
[2020-10-19 18:46:10.078][419038][debug][pool] [source/common/tcp/original_conn_pool.cc:383] [C1] connecting
[2020-10-19 18:46:10.079][419038][debug][connection] [source/common/network/connection_impl.cc:755] [C1] connecting to [2607:f8b0:4007:808::2004]:443
[2020-10-19 18:46:10.079][419038][debug][connection] [source/common/network/connection_impl.cc:771] [C1] connection in progress
[2020-10-19 18:46:10.079][419038][debug][pool] [source/common/tcp/original_conn_pool.cc:125] queueing request due to no available connections
[2020-10-19 18:46:10.122][419038][debug][connection] [source/common/network/connection_impl.cc:611] [C1] connected
[2020-10-19 18:46:10.223][419038][debug][pool] [source/common/tcp/original_conn_pool.cc:303] [C1] assigning connection
[2020-10-19 18:46:10.223][419038][debug][router] [source/common/router/upstream_request.cc:357] [C0][S12436179200589299345] pool ready
[2020-10-19 18:46:10.223][419038][debug][router] [source/common/router/router.cc:1177] [C0][S12436179200589299345] upstream headers complete: end_stream=false
[2020-10-19 18:46:10.223][419038][debug][http] [source/common/http/conn_manager_impl.cc:1458] [C0][S12436179200589299345] encoding headers via codec (end_stream=false):
':status', '200'
'date', 'Tue, 20 Oct 2020 01:46:10 GMT'
'server', 'envoy'

[2020-10-19 18:46:10.273][419038][debug][connection] [source/extensions/transport_sockets/tls/ssl_socket.cc:215] [C1]
[2020-10-19 18:46:10.274][419038][debug][connection] [source/common/network/connection_impl.cc:579] [C1] remote close
[2020-10-19 18:46:10.274][419038][debug][connection] [source/common/network/connection_impl.cc:202] [C1] closing socket: 0
[2020-10-19 18:46:10.274][419038][debug][connection] [source/extensions/transport_sockets/tls/ssl_socket.cc:288] [C1] SSL shutdown: rc=0
[2020-10-19 18:46:10.274][419038][debug][connection] [source/extensions/transport_sockets/tls/ssl_socket.cc:215] [C1]
[2020-10-19 18:46:10.274][419038][debug][pool] [source/common/tcp/original_conn_pool.cc:140] [C1] client disconnected
[2020-10-19 18:46:10.274][419038][debug][router] [source/common/router/router.cc:1029] [C0][S12436179200589299345] upstream reset: reset reason: connection termination, transport failure reason:
[2020-10-19 18:46:10.274][419038][debug][http] [source/common/http/filter_manager.cc:770] [C0][S12436179200589299345] Resetting stream due to upstream_reset_after_response_started{connection termination}. Prior headers have already been sent
[2020-10-19 18:46:10.274][419038][debug][http] [source/common/http/conn_manager_impl.cc:187] [C0][S12436179200589299345] doEndStream() resetting stream
[2020-10-19 18:46:10.274][419038][debug][http] [source/common/http/conn_manager_impl.cc:1507] [C0][S12436179200589299345] stream reset
[2020-10-19 18:46:10.274][419038][debug][connection] [source/common/network/connection_impl.cc:106] [C0] closing data_to_write=0 type=2

Thanks - I had missed the naming change.  I'll also tweak upstream - realistically google doesn't accept CONNECT requests so it should talk to a custom upstream which does.

@alyssawilk can we link to this example from the CONNECT docs? I'm not sure how anyone is going to find this? Thank you.

Also, is this config checked via the config checker? I'm not sure it is by default? cc @phlax


eager load of links

is possible support eager load links for better performance ( solve n + 1 query ) ?
in mysql eager load works something like this :
@Collection()
class Teacher {
  int? id;

  late String name;
}

@Collection()
class Student {
  int? id;

  late String name;

  final teachers = IsarLink<Teacher>();
}

SELECT * from `teachers` // [ { id: 3, name: Test1 }, { id: 5, name: Test2 } ]

SELECT * FROM `students` WHERE `teacher_id` IN (3,5)

imagine i have a listview and i want show all students with teacher`s name, how can doing that ?
i must load each teacher of student and shows them ?
imagine we have 1000 student with one teacher, it must run 1001 query
eagerload must be optional, it's mean only when we want using something like above, i must use it
something like this :
isar.students.with(['teachers']).find();

when using with isar must autoload links that we provided in parameter

Fixed in 3.0.0-dev.8


Re-use of DistanceSensor

Since DistanceSensor exists in the webots API we should rename the class in ruggeduino_devices to avoid name clashes.
The current suggestion is SonarSensor, since this class is only used within ruggeduino_devices and ruggeduino a change of name should not affect the the competitor API.

Note that this is much more a convenience issue for us -- Python is fine with two separate classes that happen to have the same name as long as they're in different places. There is a small benefit to renaming our one though to avoid any confusion, but it is fairly normal to end up with classes with the same name but in different modules.


[BUG]: Spawns are way too reduced compared to what users expect.

Mod Version
0.2.0
Game Version
v1.18.6-rc.1
Platform
Windows
SP/MP
Multiplayer
Description
I really don't like how much the spawns were reduced. Totally bummed. And, I'm not seeing the big ruins that are cool like the fortress (plaster with red roof) and others like it.
I tried increasing with the structures spawn mod ... doesn't change the problem.
How to reproduce
No response
Screenshots
No response
Logs
Log

The spawn chances got halved for most ruins so with the Addon mod you should be able to increase the spawnchances more.
I will do some more testing on it tomorrow.
Are you using non default worldgen settings?
I'm hilly terrain ruins don't really like to spawn.

The big ruins spawn every 5000 blocks this hasn't changed tho so they are quite rare.

If you need more percentage for the Addon mod I can add a 400% and 500% mod but will find out tomorrow

Thanks for checking! So (Jade here), I tried the structure spawn chance increase mod and didn't notice a difference. We are running close to default world. I think I might've decreased how craggy the world could be. Like, our world is smoother than default.

What was the motivation behind changing the spawn rate? We had fun with it as it was. :) Hehe.

Hi again. Here are the settings.


Create Detect Loop in linked list

Hi! Thanks for the PR!
I don't accept any changes at this moment, only maybe fixes to the existing code. Plus, your code is not very related to the competitive programming as it seems.
I am closing this PR, but again, thanks for creating it and for using the repo!


Cannot read property 'updateValue' of undefined

I have only found and tried this plugin today - i have this error.  What other info can i gather to help troubleshoot it?
**[04/07/2021, 08:38:01] [homebridge-enphase-envoy] Device: Envoy.local Envoy, update Device state error: TypeError: Cannot read property 'updateValue' of undefined
    at Service.enphaseEncharge.Service.updateCharacteristic (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Service.ts:465:34)
    at envoyDevice.updateDeviceState (/usr/local/lib/node_modules/homebridge-enphase-envoy/index.js:2335:18)**
[04/07/2021, 08:38:48] [homebridge-enphase-envoy] Device: Envoy.local Envoy, requesting devices info.
[04/07/2021, 08:38:49] [homebridge-enphase-envoy] Device Envoy.local Envoy, debug infoData: <?xml version='1.0' encoding='UTF-8'?>
<envoy_info>
  <time>1625344729</time>
  <device>
    <sn>121548040020</sn>
    <pn>800-00552-r01</pn>
    <software>R5.0.54</software>
    <euaid>4c8675</euaid>
    <seqnum>0</seqnum>
    <apiver>1</apiver>
    <imeter>true</imeter>
  </device>
  <package name='rootfs'>
    <pn>500-00001-r01</pn>
    <version>02.00.00</version>
    <build>950</build>
  </package>
  <package name='kernel'>
    <pn>500-00011-r01</pn>
    <version>04.01.15</version>
    <build>8f3564</build>
  </package>
  <package name='boot'>
    <pn>590-00018-r01</pn>
    <version>02.00.01</version>
    <build>426697</build>
  </package>
  <package name='app'>
    <pn>500-00002-r01</pn>
    <version>05.00.54</version>
    <build>7c95f4</build>
  </package>
  <package name='devimg'>
    <pn>500-00005-r01</pn>
    <version>01.02.293</version>
    <build>6ceafd</build>
  </package>
  <package name='geo'>
    <pn>500-00008-r01</pn>
    <version>02.01.22</version>
    <build>2faa48</build>
  </package>
  <package name='backbone'>
    <pn>500-00010-r01</pn>
    <version>05.00.02</version>
    <build>4fe435</build>
  </package>
  <package name='meter'>
    <pn>500-00013-r01</pn>
    <version>03.02.07</version>
    <build>276642</build>
  </package>
  <package name='agf'>
    <pn>500-00012-r01</pn>
    <version>02.02.00</version>
    <build>fa5320</build>
  </package>
  <package name='security'>
    <pn>500-00016-r01</pn>
    <version>02.00.00</version>
    <build>54a6dc</build>
  </package>
  <package name='full'>
    <pn>500-00001-r01</pn>
    <version>02.00.00</version>
    <build>950</build>
  </package>
  <build_info>
    <build_id>release-5.0.x-104-Nov-23-20-10:04:21</build_id>
    <build_time_gmt>1606163182</build_time_gmt>
  </build_info>
</envoy_info>
, inventoryData: [ [Object], [Object], [Object] ], metersData: [ [Object], [Object] ]
[04/07/2021, 08:38:49] [homebridge-enphase-envoy] Device: Envoy.local Envoy, parse info.xml successful: {
  "envoy_info": {
    "time": [
      "1625344729"
    ],
    "device": [
      {
        "sn": [
          "121548040020"
        ],
        "pn": [
          "800-00552-r01"
        ],
        "software": [
          "R5.0.54"
        ],
        "euaid": [
          "4c8675"
        ],
        "seqnum": [
          "0"
        ],
        "apiver": [
          "1"
        ],
        "imeter": [
          "true"
        ]
      }
    ],
    "package": [
      {
        "$": {
          "name": "rootfs"
        },
        "pn": [
          "500-00001-r01"
        ],
        "version": [
          "02.00.00"
        ],
        "build": [
          "950"
        ]
      },
      {
        "$": {
          "name": "kernel"
        },
        "pn": [
          "500-00011-r01"
        ],
        "version": [
          "04.01.15"
        ],
        "build": [
          "8f3564"
        ]
      },
      {
        "$": {
          "name": "boot"
        },
        "pn": [
          "590-00018-r01"
        ],
        "version": [
          "02.00.01"
        ],
        "build": [
          "426697"
        ]
      },
      {
        "$": {
          "name": "app"
        },
        "pn": [
          "500-00002-r01"
        ],
        "version": [
          "05.00.54"
        ],
        "build": [
          "7c95f4"
        ]
      },
      {
        "$": {
          "name": "devimg"
        },
        "pn": [
          "500-00005-r01"
        ],
        "version": [
          "01.02.293"
        ],
        "build": [
          "6ceafd"
        ]
      },
      {
        "$": {
          "name": "geo"
        },
        "pn": [
          "500-00008-r01"
        ],
        "version": [
          "02.01.22"
        ],
        "build": [
          "2faa48"
        ]
      },
      {
        "$": {
          "name": "backbone"
        },
        "pn": [
          "500-00010-r01"
        ],
        "version": [
          "05.00.02"
        ],
        "build": [
          "4fe435"
        ]
      },
      {
        "$": {
          "name": "meter"
        },
        "pn": [
          "500-00013-r01"
        ],
        "version": [
          "03.02.07"
        ],
        "build": [
          "276642"
        ]
      },
      {
        "$": {
          "name": "agf"
        },
        "pn": [
          "500-00012-r01"
        ],
        "version": [
          "02.02.00"
        ],
        "build": [
          "fa5320"
        ]
      },
      {
        "$": {
          "name": "security"
        },
        "pn": [
          "500-00016-r01"
        ],
        "version": [
          "02.00.00"
        ],
        "build": [
          "54a6dc"
        ]
      },
      {
        "$": {
          "name": "full"
        },
        "pn": [
          "500-00001-r01"
        ],
        "version": [
          "02.00.00"
        ],
        "build": [
          "950"
        ]
      }
    ],
    "build_info": [
      {
        "build_id": [
          "release-5.0.x-104-Nov-23-20-10:04:21"
        ],
        "build_time_gmt": [
          "1606163182"
        ]
      }
    ]
  }
}
[04/07/2021, 08:38:49] [homebridge-enphase-envoy] Device: Envoy.local Envoy, saved Device Info successful.
[04/07/2021, 08:38:49] [homebridge-enphase-envoy] -------- Envoy --------
[04/07/2021, 08:38:49] [homebridge-enphase-envoy] Manufacturer: Enphase
[04/07/2021, 08:38:49] [homebridge-enphase-envoy] Model: Envoy
[04/07/2021, 08:38:49] [homebridge-enphase-envoy] Api ver: 1
[04/07/2021, 08:38:49] [homebridge-enphase-envoy] Firmware: R5.0.54
[04/07/2021, 08:38:49] [homebridge-enphase-envoy] SerialNr:<PHONE_NUMBER>20
[04/07/2021, 08:38:49] [homebridge-enphase-envoy] Time: 04/07/2021, 08:38:49
[04/07/2021, 08:38:49] [homebridge-enphase-envoy] ------------------------------
[04/07/2021, 08:38:49] [homebridge-enphase-envoy] Meters: Yes
[04/07/2021, 08:38:49] [homebridge-enphase-envoy] Production: Enabled
[04/07/2021, 08:38:49] [homebridge-enphase-envoy] Consumption: Enabled
[04/07/2021, 08:38:49] [homebridge-enphase-envoy] ------------------------------
[04/07/2021, 08:38:49] [homebridge-enphase-envoy] Q-Relays: 0
[04/07/2021, 08:38:49] [homebridge-enphase-envoy] Encharges: 7
[04/07/2021, 08:38:49] [homebridge-enphase-envoy] Inverters: 24
[04/07/2021, 08:38:49] [homebridge-enphase-envoy] ------------------------------
[04/07/2021, 08:38:49] [homebridge-enphase-envoy] Device: Envoy.local Envoy, requesting homeData and inventoryData.
[04/07/2021, 08:38:54] [homebridge-enphase-envoy] Device Envoy.local Envoy, debug homeData: {
  software_build_epoch:<PHONE_NUMBER>,
  is_nonvoy: false,
  db_size: '31 MB',
  db_percent_full: '8',
  timezone: 'Pacific/Auckland',
  current_date: '07/04/2021',
  current_time: '08:38',
  network: [Object],
  tariff: 'time_of_use',
  comm: [Object],
  alerts: [],
  update_status: 'satisfied'
}, inventoryData: [ [Object], [Object], [Object] ]
[04/07/2021, 08:38:55] [homebridge-enphase-envoy] Debug productionData: {
  wattHoursToday: 14,
  wattHoursSevenDays: 75596,
  wattHoursLifetime: 36678938,
  wattsNow: 46
}, productionCtData: { production: [Array], consumption: [Array], storage: [Array] }, meterReadingData: [ [Object], [Object] ]
[04/07/2021, 08:38:55] [homebridge-enphase-envoy] Device: Envoy.local Envoy, savedProductionPowerMax: 0.065749 kW
[04/07/2021, 08:38:55] [homebridge-enphase-envoy] Device: Envoy.local Envoy, savedProductionPowerMax: 2.231176 kW
[04/07/2021, 08:38:55] [homebridge-enphase-envoy] Device: Envoy.local Envoy, savedProductionPowerMax: 2.231176 kW
[04/07/2021, 08:38:55] [homebridge-enphase-envoy] Device: Envoy.local Envoy, update Device state error: TypeError: Cannot read property 'updateValue' of undefined
    at Service.enphaseEncharge.Service.updateCharacteristic (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Service.ts:465:34)
    at envoyDevice.updateDeviceState (/usr/local/lib/node_modules/homebridge-enphase-envoy/index.js:2335:18)
[04/07/2021, 08:39:48] [homebridge-enphase-envoy] Device: Envoy.local Envoy, requesting devices info.
[04/07/2021, 08:39:50] [homebridge-enphase-envoy] Device Envoy.local Envoy, debug infoData: <?xml version='1.0' encoding='UTF-8'?>
<envoy_info>
  <time>1625344789</time>
  <device>
    <sn>121548040020</sn>
    <pn>800-00552-r01</pn>
    <software>R5.0.54</software>
    <euaid>4c8675</euaid>
    <seqnum>0</seqnum>
    <apiver>1</apiver>
    <imeter>true</imeter>
  </device>
  <package name='rootfs'>
    <pn>500-00001-r01</pn>
    <version>02.00.00</version>
    <build>950</build>
  </package>
  <package name='kernel'>
    <pn>500-00011-r01</pn>
    <version>04.01.15</version>
    <build>8f3564</build>
  </package>
  <package name='boot'>
    <pn>590-00018-r01</pn>
    <version>02.00.01</version>
    <build>426697</build>
  </package>
  <package name='app'>
    <pn>500-00002-r01</pn>
    <version>05.00.54</version>
    <build>7c95f4</build>
  </package>
  <package name='devimg'>
    <pn>500-00005-r01</pn>
    <version>01.02.293</version>
    <build>6ceafd</build>
  </package>
  <package name='geo'>
    <pn>500-00008-r01</pn>
    <version>02.01.22</version>
    <build>2faa48</build>
  </package>
  <package name='backbone'>
    <pn>500-00010-r01</pn>
    <version>05.00.02</version>
    <build>4fe435</build>
  </package>
  <package name='meter'>
    <pn>500-00013-r01</pn>
    <version>03.02.07</version>
    <build>276642</build>
  </package>
  <package name='agf'>
    <pn>500-00012-r01</pn>
    <version>02.02.00</version>
    <build>fa5320</build>
  </package>
  <package name='security'>
    <pn>500-00016-r01</pn>
    <version>02.00.00</version>
    <build>54a6dc</build>
  </package>
  <package name='full'>
    <pn>500-00001-r01</pn>
    <version>02.00.00</version>
    <build>950</build>
  </package>
  <build_info>
    <build_id>release-5.0.x-104-Nov-23-20-10:04:21</build_id>
    <build_time_gmt>1606163182</build_time_gmt>
  </build_info>
</envoy_info>
, inventoryData: [ [Object], [Object], [Object] ], metersData: [ [Object], [Object] ]
[04/07/2021, 08:39:50] [homebridge-enphase-envoy] Device: Envoy.local Envoy, parse info.xml successful: {
  "envoy_info": {
    "time": [
      "1625344789"
    ],
    "device": [
      {
        "sn": [
          "121548040020"
        ],
        "pn": [
          "800-00552-r01"
        ],
        "software": [
          "R5.0.54"
        ],
        "euaid": [
          "4c8675"
        ],
        "seqnum": [
          "0"
        ],
        "apiver": [
          "1"
        ],
        "imeter": [
          "true"
        ]
      }
    ],
    "package": [
      {
        "$": {
          "name": "rootfs"
        },
        "pn": [
          "500-00001-r01"
        ],
        "version": [
          "02.00.00"
        ],
        "build": [
          "950"
        ]
      },
      {
        "$": {
          "name": "kernel"
        },
        "pn": [
          "500-00011-r01"
        ],
        "version": [
          "04.01.15"
        ],
        "build": [
          "8f3564"
        ]
      },
      {
        "$": {
          "name": "boot"
        },
        "pn": [
          "590-00018-r01"
        ],
        "version": [
          "02.00.01"
        ],
        "build": [
          "426697"
        ]
      },
      {
        "$": {
          "name": "app"
        },
        "pn": [
          "500-00002-r01"
        ],
        "version": [
          "05.00.54"
        ],
        "build": [
          "7c95f4"
        ]
      },
      {
        "$": {
          "name": "devimg"
        },
        "pn": [
          "500-00005-r01"
        ],
        "version": [
          "01.02.293"
        ],
        "build": [
          "6ceafd"
        ]
      },
      {
        "$": {
          "name": "geo"
        },
        "pn": [
          "500-00008-r01"
        ],
        "version": [
          "02.01.22"
        ],
        "build": [
          "2faa48"
        ]
      },
      {
        "$": {
          "name": "backbone"
        },
        "pn": [
          "500-00010-r01"
        ],
        "version": [
          "05.00.02"
        ],
        "build": [
          "4fe435"
        ]
      },
      {
        "$": {
          "name": "meter"
        },
        "pn": [
          "500-00013-r01"
        ],
        "version": [
          "03.02.07"
        ],
        "build": [
          "276642"
        ]
      },
      {
        "$": {
          "name": "agf"
        },
        "pn": [
          "500-00012-r01"
        ],
        "version": [
          "02.02.00"
        ],
        "build": [
          "fa5320"
        ]
      },
      {
        "$": {
          "name": "security"
        },
        "pn": [
          "500-00016-r01"
        ],
        "version": [
          "02.00.00"
        ],
        "build": [
          "54a6dc"
        ]
      },
      {
        "$": {
          "name": "full"
        },
        "pn": [
          "500-00001-r01"
        ],
        "version": [
          "02.00.00"
        ],
        "build": [
          "950"
        ]
      }
    ],
    "build_info": [
      {
        "build_id": [
          "release-5.0.x-104-Nov-23-20-10:04:21"
        ],
        "build_time_gmt": [
          "1606163182"
        ]
      }
    ]
  }
}
[04/07/2021, 08:39:50] [homebridge-enphase-envoy] Device: Envoy.local Envoy, saved Device Info successful.
[04/07/2021, 08:39:50] [homebridge-enphase-envoy] -------- Envoy --------
[04/07/2021, 08:39:50] [homebridge-enphase-envoy] Manufacturer: Enphase
[04/07/2021, 08:39:50] [homebridge-enphase-envoy] Model: Envoy
[04/07/2021, 08:39:50] [homebridge-enphase-envoy] Api ver: 1
[04/07/2021, 08:39:50] [homebridge-enphase-envoy] Firmware: R5.0.54
[04/07/2021, 08:39:50] [homebridge-enphase-envoy] SerialNr:<PHONE_NUMBER>20
[04/07/2021, 08:39:50] [homebridge-enphase-envoy] Time: 04/07/2021, 08:39:49
[04/07/2021, 08:39:50] [homebridge-enphase-envoy] ------------------------------
[04/07/2021, 08:39:50] [homebridge-enphase-envoy] Meters: Yes
[04/07/2021, 08:39:50] [homebridge-enphase-envoy] Production: Enabled
[04/07/2021, 08:39:50] [homebridge-enphase-envoy] Consumption: Enabled
[04/07/2021, 08:39:50] [homebridge-enphase-envoy] ------------------------------
[04/07/2021, 08:39:50] [homebridge-enphase-envoy] Q-Relays: 0
[04/07/2021, 08:39:50] [homebridge-enphase-envoy] Encharges: 7
[04/07/2021, 08:39:50] [homebridge-enphase-envoy] Inverters: 24
[04/07/2021, 08:39:50] [homebridge-enphase-envoy] ------------------------------
[04/07/2021, 08:39:50] [homebridge-enphase-envoy] Device: Envoy.local Envoy, requesting homeData and inventoryData.
[04/07/2021, 08:39:54] [homebridge-enphase-envoy] Device Envoy.local Envoy, debug homeData: {
  software_build_epoch:<PHONE_NUMBER>,
  is_nonvoy: false,
  db_size: '31 MB',
  db_percent_full: '8',
  timezone: 'Pacific/Auckland',
  current_date: '07/04/2021',
  current_time: '08:39',
  network: [Object],
  tariff: 'time_of_use',
  comm: [Object],
  alerts: [],
  update_status: 'satisfied'
}, inventoryData: [ [Object], [Object], [Object] ]
[04/07/2021, 08:39:55] [homebridge-enphase-envoy] Debug productionData: {
  wattHoursToday: 14,
  wattHoursSevenDays: 75596,
  wattHoursLifetime: 36678938,
  wattsNow: 46
}, productionCtData: { production: [Array], consumption: [Array], storage: [Array] }, meterReadingData: [ [Object], [Object] ]
[04/07/2021, 08:39:55] [homebridge-enphase-envoy] Device: Envoy.local Envoy, savedProductionPowerMax: 0.065749 kW
[04/07/2021, 08:39:55] [homebridge-enphase-envoy] Device: Envoy.local Envoy, productionPowerMaxFile saved successful in: /var/lib/homebridge/enphaseEnvoy/productionPowerMax_Envoylocal 0.069802 kW
[04/07/2021, 08:39:55] [homebridge-enphase-envoy] Device: Envoy.local Envoy, savedProductionPowerMax: 2.231176 kW
[04/07/2021, 08:39:55] [homebridge-enphase-envoy] Device: Envoy.local Envoy, savedProductionPowerMax: 2.231176 kW
[04/07/2021, 08:39:55] [homebridge-enphase-envoy] Device: Envoy.local Envoy, update Device state error: TypeError: Cannot read property 'updateValue' of undefined
    at Service.enphaseEncharge.Service.updateCharacteristic (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Service.ts:465:34)
    at envoyDevice.updateDeviceState (/usr/local/lib/node_modules/homebridge-enphase-envoy/index.js:2335:18)

Maybe this is the relevant part - something about battery SoC?

[04/07/2021, 09:08:52] [homebridge-enphase-envoy] This plugin threw an error from the characteristic 'Percent full': Unhandled error thrown inside read handler for characteristic: Cannot read property '6' of undefined. See https://git.io/JtMGR for more info.
[04/07/2021, 09:08:52] [homebridge-enphase-envoy] TypeError: Cannot read property '6' of undefined
    at Characteristic.enphaseEnchargePercentFull.getHandler (/usr/local/lib/node_modules/homebridge-enphase-envoy/index.js:3309:53)
    at Characteristic.enphaseEnchargePercentFull.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1450:32)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
    at Object.__awaiter (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:113:16)
    at Characteristic.enphaseEnchargePercentFull.Characteristic.handleGetRequest (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/dist/lib/Characteristic.js:656:24)
    at Characteristic.enphaseEnchargePercentFull.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2103:22)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)

Hi - i updated to fix #33, now the error is:
[05/07/2021, 10:03:17] [homebridge-enphase-envoy] This plugin generated a warning from the characteristic 'Percent full': characteristic value expected valid finite number and received "58,58,57,55,55,56,60" (object). See https://git.io/JtMGR for more info.
[05/07/2021, 10:03:17] [homebridge-enphase-envoy] Error:
at Characteristic.enphaseEnchargePercentFull.Characteristic.characteristicWarning (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2038:105)
at Characteristic.enphaseEnchargePercentFull.Characteristic.validateUserInput (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1931:16)
at Characteristic.enphaseEnchargePercentFull. (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1456:24)
at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
at fulfilled (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:114:62)
at processTicksAndRejections (internal/process/task_queues.js:95:5)

Ok, I have finally fixed this but right now have no possibility publish it to npm (I’m on holidays)

Hey man I get a free and very excellent plugin, I have no right to say anything other than thank you, and i look forward to it when you get around to publishing :-)

Try update and let me know

Seems fine now, no errors in log, values in app are correct.....thanks!


Fix macos clippy issue

On macOS umask::Mode is u16 and clippy complains about unnecessary .into().

Closing as @marc-casperlabs has a solution already to this on his branch which I'll copy and paste temporarily

Here it is: 7d70b2139
Thanks for bringing it up!


Implement leaderboard model/entity and functions

Implement a leaderboard model that tracks and ranks players based on their achievements, battle wins, and other key performance metrics.

You can use this PR as reference https://github.com/ByteBuildersLabs/ByteBeastsBackend/pull/39 consider that here we are using static elements, but use this library https://github.com/keep-starknet-strange/alexandria to do it dinamically and be sure it is working.
Please create a new PR, include the model/entity and the functions needed for this flow like get rank player by id, a list of 10 top players etc etc you can consider the implementation of the last PR as examples and you can add more if you think is useful.
Follow the Contributions Guidelines and PR guidelines/example etc.
If you need help just ask me here in a comment or ping me in Telegram in the group channel for external contributors.

Thanks for your time, please send a comment with your approach/solution, be creative and use a technical explanation and avoid ChatGPT or AI comments.

hello, I would love to work on this!
I've worked on gaming, I have contributions in Cairo.

May I pick this up?

Hello, I'm a Developer proficient in Cairo, I've gone through the draft PR and the Alexandria package, I'm also in the telegram and would ping you anytime I encounter anything that's unclear; Can I work on this issue?

Can I tackle this one?

May I handle this issue?

@beeguy74 all yours, send a PR as soon as you can 👍


Please fix your application to use the native API of Avahi!

starting version 3.2.1
Linking the homebridge config directory
Launching DBUS daemon…
Launching avahi daemon…
Launching homebridge…
*** WARNING *** The program 'node' uses the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see http://0pointer.de/avahi-compat?s=libdns_sd&e=node
*** WARNING *** The program 'node' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see http://0pointer.de/avahi-compat?s=libdns_sd&e=node&f=DNSServiceRegister
[8/9/2017, 8:43:26 AM] Loaded plugin: homebridge-homeassistant
I am running the latest Home Assistiant Code on HASSIO 0.50.2

This is not an issue in this package but in homebridge itself and won't be fixed.
See https://github.com/nfarina/homebridge#errors-on-startup

This is indeed unrelated to this package and deemed acceptable. However, please note that this add-on is deprecated and doesn't work anymore.