Order of operations to move site DB back to single instance is out of order from our experience

We just moved from an Always ON AG back to single instance on an existing SCCM site.  When attempting Step 4 our SQL DBAs encountered an error stating that members of an AG require FULL backup and they could not reconfigure backup model from FULL to SIMPLE.  FULL is a requirement for an AG per MS Docs:  https://docs.microsoft.com/en-us/sql/database-engine/availability-groups/windows/prereqs-restrictions-recommendations-always-on-availability?view=sql-server-2017#RequirementsDb  We worked around this by performing Step 10, then Step 4 and on through Step 9 with no issues.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 90a6316d-7ce8-8cb9-6d9c-d6c923f12706
Version Independent ID: 3476d25b-b42b-f9f4-a58d-80d95e97ac42
Content: Configure Availability Groups - Configuration Manager
Content Source: sccm/core/servers/deploy/configure/configure-aoag.md
Product: configuration-manager
GitHub Login: @aczechowski
Microsoft Alias: aaroncz

Thanks for the feedback @sashonk34. We'll look at revising this in the future. An initial comment back from the engineering team (more for my future memory):

I think we need a step 3.5 that says if you are planning to move from AG to standalone on an existing replica, the db needs to be removed from the ag first.  Step 10 is kind of a generic “how to finish teardown” step that might be too heavyweight for before step 4 but is appropriate as step 10.

Agreed on adding step 3.5.  That is exactly what we did, since we dropped back to the primary db instance in the ag, and then proceeded through the rest, leaving the rest of step 10 for the end (post-config/validation).  Worked as we expected in our environment.


Version update fails

Description:
Whenever I try and install the new version using the .deb package, I get this error

I tried removing the whole folder (/usr/lib/ballerina) but without any luck. And that also means that I no longer have access to the CLI, since I removed that folder. I'm unsure what to do from here?
Steps to reproduce:
None I suppose.
Affected Versions:
Latest (v1.2.3)
OS, DB, other environment details and versions:
Linux (Pop!_OS v19.10)

After 1.1.0 release for version updates we always promote ballerina update tool [1].
If you need to install a specific installation you can use following command by specifying version
ballerina dist pull jballerina-1.1.4
if you want to update your distribution to latest patch version you can just execute
ballerina dist update
In order to support above feature, we had to move installation to /usr/lib/ballerina where as it uses same shares in built JRE among multiple distributions.
When you try to install new installers it will rewrite the whole installation and unfortunately in Ubuntu if you have a previous installation using same directory it will not rewrite.
To avoid that you need to remove previous version from dpkg (In your case its 1.1.4 as below)
dpkg --remove ballerina-1.1.4
and then use new install new version as follows (You can even use the wizard UI as well)
dpkg -i ballerina-linux-installer-x64-1.2.0.deb
Or else you can install forcefully by using following command
dpkg -i --force-overwrite ballerina-linux-installer-x64-1.2.0.deb
As i mentioned earlier to update ballerina now you don't need to download installer and install again, you can easily use ballerina update tool feature
[1] https://ballerina.io/learn/how-to-keep-ballerina-up-to-date/

Thank you very much! And yeah, I first found the update command after I had deleted the old Ballerina folder. But this works. Thank you!


Vector Editor with List Editor and adding elements.

Pull Request Description
Vector Editor widget is improved: replaced old simple widget with List Editor, and added integration for adding elements.
Important Notes
The widget is still under feature flag: --feature-preview.vector-editor.
Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[x] The documentation has been updated, if necessary.
[x] Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
[x] All code follows the
Scala,
Java,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
All code has been tested:

[x] Unit tests have been written where possible.
[x] If GUI codebase was changed, the GUI was tested when built using ./run ide build.

QA report 🟢
Adding, well, works. Though I don't like that adding elements removes spaces between them, I'd prefer additional spacing inserted. Removing doesn't work properly, but I guess this is expected.
https://user-images.githubusercontent.com/6566674/233366007-82db507d-b13a-4f80-a60b-73da48ada37a.mp4


Add Pretty Diff support for Mustache

What does this implement/fix? Explain your changes.
Adds Pretty Diff as beautifier for Mustache
Does this close any currently open issues?
Closes #1593
Checklist
Check all those that are applicable and complete.

[x] Merged with latest master branch
[ ] Added examples for testing to examples/ directory
[ ] Travis CI passes (Mac support)
[ ] AppVeyor passes (Windows support)

Thanks for contributing!

Published to v0.29.19


Cannot push local image to local repository

Output of docker version:
Client:
 Version:      1.10.3
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   20f81dd
 Built:        Thu Mar 10 15:54:52 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.10.3
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   20f81dd
 Built:        Thu Mar 10 15:54:52 2016
 OS/Arch:      linux/amd64

Output of docker info:
Containers: 3
 Running: 3
 Paused: 0
 Stopped: 0
Images: 11
Server Version: 1.10.3
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 23
 Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Plugins:
 Volume: local
 Network: bridge null host
Kernel Version: 3.19.0-56-generic
Operating System: Ubuntu 14.04.4 LTS
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 47.17 GiB
Name: devstack01
ID: DI6U:KDJ7:NTNV:U3T4:ZHA4:JR4N:GLOH:VOZK:LDQ4:425S:7BBP:V7V7
Http Proxy: http://<proxy>:8080/
Https Proxy: http://<proxy>:8080/
No Proxy: localhost,<IP_ADDRESS>
WARNING: No swap limit support

Additional environment details (AWS, VirtualBox, physical, etc.):
Ubuntu 14.04 VM
Steps to reproduce the issue:

As in this guide, run registry using docker run -d -p <IP_ADDRESS>:8000:8000 --restart=always --name againregistry registry:2
docker tag ubuntu <IP_ADDRESS>:8000/ubuntu
sudo docker push <IP_ADDRESS>:8000/ubuntu

Describe the results you received:
Docker push gives
The push refers to a repository [<IP_ADDRESS>:8000/ubuntu]
Put http://<IP_ADDRESS>:8000/v1/repositories/ubuntu/: read tcp <IP_ADDRESS>:38235-><IP_ADDRESS>:8000: read: connection reset by peer

or
The push refers to a repository [<IP_ADDRESS>:8000/ubuntu]
Put http://<IP_ADDRESS>:8000/v1/repositories/ubuntu/: EOF

Registry logs:
time="2016-04-07T15:19:31Z" level=warning msg="No HTTP secret provided - generated random secret. This may cause problems with uploads if multiple registries are behind a load-balancer. To provide a shared secret, fill in http.secret in the configuration file or set the REGISTRY_HTTP_SECRET environment variable." go.version=go1.5.3 instance.id=6391e3dc-6644-4a45-8e8b-a08c8ff798a6 version=v2.3.1
time="2016-04-07T15:19:31Z" level=info msg="redis not configured" go.version=go1.5.3 instance.id=6391e3dc-6644-4a45-8e8b-a08c8ff798a6 version=v2.3.1
time="2016-04-07T15:19:31Z" level=info msg="Starting upload purge in 1m0s" go.version=go1.5.3 instance.id=6391e3dc-6644-4a45-8e8b-a08c8ff798a6 version=v2.3.1
time="2016-04-07T15:19:31Z" level=info msg="using inmemory blob descriptor cache" go.version=go1.5.3 instance.id=6391e3dc-6644-4a45-8e8b-a08c8ff798a6 version=v2.3.1
time="2016-04-07T15:19:31Z" level=info msg="listening on [::]:5000" go.version=go1.5.3 instance.id=6391e3dc-6644-4a45-8e8b-a08c8ff798a6 version=v2.3.1
time="2016-04-07T15:20:31Z" level=info msg="PurgeUploads starting: olderThan=2016-03-31 15:20:31.061864096 +0000 UTC, actuallyDelete=true"
time="2016-04-07T15:20:31Z" level=info msg="Purge uploads finished.  Num deleted=0, num errors=1"
time="2016-04-07T15:20:31Z" level=info msg="Starting upload purge in 24h0m0s" go.version=go1.5.3 instance.id=6391e3dc-6644-4a45-8e8b-a08c8ff798a6 version=v2.3.1

Describe the results you expected:
Expected image to push to registry
Additional information you deem important (e.g. issue happens only occasionally):
I'm running behind a corporate proxy which I have accounted for in env, bash.bashrc, /etc/systemd/system/docker.service.d/http-proxy.conf and /etc/default/docker.
When I try to curl <IP_ADDRESS>:8000 (the port for the registry), I receive a connection reset by peer error. However, the port is listed as listening with netstat -ntlp.

What kind of proxy do you use? Does if work if you don't have a proxy enabled?
Just to test; can you try if you can run an nginx server, and curl that?
docker run -d -p <IP_ADDRESS>:4321:80 nginx
curl <IP_ADDRESS>:4321

I'm honestly not sure what kind it is, and I can't disable it.
I ran an nginx server as you asked and I can curl it just fine.
$ curl <IP_ADDRESS>:4321
<!DOCTYPE html>

<title>Welcome to nginx!</title>

Welcome to nginx!

If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.

For online documentation and support please refer to
nginx.org.

Commercial support is available at
nginx.com.

Thank you for using nginx.

You showed that you started the registry with -p 8000:8000, but you probably need -p 8000:5000.

@programmerq nice catch!

After a week of tearing my hair out, that one number was causing all my problems. Thanks for the tip! Why must that particular port be mapped?

Port 5000 is the port that the registry inside the container is listening on. By doing <IP_ADDRESS>:8000:5000 you are mapping port 5000 inside the container to port 8000 on <IP_ADDRESS>.
Also see: https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/#connect-using-network-port-mapping

I'll close this issue, because it looks to be resolved, but feel free to comment here after I closed


(AzureCXP) Fixes MicrosoftDocs/azure-docs-cli#2292

Updated CA bundle locations for other Linux distros
--
CC: @dbradish-microsoft

Docs Build status updates of commit 651eee8:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-conceptual/use-cli-effectively.md
:bulb:Suggestion
View
Details

docs-ref-conceptual/use-cli-effectively.md

Line 121, Column 1: [Suggestion-preserve-view-not-set] Did you mean to link to a specific version? If so, add &preserve-view=true to the URL: /graph/api/overview?toc=./ref/toc.json&view=graph-rest-1.0
Line 123, Column 1: [Suggestion-preserve-view-not-set] Did you mean to link to a specific version? If so, add &preserve-view=true to the URL: /graph/api/resources/application?view=graph-rest-1.0
Line 123, Column 1: [Suggestion-preserve-view-not-set] Did you mean to link to a specific version? If so, add &preserve-view=true to the URL: /graph/api/application-update?view=graph-rest-1.0&tabs=http

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Historical bar chart - multi bar support

Hi guys,
Does Historical bar chart supports multi bar values (multiple series / keys)?
I've tried it and visualization looks ok, but problem is when I want to change selection via legend to only some series/bar (after few clicks selection applies but there is an error).
Can you please check?
http://plnkr.co/edit/dXDWtQLIiBqMFbuydfaP?p=preview

I think it should ideally. But it seems more like a core bug...

That is because the event attached to it is "dblclick"


object diffs

when loose equality is performed it's pretty annoying to see the difference between two arrays, two large objects etc

mocha doesn't ship with an assertion lib so it's really up to you/that lib. I do want to support a couple "special" properties on the error objects to make specialized formatting easier

