Setup difficulties / README

Type:

[ ] bug
[ ] feature
[ ] enhancement
[x] question

Environment:

OS: Windows 10 / Subsystem Linux
Browser: Firefox 74
Library Version: 1.1.4

I'm going to open a PR:

[ ] yes
[x] no

Description:
I am really stoked to see this package, as developing extensions sure is unnecessary difficult.
However, I am having some trouble setting this up following the README.
I've added this to my webpack config
plugins: [
     new ExtensionReloader({
       port: 9090,
       reloadPage: true,
      entries: {
        contentScript: 'content_script',
         extensionPage: 'popup'
       }
     })

, am running webpack with  NODE_ENV=development webpack --watch --mode=development
and loading the extension in Firefox by selecting the manifest in the webpack-generated dist-folder.
However, although webpack properly reloads on file change, the extension does not. I still have to press the "reload extension"-button in Firefox about:debugging to get the update.
Am I doing something wrong?

Make sure you look at the sample directory.
I got this working with a background entry point so far, seems to work for me with FF 75.


[Core] Dynamic chunks do not detach children objects

From the forum: https://speckle.community/t/gh-connector-detached-objects-are-not-really-detached-in-the-new-datatree-handling/3068/1
Not sure yet if this is "by-design" or a hidden bug, but when chunking lists dynamically (preceding them with @(num)) the inner objects of each chunk are not detached, leading to performance issues and the inability to pick individual objects from the chunk.

After a chat with Dim we've concluded this works as expected, so I'm closing this.


Create asan build bot

We've got the ability to build with asan, but we should check it at least on postsubmit (and ideally on presubmit as well). Implementers choice on Kokoro or BuildKite and Bazel or CMake, as long as it uses our existing infra for the docker environment.

We now have an asan presubmit and postsubmit bot. Leaving this open because I want to add additional checks (technically ubsan, but fine to have in the same build)


fix: Add search invoke

Fixes #3734

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

8 of 15 (53.33%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.02%) to 84.457%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

libraries/botbuilder-core/src/activityHandler.ts
8
15
53.33%

Files with Coverage Reduction
New Missed Lines
%

libraries/botbuilder-lg/src/templateExtensions.ts
1
84.48%

Totals

Change from base Build<PHONE_NUMBER>:
-0.02%

Covered Lines:
19739

Relevant Lines:
22138

💛  - Coveralls


Add definitions for axios

Definitions for https://github.com/mzabriskie/axios

@marcelbuesing Thanks mate!


pgsql tablename with schema

I use postgresql, and schemas in it.
My table name is 'user' and it in 'main' schema
When i generate models ide-helper cannot generate field, because of table name 'main.user' readed as database name 'main' and table name 'user'

Where/how did you specify the schema and the table in your configuration/model?

Where/how did you specify the schema and the table in your configuration/model?

`class User extends Authenticatable
{
use Notifiable;
protected $table = 'main.user';
protected $primaryKey = 'user_id';

}`

Thanks!

@KFan95 can you test if https://github.com/barryvdh/laravel-ide-helper/pull/974 works for you?

@mfn, This doesn't seem to work with SQL Server(MSSQL). As doctrine expects to have the following format database.table to query the correct database.
Temp fix, but not sure if its working as expected with postgres.
 $originalTable = $table; if (strpos($table, '.')) {           list($database, $table) = explode('.', $table); }
SQL Server Issue(SCHEMA_NAME())
This will pull the current default schema, such as dbo which is not the intent
 SELECT    col.name,           type.name AS type,           col.max_length AS length,           ~col.is_nullable AS notnull,           def.definition AS [default],           col.scale,           col.precision,           col.is_identity AS autoincrement,           col.collation_name AS collation,           CAST(prop.value AS NVARCHAR(MAX)) AS comment -- CAST avoids driver error for sql_variant type FROM      sys.columns AS col               JOIN      sys.types AS type                         ON        col.user_type_id = type.user_type_id               JOIN      sys.objects AS obj                         ON        col.object_id = obj.object_id               JOIN      sys.schemas AS scm                         ON        obj.schema_id = scm.schema_id               LEFT JOIN sys.default_constraints def                         ON        col.default_object_id = def.object_id                             AND       col.object_id = def.parent_object_id               LEFT JOIN sys.extended_properties AS prop                         ON        obj.object_id = prop.major_id                             AND       col.column_id = prop.minor_id                             AND       prop.name = 'MS_Description' WHERE     obj.type = 'U'   AND       (obj.name = 'sales' AND scm.name = SCHEMA_NAME());
SQL Server(Temp Fix)
SELECT    col.name,           type.name AS type,           col.max_length AS length,           ~col.is_nullable AS notnull,           def.definition AS [default],           col.scale,           col.precision,           col.is_identity AS autoincrement,           col.collation_name AS collation,           CAST(prop.value AS NVARCHAR(MAX)) AS comment -- CAST avoids driver error for sql_variant type FROM      sys.columns AS col               JOIN      sys.types AS type                         ON        col.user_type_id = type.user_type_id               JOIN      sys.objects AS obj                         ON        col.object_id = obj.object_id               JOIN      sys.schemas AS scm                         ON        obj.schema_id = scm.schema_id               LEFT JOIN sys.default_constraints def                         ON        col.default_object_id = def.object_id                             AND       col.object_id = def.parent_object_id               LEFT JOIN sys.extended_properties AS prop                         ON        obj.object_id = prop.major_id                             AND       col.column_id = prop.minor_id                             AND       prop.name = 'MS_Description' WHERE     obj.type = 'U'   AND       (obj.name = 'sales' AND scm.name = 'core')

We're back to square one, my PR caused problems I closed it

I'm actually having the exact same problems.
We are using more than one schema with a PostgreSQL database and as such we prefixed the tables with the schema name when defining the table in Eloquent model.


Dapr PubSub component for Redis Channel (PubSub)

Describe the proposal
Currently, there is support for Redis Streams. Redis provides a PubSub feature based on Channels - this is pure pub-sub (not load-balanced queuing). Here are its salient characteristics (from the Redis docs):
1. published messages are characterized into channels
2. Subscribers express interest in one or more channels, and only receive messages that are of interest
3. Messages sent by other clients to these channels will be pushed by Redis to all the subscribed clients.
From a Dapr point of view, a Redis Channel based pubsub would mean:

It will be possible to publish message to a Redis Channel (a Dapr Topic) using a Dapr application (via HTTP, gRPC, SDKs or CLI publish)
multiple instances of a subscriber Dapr application will receive all the messages sent to a Redis Channel (a Dapr Topic)
separate Dapr applications (and their respective instances) instances will also receive all the messages sent to a Redis Channel (a Dapr Topic)

This is similar to Kafka Consumer groups but the only difference is that messages are load balanced amongst multiple instances of the same Kafka consumer app (with the same consumer group name)

If this sounds reasonable, I can work on implementing this


Changing OSCClient and OSCServer from public to open

All access levels for these two classes that were public are now open, with one exception. The inits set a property that's not set as public. To not break that access control, the inits cannot be overridden and remain as public.
This will allow folks to subclass OSCClient and OSCServer mostly for the purposes of mocking in unit tests.
NOTE:
This pull request does not modify the podspec, any build numbers or versions, or the README. These should be modified as required by the repo owner.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.GW Rodriguez seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.GW Rodriguez seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Adds playlist command, with list and detail subcommands. Upgrades API version

This depends on a yet-to-be-released v0.3.2 of brianstrauch/spotify. Once that's released, this can be merged!

Actually, regarding the versioning...should it be v0.4.0, perhaps?

Feel free to merge when everything's ready to go!

Doesn't look like I have merge permissions, but thanks for the confidence!

Doesn't look like I have merge permissions, but thanks for the confidence!

Oh right, merging now!


Mess with paths

If you have url pattern in flask, you'll never get your paths validated.
import yaml
from flask import Flask, request
from openapi_core import create_spec
from openapi_core.validation.request.validators import RequestValidator
from openapi_core.wrappers.flask import FlaskOpenAPIRequest

spec = """openapi: "3.0.0"
info:
    version: 1.0.0
    title: test
servers:
- url: http://<IP_ADDRESS>:8000
components:
    parameters:
        some_param:
            name: some
            in: path
            required: true
            schema:
                type: string
paths:
    /{some}/path/:
        parameters:
        - $ref: '#/components/parameters/some_param'
        post:
            summary: anything
"""
TEST_SPEC = create_spec(spec)

FLASK_APP = Flask(__name__)

@FLASK_APP.route('/<some>/path', methods=['POST'])
def duh(some: str):
    validator = RequestValidator(TEST_SPEC)
    result = validator.validate(FlaskOpenAPIRequest(request))
    print(result.errors)

Will always get an error
[InvalidOperation('Unknown operation path /<some>/path with method post')]

Because flask url pattern syntax and openapi pattern syntax do not match.
An error hides here https://github.com/p1c2u/openapi-core/blob/master/openapi_core/validation/request/validators.py#L24

path_pattern is not transformed to openapi format
request.path_pattern is not used

@GlennS  I'm confused a little - can't find any type notation in my paths definitions. Could you please explain what do you mean by that?

I meant in the Flask route itself.
So, instead of the usual:
@FLASK_APP.route('/<string:some>/path', methods=['POST'])
Use:
@FLASK_APP.route('/<some>/path', methods=['POST'])

I've a similar issue with Django, which up until 2.0 only supported regex-style URL templates. Since 2.0, it supports and recommends URLs closer to what flask uses, albeit with optional type annotations (or path converters in Django lingo).
I have worked around this locally by hacking together something that will find and extract the regex used to resolve the provided path, then convert that regex to the template string style that openapi-core expects. However, this is hacky, relies on Django internals that are subject to change, and tightly couples how URLs are defined in my urls.py with how they're defined in the spec (i.e. my named groups in the regex must have the same name as the parameters in the spec, even though they're just placeholders/tokens).
I think it would be a good idea if openapi-core converted each URL template from the spec to a basic regex and stored these in openapi_core.schemas.specs.models.Spec.paths. This would allow us to deprecate the openapi_core.wrappers.base.BaseOpenAPIRequest.path_pattern property, as that would no longer be necessary. I'm happy to work on this but I'd like to know that it will be looked at before I do :smile: As such, does this sound somewhat reasonable?

As an aside, this sounds like a dupe of #35 and should probably be deprecated in favour of that.

@stephenfin yup. Closing it.Duplicate of #35.

I like that idea as we can couple the schema properties with the parameter place holder:
type: number -> /[0-9\.,+-]+/
type: string -> [^/]+
type: string with pattern -> copy the pattern
etc.
But you still need to query Django's resolver and somehow match it to ascertain if the URL exists?

