[WIP] Add command annotations and wire up

Fixes https://github.com/dotnet/aspire/issues/1410 (cleaned up test while I was here)
Rough work in progress.

Add resource command annotations
Resource commands talking to host and invoking annotation callbacks

Microsoft Reviewers: Open in CodeFlow

Made a bunch of changes and applied PR feedback.
I think this is close to being good. (Ignore lack of API xml comments and the fact that start/stop/restart don't actually do anything yet 😄)

/azp run

@JamesNK I think the updateState callback should be Func<UpdateCommandStateContext, Task<ResourceCommandState>> (or ValueTask ... dunno). Also ... is there is a reason it doesn't provide access to the service provider?

I haven't heard a scenario where service provider or async is needed. If those are needed then the API can change.
If there is a scenario, I would like to know whether it makes sense for the update state methods to be heavy and async, or lightweight:

A heavy func (resolving services and making async calls) is called every time a snapshot updates - which could be many times a second.
Or, is better to use some other API hook to add more data to the snapshot via ResourceNotificationService about the state of the resource, and then use the cached properties on the snapshot in the func to control whether a command is enabled or disabled.

I'm sure we've had this conversation before.

The purpose of the update state methods is to determine whether the command should be enabled or not. In the implementation of the start/stop commands you are providing the latest resource snapshot which enables you to make a decision as to whether command should be enabled or not - that is generally sufficient for your scenario.
However, when applied more broadly the resource state snapshot is not the only input into deciding whether a command might be enabled or not. For example you might want to query the state of the resource directly to determine whether a command should be available. This would require resolving the connection string to the resource which is an async operation.
We could force people to have to implement a service in DI to do these kinds of async operations in the background - but this would require as to provide the service provider at the very least (so you could resolve the service).
If we are concerned about the overhead of running the state updates for commands then we can always poll at a lower interval.
I'd prefer to give people options (service resolution and async) to allow them to write the code that is right for their particular scenario. Often times you don't get the choose the APIs that you need to interact with and if you just want to quickly mockup a command to add to the app model to optimize something then let's give them the capability.

However, when applied more broadly the resource state snapshot is not the only input into deciding whether a command might be enabled or not. For example you might want to query the state of the resource directly to determine whether a command should be available. This would require resolving the connection string to the resource which is an async operation.

Here is the problem with what you're saying: the update method is only triggered when the resource snapshot updates. If you need to talk to the database to figure out the state, you can only do that if something updates the resource snapshot. The resource might be in a happy Running state since it starts up and the command state methods are never called.
For example, there is a command to perform an EF migration, and you query the DB to see if the action is enabled or disabled. The command could be enabled and some other tool could perform the migration, but the command stays enabled because the resource snapshot doesn't update.
The way this could work instead is when the resource starts there is a background task that queries the database (or file, or web service, etc) every 10 seconds to figure out whether the command is valid or not. That task uses ResourceNotificationService to set a property on the resource snapshot. The command update method then looks at that property to figure out whether it is enabled or not.

We probably shouldn't be polling this multiple times a second anyway (its UX behind a context menu). If we are concerned about the overhead of running the state updates for commands then we can always poll at a lower interval.

This isn't from polling. The methods are re-evaluated when the resource state updates, which is pushed from the notification service. A resource starting up or shutting down has half a dozen rapid resource state updates as the state and endpoints change.

/azp run

/azp run


feature: drag the progress volume bar

drag the progress volume bar

Hi @raotaohub, I don't really see how this feature works in the preview https://aplayer-react-git-fork-raotaohub-master-leishenghao.vercel.app/ . Could you add some more detailed description?

hi @SevenOutman.
Please see here : https://codesandbox.io/s/aplayer-react-demo-1w4h6o

I don't know why I don't see any preview in that link，it doesn't seem to pull the latest code, even the first few commits.

Please see here : https://codesandbox.io/s/aplayer-react-demo-1w4h6o

The demo works and it looks nice! However there's some refactoring I need to add to the codebase before I accept new changes, so please be patient before it's done and maybe rebase this PR onto the latest codebase then.

no problem.


Fix wrong apiVersion and group for fleetworkspace

https://github.com/rancher/rancher/issues/30452

Turns out that we are checking the wrong api version and group for fleetworkspace


Update Feast Core API to support Project namespacing

Updated Feast Core gRPC API based on: Feast Projects RFC
This will be one of many PRs to the project-isolation branch. I am purposefully not merging this into master (as that will break master) and not building one massive PR (which will be too hard to parse).

I just realized that we should probably change the test scripts to also code gen from protos. Right now these tests are passing but they shouldnt. cc @davidheryanto @zhilingc

Should we have a spec for the project name? For example,

Project name can be up to 253 characters long. The characters allowed in names are: digits (0-9), lower case letters (a-z), -, and ..

Should we have a spec for the project name? For example,

Project name can be up to 253 characters long. The characters allowed in names are: digits (0-9), lower case letters (a-z), -, and .

So that when we're combining project name with feature name, there won't be ambiguity (e.g. if we use colon as a separator and project name includes colon as well). And the storage system where we persist the project name information may only support certain character sets, e.g. ASCII but not Unicode. And if we plan to use the project name in some URI, probably it should be DNS friendly too?

Yip, makes sense. Where should this be documented?


Switch from using main to using the default

Currently we default everything to running off the main branch, we should switch this to using the default branch for a repository.

https://docs.microsoft.com/en-us/javascript/api/azure-devops-extension-api/gitrestclient#azure-devops-extension-api-gitrestclient-getrepository


Custom Page extra_data problem

Hello!
Can you explain please, when extra_data field is added into swagger after creating custom Page?
I carefully read the documentation and i did not find something about it. I did my custom Page like in docs, but with my fields.
Maybe i'm doing wrong.

Hi @serg-kuchev,
Could you please provide a code snippet so I can understand what you are trying to achieve.
There is no extra_data param when I am using Page class:
from fastapi import FastAPI

from fastapi_pagination import Page, add_pagination, paginate

app = FastAPI()
add_pagination(app)

@app.get("/items")
async def get_items() -> Page[int]:
    return paginate([*range(100)])

Hello @uriyyo!
Im trying to comment **kwargs in Page, but there is no effect.
Here is my custom Page:
from typing import Generic, Optional, Sequence, TypeVar

from fastapi import Query
from pydantic import BaseModel
from typing_extensions import Self

from fastapi_pagination.bases import AbstractPage, AbstractParams, RawParams

class Params(BaseModel, AbstractParams):
    limit: int = Query(10, ge=1, le=100, alias="page[limit]")
    page: int = Query(1, ge=1, description="Page number")

    def to_raw_params(self) -> RawParams:
        return RawParams(
            limit=self.limit,
            offset=self.limit * (self.page - 1),
        )

class PageInfoMeta(BaseModel):
    limit: int
    page: int
    total: int

T = TypeVar("T")

class Page(AbstractPage[T], Generic[T]):
    items: Sequence[T]
    pagination: PageInfoMeta

    __params_type__ = Params

    @classmethod
    def create(
        cls,
        items: Sequence[T],
        params: AbstractParams,
        *,
        total: Optional[int] = None,
        **kwargs: Any,
    ) -> Self:
        assert isinstance(params, Params)
        assert total is not None

        return cls(
            items=items,
            pagination={"limit": params.limit, "page": params.page, "total": total}
            **kwargs,
        )

My router:
@public_router.get(
    "/",
    ...
    response_model=Page[models.RuleResponse],
    ...
)
async def list_rules():
    return await list_all()

Query is just a simple select, maybe where condition do extra_data.
asyncpg paginate:
async def list_all() -> list[dict]:
    query = select_all.substitute(where="WHERE stat.status != 'deleting'")
    async with DB_CLIENT.acquire_connection() as con:
        return await paginate(conn=con, query=query, transformer=transform_query_result)

And my transformer function:
def transform_query_result(rules: list) -> list:
    out = []
    for r in rules:
        r = dict(r)  # asyncpg.Record is immutable
        r["servers"] = json.loads(r["servers"])
        out.append(r)
    return out

@serg-kuchev You need to use additional_data parameter:
async def list_all() -> list[dict]:
    query = select_all.substitute(where="WHERE stat.status != 'deleting'")
    async with DB_CLIENT.acquire_connection() as con:
        return await paginate(
            conn=con,
            query=query,
            transformer=transform_query_result,
            additional_data={...: ...},  # your extra data goes here
        )

Hello @uriyyo! Im sorry to delete my message above. I will return it for other users again:)
My pagination Page classes:
from typing import Generic, Optional, Sequence, TypeVar

from fastapi import Query
from pydantic import BaseModel
from typing_extensions import Self

from fastapi_pagination.bases import AbstractPage, AbstractParams, RawParams

class Params(BaseModel, AbstractParams):
    limit: int = Query(10, ge=1, le=100, alias="page[limit]")
    page: int = Query(1, ge=1, description="Page number")

    def to_raw_params(self) -> RawParams:
        return RawParams(
            limit=self.limit,
            offset=self.limit * (self.page - 1),
        )

class PageInfoMeta(BaseModel):
    limit: int
    page: int
    total: int

T = TypeVar("T")

class Page(AbstractPage[T], Generic[T]):
    items: Sequence[T]
    pagination: PageInfoMeta

    __params_type__ = Params

    @classmethod
    def create(
        cls,
        items: Sequence[T],
        params: AbstractParams,
        *,
        total: Optional[int] = None,
        **kwargs: Any,
    ) -> Self:
        assert isinstance(params, Params)
        assert total is not None

        return cls(
            items=items,
            pagination={"limit": params.limit, "page": params.page, "total": total}
            **kwargs,
        )

Router:
@public_router.get(
    "/",
    ...
    response_model=Page[models.RuleResponse],
    ...
)
async def list_rules():
    return await list_all()

list_all() function:

async def list_all() -> list[dict]:
    query = select_all.substitute(where="WHERE stat.status != 'deleting'")
    async with DB_CLIENT.acquire_connection() as con:
        return await paginate(conn=con, query=query, transformer=transform_query_result)

After hours of searching, i found that there is a problem with pydantic v2, not with pagination.
Here is a link.
@uriyyo thank you very match for your attention to the issue!

I changed alias in this line:
limit: int = Query(10, ge=1, le=100, alias="page[limit]")

to:
limit: int = Query(10, ge=1, le=100, alias="page_limit")

and all working fine like i want:)

@serg-kuchev Happy to hear that you solve your issue!


broken after update

i misunderstod about this err, but after update navigator, and treesitter, i got error like this

https://github.com/nvim-treesitter/nvim-treesitter/issues/2295
Seems to be an upstream issue.

great, thanks @ray-x for helping me


Rotation in 3d?

Can add_virtual_columns_rotation also work for three dimensions, rotating over theta and phi? Or is it necessary to do this in steps?

Hmm, probably add_virtual_columns_matrix3d can do this...

True, maybe a rotation3d could help here.. but I'd have to think about how to define the angles etc, too many conventions :).


Macro edit screen missing parts

When creating or editing macros, it seems that the macro title and icon section of the macro screen is missing.  It's missing even if all modules are deactivated, and it's present in a generic sandbox system.  So, I'm guessing it's a bug, because I don't know what else to try.

I figured out why this is. I have some css that causes overflow to be hidden in sheet headers and that is causing those fields to not display. I will fix this in the next release.


Match clang for _mm512_abs_epi32 intrinsics

