Migrating docker-mailserver

This is a rather intricate topic, so I will try my best to be as objective and neutral as possible. I'm trying to get as many maintainers in here as possible so we can have a debate about this.
We are currently having two big issues that I would like to have solved:

Creating multiarch images within one repository (see #1678)
Enabling automated docker builds (with buildx, see 1. and #1207)

@tomav seems to have very little time at hand, but without permissions to the build and test services, there is nothing we as maintainers can do. Therefore, one valuable solution could be this:
Transferring the main development repository to someone else, preferably a (somewhat active) maintainer. This can easily be done with a fork. All current maintainers shall be invited so they can collaborate as before. We can use GitHub actions or another solution to solve 1. and 2. Current issue can be solved here, new issues will be marked so they can be opened in the new repository.
In #1678, @radicand offered to help with the GitHub actions to build for multiple architectures.
I would like to hear what everyone thinks about this - whether this is a possible solution, what's bad, what's good, what is to be improved on;  maybe I'm completely missing something? Let's debate on this.

All the Tasks - Tracking
Tier 1

[x] Create a description of how the test suite should work / works, in a clear, concise way, for example with  diagrams, etc.
[ ] As @wernerfred provided a beautiful overview, all actions shall be implemented as described in his post

Tier 2

[x] See whether GH Organizations brings a benefit in terms of workflow for (multiple) collaborators
[x] Use GH Actions to build multiarch with docker buildx
[ ] Create a scheduled build to have the images up-to-date (with GH Actions)
[ ] Integrate tests into GH actions to only build when tests are successful
[ ] Integrate automatic parsing / labelling

Tier 3

[ ] Look into Dependabot
[ ] Adding Codecov as an action

Well, to be honest I did create my own fork long ago when this project seemed to have stalled, but now I'm only using it for staging and for daily builds. I would prefer to keep this repo if possible as forks tend to fragment the user base. Still, I agree that this is a problem. Hopefully @tomav can find some time to help or at least respond.
We could create a downstream fork that focuses entirely on the build process and that gets the rest from here. That would keep this repo as the main place where work is done and where the issues and documentation is kept, but would allow us to control the automatic builds including support for multiple architectures.

I would prefer to keep this repo if possible as forks tend to fragment the user base.

I completely agree.

We could create a downstream fork that focuses entirely on the build process and that gets the rest from here. That would keep this repo as the main place where work is done and where the issues and documentation is kept, but would allow us to control the automatic builds including support for multiple architectures.

I would actually like to keep this repo as the main place of work too. But I think that this implies build + testing should be done in this repo as well:)

Ideally yes. The tests should absolutely run here (and Travis will have to be moved soon as it will shut down in December!). The build could be handled downstream. We still don't build in Travis, as far as I can determine the build is really done in Docker Hub triggered by commits and regardless if the tests succeeded or failed.

For a moment you had me worried about Travis, but they are not completely shutting down just retiring one domain (the .org one) open source projects are still free on their .com domain.
https://mailchi.mp/3d439eeb1098/travis-ciorg-is-moving-to-travis-cicom
But I agree on the forking topic. The best case would be to create a dedicated organisation on Github and move this repo over. this way Github handles some redirects. The other issue will be the name of the container in the docker registry.

I like @fbartels' idea of an organization. I've never worked on one, but this could very well actually solve some problems.

I'm happy to contribute as helpful - I do believe there's opportunity to leverage GitHub actions to drive the CI process (still keeping Travis if beneficial, or everything in GitHub native). With the upcoming holiday I should have some volunteer availability. Just let me know.

@radicand that sounds awesome. Can you firstly explain what GitHub actions is capable of without paid features, so we can evaluate whether we can use GH Actions for CI/CD?
We need:

Testing of the image
Publishing of tests are successful

Now, the question remains, to which registry, and how.

Generally speaking, actions are free for public repositories, and have a quota for private repos (2,000 minutes/month at free tier). Because this is a public repository, we won't have the quota enforced and do not need to worry about it.
Within the actions framework (e.g., no external dependencies like Travis), you can run the test suite, build the image, and push it to Docker Hub, and have the steps depend on each other as well.

That's exactly what we need. The already proposed idea of an organization in combination with GH Actions seems to a solution to enable many collaborators to monitor and alter test setup and building of the image with the added flexibility of building multiarch images.

I would also be interested in the multiarch (in particular arm) builds. I have just "cloned" the repository to create arm builds myself (not only arm64). I am currently doing that with travis-ci. Could also have a look into github workflows for that if that would add some value.

@andreasfaerber it would!:) The more people we got with working on this change the faster we can achieve our two goals.
I will have a look into GH Organizations tomorrow.

GH Organizations seems to be a valuable solution. In theory, this repository could be transferred and then manager by more collaborators. We could test this out.
@radicand @andreasfaerber when you're researching for the multiarch builds, can you test this with a repo in an organization. It's not very difficult to setup one and transfer it - should cost about 5 minutes. That would be great because we could then see whether multi persons can work in the test and build (GH Actions) suite.

I have set up a branch for the workflow testing here: https://github.com/test-org-dm/docker-mailserver/tree/gh-workflows
This is within an organization i created. As a proof of concept that workflow can build the docker images for multiple architectures as you can see here: https://hub.docker.com/repository/docker/andreasfaerber/test-dm/tags?page=1&ordering=last_updated
So much for a start. What is it that you would like to test with the organization and multiple people?

Looks amazing - thanks for the fast work!
We will now need to sort out whether we want TravisCI in the mix or not. I'm for not having Travis but instead use GH Actions to run the tests as well, if that is possible. @radicand you said it is. Looking at what @andreasfaerber has already achieved, it shouldn't be much of of a hassle to integrate tests in his repo as well, or is it?:)
@andreasfaerber can you invite me and @radicand to your repository as collaborators so

@radicand may help you with integrating tests
I can have a look at how GH Organizations use role management (if there is role management or something related)

From what I can see @andreasfaerber, you are building for
linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64,linux/ppc64le,linux/s390x

Is it possible to build for linux/arm/v8 as well? We may also not need  linux/386,linux/ppc64le,linux/s390x - that's up for debate.
Moreover, as I'm not very familiar with GH Actions, can you just shortly explain how your setup works for me?:) Maybe this way I can be of help with the tests too.

I have added you both to the repository. Regarding the explanation it's fairly simple, even though the environmental variables need some more parsing. The workflow to build the docker images is https://github.com/test-org-dm/docker-mailserver/blob/gh-workflows/.github/workflows/build_docker.yml
It uses pre-defined actions with those it checks out the repository, set's up docker qemu for buildx and also uses a pre-defined action to build the image(s) and push them. What needs to be done is parsing of the branches, tags and pull requests to properly tag the docker images - together with proper sanity checking, etc. I assume proper automated checks could also be integrated.
Once you pushed to the repository or branch you can then check the progress in the "Actions" tab on the repository page - can you see them, too?
Regards
Andreas

Thanks for the invitation. Yes, I can see the actions.
Now that I've seen it, it could very well be the case that arm64 is the same as arm/v8.
There are two more things I'd like to ask:

Can you somehow grant me more privileges in the organization? As of now, I'm only a member but I cannot do anything:)
Is the repository somehow not public? I can't see the issues page. What's up with that?

Looks like the access system is far from being simple. ;-) I think i have now allowed the administrators group full access to the repository. I have also added @radicand to the adminstrators team. The issue tab was disabled in the settings, i have now enabled it and it should be visible. You should be able to do everything with the repository now - at least if i am not mistaken. Please have a look and let me know.

Ok, i also found the setting to make you owner of the organization, too. From my perspective you should have full control over the organization and not only on the repository.

Works like a charm. I've opened an issue in your repo about the tests so we can now work from there for the moment.

I can confirm that administrators / owners have access to the secrets, so collaborators can modify what is currently blocked, if needed. Therefore, the solution with GH Organizations / Actions seems perfect.
We now "only" need a scheduled build as well as test integration. Thereafter, we can finally decide what to do with this repository.

Hey - as the project brought me much value in the past i would like to give sth back. GitHub Actions is a thing i played a lot in the past few month. I could definitly support here if needed.

What needs to be done is parsing of the branches, tags and pull requests to properly tag the docker images - together with proper sanity checking, etc. I assume proper automated checks could also be integrated.

Here for example we should have a look at this action for proper tagging and labeling of docker images.

That's awesome to hear @wernerfred.
@andreasfaerber has posted some links about the test project we are currently working on. Feel free to participate there. Currently open tasks are actually exactly what you mentioned: Parsing and labelling. There is currently a WIP PR for test suite integration. We'd need one for parsing as well.
Since you mentioned you've gained experience with Actions, I would really like to see some kind of overview, how our actions should work together, for example with a diagram or a textual description. Because we need to make sure certain steps are only done when others succeeded prior (Lintint / Testint -> Building -> Pushing | on what events, pushes, PRs, branches, etc.), in order to achieve a clear structure. That would be awesome.
You also mentioned Hadolint. We are already listing against Hadolint:)
You mentioned Dependabot. I've read a bit about it - if you'd like to add this, feel free to open a PR on @andreasfaerber's test repo.

As there are some new ideas and more work that originally planned, I've updated the issue description, especially the task tracking section and introduced a tier list. Tier one has the highest priority.
For anyone who's like to contribute, feel free to help with one of the open tasks. Work is done and issues are created on @andreasfaerber test repo.

I did TLRD this thread and will maybe read it another time.

Transferring the main development repository to someone else, preferably a (somewhat active) maintainer.

I would propose to move this project to @code-lts that is specialised into long term maintenance of projects.

Personally I'd rather create a new organization specifically for docker-mailserver (named docker-mailserver) unless code-lts adds something new to the picture. The name is also a bit confusing because we make no LTS guarantees as such.
Great work here, seems to be shaping up. However, I still feel it would be great with some quick thoughts from @tomav?

The implementation of the GH Actions workflow in  test-org-dm/docker-mailserver#2 seems to be very close to being finished. All tier 1 goals of this issue are thereby fulfilled. Here's my proposal for migrating this repository:
I'm with @erik-wramner in creating a new organization specifically for docker-mailserver. I'd be very glad if @tomav could then migrate this repository to the new organization. But in case there's no response, we will need to fork this repository and work with the new fork. In the second case, I would issue a deprecation notice in this repository's readme, and we begin a soft migration period. We try to close off all issues here, and new issues shall be created in the new repo. Same goes for PRs. I think we should be able to rebase the new repo if the left-over PRs from this repo are merged.

The implementation of the GH Actions workflow in  test-org-dm/docker-mailserver#2 seems to be very close to being finished. All tier 1 goals of this issue are thereby fulfilled. Here's my proposal for migrating this repository:
I'm with @erik-wramner in creating a new organization specifically for docker-mailserver. I'd be very glad if @tomav could then migrate this repository to the new organization. But in case there's no response, we will need to fork this repository and work with the new fork. In the second case, I would issue a deprecation notice in this repository's readme, and we begin a soft migration period. We try to close off all issues here, and new issues shall be created in the new repo. Same goes for PRs. I think we should be able to rebase the new repo if the left-over PRs from this repo are merged.