Hmm, depends on how you want to do the testing. I personally have a plethora of tests already in place and I was simply using the Response object (which contains the request) returned by Django REST Framework's APIClient to test things. Since I've already made the request with APIClient, I have triggered the resolver and returned the appropriate HTTP code. Maybe that's not what's expected here though?


API Does not work with Futures

Hi, I tried to adapt this API to make it work for futures like BTCUSDT but I can't get it working to send an order, I got an unauthorized response from the server. I just changed the url in class BinanceApiService.java from @POST("/api/v3/order") to @POST("/fapi/v1/order").
I can retrieve quotes though. I use the REST client class. I was thinking this is something related to my account so I then tried using python binance api with same api and secret key and it worked.
Is that possible to make this API work with futures ?
Thanks
Alex

Up

SDK for Binance Futures : https://github.com/Binance-docs/Binance_Futures_Java


Update atom to get parsedeps improvements

With the new atom, parsedeps slices got improved with support tracking extra and test requires. For the evadb project, we get more packages compared to 10.7.x. The version detection has also improved.

We no longer report numpy version 2, since the project uses 1.26.4. The case for sqlalchemy (name) has improved and the version for ray is also detected correctly as 2.4.0
diff.json
bom2.json
diff.html.txt

Added possibly breaking tag, since the SBOM might include new components, changes to the component version, and changes to the casing for the names.

Blocked by: https://github.com/AppThreat/atom/pull/149

Since #149 is blocked, let's merge this with only the parsedeps improvements (without the performance and memory improvements)


regression: The option `hardware.amdgpu' does not exist

starting from 2312742, loading module nixos-hardware.nixosModules.lenovo-ideapad-slim-5 yields:
error: The option `hardware.amdgpu' does not exist

this seems to relate to that commit's removal of options.hardware.amdgpu.loadInInitrd.

maybe i should read better and update nixpkgs too

For me, I had to upgrade nixpkgs from 24.05 to nixpkgs-unstable - I haven't seen nixpkgs-unstable as a prerequisite in the docs?

Not it also works with 24.05 as you can see from our CI tests, but you need to update 24.05 to a newer version.


Fix regex to update all span names

Regenered code removed JSON tag from previous bad merge.

[ ] The purpose of this PR is explained in this or a referenced issue.
[ ] The PR does not update generated files.

These files are managed by the codegen framework at Azure/autorest.go.

[ ] Tests are included and/or updated for code changes.
[ ] Updates to module CHANGELOG.md are included.
[ ] MIT license headers are included in each file.

/azp run go - azadmin


How to import in NodeJS?

I can't seem to manage to import it in NodeJS using import x from 'y'. There's nothing in the docs.
If I do: import { iframeResizer } from 'iframe-resizer' I get the error that the element is not exported.
And if I just import x I get the error that there is no default export.

I tried to import the js files inside of the module directly in the parent page this way and it worked.
import 'iframe-resizer/js/iframeResizer';
also in the iframed page this way
import 'iframe-resizer/js/iframeResizer.contentWindow';
ps: There was also another problem for me while using iFrameResize method. I was using LitElement and it was rendering in the shadow DOM. Therefore sending the target as the iframe id didn't work for me. I took the iframe ref and send it to the method.
const iframe = this.shadowRoot.querySelector('#myIframe');
iFrameResize({log: true}, iframe);

Works perfect now, but I still don't like the import this way.

For anyone else coming here from react side of things this worked for me. Probably not idea but for now its a workaround
import 'iframe-resizer/js/iframeResizer';
import 'iframe-resizer/js/iframeResizer.contentWindow';

const Page = () => {

    const iframe = useRef()

    useEffect(() => {
        //@ts-ignore
        iFrameResize({}, iframe.current);
    }, [])

    return <>
        <iframe
            ref={iframe}
            src="bla.com" >
        </iframe>
    </>
}

This will be address in v5


Wrong return type annotation at upload method

Method upload() of class Youtube is annotated as returning string but returns self instead.

Open to a PR :)

subbed PR

Merged :) Thanks!


mention make docs

After we changed the dependencies for make install, if you don't make docs make install will show an error.
Added some temporary text in the readme explaining how to recover from out of sync sandbox data.
Signed-off-by: Mike Brown<EMAIL_ADDRESS>

Removed text about recovering from bad sandbox data. Will open issue for tracking.

LGTM


Figure placeholders in Bookpurnong case history

Figures in "setup" and "properties" need to be remade.

[ ] setup
[ ] properties

@yangdikun : could you update us on the status of this? Thanks!

@yangdikun : could you update us on the status of this? Thanks!

@yangdikun : could you please provide an update on this? can we close it?

@yangdikun : could you please provide an update on this? can we close it?


Egress is over the account limit

I'm getting the following when trying to build with paketobuildpacks/builder-jammy-tiny:0.0.38
[INFO]     [creator]     Paketo Buildpack for Syft 1.20.0
[INFO]     [creator]       https://github.com/paketo-buildpacks/syft
[INFO]     [creator]         Downloading from https://github.com/anchore/syft/releases/download/v0.57.0/syft_0.57.0_linux_amd64.tar.gz
[INFO]     [creator]     unable to invoke layer creator
[INFO]     [creator]     unable to get dependency syft
[INFO]     [creator]     unable to download https://github.com/anchore/syft/releases/download/v0.57.0/syft_0.57.0_linux_amd64.tar.gz
[INFO]     [creator]     could not download https://github.com/anchore/syft/releases/download/v0.57.0/syft_0.57.0_linux_amd64.tar.gz: 503
[INFO]     [creator]     ERROR: failed to build: exit status 1

After searching a bit it seems that the syft project itself has an egress limit that has been reached? Similar to this discussion: https://github.com/community/community/discussions/8535
Do we need to provide a github api key or something to get around this?

We were temporarily seeing 503s in some of our CI pipelines that attempt to download binaries as well. I'm not sure what caused it, but it seems temporary as it's not happening anymore.
Are you still seeing this issue?
For what it's worth, you can also use dependency-mappings to work around this. Essentially, you can tell the buildpack to download the binary from somewhere else.

@dmikusa doesn't look like we have seen this bug in 2023 yet. Looks like it's resolved. Thanks!


pcln-modal does not receive child styles of ThemeProvider

pcln-modal is missing line-height, box-sizing, and other properties that are specified by the child of ThemeProvider due to the nature of the modal's DOM manipulation. We should ensure that the modal includes any import styles that may be attached to a ThemeProvider's child.

#563 landed to fix this issue.


Sample "MultiComboBox - Clear Icon" not showing a clear icon

https://ui5.sap.com/1.108.11/#/entity/sap.m.MultiComboBox/sample/sap.m.sample.MultiComboBoxClearIcon

Hello @piejanssens,
The multi combo box correctly shows the 'clear' icon. When it is pressed the selected item is being removed.

Thanks and Kind Regards,
Yana

Oh, right. I was expecting an overall clear option.
"The multi combo box control can show 'clear' icon, which when pressed will remove the user's input."
The user's input is a selection of items...

Hi,
Just to shed some light here :)
The property showClearIcon will show clear icon at the end of the input field. Pressing the icon will clear only the input of the input field, not the tokens.
This makes the usage of the control easier on mobile devices.
On desktop, if you want to remove all tokens - you can simply press "Ctrl/Cmd + A" and then "Delete / Backspace".
Best Regards,
Hristo

Hi @hristop, that doesn't seem to be correct, at least form my findings:
I just tested it here: https://run.plnkr.co/preview/clg40e3bl000d3b66wgxe5vme/
As you can see the clear icon on a basic Input control is shown as long as there is a value.

you can simply press "Ctrl/Cmd + A" and then "Delete / Backspace"
Then why even have clear buttons on any control... it's great to have that option, but it's not something intuitive for non-tech savvy users.

Adding an overal 'clear' icon to a MultiComboBox (or MultiInput) makes a lot of sense IMO.

Duplicate of https://github.com/SAP/openui5/issues/3481

I expecting for the Clear button to clear all.


Postdoc ad

Summary of changes
Adds an opening for a postdoc to the openings page.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] I have read the CONTRIBUTING document.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

Checklist for Reviewers
Reviewers should use this link to get to the
Review Checklist before they begin their review.

Merging my own PR. It builds locally. I'd like to get this out quickly.


Not authorized

I deployed the app and logged in to my account but when I click at Manage URLs, it tells me: Not authorized
https://admshortenertoolsrjvau.azurewebsites.net/urls

Hi @amabdallah you can now deploy https://github.com/FBoucher/TinyBlazorAdmin alone.
If you don't have any URLs delete the previous deployment and re-deploy AzureUrlShortener with the new version (v3)
It should be fixed


VK_LAYER_LUNARG_core_validation queue submissions list grows forever and causes crash

I have a "Hello Triangle" Vulkan application that uses the following pattern to draw every frame:

vkAcquireNextImageKHR
vkQueueSubmit
vkQueuePresentKHR

The VK_LAYER_LUNARG_core_validation validation layer will append each command buffer submission to a queue when vkQueueSubmit is called:
https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/blob/master/layers/core_validation.cpp#L4495
Unfortunately, it only removes items from that queue when RetireWorkOnQueue is called. This function is only called when the host program calls one of the following functions:

vkQueueWaitIdle
vkDeviceWaitIdle
vkWaitForFences
vkGetFenceStatus

My program does not rely on any of these for synchronization while drawing frames, so the command buffer submission queue grows forever and eventually the validation layer + program crashes because it runs out of memory.
I could not find anything in the Vulkan specification that requires a program to use these calls. I simply rely on image presentation and acquisition semaphores, so I think the validation layer should be fixed to also check for finished command buffers in other calls.

A couple of thoughts here:

We've got some holes in how we track things through AcquireNextImage/QueuePresent (short version: "we dont"), which I need to fix.

You have a very odd case. Something of the complexity of Hello Triangle can fall into this gap because you can create everything you'll ever use upfront and then just let it rip--, but as soon as it grows a bit more, you end up having to drop fences in so you can reclaim some of your transient resources. Technically the layer is correct in what it's doing -- you're producing a huge stream of work with no proof that any of it has completed, but that's fine because you don't care -- but it's still unhelpful if we consume all the memory and crash.

One further note here: the layer isn't tracking what has /actually completed/. It doesn't care what the GPU does. All it's interested in is whether the app can prove that some resource is no longer in flight, based on the synchronization it has observed.

Do you recommend using a vkDeviceWaitIdle or vkQueueWaitIdle call in a Hello Triangle style application for now?