This commit updates stdsimd's codegen to match Clang's for the
_mm512_abs_epi32 intrinsic (and masked versions) which doesn't use any
LLVM intrinsic calls, but rather raw SIMD operations.
These are built on top of the new simd_select_bitmask intrinsic
introduced recently to the compiler!

Note that CI will fail here because the current nightly doesn't have support, but the next one will!

All green!

So this is how clang implement these. I still don't know why, but it probably is indeed better to do things like clang does here.


Issues at bottom of text

There is a lot of spacing left at the bottom of the Text. How do we remove those spacing?

can you load image to show problem?

no details given.


Allow auto-update of room & capacity information when editing locations via the "Add Class Series" form

Because locations' capacity and room information is currently loaded via data attributes on the  tags, and not via Ajax, when you edit a Location's information inline, the room and default capacity information doesn't update until the page is refreshed, which is confusing.

OK, I looked into this some more.  When one adds or changes an instance, Django's admin does indeed call back to the parent window of the id and name of the Location that has been added or changed.  There might be a way to just fire off an Ajax call when this callback happens (by creating an event handler for whenever the select options for the location are modified).
However, I think that it may make sense to just override the default callback process entirely.  Here's how that would work:

In danceschool.core.admin, in the LocationAdmin class Override the ModelAdmin methods response_add() and response_change() to pass along not just the name and id of the added/modified location, but also the capacity information and room listing for that location.  Also, change the methods to return a modified version of templates/admin/response_popup.html
The response template templates/admin/response_popup.html just returns a simple HTML document with included Javascript from static/admin/js/popup_response.js.  Change this document to call a modified version of this file.
The current version of static/admin/js/popup_response.js just calls the functions dismissAddRelatedObjectPopup() and dismissChangeRelatedObjectPopup() from static/admin/js/admin/RelatedObjectLookups.js.  Instead, call a modified version of these functions that not only adds/modifies the ID and name of the added/changed Location instance, but that also loads in the passed defaultCapacity and room data if it is provided.

I don't have time to take this on immediately, but we should definitely go ahead and get this bug fixed before the rooms branch is merged into master.

Actually, I was able to get this modified and operational.  The associated update has been pushed to the rooms branch.

I think this has been adequately tested on the rooms branch, so I'm closing it.


Dev 2679 rename params in plane

params, and vars renamed to reflect their true content/function

for #2679

slick 👍


jsonschema: now available as a dockerized tool for CI / CD

Hi Julian,
once again i want to thank you for this great validator.
To enable the crowd to easily use jsonschema in CI / CD pipelines i implemented an automated build and release of a docker image, which is available at: https://hub.docker.com/r/freifunkhamm/jsonschema. This docker image is automatically scanned for security vulnerabilities with trivy.
You are warm welcomed to join the release process. If your are interested in it i can grant you direct permissions at https://github.com/Freifunk-Hamm/docker_jsonschema. Just ping me.
Release cycle is very simple:
a) change Dockerfile (new version number)
b) commit and tag commit with version number
c) push
(we use sticky version numbers to have the same result on subsequent build re-runs of the same commit)
Feel free to link it in your github repo / project website.
Alternative:
If you want to create your own namespace/organisation at DockerHub feel free to grap my code and enable automation in your git repo.

Thanks! Will have a look.

Still having a look, thanks again for this, but I had a question about the warning you put there:

Warning: jsonschema is not using the official meta-schema, but patched schema files. If you want to use the official (unpatched) JSON schema meta schemas then you need to cache them. But be warned, the patched jsonschema-version is more closer to the official specs of json schema. We recommend to use the build-in patched meta schemas.

I assume this is related to #641, but what's there to warn about there? The metaschema(s) are non-normative -- what stumbling block exists for someone that the warning is trying to point out? Or put another way, what user would want to do what you mention there (use the "official" meta schema rather than the vendored one)?

True, official JSON schema files are not normative. But they are a kind of quasi-standard.
Most tools use the official JSON schema files. It is a surprice if one tool is using not the official schema files (e.g. a patched one). Documentation should warn about such things, that break the Principle of Least Surprise. If  jsonschema would use the official JSON schema by default, and the patched JSON schema only when requested (e.g. with a --use-improved-schema or something similar), then it would not violate the Principle of Least Surprise.
I am open for text contributions.
BTW: I would love to see a PR for patch No1 and patch No2 to the official JSON schema repo, to let other tools also participate in your findings (improved schema; closer to the specs).

If the tools you're mentioning are using the official meta schemas and not
applying the behavior dictated by the spec, they have bugs, that's
literally what "non-normative" means.
The principle of least surprise doesn't apply here.
But thanks for clarifying.
On Sun, Dec 15, 2019, 13:09 christian-weiss<EMAIL_ADDRESS>wrote:

True, official JSON schema files are not normative. But they are a kind of
quasi-standard.
Most tools use the official JSON schema files. It is a surprice if one
tool is using not the official schema files (e.g. a patched one).
Documentation should warn about such things, that break the Principle of
Least Surprise. If jsonschema would use the official JSON schema by
default, and the patched JSON schema only when requested (e.g. with a
--use-improved-schema or something similar), then it would not violate
the Principle of Least Surprise.
I am open for text contributions.
BTW: I would love to see a PR for patch No1 and patch No2 to the official
JSON schema repo, to let other tools also participate in your findings
(improved schema; closer to the specs).
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Julian/jsonschema/issues/640?email_source=notifications&email_token=AACQQXXYO6LWLINA4DTVODDQYYT7PA5CNFSM4JXNHFVKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEG4YYYI#issuecomment-565808225,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACQQXUCHMW7KNWT6XNHUJLQYYT7PANCNFSM4JXNHFVA
.


Added 2 plugins, qna-coach and actionable-insights.

Features:

QnA Coach – Identifies essential questions that weren't asked during Q&A sessions or interviews, offering a more comprehensive understanding.
Actionable Insights – Extracts specific actions from conversations to improve daily life, focusing on practical steps rather than general advice.
Added icons for each.

Summary by CodeRabbit

New Features

Introduced the "QnA Coach" plugin to enhance understanding of discussions by identifying unasked key questions.
Launched the "Actionable Insights" plugin to extract lessons from conversations and provide specific, actionable advice for daily improvement.

Fixed a misnamed plugin icon, reopening pr.


test&ci: add test for get-plugin-metadata command & add test CI

Signed-off-by: Junjie Gao<EMAIL_ADDRESS>

How can we fix those lint warnings?

I removed the PublishTrimmed from .csproj, so there is no warning now. This config will be added as a flag in CI release script, so we may confront the warning when we do the release. The binary works well, but I will try to find a way to remove the warning. I think this PR should no be blocked by the issue.


bump version for patch release

resolves #

Description

Checklist

[ ] I have read the contributing guide and understand what's expected of me
[ ] I have signed the CLA
[ ] I have run this code in development and it appears to resolve the stated issue
[ ] I have opened an issue to add/update docs, or docs changes are not required/relevant for this PR
[ ] I have run changie new to create a changelog entry

Codecov Report
Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (5c92d15) 52.23% compared to head (c01afc4) 52.23%.

Files
Patch %
Lines

dbt_common/__about__.py
0.00%
1 Missing :warning:

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #79   +/-   ##
=======================================
  Coverage   52.23%   52.23%
=======================================
  Files          49       49
  Lines        2866     2866
=======================================
  Hits         1497     1497
  Misses       1369     1369

Flag
Coverage Δ

unit
52.23% <0.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


enhancement: auth module all pages theme change

auth module all pages theme change

As discussed and checked with @PritamIT2023 closing this issue since it's driven by the theme colors now.


Create this.$vuestic object and add bus to it.

[ ] Сreate $vuestic utility object, which is accessible inside components.
[ ] Add bus to $vuestic object.
[ ] Add documentation with usage examples in .md file

Notes

Create a plugin in vuestic-ui repo.
Implementation example: https://github.com/asvae/vue-epic-bus/blob/master/src/BusPlugin.ts#L13

Usage example
// In created hook:
this.$vuestic.$bus.on('updated', id => {
  console.log(`Item ${this.id} updated`)
})

// Anywhere in the component:
this.$vuestic.$bus.emit('updated', id)

This is likely not relevant anymore.


fix: added prism/dsl styling

Fixed the styling and dsl definition for prism code blocks.
Description
Fixed the styling and dsl definition for prism code blocks.

References
Closes #11
Review Checklist

[ ] I have added documentation for new/changed functionality in this PR or in openfga.dev
[ ] The correct base branch is being used, if not main

I'm into it. I think we could iterate on it, especially when I have a chance to put a little more time into the colour scheme to create a proper scale for the green and cyan, and then rotate to other hues as well. :shipit:


abcoathup add network js doc

First draft of Network.js documentation.
Similar to README currently, so may need to be structured more like a guide with example code?

I haven't got a pattern to handle when there is no Injected Web3 https://github.com/OpenZeppelin/openzeppelin-network.js/issues/16
Also I don't have a working non-react sample

I split the dapp code into four (rather than three), so that I didn't have to start with a component and the code is fairly small, though not sure if it is worth the effort, so could combine the first and second iterations.
I changed the order slightly as had request access before account balance.

Updated based on review.  Thank you :pray:


show some flexbox labels

at least indicate if it's a flex container

Hi @argyleink,
I would really like to contribute to the VisBug project! Mind if I try to help with this one?

yay, do it 👍
i imagined using this component, which is used like this.
You'll also want to update the flexbox tools strategy for getting the currently selected items, right now it's lazy, and you'll want proactive in order to display a label on selection. You can steal that work from here.
pr will tell a story like:

while flexbox tool is active
when user makes a selection, align tool looks at the container(s) and determines if they're flex containers or not
if a flex container is found, create a label

maybe some tests to write or def things to be aware of while testing manually:

[ ] ensure label position stays during edits
[ ] ensure label is removed when the tool is switched or nodes are removed/moved

ping again if you need anything!

@argyleink please checkout the PR here: https://github.com/GoogleChromeLabs/ProjectVisBug/pull/374

Ooops I was trying to make a PR but too late for this 😂

fixed by #374

is there a reason why this issue reopened?

yeah, the PR merged that resolved this ticket was reverted due to it breaking margin/padding tools. so the task is back open, or just pending a resolution to the PR bug!

Ah, I've just read the PR again and figured out what happened. My bad.

fixed by #523


fix: Adding token when installing packages to fix GH package issue

:tada: This PR is included in version 1.6.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Usage with single page app

Hi, I know this plugin aims to generate the static pages but I wonder if there is any documentation around generating the static pages that includes the index.js that will perform as a Single Page App for future requests.
When I add libraryTarget: 'umd' to my output webpack config, I'm not able to use the index.js in my html template.
The work around I'm going for now is having two webpack config file that runs in sequence, one to generate the static page with a index-static.js output that I'm not using at all (not even sure if I will ever use it). The other config is the regular webpack dist with the index.js that I use as the script for single page app.

Never mind, webpack supports exporting an array of config, this is what I'm doing now:
https://github.com/webpack/webpack/blob/master/examples/multi-compiler/webpack.config.js


support sts token

In order to support auth with GitHub OIDC Token. A demo for this method:
https://github.com/mozillazg/alibabacloud-oidc-auth-example-acr-login/actions/runs/3502860240/workflow

Thanks for your contribution


Why [0] was omitted in fn isprojective