Alright folks - docker-mailserver/docker-mailserver#6 was just merged!
Migration is therefore completed. I will tend to old PRs and issues and push a migration notice for master. Go ahead and have a look! :D

Alright folks - docker-mailserver/docker-mailserver#6 was just merged!
Migration is therefore completed. I will tend to old PRs and issues and push a migration notice for master. Go ahead and have a look! :D

This can therefore be declared done.

This can therefore be declared done.

Hi everyone, sorry for coming after the war.
Well... This project is not mine anymore for a long time now, and I'm always happy to see that it is used that much!
I had a plan to migrate docker-mailserver to an organization (I personally call this project "mailody"), have not moved forward because I wanted to check how we can keep stats (stars, forks, pull...), which is possible  on Github, but not on Docker Hub.
I'm happy to see you have moved forward, and that the community owns the project 100%.
Ideally I would have been happy to discuss with some of you over Zoom for some details (at least to keep 6 years of Github stars, or the strategy behind this repo vs. other "competitors"), but that's not relevant anymore.
What really matters is that this project has active maintainers, this is the only way to get active users.
Good job!
PS: just in case, if you need to contact me, I spend more time on Twitter and LinkedIn than on Github notifications.

Hi everyone, sorry for coming after the war.
Well... This project is not mine anymore for a long time now, and I'm always happy to see that it is used that much!
I had a plan to migrate docker-mailserver to an organization (I personally call this project "mailody"), have not moved forward because I wanted to check how we can keep stats (stars, forks, pull...), which is possible  on Github, but not on Docker Hub.
I'm happy to see you have moved forward, and that the community owns the project 100%.
Ideally I would have been happy to discuss with some of you over Zoom for some details (at least to keep 6 years of Github stars, or the strategy behind this repo vs. other "competitors"), but that's not relevant anymore.
What really matters is that this project has active maintainers, this is the only way to get active users.
Good job!
PS: just in case, if you need to contact me, I spend more time on Twitter and LinkedIn than on Github notifications.

Theoretically we could rename the current organization's repository, transfer this repository to the organization and force push over master to get the current state. But this will need to happen in time @tomav, possibly as fast as you can, I would like to do it right now. The reason being that we already started working in the new repository with new commits and PRs, issue etc.
I'm neither a Twitter nor LinkedIn user. @tomav please reach back to me as soon as possible - we could arrange a live (maybe Zoom) session as fast as possible to get this repository migrated to the new organization if you'd like to do that.

Theoretically we could rename the current organization's repository, transfer this repository to the organization and force push over master to get the current state. But this will need to happen in time @tomav, possibly as fast as you can, I would like to do it right now. The reason being that we already started working in the new repository with new commits and PRs, issue etc.
I'm neither a Twitter nor LinkedIn user. @tomav please reach back to me as soon as possible - we could arrange a live (maybe Zoom) session as fast as possible to get this repository migrated to the new organization if you'd like to do that.

@tomav I have a better idea - transfer the repo over to my account. I will then take the necessary steps.

@tomav I have a better idea - transfer the repo over to my account. I will then take the necessary steps.

Would also remove the "fork" hint from the current repository and all the notifications on "not up to date branches" compared to upstream

Would also remove the "fork" hint from the current repository and all the notifications on "not up to date branches" compared to upstream

Would also remove the "fork" hint from the current repository and all the notifications on "not up to date branches" compared to upstream
EDIT: I will ping him on Twitter

Nice. I'd like to do this fast :D

Would also remove the "fork" hint from the current repository and all the notifications on "not up to date branches" compared to upstream
EDIT: I will ping him on Twitter

Nice. I'd like to do this fast :D

@wernerfred I think that worked. I'm in contact. Thanks!

@wernerfred I think that worked. I'm in contact. Thanks!

Any Update?

Any Update?

Any Update?

Hold tight :D I have already invited @tomav to the new organization - he accepted. He told me he'd be busy this evening, and would therefore transfer the repository tomorrow at around 9am. I will then set the correct right for all teams and members, force push over master and rebase stable on current master. I will make sure tags are handled too. This will take a few minutes, but I will reach back in the maintainers teams when everything is done and ready :)

Any Update?

Hold tight :D I have already invited @tomav to the new organization - he accepted. He told me he'd be busy this evening, and would therefore transfer the repository tomorrow at around 9am. I will then set the correct right for all teams and members, force push over master and rebase stable on current master. I will make sure tags are handled too. This will take a few minutes, but I will reach back in the maintainers teams when everything is done and ready :)

✅ Migrated project to to https://github.com/docker-mailserver/docker-mailserver/

✅ Migrated project to to https://github.com/docker-mailserver/docker-mailserver/


Arcane Weapon ability

I thought this ability from the Arcane Fighter subclass had already gotten a fix a while back when I posted about it before. It's still not applying the "magical" tag to the weapon you activate it on.
Save file.zip

fixed on dev.


Upgrade for CakePHP v4.x

Is an upgrade planned to make this work with CakePHP 4.x?
Problem 1
    - Can only install one of: cakephp/cakephp[4.0.1, 3.x-dev].
    - Can only install one of: cakephp/cakephp[3.x-dev, 4.0.1].
    - Can only install one of: cakephp/cakephp[3.x-dev, 4.0.1].
    - admad/cakephp-social-auth 0.6.0 requires cakephp/cakephp ^3.5 -> satisfiable by cakephp/cakephp[3.x-dev].
    - Installation request for admad/cakephp-social-auth ^0.6.0 -> satisfiable by admad/cakephp-social-auth[0.6.0].
    - Installation request for cakephp/cakephp (locked at 4.0.1, required as ^4.0) -> satisfiable by cakephp/cakephp[4.0.1].

Use the cake-4.x branch until a release is done.


ci: use YAML references to define the build-image sha once

Removes duplication of the build-image SHA in .circleci/config.yml
Signed-off-by: Gordon Syme<EMAIL_ADDRESS>

Ah, those CI jobs ran using my personal CircleCI plan which doesn't have configurable resources enabled. I'll remove my fork's project and force-push this commit to trigger a proper workflow.

Neat! TIL something new about YAML.

Yeah, it's pretty handy alright. If you ever get to the point of needing to set env-vars for the build image you can hoist the whole image: ... block into a reference like so
references:
  envoy-build-image: &envoy-build-image
    image: envoyproxy/envoy-build:516cdcd55326648978f8db1fe3a774ec759f5a13
    environment:
      FOO: bar
      BAZ: qux

version: 2
jobs:
  release:
    docker:
      - *envoy-build-image


Proxying fail until restart service

Hi Ali
I'm in Iran and I want to make my shecan ! everything works nicely and has no problem, but after a few minutes service will not work, I mean sni daemon is up and running but on client side no response, In this situation I can get a response from sni server by nslookup command but when I use Links or any other browser to open a site its not possible unit I restart the service and this loop is continuous

Hi!
please run sniproxy and save the logs somewhere and attach it here so I can take a look. can't really help without it. Make sure that you delete/mask any IP addresses that you don't want to be public.

I installed the snipproxy command by go and its works correctly, it seems this problem is shown only in the scripting install way, thank Ali.

yep there are/were some errors in the install.sh. hopefully v2 provides a better config experience.


client.GetUser fails on unmarshal returned user with role

create a role
create a user and grants the role to the user
get the user

fail with error: GetUser json: cannot unmarshal object into Go value of type string.
found when exploring #3675

@yichengq
I have no idea how to fix in without big changes in server API.
This is my preset user_auth.go file: https://gist.github.com/ark76r/21d880eb86d27642ab73
And this is my test code: https://gist.github.com/ark76r/dfdf766b4425617ee2ba
In the modUser function I've added small code to dump actual answer from the server:
var user User
    dumpBody(string(body)) // <- here
    err = json.Unmarshal(body, &user)

This is the dumpBody:
func dumpBody(body string) {
    pc, _, _, _ := runtime.Caller(2)
    fmt.Println(runtime.FuncForPC(pc).Name())
    fmt.Println(">>>", body)
}

I've run my tests, and I've got among the other things such output:
github.com/coreos/etcd/client.(*httpAuthUserAPI).GetUser
>>> {"user":"userA"}

github.com/coreos/etcd/client.(*httpAuthUserAPI).GrantUser
>>> {"user":"userA","roles":["roleA","roleB"]}

github.com/coreos/etcd/client.(*httpAuthUserAPI).GetUser
>>> {"user":"userA","roles":[{"role":"roleA","permissions":{"kv":{"read":["/roleA/path1/*","/roleA/path2/*"],"write":[]}}},{"role":"roleB","permissions":{"kv":{"read":null,"write":null}}}]}

github.com/coreos/etcd/client.(*httpAuthUserAPI).RevokeUser
>>> {"user":"userA","roles":["roleA"]}

If I get it properly, server sometimes returns roles as a list of strings, and sometimes as a list of objects of type Role.
This is why we have to have two definitions of the user:
type User struct {
User     string   `json:"user"`
Password string   `json:"password,omitempty"`
Roles    []Role   `json:"roles"`
Grant    []string `json:"grant,omitempty"`
Revoke   []string `json:"revoke,omitempty"`
}

and
type User struct {
User     string   `json:"user"`
Password string   `json:"password,omitempty"`
Roles    []string   `json:"roles"`
Grant    []string `json:"grant,omitempty"`
Revoke   []string `json:"revoke,omitempty"`
}

