[Bug] DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version.

Is this a new bug in the Pinecone Python client?

[X] I believe this is a new bug in the Pinecone Python Client
[X] I have searched the existing issues, and I could not find an existing issue for this bug

Current Behavior
This warning is generated when running unit tests that include PineconeGRPC on python 3.12.
../../Library/Caches/pypoetry/virtualenvs/ragie-EJQDw0bC-py3.12/lib/python3.12/site-packages/google/protobuf/internal/well_known_types.py:91
  /Users/bob/Library/Caches/pypoetry/virtualenvs/ragie-EJQDw0bC-py3.12/lib/python3.12/site-packages/google/protobuf/internal/well_known_types.py:91: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC).
    _EPOCH_DATETIME_NAIVE = datetime.datetime.utcfromtimestamp(0)

Expected Behavior
No warning is generated.
Steps To Reproduce
Minimal test case:
from pinecone.grpc import PineconeGRPC

def test_foo():
    pass

Relevant log output
============================================================================================================= test session starts ==============================================================================================================
platform darwin -- Python 3.12.2, pytest-8.1.1, pluggy-1.4.0
rootdir: /Users/bob/workspace/ragie
configfile: pyproject.toml
plugins: anyio-4.3.0, asyncio-0.23.6
asyncio: mode=Mode.STRICT
collected 1 item

tests/test_foo.py .                                                                                [100%]

=============================================================================================================== warnings summary ===============================================================================================================
../../Library/Caches/pypoetry/virtualenvs/ragie-EJQDw0bC-py3.12/lib/python3.12/site-packages/google/protobuf/internal/well_known_types.py:91
  /Users/bob/Library/Caches/pypoetry/virtualenvs/ragie-EJQDw0bC-py3.12/lib/python3.12/site-packages/google/protobuf/internal/well_known_types.py:91: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC).
    _EPOCH_DATETIME_NAIVE = datetime.datetime.utcfromtimestamp(0)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
========================================================================================================= 1 passed, 1 warning in 0.06s =========================================================================================================

Environment
- OS: macOS 14.3 (23D56)
- Python: 3.12
- pinecone: 3.2.2

Additional Context
No response

The warning from protobuf
google/protobuf/internal/well_known_types.py:91: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC).

Should be resolved as of pinecone-client v4.0.0 as that upgrades to a version of protobuf (v4.25) which has fixed the deprecation issue.

Thank you!


Wsidicomizer command line tool not working

I installed wsidicomizer in a clean evnironment in conda (python 3.10).
Trying to run the wsidicomizer tool I get the error:

Thanks for reporting this bug @hhoeflin. The entrypoint to the cli:s should be fixed in 0.9.1.


Custom calendar implementation

Feature Description
Follow up from #667
Currently, the calendar implementation is based on Gutenberg's (WP default) calendar component. This, however, could be replaced with a custom implementation for the following advantages:

Replacing using moment library to significantly reduce the build size.
Custom design more fitting with the editor generally
Using the Apache License as elsewhere in code.

Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance Criteria
QA Instructions

@jauyong FI: This is a follow-up issue from #667

This is also critical if we want to unbundle the editor from WordPress. Not critical for the alpha, but very important after.

A few packages I found in a quick search:
https://www.npmjs.com/package/@material-ui/pickers
https://www.npmjs.com/package/react-datepicker
https://www.npmjs.com/package/react-datetime-picker (has tons of similar packages for just calendar, etc.)

Perhaps I missed the discussion last grooming being absent, but doesn't it make sense to already implement the styling as well if we'll replace it?
Or is the idea to currently just replace it with whichever most suitable style comes by default and worry about the style later?
Or should we maintain the current style?

My point was that replacing the current picker is urgent (P0), customizing the styles is not (P2 or so), which is why I requested the split. Of course, if it is a matter of minutes, makes sense to do it in one PR.

Alright, makes sense. I suppose in this case it's just OK to use the default(-ish) style that comes with the library that is chosen.
Will remove the UX Needed and add it to #1391 instead.

Have been testing out various options today and it looks like either https://www.npmjs.com/package/react-datepicker or https://www.npmjs.com/package/react-datetime-picker could work well in terms of customization, package size, developer activity and dependencies (or lack of these, e.g. not requiring moment as the current implementation does).
One note for both options: the 12/24 hours format depends on the locale, it doesn't seem to be possible to configure that directly as WP is currently doing.
However, both of these options allow using only the date-picker. We could keep the current timepicker logic which supports 12/24h based on WP settings, and modify it:

Replace using moment
Remove the separate date picking option (since that already comes from the calendar anyway)

OR we could actually use the locale based on what get_locale() gives us.
The react-datetime-picker package's default visual presentation of the time picker is a clock (with clock hands/pointers) -- which doesn't seem to be interactive (at least when testing) -- that IMHO needs replacing anyway:

The react-datepicker's time picker might look quite acceptable as is though:

This, also, has a better accessibility, supporting moving around with arrow keys, whereas react-datetime-picker seems to support tab only -- which is quite unusable in case of a calendar really.
Thoughts?

Will go with the react-datepicker for now due to the reasons mentioned in the previous comment. Since the supported date is in the same format it should be very easy to replace it later if it should become necessary for some reason. The main "trouble" of replacing moment and removing the duplicate date fields will be done anyway.


[FEATURE] YAML Evaluator Support

Requirements
Extend the evaluation option to support yaml.
flagd start -e yaml -f example_flags.yaml

Nice idea!

I don't understand flagd completely yet but I will take a stab.

Thanks @vadasambar! The team would be more than happy to help you out. If you have any questions, you can either ask them here or in the #openfeature-flagd channel on the CNCF Slack Workspace.


feat: Added reference scripts for binary classification

This PR adds a reference folder with training scripts for different tasks. More specifically, it provides two scripts for binary classification: one using only the core dependencies of pyronear and the other with fastai.
Users should note that the fastai one actually changes the model's architectures by complexifying the head. Performances are not comparable as is.
See #3

@blenzi fully agree with the comment on the readme for the requirements! I forgot to add a specific one for the references folder. I'll update this accordingly
Regarding the training script, I'm gonna run some tests but I don't see how to add it efficiently to CI. As you pointed out, the dataset download is already long, but since CI only has CPUs, the training (even for one epoch) would be way too long unfortunately...

On the new version, running locally, no GPU:
  File "references/classification/fastai_train.py", line 28, in main
    df = pd.DataFrame.from_dict(dict(name=fnames, label=labels, is_valid=is_valid))
NameError: name 'pd' is not defined

If I add import pandas as pd:
RuntimeError: DataLoader worker (pid 97793) is killed by signal: Unknown signal: 0.

Maybe we could add some tests (download, train, test) with a subset of the full dataset to make sure that the whole chain works ?

@blenzi I just pushed a few commits that should your issues.
However, for CI integration, I guess we can test the scripts with epochs=0 so we can at least check that the loading part is alright. But I see this as a separate topic (me introducing a mistake in the script vs. testing this at each commit), would you mind opening an issue?
We'll flag this issue for the patch after the incoming release 0.1.0 (most likely for 0.1.1).


Issue on docs

Path: /documentation/getting-started/rest/pre-request-scripts
You can use the pre-request script for a pre-processing task such as:
Setting parameters, headers.
Adding body data.
Adding variable values.
Including timestamps in request headers.
Example for setting headers from envs via pre-request script is needed.
There is no access to request in the pre-request scripts.

Hi @tommihietanen, you can use environment variables in the Headers tab as usual and
before executing a request, you can use pre-request scripts to set its values at run-time.


Support python 3.12

This updates the required python string and also updates fastembed to 0.2.2 which supports python 3.12 as well.

Do you need to commit the poetry.lock file? Or did you just mean to commit the pyproject?

@mwildehahn just following on this to resolve conflicts and only make the necessary changes to pyproject.toml


ffmpeg dose not work help

this is insufficient information for us to help you.
Please provide:

the error you are seeing
the steps required to reproduce your error
any additional relevant details about your environment


Reference PTVSD version 3.0.0 in python documentation

Remote debugging only works on version 3.0.0 of PTVSD.
This needs to be mentioned in the online documentation (https://code.visualstudio.com/docs/python/debugging#_remote-debugging).

Does this close https://github.com/Microsoft/vscode-python/issues/170 ?

@jarshwah No it doesn't. This issue has been created to update the existing documentation to ensure users install the right version (3.0.0) of PTVSD.


Extra information in actions

Hi! Thank you so much for this awesome package.
I want to add some extra information in action structure, but it seems doesn't work.
botui.action.button({
   delay: 500,
   action: [
      {
         text: 'Button 1',
         value: 1,
         extra: 'Something'
      }, {
         text: 'Button 2',
         value: 2,
         extra: 'Something'
      }, {
         text: 'Button 3',
         value: 3,
         extra: 'Something'
      }
   ]
});

Is there any way to do it?
Thank you!

Hey, you are welcome.
Sadly no, there is no way to add anything else to buttons. You can only add icons.
Like icon: check or any other available in font awesome.


Support key mapping in TFRecord

System information

TensorFlow version (you are using): 2.0
Are you willing to contribute it (Yes/No): Yes

Describe the feature and the current behavior/state.
For multiple features situation like recommendation, names of features will take a lot of spaces in tfrecord files. A simple solution is replacing name by feature's index. Do this compression automatically needs change tfrecord file. Support a user-specific option maybe better.
Will this change the current api? How?
Add a key mapping parameter to tf.data.TFRecordDataset, tf.io.TFRecordWriter and tf.data.FixedLengthRecordDataset.
Who will benefit with this feature?
Save disk space for industry situations.
Any Other info.

@Officium
Do you have any use case that requires the feature you are interested in? Please feel free to submit a PR if you have use cases that supports that feature. Thanks!

@ravikyram In CTR prediction task, one may use statistics of history over several dimensions to construct features. For example, a user's features contains the average click count on advertises with same category of users with same gender in past 7 days. A middle size advertise system may use thousands of such features. For system implementation, the feature consistence between online and offline is important. So the features used online will be recored in logs which can be converted to TFRecords by Spark for offline training. Here is a simple comparison case. In this case, mapping name to index will save 13% store spaces.
import itertools
import random

import tensorflow as tf
from tqdm import trange

def construct_feature_names():
    id_features = ['age', 'gender', 'category', 'city', 'system']
    dense_features = ['impression', 'click', 'ctr', 'pagetime']
    time_features = [1, 7, 14, 28]

    total_features = []
    for cross_num in range(len(id_features)):
        for id_cross in itertools.combinations(id_features, cross_num):
            for dense, time in itertools.product(dense_features, time_features):
                total_features.append('_'.join(id_cross + (dense, str(time))))
    return total_features

def write_tfrecord(write_path, num_sample=10000, use_index_key=False):
    """
    Write random samples to tfrecord
    Args:
        write_path (str): file path to write
        num_sample (int): total number of random samples
        use_index_key (bool): whether use feature's index to replace its name
    """
    with tf.io.TFRecordWriter(write_path, 'GZIP') as writer:
        for _ in trange(num_sample):
            features = {}
            for name in construct_feature_names():
                key = name if not use_index_key else str(len(features))
                features[key] = tf.train.Feature(int64_list=tf.train.Int64List(value=[int(10000000 * random.random())]))
            tfrecord_example = tf.train.Example(features=tf.train.Features(feature=features))
            writer.write(tfrecord_example.SerializeToString())

write_tfrecord('index.tfrecord', use_index_key=True)
write_tfrecord('raw.tfrecord', use_index_key=False)

@ravikyram This feature will support a time-space tradeoff. In real system, TBs of data will be used for distributional training.  It saves disk space and network transmission time but increases loading time. Basically, it provides improvement.

@Officium,
Have you got the chance to take a look at this official document where the required features were added in the upcoming tensorflow versions.
https://www.tensorflow.org/versions/r2.0/api_docs/python/tf/data/TFRecordDataset
https://www.tensorflow.org/api_docs/python/tf/data/FixedLengthRecordDataset

key_func
A function mapping a nested structure of tensors (having shapes and types defined by self.output_shapes and self.output_types) to a scalar tf.int64 tensor.

reduce_func
A function mapping a key and a dataset of up to window_size consecutive elements matching that key to another dataset.

window_size
A tf.int64 scalar tf.Tensor, representing the number of consecutive elements matching the same key to combine in a single batch, which will be passed to reduce_func. Mutually exclusive with window_size_func.

window_size_func
A function mapping a key to a tf.int64 scalar tf.Tensor, representing the number of consecutive elements matching the same key to combine in a single batch, which will be passed to reduce_func. Mutually exclusive with window_size.


Is it necessary to provide a minimum config in specs?

In my developing of OCT project, I find that there are some requeired config for the specs item.
For example,
if we want to run a linux container, we should at least containing mount config of proc filesystem, other mounted filesystem is not the necessary one.
"mounts": [
    {
        "type": "proc",
        "source": "proc",
        "destination": "/proc",
        "options": ""
    },

So, I am considering weather we should provid minimum config example or adding some explaining to make notes to the neccesary one?

Is this the same as https://github.com/opencontainers/specs/issues/95?

@philips Yes, quite nice to see the topic #95 . But I also considering:Should the specs define a minimum set, not only the default one?
My considering is:
Because the specs should be compatible to different OS and Arch, so it just need the minimum set that can make container run, but no only according to any container type.
What is the opinion with you?

@zenlinTechnofreak I think we should define a minimum set because nearly all applications rely on these filesystem nodes to exist.

@philips Yes, quite agree with u,+1.

On Mon, Aug 10, 2015 at 08:53:20PM -0700, LinZhinan(Zen Lin) wrote:

So, I am considering weather we should provid minimal config example…

There are some plans to move the overview docs from runC into this
spec 1.

… or adding some explaining to make notes to the neccesary one?

It's not machine-readable, but since at least 7ac41c69 (config.md:
reformat into a standard style, 2015-06-30) we've had docs like:

destination (string, required) …
options (string, optional) …

for documenting which JSON fields are required and which are optional.
Although we could be more consistent about always declaring that sort
of thing (e.g. it's missing from the device docs, see #101 for an
attempt at covering it there).

#276 also accomplishes this


Question: Configuration for 50+ switches?

Hi
I have a default "sensu + uchiwa" installation running. The sensu-server and the
sensu-client are on the same VM.
I also added a simple "ping" check for 1 switch:
{
  "checks": {
    "sw1": {
      "command": "/opt/sensu/embedded/bin/check-ping.rb -h sw1",
      "subscribers": [
        "sw"
      ],
      "interval": 30
    }
  }
}

This is working with no problem. Now i want to add 50 more switches. Do I really have to repeate this step for every switch?
Thanks

Since commands can be any command it is quite easy to just write/script your own checks. Make for example a python/ruby/bash script that loops through all desired hosts.
I usually do it like this in linux:

#This program returns the greatest exit status

EXIT_STATUS=0
echo -n "Description of what the output is: "; COMMAND || EXIT_STATUS=$(($EXIT_STATUS>$? ? $EXIT_STATUS : $?))
echo -n "Description of what the output 2 is: "; COMMAND2 || EXIT_STATUS=$(($EXIT_STATUS>$? ? $EXIT_STATUS : $?))
exit $EXIT_STATUS
...

If you don't want to manually add all rows you can just make a loop.

Sorry, but that sounds terrible for me. That's not a solution that I expect for a "Monitoring for today's infrastructure" tool.
I need a "virtual" host for every switch. I think something like this:
{
  "checks": {
    "::SWITCHNAME::": ["sw1", "sw2", "sw3", "swN"],
      "source": "::SWITCHNAME::",
      "command": "/opt/sensu/embedded/bin/check-ping.rb -h ::SWITCHNAME::",
      "subscribers": ["sw"],
      "interval": 30
    }
  }
}

One check definition for all switches (sw1, sw2, swN).

There is no concept of distant check in sensu as far I know. All machines that you want to be monitored have to run the sensu-client daemon. It seems that sensu is not the right tool for network assets monitoring. I figured out distant monitoring with a little HTTP Client As a Service that I rapidly developed, It is called pingmeback with a sensu plugin named sensu-plugins-pingmeback for distant monitoring purposes. Maybe this can be a begin of an answer.
I was in the same situation and I am very interested by the next answers in this issue.

I think It definitely could be something that sensu could implement. It would certainly remove some of the scripting from sensu in some scenarios.

@yanc0
Thank you. I think without a "distant check" concept sensu will never replace nagios or icinga. I'm really sorry, but at this stage sensu for me is useless. I need it for network stuff. For "software" monitoring we already use prometheus.

@dR3b thank you for submitting this issue!
We definitely don't disagree that we need a better solution for configuring checks to be executed against proxy clients (i.e. external systems, including network devices, etc). We have started to work out some possible solutions to this, and we'll publish our proposals as GitHub issues as soon as they are solidified. Unfortunately, I think it may be a few more weeks before we get there, and at least 6-8 weeks before an initial implementation would be available (if at all).

@calebhailey Thank you!

Any news?

Same problem here! A solution for a more simple config would be nice.

Looks like a dup of #1259.

In #1555 we're proposing to implement "proxy check requests", a new feature allowing a pubsub check definition to generate a unique check request for each client matching a defined set of client attributes.
Please have a look and share your thoughts?

We're very excited by Proxy Check Requests, now available in the Sensu 0.28 release(s), which can dynamically generate proxy check requests for clients (and proxy clients) in the registry.
I look forward to the ability to manage the Sensu client registry via the Uchiwa dashboard :tada:
Closing this issue due to inactivity following @cwjohnston's update.

Yay!


Pestle needs the php xml extension

Avoid
PHP Fatal error:  Uncaught Error: Call to undefined function Pulsestorm\Magento2\Cli\Generate\Module\simplexml_load_string() in phar:///opt/pestle/modules/pulsestorm/magento2/cli/generate/module/module.php:32
Stack trace:
#0 phar:///opt/pestle/modules/pulsestorm/magento2/cli/generate/module/module.php(60): Pulsestorm\Magento2\Cli\Generate\Module\pestle_cli(Array)
#1 [internal function]: Pulsestorm\Magento2\Cli\Generate\Module\exported_pestle_cli(Array)
#2 /tmp/pestle_cache/2d27f575ea4837c003f8467c72c32131/reflection-strategy/d35297206a0d27b48969861d55e34abe.php(7): ReflectionFunction->invokeArgs(Array)
#3 phar:///opt/pestle/modules/pulsestorm/magento2/cli/magento2/generate/module/module.php(21): exported_pestle_cli(Array)
#4 [internal function]: Pulsestorm\Magento2\Cli\Magento2\Generate\Module\pestle_cli(Array, Array)
#5 phar:///opt/pestle/modules/pulsestorm/pestle/runner/module.php(366): ReflectionFunction->invokeArgs(Array)
#6 /opt/pestle(7): Pulsestorm\Pestle\Runner\main(Array)
#7 /opt/pestle(9): main(Array)
#8 {main}
  thr in phar:///opt/pestle/modules/pulsestorm/magento2/cli/generate/module/module.php on line 32

Thank @fooman -- pull request accepted.  Probably my age that I consider XML a given :)
Two quick questions, if you have a moment.  First, I'm not super familiar with using the ext-* entries in a composer.json file.  Do these block installation if the provided extension isn't available?  Or do they just issue a warning?  Or does it depend.
Second -- how did you end up uncovering this?  i.e. where/how are you installing PHP that the XML extension wasn't available?
Thanks!

Thanks Alan,
If ext-xml is in the require section and not present an installation via
composer will get blocked until the requirement has been met.
Currently experimenting with Docker here
https://hub.docker.com/r/fooman/php70-cli/ which makes it very explicit
what is and isn't installed.
Cheers
Kristof
On 8/01/17 09:55, astorm wrote:

Thank @fooman https://github.com/fooman -- pull request accepted.
Probably my age that I consider XML a given :)
Two quick questions, if you have a moment. First, I'm not super
familiar with using the |ext-*| entries in a |composer.json| file. Do
these block installation if the provided extension isn't available? Or
do they just issue a warning? Or does it depend.
Second -- how did you end up uncovering this? i.e. where/how are you
installing PHP that the XML extension wasn't available?
Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/astorm/pestle/pull/181#issuecomment-271109563, or
mute the thread
https://github.com/notifications/unsubscribe-auth/AAbzVG5TcHGwJolhAhw26yw22j7VN97Lks5rP_uugaJpZM4LdZKw.


Question: How to set which environment should be used for migrations in CLI for EF Core 2.0

I'm playing with EF Core 2.0 and have 3 env in my app: dev, staging and production. So I'm generate models, create migrations and now want to apply them to specific database. However I faced with a problem. When I executing dotnet ef database drop (update) for example, it's trying to get production env by default.
How could I specify what environment should be used? My DbContextFactory looks like that:
public class MyDbContextFactory : IDbContextFactory<MyDbContext>
    {
        public MyDbContext Create(string[] args) => //how to pass something to this args?
            WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>()
            .Build().Services.GetRequiredService<MyDbContext>();
    }

it was something like:
dotnet ef database drop -e development in version 1, but this was removed from version 2. Command like
set ASPNETCORE_ENVIRONMENT=development
dotnet ef database drop

also seems not working. In every case it's handled as Production for me.
os - Windows 7 64 bit.
ide - VS Code
.NET Core 2.0 preview1-final
EF Core 2.0 preview1-final

SET ASPNETCORE_ENVIRONMENT=Development

This should work.
Are you in a PowerShell session? If so, you'll need to use the PowerShell syntax for setting environment variables.
$env:ASPNETCORE_ENVIRONMENT = 'Development'

(Also asked on Stack Overflow)

Hmm, looks like it's work when execute from powershell (with $env:... ), but neither set nor setx from terminal not making any effect. Maybe some issue on my side. However, when running with  "development" it's fails with the error described there just FYI, maybe you connected with Identity teams somehow.

The cannot resolve scoped service error will be fixed in 2.0.0-preview2-final. You can try the nightly builds if you're eager to test it.


fix indexes_as_range

Fixes https://github.com/rust-embedded/svdtools/pull/178#issuecomment-1801433808

cc @Emilgardis

ci stuck on waiting for runner


PUT or POST interval action not work

I don't know how to create POST or PUT interval action and didn't found any clue in the source code.
The http request body is nil and params only use for ContentLengthKey
	req, err := http.NewRequest(httpMethod, executingUrl, nil)
	req.Header.Set(ContentTypeKey, ContentTypeJsonValue)

	params := strings.TrimSpace(intervalAction.Parameters)

	if len(params) > 0 {
			req.Header.Set(ContentLengthKey, string(len(params)))
	}

https://github.com/edgexfoundry/edgex-go/blob/master/internal/support/scheduler/schedule.go#L465
Affected Services
support-scheduler
Is this a regression?
I not sure.  I didn't found any description to setup a POST or PUT action.
https://docs.edgexfoundry.org/Ch-APISupportingServicesScheduling.html
🌍  Your Environment
Deployment Environment:
macos
EdgeX Version:
edgex-go master branch

Ok I can see the documentation on this is wrong.  I will update that data areas for the actual calls into the scheduler service.
To use the Scheduler you will using the RAML API.
https://github.com/edgexfoundry/edgex-go/blob/master/api/raml/support-scheduler.raml
There you can see the API reference which the scheduler uses.  What was linked was the internal scheduler service implementation. That is abstracted from the RAML API interface.  So interacting with it directly would not work.  You would need to do HTTP POST using a something like Postman to send in a new Interval or Interval Action.
There are some examples in the RAML of how to do that. :) .  I will make some time to update the .RST file for the data fields and update those samples! ;)

Thanks for your reply, but I can create a scheduled job with the following API:
curl -X POST -H "Content-Type: application/json" -d '{
    "name": "every20s",
    "frequency": "PT20S"
}' "http://localhost:48085/api/v1/interval"

curl -X POST -H "Content-Type: application/json" -d '{
    "name": "get-switch-action",
    "interval": "every20s",
    "target": "edgex-device-modbus",
    "protocol": "http",
    "httpMethod": "GET",
    "address": "localhost",
    "port": 49991,
    "path":"/api/v1/device/name/Modbus TCP test device/Switch"
}' "http://localhost:48085/api/v1/intervalaction"

But the question is how to create the job with httpMethod POST or PUT.

We have some black box tests which do this.  From the tests I can verify via Postman you should be able to create an Interval via the following:
POST:
http://localhost:48085/api/interval
BODY:   “RAW” - JSON(application/json)
{
"name": "afternoon",
"start": "20180101T000000",
"frequency": "P1D"
}
When I execute that on my local instance native.  “Using the Make Run” command I get the following back
RESPONSE:
286a51cc-7ce6-4c6e-9887-e672cf012c7d
This is the ID of the Interval I created via the REST API call using POST.
You can see the new interval using the Interval or the more specific interval by name pathing.
GET - Interval by Name
http://localhost:48085/api/v1/interval/name/afternoon
{
"name": "afternoon",
"start": "20180101T000000",
"frequency": "P1D"
}
RESPONSE:
{
"Timestamps": {
"created":<PHONE_NUMBER>233,
"modified":<PHONE_NUMBER>233
},
"id": "286a51cc-7ce6-4c6e-9887-e672cf012c7d",
"name": "afternoon",
"start": "20180101T000000",
"frequency": "P1D"
}
Or you can reference the Interval By ID as a parameter.
Using the ID previously listed from the POST operation I could pass that
GET - Interval by ID
http://localhost:48085/api/v1/interval/286a51cc-7ce6-4c6e-9887-e672cf012c7d
RESPONSE:
{
"Timestamps": {
"created":<PHONE_NUMBER>233,
"modified":<PHONE_NUMBER>233
},
"id": "286a51cc-7ce6-4c6e-9887-e672cf012c7d",
"name": "afternoon",
"start": "20180101T000000",
"frequency": "P1D"
}
For brevities sake here is the afore mentioned GET all intervals REST call.
GET - All Intevals
http://localhost:48085/api/v1/interval
RESPONSE:
[
{
"Timestamps": {
"created":<PHONE_NUMBER>979,
"modified":<PHONE_NUMBER>979
},
"id": "75f23eb9-e9ea-4552-86ac-424e95a49267",
"name": "midnight",
"start": "20180101T000000",
"frequency": "P1D"
},
{
"Timestamps": {
"created":<PHONE_NUMBER>233,
"modified":<PHONE_NUMBER>233
},
"id": "286a51cc-7ce6-4c6e-9887-e672cf012c7d",
"name": "afternoon",
"start": "20180101T000000",
"frequency": "P1D"
}
]
Additionally I will list the PUT (or update) REST API call.
PUT - update and existing Interval
http://localhost:48085/api/v1/interval
NOTE: I updated the name of the interval.  If the interval was in use by any other interval actions you would be prevented from doing this update until you removed the existing interval actions referenced.
BODY
{
"id": "286a51cc-7ce6-4c6e-9887-e672cf012c7d",
"name": "tenAM",
"start": "20180101T000000",
"frequency": "P1D"
}
RESPONSE:
True
And for clarity lets execute the GET all Intervals once more:
GET - all intervals
http://localhost:48085/api/v1/interval
RESPONSE:
[
{
"Timestamps": {
"created":<PHONE_NUMBER>979,
"modified":<PHONE_NUMBER>979
},
"id": "75f23eb9-e9ea-4552-86ac-424e95a49267",
"name": "midnight",
"start": "20180101T000000",
"frequency": "P1D"
},
{
"Timestamps": {
"created":<PHONE_NUMBER>233,
"modified":<PHONE_NUMBER>947
},
"id": "286a51cc-7ce6-4c6e-9887-e672cf012c7d",
"name": "tenAM",
"start": "20180101T000000",
"frequency": "P1D"
}
]
You can see the Interval name has been changed from afternoon to the updated version “tenAM”.  :)
For IntervalAction’s the same pattern holds true.  The only exception is that the assigned “Interval” must exist.  So you may get an error POST’ing a new IntervalAction, which contains and reference to an Interval, which does not exist.   Interval creation first or reference one that already exists.
Interval - The timing periodicity or point in time for which you want stuff to happen.
IntervalAction - What you want to happen when that Interval point is reached.
GET - all IntervalActions
http://localhost:48085/api/v1/intervalaction
RESPONSE:
[
{
"id": "65693f32-1d29-4af7-aebe-7dda63b4b231",
"created":<PHONE_NUMBER>982,
"modified":<PHONE_NUMBER>982,
"name": "scrub-pushed-events",
"interval": "midnight",
"target": "core-data",
"protocol": "http",
"httpMethod": "DELETE",
"address": "localhost",
"port": 48080,
"path": "/api/v1/event/scrub"
},
{
"id": "98926755-7c4b-42b4-ba12-65eb365a77f7",
"created":<PHONE_NUMBER>143,
"modified":<PHONE_NUMBER>143,
"name": "scrub-aged-events",
"interval": "midnight",
"target": "core-data",
"protocol": "http",
"httpMethod": "DELETE",
"address": "localhost",
"port": 48080,
"path": "/api/v1/event/removeold/age/604800000"
}
]
You can follow the aforementioned pattern for all of the GET (all, or by name, or ID), POST (body), PUT (with ID param) and body.
I hope this helps.

@xmlviking
How to create an IntervalAction with httpMethod POST or PUT?
Where is the POST body I can set?
Is Parameters ? https://github.com/edgexfoundry/go-mod-core-contracts/blob/master/models/interval_action.go#L124
curl -X POST -H "Content-Type: application/json" -d '{
    "name": "post-action",
    "interval": "every20s",
    "target": "edgex-device-modbus",
    "protocol": "http",
    "httpMethod": "POST",
    "address": "localhost",
    "port": 49991,
    "path":"/api/v1/device/name/Modbus TCP test device/Switch"
}' "http://localhost:48085/api/v1/intervalaction"

