Use Case Content Strategy: Same Company, Multiple Use Cases

with relation to handling/moderation of user-submitted Use Cases for same company (e.g., are approximate duplicates okay?, are exact duplicates okay?)
Right now, we are allowing for multiple use cases from same company.  We are leaving the duplicate check to moderators who will "approve" a use case.

@pmcfadin - Right now, we have fixed the problem that was preventing users from creating more than one use case per company.  However, I created this issue so that it is on your radar that a content strategy probably needs to include how moderators approve multiple use cases.  Or - if you feel it doesn't - and duplicate use cases (that are true duplicates) are not a problem - you can close this issue.
I'm going to move this to the "Content" project in Github.


Performance issue in the program

Hello, I found a performance issue in the definition of cache_fn, train.py, tf.zeros will created repeatedly during program execution, resulting in reduced efficiency. I think it should be created before the loop in cache_fn.
Looking forward to your reply. Btw, I am very glad to create a PR to fix it if you are too busy.

@zihangdai Hi, bro, could you consider the issue?


BACKEND: Documenting how to add a new API/Model (using alias sample)

Based on the experience adding Alias API/Model to the backend provide a step-by-step summary.
To Do:

[x] Add a draft of the howto to this issue
[x] Define where to locate it
[ ] Review Completed
[ ] Add to back-end WIKI

Draft
Django Notes Adding Alias API

Adding Model Alias under: civictechindexadmin/data/models.py

# ###### Alias ###########
class Alias(models.Model):
    tag = models.CharField(max_length=30)
    alias = models.CharField(max_length=30)

    def __str__(self):
        return f"Alias {self.id}: {self.tag} {self.alias}"

Adding admin class AliasAdmin under civictechindexadmin/data/admin.py

2.1. Importing the model class
from .models import Organization, Link, FAQ, NotificationSubscription, Alias
2.2. Definig admin class
class AliasAdmin(admin.ModelAdmin):
    model = Alias
    list_display = ('id', 'tag', 'alias')
    list_filter = ('tag', 'alias',)
    search_fields = ('tag', 'alias')

2.3. Registering admin class
admin.site.register(Alias, AliasAdmin)

Adding Serializer   AliasSerializer under: civictechindexadmin/data/api/serializers.py

3.1. Importing the model class
from ..models import Organization, Link, FAQ, NotificationSubscription, Alias
3.2. Defining serializer class
class AliasSerializer(serializers.ModelSerializer):
    class Meta:
        model = Alias
        fields = ['id', 'tag', 'alias', ]
        depth = 1

Adding View AliasViewSet under: civictechindexadmin/data/api/views.py

4.1. Importing serializer class
from .serializers import OrganizationSerializer, LinkSerializer, FAQSerializer, NotificationSubscriptionSerializer, AliasSerializer
4.2. Importing the model class
from ..models import Organization, Link, FAQ, Alias
4.3.  importing CreateModelMixin in order to make available POST method:
from rest_framework.mixins import ListModelMixin, RetrieveModelMixin, UpdateModelMixin, CreateModelMixin
4.4. Defining view class including CreateModelMixin
class AliasViewSet(RetrieveModelMixin, ListModelMixin, UpdateModelMixin, GenericViewSet, CreateModelMixin):
    serializer_class = AliasSerializer
    queryset = Alias.objects.all()
    lookup_field = "alias"

Adding admin class AliasAdmin under: civictechindexadmin/data/admin.py

5.1. Importing the model class
from .models import Organization, Link, FAQ, NotificationSubscription, Alias
5.2. Defining admin class
class AliasAdmin(admin.ModelAdmin):
    model = Alias
    list_display = ('id', 'tag', 'alias')
    list_filter = ('tag', 'alias',)
    search_fields = ('tag', 'alias')

5.3. registering admin
admin.site.register(Alias, AliasAdmin)

Registering API router at config/api_router.py

6.1. Importing  view:
from civictechindexadmin.data.api.views import (
    OrganizationViewSet, LinkViewSet, FAQViewSet, AliasViewSet,
    subscribe
)

6.2. registering router:
router.register("aliases", AliasViewSet)

Rebuilding container

(base) ~/hackforla/CTI-website-backend$ docker-compose up -d --build

Making migrations

(base) ~/hackforla/CTI-website-backend$ docker-compose exec web python manage.py makemigrations
Generated files:
	civictechindexadmin/contrib/sites/migrations/0004_auto_20210205_2112.py
	civictechindexadmin/data/migrations/0009_alias.py
	civictechindexadmin/users/migrations/0002_auto_20210205_2112.py

Content of civictechindexadmin/data/migrations/0009_alias.py:

# Generated by Django 3.1.5 on 2021-02-05 21:12

from django.db import migrations, models

class Migration(migrations.Migration):

    dependencies = [
        ('data', '0008_add_link_status_fields'),
    ]

    operations = [
        migrations.CreateModel(
            name='Alias',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('tag', models.CharField(max_length=30)),
                ('alias', models.CharField(max_length=30)),
            ],
        ),
    ]

Progress Report 02/07/2021:
This is available for review.
could this be a useful resource for onboarding? What/where would be an ideal place to make this kind of documentation availabe? ( @ExperimentsInHonesty @Olivia-Chiong @cnk @giosce  )

@emecas let's put this in the backend and put a link in the frontend wiki

Please move the section about making migrations to immediately after section 1 about adding or editing models. And please add a note that you should be careful to only include migrations for the changes included in the model edits. Before running the migration, one should rename it to something descriptive. When adding a single table, the autogenerated name is usually good enough - but when the name is something like 0002_auto_20210205_2112, it needs to be renamed.

@emecas is discussing with @giosce regarding information to put into the Wiki

It looks good to me.

One more item. I think section 5 should have a link to the DRF docs on ViewSets. Not all our serializers need all items in the list you gave in your example. In fact, do we want to write to the Alias table from the front end? if not, this should probably have a ReadOnlyModelViewset - https://www.django-rest-framework.org/api-guide/viewsets/#readonlymodelviewset
But even without this edit, I think this is a valuable addition to the project wiki.

One more item. I think section 5 should have a link to the DRF docs on ViewSets. Not all our serializers need all items in the list you gave in your example. In fact, do we want to write to the Alias table from the front end? if not, this should probably have a ReadOnlyModelViewset - https://www.django-rest-framework.org/api-guide/viewsets/#readonlymodelviewset

Thank you @cnk,  I have added a note at the end of section 5.

But even without this edit, I think this is a valuable addition to the project wiki.

If there is not any additional feedback, I will move this to the wiki.

New wiki page is available here:
https://github.com/civictechindex/CTI-website-backend/wiki/How-to-Add-a-New-API-Model-Base-on-Alias-Sample


Expand and move API obsoletion policy.

Issue description
The .NET API obsoletion policy is listed in https://learn.microsoft.com/en-us/dotnet/core/compatibility/library-change-rules a little ways down the page. As far as I have been able to see it is the only place it can be found. It is difficult to find and does not say anything about temporary configuration switches that are often provided to give customers time to migrate.
Target framework
Not applicable as this is about a policy not specific to any given TFM.
There are two parts to this issue...

Expand on the policy to include configuration switches
Move the policy somewhere with more visibility

Maybe under https://learn.microsoft.com/en-us/dotnet/core/compatibility/categories

FYI @gewarren and @jkotas and @PriyaPurkayastha

@StephenBonikowsky This was mostly addressed by #35169, except we didn't add anything about temporary config switches. There was, however, much discussion before this text was approved. Do you still feel that info needs to be added?

Thanks for raising this question @gewarren. You are right, temporary workarounds were discussed as part of our extensive discussions leading to the publishing of the policy addressed by https://github.com/dotnet/docs/pull/35169, and here is the consolidated summary:

Every breaking change that is documented has a section for "Recommended Action" for mitigations.
Mitigations can be in many forms and not necessarily always config switches.
For high impact breaking changes where customers might need to rewrite a significant part of the logic, temporary workarounds might be provided to provide extra time to implement the mitigation.
There is no fixed tenure for temporary workarounds. If there is security risk or high maintenance cost, we want to delete it sooner rather than later. On the other hand, if there is no security risk and we see many customers using the temporary workaround, we might keep it longer.
Due to the above, we cannot really have a specific policy about duration of a config switch which is just one type of a temporary workaround provided as a mitigation for a breaking change.

All good with me


CUDNN_STATUS_BAD_PARAM with Volta Tensor Core

I tried to evaluate v100 Tensor Core with Chainer following https://www.slideshare.net/NVIDIAJapan/volta-chainer, but I got following errors.
Environments

Chainer version: master
CuPy version: master
OS/Platform: ubunt16.04
Python 3.5.2 (/usr/bin/python3 of Ubuntu 16.04)
CUDA/cuDNN version: CUDA9 and cuDNN7
Machine: AWS p3.2xlarge

Code to reproduce
I applied following patch to chainer/examples/imagenet/train_imagenet.py because I just did not want to prepare dataset for alex_fp16.
--- a/examples/imagenet/train_imagenet.py
+++ b/examples/imagenet/train_imagenet.py
@@ -27,16 +27,21 @@ import resnet50

 class PreprocessedDataset(chainer.dataset.DatasetMixin):

-    def __init__(self, path, root, mean, crop_size, random=True):
-        self.base = chainer.datasets.LabeledImageDataset(path, root)
-        self.mean = mean.astype('f')
+    def __init__(self, length, root, mean, crop_size, random=True):
+        # self.base = chainer.datasets.LabeledImageDataset(path, root)
+        self.length = int(length)
+        self.mean = mean.astype('float16')
         self.crop_size = crop_size
         self.random = random

     def __len__(self):
-        return len(self.base)
+        return self.length # len(self.base)

     def get_example(self, i):
+        image = np.random.rand(3, self.crop_size, self.crop_size).astype('float16')
+        label = np.random.randint(0, 9, 1, 'int32')[0]
+        return image, label
+
         # It reads the i-th image/label pair and return a preprocessed image.
         # It applies following preprocesses:
         #     - Cropping (random or center rectangular)
@@ -117,7 +122,7 @@ def main():
         model.to_gpu()

     # Load the datasets and mean file
-    mean = np.load(args.mean)
+    mean = np.random.rand(3, model.insize, model.insize).astype('float16') #  np.load(args.mean)
     train = PreprocessedDataset(args.train, args.root, mean, model.insize)
     val = PreprocessedDataset(args.val, args.root, mean, model.insize, False)
     # These iterators load the images with subprocesses running in parallel to

python3 chainer/examples/imagenet/train_imagenet.py --arch alex_fp16 --epoch 100 --batchsize 32 --gpu 0 2048 2048

