mac_apt_artifact_only tries to use nonexistent python by default

In the current release, running./mac_apt_artifact_only -h after initial download gives the following output:
2020-04-23 14:08:53.828 mac_apt_artifact_only[43079:479791] A Python runtime not could be located.  You may need to install a framework build of Python, or edit the PyRuntimeLocations array in this application's Info.plist file.

Examining the Info.plist shows that the app is trying to find a version of python at ../Frameworks/Python.framework/Versions/3.7/Python, but Versions/3.7 is empty. However, Versions/Current contains a Python file that allows the program to run successfully.
Accordingly, the package should be released with the appropriate path in Info.plist in the first place (since the Python provided is part of the package) instead of forcing users to figure this out.

You are correct, there is a problem with this.
py2app was used to convert this into a standalone package. I don't have the machine where this was compiled, but I can compare with older uploads. There should be a symbolic link under the path you mention which then points to the correct path. However, it seems that when this is uploaded to github, the symbolic link is replaced with a copy of the file. Also, the files no longer have the execute permissions on them. I will have to find a way around this, the problem being that github does not allow release assets to be zip files.

OK, seems github now allows zip! I will update the binaries some time in the next 24 hours.

Hey, thanks for looking into this so quickly!
Does this mean you'll no longer be uploading the .app format? That's what felt most counter-intuitive about all of this, though I understand the reasons as you've explained them.

No, it will still be in the .app format, because there is no alternative to this. py2app will only create an app package. The only difference is that it will be inside a zip file, so you have to unzip it now before using it.
Yes, it is counter-intuitive going into the /Contents/MacOS/ folder to run the actual program, but that is as easy as it gets (compared to installing the dependencies manually)! But now that it is a zip file, I will include a Readme file there to explain what you need to do. If you look at previous releases, it has a zip file with readme, but github then did not allow them as assets.

True, I will admit that after spending some time trying to do the manual Python 3.7 install and running into dependency/environment issues, going back to the .app package and figuring out how to get that working was far easier and what ultimately worked. Adding the Readme back sounds like all that's necessary to keep thing simple for everyone.
Thanks for creating this utility! It helped me extract important info for work after my Notes.app stopped working out of nowhere. Now if someone could just help me figure out how to fix that, I'd be golden...

if someone could just help me figure out how to fix that, I'd be golden...
What exactly do you need figured out?


Steps Needed to make the Generator Work in a new project

Verify you're using rails v7
rails new <app> -j=webpack -c=sass -d=postgresql -T
cd <app>
bundle add bcrypt
Add generator to Gemfile
bundle
Run the generator(s)
bin/setup
Start the server

Found some more things needed:

update ecmaVersioin to latest in .eslintrc.cjs
Fix eslint errors
Replace semaphore webpacker lines with the webpack config from engage-learn
Add the following gems:

bundler-audit
rspec_junit_formatter

Run bundle install --binstubs


fix: detect nuxt3

This PR adds hotfix support for devtools with Nuxt3. Note, devtools will be enabled in production for Nuxt3, just as it seems it is with Vue3, see these lines.
This change is necessary for Nuxt3 because:

$root.constructor does not get Vue any more in Vue3
even if we polyfill Vue at $root.constructor, Vue.config.devtools is not (yet) valid for Vue3

Note, devtools will be enabled in production for Nuxt3, just as it seems it is with Vue3

The devtools are not enabled in production by default: https://github.com/vuejs/vue-next/tree/master/packages/vue#bundler-build-feature-flags

I fixed devtools detection in https://github.com/vuejs/devtools/commit/9d85d2d8fd200481498c6e9190e45b6a0db519b8
Nuxt 3 will need to update to Vue 3.2.14+

cc @Atinux


fix: 💫 update crates

Description
Update dependencies
Type of change

[X] Dependency update

How Has This Been Tested?

[X] cargo test run with all tests passing

Checklist:

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

Current dependencies on/for this PR:

main

PR #18   👈

This comment was auto-generated by Graphite.


Lockfile maintenance config via env var?

Is there a way to set the lockfile maintenance config via env vars?  It appears that the env var name cell is empty in that column in the docs.  Thanks!

Because it's an object (i.e. with nested config inside), it's not possible currently to define via env. How were you wanting to modify the behaviour? I will think if there's a better way to allow it once I know your use case.

Just want to disable it by default and only re-enable per repo.

Ok I'll think of a way

@SpainTrain it should be supported now - see https://github.com/singapore/renovate/commit/beb37bc1283a9cadd38f863110be15a55ab7026a and Renovate v9.24.0

:tada: and thanks for quick turnaround!


Change address not added to the database

Bug description
A Firefly user reported missing funds after sending a transfer. On closer inspection a change address was not added to the database (index 94).
Version
204a8961cb1cf0b05f297ca148d3e86e1b55706d

Couldn't reproduce this one. Might have been already fixed by the change address indexing. Please reopen if the issue still persists.


Missing dependency "tslib"

Description
tslib is a dependency but is not listed in package.json
Line 3 on<EMAIL_ADDRESS>includes require('tslib'), but there is no tslib listed as a dependency in https://github.com/piotrwitek/typesafe-actions/blob/v4.2.0/package.json
Steps to Reproduce
Steps to reproduce the behavior:

Clone https://github.com/esseb/typesafe-actions-tslib-dependency
Follow the steps in the README.md in that project

Not possible to test in CodeSandbox as far as I know.
Expected behavior
No errors.
Suggested solution(s)
tslib should be either added as a dependency or its usage removed.
Project Dependencies

Typesafe-Actions Version: 4.2.0
TypeScript Version: 3.4.5
tsconfig.json: none

Thanks, @piotrwitek 🎉


Adding SOFA compatibility to the API revamp pr

Takes the work of #20 and integrates it into run.py, along with moves around some of the room sim/sofa utilities from #20 to the room_scaper directory.
One key change; because SOFA doesn't preserve the trajectory/height structure of the TAU-SRIR database, the 'trajectory' key of the mixture dictionary is deprecated, and has been removed. As we move on to the metadata synthesizer and audio synthesizers, I'll continue to port compatibility.
Lastly, this PR removes some vauge utils.py files that are no longer being used due to the deprecation of .pkl files.

covered in #20

covered in #20


Fix trailing space on init keyword

Minor fix-up to #1137 which solves the problem of BasicFormat formatting init() into init ().

@swift-ci please test

Thanks! 🎉


Documenation: Update instruction to download compressed kernel

Now that we have moved to use PC instead of PC-lite, we use the
vmlinuz kernel instead of vmlinux to boot a Clear Container. This
commit updates the location where the linux-container file is
downloaded, which now provides the compressed kernel.
Fixes #414.
Signed-off-by: Salvador Fuentes<EMAIL_ADDRESS>

Coverage remained the same at 55.39% when pulling 48ac9583bad2aa79e600cbbdffb02e21fabbe1de on chavafg:topic/fix_documentation into 7bde8a9eb710dd9f090a680f1f6ba9ad86137a3b on clearcontainers:master.

@jcvenegas fixed, thanks.

Coverage remained the same at 55.39% when pulling 5c70a652480a9da72a6af2f886e1a73f2cc5216b on chavafg:topic/fix_documentation into 7bde8a9eb710dd9f090a680f1f6ba9ad86137a3b on clearcontainers:master.

lgtm,  @sboeuf  @devimc  any comment about let developers  docs pointing to latest kernel, but keep semaphore using the old kernel?

@jcvenegas Developer should be using the latest kernel provided by our packaging, the kernel in demos was just a workaround for semaphore.

@iphutch can you please review?

Once @iphutch's comments have been addressed:
lgtm

Coverage remained the same at 55.39% when pulling 44edd61cf43a384958b1c457d0c182a8d9dfa2ca on chavafg:topic/fix_documentation into 743362fc27af0e85702dd34b096bade5ddcb9359 on clearcontainers:master.


Successful build is missing hash value in resulting package name

At the end of a successful Rhoc build, the resulting package file name is package-linux-amd64-.tar.gz. Per the documentation, there should be a hash value after the dash and before the .tar.gz file extension.

Hello! Could you please clarify how did you acquire the source and how are you building it?

Just a git clone followed by a standard make.

This release solves the problem.


mavenized version of the data set

Hey guys,
I am new to Maven and wanted to ask whether there is a mavenized version of this data set. :-) I want to upload the code into a maven repo and am working with Maven for the first time.
Thank you very much for providing it!
Best regards,
Salih

I hope this repo helps you D4J_Maven.

I am closing this issue. From what I understand, the goal is to ease building all bugs in Defects4J. The defects4j compile command does exactly that.
Feel free to reopen the issue with a concrete proposal for (internally) building all bugs in Defects4J with Maven.


Release v0.0.9 controller image

What type of PR is this?
Upgrade

Which issue does this PR fix:
N/A
What does this PR do / Why do we need it:
Upgrade controller version
If an issue # is not available please add repro steps and logs from aws-gateway-controller showing the issue:
N/A
Testing done on this change:
Yes

Automation added to e2e:
N/A

Will this PR introduce any new dependencies?:
No

Will this break upgrades or downgrades. Has updating a running cluster been tested?:
No
Does this PR introduce any user-facing change?:

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 31.654%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
3142

Relevant Lines:
9926

💛  - Coveralls


Update Printer.java

Remove to early view cleanup.
the view might be needed in case of printer refresh or error.

+1


Azure DevOps Pipeline much slower than CircleCI and GitHub Actions

Getting a response from theinternet docker service is very slow in comparison to github actions and circleci.
https://dev.azure.com/perljonathan/qawolf/_build/results?buildId=54&view=logs&j=12f1170f-54f2-53f3-20dd-22fc7dff55f9&t=9c939e41-62c2-5605-5e05-fc3554afc9f5
Azure 4m 27s
PASS .qawolf/tests/login.test.js (101.24s)
PASS .qawolf/tests/select.test.js (70.939s)
PASS .qawolf/tests/scroll.test.js (58.037s)

GitHub Actions 35s
PASS .qawolf/tests/login.test.js (13.99s)
PASS .qawolf/tests/select.test.js (5.421s)
PASS .qawolf/tests/scroll.test.js

CircleCI 34s
 PASS  .qawolf/tests/login.test.js (13.385s)
 PASS  .qawolf/tests/select.test.js
 PASS  .qawolf/tests/scroll.test.js

All of them have video artifacts where you can watch the first request taking a very long time on Azure vs others.

I apologise for the delayed response. Do you still see this significant delay?

I apologise for the delayed response. Do you still see this significant delay?


"Tutorial: Creating an AWS CDK Application" does not explain how to destroy the application

