clean-math-paper:0.1.0

I am submitting

[x] a new package
[ ] an update for a package

Description: This is a template for academic papers especially for mathematical articles. It includes common style guidelines for theorems, proofs, lemmas, definitions etc. using great-theorems and it comes with some improved equation numbering and labeling. It also allows to conveniently link author's names to their ORCID page. Finally, it includes an improved handling of appendices.
This package is meant to be part of a series together with clean-math-thesis and clean-math-presentation by @sebaseb98 and myself (thus, the similarity of the names).

I have read and followed the submission guidelines and, in particular, I

[x] selected a name that isn't the most obvious or canonical name for what the package does
[x] added a typst.toml file with all required keys
[x] added a README.md with documentation for my package
[x] have chosen a license and added a LICENSE file or linked one in my README.md
[x] tested my package locally on my system and it worked
[x] excluded PDFs or README images, if any, but not the LICENSE

[x] ensured that my package is licensed such that users can use and distribute the contents of its template directory without restriction, after modifying them through normal use.

Thanks!


Bluetooth: Mesh: Generic OnOff & Level Models demo

This is a simple application demonstrating a Bluetooth mesh node in
which Root element has following models

Generic OnOff Server
Generic OnOff Client
Generic Level Server
Generic Level Client

And Secondary element has following models

Generic OnOff Server
Generic OnOff Client

Signed-off-by: vikrant more<EMAIL_ADDRESS>

Codecov Report

Merging #8273 into master will decrease coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #8273      +/-   ##
==========================================
- Coverage   64.54%   64.53%   -0.01%
==========================================
  Files         420      420
  Lines       40117    40117
  Branches     6762     6762
==========================================
- Hits        25892    25891       -1
  Misses      11108    11108
- Partials     3117     3118       +1

Impacted Files
Coverage Δ

boards/posix/native_posix/timer_model.c
98.21% <0%> (-1.79%)
:arrow_down:

Continue to review full report at Codecov.

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

