Cannot call Atom Package Manager apm from Bash

Windows build number
Microsoft Windows [Version 10.0.16251.1002]
Problem
Fails to run apm (Atom Package Manager) from WSL.

Setup
Install Atom Editor on Windows system verify that user or system PATH includes C:\Users\{username}\AppData\Local\atom\bin .
What's happening?
In WSL Bash Prompt type apm
$ apm
net.js:145
    this._handle.open(options.fd);
                 ^

Error: EINVAL: invalid argument, uv_pipe_open
    at Error (native)
    at new Socket (net.js:145:18)
    at createWritableStdioStream (internal/process/stdio.js:156:16)
    at process.getStdout [as stdout] (internal/process/stdio.js:10:14)
    at module.exports (c:\Users\sky\AppData\Local\atom\app-1.19.5\resources\app\apm\node_modules\npm\node_modules\npmlog\node_modules\set-blocking\index.js:2:11)
    at Object.<anonymous> (c:\Users\sky\AppData\Local\atom\app-1.19.5\resources\app\apm\node_modules\npm\node_modules\npmlog\log.js:11:1)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)

What should be happening instead?
Output in Bash should match this output from calling apm in a cmd terminal
> apm

apm - Atom Package Manager powered by https://atom.io

Usage: apm <command>

where <command> is one of:
    clean, config, dedupe, deinstall, delete, dev, develop, disable, docs,
    enable, erase, featured, home, i, init, install, link, linked, links, list,
    ln, lns, login, ls, open, outdated, publish, rebuild, rebuild-module-cache,
    remove, rm, search, show, star, starred, stars, test, uninstall, unlink,
    unpublish, unstar, update, upgrade, view.

Run `apm help <command>` to see the more details about a specific command.

Options:
  --color        Enable colored output                                     [boolean] [default: true]
  -v, --version  Print the apm version
  -h, --help     Print this usage message

  Prefix an option with `no-` to set it to false such as --no-color to disable
  colored output.

Layman's interpretation of results
It looks like to me like bash is clobbering Windows environment variables with  it's own, causing apm to look in non-existent locations for dependencies.
I think as default behavior WSL should not pass any environment variable to a Windows binary if that variable already exist in the Windows environment.
As implied by the name, the standard purpose of an environment variable is to describe the environment in which the binary will run. Even if invoked from bash, a windows binary will never run inside that bash environment, it will run in the Windows environment. Except in special use cases, the environment variables described in bash will be totally meaningless, while Windows variables will often be vital to even the most basic behavior like starting the application.
Overwriting the existing environment variables in Windows with variables that describe a completely different environment (without the User specifically requesting it) is simply not acceptable.
I certainly agree that clobbering as an option would be nice to have.  But clobbering by default is prone to cause way more errors than it helps.
strace
strace.1094
execve("/mnt/c/Users/sky/AppData/Local/atom/bin/apm", ["apm"], [/* 19 vars */]) = 0
brk(NULL)                               = 0x7fffef9f6000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fd72e0b0000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=31001, ...}) = 0
mmap(NULL, 31001, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd72e0a8000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\t\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1868984, ...}) = 0
mmap(NULL, 3971488, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fd72da30000
mprotect(0x7fd72dbf0000, 2097152, PROT_NONE) = 0
mmap(0x7fd72ddf0000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1c0000) = 0x7fd72ddf0000
mmap(0x7fd72ddf6000, 14752, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fd72ddf6000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fd72e0a0000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fd72e090000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fd72e080000
arch_prctl(ARCH_SET_FS, 0x7fd72e090700) = 0
mprotect(0x7fd72ddf0000, 16384, PROT_READ) = 0
mprotect(0x7fd72e423000, 8192, PROT_READ) = 0
mprotect(0x7fd72e025000, 4096, PROT_READ) = 0
munmap(0x7fd72e0a8000, 31001)           = 0
getuid()                                = 1000
getgid()                                = 1000
getpid()                                = 1094
rt_sigaction(SIGCHLD, {0x7fd72e217540, ~[RTMIN RT_1], SA_RESTORER, 0x7fd72da654b0}, NULL, 8) = 0
geteuid()                               = 1000
brk(NULL)                               = 0x7fffef9f6000
brk(0x7fffefa17000)                     = 0x7fffefa17000
getppid()                               = 1092
stat("/c/dev/vendor/linter-eslint", {st_mode=S_IFDIR|0777, st_size=4096, ...}) = 0
stat(".", {st_mode=S_IFDIR|0777, st_size=4096, ...}) = 0
open("/mnt/c/Users/sky/AppData/Local/atom/bin/apm", O_RDONLY) = 3
fcntl(3, F_DUPFD, 10)                   = 10
close(3)                                = 0
fcntl(10, F_SETFD, FD_CLOEXEC)          = 0
geteuid()                               = 1000
getegid()                               = 1000
rt_sigaction(SIGINT, NULL, {SIG_DFL, [], SA_RESTORER, 0x7f017e6254b0}, 8) = 0
rt_sigaction(SIGINT, {0x7fd72e217540, ~[RTMIN RT_1], SA_RESTORER, 0x7fd72da654b0}, NULL, 8) = 0
rt_sigaction(SIGQUIT, NULL, {SIG_DFL, [], SA_RESTORER, 0x7f017e6254b0}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL, ~[RTMIN RT_1], SA_RESTORER, 0x7fd72da654b0}, NULL, 8) = 0
rt_sigaction(SIGTERM, NULL, {SIG_DFL, [], SA_RESTORER, 0x7f017e6254b0}, 8) = 0
rt_sigaction(SIGTERM, {SIG_DFL, ~[RTMIN RT_1], SA_RESTORER, 0x7fd72da654b0}, NULL, 8) = 0
read(10, "#!/bin/sh\r\n\"$(dirname \"$0\")/../a"..., 8192) = 68
read(10, "", 8192)                      = 0
pipe([3, 4])                            = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fd72e0909d0) = 1095
close(4)                                = 0
read(3, "/mnt/c/Users/sky/AppData/Local/a"..., 128) = 40
read(3, "", 128)                        = 0
close(3)                                = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 1095
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=1095, si_uid=1000, si_status=0, si_utime=0, si_stime=0} ---
rt_sigreturn({mask=[]})                 = 1095
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fd72e0909d0) = 1096
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0, NULL) = 1096
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=1096, si_uid=1000, si_status=1, si_utime=0, si_stime=0} ---
rt_sigreturn({mask=[]})                 = 1096
exit_group(1)                           = ?
+++ exited with 1 +++

strace.1095
close(10)                               = 0
close(3)                                = 0
dup2(4, 1)                              = 1
close(4)                                = 0
stat("/home/sky/bin/dirname", 0x7ffff7c1bec0) = -1 ENOENT (No such file or directory)
stat("/home/sky/.local/bin/dirname", 0x7ffff7c1bec0) = -1 ENOENT (No such file or directory)
stat("/home/sky/.nvm/versions/node/v8.4.0/bin/dirname", 0x7ffff7c1bec0) = -1 ENOENT (No such file or directory)
stat("/usr/local/sbin/dirname", 0x7ffff7c1bec0) = -1 ENOENT (No such file or directory)
stat("/usr/local/bin/dirname", 0x7ffff7c1bec0) = -1 ENOENT (No such file or directory)
stat("/usr/sbin/dirname", 0x7ffff7c1bec0) = -1 ENOENT (No such file or directory)
stat("/usr/bin/dirname", {st_mode=S_IFREG|0755, st_size=31408, ...}) = 0
execve("/usr/bin/dirname", ["dirname", "/mnt/c/Users/sky/AppData/Local/a"...], [/* 19 vars */]) = 0
brk(NULL)                               = 0x1f13000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f319faa0000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=31001, ...}) = 0
mmap(NULL, 31001, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f319faa2000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\t\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1868984, ...}) = 0
mmap(NULL, 3971488, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f319f430000
mprotect(0x7f319f5f0000, 2097152, PROT_NONE) = 0
mmap(0x7f319f7f0000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1c0000) = 0x7f319f7f0000
mmap(0x7f319f7f6000, 14752, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f319f7f6000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f319fa90000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f319fa80000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f319fa70000
arch_prctl(ARCH_SET_FS, 0x7f319fa80700) = 0
mprotect(0x7f319f7f0000, 16384, PROT_READ) = 0
mprotect(0x606000, 4096, PROT_READ)     = 0
mprotect(0x7f319fa25000, 4096, PROT_READ) = 0
munmap(0x7f319faa2000, 31001)           = 0
brk(NULL)                               = 0x1f13000
brk(0x1f34000)                          = 0x1f34000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=1668976, ...}) = 0
mmap(NULL, 1668976, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f319f88d000
close(3)                                = 0
fstat(1, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
write(1, "/mnt/c/Users/sky/AppData/Local/a"..., 40) = 40
close(1)                                = 0
close(2)                                = 0
exit_group(0)                           = ?
+++ exited with 0 +++

Other straces
strace -o strace.txt -ff apm created 16 total trace files. Let me know if for some reason you need more of the traces to help. Trace 1095 has already exited with code 0. So I think posting the rest would be frivolous.
See our contributing instructions for assistance.

#2370

@therealkenc Yes there does appear to be some similarity. Unclear to me if it is the same issue. To me the lightbulb for mine was lines like this in the stack trace:
stat("/usr/local/sbin/dirname", 0x7ffff7c1bec0) = -1 ENOENT (No such file or directory)
stat("/usr/local/bin/dirname", 0x7ffff7c1bec0) = -1 ENOENT (No such file or directory)
stat("/usr/sbin/dirname", 0x7ffff7c1bec0) = -1 ENOENT (No such file or directory)

The stack trace is full of random linux pathnames, but not a windows path to be found anywhere. But then I have no idea what this strace is saying, so I could be completely off base.
All I actually know for sure is that if you try to run apm from bash it crashes every time. Atom itself boots up fine and gets handed the properly filepaths.

@skylize - Those ENOENTs are "normal" (for Linux's definition of normal). Notice it got a hit (return value = 0) a few lines down on /usr/bin/dirname. It is just fishing.
There is a "windows path to be found", at the very first line: the execve(). After that, any Windows paths that might come into play happen on the Windows side through the magic of interop. apm, in your scenario, is running on Windows, and WSL has no idea what's going on over there; other than input and output from stdin/stdout (which is faked with pipes) to and from the Windows process.
Win32 Atom boots up fine though interop; but then Atom proper isn't trying to read or write to/from stdin/stdout.
It's beyond my pay-grade to say for certain whether it is the same as #2370 or not. Ben will probably chime in when he's around (it's already the weekend).

@therealkenc Thanks for the insight. I changed the issue's title so it no longer includes my incorrect assessment of the problem.

Duping this into #2370 because it's been a couple of months now. @skylize - if #2370 changes status and your scenario does not improve, ping this thread and we can revisit.

@therealkenc Sounds fine. Thanks


Add support for MultiBit Commons

Remove code duplication through the use of MultiBit Commons.

Ready for review and close.

Builds fine so closing.


[WIP] change middleware to hooks

This isn't ready yet, but I'm having trouble getting the component renderer tests to turn green. Did you want to take a look, or keep it failing since a followup PR has to refactor that piece anyways?

Is this one ready now since its green?

It's fine to merge either way


getLength method for Circle, MultiLineString, LinearRing, Polygon, MultiPolygon

getLength method was available in ol2 for every geometry type. In ol3, it's missing for :

Circle ( = 2 * PI * r) (and also getArea() = PI * r^2)
MultiLineString ( = sum of length of LineString ?)
LinearRing (ol.geom.flat.length.linearRing ?)
Polygon ( = sum of length of LinearRing ?)
MultiPolygon ( = sum of length of Polygon ?)

Take care with the getLength method on LineString if you are using Web Mercator (3857) or Lat / Lon (4326) coordinates as you won't get a distance in surface meters. This is because the computation is done in ol.geom.flat.length.lineString using Pythagoras on the projected plane.
If you want length answers in surface meters and surface area answers in square metres,  use ol.Sphere.prototype.haversineDistance and ol.Sphere.prototype.geodesicArea .

See https://github.com/openlayers/ol3/pull/4372

I'm using projected coordinate systems

What are you using the length and area results for?
On 30 Jun 2016 09:15, "tchandelle"<EMAIL_ADDRESS>wrote:

I'm using projected coordinate systems
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/openlayers/ol3/issues/5519#issuecomment-229592435,
or mute the thread
https://github.com/notifications/unsubscribe/AKCLrDzUs3qPnTQcN1512m6UWGkHX5RJks5qQ3sHgaJpZM4I-2N0
.

The user can create new features with line string, polygon or circle geometry. The system needs to display length and/or area of created geometry.
It used to work with getLength and getArea methods from OL2.

If you are using standard web Mercator mapping (EPSG:3857) then look at
http://openlayers.org/en/latest/examples/measure.html?q=measure
Try with and without the geodesic check box. You will find the big square field widths come out at around 2.0km and 1.6km depending on your choice (double click to drop a label) . Clearly, the answers cant both be correct ! The geodesic one is the 'proper' answer, close to what you would measure if you were there. The non-geodesic one is the width of the field on a Web Mercator map of it printed at a scale of 1:1.
With 3857, scale changes with the reciprocal of the cosine of latitude. Look at the scale bar example
http://openlayers.org/en/latest/examples/scale-line.html
and see how its width changes as you move a map north/south
ol2 had getGeodesicLength(projection) functions on geometries which ol3 currently lacks.
I suspect your OL2 project may have been displaying wrong answers.

We work with EPSG:3949 (or similar). Our ol2 project works fine, I compared the result before (ol2 getLength) and after (SELECT SDO_GEOM.SDO_LENGTH(geometry, 2, 'unit=m') ...) the feature is saved in our database and I get the same result.

You will be OK with 3949 as that is a class of projection that has reasonably constant scale over its extent.


[ES][JS] Add prettier to samples

Use this query to search for the most popular feature requests.
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
The JS samples have various non-idiomatic things that would be caught with ts-lint and prettier. For folks running with format on save (relatively common in JS land), this results in a ton of changes since there isn't a formatter specified for the project.
Describe the solution you'd like
A clear and concise description of what you want to happen.
Enable es-lint and prettier in each JS sample + include a .prettierrc.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
n/a
Additional context
Add any other context or screenshots about the feature request here.
n/a
[enhancement]

@christopheranderson we do have lint profiles for all the JS and TS samples.  npm run lint is a command that is available in all the package.json script command sections.  prettier is nice to have, IMHO.  not saying I wouldn't do it, it's just a lower priority in my mind.

Yeah, Scott. I dunno what I was looking at wrt es-lint being missing. It is there in every sample. I might have seen some stuff that linting would have caught. Maybe we're not running linting in CI so we're checking stuff in without enforcing linting? I'll figure it out.

I'm moving this out to the MQ milestone


Add a route to fix up service IP usage from the node.

(This was broken by the switch to iptables-based services, because the request would use the default IP rather than the tun0 IP, and then the response would come back via the wrong path and not get un-NAT-ed.)
Closes #232
@dcbw: maybe get this into the resync too?

LGTM


remove 'matcher' decorator in favor of direct matcher designation

to: @chunyong-lin
cc: @airbnb/streamalert-maintainers
Background
Our concept of 'matchers' is a bit weird and convoluted.. and requires using a string literal to specify a matcher. Instead, it'd be great to just import the function being used as a matcher and specify it directly in the decorator. This means matchers do not have to be 'registered', which adds unnecessary complexity and misdirection.
Changes

Removing the @matcher decorator and updating how matcher checking happens.
Moving the matchers directory to within the rules directory and updating rules to use the new direct definition of matchers (removing the string literal).
Moving the helpers top level directory that is for rules only to be within the rules directory as well, and updating all imports in rules.
Updating documentation to describe matchers better and fixing some typos/errors.

Testing

Adding unit tests for the new matchers functionality.
Removing old unit tests.
All current rule tests passing.

Coverage decreased (-0.009%) to 97.205% when pulling 7bdf16900fef799f39f33094ae61fcf50ddf6898 on ryandeivert-remove-matcher-decorator into d7747679c6f193cecafaaa1e272d47e46aadfb64 on master.


upgrade ClickHouse dependencies to V2

Codecov Report

Merging #1762 (87dcf09) into master (5144cc0) will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1762      +/-   ##
==========================================
- Coverage   71.25%   71.24%   -0.02%
==========================================
  Files         452      452
  Lines       43348    43348
==========================================
- Hits        30887    30882       -5
- Misses      10482    10488       +6
+ Partials     1979     1978       -1

Flag
Coverage Δ

go-1.15
?

go-1.16
?

go-1.17
71.24% <ø> (+<0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

os/gspath/gspath_cache.go
80.70% <0.00%> (-14.04%)
:arrow_down:

os/glog/glog_logger_rotate.go
67.31% <0.00%> (+1.46%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5144cc0...87dcf09. Read the comment docs.


Why compute the positional encodings in log space?

Why not with the original expression?
div_term = torch.exp(torch.arange(0, d_model, 2) *-(math.log(10000.0) / d_model))

I guess you just refer to the alternative but math equivalent expression in tensor2tensor. But still I can not figure out why use exp(log...). Compute faster or stable like the way calculating log_softmax?
I am also aware of that while tensor2tensor concatenate sin and cos, here interspace with each other. Are there something tricky?


PAR - BCP - PIB

What is the estimated difficulty of this data request?
Easy
What is the Source / Url of this Data
Banco Central del Paraguay
What is the format of the data source
Excel
What is the name of the new datasets or datasets?
(1) Activity - Paraguay - BCP - Gross Domestic Product - Supply Approach
(2) Activity - Paraguay - BCP - Gross Domestic Product - Expenditure Approach
In which repository will it be?
Paraguay Macro Basics
Which are the Entities of the new dataset
[Date, country]
What data should be extracted?
Both datasets come from the same file indicated below.

FOR DATASET (1) take the information from sheet 1 (PIB oferta).
WARNING: Take only the information up to Column AB (only nominal data, not variations (%)).

FOR DATASET (2) take the information from sheet 2 (PIB gasto).
WARNING: Take only the information up to Column AB (only nominal data, not variations (%)).

IMPORTANT:

Data should be in format: YY-MM-DD. As the information is in quarters, the month should be the first of each quarter. Quarters should be renamed as: Q1 = 01 , Q2= 04 , Q3 = 07 , Q4 = 10.
On each dataset add a column named "country" with the corresponding country (Paraguay).

Buen día, quería pedir si me pueden asignar este ISSUE.
Muchas gracias.
Saludos.


Remove unwanted code and data quality tab from entity details page

now we have a new profiler tab which takes care of profiler and data quality features, Need to remove unused code

It's already done 0.12


Add Slack app to repo

Hello.
We would like to get notifications of upcoming releases.
It would be a massive help if we could do it through Github's Slack integration.
Could you kindly install it?
Thank you

I would actually like to close this and I’m just gonna wait for one more person to agree with that. I really don’t want the Slack app on this repository but thank you


How to set Extensions from the Kameleo API?

What would be the proper code syntax form to set the Extensions for a profile from the Kameleo API?
Also, could your provide some example code?

Here is an example that you can use to set the Extensions for a profile through the API:
const createProfileRequest = BuilderForCreateProfile
  .forBaseProfile(chromeBaseProfileList[0].id)
  .setRecommendedDefaults()
  .setExtensions(['/path/to/extension1.crx', '/path/to/extension2.crx'])
  .build();
const profile = await client.createProfile({ body: createProfileRequest });

These answers are provided from the Kameleo Set Extensions from API article.


App Does not seem to receive notifications when in background or killed

Hello,
I am using your plugin to receive VoIP push notifications.
For sending push notifications i am using modified version of https://github.com/Hitman666/cordova-ios-voip-push/blob/master/pushSendingScript/simplepush.php
This works fine when app is open.
When the app is closed or in background, notifications are not coming.
I am using Meteor Cordova and this is on my local machine.
EDIT:
Sometimes when app is in background notification is coming, but i am getting this exception in XCode
Exception	NSException *	"Killing app because it never posted an incoming call to the system after receiving a PushKit VoIP push callback."	0x0000000281a58a20

Here is the code where i am receiving the notification
push.on('notification', function(data) {
    Logger.info("notification callback called")
    Logger.info(JSON.stringify(data))
    if (instance.state.isInBackground) {
        instance.state.gotInitiatedInBackground = true
        cordova.plugins.CordovaCall.setVideo(true);
        cordova.plugins.CordovaCall.receiveCall(data.extra.Username);
    }
    // do something based on received data
});

This works fine when app is open.
When the app is closed or in background, notifications are not coming.
Check your project settings in the Apple Developer console. Make sure you are using VOIP push notifications.

Sometimes when app is in background notification is coming, but i am getting this exception in XCode
Exception	NSException *	"Killing app because it never posted an incoming call to the system after receiving a PushKit VoIP push callback."	0x0000000281a58a20

I did mention why this is happening in the wiki section. Reason is because iOS requires us to tell it that there is a call coming in otherwise, the whole operation will be aborted.
I've also mentioned that background notifications won't work for this scenario. If you want to know more, it is right here. I'm sure you have gone through the entire thread there since you also did post there for answers. So, the backend have to be modified to accommodate VOIP push notifications as well. I think there's a type flag that you need to set. I don't remember the property name but it is just basically setting the type of push notification that you want to send out (eg. voip, alert, background, etc). Just check Apple's documentation on that.
To recap, 2 things you need to make sure:

Check settings from Apple Developer console for your project.
Backend services have to be able to push VOIP notifications.

Once you've done with both of them, you should have a working app. I highly suggest you read up on iOS push notifications for VOIP in Apple's documentation if you are still not clear about it.

I am kinda confused on the part Reason is because iOS requires us to tell it that there is a call coming in otherwise, the whole operation will be aborted In the code i have shared above (and below), i am triggering the call with  cordova.plugins.CordovaCall.receiveCall(data.extra.Username);. Isn't that reporting the call to the OS?
push.on('notification', function(data) {
    Logger.info("notification callback called")
    Logger.info(JSON.stringify(data))
    if (instance.state.isInBackground) {
        instance.state.gotInitiatedInBackground = true
        cordova.plugins.CordovaCall.setVideo(true);
        cordova.plugins.CordovaCall.receiveCall(data.extra.Username);
    }
    // do something based on received data
});
``
Also regarding the Apple Developer Console, i have a Voip Certificate that i am using with the simplepush.php script. Here is a screenshot of the dev console
https://prnt.sc/ue8eye

What do you mean by `Backend services have to be able to push VOIP notifications.`?
I am using the script https://github.com/Hitman666/cordova-ios-voip-push/blob/master/pushSendingScript/simplepush.php (a modified version). For the real deal we are probably going to use AWS SNS (which supports Voip Push)

I am kinda confused on the part Reason is because iOS requires us to tell it that there is a call coming in otherwise, the whole operation will be aborted. In the code i have shared above (and below), i am triggering the call with  cordova.plugins.CordovaCall.receiveCall(data.extra.Username);. Isn't that reporting the call to the OS?
push.on('notification', function(data) {
    Logger.info("notification callback called")
    Logger.info(JSON.stringify(data))
    if (instance.state.isInBackground) {
        instance.state.gotInitiatedInBackground = true
        cordova.plugins.CordovaCall.setVideo(true);
        cordova.plugins.CordovaCall.receiveCall(data.extra.Username);
    }
    // do something based on received data
});

No, it doesn't. I think you didn't read thoroughly thru the link I've provided and the wiki section. I did mention why in both of them.
in iOS 13, Cordova WebView won't initialize if the app is not started, upon receiving the VOIP Push Notification. It is started only when the incoming call is reported hence, everything must be handled natively.
I highly suggest you play around with your app's lifecycle to have a better understanding on this.

Also regarding the Apple Developer Console, i have a Voip Certificate that i am using with the simplepush.php script. Here is a screenshot of the dev console
https://prnt.sc/ue8eye
What do you mean by Backend services have to be able to push VOIP notifications.?
I am using the script https://github.com/Hitman666/cordova-ios-voip-push/blob/master/pushSendingScript/simplepush.php (a modified version). For the real deal we are probably going to use AWS SNS (which supports Voip Push)
If you mean about using apns-push-type header with the value voip, how would i be able to achieve this with the php script?
Right now the structure i am passing is the following
$payload = json_encode(
	array(
		'aps' => array('alert' => 'badge'),
		'data' => array(
	    'Username' => 'Alex5',
	    'ConnectionId' => 'XXXAlex8'
	    )
	)
);

https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns

That's exactly what I mean. Your current backend service/script is not able to send out VOIP notifications. All you are doing now is background/normal push notifications. I did mention there's something you need to include. Ah yes, apns-push-type. That's the one. The link that you've shared here already told you on how to do it. Just follow the documentation provided by Apple. It is under the topic, Create and Send a POST Request to APNs and apply it using PHP.
As for your actual environment, I highly suggest you ask Amazon about VOIP push functionality before using their service. AFAIK, there's no support for this on any 3rd party libraries/tools.

It seems that Amazon AWS has support for this
https://prnt.sc/uee456
I have created a new application there and i can send voip push notifications using the command
aws sns publish --target-arn "arn:aws:sns:us-east-1:{AccountID}:endpoint/APNS_VOIP_SANDBOX/{appName}/{DeviceTokenId}" --message-structure json --message '{ "default": "test", "APNS_VOIP": "{\"aps\":{\"alert\":\"hello\"},\"data\":aws sns publish --target-arn "arn:aws:sns:us-east-1:451280194776:endpoint/APNS_VOIP_SANDBOX/trusted-care-local/9b946eda-346a-3fbb-89fc-64b7ef4cc4d4" --message-structure json --message '{"APNS_VOIP_SANDBOX": "{\"aps\": {\"alert\": \"badge\"}, \"data\": { \"Username\": \"TestA\", \"ConnectionId\": \"XYZ\"}, \"priority\": \"high\"}"}' --message-attributes "{\"AWS.SNS.MOBILE.APNS.PRIORITY\":{\"DataType\":\"String\",\"StringValue\":\"10\"}, \"AWS.SNS.MOBILE.APNS.PUSH_TYPE\":{\"DataType\":\"String\",\"StringValue\":\"voip\"} }"

I still dont understanding how reporting the call to the OS can be achieved?
Why the merge is essential? This is essential because in iOS 13, Cordova WebView won't initialize if the app is not started, upon receiving the VOIP Push Notification. It is started only when the incoming call is reported hence, everything must be handled natively.

Does this mean i have to use another plugin or do something else to report the call to the OS?

The plugin will take care of that part when the app is not running. All you have to do is to send a notification to your app. If you said that you can push a VOIP notification, the plugin will react accordingly. If it doesn't, then you are not sending the proper one. It is as simple as that.

Does this mean i have to use another plugin or do something else to report the call to the OS?

If I could find one, I won't need to create myself.

It would be good if you can point me to an example how i can do that.

Wouldn't need an example because it is no different than handling normal push notifications. That is why I've mentioned several times to look at Apple's documentation on this or look at tutorials on how to handle typical push notifications.

Ok so what you are trying to say is that because i am sending 'wrong' type of push notification, the call is not reported to the OS with your plugin?
I tried 2 different php scripts, houston, and AWS SNS (with the Voip Config specified above) and all of them report this error
2020-09-10 08:26:05.181458+0200  Local[7936:2084907] [objC] didReceiveIncomingPushWithPayload: {
    alert = badge;
}
2020-09-10 08:26:05.181933+0200  Local[7936:2084907] [objC] received VoIP message: badge
2020-09-10 08:26:05.182201+0200  Local[7936:2084907] [objC] received data: {
    ConnectionId = Con123;
    Username = Alex5;
}
2020-09-10 08:26:05.182854+0200  Local[7936:2084907] -[__NSDictionaryI dataUsingEncoding:]: unrecognized selector sent to instance 0x281246a40
2020-09-10 08:26:05.183489+0200  Local[7936:2084907] [objC] error: -[__NSDictionaryI dataUsingEncoding:]: unrecognized selector sent to instance 0x281246a40
2020-09-10 08:26:05.184159+0200  Local[7936:2084907] Apps receving VoIP pushes must post an incoming call (via CallKit or IncomingCallNotifications) in the same run loop as   pushRegistry:didReceiveIncomingPushWithPayload:forType:[withCompletionHandler:] without delay.
2020-09-10 08:26:05.184473+0200  Local[7936:2084907] *** Assertion failure in -[PKPushRegistry _terminateAppIfThereAreUnhandledVoIPPushes], /Library/Caches/com.apple.xbs/Sources/PushKit/PushKit-37/PKPushRegistry.m:343
2020-09-10 08:26:05.186372+0200  Local[7936:2084907] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Killing app because it never posted an incoming call to the system after receiving a PushKit VoIP push callback.'
*** First throw call stack:
(0x1a53b9654 0x1a50dbbcc 0x1a52bc6ec 0x1a570216c 0x1b95a9ab8 0x103303730 0x103312488 0x1b95a8a70 0x103302338 0x103303730 0x103311710 0x1a53376bc 0x1a5332590 0x1a5331ba8 0x1af4a1344 0x1a946d3e4 0x102a07a38 0x1a51b98f0)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)

On this post on SO
https://stackoverflow.com/questions/42004063/voip-push-not-received-in-ios-device/52201060?fbclid=IwAR0gSTI_0QnCU6I8yBoHgcYI-WLXlVHO5CA_IrN5sNPQII5kcvMiyIUTj88
someone is mentioning Your BundleId may be wrong. and Note: Append .voip with your bundleid for sending voip push notification(exmple: bundleid.voip) but i dont think that is a problem for me - because the data is received and all seems ok, except reporting the call to the OS.
As an alternative, is it possible to provide me with a CURL request or something that i can use to call Apple APNS directly ? (although this is done with the scripts and everything already i assume).
Thanks a lot

2020-09-10 08:26:05.182201+0200  Local[7936:2084907] [objC] received data: {
    ConnectionId = Con123;
    Username = Alex5;
}
2020-09-10 08:26:05.182854+0200  Local[7936:2084907] -[__NSDictionaryI dataUsingEncoding:]: unrecognized selector sent to instance 0x281246a40
2020-09-10 08:26:05.183489+0200  Local[7936:2084907] [objC] error: -[__NSDictionaryI dataUsingEncoding:]: unrecognized selector sent to instance 0x281246a40

There's an error in the plugin which is caused by the payload that you sent in. If you look at the stack trace and trace back to the source code, it is trying to convert to a dictionary with an object, which it will fail since it expects a JSON string.

Also in our app we use https://github.com/phonegap/phonegap-plugin-push to interact with FCM and normal push notifications. Do you think this could interfere with your library somehow?

Not sure since I'm not using that plugin.

I tried calling directly the Apple APNS
curl -v \
-d '{"aps":{"alert":"Test","badge":42}, "data": {"Username": "Alex", "ConnectionId": "Alex123"}}' \
-H "apns-topic: com.trusted.care.local.voip" \
-H "apns-push-type: voip" \
-H "apns-priority: 10" \
--http2 \
--cert VOIP-local.pem \
https://api.development.push.apple.com/3/device/{token}

I am still getting the same error
rmboy4oucWjhWs7F8 (P. Nachna…)
2020-09-10 09:06:25.747679+0200  Local[7968:2095790] [objC] didReceiveIncomingPushWithPayload: {
    alert = Test;
    badge = 42;
}
2020-09-10 09:06:25.747874+0200  Local[7968:2095790] [objC] received VoIP message: Test
2020-09-10 09:06:25.748052+0200  Local[7968:2095790] [objC] received data: {
    ConnectionId = Alex123;
    Username = Alex;
}
2020-09-10 09:06:25.748780+0200  Local[7968:2095790] -[__NSDictionaryI dataUsingEncoding:]: unrecognized selector sent to instance 0x2827d5d00
2020-09-10 09:06:25.748990+0200  [7968:2095790] [objC] error: -[__NSDictionaryI dataUsingEncoding:]: unrecognized selector sent to instance 0x2827d5d00
2020-09-10 09:06:25.749409+0200  Local[7968:2095790] Apps receving VoIP pushes must post an incoming call (via CallKit or IncomingCallNotifications) in the same run loop as   pushRegistry:didReceiveIncomingPushWithPayload:forType:[withCompletionHandler:] without delay.
2020-09-10 09:06:25.749612+0200  Local[7968:2095790] *** Assertion failure in -[PKPushRegistry _terminateAppIfThereAreUnhandledVoIPPushes], /Library/Caches/com.apple.xbs/Sources/PushKit/PushKit-37/PKPushRegistry.m:343
2020-09-10 09:06:25.750407+0200  Local[7968:2095790] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Killing app because it never posted an incoming call to the system after receiving a PushKit VoIP push callback.'
*** First throw call stack:
(0x1a53b9654 0x1a50dbbcc 0x1a52bc6ec 0x1a570216c 0x1b95a9ab8 0x105ffb730 0x10600a488 0x1b95a8a70 0x105ffa338 0x105ffb730 0x106009710 0x1a53376bc 0x1a5332590 0x1a5331ba8 0x1af4a1344 0x1a946d3e4 0x104557a38 0x1a51b98f0)
libc++abi.dylib: terminating with uncaught exception of type NSException

Not sure what i am missing in the whole picture

I tried calling directly the Apple APNS
curl -v \
-d '{"aps":{"alert":"Test","badge":42}, "data": {"Username": "Alex", "ConnectionId": "Alex123"}}' \
-H "apns-topic: com.appbundle.local.voip" \
-H "apns-push-type: voip" \
-H "apns-priority: 10" \
--http2 \
--cert VOIP-local.pem \
https://api.development.push.apple.com/3/device/{token}

I am still getting the same error
rmboy4oucWjhWs7F8 (P. Nachna…)
2020-09-10 09:06:25.747679+0200  Local[7968:2095790] [objC] didReceiveIncomingPushWithPayload: {
    alert = Test;
    badge = 42;
}
2020-09-10 09:06:25.747874+0200  Local[7968:2095790] [objC] received VoIP message: Test
2020-09-10 09:06:25.748052+0200  Local[7968:2095790] [objC] received data: {
    ConnectionId = Alex123;
    Username = Alex;
}
2020-09-10 09:06:25.748780+0200  Local[7968:2095790] -[__NSDictionaryI dataUsingEncoding:]: unrecognized selector sent to instance 0x2827d5d00
2020-09-10 09:06:25.748990+0200  [7968:2095790] [objC] error: -[__NSDictionaryI dataUsingEncoding:]: unrecognized selector sent to instance 0x2827d5d00
2020-09-10 09:06:25.749409+0200  Local[7968:2095790] Apps receving VoIP pushes must post an incoming call (via CallKit or IncomingCallNotifications) in the same run loop as   pushRegistry:didReceiveIncomingPushWithPayload:forType:[withCompletionHandler:] without delay.
2020-09-10 09:06:25.749612+0200  Local[7968:2095790] *** Assertion failure in -[PKPushRegistry _terminateAppIfThereAreUnhandledVoIPPushes], /Library/Caches/com.apple.xbs/Sources/PushKit/PushKit-37/PKPushRegistry.m:343
2020-09-10 09:06:25.750407+0200  Local[7968:2095790] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Killing app because it never posted an incoming call to the system after receiving a PushKit VoIP push callback.'
*** First throw call stack:
(0x1a53b9654 0x1a50dbbcc 0x1a52bc6ec 0x1a570216c 0x1b95a9ab8 0x105ffb730 0x10600a488 0x1b95a8a70 0x105ffa338 0x105ffb730 0x106009710 0x1a53376bc 0x1a5332590 0x1a5331ba8 0x1af4a1344 0x1a946d3e4 0x104557a38 0x1a51b98f0)
libc++abi.dylib: terminating with uncaught exception of type NSException

Not sure what i am missing in the whole picture

Like I said before, your payload is incorrect in terms of both structure and data type. Go compare your current payload with the documentation in the README section. As for incorrect data type, refer to my previous post.

Ok my bad regarding the structure type, i added Caller. Now i need to compare the data type.

If you look at the log, the function currently sees your payload as an object. It needs to be a string in the format of JSON.

I guess you are referring to this part only?
2020-09-10 10:32:38.488719+0200 Local[8081:2121679] [objC] received data: {
    Caller =     {
        ConnectionId = Alex123;
        Username = Alex;
    };
}

I could not fix the structure on your plugin, therefore i forked it.
Here are the changes i have done
https://github.com/mattkhaw/cordova-plugin-callkit/compare/master...AleksandarTokarev:master
Also, here are the 3 ways in which this works.

AWS SNS
Houston
Direct CURL to Apple APNs
SimplePush Script works as well but i have not included this here

CURL
curl -v -d '{"aps":{"alert":"Test","badge":42}, "data": {"apn_call_name": "Alex1", "apn_call_id": "Alex123"}}' -H "apns-topic: com.bundleid.local.voip" -H "apns-push-type: voip" -H "apns-priority: 10" --http2 --cert VOIP-local.pem https://api.development.push.apple.com/3/device/{deviceId}
AWS SNS SANDBOX
aws sns publish --target-arn "arn:aws:sns:us-east-1:{accountId}:endpoint/APNS_VOIP_SANDBOX/{appName}/{deviceTokeb}" --message-structure json --message '{"APNS_VOIP_SANDBOX": "{"aps": {"alert": "badge"}, "data":  {"apn_call_name": "Alex", "apn_call_id": "Alex123"}, "priority": "high"}"}' --message-attributes "{"AWS.SNS.MOBILE.APNS.PRIORITY":{"DataType":"String","StringValue":"10"}, "AWS.SNS.MOBILE.APNS.PUSH_TYPE":{"DataType":"String","StringValue":"voip"} }"
HOUSTON
apn push "<{deviceToken}>" -c VOIP-local.pem -P "{ "aps": { "alert": "badge" }, "data": { "apn_call_name": "Alex5", "apn_call_id": "XXXAex10"}}"

Like I mentioned previously, all you have to do is to pass in a string, formatted as JSON. This is because of compatibility. If you do that way, you can add as many parameters as you want without modifying the plugin every time a change happens.
I'm aware that there are a few ways to do VOIP push notifications but I always create a custom library to handle this since it will be used in production. It is easier that way because I can debug 2 ends easily. Saves me tons of time instead of jumping through hoops like what you did here.

@mattkhaw  One more question,
Does your plugin apart from reporting the call also

Consult with your colleague who is doing the backend. There's no way to do it locally. Plus, if you do that, your users will feel awkward having different UIs. It is basic UI/UX design 101.

We deployed the version to Staging Environment, VOIP push notifications are coming when app is open and in background, but not when app is killed.
When app is killed the app crashes, here are the logs
https://gist.github.com/AleksandarTokarev/e0cf659739287b720f803cb88d10dd52
@mattkhaw  any idea why this is happening?

We deployed the version to Staging Environment, VOIP push notifications are coming when app is open and in background, but not when app is killed.
When app is killed the app crashes, here are the logs
https://gist.github.com/AleksandarTokarev/74068feadd728a4bd1c672a024482af4
@mattkhaw   any idea why this is happening?

No idea. Debug it yourself. It's your app. You should know what's wrong with it.

This guy on the Apple forums says this crash "0xbaadca11" is happening because a the VOIP push was not reported to Callkit
https://developer.apple.com/forums/thread/124517
The exception code "0xbaadca11" indicates that your app was killled for failing to report a CallKit call in response to a PushKit notificaiton.  That should have been clear in the crash log, but this particular requirement is implemented through multiple code paths and it looks like this one isn't as clear as the others.  For more details on the new requirement, take a look at:

Strange that this happens only when app is killed, otherwise it works ok

Then the only solution is to use Xcode to step through to see what’s wrong. Since you have your modified version of the plugin, check your modifications and see whether it is caused by it.

The only log i get is the one i posted above.
Since this does not occur when app is started by xcode, i cannot reproduce this locally
Regarding the changes, the only changes i did is with the payload as stated
https://github.com/mattkhaw/cordova-plugin-callkit/compare/master...AleksandarTokarev:master
I also tried some other forks but it seems to be same problem

Also i am seeing this thread here:
https://stackoverflow.com/questions/61130352/ios-app-crashing-when-recieving-pushkit-voip-notification-after-force-close?fbclid=IwAR2Zz_SVAT0a1m9Dc3gghaHxK_Y2mPE0gkLI-F-g2Em3eLGuPYEjiG0i2PY
Although this guy is not using Cordova, the problem is kinda the same.
I dont see that method "willFinishLaunchingWithOptions" in the code, so i wonder if something is missing

I managed to fix this by modifying the plugin in the following way:
https://github.com/luisbouca/cordova-plugin-callkit/compare/master...AleksandarTokarev:master
It seems that init() function was not being called when app was KILLED (TERMINATED), so a friend of mine helped me do small refactor and put the init() function code in the plugin initialize. This meant that Pushkit was not initialized (because it was in the init() method)
The init() method is still there, but it is called when that is initialized in Javascript
This is probably related to our Meteor Cordova app and how things are initialized in the app itself.
Now all works fine.
Thanks a lot @mattkhaw

Hello,
I see that this thread is closed, but we are experiencing the same problem still - I wonder if someone can help?
We have set up our Cordova app to receive VOIP Push notifications.
We have installed all 3 plugins:

CordovaCall
cordova-plugin-callkit
cordova-ios-voip-push

When we send a VOIP Push Notification (i.e. using Houston), using the following CURL command:
apn push "<439c8570d337fa9997cdcd19a016fe83e6867535a87de81739ad89705864995b>" -c voip_services_pem.pem -P "{ "aps": { "alert": {"Caller":{"Username": "Calitos", "ConnectionId": "12121212"}} }, "data": { "apn_call_name": "Zpot", "apn_call_id": "12121212"}}"
we can see in the Xcode log the VOIP notification arriving, with the payload / structure specified in the Callkit plugin:
2020-09-29 14:20:20.574586+0100 Spot[5919:2938863] [objC] didReceiveIncomingPushWithPayload: {
alert =     {
Caller =         {
ConnectionId = 12121212;
Username = Calitos;
};
};
}
2020-09-29 14:20:20.574801+0100 Spot[5919:2938863] [objC] received VoIP msg: {
Caller =     {
ConnectionId = 12121212;
Username = Calitos;
};
}
But the problem is that Cordova Call is not being called (I mean, nothing happens).
Can you please point me in the right direction?
What could we be missing here?
Thank you for your help masters!

Hello @neeact ,
You dont need to install 3 plugins, you only need this one (or the one that i forked to work with MeteorJS - but it would work in any case)
If you want to use my fork for IOS, you can add it like this (referencing latest commit).
cordova-plugin-callkit@https://github.com/AleksandarTokarev/cordova-plugin-callkit.git#4ffd7063a567e05d77da20f7f6a20128f81ee109

It seems you are missing the payload structure, you need it "data" : "Caller" : {...}
Here is how it looks:
With houston, you can use
apn push "<{deviceToken}>" -c VOIP-local.pem -P "{ \"aps\": { \"alert\": \"badge\" }, \"data\": {  \"Caller\": { \"Username\": \"Alex5\", \"ConnectionId\": \"XXXAex10\"}}}"

Our server is NodeJS backend based, so here is the code we have for sending there
let voip_protocol_value = `{"aps" : { "alert": "New Incoming Call" }, "data" : { "Caller": { "Username" : "${caller}", "ConnectionId": "${Random.id()}"}}}`
                let payload = {}
                payload['APNS_VOIP'] = voip_protocol_value
                let params = {
                    'Message': JSON.stringify(payload),
                    'MessageAttributes': {
                        'AWS.SNS.MOBILE.APNS.PRIORITY': {
                            'DataType': 'String',
                            'StringValue': '10'
                        },
                        'AWS.SNS.MOBILE.APNS.PUSH_TYPE': {
                            'DataType': 'String',
                            'StringValue': 'voip'
                        },
                        'AWS.SNS.MOBILE.APNS_VOIP.TTL': {
                            'DataType': 'String',
                            'StringValue': '0'
                        },
                    },
                    'MessageStructure': 'json',
                    'TargetArn':endpointArn
                }

If you want to test it locally, replace APNS_VOIP with APNS_VOIP_SANDBOX in both places

Thank you Aleksandar,
I tried your Houston code, but the CordovaCall was not fired and I got this in the log:
2020-09-29 16:53:34.560590+0100 Spot[6013:2985285] [objC] didReceiveIncomingPushWithPayload: {
alert = badge;
}
2020-09-29 16:53:34.560777+0100 Spot[6013:2985285] [objC] received VoIP message: badge
2020-09-29 16:53:34.560931+0100 Spot[6013:2985285] [objC] received data: {
Caller =     {
ConnectionId = XXXAex10;
Username = Alex5;
};
}
2020-09-29 16:53:34.561090+0100 Spot[6013:2985285] -[__NSSingleEntryDictionaryI dataUsingEncoding:]: unrecognized selector sent to instance 0x2836ec300
2020-09-29 16:53:34.562015+0100 Spot[6013:2985285] [objC] error: -[__NSSingleEntryDictionaryI dataUsingEncoding:]: unrecognized selector sent to instance 0x2836ec300
Should I remove the CordovaCall and iOS VOIP Push plugins?
Txs!

Yes remove than and leave only 1 plugin (my fork or Matthew's - but i had problem with the payload structure with his original plugin)

@neeact You can't use CordovaCall and cordova-ios-voip-push plugins independently, you need to use the combined plugin to achieve the desired effect. The sole reason why this exists is to make both plugins be able to talk to each other. Just remove both of them unless you want to use it separately and reduce code bulk. Otherwise, the combined one works fine.

Ok - I see - but we still need to retrieve the device token when it register for push notifications - is this also available in this combined plugin? If not, we will still need to use the cordova-ios-voip-push to get the device token with push.on('registration', function(data){ ... });
Regarding the problem we are having using the cordova-plugin-callkit plugin probably this is caused by the fact that using Houston or CURL to make the VOIP push call we are not able to send the payload as an actual JSON object - I guess we should try to send the voip push call using Node to see if this solves the problem.

Like I mentioned previously, all you have to do is to pass in a string, formatted as JSON. This is because of compatibility. If you do that way, you can add as many parameters as you want without modifying the plugin every time a change happens.

I did mention it here, if you did read all the way through that is.

@neeact With this plugin, you can use the code from cordova-ios-voip-push plugin (basically it is merged here), to listen for on registration event. With this, you can save the token in the database for lets say User A. After that, UserB wants to call UserA, checks the database if the VOIP token is in the database for that user, if it is, you can call directly Apple APN or use AWS SNS for that (my code above - have in mind this is another layer of complexity that you have to manage).
Also i was having problems with the JSON payload so that's why i ended up modifying the plugin in the first place

Yes - I read your comments and documentation thoroughly - but when we send the voip push with the string (fortades as a standard json), we receive an exception:
push being sent:
apn push "<439c8570d337fa9997cdcd19a016fe83e6867535a87de81739ad89705864995b>" -c voip_services_pem.pem -P '{ "aps": "{Caller:{Username: Calitos, ConnectionId: 12121212}}"}' or
apn push "<439c8570d337fa9997cdcd19a016fe83e6867535a87de81739ad89705864995b>" -c voip_services_pem.pem -P '{ "aps": "{Caller:{Username: "Calitos", ConnectionId: "12121212"}}"}'
Xcode log:
2020-09-30 09:32:13.901225+0100 Spot[6186:3112457] [objC] didReceiveIncomingPushWithPayload: {Caller:{Username: Calitos, ConnectionId: 12121212}}
2020-09-30 09:32:13.901592+0100 Spot[6186:3112457] -[__NSCFString objectForKeyedSubscript:]: unrecognized selector sent to instance 0x280d9c870
2020-09-30 09:32:13.901961+0100 Spot[6186:3112457] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString objectForKeyedSubscript:]: unrecognized selector sent to instance 0x280d9c870'
*** First throw call stack:
(0x1bdac5654 0x1bd7e7bcc 0x1bd9c9dd8 0x1bdac97f8 0x1bdacb71c 0x104bece5c 0x1d1cbaa3c 0x10620e338 0x10620f730 0x10621d710 0x1bda436bc 0x1bda3e590 0x1bda3dba8 0x1c7bb4344 0x1c1b793e4 0x104bb4c2c 0x1bd8c58f0)
libc++abi.dylib: terminating with uncaught exception of type NSException
When we analyse the log we can see that the push is received with the correct payload: {Caller:{Username: Calitos, ConnectionId: 12121212}} but it looks that when iOS tries to launch the call interface it throws an exception.
Do you know what is happening?
Can you point me to the right direction please?

@neeact Try it with this payload
apn push "<{deviceToken}>" -c VOIP-local.pem -P "{ \"aps\": { \"alert\": \"badge\" }, \"data\": {  \"Caller\": { \"Username\": \"Alex5\", \"ConnectionId\": \"XXXAex10\"}}}"

@AleksandarTokarev with your Fork and the push you suggest, the call interface is called!
However, if the App is in background or unloaded, the call is not triggered :(
Do you know why?
Isn't it supposed the VOIP push to work in background / unloaded app as well?

It should work in background/unloaded app as well. Are you using Meteor with Cordova or Ionic?
With my fork, this works for us in background/killed as well.

Ok - it's working in the background as well.
I had to uninstall the application and install it again in order for the voip push notifications work in the background (because when installing the App I had to authorize to receive notifications).
For the sake of sanity - after all this discussion, I leave below my conclusions:
1 - Use the cordova-plugin-callkit from AleksandarTokarev fork (@ https://github.com/AleksandarTokarev/cordova-plugin-callkit). The initial plugin from mattkhaw didn't work in our case...
2 - send a push notification with the following structure (using Houston as example): apn push "<{!device_token}>" -c voip_service_certificate_file.pem -P "{ "aps": { "alert": "Incoming call" }, "data": { "Caller": { "Username": "Alex5", "ConnectionId": "XXXAex10"}}}"
3 - if needed, uninstall your application and install it again to allow notifications in the background / app killed modes.
Thank you so much for your help @AleksandarTokarev !!!

@neeact No problem, i spend quite some time to figure it out myself. Glad i helped :)

Well done on all your efforts guys.
Just want to mention that I also had some issue with this plugin. I now that I'm sending VOIP notifications but things were not working out when the app was killed or in the background (xcode saying "Killing app because it never posted an incoming call..").
I also switched to use the cordova-plugin-callkit from AleksandarTokarev fork (@ https://github.com/AleksandarTokarev/cordova-plugin-callkit) and now things are working as expected.


Quest Log: Play/Queue button is still visible for quests without voiceover

Quest link: https://www.wowhead.com/classic/quest=1048/into-the-scarlet-monastery
Quest id: 1048
Error: Sound does not exist.
Image: https://i.kek.sh/PkYCrW3KadR.png
Problem: Quests without voiceover have a faulty button. The play state remains ON and it's messing up the queue.
Solution: To make the UI intuitive- I suggest removing the play/queue button from the Quest Log if it doesn't have a voiceover file associated.
Details:
WOW Classic era (Installed from CurseForge using the Curse addon manager)
Windows 10
Full list of addons:
Atlas Classic WoW
AtlasLootClassic
Auctionator
Bagnon ItemLevel
Bartender 4
Nova World Buffs
Plater nameplates
Questie
RareScanner
Routes
Spy Classic
Target Health
TomTom
WekAuras
WoW-ProGuides

If removing is not an option, here is an alternative:
Grey button out and display the error message n mouse over (Potentially better open than my original suggestion UX-wise)

we have someone working on this #36


Added Magic Number

Have you read the Contributing Guidelines on Pull Requests?
Yes
Description
Added Magic Number in C
Checklist

[ ✅] I've read the contribution guidelines.
[ ✅] I've checked the issue list before deciding what to submit.
[✅ ] I've edited the README.md and link to my code.

Related Issues or Pull Requests
#3878

Do review @HarshCasper @ankitaggarwal23 @iamrajiv


weird artifacts in borders of scene when remote rendering

the left and top borders of the scenes get a very different set of rgb values when rendering in a remote server (green borders) while this doesn’t happen locally. I’d be happy to go with anyone willing to reproduce, I have a repo I could share and guide anyone to get the same issue. I particularly don’t have a powerful enough local machine and so I need the renders to be the same, otherwise it might not work on the evaluation.
remote:

local:

to reproduce I'll need to add people to this repo. Let me know and I'll add you.
https://github.com/aldopareja/easy_object_detector/

@deanwetherby Here's the Slack conversation: https://machinecommonsense.slack.com/archives/CTR31V12M/p1605039551172800

@aldopareja Are you satisfied with your current solution? Can we close this issue?

Closing due to inactivity.


Refactor ChromadbRM to use collection's default embedding function

The previous PR #400 opened by @animtel set chromadb.utils.embedding_functions.DefaultEmbeddingFunction as the default query embedding function. This calls ONNXMiniLM_L6_V2 , which uses all-MiniLM-L6-v2 as the base embedding model.
This introduced unintended behavior where queries could be embedded using a different model than documents unless the embedding function was explicitly provided. If a model other than all-MiniLM-L6-v2 embeds queries, and the embedding function is not specified, the query and document embeddings will use different models. While this may be desired in some cases, this should not be the default behavior.
This PR changes the default query embedding method to use the collection's embedding function, accessed via the class. Users can still provide a custom embedding model.

Thanks for the catch @smwitkowski !


Merge to live!

Docs Build status updates of commit d74c9c9:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/concepts/privacy-and-security.md
:white_check_mark:Succeeded

docs/develop/add-in-manifests.md
:white_check_mark:Succeeded

docs/develop/create-addin-commands.md
:white_check_mark:Succeeded

docs/develop/referencing-the-javascript-api-for-office-library-from-its-cdn.md
:white_check_mark:Succeeded

docs/develop/specify-office-hosts-and-api-requirements.md
:white_check_mark:Succeeded

docs/develop/support-for-task-pane-and-content-add-ins.md
:white_check_mark:Succeeded

docs/develop/update-your-javascript-api-for-office-and-manifest-schema-version.md
:white_check_mark:Succeeded

docs/excel/custom-functions-overview.md
:white_check_mark:Succeeded

docs/excel/excel-add-ins-workbooks.md
:white_check_mark:Succeeded

docs/excel/make-custom-functions-compatible-with-xll-udf.md
:white_check_mark:Succeeded

docs/includes/file-get-the-whole-document-from-an-add-in-for-powerpoint-or-word.md
:white_check_mark:Succeeded

docs/project/create-a-project-add-in-that-uses-rest-with-an-on-premises-odata-service.md
:white_check_mark:Succeeded

docs/project/create-your-first-task-pane-add-in-for-project-by-using-a-text-editor.md
:white_check_mark:Succeeded

docs/project/project-add-ins.md
:white_check_mark:Succeeded

docs/word/dictionary-task-pane-add-ins.md
:white_check_mark:Succeeded

docs/word/search-option-guidance.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


New version: Google.Chrome.EXE version 129.0.6668.59

Created by 🥟 Dumplings in workflow run #8156.

Log
Updated: 128.0.6613.138 → 129.0.6668.59
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request

Microsoft Reviewers: Open in CodeFlow

@wingetbot run


Log processing delays in Check Enforcer.

This PR logs the processing delays between enqueue time (over on Webhook Router) and being received by Check Enforcer. I want to get a sense of the time that things are spending in the queue.

Merging this immediately so I can get some telemetry overnight.


[WIP] Implement pipeline scheduling via cron syntax

fixes #105

Codecov Report

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

@@           Coverage Diff           @@
##           master     #139   +/-   ##
=======================================
  Coverage   64.02%   64.02%
=======================================
  Files          25       25
  Lines        2171     2171
=======================================
  Hits         1390     1390
  Misses        626      626
  Partials      155      155

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9bcc31d...48ecb47. Read the comment docs.

This is ready to be merged 🤗

@michelvocks Well done! I'll take a look as soon as I can. :)


Add address fields in add fund's collective picker

User story

When I create a new organization for adding funds to a collective I am normally on their site looking up a logo or their website. It's a great opportunity to add an address as well which we know we'll need next year to file our taxes.

Best solution for this problem
In the collective picker used for AddFunds, add two optional fields: country and address in the create form CreateCollectiveMiniForm.

@JoyLubega are you still working on this?

Yeah, I am working on it. let me try to move faster
On Mon, Aug 10, 2020 at 11:02 AM Benjamin Piouffle<EMAIL_ADDRESS>wrote:

@JoyLubega https://github.com/JoyLubega are you still working on this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/opencollective/opencollective/issues/3299#issuecomment-671216666,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHDRICG5IBS4FBAZEVDD3XTR76SSTANCNFSM4ONEK6NQ
.

@Betree I am trying to find the exact form as described above. Is this the form?

@JoyLubega the form is mentioned in the issue description, it's CreateCollectiveMiniForm. We want to display the address only when it's used in AddFundsSourcePicker. This component is a bit tricky to test, you need to go to the host dashboard, pick a collective and click on Add Funds.
If you're not comfortable with that part of the code, I recommend looking at the other open issues that may be more accessible. Feel free to ask if you're not sure what to work on :slightly_smiling_face:

Let me give it a try. I will let you know by tommorrow

@Betree I think it might take me more time than I expected. I am unassigning myself

That was done in https://github.com/opencollective/opencollective-frontend/pull/4963


failing to install laravel 5.1

Problem 1
- illuminate/support v5.2.25 requires illuminate/contracts 5.3.* -> satisfiable by illuminate/contracts[5.3.x-dev] but these conflict with your requirements or minimum-stability.
- Conclusion: remove laravel/framework v5.1.35
- Conclusion: don't install laravel/framework v5.1.35
- Conclusion: don't install laravel/framework v5.1.34
- Conclusion: don't install laravel/framework v5.1.33
- Conclusion: don't install laravel/framework v5.1.32
- Conclusion: don't install laravel/framework v5.1.31
- Conclusion: don't install laravel/framework v5.1.30
- Conclusion: don't install laravel/framework v5.1.29
- Conclusion: don't install laravel/framework v5.1.28
- Conclusion: don't install laravel/framework v5.1.27
- Conclusion: don't install laravel/framework v5.1.26
- Conclusion: don't install laravel/framework v5.1.25
- Conclusion: don't install laravel/framework v5.1.24
- Conclusion: don't install laravel/framework v5.1.23
- Conclusion: don't install laravel/framework v5.1.22
- Conclusion: don't install laravel/framework v5.1.21
- Conclusion: don't install laravel/framework v5.1.20
- Conclusion: don't install laravel/framework v5.1.19
- Conclusion: don't install laravel/framework v5.1.18
- Conclusion: don't install laravel/framework v5.1.17
- Conclusion: don't install laravel/framework v5.1.16
- Conclusion: don't install laravel/framework v5.1.15
- Conclusion: don't install laravel/framework v5.1.14
- Conclusion: don't install laravel/framework v5.1.13
- Conclusion: don't install laravel/framework v5.1.12
- Conclusion: don't install laravel/framework v5.1.11
- Conclusion: don't install laravel/framework v5.1.10
- Conclusion: don't install laravel/framework v5.1.9
- Conclusion: don't install laravel/framework v5.1.8
- Conclusion: don't install laravel/framework v5.1.7
- Conclusion: don't install laravel/framework v5.1.6
- Conclusion: don't install laravel/framework v5.1.5
- Conclusion: don't install laravel/framework v5.1.4
- Conclusion: don't install laravel/framework v5.1.3
- Conclusion: don't install laravel/framework v5.1.2
- Conclusion: don't install laravel/framework v5.1.1
- unicodeveloper/laravel-identify 1.1.0 requires illuminate/support 5.2.* -> satisfiable by illuminate/support[v5.2.0, v5.2.19, v5.2.21, v5.2.24, v5.2.25, v5.2.26, v5.2.27, v5.2.28, v5.2.31, v5.2.6, v5.2.7].
- unicodeveloper/laravel-identify 1.1.1 requires illuminate/support 5.2.* -> satisfiable by illuminate/support[v5.2.0, v5.2.19, v5.2.21, v5.2.24, v5.2.25, v5.2.26, v5.2.27, v5.2.28, v5.2.31, v5.2.6, v5.2.7].
- don't install illuminate/support v5.2.0|don't install laravel/framework v5.1.0
- don't install illuminate/support v5.2.19|don't install laravel/framework v5.1.0
- don't install illuminate/support v5.2.21|don't install laravel/framework v5.1.0
- don't install illuminate/support v5.2.24|don't install laravel/framework v5.1.0
- don't install illuminate/support v5.2.26|don't install laravel/framework v5.1.0
- don't install illuminate/support v5.2.27|don't install laravel/framework v5.1.0
- don't install illuminate/support v5.2.28|don't install laravel/framework v5.1.0
- don't install illuminate/support v5.2.31|don't install laravel/framework v5.1.0
- don't install illuminate/support v5.2.6|don't install laravel/framework v5.1.0
- don't install illuminate/support v5.2.7|don't install laravel/framework v5.1.0
- Installation request for laravel/framework 5.1.* -> satisfiable by laravel/framework[v5.1.0, v5.1.1, v5.1.10, v5.1.11, v5.1.12, v5.1.13, v5.1.14, v5.1.15, v5.1.16, v5.1.17, v5.1.18, v5.1.19, v5.1.2, v5.1.20, v5.1.21, v5.1.22, v5.1.23, v5.1.24, v5.1.25, v5.1.26, v5.1.27, v5.1.28, v5.1.29, v5.1.3, v5.1.30, v5.1.31, v5.1.32, v5.1.33, v5.1.34, v5.1.35, v5.1.4, v5.1.5, v5.1.6, v5.1.7, v5.1.8, v5.1.9].
- Installation request for unicodeveloper/laravel-identify 1.1.* -> satisfiable by unicodeveloper/laravel-identify[1.1.0, 1.1.1].

Sorry about that, I used Illuminate/support 5.2.* meaning you might have to upgrade your app to Laravel 5.2. I built this on 5.2 @josina08

thanks...upgrading to 5.2


Feature/interpreter/user defined value condition

Types of PR

[ ] New Features
[x] Upgrade of existing features
[ ] Bugfix

Description

DON’T MERGE THIS PULL REQUEST!
THIS PULL REQUEST HAS NO BACKWARD COMPATIBILITY!


WIP: Refactoring

Codecov Report
Base: 75.82% // Head: 75.82% // No change to project coverage :thumbsup:

Coverage data is based on head (e907d5f) compared to base (9261440).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #128   +/-   ##
=======================================
  Coverage   75.82%   75.82%
=======================================
  Files          15       15
  Lines        1299     1299
=======================================
  Hits          985      985
  Misses        314      314

Flag
Coverage Δ

unittests
75.82% <0.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Filter : issue when some properties are null (deep object filter)

When using filter (filterFilter function) with deep object and optional properties (means nullable), filter throws an error "TypeError: Cannot read property 'x' of null '
I believe that a null value property check is missing when dealing with object
By the way the orderBy filter is not concerned by this issue.
I solved it in my project by replacing the following line in the deepCompare function used by filterFilter function.
var actualVal = matchAnyProperty ? actual : actual[key];

with
var actualVal = (matchAnyProperty || actual == null) ? actual : actual[key];

The issue is on actual[key]
Angular version : 1.3.12
Reproducible: Always
Jsfiddle : http://jsfiddle.net/k25y4bg2/

This is a valid issue. I have left a comment on what I consider to be an appropriate fix at https://github.com/angular/angular.js/pull/10992#issuecomment-73227008


Include AWS Compute Optimizer data in the CUDOS dashboard

AWS Compute optimizer provide a really good suggestions to save costs in AWS. May be include this data also in one of the dashboards will be handy specially the service provide the necessary APIs to automate data export to S3

for data collection we already have this: https://www.wellarchitectedlabs.com/cost/300_labs/300_optimization_data_collection/
dashboard itself is in the roadmap


Only build docs if /docs files changed

Currently, any edit on main triggers a docs build. This is wasteful; only changes inside /docs folder on main should trigger the docs build.
The docs-build action is here: https://github.com/agardnerIT/tracepusher/blob/main/.github/workflows/deploy_docs.yml
This issue will see that workflow only running on changes to the /docs folder.

Done


Upload file is not working, at least in version 2.15.5

Description:
Doesn't work when we want to upload files throw the Desktop App, it remains on 0%.
-> Throw Mobile App works perfectly, then is not a Server issue.

Please test if the latest release did solve this. If not please reopen the issue or create a new one and tell us. I will be closing this one for now.
Thank you!


boards: pca10056: remove conflicting spi2 node

Commit 5b4f4253c196
("drivers: flash: add Nordic JEDEC QSPI NOR flash driver")'
added SPI2 pin properties wich are in conflict with CS pin
of the SPI3, pin D9, and pin D8 routed to Arduino connector
of the pca10056 board. This change has broken any shield
support on this board. Remove conflicting SPI2 node.

The change to spi2 in that commit is absolutely wrong, but the correct fix would be the one below, which retains the configuration necessary to use spi2 for the flash, while leaving the peripheral disabled and under QSPI control.
 &spi2 {
        compatible = "nordic,nrf-spi";
-       status = "okay";
-       sck-pin = <42>;
-       mosi-pin = <43>;
-       miso-pin = <44>;
+       status = "disabled";
+       sck-pin = <19>;
+       mosi-pin = <20>;
+       miso-pin = <21>;
 };

But the pins are used for qspi node, I do no really understand the reason to have spi2 node.
&qspi {
	status = "okay";
	sck-pin = <19>;
	io-pins = <20>, <21>, <22>, <23>;
	csn-pins = <17>;
	mx25r64: mx25r6435f@0 {

But the pins are used for qspi node, I do no really understand the reason to have spi2 node.

Sorry, I wasn't clear in my original comment.
The pins are hard-wired to the MX25R64 device, which can be controlled by either QSPI or SPI drivers.  The addition of the QSPI driver did change the default interface to the flash to be QSPI, but there are cases (such as driver performance comparison) where being able to access it by SPI is useful.  (I had done this during early analysis of the QSPI infrastructure, and now have alternative conf/devicetree overlays that do enable the SPI-based implementation.)
Deleting the spi2 instance entirely makes it much harder to switch between the interfaces, and adds no real value over providing the interface and leaving it disabled so that the QSPI driver can use them by default, and SPI2 can use them when selected by overlay.

Deleting the spi2 instance entirely makes it much harder to switch between the interfaces, and adds no real value over providing the interface and leaving it disabled so that the QSPI driver can use them by default, and SPI2 can use them when selected by overlay.

okay, thanks @pabigot . Should I let config SPI_2 enabled?

okay, thanks @pabigot . Should I let config SPI_2 enabled?

No, I think it's OK to remove it from default enabled since the devicetree node is not enabled.  Anybody who overrides that can also override the Kconfig.
Thanks.

It was my silly mistake - I have checked if the rest of peripehrial has been using those pins, but I missed arduino shield. Sorry!
According to your changes - disabling SPI2 without any additional steps will indicate compilation errors of spi_flash sample.
What I propose is to disable SPI2 exactly how you did and additionally add CONFIG_SPI=n in samples/drivers/spi_flash/boards/nrf52840_pca10056.conf.
This change is obligatory if you set SPI2 as okay, since :

spi_flash sample uses CONFIG_SPI by default
When SPI2 was disabled it was ok, since it was ignored.
When SPI2 was enabled, during compilation of an example it tried to use exactly SPI2 instead of QSPI becouse SPI instance was enabled.

It was my silly mistake - I have checked if the rest of peripehrial has been using those pins, but I missed arduino shield. Sorry!
According to your changes - disabling SPI2 without any additional steps will indicate compilation errors of spi_flash sample.
What I propose is to disable SPI2 exactly how you did and additionally add CONFIG_SPI=n in samples/drivers/spi_flash/boards/nrf52840_pca10056.conf.
This change is obligatory if you set SPI2 as okay, since :
1. `spi_flash` sample uses `CONFIG_SPI` by default

2. When SPI2 was disabled it was ok, since it was ignored.

3. When SPI2 was enabled, during compilation of an example it tried to use exactly `SPI2` instead of `QSPI` becouse `SPI` instance was enabled.

samples/drivers/spi_flash compiles and works fine with this PR:
*** Booting Zephyr OS build zephyr-v2.1.0-2064-g2f96be44230c  ***

JEDEC QSPI-NOR SPI flash testing
==========================

Test 1: Flash erase
Flash erase succeeded!

Test 2: Flash write
Attempting to write 4 bytes
Data read matches data written. Good!!

@kamlaz Yes, since spi2 is disabled in devicetree this should be fine as-is.

@lemrey @ioannisg @carlescufi could we get at least one more review on this one?

@kamlaz @anangl could you please review?
@jhedberg this is a bugfix so no rush.


Presenting Parchment navigation as a Modal from main root view controller, will there be memory leak?

Presenting Parchment navigation as a Modal from main root view controller, when dismissing it, will there be memory leak?
By looking at this line, it initialize it lazily. If the Parchment dismissed, then each of these view controller need to be set to nil. right?
https://github.com/rechsteiner/Parchment/blob/7e74baa090e53fbe1512b751784c3aac95359152/DelegateExample/ViewController.swift#L50
In other words, does pagingViewController need to be set to nil before dismissing its parent?

The view controllers are only referenced by the PagingViewController class, and when you dismiss it they should all be deallocated. You should not have to set anything to nil manually. You can test this pretty easily by logging something from the deinit method of the view controllers you are showing. Let me know if you are actually seeing any memory leaks!

thanks. it seems there is no memory leak. the memory leak cause by other issues but not in Parchment. Thanks


Connect to trigger each time it is created

In SwiftUI init may be called multiple times when the view is already shown (overwriting the initial trigger).
We have to subscribe to the timer publisher each time a new timer is created for the animations to continue after the already presented view using Liquid() is rendered again.

Thank you for this!


renderSummary with labels

What this PR does / why we need it (변경 내용 / 필요성):
쿼리 결과 외에도 config에 따른 labels를 반영하기 위해 변경
Which issue(s) this PR fixes (관련 이슈):

#111

Special notes for your reviewer (리뷰어에게 하고 싶은 말):
리뷰 감사합니다.
Additional documentation, usage docs, etc. (기타 관련 문서, 사용법 등):

Codecov Report
Patch coverage is 73.40% of modified lines.
:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

Files Changed
Coverage

pkg/handler/api/error.go
0.00%

pkg/handler/config.go
0.00%

pkg/handler/handle_spa.go
ø

pkg/handler/auth.go
6.06%

pkg/mocker/client/client.go
6.45%

pkg/handler/datasource.go
15.38%

pkg/service/alerting/types.go
25.00%

main.go
30.00%

pkg/service/user/user.go
30.00%

pkg/handler/dashboard.go
50.00%

... and 23 more

:loudspeaker: Thoughts on this report? Let us know!.

리뷰 감사합니다. merge 합니다.


Add buffer time for new cluster and check pods status

Release note:

NONE

fixes https://github.com/istio/istio/issues/900
better fixes https://github.com/istio/istio/issues/799

@yutongz: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
28eaa13cd1845718bac452bf6c7718acb91b789e
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/assign @sebastienvas
/assign @andraxylia

@yutongz: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-suite-rbac-no_auth.sh
7a51fedc7d044c8ee9f395829d79930b8fb4abce
link
/test e2e-suite-rbac-no_auth

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@yutongz: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-suite-rbac-no_auth.sh
7a51fedc7d044c8ee9f395829d79930b8fb4abce
link
/test e2e-suite-rbac-no_auth

prow/e2e-suite-rbac-auth.sh
7a51fedc7d044c8ee9f395829d79930b8fb4abce
link
/test e2e-suite-rbac-auth

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@yutongz: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-suite-rbac-no_auth.sh
7a51fedc7d044c8ee9f395829d79930b8fb4abce
link
/test e2e-suite-rbac-no_auth

prow/e2e-suite-rbac-auth.sh
7a51fedc7d044c8ee9f395829d79930b8fb4abce
link
/test e2e-suite-rbac-auth

prow/istio-presubmit.sh
0e2b99ef21678fb05bdf6a4f90ed45555d96e28d
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/lgtm

/lgtm


train problem

hello nothinglo~  Thank you for sharing the code.
I run the supervised code with the same setting and data.
but the train loss and test loss didnot fall.

can you give me some suggestions?
thank you.

I think it is because I add a negative sign to the loss so I am maximizing the loss, not minimizing.


got some error when run crow

Hi everyone, I have tried to run some examples of code using crow but I faced a problem so I need your help.
my code
#include "crow_all.h"

int main()
{
    crow::SimpleApp app;

    CROW_ROUTE(app, "/")([](){
        return "Hello world";
    });

    app.port(18080).multithreaded().run();
}

CMakelist.txt
cmake_minimum_required(VERSION 3.15)
project(untitled)

set(CMAKE_CXX_STANDARD 11)

add_executable(untitled main.cpp)

SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -pthread -lboost_system")

Error:
CMakeFiles/untitled.dir/main.cpp.o: In function `__static_initialization_and_destruction_0(int, int)':
/usr/include/boost/system/error_code.hpp:206: undefined reference to `boost::system::generic_category()'
/usr/include/boost/system/error_code.hpp:208: undefined reference to `boost::system::generic_category()'
/usr/include/boost/system/error_code.hpp:210: undefined reference to `boost::system::system_category()'
CMakeFiles/untitled.dir/main.cpp.o: In function `boost::system::error_code::error_code()':
/usr/include/boost/system/error_code.hpp:439: undefined reference to `boost::system::system_category()'
CMakeFiles/untitled.dir/main.cpp.o: In function `boost::system::error_category::std_category::equivalent(int, std::error_condition const&) const':
/usr/include/boost/system/error_code.hpp:656: undefined reference to `boost::system::generic_category()'
/usr/include/boost/system/error_code.hpp:659: undefined reference to `boost::system::generic_category()'
CMakeFiles/untitled.dir/main.cpp.o: In function `boost::system::error_category::std_category::equivalent(std::error_code const&, int) const':
/usr/include/boost/system/error_code.hpp:686: undefined reference to `boost::system::generic_category()'
/usr/include/boost/system/error_code.hpp:689: undefined reference to `boost::system::generic_category()'
/usr/include/boost/system/error_code.hpp:701: undefined reference to `boost::system::generic_category()'
CMakeFiles/untitled.dir/main.cpp.o: In function `boost::asio::error::get_system_category()':
/usr/include/boost/asio/error.hpp:230: undefined reference to `boost::system::system_category()'
collect2: error: ld returned 1 exit status

Did you installed boost in your system?

Did you installed boost in your system?

@mrozigor yeppp, i have installed boost

Maybe try to use find_package( Boost 1.52 COMPONENTS system thread REQUIRED ) in your CMakeLists.txt file as in project's CMakeLists.txt file?

Maybe try to use find_package( Boost 1.52 COMPONENTS system thread REQUIRED ) in your CMakeLists.txt file as in project's CMakeLists.txt file?

I hve tried and it cannot find  COMPONENTS system thread REQUIRED!

So it means that you don't have installed boost-1.52. Can you give me some output from your package manager with boost version?

@mrozigor  It said "Could NOT find Boost (missing: filesystem)", Can you help me to solve that problem?

It looks like problem with boost installation. Or maybe path to library isn't set. Try to find the solution through goole.

I'm facing the same issue but this command "find_package( Boost 1.52 COMPONENTS system thread REQUIRED )" was successfully able to find boost. How do I successfully run the entire code?

Maybe try https://stackoverflow.com/a/27696770 ?


feat: specify the configuration path to use AMF version 1.6.0

Description
TLS paths and  the configuration paths are parameterized in the Upstream with AMF version 1.6.0.
To use the Workload 1.6.0 and higher versions, this PR which specifies configuration and TLS file paths is required.
Warning: A new Rock version (1.6.0 or higher) should be used with this PR. Integration tests fails until we create a new Rock version and start to use it.
Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that validate the behaviour of the software
[ ] I validated that new and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules
[ ] I have bumped the version of the library

New ROCK for AMF is available.

I am waiting for 1.6.1 version to be published by Gabriel today or tomorrow.


Ensures Category Values Order Holds on Filter Change

DEV-9644
Ensures Category Values Order Holds on Filter Change
Testing Steps

Get config from ticket, copy locally to example in dashboard project
Run dashboard project, edit first map in the dashboard
In Legend section, change category values order
Change filter dropdown in preview
Change filter dropdown back, ensure change made to category values order was not erased

Self Review

I have added testing steps for reviewers
I have commented my code, particularly in hard-to-understand areas
My changes generate no new warnings
New and existing unit tests are passing

LGTM!


[C++, Parquet] dictionary(..., large_string) type not preserved when writing to Parquet

(tested on pyarrow-13.0.0, Linux x64)
When writing a dictionary encoded column of large_string type to Parquet file and reading it back, it is read back as a plain string type.
Repro in Python but I see the same in C++:
>>> import pyarrow as pa
>>> import pyarrow.compute as pc
>>> import pyarrow.parquet as pq

>>> strings = pc.dictionary_encode(pa.array(["foo, bar, foo"], pa.large_string()))
>>> table = pa.table([strings], ["strings"])
>>> table.schema
strings: dictionary<values=large_string, indices=int32, ordered=0>

>>> pq.write_table(table, "table.parquet")
>>> pq.read_table("table.parquet").schema
strings: dictionary<values=string, indices=int32, ordered=0>

I'd expect to get it back as a dictionary<values=large_string, indices=int32, ordered=0> type.
Component(s)
C++, Parquet, Python

Currently we're not able to read large-dictionary, and https://github.com/apache/arrow/pull/35825 This patch is unmerged

@mattaubury Parquet Internal doesn't regard dictionary as a "type", instead, it regard it as an "encoding", that is saied, writing dictionary to parquet doesn't means the encoding is dictionary. During read, currently because of the patch is un-merged, so we're unable to read large-binary dict from parquet


"Timed out waiting for deployment completion" errors

It appears that after some deployments, I started to get some "timed out waiting for deployment completion" errors. Not sure if it's related to the other ones that have been reported.
https://gist.github.com/anonymous/3eab90a37ba002d920bd
https://gist.github.com/anonymous/d3c09352564b3b481e2c
Any help will be appreciated. It seems there are long periods where there are timeouts in etcd. Also there seems to be issues in discoverd.
501: All the given peers are not reachable (Tried to connect to each peer twice and failed) [0]

I'm looking at this now. The etcd failures were reported upstream at coreos/etcd#2791 with no resolution, but I'm not sure that this is the cause of the deploy failures.

@tianx2 please gist the output of the following (a list of all your app's formations):
flynn -a controller pg psql -- -c "SELECT * FROM formations WHERE app_id = '67c14ade-3181-4984-9927-7a97a001932a'"

@lmars
https://gist.github.com/tianx2/2b226826d789aa3df779

@tianx2 Just to clarify, it looks like you have provided log dumps for two single-node clusters, we have been looking at ip-10-100-60-101. Which cluster did you run that command against?

@titanous I just realized that and I updated the gist.
https://gist.github.com/tianx2/2b226826d789aa3df779

@tianx2 so it seems your scheduler has stopped functioning correctly. We are in the process of implementing a new scheduler (#1484), and this particular issue will be fixed once that lands (as it will have an anti-entropy routine to keep in sync with the cluster).
In the meantime, I recommend restarting your scheduler and then retrying your deployment.
If you have any trouble, or you want clarification on these steps, feel free to join us in IRC (Freenode #flynn).

Thanks @lmars! I will probably run these steps tomorrow. I will let you know how it goes. I'll hop into the IRC channel if I have any questions.

Thanks again @titanous @lmars for the support. The issue seems to be resolved now.

The first step needs to be updated to this:
MANUAL_ID=$(flynn -a controller run -d -e sh -- -c "PORT=5000 /bin/start-flynn-controller scheduler")


Update PrototypeBoards.md

OPS Build status updates of commit 09609b2:
:clock10: Preparing: average preparing time is 42 sec(s)

OPS Build status updates of commit 09609b2:
:clock10: Incremental building: average incremental building time is 18 sec(s)

OPS Build status updates of commit 09609b2:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

windows-iotcore/tutorials/quickstarter/PrototypeBoards.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Handle SignalException in import task; don't rely on Delayed::Job for restarts

Who is this PR for?
Nightly import job.
What problem does this PR fix?
Two problems.
First problem: the nightly import job often gets interrupted by Heroku deploys or restarts. This causes it to end. We'd like to gracefully restart. As @kevinrobinson writes in delayed_job_config.rb:

The failure cases we've seen are running out of memory or a dyno restart from a config change, when Heroku sends a SIGERM and then SIGKILL.  In that case, we want want the job to be retried one more time and then be marked as "failed" and not retried anymore if it fails the second time.

Second problem: Delayed::Job isn't restarting jobs that fail, even after @kevinrobinson changed the config in #1613.
Quoting @kevinrobinson again:

It doesn't look like "destroyed_failed_jobs = false" worked. Logs show this line: Job ImportJob (id=73) REMOVED permanently because of 1 consecutive failures. That's the opposite of what I thought that config line would do :\ So I think we are still in a state where if there's a deploy, the job just gets interrupted and dropped.
...
And in trying to debug this now, I can't seem to get the workers to pick up jobs in the queue. It may be there's some "backoff on failure" config that I can't understand. The README in their repo doesn't describe this though so I got stuck and couldn't debug further because I couldn't get any jobs to run. Before stopping, I cleared the queue again so it was empty when I stopped.

What does this PR do?
Add code to handle restarting the job ourselves. This logic is very simple to add, whereas the Delayed::Job config doesn't seem to work properly and is very difficult to read and debug. I'd rather skip dealing with Delayed::Job and just roll this ourselves.
GIF

This shows how interrupting the worker task causes the job to log the signal interruption, re-try exactly once, and then give up if interrupted again leaving now Delayed::Job behind.
Next steps

Trigger a manual import job and a manual heroku restart in production to verify that this works as expected
Verify that removing the Delayed::Job config for destroy_failed_jobs and max_attempts has no effect

selfie 👍

Initial results from testing with a manual restart on Heroku were . . . fair-to-good?
The good is that a restart job was successfully queued and started.
The bad is that that second job ended pretty quickly and it's not clear from Logentries or the Import Records page why.
I added some more logging in #1639 and #1640, hoping that these make it easier to see more about the jobs.


Jeadie/24 12 12/update

Hi @Jeadie! Please let me know when this is ready for review.

Sorry this is an accidental merge. We have a couple of improvements we need for spiceai/spiceai that we keep in https://github.com/spiceai/mistral.rs


Add Authorization Rule support

Add support for rules in Management client.

Related to https://github.com/Azure/azure-sdk-for-java/issues/10191


any way to change mtime only?

Hi,
Is there any way to change mtime only? (which is similar to Linux's touch command).
I found there are modify() and modifyBinary(). But the content (data) must be provided, which means that though I could change the mtime by writing same content, it's very inefficient. I also tried to pass undefined to data but received no luck.
Another related issue is that the api also lacks the support of appending file instead of rewriting file. Is it also possible to do that?
Thank you so much!

Yeah so if I understand it correctly it will end up with something like this:

2020-01-01 Disconnect sync
2020-06-01 Modify my file "note.md"
2020-12-01 Reconnect sync
Uploads note.md
Remote now says note.md modified on 2020-12-01 (because it was just uploaded)
Update the local mtime to 2020-12-01 (because the times don't match)
Original mtime is now lost

Is that correct?

This should now be achiveable with append - just append nothing, and set the write options to overwrite the mtime.


mariadb.connector-c: 2.3.5 -> 2.3.6

Motivation for this change
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
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 nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build mariadb mariadb.connector-c

Success on x86_64-linux (full log)
Attempted: mariadb, mariadb.connector-c
Partial log (click to expand)
shrinking /nix/store/k5i2cyf6sn9fk6ahg465vw81mzshc5rv-mariadb-connector-c-2.3.6/bin/mariadb_config
strip is /nix/store/4mf2xm9p32lzrim927yk92xhx35yaz62-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/k5i2cyf6sn9fk6ahg465vw81mzshc5rv-mariadb-connector-c-2.3.6/lib  /nix/store/k5i2cyf6sn9fk6ahg465vw81mzshc5rv-mariadb-connector-c-2.3.6/bin
patching script interpreter paths in /nix/store/k5i2cyf6sn9fk6ahg465vw81mzshc5rv-mariadb-connector-c-2.3.6
checking for references to /build in /nix/store/k5i2cyf6sn9fk6ahg465vw81mzshc5rv-mariadb-connector-c-2.3.6...
'/nix/store/k5i2cyf6sn9fk6ahg465vw81mzshc5rv-mariadb-connector-c-2.3.6/bin/mysql_config' -> 'mariadb_config'
'/nix/store/k5i2cyf6sn9fk6ahg465vw81mzshc5rv-mariadb-connector-c-2.3.6/lib/mysql' -> 'mariadb'
'/nix/store/k5i2cyf6sn9fk6ahg465vw81mzshc5rv-mariadb-connector-c-2.3.6/include/mysql' -> 'mariadb'
/nix/store/926dql0lnvg8dd6dapjvhndhf4bv97ba-mariadb-10.2.15
/nix/store/k5i2cyf6sn9fk6ahg465vw81mzshc5rv-mariadb-connector-c-2.3.6

Success on aarch64-linux (full log)
Attempted: mariadb, mariadb.connector-c
Partial log (click to expand)
/nix/store/j4sd6l3x2wdyf8ks48vjh4n7rjxp7qjj-mariadb-10.2.15/bin/mysql_config: interpreter directive changed from "/bin/sh" to "/nix/store/252xdg4j71784qsxkq26kh97cbydn9pp-bash-4.4-p19/bin/sh"
/nix/store/j4sd6l3x2wdyf8ks48vjh4n7rjxp7qjj-mariadb-10.2.15/bin/msql2mysql: interpreter directive changed from "/bin/sh" to "/nix/store/252xdg4j71784qsxkq26kh97cbydn9pp-bash-4.4-p19/bin/sh"
/nix/store/j4sd6l3x2wdyf8ks48vjh4n7rjxp7qjj-mariadb-10.2.15/bin/mysql_install_db: interpreter directive changed from "/bin/sh" to "/nix/store/252xdg4j71784qsxkq26kh97cbydn9pp-bash-4.4-p19/bin/sh"
/nix/store/j4sd6l3x2wdyf8ks48vjh4n7rjxp7qjj-mariadb-10.2.15/share/mysql/mysql.server: interpreter directive changed from "/bin/sh" to "/nix/store/252xdg4j71784qsxkq26kh97cbydn9pp-bash-4.4-p19/bin/sh"
/nix/store/j4sd6l3x2wdyf8ks48vjh4n7rjxp7qjj-mariadb-10.2.15/share/mysql/wsrep_notify: interpreter directive changed from "/bin/sh -eu" to "/nix/store/252xdg4j71784qsxkq26kh97cbydn9pp-bash-4.4-p19/bin/sh -eu"
/nix/store/j4sd6l3x2wdyf8ks48vjh4n7rjxp7qjj-mariadb-10.2.15/share/mysql/binary-configure: interpreter directive changed from "/bin/sh" to "/nix/store/252xdg4j71784qsxkq26kh97cbydn9pp-bash-4.4-p19/bin/sh"
/nix/store/j4sd6l3x2wdyf8ks48vjh4n7rjxp7qjj-mariadb-10.2.15/share/mysql/mysqld_multi.server: interpreter directive changed from "/bin/sh" to "/nix/store/252xdg4j71784qsxkq26kh97cbydn9pp-bash-4.4-p19/bin/sh"
checking for references to /build in /nix/store/j4sd6l3x2wdyf8ks48vjh4n7rjxp7qjj-mariadb-10.2.15...
/nix/store/j4sd6l3x2wdyf8ks48vjh4n7rjxp7qjj-mariadb-10.2.15
/nix/store/4mkjahd32pgv2kd89lgd8q4dr725q5fa-mariadb-connector-c-2.3.6


When observing an array of objects the returned old value is the same as the new value

This library is great! Sorry to dust this off after a couple years, but I ran into one issue. Let me know if this is just the expected behavior.
When I observe an array of objects and update a value on one of those objects, the old value that is returned is actually the new value.
Observing the specific value of the object in the array works as expected.
var state = new Statesman({
   user: {
      name: 'Alice',
      friends: [
         {
            name: 'Bob',
            age: 20
         }
      ]
   }
});

// oldValue is the same as newValue
state.observe( 'user', function ( newValue, oldValue ) {
   console.log(oldValue); // user.friends[0].age = 21 (instead of 20)
   console.log(newValue); // user.friends[0].age = 21
}, {init: false});

// this works as expected
state.observe( 'user.friends[0].age', function ( newValue, oldValue ) {
   console.log(oldValue); // 20
   console.log(newValue); // 21
}, {init: false});

// change Bob's age
state.set( 'user.friends[0].age', 21 );

Here is a jsFiddle - type in a new value and hit submit to see it in action.

There are a problem with this idea. The library would need to make a deep copy of the state before it change its value because the state is an object.
If you watch the "user.friends[0].age", the age state is a number, and in JS, it will pass by value in a function.
In the callback, newValue is your second parameter of state.set call, and oldValue is "user.friends[0].age" (a number, passed by value).
Watching "user", it is an object, and objects are passed by references, not value. Changing the object inside the library.
In the callback, newValue is the state object (passed by reference), and the oldValue is state too (passed by reference). The same object on two parameters.

Ah, that makes sense! Thanks for walking me through it, I figured there was a good reason.