Hi! Thanks for making this tool, it is making me much less afraid of AWS.
However, something I was confused by when running the Creating an AWS CDK Application tutorial is that it doesn't explain how to destroy the stack you created.  I ran cdk --help and it pointed me to a cdk destroy command, which sounded like the opposite of cdk deploy, so I tried it:
Are you sure you want to delete: HelloCdkStack (y/n)? y
HelloCdkStack: destroying...

 ✅  HelloCdkStack: destroyed

No errors were reported, so I thought everything created by cdk deploy would be undone.
However, when I looked at my AWS S3 console, it appeared that the S3 bucket that was part of my stack wasn't deleted.  Perhaps deleting S3 buckets isn't something the CDK explicitly does because it might result in data loss?  If this is the case, it'd be great if it told me that I had to manually delete it... Otherwise I feel unsettled because I'm not sure if there's other detritus laying about my AWS account as a result of tinkering with the CDK.
To inspire full confidence in the CDK, I think it'd be great to have a section at the very end of the tutorial that explains how to "uninstall" the application, so that users feel comfortable experimenting without accidentally polluting their AWS account.

I've added the following blurb at the end of the tutorial:
In some cases this command fails, such as when a resource isn't empty and must be empty before it can be deleted. See Delete Stack Fails in the AWS CloudFormation documentation for details.
Note that we are moving the guide to the official AWS Docs site. I'll post a link to the tutorial when I get the docs up.

Awesome, thanks @eladb and @Doug-AWS!

See https://docs.aws.amazon.com/CDK/latest/userguide/hello_world_tutorial.html#hello_world_tutorial_delete_stack


Change USER_NODE_IS_ACTIVE to unquoted

Summary of Changes
Bool value needs to be unquoted, otherwise neo4j will store the attribute as str type.
Tests
What tests did you add or modify and why? If no tests were added or modified, explain why. Remove this line
Documentation
What documentation did you add or modify and why? Add any relevant links then remove this line
CheckList
Make sure you have checked all steps below to ensure a timely review.

[X] PR title addresses the issue accurately and concisely. Example: "Updates the version of Flask to v1.0.2"

In case you are adding a dependency, check if the license complies with the ASF 3rd Party License Policy.

[X] PR includes a summary of changes.
[X] PR adds unit tests, updates existing unit tests, OR documents why no test additions or modifications are needed.
[X] In case of new functionality, my PR adds documentation that describes how to use it.

All the public functions and the classes in the PR contain docstrings that explain what it does

[X] PR passes make test
[X] I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message"

Codecov Report

Merging #71 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@           Coverage Diff            @@
##           master    #71      +/-   ##
========================================
+ Coverage   82.99%    83%   +<.01%
========================================
  Files          53     53
  Lines        2499   2500       +1
  Branches      247    247
========================================
+ Hits         2074   2075       +1
  Misses        344    344
  Partials       81     81

Impacted Files
Coverage Δ

databuilder/models/user.py
83.07% <100%> (+0.26%)
:arrow_up:

Continue to review full report at Codecov.

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

@feng-tao don't merge this one now. I tested in tars and found this error:
[2019-05-30 23:15:23,301] {base_task_runner.py:95} INFO - Subtask: Traceback (most recent call last):
[2019-05-30 23:15:23,301] {base_task_runner.py:95} INFO - Subtask:   File "/srv/venvs/service/trusty/service_venv/bin/airflow", line 7, in <module>
[2019-05-30 23:15:23,301] {base_task_runner.py:95} INFO - Subtask:     exec(compile(f.read(), __file__, 'exec'))
[2019-05-30 23:15:23,302] {base_task_runner.py:95} INFO - Subtask:   File "/srv/venvs/service/trusty/service_venv/src/apache-airflow/airflow/bin/airflow", line 52, in <module>
[2019-05-30 23:15:23,302] {base_task_runner.py:95} INFO - Subtask:     args.func(args)
[2019-05-30 23:15:23,302] {base_task_runner.py:95} INFO - Subtask:   File "/srv/venvs/service/trusty/service_venv/src/apache-airflow/airflow/utils/cli.py", line 54, in wrapper
[2019-05-30 23:15:23,302] {base_task_runner.py:95} INFO - Subtask:     return f(*args, **kwargs)
[2019-05-30 23:15:23,302] {base_task_runner.py:95} INFO - Subtask:   File "/srv/venvs/service/trusty/service_venv/src/apache-airflow/airflow/bin/cli.py", line 522, in run
[2019-05-30 23:15:23,302] {base_task_runner.py:95} INFO - Subtask:     pool=args.pool,
[2019-05-30 23:15:23,302] {base_task_runner.py:95} INFO - Subtask:   File "/srv/venvs/service/trusty/service_venv/src/apache-airflow/airflow/utils/db.py", line 54, in wrapper
[2019-05-30 23:15:23,302] {base_task_runner.py:95} INFO - Subtask:     result = func(*args, **kwargs)
[2019-05-30 23:15:23,302] {base_task_runner.py:95} INFO - Subtask:   File "/srv/venvs/service/trusty/service_venv/src/apache-airflow/airflow/models.py", line 1392, in run
[2019-05-30 23:15:23,302] {base_task_runner.py:95} INFO - Subtask:     result = task_copy.execute(context=context)
[2019-05-30 23:15:23,302] {base_task_runner.py:95} INFO - Subtask:   File "/srv/venvs/service/trusty/service_venv/src/apache-airflow/airflow/operators/python_operator.py", line 84, in execute
[2019-05-30 23:15:23,303] {base_task_runner.py:95} INFO - Subtask:     return_value = self.python_callable(*self.op_args, **self.op_kwargs)
[2019-05-30 23:15:23,303] {base_task_runner.py:95} INFO - Subtask:   File "/home/jundayang/etl/lib/lyftdata/airflow/dags/amundsen/amundsen_databuilder_people_dag.py", line 95, in create_user_source_job
[2019-05-30 23:15:23,303] {base_task_runner.py:95} INFO - Subtask:     job.launch()
[2019-05-30 23:15:23,303] {base_task_runner.py:95} INFO - Subtask:   File "/srv/venvs/service/trusty/service_venv/local/lib/python2.7/site-packages/databuilder/job/job.py", line 76, in launch
[2019-05-30 23:15:23,303] {base_task_runner.py:95} INFO - Subtask:     raise e
[2019-05-30 23:15:23,303] {base_task_runner.py:95} INFO - Subtask: UnicodeEncodeError: 'ascii' codec can't encode character u'\xf1' in position 19: ordinal not in range(128)

sync offline with @youngyjd . This issue is not related to this change, but to the fact that our record needs to encode(utf-8). We do the change in our user extractor.


Add files via upload

Roodkapje
Ebit22
Author:

About your game
What is your game about?
Find the way to the house.

How do you play your game?
WASD to move, don't touch the wolfs.

Code
Check off the items that are true.

[x] The game was made using the Sprig editor.
[x] The game is placed in the in the /games directory.
[x] The code is significantly different from all other games in the Sprig gallery (except for games labeled "demo").
[x] The game runs without errors.
[x] The name of the file/game contains only alphanumeric characters, -s, or _s.
[x] The game name is not the same as the others from gallery

Image (If an image is used)

[ ] The image is in the /games/img directory.
[ ] The name of the image matches the name of your file.

Thanks for your PR!

I would also note that I found this game somewhat hard to play given the input keybindings (wsad didn't work as I'd expect)

I can't upload the file in the [/games directory]

Neat game!  Congratulations, if you're a teen, you can order a Sprig by filling out this form here: https://sprig-order.hackclub.dev/


Move some removal notice to aliases

Description of changes
to avoid the broken windows effect
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] 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 rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.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.

Add a :+1: reaction to pull requests you find important.

I don't know about the official commit format for touching those files - but the content of the diff looks fine. Thank you for this!


Add ordered/segmented aggregation Substrait extension

Describe the enhancement requested
Add a Substrait extension for ordered/segmented aggregation, which was added in #32884
Component(s)
C++

take


Minor fixes in SwiftThemisServerExample

Thank you for the PR!
Can you specify please the Swift version you used for these changes? I'm not able to compile your changes using Xcode 8.0 and Swift 2.3
However, we're planning to migrate to Swift 3.0 soon :)

Can you specify please the Swift version you used for these changes?
Trailing block syntax is in Swift at least since day it was presented publicly.

I'm not able to compile your changes using Xcode 8.0 and Swift 2.3
No, xcode 8 will not compile this code as it is. Not because of PR.
Try xcode 7.3.1.

However, we're planning to migrate to Swift 3.0 soon :)
Now you see it's time to do it.

Thank you, I'll take a look!

Thank you, these changes now are part of #148


Allow user to provide desired percentiles for latency/other metrics

Is your feature request related to a problem? Please describe.
Currently, OSB only provides p50, 90, 99, 99.9, 99.99, and 100 for latency at the end of a workload. But, when adding new features to OpenSearch that might affect performance, we often also want to see other percentiles, like p0, p10, and p25.
To get more granular percentiles you have to publish metrics to a separate datastore and compute percentiles for them later, which adds a lot of complexity. If the user could provide a list of percentiles they'd like to see when running a workload through the CLI, and those percentiles were printed afterwards alongside the existing percentiles, this use case would be simpler.
Describe the solution you'd like
We could add some command-line flag, like --latency-percentiles, with a comma-separated list of additional percentiles the user wants. At the end of the run, OSB would display these percentiles as well as the default ones.
Describe alternatives you've considered
In #199, a more general solution was proposed, where users could define their own metrics. This solution would be simpler, but only covers the case where people want to see more percentiles for existing metrics.
We could also just add p0, p10, and p25 by default, but these might not be useful for everyone, and some users might want different percentiles than these.
Additional context
This would be a simpler sub-issue of https://github.com/opensearch-project/opensearch-benchmark/issues/199, which is not currently being worked on.
It's also similar to https://github.com/opensearch-project/opensearch-benchmark/issues/261, which requests more percentiles for throughput metrics. I don't think this is currently being worked on.

I would like to work on this if people think it's a good idea

These can be very useful in case of measuring cache performances where lower latencies can show greater improvements if some new cache acceleration features have been introduced.

Thanks for bringing attention to this @peteralfonsi. This will definitely be helpful. It might be better to have --latency-percentiles just override the default percentiles instead of appending them to the default ones. For examples, if users provide --latency-percentiles=0,10,25,50, the default will be overridden and only percentiles p0, p10, p25, and p50 will show instead of p0, p10, p25, p50, p90, p99, p99.9, p99.99, and p100. Let me know your thoughts.
Feel free to cut an implementation for this! Once this is addressed, we could use the same approach for throughput metric in #261.


Test Issue for AKS