Thanks for releasing the code.
I found [0] was omitted in
https://github.com/yzhangcs/crfpar/blob/8abb95f177e5cbf4d7ebc494bcaf9ca15af3e3da/parser/utils/fn.py#L31
However, in yzhangcs/parser, [0] is included in calculation as far as i concerned. Was it a intended behavior? Can you explain the difference between the two scene. Following are yzhangcs/parser references.
https://github.com/yzhangcs/parser/blob/d4559e521ca88a3997337465a3c6d2bce4165d11/supar/utils/transform.py#L259
https://parser.readthedocs.io/en/latest/_modules/supar/utils/transform.html#CoNLL.isprojective
https://github.com/yzhangcs/parser/blob/d4559e521ca88a3997337465a3c6d2bce4165d11/tests/test_transform.py#L43
Thanks in advance

Yes, they are expected.
Actually, the two function are identical. The root position are cut out before fed into the function for api constituency.
https://github.com/yzhangcs/parser/blob/2acbe9a24d9f91097c01b5f473f9f78e467cde34/supar/models/dependency.py#L260
https://github.com/yzhangcs/parser/blob/2acbe9a24d9f91097c01b5f473f9f78e467cde34/supar/utils/transform.py#L272

It makes sense. Thank you for the quick reply.


Display all images of each anime where possible

Currently, all pages can only display one image per anime, but by implementing e.g. carousels all images can be displayed.

As of f1587c8, Bootstrap image carousels are used whenever an anime has more than one image.


Restart does not restore windows to their original spaces

Type: Bug
I usually work with multiple projects, each with its own VSCodes window. When I restart VSCode to update it, the multiple windows are re-opened in the current space, instead of the spaces they originally were. This creates unnecessary effort to re-organize my windows in each space.
VS Code version: Code 1.92.0 (Universal) (b1c0a14de1414fcdaa400695b4db1c0799bc3124, 2024-07-31T23:26:45.634Z)
OS version: Darwin arm64 23.6.0
Modes:

System Info

Item
Value

CPUs
Apple M3 Max (16 x 2400)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: enabled_ondirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_graphite: disabled_offvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabledwebgpu: enabledwebnn: disabled_off

Load (avg)
3, 5, 5

Memory (System)
64.00GB (2.44GB free)

Process Argv
--crash-reporter-id d49e38ce-4860-40cf-8059-5d65c06d0a0f

Screen Reader
no

VM
0%

Extensions (31)

Extension
Author (truncated)
Version

vscode-sqlite
ale
0.14.1

aws-toolkit-vscode
ama
3.18.0

preview-pdf
ana
1.0.0

preview-tiff
ana
1.0.1

solargraph
cas
0.24.1

ruff
cha
2024.36.0

json-tree-view
Cha
3.6.1

gitlens
eam
15.2.3

vscode-great-icons
emm
2.1.105

prettier-vscode
esb
10.4.0

pythonsnippets
frh
1.0.2

copilot
Git
1.219.0

copilot-chat
Git
0.18.1

vscode-pull-request-github
Git
0.92.0

restore-git-branch-tabs
gko
0.4.1

applescript
idl
0.25.1

vscode-plist
ivh
0.1.3

debugpy
ms-
2024.10.0

python
ms-
2024.13.2024080201

jupyter
ms-
2024.7.0

jupyter-keymap
ms-
1.1.2

jupyter-renderers
ms-
1.0.19

vscode-jupyter-cell-tags
ms-
0.1.9

vscode-jupyter-slideshow
ms-
0.1.6

macos-native-copy-paste
qt-
1.2.2

sqlite-viewer
qwt
0.5.11

ruby-lsp
Sho
0.7.14

lua
sum
3.10.1

vscode-counter
uct
3.5.0

vscode-todo-highlight
way
1.0.5

vscode-ruby
win
0.28.0

(2 theme extensions excluded)

A/B Experiments
vsliv368cf:30146710
vspor879:30202332
vspor708:30202333
vspor363:30204092
vscoreces:30445986
vscod805:30301674
binariesv615:30325510
vsaa593:30376534
py29gd2263:31024239
c4g48928:30535728
azure-dev_surveyone:30548225
962ge761:30959799
pythongtdpath:30769146
welcomedialogc:30910334
pythonnoceb:30805159
asynctok:30898717
pythonregdiag2:30936856
pythonmypyd1:30879173
2e7ec940:31000449
pythontbext0:30879054
accentitlementsc:30995553
dsvsc016:30899300
dsvsc017:30899301
dsvsc018:30899302
cppperfnew:31000557
dsvsc020:30976470
pythonait:31006305
dsvsc021:30996838
01bff139:31013167
pythoncenvpt:31062603
a69g1124:31058053
dvdeprecation:31068756
dwnewjupytercf:31046870
2f103344:31071589
impr_priority:31102340
refactort:31108082
ccplt:31103426
pythonrstrctxt:31103193
wkspc-onlycs-c:31106320

Oh, I am sorry @bpasero, I did not use the right keywords when searching through past issues. Anyhow, I think the original issue of which this one is a duplicate is #979 (the duplicate tag is not clear). There has been a lot of discussion there since it was closed, and I'd like to know if this could not be reconsidered. I currently use a custom solution for my own spaces organization, but this seems a bit of an overkill for a problem that happens multiple times per month. Thanks in any case.

We use Electron and have no API to do this, so I suggest you speak up at:

https://github.com/electron/electron/issues/5362
https://github.com/electron/electron/issues/10124
https://github.com/electron/electron/issues/37494


Reapply merge from llvm.org lldb svn trunk, r260951, with fixes

@swift-ci Please test OS X platform
This change restores the merge from llvm.org from Friday, plus
fixes up all the test issues that failed to run and were not
caught by changes to the test infrastructure upstream.
This change enhances the lldb inline test mechanism to only
run debuginfo variants that make sense for the platform.
Previously it always ran all of them.
This change only addresses issues on OS X.  A follow-up commit
will be made to address known-to-exist Linux issues.  I want
to run this change by the OS X pull request testing on the
Swift LLDB CI first, though.
This reverts commit 0c0701210828a9280d4ded63b087efc9cc74003a.

@swift-ci Please test OS X platform

The first-time run of the PR build machinery as configured for LLDB is hitting an internal failure.  I'm checking if I can get that resolved...

@swift-ci Please test Linux platform

I'm having the Linux build tested.  I have it building now, but I'd like that verified by CI.  Also, I am seeing quite a few test failures on Linux that I will need to track down.  I just want to see if there are any discrepancies on the CI vs. what I'm seeing locally.

@swift-ci Please test Linux platform

@swift-ci Please test Linux platform

@tfiala I have fixed the configuration, the build is running now.

@gribozavr - thanks!

The CI Linux build is matching what I was seeing locally:
ERROR: testREPL (repl/recursive_class/TestREPLRecursiveClass.py)
ERROR: testREPL (repl/quicklookobject/TestREPLQuickLookObject.py)
ERROR: testREPL (repl/pounwrapping/TestPOUnwrapping.py)
ERROR: testREPL (repl/lazy_reverse/TestLazyReverse.py)
ERROR: testREPL (repl/basic/TestREPLBasic.py)
ERROR: testREPL (repl/func_definition/TestREPLFunctionDefinition.py)
ERROR: testREPL (repl/multilevelarrays/TestMultilevelArrays.py)
ERROR: testREPL (repl/closures/TestREPLClosure.py)
ERROR: testREPL (repl/dictionary/TestREPLDictionary.py)
ERROR: test_dwarf (functionalities/data-formatter/data-formatter-stl/libcxx/atomic/TestLibCxxAtomic.py)
ERROR: test_dwo (functionalities/data-formatter/data-formatter-stl/libcxx/atomic/TestLibCxxAtomic.py)
ERROR: [EXCEPTIONAL EXIT 11 (SIGSEGV)] test_in_out_variables_dwarf (lang/swift/variables/inout/TestInOutVariables.py)
ERROR: [EXCEPTIONAL EXIT 11 (SIGSEGV)] test_ivars_in_generic_expressions_dwarf (lang/swift/expression/generic/TestSwiftGenericExpressions.py)
ERROR: [EXCEPTIONAL EXIT 11 (SIGSEGV)] test_simple_swift_expressions_dwarf (lang/swift/expression/simple/TestSimpleExpressions.py)
ERROR: [EXCEPTIONAL EXIT 11 (SIGSEGV)] test_swift_stdlib_dictionary_dwarf (lang/swift/variables/dictionary/TestSwiftStdlibDictionary.py)
ERROR: [EXCEPTIONAL EXIT 11 (SIGSEGV)] test_swift_type_lookup_dwarf (lang/swift/printdecl/TestSwiftTypeLookup.py)
ERROR: [EXCEPTIONAL EXIT 11 (SIGSEGV)] test_with_dwarf (lang/swift/po_recursive/TestSwiftPORecursiveBehavior.py)
ERROR: [EXCEPTIONAL EXIT 11 (SIGSEGV)] test_with_dwarf (lang/swift/variables/generic_struct_debug_info/generic_array/TestSwiftGenericStructDebugInfoGenericArray.py)
ERROR: [EXCEPTIONAL EXIT 11 (SIGSEGV)] test_with_dwarf (lang/swift/po/val_types/TestSwiftPOValTypes.py)
ERROR: [EXCEPTIONAL EXIT 11 (SIGSEGV)] test_with_dwarf (lang/swift/variables/generic_struct_debug_info/generic_flatmap/TestSwiftGenericStructDebugInfoGenericFlatMap.py)
ERROR: [EXCEPTIONAL EXIT 11 (SIGSEGV)] test_with_dwarf (lang/swift/po/ref_types/TestSwiftPORefTypes.py)
ERROR: [EXCEPTIONAL EXIT 11 (SIGSEGV)] test_with_dwarf (lang/swift/variables/generic_struct_debug_info/generic_apply/TestSwiftGenericStructDebugInfoGenericApply.py)
I'm going to try to knock those out today.

@swift-ci Please test OS X platform

Hey Dmitri - are you able to see the OS X pull request builders?  We had a similar problem there where it failed to kick off the build after the code sync.  Also, it seemed to ignore my request a couple hours ago to build the OS X side.

@swift-ci Please test OS X platform

The LLDB OS X Pull Request infrastructure is still not functioning correctly.  It bails after syncing source.

Checking the Linux build after the seg fault fixup.
@swift-ci Please test Linux platform

@swift-ci Please test Linux platform