And use first or second depending of the use case.
It's even more difficult, because almost all metods of interface AuthUserAPI jus delegate request to the function modUser and in this place I don't know what should I expect from the server.
And this is why I belive server's API has design error.
(of course it's 03:27am here, and I may be just to sleepy to see other solution)

@yichengq
I've prepared version of the AuthUserAPI covering all (I hope) cases.
There are also appropriate changes in etcdctl.
Check PR #3675


Valid Palindrome

can you  pls describe the issue?

hey @vidhichadha2507, I want to contribute to this issue. can you please assign this to me?

hey @vidhichadha2507, I want to contribute to this issue. can you please assign this to me?

You Can now contribute on this issue

Hey can I contribute to this issue??

Hey @vidhichadha2507 , just a suggestion, as you have already merged my PR for this issue, you can close the issue now.

Hey @vidhichadha2507 , just a suggestion, as you have already merged my PR for this issue, you can close the issue now.

Sure


Support load from file without formatted file name

Feature Request
Is your feature request related to a problem? Please describe:

Currently, we just support pass a folder with Mydumper-formatted files. This is in someway too "heavy", and some of other tools like sqlldr can load arbitrary file directly with command-line arguments.
Support importing arbitrary file will make life easier when we want to load some "incremental" csv data using TiDB backend.
Describe the feature you'd like:

add some flags:

-from-file specifies a set of file to load
-to-table specifies which table to load into
-to-db specifies which database to load into

Describe alternatives you've considered:

We can rename those files directly and then load them with our "happy path", but renaming files isn't easy sometimes...
Teachability, Documentation, Adoption, Optimization:

When -from-file presents, we can load file and schema info from -from-file, -to-table, -to-db directly (omit the MyDumper folder), and -no-schema implies.
Then everything go on as normal.

/label difficulty/1-easy

@YuJuncen: are we allowed to only use config files for "to-db" and "to-table"?

@YuJuncen: are we allowed to only use config files for "to-db" and "to-table"?

Why...?

in order to use RFC 5

Seems RFC 5 can cover this scenario without changing any code, cool.
Let me check it, if that is OK, this issue can be closed.

if that is OK it means we need to schedule to implement RFC 5 (currently it is just a proposal but no work has started yet).

Some of users prefer command line arguments, since it could be easier to use and to learn.
Implementing RFC 5 would spend some time, how about firstly implement -from-file first, then after RFC 5 implemented, redirect those flags to RFC 5, leave those flags as a "shortcut" of file routing for some trivial cases.

(Or if no more requirement, we can keep delaying implementation of RFC 5...)

can we close given #366 ?

@YuJuncen PTAL?

can we close given #366 ?

Of course.


package 7zip in agent externals.

Another option is we can download 7z as a tool itself at runtime.  It's a one time hit since the tool cache will protect it.  Hosted will have the tool cache and 7z will be in it.


Thumbnail rendering glitch

After PR #6299 there is a (somewhat minor) visual glitch in the thumbnail viewer when a thumbnail is being rendered. See #6441 for a screenshot. I'm tentatively assigning this to @Snuffleupagus as he appears to have an idea on how to solve this.
I'm also adding https://stackoverflow.com/questions/14396356/force-firefox-to-render-empty-image-within-dimensions-specified-by-css for more documentation on how to possibly solve this. From that page it appears that this issue is Firefox-only.

Conceptually, I'd actually prefer to re-factor this a bit.
My preferred solution would be to (again) render thumbnails on a visible canvas, and once the rendering is done convert to an image and then swap the elements; please see a WIP patch here.
That seem to me to be a slightly more robust solution over all, but unfortunately it doesn't seem to be working perfectly. When testing this there was intermittent flickering (at least in Firefox) when doing replaceChild, which didn't look particularly good.
Since we're kind of short on time here, before the next Firefox release, I choose to submit a much simpler fix which should be an improvement for now. We can then revisit this later on, if we want to.

I actually think this current patch does the work very well. We can indeed always refactor this later on if we wish, but swapping elements does seem a bit tricky to me too to get right.


[Documentation] Broken link while referring to metadata and annotations overview

Thank you for the great work. I was reading about the dataset and while trying to find the metadata details, I discovered that the link directing to the overview of annotations and metadata does not exist yet. I did not find the repository for Ego-4D docs to report it there (sorry if I missed it). Here's the link that I am talking about (did not find a better way to represent it)

Could you please update it to the correct link so that is easier to find it in the documentation. ( I suppose it is this and this?). Thank you.

Thanks for catching this @pranay-ar! Fixed in https://github.com/EGO4D/EGO4D.github.io/pull/16!


Dev

Codecov Report

Merging #347 (6c40606) into master (68db3af) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 6c40606 differs from pull request most recent head c8a4c9e. Consider uploading reports for the commit c8a4c9e to get more accurate results

@@          Coverage Diff           @@
##           master    #347   +/-   ##
======================================
  Coverage    0.00%   0.00%
======================================
  Files           2       2
  Lines          27      27
  Branches        1       1
======================================
  Misses         27      27

Continue to review full report at Codecov.

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


3 vertical dots, watch later and share isn't clickable

When I am not using IFrameOptions these aren't clickable and no options are provided. If the views are shown it should be clickable otherwise there should be a way to hide them. Also, If I try using IFrameOptions I don't find any way to show fullscreen options.

This is explained in the doc. Enable webUi.


The list of GitHub-hosted macOS runners is out of date

Code of Conduct

[X] I have read and agree to the GitHub Docs project's Code of Conduct

What article on docs.github.com is affected?
https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#preinstalled-software
What part(s) of the article would you like to see updated?
The list of GitHub-hosted runners on "About GitHub-hosted runners", section "Preinstalled software" is out of date. macOS 10.15 support has been dropped (actions/runner-images#5583), and macOS 13 runner is now available (actions/runner-images#6426).
Additional information
No response

@ZhongRuoyu Thank you for opening an issue and linking it to your PR! ✨


request-changes-if-not-clean should be an option

It's an option but it's not documented in README:
https://github.com/CatChen/check-git-status-action/blob/b544b79da833fff6b501acbe1bb9274afeb88a5f/action.yml#L12-L15

Resolved by #594.


SQL editor will not close after opening read only files

Windows 10  (1809) machine running DBeaver <IP_ADDRESS>005031953.
In SQL Editor, after successful creation of a working query, I save it to a folder and mark it as read only. Thereafter if I open the same file it appears in the the sql editor as modified (* appears on the tab) and will never close on clicking the close (x) button on the tab. I will need to kill the program or choose to save as the file.
This issue can be reproduced by just opening a read only sql script in dbeaver. Then without changing anything try to close the file by clicking the (x) on the tab.

Please see the attachment

hi @informje ,
unfortunately, cannot reproduce an issue.
could you provide you read-only file example? thanks in advance

Me too could not reproduce this issue. Actually, the first line of the function somehow moved up in the read only file to cause this issue. This is evident in the screen shot provided. What caused it I am unable to tell.  But , I have experienced this 3 or 4 times at least. Will post back with more details when I come across this again. Any logs to look for that will provide hints?

thanks for response.
Logs could be very helpful.

Attached is the whole DBeaverData folder in the Roaming profile. If it was something else you wanted, please let me know. The issue occurred  around the same date I made the original bug report. Tnx
DBeaverData.zip

Guy, I hope you didn't save anything more than development databases... there be passwords stored in that folder of yours.

it is only a dev env.

Ok. I was able to reproduce this bug. Below are the steps. It does not happen normally but it does in my environment as we always do step one below.

Enable writing connection binding in script header.

Create a .sql file. Add an extra blank line at the beginning of the file (above the connection info). Save and mark the file as read only.

Now open this read only file in Dbeaver, the application adds connection info at the beginning of the read only file. Thereafter it never saves or let us exit the application. Need to start Task manager to kill it.

I am using the Dbeaver CE Version <IP_ADDRESS>006031909 windows app on windows 10 1903. The same issue was happening on desktop versions also.
Thanks,

@informje , still cannot reproduce :( what am I doing wrong? :(

Hi, You are doing it correctly. But why I am I not getting the dialogue box asking if I want to make the file writable? Instead, I am getting an infinite loop with that error dialogue in my environment.
Which version of Dbeaver / OS are you using?  Let me try that. Tnx
Get Outlook for Android
On Wed, Jul 29, 2020 at 7:51 AM -0400, "uslss"<EMAIL_ADDRESS>wrote:
@informje , still cannot reproduce :( what am I doing wrong? :(
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Try it against 7.1.0 CE, pop-up is still triggered. Error pop-up mentioned by you appears only in case I choose not to make file writable.
Could you try to reset UI settings (Main Menu: File - Reset UI Settings) and write back if it helps?
thank you in advance

there is no update on the issue for a long time.
If the issue is still actual for you - feel free to reopen the ticket with additional info that could help to investigate and reproduce an issue.


[ROCm] Fix for the broken ROCm CSB.

The following commit breaks the --config=rocm build
https://github.com/tensorflow/tensorflow/commit/bf9c196f37b9cbb3109b2891aaf9da85bf5f712a
The above commit adds support for complex type in the optimizers. Complex types are not supported on the ROCm platform. Support for it needs to be excluded on the ROCm platform, and that is what this "fix" does.

@chsigg, @whchung please review
If possible, we would like to get this PR merged before the cutoff for TF2.1 tomorrow
thanks

@chsigg gentle ping

@chsigg gentle ping

@rthadur , anything we can do to help get this PR merged?


Thread - There is "No activity yet" message on LHN for a short time when replying to a message in thread and remove it

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open website and any task
Write something and reply in thread. Remove it on Thread.

Expected Result:
There should have any "No activity yet" message for a short time even replying to a message in thread and remove it
Actual Result:
There is "No activity yet" message for a short time when replying to a message in thread and remove it
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: v1.3.62-4
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/115492554/c1ad5bed-9311-4cd8-8e4a-d91f8ca18bb4
https://github.com/Expensify/App/assets/115492554/32cdde18-ffbe-486c-aa5f-c64a662e3586
Expensify/Expensify Issue URL:
Issue reported by: @mahmudjontoraqulov
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1692964753040559
View all open jobs on GitHub

Catching up from ooo and unable to test this yet. Will get to it tomorrow

I don't think this is a bug


Define broadcast/1 inside a job declaration

It seems quite intuitive to have a job definition like the following:
use Kitto.Job.DSL

job :jenkins, every: :minute do
  broadcast! Jenkins.some_api_request
end

Where broadcast! will use the name of the job as the topic.

I like it. I'd assume 90% of jobs only broadcast a single metric (except when it's me writing JIRA jobs  😜). What would happen if someone tried to broadcast twice within a job?

What would happen if someone tried to broadcast twice within a job?

Do you mean something like:
use Kitto.Job.DSL

job :jenkins, every: :minute do
  broadcast! Jenkins.some_api_request
  broadcast! Jenkins.some_other_api_request
end

?
broadcast! would emit two events to the same topic.

Implemented in https://github.com/kittoframework/kitto/commit/e035f4c03974d4daf4e4851506659fdb384df30b


Rancher Metadata Service

Hi, I am now working with Metadata service.
I have two questions here:

If I have two services with same name in different stacks  (i.e. Default/nd1,  stack2/nd1), the http://rancher-metadata/2015-07-25/services/nd1 would only return the first one it found.
root@f93a52f152c9:/# curl --header 'Accept: application/json'  'http://rancher-metadata/2015-07-25/self/stack'
{"environment_name":"Default","name":"Default","services":["nd1"]}

root@f93a52f152c9:/# curl --header 'Accept: application/json'  'http://rancher-metadata/2015-07-25/services/nd1'
{"containers":["Default_nd1_1"],"external_ips":[],"hostname":null,"kind":"service","labels":{"location":"/getRequest1"},"links":{},"metadata":{},"name":"nd1","ports":[],"sidekicks":[],"stack_name":"Default","vip":"<IP_ADDRESS>"}

root@f8ba45f30e7e:/# curl --header 'Accept: application/json'  'http://rancher-metadata/2015-07-25/self/stack'
{"environment_name":"Default","name":"stack2","services":["nd1"]}

root@f8ba45f30e7e:/# curl --header 'Accept: application/json'  'http://rancher-metadata/2015-07-25/services/nd1'
{"containers":["Default_nd1_1"],"external_ips":[],"hostname":null,"kind":"service","labels":{"location":"/getRequest1"},"links":{},"metadata":{},"name":"nd1","ports":[],"sidekicks":[],"stack_name":"Default","vip":"<IP_ADDRESS>"}

Is that possible to add one API that only returns the current stack's services or let the current API return all the services with the same name in different stacks?

I noticed that
Note: Metadata service is not available for system containers, i.e. Network Agent and LB Agent.
So it means only the Metadata cannot be used in system containers or all the API cannot work?
I can get the LB service (i.e. gateway) using
curl --header 'Accept: application/json'  	'http://rancher-metadata/2015-07-25/services/gateway' ,
However, if I modified the LB or add one from rancher web UI at run time, the Labels (io.rancher.loadbalancer.target) would not change.
Thank you for your help.

@shotai

We are aware of the usability bug when you can't query the service only for a particular stack name; and its in plans to be fixed soon.

rancher-metadata is not available to system containers, but all the information about Lb services and corresponding targets gets programmed to the metadata.

Regarding changing the targets. It is a bug that the load balancer host name routing rules are not being propagated to the metadata properly. You can only see all the target services registered to an LB by querying "links" field:

http://rancher-metadata/2015-07-25/services/gateway/links
but corresponding host name routing rules are not being updated. @deniseschannon ^^ its something we need to fix

Created https://github.com/rancher/rancher/issues/2446 for the fact that you can't find the hostname routing rules using the metadata service


Can't build MixedRemoteViewCompositor, VS2017, sdk 10.0.16299

Compiler errors in both Win32 and WSA builds when target platform changed to sdk 10.0.16299.0:
1>f:\git\github\mixedrealitycompanionkit\mixedremoteviewcompositor\source\shared\pch.h(78): error C2374: 'MFSampleExtension_PinholeCameraIntrinsics': redefinition; multiple initialization 1>c:\program files (x86)\windows kits\10\include\10.0.16299.0\um\mfapi.h(3382): note: see declaration of 'MFSampleExtension_PinholeCameraIntrinsics' 1>f:\git\github\mixedrealitycompanionkit\mixedremoteviewcompositor\source\wsa\mixedremoteviewcompositor.h(1064): error C2059: syntax error: '}' 1>f:\git\github\mixedrealitycompanionkit\mixedremoteviewcompositor\source\wsa\mixedremoteviewcompositor.h(1064): error C2143: syntax error: missing ';' before '}' 1>f:\git\github\mixedrealitycompanionkit\mixedremoteviewcompositor\source\wsa\mixedremoteviewcompositor.h(1071): error C2143: syntax error: missing ';' before '{' 1>f:\git\github\mixedrealitycompanionkit\mixedremoteviewcompositor\source\wsa\mixedremoteviewcompositor.h(1071): error C2447: '{': missing function header (old-style formal list?) 1>f:\git\github\mixedrealitycompanionkit\mixedremoteviewcompositor\source\shared\pch.cpp(5): fatal error C1004: unexpected end-of-file found 1>Done building project "WSA.vcxproj" -- FAILED. ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
I don't know where to start looking for the problem.
Somehow I got this working yesterday, but I have no idea what I did.  Thanks.

Have the very same problem here

I installed VS2015, Windows SDK 10586, 10240 and solved the problem. :-/

Hello, I am having the same problem. It seems to be related to changing versions of the MIDLRT Compiler (it goes from 8.01.0622 to 10.00.0206) and the source code in MixedRemoteViewCompositor.idl.
Let me elaborate:
I am upgrading MixedRemoteViewCompositor to the 10.0.18362.0 and v142. While moving to v142 wasn't a problem, I ran into the following two problems:

10.0.14393.0 introduces MFPinholeCameraIntrinsics, so I had to make sure  MixedRemoteViewCompositor uses ABI::MixedRemoteViewCompositor::MFPinholeCameraIntrinsics instead of the ambiguous MFPinholeCameraIntrinsics.
10.0.15063.0 works without further changes after the above change
10.0.16299.0 fails with the problem listed on this issue (#297)

My current hunch to fix this is to remove / change some of the cpp_quote commands in MixedRemoteViewCompositor.idl. For instance, this looks rather sketchy to me:
 // Additional imports to ensure that all required headers are included
cpp_quote("#if defined(__cplusplus)")
cpp_quote("}")
cpp_quote("#endif // defined(__cplusplus)")

It seems like the person who wrote this really knew what they were doing but did not document the reasons for what they did. I tried looking into the generated files  MixedRemoteViewCompositor.h but they differ a lot across versions (MIDLRT Compiler Engine Version 10.00.0206  generates 9724 lines and MIDL compiler version 8.01.0622 generates 10264 lines).
My plan is to make some changes to the repository; thus I am upgrading SDK versions. Not sure that's the best way to go, tho!
Please, let me know if you have tried something or can help with this update.
@carmines , could you shed some light on this matter?
Thanks!

Honestly, at this point is worth looking at this instead of upgrading the MixedRemoteViewCompositor: https://github.com/microsoft/MixedRealityCompanionKit/tree/master/RealtimeStreaming. It is written using C++/WinRT instead of the deprecated C++/WRL. Also, it runs on Windows 10 1809 (SDK 10.0.17763).


clangd does not repect first arguments[0] in compile_commands.json

Please describe the problem.
When I have cross-compiler in compile_commands.json as the first element in "arguments[]", clangd seems not ignoring it, and it report information such as:
:CocDiagnostics
error | [clang drv_clang_unsupported]: the clang compiler does not support '-mcpu=arm8'  [E]
error | [clang drv_unknown_argument]: Unknown argument: '-malways-align' [E]
...

It seems the x86 native clang is used instead of my cross-compiler in arguments[0], as those flags are not for x86 clang but from my cross-compiler clang.
If you can, provide a minimal chunk of code that shows the problem (either inline, or attach it if larger).
Logs
I[21:53:00.714] clangd version 14.0.0 (https://github.com/llvm/llvm-project 329fda39c507e8740978d10458451dcdb21563be)
I[21:53:00.714] Features: linux+grpc
I[21:53:00.714] PID: 19564
I[21:53:00.714] Working directory: /home/xtest/projectc
I[21:53:00.714] argv[0]: /home/xtest/.config/coc/extensions/coc-clangd-data/install/14.0.0/clangd_14.0.0/bin/clangd
I[21:53:00.714] Starting LSP over stdin/stdout
I[21:53:00.718] <-- initialize(0)
I[21:53:00.718] --> reply:initialize(0) 0 ms
I[21:53:00.726] <-- initialized
I[21:53:00.726] <-- textDocument/didOpen
E[21:53:00.727] config error at /home/xtest/.config/clangd/config.yaml:1:0: Config should be a dictionary
I[21:53:00.727] --> textDocument/publishDiagnostics
I[21:53:00.727] Loaded compilation database from /home/xtest/projectc/compile_commands.json
I[21:53:00.727] --> window/workDoneProgress/create(0)
I[21:53:00.727] ASTWorker building file /home/xtest/projectc/c/capsule.c version 1 with command
[/home/xtest/projectc]
/opt/arm-elf-newlib/arm-elf-newlib.sdk/bin/arm-elf-clang --target=arm-elf -Iinc -mcpu=arm8 -mext-vector -mext-dsp -mcmodel=medium -Wall -Wextra -Wno-unused-parameter -Wno-unused-variable -fdata-sections -ffunction-sections -mstrict-align -malways-align -mno-save-restore -Wl,--gc-sections -Wl,--entry=main -Wl,-Ttext=0x00000000 -Wl,-Tbss=0x00020000 -Wl,-Tdata=0x00040000 -static -nostdlib -nostartfiles -ffreestanding -g3 -O1 -c -o c/capsule.o -resource-dir=/home/xtest/.config/coc/extensions/coc-clangd-data/install/14.0.0/clangd_14.0.0/lib/clang/14.0.0 -- /home/xtest/projectc/c/capsule.c
I[21:53:00.727] Enqueueing 2 commands for indexing
I[21:53:00.728] <-- reply(0)
I[21:53:00.728] --> $/progress
I[21:53:00.728] --> $/progress
E[21:53:00.730] Indexing /home/xtest/projectc/runtime/runtime.c failed: Couldn't build compiler instance
I[21:53:00.730] --> $/progress
I[21:53:00.731] --> textDocument/clangd.fileStatus
E[21:53:00.731] Indexing /home/xtest/projectc/c/capsule.c failed: Couldn't build compiler instance
I[21:53:00.731] --> $/progress
E[21:53:00.731] Could not build a preamble for file /home/xtest/projectc/c/capsule.c version 1: CreateTargetInfo() return null
I[21:53:00.731] --> workspace/semanticTokens/refresh(1)
E[21:53:00.731] Failed to prepare a compiler instance: valid target CPU values are: generic-rv64, rocket-rv64, sifive-7-rv64, sifive-s21, sifive-s51, sifive-s54, sifive-s76, sifive-u54, sifive-u74
I[21:53:00.731] --> textDocument/publishDiagnostics
I[21:53:00.731] --> textDocument/clangd.fileStatus
I[21:53:00.733] <-- reply(1)
I[21:53:02.621] <-- textDocument/didSave
I[21:53:02.621] File version went from 1 to 1
I[21:53:02.621] --> textDocument/clangd.fileStatus
I[21:53:02.671] ASTWorker building file /home/xtest/projectc/c/capsule.c version 1 with command
[/home/xtest/projectc]
/opt/arm-elf-newlib/arm-elf-newlib.sdk/bin/arm-elf-clang --target=arm-elf -Iinc -mcpu=arm8 -mext-vector -mext-dsp -mcmodel=medium -Wall -Wextra -Wno-unused-parameter -Wno-unused-variable -fdata-sections -ffunction-sections -mstrict-align -malways-align -mno-save-restore -Wl,--gc-sections -Wl,--entry=main -Wl,-Ttext=0x00000000 -Wl,-Tbss=0x00020000 -Wl,-Tdata=0x00040000 -static -nostdlib -nostartfiles -ffreestanding -g3 -O1 -c -o c/capsule.o -resource-dir=/home/xtest/.config/coc/extensions/coc-clangd-data/install/14.0.0/clangd_14.0.0/lib/clang/14.0.0 -- /home/xtest/projectc/c/capsule.c
I[21:53:02.673] --> textDocument/clangd.fileStatus
I[21:53:02.673] --> textDocument/clangd.fileStatus
E[21:53:02.673] Could not build a preamble for file /home/xtest/projectc/c/capsule.c version 1: CreateTargetInfo() return null
I[21:53:02.673] --> workspace/semanticTokens/refresh(2)
I[21:53:02.673] --> textDocument/clangd.fileStatus
I[21:53:02.673] Skipping rebuild of the AST for /home/xtest/projectc/c/capsule.c, inputs are the same.
I[21:53:02.673] --> textDocument/publishDiagnostics
I[21:53:02.674] --> textDocument/clangd.fileStatus
I[21:53:02.675] <-- reply(2)

System information
Clangd version (from the log, or clangd --version):
14.0.0
## versions

vim version: VIM - Vi IMproved 8.1 8013741
node version: v16.14.2
coc.nvim version: 0.0.80-1c4c2ab0 2022-04-11 01:28:56 +0800
coc.nvim directory: /home/xtest/.vim/plugged/coc.nvim
term: dumb
platform: linux

## Log of coc.nvim

2022-04-27T21:59:53.807 INFO (pid:21017) [services] - registered service "languageserver.zls"
2022-04-27T21:59:53.808 INFO (pid:21017) [services] - registered service "languageserver.lua"
2022-04-27T21:59:53.808 INFO (pid:21017) [services] - registered service "languageserver.golang"
2022-04-27T21:59:53.876 INFO (pid:21017) [plugin] - coc.nvim initialized with node: v16.14.2 after 121ms
2022-04-27T21:59:53.882 INFO (pid:21017) [services] - registered service "clangd"
2022-04-27T21:59:53.882 INFO (pid:21017) [services] - clangd state change: stopped => starting
2022-04-27T21:59:53.885 INFO (pid:21017) [language-client-index] - Language server "clangd" started with 21039
2022-04-27T21:59:53.892 INFO (pid:21017) [services] - clangd state change: starting => running
2022-04-27T21:59:53.896 INFO (pid:21017) [services] - service clangd started
2022-04-27T21:59:56.149 INFO (pid:21017) [attach] - receive notification: showInfo []

clangd extension version (from :CocInfo):
Operating system: ubuntu 20.04

clangd's issue.

With #1142 fixed, the diagnostics about unrecognized arguments could be suppressed using https://clangd.llvm.org/config.html#suppress.
Not sure what would need to happen to clangd to actually recognize these arguments.

With #1142 fixed, the diagnostics about unrecognized arguments could be suppressed using https://clangd.llvm.org/config.html#suppress.

I guess suppressing the error is not helpful in this case, because "Couldn't build compiler instance" in the logs suggests it is fatal.
Looking at the logs a bit more, this line:

E[21:53:00.731] Failed to prepare a compiler instance: valid target CPU values are: generic-rv64, rocket-rv64, sifive-7-rv64, sifive-s21, sifive-s51, sifive-s54, sifive-s76, sifive-u54, sifive-u74

suggests that the problem is likely with the -mcpu=arm8 flag in the command line.
You can try excluding it with https://clangd.llvm.org/config.html#remove, perhaps that helps?


Flaky smoke test: install and enable vscode-smoketest-check extension

https://dev.azure.com/monacotools/Monaco/_build/results?buildId=237761&view=logs&j=260a512b-e5ca-5cf1-3f8e-20c0fa41efc9&t=82df682a-a732-590f-d041-2bbd067871c9
 1) VSCode Smoke Tests (Web)
       Extensions
         install and enable vscode-smoketest-check extension:
     Error: QuickAccess.runCommand(commandId: Extensions: Focus on Extensions View) failed to find command.

@bpasero / @TylerLeonhardt Any idea what could have gone wrong? I am not sure how I can figure out if the workbench is restored or not from the screenshots.

@sandy081 have you tried to see the trace at https://trace.playwright.dev/?
Trace link: https://artprodeus21.artifacts.visualstudio.com/A341001b6-62a6-4d7e-aa61-779aea3de100/a6d41577-0fa3-498e-af22-257312ff0545/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL21vbmFjb3Rvb2xzL3Byb2plY3RJZC9hNmQ0MTU3Ny0wZmEzLTQ5OGUtYWYyMi0yNTczMTJmZjA1NDUvYnVpbGRJZC8yMzc3NjEvYXJ0aWZhY3ROYW1lL2xvZ3MtbWFjb3MteDY0LXNtb2tlLTE1/content?format=file&subPath=%2Fsmoke-tests-browser%2F9_suite_Extensions%2Fplaywright-trace-1-install_and_enable_vscode-smoketest-check_extension.zip

This is likely the same as that other issue where the contributor of this command isn't starting up fast enough because of what it's activated. It's on Restored right?

This is the same issue indeed and it's the same command as before. I have added a new API whenWorkbenchRestored to our window driver and let smoke tests commands util to wait until workbench is restored if the command is not found.
https://github.com/microsoft/vscode/blob/29cbf57374f33a0a1ab111eac12650891aad1a94/src/vs/workbench/services/driver/browser/driver.ts#L30
This is failing even waiting until workbench is restored. I wonder if there is a race condition on waiting this promise?

@bpasero I checked the trace and it seems this command was not found even after 10s

@sandy081 I see you added whenWorkbenchRestored utility but only use it in quickaccess.runCommand. How about moving this into here:
https://github.com/microsoft/vscode/blob/2ff3e98d7747f922188bb4c7eca2c28733f3ae51/test/automation/src/application.ts#L117
That way at least we can know for sure that smoke tests only begin to execute when the workbench is restored. I think that would be a good way to have consistent runs.
I am not sure it would address this issue here but think its a good start: if smoke tests run after restored and the commands do not appear in quick pick, then the command registration is broken.


[Lit] Investigate upgrade to Lit 2.x

The problem
Carbon Web Components is currently running on v1.x of lit-element / lit-html. This is one of the fundamental libraries used for rendering web components within this repository.
The solution
Investigate the level of effort for upgrading carbon-web-components to Lit 2.x.
Additional information

Investigation should consider users that are currently on lit-html/lit-element, and if there is any messaging necessary to have users upgrade to lit 2.
Carbon for IBM.com web components uses carbon-web-components fundamentally, and should understand what the impact would be with this upgrade as well. (https://www.github.com/carbon-design-system/carbon-for-ibm-dotcom).
Upgrade documentation: https://lit.dev/docs/releases/upgrade/

To be added to the June 28 engineering issues refinement meeting agenda.

Any decisions regarding this?

@gmosx The investigation work has been scheduled in our next sprint, 21-17.  The dates are:  Aug 16 - 27.

Thank you. It makes sense that the new version of Carbon uses the new version of lit. 🙏

Going through the upgrade steps, the updates are fairly straight forward, except for the custom spread directive: https://github.com/carbon-design-system/carbon-web-components/blob/master/src/globals/directives/spread.ts.
According to documentation, the directive will need to be updated to 2.0 spec:
https://lit.dev/docs/releases/upgrade/#example-directive-migration

Regarding the spread directive, please check this: https://github.com/lit/lit/pull/1960

Thank you @abdonrd ! We will certainly keep an eye on that and ideally we can just use that when we upgrade to lit 2.0.
For reference, a working branch of the upgrade (not PR ready yet):
https://github.com/jeffchew/carbon-web-components/commit/40ddff2b9480a07f4bb7f8333339e8323ec34c9a
The spread directive is probably one of the main things we are waiting on before we can hopefully move this forward.

I just see your branch.
Remember that you need to use the path with extensions:
import { property, customElement } from 'lit/decorators.js';

import { repeat } from 'lit-html/directives/repeat.js';

And there is already a new Lit RC<EMAIL_ADDRESS>

Thanks! I'll make those updates!

Looks like this is not happening this year?
FWIW, I can happily mix both major versions of lit and it keeps carbon happy
{
  "dependencies": {
    "lit": "^2.0.2",
    "lit-element": "^2.5.1",
    "lit-html": "^1.4.1"
  }
}

The only problem I have encountered so far is that icons cannot be directly rendered inside lit@2 template

Reference to more projects migrated/migrating to Lit v2:

https://github.com/adobe/spectrum-web-components/pull/1401
https://github.com/patternfly/patternfly-elements/pull/1804

Reference to more projects migrated/migrating to Lit v2:

feat: use "lit" instead of "lit-html" and "lit-element" adobe/spectrum-web-components#1401
Update Lit to v2 ing-bank/lion#1489
⚡ PatternFly Elements 2.0: Lit, TypeScript, pfe-tools, and more patternfly/patternfly-elements#1804

Thank you for the references!
I think we're still blocked on the spread directive. I saw some chatter about folks might try to roll their own instead, though we will have to evaluate if we can do the same.

I’m supposed to commit the one we use to OpenWC for publication as the main library will NOT be shipping one. I’ll try to get it together tomorrow to see if we can get enough voices involved to ship it soon!

https://github.com/open-wc/open-wc/pull/2398

Cool! Thanks @Westbrook!
@jeffchew there you have it! 🎉

Hey team! Please add your planning poker estimate with ZenHub @ariellalgilmore @emyarod @IgnacioBecerra @jeffchew


Update getting_started.md

Everywhere in Marketing Campaigns we talk about building campaigns as opposed to "emails," suggest changing this title as "sending an email" feels smaller than "Sending a Campaign"

Description of the change:
Reason for the change:
Link to original source:

Closes #
@ksigler7

Hello @mollyfriederich,Thanks again for the PR! It's HACKTOBERFEST! We want to show our appreciation by sending                                              you some special Hacktoberfest swag. If you have not already, could you please fill out                                              this form so we can send it to you? Thanks!                                             Team SendGrid DX


custom LSP requests

I was writing some handlers in Neovim for createInterface and openCompiled. Methods names use the same format to register commands in vscode e.g rescript-vscode.open_compiled
Rename methods names, following LSP spec:

rescript-vscode.open_compiled => textDocument/openCompiled
rescript-vscode.create_interface => textDocument/createInterface

Response changes:

textDocument/openCompiled now return uri file scheme
textDocument/createInterface now return the path of the file, so that I can open the file after creation

This is nice! I'll review soon.

Did you test all of this in VSCode again after making the changes?

@aspeddro would you resolve the merge conflict? Then we're ready to go.


Documented default fallback value and RanToCompletion

For Swallow... methods that don't take a fallback value, it had been undocumented what fallback value would be provided. This PR clarifies that the default value of the type is be provided.
For SwallowAsync, the documentation referenced exceptions. However, exceptions only exist in the try/catch-based implementation of the methods. If the methods were implemented using ContinueWith, there would be no exceptions at all. This PR changes the terminology to refer to task state, which is what the Swallow method is actually looking at (and what try/catch in the async/await construct look at under the hood). For an example, of task state terminology, see the documentation for Task.WhenAll.
For SwallowAsync, this PR also changes the type from T to TResult, which is the convention for Task.
Finally, this PR adds definite articles to avoid sporadic caveman language.

Hey Thanks for this contribution.
Too bad the PR is out-of-sync with our master. Can you fix that? Thanks!

There was a new SwallowAsync overload. It had some copy-and-paste errors in its documentation. I corrected those and updated its terminology for accuracy.

Thanks for the quick response!


en: add handle-alerts.md and alert-rules.md

add handle-alerts.md and alert-rules.md

What is changed, added or deleted? (Required)

Which DM version(s) do your changes apply to? (Required)

[x] master (the latest development version, including v2.0 changes for now)
[x] v1.0 (TiDB DM 1.0 versions)

What is the related PR or file link(s)?

This PR is translated from: https://github.com/pingcap/docs-dm/pull/93
Other reference link(s):

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

PTAL

ci failed because had a dead link, please fix it

TOC updated in https://github.com/pingcap/docs-dm/pull/133

/merge


SonyLIV download error

[x] I've verified and I assure that I'm running youtube-dl 2018.06.25
[x] At least skimmed through the README, most notably the FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones
[x] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

[x] Bug report (encountered problems with youtube-dl)

If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
Add the -v flag to your command line you run youtube-dl with (youtube-dl -v <your command line>), copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):
python -m youtube_dl -F -v https://www.sonyliv.com/details/highlights/5802755001001/Serbia-v-Brazil---Full-Match-Highlights---2018-FIFA-World-Cup-Russia™---27th-June,-2018 --no-geo-bypass
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-F', '-v', 'https://www.sonyliv.com/details/highlights/5802755001001/Serbia-v-Brazil---Full-Match-Highlights---2018-FIFA-World-Cup-Russia™---27th-June,-2018', '--no-geo-bypass']
[debug] Encodings: locale cp1252, fs utf-8, out utf-8, pref cp1252
[debug] youtube-dl version 2018.06.25
[debug] Git HEAD: 7b393f9cc
[debug] Python version 3.7.0 (CPython) - Windows-10-10.0.17134-SP0
[debug] exe versions: none
[debug] Proxy map: {}
[brightcove:new] ref:5802755001001: Downloading webpage
[brightcove:new] ref:5802755001001: Downloading JSON metadata
Traceback (most recent call last):
  File "C:\Users\Windows\AppData\Local\Programs\Python\Python37-32\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Users\Windows\AppData\Local\Programs\Python\Python37-32\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\Windows\Downloads\youtube-dl\youtube_dl\__main__.py", line 19, in <module>
    youtube_dl.main()
  File "C:\Users\Windows\Downloads\youtube-dl\youtube_dl\__init__.py", line 472, in main
    _real_main(argv)
  File "C:\Users\Windows\Downloads\youtube-dl\youtube_dl\__init__.py", line 462, in _real_main
    retcode = ydl.download(all_urls)
  File "C:\Users\Windows\Downloads\youtube-dl\youtube_dl\YoutubeDL.py", line 2001, in download
    url, force_generic_extractor=self.params.get('force_generic_extractor', False))
  File "C:\Users\Windows\Downloads\youtube-dl\youtube_dl\YoutubeDL.py", line 803, in extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "C:\Users\Windows\Downloads\youtube-dl\youtube_dl\YoutubeDL.py", line 864, in process_ie_result
    extra_info=extra_info)
  File "C:\Users\Windows\Downloads\youtube-dl\youtube_dl\YoutubeDL.py", line 792, in extract_info
    ie_result = ie.extract(url)
  File "C:\Users\Windows\Downloads\youtube-dl\youtube_dl\extractor\common.py", line 501, in extract
    ie_result = self._real_extract(url)
  File "C:\Users\Windows\Downloads\youtube-dl\youtube_dl\extractor\brightcove.py", line 718, in _real_extract
    json_data = self._download_json(api_url, video_id, headers=headers)
  File "C:\Users\Windows\Downloads\youtube-dl\youtube_dl\extractor\common.py", line 858, in _download_json
    expected_status=expected_status)
  File "C:\Users\Windows\Downloads\youtube-dl\youtube_dl\extractor\common.py", line 836, in _download_json_handle
    expected_status=expected_status)
  File "C:\Users\Windows\Downloads\youtube-dl\youtube_dl\extractor\adobepass.py", line 1332, in _download_webpage_handle
    *args, **compat_kwargs(kwargs))
  File "C:\Users\Windows\Downloads\youtube-dl\youtube_dl\extractor\common.py", line 626, in _download_webpage_handle
    urlh = self._request_webpage(url_or_request, video_id, note, errnote, fatal, data=data, headers=headers, query=query, expected_status=expected_status)
  File "C:\Users\Windows\Downloads\youtube-dl\youtube_dl\extractor\common.py", line 598, in _request_webpage
    return self._downloader.urlopen(url_or_request)
  File "C:\Users\Windows\Downloads\youtube-dl\youtube_dl\YoutubeDL.py", line 2211, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "C:\Users\Windows\AppData\Local\Programs\Python\Python37-32\lib\urllib\request.py", line 525, in open
    response = self._open(req, data)
  File "C:\Users\Windows\AppData\Local\Programs\Python\Python37-32\lib\urllib\request.py", line 543, in _open
    '_open', req)
  File "C:\Users\Windows\AppData\Local\Programs\Python\Python37-32\lib\urllib\request.py", line 503, in _call_chain
    result = func(*args)
  File "C:\Users\Windows\Downloads\youtube-dl\youtube_dl\utils.py", line 1101, in https_open
    req, **kwargs)
  File "C:\Users\Windows\AppData\Local\Programs\Python\Python37-32\lib\urllib\request.py", line 1317, in do_open
    encode_chunked=req.has_header('Transfer-encoding'))
  File "C:\Users\Windows\AppData\Local\Programs\Python\Python37-32\lib\http\client.py", line 1229, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "C:\Users\Windows\AppData\Local\Programs\Python\Python37-32\lib\http\client.py", line 1270, in _send_request
    self.putheader(hdr, value)
  File "C:\Users\Windows\AppData\Local\Programs\Python\Python37-32\lib\http\client.py", line 1202, in putheader
    values[i] = one_value.encode('latin-1')
