chore(requirements): update ldap, drf, and requests-toolbelt

See http://pythonhosted.org/django-auth-ldap/changes.html#v1-2-9-2017-02-14-fix-python-ldap-incompatibility
and http://www.django-rest-framework.org/topics/release-notes/#354
and https://github.com/sigmavirus24/requests-toolbelt/blob/master/HISTORY.rst#071----2017-02-13

Codecov Report

Merging #1245 into master will increase coverage by 0.07%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1245      +/-   ##
==========================================
+ Coverage   87.21%   87.29%   +0.07%
==========================================
  Files          44       44
  Lines        3873     3873
  Branches      673      673
==========================================
+ Hits         3378     3381       +3
+ Misses        326      324       -2
+ Partials      169      168       -1

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 2b806df...894a324. Read the comment docs.


ECH s_server seems to assume the use of RSA certificate(s)

I'm trying to build and run a working ECH setup. I've built latest cURL, nginx and openssl (from the relevant branches).
When trying to run echsvr.sh as described here localhost-tests.md I'm getting the following error:
Running ./scripts/echsvr.sh at 20231207-213521
Not forcing HRR
Using all key pairs found in $HOME/ech-dev-utils/echkeydir
error setting private key
00000000:error:0480006C:PEM routines:get_name:no start line:crypto/pem/pem_lib.c:773:
00000000:error:0A080106:SSL routines:SSL_CTX_ech_server_enable_file:passed invalid argument:ssl/ech.c:5013:
00000000:error:0A0000F7:SSL routines:ssl_set_pkey:unknown certificate type:ssl/ssl_rsa.c:132:

I'm using an EC (P-384) certificate (from LetsEncrypt, actually) and it seems that is causing issues for openssl s_server with ECH.

Hiya,
On 07/12/2023 21:43, Avamander wrote:

I'm using an EC (P-384) certificate (from LetsEncrypt, actually) and it
seems that is causing issues for openssl s_server with ECH.

Not sure I'm getting the issue, but it's entirely possible some
problems may arise if the x.509 certs aren't using RSA (I've not
done such tests.)
That said:

00000000:error:0A080106:SSL
routines:SSL_CTX_ech_server_enable_file:passed invalid
argument:ssl/ech.c:5013:

... seems to imply you may be feeding the x.509 certificate in as if
it were an ECH key pair (it's not:-), so maybe there's a fail in
our HOWTO text that you followed? The ECH PEM file should be one
that's produced using openssl ech from the command line, and is
not ever going to be something touched by LetsEncrypt.
Could such a mixup be the issue? (Happy to try help more tomorrow
local time, but late here now.)
Cheers,
S.

seems to imply you may be feeding the x.509 certificate in as if it were an ECH key pair (it's not:-),

Hmm. I don't think that's the case.

The ECH PEM file should be one that's produced using openssl ech

The .crt-s (passed using -cert2, -cert1) are X.509 certificates. (If I let the script generate them, they're also X.509 certificates.) Rest of the files required were created using openssl ech.

Hiya,
Not sure still. Can you send the output (down as far as "ACCEPT" if it gets there) when you run echsvr.sh -d?
Also, line 5013 of ech.c doesn't throw an error as would be indicated above, so maybe you need to pull the repo again?
Ta,
S.

Coupla more questions:

What's ls -l $HOME/ech-dev-utils/echkeydir show?
Is test.example.com.priv etc the one with the p384 private key? What happens if you change that back to the foo.example.com.priv as generated by ``make-example-ca.sh"?

ah good, sounds like you're making progress, I guess leave this open 'till your happy all's well. (Or if it works for you we've now got a matrix chat room for this kind of thing too - see https://defo.ie/index.html#contact)

Just mentioning that to try and bypass this issue, I did try and build BoringSSL (and cURL and Nginx with it) but I couldn't make nginx link with it properly. I presume there are more nuances to that?

CURL+boringssl for ECH was straightforward IIRC - see here for what worked for me.
I've not yet played with nginx+boringssl for ECH - there's another chap has a fork that does that, but our nginx fork doesn't (yet) work with boringssl for nginx.


Missing @impl

Hello!
In https://github.com/bitwalker/artificery/commit/fb3cb9e65d50402c2e5311f8f3ec4d5fba49d76d an @impl attribute was removed, however when I compile this library I get this warning:
==> artificery
Compiling 10 files (.ex)
warning: module attribute @impl was not set for function get/3 callback (specified in Access). This either means you forgot to add the "@impl true" annotation before the definition or that you are accidentally overriding this callback
  lib/command.ex:74

Was it correct to remove it?

Strange, it was causing a compilation failure for me, which is why I removed it. Now I wonder if maybe something on my end was messed up. I'll take a look :)


Decorations drawn by external decorator are smaller that the window reserved for it.

I use windows shadow plugin to draw shadows, and with standard decoration or firedecor it gives exact match, but in this decorator the shadows are between the end of decorations and start of shadow.

Found the reason for it - 4 pix hardcoded in decorator process as delta and is getting always added to the theme settings.

Hi,
yeah, I will add a config parameter to set the delta border.
Unfortunately it is needed, since if the metacity theme has a 0px border  the window cannot be resized.

I just found that this change didn't change nonworking shadows here but with both Menta and my UbutuStudio_Legacy theme
https://github.com/lukefromdc/gtk-theme-ubuntustudio-legacy
greatly reduced the prominance of the nontransparent underlying window behind the decorations,
https://github.com/marcof-nikogo/wf-external-decoration/issues/6
so that it is now visible only at the rounded corners. Interestingly, I still get the ability to resize from just outside the visible border in these two themes.

Note that shadows are not working here with wayfire 0.8.0 on Debian Unstable no matter what the decorator.
Also on fullscreen or tiled windows, the window contents are drawn several px smaller than the inside of the decorations, and the titlebar thus appears to be slightly too long and the desktop or other background beneath is visible through that gap.


fix(apollo): fix transcoders view when on rinkeby

What does this pull request do? Explain your changes. (required)
This PR fixes an issue that prevents the transcoders view from loading when switching to the Rinkeby network (as reported by Rayj on Discord). This issue was introduced recently when we added orderBy & orderDirection arguments to the rewards query. Since these arguments only exist on the subgraph schema and the explorer doesn't use the subgraph while on rinkeby, we have to make sure to extend the local schema with these same arguments otherwise the query won't resolve. That's what this PR does.
Checklist:

[x] I have read the CONTRIBUTING document.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.

Ah, nice fix... hm. I should really just set up a Rinkeby subgraph for this sort of thing. On the other hand, it's sort of a shame to make the subgraph a hard dependency of the explorer... mixed feelings.
Deploying this to staging now, will merge when I verify it.


Stock

move stock npy arrays to iris-test-data https://github.com/SciTools/iris-test-data/pull/45
update skip_data pattern usage
alter minimal testing environment to not use test_data

As a cross-check, I ran all tests with control exports:

export override_test_data_repository=1 : breaks the config.TEST_DATA_DIR value
export IRIS_TEST_NO_DATA=1  : force everything wrapped in "skip_data" to skip

The only failure is this one :
iris.tests.experimental.regrid.test_regrid_conservative_via_esmpy.TestConservativeRegrid.test_multidimensional

So, that needs wrapping with "skip_data".


Scatter gl improvements

Purpose:
Some improvements for ScatterGL:

Before Benchmark.Stop() we call GL.Finish(). This block CPU thread until all GPU operations finished. So benchmark now shows correct numbers when using ScatterGL plottables.
Optimization for  data to Vertices array copy.
GRContext => Func<GRContext>. This allow us create ScatterGL at form constructor. GRContext is null at creation time.
ScatterGL can be configured to skip render or make Scatter.Render() if GRContext is null.
Add.ScatterGL extension method now return added ScatterGL.

Thank you for these improvements @StendProg! I'm going to refine this a little bit and merge it shortly.
The only thing I hesitate about is Func<GRContext> because I feel like func is a bit awkward, and GRContext is not GRContext? but sometimes it can be null, so I am interested in exploring options for making this part a little simpler.

This works now, and I think it's a little simpler for users. The control's GRContext is checked for null at render time.
formsPlot1.Plot.Add.ScatterGL(formsPlot1, xs, ys);


If else ladder refactoring

Context: BooleanLiteral expressions in the if-else conditions should be further refactored by updating the if-else tree, wherever applicable.
This PR:

This PR adds an IfElseStmtRewriter - that basically consumes the output of the default re-writer and takes this as an opportunity to dedicatedly operate on the if-else condition and also refactor the if-else ladder.
It does the following:
a.) removes the conditional block that has the false condition because that will never be executed and also does the related stitching of the next blocks.
b.) If there is a conditional block evaluating to true, then it removes all the following conditions as well as their respective bodies because they will never be executed along with necessary stitching.
As per the above specs, the sample input files(testfile.swift, treated.swift, control.swift) are updated with suitable test cases.

Having independent dedicated reducers will prove to be beneficial as Piranha evolves:

The default re-writer focuses on experimentation-related replacements etc.
Reducers applied post the above re-writing further refactors as per their utility. This way, new reducers can be added without affecting each other though sequencing in which they will be called will depend on their refactoring strategy.
Also, small scoped independent units are always easier to maintain.

This is a very nice change to the implementation. I can see how this will eventually be used to finesse deep cleaning.
However, there is one concern that needs to be fixed. The reducer should only be applied on expressions which are a result of a FF cleanup. Otherwise, this can modify code that are unrelated to FFs.
How about having an option to differentiate between cleaning up any expression vs only modifying expressions that were a result of a previous refactoring? This will let users choose an option that is more appropriate for their codebase.

Hey, @mkr-plse  thanks for pointing this out - valid point. I have updated the code to make sure that only Piranha-related expressions are considered by the reducer.
Some context about the changes

If the source file has a condition ("if true" or "if false"), then post the Lexical Analysis - the tokenKind of "true" is = .trueKeywork and .falseKeywork for "if false" by default. But for expressions that Piranha reduces, we can have a small change in the code that basically constructs a TokenKind.identifier saying "true/false". Why is this required? Well, the reducer needs a hint - what to reduce and what to allow - reducer uses this hint and only applies respective reductions to Piranha refactored expressions.
Is there any other hint that we can use? I tried different expressions, their index, root-wise comparisons, hash values, parent relationships, source ranges, and respective locations - but seems like other hints are not at all reliable because they keep changing because of many refactoring passes happening in Piranha.
Is there any con with the above approach? Since we are updating the raw code and are only concerned with updating the file contents, no cons at all here. But if we do plan to analyze the AST in the future (extreme node to node comparisons), then definitely a true keyword has a different semantic meaning compared to an Identifier (having value == "true" || "false"). But this is again not a con, because our reducer is eliminating these true/false nodes so the last SourceSyntax that is generated, will not be aware of this since reducers will take care of this.
Pros: we limit refactoring to Piranha.

Let us add a few more tests to this PR.

Yeah, sounds good. Added more test-cases. Let me know if more are to be added. Thanks!


feat(login): add login component, store, action, reducer

The test in this MR is not enough, I just added some fix to make every default test work first. More tests will be added later.


Set Up the SAP Launchpad Service - Subscription or Service Instance?

Tutorials: https://developers.sap.com/tutorials/cp-portal-cloud-foundry-getting-started.html
Write here how you think we can improve the tutorial ...
In my sub account, I have added the Launchpad Service (scp-launchpad). However, when I try to follow the step 1. of the launch pad service exercise in my account, I am asked to create a service instance and not a subscription for the launch pad service. It is listed then under the instances section and not the subscription section. I am then unsure how to follow the rest of the steps.
This activity was not done on the trial account

Hi
Did you check that you have the correct quotas and entitlements assigned?
Have you followed all the steps in this topic that is a prerequisite when using a global account: Initial Setup
Thanks Lindsay


Playback buttons are laggy and even hangs the entire session

Checklist:

[x] I have checked that there are no issues with similar or the same content
YOU SHOULD CHECK CLOSED ISSUES AS WELL

[x] I have checked the FAQ (https://github.com/MarshallOfSound/Google-Play-Music-Desktop-Player-UNOFFICIAL-/wiki/FAQ) and the answer I am looking for is not there

[x] I have double checked and can reproduce the issue

OS:
Ubuntu 18.04, GNOME3, Wayland
GPMDP Version:
4.6.1
Issue Descriptions:
UI elements that does playback (Play/Pause button, Previous button, Next button, pressing Play in the songs list view) lags pretty much,
and Play/Pause-ing via the space key hangs the application and the OS too.
The music it self stops without lag, but the GUI seems not responding quickly. Even the cursor stops from moving for about a second.
No other elements is laggy (Tried thumbs-up, menu buttons, and show-the-mini-player button).
I cannot reproduce this in Chromium (accessing GPM) nor vanilla Electron (window.location = "https://play.google.com/music/listen#/now").
Steps to Reproduce:

Open GPMDP
Play some song (lags once)
Try to pause by pressing the P/P button (lags again)
Hit the space key (hangs up)

Same on Ubuntu 18.04 with gnome-session on X.Org with proprietary nvidia drivers.

Try replacing the Electron binaries? There were some issues with 4.6.1 on KDE where it would outright segfault on startup, so maybe that version of Electron is bugged on Gnome, too. If all else fails, update to git master and build your own 64 bit deb package with the scripts? The FAQ isn't too clear on that, you really only need the dev packages for the relevant libraries, and none of the gcc or multilib versions specified, as they've gone through several major versions since then.

I tackled the issue down to being the system tray's fault or better the way GPMDP sets the tray icon.
I forked the repo and fixed the issue by not setting the icon every time the menu changes. (I actually don't know the reason why this has been done.)
And I updated Electron to 3.X, too.
You can see the changes here and download the updated version here.

This will be fixed in an upcoming Electron upgrade


Bug fix 3.7/improve queries view

Scope & Purpose
Fixes a bit of web UI layout for the currently running and slow queries.
Previously, the query string was not properly left-aligned, due to usage of an HTML <pre> element inside a template that had lots of whitespace around the to-be-inserted query string. This effectly left-padding the query string, because a <pre> is supposed to keep and render all surrounding whitepace.
This PR also includes the changes of already-merged devel PR https://github.com/arangodb/arangodb/pull/12073, which was an amalgamation of small improvements to Query.cpp and QueryList.cpp plus a few small fixes.

[x] Bug-Fix for devel-branch (i.e. no need for backports?)
[x] Strictly new functionality (i.e. a new feature / new option, no need for porting)

Testing & Verification
This change is a trivial rework / code cleanup without any test coverage.
http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/10837/

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/10840/

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/10863/

Tests blue


LL lets try the PR comment approval again only with a PR this time

Checking whether pipeline GitHub.pipelines-java will get triggered before or after an admin leaves a /azp (/AzurePipelines) run comment.

/AzurePipelines run


mqtt Power(Watt) total and 1messageblock every 30sec?

Hello,
i have 2 Question about your  great v.0.6.0

i use sdm630 with mqtt. imo mqtt stress my rasperry - is it possible to create one messageblock every 30sec or 1min?
i miss WLocPhs total - please can you integrate this in mqtt?

Regards Tim

/Raspi/SDM630/Instrument1/WLocPhsA 115.479
/Raspi/SDM630/Instrument1/WLocPhsB 80.371
/Raspi/SDM630/Instrument1/WLocPhsC 167.294
/Raspi/SDM630/Instrument1/AngLocPhsA 0.717
/Raspi/SDM630/Instrument1/AngLocPhsB 0.538
/Raspi/SDM630/Instrument1/AngLocPhsC 0.988
/Raspi/SDM630/Instrument1/TotkWhImportPhsA 0.329
/Raspi/SDM630/Instrument1/TotkWhImportPhsB 0.548
/Raspi/SDM630/Instrument1/TotkWhImportPhsC 1.156
/Raspi/SDM630/Instrument1/TotkWhImport 2.033

i miss WLocPhs total - please can you integrate this in mqtt?

Actually- at least for the SDM devices- that register is not defined in the source code and I wouldn't know if the device event supports it. The web UI solves this by just adding the phase powers.
I'd prefer to keep the MQTT API with what is really read from the device. So either we need the proper register or you need to implement this on client side.

i use sdm630 with mqtt. imo mqtt stress my rasperry - is it possible to create one messageblock every 30sec or 1min?

We already have the rate parameter for that purpose:
	cli.IntFlag{
		Name:  "rate, r",
		Value: 0,
		Usage: "MQTT: The maximum update rate (default 0, i.e. unlimited) (after a push we will ignore more data from same device and channel for this time)",
		// Destination: &mqttRate,
	},

See https://github.com/gonium/gosdm630/issues/46 for further performance discussion.

Actually, just found that https://bg-etech.de/download/manual/SDM630Register.pdf documents quite a number of other registers that are not implemented. Wondering which ones really make sense?

... oh, now i see that

${ (parseFloat(meter.WLocPhsA) + parseFloat(meter.WLocPhsB) +parseFloat(meter.WLocPhsC)).toFixed(2) }

-r 30 works perfect for me
Thanks!

ping @timtimsson would appreciate if you could test https://github.com/gonium/gosdm630/pull/47


Epic Crafting Table UI

Describe the bug

Expected behavior
For the UI to be large enough encompass it all

I think I recall that this used to work fine on an older version of EMI. I am not sure whether I am responsible for the bug or EMI is.


[RFC] Add special case for textNumberPattern with a '0' pad character

[!NOTE]
I've marked this as a RFC/Draft--although I think this changes the behavior to what a user would expect with this specific type of textNumberPattern, it is behavior that is not specified by the DFDL specification

If textNumberPattern specifies a pad character before the number pattern and without a positive prefix, then ICU defaults to a pad position of PAD_BEFORE_PREFIX with no way to change it with just the pattern. This is reasonable for most cases, like when the pad character is a space. However, if the pad character in textNumberPattern is '0', then negative numbers are padded with a '0' before the negative sign. For example, a pattern of "*0####0" unparses -123 to "0-123". This is very unlikely to be what the user wants with this pattern.
So in this very specific case, we change the pad position to PAD_AFTER_PREFIX so the zero pad character appears after the negative sign, e.g. "-0123".
If a user really wants '0' characters to the left of the negative sign, they can use textPadKind/textTrimKind and textNumberPadCharacter to uses Daffodils padding logic.

This is one idea for a way to fix the issue mentioned in https://github.com/DFDLSchemas/NITF/issues/19. Without this, I could not get ICU to unparse the way a user would expect. The alternative that Mike suggests of using a choice and different elements for positive and negative numbers works but feels unsatisfying and makes the schema much more complex.

Subsumed by https://github.com/apache/daffodil/pull/1139 which fixes the same issue.


--mqtt-pass Should be --mqtt-password

I think there is an error in your script. According to the pyglowmarkt docs the mqtt argument should be --mqtt-password not --mqtt-pass
Had me stumped for a while

Thank you, you are entirely correct.. I'll fix it now!

Sorted @totalitarian thanks again!


Allow unsorting data

Now I have some time to work on sort by column for Harlequin.
One component of sorting by column is the ability to unsort the datatable back to the rows' original ordering prior to sorting. For ex, restoring the datatable back to it's original state when a column's sort setting has clicked through "ascending" and "descending" back to no sort order.
A solution to enable via the backend this could be:

Add a hidden index column at position 0 to the DataFrame named "_fastdatatable_index" when the backend is instantiated
Never expose this column or its contents outwith of the backend, so textual does not render it

Requires modifying backend methods like columns, get_column_at, append_rows to hide or handle the hidden column as appropriate

When sort is called, the DataFrame hidden column retains the original order by the index that also gets sorted. sort(None) could then be used to unsort, i.e. restore the original ordering when required.

Advantages:

This shouldn't require too many lines of code changes
It will restore some of the functionality that didn't port over when fastdatatable forked from Textual's original datatable, as unsorting could be achieved via Textual's separation of the data and the order rows are displayed via row_locations

Disadvantages:

It creates a protected column name ("_fastdatatable_index") that users of fastdatatable will be forbidden from having in their own tables

Any thoughts Ted? If you're happy for me to proceed, I'll start committing code for more discussion into a branch & draft PR. 🙌

Hey @alexmalins, Sorry it took me a minute to get back to you.
Because the backend data is largely immutable, we already maintain a few copies of it. I think a simpler approach here would be to just store a copy of the unsorted data before you sort it the first time. The basic change would be:
Class ArrowBackend:
    ...
    def sort(
        self, by: list[tuple[str, Literal["ascending", "descending"]]] | str
    ) -> None:
        """
        by: str sorts table by the data in the column with that name (asc).
        by: list[tuple] sorts the table by the named column(s) with the directions
            indicated.
        """
        if self._unsorted_data is None:
            self._unsorted_data = self.data
        self.data = self.data.sort_by(by)

    def unsort(self) -> None:
        """Mutate self.data to restore the original ordering, before sorting was applied."""
        if self._unsorted_data is not None:
            self.data = self._unsorted_data

Then there will be some other times when you have to invalidate the self._unsorted_data prop, like when adding/deleting rows/columns etc.

Thanks Ted - I guess I was being too precious in not wanting to store a copy due to the extra memory overhead. But the flipside is not storing & introducing a hidden index introduces more code complexity.
I just pushed #124 with some commits when I was playing around with this the weekend before last. I'll switch it over to your suggested solution and generally tidy it up, as there's some general small fixes and code improvements entwined with the commits adding the hidden index. 👍


Automated cherry pick of #2413: host migrate

Cherry pick of #2413 on release/2.12.
#2413: host migrate

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.12@cbe085c). Click here to learn what that means.
The diff coverage is 0%.

@@              Coverage Diff               @@
##             release/2.12   #2509   +/-   ##
==============================================
  Coverage                ?   7.05%
==============================================
  Files                   ?     456
  Lines                   ?   71903
  Branches                ?       0
==============================================
  Hits                    ?    5074
  Misses                  ?   66410
  Partials                ?     419

Flag
Coverage Δ

#aFlag
7.05% <0%> (?)

Impacted Files
Coverage Δ

pkg/cloudcommon/db/opslog.go
2.66% <ø> (ø)

pkg/compute/models/guest_actions.go
0% <0%> (ø)

pkg/compute/models/hosts.go
0.39% <0%> (ø)

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 cbe085c...1f0b9f5. Read the comment docs.


changed cli prepend note

Describe this PR
changed cli prepend note in cli reference

You can also install Npm CLIs globally, which removes the need to use any prefix.

You can also install Npm CLIs globally, which removes the need to use any prefix.

The docs team agreed to not mention global installs since its not recommended.


chore(merge-back): 1.133.0

See CHANGELOG

AWS CodeBuild CI Report

CodeBuild project: githubautobuild-for-cdk-v2
Commit ID: 639a5b1305e9ea4a085a428c7bb8bc585600e786
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: githubautobuild-for-cdk-v1
Commit ID: 639a5b1305e9ea4a085a428c7bb8bc585600e786
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: githubautobuild-for-cdk-v2
Commit ID: e6b56ff7e10deffcada4a368a4c08580367832b4
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: githubautobuild-for-cdk-v1
Commit ID: e6b56ff7e10deffcada4a368a4c08580367832b4
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


New component 'insteon_plm' and related platforms

Description:
This PR adds a new component 'insteon_plm' for use with INSTEON PowerLinc USB/serial modems. It includes constituent platforms: light, switch, and binary_sensor.
Pull request in home-assistant.github.io with documentation (if applicable): home-assistant/home-assistant.github.io#2092
Example entry for configuration.yaml (if applicable):
insteon_plm:
    port: /dev/ttyUSB0

Checklist:
If user exposed functionality or configuration variables are added/changed:

[x] Documentation added/updated in home-assistant.github.io

If the code communicates with devices, web services, or third-party tools:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[x] New dependencies have been added to the REQUIREMENTS variable (example).
[x] New dependencies are only imported inside functions that use them (example).
[x] New dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[x] New files were added to .coveragerc.

Can you register a callback on component and use discovery for setup platforms? You way overwrite the idea of discovery. You can use discovery info for get data to it.

@balloob , @pvizeli : After our conversation on Gitter last night, I messed around deferred load_platform suggestion and got some code in place that functions but it's so terribly ugly and unwieldy that I don't even want to commit it.
I grepped the dev branch to try to find some other component that behaves this way and I came up empty.  Everywhere I look I just see components doing a "for p in platform_list" and loading all their platforms at once during setup.  The only component I found that did anything remotely like this is hdmi_cec but it's pretty bare-bones and didn't really help to educate me about the intent of the various discovery helpers.  Do you have an example I could look at to guide my development?
The code at this gist functions but it's truly awful (even ignoring all the print() call breadcrumbs.
I'm happy to pursue this, it makes sense especially since the number of insteon_plm platforms is only going to grow in the future (definitely adding sensor, probably cover and lock as well).  But from the trenches here it's hard to see how the complexity is worth the tradeoff of just loading potentially unused platforms for insteon_plm.  That tells me I'm probably missing something fundamental about the suggestion.
Thanks!

It is not very dificult. You need to have callback and that generate a config they will be discovered. On platform you need only to look at discovery_info and Setup device with that.
Do you have allready the code for that, move that to component and send the address, address_hex as config to platform.

Oh, ok, I think I see the intent.  Thanks

On platform
@asyncio.coroutine
def async_setup_platform(hass, config, async_add_devices, discovery_info=None):
    """Set up the INSTEON PLM device class for the hass platform."""
    if discovery_info is None:
        return
    _LOGGER.info('Provisioning Insteon PLM Binary Sensors')

    plm = hass.data['insteon_plm']

    name = discovery_info['address']
    address = discovery_info['address_hex']
    yield from async_add_devices([InsteonPLMBinarySensorDevice(hass, plm, address, name)]))

OK, I think I got it.  Committed and pushed changes which move the new device callback handling to the component level and then pass the new devices down to the relevant platform(s) for that device using the discovery_info channel of async_load_platform.   Thanks again for the help and guidance.  Every time I submit code to this project I learn and improve.


[REVERT] add debug output

@TomeCirun
I added the debug output you probosed in a slightly modified way.
Here is the output:
Defaulted container "ckan" out of: ckan, init-data (init), pg-ready (init)
/srv/app/start_ckan.sh: Ignoring /srv/app/docker-entrypoint.d/* (not an sh or py file)

Starting UWSGI with '2' workers
[prerun] Start check_db_connection...
[prerun] Start check_solr_connection...
[prerun] Succesfully connected to solr and CKAN schema loaded
[prerun] Start init_db...
[prerun] Initializing or upgrading db - start using ckan db init
2023-04-20 13:05:19,145 INFO  [ckan.cli] Using configuration file /srv/app/production.ini
2023-04-20 13:05:19,145 INFO  [ckan.config.environment] Loading static files from public
2023-04-20 13:05:19,263 INFO  [ckan.config.environment] Loading templates from /srv/app/src/ckan/ckan/templates
2023-04-20 13:05:19,622 INFO  [ckan.config.environment] Loading templates from /srv/app/src/ckan/ckan/templates
Traceback (most recent call last):
  File "/usr/local/bin/ckan", line 8, in <module>
    sys.exit(ckan())
  File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 781, in main
    with self.make_context(prog_name, args, **extra) as ctx:
  File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 700, in make_context
    self.parse_args(ctx, args)
  File "/srv/app/src/ckan/ckan/cli/cli.py", line 115, in parse_args
    result = super(ExtendableGroup, self).parse_args(ctx, args)
  File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 1212, in parse_args
    rest = Command.parse_args(self, ctx, args)
  File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 1048, in parse_args
    value, args = param.handle_parse_result(ctx, opts, args)
  File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 1630, in handle_parse_result
    value = invoke_param_callback(self.callback, ctx, self, value)
  File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 123, in invoke_param_callback
    return callback(ctx, param, value)
  File "/srv/app/src/ckan/ckan/cli/cli.py", line 125, in _init_ckan_config
    _add_ctx_object(ctx, value)
  File "/srv/app/src/ckan/ckan/cli/cli.py", line 134, in _add_ctx_object
    ctx.obj = CtxObject(path)
  File "/srv/app/src/ckan/ckan/cli/cli.py", line 56, in __init__
    self.app = make_app(self.config)
  File "/srv/app/src/ckan/ckan/config/middleware/__init__.py", line 56, in make_app
    load_environment(conf)
  File "/srv/app/src/ckan/ckan/config/environment.py", line 123, in load_environment
    p.load_all()
  File "/srv/app/src/ckan/ckan/plugins/core.py", line 165, in load_all
    load(*plugins)
  File "/srv/app/src/ckan/ckan/plugins/core.py", line 193, in load
    plugins_update()
  File "/srv/app/src/ckan/ckan/plugins/core.py", line 153, in plugins_update
    environment.update_config()
  File "/srv/app/src/ckan/ckan/config/environment.py", line 322, in update_config
    logic.get_action('get_site_user')({'ignore_auth': True}, None)
  File "/srv/app/src/ckan/ckan/logic/__init__.py", line 454, in get_action
    raise NameConflict(
ckan.logic.NameConflict: The action 'user_create' is already implemented in 'display_group', in plugin <Plugin RestrictedPlugin 'restricted'>.

Traceback (most recent call last):
  File "prerun.py", line 217, in <module>
    init_db()
  File "prerun.py", line 113, in init_db
    raise e
  File "prerun.py", line 101, in init_db
    subprocess.check_output(db_command, stderr=subprocess.STDOUT)
  File "/usr/lib/python3.8/subprocess.py", line 415, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/usr/lib/python3.8/subprocess.py", line 516, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['ckan', '-c', '/srv/app/production.ini', 'db', 'init']' returned non-zero exit status 1.
[CKAN prerun] FAILED. Exiting...

Apparently, den naming conflict is caused in ckanext-restricted
This only affects the sddi image. I'll test sddi-base later. It should not be affected by this, as ckanext-restricted is not contained there.


Docs: Fix outdated image links in CONTRIBUTING.md

Description of PR
I've created a PR to fix the image links to show the Process flow in the Contributing Markdown document. The links contained reference to images stored in the Google Cloud, but these were not being rendered properly when viewed on GitHub. As a result, I've taken the relevant screenshots and hosted them on the ImgBB service. The new images can be viewed when a rich diff is applied on the changes made in this PR.

Fixes #2358

Fixed via 059fc13fbc9d13495971926a4c41e3abdb0140ce


[ERROR] Slave I/O for channel '': error connecting to master 'repl_lJARV

Hi All,
I have deployed second cluster with operator next to an already existing and 1 master with 2 slaves and on both slaves I get this ERROR:
[ERROR] Slave I/O for channel '': error connecting to master 'repl_lJARV@my-clusterr-mysql-0.my-cluster-cluster-mysql-:3306' - retry-time: 10  retries: 6133, Error_code: 2005
On the other cluster deployed first I get no error like this but  get a the warning described in issue #142
any idea's how to deal with this?
thx

Hi @HBO2,
I've tried to reproduce it as you said but I can not. What is your setup exactly? Also, did you use the same secret for both clusters? What version of operator did you use? Did you add some extra configures on the cluster?
Thanks for letting us know about this!

Hi @AMecea
It could be that the first attempt of the creation of cluster I used the same secret, but I deleted this version and I am using a different secret, but I used the same secret for the backup.
please find below the setup:
apiVersion: mysql.presslabs.org/v1alpha1 kind: MysqlCluster metadata:   annotations:     kubectl.kubernetes.io/last-applied-configuration: |       {"apiVersion":"mysql.presslabs.org/v1alpha1","kind":"MysqlCluster","metadata":{"annotations":{},"creationTimestamp":"2018-11-06T13:23:30Z","generation":2,"name":"ain-production-cluster","namespace":"default","resourceVersion":"7562247","selfLink":"/apis/mysql.presslabs.org/v1alpha1/namespaces/default/mysqlclusters/ain-production-cluster","uid":"27319699-e1c7-11e8-b005-0a44ea3fb6f3"},"spec":{"backupSchedule":"0 0 */20 * * *","backupScheduleJobsHistoryLimit":1,"backupSecretName":"my-cluster-backup-secret","backupUri":"s3://backupprod/","minAvailable":"50%","mysqlConf":{"innodb-buffer-pool-size":"536870912","innodb-log-file-size":"134217728"},"mysqlVersion":"5.7","podSpec":{"affinity":{"podAntiAffinity":{"preferredDuringSchedulingIgnoredDuringExecution":[{"podAffinityTerm":{"labelSelector":{"matchLabels":{"app":"mysql-operator","mysql_cluster":"ain-production-cluster"}},"topologyKey":"kubernetes.io/hostname"},"weight":100}]}},"imagePullPolicy":"IfNotPresent","resources":{"requests":{"cpu":"200m","memory":"1Gi"}}},"replicas":3,"secretName":"mysql-production-secret","volumeSpec":{"accessModes":["ReadWriteOnce"],"resources":{"requests":{"storage":"8Gi"}},"storageClassName":"managed-premium"}}}   creationTimestamp: 2018-11-06T13:23:30Z   generation: 3   name: ain-production-cluster   namespace: default   resourceVersion: "7577855"   selfLink: /apis/mysql.presslabs.org/v1alpha1/namespaces/default/mysqlclusters/ain-production-cluster   uid: 27319699-e1c7-11e8-b005-0a44ea3fb6f3 spec:   backupSchedule: 0 0 */20 * * *   backupScheduleJobsHistoryLimit: 1   backupSecretName: my-cluster-backup-secret   backupUri: s3://backupprod/   minAvailable: 50%   mysqlConf:     innodb-buffer-pool-size: "536870912"     innodb-log-file-size: "134217728"   mysqlVersion: "5.7"   podSpec:     affinity:       podAntiAffinity:         preferredDuringSchedulingIgnoredDuringExecution:         - podAffinityTerm:             labelSelector:               matchLabels:                 app: mysql-operator                 mysql_cluster: ain-production-cluster             topologyKey: kubernetes.io/hostname           weight: 100     imagePullPolicy: IfNotPresent     resources:       requests:         cpu: 200m         memory: 1Gi   replicas: 3   secretName: mysql-production-secret   volumeSpec:     accessModes:     - ReadWriteOnce     resources:       requests:         storage: 8Gi     storageClassName: managed-premium

This can happen because of a previous cluster that had the same name with this one. So the PVC that was left behind by the previous cluster is reused and the new credentials don't fit.
This is fixed in version 0.2.0 by #140


Change fast forward pull and rebase classes to be more readable/intuitive

Rename BasePullBranchFastForwardOnlyAction class (remove "FastForwardOnly" part)
No calls from Pull action (BasePullBranchFastForwardOnlyAction) class to FF merge to parent class (BaseFastForwardMergeBranchToParentAction.java) (idea ->  extract shared class for shared code)

it looks like two different task for me 🤣  but anyway - good points! esp in scope of too long action names. I don't like them - the code looks ugly. The bundles references are like this 😭:
format(getString("action.GitMachete.BaseFastForwardMergeBranchToParentAction.notification.title.ff-success"),
                stayingName, movingName)

I was thinking if we could drop the Action suffix from the action class names to save some space 👾
Or drop the "Base" ⚾ ? I don't like our convention on I-interfaces and Base-abstract classes. I like Java collections on that (List as an interface, and Array/Linked prefix as class). But ofc it's harder to find the proper names like that in our case.
Or use some abbreviation for actions (or its parts like FastForward -> FF)

And probably we can be shroter on format/getString (abbreviations, combination of them?)
A lot of things mentioned here 😆 talking it online might be good

I ve quickly tried this (getString & format together):
  public static String getFmtStr(@PropertyKey(resourceBundle = BUNDLE) String key, String... args) {
    return format(instance.getString(key));
  }

but in doesn't populate the {x} 😕

That may be b/c I didn't pass the args to format call 😆 with that works perfectly and I think that's something we should go for

I ve quickly tried this (getString & format together):

The question is whether we can still have compile-time checking of properties done by https://checkerframework.org/manual/#i18n-formatter-checker ... it looks that @I18nMakeFormat won't work on such getFmtStr method ☹

Although! I still think some hacks can be done with Lombok's ExtensionMethod, like getString(...).fmt(..., ...) which would expand to format(getString(...), ..., ...) but be more readable

@mkondratek could you open issues for your ideas? good first issues will actually be pretty useful, as we might have an intern joining soon-ish :)