Using a *WaitIdle() call is the heavy-handed way to work around the validation crash. A lighter-handed work around would be to send a fence with your submission every N frames and at the same time check the status of the fence from the previous N frames. N should be sufficiently large to know that the fence will have completed, but small enough to avoid the crash.
For example, if you submit a fence every 100 frames and check the fence status from 100 frames previous then that old frame should be done and checking the fence will allow validation to clean up the last 100 submissions.

I suspect that not removing work from the queue when QueuePresent waits for a semaphore signalled by a previously submitted QueueSubmit is also causing many errors in dEQP-VK.wsi.win32.swapchain.render.basic

@Tony-LunarG it /can't/. QueuePresentKHR's semaphore waits order the presentation against the previous work, but not any future CPU work against either.

If we agree to address this particular case, it will be handled in the assistant layer.  Formally adding it to that list to be tracked there (in issue #1612).

Seems to me though that the memory usage should be proportionate to the objects in-flight (and not submission count).
Isn't it theoretically fixable by proper implementation in the core layer? If it properly tracks the synchronization chain and culls old irrelevant data, then it should not "leak" (for a valid app).
Only place for the assistant layer I see to detect broken synchronization chains (e.g. chains that were not chained to anything new for X seconds)

Petr, it's possible to build a model that would cope better with this, but the added complexity carries a cost. I'd only consider doing it if it significantly improved real cases as well.
Apps like this which do no pacing are simply /broken/. There is no spec guarantee of any back pressure to the app through either vkQueuePresentKHR or vkAcquireNextImageKHR -- although many implementations do provide some.

@mark-lunarg this has been churning away in the back of my mind for a couple of days and I think there are some changes we can make which will enable both constant-space handling of these cases AND spending a lot less time frobbing in_use refcounts on everything. Will file more bugs with a real proposal once it crystallizes a bit more.


rendering rgb+a

This might be a silly question, but is it possible to render out a video with a transparent background? It looks like since Adobe CC 2017 nexrender needs to pass through a .mov or .avi state before rendering to any other file type, which if I have read things right can't do alpha channel rendering, so I am guessing not. But I'm wondering if I am missing something. I'm a bit of a novice here too, so it's possible I have missed something completely obvious, or am just lacking an understanding of how to parse the available documentation.

Hey @dsrts
Technically you don't have to pass through .mov or .avi, it can be any format and encoding. It's just the thing that not many are supported within AE nowadays. However, I believe there was some format from the set of available ones that supported this kind of transparent rendering, can't say which one tho, you would probably need to research it.
After exporting, encode action could be used to convert it to a needed format. But again, check which formats and encodings support transparency.
Hope that helps.
Cheers!

That gives me some hope, I'll see what I can come up with. I initially got the impression that nexrender would make a temporary .avi file before I could encode to a different format in post-render, but I don't understand the process very well yet.
Thank you!

Found my own solution pretty quickly. AVI does do transparency, but only if you make sure it's lossless w/ alpha (which I did find here in another question earlier on). I was also misinterpresting the process. But if anyone is having the issue I was, this was how I solved it:
{
    "template": {
        "src": "file:///C:/.../AutoTemplate.aep",
        "composition": "Comp1",
        "outputModule": "Lossless with Alpha",
        "outputExt": "avi"
    }
    ,
    "actions":{
        "postrender": [

            {
                "module": "@nexrender/action-copy",
                "input": "result.avi",
                "output": "C:/.../lowerThirds.avi"
            }
        ]
    }

}


ServiceError - Missing session cookie when using Generic Oauth 2 Service Provider with Auth0

I'm trying to set up Auth0 as a Service Provider in the Azure Bot configuration for use with Microsoft Teams.
I'm getting the sign in box pop up in teams and Auth0 sends me an email to complete the login, but when clicking the link in the email I just receive the following error:
{
  "error": {
    "code": "ServiceError",
    "message": "Missing session cookie (consent<removed>) in consent redirect request."
  }
}

The service provider connection settings are as follows:
Service Provider: Generic Oauth 2
Client id: client id of the Auth0 app
Client secret: secret from the Auth0 app
Authorization URL: https://ourdomain.eu.auth0.com/authorize
Token URL: https://ourdomain.eu.auth0.com/oauth/token
Refresh URL: https://ourdomain.eu.auth0.com/authorize
Token Exchange URL:
Scopes:
Any assistance would be greatly appreciated.
Many thanks.

Hi @darrenparkinson, I'm investigating this issue.

@darrenparkinson our login requires session cookie to be present. so if you don't signin in the same browser (from an email link etc.), the signin will fail.

Closing due to inactivity. @darrenparkinson, please re-open if needed.


dotnet tool support

Any way to support this project to be deployed into nuget as dotnet tool? https://learn.microsoft.com/en-us/dotnet/core/tools/global-tools-how-to-create. Don't mind sending a PR for the github workflows, but is there anything else that could be done?

Yes and actually I meant to do that. However due to Microsoft compliance rules currently I couldn't figure out how I can publish it on behalf of Microsoft identity yet. I will dig deeper for achieving that.


Support experimental contextual non-modal dialogs to educate users on web experiences

Parent issue:
https://github.com/microsoft/vscode/issues/171190

We've now added an experimental https://github.com/microsoft/vscode/issues/179401 contextual welcome widget in the editor on the web for new users.

Next Steps:

[ ] Create Experiment to roll this out to insiders.vscode.dev
[ ] Staged rollout to stable.


Use PostGIS Docker image for development

See https://github.com/postgis/docker-postgis#postgispostgis for description

@brianhelba In order to actually use the gis extensions, I modified the Dockerfile to install GDAL and the settings to use postgis.
If you are okay with these changes, merge away.


[TRAppDelegate] Enable auto crash reports to avoid missing out on cra…

…sh reports

I could not send report due to the app crashed again before the prompt, also I personally prefer to get all reports :)
In addition I'm working on a bug fix to avoid the crash I experience.

Thanks! Looks good. I'll merge this sometime this week.


Allow config to load from within the jar file

It would also be better if this pr just got closed and instead we wrote the file to the run directory instead of this

That's a terrible idea, it would mean that you need a file structure before being able to run this program. Why can't Barrel just make it for you?


Remote Digest url

Check the url for Remote Digest, nothing there right now just a default GoDaddy page.

@k3oni is there should be a link to Remote Digest's facebook group?
BTW: In the group, they also use this link.

@G07cha Might be better to just use the Facebook group url as there you can sign up for the newsletter. The current URL doesn't help with anything as it's just a Godaddy placeholder.

@k3oni @G07cha it's weird, even when I go to their FB page I see this:
https://www.facebook.com/RemoteDigest/
Nothing since February 2015? I must be missing something.
I removed the URL for now, is there another URL that goes somewhere useful?

I can't find anything related to this "Remote Digest"

I checked all the links and removed the ones that are offline (Just codegolphers from #63 and "Freelance per hour")


Future of using Envoy Proxy in KubeLB

This is a conversation starter for the future of Envoy Proxy in the KubeLB stack.
Why it's used
Pitfalls
Alternatives
WIP

We don't need to change this atm


🐦 Please tweet about v0.41.0 release 🐦

Hi, could you please tweet about the v0.41.0. So I can rewteet it. for the choco announce
Thank you in advance. 🐱

https://github.com/adriens/chocolatey-kapp/issues/8

Thanks Adriens, will get this done asap.

Done 👏
Thanks 😸
https://twitter.com/rastadidi/status/1445472230662492169


Test errors in BrokerServiceLookupTest.testMultipleBrokerDifferentClusterLookup

The test seems to be failing by getting stuck in the consumer creation at:
https://github.com/apache/pulsar/blob/88c854473346507563305d6b65d7a094f7531964/pulsar-broker/src/test/java/org/apache/pulsar/client/api/BrokerServiceLookupTest.java#L261
The problem is that client gets redirected between the 2 brokers in a loop.
cc/ @rdhabalia

Closed as stale and no recent reports.
Feel free to open a new issue if it's still relevant to the maintained versions.


chore: Replace localy copy of addons module with published version

What does this PR do?

Replace localy copy of addons module with published version

Motivation

Use published version for stability

More

[ ] Yes, I have tested the PR using my local account setup (Provide any test evidence report under Additional Notes)
[ ] Yes, I have updated the docs for this feature
[x] Yes, I ran pre-commit run -a with this PR

For Moderators

[ ] E2E Test successfully complete before merge?

Additional Notes

this is great


How to set the parameters of Kpax3 in order to get the robust cluster results?

Hi, Albert
The kapx3 draws my attention since it clusters the protein based on the amino acid sequences by using the Bayesian approach.
Usually, researches arbitrarily use the nucleotide difference to define genotypes. e.g. using MEGA to divide the clade based on the genetic distance and a cutoff value (≥ 2.5%) used to define a new clade/genotype.
Hence, I'd like to give it a try to use  to cluster the antigen clade/genotypes.
I was run several times, but the number of clusters was not consistent. My dataset (450+ AA sequences) was divided into 10-12 clusters among these running tests.
My question is how can I set the  parameter to get the robust results?
Based on your tutorial, I set the T=10^6, burnin 20%(200000), and sample every 100 iterations.
Is that ok? What about the others? like popsize, maxiter things like this?
                     **T=1000000**,                        **burnin=200000**,                      **tstep=100**,                      op=[0.5; 0.0; 0.5],                      popsize=20,                      maxiter=20000,                      maxgap=5000,                      xrate=0.9,                      mrate=0.005);
I get the clade_posterior_k.csv file. Is this means cluster=11(0.70842) is preferred?
"k","p(k | x)" 9,0.110345 10,0.006755 11,0.70842 12,0.17293 13,0.00155
Best regards,
Yan

Hi Yan,
if you are only interested in the clusters, I suggest to use the MAP (maximum a posteriori) rather than the MCMC estimator. The MAP is more robust as a point estimate. As you noticed, MCMC estimate largely depends on the sample (it is still an open problem how to find the best clustering from MCMC samples).
However, MCMC can give you an idea of the uncertainty of your MAP estimate. Here are some strategies:

Check that the number of clusters in your MAP is between 9 and 13, since the MCMC told us that it is likely to be in that range.
The most important piece of information is in your clade_posterior_C.csv file. You have a good clustering only if the column "p('strong signal' | x)" contains many values greater than 0.9. These are the amino acids that discriminate the clusters: the more sites, the more confident we are with the clusters. If your MAP has 11 clusters, you should hope to have at least 11 unique sites with a strong signal greater than 0.9.
Plot the pairwise probabilities (clade_posterior_R.csv) and overlap it with your MAP estimate. Hopefully you will get clear black squares representing your MAP clusters.