UnicodeEncodeError: 'latin-1' codec can't encode character '\u2122' in position 125: ordinal not in range(256)

Description of your issue, suggested solution and other information
Earlier there was a fairplay encryption issue, which was fixed by @remitamine. Please look into the current issue.

@remitamine @dstftw

Hi.
Fixed it. It was an issue with some character in the URL.
Changing the URL from "https://www.sonyliv.com/details/highlights/5802755001001/Serbia-v-Brazil---Full-Match-Highlights---2018-FIFA-World-Cup-Russia™---27th-June,-2018" to
"https://www.sonyliv.com/details/highlights/5802755001001/" fixed the download.
Sorry for bothering.


There is a problem with drawing pictures for months and quarters

Q:How does spending behavior differ from month to month? Analyze it visually

Q:How does consumer behavior differ from quarter to quarter? Analyze it visually

There is no problem with the quarter drawing, but there is an error when drawing the month

- Reason for Closure: [query using %%Y-%%M, MYSQL cannot recognize it]
- Solution Implemented: [query using %Y-%M]

If you have any further questions or concerns, please feel free to reopen the issue or open a new one. Your feedback is valuable to us, and we encourage continued collaboration.
Thank you,
[leonliuzx]
[DeepBI]


[Event Request] page 393 "Item Reclass. Journal" - OnActionGetBinContentOnAfterSetFilters