Yeah, would be nice to have one for HTML and one for a shell.


lint: duplicated id error in case test are duplicated from symlink

In case there there is a test with id set and this test is for some reason symlinked as other test, tmt lint will report failure. fail G001 duplicate id
Note, this might not be a bug and the failure would be expected as they are duplicated tests after all, the biggest problem it seems there is no way to have the id set for the test and have tmt lint to not report failure in this case.
Maybe adding an option to disable an specific lint check in the test metadata would be a good solution something like: # tmt-lint: disable=G001

The # tmt-lint comment approach sounds good. We could also consider introducing a global config for the whole fmf tree. The following issue might be slightly related:

https://github.com/teemtee/fmf/issues/183

There is a proposal to have an .fmf/config file where additional config could be stored for that given fmf tree and would affect the way in which the fmf metadata are gather. We could have a tmt section there or introduce .fmf/tmt or, perhaps, have a .tmt/config file for tmt specific configuration.

Note: This might a duplicate of #2048:

#2048


Create and test gaming versions of all existing images.

Requirements for these new images are:

Should include steam and lutris
Should consistently build successfully
Steam and Lutris should run successfully and run at least one game successfully

What is the state of using Steam Flatpak? @smcv might be helpful here
Lutris is also available as a Flatpak. Including ProtonUp* and Bottles may be useful

What is the state of using Steam Flatpak? @smcv might be helpful here
Lutris is also available as a Flatpak. Including ProtonUp* and Bottles may be useful

flatpak or not, it needs to work with hardened_malloc, which will require significant testing

closing as we'll be handling this using flatpak

Gaming versions not required, use flatpak steam and follow the instructions above


streamline grep usage in minikube_before_you_begin

tested on macOS with BSD's grep and GNU's. same flags, same output.
there are some 55 CPU flags on mac, so highlighting VMX makes it
easier to grasp
using egrep on linux and grep on mac, not necessary
precision: the VT-x feature is NOT an OS feature...

@otzoran, I'll be happy to give this a thumbs-up if you can sign the contributor license agreement.

/check cla

/check-cla

Hi @otzoran . Thanks for your PR! Please sign the CLA, so we can start getting it merged.

📝 Please follow instructions at https://git.k8s.io/community/CLA.md#the-contributor-license-agreement to sign the CLA.

@sftim @DanyC97 @cody-clark
Thank you for persisting, I'm waiting the company for which i work now to add me to their CLA. I'm told we're almost there...

Ok, i'm on the CLA list.

/check-cla

changed my github's acct primary email to the one on list. maybe this will do?

HI, this still does not have a valid CLA and its been quite a while so I am closing this.  If this status changes please let us know.
/close


Extend strings with explicit 'ref' template

It's just question to discuss - currently OSRMTI contains implicit logic to concatenate {way_name} and {ref} together to use as new {way_name} value further.
Recent #148 'Make parentheses around ref localizable' tries to make this concatenation more public and localizable but IMHO it would be better to have special templates when both {way_name} and {ref} are available for the maneuver, say:
        "continue": {
            "default": {
                "default": "Turn {modifier}",
                "name": "Turn {modifier} to stay on {way_name}",
                "name and ref": "Turn {modifier} to stay on {way_name} ({ref})",
                "destination": "Turn {modifier} towards {destination}",
                "exit": "Turn {modifier} onto {way_name}"
            },

or even this TTS-friendly way :wink:
        "continue": {
            "default": {
                "default": "Turn {modifier}",
                "name": "Turn {modifier} to stay on {way_name}",
                "name and ref": "Turn {modifier} to stay on {way_name}, route {ref}",
                "destination": "Turn {modifier} towards {destination}",
                "exit": "Turn {modifier} onto {way_name}"
            },

What do you think about this?

ref can already contain a prefix, as in SR 123. ("SR" stands for "state route" in this case.) So adding "route" can be redundant. It's worth noting that the way name in destination can also have a ref, although we don't get it in structured form at the moment: Project-OSRM/osrm-backend#3329. The downside to inlining the name-ref combination is that we'll contribute to a combinatoric increase in the number of strings to translate. But if there's a use case beyond prepending "route", then that may become necessary.

There are prefixed route numbers in most European countries in OpenStreetMap – 🇬🇧🇩🇪🇦🇹 come to mind. But you’re right that many countries have just bare numbers like 123a in the ref tags. I agree that it would be nice to add something like “route” in front of such values.


updated date and time component

Proposed Changes

Fixes #8994
Change 1:  made changes in the hour format from 24 to 12

@ohcnetwork/care-fe-code-reviewers
Merge Checklist

[ ] Add specs that demonstrate bug / test a new feature.
[ ] Update product documentation.
[ ] Ensure that UI text is kept in I18n files.
[ ] Prep screenshot or demo video for changelog entry, and attach it to issue.
[ ] Request for Peer Reviews
[ ] Completion of QA

Closing due to inactivity


The web app deployment in e66ac2-test is not picking up the latest image changes/builld

@bhumin-fw I have fixed the issue with the web app deployment. The deployment seems to be picking up the latest image for the web pod .Please run a test at your end and let me know.

@Abuchana

@kkapoor-fresh tested it, works fine.


Update building-app-start.md

fixed typos in filenames
moved 'Create a new npm package' up to appropriate place

@boris-bazilevskiy : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Hi @boris-bazilevskiy - This pull request was opened in the public repo. PMs should work in the private repo, per the Microsoft Docs contributor guide. Would you make this content update in the private repo instead? Thank you! We'll close this PR.


Admin Stats page is empty

When I click on Administration
Then I get forwarded to the Administration page
When I click on statistics
Then I end up on an empty white page

This is related to the users that have deposits not being in the database on QA:
https://github.com/projecthydra/sufia/blob/7.2-migration/app/services/sufia/statistics/depositors/summary.rb#L20
I think that the simplest solution would be to run this code from HttpHeaderAuthenticatable for each user that has "deposited".
            u = User.create(login: user, email: user)
            u.populate_attributes

Possibly create a rake task so that when we go into production we can just run it to be certain this error will not creep up on us...

This could be a non blocker, but we would need to support and request for information in the meantime.

https://scholarsphere-qa.dlt.psu.edu/admin/stats


Scheduled backup not working

The feature seems not to be working properly regardless if you update the settings from the crashplan portal or within Docker. Backup is not starting when it should.

You will need to provide a little more information, platform, image version, and a copy of your docker run command would be a good start.

Yes you are absolutely right. Sorry.
Synology (DS3617xs), docker image, jlesage/crashpan-pro:latest
Json settings fie is here: https://pastebin.com/LCf9WSL0

You didn't set a timezone.  Can it be related to that?

Look for errata in /docker/appdata/crashplan/log/app.log, service.log.0, history.log.0 or backup_files.log.0
Depending on what you find, this could be an issue for Code42

There are a additional log files as well.  You should check them all.

OK I will check the log files more carefully. I've added TZ Europe/London to the environmental variables as this is a low hanging fruit. I will report back my findings. Thanks for the suggestion!

I can confirm adding the TZ environmental variable solved this issue. Thanks!


Chore - extract Layout && fix mapbox token type warning

Horus's improvements to my code.
Thanks btw! I totally forgot to do the Layout 😵💫

Merging after review.


Test failure (testBrokenRulesetMultiError)

Running test suite on a git clone (with PHP 8.1, 8.2, 8.3 or 8.4)
There was 1 failure:

1) PHP_CodeSniffer\Tests\Core\Ruleset\ProcessRulesetBrokenRulesetTest::testBrokenRulesetMultiError
Failed asserting that exception message 'Ruleset /dev/shm/BUILD/php-pear-PHP-CodeSniffer-3.11.2-build/PHP_CodeSniffer-1368f4a58c3c52114b86b1abe8f4098869cb0079/tests/Core/Ruleset/ProcessRulesetBrokenRulesetMultiErrorTest.xml is not valid
- On line 8, column 12: Opening and ending tag mismatch: property line 7 and rule
- On line 10, column 11: Opening and ending tag mismatch: properties line 5 and ruleset
' matches '`^Ruleset \S+ProcessRulesetBrokenRulesetMultiErrorTest\.xml is not valid\R- On line 8, column 12: Opening and ending tag mismatch: property line 7 and rule\R- On line 10, column 11: Opening and ending tag mismatch: properties line 5 and ruleset\R- On line 11, column 1: Premature end of data in tag rule line 4\R$`'.

FAILURES!

@remicollet That's a new test and in all the runs I've done with it, it is passing fine, both locally as well as in CI.
I presume you are getting the error for the images you maintain ? I suppose it could be something to do with the libxml version PHP is compiled with ? Do you use a custom libxml ?

Indeed seems related to new lilbxml in recent Fedora
Test suite passes on

RHEL 8.10 with libxml 2.9.7
RHEL 9.5 with libxml 2.9.13
RHEL 10.0-beta with libxml 2.15.5
Fedora 39 with libxml 2.10.4

Test fails on

Fedora 40/41 with libxml 2.15.8

What I'm testing in that test is the custom error handling within PHPCS for errors coming reported by libxml. In particular, that if there are multiple errors reported by libxml, these are displayed correctly and in a readable fashion by PHPCS.
Basically, that test is testing the multi-error handling in the foreach for this code:
https://github.com/PHPCSStandards/PHP_CodeSniffer/blob/855f26176ae5bb2681c797a6cc22fa0124e06d90/src/Ruleset.php#L486-L499
Which means the test fixture deliberately has three XML errors, but it looks like libxml 2.12 is only reporting two, so even if I would ignore the specific message text from the libxml errors, I'd still want the regex to verify that exactly 3 errors are shown, while it looks like libxml is now reporting 2, which is not useful for this test.

Are 2 not "multiple errors" ?

True, but I kind of wanted to test with > 2 errors.

Okay, so what I think needs to happen here:

Adjust the test fixture to have three errors which are all reported both by libxml < 2.12, as well as by libxml >= 2.12+.
Adjust the regex in the actual test code to accommodate the change in the errors.

I don't have access to a PHP version build with libxml 2.12+ myself, so here's me hoping someone will submit a PR to handle this.
@remicollet As for the test runs you manage, I suppose you could add a @requires extension libxml < 2.12.0 tag for the time being.
Note: the @requires tag is not an acceptable solution for the test in PHPCS itself, but could tide you over until the test is improved to be compatible with libxml < 2.12 and libxml >= 2.12+.

I don't have access to a PHP version build with libxml 2.12+ myself

$ podman run --rm -ti fedora:41
[root@2c695ec63a03 PHP_CodeSniffer]# dnf install composer phpunit9 git
[root@2c695ec63a03 PHP_CodeSniffer]# git clone https://github.com/PHPCSStandards/PHP_CodeSniffer.git
[root@2c695ec63a03 PHP_CodeSniffer]# cd PHP_CodeSniffer/
[root@2c695ec63a03 PHP_CodeSniffer]# phpunit9 -d memory_limit=-1

;)

@remicollet Nice try, but I'm on Windows ;-)


Feature Request: Support for different modes for vim bindings

