Teams chat, channel, and files data are NOT retained forever by default.

The below statement is misleading becuase while by default teams messages are not deleted automatically, they can still be deleted manually and are not being explcitily retained.
"By default, Teams chat, channel, and files data are retained forever. As an admin, you can set up Teams retention policies for chat and channel messages and decide proactively whether to retain the data, delete it, or retain it for a specific period of time and then delete it."
We should take the ambiguity out of this statement so people won't assume they do not need to create a retention policy to make sure their data is retained.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: f55c52a5-5841-b9c9-1607-2013dc3f2e20
Version Independent ID: 16d93458-5e01-646f-dac5-31306cc7f3fb
Content: Retention policies in Microsoft Teams - Microsoft Teams
Content Source: Teams/retention-policies.md
Service: msteams
GitHub Login: @LanaChin
Microsoft Alias: v-lanac

@AveryBaker  Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

Hi @AveryBaker, thank you for your feedback.
This article is under review. There are more similar or same issues:
https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/issues/4670
https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/issues/2803
https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/issues/3901
@LanaChin @LolaJacobsen @prvijay @anwara-ms if you want I can try to apply an update to this article.
For example, I think if you delete a message you can undo it. If you delete a Channel, you have 21 or 30 days to restore it, but after that, you lost it.

Hi
I am running behind on a couple of these asks. I will find time and do
these reviews soon. I have these in my queue.
On Thu, Apr 23, 2020 at 9:21 AM Dario Woitasen<EMAIL_ADDRESS>wrote:

Hi @AveryBaker https://github.com/AveryBaker, thank you for your
feedback.
This article is under review. There are more similar or same issues:
#4670
https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/issues/4670
#2803
https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/issues/2803
#3901
https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/issues/3901
@LanaChin https://github.com/LanaChin @LolaJacobsen
https://github.com/LolaJacobsen @prvijay https://github.com/prvijay
@anwara-ms https://github.com/anwara-ms if you want I can try to apply
an update to this article.
For example, I think if you delete a message you can undo it. If you
delete a Channel, you have 21 or 30 days to restore it, but after that, you
lost it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/issues/4591#issuecomment-618496715,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACEEVX56NNASP7V5DDC7LYTROBTJ3ANCNFSM4MLBC5LA
.

--
Anwar

@AveryBaker - would any of these options would be acceptable?
"By default, Teams chat, channel, and files data are retained forever, unless there is an attempt to delete the content via retention policies, user deletes, admin deletes etc...."
"By default, Teams chat, channel, and files data are not deleted......"

I vote this:
"By default, Teams chat, channel, and files data are retained forever, unless there is an attempt to delete the content via retention policies, user deletes, admin deletes etc...."

https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/pull/4717
Thank you!
--
Anwar Ali | PM @ TEAMS | LinkedInhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.linkedin.com%2Fin%2Fanwarali&data=04|01|Ali.Anwar%40microsoft.com|61a24ee754db4b1493e408d6b4dc7b41|72f988bf86f141af91ab2d7cd011db47|1|0|636895256392090042|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|-1&sdata=KpQ4z1jxZOc8s8IWXAYS3oVAbqKpT94E%2BzEB%2FLypv2c%3D&reserved=0
Security and Compliance Team
https://www.linkedin.com/in/anwarali
https://www.linkedin.com/in/anwarali

From: Dario Woitasen<EMAIL_ADDRESS>Sent: Monday, April 27, 2020 01:41 PM
To: MicrosoftDocs/OfficeDocs-SkypeForBusiness<EMAIL_ADDRESS>Cc: Anwar Ali<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/OfficeDocs-SkypeForBusiness] Teams chat, channel, and files data are NOT retained forever by default. (#4591)
I vote this:
"By default, Teams chat, channel, and files data are retained forever, unless there is an attempt to delete the content via retention policies, user deletes, admin deletes etc...."
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2FOfficeDocs-SkypeForBusiness%2Fissues%2F4591%23issuecomment-620222317&data=02|01|Anwar.Ali%40microsoft.com|e222ed19541b441002ca08d7eaeb4d1b|72f988bf86f141af91ab2d7cd011db47|1|0|637236168642242305&sdata=1v5CWdUZzgkNzUzjtJoDV1Usg8jc7xt%2Fmi1yBaMhK2s%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACEEVXZD6SQOLNJUJXALOT3ROXUV5ANCNFSM4MLBC5LA&data=02|01|Anwar.Ali%40microsoft.com|e222ed19541b441002ca08d7eaeb4d1b|72f988bf86f141af91ab2d7cd011db47|1|0|637236168642252302&sdata=HmUQI1udc%2Be1%2Bvw0U79COc7G6Vd5lITV8XO7UByOw3E%3D&reserved=0.

Thanks @anwara-ms and @dariomws, I've merged the PR.


Add Chicago Meetup to events

I think we should remove the Events page for now. It's too much upkeep for not enough benefit.

@SamsungGalaxyPlayer can we close this as the Events page has been obliterated with extreme prejudice?


Inspect Jazzy HTML output and determine if reformatting is needed

we looked at other generated html sites that used Jazzy outputs, which looked good enough. But we haven’t generated our own and inspected the results.
Acceptance criteria:

[x] Jazzy output of current comments as-is (no requirement on content or coverage)
[x] Determine if the HTML output is good enough/modern/stylizable (Brad approval req)

I believe that the generated HTML is modern and structured in a way that admits customization to some extent
https://app.zenhub.com/files/185480114/b957e014-95ae-4153-9c0d-6c71b5fbaefe/download

@brad check the docs.zip I uploaded whenever you can (not blocking anything in particular)


Address sunset icon removal from core

A possible solution for https://github.com/jenkinsci/jenkins/pull/5778#issuecomment-1004180179.
Closes JENKINS-67469 as well.
Versions lower than 2.308, the first GA version SVG icons have been introduced in, use the PNG icon path, versions newer will pick the SVG icon path.
Just a quick proposal that came into my mind.

@NotMyFault Thanks for the further enhancement!
I'm curious, where did you get the "disabled user" SVG from? It's not https://raw.githubusercontent.com/RRZE-PP/rrze-icon-set/master/tango/scalable/categories/user-disabled.svg as I would have expected given the 1:1 updated attribution.
Could you update the check/uncheck all icons to have multiple checkboxes? I think the PNG icons better represented the action to select/deselect all as there were two (stacked) checkboxes shown. Of course if you don't feel like it, the latest changes can always be backed out and done some other time :)

I'm curious, where did you get the "disabled user" SVG from? It's not https://raw.githubusercontent.com/RRZE-PP/rrze-icon-set/master/tango/scalable/categories/user-disabled.svg as I would have expected given the 1:1 updated attribution.

I suspect some chrome shenanigans here, the icon looks perfectly fine in Firefox, as it looks on Jenkins

Could you update the check/uncheck all icons to have multiple checkboxes?
Yeah, I'm looking forward to do so in a bit.

Aight, the checkboxes are now doubled again.

I suspect some chrome shenanigans here, the icon looks perfectly fine in Firefox, as it looks on Jenkins

To clarify, the file in this PR has some Inkscape metadata, while the one I link to does not. Even if they look alike, they are different in some (undocumented) manner? Did you post-process them?

Aight, the checkboxes are now doubled again.

Thanks! I assume these look reasonable on Dark Theme as well with the transparency?

Thanks! I assume these look reasonable on Dark Theme as well with the transparency?

Yeah, they are transparent.

To clarify, the file in this PR has some Inkscape metadata, while the one I link to does not. Even if they look alike, they are different in some (undocumented) manner? Did you post-process them?

Yeah, I adjusted its viewpoints a bit looking better in the table view and reduced the overall line count by ~100.
If that is undesired, I can revert it for sure.

Yeah, I adjusted its viewpoints a bit looking better in the table view and reduced the overall line count by ~100.

Great, thanks.

If that is undesired, I can revert it for sure.

Nope, all good. I just noticed the difference in review and wondered about it. Seems compatible with the license.

@daniel-beck mind taking a look? 👀

Old Jenkins

Current LTS

Current Weekly
Skipping, Artifactory is acting up 😭
Looks good 👍 Is it safe to assume I don't need to try it with https://github.com/jenkinsci/jenkins/pull/5778? The only non SVG stuff I see in 2.319.2 is provided by core.

Looks good 👍 Is it safe to assume I don't need to try it with jenkinsci/jenkins#5778? The only non SVG stuff I see in 2.319.2 is provided by core.

Yeah. The non svgs in the table are addressed by Jan's PR as well, but that is no issue for now.

Will release once I have confirmation that Artifactory is stable again.

According to timja, Artifactory seems sorted, https://github.com/jenkins-infra/helpdesk/issues/2733#issuecomment-1017614448, fingers crossed it stays like that 🤞🏻

https://github.com/jenkinsci/matrix-auth-plugin/releases/tag/matrix-auth-3.0.1


Add guide "Create a Calendar Widget"

⚠ Waiting for #2686 and algolia/create-instantsearch-app#8 to be merged.

This PR is the result of the app and the guide: "Create a Calendar Widget".

Guide
Demo app

I'm looking for feedback on both the app and the guide 🙌

Nice guide!
Advice on behaviour
Since I am used to the AirBnB like calendar, it took me some time to understand how to use this one. Here's the difference:

If you just blindly click on the two dates and you endup clicking only on the "End date (second date)" then the behaviour is very confusing because you think you're gonna select start then end dates while it's not the case. You're only changing the end date.
Is there a way to have the default demo behaviour where every time the calendar is opened then the action is "select the start date, then the end date" and never "select only the end date".
For the demo
Could you add a link to the source code in the demo? So the user once he have seen the demo can jump into the code right away.

I couldn't find a calendar widget without huge dependencies as good as react-dates UX-wise. This is definitely the pain point of this guide. I also had trouble getting familiar with the Baremetrics Calendar. I can try a workaround but it probably won't be very elegant.
As for the source code in the demo, I can add a link to the zip file.

I can try a workaround but it probably won't be very elegant.

It's OK for now since we show how to plug a calendar. This one also has some cool features like last 30 days etc.. Which are great

As for the source code in the demo, I can add a link to the zip file.

I would add a link to zip yes but also the GitHub direct link, since you might just want to read the code without having to download and unzip

@vvo What branch should I link it to? master? (that would be this link)

master yes since it's the branch tracking the releases (= doc website is master branch doc)

All changes have been made and all dependant PRs have been merged 🙂
@Haroenv I've fixed the "Invalid date" issue on Safari.

LGTM 👍 thanks for this awesome contribution @francoischalifour :)