Fixing the segfault on Ubuntu 15.10 x86_64 gets us to a still-broken but less extreme set of issues (no more lldb crashes):
=============
Issue Details
=============
FAIL: test_in_out_variables_dwarf (lang/swift/variables/inout/TestInOutVariables.py)
FAIL: test_in_out_variables_dwo (lang/swift/variables/inout/TestInOutVariables.py)
FAIL: test_ivars_in_generic_expressions_dwarf (lang/swift/expression/generic/TestSwiftGenericExpressions.py)
FAIL: test_ivars_in_generic_expressions_dwo (lang/swift/expression/generic/TestSwiftGenericExpressions.py)
FAIL: test_simple_swift_expressions_dwarf (lang/swift/expression/simple/TestSimpleExpressions.py)
FAIL: test_simple_swift_expressions_dwo (lang/swift/expression/simple/TestSimpleExpressions.py)
FAIL: test_swift_stdlib_dictionary_dwarf (lang/swift/variables/dictionary/TestSwiftStdlibDictionary.py)
FAIL: test_swift_stdlib_dictionary_dwo (lang/swift/variables/dictionary/TestSwiftStdlibDictionary.py)
FAIL: test_swift_type_lookup_dwarf (lang/swift/printdecl/TestSwiftTypeLookup.py)
FAIL: test_swift_type_lookup_dwo (lang/swift/printdecl/TestSwiftTypeLookup.py)
FAIL: test_with_dwarf (lang/swift/po_recursive/TestSwiftPORecursiveBehavior.py)
FAIL: test_with_dwarf (lang/swift/variables/generic_struct_debug_info/generic_array/TestSwiftGenericStructDebugInfoGenericArray.py)
FAIL: test_with_dwarf (lang/swift/po/val_types/TestSwiftPOValTypes.py)
FAIL: test_with_dwarf (lang/swift/variables/generic_struct_debug_info/generic_flatmap/TestSwiftGenericStructDebugInfoGenericFlatMap.py)
FAIL: test_with_dwarf (lang/swift/po/ref_types/TestSwiftPORefTypes.py)
FAIL: test_with_dwarf (lang/swift/variables/generic_struct_debug_info/generic_apply/TestSwiftGenericStructDebugInfoGenericApply.py)
FAIL: test_with_dwo (lang/swift/variables/generic_struct_debug_info/generic_apply/TestSwiftGenericStructDebugInfoGenericApply.py)
FAIL: test_with_dwo (lang/swift/variables/generic_struct_debug_info/generic_array/TestSwiftGenericStructDebugInfoGenericArray.py)
FAIL: test_with_dwo (lang/swift/variables/generic_struct_debug_info/generic_flatmap/TestSwiftGenericStructDebugInfoGenericFlatMap.py)
FAIL: test_with_dwo (lang/swift/po_recursive/TestSwiftPORecursiveBehavior.py)
FAIL: test_with_dwo (lang/swift/po/ref_types/TestSwiftPORefTypes.py)
FAIL: test_with_dwo (lang/swift/po/val_types/TestSwiftPOValTypes.py)
ERROR: testREPL (repl/quicklookobject/TestREPLQuickLookObject.py)
ERROR: testREPL (repl/pounwrapping/TestPOUnwrapping.py)
ERROR: testREPL (repl/lazy_reverse/TestLazyReverse.py)
ERROR: testREPL (repl/basic/TestREPLBasic.py)
ERROR: testREPL (repl/func_definition/TestREPLFunctionDefinition.py)
ERROR: testREPL (repl/multilevelarrays/TestMultilevelArrays.py)
ERROR: testREPL (repl/closures/TestREPLClosure.py)
ERROR: testREPL (repl/dictionary/TestREPLDictionary.py)
ERROR: test_dwarf (functionalities/data-formatter/data-formatter-stl/libcxx/atomic/TestLibCxxAtomic.py)
ERROR: test_dwo (functionalities/data-formatter/data-formatter-stl/libcxx/atomic/TestLibCxxAtomic.py)

@swift-ci Please test OS X platform

@tfiala Fixed it!

@gribozavr - thanks, Dmitri!

Sean Callanan and I are working on the Ubuntu 15.10 side this morning.  Hope to have this resolved soon.

We've cleaned up a number of the Ubuntu 15.10 issues with 15284c99138f58c49cea68c91b28a1f7fc449f78.  Verifying ci.swift.org Linux builder concurs that we're down from ~32 to ~13 issues now.

@swift-ci Please test

Ah well now this is very interesting - with top of tree github swift-lldb against latest swift-clang, swift-llvm and swift, we are now getting 10 of these 13 failures.  (i.e. 10 of these are failing with swift-lldb master against latest swift master, clang stable and llvm stable):
FAIL: test_dwarf (functionalities/watchpoint/step_over_watchpoint/TestStepOverWatchpoint.py)
FAIL: test_dwo (functionalities/watchpoint/step_over_watchpoint/TestStepOverWatchpoint.py)
FAIL: test_generic_expressions_dwarf (lang/swift/expression/generic/TestSwiftGenericExpressions.py)
FAIL: test_generic_expressions_dwo (lang/swift/expression/generic/TestSwiftGenericExpressions.py)
FAIL: test_genericresolution_commands_dwarf (lang/swift/generics/TestSwiftGenericsResolution.py)
FAIL: test_genericresolution_commands_dwo (lang/swift/generics/TestSwiftGenericsResolution.py)
FAIL: test_ivars_in_generic_expressions_dwarf (lang/swift/expression/generic/TestSwiftGenericExpressions.py)
FAIL: test_ivars_in_generic_expressions_dwo (lang/swift/expression/generic/TestSwiftGenericExpressions.py)
ERROR: [EXCEPTIONAL EXIT 6 (SIGABRT)] test_expressions_in_class_functions_dwarf (lang/swift/expression/static/TestSwiftExpressionsInClassFunctions.py)
ERROR: [EXCEPTIONAL EXIT 6 (SIGABRT)] test_with_dwarf (lang/swift/partially_generic_func/class/TestSwiftPartiallyGenericFuncClass.py)

Jim Ingham, Adrian Prantl and I looked into the generics test issues.  We've got bad line table content for the Swift generics metadata setup code - the setup calls haven't completed by the first valid line within a function.  Thus, the type information is not known when it should be on Ubuntu 15.10.  This is happening irrespective of the swift-lldb code as it is a line table generation issue.
I'm going to mark the ones failing as XFAIL blocked on the code generation bug.
This leaves us with these failures unique to the merge on Ubuntu 15.10:
ERROR: test_dwarf (functionalities/data-formatter/data-formatter-stl/libcxx/atomic/TestLibCxxAtomic.py)
ERROR: test_dwo (functionalities/data-formatter/data-formatter-stl/libcxx/atomic/TestLibCxxAtomic.py)
ERROR: testREPL (repl/pounwrapping/TestPOUnwrapping.py)

I'm going to verify what I am seeing locally on the builders, get those errors marked up and blocked on some JIRA tickets, pull in the xfails, and work on the remaining merge-specific issues.

@rjmccall can describe what's changed with code generation

Thanks, Doug!

I just put up a change to swift-lldb master to clean up the Ubuntu failures here:
96dc9d5a4d5e0ac46c1b4d7ec9766a587e2ab810
(After reverting some other changes from earlier in the day on the swift repo that were breaking the LLDB build).
Once I get confirmation that the Ubuntu builds are back to green, I'll pull them into the merge branch here and see what's left that's newly broken by the merge, and get those fixed up.

After merging in the "get the Ubuntu CI green" change above, I'm locally seeing only 3 remaining failures related to the merge on Ubuntu 15.10.  Testing that with the CI next.

@swift-ci Please test

Build check on Ubuntu 14.04 verified what I'm seeing.  I'm looking into those 3 merge-specific, Ubuntu-specific issues:
ERROR: testREPL (repl/pounwrapping/TestPOUnwrapping.py)
ERROR: test_dwarf (functionalities/data-formatter/data-formatter-stl/libcxx/atomic/TestLibCxxAtomic.py)
ERROR: test_dwo (functionalities/data-formatter/data-formatter-stl/libcxx/atomic/TestLibCxxAtomic.py)

Investigated test failures.  Two should have been skipped wholesale - they were trying to use libc++ under the premise that when there's clang, there's libc++ (false).  The other requires somebody to look into, but isn't catastrophic and shouldn't hold the merge.  (Optionals that are nil getting printed as 0/empty string on Linux).  Bug filed for it.

@swift-ci Please test

@swift-ci Please test


Create a Well Documented README.md for set up process

A lot have been complaining that the set up process is complex, especially involving MongoDB, so I'm making this an issue to get it resolved as soon as possible so people can start using it

I had similar issues with setup of the collections rank.
Running the trading_client.py during market hours for the FIRST TIME leads to an error as it cannot find the ranks collection in trading_simulator database.
Maybe we can fix that by assigning inital ranks in setup.py

completed


Why only one previous word is used as input when predict the current word

I have a question and would greatly appreciate your help! In the UnitY paper, the translation process is conducted in an autoregressive manner, where each prediction of the next word utilizes all previously predicted words. This is illustrated here:

However, in the actual implementation, why is only the previous word used as input each time? This is demonstrated here: code
# fairseq2/generation/beam_search.py
 def _step(self) -> bool:
        # Generate the next step output.
        model_output = self._decode(self.seqs[:, self.step_nr - 1 : self.step_nr])  # here

        self.state_bag.increment_step_nr()

        logits = model_output.logits

Hey @KeepSilentNow, the state (to be specific the key/value attention values of previous steps) is preserved in state_bag (see the next statement after self._decode() in your code snippet). We call this incremental decoding and it is performed as a performance optimization that significantly speeds up inference. Technically the next input still utilizes all previously predicted outputs, but instead of repeatedly performing the same operations on identical past inputs, we cache their intermediate states and reuse them at each step.

Closing for now. Feel free to reopen if you have further questions.

Understood. Thank you very much.


Allow EnsembleFrame.compute to Trigger Object-Source Table Syncing

When Ensemble.object.compute() or Ensemble.source.compute() are called we would like to give the Ensemble a chance to perform an Object-Source table sync prior to computing the result.
Some previously tested workflows had other functions triggering syncs at the appropriate times (such as Ensemble.batch) or were using Ensemble.compute(). Now calling EnsembleFrame.compute should trigger any potential syncing for the tracking Ensemble.
Currently, we're preserving both the refactored EnsembleFrame API and the Ensemble API, so with this change I also update several unit tests to be parameterized to use both the refactored and 'legacy' methods (both Ensemble.compute and EnsembleFrame.compute, bothEnsemble.dropna and EnsembleFrame.dropna, etc.) This is a bit awkward, and should be removed once the old API is deprecated.

Thank you, this has a perfect sense!
Please note, that GH actions didn't run for some reason. If they would run, they probably would detect a problem with syntax errors in test_ensemble.py and fail.
I have a general question: why do we care about object and source table synchronization and do not care about other frames?
I believe it adds a lot of implicitness. Let's say that I created a new "source" frame (it is "source" by semantics, not literarily Ensemble.source), accidentally or for purpose. How do I synchronies it to the object table?

The short version, is that this was part of the initial design, with an Ensemble.link_frames(frame1, frame2) method. This would allow any arbitrary frame to be synced the way Object and Source are. Since there isn't immediate demand this is unimplemented, but have filed https://github.com/lincc-frameworks/tape/issues/297 to track that feature.


在loong64架构平台 一运行就报错

Received signal 7 BUS_ADRERR 4600f800035f00
#0 0x00aab3d9b8d8 base::debug::CollectStackTrace()
#1 0x00aab3d8317c base::debug::StackTrace::StackTrace()
#2 0x00aab3d9b790 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#3 0x00ffff8488a0 ([vdso]+0x89f)
#4 0x00ff63ff9780
#5 0x00aab0ddcf7c v8::internal::(anonymous namespace)::HandleApiCallHelper<>()
#6 0x00aab0ddc80c v8::internal::Builtins::InvokeApiFunction()
#7 0x00aab0ece9fc v8::internal::(anonymous namespace)::Invoke()
#8 0x00aab0ecf828 v8::internal::Execution::New()
#9 0x00aab0d7dbd4 v8::Function::NewInstanceWithSideEffectType()
#10 0x00aab0d7d83c v8::Function::NewInstance()
#11 0x00ff63fedf00
#12 0x00aab1d0b2d0 Builtins_CallApiCallbackGeneric
[end of stack trace]

Can you provide more information about what you are trying to do? Which NodeJS / Electron version are you using. How does the code looks like, that can reproduce the exception?
Also, please note, the loong64 architecture is not covered with prebuilt binaries. That means you would have to setup a proper build tool chain for rebuilding better-sqlite3. While (cross-)compilation is working, there may still be adjustments required for running on loong64.

