[bug] Client x-request-id Mangled by RequestIdExtension::setTraceStatus

Description
When providing an x-request-id header in the request (rather than have it injected by Envoy), a UUID has its 14th byte modified. This results in a different UUID than provided by the caller, breaking the x-request-id passed along a call chain.
At a cursory glance, I believe the code is here:
request_id_extension_uuid_impl.cc
void UUIDRequestIDExtension::setTraceStatus(RequestHeaderMap& request_headers, TraceStatus status) {
  if (request_headers.RequestId() == nullptr) {
    return;
  }
  absl::string_view uuid_view = request_headers.getRequestIdValue();
  if (uuid_view.length() != Runtime::RandomGeneratorImpl::UUID_LENGTH) {
    return;
  }
  std::string uuid(uuid_view);

  switch (status) {
  case TraceStatus::Forced:
    uuid[TRACE_BYTE_POSITION] = TRACE_FORCED;
    break;
  case TraceStatus::Client:
    uuid[TRACE_BYTE_POSITION] = TRACE_CLIENT;
    break;
  case TraceStatus::Sampled:
    uuid[TRACE_BYTE_POSITION] = TRACE_SAMPLED;
    break;
  case TraceStatus::NoTrace:
    uuid[TRACE_BYTE_POSITION] = NO_TRACE;
    break;
  }
  request_headers.setRequestId(uuid);
}

This code doesn't distinguish either:

UUID vs non-UUID string (of length 36)
UUID generated internally vs provided in original request

Illustrative flow:

Request created by client, with 'x-request-id' header containing value 'aaaaaaaa-bbbb-4ccc-dddd-eeeeeeeeeeee'
Request is received by Envoy, which sets Tracing Status on the 14th byte
Request now has 'x-request-id' header containing value 'aaaaaaaa-bbbb-9ccc-dddd-eeeeeeeeeeee' (or 'bccc', 'eccc')

Ask
Ideally, setTraceStatus() should only update trace status on valid UUIDs generated by Envoy itself, and should not update values provided/retained from caller.
Config
Seems to occur either naturally (when request is deemed to be x-request-internal) or when using the 'preserve_external_request_id' connection manager flag.
References
I believe it caused the behaviour seen #https://github.com/envoyproxy/envoy/issues/6050
Examples/Reproduce
Used with lds.yaml:
          - name: envoy.http_connection_manager
            typed_config:
              "@type": type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager
              server_name: 'example'
              server_header_transformation: PASS_THROUGH
              generate_request_id: true
              preserve_external_request_id: true

Example - Request populated 'x-request-id', len != 36
curl -v -H "x-request-id: chris-request-id" https://echotest
> GET / HTTP/1.1
> Host: echotest
> User-Agent: curl/7.64.1
> Accept: */*
> x-request-id: chris-request-id
>
< HTTP/1.1 200 OK
< server: openresty/<IP_ADDRESS>
< date: Wed, 10 Jun 2020 00:19:18 GMT
< content-type: text/plain
< x-envoy-upstream-service-time: 0
< transfer-encoding: chunked
<
GET / HTTP/1.1
host: echotest
user-agent: curl/7.64.1
accept: */*
x-request-id: chris-request-id
x-forwarded-proto: https
x-envoy-expected-rq-timeout-ms: 30000
x-b3-traceid: 2157a3a019156213
x-b3-spanid: 89a206d07d499cda
x-b3-parentspanid: 2157a3a019156213
x-b3-sampled: 0
content-length: 0

Example - Request populated 'x-request-id, UUID with 14th byte == 4 (no trace)
curl -v -H "x-request-id: b6aa0744-49e1-4f5d-b5a8-750aaaf6c205" https://echotest
> GET / HTTP/1.1
> Host: echotest
> User-Agent: curl/7.64.1
> Accept: */*
> x-request-id: b6aa0744-49e1-4f5d-b5a8-750aaaf6c205
>
< HTTP/1.1 200 OK
< server: openresty/<IP_ADDRESS>
< date: Wed, 10 Jun 2020 00:12:49 GMT
< content-type: text/plain
< x-envoy-upstream-service-time: 0
< transfer-encoding: chunked
<
GET / HTTP/1.1
host: echotest
user-agent: curl/7.64.1
accept: */*
x-request-id: b6aa0744-49e1-9f5d-b5a8-750aaaf6c205
x-forwarded-proto: https
x-envoy-expected-rq-timeout-ms: 30000
x-b3-traceid: 9a837832ae4fac75
x-b3-spanid: f4468cd7b2b7db97
x-b3-parentspanid: 9a837832ae4fac75
x-b3-sampled: 1
content-length: 0

(extraneous -v fields removed)

I think this is responsible for the crashes of our service with ring_hash balancer.
E1016 11:19:45.808599731      19 call.cc:912]                validate_metadata: {"created":"@1602847185.808584663","description":"Illegal header value","file":"external/com_github_grpc_grpc/src/core/lib/surface/validate_metadata.cc","file_line":44,"offset":56,"raw_bytes":"36 37 36 38 33 61 34 34 36 35 36 35 37 30 34 33 36 66 36 34 36 35 34 31 34 39 33 61 36 35 36 33 36 63 36 39 37 30 37 33 36 35 32 64 37 30 36 63 37 35 36 37 36 39 36 65 a5 '67683a44656570436f646541493a65636c697073652d706c7567696e.'\u0000"}
E1016 11:19:45.808619606      19 call_op_set.h:947]          assertion failed: false

Any workaround?

@mattklein123 @euroelessar +1 on the opt out config option.
Would it be possible to include this on the up coming release for envoy ? We are kind of in a situation where we are moving away from our existing edge router to Envoy and apparently there are business tools that are breaking due to the value being altered.
preserve_external_request_id even when set true does not seem to prevent the modification of the header value. The 14th byte on the UUID changes no mater what ..

I would be very happy to have a different built-in implementation which does something more basic, since this comes up quite often, but someone will have to implement it. @euroelessar if your internal impl is this basic thing perhaps you can just upstream it?

Sounds good, let me have a look at it

I have created this issue a while ago pointing the same problem: https://github.com/envoyproxy/envoy/issues/13774
I guess I can close that one if you're moving forward with this one here now.
It will be much better for me (and probably more people) than creating a C++ extension for this.

Hey @euroelessar, wanted to know if you have been able to make progress on a fix for this?

I would also argue for not modifying x-b3-traceid, when it is provided by clients. When traces are stored in the same place across multiple systems, this breaks trace analysis tools - they group spans by x-b3-traceid, and that header's value changes for requests which should belong to the same trace.

Hey @euroelessar @mattklein123 is this something that we can expect in the upcoming release ? we are trying to plan our course of action, would appreciate any update.

I don't think anyone is working on this currently. I will try to get this done since it's a frequent request.

Just wanted to note that at least some tracing implementations do their own sampling decision propagation, e.g. in Lightstep.

For everyone watching this issue I'm going to fix this, but I'm trying to sort through some details. First, the request ID header mangling is behind this guard AFAICT: https://github.com/envoyproxy/envoy/blob/ea39e3cba652bcc4b11bb0d5c62b017e584d2e5a/source/common/http/conn_manager_utility.cc#L261-L263
So AFAICT no mangling will occur unless the user configures the tracing field in the HTTP connection manager configuration.
So I assume everyone hitting this issue wants to use tracing orthogonally to request ID generation. Is that right? Or am I misunderstanding how the mangling is occurring?
Assuming the real issue is people want to use tracing separate from request ID generation my suggestion is to do the following:

Have an out of box request ID extension that generates UUIDs but never stores/retrieves any trace status in them. So basically the same as UUIDRequestIDExtension but getTraceStatus() and setTraceStatus() are NOP.
If tracing is configured, store the trace decision outside of the request ID header so it can be passed to the external tracing providers that support them. As @ikonst says some providers manage their own sampling once the initial span is created, so sampling would still work in those cases. For those currently relying on sampling decisions being propagated inside the request ID header this would no longer work and only unstable sampling would be possible.

Let me know what folks think about this as I want to make sure we are solving the right problem here.

Hey @mattklein123, thanks for help on this.
Yes, we are using tracing, I have this old issue about the same problem, but I closed in favour of this one, you can check a simplified version of our use case there: https://github.com/envoyproxy/envoy/issues/13774
What we were considering was to have something along the lines of your option 2, we were just initially thinking if this option shouldn't be provided by Envoy (maybe shipping this Extension embedded and let us choose to use it).
Or we could rework this UUIDRequestIDExtension to work with any configured header, by default it would be x-request-id and we could override it via config.
If you decide not to ship this within Envoy, we would actually start looking into the possibility of creating our own Extension with the same idea stated above.
In a few cases the x-request-id is provided externally and we must return it as it came, untouched.
Today what we do is to revert the byte back from 9 to 4 using a envoy_on_response Lua filter, this solves most of the problems, but if anyone calls with other version than 4, we would return the byte version as 4 😅 .
I hope this provides some more clarity

Hi @mattklein123, thanks for working on this one.
What you describe would solve our problem with the current things.
We are using x-request-id completely unrelated to tracing and we rely on it being unchanged (since we are relaying it back in the response chain and expect no change to happen).
Orthogonally, we'd like to use tracing, but using b3-headers for that.

Or we could rework this UUIDRequestIDExtension to work with any configured header, by default it would be x-request-id and we could override it via config.

Yes, this is my plan. I'm going to allow configuration to be passed to the built in UUID request ID extension. Initially I will just add configuration to disable trace status packing, but eventually we could also allow the header name itself to be configured. I think this will satisfy all of the problems that are being reported here.

I posted https://github.com/envoyproxy/envoy/pull/15248 which should fix this if anyone wants to take a look while it winds its way through code review.

Hi @mattklein123, just to confirm based on the newly created doc: https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/request_id/uuid/v3/uuid.proto#envoy-v3-api-msg-extensions-request-id-uuid-v3-uuidrequestidconfig
So I would be able to just use:
typed_config:
  "@type": type.googleapis.com/envoy.extensions.request_id.uuid.v3.UuidRequestIdConfig
  pack_trace_reason: false

And I will still get 100% sampling (but without header mutation) because of the random_sampling property (which is 100% by default)?

@Brunomachadob yes that's correct. Let me know if it doesn't work for you.

@Brunomachadob yes that's correct. Let me know if it doesn't work for you.

Yes, this is will work for me.
Thanks for the help!

@mattklein123,
Do you have a full example EnvoyFilter that would set pack_trace_reason: false? We think this is set but still seeing the 14th nibble being changed.
Thanks!

@ssubramanian123


Create basic discord bot

This should be a simple discord bot with any random command

ALTR Guild/Server ID:<PHONE_NUMBER>254227476


Remove dependency on Hosting

https://github.com/aspnet/Hosting/issues/172

We can't do this until IHttpContextAccessor moves to interfaces. /cc @HaoK

Yep, that's why it references that bug :smile:

This is done

c6a1af97b0fffaf04ddf04018e3689a54bbd33e8

Note we now have a dependency on M.F.Logging that should be M.F.Logging.Interfaces @kichalla will have to clean this up as part of logging work, because we use some classes in logging currently.


Getting not a generic errors...

I am follwoing the docs and yet getting:
node_modules/ng2-redux/lib/components/ng-redux.d.ts(39,29): error TS2315: Type 'Reducer' is not generic.

import {
applyMiddleware,
Store,
combineReducers,
compose,
createStore
} from 'redux';
import {
NgReduxModule,
NgRedux
} from "ng2-redux";

node_modules/ng2-redux/lib/components/ng-redux.d.ts(39,128): error TS2305: Module 'Redux' has no exported member 'StoreEnhancer'.

node_modules/ng2-redux/lib/components/ng-redux.d.ts(50,25): error TS2315: Type 'Store' is not generic.
node_modules/ng2-redux/lib/components/ng-redux.d.ts(67,54): error TS2315: Type 'Dispatch' is not generic.
node_modules/ng2-redux/lib/components/ng-redux.d.ts(67,84): error TS2305: Module 'Redux' has no exported member 'ActionCreatorsMapObject'.
node_modules/ng2-redux/lib/components/ng-redux.d.ts(67,110): error TS2315: Type 'ActionCreator' is not generic.
node_modules/ng2-redux/lib/components/ng-redux.d.ts(97,90): error TS2305: Module 'Redux' has no exported member 'Unsubscribe'.
node_modules/ng2-redux/lib/components/ng-redux.d.ts(109,48): error TS2305: Module 'Redux' has no exported member 'Unsubscribe'.
node_modules/ng2-redux/lib/components/ng-redux.d.ts(119,35): error TS2315: Type 'Reducer' is not generic.
node_modules/ng2-redux/lib/components/ng-redux.d.ts(123,32): error TS2305: Module 'Redux' has no exported member 'Action'.

errors...
regards
Sean

Are you able to link to a github repo where the problem is happening? Looks like there may be some kind of conflict with your typings.

I ended up cleaning all modules and re-installed, good now!
closing, tx for the reply!


Ignore Email Signature Contents

Our business has email signatures which contain a request to the recipient if they received an email in error.
Insights is generating a task for every email we send as it picking it up as an outstanding task.
Offending text: "Please notify the sender by return email or telephone on *********** to advise the error"

@blackdog308 - Which app are you seeing the tasks in? If you aren't sure, please send me a screenshot of the tasks. Thanks so much for your feedback!


Assignment - Shell

Complete assignment
What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
Using bash skills to find secret password
use $ git pull to important directories from GitHub.com
use $ cd to navigate among different directories
use $ ls to list the content of the directory
use $ cat to show the content of the file(s)
use options like -R for $ ls -R to list all the files in each directories
use symbol like * for $ cat * to show the content of all files in the directory
make use of symbol like ~ to indicate home directory
What did you learn from the changes you have made?
Using bash skill to navigating among directories and show the content of interest
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
I am thinking of any other bash skills that may make the search even more efficient. I go online to look for more advanced bash skills.
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
Finding applicable/ suitable bash code. Overcome by trial and error
How were these changes tested?
Compare the search result with manual search at explorer
A reference to a related issue in your repository (if applicable)
@mentions of the person or team responsible for reviewing proposed changes (At least 2 people)

Checklist

[ V] I can confirm that my changes are working as intended

Official answer: Paper Rings 10 Meets Past Lucky Star

Why isn't the fifth word of 'Space Wars: Future Legends and Past Legacies' be 'and' instead of 'past'?


benchmark/subsamplers: improvements + fixes

TODO: standardize subsamplers interface

[ ] clipping subsampler needs to take streams{list: bytes}
[ ] other subsamplers need to takes streams + optional (None) metadata
[ ] update workers to reflect these changes
[ ] extensive testing

then it should all just work


Get the view of the floating action menu

Hello :)
First of all I want to give you a big thanks for this library.
I want to get the view of the floating action menu's icon. Not to the whole view, just the floating action menu's view.
Can I do it somehow ?

Not sure I understand what you're talking about...
getMenuIconView() will return you the ImageView that is used inside the FloatingActionMenu's button. Is that what you're asking for?

Oh thanks ;)
Not this is what I looking for, but it is also good... ;)
Thank you ;)


HLS work but its freeze the screen for few seconds

Hi, I have been using this library for couple years, everything great, but one small thing that I got HLS working on both iOS and Android.
On Android everything works just fine, but on iOS every time switching track (HLS) the screen will be freeze for 2 or 3 seconds then player starting to play normally. i can't touch scroll or do anything, even the animation running on screen get freeze too. This bug had been there for 2 or 3 years i dont remember. Any workaround?
Thanks so much

@ninacoder-info are you able to provide an example project we can use to test and see the issue?

@ninacoder-info also, can you please let us know what version of the library you're on?

We'll need more info to fix this. I'm going to close this issue but will reopen if we get a response.

Hi, I'm using "react-native-track-player": "^2.1.3",

@ninacoder-info that doesn't seem to be a valid HLS stream from what I can tell. I simply tried playing it with HLSPlayer.org with no success. I expected a .m3u8 extension so I tried a few variants of the URL you provided:

https://musicengine.top/stream/hls/49/hd
https://musicengine.top/stream/hls/49/hd.m3u8
https://musicengine.top/stream/hls/49/hd/index.m3u8

Are you sure the problem isn't your HLS stream itself?

Hi, even if is my HLS link problem, the app should not be freeze right, it's just a stream link, it should return error or something if not able to play. But the stream link play well, just freeze the whole app for few seconds.

Actually update, I just successfully played the URL you sent in the example app. I did have to hit the play button twice however, not sure why that happened.

Hi, I will record a short email to prove it. But it's only happened on iOS, not android
Thank you

It was working for me on iOS in the example project. Please try it there

Facing the same issue here.
https://user-images.githubusercontent.com/57192409/187357889-2253b140-427f-46e0-b51c-e42c8748d2c5.mov

What version are you using? Is this iOS or android? Did you specify the type property on the track? And if it's pre-version 3.0 did you specify build options?

It happens on IOS. I'm also using version "3.1.0". and here are the track properties:
 { 			id: audio.id, 			url: audio.audio_file_details, 			artist: content.coach.name, 			artwork: content.main_image_details.url, 			pitchAlgorithm: PitchAlgorithm.Voice, 			title: content.name, 			description: content.description ? content.description : undefined, 			type: TrackType.HLS, 		}

Can you replicate the issue with the track included in the example project?

Sorry for the delay in the response.
I can confirm that the issue is resolved in the v4.0
Nice job 🚀

I can confirm too, was facing the issue in the alpha version of v4 but after moving on v4.0.1 is resolved.


Issue with welcome example

This is tested on osx with a broken pygame I suppose but this looks like a bug in the example:
$ PYTHONPATH=. python examples/welcome.py -d pygame
2016-12-15 18:53:40.032 python[6853:306148] 18:53:40.032 WARNING:  140: This application, or a library it uses, is using the deprecated Carbon Component Manager for hosting Audio Units. Support for this will be removed in a future release. Also, this makes the host incompatible with version 3 audio units. Please transition to the API's in AudioComponent.h.
Traceback (most recent call last):
  File "examples/welcome.py", line 188, in <module>
    main()
  File "examples/welcome.py", line 162, in main
    for welcome_a, welcome_b in pairs(infinite_shuffle(welcome)):
  File "examples/welcome.py", line 107, in pairs
    last = generator.next()
AttributeError: 'generator' object has no attribute 'next'

Also happens with capture:
$ PYTHONPATH=. python examples/welcome.py -d capture


Pre-push does not work on Windows

I was tinkering around on a Windows VM and it seems that black does not work on Windows because it cannot use *.py wildcards. A good solution would be to remove the *.py argument directly, as black still behaves without it.

Closing as fixing the black argument signature stopped the error


Data Science with Python : LSTM Artificial Neural Networks

Welcome to 'DSWP' Team, good to see you here
With this issue, readers will get introduced with core information to LSTM Artificial Neural Networks completely in a effective way.
To get assigned to this issue, add your serial numbers mentioned in the spreadsheet of "Data Science with Python", the approach one would follow and choice you prefer (Documentation, Audio, Video). You can go with all three or any number of options you're interested to work on.
If you had referred any resources, add them up in "DS Resources". Similarly if you had used datasets, include them in "DS Datasets".
Domain : Artificial Intelligence
Mentors Assigned : Nithin / Dhruv Bajaj
Points to Note :
The issues will be assigned on a first come first serve basis, 1 Issue == 1 PR.
"Issue Title" and "PR Title should be the same. Include issue number along with it.
Changes should be made inside the Datascience_With_Python/ directory & Datascience_With_Python branch.
Follow Contributing Guidelines & Code of Conduct before start Contributing.
This issue is only for 'GWOC' contributors of 'DSWP' domain.
All the best. Enjoy your open source journey ahead. 😎

Sarna
serial no :614
type : audio
@prathimacode-hub  mam can i work on this?

This is created on contributor's request. If not claimed by the time, it will be assigned to next on queue. @ron352

Ok mam

Good evening ma'am,  I would like to work on "LSTM Artificial Neural Network" for documentation
Name: Aswini Kalyan
Serial Number: 406
Batch: 11
Type: Documentation
Approach:
-Introduction
-Variations
-Model training on stock price as example
-Applications
Github: https://github.com/aswinikalyan30

Issue assigned to @aswinikalyan30 for documentation

@prathimacode-hub mam is its audio section is still on?
Can I work on that?

Yes, it's available. Issue assigned to @ron352 for audio contribution

@prathimacode-hub , Mam
I am M. Ashish Reddy. I would like to do video on this issue.
Batch number: 5
serial number:174.
Approach: A detailed explanation with examples and real life uses

Issue assigned to @ashish-reddy-20-08 for video contribution

Hello, I am Deepthi M with serial number:172, Batch-5. I would like to do audio on this issue.
My approach: a detailed explanation

Issue assigned to @deepthi1107 for audio contribution


Updated the First graph to get accurate results

I am making changes to the first Bar Graph to show the Correct Highest number of released movies in which year and am improving the overall readability of the graph by adding a heading changing the year extracted from the timestamp to show just the years and customising the labels as well.

This is what it is looking now


Model download hangs

When I try to download a layout model, at some point of the download (usually around 20 %), the download speed goes from 5 mb/s to close to zero. Then at some point the download stops and gives "connection reset by peer" error. What
could be the reason for this?
To Reproduce
Steps to reproduce the behavior:

What command or script did you run?

model = lp.Detectron2LayoutModel('lp://PubLayNet/faster_rcnn_R_50_FPN_3x/config',
                                 extra_config=["MODEL.ROI_HEADS.SCORE_THRESH_TEST", 0.8],
                                 label_map={0: "Text", 1: "Title", 2: "List", 3:"Table", 4:"Figure"})

Environment

Please describe your Platform [Windows/MacOS/Linux]: Mac
Please show the Layout Parser version: 0.2.0

I have the same issue which blocks me to use layout-parser.

I also have the same issue (Detectron2). only paddle model can download.


Auto Generate custom field

Currently flavourizr auto generates title method in flavour.dart file. Is there a way to auto generate other custom defined methods.

Duplicate of https://github.com/AngeloAvv/flutter_flavorizr/issues/173


Add documentation for using \copy for faster data ingest

Any thoughts on adding a section in the documentation (maybe for "advanced users") for how to ingest data to pgstac using \copy?
I tried using pypgstac load, but for some reason it appeared to hang and after 24 hours I killed that process.
I saw that the existing load commands basically use copy through asyncpg:
https://github.com/stac-utils/pgstac/blob/8d85be7f26b0be0384140aed6d850d122a2a9947/pypgstac/pypgstac/load.py#L112-L119
So I figured it would be worth exploring using \copy directly through psql and seeing if that would be faster. The following steps worked for me, appearing to load 1.4 million Landsat STAC items (the same file as above) in about 30 minutes on my local Mac machine.

Added a volume to the docker-compose section to be able to copy in data
Connect to psql with docker exec -it stac-db psql -U username -d postgis
I think I just needed to run SET SEARCH_PATH TO pgstac, public; in psql. Not sure why but I needed to run the pgstac SQL definitions manually; they weren't automatically picked up by psql, \i /docker-entrypoint-initdb.d/001_core.sql, etc
Following roughly https://github.com/stac-utils/pgstac/blob/8d85be7f26b0be0384140aed6d850d122a2a9947/pypgstac/pypgstac/load.py#L133-L161

Create a temp table CREATE TEMP TABLE pgstactemp (content jsonb);
Copy data to the temp table from the volume (6 minutes) \copy pgstactemp FROM '/app/data/stac_items.jsonl';
Insert data into pgstac.items (14 minutes)INSERT INTO pgstac.items (content)
SELECT content FROM pgstactemp
ON CONFLICT DO NOTHING;

Recompute partitions (10 minutes) (SELECT backfill_partitions();)

@kylebarron Feel free to start a PR 🙏 (maybe after or on top of #47)


Clearing a bucket

I think buckets should implement a clear method. It would be useful for implementing log out in a mobile app.

Yes, I agree that would be useful. Probably with this signature:
clear(): Promise<void>;

I think we could add this to the abstract Bucket class and implement it in both standard buckets.


isbn-verifier: Enhance invalid characters test

Signed-off-by: Luiz Carvalho<EMAIL_ADDRESS>

Hello,
Thanks for the interest in contributing to the Go track!
Usually, the tests cases for practice exercises are centralized in the problem-specifications repo, so changes to the test cases should be suggested there and not on any specific language track. The idea is to have the test cases defined in one place so all tracks can then benefit from it.
I suggest opening a PR in the problem specifications repo with this change. In the PR, it is also a good idea to mention why you think this test case is important and what it is trying to test that it's not tested already by the other test cases. Taking a quick look at the test you added, I believe what you are trying to test is if a solution correctly checks the length of the input when it has an invalid character which makes the input an invalid ISBN, when it would otherwise be a valid one. I believe it might be a good idea to add this test indeed, but please open a PR in the problem spec repo. After being accepted there, we can import it here to the Go track.

@andrerfcsantos, thank you for the prompt feedback. As suggested, I created the following: https://github.com/exercism/problem-specifications/pull/1898.
What's the next step for this PR? I don't know if it's still needed.

Great, thanks!
I'll close this PR for now.


Merge code paths duplicated between HTTP/1.x and HTTP/2 implementations (#2017)

#2017
A note on naming
I'm intentionally not renaming things now, so they look a bit off. I'm planning on doing some renames after addressing feedback (see below).
Summary
This change makes Frame the base class for the HTTP/1.1 and HTTP/2 implementations.
The HTTP/1.x-specific code in Frame is in a subclass called Http1Frame (so now Frame<T> subclasses Http1Frame).
Http2Stream is a subclass of Frame.
Frame exposes a few more abstract properties and methods that must be implemented by protocol-specific classes.
Producing HTTP/1.1 and HTTP/2 output is done via the same interface (IHttpOutputProducer), which OutputProducer and Http2OutputProducer implement.
Things I'm not crazy about

Multiple .FeatureCollection.cs files. I think the ideal would be to have a single one (Frame.FeatureCollection.cs). It would implement HTTP/1.1 and HTTP/2-specific features (upgrade and stream ID, respectively), but those could be nulled out in OnReset() where they're not supposed to be implemented. What do you guys think?

The way Frame.Output is instantiated by each subclass.  What do you guys think of moving it to IHttpProtocolContext i.e. have it passed to Frame instead of instantiated by it?

Protected member variables. They were already there, but now they're uglier IMO because some are not accessed by a direct subclass of Frame (e.g. Frame<T> accesses Frame._applicationException).

Planned renames

Frame -> HttpProtocol (I wanted to name it HttpStream but @davidfowl didn't like that)
FrameAdapter -> Http1FrameAdapter
IFrameControl -> IHttpResponseControl
FrameRequestStream -> HttpRequestStream
FrameResponseStream -> HttpResponseStream
FrameRequestHeaders -> HttpRequestHeaders
FrameResponseHeaders -> HttpResponseHeaders
FrameConnection -> HttpConnection
OutputProducer -> Http1OutputProducer

I believe these would be better done as part of the Bedrock refactoring:

FrameConnectionManager -> ConnectionManager or HttpConnectionManager (if HTTP-specific)
FrameHeartbeatManager -> HeartbeatManager or HttpHeartbeatManager (if HTTP-specific)

Why don't you like multiple .FeatureCollection.cs files? You still removed the duplication, right?

If you want to replace Frame with Http in our types I would do it everywhere.

Why don't you like multiple .FeatureCollection.cs files? You still removed the duplication, right?

It's personal taste, really. If everyone is fine with it I'll leave it like that.

Updated list of planned renames (updates in bold):

Frame -> HttpProtocol
FrameAdapter -> Http1ParsingHandler (since it's now only used in parsing-related code)
IFrameControl -> IHttpResponseControl
FrameRequestStream -> HttpRequestStream
FrameResponseStream -> HttpResponseStream
FrameRequestHeaders -> HttpRequestHeaders
FrameResponseHeaders -> HttpResponseHeaders
FrameConnection -> HttpConnection
Http1Frame -> Http1Connection
OutputProducer -> Http1OutputProducer
FrameConnectionManager -> HttpConnectionManager
FrameHeartbeatManager -> HttpHeartbeatManager

A few more necessary renames that I had overlooked before:
FrameHeaders -> HttpHeaders
FrameDuplexStream -> HttpUpgradeStream
FrameConnectionReference -> HttpConnectionReference
FrameStreamState -> HttpStreamState
FrameContext -> Http1ConnectionContext

Commit b9cf5d80e8325115f39557456543b39815656605 does the renames.


Venv setup

use a virtual env for python dependencies

Many thanks for the contribution @alex-drocks! This feature is included in release 0.1.6 and staged to testnet at d568255b72bf6d8fae793f910dd05f61550176d7!


xds-protos 0.0.12 is not published to pypi.org

gRPC Team,
Recently #31064 has been fixed and new 0.0.12 version introduced. But I see only 0.0.11 on https://pypi.org/project/xds-protos/
Will be new xds-protos 0.0.12 pushed to the PyPi repository?

Duplicate of https://github.com/grpc/grpc/issues/31064


Misleading errors

When my bot was disabled (or removed/uninstalled) by Teams's admin, my bot received different error codes when posting to a private conversation and channel conversation:
POST https://smba.trafficmanager.net/emea/v3/conversations/[private conversation id]/activities
Response with HTTP 403 Forbiden
{
    "error": {
        "code": "TenantNoPermission",
        "message": "Tenant is disabled."
    }
}

POST https://smba.trafficmanager.net/emea/v3/conversations/[channel conversation id]/activities
Response with HTTP 502 Bad Gateway
{
    "error": {
        "code": "ServiceError",
        "message": "Internal server error"
    }
}

Is that an expected behaviour?

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

ID: c36ddb50-9e44-96e3-2df3-174166efa75d
Version Independent ID: 68ac4b64-6616-2216-3519-e0b33d3a53e4
Content: API reference - Bot Service
Content Source: articles/rest-api/bot-framework-rest-connector-api-reference.md
Service: bot-service
GitHub Login: @ivorb
Microsoft Alias: kamrani

@baole

The error 403 means that the bot is not allowed to perform the requested operation. Being the bot disabled/removed this is what to expect in the private scenario, as matter of  a fact the error you get says: "tenant is disabled".
The error 502 means that one server received an invalid response from another server. You are trying to connect to the bot via a channel. Because the bot is not "reachable"  you get a server to server communication error. This error is what to expect in this scenario.

See also HTTP status codes.

@mmiele  error 502 is not documented.
I understood your explaination. However, the error code and error message doesn't make sense in this case in the bot perspective. i.e "Internal server error" is something that the bot should retry, but in this case, it shouldn't because the bot was removed from the channel. More specific error code/error message could be helpful.

@baole It seems that the problem you are having is with error 502, while your are OK with 403 correct? You are asking for a better explanation of error 502. Do I understand correctly? Thanks

@mmiele  as the title suggests, the error 502 is misleading.

Every channel that connects to a bot has its own way to handle errors. The table in HTTP status codes gives an overview of the main errors.  In your case, for specific information about error 502, you may want pose your question in Microsoft Teams Developer Community channels.


Is it possible to show certain height at init, then show it full on user swipe up?

Is it possible to show certain height at init, maybe 1/3 or defined init height, then show 100% height on modal swipe up?

Hi!
I'm closing this issue because it's a question and not a bug report. Please don't take it personally, I'm just trying to make it easier to maintain this project by separating questions from bug reports 🙏.
If you're still looking for feedback/answers, could you please ask your question in a new discussion?
Thank you!


Adds step to db:reseed that adds the uuid extension if it's not present

Issue
CityOfDetroit/affordable-housing-app#83
Addresses # (issue)

[x] This change addresses the issue in full
[ ] This change addresses only certain aspects of the issue
[ ] This change is a dependency for another issue
[ ] This change has a dependency from another issue

Description
This adds a step to db:reseed that adds the uuid-ossp extension to the database automatically, if it's not present
Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Prototype/POC (not to merge)
[ ] This change is a refactor/address technical debt
[ ] This change requires a documentation update
[ ] This change requires a SQL Script

How Can This Be Tested/Reviewed?
Please describe the tests that you ran to verify your changes. Provide instructions so we can review. Please also list any relevant details for your test configuration

Run db:reseed on linux and mac machines

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have reviewed the changes in a desktop view
[ ] I have reviewed the changes in a mobile view
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules
[x] I have assigned reviewers
[ ] I have updated the changelog to include a description of my changes

Do you get some kind of error currently if uuid-ossp is not present?

Yeah, in the issue I noted I'm getting
Error during migration run:
QueryFailedError: function uuid_generate_v4() does not exist

cause it can't generate unique ids

Yeah, in the issue I noted I'm getting
Error during migration run:
QueryFailedError: function uuid_generate_v4() does not exist

cause it can't generate unique ids

Got it -- thanks!


kie-issues#259: 'Duplicate' operation just for DecisionTable and Rela…

This is follow-up PR for #1652 .
We found out, 'Duplicate' operation as not suitable for expressions, where rows consists of complex expressions, other than literal cells.

I suggest binding this PR with this ticket https://github.com/kiegroup/kie-issues/issues/346.

@jomarko @tiagobento The changes of this PR are now part of https://github.com/kiegroup/kie-tools/pull/1761. We can close this and related ticket.


Error code: ENOTFOUND

Hey there - I am running Umbrel and after the update to LND 0.15.5 , my Terminal app (and all LNC connections) fail.
"Session Not Found. Failed to connect the WASM client to the proxy server. Try reloading the page or obtaining a new pairing phrase."
Appreciate any guidance - given I want to avoid risk of locking the funds in the Pool Account.
thx

When I ran docker ps I don't see the lightninglabs/lightning-terminal ID at all.
Could it have been removed after the LND update?

The first thing would be to ensure that lightninglabs/lightning-terminal is up and running. If it is not, start the container/app.
You should then be able to connect to terminal locally (by default uses the port 8443). If after this you cannot still connect, try creating a new session.

thanks a lot for the quick reply! a simple restart fixed it :)
looks like it was a simple after-update hiccup. please close this issue.
~/umbrel/scripts/app restart lightning-terminal


[BUG] - Align decimal formats of Current Index on APP

Describe the Bug
Align decimal formats of 'Current Index' on https://app.olympusdao.finance. Decimals vary between 1 and 2 decimals, standardize across APP to display 2 decimals for 'Current Index'
To Reproduce
Steps to reproduce the behavior:
Dashboard Page: https://app.olympusdao.finance/#/dashboard
Example: Current Index: 86.90 sOHM (contains 2 decimals) - GOOD
Stake Page: https://app.olympusdao.finance/#/stake
Example: Current Index: 86.9 sOHM (contains 1 decimal) - TO FIX
Wrap Page: https://app.olympusdao.finance/#/wrap
Example: Current Index: 86.9 sOHM (contains 1 decimal) - TO FIX
Expected Behavior
Align the Current Index view across the APP site.
Screenshots
Dashboard Page:

Stake Page:

Wrap Page:

Thanks )

Stake page: Fixed as of #1401 and will go live once develop is merged to master.
Wrap page: Fixed in draft PR #1515

Thx @sam-potter, when will the fix in the draft PR, https://github.com/OlympusDAO/olympus-frontend/pull/1515, be actioned?

@gord0b there's a few blockers in the way, but #1515 should hopefully merged in a week or two.

Stake page: Fixed as of #1401 and will go live once develop is merged to master.
Wrap page: Fixed in draft PR #1515

@appleseed-iii @sam-potter I'm going through open bugs and trying to clean up.
This one is marked as closed by PR #1515 which has been pending for 15 days. What is needed to unblock, merge and close?

@ivelin #1515 should be merged in a few hours

@ivelin #1515 should be merged in a few hours

Hi @sam-potter just doing some housekeeping. Are there any blockers for the merge?

@ivelin - Just pending a review from @appleseed-iii

@appleseed-iii bump ^^^


Fix for 0 hour ban expiration display bug

Players have been asking about a discrepancy where the ban duration displayed as 0 hours. To solve this, I've added a minute unit. The issue came up when the ban was set to be revoked within an hour.
Before:

After:

Thanks for the PR.
Should we also add largest: 2 to not show too many numbers?

I got these sample outputs with the use of the largest: 2 param from a small test script I made:

Without the parameter, it would look like this:

I am fine with both, so the decision is up to you.

Thanks again for the PR!


vimPlugins.vim-alias: init at 2021-06-23

Motivation for this change
Add https://github.com/Konfekt/vim-alias
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes

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

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 127899 at cf496ea5 run on x86_64-linux 1

3 packages built successfully:

spacevim
tests.vim.test_vim_with_vim_nix
vimPlugins.vim-alias

2 suggestions:

warning: missing-phase-hooks
buildPhase should probably contain runHook preBuild and runHook postBuild.
Near pkgs/misc/vim-plugins/build-vim-plugin.nix:28:14:
   |
28 |       inherit unpackPhase configurePhase buildPhase addonInfo preInstall postInstall;
   |              ^

warning: missing-phase-hooks
configurePhase should probably contain runHook preConfigure and runHook postConfigure.
Near pkgs/misc/vim-plugins/build-vim-plugin.nix:28:14:
   |
28 |       inherit unpackPhase configurePhase buildPhase addonInfo preInstall postInstall;
   |              ^


i found another xss vul about admin_player.php (播放器管理)

http://<IP_ADDRESS>:30001/joyplus-cms-master/joyplus-cms/manager/index.php

click ‘系统管理’ (system manage) then click '添加' (add)

click '保存' (save) then refresh the page

emmm 举一反三

国光表哥666


Make tests works on Windows

replaces #214
except changes in PHP CS Fixer config and appveyor config (which we cannot easy enabled without access to appveyor service itself, as we are not owners of repo)

@localheinz  as you actually offer help and start sending PRs instead of only moaning, could you please take a look here?

@keradus
Absolutely, taking a look now!

On one hand, this looks good to me, but on the other hand, I haven't been working with Windows for 7 years, hehe!

yet, there are apps that are working on Windows, and as it has to be different, the apps makes special paths for them. Since PHP Coveralls is suppose to report that collected paths, it's nice to have possibility to report those paths not only on unix

Current status. I'm trying to execute this on Travis + AppVeyor
ref: https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/2965
reported by Travis: https://coveralls.io/jobs/28298329  reporting 77.46% coverage
reported by AppVeyor: https://coveralls.io/jobs/28298268  reporting 77.4% coverage
This allows me to claim that this PR indeed allows php-coveralls to be executed under Windows.

github status for coveralls links to https://coveralls.io/builds/12732658 , yet only Travis is visible under that link.
final part would be to have AppVeyor visible under same coveralls build

I got no answer from coveralls.io how to unify reports form multiple sources.
we need to add some build delta param to handle this case.

Changes Unknown when pulling 775e3940ca654f890ed0157a7135bccdc1e54afb on keradus:win into ** on php-coveralls:master**.

Changes Unknown when pulling 775e3940ca654f890ed0157a7135bccdc1e54afb on keradus:win into ** on php-coveralls:master**.

Changes Unknown when pulling 775e3940ca654f890ed0157a7135bccdc1e54afb on keradus:win into ** on php-coveralls:master**.

php bin\coveralls -v --exclude-no-stmt
Load coverage clover log:
  - C:\projects\php-coveralls\build/logs\clover.xml
Found 23 source files:
  - 100.00% src\Satooshi\Bundle\CoverallsBundle\Api\CoverallsApi.php
  - 100.00% src\Satooshi\Bundle\CoverallsBundle\Api\Jobs.php
  -  81.97% src\Satooshi\Bundle\CoverallsBundle\Collector\CiEnvVarsCollector.php
  - 100.00% src\Satooshi\Bundle\CoverallsBundle\Collector\CloverXmlCoverageCollector.php
  - 100.00% src\Satooshi\Bundle\CoverallsBundle\Collector\GitInfoCollector.php
  - 100.00% src\Satooshi\Bundle\CoverallsBundle\Command\CoverallsJobsCommand.php
  - 100.00% src\Satooshi\Bundle\CoverallsBundle\Config\Configuration.php
  - 100.00% src\Satooshi\Bundle\CoverallsBundle\Config\Configurator.php
  - 100.00% src\Satooshi\Bundle\CoverallsBundle\Config\CoverallsConfiguration.php
  - 100.00% src\Satooshi\Bundle\CoverallsBundle\Console\Application.php
  - 100.00% src\Satooshi\Bundle\CoverallsBundle\Entity\Coveralls.php
  - 100.00% src\Satooshi\Bundle\CoverallsBundle\Entity\Exception\RequirementsNotSatisfiedException.php
  - 100.00% src\Satooshi\Bundle\CoverallsBundle\Entity\Git\Commit.php
  - 100.00% src\Satooshi\Bundle\CoverallsBundle\Entity\Git\Git.php
  - 100.00% src\Satooshi\Bundle\CoverallsBundle\Entity\Git\Remote.php
  -  98.75% src\Satooshi\Bundle\CoverallsBundle\Entity\JsonFile.php
  - 100.00% src\Satooshi\Bundle\CoverallsBundle\Entity\Metrics.php
  - 100.00% src\Satooshi\Bundle\CoverallsBundle\Entity\SourceFile.php
  -  98.72% src\Satooshi\Bundle\CoverallsBundle\Repository\JobsRepository.php
  -  96.67% src\Satooshi\Component\File\Path.php
  - 100.00% src\Satooshi\Component\Log\ConsoleLogger.php
  - 100.00% src\Satooshi\Component\System\Git\GitCommand.php
  - 100.00% src\Satooshi\Component\System\SystemCommand.php
Coverage:  97.90% (653/667)

yet AppVeyor needs some love:

cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)


Stable organizational/institutional IDs

During the next phase of development, we would benefit from using stable, open identifiers for institutional and organizational entities—something that roughly parallels ORCIDs for individual researchers.
We should consider using ISNI numbers, which are linked to ORCIDs and can be acquired through GRID or Ringgold, as described here:
https://support.orcid.org/knowledgebase/articles/276884-how-are-organizations-identified-in-orcid
https://grid.ac
http://www.ringgold.com/ISNI-numbers-available-in-Identify-Database
Wikidata IDs, which also provide stable links to any organization with a Wikipedia page, are another option (not necessarily mutually exclusive?).

A new field that could surely be entered on the endorsement form - https://github.com/gbif/portal16/issues/81

There is also "The Global Registry of Biodiversity Repositories (GRBio)" http://grbio.org Some of these identifiers already appear in GBIF records. GrBio identifies institutions and physical collections (and the mapping between physical and digital is often messy). It would seem an obvious thing to build a mapping between GrBio, GBIF, Wikidata and ISNI so that we can talk about institutions and collections in a consistent manner. It would make a nice little hackathon topic...

GRBio identifiers also appear in dataset metadata (see screenshot below). Assuming GRBio was the defacto registry for physical collections (digitized and undigitized), GBIF dataset pages can link to more detailed descriptions of the physical collections' contents. Currently GRBio appears not able to store some needed information such as storage unit quantities and their contents in a machine readable format versus freetext, something @siro1 and I have been discussing recently.
In any case, the IPT could do a better job promoting users enter GRBio identifiers though - see https://github.com/gbif/ipt/issues/1314

Don't forget, too, that there's the CrossRef system for funding sources, too.
On a related note, we should sort out whether OpenAIRE provides a useful existing framework for these links, too.


[5.5][Refactoring] When adding an async alternative refactor the old method to call the async method using detach

Cherry-picks https://github.com/apple/swift/pull/37185 to 5.5.

Instead of leaving two copies of the same implementation, rewrite the old method with the completion handler to call the newly added async method.
Also add a tool %refactor-check-compiles which is a drop-in replacement for %refactor and verifies that the refactored code actually compiles.
Resolves rdar://74464833

@swift-ci Please test

Build failed
Swift Test OS X Platform
Git Sha - 2878ab43ec056208b48d768cdccfb0b5f5471a15

Build failed
Swift Test Linux Platform
Git Sha - 2878ab43ec056208b48d768cdccfb0b5f5471a15

@swift-ci Please test

Build failed
Swift Test OS X Platform
Git Sha - fc233390f097b81941c6d83d1f56068045f131c7

@swift-ci Please test macOS


Export-VcCertificate Command Failre

Environment - Production
Full Operating System:
VenafiPS version: 6.5.0
PowerShell version: 5.1
TLSPDC version (if applicable): unsure

Steps to reproduce
Run Below Command:
Export-VcCertificate -ID $certificateId -PrivateKeyPassword $CertPassword -OutPath $TargetDirectory -PKCS12
It used to export the PKCS12 file until now. But in the latest version of VenafiPS, it fails with below error:
"Export-VcCertificate : Cannot validate argument on parameter 'PrivateKeyPassword'. Exporting private keys is
only supported on PowerShell v7.0+"
Expected behavior
Export the PKCS12 file
Actual behavior
Fails while exporting cert
Screenshots

This has been resolved.


Missing Translation Error - reproducible with cause

Hi,
I've got a reproducible missing translation error.
I ran the following:
./bin/rails g model Page site:references slug:string title:string
./bin/super-scaffold crud Page Site,Team title:text_field slug:text_field

I created a Page with a blank slug, then hit the missing translation error due to page.label_string being blank, due to slug being blank.
The code that decided that slug was the label is the following:
p.class.columns_hash.values.find{ |column| column.sql_type_metadata.
type == :string }.map(&:name)

Which take the first string field.
I did notice that it added a  validates :title, presence: true to the model but not a validates :slug, presence: true' I'm assuming the validates :title, presence: true` was added for the exact reason the bug happened?
Maybe this can be solved by the crud generator adding a validation to label_field as well? or a documentation change to let people know that the first string field is used for the model's label?

It looks like order matters here, and the line that determines whether validates :attribute_name gets scaffolded or not is determined in the Super Scaffolding gem:
is_required = attribute_options[:required] || (scaffolding_options[:type] == :crud && index == 0)

I saw that the order you had for your attributes in your rails g and bin/super-scaffold crud commands are different. Maybe we should raise an error at the CLI level if the developer's attributes aren't in the same order when running bin/super-scaffold crud? It looks like some of the moving parts we have in place depend on at least the first attribute matching when running the commands, so my initial instinct is to handle the issue there.


Mdn link

rebased the mdn link to the dart dochandler PR

@kasperpeulen, can you merge this with master?
I think I did "rebase github fork" in the past with webstorm which caused some problems, but this works well

Is the intent of this PR to always show MDN info for matching dart:html entities, or only show if that entity has no associated dartdoc?

@devoncarew The intend is doing it only if there is no associated dartdoc. I guess that would be sufficient, and otherwise we may great strange things. For example, some dartdoc entries already link to mdn, and then we would link to mdn 2 times.

lgtm; merging


Installation Issues

Thanks for your work with the package.
I tried to install and use jupyter-notebook inside atom but can't get through all the issues.
Arch Linux
atom 1.6.2
apm  1.6.0
npm  2.13.3
node 0.10.40
python 3.5.1
git 2.7.4
jupyter 4.1.0
First of all I can't seem to install the package even thought everything else is installed (including pip packages). The error I get:

<EMAIL_ADDRESS>install /tmp/apm-install-dir-11636-29851-1879d99/node_modules/jupyter-notebook/node_modules/ws/node_modules/utf-8-validate
node-gyp rebuild

make: Entering directory '/tmp/apm-install-dir-11636-29851-1879d99/node_modules/jupyter-notebook/node_modules/ws/node_modules/utf-8-validate/build'
CXX(target) Release/obj.target/validation/src/validation.o
SOLINK_MODULE(target) Release/obj.target/validation.node
COPY Release/validation.node
make: Leaving directory '/tmp/apm-install-dir-11636-29851-1879d99/node_modules/jupyter-notebook/node_modules/ws/node_modules/utf-8-validate/build'
npm WARN peerDependencies The peer dependency<EMAIL_ADDRESS>included from jupyter-js-services will no
npm WARN peerDependencies longer be automatically installed to fulfill the peerDependency
npm WARN peerDependencies in npm 3+. Your application will need to depend on it explicitly.
npm WARN peerDependencies The peer dependency<EMAIL_ADDRESS>included from jupyter-js-services will no
npm WARN peerDependencies longer be automatically installed to fulfill the peerDependency
npm WARN peerDependencies in npm 3+. Your application will need to depend on it explicitly.
In file included from ../../nan/nan_callbacks.h:83:0,
from ../../nan/nan.h:150,
from ../src/main.cc:1:
../../nan/nan_callbacks_12_inl.h:251:0: error: unterminated #if
#if NODE_MODULE_VERSION > NODE_0_12_MODULE_VERSION
^
../../nan/nan_callbacks_12_inl.h:9:0: error: unterminated #ifndef
#ifndef NAN_CALLBACKS_12_INL_H_
^
In file included from ../src/main.cc:1:0:
../../nan/nan.h:194:57: fatal error: nan_maybe_43_inl.h: No such file or directory
compilation terminated.
make: *** [Release/obj.target/runas/src/main.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/share/atom/resources/app/apm/node_modules/npm/node_modules/node-gyp/lib/build.js:269:23)
gyp ERR! stack     at ChildProcess.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:820:12)
gyp ERR! System Linux 4.4.5-1-ARCH
gyp ERR! command "node" "/usr/share/atom/resources/app/apm/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /tmp/apm-install-dir-11636-29851-1879d99/node_modules/jupyter-notebook/node_modules/pathwatcher/node_modules/runas
gyp ERR! node -v v0.10.40
gyp ERR! node-gyp -v v2.0.2
gyp ERR! not ok
npm ERR! Linux 4.4.5-1-ARCH
npm ERR! argv "/usr/share/atom/resources/app/apm/bin/node" "/usr/share/atom/resources/app/apm/node_modules/npm/bin/npm-cli.js" "--globalconfig" "/home/user/.atom/.apm/.apmrc" "--userconfig" "/home/user/.atom/.apmrc" "install" "/tmp/d-11636-29851-kgdk5o/package.tgz" "--target=0.34.5" "--arch=x64"
npm ERR! node v0.10.40
npm ERR! npm  v2.13.3
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the runas package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls runas
npm ERR! There is likely additional logging output above.
Somehow, after couple of tries, the package did install but it does not open the proper notebook screen and there is an error saying that some files are missing from the package.
Any ideas on how to fix it? Also, does linting and all the other packages properly work after opening the ipynb files?
Many thanks!

Any chance for some help? I did manage to install it (sometime it installs sometime it does not), but when I actually open an ipynb file Atom throws an error saying it is missing files from its folder.
My friend tried to install the package and gets the same error (also on linux).

+1
`><EMAIL_ADDRESS>install /tmp/apm-install-dir-116319-7349-14f6afi/node_modules/jupyter-notebook/node_modules/pathwatcher/node_modules/runas

node-gyp rebuild

make: Entering directory '/tmp/apm-install-dir-116319-7349-14f6afi/node_modules/jupyter-notebook/node_modules/pathwatcher/node_modules/runas/build'
CXX(target) Release/obj.target/runas/src/main.o
runas.target.mk:90: recipe for target 'Release/obj.target/runas/src/main.o' failed
make: Leaving directory '/tmp/apm-install-dir-116319-7349-14f6afi/node_modules/jupyter-notebook/node_modules/pathwatcher/node_modules/runas/build'

<EMAIL_ADDRESS>install /tmp/apm-install-dir-116319-7349-14f6afi/node_modules/jupyter-notebook/node_modules/ws/node_modules/bufferutil
node-gyp rebuild

make: Entering directory '/tmp/apm-install-dir-116319-7349-14f6afi/node_modules/jupyter-notebook/node_modules/ws/node_modules/bufferutil/build'
CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
SOLINK_MODULE(target) Release/obj.target/bufferutil.node
COPY Release/bufferutil.node
make: Leaving directory '/tmp/apm-install-dir-116319-7349-14f6afi/node_modules/jupyter-notebook/node_modules/ws/node_modules/bufferutil/build'

<EMAIL_ADDRESS>install /tmp/apm-install-dir-116319-7349-14f6afi/node_modules/jupyter-notebook/node_modules/ws/node_modules/utf-8-validate
node-gyp rebuild

make: Entering directory '/tmp/apm-install-dir-116319-7349-14f6afi/node_modules/jupyter-notebook/node_modules/ws/node_modules/utf-8-validate/build'
CXX(target) Release/obj.target/validation/src/validation.o
SOLINK_MODULE(target) Release/obj.target/validation.node
COPY Release/validation.node
make: Leaving directory '/tmp/apm-install-dir-116319-7349-14f6afi/node_modules/jupyter-notebook/node_modules/ws/node_modules/utf-8-validate/build'
npm WARN peerDependencies The peer dependency<EMAIL_ADDRESS>included from jupyter-js-services will no
npm WARN peerDependencies longer be automatically installed to fulfill the peerDependency
npm WARN peerDependencies in npm 3+. Your application will need to depend on it explicitly.
npm WARN peerDependencies The peer dependency<EMAIL_ADDRESS>included from jupyter-js-services will no
npm WARN peerDependencies longer be automatically installed to fulfill the peerDependency
npm WARN peerDependencies in npm 3+. Your application will need to depend on it explicitly.
In file included from ../../nan/nan_callbacks.h:83:0,
from ../../nan/nan.h:150,
from ../src/main.cc:1:
../../nan/nan_callbacks_12_inl.h:251:0: error: unterminated #if
#if NODE_MODULE_VERSION > NODE_0_12_MODULE_VERSION
^
../../nan/nan_callbacks_12_inl.h:9:0: error: unterminated #ifndef
#ifndef NAN_CALLBACKS_12_INL_H_
^
In file included from ../src/main.cc:1:0:
../../nan/nan.h:194:57: fatal error: nan_maybe_43_inl.h: No such file or directory
compilation terminated.
make: *** [Release/obj.target/runas/src/main.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/share/atom/resources/app/apm/node_modules/npm/node_modules/node-gyp/lib/build.js:269:23)
gyp ERR! stack     at ChildProcess.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:820:12)
gyp ERR! System Linux 4.4.0-1-amd64
gyp ERR! command "node" "/usr/local/share/atom/resources/app/apm/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /tmp/apm-install-dir-116319-7349-14f6afi/node_modules/jupyter-notebook/node_modules/pathwatcher/node_modules/runas
gyp ERR! node -v v0.10.40
gyp ERR! node-gyp -v v2.0.2
gyp ERR! not ok
npm ERR! Linux 4.4.0-1-amd64
npm ERR! argv "/usr/local/share/atom/resources/app/apm/bin/node" "/usr/local/share/atom/resources/app/apm/node_modules/npm/bin/npm-cli.js" "--globalconfig" "/home/heider/github/dotconfig/.atom/.apm/.apmrc" "--userconfig" "/home/heider/github/dotconfig/.atom/.apmrc" "install" "/tmp/d-116319-7349-1phi6d1/package.tgz" "--target=0.34.5" "--arch=x64"
npm ERR! node v0.10.40
npm ERR! npm  v2.13.3
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the runas package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls runas
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     /tmp/apm-install-dir-116319-7349-14f6afi/npm-debug.log`

I am also in Arch Linux and I am getting exactly the same error.
><EMAIL_ADDRESS>install /tmp/apm-install-dir-116321-28545-1q7vr0/node_modules/jupyter-notebook/node_modules/pathwatcher/node_modules/runas
> node-gyp rebuild

make: Entering directory '/tmp/apm-install-dir-116321-28545-1q7vr0/node_modules/jupyter-notebook/node_modules/pathwatcher/node_modules/runas/build'
  CXX(target) Release/obj.target/runas/src/main.o
runas.target.mk:90: recipe for target 'Release/obj.target/runas/src/main.o' failed
make: Leaving directory '/tmp/apm-install-dir-116321-28545-1q7vr0/node_modules/jupyter-notebook/node_modules/pathwatcher/node_modules/runas/build'

><EMAIL_ADDRESS>install /tmp/apm-install-dir-116321-28545-1q7vr0/node_modules/jupyter-notebook/node_modules/ws/node_modules/bufferutil
> node-gyp rebuild

make: Entering directory '/tmp/apm-install-dir-116321-28545-1q7vr0/node_modules/jupyter-notebook/node_modules/ws/node_modules/bufferutil/build'
  CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
  SOLINK_MODULE(target) Release/obj.target/bufferutil.node
  COPY Release/bufferutil.node
make: Leaving directory '/tmp/apm-install-dir-116321-28545-1q7vr0/node_modules/jupyter-notebook/node_modules/ws/node_modules/bufferutil/build'

><EMAIL_ADDRESS>install /tmp/apm-install-dir-116321-28545-1q7vr0/node_modules/jupyter-notebook/node_modules/ws/node_modules/utf-8-validate
> node-gyp rebuild

make: Entering directory '/tmp/apm-install-dir-116321-28545-1q7vr0/node_modules/jupyter-notebook/node_modules/ws/node_modules/utf-8-validate/build'
  CXX(target) Release/obj.target/validation/src/validation.o
  SOLINK_MODULE(target) Release/obj.target/validation.node
  COPY Release/validation.node
make: Leaving directory '/tmp/apm-install-dir-116321-28545-1q7vr0/node_modules/jupyter-notebook/node_modules/ws/node_modules/utf-8-validate/build'

npm WARN peerDependencies The peer dependency<EMAIL_ADDRESS>included from jupyter-js-services will no
npm WARN peerDependencies longer be automatically installed to fulfill the peerDependency
npm WARN peerDependencies in npm 3+. Your application will need to depend on it explicitly.
npm WARN peerDependencies The peer dependency<EMAIL_ADDRESS>included from jupyter-js-services will no
npm WARN peerDependencies longer be automatically installed to fulfill the peerDependency
npm WARN peerDependencies in npm 3+. Your application will need to depend on it explicitly.
In file included from ../src/main.cc:1:0:
../../nan/nan.h:93:26: warning: backslash-newline at end of file
 #if defined(__GNUC__) && \
                          ^
../../nan/nan.h:94:6: error: missing ')' in expression
     !(defined(V8_DISABLE_DEPRECATIONS) && V8_DISABLE_DEPRECATIONS)
      ^
../../nan/nan.h:93:0: error: unterminated #if
 #if defined(__GNUC__) && \
 ^
In file included from ../src/main.cc:1:0:
../../nan/nan.h:20:0: error: unterminated #ifndef
 #ifndef NAN_H_
 ^
../src/main.cc: In function ‘bool Nan::{anonymous}::GetProperty(v8::Local<v8::Object>, const char*, v8::Local<v8::Value>*)’:
../src/main.cc:10:10: error: ‘Get’ is not a member of ‘Nan’
   return Nan::Get(obj, Nan::New<String>(key).ToLocalChecked()).ToLocal(value);
          ^
../src/main.cc:10:24: error: ‘New’ is not a member of ‘Nan’
   return Nan::Get(obj, Nan::New<String>(key).ToLocalChecked()).ToLocal(value);
                        ^
../src/main.cc:10:24: note: suggested alternative:
In file included from ../../nan/nan.h:46:0,
                 from ../src/main.cc:1:
/home/juarch/.atom/.node-gyp/.node-gyp/0.36.12/src/node_buffer.h:53:40: note:   ‘node::Buffer::New’
 NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                        ^
../src/main.cc:10:39: error: expected primary-expression before ‘>’ token
   return Nan::Get(obj, Nan::New<String>(key).ToLocalChecked()).ToLocal(value);
                                       ^
../src/main.cc:10:46: error: request for member ‘ToLocalChecked’ in ‘key’, which is of non-class type ‘const char*’
   return Nan::Get(obj, Nan::New<String>(key).ToLocalChecked()).ToLocal(value);
                                              ^
../src/main.cc: In function ‘void Nan::{anonymous}::Runas(const v8::FunctionCallbackInfo<v8::Value>&)’:
../src/main.cc:15:5: error: ‘ThrowTypeError’ is not a member of ‘Nan’
     Nan::ThrowTypeError("Bad argument");
     ^
../src/main.cc:54:28: error: ‘New’ is not a member of ‘Nan’
     Local<Object> result = Nan::New<Object>();
                            ^
../src/main.cc:54:28: note: suggested alternative:
In file included from ../../nan/nan.h:46:0,
                 from ../src/main.cc:1:
/home/juarch/.atom/.node-gyp/.node-gyp/0.36.12/src/node_buffer.h:53:40: note:   ‘node::Buffer::New’
 NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                        ^
../src/main.cc:54:43: error: expected primary-expression before ‘>’ token
     Local<Object> result = Nan::New<Object>();
                                           ^
../src/main.cc:54:45: error: expected primary-expression before ‘)’ token
     Local<Object> result = Nan::New<Object>();
                                             ^
../src/main.cc:56:14: error: ‘New’ is not a member of ‘Nan’
              Nan::New<String>("exitCode").ToLocalChecked(),
              ^
../src/main.cc:56:14: note: suggested alternative:
In file included from ../../nan/nan.h:46:0,
                 from ../src/main.cc:1:
/home/juarch/.atom/.node-gyp/.node-gyp/0.36.12/src/node_buffer.h:53:40: note:   ‘node::Buffer::New’
 NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                        ^
../src/main.cc:57:14: error: ‘New’ is not a member of ‘Nan’
              Nan::New<Integer>(code));
              ^
../src/main.cc:57:14: note: suggested alternative:
In file included from ../../nan/nan.h:46:0,
                 from ../src/main.cc:1:
/home/juarch/.atom/.node-gyp/.node-gyp/0.36.12/src/node_buffer.h:53:40: note:   ‘node::Buffer::New’
 NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                        ^
../src/main.cc:55:13: error: expected primary-expression before ‘(’ token
     Nan::Set(result,
             ^
../src/main.cc:56:14: error: ‘New’ is not a member of ‘Nan’
              Nan::New<String>("exitCode").ToLocalChecked(),
              ^
../src/main.cc:56:14: note: suggested alternative:
In file included from ../../nan/nan.h:46:0,
                 from ../src/main.cc:1:
/home/juarch/.atom/.node-gyp/.node-gyp/0.36.12/src/node_buffer.h:53:40: note:   ‘node::Buffer::New’
 NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                        ^
../src/main.cc:56:29: error: expected primary-expression before ‘>’ token
              Nan::New<String>("exitCode").ToLocalChecked(),
                             ^
../src/main.cc:56:43: error: request for member ‘ToLocalChecked’ in ‘("exitCode")’, which is of non-class type ‘const char [9]’
              Nan::New<String>("exitCode").ToLocalChecked(),
                                           ^
../src/main.cc:57:14: error: ‘New’ is not a member of ‘Nan’
              Nan::New<Integer>(code));
              ^
../src/main.cc:57:14: note: suggested alternative:
In file included from ../../nan/nan.h:46:0,
                 from ../src/main.cc:1:
/home/juarch/.atom/.node-gyp/.node-gyp/0.36.12/src/node_buffer.h:53:40: note:   ‘node::Buffer::New’
 NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                        ^
../src/main.cc:57:30: error: expected primary-expression before ‘>’ token
              Nan::New<Integer>(code));
                              ^
../src/main.cc:59:14: error: ‘New’ is not a member of ‘Nan’
              Nan::New<String>("stdout").ToLocalChecked(),
              ^
../src/main.cc:59:14: note: suggested alternative:
In file included from ../../nan/nan.h:46:0,
                 from ../src/main.cc:1:
/home/juarch/.atom/.node-gyp/.node-gyp/0.36.12/src/node_buffer.h:53:40: note:   ‘node::Buffer::New’
 NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                        ^
../src/main.cc:60:14: error: ‘New’ is not a member of ‘Nan’
              Nan::New<String>(std_output).ToLocalChecked());
              ^
../src/main.cc:60:14: note: suggested alternative:
In file included from ../../nan/nan.h:46:0,
                 from ../src/main.cc:1:
/home/juarch/.atom/.node-gyp/.node-gyp/0.36.12/src/node_buffer.h:53:40: note:   ‘node::Buffer::New’
 NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                        ^
../src/main.cc:58:13: error: expected primary-expression before ‘(’ token
     Nan::Set(result,
             ^
../src/main.cc:59:14: error: ‘New’ is not a member of ‘Nan’
              Nan::New<String>("stdout").ToLocalChecked(),
              ^
../src/main.cc:59:14: note: suggested alternative:
In file included from ../../nan/nan.h:46:0,
                 from ../src/main.cc:1:
/home/juarch/.atom/.node-gyp/.node-gyp/0.36.12/src/node_buffer.h:53:40: note:   ‘node::Buffer::New’
 NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                        ^
../src/main.cc:59:29: error: expected primary-expression before ‘>’ token
              Nan::New<String>("stdout").ToLocalChecked(),
                             ^
../src/main.cc:59:41: error: request for member ‘ToLocalChecked’ in ‘("stdout")’, which is of non-class type ‘const char [7]’
              Nan::New<String>("stdout").ToLocalChecked(),
                                         ^
../src/main.cc:60:14: error: ‘New’ is not a member of ‘Nan’
              Nan::New<String>(std_output).ToLocalChecked());
              ^
../src/main.cc:60:14: note: suggested alternative:
In file included from ../../nan/nan.h:46:0,
                 from ../src/main.cc:1:
/home/juarch/.atom/.node-gyp/.node-gyp/0.36.12/src/node_buffer.h:53:40: note:   ‘node::Buffer::New’
 NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                        ^
../src/main.cc:60:29: error: expected primary-expression before ‘>’ token
              Nan::New<String>(std_output).ToLocalChecked());
                             ^
../src/main.cc:60:43: error: ‘std::__cxx11::string {aka class std::__cxx11::basic_string<char>}’ has no member named ‘ToLocalChecked’
              Nan::New<String>(std_output).ToLocalChecked());
                                           ^
../src/main.cc:62:14: error: ‘New’ is not a member of ‘Nan’
              Nan::New<String>("stderr").ToLocalChecked(),
              ^
../src/main.cc:62:14: note: suggested alternative:
In file included from ../../nan/nan.h:46:0,
                 from ../src/main.cc:1:
/home/juarch/.atom/.node-gyp/.node-gyp/0.36.12/src/node_buffer.h:53:40: note:   ‘node::Buffer::New’
 NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                        ^
../src/main.cc:63:14: error: ‘New’ is not a member of ‘Nan’
              Nan::New<String>(std_error).ToLocalChecked());
              ^
../src/main.cc:63:14: note: suggested alternative:
In file included from ../../nan/nan.h:46:0,
                 from ../src/main.cc:1:
/home/juarch/.atom/.node-gyp/.node-gyp/0.36.12/src/node_buffer.h:53:40: note:   ‘node::Buffer::New’
 NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                        ^
../src/main.cc:61:13: error: expected primary-expression before ‘(’ token
     Nan::Set(result,
             ^
../src/main.cc:62:14: error: ‘New’ is not a member of ‘Nan’
              Nan::New<String>("stderr").ToLocalChecked(),
              ^
../src/main.cc:62:14: note: suggested alternative:
In file included from ../../nan/nan.h:46:0,
                 from ../src/main.cc:1:
/home/juarch/.atom/.node-gyp/.node-gyp/0.36.12/src/node_buffer.h:53:40: note:   ‘node::Buffer::New’
 NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                        ^
../src/main.cc:62:29: error: expected primary-expression before ‘>’ token
              Nan::New<String>("stderr").ToLocalChecked(),
                             ^
../src/main.cc:62:41: error: request for member ‘ToLocalChecked’ in ‘("stderr")’, which is of non-class type ‘const char [7]’
              Nan::New<String>("stderr").ToLocalChecked(),
                                         ^
../src/main.cc:63:14: error: ‘New’ is not a member of ‘Nan’
              Nan::New<String>(std_error).ToLocalChecked());
              ^
../src/main.cc:63:14: note: suggested alternative:
In file included from ../../nan/nan.h:46:0,
                 from ../src/main.cc:1:
/home/juarch/.atom/.node-gyp/.node-gyp/0.36.12/src/node_buffer.h:53:40: note:   ‘node::Buffer::New’
 NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                        ^
../src/main.cc:63:29: error: expected primary-expression before ‘>’ token
              Nan::New<String>(std_error).ToLocalChecked());
                             ^
../src/main.cc:63:42: error: ‘std::__cxx11::string {aka class std::__cxx11::basic_string<char>}’ has no member named ‘ToLocalChecked’
              Nan::New<String>(std_error).ToLocalChecked());
                                          ^
../src/main.cc:66:31: error: ‘New’ is not a member of ‘Nan’
     info.GetReturnValue().Set(Nan::New<Integer>(code));
                               ^
../src/main.cc:66:31: note: suggested alternative:
In file included from ../../nan/nan.h:46:0,
                 from ../src/main.cc:1:
/home/juarch/.atom/.node-gyp/.node-gyp/0.36.12/src/node_buffer.h:53:40: note:   ‘node::Buffer::New’
 NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                        ^
../src/main.cc:66:47: error: expected primary-expression before ‘>’ token
     info.GetReturnValue().Set(Nan::New<Integer>(code));
                                               ^
../src/main.cc: In function ‘void Nan::{anonymous}::Init(v8::Handle<v8::Object>)’:
../src/main.cc:71:3: error: ‘SetMethod’ is not a member of ‘Nan’
   Nan::SetMethod(exports, "runas", Runas);
   ^
In file included from ../../nan/nan.h:45:0,
                 from ../src/main.cc:1:
../src/main.cc: At global scope:
/home/juarch/.atom/.node-gyp/.node-gyp/0.36.12/src/node.h:432:3: error: expected ‘}’ at end of input
   }
   ^
/home/juarch/.atom/.node-gyp/.node-gyp/0.36.12/src/node.h:454:3: note: in expansion of macro ‘NODE_MODULE_X’
   NODE_MODULE_X(modname, regfunc, NULL, 0)
   ^
../src/main.cc:76:1: note: in expansion of macro ‘NODE_MODULE’
 NODE_MODULE(runas, Init)
 ^
make: *** [Release/obj.target/runas/src/main.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/share/atom/resources/app/apm/node_modules/npm/node_modules/node-gyp/lib/build.js:269:23)
gyp ERR! stack     at ChildProcess.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:820:12)
gyp ERR! System Linux 4.5.1-1-ARCH
gyp ERR! command "node" "/usr/share/atom/resources/app/apm/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /tmp/apm-install-dir-116321-28545-1q7vr0/node_modules/jupyter-notebook/node_modules/pathwatcher/node_modules/runas
gyp ERR! node -v v0.10.40
gyp ERR! node-gyp -v v2.0.2
gyp ERR! not ok
npm ERR! Linux 4.5.1-1-ARCH
npm ERR! argv "/usr/share/atom/resources/app/apm/bin/node" "/usr/share/atom/resources/app/apm/node_modules/npm/bin/npm-cli.js" "--globalconfig" "/home/juarch/.atom/.apm/.apmrc" "--userconfig" "/home/juarch/.atom/.apmrc" "install" "/tmp/d-116321-28545-1yw3fbf/package.tgz" "--target=0.36.12" "--arch=x64"
npm ERR! node v0.10.40
npm ERR! npm  v2.13.3
npm ERR! code ELIFECYCLE

npm ERR<EMAIL_ADDRESS>install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the runas package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls runas
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /tmp/apm-install-dir-116321-28545-1q7vr0/npm-debug.log

In my case, this error seemed to have been to anaconda.  To quote @n-riesco: "npm uses node-gyp, and node-gyp uses gyp. Unfortunately, Anaconda overwrites gyp with a different version" (https://github.com/n-riesco/ijavascript/issues/35).
The work around is to temporarily move anaconda for the install: e.g. in linux: (change username by your own username)
$ mv /home/username/anaconda /home/coldmoon/anaconda.bak
$ apm install jupyter-notebook
$ mv /home/username/anaconda.bak /home/coldmoon/anaconda

The errors is still there even thought I have a regular Python version and everything installed through pip. Although it seems that this module is no longer maintained or the creator does not have time to maintain it.
Guess we should look for alternatives to run python notebook.

@JLCCI I am the most recent maintainer of this repo. I haven't been able to reproduce the installation issues described here although I can see it's affecting several users. Like you said, I haven't had time to fully investigate these issues. My intention is to eventually port nteract (an Electron-based Jupyter notebook client) to Atom because nteract's implementation is far more stable than this one. In the meantime, I suggest you use nteract or the official Jupyter Notebook. Additionally, keep an eye out for JupyterLab in the coming months.

@gnestor you can reproduce the error on a fresh ubuntu 14.04 install. Here's what I get with a t2.micro aws:
sudo add-apt-repository ppa:webupd8team/atom
sudo apt-get update
sudo apt-get install atom
sudo apt-get install python python-pip
pip install jupyter jupyter_kernel_gateway  # error need sudo ?!
sudo pip install jupyter jupyter_kernel_gateway  # error need Python.h ?!
sudo apt-get install python3 python-pip
pip install jupyter jupyter_kernel_gateway
apm install jupyter-notebook

>>  ... nan.h error ...

@gnestor Thanks for the update, looking forward to your port of nteract!


Add a XBUILD_SYSROOT_PATH environment variable to override sysroot path

This is useful for example when the default sysroot path contains spaces (see #32).

Released as version 0.5.10


api-docs: Update content parameter descriptions for max_message_length.

Updates the descriptions of content parameters (optional and required) to note that the maximum size of the message content should be based on the max_message_length value returned by the register endpoint.
See relevant CZO conversation for more context.
Notes:

Previously these descriptions had a hard coded value of 10000 bytes as the maximum message size.
Also, updates the description of max_message_length to clarify that the value represents Unicode code points.

Screenshots and screen captures:

Description of max_message_length return value for register-queue endpoint
Current documentation

Required content parameter (send-message and render-message endpoints)
Current documentation

Optional content parameter (edit-message endpoint)
Current documentation

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

Excellent, merged, thanks @laurynmm!


[bug]  conda: command not found

installing on a python pip environment that was not installed via conda throws an error
logs :
Setting conda init...
./install.sh: line 40: conda: command not found
./install.sh: line 41: /etc/profile.d/conda.sh: No such file or directory
Setting environment... (envs/environment.yml)
./install.sh: line 48: conda: command not found
Activating environment... (klaam)
./install.sh: line 51: conda: command not found
Upgrading pip...
./install.sh: line 55: python: command not found
Updating poetry config...
./install.sh: line 59: python: command not found
Installing dependencies using poetry...
./install.sh: line 62: python: command not found

@egyleader The . sh file cannot be directly run on the Windows command prompt or PowerShell. Therefore, to run the . sh file on Windows, it is required to enable “Windows Subsystem for Linux” (WSL) on the system

I am running on mac not windows ,but my python is not installed via conda though


Releases Data Prepper 2.7.0

Description
Adds Data Prepper 2.7.0 and makes it the version to use with all versions of OpenSearch.
Issues Resolved
Resolves #2646
Check List

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the BSD-3-Clause License.

@nateynateynate , @krisfreedain , We have released the artifacts and this PR is ready to merge and deploy.

@dlvenable - thanks for the update. Gonna pull this one down and have a look and will merge today.

Thank you @nateynateynate !


Code cleanup

This is cleaner

Coverage remained the same at 84.495% when pulling c87d40dd54bb4e89f8a18d7c3f2565ffc9d3bc70 on update_fk_api into 9d347615c1711e9aba23224c57c1eee127145fd4 on master.


issue about firebase and package_info_plus 5.0.1 requires web ^0.5.1

trouble with:
firebase_core: ^2.27.1
firebase_analytics: ^10.8.10
firebase_auth: ^4.17.9
flutter_signin_button: ^2.0.0
firebase_database: ^10.4.10
error:
Because firebase_auth >=4.17.9 depends on firebase_auth_web ^5.10.0 which depends on web ^0.5.1, firebase_auth >=4.17.9 requires web ^0.5.1.
And because package_info_plus 5.0.1 depends on web >=0.3.0 <0.5.0 and no versions of package_info_plus match >5.0.1 <6.0.0, firebase_auth >=4.17.9 is incompatible with package_info_plus ^5.0.1.
And because flutter_app_info 2.0.0 depends on package_info_plus ^5.0.1 and no versions of flutter_app_info match >2.0.0 <3.0.0, firebase_auth >=4.17.9 is incompatible with flutter_app_info ^2.0.0.
So, because com.wfco.brc depends on both flutter_app_info ^2.0.0 and firebase_auth ^4.17.9, version solving failed.
You can try the following suggestion to make the pubspec resolve:

Consider downgrading your constraint on flutter_app_info: flutter pub add flutter_app_info:^1.1.2

Package versions updated as of latest release:
https://pub.dev/packages/flutter_app_info/versions/3.0.0


Can't send emails without mailhog - Host not found

Issue Type

Bug Report / Support Request

Your Environment
Vagrant 1.9.1
Your OS

macOS Sierra

Full console output

Nov 21 09:29:16 local postfix/pickup[1491]: 0E99F281209: uid=33 from=<www-data>
Nov 21 09:29:16 local postfix/cleanup[7650]: 0E99F281209<EMAIL_ADDRESS>Nov 21 09:29:16 local postfix/qmgr[1492]: 0E99F281209<EMAIL_ADDRESS>size=641, nrcpt=1 (queue active)
Nov 21 09:29:16 local postfix/smtp[7652]: 0E99F281209<EMAIL_ADDRESS>relay=none, delay=0.02, delays=0.01/0.01/0/0, dsn=4.4.3, status=deferred (Host or domain name not found. Name service error for name=arabba.hr type=MX: Host not found, try again)

Summary
When using mailhog i get emails in it and that works ok, when I remove mailhog and put
php_sendmail_path: "/usr/sbin/sendmail -t -i"
to use default mail service seems I cant get emails to work. I keep getting above output and I don't receive emails.
I am wondering is there some extra DNS config needed so that VM actually sends emails?

Why debug emails to the world from the vagrant testbed? You have confirmed with mailhog the emails work so personally I wouldn't put too much effort on getting mails from your internal networks vagrant box they might get event spam blocked.
Just make the mail delivery work on "live" staging or production servers.

I tried sending email to any email that is on the same domain as this vagrant VM site which is local.dv.com and then I don't get this host unknown thing. So it seems like something is needed with configuration of mail and dns?
Nov 21 09:45:29 local postfix/pickup[1491]: 9D22A281F94: uid=33 from=
Nov 21 09:45:29 local postfix/cleanup[7735]: 9D22A281F94<EMAIL_ADDRESS>Nov 21 09:45:29 local postfix/qmgr[1492]: 9D22A281F94<EMAIL_ADDRESS>size=644, nrcpt=1 (queue active)
Nov 21 09:45:29 local postfix/local[7737]: 9D22A281F94<EMAIL_ADDRESS>relay=local, delay=0.02, delays=0.01/0/0/0, dsn=5.1.1, status=bounced (unknown user: "marko")
Nov 21 09:45:29 local postfix/cleanup[7735]: A0339281F99<EMAIL_ADDRESS>Nov 21 09:45:29 local postfix/qmgr[1492]: A0339281F99: from=<>, size=2385, nrcpt=1 (queue active)
Nov 21 09:45:29 local postfix/bounce[7738]: 9D22A281F94: sender non-delivery notification: A0339281F99
Nov 21 09:45:29 local postfix/qmgr[1492]: 9D22A281F94: removed
Nov 21 09:45:29 local postfix/local[7737]: A0339281F99<EMAIL_ADDRESS>relay=local, delay=0, delays=0/0/0/0, dsn=2.0.0, status=sent (delivered to mailbox)
Nov 21 09:45:29 local postfix/qmgr[1492]: A0339281F99: removed

FinBoWa please don't assume things like that. I am working on complex system with emails going in and out, using mailgun https://www.mailgun.com/  to send emails. Having complex php libraries to receive emails from those senders and process them, so I need to have mail running locally as same as on live server.

Everyone is working on a complex system, but my suggestion is valid the important bit for your app is validated: the email gets created and send as mailhog gets it.
As you did not give context I assumed that you might be doing unnecessary work and gave you a tip.
Anyways: getting mails actually delivered is more a server configuration issue, not directly a Drupal Vm issue.
Tips for fixing that your case could be

have you checked that you can ping the domain correcly if not add a line to /etc/hosts
use your own custom DNS servers on the box to fake mx translations if you absulutely must use "real email dns"
stick to email addresses that actually work on the boxes. Seems that you tried but got "unknown user: "marko", is there a user called marko ??

Also if you look closely at my comment it starts with "Why debug emails to the world from the vagrant testbed?" so maybe revisiting the need for the downvote is in order on your end.

I am going with this -> Expected to have email working just as on some other AMP stacks like MAMP/LAMp. So when I make change to drupalvm as suggested here
https://github.com/geerlingguy/drupal-vm/issues/364
i was hoping it would work.
But seems to me that this is not enough. I tried this on vanilla drupalvm and problem is the same so this must be some vagrant config we need to change to make this work as current config only works for mailhog. But what to change and which settings that is what I am trying to find out.

You on virtualbox?
https://www.virtualbox.org/ticket/11540
I'd presume there is alternative fix somewhere also to changing the resolv.conf to point some where else.
I'd suggest on debuging with dig mx arabba.hr, if you get a correct response in side the box, thought the server might still reject it if it can't ping it back as its in local network.

I'd argue its Drupalvms purpose to automatically fix all "vagrant/virtualbox" that don't cause issues in normal use cases.
Using google dns can cause other issues like resolving to a ip that is not optimal for your location:
;; ANSWER SECTION:
www.google.com.au.      276     IN      A       <IP_ADDRESS>
;; Query time: 152 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)

ISP DNS:

;; ANSWER SECTION:
www.google.com.au.      219     IN      A       <IP_ADDRESS>
;; Query time: 37 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)

@adriadrop - In this case, I would agree with @FinBoWa's latest suggestion—Drupal VM usually sticks to any VirtualBox/Vagrant defaults because doing otherwise often results in a lot of weird and annoying side effects.
The use case of sending live email external to Drupal VM (at least in local development environments running on VirtualBox—the prod configuration works great running on live servers on the Internet) isn't part of the core experience I'd like to support.
I have spent too many hours of my life working out email delivery issues, and I do not wish to add to that any support for Drupal VM running locally :)


Update cats-effect, cats-effect-laws to 3.3.8

Updates

org.typelevel:cats-effect
org.typelevel:cats-effect-laws

from 3.3.0 to 3.3.8.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.typelevel" } ]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #369.


offline: grails uml-class-diagram

The offline script
grails uml-class-diagram

should store the layers (controller/services) and domains images in the output folder 'target/'
Is the code below of any use?
    includeTargets << grailsScript("_GrailsBootstrap")
    loadApp()
    for (grailsClass in grailsApp.allClasses) { println grailsClass }

    configureApp()
    Connection c = appCtx.getBean('dataSource').getConnection()

Ideally, the script builds a Config Command object (script parameters and/or config options), based on default options, optionnaly overloaded in Config.groovy


Numba njit restarts my IPython kernel

I use python 3.7, VScode, Windows 10.
This simple numba function:
@njit
def enter_positions(sides):
    for i in range(sides.shape[0]):
        if (i > 0):
            if (sides[i-1, 1] == -1) | (sides[i, 1] == -1.0):
                sides[i, i] = -1
            else:
                sides[i, i] = 1
        elif np.isnan(positions[i, 0]):
            sides[i, 0] = 1
        else:
            sides[i, 0] = -1
    return sides

restarts my IPython kernel in VSCode.

Is it possible that you're accessing out of bounds and crashing the interpreter? Can you post a complete executable reproducer?

Also, if you remove @njit, does the function execute as you expect?

You are right. There was an error if without @njit. Sorry. But didn't know it restarts session if there is an error :)

@MislavSag thanks for asking about this and @gmarkall thanks for debugging. I am closing this now as I am assuming it is resolved. Please do re-open and add more information if this is not the case. Thanks!


Flutter 6.0

Interactions support
Activity context support

The plugin implements ApptentiveActivityInfo and registers ActivityInfoCallback. However, if the main flutter activity is backgrounded, Apptentive SDK loses it's reference because of WeakReference. After the FlutterActivity comes to foreground there is no lifecycle method available at the plugin level to call the registerApptentiveActivityInfoCallback. Implementing lifecycle observers like Application.ActivityLifecycleCallbacks partly fixes the issue but introduce other bugs. So the proposed solution is the MainActivity should inherit FlutterFragmentActivity and implement ApptentiveActivityInfo  and call registerApptentiveActivityInfoCallback o onResume.

Hidden messages & files not supported. They weren't supported in legacy & new iOS SDK as well. We can wait until there is an ask.
Survey listener, new message listener is tested
Push notification

Verified with firebase push notification using FoxFacts. Notification is received when app is in the background. I didn't add any action to the notification like opening the message center. Also, I haven't added support if the app is in the terminated state.
I wasn't able to test the Urban Airship.

Custom data is supported and tested.
Can show interaction & can show message center is supported & verified through FoxFacts
distributionVersion need to be hardcoded. BothdistributionVersion & distributionName is supported.
Tested the example & FoxFacts app with Bridge theme & Material theme. Other AppCompat won't work.

I guess change log can be updated as part of the release process.


MacOS.(gcc|clang|llvm)_version can return nil

If the requested compiler isn't installed, the various MacOS compiler version methods will return nil instead of an int.
While maybe not a bad thing, we test against the outputs of those with <=> fairly frequently and that's going to fail if the result is nil. Leads to some breakage in Tigerbrew, and I imagine it's going to cause problems for us when llvm-gcc is dropped.
We should probably be returning a CompilerVersion class of some kind instead of a bare int, a la MacOS::Version.

I think we can close this out at this point; it seems it's not being either addressed or causing major problems.


Add ListAll for HostDB httpui endpoint

We would like a way to enumerate all records in hostdb (this doesn't include the hostsfile map, although adding that would be a trivial change). I really would like feedback and suggestions.

I'm strongly in favor of introspecting HostDB, but I don't like extending HTTPUI. The right way to do this IMHO is to add management APIs so you can expose it through multiple layers (e.g. traffic_ctl). You can also add lookup and purge operations as well as list/dump.

Absolutely agree, lets not put more stuff into httpui, we should aim to eliminate it for 7.0.0. Move things over to the management port and traffic_ctl please.

Why do we want to kill the httpui? We use it all the time for stats collection

Because generating raw HTML in core code is unmaintainable. The right approach is to extract the data and publish it in the appropriate format for the consumer (e.g. JSON or whatever).

@jpeach from our conversations on IRC it sounds like you aren't opposed to adding this, but rather want to start making this more general. If we could make a ticket for the generic version we could start adding in all of the endpoints that we use from these and migrate them to a more unified API.

@SolidWallOfCode How does this PR look to you?

All, I've incorporated @SolidWallOfCode 's feedback which renames the method to iterate / iterateEvent, additionally i've modified the code to reschedule if it's unable to get a bucket's mutex and after 100 buckets (my local build had around 3700) so that seemed like a reasonable number, the reschedule interval for normal events is 5ms, if you can't get the mutex it uses the current 20ms timeout. Any other comments before I merge?

@zwoop This was merged but for some reason it's show as still open.