koordlet: query kubelet config via HTTP API

Signed-off-by: Joseph<EMAIL_ADDRESS>Ⅰ. Describe what this PR does
Currently, the configuration of the kubelet is obtained by parsing the kubelet command-line args and reusing the kubelet code, but this method currently has the problem of concurrent read and write race condition(issue #730 ). Now this PR uses the /configz API provided by kubelet to query the configuration. The disadvantage is that users can disable this API, which may bring some compatibility issues.

Ⅱ. Does this pull request fix one issue?
fix #730

Ⅲ. Describe how to verify it
Ⅳ. Special notes for reviews
V. Checklist

[x] I have written necessary docs and comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in make test

/lgtm
/approve


Use SignatureError error

Use SignatureError error

Codecov Report

Merging #237 into master will decrease coverage by 2.02%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master     #237      +/-   ##
==========================================
- Coverage   49.98%   47.96%   -2.03%
==========================================
  Files          37       37
  Lines        3013     2577     -436
==========================================
- Hits         1506     1236     -270
+ Misses       1243     1124     -119
+ Partials      264      217      -47

Impacted Files
Coverage Δ

pkg/repository/v1_repository.go
69.31% <0.00%> (-0.54%)
:arrow_down:

pkg/repository/v1manifest/manifest.go
24.32% <0.00%> (-5.44%)
:arrow_down:

pkg/utils/args.go
50.00% <0.00%> (-8.83%)
:arrow_down:

pkg/meta/meta.go
64.70% <0.00%> (-8.27%)
:arrow_down:

cmd/update.go
62.68% <0.00%> (-6.37%)
:arrow_down:

cmd/install.go
74.19% <0.00%> (-3.59%)
:arrow_down:

cmd/run.go
62.67% <0.00%> (-2.88%)
:arrow_down:

pkg/localdata/profile.go
57.14% <0.00%> (-1.46%)
:arrow_down:

pkg/repository/v1manifest/repo.go
6.62% <0.00%> (-1.36%)
:arrow_down:

... and 3 more

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 e3c29a2...50f1ceb. Read the comment docs.


Export JSON schema for model specification

Is this already done?

yes, I forgot about this issue...

I just check the schema, and noticed there are wired keys appeared in the root: optional_kwargs required_kwargs, why is that? @FynnBe

The optional_kwargs and required_kwargs keys are there to specify any kwargs optional/required for model instantiation, as source points to a callable...

I am thinking maybe we should write the schema manually, in that case, will you be able to read a json schema file and use it in the python package?

we use marshmallow to specify the schema, which allows for more validation and exporting of the json schema (with a subset of the 'rules'). As marshmallow is more powerful, I would like to keep it this way.
What would you want to change manually? Maybe we can just adapt the schema in marshmallow accordingly?

Thanks @FynnBe  for the explanation.

The optional_kwargs and required_kwargs keys are there to specify any kwargs optional/required for model instantiation, as source points to a callable...

But this is not in our configuration specification right, is there a way to clean up the exported json schema?

What would you want to change manually? Maybe we can just adapt the schema in marshmallow accordingly?

I would like to make a model config generator/validator plugin in javascript, so users can build model config from an UI and we can add a badge for validated model cards. Even more, for those not validated ones we show an info button where the developer can click and we can show a list of errors, warnings and suggestions.
I can either redo it in javascript and make an bioengine app for that, or we can run the marshmallow validation when we compile the yaml file to the manifest json (in a CI), then add the validation report to the generated json file.
The JSON schema is also important, even though it's a subset of the rules, we can share it between different language (e.g. Java/JS).
Related to these, I have two additional questions:

when I pass the yaml config to marshmallow to validate, can you generate a detailed report? Not just passed or failed, but ideally also more detailed information for different levels: error, warning, recommendation etc.

For the generated JSON schema, can we clean it up to remove for example keys like required_kwargs, it's a bit confusing when we generate an HTML form with it and it has these keys.

But this is not in our configuration specification right, is there a way to clean up the exported json schema?

For the generated JSON schema, can we clean it up to remove for example keys like required_kwargs, it's a bit confusing when we generate an HTML form with it and it has these keys.

sure thing, we can just drop them to have the models self-contained
Maybe we should add them to the specification, though? Let's discuss that in #31, and I'll remove them from the json schema for now.

[ ] remove kwargs from model json schema

I can either redo it in javascript and make an bioengine app for that, or we can run the marshmallow validation when we compile the yaml file to the manifest json (in a CI), then add the validation report to the generated json file.

Running a CI was the plan afaik... With the marshmallow schema we implemented a fast validation (format + easy to check cross field checks) and one that would require some more computation (running source code, etc..)

when I pass the yaml config to marshmallow to validate, can you generate a detailed report? Not just passed or failed, but ideally also more detailed information for different levels: error, warning, recommendation etc.

yes, exactly which field fails why and which fields collide

[ ] improve exported json: https://github.com/bioimage-io/bioimage-io-models/pull/22#issuecomment-650095706


Failed image format detection

Describe the bug
$image = $manager->read('logo.png');
failed to detect a valid PNG file.
Code Example
use Intervention\Image\ImageManager;
use Intervention\Image\Drivers\Gd\Driver;
// create image manager with desired driver
$manager = new ImageManager( new Driver());
$image = $manager->read('test.png');
$image->toPng()->save('foo.png');
Expected behavior
logo.png loaded and saved as foo.png.
The reason is if there is no exif data, it is not a corrupt png, but exif_read_data will fail (horrible API):
$ exif logo.png
Corrupt data
The data provided does not follow the specification.
ExifLoader: The data supplied does not seem to contain EXIF data.

$ php -r "exif_read_data('logo.png');"
PHP Warning:  exif_read_data(logo.png): File not supported in Command line code on line 1
PHP Stack trace:
PHP   1. {main}() Command line code:0
PHP   2. exif_read_data($file = 'logo.png') Command line code:1

While the imagesize function does the format validation (signature+header):
 php -r 'print_r(getimagesize("test.png"));'
Array
(
    [0] => 434
    [1] => 83
    [2] => 3
    [3] => width="434" height="83"
    [bits] => 8
    [mime] => image/png
)

If fileinfo is available, I would recommed to use it instead:
php finfo.php
image/png; charset=binary%

using
<?php
$finfo = new finfo(FILEINFO_MIME);
echo $finfo->file('test.png');

However getimagesize is good enough for a sanity check (signatures can be tricked, so check of w/h could be done, GD/imagic do it as well).
It was working on older version of this package, so not really sure when this exif_read_data was introduced :)
Images
(any without exif  would do it but here is one)

Environment (please complete the following information):

PHP Version: 8.3.8
OS: Linux/Windows/FreeBsd
Intervention Image Version: 3.7
GD

Thanks for the bug report. You are right, the xxx function gives a warning when reading one of the mentioned images. I'm just wondering why you see the warning since it should be suppressed. Do you have other settings active that disable the error control operator?

Hello! Just ran into the same issue :) I use an error handler with set_error_handler() function, and the error was not suppressed since I didn't check error_reporting() return. I fixed it and now everything works fine, the error is suppressed as intended!

Thank you @matthieuuu . I suspected something similar. However, the implementation in the library can still be improved, as certain file formats cannot contain any EXIF data at all, but exif_read_data is still called. I will try to improve this.

Hello,
Sorry for the late reply, been busy :)
Yes, it was the issue.
However I would still recommend not to use this function but to actually read the exif information. I suspect most users don't need these exif but on specific cases.
For the purpose of selecting a codec, getimagesize or fileinfo would do a faster job.
I have the code for a generic imageload (which provides the type as part of the gd instance then) in libgd, I need to do a release and add it to php, that would be even better :-)

As of version 3.7.1, calls to exif_read_data are avoided for PNG formats and other formats that do not support EXIF data. Adjustments to a custom error handler are no longer absolutely necessary.

@olivervogel Danke! :)


REFACTOR: Leverage type hint and add checking

We have deprecated IronPython so we should be able to use type hints ! This will help us to improve code clarity, catch potential bugs early, enhance IDE support (this one is particularly great), simplify maintenance, ...
For example

def retrieve_property(self, property_name: str) -> str :
    pass

Related to https://github.com/ansys/pyaedt/issues/5152

It is for sure a huge work load, but definitely worth it, especially as you said for development in IDE by our users.

I can work on this issue

I can work on this issue

Hey @vatsalrathod16, thanks for helping us, any contribution is welcome !
This is a HUGE task so I would advise to only work on a subset of the files. Feel free to pick whichever you like 👍


Code flow in HTML Report

The SecHub Report in JSON format contains the code flow from the source to the sink with all intermediate steps. However, the HTML report contains only the source and sink, but not the intermediate steps. As a consequence, one needs to look at both reports to understand the issue. Both the HTML report and the SecHub Report should contain the same information.
The code flow in the HTML Report could look as shown in the mockup (below). Fully expanded the code flow will start with the sink as first row, the intermediate steps in the following rows, until the sink which is the last row.

The non expanded code flow section is shown as mockup (below).

Expanding the code flow should happen with Cascading Stylesheet (CSS) only, to avoid the use of JavaScript.

Jeremias Eppler<EMAIL_ADDRESS>Daimler TSS GmbH, imprint

@4w31ss3 Thanx, looks really nice:
Default (no opened callstack):

Opened callstack variant:

@4w31ss3 Thanx, looks really nice:
Default (no opened callstack):

Opened callstack variant:


Fix PF2e 5.2 CONFIG.PF2E.attributes deprecation

Just a small fix to correctly point at the new perception label in PF2e 5.2 onwards (the old method is being deprecated in 6.0)
This won't be backwards compatible - but happy to add a conditional to check for system version if that's preferred.

looks good to me, but if you could add the conditional check for the system version that would be great, just in case someone doesn't want to update the system version.

Done! Did some tests and looks ok (just tested reversing the variables on isNewerVersion).

looks good thanks


Add a guide for purchasing/activating drivers

i hope this eliminates the "how do i buy driver" questions.