Error messages, stack traces, or logs
Exception in main training loop: CUDNN_STATUS_BAD_PARAM: b'CUDNN_STATUS_BAD_PARAM'
Traceback (most recent call last):
  File "/home/sonots/.local/lib/python3.5/site-packages/chainer-4.0.0b1-py3.5.egg/chainer/training/trainer.py", line 302, in run
    entry.extension(self)
  File "/usr/lib/python3.5/contextlib.py", line 77, in __exit__
    self.gen.throw(type, value, traceback)
  File "/home/sonots/.local/lib/python3.5/site-packages/chainer-4.0.0b1-py3.5.egg/chainer/reporter.py", line 98, in scope
    yield
  File "/home/sonots/.local/lib/python3.5/site-packages/chainer-4.0.0b1-py3.5.egg/chainer/training/trainer.py", line 299, in run
    update()
  File "/home/sonots/.local/lib/python3.5/site-packages/chainer-4.0.0b1-py3.5.egg/chainer/training/updater.py", line 223, in update
    self.update_core()
  File "/home/sonots/.local/lib/python3.5/site-packages/chainer-4.0.0b1-py3.5.egg/chainer/training/updater.py", line 234, in update_core
    optimizer.update(loss_func, *in_arrays)
  File "/home/sonots/.local/lib/python3.5/site-packages/chainer-4.0.0b1-py3.5.egg/chainer/optimizer.py", line 534, in update
    loss = lossfun(*args, **kwds)
  File "/home/sonots/chainer/examples/imagenet/alex.py", line 72, in __call__
    return Alex.__call__(self, F.cast(x, self.dtype), t)
  File "/home/sonots/chainer/examples/imagenet/alex.py", line 31, in __call__
    F.relu(self.conv2(h))), 3, stride=2)
  File "/home/sonots/.local/lib/python3.5/site-packages/chainer-4.0.0b1-py3.5.egg/chainer/links/connection/convolution_2d.py", line 159, in __call__
    x, self.W, self.b, self.stride, self.pad, dilate=self.dilate)
  File "/home/sonots/.local/lib/python3.5/site-packages/chainer-4.0.0b1-py3.5.egg/chainer/functions/connection/convolution_2d.py", line 495, in convolution_2d
    y, = fnode.apply(args)
  File "/home/sonots/.local/lib/python3.5/site-packages/chainer-4.0.0b1-py3.5.egg/chainer/function_node.py", line 245, in apply
    outputs = self.forward(in_data)
  File "/home/sonots/.local/lib/python3.5/site-packages/chainer-4.0.0b1-py3.5.egg/chainer/function_node.py", line 337, in forward
    return self.forward_gpu(inputs)
  File "/home/sonots/.local/lib/python3.5/site-packages/chainer-4.0.0b1-py3.5.egg/chainer/functions/connection/convolution_2d.py", line 198, in forward_gpu
    y_desc.value, y.data.ptr)
  File "cupy/cuda/cudnn.pyx", line 728, in cupy.cuda.cudnn.convolutionForward
  File "cupy/cuda/cudnn.pyx", line 742, in cupy.cuda.cudnn.convolutionForward
  File "cupy/cuda/cudnn.pyx", line 449, in cupy.cuda.cudnn.check_status
Will finalize trainer extensions and updater before reraising the exception.
Traceback (most recent call last):
  File "/home/sonots/chainer/examples/imagenet/train_imagenet_fp16.py", line 169, in <module>
    main()
  File "/home/sonots/chainer/examples/imagenet/train_imagenet_fp16.py", line 165, in main
    trainer.run()
  File "/home/sonots/.local/lib/python3.5/site-packages/chainer-4.0.0b1-py3.5.egg/chainer/training/trainer.py", line 313, in run
    six.reraise(*sys.exc_info())
  File "/home/sonots/.local/lib/python3.5/site-packages/six.py", line 693, in reraise
    raise value
  File "/home/sonots/.local/lib/python3.5/site-packages/chainer-4.0.0b1-py3.5.egg/chainer/training/trainer.py", line 302, in run
    entry.extension(self)
  File "/usr/lib/python3.5/contextlib.py", line 77, in __exit__
    self.gen.throw(type, value, traceback)
  File "/home/sonots/.local/lib/python3.5/site-packages/chainer-4.0.0b1-py3.5.egg/chainer/reporter.py", line 98, in scope
    yield
  File "/home/sonots/.local/lib/python3.5/site-packages/chainer-4.0.0b1-py3.5.egg/chainer/training/trainer.py", line 299, in run
    update()
  File "/home/sonots/.local/lib/python3.5/site-packages/chainer-4.0.0b1-py3.5.egg/chainer/training/updater.py", line 223, in update
    self.update_core()
  File "/home/sonots/.local/lib/python3.5/site-packages/chainer-4.0.0b1-py3.5.egg/chainer/training/updater.py", line 234, in update_core
    optimizer.update(loss_func, *in_arrays)
  File "/home/sonots/.local/lib/python3.5/site-packages/chainer-4.0.0b1-py3.5.egg/chainer/optimizer.py", line 534, in update
    loss = lossfun(*args, **kwds)
  File "/home/sonots/chainer/examples/imagenet/alex.py", line 72, in __call__
    return Alex.__call__(self, F.cast(x, self.dtype), t)
  File "/home/sonots/chainer/examples/imagenet/alex.py", line 31, in __call__
    F.relu(self.conv2(h))), 3, stride=2)
  File "/home/sonots/.local/lib/python3.5/site-packages/chainer-4.0.0b1-py3.5.egg/chainer/links/connection/convolution_2d.py", line 159, in __call__
    x, self.W, self.b, self.stride, self.pad, dilate=self.dilate)
  File "/home/sonots/.local/lib/python3.5/site-packages/chainer-4.0.0b1-py3.5.egg/chainer/functions/connection/convolution_2d.py", line 495, in convolution_2d
    y, = fnode.apply(args)
  File "/home/sonots/.local/lib/python3.5/site-packages/chainer-4.0.0b1-py3.5.egg/chainer/function_node.py", line 245, in apply
    outputs = self.forward(in_data)
  File "/home/sonots/.local/lib/python3.5/site-packages/chainer-4.0.0b1-py3.5.egg/chainer/function_node.py", line 337, in forward
    return self.forward_gpu(inputs)
  File "/home/sonots/.local/lib/python3.5/site-packages/chainer-4.0.0b1-py3.5.egg/chainer/functions/connection/convolution_2d.py", line 198, in forward_gpu
    y_desc.value, y.data.ptr)
  File "cupy/cuda/cudnn.pyx", line 728, in cupy.cuda.cudnn.convolutionForward
  File "cupy/cuda/cudnn.pyx", line 742, in cupy.cuda.cudnn.convolutionForward
  File "cupy/cuda/cudnn.pyx", line 449, in cupy.cuda.cudnn.check_status
cupy.cuda.cudnn.CuDNNError: CUDNN_STATUS_BAD_PARAM: b'CUDNN_STATUS_BAD_PARAM'

I added print debug as:
chainer/functions/connection/convolution_2d.py
+            print('x.shape', x.shape, 'W.shape', W.shape, 'workspace.shape', workspace.shape, 'y.shape', y.shape)
            libcudnn.convolutionForward(
                handle, one.data, x_desc.value, x.data.ptr,
                filter_desc.value, W.data.ptr, conv_desc.value,
                algo, workspace.data.ptr, workspace_size, zero.data,
                y_desc.value, y.data.ptr)

I got like:
x.shape (32, 3, 227, 227) W.shape (96, 3, 11, 11) workspace.shape (8388608,) y.shape (32, 96, 55, 55)
x.shape (32, 96, 27, 27) W.shape (256, 96, 5, 5) workspace.shape (8388608,) y.shape (32, 256, 27, 27)
Exception in main training loop: CUDNN_STATUS_BAD_PARAM: b'CUDNN_STATUS_BAD_PARAM'
[omitted]

So, it looks the error occurred when the number of channels become multiples of 8,  so when tensor core is used.

@anaruse

Thank you for reporting an issue, @sonots.
As a result of the investigation, it was found that the root cause is that work-space size for cuDNN is not sufficient. Please increase the work-space size as follows:
ws_size = 128*1024*1024
chainer.cuda.set_max_workspace_size(ws_size)
trainer.run()

I think that current method to select an algorithm for Tensor Core is not appropriate. Now, I'm preparing a PR that uses safer algorithm selection method showing warning messages when Tensor Core is not available.

Warning is shown if tensor core algorithm is not selected now https://github.com/cupy/cupy/pull/890.
Let me close.

@anaruse Can you explain what the workspace is? I cannot find documentation about it anywhere online. Seeing as the forum is dead, I figured this was the next-best place to ask this question. Apologies if it still shouldn't be here.


Flow-of-flows for creating Staging split files for Article content

Goal
Flow-of-flows for creating Staging split files for Article content imports

I have this working via other prs. Closing for now.


Error in Chrome console while opening Onedrive File picker

Hi,
I am a developer working on Onedrive for the past few months.  I am using Code flow authentication the with the help of LIVE SDK. I am opening the onedrive file picker window on my site. All working fine. But, I am getting the following error in the console.
Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://onedrive.live.com') does not match the recipient window's origin ('http://xyz.ngrok.com').

How do I overcome this error.

@Rocky2908 We looked into this further, and it turns out this issue is a race condition that sometimes occurs between the evaluating the postMessage function and loading the picker window.   Since there's retry logic, this shouldn't negatively affect the end user experience.


white page at point 4

@spagno filed an issue against operator that I believe would be better tracked against UI:
Hi,
i did the setup on a ocp 4.1 cluster and on a ocp 3.11 cluster and it worked good.
When I migrate a project without pvc no problem at all but when I try to migrate a projet with pvc, at point 4 "Storage Class" I get a white page.
This happens with firefox 68.0 and chrome 76.0.3809.100 on fedora core 30
Even if I got a white page, the Plan has been created but I cannot delete it with chrome
regards

@djwhatle is this similar to issue you saw Friday with 3.10 -> 3.11 migration.

@spagno is it possible to get the javascript console logs so we can help to see what went wrong?

We ran into a similar issue on Friday when our destination class lacked a storage class.
Below PR fixed the issue.
https://github.com/fusor/mig-ui/pull/514

I believe #514 fixes this, going to close this. Please re-open if this continues to show up.


native_posix: 💧 Fix realloc potential leak

Fix a possible leak if realloc fails here; check the result of the
realloc call before updating the pointer, so it can be freed in the
failure case.

heh, does our coding standard allow emojis in commit messages?

:grinning: yeah, I didn't see that prohibited anywhere in the coding standard, happy to remove it!

@noahp You will need to amend the commit author to match the signed off address

@noahp You will need to amend the commit author to match the signed off address

Oof yeah, my b, sorry about that.


Fixes 9192 - Add entity link in response

Describe your changes :
Fixes #9192. We will pass the entity URL in the response form the aggregate API.
{
    ...
    "entityHref": "<url to entity>"
    ...
}

Type of change :

[x] Bug fix
[x] Improvement
[x] New feature
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation

Frontend Preview (Screenshots) :
For frontend related change, please link screenshots of your changes preview! Optional for backend related changes.

Checklist:

[x] I have read the CONTRIBUTING document.
[ ] I have commented on my code, particularly in hard-to-understand areas.
[ ] I have added tests that prove my fix is effective or that my feature works.
[x] All new and existing tests passed.

Reviewers

cc @ShaileshParmar11


Project Plans

So the current plan is to port rules from both https://github.com/eslint/eslint and https://github.com/typescript-eslint/typescript-eslint.
They will be released as @eslint-stylistic/eslint-plugin-core and @eslint-stylistic/eslint-plugin-typescript respectively.
I also reserved eslint-config-stylistic for a one-line extend in eslintrc and easy usage. Ideally, the usage would be like:
{
  "extends": ["stylistic"]
}

We shall focus on porting the ESLint core first, here is a few todos:

[ ] Port Rules from ESLint core

[ ] Be sure to update the Licenses
[ ] Invite contributors who are interested in maintaining them, or previously contributed to those rules

[ ] Port Rules from typescript-eslint

[ ] Would be glad to use some help from the typescript-eslint team, if anyone is interested

[ ] We could later use the rules we port to lint the project itself.

In preparation of https://www.npmjs.com/package/@eslint/js I would suggest to not name it core

In preparation of npmjs.com/package/@eslint/js I would suggest to not name it core

Oh interesting, thanks for the heads up! Do you suggest we go with @eslint-stylistic/eslint-plugin-js/ts or @eslint-stylistic/eslint-plugin-javascript/typescript?

In preparation of npmjs.com/package/@eslint/js I would suggest to not name it core

Oh interesting, thanks for the heads up! Do you suggest we go with eslint-plugin-(js/ts) or eslint-plugin-(javascript/typescript)?

I think it's still js or ts, and this naming is already very common for web developers ^-^

In preparation of npmjs.com/package/@eslint/js I would suggest to not name it core

Oh interesting, thanks for the heads up! Do you suggest we go with eslint-plugin-(js/ts) or eslint-plugin-(javascript/typescript)?

I personally prefer the explicit naming @eslint-stylistic/eslint-plugin-javascript and @eslint-stylistic/eslint-plugin-typescript,
but I will leave the final decision to you

I have a small question. Why separate plugins for js and ts? ts is a superset of js, so I think all ts rules support js.
For example, I think that the indentation rules of @eslint-stylistic/eslint-plugin can also support js if it supports ts.
If a rule requires type information, it might be better to separate the plugin, but I would expect that most stylistic rules do not require type information.

I have a small question. Why separate plugins for js and ts? ts is a superset of js, so I think all ts rules support js. For example, I think that the indentation rule of @eslint-stylistic/eslint-plugin can also support js if it supports ts. If a rule requires type information, it might be better to separate the plugin, but I would expect that most stylistic rules do not require type information.

What about Flow? Or CoffeeScript? Or whatever... 🤔 Aren't they "just" JS with extras? 😅
It would have up- and downsides to have JS/TS mixed in one plugin
The JS code could be traversed much faster then the TS AST, and maybe there are some projects that explicitly only want JS without TS but using JSDocs for expressing the types.

We may need to separate plugins for CoffeeScript and Flow. However, I think ts rules can support js.
If the same rules as ts rules are reimplemented for js, there will be two rule implementations, so I'm concerned that the maintenance cost may increase.
Separating plugins for js may have a small performance advantage, but I think lower maintenance costs should be a priority.

We may need to separate plugins for CoffeeScript and Flow. However, I think ts rules can support js. If the same rules as ts rules are reimplemented for js, there will be two rule implementations, so I'm concerned that the maintenance cost may increase. Separating plugins for js may have a small performance advantage, but I think lower maintenance costs should be a priority.

understandable arguments
let's see what @antfu has to say about that

@ota-meshi A few reasons I can think about:

We are going to port js rules from ESLint core, and ts rules from typescript-eslint, which means they come from different sources and have different structure/format (e.g. eslint rules are single-file JS, while I image typescript ones they are written in typescript with their own plugin-utils). It's easier we separate them for both communication and maintainability.
While TS is indeed a superset of JS, I imagine @typescript-eslint/indent would not be 100% identical to indent. If we don't provide the JS version, it might make the migration way harder.
AFAIK, @typescript-eslint/eslint-plugin requires typescript as a dependency. Which not all projects would have it installed.

To me, the current priority is to make 1:1 port of existing rules and not to think too much about improvements, so the migration can be easier and straightforward. After it get stable and the both ESLint and ts-eslint teams started to redirecting users to us, then we can thinking about how to (refactor/add more rules/improve existing ones/etc).

Yeah, I agree
Additionally: with eslint FlatConfig it will be more and more easy to configure rules for each language individually.
@sxzz might know stuff better specific to FlatConfig
He worked on eslint-define-config for FlatConfig support

@antfu  Thank you for your opinion.
I think you're right that separating plugins makes porting and migration easier. Your input made me think that separating the plugins is the best start.

AFAIK, @typescript-eslint/eslint-plugin requires typescript as a dependency. Which not all projects would have it installed.

In my opinion, @typescript-eslint/utils is the only dependency.
The rules require a parser, but I think we can also make it independent of typescript by making @babel/eslint-parser selectable instead of @typescript-eslint/parser.

I'm interested in this project, and I've had the idea of maintaining separate style rules, but never acted on it because of energy and time issues. What would it take to join in on this?

Also don't forget to integrate issues that have been identified in the original rules but not yet fixed, for example, the indent rule has eight open issues,