Kpax3 provides functions to plot MCMC estimates, check them out in the tutorial. They are kpax3plotk, kpax3plotp, and kpax3plotc.
Once the prior distribution is fixed, the MAP is unique and you should always get the same solution. However, the problem is difficult and you might get multiple solutions from different runs only because the algorithm get stuck on local optima.
As it usual in this cases, run the kpax3ga function multiple times from different starting partitions and select the one with the highest posterior probability.
popsize, maxiter, maxgap, xrate, and mrate are tuning parameters to the genetic algorithm for discovering the MAP estimate. Default values should work fine for most applications.
Regarding MCMC, the most important parameter is the number of steps T.

If you can afford running 1 million iterations, please do.
Large values of burnin are not particular important, 10000 should be already sufficient.
tstep should be increased only if you have storage problems, otherwise it is better to save the chain at every single step.
Default values of op should work fine for most applications. op should be changed only if the Markov Chain is not mixing well (check if kpax3plottrace for variable C has clear non-random patterns).

Hi, Albert,
Thanks for your detailed reply. That's quite informative and helpful.
Pl let me try to sum up with respect to your reply for the instruction of the operation work:
1.keeping the default parameters setting expect sets the T=1M; 2.running 10 times and pick up the one which has the highest posterior probability.
If I was wrong or missed something, Pl corrects me.
Again, Thank you very much.
Best regards,
Yan

Default value of T is 100_000, but the more the better. T = 1_000_000 will take much (much) longer but if you can wait, the approximation will be more accurate. To save time, start with the default T = 100_000. If results look promising, rerun with T = 500_000 or T = 1_000_000 to get more accurate numbers.

Yes, 10 times should be enough. Here is a possible strategy to automate the clustering initialization:

# Your dataset is here called `clade_data`

# First approach: use the provided function.
# See https://github.com/albertopessia/Kpax3.jl/blob/master/tutorial/Kpax3_fasta_tutorial.jl at row 227
partition_a = initializepartition(settings);

map_solution_1 = kpax3ga(clade_data, partition_a, settings);
map_solution_2 = kpax3ga(clade_data, partition_a, settings);
map_solution_3 = kpax3ga(clade_data, partition_a, settings);

# if they all converged to the same solution, it is already a good hint that it might be the true solution

# second approach: build a hierarchical clustering and cut the tree at different lengths.
# we need packages `Distances` and `Clustering`, install them with `]add Distances Clustering`
using Distances, Clustering;

# our data was converted to binary format, so we use the Hamming distance
D = pairwise(Hamming(), clade_data.data, dims = 2);
H = hclust(D, linkage = :ward);

map_solution_4 = kpax3ga(clade_data, cutree(H, k = 8), settings);
map_solution_5 = kpax3ga(clade_data, cutree(H, k = 9), settings);
map_solution_6 = kpax3ga(clade_data, cutree(H, k = 10), settings);
map_solution_7 = kpax3ga(clade_data, cutree(H, k = 11), settings);
map_solution_8 = kpax3ga(clade_data, cutree(H, k = 12), settings);
map_solution_9 = kpax3ga(clade_data, cutree(H, k = 13), settings);
map_solution_10 = kpax3ga(clade_data, cutree(H, k = 14), settings);

# select the best solution
# maybe not the best elegant way, but it does the job
i = findmax([
  map_solution_1.logpp; map_solution_2.logpp; map_solution_3.logpp;
  map_solution_4.logpp; map_solution_5.logpp; map_solution_6.logpp;
  map_solution_7.logpp; map_solution_8.logpp; map_solution_9.logpp;
  map_solution_10.logpp
])[2];
map_solution_best = if i == 1
  map_solution_1
elseif i == 2
  map_solution_2
elseif i == 3
  map_solution_3
elseif i == 4
  map_solution_4
elseif i == 5
  map_solution_5
elseif i == 6
  map_solution_6
elseif i == 7
  map_solution_7
elseif i == 8
  map_solution_8
elseif i == 9
  map_solution_9
elseif i == 10
  map_solution_10
end;

writeresults(clade_data, map_solution_best, "path_to_output_file_without_extension", what = 4, verbose = true);

# you can now start the MCMC algoritihm from the best MAP solution, either by
# directly using the vector `map_solution_best.R`, or by giving the path to the partition file
# we just saved.

No need to uncomment. Here is an example:

using Plots;
gr();

# this shows the complete dataset highlighting the clusters and the important amino acids
#
# if the total number of coloured sites is less than the total number of clusters, it means
# that the clustering is not very reliable
#
# set `legend = true` to see the actual amino acids
kpax3plotd(clade_data, map_solution_best, legend = false)

# Load posterior probabilities:
(k, pk) = readposteriork(output_file);
(id, P) = readposteriorP(output_file);
(site, aa, freq, C) = readposteriorC(output_file);

# check that the chain is well mixed. Line should be randomly moving up and down
# without any clear pattern
(entropy_C, avgd_C) = traceC(output_file, maxlag = 50);
kpax3plottrace(entropy_C)

# Posterior distribution of the number of clusters
# The total number of clusters `map_solution_best.k` should be within the histogram range,
# hopefully equal to the most likely `k`.
kpax3plotk(k, pk)

# Posterior distribution of adjacency matrix
# Hopefully your clusters are well represented by black boxes, while everything else is
# almost white
kpax3plotp(map_solution_best.R, P)

# Posterior distribution of features types
# The darker the plot the better. If the protein is very long, this plot might not be
# very informative because most sites will be classified as noise. If this is the case,
# check the csv file as I suggested in the previous reply.
kpax3plotc(site, freq, C)

Cheers,
Alberto
P. S. I hope no typos are present in my sample code, but if you find them and cannot fix them just let me know.

Since there are no more updates on this issue, I am closing it. Always ready to reopen if needed.


C100 camera - does not accept cloud password

Description
When I try to log in to my C100 cams, they accept the local camera account passwords, but the second password, the cloud password is never accepted. I am 100% sure the password I am using is correct and it is the cloud password.

Reproduction Steps

Try to set up a C100 camera in the integration
enter cloud password
see error message

Expected behavior
Well, it should accept the password
If applicable, add error logs.
No response
Device Firmware
1.3.9 Build 231019 Rel. 40264n(4555)
Integration Version
5.4.18
Using stream component
Yes
Does camera work via official integrations?
N/A
Camera has all attributes filled out in developer tools
No
HASS Environment
HA Supervisor on Raspberry Pi
Search for similar issues
Yes
Additional information
The cameras work like a charm in the official Tapo app.

since this afternoon this is also happening to me with all my tapp cameras . I believe tapi has done chnages un their side and it broke this extension

Search for similar issues
Yes

it is literally pinned, in main readme and with huge 3 exclamation marks.

Search for similar issues
Yes

The issue you are searching for:

Is pinned under issues
Has a section in main readme file with big title right at the top
Has 3 red exclamations marks in the title
Contains a workaround both for accounts still working and the ones affected.

And a warning was sent a month ago as an update via HACS.

Sometimes things are placed TOO prominently...

Like @HWiese1980 I was also surprised today to have all my cameras with that error.
Even though I am aware of the issue mentioned in the README and the workaround, and since the issue occurred to several of us at almost the same time, that can indicate server side changes, I wonder if any of you guys already  tried the steps and if it fixed the issue.
PS: @JurajNyiri congrats for this integration, it's top notch


Add docs for Structured Authn beta

Doc update for KEP 3331 beta: https://git.k8s.io/enhancements/keps/sig-auth/3331-structured-authentication-configuration
KEP issue: https://github.com/kubernetes/enhancements/issues/3331

/sig auth

@aramase, perhaps we should consider setting the dev-1.30 branch as the target branch rather than the main branch for this pull request. Since the change is related to the feature targeting beta in 1.30.

/reopen


Failure on purescript-string-parsers

Unexpected or mismatched indentation at line 51, column 7

See https://github.com/purescript-contrib/purescript-string-parsers/blob/098c22d9c8b62fb6c67ac62ccb6610720cf71810/src/Text/Parsing/StringParser/Expr.purs#L36-L57
I'm not sure what the problem is here, exactly, or whether this is something which should be allowed.

Minimal test:
module Test where

test =
  let
    a =
      let b = 12
      in b
  in
    a

With explicit delimiters you can see that for some reason the layout algorithm is inserting an additional closing layout before the in in the nested let.
module Test where{

test =
  let{
    a =
      let{ b = 12}}
      in b
  in
    a}

I think this is because there are two rules to insert closing layout which get triggered.

in is indented less than b, so it's inserted
in is considered a closing delimiter for let, so it's inserted

This happens in the nested let case here because let is at the top of the layout stack in both cases, even though they are different lets. I think instead of running both checks, we need to run either of them.

This particular case has been fixed, but developing a comprehensive layout algorithm is still ongoing.


feat: :boom: rename image.name and image.initContainer

What does this PR do?
This PR changes this block in values:
 image:
   name: traefik/traefikee
   # defaults to appVersion
   tag: ""
   pullPolicy: IfNotPresent
   initContainer:
     name: busybox
     tag: "1.31.1"

to this:
 image:
  registry: docker.io
  repository: traefik/traefikee
   # defaults to appVersion
   tag: ""
   pullPolicy: IfNotPresent

# Used to run initContainers
initImage:
  registry: docker.io
  repository: busybox
  tag: "1.31.1"

This PR is a breaking change.
Motivation

In fact, it's a repository and not a name.
It's more explicit
It's needed for Renovate on initContainer, see here
It allows to configure registry

More

[x] Yes, I updated the tests accordingly
[x] Yes, I ran make test and all the tests passed

You didn't change the chart version with this one, will it be done by Renovate?

@NEwa-05 Yes. It's a way to ensure it really works.

ok so LGTM for me as well


⚠ Bofrost.de has degraded performance

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

HTTP code: 200
Response time: 1767 ms

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


Move auraPropertyList map to LWC

This is a custom map implemented with leaflet. We should move it to LWC.

This is on purpose to show 3rd party lib integration.


Filter by docker service label

Hello,
I'm using the docker swarm monitor services dashboard and is really useful. I'm wondering if there is any way to  add a filter to the dashboard, based on docker services labels, to filter and only show the services wich contains label="xxx".

take a look at https://github.com/thomasleveil/dockprom/commit/2802e98022fdf56e9852ba32029f96c487d866bc

@kiddo3 please lodge an issue over at https://github.com/stefanprodan/swarmprom/ as that's the correct repo for the swarm varaint. If alternatively you are looking to utilise dockprom with this, the commit @thomasleveil has referenced above is a good example.


Add tests for extendr features

