command "evcc charger" uses wrong SQLite database

Describe the bug
When running evcc charger command, the logfile shows "using sqlite database: /root/.evcc/evcc.db" instead of /var/lib/evcc/evcc.db
/var/lib/evcc/evcc.db seems to be used when running evcc as service as this has the newer modification date.
Steps to reproduce

run systemctl stop evcc
run evcc charger
look at the third line in logfile

Configuration details
network:
  schema: http
  host: <IP_ADDRESS>
  port: 7070

log: debug
levels:
  cache: error

# unique installation id
plant: ****

meters:
- type: template
  template: kostal-plenticore
  id: 71
  host: <IP_ADDRESS>
  port: 1502
  usage: pv
  modbus: tcpip
  name: pv
- type: template
  template: kostal-plenticore
  id: 71
  host: <IP_ADDRESS>
  port: 1502
  usage: battery
  modbus: tcpip
  name: battery
- type: template
  template: kostal-ksem
  id: 71
  host: <IP_ADDRESS>
  port: 502
  usage: grid
  modbus: tcpip
  name: grid

chargers:
- type: template
  template: ellipro
  ski: ****
  ip: <IP_ADDRESS>
  name: wallbox

loadpoints:
- title: Garage
  charger: wallbox
  mode: pv
  phases: 3
  mincurrent: 6
  maxcurrent: 16

site:
  title: Home
  meters:
    grid: grid
    pv: pv
    battery: battery
  residualPower: -1000

eebus:
  certificate:
      private: |
          -----BEGIN EC PRIVATE KEY-----
          ****
          -----END EC PRIVATE KEY-----
      public: |
          -----BEGIN CERTIFICATE-----
          ****
          -----END CERTIFICATE-----

tariffs:
  currency: EUR
  grid:
    type: fixed
    price: 0.3011

  feedin:
    type: fixed
    price: 0.08

vehicles:
  - name: ID42024
    type: template
    template: vw
    title: ID.4 2024
    user: ****
    password: ****
    vin: ****
    capacity: 77
    timeout: 10s

sponsortoken: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE4MDEyOTk2MDAsImlhdCI6MTcwNjY5MTYwMCwiaXNzIjoiZXZjYy5pbyIsInN1YiI6IlRyYW5xdWlsaXR5NzYiLCJzcmMiOiJnaCJ9.vgdLNlUIq0v2X0Gu78OoB0FNgjR8NaIs9UQc_mugig8

Log details
[main  ] INFO 2024/02/28 22:47:28 evcc 0.124.4
[main  ] INFO 2024/02/28 22:47:28 using config file: /etc/evcc.yaml
[db    ] INFO 2024/02/28 22:47:28 using sqlite database: /root/.evcc/evcc.db

What type of operating system are you running?
Linux
Version
evcc version 0.124.4

Service points to
Environment="EVCC_DATABASE_DSN=/var/lib/evcc/evcc.db"

cli default is
Database: dbConfig{
	Type: "sqlite",
	Dsn:  "~/.evcc/evcc.db",
},

Both seem find for me for their respective purpose.
/cc @pauxus @goebelmeier

@andig I was assuming,  service and cli use the same database as more and more settings go from evcc.yaml into the database.

You can select the config per -c. Unless there are strong opinions I'd say this works as expected.


Cannot get serial number of a frame in callback mode when playback

Required Info

Camera Model
D435i

Firmware Version
<IP_ADDRESS>

Operating System & Version
ubuntu 18.04

Kernel Version (Linux Only)
Linux ubuntu 5.3.0-28-generic

Platform
PC

SDK Version
development branch (7b4b3ef)

Language
C++  }

Segment
multi-camera software