images are broken but will be fixed shortly


GHES auth issue?

When trying to run this against a GHES hosted org/repo for which I am an Org owner, I see this:
gh migration-audit audit-repo --access-token *** --owner ORGNAME --repo REPONAME  --base-url "https://URL/api/v3"

2023-11-10T19:02:12.062Z error: Error checking GitHub rate limit: fetch failed
RequestError12 [HttpError]: fetch failed
    at /snapshot/dist/migration-audit.cjs
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Job.doExecute (/snapshot/dist/migration-audit.cjs) {
  status: 500,
  request: {
    method: 'GET',
    url: 'https://URL/api/v3/meta',
    headers: {
      accept: 'application/vnd.github.v3+json',
      'user-agent': 'octokit.js/3.1.1 octokit-core.js/5.0.0 Node.js/18.5.0 (darwin; x64)',
      authorization: 'token [REDACTED]'
    },
    request: {
      fetch: [Function: customFetch],
      hook: [Function: bound bound register]
    }
  }
}

Just accessing https://URL/api/v3/meta says this. Same for 3.9.5.
{
  "verifiable_password_authentication": false,
  "installed_version": "3.7.17"
}

Thanks
Todd

That's weird! I have tested against GHES, so I suspect some kind of networking related issue.
For debugging, how easy would it be for you to run this Node.js project directly rather than using the built binary?
If you're able to do that, I'd suggest setting up a Zoom call and we can debug together live.
One gap in this tool right now is verbose logging for GitHub API requests. I haven't added that because I can't figure out how to do it in the GitHub SDK. I'm going to try to figure that out today.

@toddoconnor Can you try the new --verbose option in v0.4.0? That might give us some more context on what's wrong here.

Closing this as it's a long time ago now - feel free to re-open if you're still having issues.


⚠ ClamAV has degraded performance

In c77ab62, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 92 ms

Resolved: ClamAV performance has improved in 5757ee2.


String aliases are preserved

CockroachDB now distinguishes CHAR and VARCHAR, as mandated by the SQL standard and PostgreSQL compatibility.
Closes #3693.

This change is

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/81e7729e66da7023098aa703bf3d8875e93c0eac/


Route cancellation when a form is dirty

Hi,
In the context of this guide, how do you suggest one should approach the problem of cancelling a route change when a form is dirty (has changes)?
My first thought would be to create a service, that could be called in the $stateChangeStart event of the rootScope, and will check if a form is dirty. The current working form could be set in the service.

@bampakoa Does that create routeChangeError ? Currently i work on route and form also

@brutalcrozt I finally chose not to implement this behavior in the current case but I would be interested if you have any ideas.

@bampakoa is form dirty can cause routeChangeError ? i am not yet can touch my code

@brutalcrozt Yes, I think that should be the correct behavior.

that's odd , sometimes it not cause routeChangeError in my app. Then what option you choose to handle this man?

I decided not to handle it in my application because I was running in too many problems.


Update HipChat license info

HipChat used to be 100% paid (with a free trial) and is now freemium.

Looks good, thanks! :+1:


Bumped production release number for 1.24

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

DO NOT UNHOLD

/unhold
/approve

/unhold

/approve


Need Help to instal this i am facing problem at this stage please help

X Android license status unknown.
Try reinstalling or updating your Android SDK Manager.
See https://developer.android.com/studio/#downloads or visit https://flutter.dev/setup/#android-setup for detailed instructions.

just execute this inside your flutter project: flutter doctor --android-licenses

The instructions at https://flutter.dev/setup/#android-setup should contain all of the information needed to continue here. If you've already downloaded the Android SDK, then you'll need to accept licenses using the command above


IndexOutOfRangeException in PortalQueueSender

Resolving https://github.com/Microsoft/ApplicationInsights-dotnet-server/issues/69

Current coverage is 81.40%

Merging #219 into develop will decrease coverage by -0.01% as of 9c216f2

@@            develop   #219   diff @@
======================================
  Files           130    131     +1
  Stmts          4235   4242     +7
  Branches        555    556     +1
  Methods           0      0
======================================
+ Hit            3448   3453     +5
- Partial         178    179     +1
- Missed          609    610     +1

Review entire Coverage Diff as of 9c216f2

Powered by Codecov. Updated on successful CI builds.

:shipit:


Add VolatileDirectory

What about a new helper class that automatically creates a new (empty) temporary directory and self-destroys it when it's no more used?
Example:
// Create a new temp directory
$virtualDirectory = \Core::make(\Concrete\Core\File\Service\VolatileDirectory::class);

// Work on that directory
file_put_contents($virtualDirectory->getPath() . '/test.file', 'sample');

// Delete the temp directory
unset($virtualDirectory); // or simply exist the current function

Thanks! I was quite tired of duplicating this class in many of my packages :wink:


invalid cert error on dejalavidavolar.org