In PR #812 we removed CI that builds bindgen bindings. However, these tests were actually also secretly testing each feature of extendr.
This PR modifies the matrix.config to add a features section to make it explicit which features are being tested.

Let's wait for ci completion.

There seems to be an issue with a graphics test. I've never ever seen the graphics API...
https://github.com/extendr/extendr/actions/runs/9726832017/job/26845929636

Missing: CI needs to add --test-threads=1 whenever full-functionality-feature is used. This has to be done in the style of powershell. Otherwise, this PR is fine.

The CI issue has been resolved. I'll merge this now.


Username and password required for github.com

Hello
I'm very new to github, and I'm not sure what's going on here - I hope you can help please?
I have very recently managed to configure myself a MagicMirror and wanted to include your control from Alexa.
So I opened a terminal session on my Raspberry Pi, changed to the 'MagicMirror/modules' directory and typed in the 'git clone...' line.
It said 'Cloning into MM-AlexaControl and then demanded a username and password for 'https://github.com'.
I tried  and
I tried  and blank>
I created an account on github for myself and tried my credentials..
None of these work, and the software claims to need a username and password for github.
Do you know anything about this, please??
Ian

Damn. That ran into HTML, I think. Let me try again.
I tried 'blank' and 'blank'.
I tried 'JoChef2' and 'blank'.
I tried my own credentials.
And none of these combinations worked.
Can you help, please?

Hi,
you have to clone MMM-AlexaControl and not MM-AlexaControl. Then isn't an account required.

Wonderful - many thanks
👍


Special characters like "@" or "/" in package names should be percent coded when querying

When examining an angular project dependencies, packages with name containing special characters like "@" or "/" should be percent coded when requesting from API.
For instance "@angular/forms" package;
is requested as it is "https://api.npms.io/v2/package/@angular/common"
but should be as     "https://api.npms.io/v2/package/%40angular%2Fcommon"
to get the result.
Otherwise you get error message as attached
ErrorMessage.txt
Special characters like "@" or "/" in package names should be percent coded when querying.

Thanks- I'm making some other fixes now- thanks for letting me know.

I have face this issue too with "@"

This has been addressed. See https://github.com/Nohmapp/npm-introspect/commit/328554321d1b531b2bd03e7b9184a8dc87457da1#diff-b7f78f3b0d4aafe5dfd7a8476ececa0bR130. I think it's time this issue was closed @Nohmapp.


Wrong syntax highlighting of js reserved words

Both Image and async are highlighted but as far as I know neither are reserved words so there should be no reason for that.

Hey @OmgImAlexis, so the highlighting is actually defined by the atom/language-javascript package, I just apply a styles based on the classes assigned by that package.
According to the definitions file in that repo, Image gets the same class as Array, Boolean, Date, Function, etc.
And, while I didn't parse through all of the regex rules, as best as I can tell, async gets the same class applied as var, this, constant, class, etc.

Anyway, I will double check that everything is being applied appropriately on the Seti side, but I believe it is (the default atom themes all apply styles the same). I'd encourage you to file an issue on the atom/language-javascript repo if you think it's incorrect.
Cheers!

@jesseweed thanks for the quick reply. I'll definitely open an issue with them.


Use AlphaWallet tokenicon resource

name: Improvement
about: Scan the AlphaWallet token icon repo for icons
When scanning for icons, also include the AlphaWallet iconassets:
"https://raw.githubusercontent.com/alphawallet/iconassets/master/" + TOKEN ADDRESS (eg 0x123456...) + "/logo.png"
This will allow us to add icons for rapid prototyping, testing etc. There are already a few icons in there.
We get a good rep from our friends at Artis, this is also so we can add their token icon in - which isn't in the Trust icon database.

@JamesSmartCell is this still intended for testnets only? (because it's already supported for testnets listed in https://github.com/alphawallet/iconassets#iconassets).

@hboon No it should be a fallback from any network. If an asset isn't found in the checked places we try the icon here. I used it to add the icon for MIVA into Alphawallet, which sits on xDai network. It's not in the Trust repo that we usually use.
https://github.com/AlphaWallet/alpha-wallet-android/pull/1806

You may ponder .. isn't there an attack vector there? That is, say there's a contract on xDai with the same address as a contract in Ropsten, if neither are in the Trust DB then won't these look the same?
Yes, you would be right, but the contract address is deterministic; it's a cryptographic interaction between the private key and the nonce; so if I deploy a contract on xDai with nonce 3, and do the same on Ropsten then I get the same address.
If the contract address is the same, then it was deployed by the same private key, so has the same owner.
It's very convenient for eg Hackathons etc to have this infrastructure.


API doc error: P13nFilterPanel for getConditions is supposed to return void

Hi,
the documentation for the sap.m.P13nFilterPanel getConditions is wrong. The documentation states that this method returns void but it actually returns an array of filter conditions (FilterCondition[]).
Also setConditions could be improved by not just expecting an array of type object but something more specific that can be used in TypeScript like FilterCondition[].
import FilterOperator from "sap/ui/model/FilterOperator";

type FilterCondition = {
    exclude?: boolean,
    key: string,
    keyField: string,
    operation: FilterOperator,
    showIfGrouped: boolean,
    text: string,
    value1: string,
    value2: string
}

Cheers
Dominik

Thanks a lot @heimwege. I have created an internal incident<PHONE_NUMBER>. Any updates on the issue will be posted here in github.

Fixed with https://github.com/SAP/openui5/commit/60f5a64e2caad1ff5d40a95d56111b79a31bf6d0


[nri-prometheus] bump appVersion to v2.10.0

Is this a new chart
no
What this PR does / why we need it:
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] Chart Version bumped
[ ] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [mychartname])

Do we point to that version in any place in the readme?

yes i just removed that it gets easily forgotten. Good catch


Request:  Option to skip tar.gz creation

Currently we use exrm for both package creation and running local builds.  It would be great for day to day development to be able to skip creating the tar.gz file because we never use it locally (we do use it when deploying new builds to remote servers) and it just eats up build time.
Thanks!
-Chris

@cjimison Starting with 0.19.4 when running mix release --dev it will skip the packaging step.


pyethereum failing on stateTest

Test:
https://github.com/ethereum/tests/commit/e0b800e3981e3f436a6bcdd9cb3266778b54221c
Output:
"
Traceback (most recent call last):
File "/home/wins/Ethereum/pyethereum/ethereum/tests/test_state.py", line 40, in
testutils.check_state_test(testdata)
File "/home/wins/Ethereum/pyethereum/ethereum/testutils.py", line 35, in
check_state_test = lambda params: run_state_test(params, VERIFY)
File "/home/wins/Ethereum/pyethereum/ethereum/testutils.py", line 368, in run_state_test
compare_post_states(shouldbe, reallyis)
File "/home/wins/Ethereum/pyethereum/ethereum/testutils.py", line 82, in compare_post_states
(k, s, r))
Exception: Key u'000000000000000000000000000000001cd49878'
shouldbe: {'nonce': 0, 'balance': 711702023, 'storage': {}, 'code': '0x'}
reallyis: {'nonce': 0, 'balance': 0, 'storage': {}, 'code': '0x'}
Testing: stdin randomStatetest2 0 105
"

The pyethereum currently passes all the tests
https://travis-ci.org/ethereum/pyethereum/builds/115013213
@winsvega can this issue be closed?


Support to revert / apply diff patches

Hello! First of all thanks for contributing this amazing library.
I'm using it to create patches of changes done on JSON documents, and I'm struggling to see how I could use the generated patches to either:

Apply a patch generated with CompareJSON to the original document, and get the resulting document back (ie the document that I used originally to generate that patch).
Use the patch generated with the jsondiff.Invertible() option, to apply it on a current document, and get the previous version.

In the current state of the library, I don't seem to be able to do that. Apply method is not exported:
func (p Patch) apply(src []byte, valid bool) ([]byte, error) {
and digging in the codebase, I can't figure out how to make use of jsondiff.Invertible() to go with the second option. I don't see anything in the docs either.  Am I missing something, or is this feature still not fully supported? If it's the latter, is there a roadmap for it?
Thanks! 🙌

Hello,
This package focuses solely on the generation of the patches, not their application. For this, you should checkout existing packages, such as https://github.com/evanphx/json-patch.
The unexported apply method is used internally for the testcases. However, I do not intend to export it, since it's implementation is based on external package, and not optimized in any way.


Add a new public RPC instance.

Preview is available here:http://developers-pr1077.previews.kube001.services.stellar-ops.com


msbot clone services failed with period in bot name with no explanation

Tool
Name: msbot
Version: 4.3.2
OS: Windows 10
Describe the bug
When calling msbot clone services with a name that contains full stops / periods, the command fails after some time, but without a helpful error message.  This will fail for certain services that do not allow periods in the name, such as storage.
When the command eventually fails the error message is "ERROR: At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-debug for usage details.".
To Reproduce
Use msbot clone services with a name with full stops. e.g.
msbot clone services --name "My.Customer.Bot" --luisAuthoringKey "XXXXX" --folder "DeploymentScripts\en" --location "westeurope"
Expected behavior
It would be helpful if the bot name is checked for potentially problematic chars before executing and prompting the user to alter the name - or try to automatically strip out the illegal chars for services where they are not allowed.  I would imagine the former would be the simplest approach.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.
[bug]

Closing via Azure/Azure-cli#8384


Use logging instead of prints

https://docs.python.org/3/library/logging.html

If you create logger inside a module with the module name:
import logging
logger = logging.getLogger(__name__)

then output statements as:
logger.info('setting up CGLS')
logger.warning('xinit is deprecated')

we can then have users change the verbosity level they want, the start of the script needs something like:
import logging
logging.basicConfig(level=logging.WARNING)
cil_log_level = logging.getLogger('cil.optimisation.algorithms.CGLS')
cil_log_level.setLevel(logging.DEBUG)

Or the module structure of the names means you can target all the loggers you want at each module level:
logging.basicConfig(level=logging.WARNING)
cil_log_level = logging.getLogger('cil')
cil_log_level.setLevel(logging.INFO)


Accept nodes that have visible flag set explicitly to true

Linking to issue #104

Coverage increased (+1.0%) to 90.968% when pulling e886d2d7e073813caeefd4ef89936309db890ea6 on thibauldcroonenborghs-tomtom:feature/visible-nodes into c181793297bc2090b56a25c8d8148b7e4bf81dc4 on simplexspatial:master.


Improve reactions events

Context
Currently when a user adds or removes a reaction to a post, the following event is emitted:
sdk.NewEvent(
	types.EventTypePostReactionAdded,
	sdk.NewAttribute(types.AttributeKeyPostID, msg.PostID.String()),
	sdk.NewAttribute(types.AttributeKeyPostReactionOwner, msg.User.String()),
	sdk.NewAttribute(types.AttributeKeyReactionShortCode, reactionValue),
)

As we can see, the event contains only the associated short code of the reaction that is added to the post. While this might be ok, it presents two problems:

If the user adds ":smile:" as a reaction, the event will instead contain :smile:, which might be confusing to watch from an external point of view cause it doesn't tell where that code comes from and where the value has gone.

If the user needs to have both the added value as well as the added shortcode, he will need to parse the event and the message, which is pretty strange.

Solution
In order to improve the usability of such events, what I suggest we should do is adding another attribute to both the event emitted when processing MsgAddPostReaction and the one emitted when processing MsgRemovePostReaction so that both contain:

the shortcode of the added reaction
the value (either emoji or URI) of the added reaction. This can be read from the store (if already registered) or from the value (if an emoji).

I will good for the explorer to show the transactions as well.


Updated Purview Studio DNS Setup

This PR fixes
This PR updates the DNS setup for Purview. The Purview team recently has made some changes to the Private Endpoints and DNS setup, which is fixed by this PR. More details can be found in the referenced issue report.

This is how the new setup looks like for the Portal PE for Purview:

@zeinab-mk Please take a brief look.

This is how the new setup looks like for the Portal PE for Purview:

@zeinab-mk Please take a brief look.

Got her response and she said that it looks as expected.

Good to go.


Web UI Testimonial V1

Issue #178 Solved
Added Textarea Component

https://www.clueless.tech/profile/40214392 @Rajdip019


Multiple custom logger category example

I don't have an issue with anything just mainly looking for advice or thoughts on this implementation using this library. What would it look like if I wanted multiple categories that had two different custom logging implementations? Would it be better to determine the category that is being logged in one custom class and forward the message to the appropriate file?
My use case is that I want one log file for debugging and another file that contains system information like hostname, architecture, CPUs, and other statistics. What would be the best way to implement this case using this library?
Thanks for any advice.

Hello @madCoder24
Questions are always welcome. :)
You can specify one custom logger callback (to create custom loggers), so if you want to log in two different distinct ways, I suggest to return two distinct custom loggers.
Create two root categories (and child categories for them if needed).
Then set the default configuration with LoggerType.Custom, and specify a lambda function for creating a custom logger (see the example in the docs).
The function is called if a logger for a root category must be created (only once normally for each root category). Based on either of the two root categories you created, you can decide what custom logger to return, with each of them logging to a different file.
Does this make sense?