Issue Description
Hello,
We found our program cannot get the serial number from the frame when using the callback mode. It only occurred when the program were playing the bag file as a recording input.
More specifically, this line of code is hanging and blocking this callback event moving forward.
auto camCallback = [&](const rs2::frame& frame){
        if (frame){
               ... ... //always execute
                auto serial = rs2::sensor_from_frame(frame)->get_info(RS2_CAMERA_INFO_SERIAL_NUMBER); //this line
              ... ... //never execute

Commenting out this line, our program works. But in this case we can only use one playback file input. Because we can not identify the owner of the frame.
I was following the record-playback example for the replay part.
Any clue how to fix this issue?
Thanks

I apologise for the delay in receiving a response to this question.   Do you still need assistance please?   Thanks!

hello @MartyG-RealSense ,
Yes, we still needs help, thanks. Is it the proper way of playback from multiple recording files?
Currently I had a workaround for this issue, by writing serial numbers in hard code for each callback  definition which will leads to be not able to read recording files from other cameras.
Thanks

Callback programming is somewhat outside of my experience but I tried to research similar issues that have been reported in order to provide some guidance about the possible problem with your own script.
It sounds as though you are using multiple cameras, as suggested by the "multi-camera software" line in your specification at the top of the discussion and your use of serial numbers.  Is that correct please?
And are you using the rs-multicam example program?

Thanks for your reply, @MartyG-RealSense
No, I am basically modifying rs-callback as the base of the frame piping method and then adding an optional input that reading from playback bag files. The reason is that we need a high frequency of IMU reading for estimating the orientation asrs-motion is following. The serial number are used for tracking the owner of a frame and then tag it.
Thanks.

I carefully looked over your code and compared it to lines 40 to 60 of rs-multicam, which features pretty much the same line for getting the same line as you do.  I could not identify a definitive cause for your problem though.   But that is more a reflection of my level of programming knowledge.
I note that you call 'frame' in your serial number instruction.  Did you define frame earlier in the script, like rs-multicam does with the 'new-frames variable that it uses later in its own serial number retrieval instruction?
https://github.com/IntelRealSense/librealsense/blob/master/examples/multicam/rs-multicam.cpp#L40
I will tag @dorodnic into the conversation in that hope that he can provide guidance for your programming, as he is the SDK Manager.

Using playback in callback mode is working. The issue is that the callback will only execute till the line that get the serial number from a frame. it will not execute the following lines.
It actually not multi-camera related issue.  I put some parts of my code here shows how I start the stream.
// ... in main function
std::map<std::string, rs2::frame>collectFrame;
auto camCallback = [&](const rs2::frame& frame){
        if (frame){
               ... ... //always execute
                auto serial = rs2::sensor_from_frame(frame)->get_info(RS2_CAMERA_INFO_SERIAL_NUMBER); //hang at this line
              ... ... //never execute
              collectFrame[serial] = frame; //for example: label the frame by its serial number.
       }
}
std::string filePath = "./file.bag";
std::cerr<<"playback mode from: " << filePath << std::endl;
auto pipe = std::make_shared<rs2::pipeline>();
rs2::config cfg;
cfg.enable_all_streams();
cfg.enable_device_from_file(filePath);
rs2::pipeline_profile profile= pipe->start(cfg,camCallback);

// do something

while(true){
//process the collected frames
}

I wonder whether it is related with std::make_shared . I tracked the calling sequence, in this function, it did  make_shared  to the sensor for another time. The first time is at creating the pipe object. I don't know how exactly those pointers are handled.
    inline std::shared_ptr<sensor> sensor_from_frame(frame f)
    {
        std::shared_ptr<rs2_sensor> psens(f.get_sensor(), rs2_delete_sensor);
        return std::make_shared<sensor>(psens);
    }

Thanks again for your support.

@wangroger0801   Thanks so much for sharing further details, as it all helps to diagnose problems.   I do not want to lead you down the wrong path by making guesses that are not backed by experience, so hopefully one of the other RealSense GitHub team members with more advanced programming knowledge than mine will be able to help you find where the problem is occurring.
I wanted to make sure that you got assistance, since your case has been open for a few weeks now.

This case will be closed after the next 7 days  if there are no further responses.  Thanks!

This case will be closed after the next 7 days if there are no further responses. Thanks!

I am still waiting for the assistance thanks.

I took another careful look at your question from the beginning.
In your callback routine, I notice that you open a routine with the { bracket but in the quoted code snippet in the original message you do not show a } bracket closing the routine.
This is how rs-multicam handles the retrieval of the serial number from its multi-camera setup:

Hello @MartyG-RealSense ,
Thanks for your reply. The code I showed was for showing where the issue occurred. It is not caused by the programming logic.  I said without that line, the program can compile and run.
               auto serial = rs2::sensor_from_frame(frame)->get_info(RS2_CAMERA_INFO_SERIAL_NUMBER);
You can probably reproduce the issue by modifying rs-callback example by loading the playback file to the pipeline and then try to get the frame serial number in the callback function.
Thanks.

Thanks for the further information.  As with your "Multi Camera Issue" discussion though, I do not have a programming environment set up at the moment to test your code, and it is a subject currently outside of my programming knowledge anyway.
The best way forward may be to re-post your original question as a new issue so it appears at the top of the forum and then close this one.  I do apologise.

Closed due to no further comments.


[Feature request] docker enhancements: in-built docker scheduling, env var support for username/password

First, thanks for pulling this together. I cobbled together something messy a while back from another abandoned project,(https://github.com/mgrimace/claim_itch) and never bothered getting it working with docker (and it was scraping an reddit thread, which is probably defunct now, and the script itself took FOREVER)
As for scheduling, I'd love some kind of in-built/automatic daily cron scheduling via docker. Ideally, with support for setting the schedule via environmental variable in the run or compose.yaml (e.g., daily at 2:00 am by default, for example). I know this can be accomplished externally via system cron, but its nice and tidy if the container can stay up/running and idle, and just run the script at the specified interval from within the container.
As for env var support, it'd also be great to have environmental variables for username, password (and TOTM), that could be set either directly in a compose file, or via a .env file for security.
Thanks again,
~M

Whilst there's no env support, you can use docker volumes to persist your session across runs. You can login once with the login command, and then continue using the script with the session file. That way you won't have to save your password anywhere, only the session file. This method is described in this example command.
Sure, more methods of providing credentials could be added (in fact, when developing in the early days, before the CLI commands were implemented, I used env variables myself for that exact purpose).
As for the scheduling, it wouldn't be too hard, and it's actually a great idea. Until it's done, I recommend using ofelia.
I'll implement both features someday, but no ETA.

Thank you so much, and no rush of course, these are just my ‘wish list’ items. As for Ofelia, interesting, I’ve never used it before. Does the following compose make sense in terms of syntax for it? And is there a ‘reasonable’ interval you recommend for checking for new releases without overburdening the server?
services:
  scheduler:
    image: mcuadros/ofelia:latest
    container_name: scheduler
    depends_on:
      - itchclaim
����command: daemon --docker
����volumes:
����� - /var/run/docker.sock:/var/run/docker.sock:ro
����labels:
������ofelia.job-run.itchclaim.schedule: "@every 6h"
������ofelia.job-run.itchclaim.container: "itchclaim"
��itchclaim:
����container_name: itchclaim
����image: ghcr.io/smart123s/itchclaim
����volumes:
����� - /root/docker/appdata/itchclaim:/data
����command: [
������"--login", "${USERNAME}",
������"--password", "${PASSWORD}",
������"claim"
����]

quickly reporting back that my compose posted above appears to be working as intended, the container runs every 6 hours and games are claiming

Added built-in schedule command in https://github.com/Smart123s/ItchClaim/commit/b868758035260dfc11329d081f47f5e9443a5bc3
Added support for loading from environment variables in https://github.com/Smart123s/ItchClaim/commit/adf37777aced403fb3c6476460357288d26d6481

As a side note, I'd recommend setting ofelia.job-run.itchclaim.schedule to 0 28 0,6,12,18 * * * as it aligns better with ItchClaim's online update schedule.

Thanks so much for these updates! Here’s a sample docker compose.yaml that uses these new features, and assuming users would put their username and password in a .env file:
services:
��itchclaim:
����container_name: itchclaim
����image: ghcr.io/smart123s/itchclaim
����volumes:
����� - /root/docker/appdata/itchclaim:/data
����environment:
����� - ITCH_USERNAME=${ITCH_USERNAME}
����� - ITCH_PASSWORD=${ITCH_PASSWORD}
����command: [
������"schedule", "--cron", "28 0,6,12,18 * * *"
����]


(FACT-1488) Add git pack config on Windows

This commit adds git configuration values for pack memory usage.
Prior to this commit cloning the puppet-win32-ruby repo failed on
Window 2003.
This change is a belt and suspenders attempt to mitigate the failure
mentioned above. The packing issue should be addressed on the git
remote server side.

Does this need to be coordinated with any other changes?

@MikaelSmith this change is atomic and should not interact with other changes. Thanks.

CLA signed by all contributors.

Well that was fast!

Perhaps OT but: can we just drop testing on 2003?

@kylog I'm under the assumption this is against a version that supported Windows 2003.

Other than that


Show each IP current upstream/downstream speed

I noticed an amazing feature. When I limit an IP, it shows how much that device is actually consuming.
It would be superb to show this regardless of a limit is set or not. Even better, show how much has been consumed by each device.
This could open a lot of doors for various features and enable people to manage their network better.

Originally, I wanted to do exactly that. But there is a problem:
In order to show the down-/upstream of all the hosts, you would have to route the packets of every host through your machine using ARP spoofing. This is not really an ideal solution.
But nonetheless, I will work on a feature that allows the user to see the down-/upstream of selected hosts without having to limit them.


IndexError

result error: IndexError: No value at index 0.
for value "python"

I don't see this issue, just ran through the example steps in the README, everything seems to be working properly:
In [1]: from safer import CompanySnapshot
   ...:

In [2]: client = CompanySnapshot()

In [3]:
   ...: results = client.search('python')

In [4]: len(results)
Out[4]: 16

In [5]: company = results[0].get_company_snapshot()

In [6]: company
Out[6]: Company(3414669)

In [7]: print(company.legal_name)
ATTICUS PYTHON


Documentation: "Integration with Embeddable"

We'd like to add "Embeddable" integration with QuestDB to "Third-party tools" section of your documentation.
Here's the gist with the markdown for it: https://gist.github.com/eugeneoshepkov/45d105f567c7daa8e38e645cadf675c1
There we described the process of integrating QuestDB with Embeddable.
Thank you

Hey @eugeneoshepkov, thanks - the PR is in progress, and near complete.
Quick question - there are links to cube.dev docs.
We provide Cube as a tool as well.
Is this link incorrect?
The `name` is a unique name to identify this **connection**.

- By default your **data models** will look for a **connection** called
  “default”, but you can supply your models with different
  [**data_source**](https://cube.dev/docs/reference/data-model/cube#data_source)
  names to support connecting different **data models** to different
  **connections** (simply specify the
  **[data_source](https://cube.dev/docs/reference/data-model/cube#data_source)**
  name in the model)

The `type` tells us which driver to use, in this case QuestDB. For a full list,
see
[the documentaiton](https://cube.dev/docs/product/configuration/data-sources).

@goodroot Yes this is correct, we rely on Cube and mention it in our docs: https://www.notion.so/trevorio/Connections-API-ff4af10f7eaf4288b6952fde04e6e933

@goodroot Could you please take the latest gist to your PR? I've just updated some text there

@eugeneoshepkov Live! Feel free to open a PR to make any future alterations.
https://questdb.io/docs/third-party-tools/embeddable/


Ability to copy FakeDir objects

Proposing a new copy method for FakeDir objects, which would produce an unlinked copy of the FakeDir.  I guess if called on the root of the tree, it would produce the whole tree, whereas if called on a child folder, it would produce a new tree with that folder as the root.

Added in d0544f1.  The behavior is as described above (produces a whole new FakeDir, only incorporating the subfolders of the FakeDir it is called on). Two new unit tests were also added.


Application is not working with standalone backend

I am facing issue when trying to run app with local backend. If someone can help I will be very grateful. Steps to reproduce:
Preconditions:

local running build of https://github.com/gothinkster/aspnetcore-realworld-example-app in my case server is running locally on: http://localhost:5000/api

Steps to reproduce:

Run backend
Edit src/agent.js and change API_ROOT to the local server's URL, in my case: http://localhost:5000/api
npm install and npm start in project root directory

Actual results:

After successful npm start browser is bringing up with following error: Unhandled Rejection (TypeError): Cannot read property '0' of null

Expected results:

Successful build and properly running web application

Tldr:
replace api url in agent.js with http://localhost:5000 instead of http://localhost:5000/api
I think there is a bug in repo description, you can find following line:

If you want to change the API URL to a local server, simply edit src/agent.js and change API_ROOT to the local server's URL (i.e. http://localhost:3000/api)

But in this case web app trying to reach for tag endpoint with following url: http://localhost:3000/api/tags
Which is not valid, because tags endpoint is exposed under this url:
http://localhost:3000/tags


Pull Request Approval broken

# tinglesoftware/dependabot version 1.29
2024-07-09T07:37:42.9905144Z Digest: sha256:71f616dc55cb1cf35148f1c6f16439a07f5ae95132e4ea5edf7ff2ef94de4783
2024-07-09T07:37:42.9917153Z Status: Downloaded newer image for ghcr.io/tinglesoftware/dependabot-updater-npm:1.29

# Dependabot execution
  - task: dependabot@1
    inputs:
      autoApprove: true
      mergeStrategy: rebase
      setAutoComplete: true

This configuration does not work any more.
Creating a PR for a library update works fine, but when it comes to approving the PR, I get the following error:
2024-07-09T07:38:16.4538011Z Created pull request for @typescript-eslint/parser (#38932).
2024-07-09T07:38:16.4538154Z Auto Approving PR 38932
2024-07-09T07:38:16.4577084Z /home/dependabot/dependabot-updater/lib/tinglesoftware/dependabot/clients/azure.rb:86:in `get_with_token': uninitialized constant TingleSoftware::Dependabot::Clients::Azure::SharedHelpers (NameError)
2024-07-09T07:38:16.4577383Z
2024-07-09T07:38:16.4577524Z             **SharedHelpers.excon_defaults(
2024-07-09T07:38:16.4577650Z               ^^^^^^^^^^^^^
2024-07-09T07:38:16.4577910Z 	from /home/dependabot/dependabot-updater/lib/tinglesoftware/dependabot/clients/azure.rb:57:in `get_user_id'
2024-07-09T07:38:16.4578258Z 	from /home/dependabot/dependabot-updater/lib/tinglesoftware/dependabot/clients/azure.rb:65:in `pull_request_approve'
2024-07-09T07:38:16.4578474Z 	from bin/update_script.rb:871:in `block in <main>'
2024-07-09T07:38:16.4578623Z 	from bin/update_script.rb:551:in `each'
2024-07-09T07:38:16.4578778Z 	from bin/update_script.rb:551:in `<main>'

As tinglesoftware/Dependabot worked fine until last week, I assume there is a regression, probably in v1.29.5 https://github.com/tinglesoftware/dependabot-azure-devops/releases/tag/1.29.5 --> https://github.com/tinglesoftware/dependabot-azure-devops/compare/1.29.4...1.29.5

My fault sorry, https://github.com/tinglesoftware/dependabot-azure-devops/pull/1199 will fix it.

My fault sorry, #1199 will fix it.

No worries, mate, you're doing a fine job here.

@SchulteMarkus fixed in 1.29.6


AttributeError: module 'numpy' has no attribute 'float'

Hi, I'm receiving this error when trying your code, I've found that it's due to the latest np versions after they've removed the
np.int and  np.float attributes
https://levelup.gitconnected.com/fix-attributeerror-module-numpy-has-no-attribute-float-d7d68c5a4971
if I manually replace np.float and np.int occurrences it works fine

thank you for information. currently repo has a pr covering this issue. will be resolved soon.

release published


"Using the client library" simply links to code

This was feedback from @grant over in https://github.com/googleapis/nodejs-tasks/issues/227.  I created this as a meta tracking issue for how we product our sample README files.

Before you begin ("Before running the samples, make sure you've followed the steps outlined in Using the client library."
The link to "Using the client library" simply links to code. There are no steps. How do I follow them?

After a revisit of the issue, this seems fine now.


Entity inheritance

Use case
This may already exist and I just couldn't find it in the docs, but we would like to have a single base entity class for all of our entities to inherit from for consistency across shared fields, for example: id, created_at, and updated_at.
Describe the solution you'd like
Trying to do something like this:
@KomapperEntity
open class BaseEntity(
    @KomapperId
    @KomapperAutoIncrement
    var id: Long = 0,

    @KomapperCreatedAt
    var createdAt: Instant? = null,

    @KomapperUpdatedAt
    var updatedAt: Instant? = null,
)

And then subsequent entities can do
@KomapperEntity
data class ANewEntity(
    @KomapperColumn("tx_id")
    var txId: String,

    @KomapperColumn("account_id")
    var accountId: String,

    @KomapperColumn("amount_usd")
    var amountUsd: BigDecimal,
) : BaseEntity()

but it seems to want a specific id field on the new entity itself. Jakarta had a @MappedSuperClass which was basically for exactly this use case, but that doesn't work super easily with R2DBC, so something like that would be super nice.
Versions
Using:

Komapper: 1.11.0
Kotlin: 1.7.22
JVM: 17
R2DBC Driver: latest
Database: Postgres

Komapper does not support entity inheritance.
Komapper is committed to immutability, so we do not plan to support features like inheritance that prevent immutability.


Prevent searches from being processed by playlist focused commands

I completely forgot about this edge case in my last PR. If a search gets passed to ytdl with /play (all, reverse, etc.) it will silently fail.
ERROR: [generic] 'echo' is not a valid URL. Set --default-search "ytsearch" (or run  yt-dlp "ytsearch:echo" ) to search YouTube
thread 'tokio-runtime-worker' panicked at 'called `Option::unwrap()` on a `None` value', src/commands/play.rs:97:35

Should a message be sent to inform the user that these commands only accept links?

Hey again, @StaticRocket! Should already be handled in #144. 🙂


Scrollable dialogs should include a scrollbar

Right now, there's no visual cue that the div is scrollable.

We would like to have a scrollbar that looks like this:
[TO BE EDITED]

duplicate of #640


Localization -

I cant found any possibilities to create localizations via app code. Its important to have in localization some possibilities to add new languages and strings on runtime.
I mean with it:
Create .resx dynamically via C# code and add localized strings to this .resx files. It is important for each translated modular app.
We need to ranslate entity metadata and validation messages too.
Please see USERVOICE HERE:
https://aspnet.uservoice.com/forums/41201-asp-net-mvc/suggestions/2037267-improve-localization-support-in-views-model-metad

See this repo: https://github.com/aspnet/Localization
This is a work in progress, but please register any feedback or concerns there.


Add static compilation support

Fixes #563
Source: https://unix.stackexchange.com/questions/615679/how-to-compile-a-program-statically-on-nixos

Confirmed that it works on nixos

bash-5.2# nix-shell -p gcc glibc.static glibc

[nix-shell:/]# echo -e '#include <stdio.h>\nint main() { puts("hello world"); }' > test.c

[nix-shell:/]# gcc test.c

[nix-shell:/]# ./a.out
Segmentation fault (core dumped)

[nix-shell:/]# gcc -static test.c

[nix-shell:/]# ./a.out
hello world

It seems like this causes non-static builds to not work?

bash-5.2# nix-shell -p gcc glibc glibc.static

[nix-shell:/]# gcc -static test.c

[nix-shell:/]# ./a.out
hello world

[nix-shell:/]# gcc test.c

[nix-shell:/]# ./a.out
hello world

Hmmm interestingly, swapping the order fixes it. Saw someone talking about that here.
Can you move static to core next to the current glibc and make sure we get the order right?

Thanks!


Added more accurate random and its model file.

Short Description:
Added and modified random functions to simulate a human player better by using other random generator.
However, parameters for log-normal are tricky (ex: for average 50ms and 20ms std mu=-3.00, sigma=0.132,) so I have added pre-calculated model file and its calculation code.
Fixes:

Modified jitter to use log-normal instead of uniform random. (http://stats.stackexchange.com/questions/1315/how-do-i-figure-out-what-kind-of-distribution-represents-this-data-on-ping-respo)
Modified gps error to use gaussian instead of uniform random.
Added human reflex rng based on http://www.humanbenchmark.com/tests/reactiontime/statistics
Added human reflex to sleep function.
Parameter calculations are done this way (https://books.google.co.jp/books?id=CvUvxpSe8NoC&pg=PA436&lpg=PA436&dq=jitter+model+lognormal&source=bl&ots=5U6R6DHuXx&sig=zPKFk-lAEVjEXSjoW52zOutOj_A&hl=ja&sa=X&ved=0ahUKEwj7icbYupzOAhVKq48KHf89D-QQ6AEIJjAB#v=onepage&q=jitter model lognormal&f=false)

"Updated Fixes":

Added somewhat okay rng for reticle and spin
Added ballthrow delay function

Very nice work!

Wrong destination, closing and sending request again.


Rewrite internal path keys when using MockDirectory.Move

Issue #339, Replaces PR #340.
I had to add a new method to MockFileSystem which isn't ideal, but there was nothing which exposed the internal files dictionary.
I've also added some additional checks to the mock directory move which I've observed on a real NTFS system, specifically a DirectoryNotFound exception if the source directory doesn't exist, and an IOException if the destination directory does exist.

Looks like a good set of commits, if my opinion matters... lol


how to save game data? I dont find the way in tutorialbook

That's something the end developer (you) has to work out and implement.
Mirror doesn't do any save/load of game-related data over the network, but it would be possible to implement it yourself. Game-related data in this context means player health, magic, stamina, etc persisting between online gameplay sessions on the server.


dotnet core 2.0 support

This no longer seems to work now that the dotnet test cli has changed for dotnet core 2. Any plans to update it?

Not in the short-term, I'll be waiting for my work projects to upgrade to .NET Core 2.0 before I look at this. Hopefully, it's soon but I don't have a timing on that yet. I'm happy to take a PR for it though!

No change in the code is required @stajs for make this work with .NET Core 2.0, you have just package NuGet with .NET Core 2.0 tooling. I submit PR to illustrate it.

@kant2002 Great news that it's a simple change; I spent some time investigating SpecFlow for my .Net Core 2.0 project, and it sounds like it's close.

@kant2002 Thanks for the PR! I'll merge it in blind (untested) and circle back to test when my work projects upgrade.

Try https://www.nuget.org/packages/SpecFlow.NetCore/1.0.0-rc9. I still haven't had a chance to test it on my work projects yet, but I think it's shaping up thanks to @kant2002. Reopen if it doesn't work.


Include information on Family Planning

App needs to be updated to include information on Family Planning Uptake by the mothers so that it can as well be demonstrated on the dashboard

@donrukanga1 I am assigning to you as the primary for building the forms and I will assist with the integration when the procedure form is ready.


add SVN support

Dustin Oprea wrote:

I'll do it, or give up as a broken man.
It looks like the versioneer.py content is baked into
versioneer-installer. We'll have to be able to pass the VCS name into
it, in order to adopt a second VCS, right?

Yes on 1 and maybe on 2. I see a couple of approaches to a "polyglot" Versioneer:

1: decide on the VCS at install time. You'd run versioneer-installer svn, and the resulting versioneer.py would only have SVN support. We'd need to embed multiple alternatives in versioneer-installer
2: decide on the VCS at "update files" time. You'd run a bare versioneer-installer, which would create a versioneer.py that can handle all supported VCSes. Then you configure which VCS you're using in setup.py (maybe by setting versioneer.vcs = "svn"). When you run update_files, you'd get a generated SRC/_version.py which only supports SVN.
3: decide at version-computation time: no config necessary, the generated SRC/_version.py would look for signs of every VCS it knows about, and computes a version from the first one that works.

Option 3 would be the easiest to use, although probably a bit tricky to implement. The versions_from_vcs() function could probably look like:
if os.path.isdir(".git"):
    versions = version_from_git()
    if versions:
        return versions
if os.path.isdir(".svn):
    versions = version_from_svn()
    if versions:
        return versions
return None

The expanded variables ($Format:%d$) need to be VCS-specific (and not all of them support variable expansion), so either we'd need to deduce the VCS and then write the strings, or write strings for all supported VCSes. It might also be useful to write the deduced VCS name next to the strings, so  versions_from_expanded_variables() could only pay attention to the string that's likely to change.
A hybrid between 2 and 3 might work too: create a polyglot _version.py but interpolate in the name of the VCS being used, which then switches off some of the code paths.
One quirk: some projects are managed in multiple VCSes at the same time: we maintained Tahoe in both darcs and git for a couple of years, with a (fragile) automated two-way bridge. Sometimes that results in VCS metadata for both trees being present at the same time, which might confuse our automatic detection. We can defer supporting this case until someone complains, but eventually it may be useful to let folks configure setup.py to only try a specific VCS.

+1 for auto-detected svn support


Add documentation for Discord channel IDs and the custom formatting

I think this is pretty clear from the title – it adds documentation for the new discord channel ID feature (which, as mentioned here, has not been clearly documented) and also the custom formatting feature.
This may not cover everything or it might be too detailed to fit into that config, in which case I'm plenty happy to move it somewhere more relevant, optionally with more details about the individual intricacies. Feel free to modify the style / phrasing (or request I do so) if you'd rather it be done otherwise – I tried to have it fit into the surrounding text, but may not have done so sufficiently.

Coverage remained the same at 98.222% when pulling d877ae2fddd4eb7f6eafecc4aea1433de5b9f24c on Throne3d:fix/docs into 884f0cafa048e4379f9290268ee59e92a8b2151a on reactiflux:master.

Looks good!


GH-15: Change image workflow to manual mode

This PR creates a manual workflow for building and pushing docker containers.

@maruu I will merge it without your review since it mainly just changes the trigger to workflow_dispatch allowing us to use images without waiting for approvals


Add section/option group example to README

Probably want to squash the commits in my PR.  As always when you try to rush something you make mistakes :)

Codecov Report

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

@@          Coverage Diff          @@
##           master   #168   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           4      4
  Lines         267    267
  Branches       64     64
=====================================
  Hits          267    267

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 5e1ba85...91495f0. Read the comment docs.


Error handling

Added error handling to catch exceptions in handler, and do not crush on unexpected errors (for example during message processing)

Seems it will pass tests if #30 will be merged.

Thanks for the changes.  Looks great!


bitwarden: 1.28.1 -> 1.29.1

Motivation for this change

version update
fixes https://github.com/NixOS/nixpkgs/issues/144497

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

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

[x] Fits CONTRIBUTING.md.

@Schmensch can you please test whether this change works for you?

Result of nixpkgs-review pr 144524 run on x86_64-linux 1

1 package built:

bitwarden

@jyooru have you tried running the app?

Yes, it ran fine.

I'm quite new to reviewing on nixpkgs, should I make a note that it worked?

I'm quite new to reviewing on nixpkgs, should I make a note that it worked?

Nothing that is always nice :-)


Build fails with custom prefix

Description
I was trying to build with a custom prefix i.e. build:
./configure --prefix=build
make install

The lib builds successfully but cli fails while linking with these errors:
/usr/bin/ld: cannot find -lzsv
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:275: ~/zsv/build/Linux/rel/cc/bin/cli] Error 1
make[1]: Leaving directory '~/zsv/app'
make: *** [Makefile:46: install] Error 2

Also, the sequence of linker flags seemed incorrect:
cc -pipe -ffunction-sections -fdata-sections ... -lzsv -Lbuild/lib -lpthread -fwhole-program -march=native -ldl

-L should precede -l.
And, -Lbuild/bin doesn't seem right.
Shouldn't this be complete path from the build directory i.e.:
$ tree build
build/
└── Linux
    └── rel
        └── cc
            ├── bin
            ├── external
            │   ├── ...
            ├── lib
            │   └── libzsv.a
            └── objs
                ├── cli_2json.o
                ├── ...
                ├── utils
                │   ├── arg.o
                │   ├── ...
                │   └── writer.o
                └── zsv.o

Expected
The cli should build successfully.
Actual
The cli is failing with linking error as libzsv.a is not found.

Should be fixed now for e61e231d12bf0b9139d95232866b07de6efa9268 and subsequent commits. Thank you!

-L / -l order addressed in ef1ad67128d18a471298d6ac3323f8c452315606

@liquidaty : Thank you for your quick response! :+1: The prefix issue is fixed now.


[chore] Move dependencies control to .env file

Changes
A couple of dependencies had to be updated in multiple places, this PR moves all of them to .env file.
Merge Requirements
For new features contributions, please make sure you have completed the following
essential items:

[x] CHANGELOG.md updated to document new feature additions
[ ] Appropriate documentation updates in the docs
[ ] Appropriate Helm chart updates in the helm-charts

Maintainers will not merge until the above have been completed. If you're unsure
which docs need to be changed ping the
@open-telemetry/demo-approvers.

build_images is not using docker compose 😞
I'm open to suggestions, because I strongly believe we should have a centralised place to manage the versions.
As of today we have to update 3 files every time the java agent updates.
2 places every time there is an update to opensearch or tracetest.

build_images is not using docker compose 😞

Could this be changed to use docker compose build? :thinking: I agree that relying on a single dependencies file would ease the maintenance

Unfortunately I'm not a Github actions expert.
I've googled a bit around and I'm still not sure.
We have this in the GH marketplace: https://github.com/marketplace?query=docker+compose
But only 5 of those are verified and none of those 5 do what we need here.
@puckpuck any ideas/suggestions?

I'm gonna close this one as I can't fix the GH actions right now.


Question regarding naming of Specification struct

Just curious where "Specification" came as a name for the example that stores configuration coming from the environment.
Thanks!

Good question -- that example predates my contributing, but I kind of read it like this:
The type definition for the pointer you pass to Process acts as a specification for the environment variables your program accepts (to understand the environment variable interface of a program you'd look at that struct). For what I assume is the same reason, the argument in the definition of Process is named "spec".

Thanks for the explanation @teepark.


ErrorBoundary does not catch exceptions on MudMenuItem Click event.

Bug type
Component
Component name
MudMenuItem
What happened?
ErrorBoundary does not catch exceptions on MenuItem Click event.
Expected behavior
The exception is catched as MudButton (reproduction link).
Reproduction link
https://try.mudblazor.com/snippet/wEcykwYlfklfSQqV
Reproduction steps

Click on OpenMenu
Click on Exception

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

[ ] I would like to do a Pull Request

Code of Conduct

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

Same as here https://github.com/MudBlazor/MudBlazor/issues/7503#issuecomment-1717688900
for now it's not possible, and i doubt it will be in near future.

Thank you for your answer!


Issues with impersonation under Powershell 7.0.0RC3 and ActiveDirectory module

Prerequisites
This can be reproduced with a domain account with the active directory powershell module installed.
Steps to reproduce

Get the following project: PowerShellTest.zip
In program.cs, enter proper username, domain and password.
Execute the program

Expected behavior
The AD server hostname is returned: "AD33.aspect.local" in my case.
Actual behavior
I'm getting the following error:
Unable to contact the server. This may be because this server does not exist, it is currently down, or it does not have the Active Directory Web Services running.
Environment data
PSVersion                      7.0.0-rc.3
PSEdition                      Core
GitCommitId                    7.0.0-rc.3
OS                             Microsoft Windows 10.0.18363
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

I'm not particularly familiar with the approach here, but the symptom looks very similar to the classic double-hop problem often encountered in PowerShell.
Because the Active Directory commands tend to reach out to a remote machine (typically the domain controller) as part of their normal routine, you can run into issues when trying to do things like this...
Essentially, any process running under a specified credential cannot use that same credential implicitly when it reaches out to a secondary server. You have to explicitly supply that same credential in order to reuse it. In the case of Active Directory cmdlets, this is done by passing a PSCredential object to their -Credential parameter.
I believe this restriction applies in all remoting and impersonation scenarios using typical Windows APIs, not just PowerShell.

I forgot to mention that this approach works just fine under Powershell 5.1.1.

Do you use latest AD module version?

Yes, the one bundled with the oktober 2019 update.

Interesting... it actually worked when I tried it (with WinCompat) on Server 2016.
Module:
Name              : ActiveDirectory
Path              : C:\windows\system32\WindowsPowerShell\v1.0\Modules\ActiveDirectory\ActiveDirectory.psd1
Version           : <IP_ADDRESS>

@anmenaga wrote:

Interesting... it actually worked when I tried it (with WinCompat) on Server 2016.

Did you impersonate another user than the currently logged user that ran the code?
Wincompat seems to be a different problem. Running New-PSSession -UseWindowsPowerShell returns the following error on my end:
The background process reported an error with the following message: Internal Windows P owerShell error. Loading managed Windows PowerShell failed with error 80070005.

Oh... I missed that.
You are right, with impersonation I can see the module-related code going sideways. definitely a bug.
But I'm getting slightly different behavior most likely because of environment.
Can you please check ActiveDirectory.psd1 that is used for 2 things:

what is the path to ActiveDirectory.psd1 ?
what is Version in ActiveDirectory.psd1 ?
does it have CompatiblePSEditions field, and if yes - what is the value?

Thank you.

Another thing to try is building the test app with full .NET and Windows PowerShell 5.1

Can you please check ActiveDirectory.psd1 that is used for 2 things:
1. what is the path to `ActiveDirectory.psd1` ?

C:\Windows\System32\WindowsPowerShell\v1.0\Modules\ActiveDirectory

2. what is `Version` in `ActiveDirectory.psd1` ?
3. does it have `CompatiblePSEditions` field, and if yes - what is the value?

CompatiblePSEditions = @('Desktop','Core')
PowerShellVersion="5.1"

Another thing to try is building the test app with full .NET and Windows PowerShell 5.1

We're using that approach in production, i.e. in a asp.net core 2.1 app running on full .net framework 4.7.2. Works like a charm :)

We're using that approach in production, i.e. in a asp.net core 2.1 app running on full .net framework 4.7.2. Works like a charm :)

And it is using the same version of ActiveDirectory module?

We're using that approach in production, i.e. in a asp.net core 2.1 app running on full .net framework 4.7.2. Works like a charm :)

And it is using the same version of ActiveDirectory module?
Yes.

Then this looks like a regression. not good. @SteveL-MSFT FYI.

Ugh, does this mean this issue won't be looked into? THat's a real pitty.

@SteveL-MSFT friendly ping! 😊


Add .md extension to LICENSE[.md].

This was mainly created to test out the GitHub pull request settings.


Make project poetry based

/verified

/retest python-module-install

/retest python-module-install

/retest python-module-install

/verified


Email whitelist too strict

The chat bot does not allow for sending to email addresses which aren't on the whitelist, even if the whitelist defence mechanism isn't active. When the defence is inactive, the chat bot should be able to send to any email address.

I found that the bot was getting confused if you asked it "who am i allowed to email" it would return the list and kind of convince itself that you can't email anyone even when the defence is inactive.
returning a "you can email anyone" from getEmailWhitelist when the defence is off works better for not confusing the bot. but with the limitation of not being able to tell you the whiltelist when the defence is off.
you can still confuse it's responses by switching on/off and asking the questions in a sequence but should still send the email when defense is off and block when off at the email point e.g.


Try out new version of react-redux

https://github.com/reduxjs/react-redux/releases/tag/v7.0.0-beta.0
This might allow us to adopt React strict mode

Done: https://github.com/captbaritone/webamp/pull/771


ice40: Add support for iceram

Add iceram test for reading from initialized RAM
Fix offsets
Generate testbench and testbinch results to show expected behavior

Tested: flashed icestick with iceram test (#138)

LGTM! Merging.


Bootstrap version

Once again another great genius component!
This is more a request and not a bug, would be great if we could configure the form helper to also pick up a version of bootstrap BS 3.3 or BS 4.x during its form building process.

It would be nice if FF was design-framework non-specific to be honest. I think there might need to be a step which transforms the templates before they are compiled/rendered (although you could do this afterwards).
I've considered making the html FF outputs very simple, and then feeding it into a CsQuery DOM, which could then be transformed to have the correct markup for a particular framework.

couple of suggestions for anyone else looking.
After looking around the twitterbootstrap mvc dll link (http://bit.ly/1Ln3OCW) might be a good option,
but it seems like its no longer open source/free. I also saw your suggestion on the CsQuery port will give it a try

Another option would be to transform the output, rather than changing the tables.
If all the bootstrap based markup was removed from the templates, we could add a parameter to the Render helper which passes a transformer, which is a
interface Transformer{
    public string TransformOutput(PropertyVm propertyVm, string defaultRenderedOutput)
}

`Html.PropertiesFor(someObject).Render(Html, new Bootstrap3Transformer());


Revert "Push to release branches after deploy"

Reverts alphagov/fastly-configure#15.
This PR didn't make any sense, because the task to deploy the CDN takes a "service" as argument. This means that you can deploy www, but not tldredirect. Having these deployed-to-x branches will mistakenly imply that you've deployed all VCL templates.

👍


Technology tree

We should have a system where the player can acquire different types of science points (e.g. Engineering, Sociology, Xenoscience) and spend those points to unlock technologies. Having particular technologies unlocked could be an input into TilePredicates (the system that determines the requirements for completing tile projects) or WorldPredicates (the system that determines when the player has met a quest objective).
There should be one or more laboratory buildings that produce points, and then a building or menu where technologies can be unlocked. Each unlockable technology should have a science-points cost as well as requirements for the option to be visible (e.g., you can't see the option to unlock technology B until you already have technology A and have at least one building of type X).
I'd also like to have "hidden" technologies that we can use for scripting events and unlocks but which are not visible to the player.

I can also help with this, if not with the procgen music!

just noticed the develop branch has code for this issue. Should I still work on it? Or something else?

I'm taking care of the tech tree

ok. I’ll scrap what I did and find something to work on tonight
On Thu, Feb 6, 2020 at 16:09 Grace Rarer<EMAIL_ADDRESS>wrote:

I'm taking care of the tech tree
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/GRarer/Aurora/issues/14?email_source=notifications&email_token=AA7N6XKSG2L4JYH2U6HEBTTRBR4APA5CNFSM4KOJFIGKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELAZHAQ#issuecomment-583111554,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA7N6XOQORLHVZFBM7RKINLRBR4APANCNFSM4KOJFIGA
.

--
Sincerely, Brad Baker


INFO [2018-02-16 13:05:48.88]: ▸     0x00000008 =0x7B38373139316361322D306663392D313164342D383439612D3030303530326235323132327D00  "{87191ca2-0fc9-11d4-849a-000502b52122}\000"
INFO [2018-02-16 13:05:48.88]: ▸     0x00000009 =0x0000002A  "\000\000\000*"
INFO [2018-02-16 13:05:48.88]: ▸     0x0000000A =0x00000800
INFO [2018-02-16 13:05:48.88]: ▸     0x0000000B =0x00000800
INFO [2018-02-16 13:05:48.88]: ▸     0x0000000C =0x0000000000000000
INFO [2018-02-16 13:05:48.88]: ▸     0x0000000D =0x0000000000000000
INFO [2018-02-16 13:05:48.88]: ▸     0x0000000E =0x00000001
INFO [2018-02-16 13:05:48.88]: ▸     0x0000000F =0x00000001
INFO [2018-02-16 13:05:48.88]: ▸     0x00000010 =0x00000001
INFO [2018-02-16 13:05:48.88]: ▸     0x00000011 =0x00000000
INFO [2018-02-16 13:05:48.88]: ▸     0x00000012 =0x00000001
INFO [2018-02-16 13:05:48.88]: ▸     0x00000013 =0x00000001
INFO [2018-02-16 13:05:48.88]: ▸     0x00000014 =0x00000001
INFO [2018-02-16 13:05:48.88]: ▸     0x00000015 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000016 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000017 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000018 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000019 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x0000001A =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸ keychain: "/Users/Shared/Jenkins/Library/Keychains/CIJenkinsKeychain-db"
INFO [2018-02-16 13:05:48.89]: ▸ version: 512
INFO [2018-02-16 13:05:48.89]: ▸ class: 0x00000010
INFO [2018-02-16 13:05:48.89]: ▸ attributes:
INFO [2018-02-16 13:05:48.89]: ▸     0x00000000 =0x00000010
INFO [2018-02-16 13:05:48.89]: ▸     0x00000001 ="47E9E63CA9269B85"
INFO [2018-02-16 13:05:48.89]: ▸     0x00000002 =
INFO [2018-02-16 13:05:48.89]: ▸     0x00000003 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000004 =0x00000000
INFO [2018-02-16 13:05:48.89]: ▸     0x00000005 =0x00000000
INFO [2018-02-16 13:05:48.89]: ▸     0x00000006 ="47E9E63CA9269B85"
INFO [2018-02-16 13:05:48.89]: ▸     0x00000007 =
INFO [2018-02-16 13:05:48.89]: ▸     0x00000008 =0x7B38373139316361322D306663392D313164342D383439612D3030303530326235323132327D00  "{87191ca2-0fc9-11d4-849a-000502b52122}\000"
INFO [2018-02-16 13:05:48.89]: ▸     0x00000009 =0x0000002A  "\000\000\000*"
INFO [2018-02-16 13:05:48.89]: ▸     0x0000000A =0x00000800
INFO [2018-02-16 13:05:48.89]: ▸     0x0000000B =0x00000800
INFO [2018-02-16 13:05:48.89]: ▸     0x0000000C =0x0000000000000000
INFO [2018-02-16 13:05:48.89]: ▸     0x0000000D =0x0000000000000000
INFO [2018-02-16 13:05:48.89]: ▸     0x0000000E =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x0000000F =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000010 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000011 =0x00000000
INFO [2018-02-16 13:05:48.89]: ▸     0x00000012 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000013 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000014 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000015 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000016 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000017 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000018 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000019 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x0000001A =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸ keychain: "/Users/Shared/Jenkins/Library/Keychains/CIJenkinsKeychain-db"
INFO [2018-02-16 13:05:48.89]: ▸ version: 512
INFO [2018-02-16 13:05:48.89]: ▸ class: 0x00000010
INFO [2018-02-16 13:05:48.89]: ▸ attributes:
INFO [2018-02-16 13:05:48.89]: ▸     0x00000000 =0x00000010
INFO [2018-02-16 13:05:48.89]: ▸     0x00000001 ="1F6EF50A7692CEEE"
INFO [2018-02-16 13:05:48.89]: ▸     0x00000002 =
INFO [2018-02-16 13:05:48.89]: ▸     0x00000003 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000004 =0x00000000
INFO [2018-02-16 13:05:48.89]: ▸     0x00000005 =0x00000000
INFO [2018-02-16 13:05:48.89]: ▸     0x00000006 ="1F6EF50A7692CEEE"
INFO [2018-02-16 13:05:48.89]: ▸     0x00000007 =
INFO [2018-02-16 13:05:48.89]: ▸     0x00000008 =0x7B38373139316361322D306663392D313164342D383439612D3030303530326235323132327D00  "{87191ca2-0fc9-11d4-849a-000502b52122}\000"
INFO [2018-02-16 13:05:48.89]: ▸     0x00000009 =0x0000002A  "\000\000\000*"
INFO [2018-02-16 13:05:48.89]: ▸     0x0000000A =0x00000800
INFO [2018-02-16 13:05:48.89]: ▸     0x0000000B =0x00000800
INFO [2018-02-16 13:05:48.89]: ▸     0x0000000C =0x0000000000000000
INFO [2018-02-16 13:05:48.89]: ▸     0x0000000D =0x0000000000000000
INFO [2018-02-16 13:05:48.89]: ▸     0x0000000E =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x0000000F =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000010 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000011 =0x00000000
INFO [2018-02-16 13:05:48.89]: ▸     0x00000012 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000013 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000014 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000015 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000016 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000017 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000018 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000019 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x0000001A =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸ keychain: "/Users/Shared/Jenkins/Library/Keychains/CIJenkinsKeychain-db"
INFO [2018-02-16 13:05:48.89]: ▸ version: 512
INFO [2018-02-16 13:05:48.89]: ▸ class: 0x00000010
INFO [2018-02-16 13:05:48.89]: ▸ attributes:
INFO [2018-02-16 13:05:48.89]: ▸     0x00000000 =0x00000010
INFO [2018-02-16 13:05:48.89]: ▸     0x00000001 ="AAAAE0AE83271026"
INFO [2018-02-16 13:05:48.89]: ▸     0x00000002 =
INFO [2018-02-16 13:05:48.89]: ▸     0x00000003 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000004 =0x00000000
INFO [2018-02-16 13:05:48.89]: ▸     0x00000005 =0x00000000
INFO [2018-02-16 13:05:48.89]: ▸     0x00000006 ="AAAAE0AE83271026"
INFO [2018-02-16 13:05:48.89]: ▸     0x00000007 =
INFO [2018-02-16 13:05:48.89]: ▸     0x00000008 =0x7B38373139316361322D306663392D313164342D383439612D3030303530326235323132327D00  "{87191ca2-0fc9-11d4-849a-000502b52122}\000"
INFO [2018-02-16 13:05:48.89]: ▸     0x00000009 =0x0000002A  "\000\000\000*"
INFO [2018-02-16 13:05:48.89]: ▸     0x0000000A =0x00000800
INFO [2018-02-16 13:05:48.89]: ▸     0x0000000B =0x00000800
INFO [2018-02-16 13:05:48.89]: ▸     0x0000000C =0x0000000000000000
INFO [2018-02-16 13:05:48.89]: ▸     0x0000000D =0x0000000000000000
INFO [2018-02-16 13:05:48.89]: ▸     0x0000000E =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x0000000F =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000010 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000011 =0x00000000
INFO [2018-02-16 13:05:48.89]: ▸     0x00000012 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000013 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000014 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000015 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000016 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000017 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000018 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x00000019 =0x00000001
INFO [2018-02-16 13:05:48.89]: ▸     0x0000001A =0x00000001
INFO [2018-02-16 13:05:48.89]: $ security import /var/folders/ck/qgm5lvfn667_q4_f77p2dqyr00008b/T/d20180216-10142-kdn8gv/certs/distribution/JRS3RUQT98.p12 -k '/Users/Shared/Jenkins/Library/Keychains/CIJenkinsKeychain-db' -P '' -T /usr/bin/codesign -T /usr/bin/security
security: SecKeychainItemImport: The specified item already exists in the keychain.
INFO [2018-02-16 13:05:48.98]: $ security set-key-partition-list -S apple-tool:,apple: -k r7vh7kqk /Users/Shared/Jenkins/Library/Keychains/CIJenkinsKeychain-db
INFO [2018-02-16 13:05:49.05]: ▸ keychain: "/Users/Shared/Jenkins/Library/Keychains/CIJenkinsKeychain-db"
INFO [2018-02-16 13:05:49.05]: ▸ version: 512
INFO [2018-02-16 13:05:49.05]: ▸ class: 0x00000010
INFO [2018-02-16 13:05:49.05]: ▸ attributes:
INFO [2018-02-16 13:05:49.05]: ▸     0x00000000 =0x00000010
INFO [2018-02-16 13:05:49.05]: ▸     0x00000001 ="Imported Private Key"
INFO [2018-02-16 13:05:49.05]: ▸     0x00000002 =
INFO [2018-02-16 13:05:49.05]: ▸     0x00000003 =0x00000001
INFO [2018-02-16 13:05:49.05]: ▸     0x00000004 =0x00000000
INFO [2018-02-16 13:05:49.05]: ▸     0x00000005 =0x00000000
INFO [2018-02-16 13:05:49.05]: ▸     0x00000006 =0x43AB95216491BE629477ECA5E4FBF663CF92CFC4  "C\253\225!d\221\276b\224w\354\245\344\373\366c\317\222\317\304"
INFO [2018-02-16 13:05:49.05]: ▸     0x00000007 =
INFO [2018-02-16 13:05:49.05]: ▸     0x00000008 =0x7B38373139316361322D306663392D313164342D383439612D3030303530326235323132327D00  "{87191ca2-0fc9-11d4-849a-000502b52122}\000"
INFO [2018-02-16 13:05:49.05]: ▸     0x00000009 =0x0000002A  "\000\000\000*"
INFO [2018-02-16 13:05:49.05]: ▸     0x0000000A =0x00000800
INFO [2018-02-16 13:05:49.05]: ▸     0x0000000B =0x00000800
INFO [2018-02-16 13:05:49.05]: ▸     0x0000000C =0x0000000000000000
INFO [2018-02-16 13:05:49.05]: ▸     0x0000000D =0x0000000000000000
INFO [2018-02-16 13:05:49.05]: ▸     0x0000000E =0x00000001
INFO [2018-02-16 13:05:49.05]: ▸     0x0000000F =0x00000001
INFO [2018-02-16 13:05:49.05]: ▸     0x00000010 =0x00000001
INFO [2018-02-16 13:05:49.05]: ▸     0x00000011 =0x00000000
INFO [2018-02-16 13:05:49.05]: ▸     0x00000012 =0x00000001
INFO [2018-02-16 13:05:49.05]: ▸     0x00000013 =0x00000001
INFO [2018-02-16 13:05:49.05]: ▸     0x00000014 =0x00000001
INFO [2018-02-16 13:05:49.05]: ▸     0x00000015 =0x00000001
INFO [2018-02-16 13:05:49.05]: ▸     0x00000016 =0x00000001
INFO [2018-02-16 13:05:49.05]: ▸     0x00000017 =0x00000001
INFO [2018-02-16 13:05:49.05]: ▸     0x00000018 =0x00000001
INFO [2018-02-16 13:05:49.05]: ▸     0x00000019 =0x00000001
INFO [2018-02-16 13:05:49.05]: ▸     0x0000001A =0x00000001
INFO [2018-02-16 13:05:49.05]: ▸ keychain: "/Users/Shared/Jenkins/Library/Keychains/CIJenkinsKeychain-db"
INFO [2018-02-16 13:05:49.05]: ▸ version: 512
INFO [2018-02-16 13:05:49.05]: ▸ class: 0x00000010
INFO [2018-02-16 13:05:49.05]: ▸ attributes:
INFO [2018-02-16 13:05:49.05]: ▸     0x00000000 =0x00000010
INFO [2018-02-16 13:05:49.05]: ▸     0x00000001 ="47E9E63CA9269B85"
INFO [2018-02-16 13:05:49.05]: ▸     0x00000002 =
INFO [2018-02-16 13:05:49.05]: ▸     0x00000003 =0x00000001
INFO [2018-02-16 13:05:49.05]: ▸     0x00000004 =0x00000000
INFO [2018-02-16 13:05:49.05]: ▸     0x00000005 =0x00000000
INFO [2018-02-16 13:05:49.05]: ▸     0x00000006 ="47E9E63CA9269B85"
INFO [2018-02-16 13:05:49.05]: ▸     0x00000007 =
INFO [2018-02-16 13:05:49.05]: ▸     0x00000008 =0x7B38373139316361322D306663392D313164342D383439612D3030303530326235323132327D00  "{87191ca2-0fc9-11d4-849a-000502b52122}\000"
INFO [2018-02-16 13:05:49.05]: ▸     0x00000009 =0x0000002A  "\000\000\000*"
INFO [2018-02-16 13:05:49.05]: ▸     0x0000000A =0x00000800
INFO [2018-02-16 13:05:49.05]: ▸     0x0000000B =0x00000800
INFO [2018-02-16 13:05:49.05]: ▸     0x0000000C =0x0000000000000000
INFO [2018-02-16 13:05:49.05]: ▸     0x0000000D =0x0000000000000000
INFO [2018-02-16 13:05:49.05]: ▸     0x0000000E =0x00000001
INFO [2018-02-16 13:05:49.05]: ▸     0x0000000F =0x00000001
INFO [2018-02-16 13:05:49.05]: ▸     0x00000010 =0x00000001
INFO [2018-02-16 13:05:49.05]: ▸     0x00000011 =0x00000000
INFO [2018-02-16 13:05:49.05]: ▸     0x00000012 =0x00000001
INFO [2018-02-16 13:05:49.05]: ▸     0x00000013 =0x00000001
INFO [2018-02-16 13:05:49.05]: ▸     0x00000014 =0x00000001
INFO [2018-02-16 13:05:49.05]: ▸     0x00000015 =0x00000001
INFO [2018-02-16 13:05:49.05]: ▸     0x00000016 =0x00000001
INFO [2018-02-16 13:05:49.05]: ▸     0x00000017 =0x00000001
INFO [2018-02-16 13:05:49.05]: ▸     0x00000018 =0x00000001
INFO [2018-02-16 13:05:49.05]: ▸     0x00000019 =0x00000001
INFO [2018-02-16 13:05:49.05]: ▸     0x0000001A =0x00000001
INFO [2018-02-16 13:05:49.05]: ▸ keychain: "/Users/Shared/Jenkins/Library/Keychains/CIJenkinsKeychain-db"
INFO [2018-02-16 13:05:49.05]: ▸ version: 512
INFO [2018-02-16 13:05:49.06]: ▸ class: 0x00000010
INFO [2018-02-16 13:05:49.06]: ▸ attributes:
INFO [2018-02-16 13:05:49.06]: ▸     0x00000000 =0x00000010
INFO [2018-02-16 13:05:49.06]: ▸     0x00000001 ="1F6EF50A7692CEEE"
INFO [2018-02-16 13:05:49.06]: ▸     0x00000002 =
INFO [2018-02-16 13:05:49.06]: ▸     0x00000003 =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x00000004 =0x00000000
INFO [2018-02-16 13:05:49.06]: ▸     0x00000005 =0x00000000
INFO [2018-02-16 13:05:49.06]: ▸     0x00000006 ="1F6EF50A7692CEEE"
INFO [2018-02-16 13:05:49.06]: ▸     0x00000007 =
INFO [2018-02-16 13:05:49.06]: ▸     0x00000008 =0x7B38373139316361322D306663392D313164342D383439612D3030303530326235323132327D00  "{87191ca2-0fc9-11d4-849a-000502b52122}\000"
INFO [2018-02-16 13:05:49.06]: ▸     0x00000009 =0x0000002A  "\000\000\000*"
INFO [2018-02-16 13:05:49.06]: ▸     0x0000000A =0x00000800
INFO [2018-02-16 13:05:49.06]: ▸     0x0000000B =0x00000800
INFO [2018-02-16 13:05:49.06]: ▸     0x0000000C =0x0000000000000000
INFO [2018-02-16 13:05:49.06]: ▸     0x0000000D =0x0000000000000000
INFO [2018-02-16 13:05:49.06]: ▸     0x0000000E =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x0000000F =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x00000010 =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x00000011 =0x00000000
INFO [2018-02-16 13:05:49.06]: ▸     0x00000012 =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x00000013 =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x00000014 =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x00000015 =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x00000016 =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x00000017 =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x00000018 =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x00000019 =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x0000001A =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸ keychain: "/Users/Shared/Jenkins/Library/Keychains/CIJenkinsKeychain-db"
INFO [2018-02-16 13:05:49.06]: ▸ version: 512
INFO [2018-02-16 13:05:49.06]: ▸ class: 0x00000010
INFO [2018-02-16 13:05:49.06]: ▸ attributes:
INFO [2018-02-16 13:05:49.06]: ▸     0x00000000 =0x00000010
INFO [2018-02-16 13:05:49.06]: ▸     0x00000001 ="AAAAE0AE83271026"
INFO [2018-02-16 13:05:49.06]: ▸     0x00000002 =
INFO [2018-02-16 13:05:49.06]: ▸     0x00000003 =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x00000004 =0x00000000
INFO [2018-02-16 13:05:49.06]: ▸     0x00000005 =0x00000000
INFO [2018-02-16 13:05:49.06]: ▸     0x00000006 ="AAAAE0AE83271026"
INFO [2018-02-16 13:05:49.06]: ▸     0x00000007 =
INFO [2018-02-16 13:05:49.06]: ▸     0x00000008 =0x7B38373139316361322D306663392D313164342D383439612D3030303530326235323132327D00  "{87191ca2-0fc9-11d4-849a-000502b52122}\000"
INFO [2018-02-16 13:05:49.06]: ▸     0x00000009 =0x0000002A  "\000\000\000*"
INFO [2018-02-16 13:05:49.06]: ▸     0x0000000A =0x00000800
INFO [2018-02-16 13:05:49.06]: ▸     0x0000000B =0x00000800
INFO [2018-02-16 13:05:49.06]: ▸     0x0000000C =0x0000000000000000
INFO [2018-02-16 13:05:49.06]: ▸     0x0000000D =0x0000000000000000
INFO [2018-02-16 13:05:49.06]: ▸     0x0000000E =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x0000000F =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x00000010 =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x00000011 =0x00000000
INFO [2018-02-16 13:05:49.06]: ▸     0x00000012 =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x00000013 =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x00000014 =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x00000015 =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x00000016 =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x00000017 =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x00000018 =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x00000019 =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x0000001A =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸ keychain: "/Users/Shared/Jenkins/Library/Keychains/CIJenkinsKeychain-db"
INFO [2018-02-16 13:05:49.06]: ▸ version: 512
INFO [2018-02-16 13:05:49.06]: ▸ class: 0x00000010
INFO [2018-02-16 13:05:49.06]: ▸ attributes:
INFO [2018-02-16 13:05:49.06]: ▸     0x00000000 =0x00000010
INFO [2018-02-16 13:05:49.06]: ▸     0x00000001 ="703F3443E24BD4D7"
INFO [2018-02-16 13:05:49.06]: ▸     0x00000002 =
INFO [2018-02-16 13:05:49.06]: ▸     0x00000003 =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x00000004 =0x00000000
INFO [2018-02-16 13:05:49.06]: ▸     0x00000005 =0x00000000
INFO [2018-02-16 13:05:49.06]: ▸     0x00000006 ="703F3443E24BD4D7"
INFO [2018-02-16 13:05:49.06]: ▸     0x00000007 =
INFO [2018-02-16 13:05:49.06]: ▸     0x00000008 =0x7B38373139316361322D306663392D313164342D383439612D3030303530326235323132327D00  "{87191ca2-0fc9-11d4-849a-000502b52122}\000"
INFO [2018-02-16 13:05:49.06]: ▸     0x00000009 =0x0000002A  "\000\000\000*"
INFO [2018-02-16 13:05:49.06]: ▸     0x0000000A =0x00000800
INFO [2018-02-16 13:05:49.06]: ▸     0x0000000B =0x00000800
INFO [2018-02-16 13:05:49.06]: ▸     0x0000000C =0x0000000000000000
INFO [2018-02-16 13:05:49.06]: ▸     0x0000000D =0x0000000000000000
INFO [2018-02-16 13:05:49.06]: ▸     0x0000000E =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x0000000F =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x00000010 =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x00000011 =0x00000000
INFO [2018-02-16 13:05:49.06]: ▸     0x00000012 =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x00000013 =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x00000014 =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x00000015 =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x00000016 =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x00000017 =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x00000018 =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x00000019 =0x00000001
INFO [2018-02-16 13:05:49.06]: ▸     0x0000001A =0x00000001
ERROR [2018-02-16 13:05:49.06]: undefined method `append' for #Array:0x007ffd73c5b110
++
| Installed Certificate |
++
++
INFO [2018-02-16 13:05:49.06]: Installing provisioning profile...
WARN [2018-02-16 13:05:49.21]: Setting environment variable 'sigh_com.myApp_adhoc' to '14a64b49-c7a5-4a99-b4f5-c5a821bca9c2'
WARN [2018-02-16 13:05:49.21]: Setting environment variable 'sigh_com.myApp_adhoc_team-id' to 'MyTeamId'
WARN [2018-02-16 13:05:49.21]: Setting environment variable 'sigh_com.myApp_adhoc_profile-name' to 'match AdHoc com.myApp'
WARN [2018-02-16 13:05:49.21]: Setting environment variable 'sigh_com.myApp_adhoc_profile-path' to '/Users/Shared/Jenkins/Library/MobileDevice/Provisioning Profiles/14a64b49-c7a5-4a99-b4f5-c5a821bca9c2.mobileprovision'
INFO [2018-02-16 13:05:49.21]: Installing provisioning profile...
WARN [2018-02-16 13:05:49.33]: Setting environment variable 'sigh_com.myApp.myAppExt_adhoc' to '5dd2584e-35e8-4ba9-bfc8-ed14947ec7e5'
WARN [2018-02-16 13:05:49.33]: Setting environment variable 'sigh_com.myApp.myAppExt_adhoc_team-id' to 'MyTeamId'
WARN [2018-02-16 13:05:49.33]: Setting environment variable 'sigh_com.myApp.myAppExt_adhoc_profile-name' to 'match AdHoc com.myApp.myAppExt'
lib
WARN [2018-02-16 13:05:49.33]: Setting environment variable 'sigh_com.myApp.myAppExt_adhoc_profile-path' to '/Users/Shared/Jenkins/Library/MobileDevice/Provisioning Profiles/5dd2584e-35e8-4ba9-bfc8-ed14947ec7e5.mobileprovision'
+---------------------+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
|                                                                               Installed Provisioning Profile                                                                                |
+---------------------+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
| Parameter           | Environment Variable                          | Value                                                                                |
+---------------------+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
| App Identifier      |                                               | com.myApp                                                                                |
| Type                |                                               | adhoc                                                                                |
| Platform            |                                               | ios                                                                                |
| Profile UUID        | sigh_com.myApp_adhoc              | 14a64b49-c7a5-4a99-b4f5-c5a821bca9c2                                                                                |
| Profile Name        | sigh_com.myApp_adhoc_profile-name | match AdHoc com.myApp                                                                                |
| Profile Path        | sigh_com.myApp_adhoc_profile-path | /Users/Shared/Jenkins/Library/MobileDevice/Provisioning Profiles/14a64b49-c7a5-4a99-b4f5-c5a821bca9c2.mobileprovision |
| Development Team ID | sigh_com.myApp_adhoc_team-id      | MyTeamId                                                                                |
+---------------------+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
+---------------------+--------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
|                                                                                Installed Provisioning Profile                                                                                |
+---------------------+--------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
| Parameter           | Environment Variable                                               | Value                                                                                |
+---------------------+--------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
| App Identifier      |                                                                    | com.myApp.myAppExt                                                                            |
| Type                |                                                                    | adhoc                                                                                |
| Platform            |                                                                    | ios                                                                                |
| Profile UUID        | sigh_com.myApp.myAppExt_adhoc              | 5dd2584e-35e8-4ba9-bfc8-ed14947ec7e5                                                                                |
| Profile Name        | sigh_com.myApp.myAppExt_adhoc_profile-name | match AdHoc com.myApp.myAppExt                                                                |
| Profile Path        | sigh_com.myApp.myAppExt_adhoc_profile-path | /Users/Shared/Jenkins/Library/MobileDevice/Provisioning Profiles/5dd2584e-35e8-4ba9-bfc8-ed14947ec7e5.mobileprovision |
| Development Team ID | sigh_com.myApp.myAppExt_adhoc_team-id      | MyTeamId                                                                                |
+---------------------+--------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
INFO [2018-02-16 13:05:49.34]: All required keys, certificates and provisioning profiles are installed 🙌
INFO [2018-02-16 13:05:49.36]: Setting Provisioning Profile type to 'ad-hoc'
INFO [2018-02-16 13:05:49.40]: -----------------
INFO [2018-02-16 13:05:49.40]: --- Step: gym ---
INFO [2018-02-16 13:05:49.40]: -----------------
DEBUG [2018-02-16 13:05:49.41]: Merging provisioning profile mappings
DEBUG [2018-02-16 13:05:49.41]: -------------------------------------
DEBUG [2018-02-16 13:05:49.41]: Primary provisioning profile mapping:
DEBUG [2018-02-16 13:05:49.41]: {}
DEBUG [2018-02-16 13:05:49.41]: Secondary provisioning profile mapping:
DEBUG [2018-02-16 13:05:49.41]: {:"com.myApp"=>"match AdHoc com.myApp", :"com.myApp.myAppExt"=>"match AdHoc com.myApp.myAppExt"}
DEBUG [2018-02-16 13:05:49.41]: Resulting in the following mapping:
DEBUG [2018-02-16 13:05:49.41]: {:"com.myApp"=>"match AdHoc com.myApp", :"com.myApp.myAppExt"=>"match AdHoc com.myApp.myAppExt"}
INFO [2018-02-16 13:05:49.41]: $ xcodebuild -list -workspace myApp.xcworkspace -configuration AdHoc
INFO [2018-02-16 13:05:50.34]: $ xcodebuild -showBuildSettings -workspace myApp.xcworkspace -scheme myApp -configuration AdHoc
DEBUG [2018-02-16 13:05:51.34]: Parsing project file '/Users/Shared/Jenkins/Home/workspace/myApp/myApp.xcodeproj' to find selected provisioning profiles
DEBUG [2018-02-16 13:05:51.34]: Finding provision profiles for 'AdHoc'
DEBUG [2018-02-16 13:05:51.42]: Merging provisioning profile mappings
DEBUG [2018-02-16 13:05:51.42]: -------------------------------------
DEBUG [2018-02-16 13:05:51.42]: Primary provisioning profile mapping:
DEBUG [2018-02-16 13:05:51.42]: {:"com.myApp"=>"match AdHoc com.myApp", :"com.myApp.myAppExt"=>"match AdHoc com.myApp.myAppExt"}
DEBUG [2018-02-16 13:05:51.42]: Secondary provisioning profile mapping:
DEBUG [2018-02-16 13:05:51.42]: {:"com.myApp"=>"match AdHoc com.myApp", :"com.myApp.myAppExt"=>"match AdHoc com.myApp.myAppExt"}
DEBUG [2018-02-16 13:05:51.42]: Resulting in the following mapping:
DEBUG [2018-02-16 13:05:51.42]: {:"com.myApp"=>"match AdHoc com.myApp", :"com.myApp.myAppExt"=>"match AdHoc com.myApp.myAppExt"}
INFO [2018-02-16 13:05:51.42]: Detected provisioning profile mapping: {:"com.myApp"=>"match AdHoc com.myApp", :"com.myApp.myAppExt"=>"match AdHoc com.myApp.myAppExt"}
+--------------------------------------------------------------------------------+--------------------------------------------------------------------+
|                                                               Summary for gym 2.81.0                                                                |
+--------------------------------------------------------------------------------+--------------------------------------------------------------------+
| clean                                                                          | true                                                               |
| configuration                                                                  | AdHoc                                                              |
| export_method                                                                  | ad-hoc                                                             |
| workspace                                                                      | myApp.xcworkspace                                      |
| scheme                                                                         | myApp                                                  |
| include_bitcode                                                                | true                                                               |
| export_options.provisioningProfiles.com.myApp                      | match AdHoc com.myApp                                  |
| export_options.provisioningProfiles.com.myApp.myAppExt | match AdHoc com.myApp.myAppExt             |
| destination                                                                    | generic/platform=iOS                                               |
| output_name                                                                    | myApp                                                  |
| output_directory                                                               | /Users/Shared/Jenkins/Home/workspace/myApp/output      |
| silent                                                                         | false                                                              |
| skip_package_ipa                                                               | false                                                              |
| build_path                                                                     | /Users/Shared/Jenkins/Home/workspace/myApp/output      |
| derived_data_path                                                              | /Users/Shared/Jenkins/Home/workspace/myApp/derivedData |
| result_bundle                                                                  | true                                                               |
| buildlog_path                                                                  | ~/Library/Logs/gym                                                 |
| skip_profile_detection                                                         | false                                                              |
| xcode_path                                                                     | /Applications/Xcode.app                                            |
+--------------------------------------------------------------------------------+--------------------------------------------------------------------+
+------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|                                                                                Generated Build Command                                                                                |
+------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
| Option                                                                                | Value                                                                                |
+------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
| set -o pipefail &&                                                                                |                                                                                |
| xcodebuild                                                                                |                                                                                |
| -workspace myApp.xcworkspace                                                                                |                                                                                |
| -scheme myApp                                                                                |                                                                                |
| -configuration AdHoc                                                                                |                                                                                |
| -destination                                                                                | generic/platform=iOS                                                                   |
| -archivePath /Users/Shared/Jenkins/Home/workspace/myApp/output/myApp\ 2018-02-16\ 13.05.51.xcarchive |                                                                                |
| -derivedDataPath                                                                                | /Users/Shared/Jenkins/Home/workspace/myApp/derivedData                     |
| -resultBundlePath                                                                                | /Users/Shared/Jenkins/Home/workspace/myApp/output/myApp.result |
| clean                                                                                |                                                                                |
| archive                                                                                |                                                                                |
| | tee /Users/Shared/Jenkins/Library/Logs/gym/myApp-myApp.log                                         |                                                                                |
| | xcpretty                                                                                |                                                                                |
+------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
INFO [2018-02-16 13:05:51.44]: $ set -o pipefail && xcodebuild -workspace myApp.xcworkspace -scheme myApp -configuration AdHoc -destination 'generic/platform=iOS' -archivePath /Users/Shared/Jenkins/Home/workspace/myApp/output/myApp\ 2018-02-16\ 13.05.51.xcarchive -derivedDataPath '/Users/Shared/Jenkins/Home/workspace/myApp/derivedData' -resultBundlePath '/Users/Shared/Jenkins/Home/workspace/myApp/output/myApp.result' clean archive | tee /Users/Shared/Jenkins/Library/Logs/gym/myApp-myApp.log | xcpretty
INFO [2018-02-16 13:05:52.57]: ▸ Cleaning Pods/Alamofire [AdHoc]
INFO [2018-02-16 13:05:52.57]: ▸ Check Dependencies
INFO [2018-02-16 13:05:52.68]: ▸ Cleaning Pods/Pods-myAppExt [AdHoc]
INFO [2018-02-16 13:05:52.68]: ▸ Check Dependencies
INFO [2018-02-16 13:05:52.68]: ▸ Cleaning myApp/myAppExt [AdHoc]
INFO [2018-02-16 13:05:52.68]: ▸ Check Dependencies
INFO [2018-02-16 13:05:52.68]: ▸ Cleaning Pods/Pods-myApp [AdHoc]
INFO [2018-02-16 13:05:52.68]: ▸ Check Dependencies
INFO [2018-02-16 13:05:52.68]: ▸ Cleaning myApp/myApp [AdHoc]
INFO [2018-02-16 13:05:52.68]: ▸ Check Dependencies
INFO [2018-02-16 13:05:52.79]: ▸ Clean Succeeded
INFO [2018-02-16 13:05:52.89]: ▸ Building Pods/Alamofire [AdHoc]
INFO [2018-02-16 13:05:52.89]: ▸ Check Dependencies
INFO [2018-02-16 13:05:53.07]: ▸ Processing Info.plist
INFO [2018-02-16 13:05:55.13]: ▸ Building Pods/Pods-myAppExt [AdHoc]
INFO [2018-02-16 13:05:55.13]: ▸ Check Dependencies
INFO [2018-02-16 13:05:55.14]: ▸ Processing Info.plist
INFO [2018-02-16 13:05:55.14]: ▸ Compiling Pods-myAppExt-dummy.m
INFO [2018-02-16 13:05:55.14]: ▸ Compiling Pods_myAppExt_vers.c
INFO [2018-02-16 13:05:55.14]: ▸ Compiling Pods-myAppExt-dummy.m
INFO [2018-02-16 13:05:55.14]: ▸ Compiling Pods_myAppExt_vers.c
INFO [2018-02-16 13:05:55.14]: ▸ Copying Pods-myAppExt-umbrella.h
INFO [2018-02-16 13:05:55.14]: ▸ Touching Pods_myAppExt.framework
INFO [2018-02-16 13:05:55.14]: ▸ Building myApp/myAppExt [AdHoc]
INFO [2018-02-16 13:05:55.14]: ▸ Check Dependencies
INFO [2018-02-16 13:05:55.16]: ▸ ** ARCHIVE FAILED **
INFO [2018-02-16 13:05:55.16]: ▸ The following build commands failed:
INFO [2018-02-16 13:05:55.16]: ▸ Check dependencies
INFO [2018-02-16 13:05:55.16]: ▸ (1 failure)
▸ Cleaning Pods/Alamofire [AdHoc]
▸ Check Dependencies
▸ Cleaning Pods/Pods-myAppExt [AdHoc]
▸ Check Dependencies
▸ Cleaning myApp/myAppExt [AdHoc]
▸ Check Dependencies
▸ Cleaning Pods/Pods-myApp [AdHoc]
▸ Check Dependencies
▸ Cleaning myApp/myApp [AdHoc]
▸ Check Dependencies
▸ Clean Succeeded
▸ Building Pods/Alamofire [AdHoc]
▸ Check Dependencies
▸ Processing Info.plist
▸ Building Pods/Pods-myAppExt [AdHoc]
▸ Check Dependencies
▸ Processing Info.plist
▸ Compiling Pods-myAppExt-dummy.m
▸ Compiling Pods_myAppExt_vers.c
▸ Compiling Pods-myAppExt-dummy.m
▸ Compiling Pods_myAppExt_vers.c
▸ Copying Pods-myAppExt-umbrella.h
▸ Touching Pods_myAppExt.framework
▸ Building myApp/myAppExt [AdHoc]
▸ Check Dependencies
** ARCHIVE FAILED **
The following build commands failed:
Check dependencies
(1 failure)
ERROR [2018-02-16 13:05:55.18]: Exit status: 65
+---------------+-------------------------+
|            Build environment            |
+---------------+-------------------------+
| xcode_path    | /Applications/Xcode.app |
| gym_version   | 2.81.0                  |
| export_method | ad-hoc                  |
| sdk           | iPhoneOS11.2.sdk        |
+---------------+-------------------------+
INFO [2018-02-16 13:05:55.20]: ▸ === BUILD TARGET myAppExt OF PROJECT myApp WITH CONFIGURATION AdHoc ===
INFO [2018-02-16 13:05:55.20]: ▸ Check dependencies
INFO [2018-02-16 13:05:55.20]: ▸ Code Signing Error: No certificate for team 'MyTeamId' matching 'iPhone Distribution: Samuel Lagunes (MyTeamId)' found:  Select a different signing certificate for CODE_SIGN_IDENTITY, a team that matches your selected certificate, or switch to automatic provisioning.
INFO [2018-02-16 13:05:55.20]: ▸ Code Signing Error: Code signing is required for product type 'App Extension' in SDK 'iOS 11.2'
INFO [2018-02-16 13:05:55.20]:
ERROR [2018-02-16 13:05:55.20]: ⬆  Check out the few lines of raw xcodebuild output above for potential hints on how to solve this error
WARN [2018-02-16 13:05:55.20]: 📋  For the complete and more detailed error log, check the full log at:
WARN [2018-02-16 13:05:55.20]: 📋  /Users/Shared/Jenkins/Library/Logs/gym/myApp-myApp.log
INFO [2018-02-16 13:05:55.20]:
ERROR [2018-02-16 13:05:55.20]: Looks like fastlane ran into a build/archive error with your project
ERROR [2018-02-16 13:05:55.20]: It's hard to tell what's causing the error, so we wrote some guides on how
ERROR [2018-02-16 13:05:55.20]: to troubleshoot build and signing issues: https://docs.fastlane.tools/codesigning/getting-started/
ERROR [2018-02-16 13:05:55.20]: Before submitting an issue on GitHub, please follow the guide above and make
ERROR [2018-02-16 13:05:55.20]: sure your project is set up correctly.
ERROR [2018-02-16 13:05:55.20]: fastlane uses xcodebuild commands to generate your binary, you can see the
ERROR [2018-02-16 13:05:55.20]: the full commands printed out in yellow in the above log.
ERROR [2018-02-16 13:05:55.20]: Make sure to inspect the output above, as usually you'll find more error information there
INFO [2018-02-16 13:05:55.20]:
WARN [2018-02-16 13:05:55.20]: Lane Context:
INFO [2018-02-16 13:05:55.20]: {:DEFAULT_PLATFORM=>:ios, :PLATFORM_NAME=>:ios, :LANE_NAME=>"ios Jenkins", :SIGH_PROFILE_TYPE=>"ad-hoc", :MATCH_PROVISIONING_PROFILE_MAPPING=>{"com.myApp"=>"match AdHoc com.myApp", "com.myApp.myAppExt"=>"match AdHoc com.myApp.myAppExt"}}
ERROR [2018-02-16 13:05:55.20]: Error building the application - see the log above
INFO [2018-02-16 13:05:55.20]: Successfully generated documentation at path '/Users/Shared/Jenkins/Home/workspace/myApp/fastlane/README.md'
+------+------------------+-------------+
|           fastlane summary            |
+------+------------------+-------------+
| Step | Action           | Time (in s) |
+------+------------------+-------------+
| 1    | update_fastlane  | 2           |
| 2    | default_platform | 0           |
| 3    | cocoapods        | 2           |
| 4    | setup_jenkins    | 0           |
| 5    | match            | 4           |
| 💥   | gym              | 5           |
+------+------------------+-------------+
ERROR [2018-02-16 13:05:55.21]: fastlane finished with errors
/Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/fastlane-2.81.0/fastlane_core/lib/fastlane_core/ui/interface.rb:155:in `build_failure!': [!] Error building the application - see the log above (FastlaneCore::Interface::FastlaneBuildFailure)
from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/fastlane-2.81.0/fastlane_core/lib/fastlane_core/ui/ui.rb:16:in `method_missing'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/fastlane-2.81.0/gym/lib/gym/error_handler.rb:73:in `handle_build_error'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/fastlane-2.81.0/gym/lib/gym/runner.rb:97:in `block in build_app'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/fastlane-2.81.0/fastlane_core/lib/fastlane_core/command_executor.rb:93:in `execute'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/fastlane-2.81.0/gym/lib/gym/runner.rb:93:in `build_app'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/fastlane-2.81.0/gym/lib/gym/runner.rb:18:in `run'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/fastlane-2.81.0/gym/lib/gym/manager.rb:19:in `work'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/fastlane-2.81.0/fastlane/lib/fastlane/actions/build_ios_app.rb:64:in `run'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/fastlane-2.81.0/fastlane/lib/fastlane/runner.rb:256:in `block (2 levels) in execute_action'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/fastlane-2.81.0/fastlane/lib/fastlane/actions/actions_helper.rb:50:in `execute_action'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/fastlane-2.81.0/fastlane/lib/fastlane/runner.rb:235:in `block in execute_action'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/fastlane-2.81.0/fastlane/lib/fastlane/runner.rb:230:in `chdir'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/fastlane-2.81.0/fastlane/lib/fastlane/runner.rb:230:in `execute_action'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/fastlane-2.81.0/fastlane/lib/fastlane/runner.rb:157:in `trigger_action_by_name'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/fastlane-2.81.0/fastlane/lib/fastlane/fast_file.rb:148:in `method_missing'

from Fastfile:94:in `block (2 levels) in parsing_binding'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/fastlane-2.81.0/fastlane/lib/fastlane/lane.rb:33:in `call'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/fastlane-2.81.0/fastlane/lib/fastlane/runner.rb:49:in `block in execute'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/fastlane-2.81.0/fastlane/lib/fastlane/runner.rb:45:in `chdir'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/fastlane-2.81.0/fastlane/lib/fastlane/runner.rb:45:in `execute'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/fastlane-2.81.0/fastlane/lib/fastlane/lane_manager.rb:56:in `cruise_lane'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/fastlane-2.81.0/fastlane/lib/fastlane/command_line_handler.rb:36:in `handle'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/fastlane-2.81.0/fastlane/lib/fastlane/commands_generator.rb:108:in `block (2 levels) in run'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/commander-fastlane-4.4.5/lib/commander/command.rb:178:in `call'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/commander-fastlane-4.4.5/lib/commander/command.rb:153:in `run'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/commander-fastlane-4.4.5/lib/commander/runner.rb:476:in `run_active_command'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/fastlane-2.81.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:75:in `run!'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/commander-fastlane-4.4.5/lib/commander/delegates.rb:15:in `run!'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/fastlane-2.81.0/fastlane/lib/fastlane/commands_generator.rb:337:in `run'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/fastlane-2.81.0/fastlane/lib/fastlane/commands_generator.rb:42:in `start'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/fastlane-2.81.0/fastlane/lib/fastlane/cli_tools_distributor.rb:98:in `take_off'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/gems/fastlane-2.81.0/bin/fastlane:20:in `<top (required)>'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/bin/fastlane:23:in `load'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/bin/fastlane:23:in `<main>'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:15:in `eval'

from /Users/Shared/Jenkins/.rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:15:in `<main>'

Process leaked file descriptors. See https://jenkins.io/redirect/troubleshooting/process-leaked-file-descriptors for more information
Build step 'Execute shell' marked build as failure
Finished: FAILURE]

Jenkins keychain (users/shared/jenkins/library/keychains)

Jenkins profiles (users/shared/jenkins/library/MobileDevice/Provisioning Profiles)

Finally I found a solution for this:
https://github.com/fastlane/fastlane/issues/9677
I has to manually install Apple Worldwide Developer Relations Certification Authority  in the System Keychain even when match install the same certificate in my jenkins keychain.

@xlsmearlx Glad you found the solution! I will into this since this does seem a bit weird. I think the issue arises from this wwdr_keychain method where we pick the first keychain from the list. This probably needs to be a bit smarter 🤔
https://github.com/fastlane/fastlane/blob/e7c5ab2d103b7b79e03283a59d6c3f56aa5f6786/fastlane_core/lib/fastlane_core/cert_checker.rb#L90-L103.


Websocket connection error

Type: Question
Severity: Low
Description: When a node is disconnected from the internet, when internet comes back, it shows the below error. Obviously because it can't open a webscoket connection with another node. But my question is, can we catch it?
WebSocket connection to 'ws://<IP_ADDRESS>:8081/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
module.exports @ F:\classwork\madnet\node_modules\pull-ws\client.js:18
dial @ F:\classwork\madnet\node_modules\libp2p-websockets\src\index.js:26
timeout @ F:\classwork\madnet\node_modules\libp2p-switch\src\limit-dialer\queue.js:79
(anonymous) @ F:\classwork\madnet\node_modules\async\timeout.js:86
(anonymous) @ F:\classwork\madnet\node_modules\async\internal\initialParams.js:11
_dialWithTimeout @ F:\classwork\madnet\node_modules\libp2p-switch\src\limit-dialer\queue.js:86
_doWork @ F:\classwork\madnet\node_modules\libp2p-switch\src\limit-dialer\queue.js:41
DialQueue.queue.queue @ F:\classwork\madnet\node_modules\libp2p-switch\src\limit-dialer\queue.js:25
(anonymous) @ F:\classwork\madnet\node_modules\async\queue.js:10
process @ F:\classwork\madnet\node_modules\async\internal\queue.js:175
(anonymous) @ F:\classwork\madnet\node_modules\async\internal\queue.js:82
(anonymous) @ F:\classwork\madnet\node_modules\async\internal\setImmediate.js:27
runCallback @ timers.js:789
tryOnImmediate @ timers.js:751
processImmediate @ timers.js:722

It would be good to wrap the code in libp2p-websockets, https://github.com/libp2p/js-libp2p-websockets/blob/f59cf88cc237a34b0024e25392d7323ff6129c6b/src/index.js#L26-L31, with a try-catch and return the error via the callback.
With the variety of transports libp2p has, we should have them each conform to not throwing errors and instead returning them via callbacks to make the dial handler code in libp2p-switch more uniform.
I've created an issue, https://github.com/libp2p/js-libp2p-websockets/issues/77, to track this. If you're up for submitting a PR that would be much appreciated!

Closing as this is specific to the websocket transport - please see https://github.com/libp2p/js-libp2p-websockets/issues/77 to continue.


Link distance

https://bl.ocks.org/mbostock/ad70335eeef6d167bc36fd3c04378048
How can I make a network like this? D3 has a line value option to draw a distance between nodes.

I haven't tried myself. But you can try setting simCb or customForces prop options to
someFunc(sim) {
sim.force('link', d3.forceLink(links).id(function (d) {
return d.id;
}).strength(0.5));
return sim
}

@ekifox
You can fix the position of some nodes, see the 'pin' tool in the example.