How to return an error only at one element of an array?

Hi all, you have made a great work on the repo, thanks for it.
I am new at GraphQL but for what I understand from the specs if an element  of an array can't be returned it should create an error, but unless the wrapped element is a nonNull, it should not null the entire list, what makes sense thinking on a best effort approach, and is a similar result to when a  NonNull field of an element fails.
I think that is similar to be able to treat every element of an array as a field.
We have tried several ways but can't find the one to achieve this behavior, is it posible? the specs really support it?
Thanks in advance.

I'm not sure I follow. Could you, please, give an example?

@marcosgmeli, @sGy1980de
I verified and this is a bug indeed. Can be reproduced by:
package main

import (
        "log"
        "net/http"

        graphql "github.com/graph-gophers/graphql-go"
        "github.com/graph-gophers/graphql-go/relay"
)

type query struct{}

func (*query) Words() ([]*string, error) {
	word1 := "word1"
	word3 := "word3"
	word4 := "word4"
	res := []*string{&word1, nil, &word3, &word4, nil}
	return res, fmt.Errorf("something went wrong with indices 1 and 4")
}

func main() {
	s := `
		type Query {
			words: [String]!
		}
	`
	schema := graphql.MustParseSchema(s, &query{})
	http.Handle("/query", &relay.Handler{Schema: schema})
	log.Fatal(http.ListenAndServe(":8080", nil))
}

and then running:
curl -XPOST -d '{"query": "{ words }"}' localhost:8080/query

we get back:
{
  "errors": [
    {
      "message": "something went wrong with indices 1 and 4",
      "path": [
        "words"
      ]
    }
  ],
  "data": null
}

Where I would expect to receive:
{
  "errors": [
    {
      "message": "something went wrong with indices 1 and 4",
      "path": [
        "words"
      ]
    }
  ],
  "data": {
    "words": ["word1", null, "word3", "word4", null]
  }
}

Actually, after more carefully reading the spec, the library works perfectly fine where in the above example if we don't return the error, the result would be:
{
  "data": {
    "words": [
      "word1",
      null,
      "word3",
      "word4",
      null
    ]
  }
}

which corresponds to option 2) in @sGy1980de 's comment. This exactly what the spec recommends that we should do:

I am closing this issue as the library already supports the result coercion recommended in the spec.

The only thing that I am not sure about is that some fields return an Error: <error_here> and others have (With logged error). I wonder what does this mean? Maybe it's worth checking the reference implementation of the graphql-js library.


more_topics: Display more_topics only when needed

"More Topics" should not display when there are no more topics to be shown #10265
Testing Plan:
Open a topic and if the topic has any more topics to display, more topics must be displayed else it shouldn't be displayed.
GIFs or Screenshots:

@timabbott @showell  can you please review this PR.

Using ./tools/fetch-rebase-pull-request 11730, it works on my machine :thumbsup:.
I haven't really looked at the code though.

