cron does not find ipython

Does anyone with more linux knowledge knows how to solve this: when I run an ipython command on the droplet, it works fine.  When I past the same line in the crontab and log the job, I get the following message:
/bin/sh: 1: ipython: not found
I already understood that cron jobs run in a different environment, but how can I get that environment to know ipython?

as a normal user, try:
which ipython
-> this will give you the full path to ipython
Put the full path in the crontab.

Funny bug!  :-D
i have the exact opposite issue on my laptop...,i can run it as super user (sudo ipython notebook), but not as a normal user:
$ which ipython
/usr/local/bin/ipython
$ ipython
Traceback (most recent call last):
File "/usr/local/bin/ipython", line 9, in
load_entry_point('ipython==2.2.0', 'console_scripts', 'ipython')()
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 337, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2278, in load_entry_point
raise ImportError("Entry point %r not found" % ((group,name),))
ImportError: Entry point ('console_scripts', 'ipython') not found

It seems the standard shell when logging in over SSH is bash, while according to your message crontab jobs are running with sh. So the problem is likely explained by a difference in PATH between the two shell environments.

Adding the full path to ipython solved the issue.  Thanks!


Add Apache LICENSE and NOTICES files into / of the ubiquity-db image …

Add Apache LICENSE and NOTICES files into / of the ubiquity-db image (Dockerfile)
Note :

The NOTICES file in the github repo should be locate under [scripts/ubiquity-postgresql/notices_file_for_ibm_storage_enabler_for_containers_db] and inside the docker image it should be renamed as NOTICES.

Assume the same LICENSE file copied from repo/LICENSE inside the scripts/ubiquity-postgresql directory before docker build. (will be done in the CI script and not inside the code)

This change is

Review status: 0 of 2 files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Coverage remained the same at 54.819% when pulling 1cc67fe34797e02fe7f3f32ef1afd3b5135fca48 on legal_stuff_in_ubiquity_DB into c6dd8f80ff9402b3e8c82e65554aeedd0d6cea4d on dev.


Do not output Kore patterns in logs and errors

We need to turn Kore patterns back into K patterns for logs and errors. This is one important reason to log structured data: the conversion back to K patterns can be handled in the logging apparatus so that the symbolic execution engine does not become complicated with such concerns.

After discussion with @ehildenb, I think it would be ideal to expose as much structured log information as possible and rely on post-processing to digest it into something acceptable to the user. Keeping structured information as long as possible in the analysis pipeline increases the number of things we can do with it, and the number of people who can create new analysis tools.
Prototype design
The log will be a directory with one index file and many entry files (one per log entry). The index will be used to put the log entries in order; each line corresponds to an entry and has the format:
⟨integer timestamp⟩ ⟨filename.json⟩

The timestamp should be the number of nanoseconds since start-up. We can just format it as a fixed-width hexademical string; that's easy to parse, and 16 hex digits covers 584 years before it rolls over, so "long enough".
The entry file should be JSON-formatted. Every entry should have a tag indicating the type; a string with the Haskell type name should be fine. Each entry should also have a reference to its "parent" (if any) for context.

I hid my earlier comment because @vladciobanu talked me out of re-implementing SQLite badly. We should just emit structured logs to a SQLite database using something like persistent-sqlite. It's as easy as using aeson, but would enable us to develop very rich tools on the other end. It's also fast and compact.

The first task is to evaluated different libraries for interacting with the database. The most popular library is persistent, but it is designed for the database to be used only by the Haskell program, which does not agree with our purposes. Therefore, we should compare it with other options.


Add "retry" to some create commands

Note that this doesn't actually work 😢
Creating configuration 'english' in 'ford-rnr/joe'.
Creating configuration failed with a 'not found' error. Retrying...
Creating configuration 'english' in 'ford-rnr/joe'.
Jun 10, 2016 3:18:22 PM org.apache.http.impl.client.DefaultHttpClient tryExecute
INFO: I/O exception (java.io.IOException) caught when processing request to {s}->https://gateway.watsonplatform.net:443: Stream closed
Jun 10, 2016 3:18:22 PM org.apache.http.impl.client.DefaultHttpClient tryExecute
INFO: Retrying request to {s}->https://gateway.watsonplatform.net:443
A call to: https://gateway.watsonplatform.net/retrieve-and-rank/api
triggered an unexpected exception:
java.io.IOException: Stream closed)

Woah. Not only does it not work for it's intended purpose, but the create tests hang. 💤

OK. Fixed the hanging test problem. Basic functionality still doesn't work...


Autocrafting engine v6

Change list:

Added a config option for switching between autocrafting engines
Added #2404 under the v6 package
Added sorted CraftingPreview

done by rearranging the order things are processed and by moving toCraft/toCraftFluids to an Arraylist so they are sorted and reversible

Added sorted CraftingMonitor

done by splitting the element list into 3 separate lists and merging them when appropriate
there are some additional minor changes that aim to reduce flickering inside the crafting monitor

Craftingmonitor is still not doing things as I want it to... but I've resigned myself to the fact that it's not possible without rewriting how errors work in the crafting monitor. I may do that at some point in the future. It's good enough for now.

Been testing this on a public server for the last month.
Fixed all the issues that have been found. And managed to finally make the crafting monitor do what I want it to, without affecting v5.

Let's do this!


How to add language(e.g. Chinese) support

Describe the bug
The characters of non-English look likes square.
To Reproduce

Same happens to me.

Thanks for this, updated the documentation with this information.


Unpublished rounds now show up under closed in Wagtail admin & other filters

Fixes #3867. Closed rounds now include unpublished rounds
Test Steps

[ ] As Staff Admin...
[ ] Unpublish an existing live round in Wagtail admin
[ ] Navigate to https://test-apply.hypha.app/admin/funds/round/ and ensure the unpublished round shows up when the  Closed filter is selected on the right hand side
[ ] Navigate to the beta/list submission view and ensure that the unpublished round appears under the Rounds > Closed filter

I am not sure but l think it might be confusing for staff because right now rounds are closed only if their end date has been passed. But now in admin, open unpublished rounds will be shown in the closed tab, technically it is correct but it might be confusing.
Do we know the use case why staff is unpublishing a round, do they want to close it or just want to take it down for some time? Because if it just for some time and want to reopen it again then a separate filter unpublished might help better otherwise closed rounds will be a long list.

@sandeepsajan0 I agree, I think it might be better to move toward unpublished being a filter and giving more clarity/making it easier to just close a round


 But this is happening to my player character sprite.
I really dont know how or why this happens. Its not the first time, but I want to know how to avoid it.
Thanks for the help! Have a great day!

This can happen when the bottom sprite tile you use is only 8x8 and there's an empty 8x8 space below it

Its the opposite, leaving some empty space is the only way I can fix it with bigger characters. T-T


Commit information absent on Coveralls

For the official JuliaLang repository, we don't get the committer of the latest commit nor the commit message. Yet when I run CoverageBase on julia.mit.edu or my OSX machine, everything works properly. Is something up with the buildbot?

This is almost certainly something to do with the buildbot.  The relevant invocation of CoverageBase is found in this file on a different repository, but we can hash out the issues here.
As you can see on these lines, I'm manually recreating the git information and sending it along to Coveralls.  The information I'm sending gets printed out so that we can take a look at it and make sure its reasonable, however because the MIT OpenStack cloud is down right now, we can't inspect the most recent logs.

I'm going to go ahead and close this now, since we figured out what the issue was.  Apparently, you need to provide both Author {Name,Email} and Committer {Name,Email} to get Coveralls to listen to you about anything git-related!  Relevant commit here.

Nice!


Release v0.1

Set the version to a released version. I'll tag this commit when merged to main.
Need a manifest file for the sdist to work, so that's also included
Then I'll open a PR to bump the version spec to "0.2.0.dev0"

The way we do releases in Cirq is that we create a separate release branch (so this would not be a PR but a commit to a branch named v0.1.dev) and tag this commit with a v0.1.0 tag and attach it to the github release when you create it.
This model is useful because if you want to do a patch release to a minor release, you can cherry pick commits from the main branch and apply them to your release branch and do a patch release without necessarily including all the changes done to master till that point; which can become part of the follow-up minor release.
See https://github.com/quantumlib/Cirq/blob/master/release.md#release-procedure
So, for this PR, let's do the following:

Include only MANIFEST.in as part of this PR, since it's required to do the release.
Create a new v0.1.0dev branch where that updates the qualtran/_version.py. Create a release using this branch
Send a PR to update the version on main to 0.2.0.dev

That seems like overkill (especially pre-1.0) and breaks the github "changes since this release" feature. Let's stick to main and create release branches only in the (rare) case we need a patch release.

What's the github "changes since this release" feature that you are talking about? The github notes for cirq releases are auto generated using the "previous tag: auto" feature, so it is able to infer changes since the previous release.


TypeError when computing ELBO

When running the following code:
import inferpy as inf
import numpy as np
import tensorflow as tf

@inf.probmodel
def pca(k,d):
    w = inf.Normal(loc=np.zeros([k,d]), scale=1, name="w")      # shape = [k,d]
    with inf.datamodel():
        z = inf.Normal(np.ones([k]),1, name="z")                # shape = [N,k]
        x = inf.Normal(z @ w , 1, name="x")                     # shape = [N,d]

# generate training data
N = 1000
sess = tf.Session()
x_train = np.concatenate([inf.Normal([0.0,0.0], scale=1.).sample(int(N/2)), inf.Normal([10.0,10.0], scale=1.).sample(int(N/2))])

@inf.probmodel
def qmodel(k,d):
    qw_loc = inf.Parameter(tf.ones([k,d]), name="qw_loc")
    qw_scale = tf.math.softplus(inf.Parameter(tf.ones([k, d]), name="qw_scale"))
    qw = inf.Normal(qw_loc, qw_scale, name="w")

    with inf.datamodel():
        qz_loc = inf.Parameter(tf.ones([k]), name="qz_loc")
        qz_scale = tf.math.softplus(inf.Parameter(tf.ones([k]), name="qz_scale"))
        qz = inf.Normal(qz_loc, qz_scale, name="z")

# set the inference algorithm
VI = inf.inference.VI(qmodel(k=1,d=2), epochs=1000)
# create an instance of the model
m = pca(k=1,d=2)
# run the inference
m.fit({"x": x_train}, VI)

I get the error:
Traceback (most recent call last):
  File "/Users/rcabanas/venv/InferPy/lib/python3.6/site-packages/tensorflow/python/framework/op_def_library.py", line 527, in _apply_op_helper
    preferred_dtype=default_dtype)
  File "/Users/rcabanas/venv/InferPy/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 1224, in internal_convert_to_tensor
    ret = conversion_func(value, dtype=dtype, name=name, as_ref=as_ref)
  File "/Users/rcabanas/venv/InferPy/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 1018, in _TensorTensorConversionFunction
    (dtype.name, t.dtype.name, str(t)))
