clang_parser: workaround for asm goto in Kernel 5+ headers

Fixes: https://github.com/iovisor/bpftrace/issues/611

I couldn't test it yet because I don't have a Kernel 5+ readily available now.
@joestringer @olsajiri if you could try it that would be really helpful, since you both were suffering from this issue.

Also, I'll need to update codegen and parser tests later.

I couldn't test it yet because I don't have a Kernel 5+ readily available now.
@joestringer @olsajiri if you could try it that would be really helpful, since you both were suffering from this issue.

with the extra change below, your fix is working for me,
we need to include linux/types.h to load the compiler headers
I wonder we should put it to extra unsaved_files header,
like they did in samples/bpf/asm_goto_workaround.h
diff --git a/src/clang_parser.cpp b/src/clang_parser.cpp
index 509d01453032..98e788c7ad49 100644
--- a/src/clang_parser.cpp
+++ b/src/clang_parser.cpp
@@ -294,7 +294,8 @@ bool ClangParser::parse(ast::Program *program, BPFtrace &bpftrace, std::vector<s
   // able to parse our headers.
   //
   // From: https://github.com/iovisor/bcc/pull/2133/files
-  input = "#ifdef asm_volatile_goto\n"
+  input = "#include <linux/types.h>\n"
+          "#ifdef asm_volatile_goto\n"
           "#undef asm_volatile_goto\n"
           "#define asm_volatile_goto(x...) asm volatile(\"invalid use of asm_volatile_goto\")\n"
           "#endif\n\n" + input;

we need to include linux/types.h to load the compiler headers

It is already included (or at least should be, unless something changed recently).

yes, but I think it needs to come before the #undef, so it cant get disabled

I was looking at bcc's implementation. After looking at samples/bpf/asm_goto_workaround.h I agree it would be safer if the macro came after including types.h. What about adding our workaround after the C definitions input?
diff --git a/src/clang_parser.cpp b/src/clang_parser.cpp
index 509d014..9498a9c 100644
--- a/src/clang_parser.cpp
+++ b/src/clang_parser.cpp
@@ -294,10 +294,10 @@ bool ClangParser::parse(ast::Program *program, BPFtrace &bpftrace, std::vector<s
   // able to parse our headers.
   //
   // From: https://github.com/iovisor/bcc/pull/2133/files
-  input = "#ifdef asm_volatile_goto\n"
+  input = input + "#ifdef asm_volatile_goto\n"
           "#undef asm_volatile_goto\n"
           "#define asm_volatile_goto(x...) asm volatile(\"invalid use of asm_volatile_goto\")\n"
-          "#endif\n\n" + input;
+          "#endif\n\n";

   CXUnsavedFile unsaved_files[] =
   {

This way we guarantee that nothing inside the program will override our definiton (and as a plus we don't need to change our tests :) ).

that still fails for me with the same errors,
I pushed out temporary fix which I'm using at the moment
for reference: https://github.com/olsajiri/bpftrace/commit/641162a18bb87351afcec8dd81a721d5e71fbe69

@olsajiri thank you for sharing your fix. I made a few changes and updated the PR, should be working now.

Got around to testing this out, it works beautifully thanks folks!


Modify some details on the build

closes #83

Build for windows is good i thing
cc @cecton

Build for windows is good i thing
cc @cecton

Build for windows is good i thing
cc @cecton

If the build for Windows was good it would fail because it doesn't compile on Windows at the moment lol

Build for windows is good i thing
cc @cecton

If the build for Windows was good it would fail because it doesn't compile on Windows at the moment lol


Update packages

Update npm packages + new build.
Fix security issues with your packages, etc
Regards,
Melroy

merged, cd9c38a42834216c75b74385ce4f31176ebf7473

merged, cd9c38a42834216c75b74385ce4f31176ebf7473

commit not found?


Set target windows platform version to latest installed

Merging the bulk input component PR made the develop build fail. This is caused by a miss match of Windows platform tool-set versions, because we updated the build containers, but on develop we still have the previous versions.
This PR bumps the versions of Windows SDK, MSVC toolset and Windows platform toolset in both c++ projects to match the ones installed in the docker containers.
Functional review:

Double check that the build succeeds.

This PR is not needed anymore as develop is building fine and any MSVC update should be done with the PRT update or Rhino 8 update. The PRT right now referenced in develop is still requiring (only) MSVC 1427.

This PR is not needed anymore as develop is building fine and any MSVC update should be done with the PRT update or Rhino 8 update. The PRT right now referenced in develop is still requiring (only) MSVC 1427.

True, I forgot to close it.


Consistent variant encoding and decoding

I have noticed that encoder accepts variants as { variant: 'Year', values: [] }, but decodes as { Year: [] }, would be better to use one approach in both cases, but I'm not sure which one is better.

Can we use FateVariant externally?

No, I've provided an alternative data constructors in the related PR.

to be more explicit in this case I personally would probably favor { variant: 'Year', values: [] } as consistent representation

I was first lean to it as well, however the concise version somehow made a bit more sense in terms of public API, because you don't need to carry keys and keep them backward compatible.
Also I think the SDK is already utilizing that structure?
Please see the related PR


jax.lax.pmean with jax.pmap hang infinitely. (with gpu 100%)

Description
>>> import jax, numpy as np
>>> jax.pmap(lambda x: jax.lax.pmean(x, 'i'), axis_name='i')(np.arange(4))

Running even these simple examples take the GPU to 100% and do not exit forever.
What jax/jaxlib version are you using?
jax==0.4.8, jaxlib==0.4.7+cuda12.cudnn88
Which accelerator(s) are you using?
GPU (4 X 4090)
Additional system info
python 3.10.6, ubuntu 22.04
NVIDIA GPU info
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.89.02    Driver Version: 525.89.02    CUDA Version: 12.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0 Off |                    0 |
|  0%   23C    P8    28W / 450W |      6MiB / 23028MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   1  NVIDIA GeForce ...  Off  | 00000000:2C:00.0 Off |                    0 |
|  0%   23C    P8    19W / 450W |      6MiB / 23028MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   2  NVIDIA GeForce ...  Off  | 00000000:41:00.0 Off |                    0 |
|  0%   22C    P8    12W / 450W |     71MiB / 23028MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   3  NVIDIA GeForce ...  Off  | 00000000:61:00.0 Off |                    0 |
|  0%   23C    P8    21W / 450W |      6MiB / 23028MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

Is this still an issue? We routinely run almost identical tests on 4xT4 GPUs as part of CI, so I'm guessing this was something specific to your setup.
If it's still a problem, try with an up to date jax and jaxib?

@hawkinsp
I encountered this issue as well. pmap hangs indefinitely.
For me, this happens if I use Cuda driver 545.23.8 and install jax[cuda12_pip]==0.4.20
Wed Nov 22 20:00:33 2023
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 545.23.08              Driver Version: 545.23.08    CUDA Version: 12.3     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 3080        On  | 00000000:01:00.0 Off |                  N/A |
|  0%   59C    P2             148W / 340W |   7898MiB / 10240MiB |    100%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
|   1  NVIDIA GeForce RTX 3080        On  | 00000000:21:00.0 Off |                  N/A |
|  0%   55C    P2             140W / 340W |   7878MiB / 10240MiB |    100%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A      2156      G   /usr/lib/xorg/Xorg                            9MiB |
|    0   N/A  N/A      2588      G   /usr/bin/gnome-shell                          4MiB |
|    0   N/A  N/A      5464      C   python                                     7870MiB |
|    1   N/A  N/A      2156      G   /usr/lib/xorg/Xorg                            4MiB |
|    1   N/A  N/A      5464      C   python                                     7862MiB |
+---------------------------------------------------------------------------------------+

Single GPU is fine, and it also runs fine if I use an older driver version like 535.*. But in this case.
JAX will complain that I am using an older driver version and ask me to use the forward compat package. I think this is because the CUDA 12.3 packages are on PyPI.

@ethanluoyc Does it reproduce with the same simple example as the original post? If not, can you share a reproducer?

Yes it does.

On Nov 22, 2023, at 22:05, Peter Hawkins @.***> wrote:
@ethanluoyc https://github.com/ethanluoyc Does it reproduce with the same simple example as the original post? If not, can you share a reproducer?
—
Reply to this email directly, view it on GitHub https://github.com/google/jax/issues/15336#issuecomment-1823566923, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABOCZODUGMY7MZJYG6RYJATYFZZMFAVCNFSM6AAAAAAWOEQTYOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRTGU3DMOJSGM.
You are receiving this because you were mentioned.


[changelog] Cannot parse version 'latest'

Task List

[x] Steps to reproduce provided
[ ] Stacktrace (if present) provided
[ ] Example that reproduces the problem (link to git repository is ideal)
[x] Full description of the issue provided (see below)

Steps to Reproduce

Configure JReleaser on a project whose version follows semver.
Add a tag that do not follows semver, such as 'latest'
Invoke jreleaser changelog.

Expected Behaviour
The changelog is generated.
Actual Behaviour
A failure occurs stating "Cannot parse version 'latest'".
Environment Information

Operating System: N/A
JReleaser Version: 0.7.0
JDK Version: N/A

Turn the failure into a warning.


Bump Grafana version to the latest minor (at least)

What is missing?
Currently Grafana deployment uses 7.1.0 tag. While the latest 7.1.x is 7.1.5 and the latest stable is 7.3.3.
Why do we need it?
Besides other things patch versions bring browser specific fixes. For example my dashboards are broken (partly not rendered) in Safari in Grafana 7.1.0.
Environment

kube-prometheus version:
v0.6.0 or master (e667d85de83d3ff065bb58c9e109cc83b0c158d6)

Anything else we need to know?:
No

That sounds good to me, do you want to do the changes and open a PR for this?

Is it enough to update this line? https://github.com/prometheus-operator/kube-prometheus/blob/2cc09fb2a66ce975d0c9f495d713d7a42f13a467/manifests/grafana-deployment.yaml#L22

@mikekamornikov everything in manifests/ directory is generated. To update grafana version you need to update this line:
https://github.com/prometheus-operator/kube-prometheus/blob/0534d14813fbdf7d10d973589029c3aac5921f08/jsonnet/kube-prometheus/kube-prometheus.libsonnet#L117
and run make generate.

Corresponding PR - #808


"Don't use any subtopic" link in topics tool does not work

Once I filter down to a specific subtopic, I can't get back out to the overall topic.  Clicking on the "don't use any subtopic" link in the subtopics menu does not do anything.

oh, I see now I can x out the subtopic in the filter list, but still I think clicking on the "don't use any subtopic" link should work.


When scheduling an event Opencast states “Event is being uploaded”

Via https://opencast.jira.com/browse/MH-11442
Describe the bug
Schedule a single(?) event, and look at the popup/notification area. -> “Event is being uploaded”  This is incorrect, since we're scheduling, not uploading.

Could you please assign this to me, would like to complete it. @gregorydlogan

Sure, thanks for taking a look at this @arham-jain.

@lkiesow Is it possible for you to help me complete the local setup for the project.

Not sure if I can be of particular help with this specific issue but if you have questions, just ask. If I'm not answering, maybe someone else will.
In general for setting up a development environment for this, you might want to take a look at:

Development installtion
Admin Interface :: Live working with a Mockup

@arham-jain Happy to see you that you are willing to help fixing this!
Assuming you are new to Opencast, here some hints:
Line 141 https://github.com/opencast/opencast/blob/develop/modules/admin-ui/src/main/webapp/scripts/modules/events/controllers/newEventController.js#L141 causes the event to be created and line 158 https://github.com/opencast/opencast/blob/develop/modules/admin-ui/src/main/webapp/scripts/modules/events/controllers/newEventController.js#L158 displays the message "Event is being uploaded...".
Note that line 158 will be executed before the request issued on line 141 because the request is asynchronous.
As this admittedly is not so obvious: To find out whether a event is uploaded or scheduled, you likely will need to inspect the data structure userdata. The interesting values are set in the line https://github.com/opencast/opencast/blob/develop/modules/admin-ui/src/main/webapp/scripts/modules/events/controllers/newEventController.js#L137 based on what the user has selected in the front-end (https://github.com/opencast/opencast/blob/develop/modules/admin-ui/src/main/webapp/scripts/shared/partials/wizards/new-event.html#L73).
Good luck!

Unassigning since @arham-jain does not seem to be working on this.
Let us know if you still are.
Everyone else: Feel free to grab this issue.


Relax ember dependency

The patch in #28 made rest-model work with (slightly) newer versions of Ember. Since Ember 1.10 is affected by CVE-2015-7565, it'd be nice to be able to use rest-model with newer versions without a workaround.

Welp I guess according to Travis, it's not that easy.


Fix issue #63

coxpcall is only required with PUC Lua 5.1, but not with LuaJIT
see issue #63

Coverage remained the same at 84.178% when pulling 37d2916f966dd5b1b81f1bb3e45b139e4384ff91 on fperrad:fix63 into 394c359e0336d4ce7ad97e253fc6a7f97d7538fb on keplerproject:master.

@fperrad would you mind adding a new "unreleased" block to the changelog here: https://github.com/keplerproject/copas/blob/master/doc/us/index.html#L117 ?

Coverage remained the same at 84.178% when pulling 4fc65b6a7c33893e0256110cafb114d49b2186f5 on fperrad:fix63 into 394c359e0336d4ce7ad97e253fc6a7f97d7538fb on keplerproject:master.

thank you!


Add rewrite rule to redirect to new api

Please explain - what is the motivation? Is this different than the existing approach? Does it pass through an X-Forwarded-For IP correctly?

I think we don't get charged for execution time of the middleware. That's all.

Does it pass through an X-Forwarded-For IP correctly?
I have no idea 😂

Then please don't merge this until you have verified that the Google Cloud rate limiting will work with requests passed through this system. If all Vercel users were collectively limited to 1000 req/min because GCP wasn't able to distinguish between them, that would break people's existing integrations.

This might work, but would need to managed by someone who understands the google cloud rate limiting rules.


blank work titles show render on dashboard in all places

Why was this change made?
I noticed that the dashboard was not showing a link for draft works with no titles in the collection view area.  This fixes the problem across the dashboard where we create links to work without code duplication.
Before:

After:

How was this change tested?
In the browser
Which documentation and/or configurations were updated?

Can you add a test for this change?

Two tests added: one for the dashboard view, and for the show work page view.


Multiple line Chart, same view

Hello, and thanks for his awesome library.
I would liike to know if it it possible to display 2 line charts at the same time.
I have a game, with 3 difficulty level, and on the stat page, i would like to display 3 lines, for each level of difficulty.
On xAxis would days, and on Yaxis the average score.
With 1 line for each difficulty level.
Is that possible?
ps : I managed to do what i want for 1 line, butcant figure out how to deal with the others.

Thanks  a lot for your help.
Ben

you can do that , just set datasets , you can set a Array but they use same xAxis

As @JackLeeMing said - just add multiple DataSets. Instead of passing a dataSet argument to your Data object, pass a dataSets argument (plural).


Add sone screenshots

Hello, from the description this library looks promising, I will try it soon. Could you add some screenshots of the different admin filters in the README.

@fabiocaccamo Hi. You can easily try out the admin filters by running the testapp:
git clone https://github.com/thomst/django-more-admin-filters.git
cd django-more-admin-filters/tests/
python manage.py migrate
python manage.py createtestdata
python manage.py runserver

Then you can login at localhost:8000 as admin with password adminpassword and checkout all the filters for ModelA.


Large Multimodal Models in AgentChat

Why are these changes needed?

Related issue number

Checks

[ ] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally.
[X] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[X] I've made sure all auto checks have passed.

Codecov Report

Merging #516 (01f0f30) into dev/v0.2 (957ec00) will decrease coverage by 25.67%.
Report is 38 commits behind head on dev/v0.2.
The diff coverage is 50.40%.

@@              Coverage Diff              @@
##           dev/v0.2     #516       +/-   ##
=============================================
- Coverage     41.75%   16.09%   -25.67%
=============================================
  Files            21       25        +4
  Lines          2632     2970      +338
  Branches        592      658       +66
=============================================
- Hits           1099      478      -621
- Misses         1442     2476     +1034
+ Partials         91       16       -75

Flag
Coverage Δ

unittests
16.09% <50.40%> (-25.67%)
:arrow_down:

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

Files
Coverage Δ

autogen/agentchat/__init__.py
100.00% <100.00%> (ø)

autogen/agentchat/assistant_agent.py
83.33% <ø> (ø)

autogen/agentchat/groupchat.py
22.41% <ø> (-38.80%)
:arrow_down:

autogen/agentchat/user_proxy_agent.py
80.00% <ø> (-20.00%)
:arrow_down:

autogen/code_utils.py
19.91% <ø> (-25.55%)
:arrow_down:

autogen/math_utils.py
0.00% <ø> (-9.29%)
:arrow_down:

autogen/oai/__init__.py
100.00% <100.00%> (ø)

autogen/agentchat/contrib/teachable_agent.py
0.00% <0.00%> (-15.66%)
:arrow_down:

autogen/agentchat/contrib/text_analyzer_agent.py
0.00% <0.00%> (-37.50%)
:arrow_down:

autogen/token_count_utils.py
0.00% <0.00%> (-56.57%)
:arrow_down:

... and 7 more

... and 6 files with indirect coverage changes


undercomplete autoencoder added.

Coverage remained the same at 100.0% when pulling a8c63fd4d0a8da52c49530d9e58be259efd4033b on hadikazemi:master into f1972453d7fd9f0fd828035797b7f87861933e84 on astorfi:master.


removeComments - no space before //

observed:
removeComments("if (visibleCol ){//&& field.name != 'Icon') {") -> if (visibleCol ){//&& field.name != 'Icon') {
expected:
removeComments("if (visibleCol ){//&& field.name != 'Icon') {") -> if (visibleCol ){

Hey,
Thank you for contributing. Can you add a test please that verifys the added behavior?

Hi, I didn't add a new test case, but added a function which breaks 5 tests without the fix.

Just found a new case in our code base, which I guess will be hard to fix without parsing the file to an AST and then stripping comments.
if (url.indexOf('://') == -1) {
When removeComments is called
"if (url.indexOf('://') == -1) {" turns into "if (url.indexOf(':" which eats one opening brace.
I suggest using something like:
https://github.com/jonschlinkert/strip-comments
What do you think?

For now there was no need to create an AST. Probably, the performance will suffer.
First, let's merge this change. Your example can probably be fixed by adapting the regex again.
However,  you can keep working on the regex or playing around with handy libraries. Regarding the latter I am interested in performance tests. To make sure to keep the runtime under controle.
Thanks for contributing, I will publish the update asap.


Error while running section Test The Trained Model (ImportError: cannot import name 'opts' from 'modules.shared')

Hello All,
I'm facing the below error while running the code section Test The Trained Model after training the model with SD v2
Traceback (most recent call last):
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/webui.py", line 13, in
from modules import shared, devices, sd_samplers, upscaler, extensions, localization, ui_tempdir
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/modules/shared.py", line 17, in
from modules import sd_samplers, sd_models, localization, sd_vae, extensions, script_loading
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/modules/sd_samplers.py", line 11, in
from modules import prompt_parser, devices, processing, images
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/modules/processing.py", line 15, in
import modules.sd_hijack
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/modules/sd_hijack.py", line 10, in
import modules.textual_inversion.textual_inversion
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/modules/textual_inversion/textual_inversion.py", line 13, in
from modules import shared, devices, sd_hijack, processing, sd_models, images, sd_samplers
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/modules/images.py", line 20, in
from modules.shared import opts, cmd_opts
ImportError: cannot import name 'opts' from 'modules.shared' (/content/gdrive/MyDrive/sd/stable-diffusion-webui/modules/shared.py)
I'm using the below settings :
V2= True
Update_repo = True
Did anyone face this issue earlier with v2 or v1.5?

you need to use the latest colab from the link, don't save it to your gdrive,


website: links to issue tracker point to old tracker

The links from http://golang.org/project all go to http://golang.org/issue -> https://code.google.com/p/go/issues/list. The links should instead point to http://golang.org/issues or https://golang.org/issue, both of which redirect to https://github.com/golang/go/issues.

When I look at http://golang.org/issue I get forwarded to https://github.com/golang/go/issues .  Either this just changed or we are looking at something different.

curl http://golang.org/issue
Moved Permanently.

My (or Firefox 33.0's) fault. Apparently the old forwarding rule was cached. Problem disappeared when cache was emptied.

I suppose this is what happened: http://stackoverflow.com/a/21396547


Keeping 5.0-breaking-changes up-to-date with develop

Summary
Updating the 5.0-breaking-changes branch with the latest updates to develop.

Should we merge this to the 5.0 branch?

Confused with what we are doing on this branch? Should we just be updating the 5.0 breaking changes branch directly?

Sorry about that. I thought the 5.0 branch was protected. If it's not, we should just keep it up to date.
And we can close this PR.

Yes sorry I did that and forgot to say something. I removed the protection because I wanted to update it. I was going to do it this way, but then it involves making the pr originally to the develop branch and then switching to the 5.0 branch which imo is kind of annoying. Since the 5.0 branch runs the tests we can just update it locally, run the tests, and when the tests pass push up the merge

No worries! Makes sense.


[cluster_test] Fix 3-region simulation

Root cause is having sudo in network effects cmd line.
Relied on land blocking push to catch the issue, but it does not test 3-region simulation, so the problem slipped in master
There was also a typo in wait_job_completion so failed job was treated as still in progress

@bors-libra r=snakech

:pushpin: Commit 1d5941c has been approved by snakech

@bors-libra r=snakech p=100
Fixes nightly build

:bulb: This pull request was already approved, no need to approve it again.

There's another pull request that is currently being tested, blocking this pull request: #4559

:pushpin: Commit 1d5941c has been approved by snakech

:hourglass: Testing commit 1d5941cff81d6790e3d6c6f7f25a4d3c8127172e with merge 2dd7b617aaf70d1a57273a994cbdc3fd20a9bfe0...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: snakech
Pushing 2dd7b617aaf70d1a57273a994cbdc3fd20a9bfe0 to master...


Username password test

Codecov Report

Merging #83 (3736662) into main (fe86085) will increase coverage by 0.47%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #83      +/-   ##
==========================================
+ Coverage   74.47%   74.95%   +0.47%
==========================================
  Files          22       22
  Lines        2304     2304
==========================================
+ Hits         1716     1727      +11
+ Misses        588      577      -11

Impacted Files
Coverage Δ

Sources/MQTTNIO/MQTTClient.swift
76.61% <0.00%> (+2.09%)
: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 fe86085...3736662. Read the comment docs.


Re-re-re-test everything

@jimmyDunne can you copy in our previous checklist? 697?

API Examples (from #1297)

[x] Script to build a template actuators (see PR #541 (Shrinidhi)
[ ] Convert dynamic walker example (C++ @chrisdembia,  MATLAB @jimmyDunne)
[x] Convert hopper example (Chris)
[ ] Convert between Millard and Thelen muscle models  (Ayman)
[x] Pendulum with markers; output marker locations (James)
[x] Plot muscle curves (James)
[x] Show how to use the DataTable's flatten() and pack() in scripting (James)
[ ] Muscle analysis (@aseth1 and @carmichaelong)
[ ] Point and body kinematics; also report Center of Mass (@aseth1 using OutputReporter)
[ ] States trajectory for custom post-hoc analysis (maybe trapeziodal rule for integration, Chris)
[ ] Update old matlab and python examples (James)
[x] Dump model's connections, inputs and outputs (done by @tkuchida added to Component)

API Examples (not from #1297)

[ ] Working with lists (Matlab/Python) #1465
[ ] Sample code for dealing with enums in Matlab #1456

API Examples (Confluence)

[ ] Performing a Simulation
[ ] Creating your own Analysis
[ ] Creating a Controller
[ ] Creating an Optimization
[ ] Creating a Customized Actuator @chrisdembia
[ ] Creating a Cusomized Muslce Model
[ ] Getting Started as a Developer @chrisdembia https://github.com/opensim-org/opensim-core/issues/2072

Application Examples (Confluence)
Introductory

[ ] Tutorial 1 -Intro to Musculoskeletal Modeling @bspineda
[ ] Tutorial 2 - Simulation and Analysis of a Tendon Transfer Surgery @bspineda
[ ] Tutorial 3 - Scaling, Inverse Kinematics, and Inverse Dynamics  @bspineda
[ ] Simulation-Based Design to Prevent Ankle Injuries @nickbianco
[ ] Simulation-Based Design to Reduce Metabolic Cost @nickbianco
[ ] Dynamic Walking Challenge:Go the Distance
[ ] Working with Static Optimization
[ ] Soccer Kick example

Intermediate

[ ] Computed Muscle Control
[ ] Strength of Simulation: Estimating Leg Muscle Forces in Stance and Swing @tkuchida
[ ] Joint Reaction Loads
[ ] Model Editing

Advanced

[ ] Point Kinematics Example redundant with OuputrReporter- update to use OutputReporter
[ ] Pulling out the stops: Designing a muscle for tug-of-war competition
[ ] Sky High: Coordinating Muscles for Optimal Jump Performance  (replace AnalyzeTool with ForwardTool in Part C; see #1675)
[ ] From the Ground Up: Building a Passive Dynamic Model @chrisdembia

Wish List

[ ] Building custom joints (Examples of building basic and complicated joints. May include the building and complicated knee and/or shoulder)
[ ] Rajagopal Model example - Build an example or a pipeline to showcase the model
[ ] Seth Shoulder model - Build an example or a pipeline to showcase the model
[ ] Muslce Synergy - example of a muscle synergy analysis
[ ] Scaling - Going from model (without markers) to scaled and running IK (includes reading c3d)
[ ] Evaluate model capacity - Evaluate joint toques and asses if muscles crossing the joint could generate the required forces
[ ] Calculate cost of transport -
[ ] Document hopper example in a confluence page @nickbianco
[ ] Test GUI script for running tug of war in 485 @apoorvar
[ ] Extending a class (controller) in Python (Ayman)
[ ] Optimization of standing balance movements with synergies (Mazen)

@jenhicks we'd like to have a small testing party with local users (Scott U., Rachel Jackson, Apoorva, Jenny, etc.). What do you think? When would be a good time? Wednesday?

I have adjusted the Structure (Beginner, Intermediate, Advanced) based on suggestions from the team.
Dynamic walker Example has been moved to Advanced but is currently hidden since we will do significant refactor after release.

Some of the items in the list seem like examples to create or that we've been working on that are not yet in the release (not just testing). I've put a strikethrough through some of these.

I encountered https://github.com/opensim-org/opensim-gui/issues/1051 while testing Tug-of-War.


Callback urls raise 404

I'm working on a project where I'm adding Discord auth, and I can't seem to get the callback URL to work. Here is my setup:
Python 3.10.2
django 4.0.1
djangorestframework 3.13.1
dj-rest-auth 2.2.2
django-allauth 0.47.0
Here is the relevant code:
# api/views.py
BASE_AUTH_URL = "http://localhost:8000/api/v1/auth/login"

class BaseSocialLogin(SocialLoginView):
    def get_serializer(self, *args, **kwargs):
        serializer_class = self.get_serializer_class()
        kwargs["context"] = self.get_serializer_context()
        return serializer_class(*args, **kwargs)

class DiscordLogin(BaseSocialLogin):
    adapter_class = DiscordOAuth2Adapter
    callback_url = BASE_AUTH_URL + "/discord/login/callback/"
    client_class = OAuth2Client
    serializer_class = SocialLoginSerializer

# urls.py
from django.urls import include, path
from rest_framework import routers

from skindex.api import views

router = routers.DefaultRouter()
router.register(r"users", views.UserViewSet)
router.register(r"posts", views.PostViewSet)
router.register(r"devices", views.DeviceViewSet)
router.register(r"comments", views.CommentViewSet)

# Wire up our API using automatic URL routing.
# Additionally, we include login URLs for the browsable API.
urlpatterns = [
    path("api-auth/", include("rest_framework.urls", namespace="rest_framework")),
    path("api/v1/", include(router.urls)),
    path("api/v1/auth/", include("dj_rest_auth.urls")),
    path("api/v1/auth/login/discord/", views.DiscordLogin.as_view(), name="discord_login"),
    path("api/v1/auth/login/github/", views.GitHubLogin.as_view(), name="github_login"),
    path("api/v1/auth/login/google/", views.GoogleLogin.as_view(), name="google_login"),
    path("api/v1/auth/registration/", include("dj_rest_auth.registration.urls")),
]

# settings.py
SITE_ID = 1

INSTALLED_APPS = [
    "skindex.api",
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.sites",
    "django.contrib.messages",
    "django.contrib.staticfiles",
    "rest_framework",
    "rest_framework.authtoken",
    "allauth",
    "allauth.account",
    "dj_rest_auth",
    "dj_rest_auth.registration",
    "allauth.socialaccount",
    "allauth.socialaccount.providers.discord",
    "allauth.socialaccount.providers.github",
    "allauth.socialaccount.providers.google",
]

AUTHENTICATION_BACKENDS = (
    "django.contrib.auth.backends.ModelBackend",
    "allauth.account.auth_backends.AuthenticationBackend",
)

I'm not sure what all I'm doing wrong, as it looks like what I've seen other people doing when it works for them. Any help would be appreciated

Followed this guide to solve the issue, I was missing the callback definition


Fix example in 10-advanced-routing.md

The example does not work when the error is not thrown.
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[ ] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[ ] This message body should clearly illustrate what problems it solves.
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[ ] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[ ] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. Changesets that add features should be minor and those that fix bugs should be patch. Please prefix changeset messages with feat:, fix:, or chore:.

The documentation has been updated for SvelteKit 2 - https://kit.svelte.dev/docs/migrating-to-sveltekit-2#redirect-and-error-are-no-longer-thrown-by-you


Implement the relationship between TupleN classes and generic tuples.

Rebased and updated.

MiMA check doesn't like the change to the EmptyTuple in names


Update redis version and fix deprecated syntax

See title.

This may change the minimum required Rust version, but that should be fine.


GpSync unit uses GpThreads unit, which is not present on github

See issue title

TNamedThread class implementation is missing

Any chance to see GpThreads.pas unit in this collection on github ?

Still need GpThreads.pas ;..((..

I tried to fix it but it got really messay (GpThreads is full of non-public code) so I just reverted GpSync to the previous version.

Thanks, Primoz! This solution is acceptable. For me it was more important that all units in GpDelphiUnits and OTL are consistent.

Still need GpThreads.pas ;..((..
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.

Anton, hi, sorry it took so long.

It turns out that GpThreads is full of non-open source code and links into core of our company's stuff. I tried to separate it into public/company side but it got really messy. At the end I just reverted the GpSync commit so it is again based on TThread.

Primož


Customized error message for the same field of different items in a list.

I have a form with a list of bank accounts.
let BankAccount = t.struct({
       AccountHolder: t.Str,
       IBAN: Iban
 });
// Removed the rest of the structures for simplicity
let Form = t.struct({
      BankAccounts: t.list(BankAccount)
})

For now I managed to dynamically customize and set the error message in options. The problem is when displaying errors  for the same field of different items in a list.
Let me explain on my form example, the IBAN's error message can be either invalid (returns 'Error msg x') or not accepted depending on country (returns 'Error msg y').
Say we have a list of two BankAccount items. The Iban is wrong in both items but for different reasons. Item[0] should display 'Error msg x' and Item[1] should display 'Error msg y'. Unfortunately this is not what happens they both display the same error msg.
Is there a way to set the options of each item separately :
options: {
        fields: {
         BankAccounts: {
            item:{
             0:{
               fields: {
                  IBAN:{
                    error: customized error msg
                  }
                }
              }
            }
          }
        }
      }

If not Is there another way to implement this ?

It's been a while since I've done this, but if I recall correctly, I think all the fields will be given to you in the locals argument, and you can validate and render the error fields yourself.
var options = {
  template: function(locals) {
     let error = [];
     //.... push the errors into the error array.

     return <span className='field'>
         <input className='form-control' type='text' value={locals.value} />
         {error}
  }
}

Thanks for the prompt response. But from what I understand that this will allow me to display several errors for the same field, which doesn't solve my problem.
My issue is say for example I have a list of IDs. The first one is invalid because it is too short while the second is invalid as it is too long. What I would like to achieve is render the appropriate message for each field displaying "ID is too short" and "ID too long" for first and second fields respectively.
Now I can only display one of the two messages for both fields depending on which error occurred later. So if the user entered the short ID after the long one both fields will show an error message of "ID too short" and vice versa.

Hi @etshi
This issue should be helpful:
https://github.com/gcanti/tcomb-form/issues/177

Thanks

Let me know how it goes or if you need more help.
Giulio

I had already tried using factories taking issue (#177)[https://github.com/gcanti/tcomb-form/issues/177] as a reference before I posted my question, but failed. The thing is I want something more general without any prior knowledge of the field info. To use in a project skeleton.
What I am currently doing is kind of expensive by calling a function every  time an error occurs to create and returns the options nested object with the updated error message. And it works fine for all cases except for that stated above.
I am sure that there is a better way of doing it. so do you think for this should I try the template/locale or the factories approach again?

My issue is say for example I have a list of IDs. The first one is invalid because it is too short while the second is invalid as it is too long

In general, if you can express the validation rules synchronously you can use the error option implemented as a function:
https://github.com/gcanti/tcomb-form/blob/master/GUIDE.md#error-message
Example:
function isTooShort(s) {
  return s.length < 2;
}

function isTooLong(s) {
  return s.length > 4;
}

var ID = t.subtype(t.Str, function (s) {
  return !isTooShort(s) && !isTooLong(s);
});

var Type = t.list(ID);

var options = {
  item: {
    error: function (s) {
      if (t.Str.is(s)) {
        if (isTooLong(s)) {
          return 'is too long';
        }
        if (isTooShort(s)) {
          return 'is too short';
        }
      }
    }
  }
};

const App = React.createClass({

  onSubmit(evt) {
    evt.preventDefault();
    var value = this.refs.form.getValue();
    if (value) {
      console.log(value);
    }
  },

  render() {
    return (
      <form onSubmit={this.onSubmit}>
        <t.form.Form
          ref="form"
          type={Type}
          options={options}
        />
        <button className="btn btn-primary">Save</button>
      </form>
    );
  }

});

In general, if you can express the validation rules synchronously

Otherwise let's use this playground:
function fakeServerCheck(ids, callback) {
  setTimeout(() => {
    var errors = [];
    ids.forEach(function (id) {
      if (['a', 'b'].indexOf(id) !== -1) {
        errors.push(id);
      }
    });
    callback(errors);
  }, 500);
}

var Type = t.list(t.Str);

const App = React.createClass({

  getInitialState() {
    return {
      options: {}
    };
  },

  onSubmit(evt) {
    evt.preventDefault();
    var value = this.refs.form.getValue();
    if (value) {
      fakeServerCheck(value, (errors) => {

        //
        // how to set the proper error for each item???
        //

      });
    }
  },

  render() {
    return (
      <form onSubmit={this.onSubmit}>
        <t.form.Form
          ref="form"
          type={Type}
          options={this.state.options}
        />
        <button className="btn btn-primary">Save</button>
      </form>
    );
  }

});

How to set the proper error for each item
At the moment I've just a workaround:
  onSubmit(evt) {
    evt.preventDefault();
    var value = this.refs.form.getValue();
    if (value) {
      fakeServerCheck(value, (errors) => {
        this.setState({
          options: {
            item: {
              hasError: errors.length > 0,
              error: function (value) {
                if (errors.indexOf(value) !== -1) {
                  return 'my error';
                }
              }
            }
          }
        });
      });
    }
  },

I'll think about a clean solution

In general, if you can express the validation rules synchronously

Otherwise let's use this playground:
function fakeServerCheck(ids, callback) {
  setTimeout(() => {
    var errors = [];
    ids.forEach(function (id) {
      if (['a', 'b'].indexOf(id) !== -1) {
        errors.push(id);
      }
    });
    callback(errors);
  }, 500);
}

var Type = t.list(t.Str);

const App = React.createClass({

  getInitialState() {
    return {
      options: {}
    };
  },

  onSubmit(evt) {
    evt.preventDefault();
    var value = this.refs.form.getValue();
    if (value) {
      fakeServerCheck(value, (errors) => {

        //
        // how to set the proper error for each item???
        //

      });
    }
  },

  render() {
    return (
      <form onSubmit={this.onSubmit}>
        <t.form.Form
          ref="form"
          type={Type}
          options={this.state.options}
        />
        <button className="btn btn-primary">Save</button>
      </form>
    );
  }

});

How to set the proper error for each item
At the moment I've just a workaround:
  onSubmit(evt) {
    evt.preventDefault();
    var value = this.refs.form.getValue();
    if (value) {
      fakeServerCheck(value, (errors) => {
        this.setState({
          options: {
            item: {
              hasError: errors.length > 0,
              error: function (value) {
                if (errors.indexOf(value) !== -1) {
                  return 'my error';
                }
              }
            }
          }
        });
      });
    }
  },

I'll think about a clean solution

Two other observations then I must run to the office, I'll read your replies during the weekend...
1.

The thing is I want something more general without any prior knowledge of the field info. To use in a project skeleton.

This is interesting! Could you elaborate a little bit on your use case?
2.

What I am currently doing is kind of expensive by calling a function every time an error occurs to create and returns the options nested object with the updated error message

What you mean by "expensive"? If your options object is really big you could use the t.update function:
https://github.com/gcanti/tcomb/blob/master/GUIDE.md#updateinstance-object-spec-object-object
Example
var options = {
  ...other options
  item: {
    fields: {
      name: {},
      ... other fields
    }
  }
};

// let's say you just want to disable the name field...

options = t.update(options, {
  item: {
    fields: {
      name: {
        disabled: {$set: true}
      }
    }
  }
});

what I mean is that I want to use it not for only one form but for a project with many forms, so instead of coding the options object for every form I want it to be done through a function in the project 'util' that generates the options object with the updated error msg.

I already use t.update. But as explained in the first point I am trying to use a more generic approach so depending on the path of field in question the function iterates through the current object and if the path exists it just updates the error message if it doesn't exist then it adds it to the object. All by using either '$set' or '$merge'

function similar to the following:

function _updateOptions(message,pathList,options) {
  let updatedOptions = options || {};
  // Remove any numbers from path array in case of a list
  let path = pathList.filter(function(value) {
    return isNaN(value);
  });
  // Create a nested object with respect to the given path.
  path.reduce(function(prev, currentValue,index) {
    let isList = !(isNaN(pathList[index + 1]));

    prev['fields'] = (prev['fields']) ?  t.update(prev['fields'], {'$merge': {}}) : {};
    prev['fields'][currentValue] = (prev['fields'][currentValue]) ?
        t.update(prev['fields'][currentValue], {'$merge': {}})
      : {};
    if (index === path.length - 1) {
      if (isList) {
        return prev['fields'][currentValue]['item'] = (prev['fields'][currentValue]['item']) ?
            t.update(prev['fields'][currentValue]['item'], {error : {'$set': message} })
          : {'error' : message};
      } else {
        return prev['fields'][currentValue] = (prev['fields'][currentValue]) ?
            t.update(prev['fields'][currentValue], {error : {'$set': message} })
          : {'error' : message};
      }
    } else {
      if (isList) {
        return  prev['fields'][currentValue]['item'] = (prev['fields'][currentValue]['item']) ?
            t.update(prev['fields'][currentValue]['item'], {'$merge': {}})
          : {};
      } else {
        return  prev['fields'][currentValue]
      }
    }
  }.bind(this), updatedOptions);

  return updatedOptions;
}

@gcanti: Thank you. Just figured it out.
Solved by passing the message in the above function as a Function instead of just a String.

Great. I'll leave this open for the moment as a reminder


api endpoint and demo links

Hi, I wanted to check out the demo listed in the docs, but the following two links appear to be dead.

demo: http://nasa.api.niewma.com
api endpoint:  http://nasa.api.niewma.com/api

I'm not seeing anything interesting at the nasa.apphb.com demo - just a blank screen that it is refreshing very quickly, and an odd little map with some triangles in it.
Please describe in durable, reproducable prose what the code is supposed to be able to do.
Thanks!


Do not freeze requirement aws-xray-sdk to a specific version

Use '>=' instead of '==' to allow future versions to be updated.
cf https://github.com/spulec/moto/issues/1290

Coverage remained the same at 92.55% when pulling 5c5511956276a02765fb48576bce29e68c860ff3 on frivoire:master into 66a554470b5b14c304f71781f5eac594de12594f on spulec:master.

Thanks for the fix, @frivoire! Welcome to Moto! :)

This is now released as Moto 1.1.24

Thanks !!
NB: one minor thing : the git tag for 1.1.24 doesn't appear on github :
https://github.com/spulec/moto/releases

Thanks, @frivoire - fixed!


Use only string to sync.

Now FieldGUISync use each type value. However, it may replace with string.
When send a value, serialize into string and when receive a value, deserialize it.

NOTE:
use ToString("G") when convert value.

Gotcha!


Add ability to serialize by fields instead of getter methods

My request is to add a way to serialize by fields instead of serializing by using the getters and setter methods.

Just implemented.

Thank you so much 👍


Created initial full-width-media molecule

Blog posts need to have the ability to include full width images, figures, and block quotes. This is only a start, but it accounts for the full width images content editors need at this momemnt. Figures and block quotes should be addressed post-launch.
Additions

Added simple default styles for images within a full-width-media molecule

Changes

Added initial media markup to the full-width-text-group

Testing

Add this between L:29 and L:30 in  organisms/full-width-text.html:

  and open a doc detail page like http://localhost:8000/data-research/research-reports/2015-office-minority-and-women-inclusion-annual-report-congress/

## Review

- @kurtw
- @KimberlyMunoz
- @sebworks
- @anselmbradford

## Screenshots

![screen shot 2016-04-20 at 3 01 53 pm](https://cloud.githubusercontent.com/assets/1280430/14688560/d4a19dcc-0708-11e6-9ac6-35e1f5ff0961.png)

## Notes

- This is a terrible example, but until wagtail blog posts are completed, it's the best I was able to cobble together.

## Todos

- Build the backend doc detail blog posts.

## Checklist

* [ ] Changes are limited to a single goal (no scope creep)
* [ ] Code can be automatically merged (no conflicts)
* [ ] Code follows the standards laid out in the [front end playbook](https://github.com/cfpb/front-end)
* [ ] Passes all existing automated tests
* [ ] New functions include new tests
* [ ] New functions are documented (with a description, list of inputs, and expected output)
* [ ] Placeholder code is flagged
* [ ] Visually tested in supported browsers and devices
* [ ] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)

Closing in favor of a single PR with front and back end tied to gether.


README updated, unix install shifts to another file

This change is

Debian link under Getting Started does not exist. There should be one if we support Debian and are pointing users to those pages

Coverage remained the same at 72.796% when pulling 034c6178ebd082113d1791a7bebda62ba396ea1f on david-puglielli:readme-rtw-feb2018 into 21aa879d38b15636b52971aafa65d25d2697df5a on Microsoft:dev.

Codecov Report

Merging #683 into dev will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              dev     #683   +/-   ##
=======================================
  Coverage   77.97%   77.97%
=======================================
  Files          25       25
  Lines        7259     7259
=======================================
  Hits         5660     5660
  Misses       1599     1599

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 21aa879...034c617. Read the comment docs.

Snapshot file has broken links to the ODBC install page on MSDN.


Change the DateTimePicker Display Language

can I display the dateTimePicker with the french language?
I used the angular-i18n library but it won't work...any help please!!!

Did you solve this problem? I am facing the same issue.
I found 'picker.param.lang' variable in the source code, and I use
<input mdc-datetime-picker date="true" time="false" type="text" id="date" short-time="true" class="value" lang="zh-CN">
But it still does not work.

Same Issue ?Is the Issue solved?

Hello everyone,
I have the same issue, I just want to display the component with the french language but it doesn't work, it's only display in english
Here is my code :

Any solution ?
Thanks a lot

Guys. I have solved this issue.
You need to specify the language code like I did previously. And also include the moment local js file.
In my case, it's momentjs/locale/zh-cn.js for Chinese language.

Thanks a lot ljcljc it works like a charm !

Hi,
The solution which u gave is not working .Can u please share the exact changes with files also.

Well. I believe I made it clear before.
There is something wrong with your code. If you could post your code, I may help you to find the problem.

Hi,
The solution which u gave is not working .Can u please share the exact changes with files also.

I am applying this to the directive and included the file for angular-locale_zh-cn.js

The solution provided by @lakshaybansal did work for me. You should include Momentjs's locale .js file.

      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment-with-locales.min.js"></script>

this file include
example input

to get location code please search in side moment-with-locales.min.js with your langage

Will include solution in README.md

Scrolling to previous months is not possible

@joelmm1 this issue is closed...


Fixing race condition with observer.

Fixes #15
Apologies for the other PR. I went down a rabbit hole with merging the component into an if / else without really grokking what the whole pop-over-hidden thing was about. The root cause of this can be found in #15.
Simplified explanation is that when an observer utlizes a computed property, it creates a race condition. Solution is to wrap the contents of the observer in an Ember.run.once.

Yeah, pop-over-hidden is used to measure the popup without interrupting liquid-fire. If I remember correctly.

Pushed 0.1.29.


Zendesk.lookupOrganizationByExternalId no longers returns a PagedIterable

...e because the Zendesk API doesn not support paging on the /api/v2/organizations/search.json?external_id={external_id} endpoint.

It does support pagination but there was a bug in the PagedIterator, thanks for the report.


MOC: (81!) Resampling not supported!

When use mocp over jack it can't change sample rate. Should use libresamplerate for this.

We need to change input library?

Probably, I'm not sure.

From MOC's Readme:

For resampling (playing files with sample rate not supported by your hardware):
libresamplerate version 0.1.2 (http://www.mega-nerd.com/SRC/)

We can add:
, samplerateSupport ? true, libsamplerate

and
++ opt samplerateSupport libsamplerate

Strange: I added libsamplerate to buildInputs, but on configuration phase still:
checking for samplerate... no

:-( ...What did do I whong???

Currently I have:
      moc = pkgs.stdenv.lib.overrideDerivation pkgs.moc (attrs: {
        buildInputs = attrs.buildInputs ++ (with pkgs; [ libsamplerate taglib libmpcdec wavpack faad2 curl file ]); # +librcc +libmagic -libmpc
	configureFlags = "--with-rcc --without-oss --with-alsa --with-jack --with-aac --with-mp3 --with-musepack --with-vorbis --with-flac --with-wavpack --with-sndfile --with-modplug --with-ffmpeg --with-speex --with-timidity --with-samplerate --with-curl --with-sidplay2 --with-magic --disable-cache --disable-debug";
      });

@Pitometsu frequently, you will have configure options which are expecting the path to be given as argument, so you might have to specify  --with-samplerate=${libsamplerate} or something similar.
If you need to, you can investigate with either the nix-shell or nix-build -K.

Try override like I do https://github.com/jagajaga/my_configs/blob/master/.nixpkgs/common.nix#L16

(triage) is this solved?

yes, thanks.


fix(docs): lots of clean up and style enhancements

Summary
This PR includes some small style and navigation changes that hopefully make the doc site easier to use.
Some of the changes

Lifted contents out of /projects
Renamed "Assets" to "Media" and made it a single page
Reordered left nav tree
Combined examples into a single page
Redesigned /reference landing page
Configured "Overview" pages to be hidden from nav and act as landing pages for the related section.
Removed duplicate title on left nav
Added shortcut key hint to search bar
Renamed /concepts pages to /basics (this will break user's bookmarks, so i'd like some feedback on this)
Added Stack overflow icon to footer
Support for section in URL (as hash) so that back nav works as expected.
Renamed title of right nav menu from "Table of contents" to "On this page"
Changed header's repo icon from a git icon to github icon
Renamed site title from "cdk8s Documentation" to "cdk8s"
Linked all tab-able content boxes so that when users select a language in one, it updates all tab-able content boxes on the site.
Replaced use of "notice" admonitions with "info" since "notice" is not a valid mkdocs admonitions type.

Demo of changes
https://share.cleanshot.com/VMSEcZ
What I wanted to fix but couldn't
The API reference pages are going to be difficult to style. The sections are labelled with typical markdown header syntax (i.e. # Construct). It looks like every header is generated with an anchor tag though so I may be able to use a css selector to grab the header. This isn't ideal though and could lead to some pretty hard to debug style issues down the road.
Haven't found a clear way to modify the right nav item order on API reference pages. Because it's ordered by header hierarchy we may not have many options. I've yet to find an escape hatch for this in mkdocs.
Deploy notes
⚠ I recommend merging https://github.com/cdk8s-team/cdk8s/pull/964 first.

@ryparker Looks great. There's a small conflict now that i'll let you resolve :)


⚠ Bofrost.de has degraded performance

In d366a8e, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 953 ms

Resolved: Bofrost.de performance has improved in b80f3dd after 6 minutes.


Just curious, for line 528 and line 530 in models.py, why return x without calculation?

x_ = torch.cat([x0, x1], 1)
logdet = torch.sum(logs, [1, 2])
return x, logdet

Yes, you are right, we can do that. However, see this comment and this comment for reference. If we decide to use a non-volume preserving normalizing flow, we will need the logdet for NLL calculations. I think the authors might have had experimented with it and just left it in the code for re-usability.

Hi, I completely misread your question earlier and you are right, it is a typo. It should be x instead of x_ in the first line. Thanks!!


No output from PrintParameterMap() in IDLE

Hi!
The code is from "Parameter Maps" of document, but nothing to output in IDLE.
import SimpleITK as sitk
elastixImageFilter = sitk.ElastixImageFilter()
elastixImageFilter.PrintParameterMap()

It seems to have some similar issues in the past.
I can't still resolve the problems.
Thanks for your suggestion!

There are problems logging to console in some IDEs. You can use sitk.WriteParameterFile() to write the parameter map to disk and inspect it from there.


Crashing every time i send message or click on something.

Every time i launch it with better discord, it crashes. my antivirus started popping up a bunch of cmd.exe's, and now im running a scan. If this gave me a virus i will update you.

This is not an issue with the installer itself.


ammo.wasm.wasm. URL scheme "file" is not supported.

Fetch API cannot load file:///F:/lib/ammo.wasm.wasm. URL scheme "file" is not supported.
I want to test locally, but the ammo.wasm.wasm file cannot be loaded, can anyone help me! ?

You have to serve the examples from a local web server.
Do you have node.js installed?

Once you have node.js installed, type npm install and npm start in your terminal.

I installed node  and  enable3D, but no start terminal.  I will try. Thanks!

Once you have node.js installed, type npm install and npm start in your terminal.

I cannot run npm start. The error message is as follows:

Please open your terminal and follow these steps:
# clone the repository
git clone https://github.com/enable3d/enable3d-website.git

# navigate to the enable3d-website directory
cd enable3d-website

# install all dependencies
npm i

# run the examples
npm start

dependencies

Unable to install dependencies.

And my directory is nodejs/node_modules/npm/bin/

Why would you want to install enable3d/ammo-physics?
And it would be @enable3d/ammo-physics btw
Simply run npm i , nothing else.

I also tried Npm i, it was the same error.

Well, I recommend you watch some tutorial on nodejs and npm on youtube.
Maybe this one https://youtu.be/jHDhaSSKmB0

alright, thank you very much. I am a novice and do not understand many things. I will watch this video.

Thanks, you can test it locally, thank you very much for your help!

Well, I recommend you watch some tutorial on nodejs and npm on youtube.
Maybe this one https://youtu.be/jHDhaSSKmB0

Thanks, you can test it locally, thank you very much for your help!

You're welcome :)


使用Agora-Media-Source-Windows工程,点击扩展采集会退出

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Ahhh can you comment this issue again in English?

Using the Agora-Media-Source-Windows project, click on extended Acquisition to exit,See the picture above

You can check the return value of the ptrCreateDevEnum->CreateClassEnumerator.
The bug might have been caused by a failed call to CreateClassEnumerator.


Revert #209 to support Python 3

#209 does not actually support IDN (#199), this PR reverts all commits in #209.
Removing unicode() in this PR makes it easier to support Python 3 (#201) as well.

Disscussion: https://github.com/github/octodns/issues/199#issuecomment-421538754 /cc @ross

You forgot this one https://github.com/github/octodns/blob/master/octodns/record/init.py#L647

https://github.com/github/octodns/pull/384 added py3 support


com.microsoft.MultiHeadAttention is unsupported

https://github.com/ROCm/AMDMIGraphX/pull/3425

The computation details of the Multi-Head Attention can be found in this paper:
https://arxiv.org/abs/1706.03762

An example about how to implement the behavior of the MultiHeadAttention operator:
https://github.com/microsoft/onnxruntime/issues/19924
Useful articles about Transformers and Attention:
https://towardsdatascience.com/transformers-explained-visually-part-1-overview-of-functionality-95a6dd460452

PR: https://github.com/ROCm/AMDMIGraphX/pull/3650

benchmark results:
               |     REF     |     CPU     |     GPU     |
mha            | 0.539452 ms | 0.841959 ms | 0.270837 ms |
mha_cross      | 0.440712 ms | 0.753624 ms | 0.285106 ms |
mha_kv_packed  | 1.121980 ms | 1.454690 ms | 0.268043 ms |
mha_qkv_packed | 1.375370 ms | 1.740890 ms | 0.264313 ms |


fix: change trigger assets path

*Issue #5219
Description of changes:

Change the old trigger assets path to new one

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

closing in favour of #5224


Support for proxy auth and small fix to readme

Hi, I added support for authenticated proxies (like<EMAIL_ADDRESS>and made a small fix to your readme (option 'tunnel' in docs is actually 'connect' in the code).

Sorry to have ignored this for so long. I've implemented more complete support for proxy authentication in another branch. Thank you for submitting this though!

for what it's worth: https://github.com/goinstant/global-tunnel/pull/6

Great! (y)


adding vulncheck github workflow action

Signed-off-by: Lenin Alevski<EMAIL_ADDRESS>

@harshavardhana Should we archive this repo?
We are not using it and I don't think anyone would be maintaining this?

yeah we should @klauspost let me do it right now.


Handle custom attachments in email exports

For some attachments like contacts, email or calendar events linked from Outlook, Graph returns a custom item object instead of the regular contentBytes for attachments. This need to be handed specially(for example converting a contact into vCard format) before adding to the .eml file.

could be related to #2428


Publish gradle-docker to the Gradle Plugin Portal.

It would be great to see this plugin up on the new Plugin Portal so it can be applied using the new (in Gradle 2.1+) plugins closure.
Check out:
http://plugins.gradle.org/submit

Hello,
First of, Thanks for great docker-plugin I just loved it and decided to publish my own experience with your plugin on dzone here you can find its link. Keep up the good work
https://dzone.com/articles/docker-containers-with-gradle-application-plugin
Best Wishes

Hey guys, any news on v1.3? I am trying to migrate a project to the "new" (Gradle 2.1+) DSL and this is the only plugin not supporting it due to it not being on the Gradle plugin portal.


Problem fetching and verifying ACI

I'm having problems fetching and verifying an ACI I've built.  As you can see from the transcript below rkt is not able to verify the ACI, it keeps saying "openpgp: signature made by unknown entity".  The gpg2 command-line tool is able to verify the image though.  The signature was created with the command "gpg2 --detach-sign --armor logstash-0.2.aci".
[root@nms12 ~]# rkt version
rkt version 0.5.3
appc version 0.5.1
[root@nms12 ~]# rkt trust --prefix dmacc.net
Prefix: "dmacc.net"
Key: "https://www.dmacc.net/containers/pubkeys.asc"
GPG key fingerprint is: A8CF 5B72 ABC3 9A17 3FEA  620E 6F86 035A 6D97 044E
    Subkey fingerprint: 719B 35B3 09F9 3F12 8576  8A5E 2557 D40E FC2E F323
        Jeffrey C. Ollie<EMAIL_ADDRESS>        Jeffrey C. Ollie<EMAIL_ADDRESS>        Jeffrey C. Ollie<EMAIL_ADDRESS>Are you sure you want to trust this key (yes/no)? yes
Trusting "https://www.dmacc.net/containers/pubkeys.asc" for prefix "dmacc.net".
Added key for prefix "dmacc.net" at "/etc/rkt/trustedkeys/prefix.d/dmacc.net/a8cf5b72abc39a173fea620e6f86035a6d97044e"
[root@nms12 ~]# rkt fetch dmacc.net/logstash:0.2
rkt: searching for app image dmacc.net/logstash:0.2
rkt: fetching image from https://www.dmacc.net/containers/linux/amd64/dmacc.net/logstash-0.2.aci
Downloading signature from https://www.dmacc.net/containers/linux/amd64/dmacc.net/logstash-0.2.aci.asc
Downloading ACI: [===========================================  ] 258 MB/268 MB
openpgp: signature made by unknown entity
[root@nms12 ~]# wget https://www.dmacc.net/containers/pubkeys.asc
--2015-04-16 10:48:50--  https://www.dmacc.net/containers/pubkeys.asc
Resolving www.dmacc.net (www.dmacc.net)... 2610:130:2301:3:250:56ff:fe95:15bf, <IP_ADDRESS>
Connecting to www.dmacc.net (www.dmacc.net)|2610:130:2301:3:250:56ff:fe95:15bf|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 23676 (23K) [application/octet-stream]
Saving to: ‘pubkeys.asc’

pubkeys.asc                      100%[===========================================================>]  23.12K  --.-KB/s   in 0s

2015-04-16 10:48:50 (74.4 MB/s) - ‘pubkeys.asc’ saved [23676/23676]

[root@nms12 ~]# wget https://www.dmacc.net/containers/linux/amd64/dmacc.net/logstash-0.2.aci
--2015-04-16 10:49:04--  https://www.dmacc.net/containers/linux/amd64/dmacc.net/logstash-0.2.aci
Resolving www.dmacc.net (www.dmacc.net)... 2610:130:2301:3:250:56ff:fe95:15bf, <IP_ADDRESS>
Connecting to www.dmacc.net (www.dmacc.net)|2610:130:2301:3:250:56ff:fe95:15bf|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 268231061 (256M) [application/octet-stream]
Saving to: ‘logstash-0.2.aci’

logstash-0.2.aci                 100%[===========================================================>] 255.80M  43.4MB/s   in 6.1s

2015-04-16 10:49:10 (42.0 MB/s) - ‘logstash-0.2.aci’ saved [268231061/268231061]

[root@nms12 ~]# wget https://www.dmacc.net/containers/linux/amd64/dmacc.net/logstash-0.2.aci.asc
--2015-04-16 10:49:18--  https://www.dmacc.net/containers/linux/amd64/dmacc.net/logstash-0.2.aci.asc
Resolving www.dmacc.net (www.dmacc.net)... 2610:130:2301:3:250:56ff:fe95:15bf, <IP_ADDRESS>
Connecting to www.dmacc.net (www.dmacc.net)|2610:130:2301:3:250:56ff:fe95:15bf|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 819 [application/octet-stream]
Saving to: ‘logstash-0.2.aci.asc’

logstash-0.2.aci.asc             100%[===========================================================>]     819  --.-KB/s   in 0s

2015-04-16 10:49:18 (88.9 MB/s) - ‘logstash-0.2.aci.asc’ saved [819/819]

[root@nms12 ~]# gpg2 --import pubkeys.asc
gpg: key 6D97044E: public key "Jeffrey C. Ollie<EMAIL_ADDRESS>imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
gpg: no ultimately trusted keys found
[root@nms12 ~]# gpg2 --verify logstash-0.2.aci.asc logstash-0.2.aci
gpg: Signature made Thu 16 Apr 2015 10:46:13 AM CDT using RSA key ID 6D97044E
gpg: Good signature from "Jeffrey C. Ollie<EMAIL_ADDRESS>[unknown]
gpg:                 aka "Jeffrey C. Ollie<EMAIL_ADDRESS>[unknown]
gpg:                 aka "Jeffrey C. Ollie<EMAIL_ADDRESS>[unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: A8CF 5B72 ABC3 9A17 3FEA  620E 6F86 035A 6D97 044E

@jcollie at first glance I am wondering if dmacc.net vs www.dmacc.net is the culprit here; have you tried using rkt trust with the latter?

I hadn't tried it with www.dmacc.net so I changed things around but I get the same problem:
[root@nms12 rkt]# rkt trust --prefix www.dmacc.net
Prefix: "www.dmacc.net"
Key: "https://www.dmacc.net/containers/pubkeys.asc"
GPG key fingerprint is: A8CF 5B72 ABC3 9A17 3FEA  620E 6F86 035A 6D97 044E
    Subkey fingerprint: 719B 35B3 09F9 3F12 8576  8A5E 2557 D40E FC2E F323
        Jeffrey C. Ollie<EMAIL_ADDRESS>        Jeffrey C. Ollie<EMAIL_ADDRESS>        Jeffrey C. Ollie<EMAIL_ADDRESS>Are you sure you want to trust this key (yes/no)? yes
Trusting "https://www.dmacc.net/containers/pubkeys.asc" for prefix "www.dmacc.net".
Added key for prefix "www.dmacc.net" at "/etc/rkt/trustedkeys/prefix.d/www.dmacc.net/a8cf5b72abc39a173fea620e6f86035a6d97044e"
[root@nms12 rkt]# rkt fetch www.dmacc.net/logstash:0.2
rkt: searching for app image www.dmacc.net/logstash:0.2
rkt: fetching image from https://www.dmacc.net/containers/linux/amd64/www.dmacc.net/logstash-0.2.aci
Downloading signature from https://www.dmacc.net/containers/linux/amd64/www.dmacc.net/logstash-0.2.aci.asc
Downloading ACI: [========================================     ] 242 MB/268 MB
openpgp: signature made by unknown entity

rkt is working with other images though:
[root@nms12 rkt]# rkt trust --prefix coreos.com/etcd
Prefix: "coreos.com/etcd"
Key: "https://coreos.com/dist/pubkeys/aci-pubkeys.gpg"
GPG key fingerprint is: 8B86 DE38 890D DB72 9186  7B02 5210 BD88 8818 2190
    CoreOS ACI Builder<EMAIL_ADDRESS>Are you sure you want to trust this key (yes/no)? yes
Trusting "https://coreos.com/dist/pubkeys/aci-pubkeys.gpg" for prefix "coreos.com/etcd".
Added key for prefix "coreos.com/etcd" at "/etc/rkt/trustedkeys/prefix.d/coreos.com/etcd/8b86de38890ddb7291867b025210bd8888182190"
[root@nms12 rkt]# rkt fetch coreos.com/etcd:v2.0.9
rkt: searching for app image coreos.com/etcd:v2.0.9
rkt: fetching image from https://github.com/coreos/etcd/releases/download/v2.0.9/etcd-v2.0.9-linux-amd64.aci
Downloading signature from https://github.com/coreos/etcd/releases/download/v2.0.9/etcd-v2.0.9-linux-amd64.aci.asc
Downloading ACI: [                                             ] 16.4 KB/3.79 MB
rkt: signature verified:
  CoreOS ACI Builder<EMAIL_ADDRESS>sha512-91e98d7f1679a097c878203c9659f2a2

I wondered if maybe it was a problem with the key that I used at first (my personal PGP key) so I generated a new PGP key just to sign containers with but still the same problem:
[root@nms12 rkt]# rm -rf /etc/rkt/trustedkeys/
[root@nms12 rkt]# rkt trust --prefix dmacc.net
Prefix: "dmacc.net"
Key: "https://dmacc.net/containers/pubkeys.asc"
GPG key fingerprint is: B9CD 2207 B01C 4437 22D2  58EB 727F A666 3F01 89D9
    Subkey fingerprint: BD66 E6E7 6510 50D5 51F6  00EF E768 5BD1 6B03 45B4
        DMACC ACI Builder<EMAIL_ADDRESS>Are you sure you want to trust this key (yes/no)? yes
Trusting "https://dmacc.net/containers/pubkeys.asc" for prefix "dmacc.net".
Added key for prefix "dmacc.net" at "/etc/rkt/trustedkeys/prefix.d/dmacc.net/b9cd2207b01c443722d258eb727fa6663f0189d9"
[root@nms12 rkt]# rkt fetch dmacc.net/logstash:0.2
rkt: searching for app image dmacc.net/logstash:0.2
rkt: fetching image from https://dmacc.net/containers/linux/amd64/dmacc.net/logstash-0.2.aci
Downloading signature from https://dmacc.net/containers/linux/amd64/dmacc.net/logstash-0.2.aci.asc
Downloading ACI: [=========================================    ] 250 MB/268 MB
openpgp: signature made by unknown entity
[root@nms12 rkt]# rkt fetch www.dmacc.net/logstash:0.2
rkt: searching for app image www.dmacc.net/logstash:0.2
rkt: fetching image from https://www.dmacc.net/containers/linux/amd64/www.dmacc.net/logstash-0.2.aci
Downloading signature from https://www.dmacc.net/containers/linux/amd64/www.dmacc.net/logstash-0.2.aci.asc
Downloading ACI: [============================================ ] 265 MB/268 MB
openpgp: signature made by unknown entity

If you could repeat the gpg2 verification using the pubkey cached in /etc/rkt/trustedkeys/prefix.d/dmacc.net/.... (taken from the output of rkt trust)  that would be useful in determining if the keyfile retrieved is somehow incorrect/incomplete/corrupt etc.

@vcaputo seems to work just fine:
[root@nms12 ~]# rm -rf /etc/rkt/trustedkeys/prefix.d/dmacc.net/
[root@nms12 ~]# rkt trust --prefix dmacc.net
Prefix: "dmacc.net"
Key: "https://dmacc.net/containers/pubkeys.asc"
GPG key fingerprint is: B9CD 2207 B01C 4437 22D2  58EB 727F A666 3F01 89D9
    Subkey fingerprint: BD66 E6E7 6510 50D5 51F6  00EF E768 5BD1 6B03 45B4
        DMACC ACI Builder<EMAIL_ADDRESS>Are you sure you want to trust this key (yes/no)? yes
Trusting "https://dmacc.net/containers/pubkeys.asc" for prefix "dmacc.net".
Added key for prefix "dmacc.net" at "/etc/rkt/trustedkeys/prefix.d/dmacc.net/b9cd2207b01c443722d258eb727fa6663f0189d9"
[root@nms12 ~]# mkdir /tmp/test
[root@nms12 ~]# gpg2 --home /tmp/test --import /etc/rkt/trustedkeys/prefix.d/dmacc.net/b9cd2207b01c443722d258eb727fa6663f0189d9
gpg: WARNING: unsafe permissions on homedir `/tmp/test'
gpg: keyring `/tmp/test/secring.gpg' created
gpg: keyring `/tmp/test/pubring.gpg' created
gpg: /tmp/test/trustdb.gpg: trustdb created
gpg: key 3F0189D9: public key "DMACC ACI Builder<EMAIL_ADDRESS>imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
[root@nms12 ~]# wget https://www.dmacc.net/containers/linux/amd64/dmacc.net/logstash-0.2.aci.asc
--2015-04-17 15:11:28--  https://www.dmacc.net/containers/linux/amd64/dmacc.net/logstash-0.2.aci.asc
Resolving www.dmacc.net (www.dmacc.net)... 2610:130:2301:3:250:56ff:fe95:15bf, <IP_ADDRESS>
Connecting to www.dmacc.net (www.dmacc.net)|2610:130:2301:3:250:56ff:fe95:15bf|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 819 [application/octet-stream]
Saving to: ‘logstash-0.2.aci.asc’

logstash-0.2.aci.asc           100%[====================================================>]     819  --.-KB/s   in 0s

2015-04-17 15:11:28 (77.0 MB/s) - ‘logstash-0.2.aci.asc’ saved [819/819]

[root@nms12 ~]# wget https://www.dmacc.net/containers/linux/amd64/dmacc.net/logstash-0.2.aci
--2015-04-17 15:11:33--  https://www.dmacc.net/containers/linux/amd64/dmacc.net/logstash-0.2.aci
Resolving www.dmacc.net (www.dmacc.net)... 2610:130:2301:3:250:56ff:fe95:15bf, <IP_ADDRESS>
Connecting to www.dmacc.net (www.dmacc.net)|2610:130:2301:3:250:56ff:fe95:15bf|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 268235324 (256M) [application/octet-stream]
Saving to: ‘logstash-0.2.aci’

logstash-0.2.aci               100%[====================================================>] 255.81M  69.7MB/s   in 4.1s

2015-04-17 15:11:38 (61.7 MB/s) - ‘logstash-0.2.aci’ saved [268235324/268235324]

[root@nms12 ~]# gpg2 --home /tmp/test --verify logstash-0.2.aci.asc logstash-0.2.aci
gpg: WARNING: unsafe permissions on homedir `/tmp/test'
gpg: Signature made Fri 17 Apr 2015 11:35:10 AM CDT using RSA key ID 3F0189D9
gpg: Good signature from "DMACC ACI Builder<EMAIL_ADDRESS>[unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: B9CD 2207 B01C 4437 22D2  58EB 727F A666 3F01 89D9

I think I've figured out the issue here; it's a bit subtle and clearly we need to improve the UX.
Basically, the name in the image manifest does not match the name you're using to retrieve the image:
$ tar xzvf logstash-0.2.aci manifest -O
manifest
{"acKind":"ImageManifest","acVersion":"0.5.1","name":"logstash","labels":[{"name":"os","value":"linux"},{"name":"arch","value":"amd64"}],"app":{"exec":["/usr/bin/python","/logstash/bin/run.py"],"user":"0","group":"0","mountPoints":[{"name":"config","path":"/etc/logstash","readOnly":true}]}}

specifically you have name = logstash, whereas the discovery name is dmacc.net/logstash. Currently when rkt checks the image against the keystore, it uses the image manifest name. So here it is looking for a trusted signature of the prefix "logstash" rather than "dmacc.net".
We should add a check to catch the case where the imagemanifest name differs to the discovery name.

Changing the manifest name has fixed my problem with verifying the image.  This definitely does need a better error message/warning in rkt.  The container spec needs updating as well because it is never mentioned that the manifest name needs to match the discovery name.

Perhaps plumbing the discovery prefix down to CheckSignature and enabling CheckSignature to try pubkeys from multiple prefixes would be best.

When the image is fetched via the discovery protocol (rkt run coreos.com/etcd:v2.0.0), this will be fixed by #1097.
When the image is a local file (rkt run /home/alban/file.aci) or a full URL (rkt run https://www.example.com/path/file.aci), there is no discovery name so it is not possible to check that discovery name == manifest name. Is this ok?

I think that's enough and #1097 fixes the problem discussed here:
> sudo rkt fetch dmacc.net/logstash:0.2
rkt: searching for app image dmacc.net/logstash:0.2
rkt: fetching image from https://dmacc.net/containers/linux/amd64/dmacc.net/logstash-0.2.aci
Downloading signature from https://dmacc.net/containers/linux/amd64/dmacc.net/logstash-0.2.aci.asc
Downloading signature: [=======================================] 819 B/819 B
Downloading ACI: [=============================================] 268 MB/268 MB
error when reading the app name: "dmacc.net/logstash" expected but "logstash" found

Closing.


Allow reverse direction a <- b

I wrote my opinion here about this issue:
https://github.com/g2glab/pg/issues/29