Type of issue
Typo
Feedback
This is simply a test
Page URL
https://review.learn.microsoft.com/en-us/azure/aks/use-managed-identity?branch=pr-en-us-278347
Content source URL
https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/aks/use-managed-identity.md
Author
@tamram
Document Id
01e98043-dc80-490e-a761-8d558ff4e6df

#please-close

@JasonWHowell
It looks like your issue is resolved since you closed this thread.
If there are further questions regarding this matter, please tag me in a comment. I will reopen it and we will gladly continue the discussion.


Credential Issuance not working with AIP 2.0

Hi,
I have been running aries mobile agent with aries aca-py cloud agent by running faber agent from here:
https://github.com/hyperledger/aries-cloudagent-python/tree/main/demo#the-alicefaber-python-demo
If I run the faber cloud agent with AIP 1.0 (using flag --aip 10), then the credential issuance works perfectly. But if I run the faber cloud agent with AIP 2.0, then it prints the following error message:
"Value did:peer:xyz is not a valid indy decentralized identifier (DID)"

My question is, is Aries Mobile Agent not compatible with AIP 2.0?

Will investigate

I believe this is because the QR code doesn't render properly in docker playground. It seems like some characters are not supported so they show up as tofu which causes the QR code to be corrupted:

For whatever reason, if you use AIP 1.0 the QR code doesn't contain any of these invalid character so the QR code is not malformed:

scratch that I'm running into the same issue when I run it from docker locally. I think this might be an issue with the demo though because the BC Wallet Showcase uses Traction which uses AIP 2.0


multiline text

Hi, I started from this example code http://bl.ocks.org/mbostock/7607535
Some of label of mine are very long. So I want to render them in multiline (obiouvsly still inside the circle).
I made some search on foreignObject, but I'm new to d3 and I don't know exactly how to append a foreignObject to all the circles (and keep the opacity dinamically calculated on zoom as the example)
I tried:

svg.selectAll("circle").append("foreignObject")
			.attr({width: 100, height: 100})
			.append("xhtml:div")
			.style({width:100 + 'px',
				height:100 + 'px',
				"font-size": "20px",
				"background-color": "white"
			})
			.html(function(d) { return 'r'+d.r+' name'+d.name; });

I see all the foreignObjects in DOM tree (html code) but I can't see anything in the page, I guess the foreignObject is covered by the circle.

second attempt:
 var foreign= svg.selectAll("foreignObject")
			.data(nodes)
			.enter().append("foreignObject")
			.attr({width: 100, height: 100})
			.attr("x", function(d) { return d.x; })
			.attr("y", function(d) { return d.y; })
			.append("xhtml:p")
			.style({width:100 + 'px',
				height:100 + 'px',
				"font-size": "10px"

			})

			.html(function(d) { return 'text'; });

I see the foreignObject but d.x, d.y are strangely wrong
http://www.awesomescreenshot.com/image/238906/a614194edbff2e6e2bb85a0b83958711

D3 does not directly support automatic text wrapping. (Note that this feature will be supported in SVG 2.x.)
In addition to foreignObject, you may consider using absolutely-position HTML overlays on top of SVG. Alternatively you can tspan elements to implement wrapping manually within SVG, as demonstrated here:
http://bl.ocks.org/mbostock/7555321
The above code has been generalized somewhat into a plugin, as discussed here:
https://github.com/vijithassar/d3textwrap
https://stackoverflow.com/questions/24784302/wrapping-text-in-d3
https://groups.google.com/forum/#!topic/d3-js/HvfzU1boIB4
Related #1642 #1732. Please use Stack Overflow if you want help getting any of the above techniques or code to work.


[Question] GetFileAsync fails on iOS with unknown error

Please fill in the following fields:

Unity editor version: 2022.1.8f1
Firebase Unity SDK version: 8.10.1
Source you installed the SDK: .tgz from https://developers.google.com/unity/archive#play_asset_delivery
Problematic Firebase Component: storage
Other Firebase Components in use: analytics, app, auth, crashlytics, dynamic-links, firestore, functions, remote-config
Additional SDKs you are using: Facebook
Platform you are using the Unity editor on: Windows
Platform you are targeting: iOS
Scripting Runtime: IL2CPP

Please describe the issue here:
We are trying to load file from Firebase storage using code:
var storageReference = storage.GetReferenceFromUrl(url)
storageReference .GetFileAsync()

We are using the same code on Windows, Android without any problems.
On iOS, however, the same logic fails with error:
An unknown error occurred, error code: 13000, httpResultCode: 300
The exception is not the informative in that case.
Any ideas why this is happening only on iOS, and what we can do to fix that issue?

Gonna respond for @aixaCode (we are in the same team), we can't update to 9.1.0 because Unity Cloud Build still uses older Xcode but we will as soon as the support from Unity is available. Hopefully this or next week.

Hi folks,
I haven't been able to replicate the issue so far. Could you provide a minimal, reproducible example of your implementation so that we can identify what's causing this? Could you also specify the iOS version of the device you're using?

Hi, we will try to get some repo example for you soon.
All our iOS devices that we have been able to repro this issue was on iOS 15.5.

Hi, I have been able to prepare repro example. Here is the flow we use:
using System;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
using Cysharp.Threading.Tasks;
using Firebase;
using Firebase.Auth;
using Firebase.Storage;
using UnityEngine;

public class FirebaseReproExample : MonoBehaviour
{
	private const string STORAGE_URL = "gs://YOUR-NAME.com";
	private const string PLATFORM = "iOS";
	private const string FILE_NAME = "test.json";

	private const string USER_LOGGED_KEY = "UserLogged";
	private FirebaseApp app;
	private FirebaseAuth auth;
	private FirebaseUser user;
	private FirebaseStorage storage;
	private CancellationTokenSource cancellationToken;

	private DependencyStatus dependencyStatus = DependencyStatus.UnavailableOther;

	private void Start()
	{
		Startup(this.GetCancellationTokenOnDestroy()).Forget();
	}

	private async UniTaskVoid Startup(CancellationToken ct)
	{
		await InitializeFirebase(ct);
		await InitializeStorage(ct);
		await SignInSilently(ct);
		await LoadCatalogFromFirebase(ct);
	}

	private async UniTask<bool> InitializeFirebase(CancellationToken ct)
	{
		bool success = false;

		app = FirebaseApp.DefaultInstance;

		Debug.Log($"Connected to: {app.Name}, {app.Options.ApiKey}, " +
		          $"{app.Options.AppId}, {app.Options.DatabaseUrl}, " +
		          $"{app.Options.ProjectId}");

		var task = await FirebaseApp.CheckAndFixDependenciesAsync();

		dependencyStatus = task;
		if (dependencyStatus == DependencyStatus.Available)
		{
			Debug.Log("[FirebaseHandler] Firebase initialized");
			success = true;
			auth = FirebaseAuth.GetAuth(app);
			auth.StateChanged += AuthStateChanged;
			AuthStateChanged(this, null);
		}
		else
		{
			Debug.LogError($"[FirebaseHandler] Could not resolve all Firebase dependencies: {dependencyStatus}");
		}

		return success;
	}

	private void AuthStateChanged(object sender, EventArgs eventArgs)
	{
		if (auth.CurrentUser != user)
		{
			bool signedIn = auth.CurrentUser != null;
			if (!signedIn && user != null)
			{
				Debug.Log($"[FirebaseHandler] Signed out {user.UserId}");
			}

			user = auth.CurrentUser;
			if (signedIn)
			{
				Debug.Log($"[FirebaseHandler] Signed in {user.UserId}");
			}
		}
	}

	private UniTask InitializeStorage(CancellationToken ct)
	{
		storage = FirebaseStorage.GetInstance(app);
		return default;
	}

	private async UniTask SignInSilently(CancellationToken ct)
	{
		var emailUserId =<EMAIL_ADDRESS>		var password = emailUserId.Split('@')[0];

		if (auth.CurrentUser == null)
		{
			Task<FirebaseUser> signInTask;
			if (PlayerPrefs.HasKey(USER_LOGGED_KEY))
			{
				signInTask = auth.SignInWithEmailAndPasswordAsync(emailUserId, password);
			}
			else
			{
				signInTask = auth.CreateUserWithEmailAndPasswordAsync(emailUserId, password);
			}

			await signInTask.ContinueWith(task =>
			{
				if (task.IsCanceled)
				{
					Debug.Log($"[FirebaseHandler] SignInSilently canceled");
					return;
				}

				if (task.IsFaulted)
				{
					Debug.LogError($"[FirebaseHandler] SignInSilently completed with error");
					return;
				}

				user = task.Result;
				PlayerPrefs.SetString(USER_LOGGED_KEY, user.Email);
				Debug.Log($"[FirebaseHandler] SignInSilently completed with success - userId {user.UserId}");
			}, ct);
		}
	}

	private async UniTask<bool> LoadCatalogFromFirebase(CancellationToken cancellationToken)
	{
		var url = $"{STORAGE_URL}/{PLATFORM}/{FILE_NAME}";

		Debug.Log($"Trying to load catalog from Firebase - {url}");

		var storageReference = storage.GetReferenceFromUrl(url);

		var success = true;

		Debug.Log($"Storage reference - {storageReference.Name} {storageReference.Path} {storageReference.Bucket}");
		var localPath = Path.Combine(Application.persistentDataPath, FILE_NAME);
		var downloadTask = storageReference.GetFileAsync(localPath, cancelToken: cancellationToken);

		await downloadTask.ContinueWith(task =>
		{
			if (task.IsCanceled)
			{
				success = false;
				return;
			}

			if (task.IsFaulted)
			{
				success = false;
				foreach (Exception exception in task.Exception.Flatten().InnerExceptions)
				{
					if (exception is StorageException firebaseEx)
					{
						Debug.LogError($"loading failed - {firebaseEx.ErrorCode} \n" +
						               $"{firebaseEx.Message}\n" +
						               $"{firebaseEx.InnerException}\n" +
						               $"{firebaseEx.HttpResultCode}\n" +
						               $"{firebaseEx.StackTrace}");
					}
				}
			}
		}, cancellationToken);
		return success;
	}
}

The logic is executed on Start, so you can just attach this script to any GameObject and put it on the scene.
Additional info that might be useful:

Storage rules:

rules_version = '2';
service firebase.storage {
	match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write : if request.auth != null;
    }
  }
}

Files structure in the storage is
gs://YOUR-APP-NAME/iOS/test.json

Let me know if you need any more info.
And thanks for help :)

Ah right, I'm using UniTask package from https://github.com/Cysharp/UniTask.
You need to add to manifest.json
"com.cysharp.unitask": "https://github.com/Cysharp/UniTask.git?path=src/UniTask/Assets/Plugins/UniTask#2.3.1"

@paulinon I had the same issue
It works ok on Android but has the unknown error on iOS.
I have used firebase 9.4.1, but the issue still persists.

@paulinon could we get some information about this? If this is going to be fixed. We are unable to use Firebase Storage with Unity Addressables and it's vital element of the product.

bumb, it's 3 months. Can we get update?

@paulinon We updated to 10.0.0, the same error

The issue still persists, but we just stopped using GetFileAsync, and instead, we use GetDownloadUrlAsync to fetch url, and then manually download the file to Application.persistentDataPath via UnityWebRequest

Good moorning. We faced quite same issue, but with function GetBytesAsync:
we use Firebase.Storage to store some raw binary files. By a twist of fate I have the same account for login with test email through UnityEditor (win/mac) and through Apple Login on my IPhone.
We use PutBytesAsync to upload data on storage. And it works on every (including iOS) platform on the same way (as a ressult, we handle the same file on Storage's bucket: I Load it by hand from web-page and view from byte-viewer programm).
But when we call GetBytesAsync we receive byte-array of the same length, but iOS download it with another content.
Unfortunatly, I'll be able to provide enhanced information this evening (about 8PM, UTC +3). But I believe that GetFileAsync failed on the same reason: in some way iOS load byte-data in an inappropriate way.
At this evening I''ll provide both byte-array data that has been uploaded and that has been downloaded.

P.S.: we use very old version of SDK (8.2), but as I can see update version wasn't helpful for other colleagues. I'll update it to the latest version this night and report u about results next morning (UTC+3) this time.

But u may have some thoughts about it before my sdk-upgrade event, I'll glad to test them. Thanx a lot!

I've found the Firebase Storage SDK usage exmaple, but the only difference we have, we provide not 0 max content size:
private const long MAX_ALLOWED_SIZE = 1 * 1024 * 1024;

internal async Task<byte[]> LoadBytes(string key) {
            return await UserStorageReference.Child(GetFilePath(key))
                .GetBytesAsync(MAX_ALLOWED_SIZE)
                .SafeExecuteOnMainThread<byte[], byte[], StorageException, int>(x => x, (ex, errorCode) => errorCode == FirebaseExtensions.OBJECT_NOT_FOUND_ERROR);

}

SafeExecuteOnMainThread - it's extension suger to handle exceptions with provided specific errors and returns the result on Main-Thread . It doesn't affect on function GetBytesAsync workflow.

I'm getting the same issue on GetMetadataAsync, but only one of my users is encountering it. It is reproducible every time for that one user.

For iOS i needed to add "file://" before the Application.PersistentDatapath for the save location.
https://stackoverflow.com/questions/1589930/so-what-is-the-right-direction-of-the-paths-slash-or-under-windows

same issue as above. moreover, adding "file://" before Application.PersistentDatapath results in this exception: OException: Operation not permitted
Rethrow as UnauthorizedAccessException: Access to the path '/file://var/mobile/Containers/Data/Application/6C373188-ECAD-44D5-A7E9-CCFB364F412B/Documents/Object_Storage' is denied.
at System.IO.FileSystem.CreateDirectory (System.String fullPath) [0x00000] in <00000000000000000000000000000000>:0
any fixes available?

Hey aixaCode, thanks for reaching out. I was able to reproduce the same behavior from the code snippet, however after tinkering around and putting this side by side with the quickstart, it looks like the main culprit of the issue could be due to the destination file path.
Your sample copy localPath:
Users/.../Library/Developer/CoreSimulator/Devices/.../data/Containers/Data/Application/.../Documents/File.txt

Firebase Unity quickstart storage:
file:///Users/.../Library/Developer/CoreSimulator/Devices/.../data/Containers/Data/Application/.../Documents/File.txt

The definitive difference from both is that the quickstart appends a "file://" for the destination path. I believe that this should help resolve the issue as intended.
@alexandramoisi you could also try checking out the implementation in our quickstart. It should be able to work correctly.
I'll go ahead and close this issue for now. Feel free to let me know if you'd like this to be reopened.
Thanks!


Github Actions file for Jekyll build

Added GitHub action file to make sure Jekyll builds successfully
Is it possible to move the Bonus part to a new issue?
#22

I'll review this properly tomorrow. You're welcome to make an issue yourself by the way! @felixfaisal


Fix DB schema migrations

Fix a wrong migration introduced in #1781
Clarify how DB migrations should be added to the triagebot

r? @jackh726

I think we should get eyes on this from @Mark-Simulacrum as I'm not very familiar with how migrations work and what the current state of the db is.

Will this fix the errors about function sort(integer[]) does not exist?

Will this fix the errors about function sort(integer[]) does not exist?

@ehuss Yes and now I know why. Without this patch the migration would fail:
$ cargo run --bin triagebot
...
Failed to run server: database migrations

Caused by:
    0: executing 12th migration
    1: db error: ERROR: cannot insert multiple commands into a prepared statement
    2: ERROR: cannot insert multiple commands into a prepared statement

unsure why it didn't happen (or wasn't catched) during the triagebot deployment at the time :man_shrugging:


Master is broken, because of acmeClient signature changes.

The master is broken againt the acmeClient library, because
ObtainCertificate and RenewCertificate got an additional parameter: mustStaple bool
github.com/mholt/caddy/caddytls
caddytls/client.go:200: not enough arguments in call to c.acmeClient.ObtainCertificate
caddytls/client.go:288: not enough arguments in call to c.acmeClient.RenewCertificate

Fixed and merged 😄

thx


ts-web/core: add debonding_amount to StakingTakeEscrowEvent

Updates the types with the field introduced in https://github.com/oasisprotocol/oasis-core/pull/5016
The type change is backwards-compatible, so it doesn't hurt much to have the new type in ts-web even before https://github.com/oasisprotocol/oasis-core/pull/5016 is widely deployed; users will just see debonding_amount=0 when decoding an event from an old node.

LMK if I should bump the version in client-sdk/ts-web/core/package.json

Nobody needs the updated client right away. Since the only change introduced here will be autogenerated by reflect-go later as per @pro-wh, I'm abandoning this PR. Thanks for explaining.


Issue with public invitations in ACA-Py version 0.9.0

We've run into an issue after upgrading the BC Gov IDIM dev issuer agent to ACA-Py version 0.9.0.
Following an upgrade from 0.8.1 to 0.9.0 the agent does not respond to requests from the BC Wallet when trying to acquire the BC Person credential after tapping on the "Get your Person Credential" button.  The IDIM controller is expecting a call from the agent when it receives messages from the BC Wallet, this call is never received.
The communications from the BC Wallet are completely ignored, to the point where there are no logs indicating what is happening.  When the logging level is set to debug you can see the agent receives a message and then does nothing about it with no details that help with troubleshooting.  If the logging level is set any higher than debug there is no indication the agent ever received a message from the BC Wallet.
The log message:
2023-08-08 22:04:08,481 aries_cloudagent.transport.pack_format DEBUG Expanded message: {'@type': 'https://didcomm.org/connections/1.0/request', '@id': '9d7ae47d-73a4-4660-bd41-8b357efba72e', 'label': 'My Wallet - 0986', 'connection': {'DID': 'LaMFesAuc2nnrnm24oAvv3', 'DIDDoc': {'@context': 'https://w3id.org/did/v1', 'publicKey': [{'id': 'LaMFesAuc2nnrnm24oAvv3#1', 'controller': 'LaMFesAuc2nnrnm24oAvv3', 'type': 'Ed25519VerificationKey2018', 'publicKeyBase58': 'BfodJXHLmG55oHWQyDtKvuod62HsDX7wnp2GecRWy8FN'}], 'service': [{'id': 'LaMFesAuc2nnrnm24oAvv3#IndyAgentService', 'serviceEndpoint': 'https://aries-mediator-agent.vonx.io', 'type': 'IndyAgent', 'priority': 0, 'recipientKeys': ['BfodJXHLmG55oHWQyDtKvuod62HsDX7wnp2GecRWy8FN'], 'routingKeys': ['cK7fwfjpakMuv8QKVv2y6qouZddVw4TxZNQPUs2fFTd']}], 'authentication': [{'publicKey': 'LaMFesAuc2nnrnm24oAvv3#1', 'type': 'Ed25519SignatureAuthentication2018'}], 'id': 'LaMFesAuc2nnrnm24oAvv3'}}, '~thread': {'thid': '9d7ae47d-73a4-4660-bd41-8b357efba72e', 'pthid': 'd475c7f4-14c3-477d-b653-cf903842f4bc'}}

...

2023-08-08 22:04:08,584 aries_cloudagent.messaging.base_handler DEBUG ConnectionRequestHandler called with context <RequestContext(_connection_ready=False, _connection_record=<ConnRecord(_id='78b521d6-0991-4c13-b9d4-d47d1e6289e3', _last_state='invitation', _new_with_id=False, state='invitation', created_at='2022-07-07T22:56:59.083910Z', updated_at='2023-08-01T14:46:23.852676Z', my_did=None, their_did=None, their_label=None, their_role='invitee', invitation_key='2eHpQFonMEhmzoaeEmALKWqdqyRWYfA6LQyjJJtgb2WT', invitation_msg_id=None, request_id=None, error_msg=None, inbound_connection_id=None, routing_state='none', accept='manual', invitation_mode='multi', alias='wallet-iddev-public', their_public_did=None, connection_protocol='connections/1.0')>, _context=<aries_cloudagent.config.injection_context.InjectionContext object at 0x7fb4ec346be0>, _message=<ConnectionRequest(_message_id='9d7ae47d-73a4-4660-bd41-8b357efba72e', _message_new_id=False, _message_decorators=<DecoratorSet{~thread: <ThreadDecorator(_thid='9d7ae47d-73a4-4660-bd41-8b357efba72e', _pthid='d475c7f4-14c3-477d-b653-cf903842f4bc', _sender_order=None, _received_orders=None)>}>, _message_type='connections/1.0/request', connection=<ConnectionDetail(_did='LaMFesAuc2nnrnm24oAvv3', _did_doc=<DIDDoc did=LaMFesAuc2nnrnm24oAvv3>)>, label='My Wallet - 0986', image_url=None)>, _message_receipt=<MessageReceipt(_connection_id=None, _direct_response_mode=None, _in_time='2023-08-08T22:04:08.425342Z', _raw_message='{"@type":"https://didcomm.org/connections/1.0/request","@id":"9d7ae47d-73a4-4660-bd41-8b357efba72e","label":"My Wallet - 0986","connection":{"DID":"LaMFesAuc2nnrnm24oAvv3","DIDDoc":{"@context":"https://w3id.org/did/v1","publicKey":[{"id":"LaMFesAuc2nnrnm24oAvv3#1","controller":"LaMFesAuc2nnrnm24oAvv3","type":"Ed25519VerificationKey2018","publicKeyBase58":"BfodJXHLmG55oHWQyDtKvuod62HsDX7wnp2GecRWy8FN"}],"service":[{"id":"LaMFesAuc2nnrnm24oAvv3#IndyAgentService","serviceEndpoint":"https://aries-mediator-agent.vonx.io","type":"IndyAgent","priority":0,"recipientKeys":["BfodJXHLmG55oHWQyDtKvuod62HsDX7wnp2GecRWy8FN"],"routingKeys":["cK7fwfjpakMuv8QKVv2y6qouZddVw4TxZNQPUs2fFTd"]}],"authentication":[{"publicKey":"LaMFesAuc2nnrnm24oAvv3#1","type":"Ed25519SignatureAuthentication2018"}],"id":"LaMFesAuc2nnrnm24oAvv3"}},"~thread":{"thid":"9d7ae47d-73a4-4660-bd41-8b357efba72e","pthid":"d475c7f4-14c3-477d-b653-cf903842f4bc"}}', _recipient_verkey='2eHpQFonMEhmzoaeEmALKWqdqyRWYfA6LQyjJJtgb2WT', _recipient_did=None, _recipient_did_public=None, _sender_did=None, _sender_verkey='BfodJXHLmG55oHWQyDtKvuod62HsDX7wnp2GecRWy8FN', _thread_id='9d7ae47d-73a4-4660-bd41-8b357efba72e', _parent_thread_id='d475c7f4-14c3-477d-b653-cf903842f4bc')>, _profile=<AskarProfile(backend=askar, name=agent_idim_wallet)>)>

Reviewing the breaking changes included in 0.9.0 we investigated (revisited) https://github.com/hyperledger/aries-cloudagent-python/pull/2034 and set ACAPY_REQUESTS_THROUGH_PUBLIC_DID=true to see if that would change the behavior; it did not.
Rolling the deployment back to 0.8.1 fixes the issue.
The agent configuration settings can be found here; https://github.com/bcgov/trust-over-ip-configurations/blob/main/openshift/templates/issuer-agent/issuer-agent-deploy.idim.dev.param.
cc @swcurran, @marcos-carretero,

@mepeltier, @dbluhm, Any thoughts on whether this issue is related to https://github.com/hyperledger/aries-cloudagent-python/pull/2034?

What type of message is being received (the one after which nothings appears to be done with it and no additional details)? If it was an "unsolicited" connection request, either through connections or DID Exchange, I would expect an error to be raised saying Unsolicited connection requests to public DID is not enabled, when ACAPY_REQUESTS_THROUGH_PUBLIC_DID is not enabled.

I'll see if I can dig up the log.  There was no error message to that affect.

Updated the description with the log message.

A couple more points of clarification:

Do we see ConnectionRequestHandler called with context ... in the logs after the log message you shared?
The request is coming from the BC Wallet to the Issuer Agent; is the BC Wallet using an invitation created by the issuer agent or is it connecting using a known public DID for the agent?

Judging from the logs, it's a multiuse invitation; I think that answers my question :slightly_smiling_face:. I don't immediately see any reason why the changes from #2034 would be impacting the behavior of requests received through an invitation. Certainly isn't intended to impact it, at least :sweat_smile:.
In the message receipt (from the conn req handler called log message), it indicates that the recipient_public_did is None. This should cause the handler to retrieve the connection associated with the invitation and then to create a new connection for the relationship for use thereafter. The saving of the new connection should be triggering a webhook to the controller which I presume is exactly the webhook data that we're not getting right now.
Are there any logs following the messages already shared from aries_cloudagent.core.event_bus? More logs in general might also be helpful.

We only see logs from aries_cloudagent.core.event_bus when using 0.8.1, nothing from 0.9.0.

  It appears that #2034 was merged in Jan 2023, and was indeed published in 0.8.0. So agree that this is not the issue, and that the changelog entry for it is duplicated in 0.9.0.  So lets go through the other PRs to see what the issue is.
My apologies.

Thanks for eliminating the obvious.

Should be easy enough.  I'll co-ordinate with Jay.

Here is the log from an exchange using v0.8.2.  Jay is reporting they are not receiving any callbacks:
2023-08-09 16:24:52,537 aries_cloudagent.transport.pack_format DEBUG Expanded message: {'@type': 'https://didcomm.org/connections/1.0/request', '@id': '99e8f085-e9c8-4144-ae8a-fa22514832b0', 'label': 'My Wallet - 0986', 'connection': {'DID': 'VqsHY8cr99YR4SAqXkPE6a', 'DIDDoc': {'@context': 'https://w3id.org/did/v1', 'publicKey': [{'id': 'VqsHY8cr99YR4SAqXkPE6a#1', 'controller': 'VqsHY8cr99YR4SAqXkPE6a', 'type': 'Ed25519VerificationKey2018', 'publicKeyBase58': 'Gimd9diGGJuqsZGgseDGvVAGxQgvY1Y3MX9J2wATm3ks'}], 'service': [{'id': 'VqsHY8cr99YR4SAqXkPE6a#IndyAgentService', 'serviceEndpoint': 'https://aries-mediator-agent.vonx.io', 'type': 'IndyAgent', 'priority': 0, 'recipientKeys': ['Gimd9diGGJuqsZGgseDGvVAGxQgvY1Y3MX9J2wATm3ks'], 'routingKeys': ['cK7fwfjpakMuv8QKVv2y6qouZddVw4TxZNQPUs2fFTd']}], 'authentication': [{'publicKey': 'VqsHY8cr99YR4SAqXkPE6a#1', 'type': 'Ed25519SignatureAuthentication2018'}], 'id': 'VqsHY8cr99YR4SAqXkPE6a'}}, '~thread': {'thid': '99e8f085-e9c8-4144-ae8a-fa22514832b0', 'pthid': 'd475c7f4-14c3-477d-b653-cf903842f4bc'}}
2023-08-09 16:24:52,538 aiohttp.access INFO <IP_ADDRESS> [09/Aug/2023:16:24:52 +0000] "POST / HTTP/1.1" 200 149 "-" "okhttp/4.9.1"
2023-08-09 16:24:52,545 aries_cloudagent.connections.base_manager WARNING No corresponding DID found for sender verkey: Gimd9diGGJuqsZGgseDGvVAGxQgvY1Y3MX9J2wATm3ks
2023-08-09 16:24:52,551 aries_cloudagent.connections.base_manager WARNING No corresponding DID found for recipient verkey: 2eHpQFonMEhmzoaeEmALKWqdqyRWYfA6LQyjJJtgb2WT
2023-08-09 16:24:52,561 aries_cloudagent.messaging.base_handler DEBUG ConnectionRequestHandler called with context <RequestContext(_connection_ready=False, _connection_record=<ConnRecord(_id='78b521d6-0991-4c13-b9d4-d47d1e6289e3', _last_state='invitation', _new_with_id=False, state='invitation', created_at='2022-07-07T22:56:59.083910Z', updated_at='2023-08-09T16:16:35.600177Z', my_did=None, their_did=None, their_label=None, their_role='invitee', invitation_key='2eHpQFonMEhmzoaeEmALKWqdqyRWYfA6LQyjJJtgb2WT', invitation_msg_id=None, request_id=None, error_msg=None, inbound_connection_id=None, routing_state='none', accept='manual', invitation_mode='multi', alias='wallet-iddev-public', their_public_did=None, connection_protocol='connections/1.0')>, _context=<aries_cloudagent.config.injection_context.InjectionContext object at 0x7f3905fe6f70>, _message=<ConnectionRequest(_message_id='99e8f085-e9c8-4144-ae8a-fa22514832b0', _message_new_id=False, _message_decorators=<DecoratorSet{~thread: <ThreadDecorator(_thid='99e8f085-e9c8-4144-ae8a-fa22514832b0', _pthid='d475c7f4-14c3-477d-b653-cf903842f4bc', _sender_order=None, _received_orders=None)>}>, _message_type='connections/1.0/request', connection=<ConnectionDetail(_did='VqsHY8cr99YR4SAqXkPE6a', _did_doc=<DIDDoc did=VqsHY8cr99YR4SAqXkPE6a>)>, label='My Wallet - 0986', image_url=None)>, _message_receipt=<MessageReceipt(_connection_id=None, _direct_response_mode=None, _in_time='2023-08-09T16:24:52.528528Z', _raw_message='{"@type":"https://didcomm.org/connections/1.0/request","@id":"99e8f085-e9c8-4144-ae8a-fa22514832b0","label":"My Wallet - 0986","connection":{"DID":"VqsHY8cr99YR4SAqXkPE6a","DIDDoc":{"@context":"https://w3id.org/did/v1","publicKey":[{"id":"VqsHY8cr99YR4SAqXkPE6a#1","controller":"VqsHY8cr99YR4SAqXkPE6a","type":"Ed25519VerificationKey2018","publicKeyBase58":"Gimd9diGGJuqsZGgseDGvVAGxQgvY1Y3MX9J2wATm3ks"}],"service":[{"id":"VqsHY8cr99YR4SAqXkPE6a#IndyAgentService","serviceEndpoint":"https://aries-mediator-agent.vonx.io","type":"IndyAgent","priority":0,"recipientKeys":["Gimd9diGGJuqsZGgseDGvVAGxQgvY1Y3MX9J2wATm3ks"],"routingKeys":["cK7fwfjpakMuv8QKVv2y6qouZddVw4TxZNQPUs2fFTd"]}],"authentication":[{"publicKey":"VqsHY8cr99YR4SAqXkPE6a#1","type":"Ed25519SignatureAuthentication2018"}],"id":"VqsHY8cr99YR4SAqXkPE6a"}},"~thread":{"thid":"99e8f085-e9c8-4144-ae8a-fa22514832b0","pthid":"d475c7f4-14c3-477d-b653-cf903842f4bc"}}', _recipient_verkey='2eHpQFonMEhmzoaeEmALKWqdqyRWYfA6LQyjJJtgb2WT', _recipient_did=None, _recipient_did_public=None, _sender_did=None, _sender_verkey='Gimd9diGGJuqsZGgseDGvVAGxQgvY1Y3MX9J2wATm3ks', _thread_id='99e8f085-e9c8-4144-ae8a-fa22514832b0', _parent_thread_id='d475c7f4-14c3-477d-b653-cf903842f4bc')>, _profile=<AskarProfile(backend=askar, name=agent_idim_wallet)>)>
2023-08-09 16:24:52,737 aries_cloudagent.messaging.base_handler DEBUG Connection request will await acceptance
2023-08-09 16:24:56,609 aries_cloudagent.admin.server DEBUG Incoming request: GET /status/ready
2023-08-09 16:24:56,609 aries_cloudagent.admin.server DEBUG Match info: <MatchInfo {}: <ResourceRoute [GET] <PlainResource  /status/ready> -> <bound method AdminServer.readiness_handler of <aries_cloudagent.admin.server.AdminServer object at 0x7f3907bfb610>>>
2023-08-09 16:24:56,609 aries_cloudagent.admin.server DEBUG Body: None
2023-08-09 16:24:56,610 aiohttp.access INFO <IP_ADDRESS> [09/Aug/2023:16:24:56 +0000] "GET /status/ready HTTP/1.1" 200 172 "-" "curl/7.74.0"
2023-08-09 16:24:56,612 aries_cloudagent.admin.server DEBUG Incoming request: GET /status/live
2023-08-09 16:24:56,612 aries_cloudagent.admin.server DEBUG Match info: <MatchInfo {}: <ResourceRoute [GET] <PlainResource  /status/live> -> <bound method AdminServer.liveliness_handler of <aries_cloudagent.admin.server.AdminServer object at 0x7f3907bfb610>>>
2023-08-09 16:24:56,612 aries_cloudagent.admin.server DEBUG Body: None
2023-08-09 16:24:56,613 aiohttp.access INFO <IP_ADDRESS> [09/Aug/2023:16:24:56 +0000] "GET /status/live HTTP/1.1" 200 172 "-" "curl/7.74.0"
2023-08-09 16:24:59,575 aries_cloudagent.admin.server DEBUG Incoming request: GET /status/ready
2023-08-09 16:24:59,575 aries_cloudagent.admin.server DEBUG Match info: <MatchInfo {}: <ResourceRoute [GET] <PlainResource  /status/ready> -> <bound method AdminServer.readiness_handler of <aries_cloudagent.admin.server.AdminServer object at 0x7f3907bfb610>>>
2023-08-09 16:24:59,575 aries_cloudagent.admin.server DEBUG Body: None
2023-08-09 16:24:59,575 aiohttp.access INFO <IP_ADDRESS> [09/Aug/2023:16:24:59 +0000] "GET /status/ready HTTP/1.1" 200 172 "-" "synthetic-monitoring-agent/v0.16.3-0-gde4721a (linux amd64; de4721a49e0e051c31da23de1d50464e6b74687b; 2023-06-13 15:22:55+00:00; +https://github.com/grafana/synthetic-monitoring-agent)"
2023-08-09 16:25:06,800 aries_cloudagent.admin.server DEBUG Incoming request: GET /status/ready
2023-08-09 16:25:06,800 aries_cloudagent.admin.server DEBUG Match info: <MatchInfo {}: <ResourceRoute [GET] <PlainResource  /status/ready> -> <bound method AdminServer.readiness_handler of <aries_cloudagent.admin.server.AdminServer object at 0x7f3907bfb610>>>
2023-08-09 16:25:06,800 aries_cloudagent.admin.server DEBUG Body: None
2023-08-09 16:25:06,801 aiohttp.access INFO <IP_ADDRESS> [09/Aug/2023:16:25:06 +0000] "GET /status/ready HTTP/1.1" 200 172 "-" "synthetic-monitoring-agent/v0.16.3-0-gde4721a (linux amd64; de4721a49e0e051c31da23de1d50464e6b74687b; 2023-06-13 15:22:55+00:00; +https://github.com/grafana/synthetic-monitoring-agent)"
2023-08-09 16:25:07,832 aries_cloudagent.transport.pack_format DEBUG Expanded message: {'@type': 'https://didcomm.org/connections/1.0/request', '@id': 'ebe50d5f-dc84-4289-a1cc-b5ec24e35802', 'label': 'My Wallet - 0986', 'connection': {'DID': 'LiUcXtDnWaJCi5xFYqnqnc', 'DIDDoc': {'@context': 'https://w3id.org/did/v1', 'publicKey': [{'id': 'LiUcXtDnWaJCi5xFYqnqnc#1', 'controller': 'LiUcXtDnWaJCi5xFYqnqnc', 'type': 'Ed25519VerificationKey2018', 'publicKeyBase58': 'BkEXvQLtChEb7rgTUYC9CjNYupSnWD7XgZvV5RaF6bUM'}], 'service': [{'id': 'LiUcXtDnWaJCi5xFYqnqnc#IndyAgentService', 'serviceEndpoint': 'https://aries-mediator-agent.vonx.io', 'type': 'IndyAgent', 'priority': 0, 'recipientKeys': ['BkEXvQLtChEb7rgTUYC9CjNYupSnWD7XgZvV5RaF6bUM'], 'routingKeys': ['cK7fwfjpakMuv8QKVv2y6qouZddVw4TxZNQPUs2fFTd']}], 'authentication': [{'publicKey': 'LiUcXtDnWaJCi5xFYqnqnc#1', 'type': 'Ed25519SignatureAuthentication2018'}], 'id': 'LiUcXtDnWaJCi5xFYqnqnc'}}, '~thread': {'thid': 'ebe50d5f-dc84-4289-a1cc-b5ec24e35802', 'pthid': 'd475c7f4-14c3-477d-b653-cf903842f4bc'}}
2023-08-09 16:25:07,833 aiohttp.access INFO <IP_ADDRESS> [09/Aug/2023:16:25:07 +0000] "POST / HTTP/1.1" 200 168 "-" "okhttp/4.9.1"
2023-08-09 16:25:07,837 aries_cloudagent.connections.base_manager WARNING No corresponding DID found for sender verkey: BkEXvQLtChEb7rgTUYC9CjNYupSnWD7XgZvV5RaF6bUM
2023-08-09 16:25:07,839 aries_cloudagent.connections.base_manager WARNING No corresponding DID found for recipient verkey: 2eHpQFonMEhmzoaeEmALKWqdqyRWYfA6LQyjJJtgb2WT
2023-08-09 16:25:07,845 aries_cloudagent.messaging.base_handler DEBUG ConnectionRequestHandler called with context <RequestContext(_connection_ready=False, _connection_record=<ConnRecord(_id='78b521d6-0991-4c13-b9d4-d47d1e6289e3', _last_state='invitation', _new_with_id=False, state='invitation', created_at='2022-07-07T22:56:59.083910Z', updated_at='2023-08-09T16:16:35.600177Z', my_did=None, their_did=None, their_label=None, their_role='invitee', invitation_key='2eHpQFonMEhmzoaeEmALKWqdqyRWYfA6LQyjJJtgb2WT', invitation_msg_id=None, request_id=None, error_msg=None, inbound_connection_id=None, routing_state='none', accept='manual', invitation_mode='multi', alias='wallet-iddev-public', their_public_did=None, connection_protocol='connections/1.0')>, _context=<aries_cloudagent.config.injection_context.InjectionContext object at 0x7f3906010f10>, _message=<ConnectionRequest(_message_id='ebe50d5f-dc84-4289-a1cc-b5ec24e35802', _message_new_id=False, _message_decorators=<DecoratorSet{~thread: <ThreadDecorator(_thid='ebe50d5f-dc84-4289-a1cc-b5ec24e35802', _pthid='d475c7f4-14c3-477d-b653-cf903842f4bc', _sender_order=None, _received_orders=None)>}>, _message_type='connections/1.0/request', connection=<ConnectionDetail(_did='LiUcXtDnWaJCi5xFYqnqnc', _did_doc=<DIDDoc did=LiUcXtDnWaJCi5xFYqnqnc>)>, label='My Wallet - 0986', image_url=None)>, _message_receipt=<MessageReceipt(_connection_id=None, _direct_response_mode=None, _in_time='2023-08-09T16:25:07.825625Z', _raw_message='{"@type":"https://didcomm.org/connections/1.0/request","@id":"ebe50d5f-dc84-4289-a1cc-b5ec24e35802","label":"My Wallet - 0986","connection":{"DID":"LiUcXtDnWaJCi5xFYqnqnc","DIDDoc":{"@context":"https://w3id.org/did/v1","publicKey":[{"id":"LiUcXtDnWaJCi5xFYqnqnc#1","controller":"LiUcXtDnWaJCi5xFYqnqnc","type":"Ed25519VerificationKey2018","publicKeyBase58":"BkEXvQLtChEb7rgTUYC9CjNYupSnWD7XgZvV5RaF6bUM"}],"service":[{"id":"LiUcXtDnWaJCi5xFYqnqnc#IndyAgentService","serviceEndpoint":"https://aries-mediator-agent.vonx.io","type":"IndyAgent","priority":0,"recipientKeys":["BkEXvQLtChEb7rgTUYC9CjNYupSnWD7XgZvV5RaF6bUM"],"routingKeys":["cK7fwfjpakMuv8QKVv2y6qouZddVw4TxZNQPUs2fFTd"]}],"authentication":[{"publicKey":"LiUcXtDnWaJCi5xFYqnqnc#1","type":"Ed25519SignatureAuthentication2018"}],"id":"LiUcXtDnWaJCi5xFYqnqnc"}},"~thread":{"thid":"ebe50d5f-dc84-4289-a1cc-b5ec24e35802","pthid":"d475c7f4-14c3-477d-b653-cf903842f4bc"}}', _recipient_verkey='2eHpQFonMEhmzoaeEmALKWqdqyRWYfA6LQyjJJtgb2WT', _recipient_did=None, _recipient_did_public=None, _sender_did=None, _sender_verkey='BkEXvQLtChEb7rgTUYC9CjNYupSnWD7XgZvV5RaF6bUM', _thread_id='ebe50d5f-dc84-4289-a1cc-b5ec24e35802', _parent_thread_id='d475c7f4-14c3-477d-b653-cf903842f4bc')>, _profile=<AskarProfile(backend=askar, name=agent_idim_wallet)>)>
2023-08-09 16:25:07,962 aries_cloudagent.messaging.base_handler DEBUG Connection request will await acceptance

Same behavior with 0.9.0:
2023-08-09 16:34:49,519 aiohttp.access INFO <IP_ADDRESS> [09/Aug/2023:16:34:49 +0000] "GET /status/ready HTTP/1.1" 200 172 "-" "Mozilla/5.0 (compatible; Uptime/1.0; http://uptime.com)"
2023-08-09 16:34:54,537 aries_cloudagent.transport.pack_format DEBUG Expanded message: {'@type': 'https://didcomm.org/connections/1.0/request', '@id': '764d7a48-d2b8-4a63-b3e6-d668d8ac3025', 'label': 'My Wallet - 0986', 'connection': {'DID': 'GUezib8PKrosYc8xrMnGX4', 'DIDDoc': {'@context': 'https://w3id.org/did/v1', 'publicKey': [{'id': 'GUezib8PKrosYc8xrMnGX4#1', 'controller': 'GUezib8PKrosYc8xrMnGX4', 'type': 'Ed25519VerificationKey2018', 'publicKeyBase58': '9SFeXPuG5Q1XFS6ZH24jHVSAw8F9LFRr8KFnHGzHQcPL'}], 'service': [{'id': 'GUezib8PKrosYc8xrMnGX4#IndyAgentService', 'serviceEndpoint': 'https://aries-mediator-agent.vonx.io', 'type': 'IndyAgent', 'priority': 0, 'recipientKeys': ['9SFeXPuG5Q1XFS6ZH24jHVSAw8F9LFRr8KFnHGzHQcPL'], 'routingKeys': ['cK7fwfjpakMuv8QKVv2y6qouZddVw4TxZNQPUs2fFTd']}], 'authentication': [{'publicKey': 'GUezib8PKrosYc8xrMnGX4#1', 'type': 'Ed25519SignatureAuthentication2018'}], 'id': 'GUezib8PKrosYc8xrMnGX4'}}, '~thread': {'thid': '764d7a48-d2b8-4a63-b3e6-d668d8ac3025', 'pthid': 'd475c7f4-14c3-477d-b653-cf903842f4bc'}}
2023-08-09 16:34:54,538 aiohttp.access INFO <IP_ADDRESS> [09/Aug/2023:16:34:54 +0000] "POST / HTTP/1.1" 200 149 "-" "okhttp/4.9.1"
2023-08-09 16:34:54,547 aries_cloudagent.connections.base_manager WARNING No corresponding DID found for sender verkey: 9SFeXPuG5Q1XFS6ZH24jHVSAw8F9LFRr8KFnHGzHQcPL
2023-08-09 16:34:54,550 aries_cloudagent.connections.base_manager WARNING No corresponding DID found for recipient verkey: 2eHpQFonMEhmzoaeEmALKWqdqyRWYfA6LQyjJJtgb2WT
2023-08-09 16:34:54,561 aries_cloudagent.messaging.base_handler DEBUG ConnectionRequestHandler called with context <RequestContext(_connection_ready=False, _connection_record=<ConnRecord(_id='78b521d6-0991-4c13-b9d4-d47d1e6289e3', _last_state='invitation', _new_with_id=False, state='invitation', created_at='2022-07-07T22:56:59.083910Z', updated_at='2023-08-09T16:16:35.600177Z', my_did=None, their_did=None, their_label=None, their_role='invitee', invitation_key='2eHpQFonMEhmzoaeEmALKWqdqyRWYfA6LQyjJJtgb2WT', invitation_msg_id=None, request_id=None, error_msg=None, inbound_connection_id=None, routing_state='none', accept='manual', invitation_mode='multi', alias='wallet-iddev-public', their_public_did=None, connection_protocol='connections/1.0')>, _context=<aries_cloudagent.config.injection_context.InjectionContext object at 0x7f35d62029d0>, _message=<ConnectionRequest(_message_id='764d7a48-d2b8-4a63-b3e6-d668d8ac3025', _message_new_id=False, _message_decorators=<DecoratorSet{~thread: <ThreadDecorator(_thid='764d7a48-d2b8-4a63-b3e6-d668d8ac3025', _pthid='d475c7f4-14c3-477d-b653-cf903842f4bc', _sender_order=None, _received_orders=None)>}>, _message_type='connections/1.0/request', connection=<ConnectionDetail(_did='GUezib8PKrosYc8xrMnGX4', _did_doc=<DIDDoc did=GUezib8PKrosYc8xrMnGX4>)>, label='My Wallet - 0986', image_url=None)>, _message_receipt=<MessageReceipt(_connection_id=None, _direct_response_mode=None, _in_time='2023-08-09T16:34:54.515331Z', _raw_message='{"@type":"https://didcomm.org/connections/1.0/request","@id":"764d7a48-d2b8-4a63-b3e6-d668d8ac3025","label":"My Wallet - 0986","connection":{"DID":"GUezib8PKrosYc8xrMnGX4","DIDDoc":{"@context":"https://w3id.org/did/v1","publicKey":[{"id":"GUezib8PKrosYc8xrMnGX4#1","controller":"GUezib8PKrosYc8xrMnGX4","type":"Ed25519VerificationKey2018","publicKeyBase58":"9SFeXPuG5Q1XFS6ZH24jHVSAw8F9LFRr8KFnHGzHQcPL"}],"service":[{"id":"GUezib8PKrosYc8xrMnGX4#IndyAgentService","serviceEndpoint":"https://aries-mediator-agent.vonx.io","type":"IndyAgent","priority":0,"recipientKeys":["9SFeXPuG5Q1XFS6ZH24jHVSAw8F9LFRr8KFnHGzHQcPL"],"routingKeys":["cK7fwfjpakMuv8QKVv2y6qouZddVw4TxZNQPUs2fFTd"]}],"authentication":[{"publicKey":"GUezib8PKrosYc8xrMnGX4#1","type":"Ed25519SignatureAuthentication2018"}],"id":"GUezib8PKrosYc8xrMnGX4"}},"~thread":{"thid":"764d7a48-d2b8-4a63-b3e6-d668d8ac3025","pthid":"d475c7f4-14c3-477d-b653-cf903842f4bc"}}', _recipient_verkey='2eHpQFonMEhmzoaeEmALKWqdqyRWYfA6LQyjJJtgb2WT', _recipient_did=None, _recipient_did_public=None, _sender_did=None, _sender_verkey='9SFeXPuG5Q1XFS6ZH24jHVSAw8F9LFRr8KFnHGzHQcPL', _thread_id='764d7a48-d2b8-4a63-b3e6-d668d8ac3025', _parent_thread_id='d475c7f4-14c3-477d-b653-cf903842f4bc')>, _profile=<AskarProfile(backend=askar, name=agent_idim_wallet)>)>
2023-08-09 16:34:54,711 aries_cloudagent.messaging.base_handler DEBUG Connection request will await acceptance

The logs of a successful exchange using v0.8.1:
v0.8.1-exchange-logs.txt

So, the issue was introduced in v0.8.2.

Not sure if helpful or already discussed but I can still connect to my BC Wallet via a multi-use invitation with Traction using 0.9.0.
Tenant UI might be able to be used for troubleshooting to try out invitations and see expanded details about resultant connections
https://tenant-ui-dev.apps.silver.devops.gov.bc.ca/connections/invitations
Can set a webhook listener in the Tenant settings through that UI to see what events are propagating. I use something like https://webhook.site/ and the Tenant UI to

I was able to complete a full connection/issuing cycle using issuer-kit and 0.9.0, the webhooks for connection and credential offer seem to be working as they are handled in the controller.

Looks like this might be specific to the IDIM setup, as things are working elsewhere.  How do we get access to the IDIM code to run through what is happening?
Looking at the logs, we see that things flow the same, but it looks like the message being forwarded to the controller is not received by the IDIM controller, so things stop. So either the webhook is not fired, or the webhook path is not working.
Super high priority to get this understood, so lets see what we can do today to figure this out.

Correct — it is using a multi-use invitation.

I think @swcurran is right about this being a consequence #2223, the payload of the webhook that is "missing" is as follows:
2023-08-09 16:41:28,312 aries_cloudagent.core.event_bus DEBUG Notifying subscribers: <Event topic=acapy::record::connections::request, payload={'accept': 'manual', 'created_at': '2023-08-09T16:41:28.304383Z', 'invitation_key': '2eHpQFonMEhmzoaeEmALKWqdqyRWYfA6LQyjJJtgb2WT', 'connection_id': 'b8d33c22-38a1-4764-9fe8-c11f701080fc', 'invitation_mode': 'once', 'rfc23_state': 'request-received', 'connection_protocol': 'connections/1.0', 'updated_at': '2023-08-09T16:41:28.304383Z', 'my_did': 'LLxwrXzSgyfmitRHnXgthJ', 'routing_state': 'none', 'their_role': 'invitee', 'state': 'request'}>

We determined that the initial webhook was overhead since it was being fired twice (upon creation of the multi-use invitation AND every time a new connection was being "cloned". The first webhook was being fired when the connection record was cloned and it is now gone, the following steps in the protocol should fire a webhook though (i.e.: the connection moving from request to response and then active). Will have to review the agent setup again and step through the code to understand better where things are tripping, it does make sense to me to not expect that webhook and expect the following ones since the connection, technically, was initiated by the IDIM agent with the multi-use invite. 🤔

@WadeBarnes — can you help get us able to see the code from IDIM so we can investigate this further?  Per Jay/IDIM in RocketChat:

I believe the only change we did is to make their_did optional on the connection callbacks except when the connection status is completed. This does not seem to be related to the issue we have with 0.9.0 as we're not getting any connection callbacks at all.

We need to sort this out.

I was able to reproduce the behaviour, I am stepping through the code and debugging. Some webhooks are indeed not being fired, and I am trying to understand why and how to fix it.
A mitigation step could be turning ACAPY_AUTO_ACCEPT_REQUESTS to true - it is set to false in the IDIM agents - as this would cause the connection to become active and fire the appropriate webhook.

Update: @esune has replicated the issue and is determining the cause. 🤞 🤞

Opened PR with fix.

Let’s figure out how to do a new release for this. If only we had nightly builds… :-)
Awesome work!

Let’s figure out how to do a new release for this. If only we had nightly builds… :-)

We can build pre-release images at any time.  The image publish workflow supports the workflow_dispatch trigger and you can specify the tag and even the git ref you want to build from.


dev -> master release

Change log

#602 Update data fetching from Beaconcha.in
#608 Add note on re-staking to withdrawals content
#611 [Patch] check for array type on beaconcha.in response
#603 Patch header label
#609 Pre-Shanghai content cleanup

Hey @wackerow
We released new staking-deposit-cli: https://github.com/ethereum/staking-deposit-cli/releases
Now users can download binaries from the release page. Could you help update the btec page

@hwwhww Sure can! Will add that before merging this deploy


Implement sitemap traversal (parent & children helpers)

On any template, the page method will return the Sitemap::Page instance of the current page.
This instance will have source_file, data, parent and children methods.
source_file returns the source. So if the current page is "/index.html" then the source_file is source/index.html.erb
data returns the frontmatter
parent returns the parent page, which is a non-building page representing the folder
children returns all child pages of a folder

Ping @audionerd
Does this work for what you're looking for?

There is one case I don't see supported: given activate :directory_indexes, I would expect current_page.children to list pages in the directory associated with a generated index. It currently returns an empty array.