ValueError: Tensor conversion requested dtype float64 for Tensor with dtype float32: 'Tensor("Neg:0", shape=(), dtype=float32)'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/Users/rcabanas/venv/InferPy/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 3296, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-2-8b91a39c8a1e>", line 49, in <module>
    m.fit({"x": x_train}, VI)
  File "[...]/inferpy/util/runtime.py", line 86, in wrapper
    return f(*args, **kwargs)
  File "[...]/inferpy/models/prob_model.py", line 199, in fit
    inference_method.compile(self, plate_size)
  File "[...]/inferpy/inference/variational/vi.py", line 76, in compile
    self.train_tensor = self._generate_train_tensor(plate_size=self.plate_size)
  File "[...]/inferpy/inference/variational/vi.py", line 133, in _generate_train_tensor
    loss_tensor = self.loss_fn(pvars, qvars, **kwargs)
  File "[...]/inferpy/inference/variational/loss_functions/elbo.py", line 26, in ELBO
    ELBO = energy + entropy
  File "/Users/rcabanas/venv/InferPy/lib/python3.6/site-packages/tensorflow/python/ops/math_ops.py", line 884, in binary_op_wrapper
    return func(x, y, name=name)
  File "/Users/rcabanas/venv/InferPy/lib/python3.6/site-packages/tensorflow/python/ops/gen_math_ops.py", line 387, in add
    "Add", x=x, y=y, name=name)
  File "/Users/rcabanas/venv/InferPy/lib/python3.6/site-packages/tensorflow/python/framework/op_def_library.py", line 563, in _apply_op_helper
    inferred_from[input_arg.type_attr]))
TypeError: Input 'y' of 'Add' Op has type float32 that does not match type float64 of argument 'x'.

The problems is due to the numpy input parameters of type float64.
Consider to make a cast before creating the Edward RV.

This buh has been solved in #175


Build the style guide (Components)

The design team has built the Style guide which can be found here.
The style guide consists of Typography and Components.
Build a demo components page similar to the design and document all classes used in a components.md file
Build all components with great focus on all states, responsiveness and experience as seen in the design

@BolajiAyodeji What do you think about breaking down this ticket into smaller chunks? There are about more than 10 components here and this could lead to a huge chunk of dev work that could be split across other folks.
Let me know what you think.

@BolajiAyodeji What do you think about breaking down this ticket into smaller chunks? There are about more than 10 components here and this could lead to a huge chunk of dev work that could be split across other folks.
Let me know what you think.

Yes, I was waiting to get comments, I was thinking of multiple people working on this ticket. We can split this into 10 issues with different levels based on its complexity, what do you think?

Yes, folks might not be inclined to open an issue once it has been assigned because of the following reasons:

they don't know it's a multiple assignees issue (since there's no way of showing that)
they don't know the exact number of hands needed for this

Ultimately, whatever you decide is fine, however, I think breaking down this ticket will make it easy for every and anyone.

Yes, let's do it.
I'll split this ticket into smaller chunks with one issue for each component and reference this issue as a base. Works fine?

You're the boss, boss. I'm here to serve. Assign me to the one for buttons. Thanks

You know what's weird, getting an email from "Bolaji" saying "Bolaji" left a comment on an issue created by "Bolaji".

You're the boss, boss. I'm here to serve. Assign me to the one for buttons. Thanks

Chief, we know the truth here :)

You know what's weird, getting an email from "Bolaji" saying "Bolaji" left a comment on an issue created by "Bolaji".

Ahh :joy:


Investigate using Py_LIMITED_API to reduce release size

Currently our release size is around 1GB due to the large number of wheels we produce. This has started being a problem since we have hit the default 10 GB limit on PyPI, which is currently holding up release 11.0.0, see https://github.com/pypi/support/issues/3324.
Cython 3 has added support for Python's limited API - which means a single wheel can cover multiple Python versions. This would greatly reduce the size of our releases and possibly speed up CI build times too.

Cython does not support Py_LIMITED_API. See still open issue

The changelog says otherwise:
https://cython.readthedocs.io/en/latest/src/changes.html#initial-support-for-limited-api

To clarify - it's very preliminary in Cython 3. Some very trivial test examples will compile and run in with Py_LIMITED_API but most won't.
Cython 3.1 should be better - it'll still be fairly experimental but there's a decent chance things will work (although no promises). The main limitation is memoryviews which aren't possible to support on Python <3.11. No info on likely release dates of Cython 3.1 but I'd hold off on spending much time on this until then.
There may also be some limitations in build tooling that you've have to work around (e.g. setuptools doesn't give compiled files the right version tags)

@da-woods thanks for investigating regarding the current state of Cython.
The tags issue is trivial to work around, i have for instance done so for the "aioquic" package.

See: https://github.com/cython/cython/pull/6297/files


@gluestack-style/react 1.0.28, android app crashed.

Description
Broken my App.
CodeSandbox/Snack link
No response
Steps to reproduce
ERROR  Warning: Failed prop type: Invalid prop size of type string supplied to Icon, expected number.
Warning: Failed prop type: Invalid prop fontSize of type string supplied to Text, expected number.
<Input variant='rounded' size='xl'>
    <InputSlot sx={{pl: '$3'}}>
        <InputIcon as={MaterialIcons} name='account-box' size='lg' />
     </InputSlot>
      <InputField />
</Input>

gluestack-ui Version
1.0.25
Platform

[ ] Expo
[X] React Native CLI
[ ] Next
[ ] Web
[X] Android
[ ] iOS

Other Platform
No response
Additional Information
No response

@vilenleung, Thanks for reporting this. We'll look into this.

 "dependencies": {     "@gluestack-style/react": "^1.0.29",     "@gluestack-ui/config": "^1.0.9",     "@gluestack-ui/themed": "^1.0.27",     "lucide-react-native": "^0.295.0",     "react": "18.2.0",     "react-native": "0.73.0",     "react-native-svg": "13.4.0"   },
 <GluestackUIProvider config={config}>       <SafeAreaView>         <Text>Hello World!</Text>         <Icon as={Camera} size="md" />       </SafeAreaView>     </GluestackUIProvider>
i think is the same issue. i just created with fresh new project. and the icon doesnt work

Hey @teckbeng-payboy, Please upgrade to latest version of @gluestack-ui/themed, @gluestack-ui/config & @gluestack-style/react.

@Viraj-10  just upgrade to latest version, the issue still exist

@teckbeng-payboy Thanks for reporting, We will have a look.

Not official but I used it well with: fontSize (not size) & not crash on Android device
<Icon
    as={(pd: any) => <MaterialCommunityIcons name={item.icon} {...pd} />}
    fontSize="$md"
    color={active ? activeColor : textColor}
  />

let's upgrade to latest version, it was fixed

Hello everyone, The issue is fixed in the latest version. Please upgrade to latest version.


Fix the API

Right now, this is the API:
var captureRequire = require('capture-require');
var transform = require('my-transform');

captureRequire(function(module, source, file) {
  module._compile(transform(source), file);
});

I don't like it. It suggests your allowed to do some shenanigans like replace module._compile.
I think it should be more like pirates, with just a simple transform:
captureRequire(function(source, filename) {
  return transform(source);
});

I think I will avoid a filter function option though, since you can just do this:
captureRequire(function(source, filename) {
  if (shouldApply(filename)) {
    source =  transform(source);
  }
  return source;
});

I will put something about node-modules-regexp in the docs for people who want to avoid node_modules. I just think almost anyone who uses this isn't going to be well served by a boolean avoidNodeModules setting (nyc would certainly disable that feature).
// @novemberborn, @bcoe

:+1:

:+1:

Just published<EMAIL_ADDRESS>with these changes. Thanks.


[unifi] Upgraded unifi image to version 6.5.55.

Signed-off-by: Rickard Schoultz<EMAIL_ADDRESS>Description of the change
unifi image upgraded from v6.5.54 to v6.5.55, per request urged by the unifi repo maintainer.
Benefits
Earlier versions than 6.5.55 are subject a remote code execution vulnerability (CVE-2021-44228 as well as CVE-2021-45046).
Possible drawbacks
N/A
Applicable issues

fixes #1382

Additional information
N/A
Checklist

[X] Chart version bumped in Chart.yaml according to semver.
[X] Title of the PR starts with chart name (e.g. [home-assistant])
[X] Variables are documented in the README.md (this can be done with using our helm-docs wrapper ./hack/gen-helm-docs.sh stable <chart>)

@rschoultz Thank you for taking the time to submit this PR! LGTM 😃

@all-contributors please add @rschoultz for code


Automated cherry pick of #2403: Fix: incompatible job spec caused controller to fail

Cherry pick of #2403 on release-v1.28.
#2403: Fix: incompatible job spec caused controller to fail

/merge-when-ready delete-branch

OK, I will merge the pull request when it's ready, leave the commits as is when I merge it, and delete the branch after I've merged it.

I'm sorry but I failed delete the branch after merging the pull request.


error while trying to install dependencies

❯ npm install
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/eslint
npm ERR!   dev<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/eslint-config-react-app
npm ERR!   dev<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR!
npm ERR! For a full report see:
npm ERR! /home/daway0/.npm/_logs/2024-12-12T12_17_48_257Z-eresolve-report.txt

Please use yarn install command. I use yarn as my package manager.


fix coloring for selected rows on selectable tables

This fixes the coloring for selected rows on tables that allow row selection, such as the event log.

Before

After

Need the production compiled css included in the pr too please :)

Done :)

Arg it's not minified


RateLimitError: You exceeded your current quota, please check your plan and billing details.

Thank you for the great work.
I was running the gqa notebook when this error, related to GPT API, popped up. I believe the API is receiving a large number of tokens even when testing with one text description and one image. I would like to know if an openai premium plan is needed even when testing with one text-image pair.
thanks

I have the same error when running the gqa notebook.Perhaps we should upgrade our user restrictions.


Add journal checkpoint warnings on UI

What changes are proposed in this pull request?
Adding warnings to the UI overview page when the journal has not checkpointed in some time after reaching the journal entry checkpoint period. Also, add the two checkpoint metrics (last checkpoint time and entries since checkpoint) to the metrics tab.
New overview page warning:

Metrics page addition:

Why are the changes needed?
This is required to help alert users to potential issues with their system if the journal has not checkpointed when it is supposed to.
Does this PR introduce any user facing changes?

Addition of a hidden property key to change the time period which causes the warning to show up on the overview page. It is marked as hidden because no one should need to configure this value, but it may be desirable. It is also useful for testing.
Web UI additions (see screenshots). New section on the metrics page and new potential warning in the overview.