The backend implementation of this is incomplete and does not update state correctly (e.g. if you send a message to a stream with no first message ID, it doesn't add one).  I extended the backend to fix that.
However, we're now failing test_events.py because this PR exhibits incorrect real-time sync behavior around that update to the first_visible_message_id for a previously-empty string.  I pushed the correct code back to this PR; we'll likely need to update apply_events to handle this.  Something like this:
diff --git a/zerver/lib/events.py b/zerver/lib/events.py
index 35c4a5133e..3856604321 100644
--- a/zerver/lib/events.py
+++ b/zerver/lib/events.py
@@ -370,6 +370,9 @@ def apply_event(state: Dict[str, Any],
                 event['message'],
                 event['flags'],
             )
+        if event['type'] == 'stream':
+            stream_id = event['stream_id']
+            # TODO: look through subscriptions to find that stream and update its 'last_message_id' attribute.

     elif event['type'] == "hotspots":
         state['hotspots'] = event['hotspots']

You will want to carefully read https://zulip.readthedocs.io/en/latest/subsystems/events-system.html to understand this test and fix that.
Once that's fixed, we can merge the backend commit and then I'll start reviewing the frontend.

@timabbott I have made the required changes for the backend. Can you please review.

I merged the backend for this as b69aec2dbca6c8ca0186262973dbeef0ac2dc4f2.  Please clean up the frontend commits to something coherent following our commit guidelines.

@timabbott I have cleaned up the frontend commits.

Can you please review it?

I cleaned this up to use clearer function names and a more clear coding styling with less duplication, and merged this as 8623a02d986446cbb19426d310df73f4d63cb872.  Thanks for working on this.
(And huge thanks to @zy964c for the initial work that made this possible!)


Show getters in debugger

In debugging, only fields are shown, but not the getters. Having also getters would add a significant value I guess (specially when one is not familiar with the API used).
E.g. for:
class A {
  int x;
  int y;
  get sum => x + y;
  A(this.x, this.y);
}

void main() {
  var a = A(1, 2);
  print(a); // <- debug here
}

IntelliJ and Visual Studio Code show no details about sum:
 and
Is is something that should be implemented, or are getters considered more like methods, which are not also shown possibly because of potential mutation during call? Can we deeply clone the object to prevent the mutation to influence the next calls?
At least having the name sum without any value is also helpful I guess.

yes, getters are considered methods and can potentially mutate the object. Deep mutation could end up being an expensive operation that could slow down the debugging process.


Unable to connect VSTS Git Repo using SSH + key pairs

Hi,
I am having issues using VSTS Git as my config repo. Problem was created on stackoverflow here
https://stackoverflow.com/q/50242716/2007788

Note that HTTPS + credential is working fine.
repo is added to known_hosts (before doing that, password is still required, but after adding it, it shouldn't be the problem)
_ Tried both on local machine and remote VM, no luck.

If any more background or context needed, please feel free to let me know.
Thanks!

Closing in favor of stack overflow. We can reopen here if we determine there is a bug


Import types is out of preview

[Enter feedback here]

Importing types is out of preview.

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

ID: 7ead2391-7de8-b018-f40c-3f5daaa4d30b
Version Independent ID: 6585bf71-ea6d-d383-f7a3-46eb9a2b3651
Content: User-defined types in Bicep - Azure Resource Manager
Content Source: articles/azure-resource-manager/bicep/user-defined-data-types.md
Service: azure-resource-manager
Sub-service: bicep
GitHub Login: @mumian
Microsoft Alias: jgao

@schaijkw
Thanks for your feedback! We will investigate and update as appropriate.

Reference:
https://github.com/Azure/bicep/releases/tag/v0.25.3
"Compile time imports"

@schaijkw - thank you for your comments.  The article has been updated.
#please-close

@schaijkw - thank you for your comments. The article has been updated.
#please-close

@mumian it was not just the feature mentioning, also the instructions.
Please check my comment here: https://github.com/MicrosoftDocs/azure-docs/commit/adb5140e5866c7c816031163116034bc861b4518#r143600202


REST API

Hello. Is there any possibility to:
-- Delete device\user
-- Add device\user
-- Get QR_CODE
-- Get ConfigFile
-- disable a profile
via API from my App ??

Coming very soon!
refs #903
refs #1006


FastZip - fix TimeSetting control when extracting Zip entries

When creating Zip entries with FastZip - it is possible to control timesetting for files or dirs. But when extraction it is abcent. ZipEntry's DateTime property always set to extracted entry by SetLastWriteTime() function.

This does look great, but would you mind adding some tests?

Closed in favor of #566 due to lack of response.


Unit testing

Nice. Great that you directly found + fixed some issues with the new tests.
Can you add one more commit which enables the tests in CI? It's already prepared here: https://github.com/LibreSolar/esp32-edge-firmware/blob/f8411189427af46ed77d3a3d9c844161f90fdcbe/.github/workflows/platformio.yml#L26

Nice. Great that you directly found + fixed some issues with the new tests.
Can you add one more commit which enables the tests in CI? It's already prepared here:
https://github.com/LibreSolar/esp32-edge-firmware/blob/f8411189427af46ed77d3a3d9c844161f90fdcbe/.github/workflows/platformio.yml#L26

Nice, i was just wondering how to run them


Statements of disbursements fix

Parse-disbursements.py now takes text file name as argument; regex fix to avoid mistaking all payee=do* records as 'ditto's and thus wrongly replacing them with the recipient above them; add the House's new transaction codes.

Sorry for delaying on this - I was waiting until the 2011Q3 reports came out, which in retrospect was silly. Anyway, I did the same process on this that I did the last time, and after running the handy whitespace/quote stripping code you provided it's much easier to tell what's going on. The script runs promptly now, too.
There's just one discrepancy that looks like a bug.
I ran this on 2011Q1 and 2011Q2. The 2011Q1 summaries were identical, but the 2011Q2 summaries showed a small diff, where 4 lines for Rep. Laura Richardson got messed up:
diff sunlight/2011Q2-summary-stripped.csv luke/2011Q2-summary-stripped.csv | less

< HON. LAURA RICHARDSON,2011,2011Q2,PRINTING AND REPRODUCTION,"2,725.36","2,326.16"
< HON. LAURA RICHARDSON,2011,2011Q2,OTHER SERVICES,"14,323.69","7,641.25"
< HON. LAURA RICHARDSON,2011,2011Q2,SUPPLIES AND MATERIALS,"30,605.85","25,462.26"
< HON. LAURA RICHARDSON,2011,2011Q2,EQUIPMENT,"1,447.92",705.00
---
> ,2018,2011Q2,PRINTING AND REPRODUCTION,"2,725.36","2,326.16"
> ,2018,2011Q2,OTHER SERVICES,"14,323.69","7,641.25"
> ,2018,2011Q2,SUPPLIES AND MATERIALS,"30,605.85","25,462.26"
> ,2018,2011Q2,EQUIPMENT,"1,447.92",705.00

In the new diff of the details file, all I could find were examples of a new transaction code translation, and of cases where DO-prefixed names were fixed, which looks good.
So I think if we can address whatever missed up Laura Richardson's summary file, we're good.

Cool, I will take a look. I may first continue trying to parse the senate
one before I get to it. Are you guys parsing the senate, and if so, what is
your timeline?
On Wed, Nov 30, 2011 at 5:19 PM, Eric Mill <
<EMAIL_ADDRESS>
wrote:

Sorry for delaying on this - I was waiting until the 2011Q3 reports came
out, which in retrospect was silly. Anyway, I did the same process on this
that I did the last time, and after running the handy whitespace/quote
stripping code you provided it's much easier to tell what's going on. The
script runs promptly now, too.
There's just one discrepancy that looks like a bug.
I ran this on 2011Q1 and 2011Q2. The 2011Q1 summaries were identical, but
the 2011Q2 summaries showed a small diff, where 4 lines for Rep. Laura
Richardson got messed up:
diff sunlight/2011Q2-summary-stripped.csv
luke/2011Q2-summary-stripped.csv | less
< HON. LAURA RICHARDSON,2011,2011Q2,PRINTING AND
REPRODUCTION,"2,725.36","2,326.16"
< HON. LAURA RICHARDSON,2011,2011Q2,OTHER
SERVICES,"14,323.69","7,641.25"
< HON. LAURA RICHARDSON,2011,2011Q2,SUPPLIES AND
MATERIALS,"30,605.85","25,462.26"
< HON. LAURA RICHARDSON,2011,2011Q2,EQUIPMENT,"1,447.92",705.00

,2018,2011Q2,PRINTING AND REPRODUCTION,"2,725.36","2,326.16"
,2018,2011Q2,OTHER SERVICES,"14,323.69","7,641.25"
,2018,2011Q2,SUPPLIES AND MATERIALS,"30,605.85","25,462.26"
,2018,2011Q2,EQUIPMENT,"1,447.92",705.00

In the new diff of the details file, all I could find were examples of a
new transaction code translation, and of cases where DO-prefixed names were
fixed, which looks good.
So I think if we can address whatever missed up Laura Richardson's summary
file, we're good.

Reply to this email directly or view it on GitHub:
https://github.com/sunlightlabs/disbursements/pull/1#issuecomment-2967471

We haven't made a decision as to whether to parse it -- but I strongly suspect we'll be giving it a try. It looks about as hard to parse as the House's, though I'm concerned that the weird layout of the headers will make things difficult. We'd greatly benefit from any work you want to do on it and I'm happy to defer to you, especially since you have the best understanding of how to parse the House's.

I had hoped to quickly make sense of it and write a story summarizing it
for Friday's paper but having spent a few minutes looking at it, my sense
is that it's definitely harder than the House. I was just wondering whether
you'd be actively working on it at the same time tomorrow, in which case
I'd be better off simply waiting!
I'll take another look tomorrow though and maybe we can help each other
make sense of it or something. I've captured 36,545 lines like this
totalling $66M in payments:
DVAF21100041,05/18/2011,B&B REPORTERS,04/26/2011,04/26/2011,TYPING &
STENOGRAPHIC SERVICES,549.00
but very often the descriptions will span multiple lines, so you have to
concatenate multiple lines like "typing and ... stenographic ..." together
and recognize that the one line with a dollar amount and date applies to
all of those lines together, and I haven't done that yet.
Then there are the staff salaries and some other formats, and all kinds of
other sections and random crap to the document. The problem isn't really
writing REs to match any one line, but figuring out the structure of the
document and what flows into what to avoid false matches and figure out
what lines need to be processed as a group, I think. The House thing, at
least one record = one line in the text file.
On Wed, Nov 30, 2011 at 11:25 PM, Eric Mill <
<EMAIL_ADDRESS>
wrote:

We haven't made a decision as to whether to parse it -- but I strongly
suspect we'll be giving it a try. It looks about as hard to parse as the
House's, though I'm concerned that the weird layout of the headers will
make things difficult. We'd greatly benefit from any work you want to do on
it and I'm happy to defer to you, especially since you have the best
understanding of how to parse the House's.

Reply to this email directly or view it on GitHub:
https://github.com/sunlightlabs/disbursements/pull/1#issuecomment-2970712

I had noticed the multi-line entries, and was frightened. Given the complexity of the headers, it seems like a state machine will have to be kept while scraping.  Their defense is that releasing it as a PDF allows GPO to sign it and provide authenticity.
I'm not at work today or tomorrow, so I won't be working on a scraper for the Senate. If you want to take the lead on it, I'll be happy to contribute where I can when I'm back.

Sorry for the delay on getting back to this, and thanks for your attention to detail with the results. As noted in the commit message, I've resolved the problem with Laura Richardson by improving a regular expression that was misinterpreting page 2018 as a year, and a diff between its output and the existing one shows that the only changes that result are the four Richardson lines in question.
Additionally, I've processed quarter 3 using this version and compared the summary file it outputs with the CSV published in the archive section of sunlight's github repo. The only differences are the Mike Rogers, which are hand-added, verifying that this version works as intended.
If you need to verify that Q3 diff yourself, as with before, you should run the this file on the two CSVs first to get rid of any formatting differences:   https://gist.github.com/1269562

Awesome, thank you for following up on this. I'll do a quick check on it, but it looks great -- I'll get this merged this week and will re-parse our existing records with it.

Okay, so after looking a little harder, I think that both the snippets I pasted in are bugs, and the problem is in benefits_re. benefits_re is taking the description and making it the recipient. It must have something to do with the change you made to not just look for spaces between cells, but either spaces or periods.
benefits_re = re.compile(r"""(\d{2}-\d{2})[\s\.]+           # date
                        (GL\sLAW|GL\sFRM|\w{2})[\s\.]+       # transaction code
                        ([0-9A-Z]+)[\s\.]+                  # record id
                        (.*?)                               # recipient
                        [\s\.]+                             # no dates
                        (.*?)[\s\.]+                        # description
                        (-?[0-9,]+\.\d{2})                  # amount
                        """, re.VERBOSE)

This doesn't affect the normal regular expression, regular_re, because the two date fields buffer the recipient and the description away from each other.
regular_re = re.compile(r"""(\d{2}-\d{2})[\s\.]+            # date
                        (GL\sLAW|GL\sFRM|\w{2})[\s\.]+       # transaction code
                        ([0-9A-Z\-]+)[\s\.]+                # record id
                        (.*?)[\s\.]+                        # recipient
                        (\d{2}/{1}\d{2}/{1}\d{2})[\s\.]+    # date-start
                        (\d{2}/{1}\d{2}/{1}\d{2})[\s\.]+    # date-end
                        (.*?)[\s\.]+                        # description
                        (-?[0-9,]+\.\d{2})                  # amount
                        """, re.VERBOSE)

The hyphen-splitting bug has nothing to do with the hyphen, and just has to do with a space - in a benefits row, if a description has a space in it, the [\s.]+ catches it and leaves the rest of the description for the actual description field - so those rows split on a hyphen are actually more correct. Only a few benefits rows have a space in the description, which is why that particular effect was so isolated.
Despite my diagnosis, I think you'd be the best person to implement the fix, as I just don't know the ins and outs of the original data like you. What do you think?

Sure, i'll do it tonight.
On Jan 4, 2012 8:27 PM, "Eric Mill" <
<EMAIL_ADDRESS>wrote:

Okay, so after looking a little harder, I think that both the snippets I
pasted in are bugs, and the problem is in benefits_re. benefits_re is
taking the description and making it the recipient. It must have something
to do with the change you made to not just look for spaces between cells,
but either spaces or periods.
benefits_re = re.compile(r"""(\d{2}-\d{2})[\s.]+           # date
(GL\sLAW|GL\sFRM|\w{2})[\s.]+       #
transaction code
([0-9A-Z]+)[\s.]+                  # record id
(.?)                               # recipient
[\s.]+                             # no dates
(.?)[\s.]+                        #
description
(-?[0-9,]+.\d{2})                  # amount
""", re.VERBOSE)
This doesn't affect the normal regular expression, regular_re, because the
two date fields buffer the recipient and the description away from each
other.
regular_re = re.compile(r"""(\d{2}-\d{2})[\s.]+            # date
(GL\sLAW|GL\sFRM|\w{2})[\s.]+       #
transaction code
([0-9A-Z-]+)[\s.]+                # record id
(.?)[\s.]+                        # recipient
(\d{2}/{1}\d{2}/{1}\d{2})[\s.]+    # date-start
(\d{2}/{1}\d{2}/{1}\d{2})[\s.]+    # date-end
(.?)[\s.]+                        #
description
(-?[0-9,]+.\d{2})                  # amount
""", re.VERBOSE)
The hyphen-splitting bug has nothing to do with the hyphen, and just has
to do with a space - in a benefits row, if a description has a space in it,
the [\s.]+ catches it and leaves the rest of the description for the
actual description field - so those rows split on a hyphen are actually
more correct. Only a few benefits rows have a space in the description,
which is why that particular effect was so isolated.
Despite my diagnosis, I think you'd be the best person to implement the
fix, as I just don't know the ins and outs of the original data like you.
What do you think?

Reply to this email directly or view it on GitHub:
https://github.com/sunlightlabs/disbursements/pull/1#issuecomment-3364291

Strange that we were splitting on as few as one space when the columns generally have a whole bunch of them between them. Seems that requiring two or more should do the trick:
[\s.]{2,}                             # no dates
instead of
[\s.]+                             # no dates
However, a quick glance at a diff produced by that change indicates that it might have some unintended consequences, if I'm interpreting right.
If that change doesn't seem to do it, then I'd suggest either simply using the output of this new version to replace the oldest two quarters, which used DITTO, in the archive and keep the existing code, or just go with merging what we have. The issue being fixed is no longer an issue in the new filings anyhow, but the personnel records at issue are also unimportant, as I believe they they are just offsets to keep the ledger straight and therefore don't really have recipients anyway.
I'm sorry this all took so long. I thought it was just going to be a quick modification to ensure no one got wrong totals when grouping old quarters by recipient.

OK, I got it, though it's kludgey. Here's an example of the diff between the version currently in the repo, and the version I just ran:
137105,137113c137105,137113
< GOVERNMENT CONTRIBUTIONS,2010Q1,PERSONNEL BENEFITS,03-31,FICA,,,,-21.25,FISCAL YEAR 2009,PR,Payroll and benefit,G1006A00049,FICA
< GOVERNMENT CONTRIBUTIONS,2010Q1,PERSONNEL BENEFITS,03-31,FICA,,,,-1.24,FISCAL YEAR 2009,PR,Payroll and benefit,G1006A00050,FICA
< GOVERNMENT CONTRIBUTIONS,2010Q1,PERSONNEL BENEFITS,03-31,FICA,,,,-248.89,FISCAL YEAR 2009,PR,Payroll and benefit,G1006A00051,FICA
< GOVERNMENT CONTRIBUTIONS,2010Q1,PERSONNEL BENEFITS,03-31,FICA,,,,-19.84,FISCAL YEAR 2009,PR,Payroll and benefit,G1006A00052,FICA
< GOVERNMENT CONTRIBUTIONS,2010Q1,PERSONNEL BENEFITS,03-31,MEDICARE,,,,-5.70,FISCAL YEAR 2009,PR,Payroll and benefit,G1006A00107,MEDICARE
< GOVERNMENT CONTRIBUTIONS,2010Q1,PERSONNEL BENEFITS,03-31,MEDICARE,,,,-0.29,FISCAL YEAR 2009,PR,Payroll and benefit,G1006A00108,MEDICARE
< GOVERNMENT CONTRIBUTIONS,2010Q1,PERSONNEL BENEFITS,03-31,MEDICARE,,,,-58.21,FISCAL YEAR 2009,PR,Payroll and benefit,G1006A00109,MEDICARE
< GOVERNMENT CONTRIBUTIONS,2010Q1,PERSONNEL BENEFITS,03-31,MEDICARE,,,,-4.64,FISCAL YEAR 2009,PR,Payroll and benefit,G1006A00110,MEDICARE
< GOVERNMENT CONTRIBUTIONS,2010Q1,PERSONNEL BENEFITS,03-31,BASIC,,,LIFE INSURANCE,"1,828.21",FISCAL YEAR 2009,PR,Payroll and benefit,G1006A00240,BASIC
---
> GOVERNMENT CONTRIBUTIONS,2010Q1,PERSONNEL BENEFITS,03-31,,,,FICA,-21.25,FISCAL YEAR 2009,PR,Payroll and benefit,G1006A00049,FICA
> GOVERNMENT CONTRIBUTIONS,2010Q1,PERSONNEL BENEFITS,03-31,,,,FICA,-1.24,FISCAL YEAR 2009,PR,Payroll and benefit,G1006A00050,FICA
> GOVERNMENT CONTRIBUTIONS,2010Q1,PERSONNEL BENEFITS,03-31,,,,FICA,-248.89,FISCAL YEAR 2009,PR,Payroll and benefit,G1006A00051,FICA
> GOVERNMENT CONTRIBUTIONS,2010Q1,PERSONNEL BENEFITS,03-31,,,,FICA,-19.84,FISCAL YEAR 2009,PR,Payroll and benefit,G1006A00052,FICA
> GOVERNMENT CONTRIBUTIONS,2010Q1,PERSONNEL BENEFITS,03-31,,,,MEDICARE,-5.70,FISCAL YEAR 2009,PR,Payroll and benefit,G1006A00107,MEDICARE
> GOVERNMENT CONTRIBUTIONS,2010Q1,PERSONNEL BENEFITS,03-31,,,,MEDICARE,-0.29,FISCAL YEAR 2009,PR,Payroll and benefit,G1006A00108,MEDICARE
> GOVERNMENT CONTRIBUTIONS,2010Q1,PERSONNEL BENEFITS,03-31,,,,MEDICARE,-58.21,FISCAL YEAR 2009,PR,Payroll and benefit,G1006A00109,MEDICARE
> GOVERNMENT CONTRIBUTIONS,2010Q1,PERSONNEL BENEFITS,03-31,,,,MEDICARE,-4.64,FISCAL YEAR 2009,PR,Payroll and benefit,G1006A00110,MEDICARE
> GOVERNMENT CONTRIBUTIONS,2010Q1,PERSONNEL BENEFITS,03-31,,,,BASIC LIFE INSURANCE,"1,828.21",FISCAL YEAR 2009,PR,Payroll and benefit,G1006A00240,BASIC

It handles both cases where there is and is not a space in the description.
It's only those types of fixes, so I think this works, without any unintended consequences. The fix is this, right before the fdetail row gets written for a row that matches benefits_re:
        # benefits rows don't really have a recipient, this is to kludge around a hard-to-fix bug in benefits_re
        if thiscat == "PERSONNEL BENEFITS":
            descrip = ("%s %s" % (sunrecip, descrip)).strip() # leaves the space in if sunrecip had a value, strips it if not
            sunrecip = ""

The if check is necessary, because benefits_re matches more than just actual benefits, for whatever reason.
I'm going to merge in the code that's present on this pull request, and then add my change above to the sunlightlabs repo after that. I think we can put a bow on this, sir, it's done!

 It includes my change above, as well.

Thanks, man! Looks good.
BTW, I checked in something that processes the Senate disbursements to
github in case it's of any interest to you guys for reference or
whatever. It's not perfect but it does the trick. I'm still planning
on doing an article off the Senate disbursements, but it turns out
their level of detail is a little disappointing, and payments are
sometimes listed as going to banks rather than the ultimate
recipients. Travel-related payments seem to appear one total cost per
trip, so you're not seeing that they're spending it at strip clubs in
Mississippi, just that they flew down there. Another reason it's hard
to make it interesting is simply it's the first glimpse at Senate
disbursements we've had, meaning you can't compare shifts over time.
 It includes my change above, as well.

Reply to this email directly or view it on GitHub:
https://github.com/sunlightlabs/disbursements/pull/1#issuecomment-3372312

Awesome, I see the repo. I'll check it out, thanks for publishing it!


Use of "uint64" for the "hipscat ID" and the lack of 64-bit unsigned types in IVOA standards

I have been experimenting with adapting "hipscat" datasets (concretely, https://data.lsdb.io/unstable/gaia_dr3/gaia/ , as a sample) to use in IVOA contexts.
I've run across an awkward issue: it appears that there are two "internal" columns in the dataset, Dir and Npix, which are declared uint64[pyarrow].  This is a perfectly reasonable choice, except for an awkward feature of the type system of existing astronomy standards:
The VOTable type primitives do not include an unsigned 64-bit integer (neither does FITS, though in FITS there's an ugly workaround using BZERO or TZEROn).
This means that it's unsafe to simply query a "hipscat" dataset and return a result including either of those two columns through VOTable, i.e., through any current IVOA protocol, if the high-order bit is set.
If the Npix column indeed contains IDs in your ( HEALPix_id, counter) scheme, in which the HEALPixel ID is in the high-order 42 bits of the word, it will indeed be the case that the high-order (sign) bit will be set frequently, perhaps for 1/3 of the space of IDs (the largest ID possible appears to be 0xBFFF FFFF FFFF FFFF, if the counter is maxed out).
As a member of the team for Rubin, which is expecting to require 64-bit IDs and is likely to eventually use every single bit, I find the inability to easily transport unsigned 64-bit values in the standards undesirable, but it is what it is for now.
If your ID scheme is non-negotiable, I think we will need to specify a standard interpretation for how "hipscat" IDs are expected to be represented in schemas in which only signed 64-bit integers are available.
I am assuming that you will find neither of the following alternatives acceptable?  Both would permanently avoid the issue.

Order-19 HEALPixel IDs (0.4' across) with 21-bit disambiguation counters (2M values)
Order-18 HEALPixel IDs (0.8' across) with 23-bit disambiguation counters (8M values)

Note that the sole uint8 column, Norder, is not a problem.  VOTable and FITS both have an unsigned byte type: unsignedByte and "B" (BITPIX=8), respectively.

I have had a relevant realization:
VOTable 1.4, Section 6 states:

64-Bit Integer  If the value of the datatype attribute specifies datatype "long", the data in the BINARY/BINARY2 serialization shall consist of big-endian twos-complement signed 64-bit integers contained in eight bytes, with the most significant byte first, and subsequent bytes in order of decreasing significance. The representation of a Long Integer in the TABLEDATA serialization is either its decimal representation between -9223372036854775808 and<PHONE_NUMBER>854775807 made of an optional - or + sign followed by digits, or its hexadecimal representation when starting with 0x and followed by 1 to 16 hexadigits.   (emphasis mine)

I'd forgotten that hexadecimal representations were an option.  This means that a conforming service can, at least, transmit the bit pattern of an unsigned 64-bit integer without any complication, either in BINARY2 or by using the hexadecimal option to TABLEDATA.  It will still be an issue for clients to know what to do when they receive the data.

I think we can get away with the first option, to simply reduce the counter space. However, this would make all existing hipscat datasets incompatible. it might make the most sense to hold off on this until we perform a whole-scale renaming, so that the _hipscat_index can be wholly invalid in IVOA (both based on the name, and requiring an unsigned int), and the _bleepbloop_index can use a slightly smaller counter and fit inside a signed int64.

I do no see any problem keeping uint64, on the contrary.
It don't know why VOTable does not support unsigned integers (except the UnsignedByte datatype) and the signed byte.
Because the VOTable standard has been developed during the Java hype? More probably because FITS does not support them  (Why? Which historical reasons?).
One way to support those types may be to rely on the xtype attribute (like there is a limited set of stored types, but many logical types in Parquet). I don't know if such xtypes already exists, @mbtaylor?
I tend to think that the tool converting from Parquet to VOTable will have the responsibility to cast unsigned integers into signed integers. It is a no-operation: the bit patter is preserved. The difference will be that integer with the MSB set will be represented as negative numbers once converted into String. The reverse operation (parsing a negative value into a integer and then cast it into an unsigned integer) will give back the original bit pattern.
In the case of _hipscat_index, working from Java (only signed integers), you can retrieve the HEALPix index parsing the signed integer and then using the "unsigned right shift" >>> instead of the "right shift" >>.
But in other languages (supporting both signed and unsigned integers), it would be best to keep the unsigned type (else the right shift will preserve the MSB).
See this Rust example:
fn main() {
    println!("{:b}", -128_i8);
    println!("{:b}", 128_u8);
    println!("{:b}", -128_i8 >> 1);
    println!("{:b}", 128_u8 >> 1);
}

the output is:
10000000
10000000
11000000
1000000

To perform operations to retrieve the HEALPix index, we have to work on the signed type (in cases the MSB is set).

The historical reason for FITS and hence VOTable supporting only signed integers is probably inherited from FORTRAN 77 which has no unsigned integer types.  What the thinking behind the Java roster of integer types was (1-byte unsigned, 2-, 4- and 8-byte signed), I don't know.
As pointed out above, FITS can effectively encode signed types by suitable use of the BZERO/TZEROnnn headers.  Introducing an xtype="unsigned" for VOTable would be in the spirit of this convention, as well as of parquet logical types; I think it would be rather a good solution for this problem.  I don't believe that anybody else has made this suggestion.
Dealing with unsigned 64-bit integers in Java would be pretty painful.  I don't think you can get round this in general using bit shifts given that all the bits may be in use.  Although there are ways to deal with arbitrary precision integers in Java, topcat/stilts will probably not be able to do arithemetic on signed 64-bit integers.  But, I doubt if arithmetic is required.
I think the right way to think about these values is as bit patterns, which as Gregory points out can be naturally expressed in VOTable TABLEDATA in hexadecimal, and which fit naturally into BINARY/BINARY2 anyway.  Then if an unsigned xtype is present in the VOTable serialization, languages which can cope with unsigned longs can do so, and languages which can't will just do the best they can (represent some of the values as negative).  In absence of an unsigned xtype, some of the values will just look like they are negative, which probably doesn't matter too much since the only manipulation of these values is likely to be bitwise.
If you can avoid using all 64 bits, it would probably simplify some use of this data.  But if not most things will probably work, and if we introduce an unsigned xtype better still.
This may be a short-lived issue, since it relates only to fields for which exactly 64 (or 32 or 16) bits are required.  I was talking to people at ROE yesterday about a 22-digit decimal field they wanted to expose using TAP.  But I don't suggest that we introduce an int96 type in VOTable any time soon.

Sorry @mbtaylor, but I still don't get the point about hexadecimal.
It would be useful to directly write, in a TABLEDATA, a string representation of an unsigned integer which is compatible with a signed integer.
But it does not seem to be the right thing to do from my perspective.
For me, we should first convert the votable-not-supported-unsigned-integer into the votable-supported-signed integer (i.e. a cast which is a zero cost operation preserving the bit pattern here) and then write the string representation of the signed integer (in decimal, hexadecimal, octal or binary).
Then, when reading the TABLEDATA into memory, we parse the string representation of the signed-integer (leading to the original bit pattern) and, if we have the xtype=unsigned info and a tool supporting it, we can cast the signed-integer into an unsigned integer (again, the cast is a no-operation and preserves the bit pattern).
There will be no performance differences between both approaches since casting is here a no-operation.
And the second way of doing is more universal since it can be used for "logical" types having no string representation compatible with the "stored" type.

@fxpineau you've expressed it more clearly than me - this is exactly what I meant.  You're right that the hexadecimal nature of the serialization doesn't really change anything, it just seems a bit less confusing because it doesn't have a (potential) minus sign at the start.


Fully-Automatic Tenant Registration Flow

For situations such as what is described here, it would be nice to have a fully-automatic tenant approval option that will not require the innkeeper to manually approve one by one each registration request.
Acceptance Criteria:
Add an environment variable to be set at deployment time that, if present and set to true, automatically approves the tenant registration request.
The tenant will still be responsible for completing the check-in step and obtaining the credentials to access/control their agent.

I think this would be (in the Innkeeper plugin):

User POSTs to /multitenancy/reservations as usual, the historical record and contact info would still be there
That service endpoint detects some auto-approve flag and actions the same service layer call that is currently actioned by /innkeeper/reservations/{reservation_id}/approve
The check-in password is returned back to the /multitenancy/reservations call, so in this case the body has that extra password.
User proceeds with check-in normally for next steps to provide the password and stuff to /multitenancy/reservations/{reservation_id}/check-in

If this were to be supported in the Tenant UI would just need some tweaks to detect if the password is returned in the reservation step and appropriate screen text.
And adjust the email text instructions and info as well.

I think we can just go with the regular check-in flow, just short-circuit the approval. The password is currently being sent out via email, isn't it? I'm looking at triggering the exact same code as the one that is executed when the approve endpoint is hit

On second thought, I think @loneil you're right: we will probably want to display the password on-screen for immediate use.

I think we can just go with the regular check-in flow, just short-circuit the approval. The password is currently being sent out via email, isn't it? I'm looking at triggering the exact same code as the one that is executed when the approve endpoint is hit

Yeah exactly, that's the flow I mean in bullet point 2 above.
The password is just returned by the approve endpoint currently, so it would be returned by the 1st POST instead if this auto-flag is on.
Then the emailing is just the tenant-ui taking the password out of the result body and it's emailing, so no emails known by Traction or anything.

Sorry was dragging my tickets around and picked up this one, not sure if this and #587 should be in done


Use ListHeaderComponent

Hi !
I'm new with react native, i search now for 3hours and i don't no how to send data into the ListHeaderComponent.
because in my code I use :
<MasonryList         ListHeaderComponent={this.RenderMasonryHeader}         ...
and my RenderMasonryHeader is :
RenderMasonryHeader(state) {         return (             <View>                 <CachedImage                     source={{                     uri: this.props.avatar                 }}/>           </View>
And I don't know how to send to this.props.
Please help meeee

You can probably do something like:
ListHeaderComponent={() => <View> <CachedImage source={{ uri: this.props.avatar }}/> </View>}


prisma added

after editing the schema file to match the example here I tried both npx prisma format and npx prisma generate. Both commands gave me errors. I will ask about this tomorrow in class.


Read Permissions like Samba Share Addon needed

Hi there,
first, thank you for the Addon! I've run duplicati using portainer for backup my nextcloud files.
Now I tried your addon and it cant access the nextcloud directory in share. The samba addon did it and my selfhostet instance, too.
Here is my portainer start script. Don't know if it helps. Maybe the configuration of the samba share addon is able to help, too.
version: "2.1"
services:
  duplicati:
    image: ghcr.io/linuxserver/duplicati
    container_name: duplicati
    environment:
      - PUID=911
      - PGID=1001
      - TZ=Europe/Berlin
      - CLI_ARGS= #optional
    volumes:
      - /mnt/data/supervisor/config/duplicati:/config
      - /mnt/data/supervisor/backup/duplicati:/backups
      - /mnt/data/supervisor/share/:/source
    ports:
      - 8200:8200
    restart: unless-stopped

Hi there,
first, thank you for the Addon! I've run duplicati using portainer for backup my nextcloud files. Now I tried your addon and it cant access the nextcloud directory in share. The samba addon did it and my selfhostet instance, too.
Here is my portainer start script. Don't know if it helps. Maybe the configuration of the samba share addon is able to help, too.
version: "2.1"
services:
  duplicati:
    image: ghcr.io/linuxserver/duplicati
    container_name: duplicati
    environment:
      - PUID=911
      - PGID=1001
      - TZ=Europe/Berlin
      - CLI_ARGS= #optional
    volumes:
      - /mnt/data/supervisor/config/duplicati:/config
      - /mnt/data/supervisor/backup/duplicati:/backups
      - /mnt/data/supervisor/share/:/source
    ports:
      - 8200:8200
    restart: unless-stopped

I'm sorry I didn't understand the problem, can you explain better? The share folder is available among the folders that can be selected for backup (attention it is not the source folder but /share in the duplicati

system)

In my share directory is a nextcloud directory. Incan access it from other addons like the samba addon or my self hostet duplicati dockler instance but not with your duplicati addon. So it seems the addon runs with different permissions. When select the nextcloud dir it onlly shows a lock and nothing gets backuped.

I think it is a permissions problem but I'm not sure if the problem is the UID used by your configuration or if it is a problem of the apparmor protection level. I will try to understand if I can solve it but at the moment it is impossible for me to replicate your configuration. In the standard hassos configuration the problem is not there and the security level of the addon is 8 (samba is 5). sorry, feel free to fork and find a custom solution


Added Support for RN 0.60.0

Summary
Added Support for RN 0.60.0 including Android X

Test Plan

What's required for testing (prerequisites)?
What are the steps to reproduce (after prerequisites)?
Compatibility

OS
Implemented

iOS
✅❌

Android
✅❌

Checklist

[ ] I have tested this on a device and a simulator
[ ] I added the documentation in README.md
[ ] I mentioned this change in CHANGELOG.md
[ ] I updated the typed files (TS and Flow)
[ ] I added a sample use of the API in the example project (example/App.js)

This should fix #310

Shouldn't we get this merged?

When is this PR getting merged?

This would be very useful to my team, would love to see it get merged - this would resolve some important build issues for us

What else do we need to do to get this merged?

This issue blocks our release, anyway to merge it?

We disabled blur in our app in order to release 😢

Hi.  Just checking in to see if there is anything anyone can help with to get this released.

I could merge it but probably don't have publish rights to npm, @grabbou @cpojer Could one of you handle it?

@msand you should have rights to publish on @react-native-community.

Ah, alright, great :) Thanks for handling it!

@cpojer Seems I don't have the right to publish a new version, or not sure how to interpret the error message, both npm and yarn fail when trying to publish, the failing uri works fine to get otherwise and certainly exists, but the put to publish fails, so I assume it's because of missing rights:
npm
18 http fetch PUT 404 https://registry.npmjs.org/@react-native-community%2fblur 4283ms
19 verbose stack Error: 404 Not Found - PUT https://registry.npmjs.org/@react-native-community%2fblur - Not found
19 verbose stack     at /usr/local/lib/node_modules/npm/node_modules/npm-registry-fetch/check-response.js:104:15
19 verbose stack     at processTicksAndRejections (internal/process/task_queues.js:93:5)
20 verbose statusCode 404
21 verbose pkgid<EMAIL_ADDRESS>22 verbose cwd /Users/msand/WebstormProjects/react-native-blur
23 verbose Darwin 19.0.0
24 verbose argv "/usr/local/Cellar/node/12.12.0/bin/node" "/usr/local/bin/npm" "publish" "--verbose"
25 verbose node v12.12.0
26 verbose npm  v6.13.0
27 error code E404
28 error 404 Not Found - PUT https://registry.npmjs.org/@react-native-community%2fblur - Not found
29 error 404
30 error 404 '<EMAIL_ADDRESS>is not in the npm registry.
31 error 404 You should bug the author to publish it (or use the name yourself!)
32 error 404 Note that you can also install from a
33 error 404 tarball, folder, http url, or git url.
34 verbose exit [ 1, true ]

yarn
yarn publish
yarn publish v1.19.1
[1/4] Bumping version...
info Current version: 3.4.0
question New version: 3.4.0
[2/4] Logging in...
[3/4] Publishing...
error Couldn't publish package: "https://registry.yarnpkg.com/@react-native-community%2fblur: Not found"

Thanks for merging @cpojer.
It has been a great experience solving a problem I faced for all fellow developers.

@msand you are all set now! Please let me know in the future if you have any issues!

Thanks for fixing this. Any chance we could get it published to npm soon?

Sorry forgot about this, published new version now

@msand No new version found on npm

It's published under @react-native-community/blur rather than react-native-blur


VoiP sample doesn't build

Hi, when I try to build the VoiP sample, I get
The type or namespace name 'VoipPhoneCall' could not be found (are you missing a using directive or an assembly reference?)
Basically all VoiP*-Types are not available.
I already checked my referenced packages. Versions: 10.0.14393.0
Any ideas?
Thanks in advance,
Michael

Builds okay for me except for manifest issue #770.


Node 4.0.0 stable release errors

here are the logs for one module but it seems that a lot of people include this module so each one of my repos shows this error

><EMAIL_ADDRESS>install /Users/patrick/Documents/angular/angular/node_modules/chokidar/node_modules/fsevents
> node-gyp rebuild

  SOLINK_MODULE(target) Release/.node
  CXX(target) Release/obj.target/fse/fsevents.o
In file included from ../fsevents.cc:6:
../node_modules/nan/nan.h:261:25: error: redefinition of '_NanEnsureLocal'
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
                        ^
../node_modules/nan/nan.h:256:25: note: previous definition is here
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                        ^
../node_modules/nan/nan.h:661:13: error: no member named 'smalloc' in namespace 'node'
    , node::smalloc::FreeCallback callback
      ~~~~~~^
../node_modules/nan/nan.h:672:12: error: no matching function for call to 'New'
    return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
           ^~~~~~~~~~~~~~~~~
/Users/patrick/.node-gyp/4.0.0/include/node/node_buffer.h:31:40: note: candidate function not viable: no known conversion from 'uint32_t' (aka 'unsigned int') to
      'enum encoding' for 3rd argument
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/patrick/.node-gyp/4.0.0/include/node/node_buffer.h:43:40: note: candidate function not viable: 2nd argument ('const char *') would lose const qualifier
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/patrick/.node-gyp/4.0.0/include/node/node_buffer.h:28:40: note: candidate function not viable: requires 2 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, size_t length);
                                       ^
/Users/patrick/.node-gyp/4.0.0/include/node/node_buffer.h:36:40: note: candidate function not viable: requires 5 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
In file included from ../fsevents.cc:6:
../node_modules/nan/nan.h:676:12: error: no viable conversion from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object>'
    return node::Buffer::New(v8::Isolate::GetCurrent(), size);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/patrick/.node-gyp/4.0.0/include/node/v8.h:210:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from
      'v8::MaybeLocal<v8::Object>' to 'const v8::Local<v8::Object> &' for 1st argument
class Local {
      ^
/Users/patrick/.node-gyp/4.0.0/include/node/v8.h:210:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from
      'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object> &&' for 1st argument
class Local {
      ^
/Users/patrick/.node-gyp/4.0.0/include/node/v8.h:214:13: note: candidate template ignored: could not match 'Local' against 'MaybeLocal'
  V8_INLINE Local(Local<S> that)
            ^
/Users/patrick/.node-gyp/4.0.0/include/node/v8.h:326:13: note: candidate template ignored: could not match 'S *' against 'v8::MaybeLocal<v8::Object>'
  V8_INLINE Local(S* that)
            ^
In file included from ../fsevents.cc:6:
../node_modules/nan/nan.h:683:26: error: no member named 'Use' in namespace 'node::Buffer'
    return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
           ~~~~~~~~~~~~~~^
In file included from ../fsevents.cc:6:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/patrick/.node-gyp/4.0.0/include/node/node.h:42:
/Users/patrick/.node-gyp/4.0.0/include/node/v8.h:221:5: error: assigning to 'v8::Primitive *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/patrick/.node-gyp/4.0.0/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:414:12: note: in instantiation of function template specialization 'v8::Local<v8::Primitive>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../fsevents.cc:6:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/patrick/.node-gyp/4.0.0/include/node/node.h:42:
/Users/patrick/.node-gyp/4.0.0/include/node/v8.h:221:5: error: assigning to 'v8::Boolean *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/patrick/.node-gyp/4.0.0/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:424:12: note: in instantiation of function template specialization 'v8::Local<v8::Boolean>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../fsevents.cc:6:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/patrick/.node-gyp/4.0.0/include/node/node.h:42:
/Users/patrick/.node-gyp/4.0.0/include/node/v8.h:221:5: error: assigning to 'v8::Function *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/patrick/.node-gyp/4.0.0/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1514:12: note: in instantiation of function template specialization 'v8::Local<v8::Function>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex)
           ^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../fsevents.cc:6:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/patrick/.node-gyp/4.0.0/include/node/node.h:42:
/Users/patrick/.node-gyp/4.0.0/include/node/v8.h:221:5: error: assigning to 'v8::Object *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/patrick/.node-gyp/4.0.0/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1632:12: note: in instantiation of function template specialization 'v8::Local<v8::Object>::Local<v8::Value>' requested here
    return NanEscapeScope(handle->Get(NanNew(key)).As<v8::Object>());
           ^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
9 errors generated.
make: *** [Release/obj.target/fse/fsevents.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/Users/patrick/.nvm/versions/node/v4.0.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 14.5.0
gyp ERR! command "/Users/patrick/.nvm/versions/node/v4.0.0/bin/node" "/Users/patrick/.nvm/versions/node/v4.0.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/patrick/Documents/angular/angular/node_modules/chokidar/node_modules/fsevents
gyp ERR! node -v v4.0.0
gyp ERR! node-gyp -v v3.0.1
gyp ERR! not ok

You need to upgrade, v0.3.8 supports node v4.


Second alignment with UMI is not performed at all

Example configuration:
- algorithm:
    aligner: bwa
    coverage: my_regions
    effects: vep
    effects_transcripts: canonical
    mark_duplicates: true
    min_allele_fraction: 1
    platform: illumina
    quality_format: Standard
    realign: false
    recalibrate: gatk
    remove_lcr: true
    trim_reads: false
    umi_type: fastq_name
    variant_regions: my_regions
    variantcaller:
        somatic: mutect2
  analysis: variant2
  description: 21557_test_umi
  files:
  - test-umi-fastq/21557_test_R1.fq.gz
  - test-umi-fastq/21557_test_R2.fq.gz
  genome_build: hg19

As part of the alignment run, first a file called 21557_test_umi-sort.bam is created, then UMIs are processed regularly, creating 21557_blood_umi-test-cumi-1.fq.gz and 21557_test_umi-sort-cumi-1.fq.gz. However, then the code does, when realigning again:
f1, f2 = postalign.umi_consensus(data)
del data["config"]["algorithm"]["umi_type"]
data["config"]["algorithm"]["mark_duplicates"] = False
data = align_to_sort_bam(f1, f2, aligner, data)

If we follow the chain in align_to_sort_bam we end up in align_pipe where:
out_file = os.path.join(align_dir, "{0}-sort.bam".format(names["lane"]))

Which corresponds to 21557_test_umi-sort.bam and then we check for existence:

if not utils.file_exists(out_file):
    umi_ext = "-cumi" if "umi_bam" in data else ""
    out_file = os.path.join(align_dir, "{0}-sort{1}.bam".format(dd.get_sample_name(data), umi_ext))

but the file does exist, so this part is skipped (and so the alignment), and the result is that no -cumi files are generated at all. At least that's my understanding, since I checked the logs and the second BWA run is never done.
This configuration is part of a batch with 2 paired samples which I need to use for somatic variant calling. A single batch I did a few days earlier (but I don't remember if I updated) ran fine.

Now I see it's being fixed by https://github.com/chapmanb/bcbio-nextgen/commit/60b7af861ba2302469bbeee322489bdcfae3277f. I'll update and report back.


Using recursive comparison assertions - refactor probably needed

For example in AssertJ this is easy and clear:
https://stackoverflow.com/questions/43316133/how-to-compare-recursively-ignoring-given-fields-using-assertj
However in this project we used diffx library and such assertions with ignoring fields look following:
yield assertTrue {
// TODO there must be better way to implement this...
import com.softwaremill.realworld.common.model.ArticleDiff.{*, given}
compare(
result.toOption.get,
Article(
ArticleData(
"how-to-train-your-dragon-2",
"How to train your dragon 2",
"So toothless",
"Its a dragon",
List("drogon", "fly"),
null,
null,
false,
0,
ArticleAuthor("admin", Some("I dont work"), Some(""), following = false)
)
)
).isIdentical
}
This is not the best approach, we should find more elegant way to achieve this goal / refactor it.

I looked into it. Maybe we can just use plain old ==? On case classes it performs a recursive comparison on all fields. As for fields that do not require checking, maybe we can define a separate smaller case class, let's call it ReducedResponse. We can transform Response into this ReducedResponse and then just use == to compare with given example. I will prepare a PR to illustrate.

We can add import zio.test.magnolia.diff._. If we do that we should get a nice diff when there will be a difference between values.


Payment-Page Template with HTML, CSS and JS

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes #327

Type of change

[x] New feature (non-breaking change which adds functionality)

Explain the Testing instructions
Test Configuration:

Operating system: Windows
Version: 11
Text-editors used: VS Code

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] My changes generate no new warnings

ATTACH SCREEN-SHOTS / DEPLOYMENT LINK

@darkhorse-2000 make its responsive within 2 days

@darkhorse-2000 make a new PR when its ready


Make sure nodes queued to detach after transition has started actually get detached - #2310

This fixes #2310. The issue is that the transition manager starts and completes its outros before the deferred observers fire, and the deferred observers cause nodes to be removed and their transition manager is a child of the already completed original transition manager. So when the second round goes to detach, they never do because the parent transition manager is already done.
This skips the parent queue if the parent is already done and just goes ahead with the detachment. Would it be more appropriate to move the transition manager start to after the deferred observers fire?
@JonDum, can you try this out and let me know if it definitely fixes your problem?
@gaelicmichael, if you have a few spare cycles, could you try this as an alternative for the fixes in #2284?
I can provide test builds if anyone needs them.

Yuppp fixes it! You da man.


Updated-Plugin

Removed lease_time and renewal_time and attached ttl and max_ttl with roles instead.
Made tokens unique for the combination of org_id, role_name and logical_name
Removed delete operation since it's not required

Merged the functionality with improve-k8-agent-integration branch


unicode: can't specify rune(s) to be invariant under a SpecialCase case change.

What did you do?
built a unicode.CaseRange that specifies a rune(s) to be its own upper/lower case, by setting it to have a zero delta.
https://play.golang.org/p/u0fOaF41ah8
What did you expect to see?
no case change for rune(s) in the range.
What did you see instead?
special case ignored, rune changed according to default case change rules.

CC @mpvl


Feature Request: M1 Support / Universal Binary

Any chance the owner of the mac app store version could compile and submit the latest version as a universal binary?

Yes, we have plan for it, please wait for the next update.

Yes, we have plan for it, please wait for the next update.

v1.7


there's missing chapter 21 !!

is it a mistake or on purpose ?

Hi @namvvo , it is on purpose. All the samples presented in chapter 21 are split in their original chapters.


Remove invalid visibleForTesting annotations

Description
Remove invalid @visibleForTesting annotations. These currently annotate unnamed constructors that are used outside testing. The dart analyzer missed reporting these errors, due to a bug, https://github.com/dart-lang/sdk/issues/37936.

IdTokenResult() is called in packages/firebase_auth/lib/src/firebase_user.dart.
Transaction() is called in packages/cloud_firestore/lib/src/firestore.dart.

Related Issues
https://github.com/dart-lang/sdk/issues/37936
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[ ] If the pull request affects only one plugin, the PR title starts with the name of the plugin in brackets (e.g. [cloud_firestore])
[ ] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
[x] All existing and new tests are passing.
[ ] I updated/added relevant documentation (doc comments with ///).
[x] The analyzer (flutter analyze) does not report any problems on my PR.
[x] I read and followed the Flutter Style Guide.
[ ] The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
[ ] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy.
[ ] I updated CHANGELOG.md to add a description of the change.
[x] I signed the CLA.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (please indicate a breaking change in CHANGELOG.md and increment major revision).
[x] No, this is not a breaking change.

That analyze bot is reporting unrelated issues.

FYI static analysis will start failing when I fix the @visibleForTesting-on-unnamed-constructors bug.

Failures appear unrelated to my fix.

These changes seem to already be in place so I'm closing this. Thanks for the PR!


Adding alonzo scripts to the ledger

Depends on #217.

Rebased onto #217; the full repo now type-checks (including Foreign.*) but there are still a lot of postulates/unfinished dedfinitions, so still a WIP.

@Ali-Hill Now rebased on master (that includes my clean-up PR), feel free to base your follow-up work on scripts onto this PR.

@WhatisRT Any idea why the CI is failing? It seems to build all Haskell modules successfully and then fails with no error message :S

Here you go: https://github.com/input-output-hk/formal-ledger-specifications/actions/runs/6509719705/job/17737234122?pr=179#step:10:5101
I think it's compiling things in parallel, so it still continues on errors.


ignore_column doesn't ignore the features when input is a binary file

Related to https://github.com/Microsoft/LightGBM/issues/1061

Environment info
Operating System: Linux
CPU/GPU model: CPU
C++/Python/R version: Python
LightGBM version or commit hash: 2.2.3
Reproducible examples

import numpy as np
import lightgbm as lgb
import pickle

data = np.random.random((500, 10))
y = [1] * 250 + [0] * 250
lgb_train = lgb.Dataset(data, y)
lgb_train.save_binary("lgb_train_data.bin")

lgb_train =  lgb.Dataset("lgb_train_data.bin", y)
params = {
    'ignore_column': '0,1',
    'objective': 'binary',
    'verbose': 1
}

gbm = lgb.train(params=params,
                train_set=lgb_train,
                num_boost_round=2,
                )

Once the dataset is constructed, the ignore column will not take effect.
Bin file is the constructed dataset, so it cannot used the ignore column.


Remove LieGroupLike trait, Add Tn group

Algorithm code becomes a lot cleaner when written for LieGroup instead of the old LieGroupLike. This change removes the LieGroupLike concept and adds Tn to make it possible to use e.g. splines on Euclidean space.
The bundle still supports adding Eigen vectors directly.

Codecov Report

Merging #8 (8f499a6) into master (bf1b946) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master       #8      +/-   ##
==========================================
- Coverage   99.81%   99.80%   -0.01%
==========================================
  Files          22       23       +1
  Lines        1074     1027      -47
==========================================
- Hits         1072     1025      -47
  Misses          2        2

Impacted Files
Coverage Δ

include/smooth/bundle.hpp
100.00% <ø> (ø)

include/smooth/compat/odeint.hpp
100.00% <ø> (ø)

include/smooth/internal/lie_group_base.hpp
100.00% <ø> (ø)

include/smooth/so2.hpp
100.00% <ø> (ø)

include/smooth/so3.hpp
100.00% <ø> (ø)

include/smooth/diff.hpp
100.00% <100.00%> (ø)

include/smooth/se2.hpp
100.00% <100.00%> (ø)

include/smooth/se3.hpp
100.00% <100.00%> (ø)

include/smooth/spline/bezier.hpp
99.27% <100.00%> (-0.07%)
:arrow_down:

include/smooth/spline/bspline.hpp
100.00% <100.00%> (ø)

... and 4 more

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 bf1b946...8f499a6. Read the comment docs.


Fix getBounds to return Bounds (not accidentally treat right edge as width); fix container to optionally take size params

please take a look, thanks!

Bounds is going away!


Skyline has Panicked

For the past 2 days i've tested things, I've uninstalled mods, resetup my sd card, reformatted it. everything. This is the error

what do I do???

The message explicitly says, "A skyline plugin panicked". This is not a skyline issue. Given the exception message mentions a config library arcropolis uses, I'd guess your arcropolis config is corrupt. Try deleting /ultimate/arcropolis. Seek help on a smash modding discord if that doesn't help.


Support for callable defaults

Usage example:
def read_vault_rancher_token():
    """Read token for thief vault stored in a secret rancher file."""
    open("/run/secrets/vault_token") as secret:
        return secret.read().strip()

VAULT_TOKEN = env("VAULT_TOKEN", default=read_vault_rancher_token)

Additionally, we can add a convention that this callable will receive an instance of KiwiConfig as a first argument

Partially done in 0402fe3bd921f45185c88c20aecd8bba9bdd878f. Not sure about passing a config instance - there is none in case if env var is evaluated in __str__


Static library: Support for both statically and dynamically linked C++ runtime

Hi
Unless I am missing something, one cannot specify to build a StaticLibraryBinarySpec linking the C++ runtime as a shared library or linking the C++ runtime as a static library. For Windows, Here the compiler flags to set for VisualStudio
As use case, both Poco and Boost are providing this feature (both in building from source or as a packaged product)

Thanks for opening this issue @zosrothko. Could you clarify what you mean by "cannot specify

On Poco for example, the static libraries are coming with 2 link modes (or variant?) together with release/debug variants

static link with /MD that goes into Poco/lib as for example  : Poco/lib/PocoCppParserMD.lib
static link with /MDd that goes into Poco/lib as for example: Poco/lib/PocoCppParserMDd.lib
static link with /MT that goes into Poco/lib as for example   : Poco/lib/PocoCppParserMT.lib
static link with /MTd that goes into Poco/lib as for example: Poco/lib/PocoCppParserMTd.lib

Thus, it seems to me there no way to have both. With a compiler flag, one can get either the MD one, either the MT one.

Right, in this case, you want to create an additional variant of your binaries. On the top of my head, you can either use flavors, platform or build type to map a new variant and use extended properties to register some modeling information around this linkage type. Since this is windows specific, I would use a second set of Windows platform definition that explicitly model MD vs MT, like:
platforms {
  winMD {
    operatingSystem 'windows'
    ext.isMD = { true }
  }
  winMT {
    operatingSystem 'windows'
    ext.isMD = { false }
  }
}

// later you can use
binaries.all {
  if (targetPlatform.operatingSystem.windows && targetPlatform.isMD()) {
    // ...
  }
}

A deeper model can be created. It really depends on how it's used.

OK that's a solution which is more a workaround that an elegant one. It will overbloat a top level build.gradle script which is already quite heavy. There will be
platforms {
     win32MD
     win32MT
     win64MD
     win64MT
}

and
				targetPlatform "win32MD"
				targetPlatform "win32MT"
				targetPlatform "win64MD"
				targetPlatform "win64MT"

which will double the overall build time!!
I would have prefered an integrated solution by adding the specification of a StaticDynLibraryBinarySpec so the script could be
       binary {
			withType(StaticLibraryBinarySpec) {
                               cppCompiler.args "/MT"
                        }
			withType(StaticDynLibraryBinarySpec) {
                               cppCompiler.args "/MD"
                       }
             }


Fixes language in cheat-sheets.md

Thanks again @antonionc for your review content. It is very useful.


Use cross-platform config file paths

Note that this will move '/etc/samsungctl.conf' to '/etc/xdg/samsungctl/samsungctl.conf'. The user config file should remain in '~/.config/samsungctl.conf'.

Can this be merged? I just wanted to use the pip package on Windows, but it fails b/c os.getenv("HOME") is still used.

Or just don't search for this file on Windows, it's not really a must-have, no?

Fixed it like this:
    home = os.getenv("HOME")
    if home:
        directories.append(os.path.join(home, ".config"))


Only set properties for hiprtc library if it has been added.

Attempt to resolve issue 2011.

Sam fix as https://github.com/ROCm-Developer-Tools/HIP/pull/2005 LGTM

Fixed via #2032.


Fix line break replacement when the \n character is a literal text

Fix for issue #73

Sorry for taking your time, but never mind about this PR anymore, as I have found what was causing the error.
Now that I have the property generation fixed, this "fix/workaround" is not required, and because of that, I am closing it.
Thank you for your attention anyway


Backslashes in comments in .forceignore produce warnings on deploy/retrieve

Summary
When .forceignore file contains backslashes \ in the comments (for whatever reason...), sf project retrieve start and sf project deploy start commands add multiple warning messages as below:

Warning: Your .forceignore file incorrectly uses the backslash ("\") as a folder separator; it should use the slash ("/") instead. The ignore rules will not work as expected until you fix this.

Why backslashes occurred in your .forceignore file?
When some files are failing to deploy, we happened to add ignore pattern and included problem with filepath in the comment to that ignored pattern, and the filepath in the deploy failure messages was shown with backslashes (on Windows). 🙂
Steps To Reproduce

Generate project with Empty template, create default scratch org.
create a sample component (e.g. basic Apex class), deploy this component to the org.
update .forceignore file to include the following line at the end:

# SAMPLE COMMENT WITH BACKSLASHES: force-app\

Try running the sf project retrieve start and sf project deploy start CLI commands in the VSCode Terminal (PowerShell 7), see the warning(s) in the terminal output. In my case, sf project retrieve start command produced 3 warning messages; sf project retrieve start produced 1 warning message.

Remove the comment with backslashes, or, replace the basckslash \ with a slash / character, and run the sf project retrieve start CLI command again - no warnings produced.

Expected result
Backslashes in comments should be ignored, the warning should only react to baskslashes used in the ignored path patterns.
Actual result
Warning is displayed (even multiple times in case of retrieve operation).
This is especially annoying when running sf project retrieve start in the project where many components exist, then these messages are flooding the terminal buffer.
System Information
CLI:
@salesforce/cli/2.67.7 win32-x64 node-v22.11.0

Plugin Version:
@oclif/plugin-autocomplete 3.2.8 (core)
@oclif/plugin-commands 4.1.8 (core)
@oclif/plugin-help 6.2.16 (core)
@oclif/plugin-not-found 3.2.25 (core)
@oclif/plugin-plugins 5.4.15 (core)
@oclif/plugin-search 1.2.14 (core)
@oclif/plugin-update 4.6.10 (core)
@oclif/plugin-version 2.2.15 (core)
@oclif/plugin-warn-if-update-available 3.1.21 (core)
@oclif/plugin-which 3.2.17 (core)
@salesforce/cli 2.67.7 (core)
apex 3.6.2 (core)
api 1.3.2 (core)
auth 3.6.73 (core)
data 3.11.3 (core)
deploy-retrieve 3.15.11 (core)
info 3.4.18 (core)
limits 3.3.39 (core)
marketplace 1.3.4 (core)
org 5.1.4 (core)
packaging 2.9.0 (core)
schema 3.3.40 (core)
settings 2.4.4 (core)
sobject 1.4.45 (core)
telemetry 3.6.20 (core)
templates 56.3.29 (core)
trust 3.7.41 (core)
user 3.6.2 (core)
@salesforce/sfdx-scanner 4.7.0 (user)

SF ENV. VARS.
SF_AUTOUPDATE_DISABLE,true
SF_BINPATH,C:\Users\USER_NAME\AppData\Local\sf\client\bin\sf
SF_DISABLE_AUTOUPDATE,true
SF_UPDATE_INSTRUCTIONS,Use "npm update --global @salesforce/cli" to update npm-based installations.

Windows: true
Shell: powershell
Channel: stable

Diagnostics
:white_check_mark: pass - salesforcedx plugin isn’t installed
:white_check_mark: pass - you don't have any linked plugins
:x: unknown - using latest or latest-rc CLI version
:white_check_mark: pass - [@salesforce/plugin-deploy-retrieve] sourceApiVersion matches apiVersion
:white_check_mark: pass - [@salesforce/plugin-deploy-retrieve] default target DevHub max apiVersion matches default target org max apiVersion
:white_check_mark: pass - [@salesforce/plugin-deploy-retrieve] sourceApiVersion matches default target org max apiVersion
:white_check_mark: pass - can access: https://test.salesforce.com
:white_check_mark: pass - can access: https://appexchange.salesforce.com/services/data
:white_check_mark: pass - can access: https://developer.salesforce.com/media/salesforce-cli/sf/channels/stable/sf-win32-x64-buildmanifest
> sf version --verbose --json output:
{
  "architecture": "win32-x64",
  "cliVersion"<EMAIL_ADDRESS>  "nodeVersion": "node-v22.11.0",
  "osVersion": "Windows_NT 10.0.19045",
  "rootPath": "C:\\Users\\USER_NAME\\AppData\\Local\\sf\\client\\2.67.7-3acb081",
  "shell": "powershell",
  "pluginVersions": [
    "@oclif/plugin-autocomplete 3.2.8 (core)",
    "@oclif/plugin-commands 4.1.8 (core)",
    "@oclif/plugin-help 6.2.16 (core)",
    "@oclif/plugin-not-found 3.2.25 (core)",
    "@oclif/plugin-plugins 5.4.15 (core)",
    "@oclif/plugin-search 1.2.14 (core)",
    "@oclif/plugin-update 4.6.10 (core)",
    "@oclif/plugin-version 2.2.15 (core)",
    "@oclif/plugin-warn-if-update-available 3.1.21 (core)",
    "@oclif/plugin-which 3.2.17 (core)",
    "@salesforce/cli 2.67.7 (core)",
    "apex 3.6.2 (core)",
    "api 1.3.2 (core)",
    "auth 3.6.73 (core)",
    "data 3.11.3 (core)",
    "deploy-retrieve 3.15.11 (core)",
    "info 3.4.18 (core)",
    "limits 3.3.39 (core)",
    "marketplace 1.3.4 (core)",
    "org 5.1.4 (core)",
    "packaging 2.9.0 (core)",
    "schema 3.3.40 (core)",
    "settings 2.4.4 (core)",
    "sobject 1.4.45 (core)",
    "telemetry 3.6.20 (core)",
    "templates 56.3.29 (core)",
    "trust 3.7.41 (core)",
    "user 3.6.2 (core)",
    "@salesforce/sfdx-scanner 4.7.0 (user)"
  ]
}

we probably just need to update the regex to exclude comments 💡

you're correct. I actually have that open and was modifying it now!!
it seems like every time the forceignore class is constructed, it scans the file for \, and emits the warning, during the deploy we check the file in different steps, so multiple warnings
I'm changing it so it goes line by line, and checks if it's a commented line # and includes \


cp_mgmt_host, difference in groups parameter is not detected

Hi,
we are using version 2.3.0 of the collection and a management server with R81, api version 1.7.
When using the cp_mgmt_host module with the groups  parameter, the module does not report changed (and does not change the object) for subsequent calls, when the only change is in groups.
playbook example:
---
- name: "Debug playbook"
  hosts: all
  gather_facts: no
  connection: httpapi
  vars:
    ansible_python_interpreter: auto

  tasks:
    - name: "Create group1"
      cp_mgmt_group:
        name: "test_group1"
        auto_publish_session: "true"

    - name: "Create group2"
      cp_mgmt_group:
        name: "test_group2"
        auto_publish_session: "true"

    - name: "Create host and add to group1"
      cp_mgmt_host:
        name: "test_host"
        ip_address: "<IP_ADDRESS>"
        groups: "test_group1"
        auto_publish_session: "true"

    - name: "Change group for host to group2" #<-- should report changed, but returns with "ok"
      cp_mgmt_host:
        name: "test_host"
        ip_address: "<IP_ADDRESS>"
        groups: "test_group2"
        auto_publish_session: "true"

and the playbook run:
PLAY [Debug playbook] ************************************************************************************************

TASK [Create group1] *************************************************************************************************
changed: [testmanagement]

TASK [Create group2] *************************************************************************************************
changed: [testmanagement]

TASK [Create host and add to group1] *********************************************************************************
changed: [testmanagement]

TASK [Change group for host to group2] *******************************************************************************
ok: [testmanagement]

PLAY RECAP ***********************************************************************************************************
testmanagement             : ok=4    changed=3    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

result in smartconsole:

Thanks
Alex

Hi @alex-barth,
Thanks for reaching us.
The jumbo release with the PRJ-18350 includes this fix.
Thanks,
Shiran


Research: Customize hazelcast

Closed because we will remove hazelcast and write a custom cluster implementation for turms https://github.com/turms-im/turms/issues/370


MINIFICPP-394: Implement MQTT C2 protocol along with MQTT/REST

translation layer
Thank you for submitting a contribution to Apache NiFi - MiNiFi C++.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[ ] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[ ] Does your PR title start with MINIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[ ] Has your PR been rebased against the latest commit within the target branch (typically master)?

[ ] Is your initial contribution a single, squashed commit?

For code changes:

[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file?
[ ] If applicable, have you updated the NOTICE file?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.

I noticed there were no MQTT tests. Before this is merged I want to change this in some way. Plan was to use a stubbed out MQTT controller service to test the business logic.

@apiri  https://github.com/apache/nifi-minifi-cpp/pull/324 should solve the build failure. I see I have conflicts so I'll rebase too

Was able to verify #321 and rebase this on that.  Build looks good here.


Can't install xslt4node on my mac running High Sierra

I have managed to install it on an old mac running Yosemite but when I deploy my app to heroku it fails when tries to install xslt4node.
The first error I get is when the following command is issued:

node-gyp rebuild

Any clues
TIA
jcr

I had a similar issue to you. Doing npm install winreg alleviated it.


Updating state store for cluster seems much slower than it was before

Can confirm. I created a cluster on DigitalOcean with the default configuration on Monday and it worked perfectly. Today updating the cluster store timed out and failed. I will investigate further.

Works okay for me now. I'll close the issue. If anybody gets the problem, feel free to create new issue.


Fix squid:S2131: Primitives should not be boxed just for "String" con…

This pull request is focused on resolving occurrences of Sonar rule
squid:S2131 - “Primitives should not be boxed just for ""String"" conversion”.
You can find more information about the issue here:
https://dev.eclipse.org/sonar/rules/show/squid:S2131
Please let me know if you have any questions.
Ayman Elkfrawy.

Sounds good. Merging to master.

Excellent catch. Merging to master.


Error while importing pyarmnn

I am getting Your ArmNN library instance does not support Onnx models parser functionality.  Skipped IOnnxParser import.
26.0.0
Instead of # Returns '{ARMNN_MAJOR_VERSION}.0.0' e.g. 27.0.0
while executing python3 -c "import pyarmnn as ann;print(ann.GetVersion())". please look into it.

Hi @Tyogi
Your ArmNN library instance does not support Onnx models parser functionality. Skipped IOnnxParser import.
Is just a warning that ArmNN was built without Onnx parser support, the ArmNN version is printed on the next line: 26.0.0
Best regards,
Mike

can I continue or should I do anything else.
While I am executing sudo apt-get install -y armnn-latest-cpu
I am getting error saying:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package armnn-latest-cpu

It should be OK to continue with it.
If apt-get can't find the armnn-latest-cpu package then you might need to use these commands before you try to run sudo apt-get install -y armnn-latest-cpu :
sudo add-apt-repository ppa:armnn/ppa
sudo apt update

Then it should work!

Yes, I executed those commands but still not working.

Try sudo apt-get install -y armnn-latest-all  and see what it installs, on my x86 dev machine I see the following:
The following additional packages will be installed:
  libarmnn-cpuref-backend26 libarmnn26 libarmnntfliteparser24 libflatbuffers1

armnn-latest-cpu will only work on a machine that as an Arm CPU.

I am using intel what should I do now should I skip these commands are their any other commands

If you're running on Intel then the commands that you have already run (sudo apt-get install -y python3-pyarmnn armnn-latest-all) should be enough to get armnn to work. You will be able to use the reference backend on intel but it may be quite slow.
Are you following a guide? If you are and the guide says to specify the backend to use by using --preferred_backends CpuAcc CpuRef , for example, then you will have to use --preferred_backends CpuRef instead but then the example should still work.

Getting error while executing this cmake $BASEDIR/tensorflow
CMake Error: The source directory "/home/yogi/ArmNNDelegate/tensorflow" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
please look into it.

Hi @Tyogi
are you following a different guide? You shouldn't need to build tensorflow if you've already installed armnn-latest-all (that will have libarmnntfliteparser24). What tensorflow version are you using? If you want to build tensorflow with CMake then you will need to download tensorflow version 2.4 or later.
Best regards,
Mike

I am new to this, I am not really understanding what to do. Is their any other way to install armnn like a video or something.Please help me

Hi @Tyogi
You have successfully installed ArmNN, you can see that because this command:
python3 -c "import pyarmnn as ann;print(ann.GetVersion())"
Returns 26.0.0. So ArmNN has been correctly installed.
What are you trying to do with ArmNN?

I have to analyse the cpu and GPU performances of a mobile phone and optimize the memory bottleneck.

Hi @Tyogi
you can download the libraries for Android devices here:
https://github.com/ARM-software/armnn/releases/tag/v21.11
The library to download depends on the version of Android installed and the type of CPU on the mobile phone you're using.
If you want to build the libraries you will need to follow the Android build guide:
https://github.com/ARM-software/armnn/blob/branches/armnn_21_11/BuildGuideAndroidNDK.md
Best regards,
Mike


Localized FormBuilderValidators

What are your thoughts around Localization?
I built Localization into my app (using intl_translation), but noticed that I have to override the errorText every time I use FormBuilderValidators.
Any chance that we could get ARB files for multi-language support?

I believe this is a duplicate of #17 where I had indicated that I may need help on.
But that was in version 1 of the package which had a lot of internationalization issues with no options.
In case you have time kindly assist on this - given my schedule, it may take some time before I get around to doing it.

Right now, this is more of a long-term issue, but I will be happy to help once this is important to me.

Hi @awhitford,
I'm closing this since it's a duplicate of #17. Kindly follow the conversation there.


Focus.set/3 error when value of target lens is nil

iex(1)> Lens.make_lens(:id) |> Focus.set(%{id: nil}, 666)
{:error, {:lens, :bad_path}}
iex(2)> Lens.make_lens(:id) |> Focus.set(%{id: "foo"}, 666)
%{id: 666}

I've narrowed it down to this line. Is this intentional?

Ah, no, not intentional.
Thanks for opening the issue; I should have some time later today to fix
it.
On Wed, Apr 26, 2017 at 9:00 PM Safwan Kamarrudin<EMAIL_ADDRESS>wrote:

iex(1)> Lens.make_lens(:id) |> Focus.set(%{id: nil}, 666)
{:error, {:lens, :bad_path}}
iex(2)> Lens.make_lens(:id) |> Focus.set(%{id: "foo"}, 666)
%{id: 666}
I've narrowed it down to this
https://github.com/tpoulsen/focus/blob/6d37f884748ddfa7cb19b4b47531ebe9a70027c3/lib/lens/lens.ex#L229
line. Is this intentional?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/tpoulsen/focus/issues/13, or mute the thread
https://github.com/notifications/unsubscribe-auth/ADJLG2RNR3slb6PwIpslLT8ZDtReT3WSks5rz-jHgaJpZM4NJmaf
.

--
Travis Poulsen
GPG: D0F2 3290 59F7 CE5A 34F3 9125 279B 5DF7 0E44 5173

Cheers @tpoulsen!


separate ExerciseConfiguration into separate component

All configuration and logic of mapping meta categories to categories is now contained in ExerciseConfiguration.
Fixed issue with exercise question rendering (text was not selectable)

změny aplikovány v - changes applied in PR


Updated MultiProcess Learning Script and Preliminary Code for Goal Directed Spines

The main feature of interest for this pull request is the updated NTRTJobMaster.py, which is capable of handling most of the features of the C++ learning libraries in a multi-process fashion. I would appreciate feedback on the script's documentation, and am willing to create a tutorial if there is interest.
There's also a lot of new code in my dev directory working toward goal directed locomotion in the tensegrity spines. This is a work in progress, but shouldn't affect anything else in core.

Update - with today's commits for multi-terrain learning, I've handled all of the features of learning I can think of. If anyone can see/think of features I missed, let me know.
Also note that the script paramsToJSON.py will help you convert existing learned (.nnw) results to JSON files, allowing for testing and transfer of results. There may be slight differences between what that produces and what NTRTJobMaster produces, if it causes anyone trouble let me know.


Cannot save from public page to self-signed cert

When trying to save from NC to https://nc2, a dialog pops up complaining that that server has a self-signed cert.
Should find out how to configure NC to bypass that security measure.

The exact error message is (on https://nc1/Zz3p5TCcLzrr4aH)
Failed to add the public link to your Nextcloud
(!) Sharing Documents failed, could not find alice@https://nc2, maybe the server is currently unreachable or uses a self-signed certificate.
[OK]

The error is thrown here https://github.com/nextcloud/server/blob/7f572c0645d2bf815d1d00e5434d6222aa3c40aa/apps/files_sharing/js/public.js#L464

will add debug statements to step through https://github.com/nextcloud/server/blob/3853307a6a854c7b4f2792fea316439ac76145c3/apps/federatedfilesharing/lib/FederatedShareProvider.php#L231-L234 on nc1

Adding this to config/config.php:
"log_type" => "file",
"logfile" => "nextcloud.log",
"loglevel" => 0,
"logdateformat" => "F d, Y H:i:s",

This writes to /var/www/html/nextcloud.log inside the container. Log level 0 is debug+info+warn+error+fatal.

Trying with $client = new GuzzleClient(['handler' => $stack, 'verify' => false]); in https://github.com/nextcloud/server/blob/f01289f8d7a76fb7a0cddf79d9270ceb43ff9237/lib/private/Http/Client/ClientService.php#L75

Ah, just realised the existing error logging already gives a stack trace (whitespace added):
 cat nextcloud.log | grep -v is\ deprecated | tail -1
{"reqId":"Jsc2Lzu3W9eaFwG0YNYB","level":2,"time":"August 03, 2021 12:56:55","remoteAddr":"<IP_ADDRESS>","user":"--","app":"federatedfilesharing","method":"POST","url":"/apps/federatedfilesharing/createFederatedShare","message":"

Sharing Documents failed, could not find alice@https://nc2, maybe the server is currently unreachable or uses a self-signed certificate.

","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4298.0 Safari/537.36","version":"<IP_ADDRESS>","exception":{"Exception":"Exception","Message":"Sharing Documents failed, could not find alice@https://nc2, maybe the server is currently unreachable or uses a self-signed certificate.","Code":0,"Trace":[

{"file":"/var/www/html/apps/federatedfilesharing/lib/FederatedShareProvider.php","line":278,"function":"createFederatedShare","class":"OCA\\FederatedFileSharing\\FederatedShareProvider","type":"->","args":[{"__class__":"OC\\Share20\\Share"}]},

{"file":"/var/www/html/apps/federatedfilesharing/lib/Controller/MountPublicLinkController.php","line":176,"function":"create","class":"OCA\\FederatedFileSharing\\FederatedShareProvider","type":"->","args":[{"__class__":"OC\\Share20\\Share"}]},

{"file":"/var/www/html/lib/private/AppFramework/Http/Dispatcher.php","line":217,"function":"createFederatedShare","class":"OCA\\FederatedFileSharing\\Controller\\MountPublicLinkController","type":"->","args":["alice@https://nc2","Zz3p5TCcLzrr4aH",""]},

{"file":"/var/www/html/lib/private/AppFramework/Http/Dispatcher.php","line":126,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OCA\\FederatedFileSharing\\Controller\\MountPublicLinkController"},"createFederatedShare"]},

{"file":"/var/www/html/lib/private/AppFramework/App.php","line":156,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OCA\\FederatedFileSharing\\Controller\\MountPublicLinkController"},"createFederatedShare"]},

{"file":"/var/www/html/lib/private/Route/Router.php","line":301,"function":"main","class":"OC\\AppFramework\\App","type":"::","args":["OCA\\FederatedFileSharing\\Controller\\MountPublicLinkController","createFederatedShare",{"__class__":"OC\\AppFramework\\DependencyInjection\\DIContainer"},{"_route":"federatedfilesharing.MountPublicLink.createFederatedShare"}]},

{"file":"/var/www/html/lib/base.php","line":1000,"function":"match","class":"OC\\Route\\Router","type":"->","args":["/apps/federatedfilesharing/createFederatedShare"]},

{"file":"/var/www/html/index.php","line":38,"function":"handleRequest","class":"OC","type":"::","args":[]}],"File":"/var/www/html/apps/federatedfilesharing/lib/FederatedShareProvider.php","Line":357,"CustomMessage":"--"}}

Hm, but that stack trace doesn't seem to go all the way to the root error.
And that doesn't explain why my 'verify' => false is apparently not picked up by GuzzleHttp

Apparently sendRemoteShare returns false, and I'm seeing this if-statement then set the 'failure' flag:
https://github.com/nextcloud/server/blob/f01289f8d7a76fb7a0cddf79d9270ceb43ff9237/apps/federatedfilesharing/lib/FederatedShareProvider.php#L302-L304
ah:
Host nc2 was not connected to because it violates local access rules

Will work around this by using 'nc1.docker' and 'nc2.docker'

OK, it now changed to:
Host <IP_ADDRESS> was not connected to because it violates local access rules

Passed that hurdle by adding 'allow_local_remote_servers' => true to /var/www/html/config/config.php on nc1.docker.

New error: failed sharing Documents with alice@https://nc2.docker

Ah, now I see "Sharing Documents failed, because this item is already shared with user alice@https://nc2.docker"

Deleting the share failed due to out-of-memory. Editing this in /usr/local/etc/php/conf.d/nextcloud.ini

Will continue with this on Thursday.

Ah wait it's "1024M", not "1024MB".
Anyway, this was just caused by a var_dump I added.

{"reqId":"asGw3TO1RsoRpZWtqXOg","level":1,"time":"August 05, 2021 13:46:55","remoteAddr":"<IP_ADDRESS>","user":"--","app":"no app in context","method":"POST","url":"/apps/federatedfilesharing/createFederatedShare","message":"cURL error 60: SSL certificate problem: self signed certificate (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://nc2.docker/ocm-provider/","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4298.0 Safari/537.36","version":"<IP_ADDRESS>"}


trove as a dependency with LGPL

you sure an Apache 2 licensed project can depend on something that has GNU Lesser General Public License 2.1?

see for example:
https://github.com/rubychan/coderay/issues/25

Hmm, I'm not sure; is there a workaround for this? I can try removing Trove dependencies completely in the worst case, I've slimmed down its usage considerably since the last release.

easiest would be to convince trove to also be available under apache 2
license.
or if succinct works without trove then you could make it an optional
dependency. i don't know if this solves the license issue.
On Sun, Jun 12, 2016 at 5:59 PM, Anurag Khandelwal<EMAIL_ADDRESS>
wrote:

Hmm, I'm not sure; is there a workaround for this? I can try removing
Trove dependencies completely in the worst case, I've slimmed down its
usage considerably since the last release.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/amplab/succinct/issues/28#issuecomment-225463022, or mute
the thread
https://github.com/notifications/unsubscribe/AAyIJA4hkXy6KxAkiY9W5H5VB8Lg_cdCks5qLIEpgaJpZM4Ixdoq
.

Alright I'll look into it. Thanks for pointing it out!

Resolved in the master branch.


This Theme Makes Atom Slow

when I use this theme, like this:

it makes atom slow when switch tabs.
Is there any solutions ?

I have no problems with that... perhaps there is another plugin that when used in this theme can cause this issue?

I have this issue as well. Running Atom on Windows 7.

Ah.. I'm running El Capitan...

I have no performance issues on a early 2011 13" macbook pro running yosemite. This is, by no means, a fast machine by today's standards.
I'll check how it performs on a Windows machine as soon as I get my hands on one.

This is my community packages list:

And this is my community themes list:

I'm running El Capitan too...

I installed this theme almost immediately after installing Atom, so I had not yet used the Project Folders feature of Atom. I believe my performance issue is related to having a Project Folder that is a part of a Git Repo. See this Atom issue for details.

@monkpit I installed this theme too, but it switch tabs very fast, even though I used the Project Folders feature of Atom.
Is  computer's configuration does affect in Atom?
My mac is 15's Mid, PC is i7-4770k 16g ram.

I'm closing this issue as it doesn't seem to be related to atom-material-ui. Feel free to reopen it if you have steps to reproduce and the theme is to blame.

@silvestreh I installed this theme and immediately noticed that find-and-replace took slightly longer to open, and significantly longer to close. Similarly, fuzzy-finder and the command palette are slightly slower to load than in the built-in themes.
This is in a (reasonably large) Rails project. I've tested it in a (significantly smaller) Django project and it seems pretty snappy, with no hint of the above problems. I've also tested it on in a similarly large Ember project and it was just fine. In a fresh rails project it only seems slightly slower than the built-in themes.
I don't know if those are useful observations. I'd love to use this theme, but just can't justify it with the lag.


Modal Display Issue on Different Devices

Am encountering inconsistency in the default display modal when it comes to different devices.
The modal is fine when run on Emulator and Unity
The icons are fairly tiny in Unity (I took a look at samples but there is no specific setting or documentation on increasing icon size).
Attached are images of the modal when built to Android and run on several different platforms.
Emulator works the best, Unity Modal UI is too small and S10 will not even show the modal for some reason?

Hey @RambunctiousCookie,
The AppKit UI is responsive and works differently on desktop and mobile platform. When you select mobile platform in the Editor, the AppKit follows mobile layout rules. However, your desktop screen resolution, pixel density, and Game window size are very unusual for the mobile platform which usually makes the UI elements to small.
For the accurate UI in the Editor I recommend to use Simulator instead of the Game:

As for the issue on Samsung S10, it most likely has been addressed v1.1.0. I recommend upgrading to the latest version.
In another issue you mentioned connectivity issues in v1.2.0. If that blocks you from upgrading, please open a new issue and provide your AppKit configuration code and project id.


feat: Updated UnauthorizedAPICalls pattern to pass CIS v1.2.0

Description

According to the documentation of CIS AWS Foundations Benchmark v1.2.0 the pattern for UnauthorizedAPICalls should be {($.errorCode="*UnauthorizedOperation") || ($.errorCode="AccessDenied*")}. As of today it also validates the sourceIP and the eventName, leading to the check of CIS 3.1 to fail.
Motivation and Context

Merging this change will make the module compliant with the documentation of the CIS AWS Foundations Benchmark v1.2.0.
Breaking Changes

No breaking changes. Those users that still want to check for sourceIP and eventName can do so by utilising the control_overrides.
How Has This Been Tested?

[x] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[x] I have tested and validated these changes using one or more of the provided examples/* projects

[x] I have executed pre-commit run -a on my pull request

Hey @antonbabenko! 👋🏼
Do you have the time to give this a review? 😄

@bryantbiggs Do you have any idea what can be the reason and solution for failing CI runs (e.g. this)?
PS: It is hard to come back from vacation... LOL

Yes, it seems something changed recently on GitHub's side. https://github.com/terraform-aws-modules/terraform-aws-rds/pull/467#discussion_r1059765727
I'll update the workflows today but that PR has the "fix" to avoid this rate limiting

@dev-slatto Please update this PR with the change Bryant mentioned and we will be good to go with this PR.
Thank you!

Ofc! Done @antonbabenko 😉

This PR is included in version 4.1.0 :tada: