Unique constraint fails when trying to bulk update

I'm trying to use the new bulk update that uses DRF 3. When I try to bulk update with a model that uses a unique_together constraint I get an error: 'QuerySet' object has no attribute 'pk'
Here is the code
#the model
class Answer(models.Model):
    user = models.ForeignKey(User, null=False, blank=False)
    parameter = models.ForeignKey(Parameter, null=False, blank=False)
    answer_number = models.FloatField(null=True, blank=True)
    answer_date = models.DateField(null=True, blank=True)
    answer_boolean = models.BooleanField(default=False)
    answer_currency = models.DecimalField(null=True, blank=True, max_digits=24, decimal_places=8)

    class Meta:
        unique_together = ("user", "parameter")

#the serializer
class AnswerSerializer(BulkSerializerMixin, serializers.ModelSerializer):
    answer = NoValidationField()

    class Meta:
        model = Answer
        fields = ['id', 'answer', 'parameter', 'user']
        list_serializer_class = BulkListSerializer

#the view
class AnswerList(ListBulkCreateUpdateAPIView):
    queryset = Answer.objects.all()
    serializer_class = AnswerSerializer

I tried to debug the problem and I think it is a validation problem. Plase help.
TY

What's your traceback?
On Feb 17, 2015 9:52 PM, "nikolaz111"<EMAIL_ADDRESS>wrote:

I'm trying to use the new bulk update that uses DRF 3. When I try to bulk
update with a model that uses a unique_together constraint I get an
error: 'QuerySet' object has no attribute 'pk'
Here is the code
#the modelclass Answer(models.Model):
user = models.ForeignKey(User, null=False, blank=False)
parameter = models.ForeignKey(Parameter, null=False, blank=False)
answer_number = models.FloatField(null=True, blank=True)
answer_date = models.DateField(null=True, blank=True)
answer_boolean = models.BooleanField(default=False)
answer_currency = models.DecimalField(null=True, blank=True, max_digits=24, decimal_places=8)
class Meta:
    unique_together = ("user", "parameter")

#the serializerclass AnswerSerializer(BulkSerializerMixin, serializers.ModelSerializer):
answer = NoValidationField()
class Meta:
    model = Answer
    fields = ['id', 'answer', 'parameter', 'user']
    list_serializer_class = BulkListSerializer

#the viewclass AnswerList(ListBulkCreateUpdateAPIView):
queryset = Answer.objects.all()
serializer_class = AnswerSerializer
I tried to debug the problem and I think it is a validation problem. Plase
help.
TY
—
Reply to this email directly or view it on GitHub
https://github.com/miki725/django-rest-framework-bulk/issues/30.

Environment:
Request Method: PUT
Request URL: http://localhost:8000/api/1.0/q/answers
Django Version: 1.7.4
Python Version: 3.4.0
Installed Applications:
('django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'rest_framework_bulk',
'corsheaders',
'questions',
'users',
'goals',
'octave')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware')
Traceback:
File "/home/nicolas/alkanza/alkanza-django/app/venv34/lib/python3.4/site-packages/django/core/handlers/base.py" in get_response
111.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/nicolas/alkanza/alkanza-django/app/venv34/lib/python3.4/site-packages/django/views/decorators/csrf.py" in wrapped_view
57.         return view_func(*args, **kwargs)
File "/home/nicolas/alkanza/alkanza-django/app/venv34/lib/python3.4/site-packages/django/views/generic/base.py" in view
69.             return self.dispatch(request, *args, **kwargs)
File "/home/nicolas/alkanza/alkanza-django/app/venv34/lib/python3.4/site-packages/rest_framework/views.py" in dispatch
407.             response = self.handle_exception(exc)
File "/home/nicolas/alkanza/alkanza-django/app/venv34/lib/python3.4/site-packages/rest_framework/views.py" in dispatch
404.             response = handler(request, *args, **kwargs)
File "/home/nicolas/alkanza/alkanza-django/app/questions/views.py" in put
28.         return self.bulk_update(request, *args, **kwargs)
File "/home/nicolas/alkanza/alkanza-django/app/venv34/lib/python3.4/site-packages/rest_framework_bulk/drf3/mixins.py" in bulk_update
73.         serializer.is_valid(raise_exception=True)
File "/home/nicolas/alkanza/alkanza-django/app/venv34/lib/python3.4/site-packages/rest_framework/serializers.py" in is_valid
186.                 self._validated_data = self.run_validation(self.initial_data)
File "/home/nicolas/alkanza/alkanza-django/app/venv34/lib/python3.4/site-packages/rest_framework/serializers.py" in run_validation
515.         value = self.to_internal_value(data)
File "/home/nicolas/alkanza/alkanza-django/app/venv34/lib/python3.4/site-packages/rest_framework/serializers.py" in to_internal_value
545.                 validated = self.child.run_validation(item)
File "/home/nicolas/alkanza/alkanza-django/app/venv34/lib/python3.4/site-packages/rest_framework/serializers.py" in run_validation
366.             self.run_validators(value)
File "/home/nicolas/alkanza/alkanza-django/app/venv34/lib/python3.4/site-packages/rest_framework/fields.py" in run_validators
382.                 validator(value)
File "/home/nicolas/alkanza/alkanza-django/app/venv34/lib/python3.4/site-packages/rest_framework/validators.py" in call
140.         queryset = self.exclude_current_instance(attrs, queryset)
File "/home/nicolas/alkanza/alkanza-django/app/venv34/lib/python3.4/site-packages/rest_framework/validators.py" in exclude_current_instance
133.             return queryset.exclude(pk=self.instance.pk)
Exception Type: AttributeError at /api/1.0/q/answers
Exception Value: 'QuerySet' object has no attribute 'pk'

Don't see anything wrong. Will need to debug.

I debugged it and saw that the problem was that instance is a QuerySet. Maybe is a DRF problem? Thanks for fast reply.

The issue sounds like DRF is assuming you are working with a single object, but not a queryset. The issue though is that we are making it clear that it's multiple objects.
I'd have to look further into the traceback to determine the actual cause though.

Seems like this is an issue in DRF itself. It blows up here.

Just opened PR in DRF with a preliminary fix - https://github.com/tomchristie/django-rest-framework/pull/2575
Please let me know if that fixes your problem.

Indeed it fixes my issue. Thank you very much.

Looking at PR #2575 in DRF itself, and then at PR #2720, I can see where the problem is, but I still don't know what the fix is, since @tomchristie said that he will not accept that pull request because that is not general enough.
I have "id" in my data so PR #2720 is OK for me, but I don't want to manually change the code and break it every time it updates. What can I do?