使用的是 electron+better-sqlite3
version:
electron:26.4.3
better-sqlite3 :9.6.0
注意是loong64架构平台
代码:
import { app, shell, BrowserWindow } from 'electron'
import { join } from 'path'
import { electronApp, optimizer, is } from '@electron-toolkit/utils'
import icon from '../../resources/icon.png?asset'

import Database from 'better-sqlite3'
import os from 'os'
function createWindow() {
  // Create the browser window.
  const mainWindow = new BrowserWindow({
    width: 900,
    height: 670,
    show: false,
    autoHideMenuBar: true,
    ...(process.platform === 'linux' ? { icon } : {}),
    webPreferences: {
      preload: join(__dirname, '../preload/index.js'),
      sandbox: false
    }
  })

  mainWindow.on('ready-to-show', () => {
    mainWindow.show()
  })

  mainWindow.webContents.setWindowOpenHandler((details) => {
    shell.openExternal(details.url)
    return { action: 'deny' }
  })

  if (is.dev && process.env['ELECTRON_RENDERER_URL']) {
    mainWindow.loadURL(process.env['ELECTRON_RENDERER_URL'])
  } else {
    mainWindow.loadFile(join(__dirname, '../renderer/index.html'))
  }
}

app.whenReady().then(() => {
  // Set app user model id for windows
  electronApp.setAppUserModelId('com.electron')
  app.on('browser-window-created', (_, window) => {
    optimizer.watchWindowShortcuts(window)
  })
  async function exec() {
   try {
    let dbPath =join(os.homedir(), "/cdi_Client/cloudlnk.config");
    const db =new Database(dbPath, {
      verbose: (msg) => dbLogger.info(`[DB]: ${msg}`)
    })
    const result =await db.prepare("SELECT * FROM t_local_setting").all()

    console.log('res: ', result);
   } catch (error) {
     console.log('error: ', error);

   }
  }
  exec();
  createWindow()

  app.on('activate', function () {
    if (BrowserWindow.getAllWindows().length === 0) createWindow()
  })
})

app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    app.quit()
  }
})

The loong64 is not supported by this library currently: the biggest hurdle is that docker run --platform would need to support something like linux/loong64.
I could mark this as an enhancement, I think I'll just close this, and when docker support is added, and a way to validate the build using emulation is provided, we can accept a PR to add this to the test and prebuild matrices.


Support for JSON filters

like this (including path etc.)
Any workaround to get over specific filter for now? really need this for my unit tests

Json support has been added in version 0.7.0


chore: lock caip package

Description
The CAIP package change, https://github.com/shapeshift/lib/pull/625, was published as a patch release (2.5.1), but it should have been a major version bump - develop is partially broken due to this.
This PR locks @shapeshiftoss/caip to 2.5.0, the last non-breaking version of the package.
Notice

[x] Have you followed the guidelines in our Contributing guide?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

Pull Request Type

[x] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[ ] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[ ] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)
N/A
Risk
Minimal.
Testing
yarn build should execute with no errors.
Screenshots (if applicable)
N/A

Also noting that we'll unpin this version in the web PR that handles the breaking change.


fixes for initialization

(Where'd Travis come from? I don't see a .travis.yml... Going to ignore it!)

Here's how I've now configured my test app for Jaeger:
settings.py:
MIDDLEWARE_CLASSES = [
    'django_opentracing.OpenTracingMiddleware',
...
]
OPENTRACING_TRACE_ALL = True
OPENTRACING_TRACER_CALLABLE = 'example_project.local_settings.tracer'

example_project/local_settings.py:
def tracer():
    from jaeger_client import Config
    return Config(config={}, service_name='test').initialize_tracer()

@bhs Not waiting for anyone else.
I've tested it with my example project with Jaeger, and it seems fine.
I've just made a minor change to the docs given #11 to make it clear that the example parameters are just that

Great -- keys do that then merge this. Thanks!
On Fri, Dec 22, 2017 at 2:37 AM Mike Bryant<EMAIL_ADDRESS>wrote:

@bhs https://github.com/bhs Not waiting for anyone else.
I've tested it with my example project with Jaeger, and it seems fine.
I've just made a minor change to the docs given #11
https://github.com/opentracing-contrib/python-django/issues/11 to make
it clear that the example parameters are just that
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/opentracing-contrib/python-django/pull/9#issuecomment-353571541,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACJbISDDE5xFGbKP_Vbfq5zUiVc-FYGeks5tC4Z4gaJpZM4RHJUA
.

@bhs Sorry, I meant I have done that :)
It's ready for merge

I tested it and it seems to work fine, what else do we need to get this merge and release?

@mikebryant @zkanda apologies for the delay – my overall github notifications situation is very grim! Merged. I will attempt a release now (assuming the scripts still work).

@mikebryant @zkanda would either of you be willing to become (co-)owners on pypi for this? The setup.py is apparently out of date in some way(*) and thus I can't publish this artifact using the script here (which I did not write).
Let me know. At the moment the release is blocked on finding someone who understands pypi well enough to fix this (probably really trivial).
(*): I really should not be maintaining this as I (1) am far from a python expert, and (2) am struggling to keep up with my various "notification streams", meaning that simple improvements like this take way too long to merge.

@bhs I would be happy to help maintain this.
My Pypi account is LeaChim
I'm also happy to get this setup with continuous integration, Travis etc, to enable automated releases and testing. (might also need github access to change Web hook settings for that)

@mikebryant that's awesome. Unfortunately I am not an owner on the django-OT package... I've emailed Kathy Camenzind who is an owner there and will grant you privs once she gets back to me.
In the meantime I've made you an owner on this github repo... at least I can control that part. :)

@mikebryant all done:


Handle byes and forfeits in JaVaFo interface

This isn't necessary for the team tournament (since teams can't get byes etc., only individuals), but will be needed for lone wolf pairing.

I've fixed this in the JavafoInstance class (though no code needs it yet).
For byes, set "opponent=None" on the JavafoPairing.
For forfeits, set "forfeit=True" on the JavafoPairing. However, I'm pretty sure this is unnecessary and doesn't affect the pairings.

I believe forfeits do affect the pairings. JavaFo will try not to pair people that have played previously, and this tells JavaFo that they did not play.
In our case (lonewolf specifically) it's interesting, because the reason why they didn't play might be important. If they were unable to reach an agreement on a time to play, we shouldn't pair them again.  If they forfeited because something came up and it's a random occurrence, then pairing them again can make sense.
We had a situation last season where two players were paired, were unable to find a common time, each received half a point, and then were paired again because they had not played each other.

That's a good point. The code has the capability in any case.
Funnily enough, it probably would have handled that situation correctly, since the transfer format has no concept of a "forfeit draw".


Configuration Question

cat ../var/config/rest/iapps/f5-telemetry/version -->  1.25.0-2
Our intention is to facilitate F5 telemetry streaming to Kafka servers. For that we have installed the RPM file on our BIG IP and have enabled the stream profile and http analytics profile to a Virtual server for testing. The REST API declaration is as follows:
{
"class": "Telemetry",
"My_System": {
"class": "Telemetry_System",
"systemPoller": {
"interval": 60
}
},
"My_Listener": {
"class": "Telemetry_Listener",
"port": 6514
},
"My_Consumer": {
"class": "Telemetry_Consumer",
"type": "Kafka",
"host": "test.com",
"protocol": "binaryTcpTls",
"allowSelfSignedCert": true,
"port": 6667,
"topic": "JSON_F5_Telemetry"
},
"controls": {
"class": "Controls",
"logLevel": "info"
}
}
We tried to manipulate multiple parameters in the declaration but nothing seems to help get info onto Kafka. Firewall rules are allowed and we are able to see traffic allowed to the host in the declaration. If we could get some assistance on where we are doing it wrong it will help us to achieve what is desired.

Do you see any error output in /var/log/restnoded/restnoded.log?

Wed, 16 Feb 2022 15:04:20 GMT - severe: [telemetry.Kafka.f5telemetry_default::My_Consumer] error: TopicAuthorizationFailed
Wed, 16 Feb 2022 15:05:42 GMT - warning: [telemetry.f5telemetry_default::My_System::SystemPoller_1.timer] SlidingTimer: configured interval of 60s., but took 90.859s.
Wed, 16 Feb 2022 15:05:42 GMT - info: [telemetry] Total Memory Provisioned (node process): 1433 MB. Memory Threshold: 1290 MB (90%)
Wed, 16 Feb 2022 15:05:42 GMT - info: [telemetry] Monitor checks updated. Interval: 15s | Memory Threshold: 1290 MB

It looks like further authentication is needed. Have you tied setting the authentication settings (authenticationProtocol, username, password, privateKey, clientCertificate, rootCertificate) to match your Kafka configuration?

Thank you.. I will work on that.


Dynamic markdown links RFC

https://twitter.com/CodeWithCaen/status/1761810371063497098

ChatGPT Response to RFC Proposal: Dynamic Markdown Links in HydePHP

Benefits:

Convenience and Flexibility: The proposed dynamic Markdown links offer a convenient way to create links and embed media assets within pages and posts without worrying about the underlying URL structure. This convenience enhances the developer experience, aligning with HydePHP's goal of convention over configuration.

Compatibility: By integrating link resolution into the Markdown processor, Hyde ensures compatibility across different rendering modes, whether it's standard Markdown, custom HTML, or Blade templates. This feature promotes consistency and simplifies the development process.

Intuitiveness: The syntax options presented in the RFC prioritize intuitiveness, allowing developers to quickly grasp and utilize dynamic linking capabilities. This aligns well with Hyde's principle of least astonishment, fostering a smooth learning curve for new users.

Drawbacks:

Syntax Ambiguity: While intuitiveness is a primary concern, it's crucial to avoid ambiguity in syntax. Some proposed alternatives may introduce ambiguity, potentially leading to unexpected behavior or errors. Careful consideration is needed to strike a balance between simplicity and clarity.

Potential for Overhead: Depending on the implementation, there might be additional overhead involved in resolving dynamic links during Markdown processing. This overhead could impact performance, especially in scenarios with a large number of links or complex routing configurations.

Syntax Improvement:
Considering the DX goals of HydePHP, the syntax should prioritize clarity, conciseness, and unambiguousness. While all proposed syntaxes have their merits, Syntax 1 appears to strike the best balance between these criteria:
[Home](hyde::route('home'))
![Image](hyde::media('image.png'))

This syntax maintains clarity by clearly delineating Hyde-specific functionality (hyde::) while also being concise and intuitive. It's easily memorable and aligns well with existing conventions in the HydePHP ecosystem.

Recommendation:
Given the benefits of dynamic Markdown links in enhancing developer experience and content management capabilities, along with the proposed syntax improvement, it's recommended to proceed with the RFC for implementation. However, it's crucial to address potential ambiguities and assess any performance implications during the implementation phase. Additionally, thorough documentation and examples should accompany the feature to assist users in understanding and leveraging its full potential.

In conclusion, the proposed dynamic Markdown links feature aligns well with HydePHP's goals and offers significant advantages in content management. With careful attention to syntax clarity and performance considerations, integrating this functionality would be a valuable addition to HydePHP's feature set.

Looking back at this, using my favourite syntax: [Home](hyde::route('home'))