@jhedberg I hope now everything is Okay !!
There is some error regarding email address. Is that means I can't merge this PR with my personnel email ID ?
author email (vikrant8051<EMAIL_ADDRESS>does not follow the syntax: First Last .
How to edti previous commit messages ?
failure: commit message error on range: origin/master..HEAD

There is some error regarding email address. Is that means I can't merge this PR with my personnel email ID ? author email (vikrant8051<EMAIL_ADDRESS>does not follow the syntax: First Last .

I don't understand what that has to do with your email. The name that precedes the email address is completely independent of the email address. The simplest would be if you just add the following to your ~/.gitconfig:
[user]
	name = Vikrant More
	email =<EMAIL_ADDRESS>
That will then generate the right author information, and the right signed-off-by line when you pass -s to git commit.
I also recommend you get familiar with git rebase -i

@jhedberg I make suggested changes. Use ~/.gitconfig to change name. Hope will not face identity error. I will work on Commit message error tomorrow.  Thank You !!


[data] Add sanity project data to the api endpoint

There is data in our sanity instance that I'm not seeing on the API endpoint.
Two examples we need to make front end changes.

For reference, this is the sanity database https://carbon-projects.sanity.studio/desk/project
If i do an api call like this: https://api.carbonmark.com/api/projects/VCS-836-2018
I am not seeing Registry or URL in the returned data.

thanks and closed


Extend PBFT tests with software version update proposals/votes

Like Issue #1514 but for software updates instead of protocol parameter updates.
A proposal can include a protocol parameter update and/or a software update. The flow of a software update is a prefix of the flow of a protocol parameter update. Once a proposal is put forth, nodes can vote on it. Enough votes confirm it. Once that confirming vote is at least 2k slots old (ie "stable", based on the Byron chain density invariant), any software version update within the proposal has been adopted; nodes are expected to immediately restart in order to continue using new identified software version. This is how the nets' nodes will agree to hard-fork (which can  ultimately change anything, including in particular any protocol/node parameters not managed by parameter update proposals). Any protocol parameter update in the proposal is not yet adopted; see Issue #1514 for how that part separately continues.
This test need not actually update any software, but it should at least track that a net can extend a chain so that the tip of the starting chain and the tip extended chain induce two chain validation states that specify different adopted software version numbers.
Related: Issue #1514, Issue #1732.

If the discussion on Slack is correct, then this actually does not need to happen at all -- instead, the hard fork is triggered by a protocol version update, and software version updates are basically totally irrelevant. But we should confirm that this is the case.

Giving this the same priority as #1514 for now, though we might end up closing this soon.

Conclusion here (@dcoutts , @dnadales , @nc6 ): please correct me if I'm wrong here, but: the publication of software versions onto the blockchain is actually irrelevant for the consensus layer proper (we never look at these versions). In addition, core nodes will probably not update themselves, and so for them too this is not so relevant. However, Daedalus does look at this, and uses it to tell the user to update their wallet (and hence the underlying node), and we will use this in the lead-up to the hard fork, because users must obviously have the latest version of the node installed before they can start running Shelley (a very similar story is true for Shelley-to-Goguen).
For this reason, leaving this at high priority. @nfrisby , @mrBliss and I think that testing this should be relatively easy: we must be able to submit and include transactions that update the software versions, and then we should check that the ledger state actually reports these new versions. Consensus itself will be entirely unaffected by this, and so there is no need for restarts or anything like that that would complicate the test infrastructure.
Can probably use the existing GetUpdateInterfaceState query for this.

the publication of software versions onto the blockchain is actually irrelevant for the consensus layer proper (we never look at these versions)

That is correct.

However, Daedalus does look at this, and uses it to tell the user to update their wallet (and hence the underlying node)

That is being discussed and may be changed. It's possible we'll remove on-chain notifications from Shelley entirely if Daedalus does not need them, because it is the only user of them. And Voltaire will change this all anyway (to be properly decentralised).

Removing high priority, as the wallet team has decided to no longer use this mechanism.

It's possible we'll remove on-chain notifications from Shelley entirely if Daedalus does not need them

@dcoutts confirms they will be removed.


Somehow.


Add newline to properly separate ports 4369 and 5672/5671

@dz-at-tc Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

Thank you!


c++ function names

Hi,
I tried c2goasm on ubuntu18.04 with go 1.11 and encountered 2 little issues:
IMHO assemble.sh should contain clang and not c++.
using c++ (set for me to clang++ via update-alternatives) produces one underscore in front of function identifiers instead of two as expected by c2goasm.
Here's my clang++ version
clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
The 2nd pb is in the MultiplyAandAdd example
MultiplyAndAdd didn't work until I replaced _mm256_load_ps with _mm256_loadu_ps, probably because args are not 32-byte aligned.
Best regards

C++ compilers will mangle every function symbol by default.
You can use extern "C" to enforce compiler produce C ABI for you.
Here's an example:
extern "C" void Foo() {}
// Will produce ABI like:
//<PHONE_NUMBER>000000 T Foo


waveglow.infer CUDA out of memory

Trying to infer from published pretrained models, I am getting CUDA out of memory
How can I infer with lower GPU memory ?

Try using smaller mel chunks with some overlap. Then crossfade the audio

Thanks. I think this solution would lead sound to be low quality due to multiple short chunks being combined. Is there something better instead? Thanks again


Missing 's' in line 32, convert.py

@bcamino Hi Bruno,

In line 32, script 'convert.py', 'output.atom_number' should be 'output.atom_numbers'. There is no attribute called 'atom_number'.
In line 311 and 328, 'pymatgen.io.cif' should be 'pymatgen.io.xyz'. Method 'XYZ' belongs to class 'xyz'

Hi @Spica-Vir , thank you so much for spotting this. Would you mind opening a PR fixing these issues? I'll merge it immediately.
Cheers,
Bruno


more-dropdown compatibility with "Repository refresh" design

more-dropdown is kind of a problem now since the new design has an automatic "overflow" hamburger menu:

The obvious solution is to add all those elements to the navigation and let them naturally flow into the overflow, but that's noisy.
Until now we added items to the dropdown without much trouble, since it was "out of the way", but this change forces us to reconsider it.
Originally posted by @fregante in https://github.com/sindresorhus/refined-github/issues/3081#issuecomment-641942885
cc @sindresorhus

Not sure if these errors are related to this, but I get them in the new design:

@aminya thats https://github.com/sindresorhus/refined-github/issues/3081

Is it possible to have the dropdown on the bar, but when it "overflows" its contents end up in the native dropdown?
E.g.
Wide viewport
 _________________________________________________________________________
|                                                                         |
| Code - Issues - Pull requests - Actions - [ More ▼ ]                    |
|                                            Commits                      |
|                                            Branches                     |
|                                            Compare                      |
|_________________________________________________________________________|

Becomes
Small viewport
 ___________________________________________
|                                           |
| Code - Issues - Pull requests - [ ... ]   |
|                                 Actions   |
|                                 Commits   |
|                                 Branches  |
|                                 Compare   |
|___________________________________________|

Is it possible to have the dropdown on the bar, but when it "overflows" its contents end up in the native dropdown?

Isn't this what we have in #3186?

We can start by adding a max-width to .js-repo-nav, but that still keeps the dropdown trigger to the right.
There's some layout issues using position: relative on nav, and there's also figuring out max-width in the first place.
Just some thoughts.

I like the max-width solution, but it’s a little risky because other extensions add tabs too.
@kidonng yes, but that’s just 1 item out, 1 item in. I’m talking about 1 item out (the More dropdown) and 5 items in (once it overflows): could that work?

I underestimated the problem. Just navigated through GitHub's code:

So insert all the .js-responsive-underlinenav-item before the listener is added? Impossible. Hook window.addEventlistner? Dirty. Make another listener? Tedious and error-prone. Well, I don't really have more ideas.

GitHub’s selectors are "live", so new elements are automatically picked up.
I looked into it just now and it looks somewhat possible:

The link on the horizontal nav is a different DOM element from the one in the native dropdownnav
	a[data-tab-item="issues-tab"]

	.js-responsive-underlinenav-overflow
		li[data-tab-item="issues-tab"]

These 2 links are connected by the data-tab-item attribute

when [data-tab-item="insights-tab"] is hidden from the nav, the other element in the dropdown with the same attribute is shown

items are removed from the nav regardless of whether they have a matching item in the dropdown (I think as long as they have the js-responsive-underlinenav-item class)

Given this, I think that this could be a solution:
nav
	a[data-tab-item="issues-tab"]
	.more-dropdown.js-responsive-underlinenav-item
		a[data-tab-item="dependencies"]
		a[data-tab-item="commits"]

	.js-responsive-underlinenav-overflow
		li[data-tab-item="issues-tab"]
		li[data-tab-item="dependencies"]
		li[data-tab-item="commits"]

My biggest concern was with the non-centering aspect. I just created a little CSS snippet and it seems to keep everything intact during each media query resize
.UnderlineNav-body {
    width: 100%;
	max-width: 1280px;
    justify-content: space-between !important;
	margin: 0 auto;
	padding-left: 4px !important;
	padding-right: 4px !important;
}
@media (min-width:768px){
	.UnderlineNav-body {
		padding-left: 8px !important;
		padding-right: 8px !important;
	}
}
@media (min-width:1012px){
	.UnderlineNav-body {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
}

Sorry if this isn't exactly what you were wanting to accomplish with this Issue, but wanted to share in case it helped solve anyone else's concerns.
Mods, feel free to delete if it doesn't properly help the discussion.


Undefined constant HTTP::Server::Response

require "http"

IO.pipe do |reader, writer|
  channel = Channel(String).new(1)

  spawn do
    HTTP::FormData.build(writer) do |form_data|
      channel.send(form_data.content_type)
      form_data.field("name", "1.png")
      File.open("1.png") do |f|
        metadata = HTTP::FormData::FileMetadata.new(filename: "1.png")
        headers = HTTP::Headers{"Content-Type" => "image/png"}
        form_data.file("file", f, metadata, headers)
      end
    end

    writer.close
  end

  headers = HTTP::Headers{"Content-Type" => channel.receive}
  response = HTTP::Client.post("https://api.anonfiles.com/upload", body: reader, headers: headers)

  puts "Response code #{response.status_code}"
  puts "File path: #{response.body}"
end

215 | def self.build(response : HTTP::Server::Response, boundary = MIME::Multipart.generate_boundary)
Error: undefined constant HTTP::Server::Response

Windows via Scoop.
Crystal 1.5.0 [994c70b10] (2022-07-06)
LLVM: 13.0.0

Works for me on Linux using Crystal 1.5.1. Does the error still happen if you upgrade to 1.5.1?
Or well, it compiles fine at least. I don't have a 1.png so it errors out pretty quick.

v1.5.0 is the latest version for Windows. Even if this worked, there's still the issue of HTTPS not working in Crystal on Windows.

This is probably fixed on master since I removed an include guard from src/http.cr.

As of Crystal 1.5, the HTTP server and client libraries are not yet supported on Windows.
They should work on master and the upcoming release 1.6.0.


Updated documentation

I have started a draft documentation here, will add more as I am experimenting with the editor: https://github.com/silentrob/superscript-editor/wiki/Documentation
Questions:

Should it be in this repo, instead (wiki)?
Anyone else (except @silentrob) interested in helping?

Super cool!
I also have the superscriptjs.com site open sourced - https://github.com/silentrob/superscriptjs.com
We may want to have a line in what should be in the wiki (editor stuff) and the more general superscript stuff on the site...
Or perhaps the site can remain more marketing like and the docs can live in the wiki.
Anyway, this is all great, thanks for pitching in and I will tackle this issue that crop up.

A video tutorial would be awesome too - since we are doing a demo of the superscript editor? Anyone thinking of doing that ?
I personally dont use the superscript-editor .. so I dont have much experience using it.

This is not a bad idea. I think it might make sense to add this once the UI settles down a little more. It is still in active development.

The documentation is in progress at https://docs.google.com/document/d/1tk-Jk4YK1k23dbUspJgOsV6SrQS3BCiw4iczVHoKu0k/edit?usp=sharing (easier to make changes/adjust things/comment at this stage, than .md files or the wiki—will transfer it to the Wiki once it's closer to final, right now it still misses a lot of things).


[keyvault] Support for service version 7.6-preview.1

Packages impacted by this PR

@azure/keyvault-admin
@azure/keyvault-certificates
@azure/keyvault-keys
@azure/keyvault-secrets

Issues associated with this PR

Resolves #29341

Describe the problem that is addressed by this PR

Re-record and bump service version for all four Key Vault packages
Add support for new feature in keyvault-admin: pre-backup and pre-restore.

Two new LROs which can be called to verify whether a backup or restore operation can be performed. From what I understand, this is a "dry run" of the backup or restore operation and takes the same parameters.

To do

Test the new features. The new features have not widely deployed yet so am unable to test and make recordings.

API change check
APIView has identified API level changes in this PR and created following API reviews.
@azure/keyvault-certificates

still relevant


ReadTheDocs builds are not being triggered

Seems to be a permissions issue in the GitHub integration:

Webhook activation failed. Make sure you have the necessary permissions.

I've added the Githook to the GitHub project following these instructions: https://docs.readthedocs.io/en/stable/integrations.html

Appears to be working now on new PR #689
https://readthedocs.org/projects/meltano-sdk/builds/

Confirmed it appears deploys are working well now: #689 is merged and the content arrived successfully at sdk.meltano.com


Fix code not found on Show Examples command

Purpose
Fix code not found error when Show Examples command is run in VSCode plugin.
Check List

[x] Read the Contributing Guide
[ ] Required Balo version update
[ ] Updated Change Log
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

:exclamation: No coverage uploaded for pull request base (next-release@a2a894a). Click here to learn what that means.
The diff coverage is 0%.

@@               Coverage Diff               @@
##             next-release   #14807   +/-   ##
===============================================
  Coverage                ?   64.19%
  Complexity              ?      544
===============================================
  Files                   ?     2283
  Lines                   ?   100193
  Branches                ?    13279
===============================================
  Hits                    ?    64318
  Misses                  ?    30828
  Partials                ?     5047

Impacted Files
Coverage Δ
Complexity Δ

tool-plugins/vscode/src/extension.ts
0% <0%> (ø)
0 <0> (?)

Continue to review full report at Codecov.

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


Remove terminal blinker

Would be awesome if while it spins you could find a way to remove the consoles "blinker".

Try using:
spinner.start(250, {hideCursor: true});

Yeah this got implemented after. Closing.


Location should be validated on creation of a server,

Fixes issue #271

styleci just hates me :'(


Update proof interface

We should modify the proof(...) interface such that it returns the value and root associated with the proof.

closed by #23


Fix delta comparison for auto failover, multi AZ, primary cluster ID

Nice.
Description of changes:
Properly retrieve the latest state for these 3 fields and compare them to the desired state. For each of these 3 spec fields, obtaining the corresponding latest state requires processing of a different Status field due to the structure of the DescribeReplicationGroups API response
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

/lgtm


Update Rufio:

This version has bug fix for session leaks.
Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve


get rid of disc

we sometimes need to convert from Real to Data so that matrix types match, but it's expensive so we don't want to do it if not absolutely necessary. it's annoying to have to do it manually tho.

we decided to make things explicit and add nice error messages.


[FAB-17680] Support removing an org

Removing an organization from a consortium, application, and orderer.
Signed-off-by: xu wu<EMAIL_ADDRESS>

Type of change

New feature

Description

Additional details

Related issues
https://jira.hyperledger.org/browse/FAB-17680

While running basic checks, CI returned the following error message:
Checking with go vet
# github.com/hyperledger/fabric/pkg/config [github.com/hyperledger/fabric/pkg/config.test]
pkg/config/organization_test.go:101:3: unknown field 'ChannelID' in struct literal of type Channel
pkg/config/organization_test.go:133:3: unknown field 'ChannelID' in struct literal of type Channel

However, I failed to find any error about organization_test.go, and the CI I was running locally was error-free.
Can someone tell me any useful information about this error? Thanks very much.

@hellosmallstone channel ID was removed from the channel struct as part of #962 you can just remove it from your test

I think if you rebase to the tip of the branch, you'll see this

@hellosmallstone channel ID was removed from the channel struct as part of #962 that was just merged, you can just remove it from your test

Thanks very much. I have removed "ChannelID" and all the checks have passed.

I think if you rebase to the tip of the branch, you'll see this

Based on your suggestions, I saw this error.
Thanks very much.


Add CONTRIBUTING.md

[ ] Add details about using pre-commit hooks to format code

Inspiration from this: https://pyswarms.readthedocs.io/en/development/contributing.html#get-started


Service Management API support?

This is a phenomenal product.  Well done.
Is there a similar experience for the Service Management API (original portal)?  E.g. the https://{bla}.blob.core.windows.net/ API documented at https://msdn.microsoft.com/en-us/library/azure/ee460799.aspx ?  I can't seem to discover how to start up / shut down VMs in the Microsoft.ClassicCompute/virtualMachines nodes in the same way I see at https://msdn.microsoft.com/library/azure/jj157189.aspx.

Thanks for the feedback!
Sorry, it is only targeted at the new ARM API. I'm not a VM expert, but I think the plan is that there will soon be a new compute ARM API that supports everything (to replace the 'classic' API).


Fix issue #1796 / add a method isEqualToWithSortedQueryParameters

Check List:

Fixes #1796
Unit tests : YES
Javadoc with a code example (on API only) : YES

This part is designed for URL. And after fully finish it, I think I can copy it to URI.
To compare actual and expected, we can separately compare non-query parts and query parts, or assemble non-query parts and sorted querys into new URLs and then compare them. Personally, I choose the former one.

I've finished all you mentioned yet, please check them. Thanks.

Please check again. @joel-costigliola

Integrated thanks @Sunt-ing!  I have done a bit more refactoring if you are interested this is here https://github.com/joel-costigliola/assertj-core/commit/c614174af9bd7ae668bdb8c2900dfe4c13f0f3e5

Oh, thanks very much! You are so nice! @joel-costigliola


DITA 1.3 grammar files not shipping the final version

DITA-OT 2.3 is shipping the "Candidate OASIS Standard" copy of grammar files, rather than the final OASIS standard copies. We should ship the final copies instead.

The official XML catalog for DITA 1.3 has errors.  Some definitions are missing.
I use these entries in the catalogs deployed with my tools:
<!--       OASIS DITA       -->

<nextCatalog catalog="dita1.3/catalog.xml"/>

<!--  Entities not resolved in the official DITA 1.3 catalog -->

<public publicId="-//OASIS//ENTITIES DITA 1.3 Topic Definitions//EN"  uri="dita1.3/dtd/base/dtd/topicDefn.ent"/>
<public publicId="-//OASIS//ENTITIES DITA Delivery Target Domain//EN" uri="dita1.3/dtd/base/dtd/deliveryTargetAttDomain.ent"/>
<public publicId="-//OASIS//ELEMENTS DITA Machinery Taskbody Constraint//EN" uri="dita1.3/dtd/machineryIndustry/dtd/machineryTaskbodyConstraint.mod"/>
<public publicId="-//OASIS//ELEMENTS DITA Map Subject Classification Domain//EN" uri="dita1.3/dtd/subjectScheme/dtd/classifyDomain.mod"/>
<public publicId="-//W3C//ENTITIES MathML 3.0 Qualified Names 1.0//EN" uri="dita1.3/dtd/technicalContent/dtd/mathml/mathml3/mathml3-qname.mod"/>

Please consider including similar fixes in the OT's catalog if you ship the official grammars.

Catalog fixes went into 2.2.5 (issue #2266) and were carried forward into 2.3 -- that fix should cover all of the catalog issues from the original 2.3 delivery.

Commit 85e3bdb updates to latest versions of the grammar files. This hit a lot of files but only updates metadata (showing version of the files and download link).
I'm keeping the catalog issue separate - will take a look at that now and either update, or mark this closed if we've got everything correct.

Fixed in 2.2.5:
<public publicId="-//OASIS//ENTITIES DITA 1.3 Topic Definitions//EN"  uri="dita1.3/dtd/base/dtd/topicDefn.ent"/>

The following is invalid, the correct public ID is "-//OASIS//ENTITIES DITA 1.3 Delivery Target Attribute Domain//EN":
<public publicId="-//OASIS//ENTITIES DITA Delivery Target Domain//EN" uri="dita1.3/dtd/base/dtd/deliveryTargetAttDomain.ent"/>

The following is also invalid, the correct public ID is "-//OASIS//ELEMENTS DITA Taskbody Constraint//EN":
<public publicId="-//OASIS//ELEMENTS DITA Machinery Taskbody Constraint//EN" uri="dita1.3/dtd/machineryIndustry/dtd/machineryTaskbodyConstraint.mod"/>

The following is also invalid, correct public ID is ""-//OASIS//ELEMENTS DITA Subject Classification Domain//EN":
<public publicId="-//OASIS//ELEMENTS DITA Map Subject Classification Domain//EN" uri="dita1.3/dtd/subjectScheme/dtd/classifyDomain.mod"/>

The last one is a module within MathML. We do have a catalog entry for the main MathML DTD file, which then pulls in the mathml3-qname.mod file. I'm not sure if this was intentionally left out of the OASIS catalogs or not. @drmacro - any thought on whether this should be part of the OASIS delivery (I ask, realizing that OT delivery is a slightly different question, but I'd like to keep them in sync)?
<public publicId="-//W3C//ENTITIES MathML 3.0 Qualified Names 1.0//EN" uri="dita1.3/dtd/technicalContent/dtd/mathml/mathml3/mathml3-qname.mod"/>

The MathML .mod file is pulled in by direct URI reference to avoid having the entity reference redirected to a different version of that file. Many environments have multiple and incompatible versions of the MathML DTDs around. This approach ensures that the DITA-specific configuration is used.

Backing up a bit.
I listed 3 public IDs as invalid, but I'm suddenly worried about two of them.

Delivery Target - that is new to DITA 1.3, so whatever shipped with 1.3 is the proper one. So, I still consider this invalid.
Machinery Taskbody Constraint - the public ID that @rmraya showed was the one shipped as the "Version Agnostic" one in DITA 1.2. So I think this should have been the same shipped with 1.3. Instead it appears we changed the public ID.
Subject Classification domain - same issue. The one listed above is the one we had in DITA 1.2 catalogs. The name changed in 1.3.

I've updated catalogs to add the DITA 1.2 version-agnostic public ID for the machinery constraint and for the classification domain. OASIS will be restoring each of these to the catalog in DITA 1.3 errata.
With that I'm marking this closed.
@infotexture draft for release notes:

The DITA 1.3 DTD, Schema, and RNG files have been updated to the final "OASIS Standard" copy; this change updates the OASIS link and date in many header files, but does not affect how the grammar files work. In addition, the catalog has been updated to restore two entries that will eventually be shipped in the DITA 1.3 Errata from OASIS.


CLI: Disconnect git remote upstream

User Story
As a user, I would like to disconnect the remote Git repo from my Project.
Implementation details
The CLI should provide the flag --disconnect-remote-git to disconnect a remote git repository. The flag should be added to the update command. If the flag is set, the CLI should request the user a confirmation of the action with a warning message:
Attention: When disconnecting the remote Git repository from the project sockshop, you do not have a backup of your configuration data.
Are you sure about disconnecting the remote Git repository (y/n):  y

Afterward, the CLI should also print a success/error message:
The connection to: https://github.com/myGitHubHandler/sockshop.git has been removed.

The was a problem removing https://github.com/myGitHubHandler/sockshop.git as a Git upstream repository: [error message]

DoD

[ ] Flag is implemented
[ ] Unit Test

Dependencies

[ ] https://github.com/keptn/keptn/issues/5158

This has become obsolete with KEP48


Add durations to Flux logging [backport 2.0.x]

Backport the fix for #20954 to the 2.0 branch

Looks like the functionality was implemented using tracing, closing this


502 again ("bad gateway")

I'm submitting a ...

[x] bug report
[ ] feature request
[ ] other

Current behavior:
When I visited the web-site I saw an unexpected page. ("Bad gateway") I did not see this on staging.quran.com. Screenshot:

Expected / new behavior:
The usual
For issue, please provide steps to reproduce it:

go to quran.com

Anything else:

similar to issue #124

Looks like a temporary server outage. Working for me.


Add Instructions for storedVersion Upgrade

Changes
This commit updates the v1 migration guide to add the instructions for the storedVersion upgrade.
/kind documentation
part of https://github.com/tektoncd/pipeline/issues/6382

Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[x] Has Docs included if any changes are user facing
[n/a] Has Tests included if any functionality added or changed
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including
functionality, content, code)
[x] Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
[n/a] Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings)
[n/a] Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes
NONE