Can we please get the following event?
action("Get Bin Content")
{
    AccessByPermission = TableData "Bin Content" = R;
    ApplicationArea = Warehouse;
    Caption = 'Get Bin Content';
    Ellipsis = true;
    Image = GetBinContent;
    ToolTip = 'Use a function to create transfer lines with items to put away or pick based on the actual content in the specified bin.';

    trigger OnAction()
    var
        BinContent: Record "Bin Content";
        GetBinContent: Report "Whse. Get Bin Content";
    begin
        BinContent.SetRange("Location Code", "Location Code");
        OnActionGetBinContentOnAfterSetFilters(Rec, BinContent); //NEW Event
        GetBinContent.SetTableView(BinContent);
        GetBinContent.InitializeItemJournalLine(Rec);
        GetBinContent.RunModal();
        CurrPage.Update(false);
    end;
}

[IntegrationEvent(false, false)]
local procedure OnActionGetBinContentOnAfterSetFilters(var ItemJournalLine: Record "Item Journal Line"; var BinContent: Record "Bin Content";)
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


add add to cart function in for-sale.html

Added button for addToCart in for-sale.html underneath the make order button

Add viewing the cart can remove item, but can not change the quantity for now

I left a comment about an issue in Trello


Create addon windup CR and other fixes

This PR does the following :