Pro: Can link to dynamic routes
Pro: Syntax matches the PHP Hyde facade
Pro: Cannot think of any security vulnerabilities, as it will only resolve existing routes to the local application
Con: Decreased portability (won't work when migrating to other SSGs, or viewing on GitHub)
Con: Increased complexity
Con: New syntax to remember

Had another syntax idea. Just linking to the source files, and rewriting them to the real routes.
<!-- Resolving a page route -->
[Home](/_pages/404.blade.php)

<!-- Resolving a media asset -->
![Logo](/_media/logo.svg)

This way we actually get real syntax highlighting.


Trying to get in touch regarding a security issue

Hey there!
I'd like to report a security issue but cannot find contact instructions on your repository.
If not a hassle, might you kindly add a SECURITY.md file with an email, or another contact method? GitHub recommends this best practice to ensure security issues are responsibly disclosed, and it would serve as a simple instruction for security researchers in the future.
Thank you for your consideration, and I look forward to hearing from you!
(cc @huntr-helper)

Hey @zidingz — please email<EMAIL_ADDRESS>Thanks.

@zidingz 63e85a9c5539645acd2760e8d70da5abcf7179dd

Awesome, thanks!


Prototype of ipyniivue using anywidget

Hi there!
@jens-ox reached out to me on Twitter and asked for tips to connect nivvue to Jupyter.
I just had some time playing around with this library and came up with this prototype using anywidget and react:
https://github.com/kolibril13/anywidget-ipyniivue  (example notebook in repo)
pip install anywidget_ipyniivue
https://github.com/niivue/ipyniivue/assets/44469195/08c3d466-1ca1-44cf-a57d-9e2203c3d335
Here's how the widget backend is defined:
https://github.com/kolibril13/anywidget-ipyniivue/blob/0d39d180b1dcb1d9b139e11a914366174436e513/src/anywidget_ipyniivue/__init__.py#L13-L17
and here's how the frontend is defined:
https://github.com/kolibril13/anywidget-ipyniivue/blob/main/js/widget.jsx

@kolibril13 , this looks great! I just ran it in a notebook locally and it worked well :). I think this approach significantly simplifies the development of the jupyter notebook integration.
I think the tricky part will be waiting for asynchronous NiiVue functions (for example: loadVolumes).
Also, it would be useful to keep NiiVue setter/getter methods in sync with the python API. Maybe a useful approach would be to develop the jupyter notebook integration in the same repo as the niivue package. Then we could share config files etc that keep the python API and the Javascript API in sync as NiiVue development moves forward (exact implementation TBD). So instead of setting w.value = "https://niivue.github.io/niivue-demo-images/mni152.nii.gz" the Python API would match the NiiVue API and it could look like this: w.loadVolumes([{"url", "https://niivue.github.io/niivue-demo-images/mni152.nii.gz"}])
What do you think?
We have a NiiVue development group meeting on 10th Jan at 3pm (London TZ). You're welcome to join and we can add this to the discussion. Email me at<EMAIL_ADDRESS>for an invite.

Some preliminary thoughts. I don't know this framework, so some of my assumptions may be wrong.
Looking at the code, it seems like it is a state-based system, where state variables are created and then synchronized automatically between the Python and the JS side. From Python's side, I assume the "on_change" callback from the traitlet variables get triggered when theit values are updated. So, it looks like, on the Python side, state variables are updated and the framework takes care of updating the JS side accordingly. It is not clear to me how this can be extended to the re-use of JS functions from the Python side. Wrapping JS-side functions in Python (rather than just mapping the base arguments) might be desirable to avoid having to recreate the logic of these functions on the Python side. I am not sure if doing so requires circumventing the mechanisms used by anywidget and will cause the sync issues to pop back.
@kolibril13 The issues with waiting for asynchronous function have not been discussed consistently in one single issue, but are are the roots of many of the issues currently open. Issue #38 is probably a good example.

@kolibril13 This post also captures well the issue: https://discourse.jupyter.org/t/synchronously-call-javascript-function-from-python/10059

Wrapping JS-side functions in Python (rather than just mapping the base arguments) might be desirable to avoid having to recreate the logic of these functions on the Python side

Not sure I understand what you mean by this. Can you maybe give a minimal example?

@kolibril13 I meant the same thing that @hanayik said, i.e., using a function call (w.loadVolumes([{"url", "https://niivue.github.io/niivue-demo-images/mni152.nii.gz"}])) instead of an attribute update (i.e., w.value = "https://niivue.github.io/niivue-demo-images/mni152.nii.gz").

Note for example that the current structure does not allow loading multiple volumes since the arguments of loadVolumes is built on JS side:
https://github.com/kolibril13/anywidget-ipyniivue/blob/0d39d180b1dcb1d9b139e11a914366174436e513/js/widget.jsx#L11-L16


No protocol specified segmentation fault

Just installed scrcpy on my Ubuntu 18.04 machine using snap, v1.9. I have usb debugging turned on my Moto G6, and the device says it's connected properly. When I run scrcpy I get an error about protocol and a segmentation fault:
me@me-ubuntu:~$ scrcpy
* daemon not running; starting now at tcp:5037
* daemon started successfully
/usr/local/share/scrcpy/scrcpy-server....shed. 3.0 MB/s (22470 bytes in 0.007s)
No protocol specified
Segmentation fault (core dumped)

Let me know if there is additional info I can dump.

I think the segmentation fault is on the device side.
Are there more logs in adb logcat? What is the device and Android version?

Oh, it seems No protocol specified comes from X: https://unix.stackexchange.com/questions/209746/how-to-resolve-no-protocol-specified-for-su-user
So aybe a snap issue? cc @sisco311

I am connected to the Linux box via VNC, would that affect X?

Actually, after looking at your link, the fix was fairly easy, just
xhost +

From what I understand, there was an issue with which user was allowed xhost access. Thanks @rom1v !