It sort of does... my attempt is below. I feel like I need to call setDefaultConfiguration() but that would override the secondary logger, correct?
import { SystemLogger } from './system.logger';
import {
    Category, RuntimeSettings, CategoryDefaultConfiguration, LogLevel, LoggerType,
    CategoryLogFormat, CategoryServiceFactory, CategoryLogger
} from 'typescript-logging';
import { MadLinkLogger } from 'app/logger/madlink.logger';

// Create options instance and specify 2 LogGroupRules:
// * One for any logger with a name starting with model, to log on debug
// * The second one for anything else to log on info
const config = new CategoryDefaultConfiguration(
    LogLevel.Debug, LoggerType.Custom, new CategoryLogFormat(),
    (root: Category, runtimeSettings: RuntimeSettings) => new MadLinkLogger(root, runtimeSettings)
);

const systemLogConfig = new CategoryDefaultConfiguration(
    LogLevel.Debug, LoggerType.Custom, new CategoryLogFormat(),
    (root: Category, runtimeSettings: RuntimeSettings) => new SystemLogger(root, runtimeSettings)
);

// CategoryServiceFactory.setDefaultConfiguration(config);
export const catRoot = new Category('logger');
export const catSystem = new Category('system');

CategoryServiceFactory.setConfigurationCategory(config, catRoot);
CategoryServiceFactory.setConfigurationCategory(systemLogConfig, catSystem);

export const logger: CategoryLogger = CategoryServiceFactory.getLogger(catRoot);
export const systemLogger: CategoryLogger = CategoryServiceFactory.getLogger(catSystem);

@madCoder24
I think your code should work, you can set the configuration for each category that way.
A different way could be roughly like this  (writing this from head, so apologies if it won't compile):
import { SystemLogger } from './system.logger';
import {
    Category, RuntimeSettings, CategoryDefaultConfiguration, LogLevel, LoggerType,
    CategoryLogFormat, CategoryServiceFactory, CategoryLogger
} from 'typescript-logging';
import { MadLinkLogger } from 'app/logger/madlink.logger';

export const catRoot = new Category('logger');
export const catSystem = new Category('system');

// Define the lambda separately so you have more control (you could inline it below too, whatever you prefer)
const customLoggerFunction =  (root: Category, runtimeSettings: RuntimeSettings) => {
  if (root === catRoot) {
    return new MadLinkLogger(root, runtimeSettings)
  }
  return new SystemLogger(root, runtimeSettings);
};
const config = new CategoryDefaultConfiguration(
    LogLevel.Debug, LoggerType.Custom, new CategoryLogFormat(), customLoggerFunction
);
CategoryServiceFactory.setConfigurationCategory(config, true);

This sets one custom logger for all categories, based on the root you return the appropriate logger.

Excellent! Your implementation proved successful. Thanks again for your assistance. You can go ahead and close this.

 Closing the issue now then.


[BUG] Unable to Install or Update Helm Apps after upgrade to 2.7.1

Rancher Server Setup

Rancher version: 2.7.1
Installation option (Docker install/Helm Chart): Helm

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc): k3s 1.24

Proxy/Cert Details:

Information about the Cluster

Kubernetes version: v1.24.9+k3s2
Cluster Type (Local/Downstream): Downstream

If downstream, what type of cluster? (Custom/Imported or specify provider for Hosted/Infrastructure Provider): Imported k3s cluster on Ubuntu

User Information

What is the role of the user logged in? (Admin/Cluster Owner/Cluster Member/Project Owner/Project Member/Custom)

If custom, define the set of permissions:
Admin

Describe the bug
After updating our Rancher instance from 2.6.9 to 2.7.1 (stable) we can no longer install or update any apps under Cluster Explorer > Apps > Charts on our downstream cluster. When clicking the "Install" button the next page is blank and in the browser network output i can see a 404 error:
{
"type": "error",
"links": { },
"code": "NotFound",
"message": "apps.catalog.cattle.io \"rancher-monitoring\" not found", (replace rancher-monitoring with any other app name)
"status": 404
}

The same does not occur on the local cluster, installs and updates work fine.
This is our test instance of Rancher so only have 1 downstream connected, therefore unsure if this is a problem with this specific cluster or any other that would be managed by this Rancher instance
No obvious errors in the Rancher logs or downstream clusters cattle-agent logs
If i revert Rancher back to 2.6.9 (VM Snapshot) the problem goes away and i can again install/update apps.
To Reproduce
Update Rancher from 2.6.9 to 2.7.1
Result
Expected Result
Should be able to install and update Apps using the Rancher App UI.
Screenshots

Additional context

I’m getting the same exact issue in a new cluster i just deploying through Rancher (2.7.6).
My Rancher is exposed through MetalLB in a dedicated RKE2 cluster.
After creating a new cluster i’m not able to install any apps, the app catalog makes the browser console to output errors regarding the loading of icons and fails to install any app, indeed i get your same error when installing the racher monitoring.

After dinning into another issue i suggest you to check the following:

Check if your cluster is using tigera calico
If yes please check if your RKE2 nodes have 2 NICs
If yes try to remove the secondary nic from all the nodes and add it back

From what i saw seems like that during the first deployment is better to have just a single nic otherwise tigera will detect even the second nic and will do a mess trying to correctly speak to the KUBE-API and subsequently COREDNS will have troubles.
Let me know if it helps you :)


Bugfix/esr lib refactor and fix

Fix for reading QR code from our API #327

That fix actually went into our own fork of dart-esr which is now at joinSEEDS repository.

Refactoring to use dart-esr library

Abandoned "dartesr"

removed unused code

Hmm... need to merge buy and donate buttons first, then merge them into here, so they're not part of this PR


Improve BugReportActivity: preview of screenshot

Also send stacktrace to the logs, it will help to analyse pb reported by RageShakes


Add etcd-fix operator to detect and correct master node IP change breaking etcd - ARO-1534

This operator is needed to resolve a crash loop failure of etcd pod due to hardcoded etcd endpoints in pod spec. oc observe is used to detect this condition and start a bash script.
Information from the Updated event is passed to the script that performs recover steps detailed here: https://docs.openshift.com/container-platform/4.4/backup_and_restore/replacing-unhealthy-etcd-member.html#restore-replace-crashlooping-etcd-member_replacing-unhealthy-etcd-member
Which issue this PR addresses:

Fixes
https://issues.redhat.com/browse/ARO-1534
What this PR does / why we need it:
When the master node IP changes etcd pod spec has a hard coded ETCD_ENDPOINTS variable. If a member changes IP addresses the endpoints var isn't updated, causing a crashlooping etcd container on that node.
This PR provides an automated way to detect and correct this condition on the problem master node.
The script only performs actions when the problem node is the same as the host node. This prevents peers from taking actions they shouldn't.

Test plan for issue:
Adding unit tests.
Tested against development cluster.

Execute script below to reproduce the IP change.

./change_vm_nic.sh steven-cluster-hrkhk-master-2

#!/bin/bash

main() {
    if [[ -z $1 ]]; then
        abort "node name must be provided"
    fi

    node="$1"
    nic2="${node}-nic-$((1 + $RANDOM % 10))"

    subnetID="$(az network vnet subnet show -n $CLUSTER-master --vnet-name dev-vnet --query id)" || abort "failed to get subnet ID"
    aro="aro-${CLUSTER}"
    az network nic create --name "$nic2" --subnet "$( tr -d \" <<< "$subnetID")" -g "$aro" || abort "failed to create nic $nic2"

    az vm deallocate -g "$aro" -n "$node" || abort "failed to deallocate $node"

    az vm nic add --nics "$nic2" --vm-name "$node" --primary-nic "$nic2" -g "$aro" || abort "failed to add $nic2 to $node"

    az vm start -n "$node" -g "$aro" || abort "failed to start $node"
}

abort() {
    echo "$1"
    echo "Exiting"
    exit 1
}

main "$1"

Create operator

go run -tags aro ./cmd/aro/ operator master

Monitored operator logs

oc logs -n openshift-etcd pod/etcd-fix-nrsd2

Example logs output