Create the addon CR in Tackle namespace and corresponding PVC
Addon CR reference to windup-addon quay.io repository and PVC name , the m2 reference is fixed , not configurable via operator.
Implement tackle_rwx_storage_class and tackle_rwo_storage_class
-  tackle_rwx_storage_class will set the storageclass for all Tackle RWX requested PVCs
-  tackle_rwo_storage_class will set the storageclass for all Tackle RWO requested PVCs
Update RBAC to allow operator SA to handle addons
Update documentation with important operator settings, storage requirements and other minor fixes
Fixes #13 and #14
Tested on OCP v4.10 with NFS PVs

Few comments but LTGM.
Thanks!


Provide ability to exclude some artifacts produced by artifacts transformation

In some case, we need to exculde just some artifacts generated by artifact transformation.
For example, an android application depends on an android library "com.example:library:1.0".
The resolved artifact is a file  library-1.0.aar whose format is android archive bundle.
The content of the bundle is:
classes.jar
res/
R.txt
public.txt
proguard.txt
annotations.zip
AndroidManifest.xml

As we know, android plugin registers ArtifactTransform to decompress them from the bundle ( and many other transforms to alter the attributes) and consumes each in different tasks finally.
If some libraries contains one evil artifact in the bundle(e.g., the proguard.txt), we want to exclude the proguard.txt but all the remain artifacts should be kept.

Expected Behavior

We can exclude just some artifacts produced in ArtifactTransforms.
Current Behavior

We can only exclude the whole dependency.
Context

After android gives the android library ability to carry some consumer ProGuard rules, there are always some bad ProGuard rules introduced by some libraries in poor quality. They may keep almost everything to make ProGuard useless or mess up the debug info of source code by -renamesourcefileattribute.
Maybe, it's more easy to provide these APIs to exclude some ProGuard rules just in Android Plugin, if the ProGuard rules is the only situation.

We can find out the evils by this task:
// print all proguard rules to search the evils
tasks.create("printAllProGuards") {
    doLast {
        configurations["releaseRuntimeClasspath"].incoming.artifactView {
            attributes {
                attribute(Attribute.of("artifactType", String.class), "android-consumer-proguard-rules")
            }
        }.files.files.forEach { file ->
            if (file.exists()) {
                println "------------------------------${file}------------------------------"
                println(file.text)
            }
        }
    }
}

But I don't find a way to remove some of them if the library is closed source.