Being a vim user I was using rest.nvim, it covers my day to day usage except for few cases like file upload. So was always looking for a lightweight alternative of Postman. Thank you so much for a lightweight client.
I tried using the vim bindings provided in the repo, it unfortunately didn't work as expected, it usually causes conflicts when editing values. For example the default binding used  to display help is H, Now when editing the URL, if I were to type variable name HOST, I am not able to do so because the moment I type H it opens up the help menu.
https://github.com/Julien-cpsn/ATAC/assets/14184045/65ed524b-1feb-45b3-80c7-41649ecd5743
As a workaround I can remap the help binding but that would cause conflict with some other key which I will need to remap.
So I am suggesting to implement vim modes like NORMAL and INSERT, where in INSERT mode no keys will trigger the binding action and ESC key can change the mode back to NORMAL.
Similar implementation can be found in this terminal file manager yazi
Sample clip from their demo:
https://github.com/Julien-cpsn/ATAC/assets/14184045/941253bb-511d-4d1c-9927-795fad6aa9f6
OR
We can add an option to open the content in preferred editor using $EDITOR where user can edit the content and edited content can be conveyed back to ATAC, this will provide more flexibility and user can utilise the syntax highlighting of the editor as well.

After testing for a while I could see that for body textarea we have vim emulation available, but it is not available for input boxes.
I could find the input component in yazi source: yazi-core/src/input
We can utilise this components.

Hello @G0V1NDS
thanks for your issue and your investment on the project
The big problem with the text area is that it remains unmaintained and is plainfull to use.  Concerning the main issue you are talking about, I personnally think that it would a great thing the improve the vim config file. Since it works great with most use case.
If you have any more ideas, tell me
Have a great day

Have you considered maybe using a vim library, or communicating with nvim?
Something like
https://github.com/onivim/libvim
Or using the nvim API, to run a nvim backend
https://neovim.io/doc/user/api.html#api-global
Implementing a vim emulation for every software we want to add vim motions to doesn't seem very practical, and there seem to be good alternatives out there.


make sure the api docs are generated for the security module

Motivation
Make sure the api docs are generated for the security module
Description
Add the security modules to the list of modules when generate API docs.
Progress

[x] Done Task

@wei-lee docs.sh does not work because it's point to a wrong folder. I have sent https://github.com/wei-lee/aerogear-xamarin-sdk/pull/1 to your repo to fix it and be included here. Apart from that. This PR works like a charm.


Don't run japicmp as part of the build

/test jvm-build-service-in-repo-apicurio-e2e

This failure is actually a result of an earlier PR, so this can be merged.


Fix 2792 this simple type

PR checklist

[x] Addresses an existing issue: #2792
[x] New feature, bugfix, or enhancement

[x] Includes tests

[ ] Documentation update

CHANGELOG.md entry:
[bugfix] array-type: consider this to be simple type

Thanks for your interest in palantir/tslint, @ksvitkovsky! Before we can accept your pull request, you need to sign our contributor license agreement - just visit https://cla.palantir.com/ and follow the instructions. Once you sign, I'll automatically update this pull request.

thanks @ksvitkovsky


Upgrade still ambiguous

Type of issue
Other (describe below)
Feedback
It says:
upgrade --all will identify all the applications with upgrades available. When you run winget upgrade --all the Windows Package Manager will look for all applications that have updates available and attempt to install the updates.
This is still a bit ambiguous, and technically incorrect. Running upgrade -all WILL do the upgrades. The command would be just Upgrade to identify the applications with upgrades available. So this should be written as:
upgrade will identify all the applications with upgrades available. When you run winget upgrade --all the Windows Package Manager will look for all applications that have updates available and attempt to install the updates.
Page URL
https://learn.microsoft.com/en-us/windows/package-manager/winget/upgrade#using-upgrade
Content source URL
https://github.com/MicrosoftDocs/windows-dev-docs/blob/docs/hub/package-manager/winget/upgrade.md
Author
@mattwojo
Document Id
ed2c403c-7bba-9647-fb5c-da556cb93a6b

Related to https://github.com/MicrosoftDocs/windows-dev-docs/issues/5083, https://github.com/MicrosoftDocs/windows-dev-docs/issues/5092


Multicopter position control: Attitude control oscillation

Summarising some comments from @SimonWilks here:
Logs:
http://dash.oznet.ch/view/SHgcgQZ7wcLX9DQV6B7pMU
http://dash.oznet.ch/view/n6psxmgeH3EXg4JntrPH6M
The trigger is the combined low-then-high throttle event, which leaves the system for some time without effective attitude control:
http://dash.oznet.ch/view/SHgcgQZ7wcLX9DQV6B7pMU#Thrust_PLOT
I suspect this code path could play a role in this, as its defeating the new safety built into the mixer. We probably should completely remote it, as it can lead to a loss of attitude control.
https://github.com/PX4/Firmware/blob/master/src/modules/mc_pos_control/mc_pos_control_main.cpp#L1204-L1212

https://github.com/PX4/Firmware/blob/master/src/modules/mc_pos_control/mc_pos_control_main.cpp#L1204-L1212

This code only reduces roll/pitch of the copter in POSCTL in case if at full thrust copter can't hold altitude. Not related to this issue.
I've looked this log and see the following effects:

at 57.72 pitch setpoint increased to start breaking
at 57.85 pitchrate was already big enough and attitude controller reversed pitch control to stop pitch motion
but at 57.9 copter was already climbing up with significant velocity (because props are working also like wings, and give vertical thrust even without thrust), so altitude controller reduced throttle (note, that it was low-end saturation, not high-end that noted by Lorenz)
even with mixer hacks pitch control was not strong enough at this thrust to stop quickly.
copter has significant asymmetry, at hovering thrust for motors 1,2 is more than 3,4, because of this copter got also some yaw movement, and after some rotation around body Z axis got significant roll. Mixer hacks helped to leave yaw without control.

My opinion what is wrong here:

roll/pitch/yaw gains are maybe a bit too high
the worst thing is MPC_Z_VEL_P=0.3, it's 3 times higher than default value, as result altitude controller goes into saturation, recent mixer hacks help to mask this but not always. As I understand you want to get super precise altitude control, but even overpowered copter can descend only with 1g acceleration ;) so you will get only mixer saturation and and all side effects.
note that if mixer goes into saturation on some aggressive movement you will always have bad performance, masking it with mixer hacks is not good idea IMO
recent mixer changes only mask one problem and creating another, and make behavior more unpredictable, bad attitude control problems should be solved another way.

One of the reason why the thrust setpoint went down that far was because the attitude setpoint more or less jumped to a new setpoint. So now the desired and the actual thrust vector were subject to a large angle offset. I also had this problem a lot when writing the vtol controller for the tailsitter. In that case the effect was even worse because a low throttle setting lead to a complete loss of pitch control.
I solved the problem by limiting the attitude error.

Green is SP glube is actual. The time difference between those two snapshots is just 0.03 s

@DrTon yes, yaw still needs tuning. I'll take a look at that. I'd tried with lower pitch/roll gains already and pushed them up as hard as I could hoping it would help recover faster. In manual it flies very well so it's certainly capable. MPC_Z_VEL_P we increased to improve it's altitude recovery which improved significantly then, but I can reduce it again to see if it plays a role here.
@tumbili that seems to reflect what I saw (obviously:) and that the attempts to correct are so sudden that it is floundering in the air...could there be a kind of prop stall in this situation? That's how it looks.

@SimonWilks I think we all agree that with this low thrust setpoint the copter would have never been able to recover. I'll look into this and see what we can do.

This boils down to the correct vs. robust argument. We want to be correct, but we also need to be robust. Tuning the gains to the right values will make us correct, but not robust to either disturbances (we have seen enough corner cases in logs) or suboptimal tuning.


[Bug] getDirectoryName(): Return value must be of type string, null returned

Hi, I have an issue with this package on production, sometimes I got this error:
TimoKoerber\LaravelOneTimeOperations\OneTimeOperationManager::getDirectoryName(): Return value must be of type string, null returned
Note: configs are cached then execute php artisan operations:process
Anyone got this issue?
Thanks for your help!

We have this quite often too, almost always during a deployment. No idea what the root cause is yet, thought I fixed it but apparently not.

Received the same exception. For context, I didn't publish the config, so it's using the default config from the package where directory is configured as string operations. I do have my config cached as @alidevweb mentioned.


python39: 3.9.10 -> 3.9.11

Description of changes
https://www.python.org/downloads/release/python-3911/
https://www.python.org/downloads/release/python-3103/
Updates for 3.7 and 3.8 can go separately into master. Will prepare a PR shortly.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

@ofborg build python39.tests python310.tests

The security content here are the urllib.request and importlib.metadata issues I take it. Because I would hope we use unbundled libs for all the others.


[bzip2:x86-windows] build failure

Host Environment

OS: Windows 10 professional 1909
Compiler:  VS 2019

To Reproduce
Steps to reproduce the behavior:
./vcpkg install pcl
Failure logs
Error: Building package bzip2:x86-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with .\vcpkg update, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
Package: bzip2:x86-windows
Vcpkg version: 2020.06.15-nohash
Additional context
Additional packages (*) will be modified to complete this operation.
Detecting compiler hash for triplet x86-windows...
Starting package 1/61: bzip2:x86-windows
Building package bzip2[core]:x86-windows...
Could not locate cached archive: C:\Users\GLY\AppData\Local\vcpkg/archives\9d\9d657c1b4f7fbd665a93d19809efa4ccc186d0f5.zip
-- Using cached D:/Program files/vcpkg/downloads/bzip2-1.0.6.tar.gz
-- Cleaning sources at D:/Program files/vcpkg/buildtrees/bzip2/src/1.0.6-8838f21f8e.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source D:/Program files/vcpkg/downloads/bzip2-1.0.6.tar.gz
-- Applying patch fix-import-export-macros.patch
-- Applying patch fix-windows-include.patch
-- Using source at D:/Program files/vcpkg/buildtrees/bzip2/src/1.0.6-8838f21f8e.clean
-- Configuring x86-windows
-- Building x86-windows-dbg
-- Building x86-windows-rel
-- Fixing pkgconfig file: D:/Program files/vcpkg/packages/bzip2_x86-windows/lib/pkgconfig/bzip2.pc
-- CHECK_LIB_bz2_RELEASE:CHECK_LIB_bz2_RELEASE-NOTFOUND
CMake Error at scripts/cmake/vcpkg_fixup_pkgconfig.cmake:232 (message):
  Library "bz2" was not found! If it is a system library use the
  SYSTEM_LIBRARIES parameter for the vcpkg_fixup_pkgconfig call! Otherwise,
  correct the *.pc file
Call Stack (most recent call first):
  scripts/cmake/vcpkg_fixup_pkgconfig.cmake:298 (vcpkg_fixup_pkgconfig_check_files)
  ports/bzip2/portfile.cmake:49 (vcpkg_fixup_pkgconfig)
  scripts/ports.cmake:79 (include)

Error: Building package bzip2:x86-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: bzip2:x86-windows
  Vcpkg version: 2020.06.15-nohash

Additionally, attach any relevant sections from the log files above.

This because our vcpkg_fixup_pkgconfig has bug.
For workaround, please clone vcpkg to non-space path and try again.
Thanks.

Duplicated to #13103. Let's track this issue there.


Update Project.toml

Went to 0.2

@JuliaRegistrator register()

Error while trying to register: Register Failed
@Saityi, it looks like you are not a publicly listed member/owner in the parent organization (AlgebraicJulia).
If you are a member/owner, you will need to change your membership to public. See GitHub Help