openshift-etcd etcd-steven-cluster-hrkhk-master-2 ''\''{"name":"ETCDCTL_ENDPOINTS","value":"https://<IP_ADDRESS>:2379,https://<IP_ADDRESS>:2379,https://<IP_ADDRESS>:2379"} {"name":"NODE_steven_cluster_hrkhk_master_0_IP","value":"<IP_ADDRESS>"} {"name":"NODE_steven_cluster_hrkhk_master_1_IP","value":"<IP_ADDRESS>"} {"name":"NODE_steven_cluster_hrkhk_master_2_IP","value":"<IP_ADDRESS>"} False'\'''
Event is: Updated
Container status: False
<IP_ADDRESS> not found in https://<IP_ADDRESS>:2379,https://<IP_ADDRESS>:2379,https://<IP_ADDRESS>:2379
bad node name is: steven-cluster-hrkhk-master-2
bad pod name is: etcd-steven-cluster-hrkhk-master-2
All good node IPs: <IP_ADDRESS> <IP_ADDRESS>
Creating /host/var/lib/etcd-backup
Moving /host/etc/kubernetes/manifests/etcd-pod.yaml to /host/var/lib/etcd-backup
Moving /host/var/lib/etcd/ to /host/tmp
found peer pod: etcd-steven-cluster-hrkhk-master-0
found peer pod: etcd-steven-cluster-hrkhk-master-1
rshing into pod/etcd-steven-cluster-hrkhk-master-0 now to remove member id 9e10a4626851f482
Member 9e10a4626851f482 removed from cluster bab5f47cf9607d11
id not found in etcd member list for pod etcd-steven-cluster-hrkhk-master-1
secret "etcd-peer-steven-cluster-hrkhk-master-2" deleted
secret "etcd-serving-steven-cluster-hrkhk-master-2" deleted
secret "etcd-serving-metrics-steven-cluster-hrkhk-master-2" deleted
etcd.operator.openshift.io/cluster patched

Is there any documentation that needs to be updated for this PR?
Toil work, I'm unsure if this needs to be documented?

Hi @s-fairchild that's good that we have this being taken.
I think that the operator aproach and more generally automatic detect/recovery is probably a better aproach than waiting for a PUCM to repair the problem.
to @darthhexx 's point, I think that indeed, etcd reconciliation, ssh fixing and NIC reconciliation could be part of a greater feature. But rather than putting that in a PUCM, I would rather go for the aproach taken with the operator.
(without looking at the code itself, I have not reviewed it, just talking about the approach here)

@darthhexx No there isn't a design document for this feature that I'm aware of.
The goal of this PR was to automate a fix for this issue about the problem described here.
Will the automated master node replacement monitor the cluster from an operator live, or be triggered another way? I'm curious mostly to see if this PR can fit (or modified to fit) into the larger feature design.
Also Would this particular issue be better handled by an automated full node replacement, rather than just etcd?

Will the automated master node replacement monitor the cluster from an operator live, or be triggered another way?

It would be triggered as a new SRE triggered RP process that runs as a set of predefined actions and condition steps, just like we have here for a cluster update. This gives us specific control over the actions and remediation processes, much like your steps are doing in the bash script, but in the RP itself.

Also Would this particular issue be better handled by an automated full node replacement, rather than just etcd?

Personally, I am not comfortable having ectd replacement code running on all clusters all of the time waiting to perform an etcd pod replacement as soon as it detects an ectd member not available. From that I can see from a quick glance, there are also no locks to prevent multiple replacements and adding that alone will raise the detection and remediation complexity substantially.
Having the process automated is a must, but I do think it is better suited as an SRE initiated process on a confirmed failed etcd pod, due to the ramifications of "getting it wrong", rather than a permanent process running on all clusters.
With regards to using this process in the automated master node replacement, it would be ideal if the process was converted to Golang functions in a steps-based approach, which could be tested, instead of a daemonset and a bash script. However, the removing of the etcd member would still need to be performed in a pod, but that could be an Action to deploy followed by a Condition to verify and a subsequent Action to remove the pod.
Of course there are always many ways to design a system, so my suggestions are just my viewpoint and I'm happy to hash this out further in a meeting, design doc, or this PR.

@darthhexx Thanks for your input. I agree a tested Go step based remediation process, SRE triggered sounds like the safest approach. I'd like to meet to discuss this design and incorporating it into the larger master node replacement feature when you have time. I'll reach out to set something up.

Use this operator to detect a (breaking) master node IP change, and use it to write an operator status, and potentially alert SRE so that remediation steps can be taken

@cadenmarchese Are we using operators to write statuses for other events?
Maybe I can update this PR shifting this operator from taking action to alerting, then an SRE triggering an automated fix from there.

Closing this and opening https://github.com/Azure/ARO-RP/pull/2725


questions about "mesh_downsampling.npz"

I want know how to compute mesh_downsampling.npz("Extra file with precomputed downsampling for the SMPL body mesh." )
Can you provide code about it ? Thank you !

It was computed using the algorithm from this paper. You can look at this file for more details.


[WebRTC] OperationError: Duplicate payload type with conflicting codec name or clock rate., retrying in some seconds on iPad

Which version are you using?
v1.8.3
Which operating system are you using?

[ ] Linux amd64 standard
[ ] Linux amd64 Docker
[X] Linux arm64 standard
[ ] Linux arm64 Docker
[ ] Linux arm7 standard
[ ] Linux arm7 Docker
[ ] Linux arm6 standard
[ ] Linux arm6 Docker
[ ] Windows amd64 standard
[ ] Windows amd64 Docker (WSL backend)
[ ] macOS amd64 standard
[ ] macOS amd64 Docker
[ ] Other (please describe)

Describe the issue
When I use a UDP MPEG-TS stream (h264 packets with opus encoded audio) into Mediamtx and read via RTSP (VLC) or WebRTC (Chrome) on a desktop everything works fine. However on an iPad, while RTSP (through VLC) works fine, the WebRTC site on both Safari and Chrome display the error:
OperationError: Duplicate payload type with conflicting codec name or clock rate., retrying in some seconds
The stream never loads and I can't get WebRTC through the browser. I am working through a zerotier setup so the tunneling or NAT and all that shouldnt be an issue as they use UDP hole punch.  Let me know if you need anything else.
Thanks for your continued work on this project!
Describe how to replicate the issue

start the server on a raspberry pi
publish with gstreamer the following pipeline: rpicam-vid -t 0 -n --inline -o - | gst-launch-1.0 fdsrc fd=0 ! h264parse config-interval=-1 update-timecode=false ! queue ! mpegtsmux name=mux ! udpsink host=<IP_ADDRESS> port=1234 alsasrc device="plughw:CARD=0" ! audio/x-raw,channels=1 ! opusenc ! queue ! mux.
read with iPad with iOS 16.7.8 on chrome via WebRTC

Did you attach the server logs?

no
Did you attach a network dump?

no

I have the same problem on one of the iPhone14Pro, while on iPhone 12, 13, 15 different versions everything is fine

The strangest thing is that this is not reproduced for everyone and if the Android settings are more open and you can break something yourself, then in the iPhone/iPad it is really problematic to do this
Also, the problematic mobile devices were reset to default settings, but this did not solve the problem

I collected a small dump from the test server, there are 131 streams and I am trying to connect from iPhone 15 and iPhone 14
Addresses like XXX.XXX.XXX.XXX belong to iPhone 15
Addresses like YYY.YYY.YYY.YYY belong to iPhone 14
mediamtx_test.log
According to the test results, it is clear that iPhone 14 cannot receive video

I have the same issue on one of my devices (old cherrytrail tablet) running ChromeOS and using Chrome to view a WebRTC proxy stream. Only this device has issues; i'm still debugging but I think clearing the browser cache gets it to work again but not sure if this is a one off or reproductible.

Some additional findings on my end,

1.8.2 seems to be the last version that works for this device
doesn't matter what the stream source is (ie. wyze cam, tapo, eufy) the webrtc proxy shows same error
clearing cache did not help when upgrading

That's right, everything works in version 1.8.2 and below. So for now I just rebuilt version 1.8.3 and returned the read_index.html file from version 1.8.2 to it.

So if you compile the latest version but with the 1.8.2 version of 'read_index.html' everything works fine?

So if you compile the latest version but with the 1.8.2 version of 'read_index.html' everything works fine?

Yes, but it seems to me that this is not entirely correct and this bug needs to be fixed in the original version of the file, so dear @aler9, please fix it.


Using ArryList instead of LinkedList

Please answer these questions before submitting pull request

Why submit this pull request?
[ ] Bug fix
[ ] New feature provided
[x] Improve performance

New feature or improvement

Describe the details and related test reports.

Arylist has better performance than LinkedList.

Benchmark
Mode
Cnt
Score
Error
Units

DmBenchmark.testArray
thrpt
5
18941.928
± 1594.049
ops/s

DmBenchmark.testLinked
thrpt
5
12825.072
±  128.101
ops/s

And to make ConsumerThread have one ArrayList to reduce create ArrayList Object and grow.

+1 for mutiple and real OAP and agent scenarios.

Thank both of you.
I ran two scenarios.

run benchmark tests with ArrayList and LinkedList.
run simulate real-world testing.

The first of all, I need to explain two about this changes.

In constructor, I use ArrayList to store DataSource and the ArrayList size is from 1. This is why we just use it at initialization. And its length must less 100. So ArrayList or LinkedList is amlost the same here.
In  ComsumerThread#consume(), I use singleton ArrayList instance to avoid recreate and continuely grow. that means Array grownth is approaching to bufferSize(in MultiConsumerThread, it is less several times than bufferSize). And then it never grow.

Second, How do I design test case for simulate real-world testing.
Using io.dropwizard.metrics to trace GC and elapsed time. So I create a DataCarrier with 4-channels and 1000/2000/4000-buffers. And then I add 32-thread producer for continuely produce and 32-ConsumerThread for consume.

Here is the result: (It ran in Aliyun VM 2core, 4G)
before changing.

channelSize = 4
bufferSize = 2000
numThreads = 32
run 3-mins

============================================================
-- Gauges ----------------------------------------------------------------------
PS-MarkSweep.count
value = 0
PS-MarkSweep.time
value = 0
PS-Scavenge.count
value = 332
PS-Scavenge.time
value = 477
-- Timers ----------------------------------------------------------------------
ConsumerThread.1
count = 613190
mean rate = 3404.58 calls/second
1-minute rate = 3408.83 calls/second
5-minute rate = 3390.47 calls/second
15-minute rate = 3382.55 calls/second
min = 0.00 milliseconds
max = 2.46 milliseconds
mean = 0.01 milliseconds
stddev = 0.12 milliseconds
median = 0.00 milliseconds
75% <= 0.01 milliseconds
95% <= 0.02 milliseconds
98% <= 0.03 milliseconds
99% <= 0.03 milliseconds
99.9% <= 2.46 milliseconds
after changing.