Thanks for the inputs for #6382 during the pipeline WG.
PTAL for the doc updates for the migration. 🙏
cc @lbernick @pritidesai @vdemeester

Let's close this for now until we are reaching the EOL of v1beta1 :)


Lazy minting is now optional on implementations.

It can be enabled or disabled on deploy so only owner is allowed to mint.

We'll discard this on favor of independent versions for pre minting


Do you have any documentation on how I can use multiple instances of this menu on the same page???

@bigkype ,
You can check the manual > grouping sample. There are two multi-select elements there.

Perfect. I thank you much...


ngModel is null

Whenever I have more than one item in my list and reorder it, I get ngModel is null error. Am I doing something wrong?
here is my plunker. Just click the load button twice and reorder the div's and you'll see the error:
http://plnkr.co/edit/BCmS73Qzm5w3lM9R3MP5?p=preview

It appears to be around the "items" in the sortableOptions object. If I don't add the items attribute, everything works fine.

Sorry not a bug at all ... just didn't have my selector and handle configured correctly.

@davidhartman please share difference in your code ;)

Ok for everyone.. I found when it's buggy.
When you're using parameter items.
Without that everything should work correctly ;)

Can you shade a codepen example?

--
Thodoris Greasidis
Computer, Networking &
Communications Engineer

@thgreasi you can open @davidhartman example (http://plnkr.co/edit/BCmS73Qzm5w3lM9R3MP5?p=preview) and then remove parameter items from his controller.js file.

The items selector should target an immediate child element of the ui-sortable directive (in other words the [ng-repeat] elements). eg: items: '> .mySortableItemRepeater'
In that example, the targeted element is actually several levels deeper: [ui-sortable] > [ng-repeat] isolated > .sortable.

@thgreasi Oooo. I will check it and write it here immediately how it's works ;)

@thgreasi Hmm probably you have rights ;)


Fix the checks of X509_REVOKED_add1_ext_i2d and X509_LOOKUP_* functions

Checklist

[ ] documentation is added or updated
[ ] tests are added or updated

There is no real need to change return values for boolean like methods. Even is wrong to do this.
If there is change in return value of a method - it must be documented first. Then impacted projects should start changing code.

There is no real need to change return values for boolean like methods. Even is wrong to do this.
If there is change in return value of a method - it must be documented first. Then impacted projects should start changing code.

Thanks for your comment. First, they are not boolean like functions since both positive, zero, and negative numbers can be returned. Second, it seems I didn't change the return values of APIs.

@petrovr all these functions are documented (albeit fairly cryptically) to also possibly return negative values.

For instance in case of  X509_L_ADD_DIR ret is zero or result of add_cert_dir() .  Result of add_cert_dir is zero or one.
It seems to me negative in not case in this universe.

Yeah, maybe with fine static code analysis you can come to conclusion that in this particular code context the result cannot be negative. However that does not change the fact that these functions can return negative values in other contexts.

There is for example in X509_LOOKUP_ctrl_ex()
    if (ctx->method == NULL)
        return -1;

So clearly, if you call X509_LOOKUP_add_dir() on ctx with NULL method you can get -1. Yeah, probably in these contexts you cannot happen to call it on such ctx. But it is a good practice to handle all possible return values as documented and not make assumptions depending on the current implementation as that might later change.

@t8m It seems this pr is waiting for merging.

@t8m It seems this pr is waiting for merging.

It needs second review from @openssl/committers

This pull request is ready to merge