@Xiaoyan-Li Can you repeat the line I put above in a comment? I can't do that myself, but it'll be needed to finalise this, I think.
@JuliaRegistrator register

Error while trying to register: Register Failed
@Saityi, it looks like you are not a publicly listed member/owner in the parent organization (AlgebraicJulia).
If you are a member/owner, you will need to change your membership to public. See GitHub Help

Error while trying to register: Register Failed
@Saityi, it looks like you are not a publicly listed member/owner in the parent organization (AlgebraicJulia).
If you are a member/owner, you will need to change your membership to public. See GitHub Help

@JuliaRegistrator register()

Comments on pull requests will not trigger Registrator, as it is disabled. Please try commenting on a commit or issue.


【论文复现】Gfpgan

Gfpgan以完成复现，多卡可以正常训练，使用faceutils可以正常推理

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

加一下模型文档，包括中文和英文版本，并把模型文档链接加到官网主页上～
加一下TIPC

TIPC已经完成添加，截图如下

TIPC LGTM

LGTM


Add @FunctionalInterface to Spark's functional interfaces in its API

The java annotation @FunctionalInterface is an informal annotation type,  to indicate that an interface type declaration is intended to be a functional interface as defined by the Java Language Specification.
With this annotation the compiler will throw an error, if this interface is changed in a way which would breaking existing Lambda usages etc.
Upon studying the Sparks API I was stumbling over compiler errors and was missing these annotations as a reassuring documentation.

:+1:


[DOC]: why all examples are running at one node?

📚 The doc issue
is there any examples is running at multi node?

Actually, there was an issue regarding this: #2921.


Can't download nuget packages