Unable to edit/select environments from Manage Environments modal

Expected Behavior
In the 'Manage Environments' modal:
Double click on sub-environment name - being able to edit the environment
Click on checkbox - activate/deactivate environment
Actual Behavior
It looks like any click action triggers drag event which prevents from editing/activating environment
Reproduction Steps

Open 'Manage Environments'.
Create new sub environment.
Create another sub environment.
Double click environment to edit - draggable event gets triggered
Click on the checkbox - draggable event gets triggered

Is there an existing issue for this?

[x] I have searched the issue tracker for this problem.

Additional Information
This is a fresh install of Insomnia.
I am able to edit the sub environments when I first select the environment from the main screen and then open 'Manage environments' modal.
Insomnia Version
2022.6.0
What operating system are you using?
Other Linux
Operating System Version
Pop!_OS 22.04 LTS x86_64
Installation method
snap, flatpak
Last Known Working Insomnia version
No response

It seems that the modal loses the keyboard focus after a couple of seconds. Anything written in the environment modal while it is "unresponsive" instead appears in a text field underneath; the URL or the request body.
Experiencing the same issue here:
Version: Insomnia 2022.6.0
Build date: 9/26/2022
OS: Darwin arm64 21.6.0
Electron: 19.0.3
Node: 16.14.2
V8: <IP_ADDRESS>-electron.0
Architecture: arm64