Maybe, it's more easy to provide these APIs to exclude some ProGuard rules just in Android Plugin, if the ProGuard rules is the only situation.

This indeed sounds like something to do on the Android plugin side. We don't plan to introduce generic filtering for transforms, but AGP could easily add some filtering specifically for extraction. Or maybe it could target ProGuard files even more specifically.
If you want to push this, the best step is to open an issue on Android's issue tracker at https://issuetracker.google.com/issues/new?component=192709&template=842921.

Thx，I post it at https://issuetracker.google.com/issues/132755145


Release to go with spring-boot 1.5.x?

Apologies if I am just being too impatient -- but I am wondering if I can use spring-cloud-netflix already with spring-boot 1.5.x? Without resorting to snapshot / milestone releases, I mean?
The issue, or at least the one I'm running into, seems to be that  org.springframework.boot.context.embedded.ServletRegistrationBean was deprecated in favour of
org.springframework.boot.web.servlet.ServletRegistrationBean -- and now in 1.5 it's been removed.
However the corresponding change here,
https://github.com/spring-cloud/spring-cloud-netflix/blame/master/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/zuul/ZuulConfiguration.java#L29
Seems to have been reverted for the latest (1.2.4) release of spring-cloud-netflix:
https://github.com/spring-cloud/spring-cloud-netflix/blame/v1.2.4.RELEASE/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/zuul/ZuulConfiguration.java#L27

So I guess I am just looking for a resolution of PR #1640 :-)

Done in 8e6b64382995eab85d2275bc57eb279e23b746aa. #1640 adds 1.3 compatibility

Thanks for the quick response, but I'm not sure I understand. The current 1.2.4 release is compatible with spring-boot 1.3 but it fails with spring-boot 1.5, because the commit you cite was reverted for the 1.2.4 release.
The PR 1640 looks like it detects dynamically in which package it finds ServletRegistrationBean and thus would be compatible with 1.{3,4,5} -- which would solve my issue (and still satisfy whatever the motivation for the revert was).
Sorry if I'm missing something obvious...

It is on master and will be part of 1.2.5. It currently supports 1.4,1.5. We're debating if we should support 1.3 (likely not).

Right, I see, so what I'll want is 1.2.5 when it gets released. All right, thanks a lot!

I'm having the same issue now on Zuul(1.3.0) with spring boot 1.5.4. Its complaining about the ServletRegistrationBean issue. Was this resolved in 1.3.0?

@GontseNtshegi please try with the latest 1.3.5.


improve command types

Codecov Report
Base: 95.60% // Head: 95.60% // No change to project coverage :thumbsup:

Coverage data is based on head (3175310) compared to base (9ffae59).
Patch has no changes to coverable lines.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##           master    #2407   +/-   ##
=======================================
  Coverage   95.60%   95.60%
=======================================
  Files         455      455
  Lines        4550     4550
  Branches      520      520
=======================================
  Hits         4350     4350
  Misses        128      128
  Partials       72       72

Impacted Files
Coverage Δ

packages/client/lib/client/index.ts
92.30% <ø> (ø)

packages/client/lib/cluster/index.ts
81.90% <ø> (ø)

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

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


New apps

Added Instapaper, MobileMouse, Simplenote, StitcherRadio, Wikipanion, and Yammer. More apps will be added ASAP :3

We need to add a shield for the number of apps, this is great! Thanks,

@Mazyod Your welcome :) Do you prefer to add numbers like this?
1 | [eBay][eBay-link] | Open

It is better to just have a number in the top near "Swift" "pod" .. etc, these are called "shields".

@Mazyod I'm really sorry but I didn't understand. Do you mean like this?
2       //  1 CNN.swift
3   //  Pods
4   //
5   //  Created by Mariam AlJamea on 1/15/16.
6   //  Copyright © 2015 kitz. All rights reserved.
7   //

@Mazyod The first time I saw these I love them and I said wow how they added them! they are really awesome I like their color and I like many things in these shields numbers. Could you please guide me how can I add App numbers to them?

@Mazyod I got it :) like this?

@Mazyod I will add shield in the next PR with more apps.

we can do this, this is the link
https://img.shields.io/badge/Apps-100-blue.svg
the 100 in the middle is the number of apps, we can update it whenever we want to in the readme file

Ok thanks.


feat: ss_pip_align

optionally could refactor SetValues to the bottom to avoid half-functionality i.e. ss_pip_align top foo

bruh all my homes hate windows

It's _stricmp on Windows, just add a conditional #define strcasecmp _stricmp. Also, the command should be sar_pip_align, pls rename when you amend the commit

didn't rename the commit to match, too bad!


[Request]:  Missing c10::UndefinedTensorImpl::_singleton definition in libc10_hip.so

Problem Description
hi, rocm expert, when building a rocm /torch project with following link flags:
torch_libs = ["torch", "torch_hip", "torch_python", "c10", "c10_hip"]
torch_link_libs ="-L/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/lib/ " + " ".join([f"-l{lib}" for lib in torch_libs])

but get the following undefined error
/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/lib/libc10.so | grep _singleton
00000000000e3aa0 B c10::UndefinedTensorImpl::_singleton

rocm/torch image: rocm/pytorch:rocm6.2_ubuntu22.04_py3.10_pytorch_release_2.3.0
Thanks for clarifying
David
Operating System
Ubuntu 22.04
CPU
Ryzen
GPU
mi300
ROCm Version
ROCm 6.2.3
ROCm Component
hipBLAS
Steps to Reproduce
No response
(Optional for Linux users) Output of /opt/rocm/bin/rocminfo --support
No response
Additional Information
No response

Hi @ZJLi2013, is there an actual error occurring? c10::UndefinedTensorImpl::_singleton is not an error; it is from https://github.com/pytorch/pytorch/blob/main/c10/core/UndefinedTensorImpl.cpp and represents a tensor that has not been defined yet (i.e. declared with no constructor arguments).

hi @schung-amd , thanks for replying. it comes when build a rocm project, and at runtime it give errors:
ImportError: /opt/conda/envs/py_3.10/lib/python3.10/site-packages/backend.cpython-310-x86_64-linux-gnu.so: undefined symbol: _ZN3c1019UndefinedTensorImpl10_singletonE

and further found out:
nm -C /opt/conda/envs/py_3.10/lib/python3.10/site-packages/backend.cpython-310-x86_64-linux-gnu.so | grep UndefinedTensorImpl
# U c10::UndefinedTensorImpl::_singleton

so any suggestions ?

Thanks for the clarification. Can you share the code you're using when running into this? The usual sources of this error seem to be importing extensions before importing torch (i.e. https://pytorch.org/cppdocs/notes/faq.html#undefined-symbol-errors-from-pytorch-aten) or a torch version incompatibility with the library.