channelSize = 4
bufferSize = 2000
numThreads = 32
run 3-mins

============================================================
-- Gauges ----------------------------------------------------------------------
PS-MarkSweep.count
value = 0
PS-MarkSweep.time
value = 0
PS-Scavenge.count
value = 107
PS-Scavenge.time
value = 131
-- Timers ----------------------------------------------------------------------
ConsumerThread.1
count = 621289
mean rate = 3449.42 calls/second
1-minute rate = 3439.23 calls/second
5-minute rate = 3431.61 calls/second
15-minute rate = 3423.44 calls/second
min = 0.00 milliseconds
max = 0.02 milliseconds
mean = 0.00 milliseconds
stddev = 0.00 milliseconds
median = 0.00 milliseconds
75% <= 0.00 milliseconds
95% <= 0.00 milliseconds
98% <= 0.01 milliseconds
99% <= 0.01 milliseconds
99.9% <= 0.02 milliseconds

I copy the module to new repo. I push the simulate tests codes into there.
https://github.com/dmsolr/apm-datacarrier-benchmark

Please use jmh to run benchmark, it shows gc. ops and latency. We have many benchmarks like this.

Those are the code and the result of benchmark tests. Although it is not too strict.

Thank @kezhenxu94 for your suggestion.

Thank @kezhenxu94 for your suggestion and help.
Those are the code and the result of benchmark tests. Although it is not too strict.

This is a good demonstration of JMH

Thank @kezhenxu94 for your suggestion and help.
Those are the code and the result of benchmark tests. Although it is not too strict.

Hi, @dmsolr
From the implementation of the ArrayList and LinkedList in JDK, the LinkedList create node object to store data and reference to the next node, LinkedList creates much more node instance.
What's the purpose of comparing this?

Hi @peng-yongsheng ,
We want to know the effect of large arrays on GC. Garbage collector need to check all elements of array every time. That will cost more CPU and make GC taking more time. But we are not sure how many it will cost. So we do this test.

Hi @peng-yongsheng ,
We want to know the effect of large arrays on GC. Garbage collector need to check all elements of array every time. That will cost more CPU and make GC taking more time. But we are not sure how many it will cost. So we do this test.

@dmsolr Maybe it's better to do an OAP server comparison. Mock the same amount segment and post into the OAP server, then compare the GC report between before and after modification. This can let us know the performance in a real scenario.

Hi @peng-yongsheng , thanks for your comment.
OAP server is complex so that we cannot do benchmark. But I can test this like DataCarrier Tests .
In my idea, DataCarrier tests may represent something.

Let's work on DataCarrier tests, then we could discuss more. Anyway, this is a complex proposal, should we close this PR, and work on an issue to discuss tests and results?

OK. I close this PR and open a new issue later.


Keep documentation for previous spec versions alongside draft

WIP PR to resolve https://github.com/data-apis/array-api/issues/488. This PR keeps the source of the 2021.12 spec in the HEAD commit of the repo, which is important for backporting features and cross-version tooling (i.e. array-api-tests).
Note on the diff: it's bloated by having soft-duplicated the docs/stubs so we can have 2021.12 and draft versions. Importantly files for both versions preserve their history (solution used), so you can git blame the 2021.12 files like they were on release day. The bloated diff otherwise seems inevitable, as git (or at least GitHub) can't mark multiple files as renamed, even if there are no changes to either file :confused:
It won't be up-to-date but you can check https://honno.dev/array-api/ for rendered docs. I've also updated live previews, but that won't work for this PR as it requires the default branch to be updated too (does work for honno/array-api).
What this PR changes
This introduces a module array_api_stubs which holds the signature stubs of all versions, which lives in src/ and can be installed via pip install .. Currently you can see in the main branch only draft stubs are available, living in spec/API_specification/array_api (this PR moves them to src/array_api_stubs/_draft/).
To hold the non-docstring documentation of all versions, spec/ now contains technically separate Sphinx docs for each version in respective folders (i.e. spec/2021.12/ and spec/draft/). Sphinx configuration is however mostly shared, as each conf.py imports the same _array_api_conf module, i.e.
# spec/draft/conf.py
import sys

from array_api_stubs import _draft as stubs_mod
from _array_api_conf import *

release = "DRAFT"
sys.modules["array_api"] = stubs_mod
# EOF

The main drive in having technically separate docs is to keep utilising Sphinx's autodoc, which is incredibly useful but ill-equipped of having multiple spec versions in the repo. The ability to monkey-patch sys.modules in the conf.py of every version-doc gives us consistency, basically just so we don't have to worry about modifying the .. currentmodule targets for every version.
Building the spec website is now fully reproducible locally via the introduced make build command (I wrote a quickstart for building the spec in README.md). Before we would just update the current version folder in gh-pages, which is sensible for most docs, but feels a bit loosey-goosey if we want the ability to backport things and generally it's nice to build the whole website locally. The pages workflow now works with pip install .[doc] and make build, but I have yet to update the preview workflow. sphinx-(auto)build will still serve us well when working on just the draft version.
TODOs

[x] Preserve git history for 2021.12 spec/stub files
[x] Working site previews again
[x] Remove temporary commits (namely used to bypass CI workflow restraints)
[x] Document procedure on spec releases

(So beware, there's going to be a fair few force-pushes here.)

Follow-up PRs
First point of order is known backport candidates. On the top of my head:

https://github.com/data-apis/array-api/pull/430 had to be backported for this PR to work, so follow-up should be redirecting signatures.<file>.* to respective array_api.* urls, just for the 2021.12 spec so links don't break.
https://github.com/data-apis/array-api/pull/464
https://github.com/data-apis/array-api/pull/480

And then I would want the package to actually be useful by tooling, notably array-api-tests—see https://github.com/data-apis/array-api/pull/472 for what I've already worked on in this regard. Another PR could automate releases (probably CalVer'd) anytime a workflow detects the package has changed (inspired by Hypothesis here, and for our purposes should be simple). I've already upload the package to PyPI as array-api-stubs (just to park it), so any consortium member who's interested, feel free to ask me to make you a collaborator on PyPI.
Also, CircleCI doesn't handle that index.html magic that happens when you go to "folder" URL, i.e. https://output.circle-artifacts.com/output/job/kfc/artifacts/0/_site/latest/ won't redirect to .../index.html and so give us a seamless preview when checking non-draft versions. Generally site previews seems to be an unintended but popular use of artifacts (related discussion). A way to handle this, probably by making the version jumping explicitly suffix hrefs with index.html, would be nice.

So that's broad strokes. Obviously lots of little details but I didn't want to make the PR body an automatic TL;DR heh... hopefully those details speak to themselves, so if not I have/should/will be writing documentation (ofc still working on this PR). Both excited and terrified to hear what folks think :sweat_smile:

I would add a README to the spec directory explaining how the layout works and what steps need to be taken to make a spec release (if there are a lot of them, maybe it could be put into a script). Also, make sure we do test making a release to make sure everything works.

Let's hold off on this refactor until the changes to the standard that modify content (new functions, keywords, etc.) are done for v2022. Then we'll have a period of doing all these larger refactor/reshuffle PRs before finalizing v2022.

Alright, I'll need to sleep on it but I think I'm happy with this PR. It was kind of a nightmare getting this PR updated post the 2022.12 release—namely because typical rebase/merge workflows completely broke down with an already magic'd git history—but I think it's now up-to-date. I'm more confident now on these git things, but I'd appreciate if there was a freeze for merging other PRs until this one gets through, assuming we're close enough to merging :sweat_smile:

as may depend on what sort of Git magic is required.

In case there's anything else, it should be fine to push commits on this PR, only the history shouldn't be changed without consideration.

Additionally, would be good to know whether merging this PR requires any special consideration (e.g., whether we can squash commit or not).

Yeah this can't be squashed in as it would break the preserved blame history. Either  "Create merge commit" (i.e. the default for repos unless modified in settings) or "Rebase and merge" will be fine.


Add KEP for Pod support

What type of PR is this?
/kind feature
What this PR does / why we need it:
Design for support for plain Pods.
Which issue(s) this PR fixes:

Part of #976
Special notes for your reviewer:
I listed all the stories that we can potentially support, but we might prioritize only 1 and 4.
Does this PR introduce a user-facing change?

NONE

cc @ahg-g @tenzen-y @denkensk

/hold

/lgtm

LGTM

/hold cancel
Anything else @tenzen-y @kerthcet ?

Please give me a little time.

I will take a look of this KEP tomorrow, but if this blocks your development, feel free to merge this first. Sorry for that.

/label tide/merge-method-merge
/lgtm


Niceday app update

I noticed that the niceday app was updated, now if you install the app you first seem to get messages from a certain Joy (through contacts). The QR code to connect with Sam still seems to work, but I wonder whether this Joy gets in the way? My mother got messages about what to do if you're suicidal.
You can also copy messages from Sam that you want to respond to (like in whatsapp) but that does not seem to affect how the systems deals with users' responses
Do you know when other updates are planned and how that might affect our intervention?

I just reinstalled the app and I tried also to create a new account, but this is not happening to me. Is your phone an Android or an iPhone?
I asked NiceDay this question some months ago, but they told me that they don't know what will be released and that there are news on their wensite.

That’s odd. I did not experience this myself but my mum did (she has an Android phone) and also a colleague whom I believe has an iOS phone (not sure about that though)
These messages from Joy do seem to come from a different contact than Sam. I added the screenshot of what my colleague got.

Ok, I see. This is the process the user has to go through if they decide to create an account without using the QR code. In this case the user is guided in the creation of an account by this bot by NiceDay.

Hi Walter, I checked this with my mother and colleague and they had indeed not scanned the QR code to connect with Sam. I think the advisory board member did not have this so he did a better job reading, but we will make the instructions for the trial participants very clear on this.


Fix: Add missing required field

While reading through Chapter 12 of the Next.js tutorial, I noticed that based on the TypeScript interface definition, we shouldn't allow the user to submit the form without selecting the invoice status.
export type Invoice = {
  id: string; // Will be created on the database
  customer_id: string;
  amount: number; // Stored in cents
  status: 'pending' | 'paid';
  date: string;
};

Closing since this is actually later on https://nextjs.org/learn/dashboard-app/improving-accessibility#client-side-validation


Button shift

When you hover over topbar icon on desktop button shifts ~2px to the bottom

icons should be aligned to exact height of topbar

Hi @StasiekDivante can you please more specific about browsers and devices where this happens?

sure, it's safari on macOS High Sierra

ok, thanks. gonna have a look 😉