FYI @ns1123

Codecov Report

Merging #13690 (a4a5e49) into master (f27194b) will decrease coverage by 0.03%.
The diff coverage is 14.58%.

@@             Coverage Diff              @@
##             master   #13690      +/-   ##
============================================
- Coverage     43.66%   43.62%   -0.04%
- Complexity     9052     9055       +3
============================================
  Files          1382     1384       +2
  Lines         80207    80351     +144
  Branches       9750     9774      +24
============================================
+ Hits          35022    35057      +35
- Misses        42260    42363     +103
- Partials       2925     2931       +6

Impacted Files
Coverage Δ

...src/main/java/alluxio/wire/MasterWebUIMetrics.java
0.00% <0.00%> (ø)

...rc/main/java/alluxio/wire/MasterWebUIOverview.java
0.00% <0.00%> (ø)

...o/master/meta/AlluxioMasterRestServiceHandler.java
9.27% <0.00%> (-0.46%)
:arrow_down:

...common/src/main/java/alluxio/conf/PropertyKey.java
99.44% <100.00%> (+<0.01%)
:arrow_up:

...a/alluxio/exception/status/CancelledException.java
0.00% <0.00%> (-42.86%)
:arrow_down:

...ommon/src/main/java/alluxio/web/StacksServlet.java
0.00% <0.00%> (-25.00%)
:arrow_down:

...rc/main/java/alluxio/worker/block/PinListSync.java
76.92% <0.00%> (-23.08%)
:arrow_down:

...mmon/src/main/java/alluxio/wire/BlockLocation.java
63.63% <0.00%> (-18.19%)
:arrow_down:

...e/common/src/main/java/alluxio/AbstractClient.java
60.13% <0.00%> (-12.42%)
:arrow_down:

.../src/main/java/alluxio/retry/TimeBoundedRetry.java
84.61% <0.00%> (-11.54%)
:arrow_down:

... and 30 more

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 f27194b...a4a5e49. Read the comment docs.

@ggezer could you merge this?

alluxio-bot, merge this please


add action to post a message to slack on failure

[ ] I added an entry to CHANGELOG.md if knowledge of this change could be valuable to users.

Here is a brief summary of what I did:

 Notification wenn nightly builds fehlschlagen

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
4 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.07%) to 89.302%

Files with Coverage Reduction
New Missed Lines
%

services/src/pro/contexts/postgres.rs
1
96.61%

services/src/pro/users/postgres_userdb.rs
3
95.51%

Totals

Change from base Build<PHONE_NUMBER>:
-0.07%

Covered Lines:
94287

Relevant Lines:
105582

💛  - Coveralls

bors merge

 Notification wenn nightly builds fehlschlagen


Conflicting area:highway=footway with sidewalk rendering

Describe the bug
area:highway=footway and sidewalk tags are both rendered at the same time. This can lead to cases of a sidewalk being rendered twice, in the correct and incorrect location.
Expected behavior
When there is an area:highway=footway area close to a street, the sidwalk rendering on that side of the street should be canceled. Another solution would be to also render other area:highway tags so that they can overwrite the sidewalk rendering of the way.
Map location
https://streets.gl/#54.32602,10.11757,28.26,9.47,26.02
Screenshots

System information

OS: Windows 11
Browser with version: Firefox 113.0.1

In Germany, sidewalks are usually only drawn as separate way if they are physically seperated from the carriageway (e.g. by grass, parking bay or similar)

You should use sidewalk:both=separate to specify that a sidewalk is mapped using a separate way.
See https://wiki.openstreetmap.org/wiki/Key:sidewalk

I know, but it isn't here.

You should use sidewalk:both=separate

This tag is to be used when there's a separate highway=footway, not a separate area:highway=footway

A kerb isn't enough?

Most editors think it isn't, but there is no clear consensus. A renderer should work with both tagging practices.

This tag is to be used when there's a separate highway=footway, not a separate area:highway=footway

IIUC an area:highway=footway should still have a linear highway=footway along its centerline (or the main path(s) within the area). From the wiki:

Don't create an area:highway=footway area without also creating a linear highway=footway way along the centerline of the footway.


Bug: Recent files widget reloads items a second time

Description
As soon as I open a new tab (or window) I can see all the Recent Files load up. That is good. However, after they have finished loading, I can see them all disappear and load again. This is without opening a new window or tab. It looks almost as though someone has hit the "refresh" button on the top left.
Steps To Reproduce

Open a new tab (or window)
See the Recent Files load
Wait
See the Recent Files load again

Requirements

Fix issue where the items reload

Files Version
Version: <IP_ADDRESS> OS Version: 10.0.22000.856
Windows Version
Edition	Windows 11 Pro Version	21H2 Installed on	1/25/2022 OS build	22000.856 Experience	Windows Feature Experience Pack 1000.22000.856.0
Relevant Assets/Logs
Note how the files load again at 0:02
https://user-images.githubusercontent.com/60151680/188313979-d3d17bcd-e5b8-48fd-a835-e0492ca1b91b.mp4

Is this still an issue in the preview version? https://files.community/download/preview

The issue has been fixed in the preview.


so: Add version 0.3.6

so - is a terminal interface for StackOverflow written in Rust by Say Tay
repo: https://github.com/samtay/so

/verify


update set of UC templates to use bidder keys

This PR modifies the UC creative templates on http://prebid.org/adops/send-all-bids-adops.html to demonstrate how to use bidder specific targeting keys instead of the generic targeting keys.
While it may not be common, these alternate setups would allow publishers to be able to support certain use-cases where they specifically want to show the bid of a particular bidder (even if they didn't win the auction).
Beyond this - it would also give publishers assurance that the ads rendered from a bidder targeted line-item are actually from that bidder.

@jeanstemp
The trouble here is that there are two sets of targeting keys that Prebid.js generates and publishers can choose to use either set in their creative templates.
The base set (eg hb_adid) provides the values on the winning bid(s) from the auction.
The bidder set (eg hb_adid_appnexus) however just focuses on that bidder's bid data from the auction (even if they didn't win).
The targetingMap macro/approach is configured to only work with the base set.  Most publishers are using the base set of keys, so they can generally opt to use the targetingMap approach for easier convenience in their creative setup.
However if the publisher has a scenario where they need to use the bidder's specific keys - then they have to use the alternate template that I put together for this PR.
The page in question focuses on how to setup line items when the publishers are focused on bidder targeting - so it kinda fits here best.  It doesn't have to go on the other pages where basic setups are described.
That was my thinking at least.  I can make more updates for the other pages if that's the direction we want to go, or make other updates here.

@bretg Pushed an update.

@jeanstemp - ready to go?


discuss: HF section

Discuss the addition of a section detailing previous (and future) hard forks

What should be updated?

As I said above, we are thinking about adding a section to the website that details all previous (and planned) hardforks.


chore(genesis): Remove hardcoded configs

Description
Removes hardcoded rollup configs and deprecates associated methods.
Since op-alloy-registry is no_std it should be used instead.

📚 $\text{Stack Overview}$
Pulls submitted in this stack:

#291 👈
#290
main

This comment was automatically generated by st.


Create Elya

.
Changes

Checks
By submitting your pull request for review, you agree to the following:

[x] This contribution was created in whole or in part by me, and I have the right to submit it under the terms of this repository's open source licenses.
[x] I understand and agree that this contribution and a record of it are public, maintained indefinitely, and may be redistributed under the terms of this repository's open source licenses.
[x] To the best of my knowledge, all proposed changes are accurate.

....

.
Changes
Checks
By submitting your pull request for review, you agree to the following:

[x]  This contribution was created in whole or in part by me, and I have the right to submit it under the terms of this repository's open source licenses.
[x]  I understand and agree that this contribution and a record of it are public, maintained indefinitely, and may be redistributed under the terms of this repository's open source licenses.
[x]  To the best of my knowledge, all proposed changes are accurate.

👍

.patch


Lots of session collisions

It appears that the ID generation is not sufficiently random or there is some other issue. I see frequent session ID collisions. These collisions are actually a major security risk as I'm seeing users getting logged in as other users (their session data is being overwritten by that of another user). This opens us up to a potential session hijacking problem if a malicious user can find a way to easily reproduce.

Python 2.7.5
Platforms Produced On: Amazon Linux, CentOS, Ubuntu, and Mac OS X
Flask 0.10.1
SimpleKV 0.9.2

This issue is incredibly similar to a previous one (#12). Here's a basic stack trace:
IntegrityError: (IntegrityError) duplicate key value violates unique constraint "sessions_pkey" DETAIL: Key (key)=(e0e17c94f388ba70_53d2ed1f) already exists. 'INSERT INTO sessions (key, value) VALUES (%(key)s, %(value)s)' {'key': 'e0e17c94f388ba70_53d2ed1f', 'value': <psycopg2._psycopg.Binary object at 0x49d2c88>}
File "/usr/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app
    response = self.full_dispatch_request()
File "/usr/lib/python2.7/site-packages/flask/app.py", line 1479, in full_dispatch_request
    response = self.process_response(response)
File "/usr/lib/python2.7/site-packages/flask/app.py", line 1693, in process_response
    self.save_session(ctx.session, response)
File "/usr/lib/python2.7/site-packages/flask/app.py", line 837, in save_session
    return self.session_interface.save_session(self, session, response)
File "/usr/lib/python2.7/site-packages/flaskext/kvsession.py", line 189, in save_session
    self.serialization_method.dumps(dict(session)))
File "/usr/lib/python2.7/site-packages/simplekv/__init__.py", line 137, in put
    return self._put(key, data)
File "/usr/lib/python2.7/site-packages/simplekv/db/sql.py", line 56, in _put
    'value': data
File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 720, in execute
    return meth(self, multiparams, params)
File "/usr/lib64/python2.7/site-packages/sqlalchemy/sql/elements.py", line 317, in _execute_on_connection
    return connection._execute_clauseelement(self, multiparams, params)
File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 817, in _execute_clauseelement
    compiled_sql, distilled_params
File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 947, in _execute_context
    context)
File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1108, in _handle_dbapi_exception
    exc_info
File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/compat.py", line 185, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb)
File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 940, in _execute_context
    context)
File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/default.py", line 435, in do_execute
    cursor.execute(statement, parameters)

Unfortunately there are no minimal steps to reproduce except to keep producing new flask sessions until the error occurs. The most consistent reproduction has been when using JMeter to do load testing.
My recommendation is that the way session IDs are generated be completely changed. You should be using something for which collisions are guaranteed to be incredibly rare - perhaps switching to UUIDs for the ID portion of the key would be better.