thanks, after fix build following (#3918)[https://github.com/ROCm/ROCm/issues/3918], the runtime can works as expected.
even though still see:
nm -C /opt/conda/envs/py_3.10/lib/python3.10/site-packages/xxx-1.1.4-py3.10-linux-x86_64.egg/grouped_gemm_backend.cpython-310-x86_64-linux-gnu.so | grep "singleton"
                 U c10::UndefinedTensorImpl::_singleton

will close the issue for now


pull request for e2e test at 01/27/2017 19:26:20

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


Add exporter to related prometheus docs pages

https://github.com/prometheus/docs/blob/main/content/docs/instrumenting/exporters.md
https://github.com/prometheus/prometheus/wiki/Default-port-allocations

https://github.com/prometheus/docs/pull/2311


Long Path Fixes

There are some more places where distances are calculated
Test:

LBA Mapping -> Distance is shown in the little map modals
LoTW Update (via File) -> maybe @phl0 can check that
Logbook Controller methods distance() (not in use?) and bearing() (is in use but does not need any further adjustment
Regtest1 Format
QSO View VUCC Multis Distance

LoTW does not handle/care about distances. So we will not retrieve that info from LoTW files.

OK misunderstood. It is just re-calculating on LoTW import. Will test.

@phl0 did you test

Planned for tonight. :)

Fix in https://github.com/HB9HIL/wavelog/pull/117. You cannot use $data['COL_ANT_PATH'] in line 3627/3630 as $data was unset before. So it would be null in any case leading to distance always being calculated as SP.
Instead we have to pull it from the QSO we previously looked up to confirm.


Add support for Common Protection API

Currently marked as draft as this PR is untested!

auri tested this and apparently it works i think

Not quite done testing. Block break, entity interact, and entity damage are confirmed. Going to try block interact as well and push some slight tweaks to which tricks use what.

Does not appear to work with spell circles.

All expectX functions do work from a player spell context.

ohno it's stale


Mlm alt overlays

sidebar cleanup of mlm alt overlay
creation of blast mine alt overlay.
Yes they could be one addon, but im not currently skilled enough to combine them.

a

https://github.com/runelite/plugin-hub/pull/670#pullrequestreview-506215222


Video + Screen share at the same time!

Hello,
I want to develop a small app where the user can share their video and share screen. The idea is to share video and screen to multiple users and receive video from multiple users (Technically like minimalistic Skype).
I'm using code similar to demo which you've posted https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos.
I've seen the method addStream method which might allow to broadcast both screen and video over WebRTC.
I didn't see any live implementation (at-least with my little research). It'd be great if you can point any resource or a sample code to achieve my task.
The idea is to let users share their video (which I'm already doing using RTCMultiConnection) and have a button on clicking which a screen share media is added to the stream and automatically broadcasted.
Kindly help me.
Thank you!

You can try this lib: https://github.com/muaz-khan/MultiStreamsMixer
connection.dontCaptureUserMedia = true;
connection.attachStreams.push(videoAndScreenMixer.getMixedStream());
connection.openOrJoin('room-id');

and it will work.
I'll add a demo as well.

I tried with RTCMultiConnection itself where I used connection.addStream(stream); after getting the stream with getScreenID.
It apparently works but the problem is whenever stream is ended, on the other side, the media element is not removed. It just freezes.

Also, when the screen is taken to a full screen mode, it doesn't work. It shows a black screen beside the screen.
Like this:

Also, since the addition of this addStream mechanism, the connections which left are still visible to users. Probably the streams not being removed from the connection. So currently if I join the call, exit and then join, the starting user still sees 3 div media elements where he has to see only 2. the same goes with screen share.. I share, then stop sharing then again share.. This is how it looks like. Probably I've to manually remove them with onStreamended function. What say?

Please add your inputs on how to fix these.
Thanks.

You must remove streams using onstreamended event listener. E.g.
connection.onstreamended = function(event) {
    var video = document.getElementById(event.streamid);
    if (video && video.parentNode) {
        video.parentNode.removeChild(video);
    }
};

Above code relies on following snippet:
connection.onstream = function(event) {
    var video = event.mediaElement;
    video.id = event.stream.id; // check this line ---<<------
    document.body.appendChild(video);
};

Please also listen for onleave to remove user from both users list as well as all of his videos:
connection.onleave = function(event) {
    var remoteUserId = event.userid;
    var remoteUserFullName = event.extra.fullName;
    alert(remoteUserFullName + ' left.');
};

You can use streamEvents.selectAll to access and remove all his streams:
connection.onleave = function(event) {
    connection.streamEvents.selectAll({
        userid: event.userid
    }).forEach(function(event) {
        var streamid = event.stream.id;
        var video = document.getElementById(streamid);
        if (video && video.parentNode) {
            video.parentNode.removeChild(video);
        }
    });
};

If you're using beforeunload on your webpage, then please make sure to close sockets manually:
connection.closeBeforeUnload = false;
connection.onbeforeunload = function(event) {
    connection.peers.getAllParticipants().forEach(function(participant) {
        connection.multiPeersHandler.onNegotiationNeeded({
            userLeft: true
        }, participant);

        if (connection.peers[participant] && connection.peers[participant].peer) {
            connection.peers[participant].peer.close();
        }

        delete connection.peers[participant];
    });
    connection.attachStreams.forEach(function(stream) {
        stream.stop();
    });
    connection.closeSocket();
};

Best practive
You must not only set id for every HTMLVideoElement but also add additional attribute named as data-userid. E.g.
connection.onstream = function(event) {
    var video = event.mediaElement;
    video.id = event.stream.id; // check this line ---<<------
    video.setAttribute('data-userid', event.userid); // check this line as well ---<<------
    document.body.appendChild(video);
};

Now onstreamended, onleave and onUserStatusChanged listeners can access all videos by data-userid e.g.
document.querySeletorAll('video[data-userid="' + event.userid + '"]').forEach(function(video) {
    if (video && video.parentNode) {
        video.parentNode.removeChild(video);
    }
});

You also need to send your own custom message to all participants as soon as onbeforeunload fires. E.g.
connection.onbeforeunload = function(event) {
    connection.send('i-am-leaving'); // check this line ------- <<<<<<< ----------

    // rest of the codes goes here:
    // e.g. closeSocket, disconnectWith, attachStreams.stop etc.
};

Now you can listen for onmessage to check if someone left:
connection.onmessage = function(event) {
    if (event.data === 'i-am-leaving') {
        // remove all of his videos
        document.querySeletorAll('video[data-userid="' + event.userid + '"]').forEach(function(video) {
            if (video && video.parentNode) {
                video.parentNode.removeChild(video);
            }
        });
    }
};

Conclusion

You must listen for all events e.g. onstreamended, onleave and onUserStatusChanged.
onstream event must set both video.id=event.stream.id as well as video.setAttribute('data-userid', event.userid).
If you're using beforeunload on your own page then please make sure to set connection.closeBeforeUnload=false and also manually connection.closeSocket(). It is recommended even if you're not already using beforeunload because this gives you full control over how/when you stop the socket and streams.
Please set connection.session.data=true to open WebRTC data connection. This allows you send messages like 'i-am-leaving' or {userLeft:true} etc. Your onmessage event listener can check for all such notifications and remove videos accordingly.

Ok, thanks but what about the issue about full-screen?

If you're using addStream:
connection.addStream({
    screen: true,
    oneway: true,
    streamCallback: function(screen) {
        addStreamStopListener(screen, function() {
            connection.send({
                screebEnded: true,
                streamid: screen.id
            });

            var video = document.getElementById(screen.id);
            if (video && video.parentNode) {
                video.parentNode.removeChild(video);
            }
        });
    }
});

connection.onmessage = function(event) {
    if (event.data.screebEnded === true) {
        var video = document.getElementById(event.data.streamid);
        if (video && video.parentNode) {
            video.parentNode.removeChild(video);
        }
    }
};

Otherwise if you're using getUserMedia API yourselves:
navigator.mediaDevices.getUserMedia({
    video: screenParameters
}).then(function(screen) {
    screen.streamid = screen.id;
    screen.isScreen = true;
    connection.attachStreams.push(screen);
    screenVideoElement.srcObject = screen;

    addStreamStopListener(screen, function() {
        connection.send({
            screebEnded: true,
            streamid: screen.id
        });

        screenVideoElement.srcObject = null;
    });
});

connection.onmessage = function(event) {
    if (event.data.screebEnded === true) {
        var video = document.getElementById(event.data.streamid);
        if (video && video.parentNode) {
            video.parentNode.removeChild(video);
        }
    }
};

addStreamStopListener
Here is the addStreamStopListener function:
function addStreamStopListener(stream, callback) {
    var streamEndedEvent = 'ended';
    if ('oninactive' in stream) {
        streamEndedEvent = 'inactive';
    }
    stream.addEventListener(streamEndedEvent, function() {
        callback();
        callback = function() {};
    }, false);
    stream.getAudioTracks().forEach(function(track) {
        track.addEventListener(streamEndedEvent, function() {
            callback();
            callback = function() {};
        }, false);
    });
    stream.getVideoTracks().forEach(function(track) {
        track.addEventListener(streamEndedEvent, function() {
            callback();
            callback = function() {};
        }, false);
    });
}

via: https://www.webrtc-experiment.com/webrtcpedia/#stream-ended-listener

How about this issue?
Like this:

When I press full screen for any video or audio, it shows a black screen. How can I fix it?

Here is a demo that switches between video and screen:

https://rtcmulticonnection.herokuapp.com/demos/video-and-screen-sharing.html

Video and screen are NOT shared at the same time, though. You either share screen or camera.
Advantage: You can stop and share screen many times without any failure or errors.

Hey @muaz-khan , Thanks for the demo.
There's a small bug with the demo.
Here's a scenario : User1 joins the call and Invites User2 with the room ID. User 2 joins the call as well. User1 starts sharing the screen and brings in User3. But when User3 joins the call when there is already a screen sharing going on, User3 sees the camera of User1 but not the screen. It works perfectly once all the users are connected and then the screen is shared but doesn't work when the user shares the screen and then people join the call.
Can you please check what's wrong with that?
Thanks.

connection.attachStreams array is still containing old camera track. The screen track is never added or replaced int he attachStreams array.
I'll fix and update the demo shortly.

Is there any web app that allows multiple screen shares at the same time? it's like a monitoring system where 50 - 100 persons share the screen at the same time and will able to see all of them together on the same screen at the same time


Transparent backgrounds for cards in StackNavigator (e.g. for semi-transparent modals) lead to rendering glitches

I imagine this would be a very common use-case, so surprised I can't find any mention of this elsewhere.  Say I want to create any kind of custom designed modal, which is surrounded by a semi-transparent background -- something like this:

And I want it to tie in to the StackNavigation hierarchy that react-navigation provides -- handling of the back button, etc.
I can try to achieve this by setting the StackNavigator cardStyle.backgroundColor to transprarent.  This looks like it's going to work initially as the foreground card animates in, but as soon as the animation is finished, the behaviour gets very unpredictable.  Depending on platform and how many times the card has been triggered, the card behind either disappears (even though it should still visible through the transparent overlay) or flashes in and out of visibility.
Bizarrely, I can fix this on both platforms by adding opacity: 0.99 to the cardStyle.  But I'm sure this could lead to unintended knock-on effects, so would prefer to find a cleaner solution.
Is there any reason that StackNavigator shouldn't out of the box support cardStyle.background of transparent or semi-transparent rgba values?

i have the same issue. But i try  opacity it doesn't  work for me , it's affect all my pages not only my modal page .

@MatthieuPeyrot If you have a StackNavigator nested inside a StackNavigator, make sure you're setting cardStyle.backgroundColor on both, as each stack will apply its own default light grey background.

i put cardStyle.backgroundColor to transparent , or rgba(0,0,0,0) on all my stackNavigator. my modal blinked, and it's transparent , but the second time i try to open my modal the default light grey stay. i try do the same with opacity but all my page are transparent.

I also have a similar issue. I've got a StackNavigator where I set the backgroundColor of the cardStyle options to transparent because I have the whole StackNavigator nested in its own background view. I get occasional glitches where on a transition from A -> B, after the transition animation, B renders on top of A and I see both screens at once.

Ok, think I've got to the bottom of this for my needs.
In CardStackStyleInterpolator.js, you can see that most of the pre-defined transitions set the opacity to 0 when a card isn't in focus, which is why setting opacity: 1 in the cardStyle works - it overrides all values set by the interpolator (here is where that happens).
Another option is to create a custom navigator based on the StackRouter, which defines its own transitions.
I initially thought this was some sort of strange rendering artifact, but it looks like everything here was just the result of animations intended for full-screen cards, which are fairly straightforward to override.

Hello,
I have a modal working fine.  I have made the modal window transparent. But I have to reduce the opacity of background screen when modal is presented. Any workaround on this?

@theebi This may be helpful I think.


Get Ibex AscentLint-clean

Go through https://reports.opentitan.org/hw/ip/rv_core_ibex/lint/ascentlint/latest/results.html and try to understand/fix all lint errors. Talk to @msfschaffner to waive the ones we don't care about (the waiver lives in OpenTitan at https://github.com/lowRISC/opentitan/blob/master/hw/ip/rv_core_ibex/lint/rv_core_ibex.waiver).
(We could think about moving the AscentLint waiver into the Ibex repo as well, I filed #784 for that.)

Looking at these warnings, lots of them are also reported by our existing Verible lint flow already. Maybe we should get that clean first, since that will probably fix a good proportion (without needing to go via someone with an AscentLint licence).

Sounds good. If you need more timely feedback than what the dashboard provides, just make a draft PR and PM me, and I'll run it for you.

I think we can close this issue now as Ibex is indeed AscentLint-clean (at the moment). WDYT @imphil ?

Looks good now: https://reports.opentitan.org/hw/ip/rv_core_ibex/lint/ascentlint/2021.05.20_23.08.13/results.html :-)

Awesome!


Sort predicate_select keys based on order of :only option

Sort predicate_select keys based on order of :only option, so that user has the ability to prioritze order of predicates.
I wanted to change the order of predicates in the select list, and was surprised that the following did not have that effect:
f.predicate_select :only => [:cont, :not_cont, :matches, :does_not_match, :blank, :present, :eq, :not_eq], :compounds => false

The reason for all of this is that we want contains to be the default predicate instead of equal. We think it will be more useful.

This PR is getting a bit old... is it still worth refreshing it? I could rebase and update this if needed.

Does anyone still want this? I can rebase it if we want to keep it, otherwise I think we should close it.

Closed due to lack of interest.


feat: add spiced_simple_encryption

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 89.02%. Comparing base (386cb86) to head (5fcce2e).

Additional details and impacted files
@@            Coverage Diff             @@
##           master      #38      +/-   ##
==========================================
+ Coverage   88.75%   89.02%   +0.27%
==========================================
  Files           4        5       +1
  Lines          80       82       +2
  Branches       11       11
==========================================
+ Hits           71       73       +2
  Misses          8        8
  Partials        1        1

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