Merged to master and 3.0 branches. Thank you for your contribution.

Tomáš Mráz wrote:

@petrovr all these functions are documented (albeit fairly cryptically) to also possibly return negative values.

Please double check code.
Regards,
Roumen Petrov


Suggestion: Add support for meteorhacks:cluster

It would be great if the client methods and the server methods would have been different packages and I could specify the cluster node to upload files to.
Check out https://github.com/meteorhacks/cluster#microservices for more info about cluster and micro-services.
Thanks for the package!

Hi @davidyaha ,

For server only usage you may define File.Collection only on server. But you can not do same thing for client only. But what functionality you wish to have on client only?
Microservices... - in my experience we used to have separated "mini"-apps which shares same DB or host or something else similar. I see no issues why you can not do microservice with Meteor-Files package now. Please ensure what you exactly can not implement.

Thank you for using this package. If you found this driver useful do not hesitate to star it at both github and atmosphere. Also you may like to Tweet about it or share at Facebook

BTW about cluster package - I don't like theirs concept. Basically they re-invent things which already exists and trusted in front of developers and system administrators. Like nginx, HAProxy, AWS ELB - I'm and thousands of devops can stand for theirs reputation, at least they are have longer history.
We're in our production using stack of User -> AWS ELB (cloud) -> HAProxy (cluster) -> Nginx (Host VM) -> Phusion Passenger (Client VM) -> Node. Uptime guaranteed.

Hi @dr-dimitru
In my implementation I would like a micro service to have different DB than the ui-provider micro service.
https://github.com/VeliovGroup/Meteor-Files/blob/master/files.coffee#L878
The Meteor.call in this line could also be changed to some kind of an abstraction that will allow changing the default DDP connection that Meteor.call uses.
I really like the DDP upload in this package and I would like to upload through DDP a file to be analysed on a micro service that handles this kind of background work only.
I could also send the file through the web micro service to the analyser micro service but that also means that I need to implement your logic by myself and it doesn't seem to me like a good thing.
About this package being not the best at load balancing, I totally agree. But, I use it a service discovery more than a LB and while there are solutions out there for it like eureka or zookeeper, having this kind of service integrated into meteor opens up some very cool possibilities. One of them I am currently writing in a branch of Zodiac - https://github.com/GuildOfProgrammers/Zodiac/tree/feature/microservices
That being said, I do think that I might need to rewrite some or the cluster package, but for now it will do.
P.S. Already starred :)
Once I'll finish my current project that uses it, I'll post about this package, guaranteed.

@davidyaha thank you )
I hope to put my hand on your suggestion soon. I'll let you know

Finally done in v1.7.4

Please check on your end


gnu(7392)=6864

GAP      e403849e47a7bdf008c9406a15912559fe2e9f8c
GrpConst 2.5
Runtime: 3274988 ms
Isomorphic groups eliminated

Thank you for submitting new gnu(n). We will recalculate it and add to the database if we get the same result.
Checklist for the reviewer:

[ ] checked and assigned labels "new (n<50000)" or "recomputation", if needed
[ ] indicated that the recomputation has been started
[ ] reproducible value of gnu(n)
[ ] no essential runtime differences
[ ] sufficient level of technical details
[ ] assigned label "validated" after successful review

Checklist for the maintainer:

[ ] correct arguments of commands to store data
[ ] correct location of new line in the data file
[ ] mention reviewer in the commit message

gnu(7392)=6864
GAP      4.8.3
GrpConst 2.5
Runtime: 4110532 ms
Isomorphic groups eliminated
Replicated by @alex-konovalov on Linux server (AMD Opteron 6376 1400 MHz processor, 512 GB RAM)


Add escape function to Serializer

Added function to escape control characters to the serializer class
Refactoring of SerializerTest; using data provider and added 3 more tests for the escape function

Thanks @Sydgren, this looks great, I'll try and get it merged and released this weekend

@duncan3dc That would be awesome. Thanks!
I added a few more commmits to make the code look prettier.

Thanks very much for the contribution @Sydgren, I've released 0.1.1 now


[Snyk] Security upgrade aiohttp from 3.7.4.post0 to 3.8.5

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `pip` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

requirements.txt

Vulnerabilities that will be fixed
By pinning:

Severity
Priority Score (*)
Issue
Upgrade
Breaking Change
Exploit Maturity

658/1000  Why? Proof of Concept exploit, Recently disclosed, Has a fix available, CVSS 5.3
HTTP Request Smuggling SNYK-PYTHON-AIOHTTP-5798483
aiohttp:  3.7.4.post0 -> 3.8.5
No
Proof of Concept

(*) Note that the real score may have changed since the PR was raised.
Some vulnerabilities couldn't be fully fixed and so Snyk will still find them when the project is tested again. This may be because the vulnerability existed within more than one direct dependency, but not all of the affected dependencies could be upgraded.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

Closing - updated by dependabot


Corp map appearing out of nowhere on char who s not in a corp...

There 's a corporation map when i log onto a character that is on a npc map...

Even NPC characters can create corp maps for their corporation. Do you think this is a bad configuration. We could make it configurable for server admin if it is necessary.


Is it posibble to create custom pattern?

I want to use ARjs from mobile web to scan the T-shirt Logo ( Zara, h&m, Forever 21) something
or I have to connect with Vuforia SDK (unity) ?
thanks

unfrotunatly, image based marker arent supported by AR.js at the moment.

now it support Image tracking！This project repository has been moved to a Github organization account


Update modules

@slack/client のメジャーアップデートが気になるけど、まあ動くやろ！w

Codecov Report

Merging #59 into master will increase coverage by 0.28%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #59      +/-   ##
==========================================
+ Coverage   48.79%   49.07%   +0.28%
==========================================
  Files          31       31
  Lines        3613     3631      +18
  Branches      715      728      +13
==========================================
+ Hits         1763     1782      +19
  Misses       1447     1447
+ Partials      403      402       -1

Impacted Files
Coverage Δ

lib/logger.js
100% <100%> (ø)
:arrow_up:

prime/index.js
17.98% <0%> (ø)
:arrow_up:

tiobot/index.ts
92.3% <0%> (+1.83%)
:arrow_up:

scrapbox/index.ts
83.87% <0%> (+3.87%)
:arrow_up:

slack-log/index.ts
89.13% <0%> (+4.51%)
:arrow_up:

Continue to review full report at Codecov.

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

まあ行けるやろ～～～


Elaboration of steps

I try to figure out how to star making a new skill, and thought start from this template seems like a good idea.
But I am not sure about all the steps...
Before "start from this repo and do the following steps" should I fork the repo or just clone it ?
The search and replace steps I can understand and also steps create and make dev branch.
"set PYPI_TOKEN in action secrets" I dont understand. Where do I set that ?
"setup codecov" hassnt I been looking into, but it should be described in the codecow doks.
workflows and the rest I maybe have questions to also, but I start at the beginning :)

Sorry, missed that one. The repo is for the most part used with skills that reside within the org (ie supported skills)
You wouldn't necessarily need that workflows besides maybe skill unittests (and some versioning workflows if you chose to do so)
such strings as PYPI_TOKEN would be set up in >"Settings">"Secrets and Variables">"Actions"


Order of edit changes in TextDocumentChangeEvent.contentChanges is reverse the order of the actual edits

VSCode Version: 1.4.0
OS Version:10.11.6

Steps to Reproduce:

Create an edit with an insert and a remove
In the corresponding onDidChangeTextDocument event, look at the TextDocumentChangeEvent.contentChanges Notice how the order is reverse the order of the actual edit order.

@drew-wallace How do you build your edits? Via textEditor.edit?
Note they will all be applied at the "same time".

Here's a simple example:
vscode.window.activeTextEditor.edit(function (textEditorEdit) {
	textEditorEdit.insert(start, "first");
	textEditorEdit.insert(start, "second");
});

vscode.workspace.onDidChangeTextDocument(function(TextDocumentChangeEvent) {
    console.log(TextDocumentChangeEvent.contentChanges[0].text); // output: "second"
    console.log(TextDocumentChangeEvent.contentChanges[1].text); // output: "first"
});

Ok, I might have jumped ahead of myself :).
The order in which you specify the edits is of consequence if the edits touch the same location.
Perhaps an explanation of how this works would help:

the edits you add to the editBuilder are collected in an array and sent over from the extension host to the main process.
the edits are all applied "at once":

given the text hello and two edits:
first edit to insert a at (0,0)
second edit to insert b at (0,1)
the result of the edits is ahbello because a is inserted before h and b is inserted after h.
the edits are applied "at once" on the original model version. As an implementation detail, the last edit in the file is applied first, etc. I will touch on this point below.
if the edits would be applied one after the other, the result would have been abhello because first a would be inserted before h, resulting in ahello and b would be inserted after a.
you can think of the edits as a list of things to do on the current text (sort of like a patch where each patch acts on the original contents at the same time with all the other patch in the batch of patches)