Hi,
not sure if a bug, but I've been trying download the latest alpha version nuget packages from github.
For example, from this link: https://github.com/Giorgi/DuckDB.NET/pkgs/nuget/DuckDB.NET.Data.Full
But on that page, I dont see any download link. After some research I figured that I can add github has package source in the Nuget package manager. (using the URL https://nuget.pkg.github.com/Giorgi/index.json ) but this URL asks me for authentication. Not sure if I need to be logged in to download a publicly available nuget package.
What am I missing?

Thanks, I will give that a try.

According to my experience, GitHub package is an issue. I'm using appVeyor and if I want to use the GitHub token as a secret (encrypted), it's not working for pull requests (because it would be a potential security, someone pushing to your branch and displaying the non encrypted token). IMO would be more convenient to also push alpha to Nuget but your mileage may vary.

Actually, it seems like the token expires after 30 days too.
Is there a project specific setting to make nuget packages 'public'?

You can set the token lifetime when creating it.


PDF version of the .NET MAUI eBook is not updated to reflect the recent changes

PDF version of the .NET MAUI eBook is not updated to reflect the recent changes
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 8286af12-fbed-6ba9-b33e-be1345421763
Version Independent ID: 85388434-76a7-7a20-feec-fe27e5ca76b0
Content: Enterprise Application Patterns Using .NET MAUI
Content Source: docs/architecture/maui/index.md
Product: dotnet-architecture
GitHub Login: @michaelstonis
Microsoft Alias: jamont

MVVM Toolkit features have been added recently, now available on the web but it's not updated to the PDF version of the eBook.

Hi @egvijayanand, thanks for sharing your query here. We are in the process of updating ebooks as per the web content, it should get completed by this week.

Hi @egvijayanand, thanks for sharing your query here. We are in the process of updating ebooks as per the web content, it should get completed by this week.

Hi, it seems the PDF eBook is not yet updated to reflect the latest web content. Please look into it.

Ping @erjain.

@erjain seems it's not done even after so many follow ups. Now another major version is also out, kindly update the eBook to match with the web content.


iotedge check reports connection refused

Describe the bug
When running sudo iotedge check --iothub-hostname "xxx", got error:
Socket Error -  ScoketErroCode (ConnectionRefused) Connection refused : /var/lib/iotedge/mgmt.sock
To Reproduce
Steps to reproduce the behavior:

Ran command iotedge check

Expected behavior
Screenshots

Windows Host OS (please complete the following information):

Edition: Windows 10 IoT Enterprise 21H1
Version: build 19043.1110
Virtual Machine: Physical server

Additional context
Tried to change owner on this file with chown iotedge:iotedge /var/lib/iotedge/mgmt.sock but no success

Can you confirm if iotedge is running using sudo systemctl status iotedge?

Hi @veyalla,
No, iotedge is not running. I finally figured out how to get iotedge logs with good Linux syntax and found that the problem are certificates. See:

I deleted all HSM and CERT_KEYS's files before restarting iotedge but no success. It's strange because the certifiates are exactly the same (same script generating them) than those I deploy in production with IoT Edge on native Windows Server. Are the processing of theses certificates different from IoTEdge's Windows binairies ?

Here's my config.yaml section for certificates :

Hi @bryangregoire,
It seems to me that there is some kind of issue with the certificates' ownership. Can you try running the following commands:

Inside the iotedge-user home folder, run ls -l
Move to the certs folder and run ls -l

Thanks,
Francisco

HI @fcabrera23,
Yes, the user iotedge-user don't have access to the certs folder... So I understand that my certificates files should NOT be placed in certs folder (as told in https://docs.microsoft.com/en-us/azure/iot-edge/how-to-manage-device-certificates?view=iotedge-2018-06 ?)
I tried to place certificates files directly in /home/iotedge-user folder but same problem... HSM init failure 51 :(
Have an idea ?

@bryangregoire,
So you can put the certificates in the certs folder as long as you correctly set the ownership to both the folder and the files inside the folder. To do so, please execute the following commands:

sudo chown iotedge /home/iotedge-user/certs
Then move inside the certs folder and run sudo chown iotedge ./*

Finally, restart the iotedge service (sudo systemctl restart iotedge) and try again

@fcabrera23
Same problem :(

@bryangregoire,
Ok maybe you are still missing something. Can you follow the certificates configuration part of one of our sample code?

@fcabrera23
Same thing :( Still same error. Is there some more in-depth logs somewhere that I can look at ? Is the processing of certificates different on Windows and Linux Mariner ?


refactor(chisel-secret): change the error response

Description
Change the error response from 'ChiselAuth' to 'AuthSecret' to match the web UI text as @dekimir suggested here
Related

https://github.com/chiselstrike/frontend/pull/509

recheck

@ricardodalarme Did you sign the CLA? The check is failing, which prevents us from merging.

I have read the CLA Document and I hereby sign the CLA


Race condition; reading, logging

Can you be more specific about the original problem?
Please add a test that demonstrates the problem and that these changes fix it.

Is the following snippet of text the thing that this PR is fixing?
           # NOTE -- we were getting weird race condition issues where sometimes
             #   the FITS header reading failed.  We aren't sure exactly what's going
             #   on, but the hypothesis is bad filesystem behavior.  The earlier
             #   writefits returns, but somehow the file wasn't really fully written
             #   to either disk, or to the memory buffers that the fits.getheader
             #   here read.  Put in an ugly hack of retring and sleeping to work
             #   around this.


Add kitchen sink for DesktopScoreBar

The puzzle 1-649b950e from #1 has to be resolved:
https://github.com/codeforthailand/election-live/blob/07762ca9a76792d7a6a37b927c0ac6c676f7dc34/src/pages/dev/kitchen-sink.js#L11-L11
The puzzle was created by Thai Pangsakulyanont on 19-Mar-19.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

The puzzle 1-649b950e has disappeared from the source code, that's why I closed this issue.


good cognition objective paper

https://arxiv.org/abs/2209.01034
A taxonomy of surprise definitions
Surprising events trigger measurable brain activity and influence human behavior by affecting learning, memory, and decision-making. Currently there is, however, no consensus on the definition of surprise. Here we identify 18 mathematical definitions of surprise in a unifying framework. We first propose a technical classification of these definitions into three groups based on their dependence on an agent's belief, show how they relate to each other, and prove under what conditions they are indistinguishable. Going beyond this technical analysis, we propose a taxonomy of surprise definitions and classify them into four conceptual categories based on the quantity they measure: (i) 'prediction surprise' measures a mismatch between a prediction and an observation; (ii) 'change-point detection surprise' measures the probability of a change in the environment; (iii) 'confidence-corrected surprise' explicitly accounts for the effect of confidence; and (iv) 'information gain surprise' measures the belief-update upon a new observation. The taxonomy poses the foundation for principled studies of the functional roles and physiological signatures of surprise in the brain.
https://arxiv.org/abs/1907.02936
Surprise-based learning allows agents to rapidly adapt to non-stationary stochastic environments characterized by sudden changes. We show that exact Bayesian inference in a hierarchical model gives rise to a surprise-modulated trade-off between forgetting old observations and integrating them with the new ones. The modulation depends on a probability ratio, which we call "Bayes Factor Surprise", that tests the prior belief against the current belief. We demonstrate that in several existing approximate algorithms the Bayes Factor Surprise modulates the rate of adaptation to new observations. We derive three novel surprised-based algorithms, one in the family of particle filters, one in the family of variational learning, and the other in the family of message passing, that have constant scaling in observation sequence length and particularly simple update dynamics for any distribution in the exponential family. Empirical results show that these surprise-based algorithms estimate parameters better than alternative approximate approaches and reach levels of performance comparable to computationally more expensive algorithms. The Bayes Factor Surprise is related to but different from Shannon Surprise. In two hypothetical experiments, we make testable predictions for physiological indicators that dissociate the Bayes Factor Surprise from Shannon Surprise. The theoretical insight of casting various approaches as surprise-based learning, as well as the proposed online algorithms, may be applied to the analysis of animal and human behavior, and to reinforcement learning in non-stationary environments.

Thank you very much for sharing. I will forward the papers to our research group.


[WIP][SQL][TESTS] Migrate DateTimeTestUtils from TimeZone to ZoneId

What changes were proposed in this pull request?

Why are the changes needed?

Does this PR introduce any user-facing change?

How was this patch tested?

Test build #120414 has started for PR 28033 at commit 13f6054.

Merged build finished. Test PASSed.

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

Test build #120414 has finished for PR 28033 at commit 13f6054.

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

Merged build finished. Test FAILed.

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

jenkins, retest this, please

Test build #120433 has started for PR 28033 at commit 13f6054.

Merged build finished. Test PASSed.

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

@cloud-fan @HyukjinKwon Please, have a look at the PR.

Test build #120433 has finished for PR 28033 at commit 13f6054.

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

Merged build finished. Test PASSed.

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

Test build #120453 has started for PR 28033 at commit 7d2b5bd.

Merged build finished. Test PASSed.

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

Test build #120453 has finished for PR 28033 at commit 7d2b5bd.

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

Merged build finished. Test FAILed.

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

jenkins, retest this, please

Test build #120464 has started for PR 28033 at commit 7d2b5bd.

Merged build finished. Test PASSed.

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

Test build #120464 has finished for PR 28033 at commit 7d2b5bd.

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

Merged build finished. Test PASSed.

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

thanks, merging to master/3.0 !


DRC failed with in area of metal1 holes > 0.14um^2

Description
I failed at DRC stage now, and got
[ERROR]: There are violations in the design after Magic DRC.
[ERROR]: Total Number of violations is 3

Expected behavior

DRC clean
Environment

Kernel: Linux v<IP_ADDRESS>-microsoft-standard-WSL2
Distribution: ubuntu 22.04
Python: v3.10.4 (OK)
Container Engine: docker v20.10.17 (OK)
OpenLane Git Version: f9b5781f5ef0bbdf39ab1c2bbd78be8db11b27f2
pip: INSTALLED
pip:venv: INSTALLED
---
PDK Version Verification Status: OK
---
Git Log (Last 3 Commits)

f9b5781 2022-07-01T16:04:31+02:00 Fix a bug with `-overwrite` (#1171) - Anton Blanchard -  (grafted, HEAD, tag: 2022.07.02_01.38.08)

Reproduction Material

Logs

[STEP 31]
[INFO]: Running Multi-Corner Static Timing Analysis at the nom process corner...
[STEP 32]
[INFO]: Running Magic to generate various views...
[INFO]: Streaming out GDS-II with Magic...
[INFO]: Generating MAGLEF views...
[STEP 33]
[INFO]: Streaming out GDS-II with Klayout...
[STEP 34]
[INFO]: Running XOR on the layouts using Klayout...
[STEP 35]
[INFO]: Running Magic Spice Export from LEF...
[STEP 36]
[INFO]: Writing Powered Verilog...
[STEP 37]
[INFO]: Writing Verilog...
[STEP 38]
[INFO]: Running LEF LVS...
[STEP 39]
[INFO]: Running Magic DRC...
[INFO]: Converting Magic DRC Violations to Magic Readable Format...
[INFO]: Converting Magic DRC Violations to Klayout XML Database...
[ERROR]: There are violations in the design after Magic DRC.
[ERROR]: Total Number of violations is 3
[INFO]: Saving current set of views in '../mnt/r/work/Rift2Go_2330/openlane/user_proj_nsram/runs/22_09_10_07_31/results/final'...
[INFO]: Generating final set of reports...
[INFO]: Created manufacturability report at '../mnt/r/work/Rift2Go_2330/openlane/user_proj_nsram/runs/22_09_10_07_31/reports/manufacturability.rpt'.
[INFO]: Created metrics report at '../mnt/r/work/Rift2Go_2330/openlane/user_proj_nsram/runs/22_09_10_07_31/reports/metrics.csv'.
[INFO]: Saving runtime environment...
[ERROR]: Flow failed.

    while executing
"flow_fail"
    (procedure "quit_on_magic_drc" line 13)
    invoked from within
"quit_on_magic_drc -log $::env(drc_prefix).tr"
    (procedure "run_magic_drc" line 26)
    invoked from within
"run_magic_drc"
    (procedure "run_drc_step" line 9)
    invoked from within
"[lindex $step_exe 0] [lindex $step_exe 1] "
    (procedure "run_non_interactive_mode" line 57)
    invoked from within
"run_non_interactive_mode {*}$argv"
    invoked from within
"if { [info exists flags_map(-interactive)] || [info exists flags_map(-it)] } {
    if { [info exists arg_values(-file)] } {
        run_file [file nor..."
    (file "/openlane/flow.tcl" line 389)
make[1]: *** [Makefile:72: user_proj_nsram] Error 1
make[1]: Leaving directory '/mnt/r/work/Rift2Go_2330/openlane'
make: *** [Makefile:73: user_proj_nsram] Error 2

39-drc.log

@whutddk
Its know issue with mpw-7a tag and its because of open_pdks. Update OpenLane to lateset and run the flow will resolve this issue.

Thanks


Add support for adding TLS ciphers/cipher suites via a Provider

As mentioned in the Openssl Providers Workshop there exists no way to add TLS cipher suite through the provider interface.
I won't be able to work on this any time soon but I'd like to kick off a discussion on how the interface should work.
First of all:
Does it make sense to support versions prior to TLS 1.3?
What functionality should the provider add to support a TLS cipher?

Adding support for <= TLSv1.2 would be significantly more complicated, so I wouldn't bother with that. At least initially. Adding support for TLSv1.3 should be much more straightforward.
I envisage that this could be added via a new "Capability".

There is probably an underlying assumption in the code that, for TLSv1.3 ciphers, there is a fixed tag length and otherwise the length of the ciphertext equals the length of the plaintext. If we wanted to support ciphersuites where that is not the case then that would add some complexity.


ForeFlight text update count vs. actual received is too low

Stratux version: v0.8r2 / 8de91a55f0

Stratux config:
SDR
[X] single
[ ] dual
GPS
[ ] yes
[X] no
type:
AHRS
[ ] yes
[X] no
power source: ship power (via UBEC).
usb cable: none. direct wired to GPIO.

EFB app and version: FF v7.6 (1991)
EFB platform: iOS 9.2.1
EFB hardware: iPad Mini 2

Description of your issue:

UAT log attached. FF was open 75% of the time. UAT log shows 13,535 METAR updates. The devices page shows 1,163 for "Text Report Count". The average text reports per frame containing a text report in this UAT log is about 5, so even if this count were "frames with text reports" it is off by a factor of two.
Need to investigate if the "Text Report Count" is a meaningful metric, and if so investigate if FF is receiving all of the data that is being sent to it.

0117-uat.log.gz

"Text Report Count" is a count of unique, current text updates (METARs and TAFs). That log has 13,535 METARs and 2,054 TAFs but quite a few duplicates. I picked one example for comparison that was duplicated 23 times over the course of the log - that's a report with identical location (KMKG), time (261655Z), and text (VRB03KT 10SM FEW030 08/M02 A3021 RMK AO2 SLP238 T00831017).

Here are the counts for METAR/TAF/SPECI de-duped by field, PIREP de-duped by timestamp, and WINDS de-duped by location+timestamp. Looks like it checks.
Thanks @bsdcat, this saves us some time investigating.
$ zcat ~/Desktop/temp/0117-uat.log.gz | cut -d, -f2 | grep -v '^$' | ./extract_metar  | grep 'METAR' | cut -d' ' -f2 | sort | uniq | wc -l
     685
$ zcat ~/Desktop/temp/0117-uat.log.gz | cut -d, -f2 | grep -v '^$' | ./extract_metar  | grep 'TAF' | cut -d' ' -f2 | sort | uniq | wc -l
     193
$ zcat ~/Desktop/temp/0117-uat.log.gz | cut -d, -f2 | grep -v '^$' | ./extract_metar  | grep 'SPECI' | cut -d' ' -f2 | sort | uniq | wc -l
      18
$ zcat ~/Desktop/temp/0117-uat.log.gz | cut -d, -f2 | grep -v '^$' | ./extract_metar  | grep 'PIREP' | cut -d' ' -f3  | sort | uniq | wc -l
      33
$ zcat ~/Desktop/temp/0117-uat.log.gz | cut -d, -f2 | grep -v '^$' | ./extract_metar  | grep 'WINDS' | cut -d' ' -f2,3  | sort | uniq | wc -l
     285

285+33+18+193+685 = 1,214


Oauth tweaks

Should I rebase to get gcp working?

considering https://status.cloud.google.com/incidents/YtfZu9rttTf5zDYGe57n might not even make a difference so...

GCP is broken, see #1489


[Feature Request] Inversion option to Repeater node

First of all, thanks for the great node.
Also, I am not an English speaker, so I may not be able to see the usage instructions and help in every corner, and I apologize if I have missed something.
Regarding my request, is it possible to implement a repeater option that reverses status when relaying & repeating?
Or if it is possible to do the same with existing nodes.
In a node-A>relay>repeater>node-B configuration, I would expect B to change to the opposite status of A.
FastGroupsXX's toggleRestriction is a relatively close function, but it is only for grouped nodes, and there are cases where I want to enable multiple at the same time,
It seems somewhat different from my purpose.

I've been thinking of something like this. Added properties to the RELAY node to set custom signals overriding the default.
So, when all of a Relay's inputs are muted, you could configure it to send an "ACTIVE" signal to a repeater (instead of mute), etc.

Thank you for your prompt response!
I immediately updated the nodes and incorporated it into my workflow and successfully achieved my goal.
Your work has made ConmfyUI even more enjoyable!


Function fail_eagerly() not working

Hello, I called fail_eagerly() as follows during the connection process.
      pub async fn connect(dcs: &Dcs) -> ZooResult<Self> {
        let hosts = dcs.hosts.as_str();

        let client = Client::connector()
            .fail_eagerly()
            .connect(hosts)
            .await
            .context(ConnectSnafu { hosts })?;

        let client = Arc::new(client);

        Ok(ZooService { client })
    }

It works as expected when connecting: if none of the nodes are available, the client will close after polling the servers once.
However, after a successful connection, if I restart the client's network interface, I noticed that the client with fail_eagerly() does not exit after polling just once.

2024-12-09 09:03:33.210 +00:00 DEBUG serve{session=0x206ed230d040550}: zookeeper_client::session
2024-12-09 09:03:33.211 +00:00 DEBUG serve{session=0x206ed230d040550}: zookeeper_client::session
2024-12-09 09:03:34.110 +00:00 DEBUG serve{session=0x206ed230d040550}: zookeeper_client::session
2024-12-09 09:03:34.111 +00:00 DEBUG serve{session=0x206ed230d040550}: zookeeper_client::session
2024-12-09 09:03:35.010 +00:00 DEBUG serve{session=0x206ed230d040550}: zookeeper_client::session
2024-12-09 09:03:35.011 +00:00 DEBUG serve{session=0x206ed230d040550}: zookeeper_client::session
2024-12-09 09:03:35.910 +00:00 DEBUG serve{session=0x206ed230d040550}: zookeeper_client::session
2024-12-09 09:03:35.911 +00:00 DEBUG serve{session=0x206ed230d040550}: zookeeper_client::session
2024-12-09 09:03:36.810 +00:00 DEBUG serve{session=0x206ed230d040550}: zookeeper_client::session
2024-12-09 09:03:38.610 +00:00  INFO serve{session=0x206ed230d040550}: zookeeper_client::session
2024-12-09 09:03:38.611 +00:00 DEBUG serve{session=0x206ed230d040550}: zookeeper_client::session
2024-12-09 09:03:38.611 +00:00 DEBUG serve{session=0x206ed230d040550}: zookeeper_client::session
2024-12-09 09:03:38.611 +00:00 DEBUG serve{session=0x206ed230d040550}: zookeeper_client::session
2024-12-09 09:03:38.611 +00:00 DEBUG serve{session=0x206ed230d040550}: zookeeper_client::session
2024-12-09 09:03:38.984 +00:00 DEBUG serve{session=0x206ed230d040550}: zookeeper_client::session
2024-12-09 09:03:39.050 +00:00 DEBUG serve{session=0x206ed230d040550}: zookeeper_client::session: fails in connecting to tcp://<IP_ADDRESS>:2181 due to Os { code: 101, kind: NetworkUnreachable, message: "Network is unreachable" }
2024-12-09 09:03:39.181 +00:00 DEBUG serve{session=0x206ed230d040550}: zookeeper_client::session: fails in connecting to tcp://<IP_ADDRESS>:2181 due to Os { code: 101, kind: NetworkUnreachable, message: "Network is unreachable" }
2024-12-09 09:03:39.804 +00:00 DEBUG serve{session=0x206ed230d040550}: zookeeper_client::session: fails in connecting to tcp://<IP_ADDRESS>:2181 due to Os { code: 101, kind: NetworkUnreachable, message: "Network is unreachable" }
2024-12-09 09:03:39.880 +00:00 DEBUG serve{session=0x206ed230d040550}: zookeeper_client::session: fails in connecting to tcp://<IP_ADDRESS>:2181 due to Os { code: 101, kind: NetworkUnreachable, message: "Network is unreachable" }
2024-12-09 09:03:40.013 +00:00 DEBUG serve{session=0x206ed230d040550}: zookeeper_client::session: fails in connecting to tcp://<IP_ADDRESS>:2181 due to Os { code: 101, kind: NetworkUnreachable, message: "Network is unreachable" }
2024-12-09 09:03:41.273 +00:00 DEBUG serve{session=0x206ed230d040550}: zookeeper_client::session: fails in connecting to tcp://<IP_ADDRESS>:2181 due to Os { code: 101, kind: NetworkUnreachable, message: "Network is unreachable" }
2024-12-09 09:03:41.354 +00:00 DEBUG serve{session=0x206ed230d040550}: zookeeper_client::session: fails in connecting to tcp://<IP_ADDRESS>:2181 due to Os { code: 101, kind: NetworkUnreachable, message: "Network is unreachable" }
2024-12-09 09:03:41.462 +00:00 DEBUG serve{session=0x206ed230d040550}: zookeeper_client::session: fails in connecting to tcp://<IP_ADDRESS>:2181 due to Os { code: 101, kind: NetworkUnreachable, message: "Network is unreachable" }
2024-12-09 09:03:43.954 +00:00 DEBUG serve{session=0x206ed230d040550}: zookeeper_client::session: fails in connecting to tcp://<IP_ADDRESS>:2181 due to Os { code: 101, kind: NetworkUnreachable, message: "Network is unreachable" }
2024-12-09 09:03:44.012 +00:00 DEBUG serve{session=0x206ed230d040550}: zookeeper_client::session: fails in connecting to tcp://<IP_ADDRESS>:2181 due to Os { code: 101, kind: NetworkUnreachable, message: "Network is unreachable" }
2024-12-09 09:03:44.113 +00:00 DEBUG serve{session=0x206ed230d040550}: zookeeper_client::session: fails in connecting to tcp://<IP_ADDRESS>:2181 due to Os { code: 101, kind: NetworkUnreachable, message: "Network is unreachable" }
2024-12-09 09:03:44.312 +00:00 DEBUG serve{session=0x206ed230d040550}: zookeeper_client::session: fails in connecting to tcp://<IP_ADDRESS>:2181 due to Custom { kind: TimedOut, error: "deadline exceed" }
2024-12-09 09:03:44.312 +00:00  WARN serve{session=0x206ed230d040550}: zookeeper_client::session: fail to connect to cluster [tcp://<IP_ADDRESS>:2181, tcp://<IP_ADDRESS>:2181, tcp://<IP_ADDRESS>:2181] due to timeout
2024-12-09 09:03:44.312 +00:00 ERROR ecox::dcs::zookeeper: could not connect to dcs, current session state is "Expired"

Instead, it waits until the session timeout is reached. Could you let me know if there is an issue with the way I am using it?
If there is anything I need to do to help troubleshoot the issue, please let me know.

zookeeper-client：V0.9.0
tokio：V1.38.0
features：tokio
log：
2024-12-09 09:24:42.951 +00:00 DEBUG serve{session=0x306ed230d1704f9}: zookeeper_client::session
2024-12-09 09:24:42.951 +00:00 DEBUG serve{session=0x306ed230d1704f9}: zookeeper_client::session
2024-12-09 09:24:42.951 +00:00 DEBUG serve{session=0x306ed230d1704f9}: zookeeper_client::session
2024-12-09 09:24:42.951 +00:00 DEBUG serve{session=0x306ed230d1704f9}: zookeeper_client::session
2024-12-09 09:24:42.951 +00:00 DEBUG serve{session=0x306ed230d1704f9}: zookeeper_client::session
2024-12-09 09:24:42.951 +00:00 DEBUG serve{session=0x306ed230d1704f9}: zookeeper_client::session
2024-12-09 09:24:42.951 +00:00 DEBUG serve{session=0x306ed230d1704f9}: zookeeper_client::session
2024-12-09 09:24:42.951 +00:00 DEBUG serve{session=0x306ed230d1704f9}: zookeeper_client::session
2024-12-09 09:24:42.951 +00:00 DEBUG serve{session=0x306ed230d1704f9}: zookeeper_client::session
2024-12-09 09:24:42.951 +00:00 DEBUG serve{session=0x306ed230d1704f9}: zookeeper_client::session: fails in connecting to tcp://<IP_ADDRESS>:2181 due to Os { code: 101, kind: NetworkUnreachable, message: "Network is unreachable" }
2024-12-09 09:24:42.951 +00:00 DEBUG serve{session=0x306ed230d1704f9}: zookeeper_client::session: fails in connecting to tcp://<IP_ADDRESS>:2181 due to Os { code: 101, kind: NetworkUnreachable, message: "Network is unreachable" }
2024-12-09 09:24:42.951 +00:00 DEBUG serve{session=0x306ed230d1704f9}: zookeeper_client::session: fails in connecting to tcp://<IP_ADDRESS>:2181 due to Os { code: 101, kind: NetworkUnreachable, message: "Network is unreachable" }
2024-12-09 09:24:42.951 +00:00 DEBUG serve{session=0x306ed230d1704f9}: zookeeper_client::session: fails in connecting to tcp://<IP_ADDRESS>:2181 due to Os { code: 101, kind: NetworkUnreachable, message: "Network is unreachable" }
2024-12-09 09:24:42.951 +00:00 DEBUG serve{session=0x306ed230d1704f9}: zookeeper_client::session: fails in connecting to tcp://<IP_ADDRESS>:2181 due to Os { code: 101, kind: NetworkUnreachable, message: "Network is unreachable" }
2024-12-09 09:24:42.951 +00:00 DEBUG serve{session=0x306ed230d1704f9}: zookeeper_client::session: fails in connecting to tcp://<IP_ADDRESS>:2181 due to Os { code: 101, kind: NetworkUnreachable, message: "Network is unreachable" }
2024-12-09 09:24:42.951 +00:00 DEBUG serve{session=0x306ed230d1704f9}: zookeeper_client::session: fails in connecting to tcp://<IP_ADDRESS>:2181 due to Os { code: 101, kind: NetworkUnreachable, message: "Network is unreachable" }
2024-12-09 09:24:42.951 +00:00 DEBUG serve{session=0x306ed230d1704f9}: zookeeper_client::session: fails in connecting to tcp://<IP_ADDRESS>:2181 due to Os { code: 101, kind: NetworkUnreachable, message: "Network is unreachable" }
2024-12-09 09:24:42.951 +00:00 DEBUG serve{session=0x306ed230d1704f9}: zookeeper_client::session: fails in connecting to tcp://<IP_ADDRESS>:2181 due to Os { code: 101, kind: NetworkUnreachable, message: "Network is unreachable" }
2024-12-09 09:24:42.951 +00:00 DEBUG serve{session=0x306ed230d1704f9}: zookeeper_client::session: fails in connecting to tcp://<IP_ADDRESS>:2181 due to Os { code: 101, kind: NetworkUnreachable, message: "Network is unreachable" }
2024-12-09 09:24:42.951 +00:00 DEBUG serve{session=0x306ed230d1704f9}: zookeeper_client::session: fails in connecting to tcp://<IP_ADDRESS>:2181 due to Os { code: 101, kind: NetworkUnreachable, message: "Network is unreachable" }
2024-12-09 09:24:42.951 +00:00 DEBUG serve{session=0x306ed230d1704f9}: zookeeper_client::session: fails in connecting to tcp://<IP_ADDRESS>:2181 due to Os { code: 101, kind: NetworkUnreachable, message: "Network is unreachable" }
2024-12-09 09:24:42.951 +00:00 DEBUG serve{session=0x306ed230d1704f9}: zookeeper_client::session: fails in connecting to tcp://<IP_ADDRESS>:2181 due to Os { code: 101, kind: NetworkUnreachable, message: "Network is unreachable" }
2024-12-09 09:24:42.951 +00:00 DEBUG serve{session=0x306ed230d1704f9}: zookeeper_client::session: fails in connecting to tcp://<IP_ADDRESS>:2181 due to Os { code: 101, kind: NetworkUnreachable, message: "Network is unreachable" }
2024-12-09 09:24:48.810 +00:00 DEBUG serve{session=0x306ed230d1704f9}: zookeeper_client::session: fails in connecting to tcp://<IP_ADDRESS>:2181 due to Custom { kind: TimedOut, error: "deadline exceed" }
2024-12-09 09:24:48.810 +00:00  WARN serve{session=0x306ed230d1704f9}: zookeeper_client::session: fail to connect to cluster [tcp://<IP_ADDRESS>:2181, tcp://<IP_ADDRESS>:2181, tcp://<IP_ADDRESS>:2181] due to timeout
2024-12-09 09:24:48.810 +00:00 ERROR ecox::dcs::zookeeper: could not connect to dcs, current session state is "Expired"
2024-12-09 09:24:48.810 +00:00 ERROR ecox::cluster: Could not receive subscribe event from "/test1/t1/election", quit listening "/test1/t1/election"

Once session established, session timeout will kick in.

If you want fine session timeout control, take a look at Connector::session_timeout.

It works as expected when connecting: if none of the nodes are available, the client will close after polling the servers once.
However, after a successful connection, if I restart the client's network interface, I noticed that the client with fail_eagerly() does not exit after polling just once.

This is by design.

Before session established, I, personally, think people probably want eager feedback.
After session established, it is subject to how zookeeper session work. If we claims session timeout eagerly in client side, then clients could be mislead with illusion that ephemeral nodes(which could be leader election nodes or similar) most likely been deleted.

Given above, if you want quick response in session connection, use fail_eagerly. If you want sensitive session activities, use session_timeout.

OK,thank you for your answer


Fix invalid stencil template for public classes with multiple parameters

Fixes #45

Hi @ferologics!
Thanks for your contribution.
Your changes seem good but are breaking the tests. See my comment above.


Failure to select right font variant

When using the following fonts, Typst fails to select the right variant.
QuadraatPro.otf
QuadraatPro-Ita.otf
QuadraatPro-Demibold.otf
QuadraatPro-DemiboldItalic.otf
QuadraatPro-Bold.otf
QuadraatPro-BoldIta.otf

#set text(font: "Quadraat Pro") selects Quadraat Pro Italic. I did not manage to get the Regular style. Names in the system are: Regular, Italic, Demibold, Demibold Italic, Bold, Bold Italic.
Originally posted by @owiecc in https://github.com/typst/typst/issues/185#issuecomment-1483411869

This could be (somehow) related to a problem I'm facing and that prompted #569 .

I also this problem with googles Rubik font. It shows up as installed in Windows with numerous variants, but typst fonts --variants only finds one normal and italic.

Same thing, even after installing STIX Two manually, I still only see
STIX Two Text
- Style: Italic, Weight: 400, Stretch: 100%
- Style: Normal, Weight: 400, Stretch: 100%

as a temporary fix, you can set the TYPST_FONT_PATHS environment variable to point to a directory where you store the other font variants. I am using that as a workaround until this issue is fixed

Using "Source Sans Pro" in the online editor works, i.e., *strong* causes a bold font.
On my machine, the same code does not produce a bold font (I even manually installed the bold variant).
The following fonts are found with typst fonts --variants, which looks a little odd to me:
Source Sans Pro
- Style: Normal, Weight: 400, Stretch: 100%
- Style: Normal, Weight: 900, Stretch: 100%
- Style: Italic, Weight: 900, Stretch: 100%
- Style: Normal, Weight: 700, Stretch: 100%
- Style: Italic, Weight: 700, Stretch: 100%
- Style: Normal, Weight: 200, Stretch: 100%
- Style: Italic, Weight: 200, Stretch: 100%
- Style: Italic, Weight: 400, Stretch: 100%
- Style: Normal, Weight: 300, Stretch: 100%
- Style: Italic, Weight: 300, Stretch: 100%
- Style: Normal, Weight: 600, Stretch: 100%
- Style: Italic, Weight: 600, Stretch: 100%

Seems like this might have been some macos hiccup after installing the font, I guess tonights reboot is what fixed it.

To follow-up. The fonts from the original comment are shown as:
Quadraat Pro
- Style: Normal, Weight: 700, Stretch: 100%
- Style: Normal, Weight: 700, Stretch: 100%
- Style: Normal, Weight: 600, Stretch: 100%
- Style: Italic, Weight: 600, Stretch: 100%
- Style: Normal, Weight: 400, Stretch: 100%
- Style: Normal, Weight: 400, Stretch: 100%

Seeing the same problem with some CJK fonts. The fonts is installed as an OTC, which might be what's causing the problem.
typst fonts --variants gives:
Source Han Sans SC
- Style: Normal, Weight: 250, Stretch: 100%
- Style: Normal, Weight: 300, Stretch: 100%
- Style: Normal, Weight: 350, Stretch: 100%
- Style: Normal, Weight: 500, Stretch: 100%
- Style: Normal, Weight: 900, Stretch: 100%
- Style: Normal, Weight: 400, Stretch: 100%
- Style: Normal, Weight: 700, Stretch: 100%

fc-list correctly identifies the styles:
/mnt/c/Windows/Fonts/SourceHanSans.ttc: Source Han Sans SC,思源黑体,Source Han Sans SC Medium,思源黑体 Medium:style=Medium,Regular
/mnt/c/Windows/Fonts/SourceHanSans.ttc: Source Han Sans SC,思源黑体,Source Han Sans SC Light,思源黑体 Light:style=Light,Regular
/mnt/c/Windows/Fonts/SourceHanSans.ttc: Source Han Sans SC,思源黑体:style=Regular
/mnt/c/Windows/Fonts/SourceHanSans.ttc: Source Han Sans SC,思源黑体,Source Han Sans SC ExtraLight,思源黑体 ExtraLight:style=ExtraLight,Regular
/mnt/c/Windows/Fonts/SourceHanSans.ttc: Source Han Sans SC,思源黑体:style=Bold
/mnt/c/Windows/Fonts/SourceHanSans.ttc: Source Han Sans SC,思源黑体,Source Han Sans SC Heavy,思源黑体 Heavy:style=Heavy,Regular
/mnt/c/Windows/Fonts/SourceHanSans.ttc: Source Han Sans SC,思源黑体,Source Han Sans SC Normal,思源黑体 Normal:style=Normal,Regular

(Yup, it's running within WSL)

This issue has become the-issue-to-points-to of font selecting problem, and PR #3228 now provides a mechanism to solve the it. I propose to close this issue, and open per-font issue separately, to track whether a font with wrong metadata has been added to exception list.
cc @Enivex

@peng1999 Is there a way to see what metadata Typst sees for each font? I did not know which parameters were detected wrong so I had to blindly set overrides until the fonts were selected correctly. It did not take a lot of time but it would be nice not to fly blind.
E.g. for the fonts from the original post (https://github.com/typst/typst/issues/576#issue-1654214681)
❯ fc-list | grep Quadraat
/Users/user/Library/Fonts/QuadraatPro-Ita.otf: Quadraat Pro,QuadraatPro\-Ita:style=Italic,Regular
/Users/user/Library/Fonts/QuadraatPro-Demibold.otf: Quadraat Pro,QuadraatPro\-Demibold:style=Demibold,Regular
/Users/user/Library/Fonts/QuadraatPro-Bold.otf: Quadraat Pro,QuadraatPro\-Bold:style=Bold,Regular
/Users/user/Library/Fonts/QuadraatPro-DemiboldItalic.otf: Quadraat Pro,QuadraatPro\-DemiboldItalic:style=Demibold Italic,Regular
/Users/user/Library/Fonts/QuadraatPro.otf: Quadraat Pro:style=Regular
/Users/user/Library/Fonts/QuadraatPro-BoldIta.otf: Quadraat Pro,QuadraatPro\-BoldIta:style=Bold Italic,Regular

I had to add
"QuadraatPro-Ita" => Exception::new()
    .style(FontStyle::Italic),
"QuadraatPro-BoldIta" => Exception::new()
    .style(FontStyle::Italic),

to fix Quadraat Pro selection.
What is more surprising is that originally, when I wrote https://github.com/typst/typst/issues/185#issuecomment-1483411869, Typst would show an regular-italic version when regular-normal was set. Now (for normal style) regular, medium and bold weights work ok but instead of regular-italic and bold-italic Typst uses a semibold-italic.

#set page(width: 5cm, height: 10cm)

#set text(font: "Quadraat Pro")
Quadraat Pro

#text(weight: "regular")[regular] \
#text(weight: "medium")[medium] \
#text(weight: "bold")[bold]

#text(style: "normal", weight: "regular")[normal + regular] \
#text(style: "normal", weight: 400)[normal + 400] \
#text(style: "normal", weight: "medium")[normal + medium] \
#text(style: "normal", weight: 600)[normal + 600] \
#text(style: "normal", weight: "bold")[normal + bold] \
#text(style: "normal", weight: 700)[normal + 700]

#text(style: "italic", weight: "regular")[italic + regular] \
#text(style: "italic", weight: 400)[italic + 400] \
#text(style: "italic", weight: "medium")[italic + medium] \
#text(style: "italic", weight: 600)[italic + 600] \
#text(style: "italic", weight: "bold")[italic + bold] \
#text(style: "italic", weight: 700)[italic + 700]

I do not see anything obviously wrong here but I do not know how styles are matched. If on fontSubfamily then it looks correct. Note also windows and mac platforms have different conventions on fontFamily and fontSubfamily. I will try to test this font on windows and see if the behaviour is different.

Is there a way to see what metadata Typst sees for each font?

I believe the most straightforward approach is to insert a debug line in book.rs:
--- a/crates/typst/src/text/font/book.rs
+++ b/crates/typst/src/text/font/book.rs
@@ -286,6 +286,7 @@ impl FontInfo {
                 flags.insert(FontFlags::SERIF);
             }
         }
+        eprintln!("{:?}: {:?} {:?} {:?} {:?}", ps_name, family, variant.style, variant.weight, variant.stretch);

         Some(FontInfo {
             family,

Then you can easily see which font to patch.

I found the culprit:
Some("QuadraatPro-Bold"): "Quadraat Pro" Normal 700 FontStretch(1000)
Some("QuadraatPro-Demibold"): "Quadraat Pro" Normal 600 FontStretch(1000)
Some("QuadraatPro"): "Quadraat Pro" Normal 400 FontStretch(1000)
Some("QuadraatPro-BoldIta"): "Quadraat Pro" Normal 700 FontStretch(1000) // incorrect Normal
Some("QuadraatPro-DemiboldItalic"): "Quadraat Pro" Italic 600 FontStretch(1000)
Some("QuadraatPro-Ita"): "Quadraat Pro" Normal 400 FontStretch(1000) // incorrect Normal
// ...
Some("QuadraatPro"): "Quadraat Pro" Normal 400 FontStretch(1000)
Some("QuadraatPro-Demibold"): "Quadraat Pro" Normal 600 FontStretch(1000)
Some("QuadraatPro-Bold"): "Quadraat Pro" Normal 700 FontStretch(1000)
Some("QuadraatPro-DemiboldItalic"): "Quadraat Pro" Italic 600 FontStretch(1000)

https://github.com/typst/typst/blob/71ed7795995642ee34e6272c550538897cd11d50/crates/typst/src/text/font/book.rs#L244
As the FullName does not contain italic (it is QuadraatPro-BoldIta) then ttf.is_italic() must return false and the bug is somewhere there. Unless you see something wrong in the font metadata.

This issue has become the-issue-to-points-to of font selecting problem, and PR #3228 now provides a mechanism to solve the it. I propose to close this issue, and open per-font issue separately, to track whether a font with wrong metadata has been added to exception list.

That makes sense. I don't really know which of these fonts are fixed and which are not, so if someone knows that a particular fonts is still unfixed, feel free to open an issue for that one.

This issue has become the-issue-to-points-to of font selecting problem, and PR #3228 now provides a mechanism to solve the it. I propose to close this issue, and open per-font issue separately, to track whether a font with wrong metadata has been added to exception list. cc @Enivex

After a bit of poking at things there appears to be correct information in many of these fonts, but not where ttf-parser and Typst are looking.  Arial Black, for instance, lists a proper weight in the PANOSE field of the OS/2 table, but the ttf-parser only presents usWeightClass. Google's Roboto Condensed (both the static and variable versions) lists the correct stretch in the STAT table, but only the incorrect value in the OS/2 table's usWidthClass is presented.
Rather than play whack-a-mole with exceptions, I think a more ideal solution would be to improve ttf-parser so that the desired information is exposed and then settle upon some sort of hierarchy (in ttf-parser or Typst) of authority for the various fields.  I expect that would cut down on the number of exceptions greatly (although I wouldn't mind being able to opt-out of the font family elision).
To that end I'll have a PR for STAT support in ttf-parser soonish, and from the looks of it the PANOSE bits shouldn't be too difficult either.

For #3321, I used https://opentype.js.org/ as suggested in #3213 (comment).

@owiecc I'd recommend this:
https://github.com/fonttools/fonttools
On macOS it's available via homebrew and macports as well.  The included ttx tool dumps an XML representation of a font that's more complete than what's presented with opentype.js.

PR for STAT table:
RazrFalcon/ttf-parser#166
Next steps

PANOSE support.  In progress.

Update typst to compile with ttf-parser 0.24+.  I tried this the other day and it looks like some stuff got moved around?  I'm not prepared to go too much further on this as it seems like it's got a pretty broad scope.

Collect more detailed information from the fonts in the exceptions list so we know where the correct information typically lives. ttx will dump the whole font (including bytecode and whatnot that's likely to be copyrighted) and so with commercial fonts its output shouldn't be shared in its entirety.  However for the purposes of paring down the exceptions list there are probably only a few tables that are relevant.  I'll come up with an xpath query for this, but I don't have access to some/all/many? of those fonts.

Determine where the additional logic should live.  The main issue is that having to check multiple tables to catch the edge cases will slow down parsing and thus may not be suitable for ttf-parser.  On the other hand having a more thorough check for e.g. stretch and slant is useful for other consumers beyond typst.

Just to clarify this one:

After a bit of poking at things there appears to be correct information in many of these fonts, but not where ttf-parser and Typst are looking. Arial Black, for instance, lists a proper weight in the PANOSE field of the OS/2 table, but the ttf-parser only presents usWeightClass. Google's Roboto Condensed (both the static and variable versions) lists the correct stretch in the STAT table, but only the incorrect value in the OS/2 table's usWidthClass is presented.

The logic behind getting "proper" values from a TrueType fonts is a completely undocumented behavior to my knowledge. At least I haven't found anything useful. ttf-parser's high-level API is loosely based on FreeType2 and harfbuzz behavior.
And it seems like every system library simply does whatever it wants.
Not to mention that the same value can be stored in multiple places in a font, meaning that priority is a mystery is well.
For example, Face::is_italic is a bit wrong right now, since it ignores the Face::italic_angle, which does in fact affect some fonts. But it would be a breaking change, so I haven't done it yet.
I don't mind updating ttf-parser's logic, but each change would be a serious breaking change...

Note that the STAT is relative new and not many fonts use it.
As for a corpus of open source/free fonts - I wish there were something like that, but unfortunately no.
Your best bet is to simply scrapping all open/free font until you find one that matches your need or generate one yourself via fonttools. In both cases that's a lot of time investment.

Beyond breaking compatibility I wonder how much of a performance hit scanning multiple tables will incur.

Performance impact will be neglectable. No need to worry about it.

$ typst  fonts --variants
Adobe Caslon Pro
- Style: Normal, Weight: 600, Stretch: FontStretch(1000)
- Style: Normal, Weight: 700, Stretch: FontStretch(1000)
- Style: Normal, Weight: 400, Stretch: FontStretch(1000)
- Style: Normal, Weight: 400, Stretch: FontStretch(1000)
- Style: Normal, Weight: 600, Stretch: FontStretch(1000)
- Style: Normal, Weight: 700, Stretch: FontStretch(1000)

Here's another one, these are all the 'italic' variant. Maybe supporting a way to manually punch in a bunch of paths would be nice? Anyway, thanks for making progress on this :)

$ typst  fonts --variants
Adobe Caslon Pro
- Style: Normal, Weight: 600, Stretch: FontStretch(1000)
- Style: Normal, Weight: 700, Stretch: FontStretch(1000)
- Style: Normal, Weight: 400, Stretch: FontStretch(1000)
- Style: Normal, Weight: 400, Stretch: FontStretch(1000)
- Style: Normal, Weight: 600, Stretch: FontStretch(1000)
- Style: Normal, Weight: 700, Stretch: FontStretch(1000)

Here's another one, these are all the 'italic' variant. Maybe supporting a way to manually punch in a bunch of paths would be nice? Anyway, thanks for making progress on this :)

I suspect this is a variable font, which typst does not currently support.

I don't think so, ls Fonts/Adobe Calson Pro* spits out individual files for bold and italic, to use these in fontspec I've got to load them all in individually.
'Adobe Caslon Pro Bold.ttf'
'Adobe Caslon Pro Bold Italic.ttf'
'Adobe Caslon Pro Italic.ttf'
'Adobe Caslon Pro Regular.ttf'
'Adobe Caslon Pro Semibold.ttf'
'Adobe Caslon Pro Semibold Italic.ttf'

@navh Can you run the variant-inspect utility on one or more of the italic files and post the results?   I am not sure what I should see here.   This should match the other columns and the reality of what style the font actually is.  If you look at the italic row you should see true values across the board (ignoring the distinction between italic and oblique for now).
The are two problems.  First, ttf-parser's is_italic[1] function only checks one of the four (or more?) places where a font can indicate that it's slanted.  The other is that Quadraat Pro has the wrong information in the two OS/2 fields, although a non-zero slant angle is set in the post table.
For ttf-parser (and/or typst) the is_italic logic should also check the post table and the PANOSE field on the OS/2 table.
For the foundry the fsSelection[2] field in the OS/2 table should have bit 0 or 1 (depending on the head table) set, and the PANOSE[3] field should have the letterform sub-digit set to indicate an italic/oblique variant.  If they ever add a STAT[4] table it should have a non-zero entry for the ital axis.
1: https://docs.rs/ttf-parser/latest/ttf_parser/struct.Face.html#method.is_italic
2: https://learn.microsoft.com/en-us/typography/opentype/spec/os2#fsselection
3: https://monotype.github.io/panose/pan2.htm
4: https://learn.microsoft.com/en-us/typography/opentype/spec/stat
@navh Same as above, this looks like a regression or a bug in the TrueType versions of the font.  However Adobe does set the PANOSE field (which ttf-parser should, IMO, be checking).


audit-ci -c --pass-enoaudit takes more than 10 minutes (CI and locally)

Hi, usually the audit-ci -c --pass-enoaudit takes 5 seconds on our CI, but today it takes more than 10 minutes, and it got timed out.
It worked perfectly fine on Friday.
1st October 2021
Took 5s on CI.
> audit-ci -c --pass-enoaudit

audit-ci version: 4.1.0
NPM audit report results:
{
  "advisories": {},
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 1,
      "moderate": 18,
      "high": 14,
      "critical": 0,
      "total": 33
    },
    "dependencies": {
      "prod": 2624,
      "dev": 1889,
      "optional": 26,
      "peer": 0,
      "peerOptional": 0,
      "total": 4533
    }
  }
}
Passed npm security audit.

4th October 2021
Took 10m 5s on CI.
> audit-ci -c --pass-enoaudit

audit-ci version: 4.1.0
NPM audit report results:
{
  "advisories": {},
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 49,
      "high": 49,
      "critical": 0,
      "total": 98
    },
    "dependencies": {
      "prod": 2624,
      "dev": 1889,
      "optional": 26,
      "peer": 0,
      "peerOptional": 0,
      "total": 4533
    }
  }
}

Too long with no output (exceeded 10m0s): context deadline exceeded

My first instinct was that NPM had an incident but their status page is clean.

Were any more NPM packages installed during this time period?
Maybe there were more advisories found during this time period, breaking things?
What version of NPM are you using?

This is the first report I've seen regarding hitting the 10m timeout (though I doubt you're the first to experience them). I might be able to assist in debugging if I had access to the package.json and package-lock.json.

Thanks for the answer.
There were zero changes in packages in between the runs, although there were some differences between number of vulnerabilities found.
We are on npm 6.14.x
I would love to show the package definitions and lock files, but it is a project with some strict NDA and I can't really share this kind of stuff, sorry.

differences between number of vulnerabilities found.
That is almost certainly what created this issue. I suspect there's an infinite loop/recursion happening due to some circular advisory.

I totally understand if not, but is there any chance you can identify the diff in the advisories? In the past, I've found dependencies like jest causing issues. My email is in MAINTAINERS.md if you'd like to send the culprit advisories privately. Identifying the package name that caused the issue should be enough!
Regardless, thank you for the report! I strongly suspect this is a bug in resolving advisories in audit-ci. My suggestion in the interim would be to try and update your dependencies to their latest including transitive dependencies by partially refreshing your package-lock.json.

That would be amazing @kyletsang!

Opened #208 @quinnturner
Thanks!


[🐛 BUG] No delete chats button in the chatbot

What went wrong? 🤔

Expected Behavior
No response
Steps to Reproduce Issue

A code fragment
And/or configuration files or code
And/or Taipy GUI Markdown or HTML files

Solution Proposed
Delete chat can be added to the cahbot for better communication
Screenshots

Runtime Environment
No response
Browsers
No response
OS
No response
Version of Taipy
No response
Additional Context
No response
Acceptance Criteria

[ ] Ensure new code is unit tested, and check code coverage is at least 90%.
[ ] Create related issue in taipy-doc for documentation and Release Notes.

Code of Conduct

[X] I have checked the existing issues.
[X] I am willing to work on this issue (optional)

Is there any issue? Can you tell me which issue are you faing so I can write the solutuin on the code.

@NishantRana07 This issue is not for Taipy but for Taipy website. I wasn't able to replicate it


Faster downloads

I've got complaints from Plasma that the initial thcrap_configure loading (the repos download just before displaying the patch list) is too slow. And I've got complaints from myself that the thcrap_loader file check is too slow. We need to do something for both problems.
Some suggestions for thcrap_configure:

Do not use the fastest server, just use a random one.
It actually takes time to choose the fastest server, you have to ask every server about its speed.
Remove nmlgc servers from the list. I think it's still there somewhere.
Ask several servers at the same time, don't wait for a server to answer before asking to the next one.

We may not do the 1st one if we do the 3rd one and it yields good results. We may also delay the 1st one until we actually need to download a patch from a server.
I also remember some discussion a few years ago about HTTP2. The only upside I remember was being able to download several files simultaneously. Which is good, we could download all the mirrors.thpatch.net/*/repo.js in one go. Which makes me think, about the 1st suggestion, do we check the mirrors.thpatch.net ping for every repo? We sure don't need to.
As for the downsides of HTTP2, I think there was something about wininet not supporting it, which would require us to switch to cURL. And maybe something about XP?
And I remember reading about several apps slowed by something called......... I can't remember that name. But the point was, by default, the TCP recipient won't answer immediately after receiving a packet, it will wait because it might get 2 or 3 more packets, ack them all at once, and by doing this it saves bandwidth. This is definitely something we want when we download a 4 MB font, but it might slow down things when downloading tiny text files. We may want to look at this and do some benchmarks.
The http2 one and the one about the TCP icantrememberthename can also be useful for thcrap_loader.

While we do a netcode recoding, we could add proxy support at the same time.

Is the TCP thing you're thinking of Nagle's algorithm? If so we already deal with it, and I'm pretty sure Cloudflare does too.
As for optimizing downloads @james7132 and I were talking about this just recently. I think the idea was to use https://github.com/HouraiTeahouse/Tapioca. It's a bit more involved than just speeding up repo.js downloads, but I think it would help with this as well.
In the shorter term convincing third party modders to place the https://mirrors.thpatch.net/REPO_NAME link above the other links and getting rid of nmlgc links would help. Something else we could do to eek out even more speed might be to consolidate all the third party repos into one so we don't have to download 20 different repo.js files. That would be slightly more involved though.

We will create a new branch, and:

build libcurl with thcrap ;
port the current netcode to libcurl ;
rewrite our netcode to support parallel downloads.
and 2. should be quite easy, and 3. can be done step by step. I'll start with 1. and 2.

Is this done? Initialization is still slow.
Without modifying net module, buffering might be good for faster initialization.
And I'm looking forward to proxy support.

It's done, we did everything we could think about to enhance download speed. But I'm not an expert in networks, so I may have missed something. What do you mean by buffering? This word means so many things in the computers' world.
Someone talked to me this morning about slow download speeds in China, and told me they are considering setting up their own thcrap server in China. If this happens, this may help a lot with download speed for you.
As for proxies, well, I completely forgot about them.
We use libcurl for our internet connections, and according to the documentation (https://curl.se/libcurl/c/CURLOPT_PROXY.html), users can set the environment variables http_proxy and https_proxy to set a proxy themselves (there are many pages on the web explaining how to set an environment variable, here is one: https://docs.oracle.com/en/database/oracle/machine-learning/oml4r/1.5.1/oread/creating-and-modifying-environment-variables-on-windows.html). It would be better if thcrap could detect it automatically, but I don't think we'll find enough time to work on it in the near future, so in the meantime, that's better than nothing.

For buffering, I mean just save the list of repoes to not to download it every time.

Thank you for the proxy solution.
I don't want to set the env permanently.
So I tried this in commandline and it works.
set HTTP_PROXY=http://localhost:7890
set HTTPS_PROXY=%HTTP_PROXY%
thcrap_configure_v3.exe