When working on the script to automatically update site sizes (like this PR: https://github.com/kevquirk/512kb.club/pull/445), I stumbled upon this.
Issue is that it causes the script to hang.
For now, I've work-arounded it by setting last_checked date for this site to 2021-04-11 (date of this issue: https://github.com/kevquirk/512kb.club/issues/338).
note to @dejalavidavolar: no urge to fix it right now from my side, but just to let you know.

@dejalavidavolar if around 2 weeks the issue is still not resolved the domain will be removed.
You can readd it if removed by fixing the issue

Sorry, my site is currently unavailable. Unfortunately I had some problems with the server where it was hosted. For now it is without certificate, so it would be better if you can remove it.
Thank you very much for contacting me and I hope you are well.
Regards


(unfinished) updated install docs: Python 3.4, virtualenvs, wheels.

Todo:

[ ] check that Win 64 install instructions work;
[ ] add Win 32 install instructions?
[ ] finish Ubuntu install instaructions;
[ ] add Debian install instructions?
[ ] check that everyone is OK with recommending Python 3.4 + virtualenvs

I'm closing this stale PR, much as it would be nice to have more detailed installation instructions for NLTK 3. I am not aware of any recent complaints about the simple installation instructions.


unable to please the setup with the correct information

It seems the GO executable directory is not set. Please check Go-Architect's Documentation to set the content of the ~/.goarchitect/environment file and restart the application.
I've tried:
which go
/usr/local/go/bin/go
(and put that inside the ~/.goarchitect/environment file)
I've tried:
~/go/bin
/Users/[my-name-here]/go/bin
All with the same effect.
Perhaps an example how this file will look like, would be nice.

I've tried "/usr/local/go/bin" and restarted the program, that was successful.
Perhaps this can can be added to the documentation?


--exactOptionalPropertyTypes has no effect when narrowing object

Bug Report
🔎 Search Terms
exactOptionalPropertyTypes
🕗 Version & Regression Information
since the flag was introduced

This is NOT a crash
This changed between versions 4.4__ and 5.0.2_
This is the behavior in every version I tried, and I reviewed the FAQ for entries about _________
I was unable to test this on prior versions because _______

⏯ Playground Link
[<!--
A link to a TypeScript Playground "Share" link which shows this behavior
The TypeScript Workbench can be used for more complex setups, try
https://www.typescriptlang.org/dev/bug-workbench/
As a last resort, you can link to a repo, but these will be slower for us to investigate.
-->](https://www.typescriptlang.org/play?noImplicitAny=false&target=9&exactOptionalPropertyTypes=true&ts=5.0.2&filetype=ts#code/FDD0oAgFQVwJwHYQPZILRoKYA8CGBjAFwHkAHQgS1VwBsAFOZUzOQgTyjeYGcR3mIAQQAmAN1wJ8mYcQBGAK0xEArBAC8EAN74Y3QsgC2AfgBcEPXAoIA5gBoIAMxrIA7qYgIYB2S3uyKhC4U3JjussjINJgSAL4gwOJwEKS4cCEAijAsbGQAYla0AMrM+KoQ5RUaDjCSlKgQABQAjllwbGYi4pLScooqAJTAmsAVo47ISQ1RhBAA1phsAAwoDhC9SoQAdPNs3I0t2f39WiNjZ6PTY-iowoJwcACM5+oQB20A2juLALoA3KfPM4UVYNL7qNQaADkOj0hkhx2GgKRY0uo2uCFu90BGjebE+Cx+-2RxMB4HKAD0jACSXESRVMDQQhBgY0wRCoU5XPCTnSkaiKujMUlnjjWnivn9qbySWSIJSpcjaec4nEEqlkqkMmK8gUaMUlFBMHpKo4akQqEhmmKzJp-IFgqEzOFItEEDFBppVYkIIQjYQAGqpCi4WRRDpiCRSGQKDZlcoaRHnO1BEJmBy0ELAGL-YApNKYTLZHUIIolQ3Ghq2gIpzBmX16QOWENRTbJh3ukBAA)
Playground link with relevant code
💻 Code

// Turn on --exactOptionalPropertyTypes

type AdvancedObject5 = {custom?: string, bitwise?: boolean}

var parseQueryOpFinalSpecTest   = function (query: {bitwise?: boolean})
{}

var testVariable: AdvancedObject5    = {
        bitwise: false
};

// To prove that --exactOptionalPropertyTypes works, the following call
// will report:
// Argument of type '{ bitwise: boolean | undefined; }' is not assignable to parameter of type '{ bitwise?: boolean; }' with 'exactOptionalPropertyTypes: true'
parseQueryOpFinalSpecTest ({bitwise: testVariable.bitwise})

var parseQueryOpFinalSpec5       = function (query: AdvancedObject5)
{
        for (let key0 of Object.keys (query)) {
                if (key0 === 'custom') {
                        let     condStr         = query[key0];          // wrong to include undefined in type?
                                //  ^?
                }
        }
}

🙁 Actual behavior
type of condStr is 'string | undefined'
🙂 Expected behavior
type of condStr has  NOT have undefined in it when --exactOptionalPropertyTypes is turned on

TS doesn't have special hardcoded logic about what Object.keys is. You can write this, which works:
  if ('custom' in query) {
    const m = query.custom;
  }


[Doc Improvement] [Remove Targeted Release from Prereq]

Remove the requirement to enroll in Targeted Release / Beta Channel in prerequisites once GA rollout reaches 100% WW

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/m365-apps/prerequisites.md
92
18
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

@erikadoyle

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/m365-apps/extend-m365-teams-message-extension.md
96
11
link
:white_check_mark:

msteams-platform/m365-apps/extend-m365-teams-personal-tab.md
97
22
link
:white_check_mark:

msteams-platform/m365-apps/overview.md
92
8
link
:white_check_mark:

msteams-platform/m365-apps/prerequisites.md
97
16
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Added one last suggestion. Also don't forget to fix the build warnings, and we should be good to go.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/m365-apps/extend-m365-teams-message-extension.md
96
11
link
:white_check_mark:

msteams-platform/m365-apps/extend-m365-teams-personal-tab.md
97
22
link
:white_check_mark:

msteams-platform/m365-apps/overview.md
92
8
link
:white_check_mark:

msteams-platform/m365-apps/prerequisites.md
96
17
link
:white_check_mark:

msteams-platform/m365-apps/teamsjs-support-m365.md
88
22
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/m365-apps/extend-m365-teams-message-extension.md
96
11
link
:white_check_mark:

msteams-platform/m365-apps/extend-m365-teams-personal-tab.md
97
22
link
:white_check_mark:

msteams-platform/m365-apps/overview.md
92
8
link
:white_check_mark:

msteams-platform/m365-apps/prerequisites.md
96
17
link
:white_check_mark:

msteams-platform/m365-apps/teamsjs-support-m365.md
88
22
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

As part of this change, could you also remove "(preview)" from the title metadata of overview.md?
This will address #8722. Thanks!

completed 👍

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/m365-apps/extend-m365-teams-message-extension.md
96
11
link
:white_check_mark:

msteams-platform/m365-apps/extend-m365-teams-personal-tab.md
97
22
link
:white_check_mark:

msteams-platform/m365-apps/overview.md
92
8
link
:white_check_mark:

msteams-platform/m365-apps/prerequisites.md
96
17
link
:white_check_mark:

msteams-platform/m365-apps/teamsjs-support-m365.md
88
22
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/m365-apps/extend-m365-teams-message-extension.md
96
11
link
:white_check_mark:

msteams-platform/m365-apps/extend-m365-teams-personal-tab.md
97
22
link
:white_check_mark:

msteams-platform/m365-apps/overview.md
92
8
link
:white_check_mark:

msteams-platform/m365-apps/prerequisites.md
96
17
link
:white_check_mark:

msteams-platform/m365-apps/teamsjs-support-m365.md
88
22
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/m365-apps/extend-m365-teams-message-extension.md
96
11
link
:white_check_mark:

msteams-platform/m365-apps/extend-m365-teams-personal-tab.md
97
22
link
:white_check_mark:

msteams-platform/m365-apps/overview.md
92
8
link
:white_check_mark:

msteams-platform/m365-apps/prerequisites.md
96
17
link
:white_check_mark:

msteams-platform/m365-apps/teamsjs-support-m365.md
96
5
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/m365-apps/extend-m365-teams-message-extension.md
96
11
link
:white_check_mark:

msteams-platform/m365-apps/extend-m365-teams-personal-tab.md
97
22
link
:white_check_mark:

msteams-platform/m365-apps/overview.md
92
8
link
:white_check_mark:

msteams-platform/m365-apps/prerequisites.md
96
17
link
:white_check_mark:

msteams-platform/m365-apps/teamsjs-support-m365.md
96
5
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/m365-apps/extend-m365-teams-message-extension.md
98
9
link
:white_check_mark:

msteams-platform/m365-apps/extend-m365-teams-personal-tab.md
97
21
link
:white_check_mark:

msteams-platform/m365-apps/overview.md
96
5
link
:white_check_mark:

msteams-platform/m365-apps/prerequisites.md
96
17
link
:white_check_mark:

msteams-platform/m365-apps/teamsjs-support-m365.md
96
5
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/m365-apps/extend-m365-teams-message-extension.md
98
9
link
:white_check_mark:

msteams-platform/m365-apps/extend-m365-teams-personal-tab.md
96
24
link
:white_check_mark:

msteams-platform/m365-apps/overview.md
96
5
link
:white_check_mark:

msteams-platform/m365-apps/prerequisites.md
96
17
link
:white_check_mark:

msteams-platform/m365-apps/teamsjs-support-m365.md
96
5
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/m365-apps/extend-m365-teams-message-extension.md
98
9
link
:white_check_mark:

msteams-platform/m365-apps/extend-m365-teams-personal-tab.md
97
23
link
:white_check_mark:

msteams-platform/m365-apps/overview.md
96
5
link
:white_check_mark:

msteams-platform/m365-apps/prerequisites.md
96
17
link
:white_check_mark:

msteams-platform/m365-apps/teamsjs-support-m365.md
96
5
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/m365-apps/extend-m365-teams-message-extension.md
98
9
link
:white_check_mark:

msteams-platform/m365-apps/extend-m365-teams-personal-tab.md
96
26
link
:white_check_mark:

msteams-platform/m365-apps/overview.md
96
5
link
:white_check_mark:

msteams-platform/m365-apps/prerequisites.md
96
17
link
:white_check_mark:

msteams-platform/m365-apps/teamsjs-support-m365.md
96
5
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/m365-apps/extend-m365-teams-message-extension.md
98
9
link
:white_check_mark:

msteams-platform/m365-apps/extend-m365-teams-personal-tab.md
96
25
link
:white_check_mark:

msteams-platform/m365-apps/overview.md
96
5
link
:white_check_mark:

msteams-platform/m365-apps/prerequisites.md
96
17
link
:white_check_mark:

msteams-platform/m365-apps/teamsjs-support-m365.md
96
5
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.


%load doesn't work in notebook or console

Typing %load <file-or-url> in the notebook or console should replace the current input with the contents and leave the load line commented out, e.g. this:

becomes:

That uses a special api call to reset the current input, it probably isn't implemented yet.

Dev note: we need to respect the set_next_input pager data in execution results:
http://jupyter-client.readthedocs.io/en/latest/messaging.html#payloads-deprecated

This should apply to the console as well.

On Fri, Jul 29, 2016 at 12:00 PM, Steven Silvester<EMAIL_ADDRESS>
wrote:

This should apply to the console as well.

correct, it currently does work in the qtconsole, so the feature parity is
missing for both the notebook and the console.
--
Fernando Perez (@fperez_org; http://fperez.org)
fperez.net-at-gmail: mailing lists only (I ignore this when swamped!)
fernando.perez-at-berkeley: contact me here for any direct mail

Works like a charm in the console, thx!
In the nb it's slightly sub-ideal, but actually on-par with the current notebook: the focus after %load is on the next cell, not the current one where the data gets loaded.
Do you think it's worth tracking that as an enhancement, or do you think that special-casing the focus management for this particular use case would be too much of a hassle?
Basically, UX-wise it's quite natural to %load foo and then to be positioned right where foo arrived (i.e. on the same cell) to either edit or execute its contents.  That's what happens now in the console.
But it would require doing something funny when the current cell is overwritten, since the natural focus flow is to go to the next cell after execution.
In summary: I'm OK with not making this small improvement if it's more hassle than it's worth.  But if you think it's easy/worthwhile, then go for it (and we can open a new issue for it that would be purely enhancement/long term, 1.0 or later).

We already have this special case when there is an input(). Makes sense to have it here too.

Excellent, thx! Will continue on #678 as needed.


need help installing

i get error code 1 in checkout how do i fix it?

@florzye Will require more details. Please post full logs if available.


Added more entertainment commands

nut succ and trivago commands

Not really necessary, considering 0.6.0 will have custom command support. Closed.


[Expressive theme page] Add notification about deprecation

We need to write a short warning message for adopters before the actual deprecation start. This warning message would be delivered vi:

added to various pages on the Website
posted in Slack #carbon-for-ibm-dotcom

Suggestion from James

could say it's transitioning to carbon core instead of deprecating

Draft: https://ibm.box.com/s/n0hm7big5ema7ng4ok2m63cl1efyu94j

@shixiedesign If this task is for the website, let's move it over to the website repo.


Store Project Manager Metadata in Project Directory

Pull Request Description

close #1110
PR changes the Project Manager to store its metadata inside the project directory, instead of maintaining the global index.
This will allow users to move and modify files inside the ~/enso directory.
Important Notes

Checklist
Please include the following checklist in your PR:

[x] The documentation has been updated if necessary.
[x] All code conforms to the Scala, Java, and Rust style guides.
[x] All documentation and configuration conforms to the markdown and YAML style guides.
[x] All code has been tested where possible.

Changelog

add ZioTraverse instance
add NotDirectory error
update zio to 1.0.1

@radeusgd my logic was that each tool in the project uses its own directory, so I called it .enso, similar to .idea and what other IDEs do. .cache is quite abstract and can be potentially used by some other tool.
\cc @kustosz

The name .enso is terrible – doesn't tell anything in a project  belonging to a language called enso. I'd think .studio or .ide, or whatever that is called these days.

@radeusgd @kustosz we can make it .studio, I like it more than .ide

@lolczak I'm struggling to find the right encoding to the traversable class.
If we want to define it on a collection G[_] for all effects F
  def traverse[F[+_, +_]: ???, E, A, B](xs: G[A])(f: A => F[E, B]): F[E, C[B]]

Then we need some abstraction ??? that can bind together F[_, _] and G[_]. The problem here is that they have different number of type arguments, and we can't use classic type classes here.
If we change G[_] to G[_, _] adding a parameter to conform F[_, _], then it is troublesome to define such instance for a collection.
I can imagine it is the reason why zio library doesn't have the hierarchy of typeclasses and defines all methods on the ZIO type itself.

You have to define either Applicative or Apply type class for effects with map2 method:
trait Apply[F[+_, +_]] {

  def pure[A](value: A): F[Nothing, A]

  def map2[E, A, B, Z](fa: F[E, A], fb: F[E, B])(f: (A, B) => Z): F[E, Z]

}

Next define traverse:
trait Traverse[F[_]] {

  def traverse[G[+_, +_]: Apply, E, A, B](fa: F[A])(f: A => G[E, B]): G[E, F[B]]

}

an instance for list should look like this:
object ListTraverseInstance extends Traverse[List] {

  def traverse[G[+_, +_]: Apply, E, A, B](fa: List[A])(f: A => G[E, B]): G[E, List[B]] =
    fa.foldRight(Apply[G].pure(List.empty)) { case (item, acc) => Apply[G].map2(f(item), acc)(_ :: _)) }

}

Does it make sense? (I was brainstorming above.)

Another solution is to use Cats type classes. To achieve that you have to provide instance of Applicative for ZIO and do type projections.

@lolczak Thanks, worked like a charm!


How to describe a self closing optional element?

I have the following structure:
<resourcetype>
  <collection/>
</resourcetype>

In this case collection never has any value and I only want to know if the element is present or not.
I can't figure out how I have to build my serializables to make this work.

Hi @provokateurin, you should be able to use the isSelfClosing and includeIfNull options to achieve this:
import 'package:xml/xml.dart';
import 'package:xml_annotation/xml_annotation.dart' as annotation;

part 'example.g.dart';

@annotation.XmlRootElement(
  name: 'resourcetype',
  isSelfClosing: false,
)
@annotation.XmlSerializable()
class ResourceType {
  @annotation.XmlElement(
    name: 'collection',
    isSelfClosing: true,
    includeIfNull: true,
  )
  List<String?>? collection;

  ResourceType({
    this.collection,
  });

  factory ResourceType.fromXmlElement(XmlElement element) =>
      _$ResourceTypeFromXmlElement(element);

  void buildXmlChildren(
    XmlBuilder builder, {
    Map<String, String> namespaces = const {},
  }) =>
      _$ResourceTypeBuildXmlChildren(
        this,
        builder,
        namespaces: namespaces,
      );

  void buildXmlElement(
    XmlBuilder builder, {
    Map<String, String> namespaces = const {},
  }) =>
      _$ResourceTypeBuildXmlElement(
        this,
        builder,
        namespaces: namespaces,
      );

  List<XmlAttribute> toXmlAttributes({
    Map<String, String?> namespaces = const {},
  }) =>
      _$ResourceTypeToXmlAttributes(
        this,
        namespaces: namespaces,
      );

  List<XmlNode> toXmlChildren({
    Map<String, String?> namespaces = const {},
  }) =>
      _$ResourceTypeToXmlChildren(
        this,
        namespaces: namespaces,
      );

  XmlElement toXmlElement({
    Map<String, String?> namespaces = const {},
  }) =>
      _$ResourceTypeToXmlElement(
        this,
        namespaces: namespaces,
      );
}

void main(List<String> arguments) {
  var collection = ResourceType.fromXmlElement(
    XmlDocument.parse(
      '<resourcetype></resourcetype>',
    ).rootElement,
  ).collection;

  assert(collection == null);

  collection = ResourceType.fromXmlElement(
    XmlDocument.parse(
      '<resourcetype><collection/></resourcetype>',
    ).rootElement,
  ).collection;

  assert(collection != null);
}

Thank you, I'll try it out. I played with those options, but still couldn't get it working. Maybe I did something wrong

It worked, thanks a lot for the library and your help!


Converting compas.robot into pybullet robot

The proposed function will convert the compas.robots.RobotModel [1] to a pybullet body produced by pybullet.loadURDF, see for example load_pybullet [2].
This is required by pychoreo since it is using pybullet as a collision checker backend.
This is a part of the larger efforts compas-choreo integration #55 .
[1] https://compas-dev.github.io/main/api/generated/compas.robots.RobotModel.html?highlight=compas robots robotmodel#compas.robots.RobotModel
[2] https://github.com/caelan/ss-pybullet/blob/b89756d0aaa5f8015cd3a59f85efab30a0ab42a1/pybullet_tools/utils.py#L254

This will help us to have a direct way to generate pybullet robot object (instead of tweaking the mesh file paths to relative paths in the URDF).
It will also make our life much easier for testing the ikfast_pybind [1] modules in a pybullet environment, for example, the test modules here [2].
[1] https://github.com/yijiangh/ikfast_pybind
[2] https://github.com/yijiangh/conrob_pybullet/tree/655a32fa2d768ce810b3fb700abc724f034308ab/debug_examples

a6145d5 "fixes" this issue by having a temporal workaround: saving a temporal URDF file with relative linking paths, and send this temporal URDF to pybullet.
An ideal solution would be compas_fab.robot.Robot can generate an urdf package (see the placeholder generate_robot_package and its docstring), but this might involve some changes on the compas.files.xml functionalities (for IronPython compatibility).
I'll keep this issue open until the generate_robot_package function is implemented.

@yijiangh this is now covered with @beverlylytle 's pybullet integration, right? Or is there anything missing?

As it is now, a pybullet robot can be created from a robot only if there is a urdf attached to it, but robots not loaded from a urdf are not easily imported to pybullet.  It should be possible to make this easy for the user by writing a method to step through a robot's model to create a pybullet robot without going through a urdf, but it might be the case that such an object would have its concave bits convexified in the pybullet simulation.

With compas_fab 0.18.0, I think this issue can be closed.


Replace Tokens - 'init' not found - name not supplied

I need to replace a particular file tokens, so I have set the sources to
src/some_folder/somes_cript.py
As the pipeline is launched, the template is called and ran properly
but I get these errors:
token pattern '__\s*((?:(?!__)(?!\s*__).)*)\s*__'
transform pattern '\s*(.*)\(\s*((?:(?!\()(?!\s*\)).)*)\s*\)\s*'
 replacing tokens in '/home/someuser/agent/_work/8/s/src/some_folder/some_script.py'
encoding 'ascii'
##[error]variable 'init' not found
init:
##[error]Error: name not supplied

"init" is nowhere to be found in the project (appart from _ _ init _ _ constructors in .py files)
This is my pipeline template :
parameters:
  - name: targetDirectory
    type: string
    default: '$(System.DefaultWorkingDirectory)'

steps:
  - task: qetza.replacetokens.replacetokens-task.replacetokens@6
    name: replace_tokens
    displayName: "Inject secrets"
    inputs:
      root: "${{ parameters.targetDirectory }}"
      sources: |
        **/src/some_folder/some_script.py
      tokenPattern: 'doubleunderscores'
      logLevel: 'debug'
      missingVarLog: 'error'

Thanks for your help

Hi @phil1234567891011,
The way you have configured the token pattern (doubleunderscores) means that the task will look for any name between two underscores like __something__ and try to replace it with the value of the variable something.
In your case it is finding the pattern __init__ and tries to replace it with the variable init which doesn't exists.
I would suggest that you use another token pattern which doesn't conflict with python syntax. You could use the default token pattern #{something}# for example.

yeah I figured it out in the mean time, stupid of me


[Feature]: request to add watchOptions.aggregaTimeOut

What problem does this feature solve?
This would be benefitting developer productivity in scenarios where they are modifying multiple files at once, and want to recompile and reload once for all of them .
Fir instance we have a scenario where modifying/saving a file generates an artefact in a particular directory which is also watched .  So we want to trigger re-compile after a certain timeout , say like 300ms so as to ensure that artefact is generated.
https://webpack.js.org/configuration/watch/#watchoptionsaggregatetimeout
What does the proposed API of configuration look like?
Here is the webpack implementation for it :
https://webpack.js.org/configuration/watch/#watchoptionsaggregatetimeout

It seems this feature is already implemented by importing WatchPack?
There is even a performance PR regarding this: https://github.com/web-infra-dev/rspack/pull/4724/files

Closed as finished


Entity Synthesis for ProxySQL

Relevant information
This PR is part of the onboarding of new Curated Experiences for ProxySQL. This effort is a partnership between New Relic and Kinect-Consulting.
Checklist

[✔] I've read the guidelines and understand the acceptance criteria.
[✔] The value of the attribute marked as identifier will be unique and valid.
[✔] I've confirmed that my entity type wasn't already defined. If it is I'm providing an
explanation above.

Is this still a valid draft? Should we close or promote it?

Closing them as part of the internal discussion. Once you need them to be merged just re-open the PR.


Isotopefinder charge

Added a method to deduce a charge state from a IsotopePattern found by the IsotopeFinderTask.

I wrote an alternative approach. I think its the safer way. Also extendible in the future.


Update typo replated with jQuery

jQuery file is jquery-2.2.3.min.js not jQuery-2.2.3.min.js
Signed-off-by: Choonho Son<EMAIL_ADDRESS>

Thanks!


util: read cpu quota from both of cpu.cfs_quota_us and cpuset.cpus

Signed-off-by: xixi<EMAIL_ADDRESS>
What problem does this PR solve?
Issue Number: close #9039
Problem Summary:
The CPU quota is controlled by both of cpu.cfs_quota_us(cpu.cfs_period_us) and cpuset.cpus, but current tikv only read it from cpu.cfs_quota_us.
What is changed and how it works?
Proposal: xxx
What's Changed:
Related changes
Check List
Tests

Unit test

Side effects
Release note

No

/run-all-tests

/run-all-tests

/run-test

/merge


[object-alloc] update crates.io

object-alloc v0.1.0 on crates.io still doesn't have the change from commit dec3843358c3a06b7823f76c50d192729332bad8. Is it possible to sync the latest change with crates.io? Thanks.

Done!


remove onstop

onStop is called during onStart (opening UI) and onFinishInput (closing UI)
it consists of three functions

onFinishTyping() - closes autoAccept handler
clearSuggestions() - clears existing suggestions
statusBar.selectText() - changes status bar to show input mode

I've found that by removing onStop, when you leave and come back to type, these 3 functions are called anyway.
onFinishTyping() is called by onFinishInputView() when you leave the keyboard.
clearSuggestions() main tasks are to setSuggestions to null, which is done during onStartInput when you open the keyboard back up and to set composing text to "". I've found this is not making a difference when you leave the keyboard anyway, as this existing suggestion gets committed anyway.
statusBar.selectText is called when you open the keyboard again.

That is a good point and I understand your concern with wanting to cover all bases when you don't know how an application is going to call the InputMethod Service. Although this is going back to some of the fundamentals of the app, I do think it's worth a revisit and seeing where things could be optimized. I am going to open a separate PR that keeps onStop but does tweak some other things that I think are worth considering. I just want to avoid any unnecessary processing. Thanks


add hint about code that relies on fuzzy arrows

We'll have to check the places, but I think this is mainly:

subtype checks & assignability
type promotion (is checks)

The hint should instruct the user how to fix. For arity checks and types of variables, one can use Null as the parameter type instead of dynamic. To call a function like that one can cast to dynamic:
typedef TwoArgFunction(x, y);
test(g) {
  if (g is TwoArgFunction) print(g('hello ', 'world'));
}
main() {
  test((String x, String y) => x + y);
  test((int x, int y) => x + y);
}

new code:
typedef TwoArgFunction(Null x, Null y); // NOTE: Null
test(g) {
  if (g is TwoArgFunction) print((g as dynamic)('hello ', 'world')); // NOTE: cast
}
main() {
  test((String x, String y) => x + y);
  test((int x, int y) => x + y);
}

EDIT: marked this as a soundness issue because we don't really want to implement proper runtime checks for this. See blocked DDC bug #29295.

I think we're going to eliminate fuzzy arrows directly rather than add a hint first, so closing this one out.


Minibatch DL: Renamed the Output table Column Names

JIRA: MADLIB-1300
Renamed the Output table Column Names for Minibatch DL

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/madlib-pr-build/750/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/madlib-pr-build/751/

Passes dev-check, LGTM


How to capture HTTP request and response via rust-headless chrome

I want to archive a HTTP Mitmproxy with Rust. Thanks a lot.

https://arc.net/l/quote/usyjfniu this should solve it, right?


Feature Request - Set Auto Refresh Feeds

Hi
Is it possible to set auto refresh feed?

auto refresh is always enabled.
By default, the latest data is retrieved every 30 seconds. This value can be changed in config.toml with the value of watcher.intervals.feed.
https://github.com/sugyan/tuisky?tab=readme-ov-file#configuration-with-toml-file

So, if I want to run a tuisky session with custom config. I need to run tuisky --config path/to/config.toml (For my case: tuisky --config /home/user/.config/tuisky/config.toml). Is it possible to make it permanent and simpler by run tuisky  ?

I have a weird issue that I set to [watcher.intervals]
feed = 5
Then. after I leave it for 30 -60 minutes, then it stopped for refresh to get new feed. What do you think?

Hmm... that's weird. Would there have been no problem if you hadn't changed the interval (the default 30 seconds)?
I'll try to reproduce the problem myself, but you might be able to get some information by running it while outputting logs as shown below.
RUST_LOG=debug tuisky 2> debug.log

Ok, after couple of hours and I stopped the TUI. Where is the output log located?

2> filename means to redirect stderr output to a file. In this case, logs are output to the file debug.log.

here is the output
[2024-11-15T00:45:39Z DEBUG tuisky::app] App::new(Config { num_columns: None, keybindings: Keybindings { global: {Key(Char('c'), KeyModifiers(CONTROL)): Quit, Key(Char('q'), KeyModifiers(CONTROL)): Quit, Key(Char('o'), KeyModifiers(CONTROL)): NextFocus}, column: {Key(Char('r'), KeyModifiers(CONTROL)): Refresh, Key(Enter, KeyModifiers(0x0)): Enter, Key(Up, KeyModifiers(0x0)): PrevItem, Key(Char('x'), KeyModifiers(CONTROL)): Menu, Key(Backspace, KeyModifiers(0x0)): Back, Key(Down, KeyModifiers(0x0)): NextItem, Key(Char('n'), KeyModifiers(CONTROL)): NextItem, Key(Char('p'), KeyModifiers(CONTROL)): PrevItem} }, watcher: Config { intervals: Intervals { preferences: 600, feed: 5, post_thread: 60 } } })
[2024-11-15T00:45:39Z DEBUG tuisky::app] terminal size: 133x18
[2024-11-15T00:45:39Z INFO  tuisky::components::main] loaded appdata from "/home/user/.local/share/tuisky/appdata.json"
[2024-11-15T00:45:39Z DEBUG reqwest::connect] starting new connection: https://enoki.us-east.host.bsky.network/
[2024-11-15T00:45:41Z INFO  tuisky::app] Action Login(0)
[2024-11-15T00:45:42Z INFO  tuisky::app] Action View((0, Update))
[2024-11-15T00:45:42Z INFO  tuisky::app] Action View((0, Render))

Are these all the logs? I think if you actually open the feed and keep logging until the auto-refresh stops, we can determine where the ERROR occurred.
I have not yet been able to reproduce this in my environment.

Sorry for slow response and it looks like it is stopped after couple of hours without my consent. What do you think?

Log.txt

Looking at the log, it seems that it occasionally receives 502 errors, but still continues to fetch them without problems. However, the number of posts being held may be too large... I guess it is not so much that the auto-update stops, but rather that the UI is overloaded trying to display tens of thousands of posts in a list, and it stops working.
I myself have never experienced a situation with tens of thousands of posts, but even with a few hundred posts, I felt that the operation was sluggish. I think it may be necessary to modify the feed list by setting an upper limit to the number of items to be displayed, and automatically deleting older items to some extent.


New Theme: mediumish

Link to my theme repository: mediumish
I made sure that...

[x] the repository contains a good README.md describing my theme
[x] an open source license has been added to LICENSE.md
[x] all metadata have been added to theme.toml
[x] screenshots have been added in the images/ folder with the required dimensions
[x] in case I'm using a customized demo via the exampleSite folder that

[x] https://example.com is set as base url in exampleSite/config.{toml, yaml, json} to avoid the abuse of unused domains
[x] the site's content is as neutral as possible (contains no ads etc.) and reflects the features of my theme

[x] I tested my theme against the gohugoio/HugoBasicExample

[x] I've checked the developer tools' console in my browser for error messages

[x] in case my theme is using Hugo Pipes features like toCSS and PostCSS that I have committed the /resources directory with all generated assets, for my theme to work in the basic version of Hugo

Hi @lgaida and thanks for sharing this theme!
Everything works fine when I execute the Hugo Themes Site Build Script. 👍
One minor issue is the Homepage link in your theme.toml it seems that the domain http://lgaida.de/ is unavailable. Can you look into it?
Thanks!

Hi @onedrawingperday and thank you for your quick response.
The cause that http://lgaida.de was unavailable was due to the fact that i'm currently working on it. Which is also the reason why i ported the theme. I will use it on my website.
I have enabled the webserver and added a placeholder for now ;)
Thanks!

@lgaida
Ok. Then everything is fine.
@digitalcraftsman
This theme can be added to the website.

Hello @lgaida,
thank you for sharing this theme with the Hugo community. Your theme should be listed soon on the themes site.
Furthermore, I'll promote your theme on Hugo's official Twitter account.


Add automated SpriteText invalidation tests

With a small layout validation framework, which will be used more in the future.
I didn't want to live on the dark side without knowing that invalidations are occurring as intended.
 Presence changes are only applicable going children-to-parent, where it may affect, e.g. flow layout.

I'm against for doing tests in such way.
A problem is all those false, true, false etc. lists have to be manually checked but it is hard to do so. In general a test case should be self-explanation but I can't find why a particular bool is true or false.
Also,

Although it's probably not necessary for them to be invalidated unless a non-DrawSize/DrawScale component of DrawInfo is changed.

Something like this is an evidence of checking against current implementation rather than testing implementation against intended semantics. While this kind of regression testing can be sometimes beneficial, I think there is a little or no benefit in this case.

@smoogipoo For example, "An extra Invalidate call should not make an observable difference" is a necessary property for invalidation.

Again, I don't see how you can test the semantics of that beyond taking a screenshot and comparing - functionality which we don't have right now and which is a long ways off anyway. Otherwise you have no choice but to test the implementation.

Instead of taking a graphical screenshot, getting various properties like DrawSize should works.

So you'd be fine with instead exposing ScreenSpaceCharacters and ShadowOffset and testing against their properties?
There's another problem with your proposed change as well. I want to reduce the number of invalidations happening, e.g. the Colour invalidation that I removed in this PR. Since this all has an impact on performance. How would you tackle that?

For first part of your question, having internal ScreenSpaceCharacters seems reasonable for me.

For the second part, I think if a change is solely to make less invalidation, a specific test for this case is not a problem.

Is there a reason for closing this? I was pretty okay with it being merged (there's no downside to having more tests, even if some are redundant).


Multiple @using statements in partial templates

Not sure if this will present a performance issue or not, because it may be pointing to the libraries more than once when the @Html.Partial calls are made.
A possible resolution would be taking every template that requires the @using statement and putting them together in a single file, but this adds complexity when editing these templates.

@using is simply a compiler help, this should be minimal for compilation.
It tells the compiler what namespaces are ok to seach in to find types for
compilation. Once compiled, its of no concern.
On Sun, Aug 28, 2016 at 4:03 PM, James Earle<EMAIL_ADDRESS>wrote:

Not sure if this will present a performance issue or not, because it may
be pointing to the libraries more than once when the @Html.Partial calls
are made.
A possible resolution would be taking every template that requires the
@using statement and putting them together in a single file, but this
adds complexity when editing these templates.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/MachUpskillingFY17/JabbR-Core/issues/14, or mute the
thread
https://github.com/notifications/unsubscribe-auth/ABqPDSXXcfpGD0JAYfOQ87VR8Ow101NHks5qkhPOgaJpZM4JvCr9
.

Got it 👍 will close.

wooo go James!


Syncing often seems to be stuck at read storage processes

Thank you for taking the time to report this issue!
To improve the process, I would like to ask you to let me know the information in advance.
All instructions and examples, and empty entries can be deleted.
Just for your information, a filled example is also written.
Abstract
The sync stops working after some events. I mostly see those icons then:
⏳ Working read storage processes
🛫 Pending read storage processes
I'm not certain yet what the cause is. It happened since 0.22.
I have to restart obsidian on both devices and eventually it works, but this seems to be a new stuck behaviour which I am not certain what the cause is.
Expected behaviour

Synchronisation ends with the message Replication completed
Everything synchronised

Actually happened
On the device where the change should be pulled, it just seems to be fully ignored. Clicking replicate doesn't do anything.
Restarting both clients (several times) will eventually find consistency.
Reproducing procedure

Configure OnEvent syncs.
Change any content/Add any file
Click the replication button on the ribbon.
⏳ or 🛫 appear
No sync though. Several Obsidian restarts later -> eventual consistency

Please let me know whether you want something specifically tested

It might actually related to #371

Thank you for reporting this issue!
I noticed this but thought it could not be that serious a problem, and pended it out. However, I was wrong.
🛫 and ⏳ indicate that detected storage changes have been queued, and are being read. It should not happen after writing to the storage. Normally, we can ignore this if the content is the same. However, this is not possible if there are conflicts in the notes.
There was also a problem with the deletion handling. These problems might have combined to cause conflict problems.
Actually, I have not reproduced the conflict problem yet, but v0.22.3 may work for it.
May I ask you to check v0.22.3, please?

Hey thanks for the quick feedback!
I have updated both clients to the new version. It's still seems to be somewhat stuck though. Here are the last logs:
1/29/2024, 12:42:47 PM->Looking for the point last synchronized point.
1/29/2024, 12:42:47 PM->Replication activated
1/29/2024, 12:42:47 PM->↑0 (31) ↓10 (LIVE)
1/29/2024, 12:42:47 PM->Replication completed
1/29/2024, 12:42:47 PM->STORAGE <- DB (modify,plain) 02 Private Notes/General/Test sync.md
1/29/2024, 12:42:47 PM->Processing 02 Private Notes/General/Test sync.md (02 Priva:10-4f)
1/29/2024, 12:42:49 PM->Processing configurations done
1/29/2024, 12:42:49 PM->All files enumerated
1/29/2024, 12:43:01 PM->Content saved:02 Private Notes/General/Test sync.md ,chunks: 3 (new:2, skip:2, cache:1)
1/29/2024, 12:43:01 PM->STORAGE -> DB (plain) 02 Private Notes/General/Test sync.md

The last line here seems where it's stuck, the ⏳ symbol remains.
Since the last update there also seem a big amount of weir dlogs where it seems to compare linux timestamps maybe?
1/29/2024, 12:45:51 PM->STORAGE <- DB :ZZ Archive/XXX1.md
1/29/2024, 12:45:51 PM->1699829328 <<PHONE_NUMBER>
1/29/2024, 12:45:51 PM->STORAGE <- DB :ZZ Archive/XXX2.md
1/29/2024, 12:45:51 PM->1699829328 <<PHONE_NUMBER>
1/29/2024, 12:45:51 PM->STORAGE <- DB :ZZ Archive/XXX3.md
1/29/2024, 12:45:51 PM->1699829328 <<PHONE_NUMBER>
1/29/2024, 12:45:51 PM->STORAGE <- DB :ZZ Archive/XXX4.md
1/29/2024, 12:45:51 PM->1699829328 <<PHONE_NUMBER>
1/29/2024, 12:45:51 PM->STORAGE <- DB :ZZ Archive/XXX5.md
1/29/2024, 12:45:51 PM->1699829328 <<PHONE_NUMBER>

This time, a single restart of obsidian resolves it
Thank you for your hard work!

It looks like 0.22.4 has stabilized the situation so far!
I'll continue to observe for a moment but otherwise we may be able to close this soon. Thank you!

It is a great relief to hear that!
I would love to thank you once again for your patience and cooperation!

Ok, after a few hours and 4 clients of real world usage, it seems to be fixed :) Thank you! I'll close the ticket


Push "Lack of green space" fix to prod

@sampowers-usds @travis-newby @KameronKerger
In order for this to be pushed to production, we'll have to run the create-score-version.yml Github action. In this action, I believe the S3 downloadable folder is written to from the local downloadable folder. I believe the "local downloadable" and the "S3 downloadable" folders are out-of-sync.
We may want to ensure they are synced prior to running this Github action as it's possible that some links may break (although there is caching with some TTL).
The path for the S3 downloadable folder for 1.0 (what is currently in production) is:

This S3 folder's content are on slack

This one is done as of yesterday, March 2! 🚀 We do have some followups which we've captured in #2181.
For future us, the process we (ok, mostly @vim-usds) followed was,

Back up the 1.0 folders on S3 and have those ready to hot-swap in jic something went wrong
Run the create-score-version Github Action, and monitor its progress
Manually invalidate all cached data (/*) in the AWS CDN
Check out the map and make sure it's generally working, then check that the fixes are in place


ITI transition steps

[ ] Hosting - AWS?
[ ] Domain name
[ ] Someone has looked at the code (Stephen?)
[ ] ITI meets Biil
[ ] Documentation complete
[ ] "nice to have"/next steps written up
[ ] Google analytics accounts

Figure out where the network site(s) are hosted - if it's on a linux box, that can be shared w/ WFN. otherwise probably AWS.

AWS: going to spin up new instances for the new network site and WFN. schedule a screen share to get it done collaboratively.
domain name: subdomain/short link, link to from new network site. still a good idea. we need to come up with new name/branding. (note to us: remember to redirect old url to whatever the new one is)
ITI has an SMTP server on amazon that'll probably work?

up on AWS!


Disable the assignRole functionality if User Management is enabled

Summary
The following PR disables the assignRole functionality if User Management is enabled. Once the user management feature gets available by default we'll deprecate the assingRole part completely in favour of invite-based assignements.
Change Type
Mark the type of change your PR introduces:

[ ] Bug fix (resolves an issue without affecting existing features)
[x] Feature (adds new functionality without breaking changes)
[ ] Breaking change (may impact existing functionalities or require documentation updates)
[ ] Documentation (updates or additions to documentation)
[ ] Refactoring or test improvements (no bug fixes or new functionality)

Testing
Outline how the changes were tested, including steps to reproduce and any relevant configurations.
Attach screenshots if helpful.
Review Checklist:

[x] Reviewed my own code for quality and clarity.
[ ] Added comments to complex or tricky code sections.
[ ] Updated any affected documentation.
[ ] Included tests that validate the fix or feature.
[ ] Checked that related changes are merged.

coverage: 52.484% (+0.02%) from 52.466%
when pulling 6044cd0f60694cf32478c8897de0486f80a4bf9f on deprecate-assing-role
into cae4b26277cd9cfa178177b504544218987e9b2a on main.


[redis] KeyError in commandstats when cmdstat_host is present.

I am getting a KeyError when command_stats is enabled. This occurs only on some of the redis instances within my cluster.
I've traced back the error to this line of code. Specifically, the KeyError is thrown on stats['calls'].
Here's the relevant redis-cli output:
$ redis-cli -h broken-host info commandstats
# Commandstats
cmdstat_lpush:calls=4,usec=56,usec_per_call=14.00
cmdstat_lpop:calls=2,usec=39,usec_per_call=19.50
cmdstat_select:calls=1,usec=2,usec_per_call=2.00
cmdstat_ping:calls=17123,usec=11024,usec_per_call=0.64
cmdstat_flushall:calls=1,usec=32,usec_per_call=32.00
cmdstat_info:calls=41051,usec=2933839,usec_per_call=71.47
cmdstat_config:calls=3,usec=47,usec_per_call=15.67
cmdstat_cluster:calls=42,usec=9417,usec_per_call=224.21
cmdstat_client:calls=40,usec=414,usec_per_call=10.35
cmdstat_slowlog:calls=3,usec=8,usec_per_call=2.67
cmdstat_host::calls=2,usec=145,usec_per_call=72.50
$ redis-cli -h working-host info commandstats
# Commandstats
cmdstat_lpush:calls=4,usec=53,usec_per_call=13.25
cmdstat_lpop:calls=4,usec=33,usec_per_call=8.25
cmdstat_ping:calls=8321,usec=8159,usec_per_call=0.98
cmdstat_psync:calls=1,usec=692,usec_per_call=692.00
cmdstat_replconf:calls=88066,usec=127795,usec_per_call=1.45
cmdstat_flushall:calls=1,usec=30,usec_per_call=30.00
cmdstat_info:calls=33406,usec=2437039,usec_per_call=72.95
cmdstat_config:calls=68,usec=1022,usec_per_call=15.03
cmdstat_cluster:calls=42,usec=8872,usec_per_call=211.24
cmdstat_client:calls=40,usec=416,usec_per_call=10.40
cmdstat_slowlog:calls=68,usec=201,usec_per_call=2.96
cmdstat_command:calls=5,usec=2232,usec_per_call=446.40

As you can see, the difference is in the cmdstat_host::calls=2,usec=145,usec_per_call=72.50 line, wherein there are two colons after the cmdstat_host identifier. This was confirmed by modifying the redis check to print out the stats dictionary before the error was thrown:
stats = {'usec_per_call': 72.5, 'usec': 145, ':calls': 2}

There are virtually no google results for cmdstat_host but the only result I could find shows that two colons following cmdstat_host is (may be?) normal.
I'm happy to submit a mini-PR to fix this issue if need be; mostly wanted to get a DataDog maintainer's perspective on how you want it to be done.

@TheKevJames is there any difference between the hosts where you see this and the hosts where you dont? Maybe Redis version?

@irabinovitch  Nope -- they are all machines provisioned identically -- Debian 9 running a redis:4.0.1-alpine based image (with the redis.conf modified a bit) on docker 17.09.0. They were all provisioned simultaneously through the same salt template, and only one of the several machines has the "issue".
The only thing I can think of is that I believe I ran an info command manually on the broken node
docker exec -it redis redis-cli info
My understanding is the cmdstat_host identifier is recording the number of commands made on that host.

Looks like there was a refactor since I opened this ticket. The new location of the failing code is here.
Also adding the additional info that this change was introduced around v5.0 of Redis in this commit, and the double-colon is an intentional artifact (as described by @gechunlin above).


Hiding nodule for TaskContextVariables.variables

Thanks - I tweaked this to omit the lambda, since those are only necessary if you want the metadata to vary per-instance.

Oh really? I could have sworn I tried it with just "" first and it didn't hide the nodule...

I just checked and it's definitely working...


Tele5 support doesn't work anymore.

Checklist

[x] I'm reporting a broken site support
[x] I've verified that I'm running youtube-dl version 2021.12.17
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar issues including closed ones

Verbose log

youtube-dl.exe --verbose --ffmpeg-location "D:\Programme\ffmpeg\bin\ffmpeg.exe" -o "El Dorado - Der Tempel der Sonne" -f bestvideo+bestaudio "https://tele5.de/mediathek/el-dorado-der-tempel-der-sonne/"
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', '--ffmpeg-location', 'D:\\Programme\\ffmpeg\\bin\\ffmpeg.exe', '-o', 'El Dorado - Der Tempel der Sonne', '-f', 'bestvideo+bestaudio', 'https://tele5.de/mediathek/el-dorado-der-tempel-der-sonne/']
[debug] Encodings: locale cp1252, fs utf-8, out utf-8, pref cp1252
[debug] youtube-dl version 2021.12.17
[debug] Python version 3.8.3 (CPython) - Windows-10-10.0.19041-SP0
[debug] exe versions: ffmpeg 2022-04-25-git-f2724d2b69-full_build-www.gyan.dev, ffprobe 2022-04-25-git-f2724d2b69-full_build-www.gyan.dev
[debug] Proxy map: {}
[debug] Using fake IP <IP_ADDRESS> (DE) as X-Forwarded-For.
[Tele5] el-dorado-der-tempel-der-sonne: Downloading webpage
[Tele5] 4102908: Downloading token
[Tele5] 4102908: Downloading JSON metadata
[Tele5] 4102908: Downloading JSON metadata
[Tele5] 4102908: Downloading MPD manifest
WARNING: [Tele5] Unknown MIME type image/jpeg in DASH manifest
[Tele5] 4102908: Downloading m3u8 information
ERROR: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "c:\users\hjs1\appdata\local\programs\python\python38\lib\site-packages\youtube_dl\YoutubeDL.py", line 816, in wrapper
    return func(self, *args, **kwargs)
  File "c:\users\hjs1\appdata\local\programs\python\python38\lib\site-packages\youtube_dl\YoutubeDL.py", line 837, in __extract_info
    ie_result = ie.extract(url)
  File "c:\users\hjs1\appdata\local\programs\python\python38\lib\site-packages\youtube_dl\extractor\common.py", line 534, in extract
    ie_result = self._real_extract(url)
  File "c:\users\hjs1\appdata\local\programs\python\python38\lib\site-packages\youtube_dl\extractor\tele5.py", line 88, in _real_extract
    return self._get_disco_api_info(url, asset_id, endpoint, realm, country)
  File "c:\users\hjs1\appdata\local\programs\python\python38\lib\site-packages\youtube_dl\extractor\dplay.py", line 244, in _get_disco_api_info
    self._sort_formats(formats)
  File "c:\users\hjs1\appdata\local\programs\python\python38\lib\site-packages\youtube_dl\extractor\common.py", line 1374, in _sort_formats
    raise ExtractorError('No video formats found')
youtube_dl.utils.ExtractorError: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Description

Tele5 (https://tele5.de/mediathek/) support doesn't work anymore.
A file that I could download successfully 10 days ago now also shows this error.
AFAIK ytdl handles Tele5 like other sites from the Discovery family.
DRM related problems caused "ERROR: Missing deviceId in context" (and still do), so I guess it's something else...

Unfortunately not. These are your manifests as returned by the Discovery API:
[{'type': 'dash',
  'url': 'https://dplaydk-prod-vod.akamaized.net/b71b98e1-34aa-4d37-9a3b-90af6e2a49f0/dash_widevinePlayready_fmp4/hdntl=exp=1675180191~acl=/b71b98e1-34aa-4d37-9a3b-90af6e2a49f0/dash_widevinePlayready_fmp4/*~data=hdntl~hmac=de473f28bfb3adbb06646783e40c3058399408bb69b60bcb93f918a636851b82/master.mpd'},
 {'type': 'hls',
  'url': 'https://dplaydk-prod-vod.akamaized.net/b71b98e1-34aa-4d37-9a3b-90af6e2a49f0/hls_fairPlay_ts/hdntl=exp=1675180191~acl=/b71b98e1-34aa-4d37-9a3b-90af6e2a49f0/hls_fairPlay_ts/*~data=hdntl~hmac=46ed2c3203ed5f988afafe1f78e2dc2bcda2e71aaddb5e42a103b2515281d1f9/master.m3u8'}]

The presence of widevine and fairPlay in the URLs indicates DRM.
After this patch:
--- old/youtube_dl/extractor/dplay.py
+++ new/youtube_dl/extractor/dplay.py
@@ -213,6 +213,7 @@
         info = video['data']['attributes']
         title = info['name'].strip()
         formats = []
+        drm = 0
         try:
             streaming = self._download_video_playback_info(
                 disco_base, video_id, headers)
@@ -226,6 +227,8 @@
             format_url = format_dict.get('url')
             if not format_url:
                 continue
+            if any(bastardy in format_url for bastardy in ('widevine', 'fairPlay')):
+                drm += 1
             format_id = format_dict.get('type')
             ext = determine_ext(format_url)
             if format_id == 'dash' or ext == 'mpd':
@@ -241,6 +244,8 @@
                     'url': format_url,
                     'format_id': format_id,
                 })
+        if drm > 0 and not formats:
+            raise ExtractorError('No formats without DRM were found', expected=True)
         self._sort_formats(formats)

         creator = series = None

Then
$ python -m youtube_dl -v -F 'https://tele5.de/mediathek/el-dorado-der-tempel-der-sonne/'
[debug] System config: [u'--prefer-ffmpeg']
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'-F', u'https://tele5.de/mediathek/el-dorado-der-tempel-der-sonne/']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2021.12.17
[debug] Git HEAD: 774b346f9
[debug] Python version 2.7.18 (CPython) - Linux-4.4.0-210-generic-i686-with-Ubuntu-16.04-xenial
[debug] exe versions: avconv 4.3, avprobe 4.3, ffmpeg 4.3, ffprobe 4.3
[debug] Proxy map: {}
[debug] Using fake IP <IP_ADDRESS> (DE) as X-Forwarded-For.
[Tele5] el-dorado-der-tempel-der-sonne: Downloading webpage
[Tele5] 4102908: Downloading token
[Tele5] 4102908: Downloading JSON metadata
[Tele5] 4102908: Downloading JSON metadata
[Tele5] 4102908: Downloading MPD manifest
WARNING: [Tele5] Unknown MIME type image/jpeg in DASH manifest
[Tele5] 4102908: Downloading m3u8 information
ERROR: No formats without DRM were found
Traceback (most recent call last):
  File "youtube_dl/YoutubeDL.py", line 832, in wrapper
    return func(self, *args, **kwargs)
  File "youtube_dl/YoutubeDL.py", line 853, in __extract_info
    ie_result = ie.extract(url)
  File "youtube_dl/extractor/common.py", line 539, in extract
    ie_result = self._real_extract(url)
  File "youtube_dl/extractor/tele5.py", line 88, in _real_extract
    return self._get_disco_api_info(url, asset_id, endpoint, realm, country)
  File "youtube_dl/extractor/dplay.py", line 248, in _get_disco_api_info
    raise ExtractorError('No formats without DRM were found', expected=True)
ExtractorError: No formats without DRM were found

$

The site is now offering a JS single-page app that is completely unsupported by the existing extractor. Time to set _WORKING = False.


Support Request:

Describe Your Problem
I've grouped together both my right and left curtain bots. However, one of them opens and the other doesn't. Sometimes it's the right one that fails and other times it's the left.
Relevant log output
[08/03/2022, 12:03:20] [SwitchBot] Right Curtain Target Position: 0
[08/03/2022, 12:03:25] [SwitchBot] Left Curtain Target Position: 0
[08/03/2022, 12:03:25] [SwitchBot] Curtain: Left Curtain failed pushChanges with BLE Connection

Config for homebridge-switchbot
{
    "bridge": {
        "name": "Homebridge 9138",
        "username": "XX:XX:XX:XX:XX:XX",
        "port": 51264,
        "pin": "799-70-518"
    },
    "accessories": [],
    "platforms": [
        {
            "name": "Config",
            "port": 8581,
            "platform": "config"
        },
        {
            "name": "SwitchBot",
            "credentials": {
                "notice": "Keep your token a secret!"
            },
            "options": {
                "devices": [
                    {
                        "deviceId": "CDC51E1D9C40",
                        "configDeviceName": "Left Curtain",
                        "configDeviceType": "Curtain",
                        "ble": true,
                        "customBLEaddress": "XX:XX:XX:XX:XX:XX",
                        "curtain": {
                            "hide_lightsensor": true
                        },
                        "logging": "standard"
                    },
                    {
                        "deviceId": "XX:XX:XX:XX:XX:XX",
                        "configDeviceName": "Right Curtain",
                        "configDeviceType": "Curtain",
                        "ble": true,
                        "customBLEaddress": "XX:XX:XX:XX:XX:XX",
                        "curtain": {
                            "hide_lightsensor": true
                        },
                        "logging": "standard"
                    }
                ]
            },
            "platform": "SwitchBot"
        }
    ],
    "disabledPlugins": []
}

Screenshots
No response
Device & Model
Curtain Bot V3.9
Node.js Version
v16.14.0
NPM Version
v8.3.1
Homebridge Version
v1.4.0
Homebridge SwitchBot Plugin Version
v1.12.7
Homebridge Config UI X Plugin Version
v4.42.0
Operating System
Raspbian

I'm still facing this issue on the latest version?


fix: remove upper limit for required terraform version

/run pipeline

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


Rectangle Selects commands are not being reported through the ActionFeatureLayer

@TommyTran93 I see your issue was referenced in a PR which is already merged.
Was this solved?
If yes, can you please close this issue?


Consider moving HttpClient to unleash-haskell-client

Fixed in https://github.com/finn-no/unleash-client-haskell-core/pull/13.


Start security audit for Notary

According to the CNCF TOC’s suggestion, Notary is requested to undergo a security audit targeting the Notary v2/Notation work, including Notation, Notation-go, and Notation-core-go repositories. I have submitted a ticket on behalf of the Notary community to request a security audit for the Notary subprojects. Ref https://cncfservicedesk.atlassian.net/servicedesk/customer/portal/1/CNCFSD-1580
@caniszczyk connected OSTIF team with us. OSTIF will bring a security audit introduction to us in a meeting on Feb 20. This issue is to track what we need to prepare for the OSTIF security audit.

@FeynmanZhou we should start creating a threat model for Notary that we can use for the discussions with OSTIF. I've used https://github.com/OWASP/threat-dragon in the past for threat modeling. I would suggest that we create a preliminary model before the meeting with OSTIF.

I believe this is also related to https://github.com/notaryproject/notation/issues/409. We should consolidate on single place to file issues, else it is becoming confusing and randomizing.
@yizha1 @FeynmanZhou @iamsamirzon @vaninrao10

I'm not sure how far along y'all are in the planning process but, we would like to see the design evaluated as part of this audit.