@kweh This looks like this other issue https://github.com/Kong/insomnia/issues/5234

Same behaviour on Fedora 36:
Version: Insomnia 2022.6.0
Build date: 26/09/2022
OS: Linux x64 5.19.11-200.fc36.x86_64
Electron: 19.0.3
Node: 16.14.2
V8: <IP_ADDRESS>-electron.0
Architecture: x64

Behaviour:

If you click for too long on the sub environment label (element li.env-modal__sidebar-item) you trigger the drag n drop behaviour
If you click fast enough (wild guess: less than 250ms?) you can access the sub environment
Also if you click fast enough you can click on the button to activate the environment (element div.env-status > button)

The click and hold delay to trigger the drag n drop is too low for many users.
IMHO, for a better user expierience, the drag n drop should only be used via the already existing drag icon (element i.drag-handle).

Same issue as described by @vaidd4 on macos.
Version: Insomnia 2022.6.0
Build date: 9/26/2022
OS: Darwin arm64 21.5.0
Electron: 19.0.3
Node: 16.14.2
V8: <IP_ADDRESS>-electron.0
Architecture: arm64

Hi folks, this should be fixed in our latest beta.5 release:  https://github.com/Kong/insomnia/releases/tag/core%402022.7.0-beta.5

For Fedora users affected by https://github.com/Kong/insomnia/issues/5088, you can use this experimental build which includes all changes included in beta.5:  https://github.com/filfreire/insomnia/releases


Add new entries to YML file

Hi @lea-33 ,
this is a folllow-up PR for #320. I presume git-bob didn't work because you worked on a fork, and there github-secrets were not configured as demonstrated here. I merged it into a new branch on the source repositories, where the secrets are configured. Hence, we can see here in a minute if git-bob works, and if the other tests are passing.
I will also write the following so that the related issue is closed automatically, once this PR is merged:
closes #63
Best,
Robert

Thanks! The git-bob is working now. So we just have to solve the issue with the data normalizer and then it should be working to merge it.

The current error is related to entries which have no tags.
Traceback (most recent call last):
  File "/home/runner/work/training/training/scripts/generate_link_lists.py", line 429, in <module>
    main()
  File "/home/runner/work/training/training/scripts/generate_link_lists.py", line 54, in main
    all_author_counts = collect_all(content, "authors")
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/training/training/scripts/generate_link_lists.py", line 322, in collect_all
    if type(tags) is not list and "," in tags:
                                  ^^^^^^^^^^^
TypeError: argument of type 'NoneType' is not iterable

I will take care of this.

The error is now:
Duplicate entry detected: https://zenodo.org/records/8323588
Duplicate entry detected: https://doi.org/10.5281/zenodo.8323588
Duplicate entry detected: https://www.nature.com/articles/s41592-021-01166-8
Duplicate entry detected: https://www.go-fair.org/fair-principles/
Traceback (most recent call last):
  File "C:\structure\code\training\scripts\generate_link_lists.py", line 433, in <module>
    main()
  File "C:\structure\code\training\scripts\generate_link_lists.py", line 74, in main
    raise KeyError(f"Duplicate entries detected! Remove them and rebuild the index.")
KeyError: 'Duplicate entries detected! Remove them and rebuild the index.'

I will take care of this.

Big thanks @lea-33 !


Location of randomizer for code_verifier for PKCE

Hi people,
i'm trying to add an own randomization-algorithm of the code_veriefier of PKCE to make it more secure.
But i'm having trouble finding the locations in the library where the code_verifier is created.
Can somebody help me find the files that i need?
Thanks tor your help.

I presume you're looking for this code?
https://github.com/manfredsteyer/angular-oauth2-oidc/blob/03357909ed3013623a1a69f9599f015d46aa4906/projects/lib/src/oauth-service.ts#L2740-L2754

Yes, thank you very much!


Fix up test names for reporting

The web view in AzDo pulls the name out of the results XML, which can be duplicative or unsatisfying in other ways. This will process the XML to put a bread crumb of the namespace and the type along with the test name.

/azp run java - core - ci


change IPActiveGlobalBlock to meta link from en

Stewards will be able to adjust active global blocks this way if necessary without any extra clicks

Codecov Report

Merging #611 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##             master    #611   +/-   ##
========================================
  Coverage      5.90%   5.90%
  Complexity     2247    2247
========================================
  Files           173     173
  Lines         11134   11134
========================================
  Hits            657     657
  Misses        10477   10477

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 5138436...64b2a41. Read the comment docs.


Connection with remote debugger is greatest slow

Hi React native development,
While using react native remote js debugging app is slow or sometime it's take near about 15 to 30 minutes then app is start and after crash.
I am using react native framework for my app development but it's really hard to develop app in this framework.
Or Team if you have alternative way to debug the app then plz let me know.

Hey, thanks for reporting this issue!
It looks like your description is missing some necessary information, or the list of reproduction steps is not complete. Can you please add all the details specified in the template? This is necessary for people to be able to understand and reproduce the issue being reported.
I am going to close this, but feel free to open a new issue that meets the requirements set forth in the template. Thanks!


Show enabled extensions isolated

Hello, I have a new request for the vscode team.
After installing several extensions, and disabling some, I have been uncomfortable with the fact that I can´t see isolated the extensions that I have enabled. Instead with the extensions disabled the opposite happens.
In my opinion should appear by default only the extensions enabled when the extensions panel opens, and the user decides whether or not to see the disabled, which for some reason disabled them

An action to show only enabled extensions was made available.


LRU (Least Recently Used) Eviction Policy

LRU (Least Recently Used) Eviction Policy: Implement an LRU eviction policy to automatically remove the least recently used items when the cache reaches a certain size.

after each changes it would be great to update documentation(README.MD)


Packages installations further improvments

Please review after merging previous PRs

I can confirm that it works under flatpak after the fixes I pushed. I suggest checking normal Linux installation, installation in Linux when there is no system-wide pip present (I suspect this may actually fail), Windows installation and MacOS installation.


/bin/ld: cannot find -luv

TL;DR:

Why does linenoise need libuv?

@con (see below) didn't come here to try figure their issue out. If they had, and had followed the procedure I followed (take something from the error message and search for it) then "luv" wouldn't have helped and "ld" would have gotten a makefile line but then what? How would I or @con have been able to figure out the issue was libuv from that? Or some other route? I suspect I'd have ended up posting an issue. Which would presumably be fine given your awesome maintainer record but I thought I'd ask if you have a favorite resource or two to point problem solvers to regarding this Linenoise module for future reference.