Regarding package naming, I suggest using @eslint-stylistic/* (@eslint-stylistic/js), which is similar to @eslint/js and is not cumbersome with repeated occurrences of eslint.  It doesn't quite keep its conventions but I don't think it's a big problem.

Hey @kecrily, glad to hear that. Just send you the invite, welcome :)

Also don't forget to integrate issues that have been identified in the original rules but not yet fixed

I wouldn't really bother with it. Instead, I'd think it would be better for the community to bring them up again in this repo, if they are important enough to them. I think we better do it when we finished the migration and infra.

Regarding package naming

I actually got the @stylistic org on npm, so awe could have @stylistic/js/indent, which I think it's quite clear now.

You can join chat.antfu.me, that we have a channel for this org (later we will see if it needs to be a dedicate server)

After we started maintaining these rules, shall we convert those rules written in JavaScript into TypeScript? This can reduce some potential errors. I'm glad to contribute to this refactor :)

Yes, definitely

Added a section about refactor plans: https://eslint-stylistic.netlify.app/contribute/project-progress#_4-refactors suggestions welcome :)

I'd love to help; the airbnb config as well as my personal config will need to be able to use stylistic eslint rules (which are far superior to any extant formatters) moving forwar.

@ljharb Glad to hear you are interested in it! Since you are here:

Do you think it makes sense to also move some JSX-related stylistic rules from eslint-plugin-react to this repo? The main reason for that is I think it would be better to have a plugin for framework-agnostic JSX rules. So the other frameworks like Solid, Qwik don't need to maintain they are own stylistic rules, and focus more on providing framework-specific rules.
I hear that you might need to support down to Node 4 for some project (including your eslint config, or not?). For this project, because it's mainly for ESLint v8's deprecation, I think it makes better sense that our compatibility range would align with ESLint (^12.22.0 || ^14.17.0 || >=16.0.0). Are you ok with that?

For the first question, it might make sense eventually to replace some of the react rules with framework-agnostic jsx rules, but in general I think many of the rules are indeed framework-specific, including in terms of sub-ecosystem idioms.
For the second, I need to lint projects that run in node 0.4, but I don't need to run the linter in old node versions, if that makes sense? In other words, I need to be able to enforce stylistic conventions on ES3 code, but it's fine if I need a modern node version to do that enforcement.

For JSX, I think we only need to have common stylistic rules, basically like how Prettier handles JSX. We picked a few rules https://github.com/eslint-stylistic/eslint-stylistic/blob/93c5b521b16f7777449cd4c6bfe18e78075c4c0d/scripts/migrate.ts#L123-L144 and seems to work fine with JSX for other frameworks. Do you think that list makes sense (what more to include/exclude)? If we do so, would you consider deprecating those rules in eslint-plugin-react (or moving them as a dependency to this project) like ESLint and typescript-eslint will do?
For the second, that makes sense! I guess as long as the underlying parsers are compatible with ES3, I think we should be fine with that right?

A soft deprecation might be fine, but I'm unlikely to make a breaking change.
Stylistic rules in eslint-plugin-import might be worth porting as well, although import/order would require supporting import resolvers.

Closing this issue as we have moved forward a lot now. Future discussions can be held in separate issues.


feat(metadata): Add "type" to "mainEntityOfPage"

This feature was request by a partner who uses our metadata API.

@hugotiburtino Wait a little bit with the merge! :smile:

@hugotiburtino New change in https://github.com/serlo/database-layer/pull/488/commits/cd8304e60707aa91061fcb673fb67969d5c1f0c0. Ready to be merged now


ansible: configure proxy support

Configures [HTTP|HTTPS|NO]_PROXY support for containerd and kubelet.

Does KIB already set the proxy vars when downloading OS packages, docker images and other binaries?

Not during the image build phase, I can totes add that in to the remote exe env, (https://github.com/mesosphere/konvoy-image-builder/blob/main/pkg/packer/manifests/aws/packer.json.tmpl#L89-L129), locally the exec'd packer will respect the env vars.
Presumably they could be a different set too, so I guess having them be a set of specific vars (provisioner_http_proxy, et. al) and then falling back to the runtime (http_proxy) vars would be needed as well.

Tested Centos7 and I was a bit too eager above to suggest allowing separate proxies. The issue is that during the build we start containerd (with its http dropin) and pull the images, so to have ami build time proxy != runtime proxy would require some gymnastics (totally doable though with another dropin to override the override, and a post task to clean it up before exiting).
But I'm getting stron YAGNI vibes from that, so until it becomes a req to have them separate I suggest we just roll with one set.
The override file for testing was:
---
http_proxy: http://my.proxy.url:8888
https_proxy: http://my.proxy.url:8888
no_proxy: yahoo.com

Refactored to use an EnvironmentFile which is removed after the run. Konvoy2 will write the file via KubeadmConfigSpec.Files at provision time to specify the runtime proxy if needed.

NOTE I don't have access to TeamCity so I can't see why it failed. I suspect its being flakey as its has randomly failed when manual testing has passed. If someone has access to re-run it or grab the logs for me I'd appreciate it.

The test is failing with
    flatcar-2905.2.0: TASK [packages : Fail if pre-installed containerd version does not match for Flatcar] ***
    flatcar-2905.2.0: fatal: [default]: FAILED! => {"changed": true, "cmd": "containerd --version | cut -d\\  -f 3", "delta": "0:00:00.038818", "end": "2021-07-28 14:35:06.568745", "failed_when_result": true, "rc": 0, "start": "2021-07-28 14:35:06.529927", "stderr": "", "stderr_lines": [], "stdout": "1.5.4", "stdout_lines": ["1.5.4"]}
    flatcar-2905.2.0:
    flatcar-2905.2.0: PLAY RECAP *********************************************************************
    flatcar-2905.2.0: default                    : ok=19   changed=15   unreachable=0    failed=1    skipped=47   rescued=0    ignored=0
    flatcar-2905.2.0:
==> flatcar-2905.2.0: Provisioning step had errors: Running the cleanup provisioner, if present...
==> flatcar-2905.2.0: Terminating the source AWS instance...
==> flatcar-2905.2.0: Cleaning up any extra volumes...
==> flatcar-2905.2.0: No volumes to clean up, skipping
==> flatcar-2905.2.0: Deleting temporary security group...
==> flatcar-2905.2.0: Deleting temporary keypair...
Build 'flatcar-2905.2.0' errored after 5 minutes 33 seconds: Error executing Ansible: Non-zero exit status: exit status 2

but this also fails on main when I run (following MAWS setup) using
#!/bin/bash

set -e -x

eval "$(python3 hack/setup_environment.py)"

rm .docker-mesosphere.konvoy-image-builder.latest-devkit || true

make devkit.run WHAT='make flatcar'

With a re-run of the test, it looks like SuSE is sometimes the cause of the failure:
16:22:26
      sles-15-nvidia: TASK [gpu : Install Nvidia drivers] ********************************************
16:22:27
      sles-15-nvidia: fatal: [default]: FAILED! => {"changed": false, "cmd": ["/usr/bin/zypper", "--quiet", "--non-interactive", "--xmlout", "install", "--type", "package", "--auto-agree-with-licenses", "--no-recommends", "--", "+cuda-drivers-460"], "msg": "Zypper run command failed with return code 4.", "rc": 4, "stderr": "", "stderr_lines": [], "stdout": "<?xml version='1.0'?>\n<stream>\n<prompt id=\"1\">\n<description>Problem: nothing provides 'libvdpau1' needed by the to be installed x11-video-nvidiaG05-460.91.03-0.x86_64\n Solution 1: do not install cuda-drivers-460-460.91.03-1.x86_64\n Solution 2: break x11-video-nvidiaG05-460.91.03-0.x86_64 by ignoring some of its dependencies\n</description>\n<text>Choose from above solutions by number or cancel</text>\n<option value=\"1\" desc=\"Choose solution 1\"/>\n<option value=\"2\" desc=\"Choose solution 2\"/>\n<option default=\"1\" value=\"c\" desc=\"Choose no solution and cancel.\"/>\n<option value=\"d\" desc=\"Toggle show detailed conflict information.\"/>\n</prompt>\n</stream>\n", "stdout_lines": ["<?xml version='1.0'?>", "<stream>", "<prompt id=\"1\">", "<description>Problem: nothing provides 'libvdpau1' needed by the to be installed x11-video-nvidiaG05-460.91.03-0.x86_64", " Solution 1: do not install cuda-drivers-460-460.91.03-1.x86_64", " Solution 2: break x11-video-nvidiaG05-460.91.03-0.x86_64 by ignoring some of its dependencies", "</description>", "<text>Choose from above solutions by number or cancel</text>", "<option value=\"1\" desc=\"Choose solution 1\"/>", "<option value=\"2\" desc=\"Choose solution 2\"/>", "<option default=\"1\" value=\"c\" desc=\"Choose no solution and cancel.\"/>", "<option value=\"d\" desc=\"Toggle show detailed conflict information.\"/>", "</prompt>", "</stream>"]}
16:22:27
      sles-15-nvidia:
16:22:27
      sles-15-nvidia: RUNNING HANDLER [packages : reload systemd] ************************************
16:22:27
      sles-15-nvidia:
16:22:27
      sles-15-nvidia: RUNNING HANDLER [packages : restart containerd] ********************************
16:22:27
      sles-15-nvidia:
16:22:27
      sles-15-nvidia: RUNNING HANDLER [packages : restart kubelet] ***********************************
16:22:27
      sles-15-nvidia:
16:22:27
      sles-15-nvidia: PLAY RECAP *********************************************************************
16:22:27
      sles-15-nvidia: default                    : ok=30   changed=21   unreachable=0    failed=1    skipped=52   rescued=0    ignored=0
16:22:27
      sles-15-nvidia:
16:22:27
  ==> sles-15-nvidia: Provisioning step had errors: Running the cleanup provisioner, if present...
16:22:27
  ==> sles-15-nvidia: Terminating the source AWS instance...
16:23:13
  ==> sles-15-nvidia: Cleaning up any extra volumes...
16:23:13
  ==> sles-15-nvidia: No volumes to clean up, skipping
16:23:13
  ==> sles-15-nvidia: Deleting temporary security group...
16:23:14
  ==> sles-15-nvidia: Deleting temporary keypair...
16:23:14
  Build 'sles-15-nvidia' errored after 3 minutes 22 seconds: Error executing Ansible: Non-zero exit status: exit status 2


Capture DOM changes

Hi All,
How can I capture the modification on contenteditable when editing the image, delte or grid button for exemple.
this method below as described on medium-editor docs not be fired with image insert plugin toolbar but it fire when the contenteditable change from clicking on buttons in the toolbar
var editor = new MediumEditor('.editable');
editor.subscribe('editableInput', function (event, editable) {
    // Do some work
});

Try this:
editor.subscribe('editableInput, input', function (event, editable) {
    // Do some work
});

Apparently, MediumEditor changed their event from input to editableInput and we haven't caught up yet. It should just be a proxy for the input, so I hoped it would work just fine without any changes.

Thanks for the suggestion but changing from 'editableInput' to 'editableInput, input' didn't fix the problem and the medium editor toolbar won't fire the function anymore..

Yes, I fixed the problem in #216 but we have some problems with tests on that PR. Once we merge it, we'll release a new version with the fix.


Tone and Text Refinement

Description:
The current language and tone of Skore can be too technical and formal for non-technical users. Simplifying the tone and text will make the platform more approachable.
User Story:
As a user, I want clear, concise, and friendly language in Skore, so that I can understand and engage with the platform more easily.
Acceptance Criteria:

[ ] All technical jargon is simplified or clarified.
[ ] Instructions and tooltips are rewritten in a friendly and approachable tone.
[ ] Error messages are descriptive but approachable.

Is this epic aimed at improving the score once, or is it an ever-desirable property?

Both, we need a fix for today version and a long term reflexion on tone we want to implement in skore/ensembl

Here is a start for this, we need to see that only as a basis for reflexion.
Let me know what do you think: https://www.notion.so/probabl/Tone-UX-writing-12def76d36b9805abd37c9f8f23870e0?pvs=4

Matt and I made some feedback

Closing in favor of a workshop to define a policy.


Description edit dialog does not always work

Steps to reproduce

Open app
In Explore>Featured, tap on any picture (this opens media details)
Tap on the pen circled in red:

Expected behaviour
Description edition dialog opens
Actual behaviour
Spinner keeps spinning, dialog never opens.

@nicolas-raoul I tried to reproduce the bug, but the dialog opened as expected...

@nicolas-raoul Actually the issue is not only about the picture which is not uploaded by the app. The algorithm which is extracting descriptions from wikitext is mainly based on a general syntax of description structured in wikitext which is |description={{language1|1=description in language1}}, {{language2|1=description in language 1}}. The descriptions of the pictures uploaded from phone are stored in wikitext in the above format. But in the case of the web, descriptions don't follow the above format for being stored in wikitext. Even for some files, the structure is way different. Due to this kind of difference among the files the algorithm is failing to handle those cases and acting abnormally. So, If the description is structured in the above format it will act as expected no matter from where it's been uploaded.
@JustinLiang522 Thanks for sharing the screenshot, sharing the file name also would be more helpful. As I can see in the attached image the description and caption are not there in the Activity. As far as I know, there should be at least one description and caption. I think, in this case, the algorithm is breaking in a different way than "Spinner keeps spinning" because of a different way of storing description in wikitext.
Thanks.

Thanks @JustinLiang522 for testing and thanks @Ayan-10 for your explanation which makes a lot of sense.
My fault for not identifying what picture it was. I can reproduce using this picture: https://commons.wikimedia.org/wiki/File:Antique_cash_register_in_a_cafe,_Darjeeling.jpg which can be found in Explore>Featured.
So, the goal of this issue would be to:

Make other descriptions editable by analyzing and implementing the most common syntax patterns (at least description={{en|1=Antique cash register in a cafe, Darjeeling}} and similar).
If parsing fails, show a popup Sorry, this image's descriptions follow a rare syntax and thus can only be edited on the website.
Randomly pick 20 Commons pictures and make their wikitext into unit tests.

Note: This bug has existed since a long time (since at least 85bdcd5a7a689b2782e22501e6aa355f97dbe796)

@nicolas-raoul Can I work on this issue?

@JustinLiang522 Yes thanks!

I intercepted the description of the picture that can cause this bug from getCurrentWikiText() of MediaClient.kt, but it seems to be in the right format.
=={{int:filedesc}}==
{{Information
|description={{en|1=Antique cash register in a cafe, Darjeeling}}
|date=2017-05-17 17:07:26
|source={{own}}
|author=[[User:Subhrajyoti07|Subhrajyoti07]]
|permission=
|other versions=
}}
{{Location|27.043186|88.267003}}
{{Assessments|featured=1}}

=={{int:license-header}}==
{{self|cc-by-sa-4.0}}

[[Category:Images by User:Subhrajyoti07]]
[[Category:Taken with Nikon D3200]]
[[Category:Quality images of West Bengal]]
[[Category:Cash registers in India]]
{{QualityImage}}

Interesting!
Would you mind creating a unit test based on this wikitext, and debugging the issue?

Yes, the format is right but the algorithm divides the descriptions (ex. {{language1|1=description in language1}} , {{language2|1=description in language 2}}) of different languages by the comma/"," to get the description in different laguages (ex. arr["{{language1|1=description in language1}}" , "{{language2|1=description in language 2}}"]). However in this case of description there is a comma/"," inside the content of the description so it's dividing the description as arr["{{en|1=Antique cash register in a cafe" , " Darjeeling}}"] instead of arr["{{en|1=Antique cash register in a cafe, Darjeeling}}"]. This is the reason for the bug. So, we can understand that the different languages description can not be divided by comma we need to do it in a more efficient way.
Like this, there can be different scenarios where the algorithm will fail for different reasons. Try to find the cause by dry run the algorithm line by line with respect to the wikitext.

@Ayan-10 Got it, thanks!

@nicolas-raoul I missed your comment.

How about changing the original algorithm into a repeatedly matching string pattern of {{languageCode|desciption}} and putting them into the description list?

I have tried the algorithm I described in my last comment and it worked for most files except for two cases:

The description is a bare string of words without specifying any language.
Multiple string patterns of the form {{A|B}} can appear after desciption= but inside some double curly brackets the A may not be a language code. (This can probably be addressed by checking whether A is a valid language code before adding the description to the list)

@JustinLiang522 Nice progress! 🙂

@nicolas-raoul I have created a few unit tests for the getDescriptions method, should also I commit them?

@JustinLiang522 Yes, unit tests are very valuable, thanks a lot!


Can not check out master

I'm using source tree and I can not check out branch master.
Here is the error:
git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree reset -q --hard HEAD --

git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree checkout master
Downloading Frameworks/Quickblox.framework/Versions/A/Quickblox (34.22 MB)
Error accessing media: Frameworks/Quickblox.framework/Versions/A/Quickblox (587687c7b20b58ce4f6ed3fd0048f04a1181d20c1638d8ed84665511c52518fe)

Errors logged to .git/lfs/objects/logs/20160216T143238.457527037.log
Use `git lfs logs last` to view the log.
error: external filter git-lfs smudge %f failed 2
error: external filter git-lfs smudge %f failed
fatal: Frameworks/Quickblox.framework/Versions/A/Quickblox: smudge filter lfs failed
Completed with errors, see above

I installed git-lfs

Hi,
We are currently investigating this issue and will post update soon.

Thank you for reporting the issue, we have fixed it.
Try to clone it again, everything should be fine.
If you are still having any other questions feel free to create separate issue :)

Sorry. Still got this issue.


Draft: Verify identity quote before adding agent to the verifier

This implements the enhancement proposed in https://github.com/keylime/enhancements/blob/master/66_quote_before_register.md
Swap the order of do_cv() and do_quote() calls in the tenant.
Fixes: #680

Hi @ansasaki , I have found an issue with patch code coverage diff generating that manifests itself in your PR. I have committed a fix in https://github.com/RedHat-SP-Security/keylime-tests/pull/73. Would you mind rescheduling Packit tests in your PR (just F35 would be enough) so I can double-check it works fine? Thank you.

Can you check if the verification with do_verify() still works?

I checked by passing --verify to the add command and it worked fine. However, when I tried with the rust agent I got errors on JSON parsing.

Hi @ansasaki , I have found an issue with patch code coverage diff generating that manifests itself in your PR. I have committed a fix in RedHat-SP-Security/keylime-tests#73. Would you mind rescheduling Packit tests in your PR (just F35 would be enough) so I can double-check it works fine? Thank you.

I pushed some changes which triggered re-runs for all tests.

I checked by passing --verify to the add command and it worked fine. However, when I tried with the rust agent I got errors on JSON parsing.

This seems like a bug in the rust agent.

I pushed some changes which triggered re-runs for all tests.

Right, I can see that the patch is correct now. Unfortunately, e2e tests do not utilize the modified code. Any suggestions for test scenarios (or patches) are welcome. :-)

I checked by passing --verify to the add command and it worked fine. However, when I tried with the rust agent I got errors on JSON parsing.

This seems like a bug in the rust agent.

It seems that when the rust agent returns a 400 error it does not include the results field. I need to debug it further.

It seems that when the rust agent returns a 400 error it does not include the results field. I need to debug it further.

Indeed the responses for error cases were not wrapped in the JSON structure. I created a PR to fix this:
https://github.com/keylime/rust-keylime/pull/356


Can't trigger an instance-refresh on update

The module doesn't expose the instance refresh properties of the underlying auto-scaling group - so it isn't possible to trigger an instance update as part of a deployment.
I made #229 which adds the necessary properties/docs to achieve this

Sorry for the delay. One issue here is whether instance refresh would work correctly and do the update without causing an outage / loss of quorum. See here for steps that you need to update the cluster. Have you actually tested it and checked there's no downtime / loss of quorum during the rollout?

The instance refresh basically automates the steps you linked to.   I've
been using it for a few months now and it rotates instances solidly.  On
occasions when the instances haven't launched due to my misconfiguration,
it hasn't torn down further instances and has behaved well.
One of the parameters of the refresh is the minimum healthy percentage,
which limits the number of instances it'll recycle at any one time.  I have
set it so that no more than one instance at a time is taken out, but
there's nothing to stop the user setting it to a quorum-killing level!  I
also set it to leave 5 minutes after a successful recycle before moving
onto the next.
I could add validation so it errors if it is set too high?  Maybe I should
also add a "take care" note to the parameter since I think you can't rule
out using it to shoot yourself in the foot.
Miles
On Thu, Jul 29, 2021 at 5:31 PM Yevgeniy Brikman @.***>
wrote:

Sorry for the delay. One issue here is whether instance refresh would work
correctly and do the update without causing an outage / loss of quorum. See here
for steps that you need to update the cluster
https://github.com/hashicorp/terraform-aws-consul/tree/master/modules/consul-cluster#how-do-you-roll-out-updates.
Have you actually tested it and checked there's no downtime / loss of
quorum during the rollout?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/hashicorp/terraform-aws-consul/issues/230#issuecomment-889292408,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEQD4FBGDEB3NT2HVXLB3LT2F67BANCNFSM47HUQSTQ
.


Incorrect OpenTelemetry span reported by Prisma

Bug description
While working on our OpenTelemetry instrumentation in debug mode we discovered some weird spans coming from Prisma instrumentation. These spans bypass sampler (they are being reported even when sampling rate is 0) and contain suspicious parentId of '0000000000000000'. Here is the span in debug logs from OpenTelemetry:

items to be sent [
  Span {
    attributes: { 'db.type': 'postgres' },
    links: [],
    events: [],
    _droppedAttributesCount: 0,
    _droppedEventsCount: 0,
    _droppedLinksCount: 0,
    status: { code: 0 },
    endTime: [<PHONE_NUMBER>, 143755000 ],
    _ended: true,
    _duration: [ 0, 8209000 ],
    name: 'prisma:engine:connection',
    _spanContext: {
      traceId: '4c6b47d1a6e5484db6e6706a6aaa0bbb',
      spanId: '4e7ed755d9abcf3b',
      traceFlags: 1
    },
    parentSpanId: '0000000000000000',
    kind: 0,
    _performanceStartTime: 3653.858667,
    _performanceOffset: -0.341552734375,
    _startTimeProvided: true,
    startTime: [<PHONE_NUMBER>, 135546000 ],
    resource: Resource {
      _attributes: [Object],
      asyncAttributesPending: false,
      _syncAttributes: [Object],
      _asyncAttributesPromise: undefined
    },
    instrumentationLibrary: { name: 'prisma', version: undefined, schemaUrl: undefined },
    _spanLimits: {
      attributeValueLengthLimit: Infinity,
      attributeCountLimit: 128,
      linkCountLimit: 128,
      eventCountLimit: 128,
      attributePerEventCountLimit: 128,
      attributePerLinkCountLimit: 128
    },
    _attributeValueLengthLimit: Infinity,
    _spanProcessor: MultiSpanProcessor { _spanProcessors: [Array] }
  }
]

How to reproduce

Set up OpenTelemetry instrumentation with sampling rate 0 (use only Prisma instrumentation for cleaner logs)
Enable debug logs

import { diag, DiagConsoleLogger, DiagLogLevel } from '@opentelemetry/api';
// For troubleshooting, set the log level to DiagLogLevel.DEBUG
diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.DEBUG);

Trigger prisma:engine:connection span: I cannot pin point exactly when these spans are being generated but a bunch of DB operations should trigger it

Expected behavior
You should not see any spans being generated when sample rate is 0.
Prisma information
OpenTelemetry config:
    const asyncHooksContextManager = new AsyncHooksContextManager();
    asyncHooksContextManager.enable();
    if (!api.context.setGlobalContextManager(asyncHooksContextManager)) {
        throw new Error('Could not set global context manager');
    }
    const tracerProvider = new NodeTracerProvider({
        resource: resource,
        sampler: new AlwaysOffSampler(),
    });
       registerInstrumentations({
        tracerProvider: tracerProvider,
        instrumentations: [
          new PrismaInstrumentation()
        ],
    });
    const processor = new BatchSpanProcessor(config.exporter);
    tracerProvider.addSpanProcessor(processor);
    tracerProvider.register({
        contextManager: asyncHooksContextManager,
    });
    api.trace.setGlobalTracerProvider(tracerProvider);

Environment & setup

OS: macOS 14.6.1
Database: PostgreSQL
Node.js version: v22.9.0

Prisma Version
Environment variables loaded from .env
prisma                  : 5.20.0
@prisma/client          : 5.20.0
Computed binaryTarget   : darwin-arm64
Operating System        : darwin
Architecture            : arm64
Node.js                 : v22.9.0
Query Engine (Node-API) : libquery-engine 06fc58a368dc7be9fbbbe894adf8d445d208c284 (at ../../node_modules/.pnpm/@prisma+engines<EMAIL_ADDRESS>Schema Engine           : schema-engine-cli 06fc58a368dc7be9fbbbe894adf8d445d208c284 (at ../../node_modules/.pnpm/@prisma+engines@5.20.0/node_modules/@prisma/engines/schema-engine-darwin-arm64)
Schema Wasm             : @prisma/prisma-schema-wasm 5.20.0-12.06fc58a368dc7be9fbbbe894adf8d445d208c284
Default Engines Hash    : 06fc58a368dc7be9fbbbe894adf8d445d208c284
Studio                  : 0.502.0
Preview Features        : tracing

Thanks for the report! This is a known bug, it will be fixed by a PR that is currently in progress.


host error

Not work on real devices but work on emulator Android
Supabase on free plan

I/flutter (16697): ClientException with SocketException: Failed host lookup: '---myhost---.supabase.co' (OS Error: No address associated with hostname, errno = 7), uri=https://---myhost---.supabase.co/rest/v1/my_table?select=my_data
I/flutter (16697): #0      IOClient.send (package:http/src/io_client.dart:154:7)
I/flutter (16697): <asynchronous suspension>
I/flutter (16697): #1      BaseClient._sendUnstreamed (package:http/src/base_client.dart:93:32)
I/flutter (16697): <asynchronous suspension>
I/flutter (16697): #2      PostgrestBuilder._execute (package:postgrest/src/postgrest_builder.dart:130:20)
I/flutter (16697): <asynchronous suspension>
I/flutter (16697): #3      PostgrestBuilder.then (package:postgrest/src/postgrest_builder.dart:372:24)
I/flutter (16697): <asynchronous suspension>

If no internet this error occurs


Write score files for consumption by simply.training

I playtested it yesterday, yeah, to make sure that everything was in order - hence a9f9514 when I realized that there was some issue with the version number. @natano took care of submitting a PR to SL for that ^^
https://github.com/quietly-turning/Simply-Love-SM5/pull/213


cmd/install: Surface installation errors

Fixes #97.

Codecov Report

Merging #103 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master     #103   +/-   ##
=======================================
  Coverage   47.32%   47.32%
=======================================
  Files          12       12
  Lines         598      598
=======================================
  Hits          283      283
  Misses        268      268
  Partials       47       47

Impacted Files
Coverage Δ

pkg/installation/util.go
61.25% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


After updating to new version 1.10.0 the dashboard page no longer opens.

Current Behavior
When I try to open my dashboard (https://myIPaddress:30188/dashboard) my browsers display "loading" with nine grey points and crash
Expected Behavior
The dashboard has to open.
Steps To Reproduce
I cleared the Browsers cache. I deleted my k3s deployment and my pvc. I apply my deployment with a new pvc. I imported my saved flow. It's the same issue.
The Nodered main page works fine.
Environment

Dashboard version: 1.10.0
Node-RED version: 3.1.9
Platform/OS: Kuberntes - dockerHub -> nodered/node-red:latest-18
Browser: Chrome, Edge and Firefox

Have you provided an initial effort estimate for this issue?
I am not a FlowFuse team member

Issue fixed after deleting an old template. I don't know why this template isn't compatible with the new version. As it's useless delete it .


perf(smooth): smooth line do not capture event

[x] 性能优化

需要全量回归。smooth 绘制使用 path，而鼠标事件在 path 的拾取非常慢，1000 个点足以崩溃。

Pull Request Test Coverage Report for Build 501170430

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

Totals

Change from base Build 500333952:
0.0%

Covered Lines:
10827

Relevant Lines:
11226

💛  - Coveralls

Pull Request Test Coverage Report for Build 501170430

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

Totals

Change from base Build 500333952:
0.0%

Covered Lines:
10827

Relevant Lines:
11226

💛  - Coveralls

@visiky 暂时不合并，我网站回归一下~

@visiky 暂时不合并，我网站回归一下~


Update Teams implementation in Developer Guide

Codecov Report

Merging #50 (c71b7a8) into master (b87f641) will decrease coverage by 0.25%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##             master      #50      +/-   ##
============================================
- Coverage     47.43%   47.17%   -0.26%
  Complexity      433      433
============================================
  Files           110      111       +1
  Lines          2043     2054      +11
  Branches        213      215       +2
============================================
  Hits            969      969
- Misses         1025     1036      +11
  Partials         49       49

Impacted Files
Coverage Δ

...va/seedu/address/logic/commands/DeleteCommand.java
100.00% <ø> (ø)

...du/address/logic/commands/groups/GroupCommand.java
0.00% <0.00%> (ø)

.../seedu/address/logic/parser/AddressBookParser.java
57.14% <ø> (ø)

src/main/java/seedu/address/ui/GroupListPanel.java
0.00% <0.00%> (ø)

src/main/java/seedu/address/ui/TeamCard.java

src/main/java/seedu/address/ui/GroupCard.java
0.00% <0.00%> (ø)

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


The legendary typeck PR

History
This branch has been an experience which has taught me a lot about how not to develop code. This branch contains more commits than master. I started out the branch by rewriting and moving a bunch of things (splitting up ASTVisitor, creating lex, parse, identify, check, and later a separate ast), which made the branch brittle and caused several modules to differ from master. I've renamed some Token data and ScopedIndex -> ScopedId as well.
I think this is a turning point for this project. I'm working towards smaller, more manageable PRs and more test coverage and development automation. Although w e'll still need bigger and bigger PRs to add features to the language, I hope they will go more smoothly than this one.
Programs are units now
The first major change was the switch from raw expressions to Units Items in them. These Items are just functions which use the fn keyword similarly to Rust. fns are type-inferred (which was the point of this branch), and look like:
fn factHelper(acc: float, n: float) -> float
    if n == 0
        acc
    else
        factHelper(acc: acc * n, n: - 1)

Syntax
There are block forms if and do and all blocks can implicitly return their last expression if needed. The conditional in the if is now a bool type, which can also be obtained from operators <= >=, ==, and !=, which all work on two bools or two floats.
Functions may not return a specific value (i.e. return void or ()) but this type doesn't have a name: we determine while parsing something like
fn doAThing(x: float)
    x + 1 // Not sure why you'd put this there, it's not like you have I/O
    // or any other reason to return void

that x + 1 is not being returned to the function.
Type inference
HM type inference is done on the generated source, although like i.e. Rust function parameters must be typed, everything else is inferred. Unification is actually done via graph traversal instead of strict equation solving; I'd like to keep this style until it becomes a serious performance concern.
There are a few more tests to the compiler but overall the code is largely untested aside from a couple of manual integration tests that don't really catch much. I skipped adding more tests in order to do this in a different branch.
Not Solved
There are some issues that I had to declare as "out of scope" in order to preserve my sanity. Once we no longer have this PR hanging over the project, these can be fixed:

We treat the float type as always being 64-bit. In accordance with #17 we should probably change this or add double.
Did I mention testing is bad right now? That'll be its own PR.
There's a lot to be done in terms of code organization.

Regressions
In order to more aggressively bring this branch to a close, I am introducing regressions. I'll look into fixing these all before protosnirk 0.2, as the compiler right now is a wet paper bag in the face of any amount of testing.

The mut keyword is not at all checked. Fell free to mutate to your heart's content.
Call-by-name is the only way to call functions. There are plans to change this in #45.

Closes #11.


[FR]: Mergeable libraries support for pre-built xcframeworks

Description
Please consider adding an additional pipeline for Firebase, building all frameworks dynamically, and providing them with mergeable support: MERGEABLE_LIBRARY = YES.
It should be an alternative to the existing static frameworks, eventually having 2 zip files attached to the release.
API Proposal
No response
Firebase Product(s)
Analytics

See the discussion in #8945. We tried to add this support earlier this year, but found that Apple tooling does not support our use case that includes binary targets.

@balavor, which distribution of Firebase are you using? SPM, CocoaPods, Firebase Zip, or Carthage


Summer of Bitcoin Project Proposal: Work on developing bdk-python

Description
The Bitcoindevkit is using language bindings to offer packages and libraries in different languages. bdk-python is fairly new (December 2021), but shows great promise. We are looking for someone knowledgeable with Python to help develop the package into a more mature package on PyPI.
The student would be working with the team to further the goals of the bitcoindevkit and make meaningful progress towards the expected outcomes defined in the next section.
Expected Outcomes
Develop the test suite, enable automatic deployment using GitHub Actions, writing of small example applications leveraging the library, blog posts, and documentation. This project is for someone interested in bringing the library to a more mature state on PyPI, and working alongside the bdk-kotlin and bdk-swift libraries to ensure consistent APIs and code coverage.
Resources
The bitcoindevkit project currently maintains four language bindings libraries: bdk-jvm, bdk-android, bdk-swift, and bdk-python. There is good working knowledge of how those bindings work within the team.
Skills Required
Good working knowledge of Python.
Difficulty
Medium.

Hello @thunderbiscuit,
I'm Goutam from India, an upcoming contributor at Summer of Bitcoin 22,  A full-stack developer working with tech stacks like Android, python, and Networking. I have contributed to many Opensource organizations and Tech Education Teams in the past years. I also have a good knowledge of designing GitHub actions and writing test-cases for android applications.
I read out all documentation and information regarding the bdk-python and bdk-java and have good examples for designing test cases. And completely got the outcomes expected from contributors.
I want to know more about actions.

I'll close this issue as it was moved to the bdk-ffi repository.

Hi @GoutamVerma! Welcome to the bitcoindevkit. Feel free to comment on the issue under the new repo (bdk-ffi).
You say you want to know more about actions? I'm not sure what you mean by that. If you're getting started with the repos and the language bindings, feel free to let us know if you run into trouble or you want clarifications on different things.
Cheers!


UpdatePlaceID for MY_15 and add PlaceID for ES_IB to knowledge_graph.csv

Verified that the generated mobility.csv output now contains MY_15 and ES_IB data.

Thank you! I'll merge straight away since the unit tests are currently broken due to a data source being down at the moment (https://sacoronavirus.co.za/live-counter/)


Fix yaml file loader

fix typo (yamlSourceLoader -> yamlSourceContext)
fix function return type (NewYamlSourceFromFlagFunc)

I tried to read from the yaml of the flag, but it was not an error such as the following at the time of build.
./my_app.go:103: undefined: altsrc.NewYamlSourceFromFlagFunc

I sent a pull request to fix this

@ykanda oops, thank you for this! I see now that the build flags aren't correct (which is why it wasn't building in CI where we would have seen this failure). I took your changes and also updated the build tags in https://github.com/codegangsta/cli/commit/ad7ed77a7e4434b280c11c9c83d4c3982363a571


Copying text with LF endings stores text with CRLF endings in clipboard

Copying text with LF line-endings to clipboard gives text with CRLF endings stored in clipboard. For example if i make a new file and set the line ending to LF and type:
a
b

Then copy this text and paste it in notepad.exe i see
a
b

However if i save the file and then open the saved file with notepad.exe i see
ab

as expected. This still happens with all extensions disabled and is also present in the insiders version.
Environment details:

VSCode Version: 1.25.0
OS Version:  Windows 10 Home 1709

Steps to Reproduce:

Create or open a file
Set the line ending to LF
Copy multi line content to clipboard
Paste clipboard in notepad.exe

Does this issue occur when all extensions are disabled?: Yes

I think we did this by purpose https://github.com/microsoft/vscode/issues/22688

On Windows, we always write text with CRLF to the clipboard, even when selecting from a file with LF end-of-line sequence.
This is slightly incorrect, but causes far less problems than being correct. See #22688


Apple has purchased Dark Sky and is shutting down the API

Apple has purchased Dark Sky and is shutting down the API.
The API will continue to function through the end of 2021.
More Informations

Thanks @tinohager for the information. I'll get the readme updated with that information sometimes soon.

updated readme, thanks


List of dead URLs in .nix files

Issue description
https://repology.org/repository/nix_unstable/problems
Steps to reproduce
Technical details

System: (NixOS: nixos-version, Ubuntu/Fedora: lsb_release -a, ...)
Nix version: (run nix-env --version)
Nixpkgs version: (run nix-instantiate --eval '<nixpkgs>' -A lib.nixpkgsVersion)
Sandboxing enabled: (run grep build-use-sandbox /etc/nix/nix.conf)

Closing this because it doesn't warrant a separate issue.
https://github.com/NixOS/nixpkgs/issues/27723


Practice mode test noclips you into block when dying (and more)

Not only it lets you noclip into blocks and puts you into a loophole.
I'm pretty sure you know me and my device now (Nostalgia.NES Pro and Famidash nightly)
https://github.com/famidash/famidash/assets/110625168/33229cd8-cba9-4f32-be52-32e3d3be49e8

Can you try this again with the latest nightly? I can't reproduce it.

ok never mind, there are def some practice mode issues,

Besides the color not saving, occassionally I do get a strange offsetted layout, but I still cannot reproduce what you had happen.

Here's a full recording, just downloaded latest nightly
https://github.com/famidash/famidash/assets/110625168/f48b2da6-f7b8-4292-b49b-4585498e479f

Here's a full recording, just downloaded latest nightly
https://github.com/famidash/famidash/assets/110625168/f48b2da6-f7b8-4292-b49b-4585498e479f

Issue comes at 0:08

amazing xD
This may be the best we can get, we may just have to add a disclaimer that practice mode can be broken easily so use it properly and cross your fingers.

amazing xD
This may be the best we can get, we may just have to add a disclaimer that practice mode can be broken easily so use it properly and cross your fingers.

Ok

Leaving issue open in case someone wants to revisit this.

More info: issue #105

MAY be fixed in 986db24 - need more testing, but I can no longer duplicate this (yes there are still music bugs)

Practice mode now restores colors properly - the only thing left is music issues

Unless someone can reproduce this issue again, closing this

Cant replicate this as of now


Small typo in README

This isn't a typo, it's a TypeScript non-null assertion operator that says "I know getElementById can return null, but we have the HTML right here and it's there, so mark it as non-null".


Mobile tweaks

Our mobile views need to be adjusted. I think all the functions and features are present, just need to adjust the margins and spacing. Feel free to use your discretion, and to drop any questions in the #ux-squad slack channel.

Hi Matt -- I'd like to try to tackle this. Let me know!

Go for it!! Thank you!
On Mon, Apr 10, 2023 at 1:13 PM ishana-goyal @.***>
wrote:

Hi Matt -- I'd like to try to tackle this. Let me know!
—
Reply to this email directly, view it on GitHub
https://github.com/codeforboston/maple/issues/1081#issuecomment-1502076402,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARANGSEUPSPGVF4IZOFERODXAQ5VNANCNFSM6AAAAAAWXN4AZY
.
You are receiving this because you authored the thread.Message ID:
@.***>

@ishana-goyal did you mean to unassign yourself?

Hey Matt,
Unfortunately, I did mean to unassign myself. I took a look at some of the
front-end work, and decided someone else would be better suited to tackle
this specific task.
Apologies for the confusion. I am going to continue looking for issues that
I think are easier to jump in with, as opposed to touching each page for
the mobile website.
Thanks,
Ishana
On Tue, Apr 11, 2023 at 7:11 PM mvictor55 @.***> wrote:

@ishana-goyal https://github.com/ishana-goyal did you mean to unassign
yourself?
—
Reply to this email directly, view it on GitHub
https://github.com/codeforboston/maple/issues/1081#issuecomment-1504242913,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVEJCELX4HGEFQXHILTNMWLXAXQLVANCNFSM6AAAAAAWXN4AZY
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Ishana Goyal
B.S. in Business
Leonard N. Stern School of Business
New York University | Class of 2023
@.*** |<PHONE_NUMBER>

No worries! Just wanted to check. I think this other issue might be a
better fit - require some design thinking too. I’ll assign you it - but
feel free to unassign
https://github.com/codeforboston/maple/issues/1088
Matt
On Wed, Apr 12, 2023 at 6:59 PM ishana-goyal @.***>
wrote:

Hey Matt,
Unfortunately, I did mean to unassign myself. I took a look at some of the
front-end work, and decided someone else would be better suited to tackle
this specific task.
Apologies for the confusion. I am going to continue looking for issues that
I think are easier to jump in with, as opposed to touching each page for
the mobile website.
Thanks,
Ishana
On Tue, Apr 11, 2023 at 7:11 PM mvictor55 @.***> wrote:

@ishana-goyal https://github.com/ishana-goyal did you mean to unassign
yourself?
—
Reply to this email directly, view it on GitHub
<
https://github.com/codeforboston/maple/issues/1081#issuecomment-1504242913
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AVEJCELX4HGEFQXHILTNMWLXAXQLVANCNFSM6AAAAAAWXN4AZY
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Ishana Goyal
B.S. in Business
Leonard N. Stern School of Business
New York University | Class of 2023
@.*** |<PHONE_NUMBER>
—
Reply to this email directly, view it on GitHub
https://github.com/codeforboston/maple/issues/1081#issuecomment-1506073538,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARANGSDR54OSLU4UGJSRRDDXA4XWBANCNFSM6AAAAAAWXN4AZY
.
You are receiving this because you were assigned.Message ID:
@.***>


Better Vue.js integration

Hi, author of Vue.js here. I'm excited to see the just launched Vue boilerplate, although it could use some improvements:

Use Vue 1.0 instead of 0.12 (which is outdated for quite a while);

Integration for vue-loader and ideally syntax highlighting for *.vue files (can simply be treated as HTML files).

I'm happy to contribute a PR if you could give me some pointers on integrating a new loader.

No worries, this is a quick one :) Will be part of next release!

Awesome, looking forward to it! :D

What you can do now, to quickly update Vue on premises is just type vue on the Configure -> Add npm package and it will pull in the newest package.

:+1: was just coming to ask for vue-loader support :) looking forward to using it,

Okay, this will be part of next release, though need to create a new boilerplate. So keep out for the release and create an issue with a BIN that uses all the new good stuff, a "Hello World" type of example :)

Allright,
I have released new version of WebpackBin now. Could you try creating a new BIN with the deps and loaders you want? Just send me the BIN url and I will convert it to a boilerplate :)

Woohoo it works: http://www.webpackbin.com/4kMisu5al
Thank you for this great project! :D

Great stuff! Now it loads when pointing to: "http://www.webpackbin.com/vue" :-)

Hmm, it seems the link still points to the pre-save version. Should it be persisted when I hit save?

Seems like a bug but when I open the link I posted it randomly resets to a fresh bin. Any idea?

Ah, yeah, it does redirect you, but it should redirect you with the boilerplate of vue?

Nah, for some reason, when I create a new bin, edit it and save it, then open it again, it only shows an older version (which is not the final saved version of it)

Ah, yeah, I deployed a new fix. Your session was gone, sorry!
Have plans for login in later release :)

But any time, send my new url and I will update in database :)

I was probably having some cached assets issue - no matter what I edit the bin just wasn't saved. Tried again in a different browser and it worked: http://www.webpackbin.com/4y-8Oc96e

One small issue: vue-loader has a bunch of peer dependencies, some of which is already present, but some are not, e.g. vue-style-loader. When I use a <style> tag inside a Vue component I get the error:

Ops, I installed it, but forgot to preload it. Deploying fix now. Should work in a couple of minutes :)

Yeah it's fixed now, thanks! You can use this as the new Vue boilerplate: http://www.webpackbin.com/4y-8Oc96e :D

Okay, cool, done :)


Add embassy-based sleeper for no_std

How do you propose to use the EmbassySleeper? I thought the usage of
backon = { version = "x.z", default-features = false, features = ["embassy-sleep"] }
would automatically activate embassy-sleep for the async and the blocking sleeper. That means if the feature embassy-sleep is active, the DefaultSleeper and the DefaultBlockingSleeper should be the embassy sleepers as far as I can see.
Let me know what you think.

Maybe this is a possibility?


No comparison of text

Unable to compare text as in:
text t = "hi"
if t = "hi"
    print "yep, t = hi."
end if

Seems like I've seen examples where this works...need to investigate further.


[BUG] indices.put_settings::query.ignore_unavailable param description is wrong.

What is the bug?
indices.put_settings::query.ignore_unavailable param description is wrong.
How can one reproduce the bug?
From spec: https://github.com/opensearch-project/opensearch-api-specification/releases/download/main/opensearch-openapi.yaml

indices.put_settings::query.ignore_unavailable param description is wrong. It is given description of other param indices.put_settings::query.flat_settings
indices.put_settings::query.flat_settings:
    in: query
    name: flat_settings
    description: If `true`, returns settings in flat format.
    schema:
      type: boolean
    style: form

 indices.put_settings::query.ignore_unavailable:
      in: query
      name: ignore_unavailable
      description: If `true`, returns settings in flat format.
      schema:
        type: boolean
      style: form

Searching for similar errors to address collectively.


build: enable PIE by default

Signed-off-by: Lizan Zhou<EMAIL_ADDRESS>Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:

@PiotrSikora @agl @davidben is it possible to add -fPIC to BoringSSL FIPS build?

As far as I know, we can't since the Security Policy has to be followed to the dot when building module... but @agl is the authority here.

Can we add a release note also about this? I think it's useful to let people know that we expect the binary to be runnable under ASLR.

HI @lizan, could you explain the -fPIC copt you added to .bazelrc? I get what the copt does, but I don't understand why it's needed to build now.

@nareddyt to link a binary with -pie all objects (.o files) has to be compiled with -fPIC. --copt is propagating all the way down to dependencies including foreign_cc cmake rules.


Connection issue over port 443

Hello,
I am trying to run device_shadow_for_aws over port 443, I can make tcp connection but the mqtt connection fails:
12 9047 [iot_thread] [DEBUG] Length of serialized CONNECT packet is 28.
13 9048 [iot_thread] [DEBUG] BytesSent=28, BytesRemaining=0
14 9048 [iot_thread] [DEBUG] Successfully sent packet at time 9048.
15 9048 [iot_thread] [DEBUG] Sent 28 bytes of CONNECT packet.
16 9249 [iot_thread] [DEBUG] No data was received from the transport.
17 9450 [iot_thread] [DEBUG] No data was received from the transport.
18 9651 [iot_thread] [DEBUG] No data was received from the transport.
19 9852 [iot_thread] [DEBUG] No data was received from the transport.
20 10053 [iot_thread] [DEBUG] No data was received from the transport.
21 10053 [iot_thread] [ERROR] CONNACK recv failed with status = MQTTNoDataAvailable.
22 10053 [iot_thread] [ERROR] MQTT connection failed with status = MQTTNoDataAvailable.
23 10053 [iot_thread] [ERROR] Connection with MQTT broker failed with status MQTTNoDataAvailable.
24 10053 [iot_thread] [ERROR] Failed to connect to MQTT broker.

I have found the issue is caused by pAlpnProtos:
https://github.com/aws/amazon-freertos/blob/176636b9cc60fdeab297a57798666105eac95946/demos/common/mqtt_demo_helpers/mqtt_demo_helpers.c#L430
Probably it should be set in similar way as here:
https://github.com/aws/amazon-freertos/blob/e2a614f4d932c505ef091a5ca1e3393841c2601d/demos/network_manager/aws_iot_network_manager.c#L784
Could you please check it?
Thank you,
Michal Chromec

Hi @MichalChromecNXP,
You are correct, the ALPN extension is required for MQTT connections over port 443 (8883 does not have this requirement). You can configure the extension in the demo itself using xSocketConfig.pAlpnProtos and xSocketConfig.alpnProtosLen. AWS IoT Core currently only supports the “x-amzn-mqtt-ca” protocol name (you can find more information regarding this configuration at https://aws.amazon.com/blogs/iot/mqtt-with-tls-client-authentication-on-port-443-why-it-is-useful-and-how-it-works/).
Let me know if you are able to configure the connection successfully, or if any issues remain. Thanks.

Hi @sukhmanm,
I have changed this line:
    xSocketConfig.pAlpnProtos = NULL;

to
    if( xServerInfo.port == 443 )
    {
        xSocketConfig.pAlpnProtos = socketsAWS_IOT_ALPN_MQTT;
    }
    else
    {
        xSocketConfig.pAlpnProtos = NULL;
    }

And it works for me.
Update of xSocketConfig.alpnProtosLen is not necessary, it is not used in the code.
Could you please update the code on github to fix the issues with connection over port 443?
I am confused why the configuration of connection parameters is at two places in the code, do you plan to update it to be at one place?
Thank you,
Michal Chromec

Hi @MichalChromecNXP, thank you for pointing out the missing functionality from our MQTT demos. We will update the code to support connection over port 443.

I am confused why the configuration of connection parameters is at two places in the code, do you plan to update it to be at one place?

I understand the case of confusion about the presence of credentials at multiple places. The credentials' logic at amazon-freertos/demos/network_manager/aws_iot_network_manager.c represents an old demo runner framework of passing credentials to all demos through the single function prototype-based entry function of all demos. The newer demos (like coreMQTT and AWS specific libraries that use coreMQTT) don't use this parameter (as can be seen for the MQTT Mutual Auth demo here) but instead use the credentials directly from the aws_clientcredential.h and aws_clientcredential_keys.h files to make it easier for the reader to trace the place of defining these credentials from the demo files.
In the future, when none of the demos use the old demo runner framework, we will look into removing the duplicity of credential initialization logic.

@MichalChromecNXP, we have added support for all MQTT based demos to connect with IoT Core on port 443 in #3167.


Add IT framework

Based on #54/https://github.com/aws/glide-for-redis/pull/796
This starts redis in standalone mode on port 6380 in CI and a cluster on ports 7000-7006.
To connect to standalone use:
    var client =
        RedisClient.CreateClient(
                RedisClientConfiguration.builder()
                    .address(
                        NodeAddress.builder()
                            .port(TestConfiguration.STANDALONE_PORT)
                            .build())
                    .build())
            .get();

To connect to cluster use:
    var clusterClient =
        ClusterClient.CreateClient(
                RedisClusterClientConfiguration.builder()
                    .address(
                        NodeAddress.builder()
                            .port(TestConfiguration.CLUSTER_PORT)
                            .build())
                    .requestTimeout(3000)
                    .build())
            .get();

Test can be started by
./gradlew :integTest:test

The test report is written to
integTest/build/reports/tests/test/index.html

Redis server logs are stored in
<repo root>/utils/clusters

until next test start
To start redis standalone instance IT uses
python3 <repo root>/utils/cluster_manager.py start -p 6380 -r 0

To start redis cluster
python3 <repo root>/utils/cluster_manager.py start --cluster-mode -p 8000 8001 8002 8003 8004 8005

To stop all
python3 <repo root>/utils/cluster_manager.py stop --prefix redis-cluster

Note: Python and Node CI fails on main too, I tested it on this commit: https://github.com/Bit-Quill/glide-for-redis/commit/15d9f4e74de062ac24e95b51e2e480de5c7ae69f

Small note on the PR description, it mentions the cluster is available on ports 7000-7006 but in the PR it looks like the cluster is on ports 7000-7005. The example command to start the redis cluster in the PR description also looks like it starts it on 8000-8005 so it should probably be updated to use 7000-7005

Sharp eyes! Command line listed in PR is an example. It could be helpful for test R&D.


npm audit fix changes

Please check if the PR fulfills these requirements:

[X] After these changes, the app was run and still works as expected
[X] Tests for these changes were added (if applicable)
[X] All existing unit tests were run and still pass

Please specify the type of change this PR introduces (Bug fix, feature addition, content update, chore, etc.):
Updates the package/package lock to resolve some vulnerabilities, including one production vulnerability with Axios.
Additional Notes:
The main branch currently contains 66 vulnerabilities. This pull request fixes 18 of them leaving 48 left. The remaining 48 are all dev dependencies, mostly with the Vue CLI service/plugin.

Looks good, but the build pipeline failed on GitHub. Can you verify locally that the project still builds and passes the unit tests?

It looks like it was an internal server error that caused the problem last time. I ran the workflow again and there were no problems.
https://github.com/bcgov/MOH-PPPP-Enrolment/actions/runs/1365609959/workflow
https://github.com/bcgov/MOH-PPPP-Enrolment/actions/runs/1365659349/workflow
I also ran the unit tests and checked the development server one more time each for good measure.


Colocate Test and Story Files with Code

Ticket
Resolves #271
Changes

move existing unit test files into same folder with the file they reference
move existing Storybook story files into same folder with the file they reference
update Storybook config to load files from anywhere under src folder

LGTM. Can you update the app/README.md too?

Yup yup! Good flag. I've updated the README.md file now.


[SPARK-33441][BUILD][FOLLOWUP] Make unused-imports check for SBT specific.

What changes were proposed in this pull request?
Move "unused-imports" check config to SparkBuild.scala and make it SBT specific.
Why are the changes needed?
Make unused-imports check for SBT specific.
Does this PR introduce any user-facing change?
No
How was this patch tested?
Pass the Jenkins or GitHub Action

Test build #131402 has started for PR 30441 at commit b9026f2.

Test build #131403 has started for PR 30441 at commit 4f4cf1a.

Test build #131403 has finished for PR 30441 at commit 4f4cf1a.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/131403/
Test FAILed.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/36006/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/36007/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/36006/

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/36006/
Test FAILed.

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/36007/

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/36007/
Test FAILed.

Test build #131402 has finished for PR 30441 at commit b9026f2.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/131402/
Test FAILed.

Test build #131407 has started for PR 30441 at commit cffdbcd.

@HyukjinKwon done ~ waiting tests

Test build #131413 has started for PR 30441 at commit 70e84c6.

Test build #131413 has finished for PR 30441 at commit 70e84c6.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/131413/
Test FAILed.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/36012/

Test build #131414 has started for PR 30441 at commit 454c525.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/36013/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/36012/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/36012/
Test PASSed.

Test build #131416 has started for PR 30441 at commit 6fbbd2c.

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/36013/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/36013/
Test PASSed.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/36019/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/36020/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/36019/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/36019/
Test PASSed.

Test build #131421 has started for PR 30441 at commit 0c48e8d.

Test build #131407 has finished for PR 30441 at commit cffdbcd.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/131407/
Test PASSed.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/36022/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/36020/

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/36020/
Test FAILed.

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/36022/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/36022/
Test PASSed.

Test build #131414 has finished for PR 30441 at commit 454c525.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/131414/
Test PASSed.

Test build #131416 has finished for PR 30441 at commit 6fbbd2c.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/131416/
Test PASSed.

Merged to master. Thanks for working on this @LuciferYang.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/36027/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/36027/

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/36027/
Test FAILed.

Test build #131421 has finished for PR 30441 at commit 0c48e8d.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/131421/
Test FAILed.


[Release-1.22] Secrets reencryption fails on 8K+ secrets

Backport tracking https://github.com/k3s-io/k3s/issues/5933

Validated on  with Commit 484085c52501f2e6772188586d79686e0056b4f8
Infrastructure

[X] Cloud
[ ] Hosted

Node(s) CPU architecture, OS, and Version:
Linux ip-172-31-2-106 5.4.0-1009-aws #9-Ubuntu SMP Sun Apr 12 19:46:01 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
NAME="Ubuntu"
VERSION="20.04 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

Cluster Configuration:

3 servers,  1 agent

Config.yaml:

write-kubeconfig-mode: "0644"
token: fmCiDqvyFHIr5G2lmqkr7793NQ7s
secrets-encryption: true

Testing Steps

Copy config.yaml

1. Create k3s HA, 3 nodes, 1 agent
2. enable Secrets
3. Validate Pods/ nodes are up and running
4. Add 10K secrets to the cluster
kubectl create namespace test-encryption-key-rotation && for i in {1..10000}; do kubectl create secret generic test$i -n test-encryption-key-rotation --from-literal=key$1=value$i; done
5.Prepare, rotate, and renecrypt using the k3s secrets-encrypt tool as normal. See [docs](https://k3s-io.github.io/docs/docs/security/secrets-encryption#encryption-key-rotation)

6.Watching the logs during the renecryption phase. The reencryption should end before all 10K secrets have been processed, the logs will state something like:

Replication Results:

k3s version used for replication: v1.22.12+k3s1

![image](https://user-images.githubusercontent.com/106194120/182929327-e1c56f58-cdee-481a-8abb-b5b30701bdae.png)

Validation Results:

k3s version used for validation:

Validated with Commit id 484085c52501f2e6772188586d79686e0056b4f8
 Results:
![image](https://user-images.githubusercontent.com/106194120/182929713-5555ab43-b0a3-4161-afe3-52ea87d2a3fd.png)

Validated pods/nodes are up and running:
![image](https://user-images.githubusercontent.com/106194120/182930034-6dfe6fd5-d4f9-4ffe-afaf-cf9d29664fc0.png)

sudo k3s secrets-encrypt status

![image](https://user-images.githubusercontent.com/106194120/182930164-f6e586d1-0f77-42d3-a257-436a6238f07c.png)

Additional context / logs:


How to get the current number of epochs？

By learning the relevant code of mmcv，I know that the relevant information of epoch is in the EpochBasedRunnerclass，but i want to get the current epoch information in the components of the network model. For example, I want to get epoch in ResNet.
I want to know how I can get this information.Thanks.

Related to https://github.com/open-mmlab/mmdetection/issues/5153 and SetEpochHook in https://github.com/open-mmlab/mmdetection/pull/6746

Related to #5153 and SetEpochHook in #6746

Thanks, I have successfully obtained the epoch number information.


Define Models

Is there a way to pre-define my models?

With this plugin you'd have to do it in a separate plugin in your server. I don't use models at all so it's not supported out of the box. You might be better off looking for plugins that work with mongoose.


Add TIMIT experimental results

the dataset can be downloaded from https://github.com/philipperemy/timit


Add support for 3.0.x OpenAPI definitions in API publisher.

Description:
Currently in 2.2.0 publisher we only support version 3.0.0 OpenAPI definitions. However we should add improved support for 3.0x versions because they can only contain minor fixes and not major changes in the spec.
Steps to reproduce:
Import an OpenAPI 3.0.1 API definition. UI will show an error saying the OpenAPI version is not supported.
Affected Product Version:
APIM 2.2.0
Environment details (with versions):

OS:
Client:
Env (Docker/K8s):

Optional Fields
Related Issues:

Suggested Labels:

Suggested Assignees:

Already fixed via https://github.com/wso2/carbon-apimgt/pull/5837. Hence, can close the issue.