Agreed this is a bug with DRF.  While waiting for a DRF fix (I scanned through the DRF issue list and didn't see a matching entry for this bug), what if you did the following:
Instead of validating the list serializer in it's entirety, iterate over each item in the list and validate it individually. As each item is validated, the validated data can be captured in a running validated data list.  Once every item has been validated, the list of validated data is set as the validated data on the original list serializer.  The concept is outlined below.  NOTE: To do this properly, you would not raise an exception immediately if an individual item fails validation as I have done, but rather capture the errors from each item that fails and return a complete error response for the whole list.
    def bulk_update(self, request, *args, **kwargs):
        partial = kwargs.pop('partial', False)
        # restrict the update to the filtered queryset
        serializer = self.get_serializer(
            self.filter_queryset(self.get_queryset()),
            data=request.data,
            many=True,
            partial=partial,
        )
        validated_data = []
        for item in request.data:
            item_serializer = self.get_serializer(
                data=item,
                partial=partial,
            )
            item_serializer.is_valid(raise_exception=True)
            validated_data.append(item_serializer.validated_data)
        serializer._validated_data = validated_data
        self.perform_bulk_update(serializer)
        return Response(serializer.data, status=status.HTTP_200_OK)

Jumpin' in.
@mstachowiak this is a nice fix, I'm using it, actually and added error catching. There was another improvement to make for it to work, though: pass the updated instance to the item_serializer (otherwise it acts as if you want to create the object and not update it).
Here's the version I suggest:
    def bulk_update(self, request, *args, **kwargs):
        partial = kwargs.pop('partial', False)
        # restrict the update to the filtered queryset
        serializer = self.get_serializer(
            self.filter_queryset(self.get_queryset()),
            data=request.data,
            many=True,
            partial=partial,
        )
        validated_data = []
        validation_errors = []
        for item in request.data:
            item_serializer = self.get_serializer(
                self.get_queryset().get(pk=item['id']),
                data=item,
                partial=partial,
            )
            item_serializer.is_valid(raise_exception=True)
            if item_serializer.errors:
                validation_errors.append(item_serializer.errors)
            validated_data.append(item_serializer.validated_data)
        if validation_errors:
            raise ValidationError(validation_errors)
        serializer._validated_data = validated_data
        self.perform_bulk_update(serializer)
        return Response(serializer.data, status=status.HTTP_200_OK)

Since it is on hold (and looks a little like a dead end...) on django-rest-framework side maybe the patch can be added directly to drf-bulk, what do you think @miki725 ?

@adelaby thanks for extended code example. I would however like to suggest a couple of corrections:

Raise exception in is_valid should be removed in order to collect all the errors and raise them together later.
It would be better to use filtered queryset for item serializer like the list serializer and also use get_object_or_404 instead of get on the queryset (as done by DRF in get_object).

Corrected code:
def bulk_update(self, request, *args, **kwargs):         partial = kwargs.pop('partial', False)         # restrict the update to the filtered queryset         serializer = self.get_serializer(             self.filter_queryset(self.get_queryset()),             data=request.data,             many=True,             partial=partial,         )         validated_data = []         validation_errors = []         for item in request.data:             item_serializer = self.get_serializer(                 get_object_or_404(self.filter_queryset(self.get_queryset()), pk=item['id']),                 data=item,                 partial=partial,             )             if not item_serializer.is_valid():                 validation_errors.append(item_serializer.errors)             validated_data.append(item_serializer.validated_data)         if validation_errors:             raise ValidationError(validation_errors)         serializer._validated_data = validated_data         self.perform_bulk_update(serializer)         return Response(serializer.data, status=status.HTTP_200_OK)

Considering that this bug is caused by the to_internal_value method of ListSerializer, as mentioned in this issue tomchristie/django-rest-framework#2720, couldn't we simply override the default behaviour of the method to properly set the child's instance to the one in the queryset whose update_lookup_field matches. Something like this maybe(?)
for item in data:
   try:
       if self.instance is not None:
           id_attr = getattr(self.child.Meta, 'update_lookup_field', 'id')
           # there should also be some preemptive checks
           # that the data actually has the id
           filters = {id_attr: item.get(id_attr, None)}
           self.child.instance = self.instance.filter(**filters).first()
       validated = self.child.run_validation(item)
   except ValidationError as exc:
       errors.append(exc.detail)
   else:
       ret.append(validated)
       errors.append({})

Correct me if I am wrong, I don't know what the stance is on rewriting DRF methods.
I understand their team's decision not to alter it, as the default behaviour of ListSerializers is not currently defined in DRF and, for all they care, one implementation could replace the entire collection like a DELETE/POST and another can behave like this one. However, in our case this behaviour is pretty well-defined.
Another less invasive, but more complex option might be to add a custom many_init classmethod on the BulkSerializerMixin that returns a custom ListSerializer implemented by us.
Any opinions?

Another less invasive, but more complex option might be to add a custom many_init classmethod on the BulkSerializerMixin that returns a custom ListSerializer implemented by us.

We already do.

@kevin-brown Sorry, I think I didn't explain it correctly. I actually meant many_init returning a custom serializer class, not directly inheriting from ListSerializer in which we actually implement the to_internal_value ourselves so we can correct the behaviour that is currently implemented by DRF. This means implementing the list serializer as a derivate of Serializer, but in retrospect it seems like a bit of an overkill.

'id' key error raises my case since individual serializer run .is_valid() instead of ListSerializer so that
to_internal_value() does not add 'id' from request data at BulkSerializerMixin because "isinstance(self.root, BulkListSerializer)" fails.
I munually add root with BulkListSerializer in order to let BulkSerializerMixin.to_internal_value() add 'id' for 'PUT' and 'PATCH' mode.
for item in request.data:
    item_serializer = self.get_serializer(
        get_object_or_404(self.filter_queryset(self.get_queryset()), pk=item['id']),
        data=item,
        partial=partial,
    )
    # add here
    item_serializer.root = serializer
    if not item_serializer.is_valid():

Ran into this issue with the sample code provided in the README, while trying to bulk update a basic model (with only a unique constraint on the primary key). I got the error QuerySet' object has no attribute 'pk'.
Out of the box, the following seems to be broken (from the README):
# update multiple resources (requires all fields)
PUT
[{"field":"value","field2":"value2"}]   <- json list of objects in data

I'm running Django 1.10.2, Dajgno Rest Framework 3.5.1 and Django Rest Framework-Bulk 0.2.1

I was also facing KeyError for id, adding root was not working for me. I solved in following manner:
for item in request.data:
            item_serializer = self.get_serializer(
                get_object_or_404(self.filter_queryset(self.get_queryset()), pk=item['id']),
                data=item,
                partial=True,
            )
            if not item_serializer.is_valid():
                validation_errors.append(item_serializer.errors)
            obj_data = item_serializer.validated_data
            # by default validated_data does not have `id`, so adding it in
            # validated_data of each iteam
            obj_data['id'] = item['id']
            validated_data.append(obj_data)


[ui issue] navigator.clipboard only works in a secure context (HTTPS)

https://github.com/spr-networks/super/blob/3113fabe571d7866dbffdd66f2e0d076e2263bd4/frontend/src/components/Auth/AuthTokenList.js#L95

fixed in dev


I/O connectors pages loose the navigation

When navigating from the connectors listing [https://pulsar.apache.org/docs/next/io-connectors] to an individual connector page [https://pulsar.apache.org/docs/next/io-canal-source#configuration], the left navigation dissappears.

I'll close this issue since it has been transferred to pulsar.
For more context, see https://github.com/apache/pulsar-site/pull/236


Reproduce

First of all, thank you for your open-source code.
However, the metrics I obtained during the reproduction process also resulted in an EER of 9.76%.

I'll run it again and see.


Fractional Knapsack under Greedy Algorithm using Java

🛠 Issue #1223

Issue no #1223
👨💻 Changes proposed
Added Fractional Knapsack Java program under Greedy Algorithm.
✔ Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

📄 Note to reviewers
Fractional Knapsack problem program has been added with proper explanation and output is attached below.
📷 Screenshots

@072arushi please review this PR

@Kumar-laxmi All mentors approved. Its ready to merge.

@Kumar-laxmi Hi! sorry for the ping but after how much time it will be merged?


integrate functions to apply Heslop et al. (2023) bootstrap confidence region approach

This commit changes the pmag.form_Mhat function to be restricted to the way the function was published in the Heslop et al. (2023) notebook. It also develops ipmag.py functions that use these pmag functions to conduct the test and plot the results. Examples of the code in use are within this notebook: https://pmagpy.github.io/PmagPy-docs/example_notebooks/template_notebooks/mean_determination.html

@ltauxe I am going to go ahead and merge this pull request as I now have an associated example notebook up on https://pmagpy.github.io/PmagPy-docs/example_notebooks/template_notebooks/mean_determination.html but submitted it here as a pull request rather than a direct commit in order to group these two commits. Note that I changed your pmag.form_Mhat function to not calculate the mean within it as that seemed to be mixing the directional array and the mean that it wanted. I think it is all working as it should be now and the ipmag functions should make it convenient for folks to use. @dave-heslop74 Perhaps you can look at this implementation too. It wraps the notebook code in a function that accepts dec, inc lists or a di_block. I put it to use on the same McFadden et al. (1990) data here: https://pmagpy.github.io/PmagPy-docs/example_notebooks/template_notebooks/mean_determination.html


Enable ELB's in Amazon profile.

This ticket ( #1688 )and the decision to remote the ELB's from ticket #1710. Puts myself as a user of mantl into a tough spot. We deployed V1.2 which still has the ELB's in place. However there is no upgrade path for V1.3 on AWS.
There is no addon for me to enable ELBs. What do I do now? Do I fork the repository and just stick on v1.2? Do I hand port in changes?
Having an ELB front the edge nodes is a good thing because we get health checks, also the ability to have those ELB's do SSL termination if we want.
@johntdyer -Might have input to this as well.
Basically I'm asking let's find a way to not leave AWS users hanging. How can we work together to solve this?
Thanks,

Until we figure out the cert issues, you can use remote modules to point to the old 1.2 elb configuration.
It would be something like this in your main.tf file at the root of the project:
module "elb" {
    source = https://github.com/CiscoCloud/mantl//tree/1.2.0/terraform/aws/elb
}


OC-Registry: Preview Panel outputs JSON instead of a HTML preview.

Since the new OC-Registry update the preview panel is not working anymore.

The issue is not related to the latest update.
When you open a preview page, the preview url is set to baseUrl. If you have 2 instances (private/public) and you navigate the private (while the public has discovery:false) you won't be able to see the preview in html format.
I think @mattiaerre mentioned that to me a while ago and I forgot to add an issue.
I think the solution is to set the preview url to the current host instead of using the baseurl to construct it.


How to query user free liquid balance?

It is not observe to me how to query user free liquid balance easily.
Balances module have free balance and reserved balance.
Staking module and Democracy module have ability to mark all user's balance illiquid.
With upcoming #1782 it seems able to mark partially of the balance illiquid.
So the frontend code needs to query 3 different modules to know if a user is able to spend his money.
This will be worse if I need a custom module also have ability to stake user's fund in order to unlock certain operations.
It will be good if there is a centralized logic to query user's liquid balance, and better, user's balance status. e.g. 500 spendable DOT, 500 DOT spendable after 200 block, 500 DOT non-spendable until unstaked.
This means instead of balances module ask other modules if it can transfer user's fund, it should be other modules freeze user's fund via Currency trait. Isn't this is the purpose of reserved_balance?

Isn't this is the purpose of reserved_balance?

No. Reserved balance is essentially an alternative to temporarily seizing the balance from the user. The only difference is that it ensures it's still available to the slashing system to be slashed, to any token-voting systems, and guarantees that no more can be returned than what was seized. Crucially, balance reservations are mutually exclusive. If your account's total balance is reserved, then it cannot be reserved again until the first reservation is unreserved. Additionally, reserved balances can never be used to pay for transactions.
The notion of liquidity, as defined by EnsureAccountLiquid trait is quite different. It can be used to prevent the balance from transfer, or to prevent the balance being used to pay for transactions, or being used for a reserve (or any combination thereof). Crucially, the same balance can be made illiquid by different parts of the runtime for different reasons.
Indeed the UI will need to consolidate multiple modules' worth of information to give a full picture of the status of a balance. Balances is the obvious candidate for such a centralised module and such functionality might be reasonable to introduce next to the balance reservation functionality. The API would need some consideration in order to ensure it's general enough to replace EnsureAccountLiquid in all use cases.

Would be a storage item like:

It will be good if there is module identifier support. I am currently use hash of the module name and convert it into AccoundId and use it as the module identifier. But it requires redefine AccountId with additional trait bonds and a bit messy.


Use backoff package in proxylib/npds/client.go:NewClient()

NewClient() is using an open-coded exponential backoff. It can use https://godoc.org/github.com/cilium/cilium/pkg/backoff

Fixed by #5635


Hero4 power on command

I want to start up my gopro4 when wifi connected on PC.
what I can see is power off command on the list.
are there troubles on hacking this command?

Even I am also looking for the Same. I have HERO4 Silver.
Power off command is working

Use WoL the camera on using the MAC address


Fix: Microsoft Sote doesn't scroll to top when the apps icon is clicked

Description
When the apps icon is clicked in Windows Store application, the apps list opens a bit scrolled down, whereas the normal behaviour is to scroll to top.

Fixes (issue)
Added a line to scroll to top when the icon is clicked.
Type of change

[x] Bug fix (non-breaking change which fixes an issue)

I have read the CLA Document and I hereby sign the CLA

recheck

causing buggy behaviour
https://user-images.githubusercontent.com/89068816/195560157-b79dc168-b1b7-4553-9f7f-4047e7d3828b.mp4


DataGrids elements are crashing with error

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Current behavior 😯
DataGrids are showing an error state with the error message _mui_x_data_grid_internals__WEBPACK_IMPORTED_MODULE_0__.useGridColumnGroupingPreProcessors) is not a function.

Expected behavior 🤔
DataGrids render successfully without error
Steps to reproduce 🕹
Steps:

Drag a DataGrid to the app canvas

Context 🔦
It looks like this might've been caused by the @mui/x-data-grid-pro dependency updates in https://github.com/mui/mui-toolpad/pull/909.
Your environment 🌎
No response

This looks like corrupted build after switching branches.


Investigating changes in Google Analytics page views

What is the problem to solve?
This Slack message identifies page view counts for pages containing /stories and /articles escalating during July 2022 compared to unique page views. Has something changed on the website?
Here is the graph from the Slack message:

Here is the Data Studio report from which the graph was taken.

The Digital Engagement devs looked at the site around July 2022 and concluded that nothing had changed to cause the increase in page views.

Looking at page views vs unique page views for the whole site reveals higher numbers unique page views than page views before July 2022. This shouldn't be the case.

Looking at a specific page for the same period, we see that unique page views had always been slightly higher than total page views up until 1/3/2022. The disparity increased during April, only reverting to a more sensible position where numbers of unique page views were lower than total page views during July 2022.

So while it's not certain what brought about the change in July 2022, it seems that this is either the point at which processing of unique page view counts was corrected or the point where page views increased because of under-reporting prior to July 2022.
GA data cannot be changed retrospectively, so we're stuck with the data as it has been collected.

To get a sense of the degree to which certain site areas are affected, here is the data for
stories readers

collections users

events and exhibitions visitors

By way of comparison with the graph of collections page views from GA, here is the data from Kibana for the same period:

In summary, while it is impossible to identify the cause of the change page view counts and certainly beyond our ability to change the data, it does appear that an issue affecting all site pages was corrected during July 2022.
@alexwlchan @jamieparkinson ☝ what do you think?

Bounce rate is something else that changed in July 2022.

Looking at GA4 Engagement rate (average percentage of time users have the website foremost in their browser) is reassuring - except for August!

I've cracked it. The sudden increase in page views coincides with the drop in bounce rate and my configuring GA4 to collect Universal Analytics events. Because GA4 considers all user interactions as events, page views are double tagged.
It's easy to see how page views double but the bounce rate? If a user views only one page and leaves, that's a bounce but because the page views are double tagged, we get twice the number of bounces for each user.
I have now turned off the collection of UA events and will check GA in a few days to verify that this is in fact the cause of our page view/bounce issues.

Changes to GA4 tracking on 27/10 do not appear to have made any impact on page views or bounce rate. Google Tag Assistant has message, "Legacy tag for UA-55614-6 detected."

@davidpmccormick @gestchild I've been discussing the way Google Analytics has been implemented with Jamie in Slack. Here's a link to the discussion.
To find out if the implementation has anything to do with the pageviews increasing and bounce rate falling on 6 July, I ran Google Tag Assistant to find out what happens if I go from the /collections page to the /stories page, ie do I get 1 pageview or 2?
On page 4 of the report, it records 1 pageview preceded by identical pageview hit. So it looks like there's something going on with the tagging.

When I looked at the snippets using Inspect, here's the code I found for Google Analytics (UA):
<script type="text/javascript" async="" src="https://www.google-analytics.com/analytics.js"></script>
<script async="" src="https://www.google-analytics.com/analytics.js"></script>
<script type="text/javascript" async="" src="https://www.googletagmanager.com/gtag/js?id=UA-55614-6&l=dataLayer&cx=c"></script>

And here's the code that Google recommends:
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-55614-6"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'UA-55614-6');
</script>

This is followed by something that looks like Segment tracking code and then some code for GA4:
<script id="google-analytics-v4" src="https://www.googletagmanager.com/gtag/js?id=G-206J7SLYFC" async=""></script>
<script id="google-analytics-ua" async="">
          window.dataLayer = window.dataLayer || [];
          function gtag(){dataLayer.push(arguments);}
          gtag('js', new Date());</script>

And here's the code that Google recommends:
<script async src="https://www.googletagmanager.com/gtag/js?id=G-206J7SLYFC"></script>
<script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-206J7SLYFC'); </script>

I checked with the wellcome.org team to see if we could learn from their installations.
The dev who implemented UA for wellcome.org 2.5 years ago used Google Tag Manager. The PM engaged an external contractor to implement GA4 because the dev is now busy working with the Fundex team. The contractor used Google Tag Manager. We aren't currently using Google Tag Manager, so we can't replicate their code.
Decommissioning existing UA code and replacing this with Google Tag Manager code carries the risk of corrupting the data that feeds into UA. Part of this risk is losing custom dimensions such as PartOf which feed into reports. In addition, Data Studio reports currently use a data source called Weco With Extras which is based on the default collection view.
To assess the level of risk, an audit needs to be done of custom dimensions and other features of Weco With Extras against usage.

Steps to address this issue are in ticket #8892.


Can't change height of child widget when using Get.bottomSheet

Describe the bug
I have set the height of the child view but it only shows the maximum half of the screen.
**Reproduction code
Get.bottomSheet(
            Container(
              height: 900,
              color: Colors.red,
            ),
          );

To Reproduce
Steps to reproduce the behavior:

Click on action
See error

Expected behavior
Height child = 900
Screenshots

Flutter Version:
2.2.3
Getx Version:
4.3.8
Describe on which device you found the bug:
iPhone 12 Pro Max

Me too. please

Just pass isScrollControlled: true to the Get.bottomSheet.
Get.bottomSheet(
            Container(
              height: 900,
              color: Colors.red,
            ),
        isScrollControlled: true,
   );

Just pass isScrollControlled: true to the Get.bottomSheet.
Get.bottomSheet(
            Container(
              height: 900,
              color: Colors.red,
            ),
        isScrollControlled: true,
   );

Thanks you. it worked


Quickfix: Add fallback method to find wskprops when go-client fails

We need a longer-term fix that starts in the Go Client (which we use in some cases) where Go client needs to be made more robust and perhaps look to packages such   (i.e., https://github.com/mitchellh/go-homedir) it appears to be a single file under MIT license which if we switch to we would need to note..
Which is used by the CLI and appears to be a single file under MIT license which if we switch to we would need to note.  This means go-client, and CLI may need to be cleaned up and once that is done wskdeploy would strictly rely upon go-client ReadProp() impl.

quick fix to resolve: https://github.com/apache/incubator-openwhisk-wskdeploy/issues/1014
Fixes #1014


"Created" date

Read motivation here first: https://github.com/ARK-Builders/ARK-Navigator/issues/141
We need second type of date, derived solely from content of resource. I.e. if format-specific metadata contains timestamp then we take it as "creation" date of a photo. E.g. EXIF or MP4 metadata can be sources of such a timestamp. For our own formats, like Link-to-Web, we can add our own timestamp into the resource, e.g. as created_time JSON field.

It seems that we can have 3 different created_at timestamps:

extracted automatically for specific resource kinds, e.g. from EXIF
must be stored in .ark/cache/metadata
specified manually by user or automatically by an app
must be stored in .ark/user/properties
generated automatically for any resource during its first indexing
should extend .ark/index?


App Frozen

When the app starts, before the log output "[Firebase/Analytics][I-ACS025026] Deferring to Firebase for event data collection", the APP will freeze for 10 seconds. Below is the detailed log.

2019-07-17 18:15:16.834784 xxxxApp[54342:14909093] 5.20.0 - [GoogleUtilities/AppDelegateSwizzler][I-SWZ001008] Successfully created App Delegate Proxy automatically. To disable the proxy, set the flag GoogleUtilitiesAppDelegateProxyEnabled to NO (Boolean) in the Info.plist
2019-07-17 18:15:16.856718 xxxxApp[54342:14909060] 5.20.0 - [Firebase/Analytics][I-ACS023072] Event logged. Event name, event params: screen_view (_vs), {
firebase_debug (_dbg) = 1;
firebase_event_origin (_o) = auto;
firebase_screen_class (_sc) = PCThemeHomeVC;
ga_realtime (_r) = 1;
ga_screen_id (_si) =<PHONE_NUMBER>240711914;
}
2019-07-17 18:15:16.867569 xxxxApp[54342:14909102] 5.20.0 - [Firebase/Analytics][I-ACS002002] Measurement timer scheduled to fire in approx. (s): 0.8995530605316162
2019-07-17 18:15:16.867706 xxxxApp[54342:14909102] 5.20.0 - [Firebase/Analytics][I-ACS023028] Upload task scheduled to be executed in approx. (s): 0.8995530605316162
2019-07-17 18:15:16.868097 xxxxApp[54342:14909102] 5.20.0 - [Firebase/Analytics][I-ACS002003] Measurement timer canceled
2019-07-17 18:15:16.868207 xxxxApp[54342:14909102] 5.20.0 - [Firebase/Analytics][I-ACS002002] Measurement timer scheduled to fire in approx. (s): 0.8991850614547729
2019-07-17 18:15:16.868501 xxxxApp[54342:14909102] 5.20.0 - [Firebase/Analytics][I-ACS023028] Upload task scheduled to be executed in approx. (s): 0.8991850614547729
2019-07-17 18:15:17.768690 xxxxApp[54342:14909062] 5.20.0 - [Firebase/Analytics][I-ACS002001] Measurement timer fired
2019-07-17 18:15:17.769811 xxxxApp[54342:14909062] 5.20.0 - [Firebase/Analytics][I-ACS002003] Measurement timer canceled
2019-07-17 18:15:17.770854 xxxxApp[54342:14909062] 5.20.0 - [Firebase/Analytics][I-ACS023033] Starting data upload
2019-07-17 18:15:17.780956 xxxxApp[54342:14909062] 5.20.0 - [Firebase/Analytics][I-ACS023105] Event is not subject to real-time event count daily limit. Marking an event as real-time. Event name, parameters: screen_view (_vs), {
firebase_debug (_dbg) = 1;
firebase_event_origin (_o) = auto;
firebase_screen_class (_sc) = PCThemeHomeVC;
ga_realtime (_r) = 1;
ga_screen_id (_si) =<PHONE_NUMBER>240711914;
}
2019-07-17 18:15:17.791526 xxxxApp[54342:14909062] 5.20.0 - [Firebase/Analytics][I-ACS012018] Saving bundle. size (bytes): 441
2019-07-17 18:15:17.792515 xxxxApp[54342:14909062] 5.20.0 - [Firebase/Analytics][I-ACS023116] Bundle added to the upload queue. BundleID, timestamp (ms): 46,<PHONE_NUMBER>766
2019-07-17 18:15:17.804225 xxxxApp[54342:14909062] 5.20.0 - [Firebase/Analytics][I-ACS023038] Uploading events. Elapsed time since last successful upload (s): 35.04380321502686
2019-07-17 18:15:17.806277 xxxxApp[54342:14909062] 5.20.0 - [Firebase/Analytics][I-ACS023039] Measurement data sent to network. Timestamp (ms), data:<PHONE_NUMBER>803, <APMPBMeasurementBatch: 0x1740137b0>
2019-07-17 18:15:17.810785 xxxxApp[54342:14909102] 5.20.0 - [Firebase/Analytics][I-ACS900000] Uploading data. Host: https://app-measurement.com/a
2019-07-17 18:15:27.536164 xxxxApp[54342:14909062] 5.20.0 - [Firebase/Analytics][I-ACS025026] Deferring to Firebase for event data collection
2019-07-17 18:15:27.597203 xxxxApp[54342:14908992] <Google/Utilities/Network/ERROR> Encounter network error. Code, error: -1005, Error Domain=NSURLErrorDomain Code=-1005 "网络连接已中断。" UserInfo={NSUnderlyingError=0x174059ef0 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={_kCFStreamErrorCodeKey=54, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://play.googleapis.com/log, NSErrorFailingURLKey=https://play.googleapis.com/log, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=54, NSLocalizedDescription=网络连接已中断。}

May be related to #3242.
cc @htcgh

I would suspect <Google/Utilities/Network/ERROR> Encounter network error. Code, error: -1005, Error Domain=NSURLErrorDomain Code=-1005 is related.
@ilyon I'm not sure if anything related to this has changed, but it could be worth checking if the problem still occurs with Firebase 6 - run pod update.

@paulb777 I have updated firebase 6, but I still have this problem. Before the log output "[Firebase/Analytics][I-ACS025026] Deferring to Firebase for event data collection", the APP will freeze for 10 seconds. Below is the detailed log.

2019-08-02 18:46:02.227970 xxxxApp[18534:5338381] [DYMTLInitPlatform] platform initialization successful
2019-08-02 18:46:02.441278 xxxxApp[18534:5338368]  - [I-ACS036002] Analytics screen reporting is enabled. Call +[FIRAnalytics setScreenName:setScreenClass:] to set the screen name or override the default screen class name. To disable screen reporting, set the flag FirebaseScreenReportingEnabled to NO (boolean) in the Info.plist
2019-08-02 18:46:02.541038 xxxxApp[18534:5338264] [Crashlytics] Version 3.8.5 (123)
2019-08-02 18:46:02.581538 xxxxApp[18534:5338264] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
2019-08-02 18:46:02.584320 xxxxApp[18534:5338264] [MC] Reading from public effective user settings.
2019-08-02 18:46:02.611235 xxxxApp[18534:5338411] 程序启动初始化
2019-08-02 18:46:02:610 xxxxApp[18534:5338264] 程序启动初始化
2019-08-02 18:46:02.651430 xxxxApp[18534:5338400] 6.3.0 - [Firebase/Analytics][I-ACS024000] Debug mode is on
2019-08-02 18:46:02.651666 xxxxApp[18534:5338400] 6.3.0 - [Firebase/Analytics][I-ACS025028] AdMob and Firebase are in use in this app, but are not linked. For analytics data consistency and integrity, it is highly recommended that you link your AdMob app to the corresponding Firebase app and re-download the GoogleServices-Info.plist file. See https://support.google.com/admob/answer/6383165 for more information.
2019-08-02 18:46:02.657087 xxxxApp[18534:5338400] 6.3.0 - [Firebase/RemoteConfig][I-RCN000062] Loading database at path /var/mobile/Containers/Data/Application/6C67E1A0-3500-4839-A577-7254EFCA80F7/Library/Application Support/Google/RemoteConfig/RemoteConfig.sqlite3
2019-08-02 18:46:02.699936 xxxxApp[18534:5338400] 6.3.0 - [GULReachability][I-REA902003] Monitoring the network status
2019-08-02 18:46:02.711819 xxxxApp[18534:5338400] 6.3.0 - [GoogleUtilities/AppDelegateSwizzler][I-SWZ001008] Successfully created App Delegate Proxy automatically. To disable the proxy, set the flag GoogleUtilitiesAppDelegateProxyEnabled to NO (Boolean) in the Info.plist
2019-08-02 18:46:02.720824 xxxxApp[18534:5338416] 6.3.0 - [Firebase/InstanceID][I-IID023000] Info is not found in Keychain. OSStatus: -25300. Keychain query: {
acct = "com.google.iid.checkin-account";
class = genp;
gena = "com.google.iid";
"m_Limit" = "m_LimitAll";
"r_Attributes" = 1;
"r_Data" = 1;
svce = "com.google.iid.checkin-service";
}
2019-08-02 18:46:02.720930 xxxxApp[18534:5338416] 6.3.0 - [Firebase/Analytics][I-ACS023007] Analytics v.60002000 started
2019-08-02 18:46:02.722436 xxxxApp[18534:5338416] 6.3.0 - [Firebase/Analytics][I-ACS023008] To disable debug logging set the following application argument: -noFIRAnalyticsDebugEnabled (see http://goo.gl/RfcP7r)
2019-08-02 18:46:02.722885 xxxxApp[18534:5338416] 6.3.0 - [Firebase/Analytics][I-ACS023009] Debug logging enabled
2019-08-02 18:46:02.723208 xxxxApp[18534:5338416] 6.3.0 - [Firebase/InstanceID][I-IID023000] Info is not found in Keychain. OSStatus: -25300. Keychain query: {
atag = <636f6d2e 676f6f67 6c652e69 69642d7c 4b7c>;
class = keys;
"r_Ref" = 1;
type = 42;
}
2019-08-02 18:46:02.723456 xxxxApp[18534:5338416] 6.3.0 - [Firebase/InstanceID][I-IID023000] Info is not found in Keychain. OSStatus: -25300. Keychain query: {
atag = <636f6d2e 676f6f67 6c652e69 69642d7c 507c>;
class = keys;
"r_Ref" = 1;
type = 42;
}
2019-08-02 18:46:02.724350 xxxxApp[18534:5338416] 6.3.0 - [Firebase/InstanceID][I-IID009000] No keypair info is found with tag com.google.iid-|K|
2019-08-02 18:46:02.724970 xxxxApp[18534:5338416] 6.3.0 - [Firebase/InstanceID][I-IID009006] There's no legacy keypair so no need to do migration.
2019-08-02 18:46:02.734249 xxxxApp[18534:5338415] 6.3.0 - [Firebase/RemoteConfig][I-RCN000067] Successfully set configSettings. Developer Mode: true, Minimum Fetch Interval:43200.000000, Fetch timeout:60.000000
2019-08-02 18:46:02.734603 xxxxApp[18534:5338415] 6.3.0 - [Firebase/RemoteConfig][I-RCN000066] Successfully read configSettings. Developer Mode: true, Minimum Fetch Interval:43200.000000, Fetch timeout: 60.000000
2019-08-02 18:46:02.734771 xxxxApp[18534:5338415] 6.3.0 - [Firebase/RemoteConfig][I-RCN000039] Starting requesting token.
2019-08-02 18:46:02.891096 xxxxApp[18534:5338367] 6.3.0 - [Firebase/Analytics][I-ACS031010] Tracking view controller. Class, ID: UIViewController,<PHONE_NUMBER>051193331
2019-08-02 18:46:02.967262 xxxxApp[18534:5338367] 6.3.0 - [GULReachability][I-REA902004] Network status has changed. Code:3, status:Connected
2019-08-02 18:46:02.973465 xxxxApp[18534:5338367] 6.3.0 - [GULReachability][I-REA902004] Network status has changed. Code:3, status:Connected
2019-08-02 18:46:02.974365 xxxxApp[18534:5338264] -JSONValue failed. Error trace is: (
"Error Domain=org.brautaset.JSON.ErrorDomain Code=11 "Unexpected end of string" UserInfo={NSLocalizedDescription=Unexpected end of string}"
)
2019-08-02 18:46:02.978056 xxxxApp[18534:5338367] 6.3.0 - [Firebase/RemoteConfig][I-RCN000022] Success to get iid : emRDJc9nZY8.
2019-08-02 18:46:02.984224 xxxxApp[18534:5338367] 6.3.0 - [Firebase/RemoteConfig][I-RCN000024] Success to get device authentication ID:<PHONE_NUMBER>686839627, security token:<PHONE_NUMBER>088799729.
2019-08-02 18:46:02.984517 xxxxApp[18534:5338367] 6.3.0 - [Firebase/RemoteConfig][I-RCN000060] Fetch with user properties completed.
2019-08-02 18:46:03.259943 xxxxApp[18534:5338415] 6.3.0 - [Firebase/Analytics][I-ACS029014] Successfully parsed a configuration. Version:<PHONE_NUMBER>973974
2019-08-02 18:46:03.260752 xxxxApp[18534:5338415] 6.3.0 - [Firebase/Analytics][I-ACS023016] Analytics is ready to receive events
2019-08-02 18:46:03.265334 xxxxApp[18534:5338415] 6.3.0 - [Firebase/Analytics][I-ACS032003] iAd framework is not linked. Search Ad Attribution Reporter is disabled.
2019-08-02 18:46:03.265823 xxxxApp[18534:5338415] 6.3.0 - [Firebase/Analytics][I-ACS023024] No data to upload. Upload task will not be scheduled
2019-08-02 18:46:03.265915 xxxxApp[18534:5338415] 6.3.0 - [Firebase/Analytics][I-ACS033003] Scheduling user engagement timer
2019-08-02 18:46:03.267966 xxxxApp[18534:5338415] 6.3.0 - [Firebase/Analytics][I-ACS002002] Engagement timer scheduled to fire in approx. (s): 3600
2019-08-02 18:46:03.268036 xxxxApp[18534:5338415] 6.3.0 - [Firebase/Analytics][I-ACS023012] Analytics enabled
2019-08-02 18:46:03.268217 xxxxApp[18534:5338415] 6.3.0 - [Firebase/Analytics][I-ACS023051] Logging event: origin, name, params: auto, screen_view (_vs), {
firebase_event_origin (_o) = auto;
firebase_screen_class (_sc) = UIViewController;
ga_screen_id (_si) =<PHONE_NUMBER>051193331;
}
2019-08-02 18:46:03.268688 xxxxApp[18534:5338415] 6.3.0 - [Firebase/Analytics][I-ACS023073] Debug mode is enabled. Marking event as debug and real-time. Event name, parameters: screen_view (_vs), {
firebase_debug (_dbg) = 1;
firebase_event_origin (_o) = auto;
firebase_screen_class (_sc) = UIViewController;
ga_realtime (_r) = 1;
ga_screen_id (_si) =<PHONE_NUMBER>051193331;
}
2019-08-02 18:46:03.279913 xxxxApp[18534:5338412] 6.3.0 - [Firebase/Analytics][I-ACS023072] Event logged. Event name, event params: screen_view (_vs), {
firebase_debug (_dbg) = 1;
firebase_event_origin (_o) = auto;
firebase_screen_class (_sc) = UIViewController;
ga_realtime (_r) = 1;
ga_screen_id (_si) =<PHONE_NUMBER>051193331;
}
2019-08-02 18:46:03.287107 xxxxApp[18534:5338412] 6.3.0 - [Firebase/Analytics][I-ACS002002] Measurement timer scheduled to fire in approx. (s): 0.5811531543731689
2019-08-02 18:46:03.287287 xxxxApp[18534:5338412] 6.3.0 - [Firebase/Analytics][I-ACS023028] Upload task scheduled to be executed in approx. (s): 0.5811531543731689
2019-08-02 18:46:03.869245 xxxxApp[18534:5338415] 6.3.0 - [Firebase/Analytics][I-ACS002001] Measurement timer fired
2019-08-02 18:46:03.869610 xxxxApp[18534:5338415] 6.3.0 - [Firebase/Analytics][I-ACS002003] Measurement timer canceled
2019-08-02 18:46:03.870394 xxxxApp[18534:5338415] 6.3.0 - [Firebase/Analytics][I-ACS023033] Starting data upload
2019-08-02 18:46:03.871560 xxxxApp[18534:5338415] 6.3.0 - [Firebase/Analytics][I-ACS023037] No data to upload
2019-08-02 18:46:03.872681 xxxxApp[18534:5338415] 6.3.0 - [Firebase/Analytics][I-ACS023126] Fetching configuration from the server
2019-08-02 18:46:03.878601 xxxxApp[18534:5338368] 6.3.0 - [Firebase/Analytics][I-ACS900001] Downloading data. Host: https://app-measurement.com/config/app/1:244347711590:ios:c65c285205de02c7?platform=ios&app_instance_id=4249D3D853E647CA93EE99C96FF78311&gmp_version=60002
2019-08-02 18:46:13.574269 xxxxApp[18534:5338264] <Google/Utilities/Network/ERROR> Encounter network error. Code, error: -1005, Error Domain=NSURLErrorDomain Code=-1005 "网络连接已中断。" UserInfo={NSUnderlyingError=0x17405c980 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={_kCFStreamErrorCodeKey=54, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://play.googleapis.com/log, NSErrorFailingURLKey=https://play.googleapis.com/log, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=54, NSLocalizedDescription=网络连接已中断。}
2019-08-02 18:46:13.624548 xxxxApp[18534:5338366] 6.3.0 - [Firebase/Analytics][I-ACS025026] Deferring to Firebase for event data collection
2019-08-02 18:46:13.624674 xxxxApp[18534:5338366] 6.3.0 - [Firebase/RemoteConfig][I-RCN000061] Fetch with user properties initiated.
2019-08-02 18:46:13.626582 xxxxApp[18534:5338366] 6.3.0 - [Firebase/RemoteConfig][I-RCN000040] Start config fetch.
2019-08-02 18:46:13.632096 xxxxApp[18534:5338366] 6.3.0 - [Firebase/RemoteConfig][I-RCN000061] Making remote config fetch.
2019-08-02 18:46:13.632172 xxxxApp[18534:5338366] 6.3.0 - [Firebase/RemoteConfig][I-RCN000046] Making config request: https://firebaseremoteconfig.googleapis.com/v1/projects/api-project-244347711590/namespaces/firebase:fetch?key=AIzaSyDeEpPpwt3LFEjbogqRwqok1DNA7roKzj8
2019-08-02 18:46:13.633744 xxxxApp[18534:5338366] 6.3.0 - [GULNetwork][I-NET901017] <Google/Utilities/Network/ERROR> Encounter network error. Code, error: -1005, Error Domain=NSURLErrorDomain Code=-1005 "网络连接已中断。" UserInfo={NSUnderlyingError=0x17405c980 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={_kCFStreamErrorCodeKey=54, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://play.googleapis.com/log, NSErrorFailingURLKey=https://play.googleapis.com/log, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=54, NSLocalizedDescription=网络连接已中断。}
2019-08-02 18:46:13.634939 xxxxApp[18534:5338366] 6.3.0 - [Firebase/Analytics][I-ACS033003] Scheduling user engagement timer
2019-08-02 18:46:13.635452 xxxxApp[18534:5338366] 6.3.0 - [Firebase/Analytics][I-ACS002003] Engagement timer canceled
2019-08-02 18:46:13.635654 xxxxApp[18534:5338366] 6.3.0 - [Firebase/Analytics][I-ACS002002] Engagement timer scheduled to fire in approx. (s): 3600
2019-08-02 18:46:13.635826 xxxxApp[18534:5338366] 6.3.0 - [Firebase/Analytics][I-ACS002003] Engagement timer canceled
2019-08-02 18:46:13.635882 xxxxApp[18534:5338366] 6.3.0 - [Firebase/Analytics][I-ACS023144] App will resign active state. Scheduling data upload
2019-08-02 18:46:13.636012 xxxxApp[18534:5338366] 6.3.0 - [Firebase/Analytics][I-ACS023145] Background task started. Task ID: 6
2019-08-02 18:46:13.636223 xxxxApp[18534:5338366] 6.3.0 - [Firebase/Analytics][I-ACS901006] Received SSL challenge for host. Host: https://app-measurement.com/config/app/1:244347711590:ios:c65c285205de02c7?platform=ios&app_instance_id=4249D3D853E647CA93EE99C96FF78311&gmp_version=60002
2019-08-02 18:46:13.636279 xxxxApp[18534:5338366] 6.3.0 - [Firebase/Analytics][I-ACS033003] Scheduling user engagement timer
2019-08-02 18:46:13.636363 xxxxApp[18534:5338366] 6.3.0 - [Firebase/Analytics][I-ACS002002] Engagement timer scheduled to fire in approx. (s): 3600
2019-08-02 18:46:13.636477 xxxxApp[18534:5338366] 6.3.0 - [Firebase/Core][I-COR000020] Error posting to Clearcut: Error Domain=NSURLErrorDomain Code=-1005 "网络连接已中断。" UserInfo={NSUnderlyingError=0x17405c980 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={_kCFStreamErrorCodeKey=54, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://play.googleapis.com/log, NSErrorFailingURLKey=https://play.googleapis.com/log, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=54, NSLocalizedDescription=网络连接已中断。}, with Status Code: 0

Thanks for the log. I see a 10 second gap here:
2019-08-02 18:46:03.878601 xxxxApp[18534:5338368] 6.3.0 - [Firebase/Analytics][I-ACS900001] Downloading data. Host: https://app-measurement.com/config/app/1:244347711590:ios:c65c285205de02c7?platform=ios&app_instance_id=4249D3D853E647CA93EE99C96FF78311&gmp_version=60002
2019-08-02 18:46:13.574269 xxxxApp[18534:5338264] <Google/Utilities/Network/ERROR> Encounter network error. Code, error: -1005, Error Domain=NSURLErrorDomain Code=-1005 "网络连接已中断。" UserInfo={NSUnderlyingError=0x17405c980 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={_kCFStreamErrorCodeKey=54, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://play.googleapis.com/log, NSErrorFailingURLKey=https://play.googleapis.com/log, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=54, NSLocalizedDescription=网络连接已中断。}

Internally reported at b/135997194 along with #3242

@ilyon Can you please share with us your Podfile.lock file?

@ilyon Can you please share with us your Podfile.lock file?

Hi,  this is my Podfile.lock file.
Podfile.lock.zip

Internally reported at b/135997194 along with #3242
I already know #3242 case, but I don't think my case is same with #3242. In the 10 seconds of freezing, I saw that cpu usage is very low.

Thanks @ilyon Agreed that this no longer looks like #3242.  While we haven't reproduced, we have substantially reworked the area where this bottleneck occurs and suspect this will be fixed in Firebase 6.6.0 due out later this week.
I'm going to close this issue for now and we'll reopen if it recurs in Firebase 6.6.0.

Hey,
I'm running on 6.9.0 and am still running into these issues. Is this really fixed?

@tspecht your issue looks different based on the stack symbols. Please file a separate issue.


[feat] Generate live thumbnail image

Hi!, (yes, me again sorry)
Just wondering how could we do this, should ge maybe generate a clip 0.1 seconds long and extract a frame? Maybe is there some sort of better way to do this? Is this possible and I am not aware of it??
Thank you as always

Yeah, the newest release (3.4) actually supports this natively.
You do, however, need to compile your own build - and specifically set the WITH_AV flag to true. (e.g.: meson setup build -DWITH_AV=true or meson configure BUILD_DIR_HERE -DWITH_AV=true to reconfigure an existing build directory). This enables the native libav (ffmpeg) integration, and adds the new MistProcAV stream process. You can set this process on a live stream and have it generate a JPEG track with a interval of your choice. Requesting STREAMNAME.jpg from the HTTP(S) port(s) will then serve the newest frame from the JPEG track, or requesting STREAMNAME.mjpg will even get you an old-school MJPEG feed (auto-updating image using a long-running HTTP GET request). In addition, you can add the ?start= (and the unix time based variant) parameter to request a frame from a specific point in time.
Without compiling yourself it's also possible: but then you need to provide the binary and command to transcode and use the MistProcMKVExec binary instead. This binary lets you hook up any system to generate practically any track, and if you generate an (M)JPEG track (through any method, e.g. gstreamer, ffmpeg - whatever you may prefer) it will "merge" it back into the original stream and provide the same functionality.
We do plan to write a small tutorial on how to set this all up with examples, but haven't had the time to get around to it yet. 😅

Wow you are always two steps ahead hah. By enabling the AV flag: Could I use stream processes with ffmpeg without downloading ffmepg to my custom docker image?
I will try compiling my self but I have seen that doing so generates a bigger image than using binaries directly (even in multisep docker builds)

Well... There's sort of been the time for a draft.
https://hedgedoc.ddvtech.com/4YGxESCISkKGMOqpN406lw
This is the first draft I made to note down all the important parts to do this and use this.
I've made the quick notes I made somewhat more readable, but it's not a proper guide yet. I also have to add a gstreamer example still. It might give some help however.
You can use MistProcAV without installing FFmpeg, I believe if you compile with  the AV option it'll pull in the libraries it'll need to compile the MistProcAV itself, but not the entirety of FFmpeg. Though in all honestly you're probably close to downloading ffmpeg at that point. If I remember correctly you'll at least have almost all the libraries.
You can still reduce the size of everything by stripping the binaries. Removing the debug information does save some space.

Okay I made it work with a custom image and geting 800MB image size (yikes). How could I strip the binaries to reduce the size?? I haven't touch meson since college!

I am also not seeing the options on stream processes:

Hey there,
You're quite close! The current process removes the libraries necessary though!
Add the following to your 2nd RUN apt-get: libavutil libavcodec libswscale libavformat
You don't need the dev versions, but you do need the libraries themselves in order to run the MistProcAV binary. Since it cannot run without these libraries, it is not detected and not in the list.

Hmm I don't think those libraries are available. At least I can't see them:
E: Unable to locate package libavutil
E: Unable to locate package libavcodec
E: Unable to locate package libswscale
E: Unable to locate package libavformat


Segways interact weirdly with their riders wide attacks

Description

There are a couple of issues here:

Using a wide attack in an segway will rotate the attack by however much the Segway is rotated. IE: if the segway spawned facing south, it is now facing west, and you try to attack to the north you will instead attack to the east.
Segways soak up their riders wide attacks. If you try to use a wide attack in one the Segway will take the damage and everything outside of it will be shielded from harm.
If the rider of a Segway destroys the Segway they are riding they will visually teleport to (0, 0, 0°) of the grid they were riding the Segway around. This effect is only visual as the transform component still maintains their actual location and their PVS bubble doesn't follow them. Any movement immediately snaps them back to their real location/rotation.

Reproduction

Buy a Segway.
Ride the Segway.
Wide attack with any weapon at any target other than the Segway.
Observe issues 1 and 2 in action.
Continue until the Segway breaks.
Observe issue 3.

Screenshots

Additional context

The last issue probably has something to do with the LastPosition/LastRotation vars for lerping in TransformComponent. VV indicated that they were 0, 0, 0° after the visual glitch and setting the component to actively lerp immediately fixed the issue.
It also appears to have some other condition for activating as destroying the Segway without first driving it around does not manifest the bug. Single light taps southward did not cause the bug*, but it manifested after rattling around in a single tile railing cage for a couple seconds*.  It might have something to do with rotation?
*Followed by wrecking the Segway with wide attacks.

This effect works with any vehicle that currently shows up when you plug "vehicle" into the search field of the entity spawning panel.
The unicycle is a bit finicky, you can hit things other than the unicycle, but to do so consistently you need to be holding still and basically overlapping with the thing you're trying to hit.

Vehicles removed awaiting better implementation.


$ref only follows whats in the cache

I have the following endpoints defined in my router class:-
getProjectsById[{keys:ids}][{keys:props}]
projects[{integers:indices}][{keys:props}]

If I call the projects endpoint as follows:
model.get(['projects', 0, ['name']]).then((data) => {
    console.log('data is undefined ->', data);
});

The projects endpoint returns a promise which resolves as follows:
[
   { path: ['projects', 0], value :  $ref(['getProjectsById', {GUID}]) }
]

From the docs I was under the impression that it would automatically make a request to my second endpoint to fetch the name property from the route getProjectsById in the same request.
Digging into the code I found https://github.com/Netflix/falcor-router/blob/master/src/cache/followReference.js and I see it only pulls from the cache.
I've navigated around my issue by also populating a path and value to getProjectsById before returning the project path.
I'm not sure if this is just a comms issue with the docs or if this is an actual defect.

Clearly there is something wrong here. You are correct in thinking refs
should be auto followed on server side.
could you please include all the code you can so I can recreate this to
fix, if our issue, or guide, if its your issue.
On Feb 7, 2016 5:17 PM, "Jake Shelley"<EMAIL_ADDRESS>wrote:

I have the following endpoints defined in my router class:-
getProjectsById[{keys:ids}][{keys:props}]
projects[{integers:indices}][{keys:props}]
If I call the projects endpoint as follows:
modelget(['projects', 0, ['name']])then((data) => {
consolelog('data is undefined ->', data);
});
The projects endpoint returns a promise which resolves as follows:
[
{ path: ['projects', 0], value :  $ref(['getProjectsById', {GUID}]) }
]
From the docs I was under the impression that it would automatically make
a request to my second endpoint to fetch the name property from the route
getProjectsById in the same request
Digging into the code I found
https://githubcom/Netflix/falcor-router/blob/master/src/cache/followReferencejs
http://followReferencejs and I see it only pulls from the cache
I've navigated around my issue by also populating a path and value to
getProjectsById before returning the project path
I'm not sure if this is just a comms issue with the docs or if this is an
actual defect
—
Reply to this email directly or view it on GitHub
https://github.com/Netflix/falcor-router/issues/172.
--
You received this message because you are subscribed to the Google Groups
"Falcor" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to<EMAIL_ADDRESS>To post to this group, send email to<EMAIL_ADDRESS>To view this discussion on the web visit
https://groups.google.com/a/netflix.com/d/msgid/falcor/Netflix/falcor-router/issues/172%40github.com
https://groups.google.com/a/netflix.com/d/msgid/falcor/Netflix/falcor-router/issues/172%40github.com?utm_medium=email&utm_source=footer
.

Thanks for coming back to me the offending code is here routes/projects.js - I've commented out preloading the cache to highlight the problem.

@Jake1981 remove [{keys:props}] from the end of this route and you should be good to go.

IMHO it would be beneficial if the router when parsing the routes could throw some sort of warning to highlight this issue.  Returning undefined doesn't give you any basis for diagnosing the root cause.

@Jake1981 @trxcllnt has correctly identified the problem.  So here is the thing.  The routes should look like
const routes = {
    "getProjectsById[{keys:ids}][{keys:props}]" : getProjectsById,
    "projects[{integers:indices}]" : getProjectsByRanges
};

What will happen is that you will ask for ["projects", 0, "name"] and the router will do the following.
-> ['projects', 0, 'name'] -> matched by projects[ints] (which returns refs)
    ['projects', 0] is matched and returns ['projectsById', 'abc']
-> ['projectsById', 'abc'].concat(remaining_path) // which is ['name'] which matches projectsById[Ids][props]
    ['projectsById', 'abc', 'name'] is matched and returns {path: [...], value: "Running Man"};

// Thus the outgoing message is the following.
{
    jsonGraph: {
        projects: {
            0: $ref(['projectsById', 'abc'])
        },
        projectsById: {
            abc: {
                name: "Running Man"
            }
        }
    }
}

the graph has been correctly re-assembled from the incoming paths.  Now the reason why the previous version of your code did not work is that your route matched all the incoming path.  The router will only continue matching references is if there is more of the incoming path remaining after the matching process.  So if ['projectsById', 'abc', 'name'] returned a reference, in above example, it would not be followed since there are no more keys that have yet to be matched by the router.
I hope that explanation makes sense.


A11Y - add aria attributes

Commit to add aria-selected and aria-hidden attributes in order to allow better accessibility
Additionaly the HTML-Code should be extended as follows:
ul add role="tablist"
a (Trigger-Link) add role="tab" and aria-controls="ID-OF-CONTENT" and unique id
div (individual tabcontent) add role="tabpanel" and aria-labelledby="ID-OF-TRIGGER-LINK"

Could you add a description in the readme explaining that required HTML-aria changes?

Closed in dfe100f3784194e7b98e58429c43f0845b547429


Hangs on the last step of configure project when launching second time

Steps to reproduce:

Tap UTBot: connected -> Ask server to configure project
Wait and do it again
Appears progress bar which goes several steps and then hangs and shows error

Expected behavious:

No hanging and no errors

Reproduced on https://github.com/Software-Analysis-Team/UTBotCpp-CLion-plugin/tree/74cd9cc62249d684df6face462ffd55f1714e6f9

Need to check on latest commit


Specify file types

I realise this is similar if not duplicate of an existing open Pull request, but I needed the feature ASAP.
Feel free to disregard or use as seen fit.
Uses CustomFilePickerImplementation in each Platform, able to manipulate which file types (UTIs, MIME Types etc...) are available for picking.

I think this was obsoleted by #26 ? Could you please confirm @ryanlpoconnell

Yes you are correct, I lost the race. Go ahead and close that redundant code.

Sorry mate, thank you nevertheless!
I hope the functionality will work out for you?


 This PR removes some of it.

@bors-libra r=zekun000

:pushpin: Commit 5492e04 has been approved by zekun000

:hourglass: Testing commit 5492e0472ccc9f0de2df27a8d914b974f2110565 with merge 5c44f7c1530a39a90350fdb40f636be4b07b5d0e...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: zekun000
Pushing 5c44f7c1530a39a90350fdb40f636be4b07b5d0e to master...


[Tokenomics] Initial stake weighted rewards implementation

Summary

Initial implementation of Morse's stake weighted rewards.
Refactor the TLM minting by collecting reward instruction and delaying their execution until all of them are processed

This makes TLMs order independent in the case where a TLM adjusts rewards by decreasing them

Make StakeWeightedRewards TLM use the "base reward" (actualSettlementCoin) to adjust whatever BurnEqualsMint minted.

baseReward = actualSettlementCoin
// The following TLMs can run in any order:
BurnEqualsMint => mint(baseReward)
GM => mint(baseReward * allocationPercent)
// The following can decrease the supplier's total reward if weight < 1
StakeWeighedReward => adjustBaseRewardBy(baseReward*weight - baseReward)

This is missing:

[ ] Unit tests
[ ] Governance params (In a follow up PR)
[ ] SupplierStakeWeightMultiplier calculation

Issue

#763

Type of change
Select one or more from the following:

[x] New feature, functionality or library
[ ] Consensus breaking; add the consensus-breaking label if so. See #791 for details
[ ] Bug fix
[ ] Code health or cleanup
[ ] Documentation
[ ] Other (specify)

Testing

[ ] Unit Tests: make go_develop_and_test
[ ] LocalNet E2E Tests: make test_e2e
[ ] DevNet E2E Tests: Add the devnet-test-e2e label to the PR.

Sanity Checklist

[ ] I have tested my changes using the available tooling
[x] I have commented my code
[x] I have performed a self-review of my own code; both comments & source code
[ ] I create and reference any new tickets, if applicable
[x] I have left TODOs throughout the codebase, if applicable

If I understand correctly, the weight TLM is being enforced on the claimable amount of coins actualSettlementCoin.
All TLMs seem to be work on base of this value that is the basic tokenomics behavior (coins that amount for the servicer's work and that will be burned on the app stake). So, the TLMs seem to be applied as:

👍  MINT=BURN : Just use actualSettlementCoin to add to the servicer and burn from application.
👍 Global Mint: Use actualSettlementCoin  and a multiplier to increase each actors reward.
👎 Stake Weight : Use actualSettlementCoin  and a multiplier to increase (or decrease) an actor reward based on the stake weight multiplier.

The last TLM is not faithful to the current stake weight multiplication, since in Morse is not only the MINT=BURN amount of coins (here actualSettlementCoin) that gets multiplied, but the boosted coins: [MINT=BURN]+[Global Mint].
Given that the base coins are only a fraction of the total rewards today, as it is this algorithm will mint much lower rewards to stake weighted nodes.

@RawthiL thanks for taking a look. You are understanding it right.

The last TLM is not faithful to the current stake weight multiplication, since in Morse is not only the MINT=BURN amount of coins (here actualSettlementCoin) that gets multiplied, but the boosted coins: [MINT=BURN]+[Global Mint].

Great clarification. Given that, SWR would not be faithful to Morse without enforcing it to be run last. Which breaks the TLM assumption of being order free if we want to treat is as a TLM.
To multiply both MEB and GMR, SWR would need to run as a "post-processing" module, which makes it a non-TLM.
Whether we use the inflationary variant @Olshansk proposed or the Morse one, it has to run last if we want to multiply all the rewards.

Yes, that's the problem with this module.

Just to leave record of view on SWM:
This module should exist at all in Shannon.
Shannon nodes are lean by default, the cost of a node is no longer an issue and hence the SWM has no place. The problem it solves does not exist in Shannon (neither in Morse today).
If we include this we are importing obsolete code into the new version of the network.
Going from Morse to Shannon will require re-staking of all nodes, so we can break-up or fusion nodes stakes arbitrary during the transition.
cc @Olshansk

@RawthiL Thank you for the reminder that SWM came BEFORE lean nodes in Morse.

@red-0ne Let's close this PR. Apologize for the redundant work...

@RawthiL What this means is that the minimum stake per supplier will be the expected value staked per supplier. cc @bryanchriswhite for visibility.
Suppliers will be able to stake more but there is no upside to doing so (similar to ETH validators). I realize we can play around with other ponzinoics here, but would rather leave that convo to post-mainnet.
@RawthiL The only reason this matters (but there's no actionable for us) is because once we figure out the numbers for probabilistic proofs, it'll be similar to:

Binomial distribution for allowing unprovable claims will use min stake for calculations
If proof is missing -> Slash 100% of supplier stake.
If supplier is staking above min -> it's there problem

👍 if this makes sense @RawthiL @red-0ne

@Olshansk, this was an invaluable deep dive in which we learned a lot with @bryanchriswhite.
It led us to lean towards a "demand driven" staking mechanism, where:

A Supplier should be slashed proportionally to the claim amount it failed to prove; alongside a gov. defined minimum slashing amount.
To ensure that the slashing amount is never bigger than the Supplier's stake, the stake should also be proportional to the total amount claimed in that SessionNumber (i.e. whatever was the demand at that time).

i.e. If a Supplier wants to claim a total of 100pokt it has to stake at least x * 100pokt. If it fails proving all its claims, then it gets slashed by Max(x * 100pokt, minSlashingAmount). With x and minSlashingAmount being protocol/gov defined params.
We'll present a doc when time permits.

@red-0ne Can you create a ticket for this (w/ a screenshot of your prior message).
Personally, I think we can make slashing just be the entire supplier's stake because that's what probabilistic proofs assumes. It is also much easier to go to mainnet with. We can always iterate later.

[Tokenomics] Investigate demand driven staking amounts


Adding IOBs to the Kintex config.

Fixes #297.
Signed-off-by: Tim 'mithro' Ansell<EMAIL_ADDRESS>

This seems to have worked, so I'm going to merge.


Doesn't define the stack layout inside of the scroll view

var stack = new StackLayout();
var scroll = new ScrollView { Content = stack };
Content = scroll;
stack.Children.Add(new BoxView { BackgroundColor = Color.Red,    HeightRequest = 600, WidthRequest = 600 });
stack.Children.Add(new Entry());

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

ID: 6f75ab81-45e6-51c3-3591-79b2e3f8e4ba
Version Independent ID: 74048293-a950-c375-aac9-7f0f1cb9b49d
Content: Xamarin.Forms ScrollView - Xamarin
Content Source: docs/xamarin-forms/user-interface/layouts/scroll-view.md
Product: xamarin
Technology: xamarin-forms
GitHub Login: @davidbritch
Microsoft Alias: dabritch

Just a guess but maybe try creating new ScrollView { Content = stack } after you have added its children.
So something along these lines instead:
var stack = new StackLayout();
stack.Children.Add(new BoxView { BackgroundColor = Color.Red, HeightRequest = 600, WidthRequest = 600 });
stack.Children.Add(new Entry());
/*THE CHANGE */
var scroll = new ScrollView { Content = stack };
Content = scroll;

Hi @Escapehub
I've just fixed the code in the doc, in a PR that will go live later this week.
In the meantime, the code you want is:
        StackLayout stackLayout = new StackLayout();
        stackLayout.Children.Add(new BoxView { BackgroundColor = Color.Red, HeightRequest = 600, WidthRequest = 150 });
        stackLayout.Children.Add(new Entry());
        ScrollView scrollView = new ScrollView();
        scrollView.Content = stackLayout;
        Content = scrollView;


Godot Physics CSGBox Collision Halting Momentum

Godot version:
3.3
OS/device including version:
Windows 10
Issue description:
It might be C# exclusive, but if you run into a CSGMesh at just the right angle (not sure if this applies to other things), all momentum is halted, and it appears to get worse with the more walls the player is "colliding" with.
Steps to reproduce:

Make a player controller, might need to be C# not 100% sure because I couldn't reproduce it with a GDScript character controller.
Make a small scene with CSGCombiner and CSGMeshes as a floor and a wall. For best results, cut out part of the wall to make a doorway.
Run into the wall.

Minimal reproduction project:
GDScript (couldn't reproduce bug):
https://github.com/CammiePone/godot-physics-gdscript
C# (with this one, just enter the crouching tutorial. It's more than the minimal, but I couldn't get Godot to load my movement script outside of this project so I'm sorry for that):
https://github.com/CammiePone/godot-physics-csharp

CSG meshes themselves (and their generated trimesh-generated) collision isn't very clean, so I'd expect this kind of issue to be common there.

Well I did have it as velocity = MoveAndSlideWithSnap() but setting it to += just makes me phase through everything due to really fast speeds, so I don't think that's what you mean. I can try directly porting the GDScript movement code to C#.
As for it being a CSG issue specifically, I did a test with a regular MeshInstance with a generated trimesh static body and the same bug occurs, so that's probably not it. Ran the same test with the GDScript version and the bug doesn't occur.

Alright, so I figured it out. It's not my script, it's actually the collision shape I was using. Apparently cylindrical collision shapes are the cause. Changing nothing in my script and using a capsule shape instead fixes the problem.


IE 11 support

I'd really like to start using lit-html. I don't mind it being rough around the edges, and breaking changes coming in the future, but IE11 support is unfortunately a deal breaker for my company.
I'd like to contribute, but I see there have already been a few attempts at becoming IE11 compatible. Are we close to a solution? Is there an overview of the remaining issues?

I'm not sure the list is complete, but:

There's an issue with the cloning process (see #201 and proposed fix #202)
There's an issue with <tr>, <th> or <td> elements as root element in the template because of an issue in the template polyfill (see webcomponents/template#3)
The tests for lit-extended and some directives don't import the necessary polyfills for IE yet, so the tests fail
A couple of tests fail because IE sorts attributes differently from other browsers. This is a bug in the tests, not the library.

With #202 and #211 we're really close.
I think we might be able to fix the table problem because we're in control of generating the template contents - unlike the template polyfill we get to do things before the parser.
Before that I would be ok with skipping the table tests on IE and making sure we get tests passing to lock in our progress and make sure we don't regress.

Any updates on this?

There is yet another bug - it is not possible to set style attribute. IE11 prevents setting style attribute, which is not proper CSS text (list of CSS properties) and clears attribute placeholder, so template does not know that there was any expression.
const template = value => html`<div style="{value}">Sample text</div>`;
render(template('color: red'), ...);

Above example in IE11 produces black text.
The second thing is npm package. It is not properly distributed. The compiled version of the project contains code, which is not supported in IE11, for example, arrow functions.

@smalluban just re npm package, pretty sure it's only shipped as an ES module, the assumption being that you'd bundle and transpile it youself for legacy browsers

@seaneking I think it is not a good idea. module or jsnext:main should be used for esm version of the library. Parcel and common Webpack configuration of babel usually omits node_modules and does not transpile external packages. With current solution, users have to change this only for one dependency.

Yep agree, but remember lit-html is still pre-release. Imagine the team will include UMD bundles alongside ES modules for 1.0. Because yeah as you say, it's almost universal to exclude node_modules from transpilation.

Is this resolved?

I am using it on IE11 with no problems

The problem with style attribute can be solved only in one and unfortunately also dirty way. Attribute has to prefixed (or changed in another way) before template element is initialised, and after that the prefix should be removed and expression should be set to style attribute.
Few days ago I released 1.0 version of my library for creating web components in functional way. It's template engine is inspired by lit-html, but implementation is different. However, I could solve all IE11 problems, and library's tests pass in IE11.
Here you have place where the problem with style attribute is solved: https://github.com/hybridsjs/hybrids/blob/9a2b5c2b98d1978bda5f15dedf3d860765f4710a/src/html/template.js#L221

Aside from some specific issues like style attribute, this issue is fixed and we're running all tests on IE11.

@justinfagnani shall we remove this from this know issues https://github.com/Polymer/lit-element#known-issues ?

I think I may be running into what @smalluban described above as I'm seeing lambda expressions in bundled .js file in IE11 which appear to be related to lit-html. Normally things are running through webpack but perhaps there is something we've overlooked with regard to how this library is either transpiled or not in our bundling process.

Lit html is shipped uncompiled, as it should not make assumptions about the app's runtime environment. Webpack does not transpile node_modules by default so probably thats where it goes wrong.

Oh this looks related to #339.

Importing @webcomponents/template seems to have gotten me further but now I'm seeing an issue with this section of code. I'm unsure if this is related to the imported template definition or something else yet but the line throw _iteratorError; in the snippet below where it's failing for me right now when my template is rendered.
        try {
            if (!_iteratorNormalCompletion && _iterator.return) {
                _iterator.return();
            }
        } finally {
            if (_didIteratorError) {
                throw _iteratorError;
            }
        }

This last error I'm getting appears related to https://github.com/Polymer/lit-html/pull/229#issuecomment-356448243.


ORM recursively loads other ORM

Is your feature request related to a problem? Please describe.
When storing complex data structures, multi ORM levels are used. Hence, serialising and de-serialising expected behaviour is to recursively load ORMS.
Describe the solution you'd like
For instance, I have a user who has post, which has comments. When loading an user, I am expecting the post and the comments to load at once. What is happening now is that the user loads de post, but the post only has the reference id to the comments.
Describe alternatives you've considered
A way to be flexible and do not break backward compatibility could be accepting another argument in the ORM options:
...query( 'users' ).orm( [ { key: 'posts', orm: [ { key: 'comments', limit: 15 } ] } ] )

Should be pretty easy to add, I'll try to get this out on an update in the next week.

So I don't think this is going to be doable before v2.  The code currently depends exclusively on declared ORM relationships and there's no way to declare nested relationships at the moment.
V2 will support nested relationships, nested indexes and nested models.
Adding this to the V2 milestone.


Add download button for saving contours in the profile uncertainty tab as columnar data

Current "Download CSV" button downloads only the first outputted contour file (e.g. rho, but not irho or rhoM, for only the first profile)

yikes!

I'm not able to reproduce the problem - if I run it on a FitProblem with 2 models I get something like this:
"M0 z","M0 rho (68 lower)","M0 rho (68 upper)","M0 rho (95 lower)","M0 rho (95 upper)","M0 irho (68 lower)","M0 irho (68 upper)","M0 irho (95 lower)","M0 irho (95 upper)","M0 rhonM (68 lower)","M0 rhonM (68 upper)","M0 rhonM (95 lower)","M0 rhonM (95 upper)","M0 thetaM (68 lower)","M0 thetaM (68 upper)","M0 thetaM (95 lower)","M0 thetaM (95 upper)","M1 z","M1 rho (68 lower)","M1 rho (68 upper)","M1 rho (95 lower)","M1 rho (95 upper)","M1 irho (68 lower)","M1 irho (68 upper)","M1 irho (95 lower)","M1 irho (95 upper)","M1 rhonM (68 lower)","M1 rhonM (68 upper)","M1 rhonM (95 lower)","M1 rhonM (95 upper)","M1 thetaM (68 lower)","M1 thetaM (68 upper)","M1 thetaM (95 lower)","M1 thetaM (95 upper)"
-483.736,4.64920,4.65284,4.64953,4.65174,0.600167,2.06121,0.751717,1.63305,0.0000187382,0.00221306,0.000297606,0.00128383,269.514,269.810,269.514,269.746,-483.736,4.64920,4.65284,4.64953,4.65174,0.600167,2.06121,0.751717,1.63305,0.0000546714,0.00203070,0.000235010,0.00117346,269.514,269.780,269.514,269.711
-475.750,4.64920,4.65284,4.64953,4.65174,0.600167,2.06121,0.751717,1.63305,0.0000282566,0.00221306,0.000297606,0.00128383,269.513,269.810,269.514,269.733,-475.750,4.64920,4.65284,4.64953,4.65174,0.600167,2.06121,0.751717,1.63305,0.0000546714,0.00203070,0.000235010,0.00117346,269.513,269.780,269.514,269.707
-467.763,4.64920,4.65284,4.64950,4.65174,0.600167,2.06121,0.751717,1.63305,0.0000282566,0.00221306,0.000297606,0.00128383,269.356,269.810,269.514,269.733,-467.763,4.64920,4.65284,4.64950,4.65174,0.600167,2.06121,0.751717,1.63305,0.0000546714,0.00226157,0.000235010,0.00131939,269.356,269.780,269.514,269.707

Can you give some more information about your fitProblem?  If possible, can you attach a zip file with the data + model file here?

It looks like it's happening because the models have the same name ("Stack" for both).  We should probably not use a dict keyed on the model name for passing around the profile data, because non-unique model names happen all the time.

Tested with original model names: output is as follows
"Stack z","Stack rho (68 lower)","Stack rho (68 upper)","Stack rho (95 lower)","Stack rho (95 upper)","Stack rhoM (68 lower)","Stack rhoM (68 upper)","Stack rhoM (95 lower)","Stack rhoM (95 upper)","Stack thetaM (68 lower)","Stack thetaM (68 upper)","Stack thetaM (95 lower)","Stack thetaM (95 upper)","Stack 1 z","Stack 1 rho (68 lower)","Stack 1 rho (68 upper)","Stack 1 rho (95 lower)","Stack 1 rho (95 upper)","Stack 2 z","Stack 2 rho (68 lower)","Stack 2 rho (68 upper)","Stack 2 rho (95 lower)","Stack 2 rho (95 upper)","Stack 2 rhoM (68 lower)","Stack 2 rhoM (68 upper)","Stack 2 rhoM (95 lower)","Stack 2 rhoM (95 upper)","Stack 2 thetaM (68 lower)","Stack 2 thetaM (68 upper)","Stack 2 thetaM (95 lower)","Stack 2 thetaM (95 upper)","Stack 3 z","Stack 3 rho (68 lower)","Stack 3 rho (68 upper)","Stack 3 rho (95 lower)","Stack 3 rho (95 upper)","Stack 4 z","Stack 4 rho (68 lower)","Stack 4 rho (68 upper)","Stack 4 rho (95 lower)","Stack 4 rho (95 upper)","Stack 4 rhoM (68 lower)","Stack 4 rhoM (68 upper)","Stack 4 rhoM (95 lower)","Stack 4 rhoM (95 upper)","Stack 4 thetaM (68 lower)","Stack 4 thetaM (68 upper)","Stack 4 thetaM (95 lower)","Stack 4 thetaM (95 upper)","Stack 5 z","Stack 5 rho (68 lower)","Stack 5 rho (68 upper)","Stack 5 rho (95 lower)","Stack 5 rho (95 upper)"
-13.7320,5.66134,5.66151,5.66143,5.66149,0.00000,0.00000,0.00000,0.00000,270.000,270.000,270.000,270.000,-13.7320,5.66434,5.66434,5.66434,5.66434,-13.7320,5.66134,5.66151,5.66143,5.66149,0.00000,0.00000,0.00000,0.00000,270.000,270.000,270.000,270.000,-13.7320,5.66434,5.66434,5.66434,5.66434,-13.7320,5.66134,5.66151,5.66143,5.66149,0.00000,0.00000,0.00000,0.00000,270.000,270.000,270.000,270.000,-13.7320,5.66434,5.66434,5.66434,5.66434
-12.5802,5.64792,5.64932,5.64835,5.64885,0.00000,0.00000,0.00000,0.00000,270.000,270.000,270.000,270.000,-13.5858,5.66344,5.66354,5.66348,5.66350,-12.5802,5.64792,5.64932,5.64835,5.64885,0.00000,0.00000,0.00000,0.00000,270.000,270.000,270.000,270.000,-13.5858,5.66344,5.66354,5.66348,5.66350,-12.5802,5.64792,5.64932,5.64835,5.64885,0.00000,0.00000,0.00000,0.00000,270.000,270.000,270.000,270.000,-13.5858,5.66344,5.66354,5.66348,5.66350
-11.4285,5.62039,5.62624,5.62203,5.62384,0.00000,0.00000,0.00000,0.00000,270.000,270.000,270.000,270.000,-13.4395,5.66246,5.66268,5.66254,5.66259,-11.4285,5.62039,5.62624,5.62203,5.62384,0.00000,0.00000,0.00000,0.00000,270.000,270.000,270.000,270.000,-13.4395,5.66246,5.66268,5.66254,5.66259,-11.4285,5.62039,5.62624,5.62203,5.62384,0.00000,0.00000,0.00000,0.00000,270.000,270.000,270.000,270.000,-13.4395,5.66246,5.66268,5.66254,5.66259


fix: clarify HashOp::Keccak variant to refer to Keccak-256

Closes: #211
Description
Considering that no use cases have been reported for the current SHA-3 Rust implementation of the HashOp::Keccak, and with the goal of bolstering support for meaningful use cases, I have opted for the inclusion of Keccak-256 as the most suitable variant (Ethereum uses this particular hash function).
Note
For the JS part, I couldn't properly generate code through existing commands, so it made me to adjust things there manually. That would be great if @webmaster128 could look into it.

For the JS part, I couldn't properly generate code through existing commands, so it made me to adjust things there manually. That would be great if @webmaster128 could look into it.

Diff looks sane as far as I can tell. I'd not invest time in the current proto codegen for JS anymore. We should replace that with Telescope code generation.

Considering that no use cases have been reported for the current SHA-3 Rust implementation of the HashOp::Keccak, and with the goal of bolstering support for meaningful use cases, I have opted for the inclusion of Keccak-256 as the most suitable variant (Ethereum uses this particular hash function).

Wait, but SHA-3 is the standard one. It differs from Keccak-256 only in some minor constants. Wouldn't it be better to have support for both standard SHA-3 and the Ethereum-specific variant, considering that there's effectively no extra code required?

Wait, but SHA-3 is the standard one. It differs from Keccak-256 only in some minor constants. Wouldn't it be better to have support for both standard SHA-3 and the Ethereum-specific variant, considering that there's effectively no extra code required?

I'm cool with adding a standard option. However, just to be clear, the SHA-3 implementation we've had so far is SHA3-512 (64 bytes). Afaik, the one that's more in line with Keccak256 is SHA3-256.
Honestly, I haven't come across any major projects using SHA3-512. Maybe we could focus on nailing down the Keccak variant first here and then tackle supporting SHA3 as a separate effort after some evaluation and seeing which algorithm covers the most relevant use cases. What do you think?

Thank you, @Farhad-Shabani. Sorry it took a while to review.

Thank you so much @crodriguezvega for reviewing this :pray:


Warn when _validate_features sets feature_names

Current behavior silently sets feature_names of Booster to
match data when Booster.predict(X) is called on a loaded model
Add warning to relevant section of Booster._validate_features
so user is aware it is happening.
Warning text: "Booster's feature_names did not exist. Booster's
feature_names and feature_types are being set to match the data."
Closes #4854

Looks good.  Thanks.  I wonder if there's an easy way to store utf-8 feature names in c++ ...

A little hesitate to merge it since the message seems inevitable for most use cases.

May be able to remove the validation if we can resolve https://github.com/dmlc/xgboost/pull/4594

Yes, I agree that would be ideal. In the meantime no matter how common the use case (or even because of how common the use case!) I think it’s important for there to be some kind of guardrail against a mismatch between the trained model and the data. Displaying a warning seems like one reasonable way to prevent a “validate features” step from actually silently coercing features to match, but I could also imagine a more involved fix.

@awbirdsall You are definitely right about the warning.  But let me give a shot of fixing the above mentioned issue first.  It might take a few days if I weren't able to do so I will merge this one. ;-)  Thanks for the patience.

No problem, thanks for the work on the library! :)

Progress on https://github.com/dmlc/xgboost/pull/4954 .

@trivialfis Should we consider saving the feature names in the Booster, like how we save them in the DMatrix? Otherwise, we can't do a reliable feature validation after saving and loading the model.

Thought about it before, but not sure yet.  I don't really like xgboost generating pseudo feature names.

@trivialfis We should consider removing the feature name validation option, since due to the lack of serialization of feature names, the option is only half working.

Got it.  We may remove the feature name generation, and save valid feature names obtained from pandas and alike.  WDYT?

@trivialfis Sounds good, if your proposal also entails saving feature names in the C++ layer.

Yup.  Always prefer doing things in c++ when possible.

@trivialfis I opened #6520 to keep track of the proposal.
@awbirdsall I am closing this pull request in favor of #6520. We want a more robust solution to store the feature names in the model files.

@hcho3 thanks for the update and chasing after this! The improvements in the new issue look like they should be very helpful 👍


missing english README

the old readme was in english -> https://github.com/szstonelee/redrock_old
could you add to the current readme a link to an english README
thanks :+1:

The old link has been added to README. and note: The RedRock project is completely re-written for code. I suggest the new one for RedRock. But the documents of RedRock are now only for Chinese. Please use some translation tool for the documents. I am sorry about that.

https://github.com/szstonelee/redrock/pull/5


Add python3-dev/devel to install in wallaroo-up

Add python3-dev/python3-devel to install in wallaroo-up.sh

CentOS 7 doesn't have have the python3-devel package, AFAICT, because it doesn't have any Python 3 packages available at all?  The Vagrant box that I'm using is probably old, but I'd thought that yum would update itself enough to discover Python 3 packages in the distro's default repo(s) without extra work?
Running: sudo sh -c 'yum install -y python3-devel  >> /home/vagrant/wallaroo-up.log 2>&1'
Loaded plugins: copr, fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.cc.columbia.edu
 * extras: ftp.ussg.iu.edu
 * updates: mirror.cogentco.com
No package python3-devel available.
Error: Nothing to do


Fix typo

This PR fixes a small typo.

@mmoayyed Can this PR be taken into account without tests as it is just a typo fix?


iiwa: 2.0.6-0 in 'hydro/distribution.yaml' [bloom]

Increasing version of package(s) in repository iiwa to 2.0.6-0:

upstream repository: https://bitbucket.org/khansari/iiwa.git
release repository: https://github.com/stanfordroboticslab/iiwa-release.git
distro file: hydro/distribution.yaml
bloom version: 0.5.20
previous version for package: 2.0.4-0

Hydro has been EOLed a while ago and the build farm has been shutdown. There will be no more new Debian packages for this distribution. See http://lists.ros.org/pipermail/ros-users/2015-September/069628.html


Insert #include <winrt/Microsoft.UI.Xaml.Controls.h> into pch.h not only in Main.h

Hey there!
tl;dr:
I would suggest to correct this article by the instructions of the linked article from your Microsoft Documentation:
https://docs.microsoft.com/en-us/uwp/toolkits/winui/getting-started
This article stats to put the #include <winrt/Microsoft.UI.Xaml.Controls.h> (and so on) into the Main.h file.
The linked article says to put them into the pch.h which is as I assume the better choice.
long story:
I followed the explanations of this article and got some weird errors with Objects of the type ::winrt::Microsoft::UI::Xaml::Controls::Numberbox.
Error message:
'Microsoft': the symbol to the left of a '::' must be a type
so the Numberbox specifically is kinda not present.
Using the Control Element Numberbox is essential to my project, so I wondered why this Element was "not known" even when I installed the latest preview Version of the NuGet Package Microsoft.UI.Xaml and inserted everything into the App.xaml, MainPage.xaml and Main.h in a freshly made C++/WinRT Project (ofc WinRT VSIX is installed).
The Control Numberbox is in the WinUI Library since version 2.3, so the preview Version of 2.4 should be fine too...
Inserting the #include <winrt/Microsoft.UI.Xaml.Controls.h> into the pch.h instead of Main.h earlier in the generating process solved these issues.
Thanks for the effort.
Greetings

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

ID: eb0978bf-4d67-556c-b6c6-87b360d446c8
Version Independent ID: 6fe15723-a3a2-9a7c-1720-ef4194f5ed70
Content: A simple C++/WinRT Windows UI Library example - UWP applications
Content Source: windows-apps-src/cpp-and-winrt-apis/simple-winui-example.md
Product: uwp
Technology: platform
GitHub Login: @stevewhims
Microsoft Alias: stwhi

Hi, @0x000eHx, and thanks for filing this issue. I have just now published updates and clarifications to the topic, so those are live now. I'll outline here the changes I made, and the changes I didn't make, and I'll talk about my reasons for each.
First, the topic used to say (about the includes in MainPage.h) "they cause those projection header files to be included in your project". I would say that they're not included in your project, but rather in MainPage. I thought that was misleading enough that I wanted to correct my wording there.
I've also added an "Important" callout, hopefully focusing on the difference between including at the file level and including at the precompiled header level. I do feel like for this particular walkthrough, including locally like this is appropriate. It's a valid choice in any real-world project, and I'd say it's the better choice in some. For example, imagine you have a large project, with a set of very commonly used headers included in pch.h. You make changes to pch.h very rarely at this point in your project's lifecycle and so each time you build you benefit from not having to recompile the headers in your pch.h.  If you add the headers to pch.h and build then you'll have to wait for pch.h to re-build, which will take a good chunk of time. If you add the headers just to the local XAML file, then your build will (typically) be a lot faster.
So, including locally or globally are both valid choices. They will have different values and tradeoffs for different situations. The other topic that you link to (the C++/WinRT content in both these topics was written by the same author) shows one option, and doesn't discuss the other (which is fine for the level it's pitched at). This topic now explains the difference better, so thanks for the prod there.
And just to double-check, I went through the walkthrough in this topic another time, and then I added an instance of a NumberBox (note NumberBox and not Numberbox) declaratively to the XAML markup, and then imperatively to the .h and .cpp, and the references to that type resolved in all cases.
Thanks again!
Steve

Thanks for the fast reply and clarification 👍
You are totally right, I did recall that namespace path of Numberbox out of memory, after I sorted out that issue. It must be NumberBox.
I'm curious why my simple project does produce this error. I only use the NumberBox Element inside my MainPage. Means only inserted it inside the MainPage.xaml in a one page MainPage Project.
Dont really know why the includes in the MainPage.h and .xaml weren't suffient...
Did you use any other #includes than #include "winrt/Microsoft.UI.Xaml.Controls.h" and #include "winrt/Microsoft.UI.Xaml.XamlTypeInfo.h" in the MainPage.h File? Is the order of insertation important? (Did insert these entries after the #include "MainPage.g.h" tho')
What was your assigned Windows SDK / Target Platform Version? My settings are the standard ones: target 10.0.18362.0 and minimum version 10.0.17763.0
By the way I had to include the NumberBox XAML Code manually into the MainPage.xaml, cause it won't show as an available element in the Toolbox of Blend... Was it the same in your example build?
This might not be on purpose and I have to direct this as an "error" to the WinUI NuGet Package Devs? Maybe this will change in future updates...
Thanks again for your time.
Greetings

I only used the #includes mentioned in the topic, order of include doesn't matter AFAIK, but I used the order in the topic. For all sample code I put into topics it's always tested with whatever the currently generally available platform is, for both target and min (currently that's 10.0.18362.0). I'm unsure how Visual Studio/Blend behave in this case.
-Steve


Another problem with sending video to Telegram

Good afternoon. Please tell me, after the update, the video from one of the cameras in the telegram stopped coming, everything worked before.

Tell me what am I doing wrong? Thank you.

I need someone else to confirm the problem


Tui support for highlighting

The Highlighting groups don't provide any cterm definitions for the TUI.
I found in lua/lightspeed.lua around line 175 the definition of the highlight groups
Is a target of this project to support TUI too?, then I could open a PR with my changes to discuss a possible implementation.

Sure, we just need to add the corresponding cterm attributes to the group definitions. The question is, should we convert the values to 256 colors then? Or maybe 16?
The .lua file is generated, you can find the relevant part in the Fennel source file here.

Thanks, I was already wondering how you possibly can keep track of all this _16_ ;)
NeoVIM only supports 16 colors for console because of compatibility.

In #4 is a simple idea how a solution looks like.
It's mirrored what I have changed in the lightspee.lua to make it work on my machine.

Thank you :) Will look at this tonight, test and tweak the colors, and figure out a good scheme for light background...
There is a makefile included that you could use to compile the Fennel file to the lua folder, just run make after finishing the edits, and then the plugin can be tested locally after re-sourcing.

Good to know, I never worked with Lua or Fennel before ^^

Might I suggest just defining LightspeedFoo highlight groups and letting color schemes / user configs sort out the actual colors? This might be more portable / extensible and is how, e.g., gitsigns does this.

Might I suggest just defining LightspeedFoo highlight groups and letting color schemes / user configs sort out the actual colors?

Preaching to the choir: :h lightspeed-highlight.

(Also, TUIs do use guifg if termguicolors is set.)

Yeah, that's why I skipped defining cterm groups, but it would be better to provide defaults for those anyway.

(Also, TUIs do use guifg  if termguicolors is set.)

but this settting breaks many plugins ^^