I also had collisions appearing with FileStorage.
Did not debug too much as it seems to works for some time after a webserver  reload and I am still in development. I have 5 threads through wsgi running, perhaps this could be a problem if one request wasn't finished and the next Ajax call comes in too soon?

I'm not sure yet, but i think i've experienced it too using redis ...
so this might be a bigger problem ...

@macrojames, @eMerzh: Can you supply some debugging output? Possibly even a small test case?

I have seen this error too, using memcached as backend. In my case I saw a memcache error (weird time-outs being one of three users on a testing env) after that I tried to login to my app and the data that was available was from another user. I also make use of session.regenerate() for security reasons.
when I see it again (I've seen 3 or 4 times already) I will try to see if it is always related to an error in the persistance mechanism.

I am grateful for any reproducible test case. Unfortunately, I have not run into the issue myself yet, which makes it hard to pin down and fix.

Any more news on this @mbr @etscrivner ?
@etscrivner what did you end up using for server-side session storage since you found this one unreliable, or did you resolve the issue in your usage of flask-kvsession?

I haven't followed up on this, as I am still without a reproducible problem =). @etscrivner Details would be appreciated.
@mmautner Do you run into this issue as well? If so, could you maybe post some (minimal?) example code that reproduces the issue?

@mbr Whoops my apologies, clicked the wrong button here. I was never able to fully fix this issue despite attempting all manner of solutions. My suspicion is that it's a deeper problem either with how we configured Flask with uwsgi or it with some non-threadlocal data getting stomped. There probably won't be a "minimal test case" except doing something like load-testing with JMeter and waiting for the error. That was the only way I was able to consistently reproduce.

@mbr Anything new about this? I'm using flask's default client side session, but I'm also faceing a similar issue that some user logs into another's account with no reason ( at least nothing special according to request logs), and it's also very hard to be reproduced. Could it be the same issue with yours?

@mbr Anything new about this? I'm using flask's default client side session, but I'm also faceing a similar issue that some user logs into another's account with no reason ( at least nothing special according to request logs), and it's also very hard to be reproduced. Could it be the same issue with yours?

What's your setup, exactly? (Backend and WSGI server?)

@mbr Oh so sorry! I found myself mentioned wrong person. I was trying to mention @etscrivner back then.
This is not a issue about this repo, but since you ask, I'll try to describe what happened. (sorry for my poor English :p )
I'm using flask with gevent, using this command to run server:
  blueware-admin run-program uwsgi --http <IP_ADDRESS>:80 --wsgi-file server.py \
    --callable app \
    --master \
    --enable-threads \
    --single-interpreter \
    --lazy-apps \
    --gevent 100 \
    --logto $LOG_DIR/$LOG_FILE \
    --threaded-logger \
    --workers 2 \
    --logformat "$LOG_FORMATE"

And run gevent.monkey.patch_all() in server.py
The blueware-admin in the command is a 3rd-part wrapper which collects information from every request and upload them.
As about session, I'm not using any additional config about session, just get and set it.
I'm surprised when I first found some of my user logged into another's account because I was pretty sure the login part was correct.
Then I tried to find more information from logs. According to the logs, what happened is a client's user-id in it's session  was suddenly changed between two normal requests ( according to the client's ip and user-agent ), and it's really confused me :(
I'm now using a additional cookie to verify user session, not like session, this cookie will only be changed when a user log-in (the session in client's cookie will be changed in every request even it's not modified). And I remove blureware-admin layer from my app to make architecture simpler.
Now my startup command is:
uwsgi --http <IP_ADDRESS>:80 --wsgi-file server.py \
    --callable app \
    --master \
    --gevent 100 \
    --logto $LOG_DIR/$LOG_FILE \
    --threaded-logger \
    --workers 2 \
    --logformat "$LOG_FORMATE"

After that, I added some special logs that will let me know when a user's id in cookie is different from it's id in session.
Now few days passed. I was not able to see any of these log, nor new user feedback about this issue. So I can't tell If this issue solved, or it's just not happened again yet.

Hello,
We've been experiencing this issue for about half a year. We finally got things working with the upgrade to SQLAlchemy 1.1 and using UPSERTS with postgres. Then I overrode the put operation in the SQLAlchemyStore by creating a derived class.
class StgoSQLAlchemyStore(SQLAlchemyStore):
    def __init__(self, bind, metadata, tablename):
        SQLAlchemyStore.__init__(self, bind, metadata, tablename)

    def _put(self, key, data):
        con = self.bind.connect()
        with con.begin():
            # delete the old
            con.execute(self.table.delete(self.table.c.key == key))

            insert_stmt = insert(self.table).values(
                key=key,
                value=data
            )

            upsert_stmt = insert_stmt.on_conflict_do_update(
                index_elements=['key'],
                set_=dict(value=data)
            )

            # upsert new
            con.execute(upsert_stmt)

            # commit happens here

        con.close()
        return key

Finally, inject this store into the init of kvsession
session_store = StgoSQLAlchemyStore(engine, db.Model.metadata, 'kvsession')
kvsession.init_app(app=app, session_kvstore=session_store)

@jeffcwang I'm afraid that will, at best, mask the problem by silencing the error. If User A uses Session X and it gets replaced by User B's session, also with the id X, User A and User B will still "shared" a session. You fix just silences the PostgreSQL error and makes it so that the active session will be that of B, not A.

@mbr sorry for late response -- yes you're correct about this.  It's been a while but if I recall, in our case, it was the same user that had their session over-ridden so User A == User B and it's all good.  But agreed... not the best solution overall and if collisions are from diff users, could pose a big challenge.
If you have any new suggestions on better fix, please let me know.

If you have any new suggestions on better fix, please let me know.

The issue is I am fairly stumped at this point. Noone seems to be able to be able to reproduce these errors and I did review the code a while back. So far, I have only received workarounds, but not fixes for an actual bug.
I think there may be some miscommunication about guarantees that are given by either the backend or simplekv. For example, in the beginning some people assumed that simplekv would turn their filesystem into a transactional database somehow (which it does not of course).
I would very much love to fix this issue, but with noone being able to replicate it, there's little I can do. I'm willing to look at live systems, time permitting, as well.


fix unit receipt note

Changes Unknown when pulling 4bdea875e07ec5baf9b93d71a57e80378c75cb20 on achensetyawati:dev into ** on danliris:dev**.

Coverage increased (+6.0e-05%) to 74.65% when pulling 1e22f8c71a69d6634a91c17a25c384756c9aaa6b on achensetyawati:dev into adaf11dda551faf471153dd276d68415fb8c2ba7 on danliris:dev.

Coverage decreased (-0.2%) to 74.446% when pulling 2d5ce0a4163303964949a9a14b72b4f069c51056 on achensetyawati:dev into adaf11dda551faf471153dd276d68415fb8c2ba7 on danliris:dev.

Coverage decreased (-0.2%) to 74.371% when pulling 4ecb0f785f63bba4d318b5b8dfaab5f6d9f85ca8 on achensetyawati:dev into f729df586f8ffc64d3521e02b6be5f17b91dd1cc on danliris:dev.

Coverage decreased (-0.2%) to 74.389% when pulling 4d5d84d3d920978f5a6d806fb1243a53d4cbec19 on achensetyawati:dev into f729df586f8ffc64d3521e02b6be5f17b91dd1cc on danliris:dev.

Coverage decreased (-0.2%) to 74.398% when pulling be0099071fdf1d3613b21b6bbc2bbc0fa3a00f8a on achensetyawati:dev into f729df586f8ffc64d3521e02b6be5f17b91dd1cc on danliris:dev.


Rails group project - Recipe app

Rails group project - Recipe app
Link to repo: https://github.com/users/paulinagonzalezc/projects/1/views/1
Hello, we are a team of 2:
Team member 1: @paulinagonzalezc
Team member 2: @momotsow

STATUS: INVALID CODE REVIEW REQUEST 🛑 🛑
Hi @paulinagonzalezc and @momotsow,
While you made a great effort in this project, unfortunately, I cannot proceed to review your code.
Invalid Code Review Request
Kindly provide the link to the Kanban instead of your repo.
Your Code Review Request will be marked as invalid in your Dashboard, so please submit a new one once you are ready 🙏
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear. And please, remember to tag me in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

Invalid Code Review Request does not count into the code reviews limit.

STATUS: INVALID CODE REVIEW REQUEST 🛑 🛑
Hi @paulinagonzalezc and @momotsow,
While you made a great effort in this project, unfortunately, I cannot proceed to review your code.
Invalid Code Review Request
I am presented with a 404 error page when I visit your link. Perhaps your repo is set to private?

Your Code Review Request will be marked as invalid in your Dashboard, so please submit a new one once you are ready 🙏
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear. And please, remember to tag me in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

Invalid Code Review Request does not count into the code reviews limit.

Hi @paulinagonzalezc & @momotsow ,
Your project is complete!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉

Highlights
Kanban Board setup :heavy_check_mark:
Distributed in a fair way :heavy_check_mark:
All cards assigned :heavy_check_mark:
Each requirements have corresponding card :heavy_check_mark:
Optional suggestions
Every comment with the [OPTIONAL] prefix won't stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better. Some of them were simply missed by the previous reviewer and addressing them will really improve your application.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


CephFS: ability to mount with FS-Cache enabled

For CephFS to use FS-Cache backend mount option fsc needs to be set.
I've tried to set it on volume (foo) in CephFS storage pool by using raw.mount.options in the profile, unfortunately it didn't work.
config:
  security.nesting: "true"
description: Default LXD profile
devices:
  eth0:
    name: eth0
    nictype: bridged
    parent: lxdbr1
    type: nic
  foo:
    path: /bla
    pool: remote-fs
    raw.mount.options: fsc
    source: bla
    type: disk
  root:
    path: /
    pool: local
    type: disk
name: default
used_by:
- /1.0/instances/u1
- /1.0/instances/u2
- /1.0/instances/u3

After the change /etc/mtab on container doesn't show fsc flag:
root@u3:~# cat /etc/mtab | grep bla
[fd18:70de::499]:3300,[fd18:70de::499]:6789,[fd18:70de::500]:6789,[fd18:70de::501]:6789:/remote-fs /bla ceph rw,relatime,name=admin,secret=<hidden>,acl,mds_namespace=fs1 0 0

Most likely this should to be set while creating CephFS storage pool, because there is one CephFS mount for all volumes on that pool, am I correct ?
Looking at the source I don't see any way how to pass this option flag.
https://github.com/lxc/lxd/blob/master/lxd/storage/drivers/driver_cephfs.go#L281
FS-Cache is super useful for lowering our network traffic, I can submit PR for this myself but I'm not sure
whats the right place to add this option and how the option should be called - should it be generic like
raw.mount.options ?
Thanks! Let me know if you need any more information on this.
Required information

Distribution: Ubuntu
Distribution version: 22.04 LTS
The output of "lxc info" or if that fails:

Kernel version: 5.15.0-25-generic
LXC version: 5.0.0
LXD version: 5.0.0
Storage backend in use: cephfs

Where did you find the documentation for the fsc mount option?
It's missing from https://docs.ceph.com/en/latest/man/8/mount.ceph/ at the very least...

Hello @stgraber , thanks for looking into it.
It looks like it is missing in ceph documentation, actually I've found it in NFS options, see:
https://docs.fedoraproject.org/en-US/Fedora/14/html/Storage_Administration_Guide/fscachenfs.html
When I mount cephfs manually on some host with fsc option which has cachefilesd daemon active and do some activity on it, I can see from the the stats -> cat /proc/fs/fscache/stats that FS-Cache became active and disk usage of /var/cache/fscache starts to grow.


[Gardening] Delete deprecated API for tracking external target information.

This was in-place as a temporary shim while SwiftPM adapted the InterModuleDependencyOracle API and a lighter-weight ExternalTargetModulePathMap.

@swift-ci please test

Cross-repo tests from the Swift and SwiftPM repositories are all green.

@swift-ci please test


onChangeRowsPerPage type update

Would fix this issue

@iuliaL Can you add a test that covers your use case in https://github.com/mui-org/material-ui/blob/master/packages/material-ui/test/typescript/components.spec.tsx?
At first sight, this change seems wrong.


Reorganize folder structure

Can all the files be moved to the base folder so that this can be directly included in our extensions folder?

What kind of folder structure do you mean?

Move everything into the same top-level folder.


backport: 1.6.2 backport patches

Backports include below changes
#1502
#1441
#1518

/test

/retest

/retest

looks good:
I wonder if #1502 is really a fix for 1.6 or a more a different way to do things for 1.7, I feel the second @egernst I see you mark it so lets include it.

/retest

@jcvenegas i think its good to have it as default, so #1502 should be included.


CMSIS-DAP: Check for CMSIS-DAP string in interface strings too

It turns out it's legitimate for CMSIS-DAP devices to just put that in an interface string, even though most put it in the product string too (as required for non-composite devices). This PR tries to check interface strings too, though this requires rusb and permission to access the device. Apparently on some platforms hidapi will report the interface string in the path, but not on mine, so it's included here as a talisman for good luck...
It's a bit hard to read the diff because mostly it changes indentation on existing code, but essentially we now always loop through all the interfaces to see if any are CMSIS-DAP or HID, and then return Some(DebugProbeInfo) if the product string or any interface string had CMSIS-DAP in it. Consequently I'm fairly sure this shouldn't break any existing probes (and I've tested on hs-probe locally). It now works with probes that don't mention CMSIS-DAP in their product string (tested with an orbtrace mini).
Closes #1135 (tested). Should close #995 and replace #1004 but I don't have a WCH-Probe to test with, so if anyone has access maybe they could check? If not we might still need to hard-code some table of known-good USB VID:PIDs.

Don't work with WCH-Probe

That's a shame. Could you attach a trace log?

I forgot how to enable log.

Set RUST_LOG environment variable to "trace" when running.

22:43 ❯ RUST_LOG=trace probe-rs-cli info
 DEBUG probe_rs::probe::cmsisdap::tools > Searching for CMSIS-DAP probes using libusb
 TRACE probe_rs::probe::cmsisdap::tools >   Interface 0: WCH CMSIS-DAP
 TRACE probe_rs::probe::cmsisdap::tools > WCH-Link: CMSIS-DAP device with 3 interfaces
 TRACE probe_rs::probe::cmsisdap::tools > No HID interface for CMSIS-DAP found.
 DEBUG probe_rs::probe::cmsisdap::tools > Found 1 CMSIS-DAP probes using libusb, searching HID
 DEBUG probe_rs::probe::cmsisdap::tools > Found 1 CMSIS-DAP probes total
 DEBUG jaylink                          > libusb <IP_ADDRESS>24
 DEBUG jaylink                          > libusb has capability API: true
 DEBUG jaylink                          > libusb has HID access: true
 DEBUG jaylink                          > libusb has hotplug support: true
 DEBUG jaylink                          > libusb can detach kernel driver: true
 TRACE probe_rs::probe::cmsisdap::tools > Attempting to open device matching 1a86:8011:0001A0000001
 TRACE probe_rs::probe::cmsisdap::tools > Trying device Bus 002 Device 002: ID 8087:0024
 TRACE probe_rs::probe::cmsisdap::tools > Error opening: Access
 TRACE probe_rs::probe::cmsisdap::tools > Trying device Bus 002 Device 001: ID 1d6b:0002
 TRACE probe_rs::probe::cmsisdap::tools > Error opening: Access
 TRACE probe_rs::probe::cmsisdap::tools > Trying device Bus 001 Device 007: ID 1a86:8011
 TRACE probe_rs::probe::cmsisdap::tools >   Interface 0: WCH CMSIS-DAP
 TRACE probe_rs::probe::cmsisdap::tools > WCH-Link: CMSIS-DAP device with 3 interfaces
 TRACE probe_rs::probe::cmsisdap::tools > No HID interface for CMSIS-DAP found.
 DEBUG probe_rs::probe::cmsisdap::tools > Could not open 1a86:8011 in CMSIS-DAP v2 mode
 TRACE probe_rs::probe::cmsisdap::tools > Trying device Bus 001 Device 003: ID 058f:b002
 TRACE probe_rs::probe::cmsisdap::tools > Error opening: Access
 TRACE probe_rs::probe::cmsisdap::tools > Trying device Bus 001 Device 002: ID 8087:0024
 TRACE probe_rs::probe::cmsisdap::tools > Error opening: Access
 TRACE probe_rs::probe::cmsisdap::tools > Trying device Bus 001 Device 001: ID 1d6b:0002
 TRACE probe_rs::probe::cmsisdap::tools > Error opening: Access
 DEBUG probe_rs::probe::cmsisdap::tools > Attempting to open 1a86:8011 in CMSIS-DAP v1 mode
 DEBUG probe_rs::probe::stlink::usb_interface > Acquired libusb context.
 DEBUG probe_rs::probe::espusbjtag::protocol  > Acquired libusb context.
Error: Failed to open the debug probe.

Caused by:
    0: Probe could not be created
    1: Probe was not found.

This is what should be:
https://drive.google.com/file/d/1-RpwEJn8Yn1FqYEQNIyruDGoGqCx5-tJ/view?usp=sharing

Hmm it looks like it just fails to open it after the fact. Detection of the device works fine, which is what was troublesome before, afaik. Maybe now it cannot detect the interface.
I guess we need to log more precisely whats going wrong.
Could you also set LIBUSB_DEBUG?

LIBUSB_DEBUG=1 RUST_LOG=trace probe-rs-cli info
 DEBUG probe_rs::probe::cmsisdap::tools > Searching for CMSIS-DAP probes using libusb
libusb: error [get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/002/002, errno=13
libusb: error [get_usbfs_fd] libusb requires write access to USB device nodes
libusb: error [get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/002/001, errno=13
libusb: error [get_usbfs_fd] libusb requires write access to USB device nodes
 TRACE probe_rs::probe::cmsisdap::tools >   Interface 0: WCH CMSIS-DAP
 TRACE probe_rs::probe::cmsisdap::tools > WCH-Link: CMSIS-DAP device with 3 interfaces
 TRACE probe_rs::probe::cmsisdap::tools > No HID interface for CMSIS-DAP found.
libusb: error [get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/001/003, errno=13
libusb: error [get_usbfs_fd] libusb requires write access to USB device nodes
libusb: error [get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/001/002, errno=13
libusb: error [get_usbfs_fd] libusb requires write access to USB device nodes
libusb: error [get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/001/001, errno=13
libusb: error [get_usbfs_fd] libusb requires write access to USB device nodes
 DEBUG probe_rs::probe::cmsisdap::tools > Found 1 CMSIS-DAP probes using libusb, searching HID
 DEBUG probe_rs::probe::cmsisdap::tools > Found 1 CMSIS-DAP probes total
 DEBUG jaylink                          > libusb <IP_ADDRESS>24
 DEBUG jaylink                          > libusb has capability API: true
 DEBUG jaylink                          > libusb has HID access: true
 DEBUG jaylink                          > libusb has hotplug support: true
 DEBUG jaylink                          > libusb can detach kernel driver: true
 TRACE probe_rs::probe::cmsisdap::tools > Attempting to open device matching 1a86:8011:0001A0000001
 TRACE probe_rs::probe::cmsisdap::tools > Trying device Bus 002 Device 002: ID 8087:0024
libusb: error [get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/002/002, errno=13
libusb: error [get_usbfs_fd] libusb requires write access to USB device nodes
 TRACE probe_rs::probe::cmsisdap::tools > Error opening: Access
 TRACE probe_rs::probe::cmsisdap::tools > Trying device Bus 002 Device 001: ID 1d6b:0002
libusb: error [get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/002/001, errno=13
libusb: error [get_usbfs_fd] libusb requires write access to USB device nodes
 TRACE probe_rs::probe::cmsisdap::tools > Error opening: Access
 TRACE probe_rs::probe::cmsisdap::tools > Trying device Bus 001 Device 008: ID 1a86:8011
 TRACE probe_rs::probe::cmsisdap::tools >   Interface 0: WCH CMSIS-DAP
 TRACE probe_rs::probe::cmsisdap::tools > WCH-Link: CMSIS-DAP device with 3 interfaces
 TRACE probe_rs::probe::cmsisdap::tools > No HID interface for CMSIS-DAP found.
 DEBUG probe_rs::probe::cmsisdap::tools > Could not open 1a86:8011 in CMSIS-DAP v2 mode
 TRACE probe_rs::probe::cmsisdap::tools > Trying device Bus 001 Device 003: ID 058f:b002
libusb: error [get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/001/003, errno=13
libusb: error [get_usbfs_fd] libusb requires write access to USB device nodes
 TRACE probe_rs::probe::cmsisdap::tools > Error opening: Access
 TRACE probe_rs::probe::cmsisdap::tools > Trying device Bus 001 Device 002: ID 8087:0024
libusb: error [get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/001/002, errno=13
libusb: error [get_usbfs_fd] libusb requires write access to USB device nodes
 TRACE probe_rs::probe::cmsisdap::tools > Error opening: Access
 TRACE probe_rs::probe::cmsisdap::tools > Trying device Bus 001 Device 001: ID 1d6b:0002
libusb: error [get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/001/001, errno=13
libusb: error [get_usbfs_fd] libusb requires write access to USB device nodes
 TRACE probe_rs::probe::cmsisdap::tools > Error opening: Access
 DEBUG probe_rs::probe::cmsisdap::tools > Attempting to open 1a86:8011 in CMSIS-DAP v1 mode
 DEBUG probe_rs::probe::stlink::usb_interface > Acquired libusb context.
 DEBUG probe_rs::probe::espusbjtag::protocol  > Acquired libusb context.
Error: Failed to open the debug probe.

Caused by:
    0: Probe could not be created
    1: Probe was not found.

Hmm yeah, I thought it's a permission thing, but it says Attempting to open 1a86:8011 in CMSIS-DAP v1 mode and seemingly still fails to open it thereafter hinting it can also not open the HID device.

With #1004 it works fine for me on Ubuntu 20.04.
This is my rules:
 00:29 ❯ cat '/etc/udev/rules.d/99-wchlink.rules'
# WCH Link (CMSIS-DAP compatible adapter)
ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="8011", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"

Huh, @adamgreig your algo obv. finds the probe even with CMSIS-DAP in the interface string. So I do not see why we can't just tell hidapi to open that device and be done? :) hidapi does not have to read the string itself :)

The rusb probing doesn't detect a HID interface - the log says "No HID interface for CMSIS-DAP found", which comes from the part of the rusb check that would otherwise save a HID interface and just tell hidapi to open it later.
Ah, I wonder if it's finding the v2 interface first, then quitting the loop before finding the HID one. One sec.

@burrbull, could you try with latest commit? And post the log?

I don't see changes.
 09:30 ❯ LIBUSB_DEBUG=1 RUST_LOG=trace probe-rs-cli info
 DEBUG probe_rs::probe::cmsisdap::tools > Searching for CMSIS-DAP probes using libusb
libusb: error [get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/002/002, errno=13
libusb: error [get_usbfs_fd] libusb requires write access to USB device nodes
libusb: error [get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/002/001, errno=13
libusb: error [get_usbfs_fd] libusb requires write access to USB device nodes
 TRACE probe_rs::probe::cmsisdap::tools >   Interface 0: WCH CMSIS-DAP
 TRACE probe_rs::probe::cmsisdap::tools > Could not read string for interface 1, skipping
 TRACE probe_rs::probe::cmsisdap::tools > Could not read string for interface 2, skipping
 TRACE probe_rs::probe::cmsisdap::tools > WCH-Link: CMSIS-DAP device with 3 interfaces
 TRACE probe_rs::probe::cmsisdap::tools > No HID interface for CMSIS-DAP found.
libusb: error [get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/001/003, errno=13
libusb: error [get_usbfs_fd] libusb requires write access to USB device nodes
libusb: error [get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/001/002, errno=13
libusb: error [get_usbfs_fd] libusb requires write access to USB device nodes
libusb: error [get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/001/001, errno=13
libusb: error [get_usbfs_fd] libusb requires write access to USB device nodes
 DEBUG probe_rs::probe::cmsisdap::tools > Found 1 CMSIS-DAP probes using libusb, searching HID
 DEBUG probe_rs::probe::cmsisdap::tools > Found 1 CMSIS-DAP probes total
 DEBUG jaylink                          > libusb <IP_ADDRESS>24
 DEBUG jaylink                          > libusb has capability API: true
 DEBUG jaylink                          > libusb has HID access: true
 DEBUG jaylink                          > libusb has hotplug support: true
 DEBUG jaylink                          > libusb can detach kernel driver: true
 TRACE probe_rs::probe::cmsisdap::tools > Attempting to open device matching 1a86:8011:0001A0000001
 TRACE probe_rs::probe::cmsisdap::tools > Trying device Bus 002 Device 002: ID 8087:0024
libusb: error [get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/002/002, errno=13
libusb: error [get_usbfs_fd] libusb requires write access to USB device nodes
 TRACE probe_rs::probe::cmsisdap::tools > Error opening: Access
 TRACE probe_rs::probe::cmsisdap::tools > Trying device Bus 002 Device 001: ID 1d6b:0002
libusb: error [get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/002/001, errno=13
libusb: error [get_usbfs_fd] libusb requires write access to USB device nodes
 TRACE probe_rs::probe::cmsisdap::tools > Error opening: Access
 TRACE probe_rs::probe::cmsisdap::tools > Trying device Bus 001 Device 004: ID 1a86:8011
 TRACE probe_rs::probe::cmsisdap::tools >   Interface 0: WCH CMSIS-DAP
 TRACE probe_rs::probe::cmsisdap::tools > Could not read string for interface 1, skipping
 TRACE probe_rs::probe::cmsisdap::tools > Could not read string for interface 2, skipping
 TRACE probe_rs::probe::cmsisdap::tools > WCH-Link: CMSIS-DAP device with 3 interfaces
 TRACE probe_rs::probe::cmsisdap::tools > No HID interface for CMSIS-DAP found.
 DEBUG probe_rs::probe::cmsisdap::tools > Could not open 1a86:8011 in CMSIS-DAP v2 mode
 TRACE probe_rs::probe::cmsisdap::tools > Trying device Bus 001 Device 003: ID 058f:b002
libusb: error [get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/001/003, errno=13
libusb: error [get_usbfs_fd] libusb requires write access to USB device nodes
 TRACE probe_rs::probe::cmsisdap::tools > Error opening: Access
 TRACE probe_rs::probe::cmsisdap::tools > Trying device Bus 001 Device 002: ID 8087:0024
libusb: error [get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/001/002, errno=13
libusb: error [get_usbfs_fd] libusb requires write access to USB device nodes
 TRACE probe_rs::probe::cmsisdap::tools > Error opening: Access
 TRACE probe_rs::probe::cmsisdap::tools > Trying device Bus 001 Device 001: ID 1d6b:0002
libusb: error [get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/001/001, errno=13
libusb: error [get_usbfs_fd] libusb requires write access to USB device nodes
 TRACE probe_rs::probe::cmsisdap::tools > Error opening: Access
 DEBUG probe_rs::probe::cmsisdap::tools > Attempting to open 1a86:8011 in CMSIS-DAP v1 mode
 DEBUG probe_rs::probe::stlink::usb_interface > Acquired libusb context.
 DEBUG probe_rs::probe::espusbjtag::protocol  > Acquired libusb context.
Error: Failed to open the debug probe.

Caused by:
    0: Probe could not be created
    1: Probe was not found.

Hmm, the difference is it now tries to read the interface string for iface 1 and 2 instead of stopping at 0, but it fails:
 TRACE probe_rs::probe::cmsisdap::tools > Could not read string for interface 1, skipping
 TRACE probe_rs::probe::cmsisdap::tools > Could not read string for interface 2, skipping
 TRACE probe_rs::probe::cmsisdap::tools > WCH-Link: CMSIS-DAP device with 3 interfaces
 TRACE probe_rs::probe::cmsisdap::tools > No HID interface for CMSIS-DAP found.

Interface 2 is the CMSIS-DAP HID interface, but it doesn't read a string from it - I don't know if it needs root access or just there's no string on the descriptor there (in which case the device really is violating the CMSIS-DAP spec...). We could grab the first HID interface on any device where any interface string contains CMSIS-DAP though...
However, it does try and open in CMSIS-DAPv1 mode anyway, eventually failing here I guess. If we remove this check it ends up opening devices that should be opened with jlink or stlink though, ugh. I'll see if there's some better way to filter it at that stage.
@burrbull, could you try sudo lsusb -vvv -d 1a86:8011?

 09:53 ❯ sudo lsusb -vvv -d 1a86:8011
[sudo] пароль для burrbull:

Bus 001 Device 005: ID 1a86:8011 QinHeng Electronics
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0         8
  idVendor           0x1a86 QinHeng Electronics
  idProduct          0x8011
  bcdDevice            1.05
  iManufacturer           1 wch.cn
  iProduct                2 WCH-Link
  iSerial                 3 0001A0000001
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x006b
    bNumInterfaces          3
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         0
      bInterfaceCount         2
      bFunctionClass          2 Communications
      bFunctionSubClass       2 Abstract (modem)
      bFunctionProtocol       1 AT-commands (v.25ter)
      iFunction               4 WCH CMSIS-DAP
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass      2 Abstract (modem)
      bInterfaceProtocol      0
      iInterface              4 WCH CMSIS-DAP
      CDC Header:
        bcdCDC               1.10
      CDC Call Management:
        bmCapabilities       0x01
          call management
        bDataInterface          1
      CDC ACM:
        bmCapabilities       0x02
          line coding and serial state
      CDC Union:
        bMasterInterface        0
        bSlaveInterface         1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               2
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              5 (error)
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              6 WCH CMSIS-DAP
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.00
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      33
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
can't get debug descriptor: Resource temporarily unavailable
cannot read device status, Resource temporarily unavailable (11)

Weird, it seems you need more permissions to read the interface string for the 3rd interface, which is the one that says CMSIS-DAP, in order to open the device. I don't understand why that's not accessible with normal permissions even though there's a udev rule for the device.
I think we used to allow opening a HID device in these circumstances but the problem is it means we end up claiming some HID devices as cmsisdap (and then failing later) which are actually stlink or jlink probes.
However in this case we do see "CMSIS-DAP" on interface 0, which is the serial port, and then detect a HID interface later, so we could encode "if you see cmsis-dap on any interface, and none of them are cmsisdapv2 interfaces, and one interface on the device is HID, try opening that in cmsisdap mode" which is not quite compliant with the spec but might work well in practice. I don't love it, but it's all I can think of except for hardcoding "WCH-Link" or the USB VID:PID.

However in this case we do see "CMSIS-DAP" on interface 0, which is the serial port, and then detect a HID interface later, so we could encode "if you see cmsis-dap on any interface, and none of them are cmsisdapv2 interfaces, and one interface on the device is HID, try opening that in cmsisdap mode" which is not quite compliant with the spec but might work well in practice. I don't love it, but it's all I can think of except for hardcoding "WCH-Link" or the USB VID:PID.

In my view hardcoded values is lesser evil then manipulations that you suggest. It might work with this device but potentially broke many others.

Yea. I wish I knew why we can't read the interface string for the HID interface though, that "should" work and would completely solve the issue.

Yea. I wish I knew why we can't read the interface string for the HID interface though, that "should" work and would completely solve the issue.

Is it maybe because the interface is already claimed by the HID driver?

I've tested this PR w/ my ORBtrace Mini and confirm that it allows that probe to be used (fixes #1135)

I did finally get my wch-link probe so in principle I'm now in a position to try and get that working too, but it might be worth getting this PR in just for orblink and other probes like it first, and worry about wch-link later.

I've rebased onto master. I'll see if I can try and get wch-link working this weekend...


Cannot Set Terminal Process Group: Inappropriate IOCTL for Device bash: no job control in this shell

Your environment

vscode-ruby version:
Ruby version: ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c5) [x86_64-linux]
Ruby version manager (if any): asdf
VS Code version: 1.78.2 (b3e4e68a0bc097f0ae7907b217c1119af9e03435) x64
Operating System: Ubuntu 20.04.6 LTS
Using language server? (eg useLanguageServer is true in your configuration?)

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "rdbg",
            "name": "Attach with rdbg",
            "request": "attach",

            // "rdbgPath": "/run/user/1000/ruby-debug-jsalazar-381551",  <--- doesn't work
            // "rdbgPath": "bundle exec debug", <--- doesn't work
            // the following at least doesn't generate "rdbg: command not found"
            "rdbgPath": "/home/jsalazar/.asdf/shims/rdbg",
        }
    ]
}

Expected behavior
rdbg attaches without issue to rails application being ran as follows:
jdsalaro$ rdbg --open -c bin/rails
DEBUGGER: Debugger can attach via UNIX domain socket (/run/user/1000/ruby-debug-jsalazar-390848)
DEBUGGER: wait for debugger connection...

Actual behavior

Output
bash: cannot set terminal process group (270402): Inappropriate ioctl for device
bash: no job control in this shell

Seeing as version 0.2.0 was released just two weeks ago, I've tried using version 0.1.0 and could verify that this issue doesn't arise.

@ko1 , I'm not sure whether this is the right repository to post this or https://github.com/rubyide/vscode-ruby/issues/861,  but others are likely affected  https://github.com/microsoft/vscode/issues/182819

ℹ  for those using asdf, in my environment /home/jsalazar/.asdf/shims/rdbg is required, otherwise the rdbg  gem is not found

possibly related to https://github.com/ruby/vscode-rdbg/issues/21 as the workaround was similar but wouldn't work with asdf
"rdbgPath": "${workspaceFolder}/bin/rdbg",
  "command": "${workspaceFolder}/bin/rails",
  "cwd":"${workspaceFolder}"

I think we all (https://github.com/ruby/vscode-rdbg/issues/9) are having to set up the path since somehow the extension is failing to properly load all environment variables, at least in the case of asdf, rdbg should be found without problems if ASDF_DIR were to be loaded or passed properly and the bash profile sourced so PATH can contain /home/jsalazar/.asdf/shims:/home/jsalazar/.asdf/bin

Duplicate of https://github.com/ruby/vscode-rdbg/issues/250.


Provisioning new VM with vagrant fails because there is no vagrant user

Environment details:
Vagrant install quick start method used
Host: macOS High Sierra
Vagrant: 2.0.2
VirtualBox: 5.2.8
Steps to reproduce the issue:

clone https://github.com/apache/incubator-openwhisk
cd <root of cloned repo>/tools/vagrant
./hello

Provide the expected results and outputs:
I expected the results outlined in the readme / quick start
Provide the actual results and outputs:
From what I can tell, the vagrant user isn't created during provisioning. I googled a bit but it's not clear to me "why" - I actually had thought that the creation of the vagrant user was a default part of provisioning a new VM via Vagrant, but... here we are:
...SNIP SNIP SNIP...
default: ++ echo OPENWHISK_TMP_DIR=/home/vagrant/.openwhisk/ansible/tmp
    default: ++ echo PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/snap/bin:/home/vagrant/bin:/home/vagrant/openwhisk/tools/build
    default: ++ cd /home/vagrant/openwhisk
    default: ++ cd tools/ubuntu-setup
    default: ++ su vagrant -c 'source all.sh'
    default: No passwd entry for user 'vagrant'

If I vagrant ssh into the box, and use this command which I think will list all users:
ubuntu@ubuntu-xenial:~$ cut -d: -f1 /etc/passwd

root
daemon
bin
sys
sync
games
man
lp
mail
news
uucp
proxy
www-data
backup
list
irc
gnats
nobody
systemd-timesync
systemd-network
systemd-resolve
systemd-bus-proxy
syslog
_apt
lxd
messagebus
uuidd
dnsmasq
sshd
pollinate
ubuntu
vboxadd

Note there is no vagrant user on the list.

@develpr  Whats the version of ubuntu/xenial64 on your setup. It seems there was an issue with earlier version where vagrant user was not provisioned. This was fixed with v20180112.0.0.
On my setup (ubuntu as base machine) with recent version it works as expected
$ vagrant box list | grep xenial
ubuntu/xenial64   (virtualbox, 20180309.0.0)

Confirmed! That was indeed the issue. I for some reason thought that Vagrant would automatically force an upgrade of the base box, or that the base box version constraint was somehow part of the Vagrantfile.
For anybody who finds this in the future,
vagrant box remove ubuntu/xenial64
and then vagrant up (or ./hello) seems to have resolved this issue for me.


Workers

Completed

replacing actor model package to protoactor-go
refactored data/ and sentiment/ to use protoactor-go

@restevens402 I will be able to get to this morning tomorrow. Please give a full review because mine might be light due to time constraints


Update link on systematic program design pt. 2

@jonathantorres thank you for your help! :pray:
Could you also make more two things?

Bump our Curriculum Version to 1.3.10 here, because you're fixing a bug in our file.
Add a little explanation in our CHANGELOG file, saying what you're doing. More explanation about CHANGELOG files here. The text will be something like this:[1.3.10] 2016-03-05

### Fixed
- Fix broken link from Systematic Program Design- Part 2 course

All done! :+1:

@jonathantorres , perfect! :ok_hand:


Deprecate ...CoordRepType and replace them with ...CoordinateType

Triggered by a comment from Hans (@hjmjohnson) at https://github.com/InsightSoftwareConsortium/ITK/pull/4999#pullrequestreview-2472588270

Follow-up to pull request #4997

Good job working on this so far. Is there any chance you can update the remote modules, at least the more commonly used ones, which are tested nightly? E.g. Montage now has a lot of warnings.

Also, in order to build it against ITK 5.x, do we need to put some ifdefs there? This probably applies to other user code - ITK5/6 ifdef, or turn on legacy. Should we document this in the migration guide?

Thanks @dzenanz
First of all, none of these changes should trigger a compile error on any user code, except when FUTURE_LEGACY_REMOVE is ON.  Moreover, none of the changes should produce a warning on any user code, as long as the user enabled legacy support (LEGACY_REMOVE is OFF). (But only after PR #4999 was merged)
Was Montage built with or without legacy support? If it was built with legacy support (LEGACY_REMOVE is OFF), the warnings should no longer appear after PR #4999.
Indeed, a note should be added to the migration guide. Thanks for reminding me  😃 I can make a PR to do so, right after this one (#5006) is merged.

Yes, legacy was turned off. You can see the full configuration here:
https://open.cdash.org/builds/10063093/notes

Should we document this in the migration guide?

@dzenanz Proposed note:
For the sake of code readibility, a new `CoordinateType` alias is added for
each nested `CoordRepType` alias. The old `CoordRepType` aliases will still be
available with ITK 6.0, but it is recommended to use `CoordinateType` instead.
The `CoordRepType` aliases will be removed when `ITK_FUTURE_LEGACY_REMOVE` is
enabled. Similarly, `InputCoordinateType`, `OutputCoordinateType`, and
`ImagePointCoordinateType` also replace the corresponding `CoordRepType`
aliases.

(I'm not yet able to make it a pull request, because my clang-format isn't yet properly installed/configured.)

From this commit: 0b1fabd319697a61e10602804f4eb02e455ac6a1, get Windows binary from this link.


DivertAsyncResult with send (and receive)

In the DivertTests the DivertAsyncResult is used, which works.
However, I cannot get DivertAsyncResult to work in the NetDump example, it keeps failing with error code 87 (invalid parameter).
I modified the Send with:
var divertAsyncResult = new DivertAsyncResult();
if (!diversion.SendAsync(buffer, receiveLength, address, ref sendLength, divertAsyncResult))
{
         if (!divertAsyncResult.NoError)
             Console.WriteLine(divertAsyncResult.ErrorCode);

         if (!divertAsyncResult.Get(250))
             Console.WriteLine(divertAsyncResult.ErrorCode);
 }

This is identical to the code from DivertTests but that's using a combination of different filters and divert handles. Am I doing something wrong or how can I adapt this?
What is interesting is that ReceiveAsync seems to work just fine.

Found the reason, it's a bug in SendAsync. There are some more bugs and problems with the code, I'll see if I can create a PR soon.

@Areithus It's a bug in my version of SendAsync? Or in WinDivert? If it's a bug in my code I'll re-open.

I have to admit the async part posed a problem because they're static helpers. Actually everything is, so I had to do a lot of trickery to make the appearance of a class based system. Curious what other bugs you found, please let me know and thank for the report.

@Areithus
Also did you try this?
var divertAsyncResult = new DivertAsyncResult();
if (!diversion.SendAsync(buffer, receiveLength, address, ref sendLength, divertAsyncResult))
{
    if(!divertAsyncResult.Get(MY_TIMEOUT))
    {
        // This is for sure a failure now.
    }
}

The initial failure on Send/RecvAsync functions may just mean that the packet did not send/recv immediately. You're then given the Get(TIMEOUT) method on the returned async object to wait for the overlapped event for the given timeout. If this fails, you can then call it a failure for sure. However note a failure may still mean simply a timeout.
It's a little confusing but this is the design in WinDivert itself.

Arg, disregard last message. Deleted it because I was too hasty to read that you are indeed calling Get(TIMEOUT).

Yes, it's a bug in SendAsync, It's providing packetBuffer->Length as the parameter but it should be  packetLength. I don't remember all bugs but:

Ipv6 has its destination address check wrong (it checks the source instead).
GetPacketProcess does not account for the ip address.
The GCHandle.Alloc/pin_ptr does not work as-is. If you parse the packet the pointers won't remain valid after the function returns. The example works because it declares the variables outside of the while so the object location in memory remains (mostly) in tact. Move the variables inside the while and it'll crash after a few packets, unlike the example which can take quite a while. The solution is to always pin the buffer before calling the Receive* methods and manually free them after the Send* methods are called. I tried to pin the data inside the Receive method (so one does not have to pin it) but as there is no way to pass the GCHandle you cannot easily free it in the Send. Perhaps a std::map or similar can be used to store the GCHandle but that also means that after the Send method the data of the packet cannot always be accessed anymore (although that's probably not very useful).

There were also some other things but I have to look that up :+1:
Regardless, I'm looking forward to hearing some feedback from you, especially what you think about the GCHandle problems.

@Areithus Alright thanks, will check into this when I have time ( busy with work right now ) and get back to you. Thanks again.

BTW, did you ever find a reliable way to cache the results from GetTcpTable2? Ideally the caching should be done by Divert.Net. What I thought of was to introduce a global variable to store the result in. If a match in that table exists with the address and port of the current packet -> return the process from that table. If not, do a new lookup of GetTcpTable2. However, I'm not sure how reliable that would be. On the other hand, caching data for a certain amount of time might not always be perfect either because of processes getting started and killed. Maybe a combination of the both?

I cache by holding results for 2 seconds. You're right, this definitely will have a degree of inaccuracy but so far this has been a good trade off for me, especially when diverting HTTP.
I was doing some research yesterday that had led me to believe that the binary behind a stream is actually available in the Windows Filtering Platform. It's actually possible to write a filter that matches against a binary's path. I don't think basil, the person behind WinDivert knows this because I've seen him/her comment on my process matching function saying this ain't available in WFP. Ideally, leveraging this is the way to go in the driver itself so we don't have to do expensive and inaccurate GetXXXTable methods.
https://github.com/TechnikEmpire/HttpFilteringEngine/blob/master/src/te/httpengine/mitm/diversion/impl/win/WinDiverter.cpp

In order to 100℅ accurately map this you'd have to track all captured flows 100℅. That's a lot of work and I found for my purposes that a very short cache period, using thread local caches, was accurate enough and cuts CPU to nil, but I didn't want to impose this on users.

It indeed seems like that information is available (https://msdn.microsoft.com/en-us/library/windows/hardware/ff552397(v=vs.85).aspx). Would be nice if basil00 could somehow add that information. I did some testing with caching like this:
introduce a global variable to store the result in. If a match in that table exists with the address and port of the current packet -> return the process from that table.
This resulted in slightly better results as I noticed that sometimes for incoming packets there is no entry in the tcp table anymore. I'll do some more experiments with this.

@Areithus A more reliable way to cache the results is to keep an array of length std::numeric_limits<uint16_t> and then look for the TCP handshake and only do a lookup when you see that handshake. So say you see SYN on port 8080, you'd do 'my_map[8080] = get_pid_from_tcp_table_lookup();`. This is the most optimized system I can think of, hitting the TCP table only one time per connection. I've seen a performance boost in other applications doing this.


how to use msgpack with unity on ios platform

I still can't exactly know how to use msgpack on ios platform, if there a example or tutorial show how to use msgpack with unity3d on ios platform.

https://github.com/msgpack/msgpack-cli/issues/54
might help you

See https://github.com/msgpack/msgpack-cli/wiki/Xamarin-and-Unity#how-to-use-in-unity3d-using-dllrecommended
Latest zip in 2015-08-16 is https://github.com/msgpack/msgpack-cli/releases/tag/<IP_ADDRESS> . Download it and add unity3d/MsgPack.dll as new asset.

It looks solved.


Missing delete button of published pages

- Do you want to request a feature or report a bug?
Bug
- What is the current behavior?
There is only a save and cancel button shown after clicking the publishes page on the CMS ui
- If the current behavior is a bug, please provide the steps to reproduce.
Create a page through the editorial workflow
- What is the expected behavior?
There should be a delete button instead of just save and cancel
- Please mention your node.js, and operating system version.
For my local computer, node version is v8.4.0, os version is macOS Sierra version 10.12.6

@erquhart @Benaiah How would this even work?

Deletion is currently disabled in the editorial workflow; this is a known issue. I've done some work towards this, but there's some issues with how GitHub's API handles deletion which make me worry about breakage on large repos. I'll go ahead and leave this issue open until this functionality is merged.

Solved in 1.0! 🎉


Variable definition not found for multiline [Arguments] setting

Intellibot marks as Variable definition not found error all usages of keyword's arguments that are defined below the first line of [Arguments] setting.
In the example below, "my_argument_2" and "my_argument_3" are properly used by pybot, but not resolved in Pycharm:
Keyword with arguments
    [Arguments]  ${my_argument_1}=abc
    ...          ${my_argument_2}=def
    ...          ${my_argument_3}=ghi
    LOG MANY    ${my_argument_1}    ${my_argument_2}    ${my_argument_3}

#156


rounding errors fixed?

Thanks for making this library!
In the README there is a comment:

Update: John St. John did some work and found that the enformer-official-rough model hits the reported marks in the paper - human pearson R of 0.625 for validation, and 0.65 for test.

Does this mean that the earlier concern below has been fixed?

There are still some rounding errors that seem to be accruing across the layers, resulting in an absolute error as high as 0.5. However, correlation coefficient look good so I am releasing the 'rough'ly working version. Will keep working on figuring out where the numerical errors are happening (it may be the attention pooling module, as I noticed the attention logits are pretty high).

Thank you! It's not 100% clear if we can go ahead and use the library without worrying about the rounding errors.

It wasn't fixed unfortunately, but it seems like the errors are negligible based on the Pearson R scores

It isn't fixed unfortunately
However, the Pearson R looked ok on validation dataset, and I was able to fine-tune it for my usecases

@mepster in private correspondences, the model is working fine, both for inference and fine tuning

i'm not going to bother making it perfect, as this was the project that made me vow never to touch tensorflow ever again


POST Dog should show a return of 201, not 200

The code returns Created but the screenshot shows a 200, not a 201. When I run it locally, I see the correct 201. This is the image I am referring to:
https://learn.microsoft.com/en-us/aspnet/core/tutorials/min-web-api/_static/post2.png?view=aspnetcore-7.0

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

ID: ab408035-6313-a183-9940-32de00e0e977
Version Independent ID: ab408035-6313-a183-9940-32de00e0e977
Content: Tutorial: Create a minimal web API with ASP.NET Core
Content Source: aspnetcore/tutorials/min-web-api.md
Product: aspnet-core
Technology: aspnetcore-tutorials
GitHub Login: @wadepickett
Microsoft Alias: wpickett

The screenshot needs to be corrected.  Thanks @simonkurtz-MSFT!

Thank you so much, Wade! Otherwise, perfect article!


Return object from a Fold()

Really sorry to ask, but I haven't done Kotlin for a few years so .fold is puzzling me.  How do I return something out of a fold, from your samples, getUser gets the user, brilliant but how do I return it (User is my own class which takes UserAtributes)
    suspend fun getUser(accessToken: String) : User  {

        provider.getUser(accessToken ).fold(
            onSuccess = {
                print("login")
                currentUser = User.populateUserDetails(it)

                // does not compile as expects Unit, not User object
                return@fold currentUser
            },
            onFailure = {
                // Handle exceptions
                print(it.message)
            }
        )
    }

I asked StackoverFlow and that answer doesn't work, there must be a way to return something useful
https://stackoverflow.com/questions/76101500/kotlin-returning-an-object-from-a-fold-closure/76103361#76103361

This is more a question on Kotlin and how to work with suspend / Coroutines. But seeing the latest answer in this SO post I would infer that your problem is solved.

Thank you Ben, I just assumed there was a way we could use onSuccess and onFailure

Hi @Burf2k, there's indeed an issue with the fold extension. Since kotlin.Result couldn't get returned in the past and type information still gets lost when exported, we implemented our own Result type. The fold extension doesn't return anything from onSuccess and onFailure.

So do I need to use your library or wait for a fix?

You could use getOrThrow to get the user, and wrap the call in a try/catch block to handle exceptions.

Thanks, glad I was not using Fold wrong

Fold is just like a promise in the JS world, you could wrap the "callbacks" with suspendCancellableCoroutine


Update eclipse to latest version of JSHint

Until we stop supporting Eclipse, we should keep it up to date.  After #3202, there are a bunch of JSHint warnings in the tests:

Do we have instructions for upgrading?

I'm looking into this.  It's my fault for not checking Eclipse after my changes.  Apparently we have an entirely separate jsHint configuration in Eclipse instead of the jshintrc files.

This isn't a version issue.  If you "Check for software updates" on the Eclipse help menu, you'll have the latest version of everything, including the jshint-eclipse plugin that we use.
The problem is that the jshint-eclipse project plug-in doesn't support multiple .jshintrc files, which is a pretty big flaw.  We might be able to work around this restriction but I need to think about it some more.


lambertw is slowed down by unnecessary pandas operations in _golden_sect_DataFrame

Is your feature request related to a problem? Please describe.
Specifying method='lambertw' when solving the SDE makes a call to tools._golden_sect_DataFrame to locate the maximum power point.  _golden_sect_DataFrame is a vectorized implementation of the golden-section search, an iterative algorithm for locating the maximum (or minimum) of a function.  It turns out that the machinery of _golden_sect_DataFrame (not counting the lambertw function evaluations within it) is a substantial contributor to the overall runtime of pvlib.singlediode._lambertw.
Describe the solution you'd like
_golden_sect_DataFrame, as the name suggests, makes heavy used of pandas objects internally.  In particular, it repeatedly (re)assigns columns into a DataFrame.  This is rather slow, and unnecessary as far as I can tell.
I observe significant speed ups in a reimplementation of the search algorithm that uses normal variables instead of a dataframe-based work space.  Here is a timing comparison of pvlib.singlediode._lambertw, showing 20-30% speed improvement for large inputs:

Describe alternatives you've considered
The golden-section search can in principle be further optimized by re-using function evaluations from the previous iteration.  I briefly looked into applying this to our code but decided it would be too much of a pain to incorporate into this vectorized implementation.
Of course ideally we would not be in the business of implementing optimization algorithms at all.  Hopefully in the future we can remove this function altogether, either by replacing it with some suitable offering from scipy or by removing the need for such an optimization in the first place.

Amen! Any chance a cythonized version of BrentQ could be useful?
https://gist.github.com/mikofski/ac30065073d0d32d6ea3569f6e24e5ec

After further investigation, I think the speedup was actually due to a bug in my code.  After fixing it, I don't observe a meaningful difference.
I also notice that the supposed explanation of the speedup (that pandas operations are slow) is not relevant here, since the function is actually called with a dict, not a dataframe: https://github.com/pvlib/pvlib-python/blob/v0.10.2/pvlib/singlediode.py#L774-L778
Oops!  I'll close this.


[Event Request] codeunit 392 "Reminder-Make" - OnAfterFilterCustLedgEntries

Please add a new Publisher Call OnAfterFilterCustLedgEntries in Fct. MakeReminder of codeunit 392 "Reminder-Make"
Add Publisher Call in Fct. MakeReminder:
    repeat
        StartLineInserted := false;
        FilterCustLedgEntries(ReminderLevel);
+       OnAfterFilterCustLedgEntries(ReminderLine);
        AmountsNotDueLineInserted := false;
        if CustLedgEntry.FindSet then begin
            repeat

Add new Publisher:
+    [IntegrationEvent(false, false)]
+    local procedure OnAfterFilterCustLedgEntries(var ReminderLine: Record "Reminder Line")
+    begin
+    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.