:+1:
I'm still interested in where the segfault come from? In particular, is scrcpy assuming that something is ok while it's not, or does it crash in some non-scrcpy related code?
(if you know how to build in debug mode and execute scrcpy in gdb, we'll get the answer :wink:)

It's an issue with the snap package. I don't use VNC, but I was able to create a similar scenario by un-setting the DISPLAY variable.
Here is the output of run x and /snap/bin/scrcpy
And here is the output of journalctl when the snap is segfaulting.

I was able to reproduce this. Uninstalling the snap and re-instaling it resulted in the tool to work again.

I was also able to reproduce this in a xubuntu VM hosted using Proxmox.
The link in the unix stackexchange did the trick!

Sent from my Huawei phone-------- Original Message --------Subject: Re: [Genymobile/scrcpy] No protocol specified segmentation fault (#639)From: wcypierre To: Genymobile/scrcpy CC: Subscribed
I was also able to reproduce this in a xubuntu VM hosted using Proxmox.
The link in the unix stackexchange did the trick!
—You are receiving this because you are subscribed to this thread.Reply to this email directly, view it on GitHub, or unsubscribe.

Same Ubuntu 18 here; I realized that I was in sudo mode.
With exit and running scrcpy again all worked.


sGYD Integration + Deployment

Description
This PR adds an integration and deployment script for the staked gyroscope yield source.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>8
Details

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

Totals

Change from base Build<PHONE_NUMBER>7:
0.0%

Covered Lines:
2763

Relevant Lines:
3112

💛  - Coveralls


Omni for Prism.js

Add a new theme to the organization
If you have already created a theme, make sure you check the following requirements:

[x] The theme follows the template;
[x] The theme follows the Omni Color Palette;
[x] The branch name is main (we will keep this name pattern from now on);
[x] The theme has correct instructions on how to install it;
[x] The repository name is lowercase and contains just the application name. E.g. visual-studio-code.

Application: Prism.js
Application URL https://prismjs.com/
GitHub URL: https://github.com/martins-rafael/prismjs

Hey @ diego3g, I adjusted this, but the colors don’t match perfectly, because the VSCode themes are much more granular than the Prisma themes.
See the side-by-side comparison:
JavaScript

HTML

CSS

I invited you to be part of the Omni Organization so you we can create a new repository for the Prism theme :)
Thanks <3

I made the transfer the repository and opened a PR to add the theme to the main one :rocket:


The published test results comment has an incorrect duration

The published test results comment has an incorrect duration.
Below is YAML config:
- name: Publish Test Results
  uses<EMAIL_ADDRESS>  id: test-results
  if: always()
  with:
    junit_files: "test-results/**/*.xml"
    pull_request_build: "commit"
    time_unit: "seconds"

- name: Title
  run: echo "Conclusion is ${{ fromJSON( steps.test-results.outputs.json ).title }}"

- name: Summary
  run: echo "Conclusion is ${{ fromJSON( steps.test-results.outputs.json ).summary }}"

Below is the current test result comment, the duration shown is 4s but the actual duration is more than 5m.
Test Results
2 885 tests   2 740 :heavy_check_mark:  4s :stopwatch:
   323 suites     145 :zzz:
   323 files           0 :x:
Results for commit 6f76f203.
[test-results]:data:application/gzip;base64,H4sIABdL82IC/12MTQ7CIBgFr9KwdsE/H17GIIWE2BZDYdV4d6FqIC5n3sscyIfF7eg6McouE9pLyAPOJZkc4lYFr1in3EYKIH5424u1zSmOu3uEZ3WE95s3Yamqf1xKMX1NKtvQbfSX/aixepohevLYtHFdQ66ApFfSU8yEcxy0BAcMtNZu1uQOXGAAYpSnFr3eXd0pSA8BAAA=
:recycle: This comment has been updated with latest results.
I also generated the JSON output to review the results, I have added the title and summary output below.
title: All 2 740 tests pass, 145 skipped in 4s
summary: 2 885 tests  ±0   2 740 :heavy_check_mark: ±0   4s :stopwatch: ±0s
To reproduce the issue - I have attached the test-results.zip file which contains the same JUnit XML files I used to publish the result.
test-results.zip

Thanks for reporting.
The zip file contains 6736 XML files but the action reports only 323 files. Did the action find all files? What does the log say?

I just figured out, the issue in the XML report. When the Django test are run in parallel(--parallel) Django unittest doesn't report the accurate elapsed time for the tests. I will be closing this issue. Thank you


Typescript and non-Babel environments example out of sync with TypeScript definitions

The universal options in the example (chunkName and resolve) don't exist in the current react-universal-component declaration file. Interestingly, the Flow types contain the properties, though.
Can this example be updated with the appropriate options that should be passed when used in a TypeScript project or can the TypeScript definitions for react-universal-component be updated to reflect the valid options?
/cc @forabi @Alex-Krautmann

Any update?

@corydeppen we had some TS defs updated. Does this solve your issue / would you be able to PR it?
I dont know much TS

I believe it's resolved by https://github.com/faceyspacey/react-universal-component/pull/99 and this issue can be closed.


example-public-standards is incomplete

It looks like that the standards.manifest.cdm.json is not valid because of missing files.
Concrete, crmCommon.manifest.cdm.json is referencing accelerators not available in the package. e.g. automotive.manifest.cdm.json which is referenced as entity (accelerators.manifest.cdm.json)  and relation (crmCommon.manifest.cdm.json), but not part of the git-package

@msgerneu - thanks for reporting this. The schema should be properly structured now, can you please confirm on your end? If not, can you please provide specific line numbers in the schema files where you see these discrepancies?


Layer5 welcome logo changed to Meshery logos with dark and light them…

Description
Replace the Logo of Layer5 with Meshery in the config.yml workflow
This PR fixes #296 also #295
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

@om2137 are you still working on the issue?

@om2137 Are you still working on the issue? Feel free to ping me here or on slack if you are facing any issues.

@om2137 Are you still working on the issue? Feel free to ping me here or on slack if you are facing any issues.

Hey extremely sorry, I didn't get the notification for this.
but I thought some one already fixed this issue in other pr.
If you want you can take this

@om2137 Alright 😅 Would you like to close this PR?


Not able to Use configPatches in KongPlugin Resource

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior

Have deployed Kong Ingress Controller at 3.1 and kong-proxy @ 3.4

---
# Source: kong/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: kong-public-kong
  namespace:  kong-public
  labels:
    app.kubernetes.io/name: kong
    helm.sh/chart: kong-2.38.0
    app.kubernetes.io/instance: "kong-public"
    app.kubernetes.io/managed-by: "Helm"
    app.kubernetes.io/version: "3.6"
    app.kubernetes.io/component: app
spec:
  selector:
    matchLabels:
      app.kubernetes.io/name: kong
      app.kubernetes.io/component: app
      app.kubernetes.io/instance: "kong-public"

  template:
    metadata:
      annotations:
        kuma.io/service-account-token-volume: kong-public-kong-token
        kuma.io/gateway: "enabled"
        traffic.sidecar.istio.io/includeInboundPorts: ""
      labels:
        app.kubernetes.io/name: kong
        helm.sh/chart: kong-2.38.0
        app.kubernetes.io/instance: "kong-public"
        app.kubernetes.io/managed-by: "Helm"
        app.kubernetes.io/version: "3.6"
        app.kubernetes.io/component: app
        app: kong-public-kong
        version: "3.6"
    spec:
      serviceAccountName: kong-public-kong
      automountServiceAccountToken: false

      initContainers:
      - name: clear-stale-pid
        image: kong:3.4
        imagePullPolicy: IfNotPresent
        securityContext:

          allowPrivilegeEscalation: false
          capabilities:
            drop:
            - ALL
          readOnlyRootFilesystem: true
          runAsNonRoot: true
          runAsUser: 1000
          seccompProfile:
            type: RuntimeDefault
        resources:
          {}
        command:
        - "rm"
        - "-vrf"
        - "$KONG_PREFIX/pids"
        env:

        - name: KONG_ADMIN_ACCESS_LOG
          value: "/dev/stdout"
        - name: KONG_ADMIN_ERROR_LOG
          value: "/dev/stderr"
        - name: KONG_ADMIN_GUI_ACCESS_LOG
          value: "/dev/stdout"
        - name: KONG_ADMIN_GUI_ERROR_LOG
          value: "/dev/stderr"
        - name: KONG_ADMIN_LISTEN
          value: "<IP_ADDRESS>:8444 http2 ssl, [::]:8444 http2 ssl"
        - name: KONG_CLUSTER_LISTEN
          value: "off"
        - name: KONG_DATABASE
          value: "off"
        - name: KONG_KIC
          value: "on"
        - name: KONG_LUA_PACKAGE_PATH
          value: "/opt/?.lua;/opt/?/init.lua;;"
        - name: KONG_NGINX_WORKER_PROCESSES
          value: "2"
        - name: KONG_PLUGINS
          value: "bundled"
        - name: KONG_PORTAL_API_ACCESS_LOG
          value: "/dev/stdout"
        - name: KONG_PORTAL_API_ERROR_LOG
          value: "/dev/stderr"
        - name: KONG_PORT_MAPS
          value: "80:8000, 443:8443"
        - name: KONG_PREFIX
          value: "/kong_prefix/"
        - name: KONG_PROXY_ACCESS_LOG
          value: "/dev/stdout"
        - name: KONG_PROXY_ERROR_LOG
          value: "/dev/stderr"
        - name: KONG_PROXY_LISTEN
          value: "<IP_ADDRESS>:8000, [::]:8000, <IP_ADDRESS>:8443 http2 ssl, [::]:8443 http2 ssl"
        - name: KONG_PROXY_STREAM_ACCESS_LOG
          value: "/dev/stdout basic"
        - name: KONG_PROXY_STREAM_ERROR_LOG
          value: "/dev/stderr"
        - name: KONG_ROUTER_FLAVOR
          value: "traditional"
        - name: KONG_STATUS_ACCESS_LOG
          value: "off"
        - name: KONG_STATUS_ERROR_LOG
          value: "/dev/stderr"
        - name: KONG_STATUS_LISTEN
          value: "<IP_ADDRESS>:8100, [::]:8100"
        - name: KONG_STREAM_LISTEN
          value: "off"

        volumeMounts:
        - name: kong-public-kong-prefix-dir
          mountPath: /kong_prefix/
        - name: kong-public-kong-tmp
          mountPath: /tmp
      containers:
      - name: ingress-controller
        securityContext:

          allowPrivilegeEscalation: false
          capabilities:
            drop:
            - ALL
          readOnlyRootFilesystem: true
          runAsNonRoot: true
          runAsUser: 1000
          seccompProfile:
            type: RuntimeDefault
        args:

        ports:
        # - name: webhook
        #   containerPort: 8080
        #   protocol: TCP
        - name: cmetrics
          containerPort: 10255
          protocol: TCP
        - name: cstatus
          containerPort: 10254
          protocol: TCP
        env:
        - name: POD_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.name
        - name: POD_NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace

        # - name: CONTROLLER_ADMISSION_WEBHOOK_LISTEN
        #   value: "<IP_ADDRESS>:8080"
        - name: CONTROLLER_ELECTION_ID
          value: "kong-ingress-controller-leader-kong-public"
        - name: CONTROLLER_INGRESS_CLASS
          value: "kong-public"
        - name: CONTROLLER_KONG_ADMIN_TLS_SKIP_VERIFY
          value: "true"
        - name: CONTROLLER_KONG_ADMIN_URL
          value: "https://localhost:8444"
        - name: CONTROLLER_PUBLISH_SERVICE
          value: "kong-public/kong-public-kong-proxy"
        - name: CONTROLLER_LOG_LEVEL
          value: "debug"
        image: kong/kubernetes-ingress-controller:3.1.1
        imagePullPolicy: IfNotPresent

        readinessProbe:
          failureThreshold: 3
          httpGet:
            path: /readyz
            port: 10254
            scheme: HTTP
          initialDelaySeconds: 5
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 5
        livenessProbe:
          failureThreshold: 3
          httpGet:
            path: /healthz
            port: 10254
            scheme: HTTP
          initialDelaySeconds: 5
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 5
        resources:
          {}
        volumeMounts:
        # - name: webhook-cert
        #   mountPath: /admission-webhook
        #   readOnly: true
        - name: kong-public-kong-token
          mountPath: /var/run/secrets/kubernetes.io/serviceaccount
          readOnly: true

      - name: "proxy"
        image: kong:3.4
        imagePullPolicy: IfNotPresent
        securityContext:

          allowPrivilegeEscalation: false
          capabilities:
            drop:
            - ALL
          readOnlyRootFilesystem: true
          runAsNonRoot: true
          runAsUser: 1000
          seccompProfile:
            type: RuntimeDefault
        env:

        - name: KONG_ADMIN_ACCESS_LOG
          value: "/dev/stdout"
        - name: KONG_ADMIN_ERROR_LOG
          value: "/dev/stderr"
        - name: KONG_ADMIN_GUI_ACCESS_LOG
          value: "/dev/stdout"
        - name: KONG_ADMIN_GUI_ERROR_LOG
          value: "/dev/stderr"
        - name: KONG_ADMIN_LISTEN
          value: "<IP_ADDRESS>:8444 http2 ssl, [::]:8444 http2 ssl"
        - name: KONG_CLUSTER_LISTEN
          value: "off"
        - name: KONG_DATABASE
          value: "off"
        - name: KONG_KIC
          value: "on"
        - name: KONG_LUA_PACKAGE_PATH
          value: "/opt/?.lua;/opt/?/init.lua;;"
        - name: KONG_NGINX_WORKER_PROCESSES
          value: "2"
        - name: KONG_PLUGINS
          value: "bundled"
        - name: KONG_PORTAL_API_ACCESS_LOG
          value: "/dev/stdout"
        - name: KONG_PORTAL_API_ERROR_LOG
          value: "/dev/stderr"
        - name: KONG_PORT_MAPS
          value: "80:8000, 443:8443"
        - name: KONG_PREFIX
          value: "/kong_prefix/"
        - name: KONG_PROXY_ACCESS_LOG
          value: "/dev/stdout"
        - name: KONG_PROXY_ERROR_LOG
          value: "/dev/stderr"
        - name: KONG_PROXY_LISTEN
          value: "<IP_ADDRESS>:8000, [::]:8000, <IP_ADDRESS>:8443 http2 ssl, [::]:8443 http2 ssl"
        - name: KONG_PROXY_STREAM_ACCESS_LOG
          value: "/dev/stdout basic"
        - name: KONG_PROXY_STREAM_ERROR_LOG
          value: "/dev/stderr"
        - name: KONG_ROUTER_FLAVOR
          value: "traditional"
        - name: KONG_STATUS_ACCESS_LOG
          value: "off"
        - name: KONG_STATUS_ERROR_LOG
          value: "/dev/stderr"
        - name: KONG_STATUS_LISTEN
          value: "<IP_ADDRESS>:8100, [::]:8100"
        - name: KONG_STREAM_LISTEN
          value: "off"
        - name: KONG_NGINX_DAEMON
          value: "off"

        lifecycle:
          preStop:
            exec:
              command:
              - kong
              - quit
              - --wait=15
        ports:
        - name: admin-tls
          containerPort: 8444
          protocol: TCP
        - name: proxy
          containerPort: 8000
          protocol: TCP
        - name: proxy-tls
          containerPort: 8443
          protocol: TCP
        - name: status
          containerPort: 8100
          protocol: TCP
        volumeMounts:
          - name: kong-public-kong-prefix-dir
            mountPath: /kong_prefix/
          - name: kong-public-kong-tmp
            mountPath: /tmp

        readinessProbe:
          failureThreshold: 3
          httpGet:
            path: /status/ready
            port: status
            scheme: HTTP
          initialDelaySeconds: 5
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 5
        livenessProbe:
          failureThreshold: 3
          httpGet:
            path: /status
            port: status
            scheme: HTTP
          initialDelaySeconds: 5
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 5
        resources:
          {}
      securityContext:
        {}
      terminationGracePeriodSeconds: 30
      volumes:
        - name: kong-public-kong-prefix-dir
          emptyDir:
            sizeLimit: 256Mi
        - name: kong-public-kong-tmp
          emptyDir:
            sizeLimit: 1Gi
        - name: kong-public-kong-token
          projected:
            sources:
            - serviceAccountToken:
                expirationSeconds: 3607
                path: token
            - configMap:
                items:
                - key: ca.crt
                  path: ca.crt
                name: kube-root-ca.crt
            - downwardAPI:
                items:
                - fieldRef:
                    apiVersion: v1
                    fieldPath: metadata.namespace
                  path: namespace
        # - name: webhook-cert
        #   secret:
        #     secretName: kong-public-kong-validation-webhook-keypair

As per document https://docs.konghq.com/kubernetes-ingress-controller/latest/guides/security/plugin-secrets/
I am trying out configPatches with secret.

Secret
echo "
apiVersion: v1
kind: Secret
metadata:
  name: web-api-gateway-payment-instruments-update-value-secret
stringData:
    hour: '11'
    limit_by: 'header'
    header_name: 'AuthorizationTest'
    error_code: '429'
    error_message: 'Create card retry limit exceeded.'
    policy: 'local'
type: Opaque
" | kubectl apply -f -

KongPlugin
# Specific key from secret
---
apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
  name: rate-limiting-payment-instruments-post-plugin-public-value
plugin: rate-limiting
config: # You can define the non-sensitive part of the config explicitly here.
  limit_by: header
  error_code: 429
  error_message: 'Create card retry limit exceeded.'
  policy: local
  hour: 10
configPatches:
#  - path: hour # This is the path to the field in the plugin's configuration this patch will populate.
#    valueFrom:
#      secretKeyRef:
#        name: web-api-gateway-payment-instruments-update-value-secret # This is the name of the secret.
#        key: hour          # This is the key in the secret.
 - path: header_name # This is the path to the field in the plugin's configuration this patch will populate.
   valueFrom:
     secretKeyRef:
       name: web-api-gateway-payment-instruments-update-value-secret # This is the name of the secret.
       key: header_name          # This is the key in the secret.

But after applying the KongPlugin

webhook starts failing with validation error,

invalid config.header_name: required field missing

After removing webhook, I do not see the configPatches load up from secret. The plugin is failing to be applied

bash-5.2$ k describe KongPlugin rate-limiting-payment-instruments-post-plugin-public-value
Name:         rate-limiting-payment-instruments-post-plugin-public-value
Namespace:    web-kong
Labels:       argocd.argoproj.io/instance=web-kong-ingress-web-api-gateway-almosafer-public
Annotations:  <none>
API Version:  configuration.konghq.com/v1
Config:
 error_code:     429
 error_message:  Create card retry limit exceeded.
 limit_by:       header
 Policy:         local
Kind:             KongPlugin
Metadata:
 Creation Timestamp:  2024-03-07T07:36:25Z
 Generation:          1
 Resource Version:<PHONE_NUMBER>
 UID:                 d578a6af-9bd1-490f-87a1-bef3a25cabad
Plugin:                rate-limiting
Events:
 Type     Reason                        Age                 From         Message
 ----     ------                        ----                ----         -------
 Warning  KongConfigurationApplyFailed  44s (x12 over 44s)  kong-client  invalid plugin:rate-limiting: failed conditional validation given value of field 'config.limit_by'
 Warning  KongConfigurationApplyFailed  44s (x13 over 44s)  kong-client  invalid config.header_name: required field missing
 Warning  KongConfigurationApplyFailed  44s (x13 over 44s)  kong-client  invalid config.header_name: required field missing
 Warning  KongConfigurationApplyFailed  44s (x12 over 44s)  kong-client  invalid plugin:rate-limiting: failed conditional validation given value of field 'config.limit_by'

As per doc I expect
Kong Ingress Controller resolves the referenced secret and builds the complete configuration for the plugin before sending it to Kong Gateway
Expected Behavior
Kong Ingress Controller resolves the referenced secret and builds the complete configuration for the plugin before sending it to Kong Gateway
Steps To Reproduce
Mentioned before

Kong Ingress Controller version
3.1 and 3.1.1

Kubernetes version
1.28

Anything else?
No response

@ssarbadh You need to provide the full JSON path of config, starting with / in the path field of contifPatch. In your example, you need to change your path to /hour.

Hello @randmonkey
Thanks a lot for your prompt response. I presumed I have responded.
Anyways I still see the same issue - tried with path as you suggested.
Here are the manifests -
---
apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
  name: rate-limiting-payment-instruments-post-plugin-public-value
plugin: rate-limiting
config: # You can define the non-sensitive part of the config explicitly here.
  limit_by: header
  error_code: 429
  error_message: 'Create card retry limit exceeded.'
  policy: local
  # hour: 10
  header_name: "Test"
configPatches:
 - path: /hour # This is the path to the field in the plugin's configuration this patch will populate.
   valueFrom:
     secretKeyRef:
       name: web-api-gateway-payment-instruments-update-value-secret # This is the name of the secret.
       key: hour          # This is the key in the secret.
 - path: "/header_name" # This is the path to the field in the plugin's configuration this patch will populate.
   valueFrom:
     secretKeyRef:
       name: web-api-gateway-payment-instruments-update-value-secret # This is the name of the secret.
       key: header_name          # This is the key in the secret.

The secret -
apiVersion: v1
data:
  error_code: NDI5
  error_message: Q3JlYXRlIGNhcmQgcmV0cnkgbGltaXQgZXhjZWVkZWQu
  header_name: QXV0aG9yaXphdGlvblRlc3Q=
  hour: MTE=
  limit_by: aGVhZGVy
  policy: bG9jYWw=
kind: Secret
metadata:
  name: web-api-gateway-payment-instruments-update-value-secret
  namespace: web-kong
type: Opaque

But I still see the error complaining that fields are missing for the plugin.
I did try with both the /config/hour and /hour with and without double quotes etc.
Please guide.

@ssarbadh If you want to use values in string type in configPatches, the values in secret should include the double quote ", while other types (numbers, booleans, objects, arrays) requires no quotes.
In your case, you need to create your secret like
echo "
apiVersion: v1
kind: Secret
metadata:
  name: web-api-gateway-payment-instruments-update-value-secret
stringData:
    hour: '11' # number
    limit_by: '\"header\"' # string
    header_name: '\"AuthorizationTest\"' # string
    error_code: '429' # number
    error_message: '\"Create card retry limit exceeded.\"' # string
    policy: '\"local\#' # string
type: Opaque
" | kubectl apply -f -

And the path of configPatch need a leading /, like
apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
  name: rate-limiting-payment-instruments-post-plugin-public-value
plugin: rate-limiting
config: # You can define the non-sensitive part of the config explicitly here.
  limit_by: header
  error_code: 429
  error_message: 'Create card retry limit exceeded.'
  policy: local
  # hour: 10
  header_name: "Test"
configPatches:
 - path: /hour # This is the path to the field in the plugin's configuration this patch will populate.
   valueFrom:
     secretKeyRef:
       name: web-api-gateway-payment-instruments-update-value-secret # This is the name of the secret.
       key: hour          # This is the key in the secret.
 - path: "/header_name" # This is the path to the field in the plugin's configuration this patch will populate.
   valueFrom:
     secretKeyRef:
       name: web-api-gateway-payment-instruments-update-value-secret # This is the name of the secret.
       key: header_name          # This is the key in the secret.

@ssarbadh If you want to use values in string type in configPatches, the values in secret should include the double quote ", while other types (numbers, booleans, objects, arrays) requires no quotes. In your case, you need to create your secret like
echo "
apiVersion: v1
kind: Secret
metadata:
  name: web-api-gateway-payment-instruments-update-value-secret
stringData:
    hour: '11' # number
    limit_by: '\"header\"' # string
    header_name: '\"AuthorizationTest\"' # string
    error_code: '429' # number
    error_message: '\"Create card retry limit exceeded.\"' # string
    policy: '\"local\"' # string
type: Opaque
" | kubectl apply -f -

And the path of configPatch need a leading /, like
apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
  name: rate-limiting-payment-instruments-post-plugin-public-value
plugin: rate-limiting
config: # You can define the non-sensitive part of the config explicitly here.
  limit_by: header
  error_code: 429
  error_message: 'Create card retry limit exceeded.'
  policy: local
  # hour: 10
  header_name: "Test"
configPatches:
 - path: /hour # This is the path to the field in the plugin's configuration this patch will populate.
   valueFrom:
     secretKeyRef:
       name: web-api-gateway-payment-instruments-update-value-secret # This is the name of the secret.
       key: hour          # This is the key in the secret.
 - path: "/header_name" # This is the path to the field in the plugin's configuration this patch will populate.
   valueFrom:
     secretKeyRef:
       name: web-api-gateway-payment-instruments-update-value-secret # This is the name of the secret.
       key: header_name          # This is the key in the secret.

i can confirm this is working. this should be very well documented on the official docs. it is currently NOT clear at all :)