Semantically, I'd prefer to say page, and not current_page. But I do realize the method name page is already taken (directory_indexes adds it).
If page was used as the accessor, then page.data could return the frontmatter. I think a page object knowing about its own data makes more sense than calling data.page.
And the concept of a page knowing about its own data would be nice an consistent not only within a page, but also while iterating through the data of many pages.
Those are nitpicks though! :)

page is from config.rb for setting up proxies and setting instance vars. Everything is in the same context, so we can't overwrite that. Well, we could, but seems like more trouble than it's worth.
I think current_page works because it's also accessible in partials and layouts where god knows what page refers to.

So, here's an interesting use case.
Imagine a page structure like this:
folderA/index.html.erb
folderB/_listing.erb
folderB/file1.html.erb

... where folderA/index.html.erb looks like this:
<%= partial 'folder/listing' %>
... and folderB/_listing.erb looks like this:
<%= current_page.children.size %>
If you visit folderA/index.html, the partial is going to think its path is folderA. So you'll get 0 for current_page.children.size.
I'm not sure what to think of this behavior. I suppose for simplicity, current_page is doing what you'd expect. So maybe there should be a current_partial or current_context? Or maybe a flag for when you want the current_page hierarchy to be relative the partial, like current_page(lock_paths_local:true) or something?
There's a workaround – explicitly override the partial's current_page:
<%= partial 'folderB/listing', locals: { current_page: sitemap.page('folderA/index.html') } %>

current_page, like request_path should point to whatever is in the URL.
I'm pretty sure partials (and layouts) don't even exist in the sitemap, so they don't know about other things in their path. Additionally, children works on URLs, not on-disk folders.
So, are you seeing a need for a partial to be able to reference other partials nearby?

Yes, that's use use case.
Consider a case where you have a photo gallery index that you would like to embed in several places throughout a site. You store your photos in a folder, place an index partial there, and can then re-use it elsewhere. Could also be used for a blog or event listing.

Daaaaaaamn. We've already got all the metadata parsed, this could be wired up pretty easily I think.


vmhide kext doesnt work

Im using the latest verison of Lilu and updated the VMhide kext to most recent version, however when starting the vm this is the error I get:

Can you share your OpenCore log? It appears that 1.1.2 fixed Lilu injection for release builds.

thanks for responding, the issue was actually just how my config.plist was set up, I used proper tree and fixed the formatting as well as updating lilu to latest. I know its not related but can I pass through an amd rx 580 with DDA (i have win server 2022) and it will work? the lag on the vm is very annoying

DDA is currently in a very experimental state that doesn't work with AMD/ATI. Some NVIDIA cards (that are natively supported) do work, and Intel remains untested. Lilu + WhateverGreen patching currently doesn't work due to late PCI bridge detection in HyperV (https://github.com/acidanthera/bugtracker/issues/2299), which would also include any NootedRX/etc patching.
Essentially Apple's AMD drivers make specific assumptions as to how the GPU is configured that don't work with Hyper-V VMs; in my testing AMD cards either don't work or don't fully function when passed through with DDA (causing kernel panics). There are issues with AMD cards in Hyper-V on other non-Windows VMs as well so not everything is macOS-specific, though it's possible some of these issues have been resolved in Linux AMD drivers (or in Windows AMD drivers for the host).


No Connection

Hey,
I running the Wireguard Container with Wireguard-UI and Wireguard. I can apply settings through the webif, but if I connect with the client config file, I don’t have access to the Internet or the Server anymore.
If do ifconfig, there is no wg0 interface.
What is wrong?

I've spent a good amount of time today fighting this.
It seems to me that wireguard-ui puts the CIDR address into the Address field wg0.conf, which wireguard refuses to accept.
Trying opening your wg0.conf and change Address = <IP_ADDRESS>/24 to Address = <IP_ADDRESS>. Also, if there are any peers in your file, make sure none of them have <IP_ADDRESS> as their IP address.
Doing this and restarting wireguard has solved the issue for me.

Thank you that helps for me too!


Fixed the delete icon behaviour.

There you go, the delete icon appears again ^^.

Oh, didn't get that one! :+1:

I'll release it shortly :zzz:

yup, I've got my own build, no worries : )
We still got the fix the little gap between the twitter typeahead and the actual search field.

We still got the fix the little gap between the twitter typeahead and the actual search field.

True, need to fine-tune it :)


Add document about overlaybd

Since nerdctl has been supported overlaybd in #603 but missing document.
This pr adds the description in it.
Signed-off-by: Yifan Yuan<EMAIL_ADDRESS>

https://github.com/containerd/nerdctl#additional-documents should be also added.


Add unitary fund staff job

Add job ad for a member of the technical to join Unitary Fund to work on open source software in the quantum computing ecosystem.

Great, thanks @stefanv!


astroplan not ready for astropy-1.3 yet

As discussed in astropy/astropy#5651 with @bsipocz and @ViviCoder (Debian maintainer of astroplan), astroplan still fails in a number of tests with astropy 1.3, even with some necessary patches added. This makes astroplan currently unsuitable for the upcoming Debian Stretch release, which will include astropy 1.3 (with  bug fixes).
Is there any chance to get the astroplan failures fixed in the next days? Then we could release Debian Stretch including astroplan, which would be quite nice.

There's some discussion under other the issues already, e.g. https://github.com/astropy/astroplan/issues/263 or https://github.com/astropy/astroplan/issues/278. Basically only one incompatibility is remained to be fixed (the broadcasting issue). I'm not sure whether @bmorris3 has the time to merge the current PRs and work on the remaining issue and do a release.

Oops, I see that this mainly duplicates #263 -- this is, however since the caption of #263 is misleading. I thought (from the date the issue was opened) that "stable" means the previous astropy version (1.2), so I didn't check this out.
However, I can confirm that when I apply #274 and #281 (and use a patched version of astropy), the only remaining problem are broadcasting issues.
@bsipocz do you have a fix for that? We don't need a new version; a patch would be fine to keep astroplan in the next Debian release :-)

Sadly, I don't have a fix for it yet, I only had a quick debug session of it and couldn't see why it fails. I maybe some triviality though for someone knowing more about numpy tricks...

Is this a bug in astroplan or in astropy? I could imagine that it has the same cause as astropy/astropy#5650 ... but I am not familiar with the broadcasting stuff ...

I tried to spend some time today looking at this. I applied #273 #274 and #281 after which there were still 6 outstanding errors. Applying the following reduces that to 3 errors, all in test_scheduling.py and all consistent with the error @olebole pointed out in astropy. Everything else I tried seemed to point to that error in astropy rather than in astroplan, but I could be wrong.
The first patch is just making the indexes use integers instead of floats and there's probably a better way to do it. The second patch is just a simplification based on the new vector support so bypasses the issue pointed out above. I can submit these as a separate pull-request if desired.
diff.txt

I can confirm this.
>                       .format(self.name, instance_shape, out.shape))
E                   ValueError: attribute obstime should be scalar or have shape (2, 1), but is has shape (2,) and could not be broadcast.

/usr/lib/python3/dist-packages/astropy/coordinates/baseframe.py:235: ValueError

@bsipocz @bmorris3 Could you estimate how fatal the remaining failures are?
The reason I ask is that in principle, we could upload (and thus ship with Debian Stretch) astroplan with the patches given so far and just mark these three failures as @pytest.mark.xfail(). But this would only make sense if astroplan is useful (with astropy-1.3) in this stage.
What is your opinion about astroplan in Debian Stretch?
My proposed set of patches is here -- it needs confirmation from @Vivicoder however. And, for reference, the Debian related bug is #851437.

It is ok for me if astroplan is mostly usable in spite of the remaining failures.

@wtgee - Yes please open the PR for https://github.com/astropy/astroplan/issues/282#issuecomment-274763366. I think the more problem are fixed are the better.


Real time encoding

I was doing a real time recognition and I am loading the images recursively setting the folder names as the known_face_name.  I have questions with regards to the following things

Is it possible to know if there has been changes in the folder structure, ex. image has been added or removed? with that i can restart my encodiing function.

is it faster to save the encoded image array to a file, then load it again instead of reloading the whole image?

Is it possible to know if there has been changes in the folder structure, ex. image has been added or removed? with that i can restart my encodiing function.

You could do that with a python library like watchdog: https://github.com/gorakhargosh/watchdog

is it faster to save the encoded image array to a file, then load it again instead of reloading the whole image?

Yes, that would be faster. Or you could save the encoded image data in an array or cache. Whatever works for your application.


WS2801 Support

Any chance anyone out there has adapted this code to work with some WS2801 4 wire LEDs? I wanted to change my Chistmas tree controller over to a NodeMCU instead of a dedicated pi...
I see that the clock pin is commented out but changing that kind of starts a lot of problems...
For starters I get an invalid pin specified since the clock pin isnt called out in the code as being defined for anything. Hope someone smarter than me can help!

 I threw this up last night thinking I had some time this weekend to work on the christmas tree lights before next weekend. SURPRISE! The wife wanted to get a tree today! You sir made that work out!! Merry Christmas!

No prob :p and merry christmas to u


Variant inconsistency: separated vs seperated

Hi there!
While testing out variants, I noticed an inconsistency that's found on the documentation site and within the accordion component itself: separated and its common misspelling seperated are used interchangeably in the variant options.

As a result, the generator only supports the misspelled seperated.
https://github.com/mishka-group/mishka_chelekom/blob/c8d10602813786e83ced095980da17e8de3e2d14/priv/templates/components/accordion.eex#L34
It looks like the List component may also have this issue.

Hi @ChristianAlexander ,
Thank you so much for identifying the issue in the document and reporting it to us. We appreciate your attention to our project, and we’ll resolve these typos in the project soon. I’ve already addressed this specific issue and will submit a pull request shortly.
Thanks again, and please don’t hesitate to report any issues you come across in the future.


Statistics/metrics ought to be gathered at Engine level.

Right now, sources::access::opensky has some stats gathering code.  This should be expanded into an Engine-wide system.
tracing might be a good crate to use.

More likely as a separate Actor within fetiched.


Implement a database management system to reference data.

Currently, SpriteComponent has a built in sf::Texture that gets allocated for each sprite. The issue with this is gigabytes of memory is consumed when generating thousands of entities with a sprite component. Ideally, each SpriteComponent should reference the same texture if they refer to the same entity type.
This can be handled with a separately loaded database of data that entities and components can reference at runtime. The question is, is this a per application database or can a design be made that works for any application?
Each application may have its own set of data.

In an attempt to improve performance, I went ahead and implemented a DatabaseTexture class to manage loaded sf::Texture objects for SpriteComponents.