The long version:
In SOQ Installing Linenoise for Perl6 on CentOS: cannot find library “luv” @con shows the error they were getting when installing Linenoise:
===> Building: Linenoise:ver<0.1.1>:auth<Rob Hoelz>
/bin/ld: cannot find -luv
collect2: error: ld returned 1 exit status
make: *** [/root/.zef/store/p6-linenoise.git/480fd919b2c082e691c518fd50c19ad8719532b6/resources/libraries/liblinenoise.so] Error 1

I wildly guessed it was something to do with libuv and commented as such. (My guess was that the -luv was a -l switch with uv as its argument, and that a lib was being inserted by something. It looks like I was right.) A couple minutes later @con then answered their question and noted:

the issue was that if libuv isn't installed, it gives an error with -luv which doesn't really help me know what library I need. @raiph gave me the hint I needed

In the meantime I was investigating by searching this repo for ld which led to this line:
%LD% %LDSHARED% %LDFLAGS% %LIBS% %LDOUT%resources/libraries/%linenoise% linenoise%O%
I was 99% sure this was the right line because of the resources/libraries/ bit which matched the make error message line. But before I got any further @con had figured the answer out from my libuv hint.

Thanks for forwarding the report to me @raiph - that line you posted is filled in by LibraryMake, which uses the build flags from $*VM to populate the template.  I spun up a little VM with CentOS 7 to try to reproduce this - no dice, unfortunately.  However, I have a theory:
My guess is that the user installed a pre-built perl6/rakudo package that uses a MoarVM built against the libuv that ships with CentOS, rather than the vendored version of libuv that MoarVM includes in its 3rdparty directory.  That way, $*VM.config<libs> would probably have -luv in it.  However, if that were the case, I wouldn't expect perl6 to run at all, since it would need to link to libuv at runtime.  So I'm not really sure what's happening here!
Unfortunately, without knowing more about how the user installed Rakudo, there's not much more I can do!

@hoelzro I installed rakudo/perl6 with yum at the command line, but I had a similar issue with apt-get install on Ubuntu

@hhg7 Is that rakudo/perl6 package in the default CentOS repos? Also, which version of CentOS are you using?

Rob, have you read https://stackoverflow.com/a/41418667/1077672? This led to a PR which you merged but I think it's important you read that SO answer. Also, from the merged PR:

Note that while this allows Linenoise to be installed on windows once again, it still does not work properly.

That's not directly relevant here because that's windows and this is linux but thought I'd mention it.

@raiph I haven't seen that SO thread - thanks for pointing it out! That issue sounds more like a problem with hardcoding DLL/SO prefixes; this issue sounds more like "MoarVM is telling Rakudo that it was built with -luv in its linker flags".

I'm having the same issue on Ubuntu.
Running zef install Linenoise results in the following error
===> Searching for: Linenoise
===> Building: Linenoise:ver<0.1.1>:auth<Rob Hoelz>
[Linenoise] /usr/bin/ld: cannot find -luv
[Linenoise] collect2: error: ld returned 1 exit status
[Linenoise] make: *** [Makefile:9: /home/nle/.zef/store/p6-linenoise.git/4b98fe19b999a6da63f7427ab77f22e78739af88/resources/libraries/liblinenoise.so] Error 1
===> Building [FAIL]: Linenoise:ver<0.1.1>:auth<Rob Hoelz>
Aborting due to build failure: Linenoise:ver<0.1.1>:auth<Rob Hoelz> (use --force-build to override)

My system has a package called libuv1 installed, which seems to be the current version of the libuv dependency on Ubuntu, but the installer doesn't seem to recognise that.

Quoting https://colabti.org/irclogger/irclogger_log/moarvm?date=2020-06-10#l55:

15:56 | nine | raiph: re https://github.com/hoelzro/p6-linenoise/issues/28#issuecomment-463043982 it's worth perusing how those users installed MoarVM and how those  packages were built precisely. MoarVM bundles a libuv and links to it statically. I guess those distro packagers didn't follow that.

Hi @ElectricCoffee,
Stefan's comment (above) suggests MoarVM normally ships with its own libuv but that your MoarVM perhaps doesn't. If you could post details about your MoarVM install beyond "Ubuntu", and especially the build log showing your MoarVM build output, that would be wonderful.

@raiph how do I provide this information?

@ElectricCoffee
Two options I can think of:

We dialog about how you got Rakudo onto your Ubuntu in the first place, and then we try figure out if the build logs are still available; or, perhaps way easier:

You remove Rakudo, then install it again, but this time with the specific intent of grabbing the output from the building process and copying that into a gist, and also rerunning zef install Linenoise and copying that output into the gist too, and then linking to the gist in a comment here.

Thanks for following up.

@raiph Here's the installation:
nle@ubuntu:~$ sudo apt install rakudo
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  fonts-glyphicons-halflings libgraph-perl libjs-angularjs libjs-bootstrap moarvm nqp
Suggested packages:
  valgrind
The following NEW packages will be installed:
  fonts-glyphicons-halflings libgraph-perl libjs-angularjs libjs-bootstrap moarvm nqp rakudo
0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
Need to get 6,469 kB of archives.
After this operation, 47.0 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 fonts-glyphicons-halflings all 1.009~3.4.1+dfsg-1 [117 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 libgraph-perl all 1:0.9704-1 [109 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 libjs-angularjs all 1.7.9-1 [551 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 libjs-bootstrap all 3.4.1+dfsg-1 [124 kB]
Get:5 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 moarvm amd64 2019.11+dfsg-2build2 [1,225 kB]
Get:6 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 nqp amd64 2019.11+dfsg-2 [584 kB]
Get:7 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 rakudo amd64 2019.11-4 [3,759 kB]
Fetched 6,469 kB in 11s (590 kB/s)
Selecting previously unselected package fonts-glyphicons-halflings.
(Reading database ... 319973 files and directories currently installed.)
Preparing to unpack .../0-fonts-glyphicons-halflings_1.009~3.4.1+dfsg-1_all.deb ...
Unpacking fonts-glyphicons-halflings (1.009~3.4.1+dfsg-1) ...
Selecting previously unselected package libgraph-perl.
Preparing to unpack .../1-libgraph-perl_1%3a0.9704-1_all.deb ...
Unpacking libgraph-perl (1:0.9704-1) ...
Selecting previously unselected package libjs-angularjs.
Preparing to unpack .../2-libjs-angularjs_1.7.9-1_all.deb ...
Unpacking libjs-angularjs (1.7.9-1) ...
Selecting previously unselected package libjs-bootstrap.
Preparing to unpack .../3-libjs-bootstrap_3.4.1+dfsg-1_all.deb ...
Unpacking libjs-bootstrap (3.4.1+dfsg-1) ...
Selecting previously unselected package moarvm.
Preparing to unpack .../4-moarvm_2019.11+dfsg-2build2_amd64.deb ...
Unpacking moarvm (2019.11+dfsg-2build2) ...
Selecting previously unselected package nqp.
Preparing to unpack .../5-nqp_2019.11+dfsg-2_amd64.deb ...
Unpacking nqp (2019.11+dfsg-2) ...
Selecting previously unselected package rakudo.
Preparing to unpack .../6-rakudo_2019.11-4_amd64.deb ...
Unpacking rakudo (2019.11-4) ...
Setting up fonts-glyphicons-halflings (1.009~3.4.1+dfsg-1) ...
Setting up libgraph-perl (1:0.9704-1) ...
Setting up libjs-angularjs (1.7.9-1) ...
Setting up moarvm (2019.11+dfsg-2build2) ...
Setting up libjs-bootstrap (3.4.1+dfsg-1) ...
Setting up nqp (2019.11+dfsg-2) ...
Setting up rakudo (2019.11-4) ...
  rakudo-helper.pl: Reinstalling all perl6 modules ...
Processing triggers for fontconfig (2.13.1-2ubuntu3) ...
Processing triggers for man-db (2.9.1-1) ...

nle@ubuntu:~$ sudo apt install perl6-zef
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  perl6-zef
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 402 kB of archives.
After this operation, 2,564 kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 perl6-zef all 0.8.2-1 [402 kB]
Fetched 402 kB in 1s (385 kB/s)
Selecting previously unselected package perl6-zef.
(Reading database ... 321113 files and directories currently installed.)
Preparing to unpack .../perl6-zef_0.8.2-1_all.deb ...
Unpacking perl6-zef (0.8.2-1) ...
Setting up perl6-zef (0.8.2-1) ...

And here's installing Linenoise
nle@ubuntu:~$ zef install Linenoise
===> Searching for: Linenoise
===> Building: Linenoise:ver<0.1.1>:auth<Rob Hoelz>
[Linenoise] /usr/bin/ld: cannot find -luv
[Linenoise] collect2: error: ld returned 1 exit status
[Linenoise] make: *** [Makefile:9: /home/nle/.zef/store/p6-linenoise.git/4b98fe19b999a6da63f7427ab77f22e78739af88/resources/libraries/liblinenoise.so] Error 1
===> Building [FAIL]: Linenoise:ver<0.1.1>:auth<Rob Hoelz>
Aborting due to build failure: Linenoise:ver<0.1.1>:auth<Rob Hoelz> (use --force-build to override)

Setting up moarvm (2019.11+dfsg-2build2) ...

\o/ That's not the build info, but it looks like the package name is enough to pursue this. The first match from a google for "2019.11+dfsg-2build2" is https://launchpad.net/ubuntu/+source/moarvm. Clicking on the 2019.11+dfsg-2build2 link on that page gets us to https://launchpad.net/ubuntu/+source/moarvm/2019.11+dfsg-2build2 which says it was uploaded by Matthias Klose, who it looks is contactable by email. I'll send an email linking to this comment and see how that goes.
Thanks @ElectricCoffee!


LoadImage with Span or IntPtr

Currently, LoadImage  accepts a Byte[] as the source image.
Could it be possible to create images from other memory models?
I am working with Memory, Span, and IntPtr.
I also believe that Memory is a better option that Byte[] , because Byte[] can be automatically converted to Memory, and can be pinned.

@vpenades
Thank you for your suggestion!!
I have not yet used Spant.
Is this able to convert to byte[] or IntPtr?
Because Image class hold Matrix and it need to accept them in P/Invoke.
It looks like to be waste.
But I think IntPtr is good idea.
So it can implement to DlibDotNet and FaceRecognitionDotNet.

If the underlaying DlibDotNet uses IntPtr, then  exposing IntPtr is fine.

@vpenades
Sorry too late response.

The objective is to avoid a memory copy, so, something like this would be very useful:

I guess dlib (native of DlibDotNet) needs to copy data from caller.
I created the above overload but it may be meaningless.


Add support for Electronic Data Interchange (EDI)

Description:
Refer to the  draft here https://github.com/ballerina-platform/ballerina-standard-library/issues/2674
Describe your problem(s)
Describe your solution(s)
Related Issues (optional):

Suggested Labels (optional):

Suggested Assignees (optional):

This is available from EDI CLI


Add simple communication examples

a.k.a migrate from https://github.com/rclex/rclex_samples

create single node, and

register as a publisher
register as a subscriber
register as both a publisher and a subscriber (if possible)

create multiple nodes for :single topic, and

register as a publisher
register as a subscriber
register as both a publisher and a subscriber (if possible)

create multiple nodes for :multi topics

I will close this issue by the contribution of #5, and separate remaining issues to #6 and #7


remove use of FEATURE_FLAGS_NEW_SUPPLIER_FLOW, bump digitalmarketplace-utils to v43.0.0

See https://trello.com/c/ZH9trgjH/419-snyk-alert-for-flask-010x-vulnerability
https://github.com/alphagov/digitalmarketplace-utils/pull/447
This one required a bit of fiddling to remove its use of feature flags. From the changeset comment:

remove use of FEATURE_FLAGS_NEW_SUPPLIER_FLOW, replace with is_legacy_brief_response logic
we want to retire the use of flask feature flags and this is one of the last uses of them. previously we were comparing the publishedAt date with a feature flag's enabled_since date to determine whether it's a "legacy brief" or not. instead use the logic of is_legacy_brief_response, adapted from brief-responses-frontend, to figure this out. this function works by inspecting a brief response, so doesn't work in cases where there are no responses. fortunately the only bit of template that want to know its legacy status make no sense if there aren't any brief responses, so that largely solves that. update tests to provide information needed by is_legacy_brief_response in mocks.

In a better world someone would have stored the information as to whether a brief belonged to the old flow or new flow on the actual model in the first place, but it's too late for that.

Just waiting for the OK on this one now...


Fix incorrect parsing of binary expressions (fixes #153)

Should I apply this similar pattern for other binary operators too? Or is there a nicer way to do it :O ?

Interesting, it looks like this causes a parse failure at https://github.com/groue/GRDB.swift/blob/4472d3a60ec4cc383503eba5072ce17f781b9ddc/GRDB/QueryInterface/SQLGeneration/SQLQueryGenerator.swift#L86 — possibly related to the binary expression that starts on line 77 if it changes the way that gets parsed?

I wonder why this fails :| I tried a very basic if try which throws an error.
func doSomething() {
    if try something {
        return a
    }
    return defaultValue
}

I couldn't find where if try is handled. Is it missing?
Would we need something similar to _if_let_binding?

This all looks good to me, so I’m happy to merge it later tonight. If you’d like, you can also amend to clean up the git commits and then git push origin with --force so that the reverts don’t show up in the history. Just let me know whether you’d like to do that and I can merge it after!

Done. I have cleaned the history. Please merge the request. :)

Done! Thank you so much for fixing this!


Chiclet Tooltips

The styling for the tooltip in the chiclets should use the whitespace better. Currently the tooltip shows up bottom-left aligned, but that is aligned with the left edge of the values not the left edge of the chiclet.

[ ] align the tooltip placement with the bottom left edge of the whole chiclet element
[x] increase the width of the tooltip to so that more text can fit on the same line.

width should not extend passed the right edge of the chiclet

The case above:
align the tooltip placement with the bottom left edge of the whole chiclet element
was not easy to solve. The solution to allow the tooltip to have much more width resolves the need to left align it.


lands compatibility does not work properly

Describe the bug
snow + ice is creating in my land's region in winter (it shouldnt)
I also have worlguard and on worldguard region it does not happen
so there must be something wrong with lands compatibility...
How to reproduce
i use the latest lands 7.2.3
and 1.2.8 advancedseasons
advancedseasons config option that should prevent it from happening:
Should land protection plugins be ignored?
If true, AdvancedSeasons will ignore land protection plugins and will be able to change blocks in protected areas
This may have impact on performance depending on land protection plugins
ignoreLandProtection: false
Screenshots / Videos

Server Log
No response

@GC-spigot could you please update lands compatibility - i would be really greatful

Fixed!

Fixed!

@Ynverxe Nice! :) Before you release the update consider checking this callendar gui's title bug as well: https://github.com/AdvancedPlugins/Seasons/issues/104

Fixed!

when +/- can we expect the new release with the fix? :)

Fixed!

@Ynverxe when +/- can we expect the new release with the fix? :)