i can confirm this is working. this should be very well documented on the official docs. it is currently NOT clear at all :)
Thanks. We will fix the docs and give a clearer introduction on how to use configPatches.

I was thinking about this implementation today. Isn't it a weird approach to put this burden on the end user? Requiring literal "" on a yaml string value is not intuitive for most of yaml users. The code here is doing a string manipulation (arguably dangerous) to generate a JSON raw patch.
Wouldn't it be nicer to allow users to specify the language-specific value and internally translate between the languages? I.e. in this case, in yaml, we should just put regular string or numeric. Then in the plugin.go code, do a struct value and then encode it into a JSON string.
Just my two cents :)

Closed this and created https://github.com/Kong/kubernetes-ingress-controller/issues/5994 for improving user interface of configPatches, since the docs are updated and the interface change may bring breaking changes.


MWPW-137308: Added origin-trial meta tag so scheduler.yield() can be used

Resolves: MWPW-137308
Before: https://stage--dc--adobecom.hlx.live/acrobat/online/pdf-to-ppt
After: https://mwpw-137308-scheduler-yield--dc--adobecom.hlx.live/acrobat/online/pdf-to-ppt

Codecov Report

Merging #397 (76c91ca) into stage (5fcce33) will decrease coverage by 0.04%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##            stage     #397      +/-   ##
==========================================
- Coverage   93.49%   93.46%   -0.04%
==========================================
  Files          26       26
  Lines        2969     2983      +14
==========================================
+ Hits         2776     2788      +12
- Misses        193      195       +2

Files
Coverage Δ

acrobat/scripts/scripts.js
95.84% <100.00%> (-0.41%)
:arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

@zagi25 now that you have access to the headers sheet you want to move this there?

As @Blainegunn said we can move the token to the headers doc, so it will be delivered as response header

There is no need for any code update.
cc: @peller


Added HTML & CSS course in HIndi and sorted courses

Hacktoberfest notes:

due to volume of submissions, we may not be able to review PRs that do not pass tests and do not have informative titles.
please read our contributing guidelines
be sure to check the output of Travis-CI for linter errors
if this is your first open source contribution, make sure it's not your last!

What does this PR do?
Add Resource(s) | Remove Resource(s) | Add info | Improve Repo
For resources
Description
Why is this valuable (or not)?
How do we know it's really free?
For book lists, is it a book? For course lists, is it a course? etc.
Checklist:

[x] Not a duplicate
[x] Included author(s) if appropriate
[x] Lists are in alphabetical order
[x] Needed indications added (PDF, access notes, under construction)

Renamed Data structure section into Algorithm & Data structure and added HTML/CSS course in HIndi

Added share option to Tumblr and Pinterest in README.md

Can you please ensure all lists and categories remain in alphabetical order?
All new sections should have exactly 2 empty lines above them.
Also, the modification you made with the README, came with a lot of line breaks under it, I can't comment on if it's a good change or not, but could the line breaks removed at least?
You can get more guidance on the formatting and conventions in this repository by checking out the contribution guide.


AA: handle multiline content in log events

The NELR spec doesn't prescribe a format for the content payload of an event. However, since a line break is semantic in the log file, the content cannot be a multi-line string:
content = "one two\nthree four five"
               |
               v
my-domain my-operation one two
three four five

The result would be ambiguous. This change enforces this assertion. Also added tests for the event log and moved the init log line generation to the eventlog module (as the digest calc is already there).

Nice catch. Besides line separators, spaces ' ' are also need to be carefully handled. In the original PR on AS side https://github.com/confidential-containers/trustee/pull/408/files#diff-aa0f7de1cbbcb4efaafaaa30a4b065987cf9d16f1fa01cfdb4e05c1323a1c59eR27 I didnot care about this. Let me fix this issue

Indeed. the first two fields have similar problems, maybe there should be a formal spec document for the log file in the repo, defines which characters are legal, are multiple INIT statements legal, etc...