Ok.
For IntervalAction’s the same pattern holds true.  The only exception is that the assigned “Interval” must exist.  So you may get an error POST’ing a new IntervalAction, which contains and reference to an Interval, which does not exist.   Interval creation first or reference one that already exists.
Interval - The timing periodicity or point in time for which you want stuff to happen.
IntervalAction - What you want to happen when that Interval point is reached.
GET - all IntervalActions
http://localhost:48085/api/v1/intervalaction
RESPONSE:
[
{
"id": "65693f32-1d29-4af7-aebe-7dda63b4b231",
"created":<PHONE_NUMBER>982,
"modified":<PHONE_NUMBER>982,
"name": "scrub-pushed-events",
"interval": "midnight",
"target": "core-data",
"protocol": "http",
"httpMethod": "DELETE",
"address": "localhost",
"port": 48080,
"path": "/api/v1/event/scrub"
},
{
"id": "98926755-7c4b-42b4-ba12-65eb365a77f7",
"created":<PHONE_NUMBER>143,
"modified":<PHONE_NUMBER>143,
"name": "scrub-aged-events",
"interval": "midnight",
"target": "core-data",
"protocol": "http",
"httpMethod": "DELETE",
"address": "localhost",
"port": 48080,
"path": "/api/v1/event/removeold/age/604800000"
}
]
We can now POST a new IntervalAction using the following similar pattern
POST - (using Body content-type raw JSON(application/json)
http://localhost:48085/api/v1/intervalaction
BODY
{
"name": "scrub-alt-test",
"interval": "midnight",
"target": "core-data",
"protocol": "http",
"httpMethod": "DELETE",
"address": "localhost",
"port": 48080,
"path": "/api/v1/event/scrub"
}
RESPONSE
8b452368-5a2d-485f-91a8-e087b9f78314
This is the ID of the new IntervalAction we just created.  With the name “scrub-alt-test”.  This Interval Action is associated with the Interval previously created “midnight”.
Let’s verify using the GET verb to ensuref the IntervalAction has been created
GET
http://localhost:48085/api/v1/intervalaction
RESPONSE
[
{
"id": "65693f32-1d29-4af7-aebe-7dda63b4b231",
"created":<PHONE_NUMBER>982,
"modified":<PHONE_NUMBER>982,
"name": "scrub-pushed-events",
"interval": "midnight",
"target": "core-data",
"protocol": "http",
"httpMethod": "DELETE",
"address": "localhost",
"port": 48080,
"path": "/api/v1/event/scrub"
},
{
"id": "98926755-7c4b-42b4-ba12-65eb365a77f7",
"created":<PHONE_NUMBER>143,
"modified":<PHONE_NUMBER>143,
"name": "scrub-aged-events",
"interval": "midnight",
"target": "core-data",
"protocol": "http",
"httpMethod": "DELETE",
"address": "localhost",
"port": 48080,
"path": "/api/v1/event/removeold/age/604800000"
},
{
"id": "8b452368-5a2d-485f-91a8-e087b9f78314",
"created":<PHONE_NUMBER>420,
"modified":<PHONE_NUMBER>420,
"name": "scrub-alt-test",
"interval": "midnight",
"target": "core-data",
"protocol": "http",
"httpMethod": "DELETE",
"address": "localhost",
"port": 48080,
"path": "/api/v1/event/scrub"
}
]
Now we will update the Interval Action we just created:   Let’s change the name to something different.
I will change it to “scrub-my-test”.
PUT- (using Body content-type raw JSON(application/json)
http://localhost:48085/api/v1/intervalaction
BODY
{
"id": "8b452368-5a2d-485f-91a8-e087b9f78314",
"name": "scrub-my-test",
"interval": "midnight",
"target": "core-data",
"protocol": "http",
"httpMethod": "DELETE",
"address": "localhost",
"port": 48080,
"path": "/api/v1/event/scrub"
}
RESPONSE
True
Let’s validate we changed the IntervalAction name.
GET
http://localhost:48085/api/v1/intervalaction
RESPONSE
[
{
"id": "65693f32-1d29-4af7-aebe-7dda63b4b231",
"created":<PHONE_NUMBER>982,
"modified":<PHONE_NUMBER>982,
"name": "scrub-pushed-events",
"interval": "midnight",
"target": "core-data",
"protocol": "http",
"httpMethod": "DELETE",
"address": "localhost",
"port": 48080,
"path": "/api/v1/event/scrub"
},
{
"id": "98926755-7c4b-42b4-ba12-65eb365a77f7",
"created":<PHONE_NUMBER>143,
"modified":<PHONE_NUMBER>143,
"name": "scrub-aged-events",
"interval": "midnight",
"target": "core-data",
"protocol": "http",
"httpMethod": "DELETE",
"address": "localhost",
"port": 48080,
"path": "/api/v1/event/removeold/age/604800000"
},
{
"id": "8b452368-5a2d-485f-91a8-e087b9f78314",
"created":<PHONE_NUMBER>420,
"modified":<PHONE_NUMBER>558,
"name": "scrub-my-test",
"interval": "midnight",
"target": "core-data",
"protocol": "http",
"httpMethod": "DELETE",
"address": "localhost",
"port": 48080,
"path": "/api/v1/event/scrub"
}
]
I hope this helps.  Again on the GET verbs with the REST API you can (By Name BASE API URI + /name/myIntervalActionName, by ID . BASE API URI + \ID, or ALL BASE API URI).

@xmlviking
Could you provide httpMethod POST example ?
{
"name": "post-action",
"interval": "every20s",
"target": "edgex-device-modbus",
"protocol": "http",
"httpMethod": "POST",
"address": "localhost",
"port": 49991,
"path":"/api/v1/device/name/Modbus TCP test device/Switch"
}' "http://localhost:48085/api/v1/intervalaction"

There is one there?

We can now POST a new IntervalAction using the following similar pattern

POST - (using Body content-type raw JSON(application/json)
http://localhost:48085/api/v1/intervalaction
BODY
{
"name": "scrub-alt-test",
"interval": "midnight",
"target": "core-data",
"protocol": "http",
"httpMethod": "DELETE",
"address": "localhost",
"port": 48080,
"path": "/api/v1/event/scrub"
}
RESPONSE
8b452368-5a2d-485f-91a8-e087b9f78314

No, it's DELETE.
I need POST.
{
"name": "post-action",
"interval": "every20s",
"target": "edgex-device-modbus",
"protocol": "http",
"httpMethod": "POST", <===== I need the example for POST
"address": "localhost",
"port": 49991,
"path":"/api/v1/device/name/Modbus TCP test device/Switch"
}

@weichou1229
Oh ok you use the combination of what you had listed and the parameters property:
{
"name": "post-action",
"interval": "every20s",
"target": "edgex-device-modbus",
"protocol": "http",
"httpMethod": "POST", <===== I need the example for POST
"parameters": "{ }"
"address": "localhost",
"port": 49991,
"path":"/api/v1/device/name/Modbus TCP test device/Switch"
}
The scheduler parses the parameters and produces a content-length header as well based on your supplied body.   I'm not sure what you want to POST but the "parameters" property is what your looking for.

I tried, but it not work.

Could you show me what you tried to POST?  I will try to trouble shoot what your seeing.

@xmlviking
For example, I want to run off the light every midnight. so I need to set up a scheduler to do this job.
Steps:

Deploy EdgeX with device-virtual
Execute the following command to create interval action.

curl -X POST -H "Content-Type: application/json" -d '{
    "name": "every20s",
    "frequency": "PT20S"
}' "http://localhost:48085/api/v1/interval"

curl -X POST -H "Content-Type: application/json" -d '{
    "name": "put-action",
    "interval": "every20s",
    "target": "edgex-device-modbus",
    "protocol": "http",
    "httpMethod": "PUT",
    "address": "localhost",
    "port": 49990,
    "path":"/api/v1/device/name/Random-Boolean-Device/RandomValue_Bool",
    "parameters": "{\"RandomValue_Bool\": \"true\",\"EnableRandomization_Bool\": \"true\"}"
}' "http://localhost:48085/api/v1/intervalaction"

The log shows no request body provided
level=INFO ts=2019-07-12T16:50:24.014055Z app=edgex-support-scheduler source=router.go:339 msg="posting new intervalAction: {\"name\":\"put-action\",\"interval\":\"every20s\",\"parameters\":\"{\\\"RandomValue_Bool\\\": \\\"true\\\",\\\"EnableRandomization_Bool\\\": \\\"true\\\"}\",\"target\":\"edgex-device-modbus\",\"protocol\":\"http\",\"httpMethod\":\"PUT\",\"address\":\"localhost\",\"port\":49990,\"path\":\"/api/v1/device/name/Random-Boolean-Device/RandomValue_Bool\"}"
level=WARN ts=2019-07-12T16:50:24.018159Z app=edgex-support-scheduler source=schedule.go:234 msg="scheduler could not find interval id with intervalAction name : put-action"
level=DEBUG ts=2019-07-12T16:50:24.022321Z app=edgex-support-scheduler source=schedule.go:270 msg="adding the intervalAction with id  : 65fe36f5-f339-4877-aa23-3a4fa9e0bc07 to interval : every20s into the queue"
level=INFO ts=2019-07-12T16:50:24.022607Z app=edgex-support-scheduler source=schedule.go:298 msg="added the intervalAction with id: 65fe36f5-f339-4877-aa23-3a4fa9e0bc07 to interal: every20s into the queue"
level=DEBUG ts=2019-07-12T16:50:27.231821Z app=edgex-support-scheduler source=schedule.go:421 msg="executing interval, detail : {{\"Timestamps\":{},\"id\":\"74b8d484-b763-4bcc-afda-72433abcaafc\",\"name\":\"every20s\",\"frequency\":\"PT20S\"}} , at : 2019-07-13 00:50:27.452926 +0800 CST m=+42.227788163"
level=DEBUG ts=2019-07-12T16:50:27.233311Z app=edgex-support-scheduler source=schedule.go:448 msg="1 interval action need to be executed."
level=DEBUG ts=2019-07-12T16:50:27.233709Z app=edgex-support-scheduler source=schedule.go:452 msg="the event with id : 65fe36f5-f339-4877-aa23-3a4fa9e0bc07 belongs to interval : 74b8d484-b763-4bcc-afda-72433abcaafc will be executing!"
level=DEBUG ts=2019-07-12T16:50:27.234046Z app=edgex-support-scheduler source=schedule.go:456 msg="the event with id : 65fe36f5-f339-4877-aa23-3a4fa9e0bc07 will request url : http://localhost:49990/api/v1/device/name/Random-Boolean-Device/RandomValue_Bool"
level=DEBUG ts=2019-07-12T16:50:27.238034Z app=edgex-support-scheduler source=schedule.go:485 msg="execution returns status code : 400"
level=DEBUG ts=2019-07-12T16:50:27.23839Z app=edgex-support-scheduler source=schedule.go:486 msg="execution returns response content : no request body provided; PUT /api/v1/device/name/Random-Boolean-Device/RandomValue_Bool\n"
level=DEBUG ts=2019-07-12T16:50:27.238677Z app=edgex-support-scheduler source=schedule.go:495 msg="requeue interval, detail : {\"Timestamps\":{},\"id\":\"74b8d484-b763-4bcc-afda-72433abcaafc\",\"name\":\"every20s\",\"frequency\":\"PT20S\"}"
level=DEBUG ts=2019-07-12T16:50:47.227659Z app=edgex-support-scheduler source=schedule.go:421 msg="executing interval, detail : {{\"Timestamps\":{},\"id\":\"74b8d484-b763-4bcc-afda-72433abcaafc\",\"name\":\"every20s\",\"frequency\":\"PT20S\"}} , at : 2019-07-13 00:50:47.452926 +0800 CST m=+62.227788163"
level=DEBUG ts=2019-07-12T16:50:47.228937Z app=edgex-support-scheduler source=schedule.go:448 msg="1 interval action need to be executed."
level=DEBUG ts=2019-07-12T16:50:47.229207Z app=edgex-support-scheduler source=schedule.go:452 msg="the event with id : 65fe36f5-f339-4877-aa23-3a4fa9e0bc07 belongs to interval : 74b8d484-b763-4bcc-afda-72433abcaafc will be executing!"
level=DEBUG ts=2019-07-12T16:50:47.229443Z app=edgex-support-scheduler source=schedule.go:456 msg="the event with id : 65fe36f5-f339-4877-aa23-3a4fa9e0bc07 will request url : http://localhost:49990/api/v1/device/name/Random-Boolean-Device/RandomValue_Bool"
level=DEBUG ts=2019-07-12T16:50:47.230629Z app=edgex-support-scheduler source=schedule.go:485 msg="execution returns status code : 400"
level=DEBUG ts=2019-07-12T16:50:47.230934Z app=edgex-support-scheduler source=schedule.go:486 msg="execution returns response content : no request body provided; PUT /api/v1/device/name/Random-Boolean-Device/RandomValue_Bool\n"

Ok this is a bug.  I am looking through the code and I don't think we have ever used POST or PUT IntervalActions verb types.   I can see were missing any kind of body buffer io operations. The fix will not be to bad as were currently passing the parameters property optionally.     I will see to it that both the HTTPMethod types POST and PUT are working correctly.


Wait for emulator to start

It sometimes happens the tests are executed before Firebase Emulator is ready due to a race condition. Waiting for the Firebase emulators to start should be make tests more reliable.

android failed 😞

I've had current iOS failure, remove the iOS cocoapods cache to fix

The Android test is flaky, it still sometimes fails, but it shouldn't be made worse by these changes as it happens in other PRs as well. It passed now after restart.
I've cleared cocoapods cache by changing the cache key.


Allow passing custom error buffer to wasm_instance_new_with_args

This is helpful if the user uses different logging technique and wants to get error message back to their system
This breaks public API and I'm not sure how do we proceed with this kind of changes (assuming you're happy to accept it). Could you please provide a recommendation or point me to a process related to releasing backward-incompatible changes? Optionally we can make the last two arguments default (e.g. set error_buf to NULL and if that's the case, the wasm_instance_new_with_args will use internal buffer) however I find this a bit polluting the API, so would rather avoid default arguments in that case.

In my opinion, I don't suggest to change signature of any released public API. I always tend to create a new one.
But in this case, I believe we should use wasm_trap_t and its wasm_message_t to pass error message. Caller could use wasm_trap_message to retrieve information, and wasm_trap_trace to get call stack if it is provided.

i agree it's better to use a trap, at least for a subset of errors.

makes sense, resolving as we already have https://github.com/bytecodealliance/wasm-micro-runtime/pull/1751


Make resolveOnUri configurable from the redirect callback

The reason for this is when you want to use this library from the browser and not the phone and the redirect uri goes to a different domain than your current one. You want to be able to make the url that you listen on CORS compatible.

Meant to test this out locally first, but I'll leave this up or close it if it fits what I am looking for :)

Confirming that this is indeed a change that is useful for our use case, but let me know how you feel about it.  I'll outline the scenario below:
client (app1.domain.com)
              VV
start login process with provider (salesforce) where callbackUrl is set to auth.domain.com
              VV
auth.domain.com takes token and redirects to client (app1.domain.com)
              VV
!! this is where having resolveOnUri configurable is important !!
client popup window listens for app1.domain.com (not the redirectUri) when doing the noop to grab the token
              VV
do whatever with token you want after

I'll reopen on dev branch if you find this PR useful. Sorry just read that piece in your documentation now.

reopened against dev https://github.com/nraboy/ng2-cordova-oauth/pull/54


Apply rights naming convention

Counter part of https://github.com/LycheeOrg/Lychee/pull/1539

Found another issue: updating login credentials doesn't work, you changed the API endpoint but not the queried API in the UI. Need to change Settings::updateLogin to User::updateLogin.

Fixed: e588007

Let me sum up the issue again:

You changed only one API to updateLogin. Also change it in line 217. Are you sure that the change you did is correct?
If you have upload privileges, the upload button is shown on all albums, but you get an error (of course) if you're not the owner.
The photo visibility dialog enables the Public switch if you never selected something from it and saved it. The photo is not public though.

should be fixed with 93f5fe7
should be fixed with fbb8ade
should be fixed with 93f5fe7.


Error: 0x80070005 after installing on Win10 Skip Ahead build 17618

Installed the new Kali build yesterday and received the following, on a Skip Ahead Insider build:
Installing, this may take a few minutes...
Installation Failed!
Error: 0x80070005
Press any key to continue...
Also bash from PowerShell throws teh same

Did you install it from Windows Store?

Could you collect logs?
https://github.com/Microsoft/WSL/blob/master/CONTRIBUTING.md#8-detailed-logs

@benhillis, I believe I'm having the same problem. I've collected the ETL logs. Shall I attach them here, or do you want me to send them to you another way?
Problem: attempting to launch Ubuntu on Windows 10 Version 1803 (OS Build 17133.1) fails with "Error: 0x80070005".
Repro steps:

ubuntu /clean
Go to Apps in Setting and remove the Ubutnu app
Visit https://aka.ms/wslstore
Install Ubuntu
From an admin command prompt, start the 3 logman.exe traces.
From a non-elevated command prompt run ubuntu.
Stop the three logman traces.

Expected results:
Prompted to set username and password.
Actual results:
C:\Users\chwarr>ubuntu
Installing, this may take a few minutes...
Installation Failed!
Error: 0x80070005
Press any key to continue...

Try to run kali.exe in start menu as administrator.

Tickle. I have logs for the repro running ubuntu , but I need instructions for how to get them to you, as I believe they have PII inside of them.

@chwarr, out of curiousity, did you try using wsl.exe under an elevated CMD/PS? If the appx is installed, some users have reported using this works around the issue and afterwards they can run distro.exe. Note that wsl.exe will launch your default distro. You'll need wslconfig.exe to change the default, in case you need to do the same thing for each distro.

wsl is reporting that there are no distros installed:
4/25/2018 3:01:45 PM :: chwarr@CHWARR-ZEN4 :: C:\src
  [5] # wslconfig /l
Windows Subsystem for Linux has no installed distributions.
Distributions can be installed by visiting the Microsoft Store:
https://aka.ms/wslstore
4/25/2018 3:01:48 PM :: chwarr@CHWARR-ZEN4 :: C:\src
  [6] # wsl
Windows Subsystem for Linux has no installed distributions.
Distributions can be installed by visiting the Microsoft Store:
https://aka.ms/wslstore
Press any key to continue...

I sais.run Kali as administrator for first time. The use wal.exe.

Good suggestion, @Biswa96: elevated vs. unelevated doesn't appear to matter.
The run in my previous comment was unelevated.
Here's an elevated run:
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

Loading personal and system profiles took 7398ms.
4/26/2018 12:02:13 PM :: chwarr@CHWARR-ZEN4 :: C:\src
  jobs: 1  [1] # get-command kali

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Application     kali.exe                                           <IP_ADDRESS>    C:\Users\chwarr\AppData\Local\Microsoft\WindowsApps\kali.exe

4/26/2018 12:02:23 PM :: chwarr@CHWARR-ZEN4 :: C:\src
  [2] # kali
Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x80070005
Error: 0x80070005 Access is denied.

Press any key to continue...

That's weired. This problem arises in my PC in build 17650, not in previous builds. Only elevated command prompt can install tar.gz. Although I haven't tried with Store Apps.

Shouldn't need to run elevated for extraction, very odd. Ok so just to verify this isn't a dupe/regression, how about restarting the LXSS service (if you even see it running). What would be ironic is if the issue is simply because all the Store apps updated to use the updated launcher from https://github.com/Microsoft/WSL-distrolauncher. Of course the only way to test that is to manually compile it yourself.

Are you sure that Kali team use that repository?  ¯_(ツ)_/¯

@DarthSpock: I found a service with short name "LxssManager". Restarting that doesn't fix the access denied error.
4/26/2018 2:43:15 PM :: chwarr@CHWARR-ZEN4 :: C:\src
  [9] # get-service -name LxssManager

Status   Name               DisplayName
------   ----               -----------
Running  LxssManager        LxssManager

4/26/2018 2:43:20 PM :: chwarr@CHWARR-ZEN4 :: C:\src
  [10] # Stop-Service -Name LxssManager
4/26/2018 2:43:28 PM :: chwarr@CHWARR-ZEN4 :: C:\src
  [11] # Start-Service -Name LxssManager
4/26/2018 2:43:36 PM :: chwarr@CHWARR-ZEN4 :: C:\src
  [12] # ubuntu
Installing, this may take a few minutes...
Installation Failed!
Error: 0x80070005
Press any key to continue...
4/26/2018 2:43:41 PM :: chwarr@CHWARR-ZEN4 :: C:\src
  [13] # kali
Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x80070005
Error: 0x80070005 Access is denied.

Press any key to continue...
4/26/2018 2:43:45 PM :: chwarr@CHWARR-ZEN4 :: C:\src
  [14] # get-service LxssManager

Status   Name               DisplayName
------   ----               -----------
Running  LxssManager        LxssManager

@DarthSpock: I found a service with short name "LxssManager". Restarting that doesn't fix the access denied error.
4/26/2018 2:43:15 PM :: chwarr@CHWARR-ZEN4 :: C:\src
  [9] # get-service -name LxssManager

Status   Name               DisplayName
------   ----               -----------
Running  LxssManager        LxssManager

4/26/2018 2:43:20 PM :: chwarr@CHWARR-ZEN4 :: C:\src
  [10] # Stop-Service -Name LxssManager
4/26/2018 2:43:28 PM :: chwarr@CHWARR-ZEN4 :: C:\src
  [11] # Start-Service -Name LxssManager
4/26/2018 2:43:36 PM :: chwarr@CHWARR-ZEN4 :: C:\src
  [12] # ubuntu
Installing, this may take a few minutes...
Installation Failed!
Error: 0x80070005
Press any key to continue...
4/26/2018 2:43:41 PM :: chwarr@CHWARR-ZEN4 :: C:\src
  [13] # kali
Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x80070005
Error: 0x80070005 Access is denied.

Press any key to continue...
4/26/2018 2:43:45 PM :: chwarr@CHWARR-ZEN4 :: C:\src
  [14] # get-service LxssManager

Status   Name               DisplayName
------   ----               -----------
Running  LxssManager        LxssManager

Just got force upgraded to OS Build 17134.1 and I'm still seeing this behavior.
My outstanding offer to send logs or get you access to the machine in question still stands: I just need to know how you'd like me to submit them.
4/30/2018 3:26:42 PM :: chwarr@CHWARR-ZEN4 :: C:\src
  jobs: 1  [1] # cmd /c ver

Microsoft Windows [Version 10.0.17134.1]
4/30/2018 3:28:16 PM :: chwarr@CHWARR-ZEN4 :: C:\src
  [2] # wsl
Windows Subsystem for Linux has no installed distributions.
Distributions can be installed by visiting the Microsoft Store:
https://aka.ms/wslstore
Press any key to continue...
4/30/2018 3:28:19 PM :: chwarr@CHWARR-ZEN4 :: C:\src
  [3] # ubuntu
Installing, this may take a few minutes...
Installation Failed!
Error: 0x80070005
Press any key to continue...
4/30/2018 3:28:22 PM :: chwarr@CHWARR-ZEN4 :: C:\src
  [4] # kali
Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x80070005
Error: 0x80070005 Access is denied.

Press any key to continue...
4/30/2018 3:28:24 PM :: chwarr@CHWARR-ZEN4 :: C:\src
  [5] # restart-service -name LxssManager
4/30/2018 3:28:31 PM :: chwarr@CHWARR-ZEN4 :: C:\src
  [6] # wsl
Windows Subsystem for Linux has no installed distributions.
Distributions can be installed by visiting the Microsoft Store:
https://aka.ms/wslstore
Press any key to continue...
4/30/2018 3:28:35 PM :: chwarr@CHWARR-ZEN4 :: C:\src
  [7] # ubuntu
Installing, this may take a few minutes...
Installation Failed!
Error: 0x80070005
Press any key to continue...
4/30/2018 3:28:39 PM :: chwarr@CHWARR-ZEN4 :: C:\src
  [8] # kali
Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x80070005
Error: 0x80070005 Access is denied.

Press any key to continue...

Logs would be useful, here are the instructions:
https://github.com/Microsoft/WSL/blob/master/CONTRIBUTING.md#8-detailed-logs

I e-mailed the logs to<EMAIL_ADDRESS>The e-mail contains:

a console session trace of the commands I ran,
the detailed .etl log files,
the string "4cb5ee761adf45b5a0cbd31cda4bd4b8" so that it can be correlated to this comment in this issue.

@chwarr - Thanks for providing the logs.  I took a look and it looks like something is blocking access to the lxcore driver.  I will follow up with you via email to see if we can diagnose this further.

Turning off device guard, credentials guard and HyperV fixed this issue for me

@GuyGoldenberg - is it possible for you to narrow down which of those three components was causing the issue so I can follow up with them?

I've been consistently seeing this issue, and what I found on my system upgraded to RS4 was that turning off Driver Signature Enforcement via the advanced boot menu made everything work fine (no more permission denied), knowing that, is there anything of a remedy or workaround, at least for this case?
I've had the error consistently without hypervisor/device guard/etc enabled at all. I'd really rather not be forced into a reinstall.

@chwarr dropped by my office today and I was able to identify the issue and will be working on a fix to backport to 1803.

@TheGoddessInari any other workaround ? turning off Driver Signature Enforcement didnt help me

This should be resolved in 17672.  We are currently working with the servicing team to get this backported to 1803, bear with us!

The issue is with configurations that have user mode code integrity (UMCI) is enabled via a WDAC policy.

So I didn't have UMCI enabled, are we sure it's not VBS? Believe when i saw this (before I rebuilt w/ 1803) that I only had WDAG and Cred Guard enabled. No WDAC, but possibly could have been in audit mode.

@richlilly2004 - Are you sure you don't have UMCI enabled?
powershell get-cipolicyinfo
if the 0x10 bit is set, you have it enabled.

I never had a WDAC/Code Integrity policy created, but apparently 1709 made one for me back in September (no idea how). Finding the WDAC Guide, it told me I could disable that by moving C:\Windows\System32\CodeIntegrity\SIPolicy.p7b out of the way
This finally worked. Strange that disabling signature integrity checking got by that somehow, too. Either way, WSL works now. I'm now left wondering how UMCI got enabled in the first place.
I have used VBS at various times, but never with the user-mode policies/application control.

I too hit this edge case, as @TheGoddessInari mentioned, moving C:\Windows\System32\CodeIntegrity\SIPolicy.p7b somewhere else on the disk and rebooting fixes it:

This should be fixed in Insider build 17677.

Do you know when/if this issue will be patched on 1803?

+1

From: di-mae<EMAIL_ADDRESS>Sent: Tuesday, May 29, 2018 4:37:34 PM
To: Microsoft/WSL
Cc: richlilly2004; Mention
Subject: Re: [Microsoft/WSL] Error: 0x80070005 after installing on Win10 Skip Ahead build 17618 (#3020)
Do you know when/if this issue will be patched on 1803?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/Microsoft/WSL/issues/3020#issuecomment-392954067, or mute the threadhttps://github.com/notifications/unsubscribe-auth/APZVVOvGADLtMR5ZUljDiVdXBV38p-y9ks5t3b-egaJpZM4Sn604.

Installing WSL with the server installation method on Windows 10.0.17134.81 (1803) in a non-system directory.
PS L:\ubuntu> ./ubuntu1804.exe Installing, this may take a few minutes... WslRegisterDistribution failed with error: 0x80070005 Error: 0x80070005 ┼tkomst nekad.
The last is Windows-garbled Swedish for Access denied
running an elevated console resolves the issue

This also happens in insider builds. The WslRegistwrDistribution() and the COM method both need elevated permission.

I'm also running into this issue.
Installing, this may take a few minutes...
Installation Failed!
Error: 0x80070005
Press any key to continue...
Been blocked on this for few months now.  Is there any work around?  I understand that the fix is already in the newer builds but I need it in 1803. :)
logs.zip

One workaround mentioned above is https://github.com/Microsoft/WSL/issues/3020#issuecomment-389662966
Does that work?

That did work.  Seems I did do that in the past (I see the file I renamed last time) so it must get itself into a bad state again at some point.

@sunilmut @benhillis This error also present in build 17134.81 and 17686 (haven't tested 17692). I've tested in a clean installed Win 17134.81 VM in VBox. When I launched Ubuntu from Start menu, it shows:

The error may be in COM interface. The event log shows error with Microsoft-Windows-DistributedCOM and Microsoft-Windows-AppModel-Runtime services.  The following line confirms that: "The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID". Also same error 0x80070005: Access Denied shown in WslRegisterDistribution() function and LxssUserSession::RegisterDistribution() COM method.
As expected, if I extract the ubuntu.exe and install.tar.gz in a separate folder and run ubuntu.exe as administrator, it works well. Here are the event logs:
Ubuntu_1804.zip

i can confirm the workaround works. Thanks a lot!

Windows 10.0.17134.81 (1803)
To clarify, I do not use insider builds and the Store installation method works for me. The server installation method does not work unless you run as an administrator. However, it is probably a non-supported option to use the server installation on Windows 10, but not so uncommon I think.

@BeErikk Try this solution https://github.com/Microsoft/WSL/issues/3304#issuecomment-398489972

I still have this problem, and alas now routinely use Cygwin again. I installed via the store, and running "powershell get-cipolicyinfo" gives me
Options HVCIOptions Version PolicyGuid

  0           0       0 {0, 0, 0, 0...}

...which looks like I don't have UMCI on.
Perhaps a fresh install might work, but some advice on whether I can retrieve my files from the failed disk image would be useful. This would give some assurance in case this were to happen again in future.

I still have this with Debian from Store.
Windows 10 Pro
10.0.17763
C:\Windows\System32\CodeIntegrity\SIPolicy.p7b does not exist
PS C:\windows\system32> get-cipolicyinfo
get-cipolicyinfo : Device Guard ist in dieser Edition von Windows nicht verfügbar.
In Zeile:1 Zeichen:1
+ get-cipolicyinfo
+ ~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Get-CIPolicyInfo], NotSupportedException
    + FullyQualifiedErrorId : System.NotSupportedException,Microsoft.SecureBoot.UserConfig.GetCIPolicyInfoCommand

Reinstalling Hyper-V didn't help.

A side note for others who encounter this problem; one of the above comments triggered me to the fact that I was trying to install this in a system folder. When I moved it to a user folder it worked fine. For anyone who's trying this that might be an easier solution to test than some of the above.

I just figured out that the following solved the problem for me:
Invoke the bash command from a Windows shell with admin rights.
Since then I can use WSL / bash again also with normal user rights.

Bizarrely I had this problem again on a different computer with a more recent Windows build and my own solution above didn't work. The new solution was to give my user account full read/write rights to the folder and then, bizarrely, to run bash in a non-administrative window. Apparently my admin rights weren't sufficient for this but once I'd used that admin account to give my non-admin account rights it could then run fine.

I had the same problem with Ubuntu1804.
Per the tip of @tomshaffner, I copied directory
C:\Program Files\WindowsApps\CanonicalGroupLimited.Ubuntu18.04onWindows_1804.2018.817.0_x64__79rhkp1fndgsc
into
C:\Applications
and run  ubuntu1804.exe from
C:\Applications\CanonicalGroupLimited.Ubuntu18.04onWindows_1804.2018.817.0_x64__79rhkp1fndgsc
The problem is gone. It has been working fine with all kinds of commands.

I'm getting this with 1903 and 1803 with ubuntu 18.04.
I don't have the command get-cipolicyinfo and I don't have any security profiles set.

I just started getting this today after installing some updates to my Windows 10 1803 (Build 17134) machine.   Initially ubuntu just stopped working and reported 80070040 and then when I tried to reinstall by re-running Ubuntu under an elevated command prompt.  I got 8007005.  I seem to be stuck now.

@benstaniford Can you please try this: https://github.com/microsoft/WSL/issues/3020#issuecomment-457920974

@agowa338 Hmm, that doesn't seem to have worked.  I didn't have Hyper-V enabled at all previously so I guess that's become a pre-req quite recently?  However, enabling it, rebooting, and re-running the ubuntu18-4.exe process still shows an access denied HRESULT.
Oddly I can simply run bash.exe from a standard command prompt to gain access to WSL but the console that comes with Ubuntu no longer works.  Running wsl or wslbridge also no longer work though and VS Code can no longer show the WSL terminal.

I had the same problem with Ubuntu1804.
Per the tip of @tomshaffner, I copied directory

C:\Program Files\WindowsApps\CanonicalGroupLimited.Ubuntu18.04onWindows_1804.2018.817.0_x64__79rhkp1fndgsc

into

C:\Applications

and run ubuntu1804.exe from

C:\Applications\CanonicalGroupLimited.Ubuntu18.04onWindows_1804.2018.817.0_x64__79rhkp1fndgsc

The problem is gone. It has been working fine with all kinds of commands.

This right here worked all miracles.

Definitely not fixedin1809.
As per the comment above (https://github.com/microsoft/WSL/issues/3020#issuecomment-604589190 aka https://github.com/microsoft/WSL/issues/3020#issuecomment-490868622), just don't have spaces in your path.

:( this is back again after Windows Insider build 20231.re_prelease.201002-1444
Can't install Alpine Linux.:
~ $ alpine
Temporary directory: C:\Users\zenobius\AppData\Local\Temp\wsl_Alpine_setup
Downloading   : http://dl-cdn.alpinelinux.org/alpine/v3.9/releases/x86_64/alpine-minirootfs-3.9.0-x86_64.tar.gz
To local file : install.tar.gz
The current working directory is: C:\Users\zenobius\AppData\Local\Temp\wsl_Alpine_setup
File successfully deleted
Mime type available
Begin download
Cache filename available
100% [====================]
End download
Downloaded OK
Hash of file install.tar.gz is: f82efed1a80c9af86c38bed10f3541c5588453b97684d767a5a3b0f3fa0e3f09

Verifying Hash: OK
Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x80070005
WslRegisterDistribution failed
Error: 0x80070005 Access is denied.

Press any key to continue...

Info
~ $ wsl -l -v
  NAME                   STATE           VERSION
* docker-desktop-data    Running         2
  docker-desktop         Running         2

Device name	pennyroyal
Processor	Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz   2.80 GHz
Graphics cards	Intel(R) HD Graphics 630
NVIDIA GeForce GTX 1050
Intel(R) HD Graphics 630
Installed RAM	32.0 GB (31.9 GB usable)
Device ID	94BE758E-135E-44FB-BEE1-E22CD026D42E
Product ID	00330-80000-00000-AA080
System type	64-bit operating system, x64-based processor
Pen and touch	No pen or touch input is available for this display

~ $ npx envinfo
npx: installed 1 in 1.852s

  System:
    OS: Windows 10 10.0.20231
    CPU: (8) x64 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
    Memory: 20.79 GB / 31.86 GB
  Binaries:
    Node: 8.9.0 - C:\Program Files (x86)\Nodist\bin\node.EXE
    Yarn: 1.3.2 - C:\Program Files (x86)\Nodist\bin\yarn.CMD
    npm: 6.0.1 - C:\Program Files (x86)\Nodist\bin\npm.EXE
  Managers:
    pip2: 19.0.3 - C:\Python27\Scripts\pip2.EXE
    pip3: 20.2 - C:\Python38\Scripts\pip3.EXE
  Utilities:
    Git: 2.27.0.
  Virtualization:
    Docker: 19.03.13 - C:\ProgramData\DockerDesktop\version-bin\docker.EXE
  SDKs:
    Windows SDK:
      AllowDevelopmentWithoutDevLicense: Disabled
  IDEs:
    VSCode: 1.49.3 - C:\Program Files\Microsoft VS Code\bin\code.CMD
  Languages:
    Python: 3.8.1
  Browsers:
    Chrome: 86.0.4240.75
    Edge: Spartan (44.20231.1000.0), Chromium (Login Succeeded), ChromiumDev (Login Succeeded)
    Internet Explorer: 11.0.20231.1000

submitted feedback, but the feedback app decided to not give me a link...
T_T

Windows Insider broke permisions and no have rollback. [<EMAIL_ADDRESS>I_nstalling, this may take a few minutes...
WslRegisterDistribution failed with error: 0x80070005
Error: 0x80070005 Acceso denegado.
Press any key to continue..._

A side note for others who encounter this problem; one of the above comments triggered me to the fact that I was trying to install this in a system folder. When I moved it to a user folder it worked fine. For anyone who's trying this that might be an easier solution to test than some of the above.

This worked for me but make sure you copy it to a folder on the system drive per the following MS documentation.
https://learn.microsoft.com/en-us/windows/wsl/troubleshooting#installation-issues
Regards,
Paul

People in here https://github.com/microsoft/WSL/issues/6744 reported that this issue only exists with the store version and vanishes when WSL is installed without the Store and wsl.exe --update is ran.
The windows store probably causes this permission issue.


Bar chart sample not working with Angular4

I tried to include your basic bar chart sample in my Angular4 app. I can build and start my app but nothing is displayed. I get the following error in the console:
core.es5.js:1084 ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'ordinal' of undefined TypeError: Cannot read property 'ordinal' of undefined     at Object.nv.models.discreteBar (nv.d3.js:3957)     at Object.nv.models.discreteBarChart (nv.d3.js:4206)     at NvD3Component.initChart (ng2-nvd3.component.js:26)     at NvD3Component.ngOnChanges (ng2-nvd3.component.js:11)
I also tried downgrading d3 to version 3.4.4 - in that case I could't even build the app.

Hey, I use  npm install<EMAIL_ADDRESS>--save and it works like a charme. Please try it.

its working fine but lines are not there


CLI command to detect what distro is being used

This might be a good new issue to expose the distro detect stuff on the CLI.  It would be really clean for a zarf tools what-distro or something command to tell the user about their kubecontext + detected distro.
Originally posted by @jeff-mccoy in https://github.com/defenseunicorns/zarf/pull/407#discussion_r831416638

@RothAndrew @jeff-mccoy Help me understand why this is important in the context of Zarf.   Also, we're talking K8s distro not OS distro correct?

K8s distro, we do it internally, might be helpful to just expose it.


1.5.2 version bump

Bump version to 1.5.2

Pull Request Test Coverage Report for Build 520

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

Totals

Change from base Build 518:
0.0%

Covered Lines:
2694

Relevant Lines:
3529

💛  - Coveralls


As a content editor, I want to create linkable anchors in documents so that I can reference specific sections of my content on other pages.

testing notes
This feature was adapted from mep-django, where it has already been tested and accepted. See testing notes and comments on https://github.com/Princeton-CDH/mep-django/issues/464
Probably useful to run through similar testing steps to make sure you're comfortable with it, and also check that the display for PPA looks ok (link styles are slightly different).
Feel free to compare with the mep-django version of the feature in production; it's currently in use for the FAQ sections: https://shakespeareandco.princeton.edu/about/faq/
I thought this feature would be valuable to bring over to use with the most/least collected items listed in my essay, so that we can link directly to them and make them easier to refer to.

Works great! Ran through all of Nick's steps on Princeton-CDH/mep-django#464 and it jumps correctly, changes the URL, URL works when pasted in a new window. I added a linkable section to the test version of RSK's editorial page, then I added hyperlinked text on the Collections page and it successfully linked to the Most Collected Items section of the editorial.


lampda-snipchu

the artwork is a little lamp and his name is lampda!
i thought making this wouldn't be too hard, but i ended up taking around 4 hours to make it! i mostly spent my coding time adding parameters for True Customization (but i did have to put some restrictions for some parameters for physics purposes)
and making the lamp connect to the lampbox was really difficult (since my origin point started at the end of the arc, not the middle)!! but eventually i solved the problem with a concerningly long line of code

Very cute. You could make a seen where they all point different angles. Like a vector field with lights. Or raycast from the bulb onto something. I think it's Blot worthy but hope you keep developing it!
Congrats, here is the order form. We are sorting out some logistics so it may take a little while to get your Blot but you'll receive an email when it ships.

Oh I did notice that your snapshot name has to match the name in the metadata. Can you fix that?


feat(shared-data): correct existing labware defs engageHeight

overview
Closes #5226
changelog

existing 3 labware defs should be output in real mm from labware bottom

review requests

The 3 labware that use engageHeight should have their PD suggested defaults equal to ((original_number_in_def * 2) - 4) / 2. For GEN2 magnetic module, the final / 2 shouldn't happen, for GEN1, it should.

risk assessment
Shouldn't interfere with anything outside on engageHeight use in PD. But it WILL mess up creating engage magnet steps in PD with default values until we do #5230, because the min/max values we have aren't right; default values won't be valid until we fix the range. However this issue is blocking #5230 too.

Dismissing my approval since i think there is some confusion of real and short mm numbers here and in ranges and what the UI should accept. i think we talked about getting rid of the units all together?


Developers should be notified when they are added to the PR

Don't have cycles to look into this right now.


Str 304 migrate prover guest code

Description

Type of Change

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature/Enhancement (non-breaking change which adds functionality or enhances an existing one)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update
[X] Refactor

Checklist

[X] I have performed a self-review of my code.
[X] I have commented my code where necessary.
[X] I have updated the documentation if needed.
[X] My changes do not introduce new warnings.
[ ] I have added tests that prove my changes are effective or that my feature works.
[X] New and existing tests pass with my changes.

Related Issues

Closing this.
This is covered by #419


Change animation

The current animation of sliding content in and out laterally is visually interesting, but I wonder if it would be more semantically suggestive to use a folding/accordion animation, whereas deleted code is vertically compressed out of existence, and new code expands out in the opposite way.
For lines that are changed, I'd envision this to produce an effect similar to a slot machine or a cube rolling back.
Not sure if I'm describing the effect in a clear way. Does the above make any sense?

For a line that is changed, it could do the same thing, just horizontally. Accordion new characters, squish old ones.

Yes, if only part of a line is changed, that makes more sense, agreed.
That said, if a line is completely replaced, or the hunk spans more than one line, the vertical approach probably makes more sense, even if some portion of the lines remains unchanged.

Ok, I created #27 and #28 to try new animations (for lines).
See:
https://deploy-preview-27--github-history.netlify.com/babel/babel/blob/master/packages/babel-core/test/browserify.js
https://deploy-preview-28--github-history.netlify.com/babel/babel/blob/master/packages/babel-core/test/browserify.js
I think I like more the lines coming from the sides because it gives a sense of time direction.

Thanks for trying this out so quickly! The demos are great, but indeed the effect doesn't work out in all cases out of the box, especially when multiple lines are involved. Perhaps with some tweaks it would work better (e.g. highlighting the lines added / removed / changed with the usual diff colors, and the portions within them that changed)?
That said, I understand if you still think the sideways sliding animation works better.

I think neither animations work. You need to see both versions of a change line at the same time

Also my impression: seeing the diff is sooo useful in sooo many situations, that git-history should IMHO include (or some variant of) the diff visual to remain useful in the long-term. I noticed myself <--->-arrow-key-ing back-and-forth quickly in all of the demos.
"change blindness" may be a relevant scientific keyword here: the longer the delay between the different end states (i.e. the duration of the change animation), the more likely it becomes that a change is overlooked.

The current visualization is more for browsing different versions of a file rather than viewing the diff between two versions. I want to keep that, but I agree that people usually want to see a diff after browsing the history.
I'm thinking on adding some way to activate a "diff mode" that animates between diffs, as you change the "left" and/or the "right" version of a file.


pull request for e2e test at 12/23/2016 04:56:21

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


No Audio via HA Android App

Hello,
I successfully integrated my Reolink E1 Pro in HA and via browser everything works fine, however, via HA Android app audio seems to be deactivated, no option to turn it on. Status icon is "stream is played with WebRTC".

Hi, unfortunately same here. :(
There is something that we can do for resolve?

Hello, I have the same configuration, if I open home assistant from chrome for android or from its companion app the result does not change the audio does not work. If I open it from a PC browser the audio works.

Audio is only supported if the audio codec from the RTSP stream is OPUS or G.711 PCM. This is a limitation of the WebRTC spec https://developer.mozilla.org/en-US/docs/Web/Media/Formats/WebRTC_codecs

Check my new project. It can handle any codec situation with your help...
https://github.com/AlexxIT/go2rtc


Added documentation for useTitle options

Description
Small documentation addition to useTitle

LGTM
Honestly, I surprised. Why we need restoreOnUnmount as option? Why not to do it always?

LGTM
Honestly, I surprised. Why we need restoreOnUnmount as option? Why not to do it always?
I found PR but didn't catch the reason. @zsh2401 @streamich
If we do n’t make it optional,it might broke some systems down that depends on it.

LGTM
Honestly, I surprised. Why we need restoreOnUnmount as option? Why not to do it always?
I found PR but didn't catch the reason. @zsh2401 @streamich

If we do n’t make it optional,it might broke some systems down that depends on it.

If we do n’t make it optional,it might broke some systems down that depends on it.

@zsh2401, compare:
useTitle('myTitle', { restoreOnUnmount: false });
useMount(() => document.title = 'myTitle'); // do the same

Was it really worth to make a breaking change in useTitle?


Add manifest file for Vagrant v2.2.14

[ ] Have you signed the Contributor License Agreement?
[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] Have you validated your manifest locally with winget validate <manifest>, where <manifest> is the name of the manifest you're submitting?
[ ] Have you tested your manifest locally with winget install -m <manifest>?

Microsoft Reviewers: Open in CodeFlow

Have you tested your manifest locally with winget install --manifest <path>?
Note: <path> is the name of the directory containing the manifest you're submitting.
I'm updating the PR template with some additional help in this area.


Add ticks to getRate

Codecov Report
Base: 79.28% // Head: 79.47% // Increases project coverage by +0.19% :tada:

Coverage data is based on head (35884c4) compared to base (804070e).
Patch coverage: 96.15% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##           master      #47      +/-   ##
==========================================
+ Coverage   79.28%   79.47%   +0.19%
==========================================
  Files          24       24
  Lines         642      653      +11
  Branches      138      140       +2
==========================================
+ Hits          509      519      +10
- Misses        133      134       +1

Impacted Files
Coverage Δ

contracts/oracles/UniswapV3Oracle.sol
97.95% <96.15%> (-2.05%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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


Update mapbounds logic

Description
if more than one copies are visible, use max bounds else wrap bounds to cover international date line.
Signed-off-by: Vijayan Balasubramanian<EMAIL_ADDRESS>Issues Resolved
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #175 (1ce75fe) into main (ea102a5) will increase coverage by 0.14%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #175      +/-   ##
==========================================
+ Coverage   87.50%   87.64%   +0.14%
==========================================
  Files           6        6
  Lines         176      178       +2
  Branches       24       24
==========================================
+ Hits          154      156       +2
  Misses         16       16
  Partials        6        6

Impacted Files
Coverage Δ

...Dashboards/plugins/dashboards-maps/common/index.ts
100.00% <0.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Add NaNs to estimation result and handle NaNs in graphs

All graphs will now display an edge if it is not NaN, even if the values is zero. This makes the model relations visible even in cases where the actual effect is zero.
For this to work, adding NaNs to the estimation results was necessary, as the graphs would explode in size, otherwise.

@Holger-Bartel I think we have set the final value to NaN. Is this a logical consequence and we can get the value from a different place, or did we introduce an error, here?

Ignore that, I am just skipping that part in the graph rendering because that node has no outgoing edges.


Improve various parts of the documentation

What was wrong?
There are many aspects of the documentation that need work and this PR doesn't aim to "fix" any of them fully but rather provides a first step in an iterative processes. With that in mind, let's focus on what it does.
How was it fixed?

the TOC was restructured and spiced up

Elaborated on the index file. It's worth pointing out that the index file includes contents from the introduction files (via include directive). In the future, introduction and index file may diverge but for now it seemed most practical to just go this way to have a "Introduction" link in the toc that shows the same content as the landing page.

Most importantly all the existing api docs were merged back with the docstrings directly in the source files and the API docs are directly generated from these source files using the autodoc directives. This makes the docstrings the single source of truth for the API docs so we don't have to maintain two versions. This is well aligned with how other projects handle this (shout out to trio)

It adds minimalist API docs for Trinity (really only what --help outputs but better than nothing)

The contribution guide now includes guidance regarding type hints and documentation. Please review carefully if there's anything in there you disagree or would like to discuss further.

A code of conduct was added

API docs on Chain were added (there's tons more API docs left to cover! Just getting started!)

In the spirit of a-gif-says-more-than-thousand-words:

Source code generated API docs (with working links to other types)

Cute Animal Picture

@pipermerriam this one job needs a manual retry (should be fixed once #626 lands)

Thank you both for your review! Did minor adjustments according to your feedback and landed it :tada:

Aaand it's live http://py-evm.readthedocs.io

Oh snap! The generated API docs don't work on the live site. There's probably some configuration I'm missing because trio uses the same mechanism with readthedocs. Investigating.

Fix is out. It's small enough that I'm tempted to merge to just fix the live site will you are still in your well deserved sleep but I rather wait patiently ;)
https://github.com/ethereum/py-evm/pull/631


Create design-time abstractions

NB: merging into a feature branch instead of dev.
Part of #5334
In order to create "ef.exe", we will need to unify types on both sides of the app domain. Currently, we do this in powershell by including "OperationHandlers.cs" which is compiled into the powershell host. Although we could continue to use transparent proxies to remote calls between types that are almost the same, if we can settle on abstractions that work, we can use ef.exe on .NET Standard libraries.
In addition, I'm adding strong types for results.
TODO: xmldocs
cc @bricelam

Looks good to me.

I don't like this idea. In the past, this area has evolved too much between releases. Hence the current reflection/proxy and IDictionary approach.


Can't load wave source?

After pressing start conversion, it cannot load wave source and pops us with an error message (screenshot)
I do not know how to reproduce it.
I expected it to work and convert.
-Windows 10
It's totally possible I messed up somewhere in the installation process.
This app is amazing, I heard a few songs that had their vocals removed from it, and it literally sounded official. I thought it was, until I heard it was made with this. I have no idea how your team managed to do this, but great job! Any help with this would be greatly appreciated!

Greetings,
This error is occurring because FFmpeg is missing or not fully installed.

I recommend anyone using 5.1 and below to please upgrade to 5.2. Nearly all of these errors have already been addressed.


Waiting for pod containers to become ready when tapping service

Great tool, looking forward to use it !
Description
The following command hang and then cancel port forward:
kubectl tap on -p 80 myservice --port-forward
Result :
Establishing port-forward tunnels to Service...
Waiting for Pod containers to become ready..........................................
Pod not running after 90 seconds. Cancelling port-forward, tap still active.

When checking the pod for my service :
kubectl get pods
....
mypod        0/2     ContainerCreating   0          12m
....
kubectl logs mypod
Error from server (BadRequest): a container name must be specified for pod mypod, choose one of: [mypod kubetap]
kubectl logs mypod kubetap
Error from server (BadRequest): container "kubetap" in pod "mypod" is waiting to start: ContainerCreating

Screenshots or other information
Go version: go version go1.13 linux/amd64
Kubernetes client version: 1.16.0
Kubernetes server version: 1.14.9-eks

When you perform a kubectl describe of the Pod, what does it show? Its seems that it's stuck in a creating state.

Establish a non-interactive tap so it doesn't automatically untap:
kubectl tap on -p80 myservice

Seems a configmap cannot be mounted :
kubectl describe pod mypod-6fdfb85784-2rtbs kubetap
[....]
Events:
  Type     Reason       Age                  From                                                      Message
  ----     ------       ----                 ----                                                      -------
  Warning  FailedMount  16m (x82 over 166m)  kubelet, ip-10-153-231-216.ca-central-1.compute.internal  MountVolume.SetUp failed for volume "kubetap-target-mypod" : configmap "kubetap-target-mypod" not found
  Warning  FailedMount  98s (x73 over 164m)  kubelet, ip-10-153-231-216.ca-central-1.compute.internal  Unable to mount volumes for pod "mypod-6fdfb85784-2rtbs_default(4dab51fa-9b66-11ea-afc6-02470cf3a3ac)": timeout expired waiting for volumes to attach or mount for pod "default"/"mypod-6fdfb85784-2rtbs". list of unmounted volumes=[kubetap-target-mypod]. list of unattached volumes=[kubetap-target-mypod mitmproxy-data]

was the configmap created? Does your user have the ability to create configmaps?

Seems to be created, but empty :
kubectl describe configmap kubetap-target-mypod-service
Name:         kubetap-target-mypod-service
Namespace:    default
Labels:       <none>
Annotations:  kubetap.io/proxy-config: target-mypod-service

Data
====
Events:  <none>

That seems very odd, because looking at the code an error should be raised (terminating the program) if the configmap fails to write. I'd say this was a fluke, but it probably isn't. I'm testing changes now which add some sanity checks to the process, and ensure that the data in the CM we create matches the data after creation.
Out of curiosity, can you replicate that behavior with a new tap (in a different namespace)?

I only have the default namespace in my setup, but after trying with another pod, same behavior sadly.
Let me know if you want me to test again once you added those changes ! :)

Okay, I'll be pushing to a branch in a few minutes. I request that you to rebuild on that branch with make and try again. I suspect I know what the result will be, but have to kick the tires to be sure. I still am unsure of the underlying problem.

I changed my mind, pushed to master. Please pull and let me know if anything has changed :)

I re-installed with the one-liner as make was giving me an error.
cd && GO111MODULE=on go get github.com/soluble-ai/kubetap/cmd/kubectl-tap@latest
I hope that did trigger an update of kubectl on master ?
The test gave me the same behavior as previously, no extra output.
The configmap is still empty.

cd into the source directory in your ${GOPATH} and run make

I am getting the same error  - empty configmap.  I installed by brew and kubectl tap version doesn't show the version but brew download is from https://codeload.github.com/soluble-ai/kubetap/tar.gz/v0.1.1.

@rajetta Does the underlying Pod have access to ConfigMaps?


Integration container build errors are absent from the log messages

In some cases if the builder fails (i.e.: if it fails to pull the base image), the information about this failure is absent from the logs. This makes debugging build errors much more complicated.
Log snippet on a build that failed because it could not pull the base image:
{"level":"info","ts":1621320008.451126,"logger":"camel-k","msg":"spectrum - 2021/05/18 06:40:08 Pulling base image localhost:5000/openjdk11:slim (insecure=true)..."}
{"level":"info","ts":1621320008.4511755,"logger":"camel-k","msg":"spectrum - 2021/05/18 06:40:08 No matching credentials were found, falling back on anonymous"}
{"level":"info","ts":1621320008.6820612,"logger":"camel-k.controller.build","msg":"Build state transition","request-namespace":"default","request-name":"kit-c2hm1tlcbeqlprug5nn0","api-version":"camel.ap
ache.org/v1","kind":"Build","ns":"default","name":"kit-c2hm1tlcbeqlprug5nn0","phase":"Failed"}
 {"level":"info","ts":1621320008.6868963,"logger":"camel-k.controller.build","msg":"Reconciling Build","request-namespace":"default","request-name":"kit-c2hm1tlcbeqlprug5nn0"}
{"level":"info","ts":1621320008.687199,"logger":"camel-k.controller.integrationkit","msg":"Reconciling IntegrationKit","request-namespace":"default","request-name":"kit-c2hm1tlcbeqlprug5nn0"}
{"level":"info","ts":1621320008.6882634,"logger":"camel-k.controller.integrationkit","msg":"Invoking action build-submitted","request-namespace":"default","request-name":"kit-c2hm1tlcbeqlprug5nn0","api-
version":"camel.apache.org/v1","kind":"IntegrationKit","ns":"default","name":"kit-c2hm1tlcbeqlprug5nn0"}
{"level":"info","ts":1621320008.6882765,"logger":"camel-k.controller.build","msg":"Invoking action error-recovery","request-namespace":"default","request-name":"kit-c2hm1tlcbeqlprug5nn0","api-version":"
camel.apache.org/v1","kind":"Build","ns":"default","name":"kit-c2hm1tlcbeqlprug5nn0"}

I'll send a PR for this one.

It should be fixed with #2269.


System.ArgumentException when trying to get items from IStorageFolder (from clipboard)

When trying to get items from folder, that is retrieved from Clipboard content System.ArgumentException: Value does not fall within the expected range. exception is thrown.
Here is sample code to reproduce issue:
var cb = Clipboard.GetContent();
var storageItems = await cb.GetStorageItemsAsync();
foreach (var item in storageItems)
{
    if (item is IStorageFolder)
    {
        var pastedFolderItems = await (item as IStorageFolder).GetItemsAsync() // <= Exception
    }
    else if (item is IStorageFile)
    {
        // With storage item everyting works.
    }
}

Exception Details

System.ArgumentException occurred
HResult=0x80070057
Message=Value does not fall within the expected range.
Source=System.Private.CoreLib

This does not appear to be reporting an issue with a sample, but rather with your own code. You can open a support case with our Developer Support team who can further help with the specific problem you are experiencing. Please use these steps below for further help:

Visit http://aka.ms/storesupport and sign-in with your Microsoft account
Under the “App Development” section choose "Windows 10 universal app development", then choose the appropriate problem type and category to get engaged through a formal support channel.

Issue is related to samples too, because there is no example of using that IStorageFolder.
https://github.com/Microsoft/Windows-universal-samples/blob/5f0d0912214afc1c2a7c7470203933ddb46f7c89/Samples/Clipboard/cs/CopyFiles.xaml.cs#L133

Whether it's bug in your code or a bug in the UWP clipboard service, it's not a bug in the sample.

I agree, but is there any way for reporting issue for uwp? (except one with support subscription in your provided link)

Feedback Hub has a "Developer Platform" category.

I just confirmed with the feature team that this is a bug and it is being tracked on the product side. It occurs if the folder was placed on the clipboard by a non-UWP app.

This turns out to be on purpose, for security reasons. Otherwise, UWP apps could "steal" any file copied to the clipboard. The code in this repo handles the issue correctly: By catching the exception and reporting that clipboard contents are not available.


Add state filtering to filter on the state of the pull request

Hello,
First and foremost, thanks for your work on this concourse resource, it helps me a lot.
As I use it, I feel it would be nice to allow filtering on the state of the pull request; for example, I would like to trigger a build when one pull request with a specific state and label is closed to clean QA env or some bucket on S3.
Note: I did not find any documentation on possible state so I assume it could be open, closed or merged. Do I have to add this list to the README.md?

Why do you need closed pull requests?

It looks like the documentation says open. closed, or all.

As I said, I would like to use closed pull requests to clean QA environments or temporary storages.

I just realized that I need to modify 'Filters::Allmore than create a new filter type to filter on the state of the pull request. If you are OK with that, I'm working on using@input.source.stateinFilters::Allto createpull_options`.

Sorry, I'm not sure I want to accept this PR. I often push back on the feature set of the pull request resource. It provides a mechanism for detecting, iterating, and set setting statuses on open PRs. I'd like to keep it simple and have it remain that intention.
Being able to detect close PRs is a use case, but not for this resource. As I cannot really think of a reason to set a status on a closed resource.
I'm coming from the philospohy that too many dobs and nials to make something highly configurable doesn't it make a better product. This is why I always ask, "What problem is being solved?" or "What is the use case?"
For your use case, of detecting closed PRs and cleaning up QA environments, can you just have that at the end of your pipeline? Detect an open PR, deploy the QA environment, once done testing against it, have the final job be the clean up?

I understand your point on keeping things simple and I'll work on creating a resource to handle state changes on pull request.
As for my use case, I'm working on cleaning manual QA environments and developer sandboxes which became useless after merging or closing the pull request.