@Ynverxe still occurs in latest version.

@Ynverxe please fix it...

Hi, fixed it again. Sorry for the delay.

Hi, fixed it again. Sorry for the delay.

nice :) I hope you will release it on spigot this time...


Register name/identifier

First, when we name a Register, we identify it so there is an underlying issue with this overlap.
The current naming convention says that a register for a thing, say Foo, should be the name of the thing, so in this case it would be foo. This assumes Foo is managed by a single custodian across the UK.
If each part of the UK were managing Foo on their own, we would use foo-eng, foo-wls, foo-nir and foo-sct.
The current convention has a few issues or undefined behaviour:

What happens if Foo is managed by one custodian for more than one part and for other custodians for the rest of parts? Being more specific:

4 parts, 1 custodian. Covered, it's foo.
1 part, 1 custodian. Covered, it's foo-eng, foo-wls, foo-nir and foo-sct.
3 parts, 1 custodian + 1 part, 1 custodian. Undefined.
2 parts, 1 custodian + 2 parts, 1 custodian. Undefined.

What happens if the custodian owns less than a part of the UK?
What happens if the scope changes over time? E.g. we start with foo because it applies to the UK but at some point one part starts to handle it on its own. E.g. you start with foo and end up with foo + foo-sct? What does it mean for foo to be now a 3/4 UK rather than all of it?
Extending on the above, what happens if sct and nir start handling Foo on their own? is foo still a reasonable name for the register?

/cc @nacnudus I tried to summarise here the naming issue. Let me know if I missed anything fundamental.

principal-local-authority is not local-authority-wls as it is not a register of local authorities in Wales, there are hundreds of them. it is a register of principal local authorities which are different

Removed the bit about principal-local-authority 👍

We also don't define eng, sct, nir, or wls anywhere (no UK register).

the way i have been thinking about it is majority rule. If a register contains at least 3/4 then it is foo and the descriptions reflects that it covers only 3/4 the 4th is then added as foo-nir etc.
if it is a 2:2 split then both would recieve the foo-sct-eng
1/4 foo-sct
2/4 foo-sct-eng
3/4 foo
4/4 foo

@Jamie-Atkinson in your approach what happens if the scope of foo changes over time?

@arnau with the way I think about this it would no longer be the same register. It ties both the thing (e.g. biscuits) and its restrictions (e.g. only in England) together to make the register.
under this model, if we changed the scope of the register it is no longer the same register. We would retire the old register and create a new one with the new restrictions.
If we remove the attachment of the restriction from the register definition then this model breaks. Unless we used meaningless ID's for the registers (as you suggested in our f2f) then I don't see how we could name for this.
If we made the register: schools and stated in the description it is only for England, then ignoring the issue of what do we call schools in Scotland, how can anyone build a service on it. If the contents of the register might change from day to day how do I build a service with the data? If I want to capture which school you go to in England, and then my dataset evolves to include Scotland how can I plan for that? Even worse if we at a later date stop including England in the dataset.

Ok, makes sense. The concern then is more about name clashes/availability over time and consequently name inconsistencies due some retired register owning a name that would fit better with a new register. This on its own makes me think that a register identifier shouldn't be meaningful.
The logical next question is how to keep a reasonable readable domain names. I need to think a bit on this.


Fix is_realtime column behavior in sys.segments table

Fixes #8142
Description
Update the isRealtime flag when a segment is dropped by a realtime task.
In DruidSchema added a check in removeServerSegment() when none of the replicas is a realtime server type, mark isRealtime=0.
Added unit test.
This is marked incompatible because the semantics of the is_realtime flag for a segment is changed, earlier a segment would be marked realtime, if any realtime task was serving the segment. It's now changed to that a segment would be marked realtime, if only realtime task is serving the segment and if a historical starts serving the segment, it's realtime flag is 0 or false.

This PR has:

[x] been self-reviewed.
[x] added documentation for new or modified features or behaviors.
[x] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[x] added unit tests or modified existing tests to cover new code paths.

👍


Auto-update libpng to v1.6.40

New version of libpng detected (package version: v1.6.37, last github version: v1.7.0beta89)

I added a check against tags containing "beta"

Another freebsd network error


Ignore chars for width computation

Is it possible to exclude certain characters from the width computation? This is usefull if the table cells includes markdown syntax e.g. ** that doesn't need to be included in the maxwidth of a column.

Can you give an example of what you're trying to accomplish?