as you have noticed the two edits proceed to generate a single document change event.
this document change event must again describe the "edits" that would allow somebody to maintain a model sync based on these delta events. We use these change events succesfully to maintain a mirror model of the main process model in the extension host (that's why we can make text document read APIs synchronous, because we have an up-to-date version of the main process documents using these change events).
your logic should not depend on the order or the correlation of the change events in regards to the edits you send. For example, you have discovered that we apply the edits from the last one in the file to the first one in the file. But we also do other things, which you might have not noticed. For example, if you send more than 1000 edits, for memory allocation purposes we will collapse them all into a single edit and proceed to emit a single content change event consisting of a very large range that contains all the 1000 edits logically. This is the sort of transformation where correctness is maintained, as there are many ways to express the same edit. I would like for us to reserve the right for this to be considered implementation detail.

I hope this makes sense, and perhaps you can explain what you're trying to do, maybe there are better ways to do what you want to do that do not introduce knowledge of the model edits implementation details.

I was trying to work around these issues: #11418 and #10801. The goal was to make an edit and attach an insert of a very long static string so that I could filter the edits that had it and the edits that don't. I needed this because I'm working on a remote pair programming extension and when a remote user makes an edit, the local user receives the edit, but the local user's listener picks up on it and triggers the same edit on the remote user, which causes an infinite loop.
This workaround didn't end up working anyway, because I was unable to delete that static string from within the listener. I realize it was probably a bad idea to force edits to have the feature I need since I don't entirely understand what kinds of things can happen when making large edits.

Cool use-case.
This is how I'd do it (pseudocode ignoring multiple documents but the principle should hold):
function delta(text1, text2) {
  // ... diff/LCS algorithm here
}

function patch(text, edits) {
  // apply edits produced by above delta to text here
}

// true when I've posted edits and I don't know if they were applied yet.
var waitingForApplyingMyEdits = false;

// Record last seen text and fetch current text,
// determine diff, send edits off to a server
var lastSentText = doc.getText();
function reconcile() {
  if (waitingForApplyingMyEdits) {
    return;
  }
  var currentText = doc.getText();
  var edits = delta(lastSentText, currentText);
  lastSentText = currentText;
  // send edits to server
}

function applyIncomingEdits(edits) {
  var currentText = doc.getText();
  var desiredText = patch(currentText, edits);

  // block any reconciliation until we submit this edit
  waitingForApplyingMyEdits = true;
  editor.edit((builder) => {
  }).then(function(applied) {
    waitingForApplyingMyEdits = false;
    if (!applied) {
       // TODO: try again! user changed the file in the meantime
    } else {
       // force to compute delta between what I expected and what actually happened
       lastSentText = desiredText;
       reconcile();
    }
  });
}

// 500ms after the last edit begin to reconcile
var reconcileTimeout = -1;
workspace.onDidChangeTextDocument((e) => {
  clearTimeout(reconcileTimeout);
  reconcileTimeout = setTimeout(reconcile, 500);
});

if the edits would be applied one after the other, the result would have been abhello because first a would be inserted before h, resulting in ahello and b would be inserted after a.

you can think of the edits as a list of things to do on the current text (sort of like a patch where each patch acts on the original contents at the same time with all the other patch in the batch of patches)

@alexandrudima that's a subtle detail that needs to be documented.
So as each change in TextEditorEdit is applied to a document, the locations of all remaining changes need to be updated. In practice, you avoid having to update subsequent locations by first sorting the edits by location (descending order).

your logic should not depend on the order or the correlation of the change events in regards to the edits you send.

What about edits received -- should extension authors assume that the changes in TextDocumentChangeEvent have already been sorted by location?

@alexandrudima This could work, but I think I might wait for the #10801. Having the source of the edit would reduce complexity.

@siegebell Good point, the doc comment is lacking in this regard (explanation regarding applying edits at the same time). I remember describing this in great detail somewhere in https://github.com/Microsoft/vscode-docs/ but I think it got lost when we went open source.
That is exactly what I'm trying to prevent -- that you in any way depend on the order or the shape of the content change events. The contract is that if you begin following independently a certain document and consistently apply the content change events (in the order you received them) you will end up with a document in the same state (same text) as our document. No guarantess about the sort order, about the count, etc. I would like to keep the door open if we need to improve our edit applying code.


A minimal daemon implementation that exposes raw REST endpoints to interact with it

TODO:

[ ] Should expose REST endpoints to

[ ] Upload a file - should return the metadata of the uploaded file
[ ] Download a file - should allow streaming of chunks/data as it's being fetched
[ ] Connect to a specific peer
[ ] Find peers that announce a specific hash or set of hashes
[ ] ???

closed by #32


url, b, u and i tags in RichTextLabel don´t respect the margin

Godot version: 3.1.1-stable_win32
OS/device including version: Windows 7/PC
Issue description: When a text marked with a url, u, b or i tag inside a Richtextlabel hits the margin area, it just go over the margin no matter what. The regular text detects the margin and jumps to the next line, but the tags doesn´t and just continue like no margin is in place.
Steps to reproduce:
-Create a Rich text label, set a right margin and disable scroll_active.
-Fill the Richtextlabel with a text so a word marked with a tag reaches the right margin.
-Enjoy the bug!
Minimal reproduction project:
See the word "Paleolítico" in the second line of this capture:

One more tip: scroll_active must be disabled in order to reproduce the bug. If it´s active, the text seems to work properly so maybe the bug is related to the vertical scroll bar not showed.

@Bethleem Can you upload a minimum reproduction project? I'm not able to reproduce it.

Sorry for the delay, I drop the project over a year ago waiting for godot (blame me for the joke) to fix a number of bugs. I see most of them are still in place a year and several versions later.
I was mistaken by the time  I put this bug report. It´s not about the margin, it´s another tag related bug. When you put text into fill tag, the last word of each visual line (not paragraph, screen lines) is "glued" with a space character after it. At least with regular text. When that line last word is between a tag (u, b, u, url...), it does not glue that extra space character, so it seems to break the margin, but what actually happens is that last tagged word breaks the visual vertical line of glued extra space characters.
There is an easy workaround in GDScript for that to be avoid: force an extra space character in any last line word with a tag. I know, is dirty and inefficient but it works just fine. I think efforts for bug fixing may better be put into critical, non-hackable, project-stoppers bugs like the url-fill one.

Sorry for the delay, I drop the project over a year ago waiting for godot (blame me for the joke) to fix a number of bugs. I see most of them are still in place a year and several versions later.
I was mistaken by the time  I put this bug report. It´s not about the margin, it´s another tag related bug. When you put text into fill tag, the last word of each visual line (not paragraph, screen lines) is "glued" with a space character after it. At least with regular text. When that line last word is between a tag (u, b, u, url...), it does not glue that extra space character, so it seems to break the margin, but what actually happens is that last tagged word breaks the visual vertical line of glued extra space characters.
There is an easy workaround in GDScript for that to be avoid: force an extra space character in any last line word with a tag. I know, is dirty and inefficient but it works just fine. I think efforts for bug fixing may better be put into critical, non-hackable, project-stoppers bugs like the url-fill one.


Add colour and formatting to all messages

All messages sent in chat to the player are all currently white.

Are they not supposed to be white?

Errors should be red, success should be green, etc.
If everything is white it might get lost in the sea of chat

Ahh sorry I misunderstood! Makes sense!

Will be fixed by https://github.com/projectcitybuild/PCBridge/pull/36


update for ko postal codes

we've gone through postal code pattern change in near 2015, and i've updated the pattern and tests for it. all tests passing on my end. Thanks for all,

@redus I'm sorry i didn't know about this. Thank you for PR.

failing on chemical name test. Korean has elements where the length is less than two, so yeah could be exceptioned with farsi as well

yup no problem

@redus I fix issue with length of chemical element as son as possible.


Use clang-tidy-17 in CI. This enables misc-include-cleaner.

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

Project coverage is 92.92%.  Consider uploading reports for the commit d07c086 to get more accurate results

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##           master    #2119   +/-   ##
=======================================
  Coverage   92.92%   92.92%
=======================================
  Files         359      359
  Lines       26666    26666
=======================================
  Hits        24780    24780
  Misses       1886     1886

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


Support :has pseudo class

This is about the pseudo class :has (https://developer.mozilla.org/en-US/docs/Web/CSS/:has#specifications) which currently return a DOMException
import { DOMParser, Element } from "https://deno.land/x/deno_dom/deno-dom-wasm.ts";
const doc = new DOMParser().parseFromString(
  `

Hello World!

Hello from Deno!

`,
  "text/html",
);
const p = doc.querySelector("p");
const p2 = doc.querySelector("p:has(a)");
// returns Uncaught DOMException

The above works in JS in browser console.
Possibly still early maybe as it requires some flags in some versions of browsers (https://caniuse.com/css-has) but still interesting feature.

I'll have to check if our upstream dependency NWSAPI has implemented it already; I think that they have and I need to vendor their newer release anyways since it fixes some long standing bugs (e.g. :scope)

:has usage is becoming more and more common now - I'd love to see support for :has for deno-dom :heart:

Yeah, me too tbh. The problem currently is that nwsapi has bugs in its :has selector implementation... And while I'm interested in other engines like css-select from NPM I do not like the non trivial drop in performance that woupd result from that... So currently I'm thinking of forking nwsapi for deno-dom and fixing it myself and maybe the nwsapi authors can upstream my changes or fix it in the way they prefer when they get the time and then I can decommission the fork


Create 'pre-existing-gke-cluster' module

This PR introduces the pre-existing-gke-cluster module, allowing blueprints to leverage existing Google Kubernetes Engine (GKE) clusters.
Key Changes:
New Module:
Purpose: Facilitates the usage of a pre-existing GKE cluster in HPC Toolkit blueprints.
Location: community/modules/scheduler/pre-existing-gke-cluster
Inputs:

cluster_name (required): Name of the existing GKE cluster.
project_id (required): Project that hosts the existing cluster.
region (required): Region in which to search for the cluster

Manual testing:

Created a new GKE cluster.
Deployed the provided sample blueprint (hpc-existing-gke).
Verified the successful creation of a new node pool in the GKE cluster through Pantheon.

Sample Blueprint:
blueprint_name: hpc-existing-gke

vars:

 project_id: ## Set GCP Project ID Here ##

 deployment_name: existing-cluster-01

 region: us-central1

deployment_groups:

- group: primary

 modules:

 - id: existing_cluster

  source: community/modules/scheduler/pre-existing-gke-cluster

  settings:

   cluster_name: "cluster-01"

 - id: compute_pool

  source: community/modules/compute/gke-node-pool

  use: [existing_cluster]

 - id: job-template

  source: community/modules/compute/gke-job-template

  use: [compute_pool]

  settings:

   image: busybox

   command:

   - echo

   - Hello World

   node_count: 3

  outputs: [instructions]

Additional Notes:

Made changes to relevant documentation.

/gcbrun

/gcbrun

You can ignore PR-test-ml-gke failure, this is a new integration test that is just not defined in your pr.

/gcbrun


Commented solution using switch statement

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] All the files I changed are in the same world language (for example: only English changes, or only Chinese changes, etc.)
[x] My changes do not use shortened URLs or affiliate links.

Closes #XXXXX

Waiting for #35607 to be merged/closed to review this one.

@thecodingaviator thanks for the review!

Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 🎉


Add to Calendar link is not available for users outside of Microsoft

The calendar link is only available for users internal to Microsoft (https://microsoft-my.sharepoint.com/personal/joshoh_microsoft_com/_layouts/15/download.aspx?SourceUrl=%2Fpersonal%2Fjoshoh_microsoft_com%2FDocuments%2FHack Together AI Chat App%2FChat App Calendar.ics)
Could the calendar file be added to the GitHub Repo or to another public facing URL?

Fixed!


"Topics" page, column showing related parameters

The Topics page (https://crossgram.clld.org/topics) currently shows Croft and Wikipedia counterparts, but these two are not very important (they should be part of Grammaticon, once that is more advanced). Instead, there should be a column listing related parameters, e.g. for "A-argument", the five parameters listed here: https://crossgram.clld.org/topics/AARG – And actually, there is no need to list those topics that are not related to any of the parameters.

I added a Parameters column to the table of topics.  Currently it does not distinguish between L and C parameters (it just shows both if available).

Thank you!


Refactor and Rubocop cleanup

Refactored enforce_state_maxima into 2 smaller functions
Added spec to test the smaller function
Fixes #3311

@kbrock @eclarizio @gmcculloug
Please review

@mkanoor This looks great!  Please fix the 2 whitespace Rubocop warnings, so I can merge.


Upstreaming . . .

will update description when i've reviewed what is being done

Hi there! The key differences here are:

Adding the ability to use JWT-based authorization with APNs instead of the certificate-based approach
Adding a somewhat opinionated way of storing the extra data in JsonAps's ToJSON instance. Namely the addition of the new top-level data field that contains all the extra supplementalFields.
Changes around timeout handling in withConnection, we've previously observed that, every once in a while, a connection would hang and not terminate, which consequently created a "stuck" queued job responsible for sending that notification on our end. Adding an explicit timeout and throwing an EarlyEndOfStream in that case solved this issue.

Thanks very much for the PR and sorry for the late reply! Is this ready to be merged?


Create JSFunctions.js

Hello my friend!
 @hemantsaini-7
I'm not really sure what these changes means... can you provide more information about this new .js file?

That is the js component for infinite scrolling!
On Sat, 3 Apr 2021 at 9:04 AM, Jacobo Martínez @.***>
wrote:

Hello my friend! @hemantsaini-7 https://github.com/hemantsaini-7
I'm not really sure what these changes means... can you provide more
information about this new .js file?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/cobidev/simplefolio/pull/60#issuecomment-812803702,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APTBL52CULNEDM4PEY2WEKDTG2EEVANCNFSM4SHKUNPA
.

@hemantsaini-7 Okay, can you show me some examples? do you have this implemented in your own copy of Simplefolio?
I would like to see it in action first.


PDF file links are opened in Sublime Text instead of an external PDF reader program

When following a link to a local PDF file, the file's binary contents is displayed by Sublime Text, instead of being opened by my PDF reader.
Here're examples of links I'd like to open:
[[~/sync/2d/grammar of graphics wilkinson.pdf][Grammar of Graphics by Wilkinson]]
[[file:/home/user/blah.pdf]]
I was expecting it to work similarly to how http links open in an external web browser.
I'm using Sublime Text build 4169 on Manjaro Linux.
ETA: frustratingly the file orgextended/orgresolver/abstract.py appears to contain exactly the behaviour I want (pass the paths of files who's extensions aren't listed in the resolver.local_file.force_into_sublime settings variable to xdg-open) but it's not being invoked for some reason.
Also the release notes for version 1.2.4 seem relevant, but I don't know where to put the "file_exclude_pattern": ["*.pdf"], line -- it doesn't seem to do anything when placed in OrgExtended.sublime-settings.

The release notes are incorrect, it should read "file_exclude_patterns" (with an 's').


Starting server

When runing npm start, to run the server I receive the following error:

I recloned repo


Add timezone to .yml config files

Allows users to specify their default timezone via config files. The value is stored in application.date_timezone and is set in the application as the last step in __construct.
Normally this is set on the server side in php.ini files, so no worries if you don't want to merge this. I could see value (especially on shared servers) in having this be configurable app-side so I wanted to suggest & provide a pr for it.
I'm not sure if any tests need to be added to this? I'm happy to add them if needed. Also totally happy to move things around if they would go in better places.

No worries. Thanks @davethegr8!


Enable horizontal swipe gesture

Change Type
Addition
Proposed Changes
Currently the swipe gesture to dismiss a toast is only vertical. It could be usefull to have the possibility to switch to horizontal for mobile usage

Hello! This project's goal is to remain aligned with sonner which doesn't have that feature. Sorry!


add support for BackgroundChanger

thank you

Yes please! Any update on BackgroundChanger getting added please!

I'm also a big fan of BackgroundChanger. Please implement it if possible.

Added in version 2.0


Route should be open constructor or Route be to interface to custom route

problem:
org.springframework.cloud.gateway.route.Route is concrete class and not open constructor.
problem: implement AB-Test by Route
solution:

org.springframework.cloud.gateway.route.Route should be open constructor
org.springframework.cloud.gateway.route.Route to be interface.

Can you explain what  implement AB-Test by Route means?

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

Can you explain what  implement AB-Test by Route means?
I've done it in other ways, but Route should be expansive, eg: Route as interface.

Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.


This is very useful for me, do you have a paper about this? How could I cite this repo and what is the LISENCE? THANKS

Glad to here it, I have added a README and a LICENCE now, I didn't publish a paper on the work so feel free to cite the repo if you would like to.


EKF add estimator namespace and cleanup whitespace

Namespace and minor whitespace changes from https://github.com/PX4/ecl/pull/613.

Looks like the python testing needs to be updated to work with the namespace.

@dagar for dummies like me can you explain the benefit of the namespace change? TXS :)

can you explain the benefit of the namespace change? TXS :)

The idea is that if someone else has a free-standing method or a class with the same name, it won't collide. This would let us add an ecl::Filter as well as an xyz::Filter in the same compiled binary for example.


Added support for Latency formulas and changed format of variants_formulas.json

New formulas.json format would be like so:
{
    "v1": {
        "desc": "dummy_lwc",
        "AE": {
            "Execution_Formula": "12 + 16*Na + Ina*(Bla + 1) + 16*Nm  + Inm*(Blm + 1) + 32",
            "Latency_Formula": "2 + 12"
        },
        "AD": {
            "Execution_Formula": "12 + 16*Na + Ina*(Bla + 1) + 16*Nc  + Inc*(Blc + 1) + 32 + 1",
            "Latency_Formula": "2 + 12"
        }
    }
}

Excellent work! Thank you.


Fix for issue #11

Small change in the code preventing the sign edit interface from opening when the player shift clicks a frame with an object in hand. Solves issue #11.

Thanks for the contribution!


Enable getting suggested tracker names from OpenXR extensions

Moves some of the hard-coded positional tracker names into their corresponding extension wrappers, and exposes them with their own get_suggested_tracker_names() function. Necessary if any vendor specific extensions like the one in GodotVR/godot_openxr_vendors#81 want to add suggested names.

Thanks!


use es6-promise polyfill rather than native-or-bluebird

Ensure behavior is consistent regardless of which other dependencies happen to be installed.

This loads es6-promise even on io.js and Node.js 4.x and up which isn't desirable.
I understand the problem though. Personally I would like to investigate how broken promises really are on 0.12, it seemed like a rare case. Maybe we can make a subclass of the builtin promise which fixes the flaw on 0.12. On anything newer we could use the builtin Promise.

closing this in favor of any-promise


Add demo notebook.

Added a demo nb to visualize results. Fixes #42.

@ptitzler @MLnick should I merge this then?

Looks like the latest change broke something in the readme. The development href doesn't work anymore because of the renumbering


Grandpa validator set handoff justification

Closes #1069.
finalize_block is modified to take an Option<Justification> which is stored in the database. Grandpa will store justifications for authority set change blocks,  these will be available through the sync module later on and passed on to requesting nodes. Currently the sync module always requests justifications but doesn't validate whether they're provided or not, the GrandpaBlockImport will then check whether the block to be imported is a change block and whether a justification should have been provided (this is conditional on the current authority set not being live anymore).
I still need to add tests and better docs but overall I think this is ready for a review.

I know here is not the right space for progpow discussion but, can I ask is it possible to update your progpow pr https://github.com/paritytech/parity-ethereum/pull/9762 with latest codes from reference code? https://github.com/ifdefelse/ProgPOW/compare/620b4c7aafe60391f863372814d7517e94386379...master

(maybe for PoC-4) We might want the justifications to contain light-client proofs of the call to grandpa_pending_change and an ancestry proof from the change block to the signal block.
Also a convenient method for proving finality of an arbitrary block would be useful.

I think this is good for review now, I'm still going to do some changes but I think those can be done in a follow up PR.


fix count updates on leaders with multiple followers

Scope & Purpose
Fixes potential races when applying count updates on leaders if multiple followers of the same shard try to get in sync at the very same time, and all try to apply count updates individually.
This PR introduces a "leadership" for applying count updates, simply by scanning all existing ReplicationContexts for the same shard when creating a ReplicationContext on a leader. If there exists a ReplicationContext for the same shard already, then that context is considered responsible. Otherwise, the to-be-created context will assume responsibility for applying potential count updates.
The changes can be verified by running the following test (needs 3 DB servers):
scripts/unittest shell_client --cluster true --test tests/js/client/shell/shell-collection-counts-cluster-rocksdb.js --dbServers 3

[x] :hankey: Bugfix
[x] :pizza: New feature
[ ] :hammer: Refactoring
[ ] :book: CHANGELOG entry made
[x] :muscle: The behavior in this PR was manually tested
[x] :computer: The behavior change can be verified via automatic tests

Backports:

[x] Backports required for: 3.5 (https://github.com/arangodb/arangodb/pull/12920), 3.6 (https://github.com/arangodb/arangodb/pull/12921)

Testing & Verification

[x] This PR adds tests that were used to verify all changes:

[x] Added new integration tests (i.e. in shell_client)

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/12491/

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/12502/

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/12506/

Tests blue


stop loss and take profit order structure

Please add a feature to open a position, stop loss order and take profit order with one request.

Please feel free to submit request at https://www.binance.com/en/my/user-support/feedback/entry
I'm closing the issue as it's not related to this library.


level=info msg="Processing results: applications=3 images_considered=3 images_skipped=0 images_updated=0 errors=0"

Describe the bug
I want to use the same helm directory for 2 environments
I get updates in git for dev, but not for stage env
.argocd-source-facility-app.yaml I see only this file

Q. Did you define separate ArgoCD Application resources for dev and staging?


Percentage issues when voting for or against

When voting over the quorum threshold either for or against a proposal, the reflected percentage goes well beyond 100% - which if the 'for' limit hits 100%, that should be it because it's enough to pass something.

Need to repro this


testing strategy - add more integration tests

Add integration tests for endpoints that weren't tested (enough).
Resolves #353.
Basics

[ ] Details of what you changed are in commit messages.
[ ] References to issues, e.g. close #X, are in the commit messages.
[ ] The buildserver is happy.
[ ] The PR is rebased with current master.

Checklist

[ ] I added unit tests for my code
[ ] I fully described what my PR does in the documentation
(not in the PR description)
[ ] I fixed all affected documentation
[ ] I fixed all affected decisions
[ ] I added code comments, logging, and assertions as appropriate
[ ] I translated all strings visible to the user
[ ] I mentioned every code or binary not directly written or done by me in reuse syntax

Review

[ ] I've tested the code
[ ] I've read through the whole code
[ ] Documentation is conforming to our Documentation Guidelines
[ ] Examples are well chosen and understandable
[ ] Code is conforming to our Coding Guidelines
[ ] Code is consistent to our Design Decisions

jenkins build please

Please click all the items in the top-post of the PR (at least "Basics") before requesting reviews. Then you would have noticed that there was/is(?) a build server problem.

This doesn't seem to be an issue in the PR itself, but rather in the build. At least the PR merge works just fine and locally everything compiles as well.
Do I have to do anything here now?

Yes, in general

you should retrigger the pipeline (several times if needed) and if this doesn't work report an issue/ask our CI guys etc. (If you cannot fix it yourself.)
Furthermore, the points in the top post are still not ticked (a few of them should be already okay).

In this specific case it seems to be (again) the situation that the cargo fetches fail. I already discussed with @lukashartl, a solution is that we already install cargo packages when building the Docker image. But we need to tell him that it fails now, so that he can put this higher in his priority list.

to be rebased after auth merge

@markus2330 Can be merged.

There is a "please merge" label which is less noisy. (But might need a day or so until I notice it.)


Update AppPreview and Screenshots on AppStore

The new media content should better refelect the apps state.

done and uploaded to apple


Undocumented features

I just found that minetest.register_on_item_pickup exists, but it is not documented.
Let me know if you find similar functions or if you know a good way to find them (going through all the contents of minetest is a pain).

Hmmm... It is actually documented in the master branch, but missed in stable 5! Looks like we have to switch to master.

Ouch. sorry, I'm just blind. This function is present in stable5.


Make WebView2 runtime available in Microsoft Store.

Just like Android WebView in Google Play.

Thanks for this feedback. We are working with out partners on the Edge team to further define the story for the WV2 runtime. This feedback is helpful!


chore: update fastify-compress to match fastify version

Please check if the PR fulfills these requirements

[x] The commit message follows our guidelines
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

Update fastify-compress to 3.3.0 because it breaks the build with fastify version 3.1.1 introduced by commit 29e4d69

What is the current behavior? (You can also link to an open issue here)

Broken build because of TypeScript error

What is the new behavior (if this is a feature change)?

Build fixed

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)

No

Other information:

@AlexisNo can you have a look at this PR? https://github.com/Sanofi-IADC/whispr/pull/78
This dependency was previously updated then reverted because it broke file uploads. Since them some more tests have been added but I think this part should be checked specifically.

@AlexisNo I think you can test this with @David-Wennemaring to make sure it works ok after the update

Also there is currently a problem with fastify v3 and apollo-server: https://github.com/apollographql/apollo-server/pull/4356
As soon as apollo-server v3 is released, we can update this dependency as well.

Closing this PR until there is proper support for Fastify v3 in Apollo


ParserModel not implemented yet (kind:180)

I'm defining a database middleware per the docs as follows:
// src/db/index.ts

/* eslint-disable no-var */
import { type Collection, MongoClient, type Db } from "mongodb";
import { env } from "env";
import type {
  PheroParams,
  PheroContext,
  PheroNextFunction,
} from "@phero/server";
import type { CatalogueItem } from "src/api/products/models";

var cachedClient: MongoClient;
var cachedDb: Db;

export type DbMiddlewareContext = {
  db: Db;
  client: MongoClient;
  collections: {
    products: Collection<CatalogueItem>;
  };
};

export async function databaseMiddleware(
  params: PheroParams, // not used in this middleware
  context: PheroContext, // not used in this middleware
  next: PheroNextFunction<DbMiddlewareContext> // we'll be adding `db` to the context, to be used later on
) {
  const client = cachedClient
    ? cachedClient
    : await MongoClient.connect(env.MONGODB_URI, { appName: "catty" });
  const db = cachedDb ? cachedDb : client.db(env.MONGODB_DB);

  cachedClient = client;
  cachedDb = db;

  await next({
    db,
    client,
    collections: {
      products: db.collection("products"),
    },
  });
}

I add it to my Phero File like so:
// src/phero.ts
import { createService } from "@phero/server";
import * as products from "src/api/products";
import { databaseMiddleware } from "src/db";

export const productService = createService(products, {
  middleware: [databaseMiddleware],
});

I use the exported DbMiddlewareContext type as the type of the first argument in functions which expect to follow this middleware, like so:
// src/api/createProduct.ts
import type { CatalogueItemInput } from "./models";
import type { DbMiddlewareContext } from "src/db";
import { ObjectId } from "mongodb";

export async function createProduct(
  context: DbMiddlewareContext,
  product: CatalogueItemInput
): Promise<CatalogueItemInput & { id: string }> {
  const { collections } = context;
  const { products } = collections;
  const withId = { _id: new ObjectId(), ...product };
  const result = await products.insertOne(withId);
  if (!result.acknowledged) throw "failed";
  return { ...product, id: withId._id.toHexString() };
}

For some reason, I get the following error:

src/db/index.ts:15:6 - error TS-PheroError:
S145: ParserModel not implemented yet: Db (kind:180)
15   db: Db;
If you think this is a bug, please submit an issue here: https://github.com/phero-hq/phero/issues

Have I found a bug or just a limitation / missing feature?

Your code seems great, let me get into it to figure out what’s going on 👍

Thanks! Forgot to mention I'm on version 0.9.13.
I was able to glean a bit more information by running npx phero server build, which gave me the following output with the error message:
node: <ref *6> NodeObject {
    pos: 362,
    end: 365,
    flags: 0,
    modifierFlagsCache: 0,
    transformFlags: 1,
    parent: <ref *3> NodeObject {
      pos: 356,
      end: 366,
      flags: 0,
      modifierFlagsCache: 536870912,
      transformFlags: 1,
      parent: <ref *1> NodeObject {
        pos: 354,
        end: 454,
        flags: 0,
        modifierFlagsCache: 0,
        transformFlags: 1,
        parent: <ref *2> NodeObject {
          pos: 319,
          end: 455,
          flags: 0,
          modifierFlagsCache: 536870913,
          transformFlags: 1,
          parent: SourceFileObject {
            pos: 0,
            end: 1059,
            flags: 2048,
            modifierFlagsCache: 0,
            transformFlags: 4195713,
            parent: undefined,
            kind: 308,
            statements: [Array],
            endOfFileToken: [TokenObject],
            fileName: '/Users/alec/dev/Catty/1/src/db/index.ts',
            text: '/* eslint-disable no-var */\n' +
              'import { type Collection, MongoClient, type Db } from "mongodb";\n' +
              'import { env } from "env";\n' +
              'import type {\n' +
              '  PheroParams,\n' +
              '  PheroContext,\n' +
              '  PheroNextFunction,\n' +
              '} from "@phero/server";\n' +
              'import type { CatalogueItem } from "@/api/products/models";\n' +
              '\n' +
              'var cachedClient: MongoClient;\n' +
              'var cachedDb: Db;\n' +
              '\n' +
              'export type DbMiddlewareContext = {\n' +
              '  db: Db;\n' +
              '  client: MongoClient;\n' +
              '  collections: {\n' +
              '    products: Collection<CatalogueItem>;\n' +
              '  };\n' +
              '};\n' +
              '\n' +
              'export async function databaseMiddleware(\n' +
              '  params: PheroParams, // not used in this middleware\n' +
              '  context: PheroContext, // not used in this middleware\n' +
              "  next: PheroNextFunction<DbMiddlewareContext> // we'll be adding `db` to the context, to be used later on\n" +
              ') {\n' +
              '  const client = cachedClient\n' +
              '    ? cachedClient\n' +
              '    : await MongoClient.connect(env.MONGODB_URI, { appName: "catty" });\n' +
              '  const db = cachedDb ? cachedDb : client.db(env.MONGODB_DB);\n' +
              '\n' +
              '  cachedClient = client;\n' +
              '  cachedDb = db;\n' +
              '\n' +
              '  await next({\n' +
              '    db,\n' +
              '    client,\n' +
              '    collections: {\n' +
              '      products: db.collection("products"),\n' +
              '    },\n' +
              '  });\n' +
              '}\n',
            languageVersion: 4,
            languageVariant: 0,
            scriptKind: 3,
            isDeclarationFile: false,
            hasNoDefaultLib: false,
            bindDiagnostics: [],
            bindSuggestionDiagnostics: undefined,
            externalModuleIndicator: [NodeObject],
            setExternalModuleIndicator: [Function: callback],
            pragmas: Map(0) {},
            checkJsDirective: undefined,
            referencedFiles: [],
            typeReferenceDirectives: [],
            libReferenceDirectives: [],
            amdDependencies: [],
            commentDirectives: undefined,
            nodeCount: 156,
            identifierCount: 59,
            identifiers: [Map],
            parseDiagnostics: [],
            path: '/users/alec/dev/catty/1/src/db/index.ts',
            resolvedPath: '/users/alec/dev/catty/1/src/db/index.ts',
            originalFileName: '/Users/alec/dev/Catty/1/src/db/index.ts',
            packageJsonLocations: undefined,
            packageJsonScope: undefined,
            imports: [Array],
            moduleAugmentations: [],
            ambientModuleNames: [],
            resolvedModules: [Object],
            symbol: [SymbolObject],
            locals: [Map],
            nextContainer: [NodeObject],
            endFlowNode: [Object],
            symbolCount: 34,
            classifiableNames: [Set],
            lineMap: [Array]
          },
          kind: 262,
          symbol: SymbolObject {
            flags: 524288,
            escapedName: 'DbMiddlewareContext',
            declarations: [Array],
            parent: [SymbolObject],
            isReferenced: 788968,
            id: 26
          },
          localSymbol: SymbolObject {
            flags: 0,
            escapedName: 'DbMiddlewareContext',
            declarations: [Array],
            parent: undefined,
            exportSymbol: [SymbolObject]
          },
          locals: Map(0) {},
          nextContainer: [Circular *1],
          name: IdentifierObject {
            pos: 332,
            end: 352,
            flags: 0,
            modifierFlagsCache: 0,
            transformFlags: 0,
            parent: [Circular *2],
            kind: 79,
            originalKeywordKind: undefined,
            escapedText: 'DbMiddlewareContext',
            flowNode: [Object]
          },
          modifiers: [
            [TokenObject],
            pos: 319,
            end: 327,
            hasTrailingComma: false,
            transformFlags: 0
          ],
          typeParameters: undefined,
          type: [Circular *1],
          illegalDecorators: undefined,
          id: 1320
        },
        kind: 184,
        members: [
          [Circular *3],
          NodeObject {
            pos: 366,
            end: 389,
            flags: 0,
            modifierFlagsCache: 536870912,
            transformFlags: 1,
            parent: [Circular *1],
            kind: 168,
            symbol: [SymbolObject],
            localSymbol: undefined,
            locals: undefined,
            nextContainer: undefined,
            name: [IdentifierObject],
            modifiers: undefined,
            type: [NodeObject],
            questionToken: undefined,
            initializer: undefined
          },
          NodeObject {
            pos: 389,
            end: 452,
            flags: 0,
            modifierFlagsCache: 536870912,
            transformFlags: 1,
            parent: [Circular *1],
            kind: 168,
            symbol: [SymbolObject],
            localSymbol: undefined,
            locals: undefined,
            nextContainer: undefined,
            name: [IdentifierObject],
            modifiers: undefined,
            type: [NodeObject],
            questionToken: undefined,
            initializer: undefined
          },
          pos: 356,
          end: 452,
          hasTrailingComma: false,
          transformFlags: 1
        ],
        symbol: SymbolObject {
          flags: 2048,
          escapedName: '__type',
          declarations: [ [Circular *1] ],
          members: Map(3) {
            'db' => [SymbolObject],
            'client' => [SymbolObject],
            'collections' => [SymbolObject]
          },
          id: 27
        },
        nextContainer: <ref *4> NodeObject {
          pos: 404,
          end: 451,
          flags: 0,
          modifierFlagsCache: 0,
          transformFlags: 1,
          parent: NodeObject {
            pos: 389,
            end: 452,
            flags: 0,
            modifierFlagsCache: 536870912,
            transformFlags: 1,
            parent: [Circular *1],
            kind: 168,
            symbol: [SymbolObject],
            localSymbol: undefined,
            locals: undefined,
            nextContainer: undefined,
            name: [IdentifierObject],
            modifiers: undefined,
            type: [Circular *4],
            questionToken: undefined,
            initializer: undefined
          },
          kind: 184,
          members: [
            [NodeObject],
            pos: 406,
            end: 447,
            hasTrailingComma: false,
            transformFlags: 1
          ],
          symbol: SymbolObject {
            flags: 2048,
            escapedName: '__type',
            declarations: [Array],
            members: [Map]
          }
        },
        id: 1319
      },
      kind: 168,
      symbol: <ref *5> SymbolObject {
        flags: 4,
        escapedName: 'db',
        declarations: [ [Circular *3] ],
        valueDeclaration: [Circular *3],
        parent: SymbolObject {
          flags: 2048,
          escapedName: '__type',
          declarations: [ [NodeObject] ],
          members: Map(3) {
            'db' => [Circular *5],
            'client' => [SymbolObject],
            'collections' => [SymbolObject]
          },
          id: 27
        }
      },
      localSymbol: undefined,
      locals: undefined,
      nextContainer: undefined,
      name: IdentifierObject {
        pos: 356,
        end: 361,
        flags: 0,
        modifierFlagsCache: 0,
        transformFlags: 0,
        parent: [Circular *3],
        kind: 79,
        originalKeywordKind: undefined,
        escapedText: 'db',
        flowNode: { flags: 2 }
      },
      modifiers: undefined,
      type: [Circular *6],
      questionToken: undefined,
      initializer: undefined
    },
    kind: 180,
    typeName: IdentifierObject {
      pos: 362,
      end: 365,
      flags: 0,
      modifierFlagsCache: 0,
      transformFlags: 0,
      parent: [Circular *6],
      kind: 79,
      originalKeywordKind: undefined,
      escapedText: 'Db',
      flowNode: { flags: 2 }
    },
    typeArguments: undefined,
    id: 1321
  }
}

Thanks for the extra information. The issue seems to have something to do with the fact that we’re validating (runtime) what data flows through all middleware and into your function, and we don’t support everything that is inside of the Mongo API.
I couldn’t get to a nice workaround immediately, but will get to that soon. Could you maybe expose the Mongo client from a singleton, instead of passing it along with middleware? I can see that your approach is how you’d want it, but that could be a workaround for now.

The reason this doesn't work is because we cannot generate the parsers used for runtime validation (yet?), like @Jpunt  said.
You can still use this setup with a workaround by setting the type of the client to unknown in the middleware. You'll have to cast it to the MongoClient and Db type inside your function tho, which is far from ideal but does the job:
// src/db/index.ts
import type {
  PheroParams,
  PheroContext,
  PheroNextFunction,
} from "@phero/server"
import type { CatalogueItem } from "src/api/products/models"

let cachedClient: MongoClient
let cachedDb: Db

export type DbMiddlewareContext = {
  db: unknown
  client: unknown
  collections: {
    products: Collection<CatalogueItem>
  }
}

export async function databaseMiddleware(
  params: PheroParams,
  context: PheroContext,
  next: PheroNextFunction<DbMiddlewareContext>,
) {
  const client = cachedClient
    ? cachedClient
    : await MongoClient.connect(env.MONGODB_URI, { appName: "catty" })
  const db = cachedDb ? cachedDb : client.db(env.MONGODB_DB)

  cachedClient = client
  cachedDb = db

  await next({
    db,
    client,
    collections: {
      products: db.collection("products"),
    },
  })
}

// src/api/createProduct.ts
import type { CatalogueItemInput } from "./models"
import type { DbMiddlewareContext } from "src/db"

export async function createProduct(
  context: DbMiddlewareContext,
  product: CatalogueItemInput,
): Promise<CatalogueItemInput & { id: string }> {
  const db = context.db as Db
  const client = context.client as MongoClient
}

Please note that I just tested this with a Prisma setup and not mongo, but it should be similar.

Thanks for the reply! Both of those work-arounds would be fine. I was
mostly kicking the tires, anyhow 😋
I imagine it's a tall order to implement parsers for every edge case... if
it's even possible, given the limits of static analysis.
I think I'd be quite content with an "escape hatch" that allows for opting
out of parsing for certain types - Perhaps a "no-phero" file where you can
drop no-parse type defs, or a NoPhero "magic" union type exported from the
phero-file (my brain keeps trying to spell it phero-phile 🙄).
On Sun, Feb 5, 2023, 06:26 Jim @.***> wrote:

The reason this doesn't work is because we cannot generate the parsers
used for runtime validation (yet?), like @Jpunt https://github.com/Jpunt
said.
You can still use this setup with a workaround by setting the type of the
client to unknown in the middleware. You'll have to cast it to the
MongoClient and Db type inside your function tho, which is far from ideal
but does the job:
// src/db/index.ts
import type {
PheroParams,
PheroContext,
PheroNextFunction,
} from @.***/server"
import type { CatalogueItem } from "src/api/products/models"
let cachedClient: MongoClient
let cachedDb: Db
export type DbMiddlewareContext = {
db: unknown
client: unknown
collections: {
products: Collection
}
}
export async function databaseMiddleware(
params: PheroParams,
context: PheroContext,
next: PheroNextFunction,
) {
const client = cachedClient
? cachedClient
: await MongoClient.connect(env.MONGODB_URI, { appName: "catty" })
const db = cachedDb ? cachedDb : client.db(env.MONGODB_DB)
cachedClient = client
cachedDb = db
await next({
db,
client,
collections: {
products: db.collection("products"),
},
})
}
// src/api/createProduct.ts
import type { CatalogueItemInput } from "./models"
import type { DbMiddlewareContext } from "src/db"
export async function createProduct(
context: DbMiddlewareContext,
product: CatalogueItemInput,
): Promise<CatalogueItemInput & { id: string }> {
const db = context.db as Db
const client = context.client as MongoClient
}
Please note that I just tested this with a Prisma setup and not mongo, but
it should be similar.
—
Reply to this email directly, view it on GitHub
https://github.com/phero-hq/phero/issues/100#issuecomment-1417688848,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APZV5NIWG3PSGQCHN4TDOEDWV6L5PANCNFSM6AAAAAAUII6DRQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

my brain keeps trying to spell it phero-phile 🙄

Yeah, we got that too 😅 Any suggestions? Phero-entry/declaration/code/?

3 & 1/2 months later... how about "Phero module" or "Phero spec" or "Phero def"? The latter is reminiscent of "Type def", which seems fitting for the nature of the lib.