I have something like that:
~~Abc~~ def
Abc     def
``` so the table column gets unnecessary big width.

As far as I know, cell widths on markdown table can vary, as shown below. The rendered output will look the same.

Syntax
Description

Header
Title

Paragraph
Text

There's really no need for extra spaces

I know, with pure markdown that doesn't make any sense, but I like to send discord messages with an ascii table, so the spaces are necessary, as there are no md tables.

Just ignore the ~~. So expected:
Abc def
Abc def

So, your idea would be to pre-process any markdown syntax and strip text down to bare strings?

Not strip out, just for the width conpution. Maybe we can add an option to blacklist chars for the max width compution so that the table doesn't get a unnecessary width.

ah, ok. It's clear now.

I've been trying to figure out how to cope with your request without breaking the entire package rendering logic.
I still don't get one thing: discord does not have a monospaced font for messages unless you use code blocks. How are you planning to align the table cells?
This table
| Abcd | Abcd |
|------|------|
| ~~abcd~~ | abcd |

gets rendered as

Thank you very much for your effort. I planned ignoring that discord isn't using a monospaced font. If I don't use any table border my tests returned pretty good examples, there was just so much spacing after the first bold column.

Thank you very much for your effort. I planned ignoring that discord isn't using a monospaced font. If I don't use any table border my tests returned pretty good examples, there was just so much spacing after the first bold column.

I think I have a working version in line with what we've discussed. Can you send me a test table so that I can verify if we have the expected output?

So, with a sample code like this (passes a new string length function for column sizing purposes):
const { AsciiTable3 } = require('./ascii-table3');
const removeMd = require('remove-markdown');

function myStrlen(str) {
    return removeMd(str).length + 1;
}

const table = new AsciiTable3()
                .setStyle('none')
                .setCellMargin(0)
                .addRowMatrix([
                            ['-', '**M1**', 'abc', 'def'],
                            ['-', '**M2**', 'cba', 'fed'],
                            ['-', '**M3**', 'bac', 'edf'],
                            ['-', '**M10**', 'bac', 'edf'],
                            ['-', '**M999**', 'xyz', 'wwwd'],
                        ]);

console.log(table.toString(myStrlen));

this is what i'm getting:
- **M1**   abc def
- **M2**   cba fed
- **M3**   bac edf
- **M10**  bac edf
- **M999** xyz wwwd

Again, since discord font is not monospace, it will start to get weird pretty soon:

Pretty cool. How can I test that? Is that already in the main branch or do I need to checkout a specific ref?

I have created a new branch called md-special. Are you using git or npm?

For now it doesn't mind. I can install it both ways. Are you planning to merge this if its tested?

That's the idea. Give me some feedback as soon as you test it...

Sorry to tell you, but adding such a function doesnt change anything. Everytime the same output.
const table = new AsciiTable3()
  .setStyle('none')
  .setCellMargin(0)
  .addRowMatrix([
    ['-', '**M1**', 'abc', 'def'],
    ['-', '**M2**', 'cba', 'fed'],
    ['-', '**M3**', 'bac', 'edf'],
    ['-', '**M10**', 'bac', 'edf'],
    ['-', '**M999**', 'xyz', 'wwwd'],
  ]);

console.log(table.toString())
console.log(table.toString((s) => s.length + 10))
console.log(table.toString((s) => s.length + 10) === table.toString())

Now it came into my mind, that this can also used for ANSI escape sequences, so that the table there doesnt get to big.

You need a function that calculates string length after removing markdown...
Please take a look at my example above.

I know, but that doesnt worked, so I tried to do that static. In theory I could easily add 10 spaces. But that doesn't work.

Is this now implemented?


feat: add node support and meridian intersection support

Adds support for loading in node (older node versions may need the --experimental-modules flag). Also adds support for determining the coordinate at which a geodesic or rhumb line intersects a given meridian.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Relay] Add logical operators

This is a follow-up to https://github.com/dmlc/tvm/pull/2453, to port the operators that were added to Relay.
The one thing I'm less than certain about is the support_level since I've yet to see some actual documentation about what it means.

I would venture to guess (though I am not an authority on it) that a support level of 1 would be appropriate for core, basic operators the logical connectives

See https://docs.tvm.ai/langref/relay_op.html for support level explaination. I think it should be level 4

@abergeron look good to me.
Update the support_level as per @tqchen advice. Also update the support_level for NNVM too.

Should it be defined using RELAY_REGISTER_BINARY_OP? It mean it work on any dtype.

I've fixed the support level.
I don't think those operators are applicable for all types, but I don't know how to limit the types.

Thanks, @MarisaKirisame @abergeron @srkreddy1238 , this is now merged.
We could use a followup PR to update type relation to assert bool types, but since it is not strictly necessary, we can go with the current ver for now

@abergeron please send a followup to update https://docs.tvm.ai/langref/relay_op.html

@tqchen I can do it, but I have tons of task next week. I will open a issue. If noone does it next week I will pick it up, does it sound good?

@MarisaKirisame Sounds good, go ahead and open an issue


Adding memory checks while deploying instances

We need to add a check for memory usage while deploying app instances to avoid containerd errors.

Hey @zed-rishabh -- please squash so I can do a full review (and since @eriknordmark seems to be fine -- once I review we can merge this)

Hey @zed-rishabh -- please squash so I can do a full review (and since @eriknordmark seems to be fine -- once I review we can merge this)


Question: Is the legacy Timeline API supported?

I'm looking at some old data in the GitHub archive and the first few years of it is in the legacy "Timeline API":

Activity archives for dates between 2/12/2011-12/31/2014 was recorded from the (now deprecated) Timeline API.

For example, here's what a PushEvent looks like in this json format from sometime in 2011:
{
    "repo": {
        "id": 1369674,
        "url": "https://api.github.dev/repos/recortable/Cuentas",
        "name": "recortable/Cuentas"
    },
    "type": "PushEvent",
    "org": {
        "gravatar_id": "2e329ef465590c48ae2a74feaf5b30e3",
        "id": 609679,
        "url": "https://api.github.dev/orgs/recortable",
        "avatar_url": "https://secure.gravatar.com/avatar/2e329ef465590c48ae2a74feaf5b30e3?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png",
        "login": "recortable"
    },
    "public": true,
    "created_at": "2011-03-01T12:00:07Z",
    "payload": {
        "shas": [
            [
                "0d5884ca6c2700062b7d1940e73806cb2786aec7",
<EMAIL_ADDRESS>                "joder",
                "Danigb"
            ]
        ],
        "repo": "recortable/Cuentas",
        "actor": "danigb",
        "ref": "refs/heads/master",
        "size": 1,
        "head": "0d5884ca6c2700062b7d1940e73806cb2786aec7",
        "actor_gravatar": "a0847513c8bcdf52bc95fa8f5af79066",
        "push_id": 25765857
    },
    "actor": {
        "gravatar_id": "a0847513c8bcdf52bc95fa8f5af79066",
        "id": 7457,
        "url": "https://api.github.dev/users/danigb",
        "avatar_url": "https://secure.gravatar.com/avatar/a0847513c8bcdf52bc95fa8f5af79066?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png",
        "login": "danigb"
    },
    "id": "1159358907"
}

Note that the metadata looks similar to a github.Event but the payload is much different: there's no commits array, just a single shas array with a mix of shas, emails, and user logins.
The metadata looks really close to what we have in github.Event types and unmarshaling this data into a github.Event works. But then it will panic when attempting to parse the payload (since it has different fields / formats / etc.)

Is this legacy Timeline API supported by go-github? My assumption is no since I didn't find anything obvious in the libraries API
Any recommendations in working with this legacy data? I'm also having a hard time finding any documentation of this API (probably since it's well over 10 years old now) and I'd hate to have to reverse engineer the types if there's an easier way

Thanks so much!

Per our chat, let's keep this issue open for now but ignore it unless a user really needs data that is between 2011-2014

No, not officially, as we try to keep current with the latest GitHub v3 API.  However, nothing in this repo should panic, and if you are seeing panics caused by this repo, then please report bugs, as we would like to eliminate them.  If, however, it is your own code that is panic'ing, one possible way to avoid that is to use the auto-generated getters, as those will tremendously reduce your chances of panics.
Ah, yes, use the auto-generated getters instead of using struct pointers directly.


Investigate recovery options for lost wallet keys

Investigate what can be done to recover lost wallet keys when in managed mode.

As per @andrewwhitehead input, the sub-wallet records use this model and it might be possible to connect to the main wallet and and fetch records of type wallet_record, with the specific wallet_id.
This could provide a good self-serve recovery option for users who have other ways of accessing the tenant (i.e.: api-key access) if:

an endpoint is available to perform the above operation
api-keys can be classified as having admin access (which would allow for tasks such as key recovery/rotation) or not (can only consume "regular" APIs)

I am thinking this would be a good addition for the innkeeper plugin, since it is already managing api-keys and we could therefore enhance functionality further.

I attempted to create an innkeeper administrative endpoint that could be used to retrieve a tenant's wallet id/keypair in case of emergency: this is not (easily) feasible since the innkeeper is itself a tenant and accessing another sub-wallet is generally not a good idea.
While a self-serve recovery option is possible, it will require having "privileged" access to the tenant via an "admin" api-key (see #1028). I am thinking this would be a better pattern especially since we (@loneil and I) have been discussing the possibility of not exposing the main keys at all to users requesting a new tenant, but rather providing them with tenant id/api-key combination to avoid potentially losing/leaking the main credentials (in which case a recovery endpoint might not even be necessary).
Thoughts/opinions on this are welcome.

We are likely pivoting towards providing tenants with tenant id and api-key rather than the "full" wallet keys.


Compiler Test cases with tf-mlir-translate pass/crash with specific build flag on s390x architecture

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): No
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 18.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: N/A
TensorFlow installed from (source or binary): source
TensorFlow version (use command below): 2.3.1
Python version: 3.6.9
Bazel version (if compiling from source): 3.4.1
GCC/Compiler version (if compiling from source): Ubuntu 7.5.0-3ubuntu1~18.04
CUDA/cuDNN version: N/A
GPU model and memory: N/A

Describe the current behavior
When running test case //tensorflow/compiler/mlir/xla/tests/translate:while.hlotxt.test on s390x machine, if I include the build flag: --per_file_copt=mlir,llvm-project@-UNDEBUG the Test case passes, but if I remove the build flag, it fails with a bad alloc crash. Backtrace is attached below.
Another test case:
//tensorflow/compiler/tf2xla:fused_batchnorm_reserve_space_test, unlike while.hlotxt.test, fails with this build flag but passes without it.
There are multiple test case failures in //tensorflow/compiler/... with similar crash. The command I am using to test:
bazel --host_jvm_args="-Xms1024m" --host_jvm_args="-Xmx2048m" test --host_javabase="@local_jdk//:jdk" --test_tag_filters=-gpu,-benchmark-test,-v1only,-no_oss,-oss_serial  -k --test_timeout 300,450,1200,3600 --build_tests_only --test_output=errors --per_file_copt=mlir,llvm-project@-UNDEBUG -- //tensorflow/compiler/...

Please note that there is no regression in the compiler test cases with --per_file_copt=mlir,llvm-project@-UNDEBUG on x86 machine.
Describe the expected behavior
Test case should pass and test case behaviour should not vary with build flag.
Other info / logs
while.hlotxt.test.log

@abattery could you take a look?

I am not familiar with xla compiler. @smit-hinsu could you take a look?

@River707 , do you know if this build config supported and what might be causing the failure?

Hi @River707 Can you please take a look on the above comment by @smit-hinsu . Thanks!

Hmm, is this the only mlir related test failing? Without seeing a symbolized stack trace I can't think of anything that would cause this specific test to crash with bad alloc.

@River707 No, there are many mlir test cases failing with "bad alloc". For example, //tensorflow/compiler/mlir/xla/tests/translate:case_conditional.hlotxt.test, //tensorflow/compiler/mlir/xla/tests/translate:fully_connected_reference_model.hlotxt.test etc.
If you can tell me how to run this TC with gdb or any other debugging tool,  I can provide you a symbolized stack trace.

That goes beyond my knowledge. @smit-hinsu may be able to help here.

@Simrit-Kaur You need to build binary tensorflow/compiler/mlir:tf-mlir-translate with debug symbols and execute the command on the first line of the test while replacing %s with path of the particular test.
See https://llvm.org/docs/CommandGuide/FileCheck.html to better understand the testing mechanism.

Hmm Thanks @smit-hinsu , I will try and update soon.

@smit-hinsu I tried to execute the command with your suggestion, when I am running the test command with optimized/normal binary, the test case is failing with a crash but when I am running the same test command with debug binary, the test case is passing.
Is there a way to maybe create a core file with optimized binary and then run it in gdb with debug binary?
To build the debug binary, I used this bazel command:
bazel build -c dbg --copt=-O -c opt --copt=-g --strip never --color=yes --curses=yes --verbose_failures --local_cpu_resources 1 --local_ram_resources=2048 //tensorflow/compiler/mlir:tf-mlir-translate

To run the TestCase, this is the command I used:
/home/test/.cache/bazel/_bazel_test/3a51eda24c560ebddf29b66b8fa0460e/execroot/org_tensorflow/bazel-out/s390x-opt/bin/tensorflow/compiler/mlir/xla/tests/translate/while.hlotxt.test.runfiles/org_tensorflow/tensorflow/compiler/mlir/tf-mlir-translate -hlo-text-to-mlir-hlo /home/test/.cache/bazel/_bazel_test/3a51eda24c560ebddf29b66b8fa0460e/execroot/org_tensorflow/bazel-out/s390x-opt/bin/tensorflow/compiler/mlir/xla/tests/translate/while.hlotxt.test.runfiles/org_tensorflow/tensorflow/compiler/mlir/xla/tests/translate/while.hlotxt -o - | /home/test/.cache/bazel/_bazel_test/3a51eda24c560ebddf29b66b8fa0460e/execroot/org_tensorflow/bazel-out/s390x-opt/bin/tensorflow/compiler/mlir/xla/tests/translate/while.hlotxt.test.runfiles/llvm-project/llvm/FileCheck /home/test/.cache/bazel/_bazel_test/3a51eda24c560ebddf29b66b8fa0460e/execroot/org_tensorflow/bazel-out/s390x-opt/bin/tensorflow/compiler/mlir/xla/tests/translate/while.hlotxt.test.runfiles/org_tensorflow/tensorflow/compiler/mlir/xla/tests/translate/while.hlotxt --dump-input=always -v

You could try running the optimized binary with GDB and see if that gives out trace of the crash.

@smit-hinsu It does give out a trace for crash. I tried to save it to a core file and open it with debug binary but it isn't able to map the symbols. If I run debug binary in gdb, the test case simply passes.
The trace with optimized binary doesn't have a lot of information.
@River707 Can you see if this information helps at all?
This is the bt that I am getting on running optimized binary with gdb:
(gdb) run -hlo-text-to-mlir-hlo /home/test/.cache/bazel/_bazel_test/3a51eda24c560ebddf29b66b8fa0460e/execroot/org_tensorflow/bazel-out/s390x-opt/bin/tensorflow/compiler/mlir/xla/tests/translate/while.hlotxt.test.runfiles/org_tensorflow/tensorflow/compiler/mlir/xla/tests/translate/while.hlotxt
Starting program: /home/test/.cache/bazel/_bazel_test/3a51eda24c560ebddf29b66b8fa0460e/execroot/org_tensorflow/bazel-out/s390x-opt/bin/tensorflow/compiler/mlir/xla/tests/translate/while.hlotxt.test.runfiles/org_tensorflow/tensorflow/compiler/mlir/tf-mlir-translate -hlo-text-to-mlir-hlo /home/test/.cache/bazel/_bazel_test/3a51eda24c560ebddf29b66b8fa0460e/execroot/org_tensorflow/bazel-out/s390x-opt/bin/tensorflow/compiler/mlir/xla/tests/translate/while.hlotxt.test.runfiles/org_tensorflow/tensorflow/compiler/mlir/xla/tests/translate/while.hlotxt
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/s390x-linux-gnu/libthread_db.so.1".
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc

Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x000003fffc3bf3ca in __GI_abort () at abort.c:79
#2  0x000003fffddab2a8 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/s390x-linux-gnu/libstdc++.so.6
#3  0x000003fffdda8b76 in ?? () from /usr/lib/s390x-linux-gnu/libstdc++.so.6
#4  0x000003fffdda8bd8 in std::terminate() () from /usr/lib/s390x-linux-gnu/libstdc++.so.6
#5  0x000003fffdda8eb2 in __cxa_throw () from /usr/lib/s390x-linux-gnu/libstdc++.so.6
#6  0x000002aa057757f4 in ?? ()
PC not saved
(gdb)

On TensorFlow v2.9.1, test case //tensorflow/compiler/mlir/xla/tests/translate:while.hlotxt.test passes with the Bazel build arg --copt=-O -c opt (optimized binary) but still fails with fastbuild binary. Looks like the cause is lacking certain operations in LLVM SystemZ backend.

This issue could be closed.

@skribm9,
Could you please try to save to a core file and open it with debug binary but it isn't able to map the symbols. If you run debug binary in gdb, the test case simply passes.
bazel build -c dbg --copt=-O -c opt --copt=-g --strip never --color=yes --curses=yes --verbose_failures --local_cpu_resources 1 --local_ram_resources=2048 //tensorflow/compiler/mlir:tf-mlir-translate
On tensorflow latest v2.10, the test case //tensorflow/compiler/mlir/xla/tests/translate:while.hlotxt.test passes with the Bazel build arg --copt=-O -c opt
Thank you!

Hi @tilakrayal ,
I am @skribm9 's colleague. Thanks for your response.
Yes, test case //tensorflow/compiler/mlir/xla/tests/translate:while.hlotxt.test could pass with both optimized binary and debug binary. We've verified it on v2.9.1.

@smit-hinsu @kun-lu20,
Thank you for the confirmation. Glad the issue is resolved for you, please feel free to move this to closed status.


refactor: separate function definitions and their invocations AB#6616

UNTESTED because the database cannot be initialized properly.
DO NOT MERGE until tested with a working database.
Maybe a good PR to merge after the integration test setup.

Merging after manually testing basic interactions,

Page
Action
Test Status

Login
Login
Pass

Login
Click to Watch Video
Pass

Dashboard
Logout
Pass

Dashboard
Export View button
Pass

No Trigger

Dashboard
About Trigger
Pass

Dashboard
Video Guide button
Pass

Dashboard
Information button in Aggregates column
Pass

Dashboard
Lead Time Button
Pass

Dashboard
Admin Level Toggle
Pass

Dashboard
Map Layers Menu Open/Close
Pass

Dashboard
Toggle All Map Layers
Pass

Dashboard
Information button for each Map Layer
Pass

Dashboard
Red Cross Branch popover
Pass

Dashboard
Glofas Station popover
Pass

Dashboard
Waterpoint popover
Pass

Trigger

Dashboard
About Trigger
Pass

Dashboard
Video Guide button
Pass

Dashboard
Information button in Aggregates column
Pass

Dashboard
Lead Time button
Pass

Dashboard
Admin Level toggle
Pass

Dashboard
Map Layers menu open/close
Pass

Dashboard
Map Layer toggle - all
Pass

Dashboard
Information button for each Map Layer
Pass

Dashboard
Red Cross Branch popover
Pass

Dashboard
Glofas Station popover
Pass

Dashboard
Waterpoint popover
Pass

Dashboard
EAP Action toggle
Pass

Dashboard
EAP Action submit
Pass


[#131426645] Restructure datadog terraform config

#131426645 Create datadog checks and graphs for gorouter
What?
We are about to start writing a bunch of datadog checks.
Restructure beforehand to establish a convention that each check goes into its own file. For instance move gorouter datadog check definitions to specific file
Make a home for variables, and extract variable for the deploy env into a null_data_source to establish a convention for working around terraform's inability to interpolate in variable declarations.
See https://github.com/hashicorp/terraform/issues/4084
How to review this?
Run the deployment with DATADOG_ENABLED=true in master and later in this branch.
SELF_UPDATE_PIPELINE=false ENABLE_DATADOG=true BRANCH=master make dev pipelines DEPLOY_ENV=...

SELF_UPDATE_PIPELINE=false ENABLE_DATADOG=true BRANCH=$(git rev-parse --abbrev-ref HEAD) make dev pipelines DEPLOY_ENV=...

No changes should be applied to the datadog terraform.
Who?
Anyone but @benhyland or @keymon

looks ok, but not so easy to read as PR does 3 things:

splits it into multiple files
introduces null resource hack
changes {var.env} use to the resource hacked env. name, but which has - replaced with _. This means that for environments with - in name, various things will change. Is this desired? Do we also want to replace - with _ in e.g. human readable check description?

I think it would be better to split this into smaller, more explicit commits & think if every replacement of - with _ in var.env is desirable...

@mtekel I'm confused by your point 3. The change here is intended to be limited to datadog - other terraform files that use ${var.env} without going via the hack will not have the replacement applied.
So this affects datadog only, which we aren't yet using in anger since we haven't yet configured checks. It is probably a good idea to get the names right (including naming consistency) before we continue.

I'm not questioning whether we should do the var.env change or not but:

it would be much easier to see where it was actually applied if it was in a commit that contains only that change. Now we have some things removed from common files and put into separate files + changed along the way.
the PR message says this is noop and state should not change. But you are changing things, so this is not true
I am not sure we always want to change - into _, e.g. in user readable descriptions of alerts (e.g. https://github.com/alphagov/paas-cf/pull/523/files#diff-f498ab84f007566d35d3cc1e2eb73ea2R2 )

The PR message is a little confusing - nothing should change because the datadog terraform provider uses ids rather than names to refer to its resources, and we aren't creating or destroying resources. That could be clearer.
I think it is better to be consistent in the use of env for datadog than to sometimes use - and sometimes _ - this also should have been explained better.
On the desire to split the commits, I agree with hindsight it could have been better organised; however I don't see this as a good reason not to merge.

well, pr said No changes should be applied to the datadog terraform.. I wasn't sure if you realized you were actually modifying checks....

Sorry for the confusion!

For example, this might break the alert: https://github.com/alphagov/paas-cf/pull/523/files#diff-64a6d00ac0029c248347119636cbe97bR7
Have you checked if datadog agents also translate - to _ ? In general, from PR description and commit message it seems like this was an unintended change... I see this can be replaced in 2 places (in q in dashboards), but not sure everywhere elsewhere...

@mtekel thanks for the example.
I hadn't realised that was included in this changeset ><
We should get @saliceti to review, since he has an env with a -
As you said, the rieman metrics do have this replacement already but quite possibly the datadog agent does not.

👍 for smaller commits. Its not obvious at the moment what has changed because of the file reorganisation

@benhyland the PR #525 and #522 will make these change unnecessary. We won't need to keep that data_null resource, and all the PR will be only about move the definition of the router monitor from one file to other.

Good news.


bug:The installation process encountered an issue where the etcd package does not exist

When I execute the following command
gtctl cluster create mycluster --bare-metal
it happer error

then i find the zip file is no valid, i copy the download url and open the url, it return 404.

Now, i found that there is no corresponding zip file in the download interface of etcd

It may be invalid to only determine whether the HTTP request was successful.

i will try it


Azure CI jobs do not set exit status for build stage correctly

Example: https://dev.azure.com/scipy-org/SciPy/_build/results?buildId=13208&view=logs&j=9ae1e178-a5f4-5daa-ec3c-fcbf39c6865a&t=85635e71-f6a7-533b-0837-ec61d4bb6072
The "Build SciPy" stage is green, but it failed. The "Run SciPy Test Suite" is red, because it's failing with a hard to parse import error (due to the build not succeeded). This is the offending line:
pip wheel --no-build-isolation -v -v -v --wheel-dir=dist .

That command should be setting exit code correctly. Or maybe it is, and there's a set -ex or some such thing missing.

yeah, this came up before--I have a stagnant PR I started in March: https://github.com/scipy/scipy/pull/13752
Can probably just lift settings from another project if that's not on target.

The issue is that in Azure the default behavior is pretty useless: failing commands do not fail the job step if they are not the last command in a multiline script (see https://github.com/Microsoft/azure-pipelines-yaml/issues/135).
Explicitly checking the output status looks like the way to go. From https://stackoverflow.com/questions/55194446/how-do-i-get-my-azure-devops-pipeline-build-to-fail-when-my-linting-script-retur:
    if [ $? -ne 0 ]; then
        exit 1
    fi