[probably close in favour of #709] prefix ContiguousCollection with NIO

Motivation:
The standard library will likely get a ContiguousCollection protocol
(https://forums.swift.org/t/contiguous-collection-protocols/17875) so we
should prefix ours.
Also we made a public Data extension which isn't necessary.
Modifications:

rename ContiguousCollection to NIOContiguousCollection (to be removed
when the stdlib gets its ContiguousCollection)
remove the public extension on Data

Result:

more compatibility
https://bugs.swift.org/browse/SR-9505

Thanks for the quick fix here!
(Also, I believe the stdlib is no longer getting ContiguousCollection — instead, Sequence got withContiguousStorageIfAvailable)

Closing for #709 thanks @itaiferber


Windows 11 PRO 24H2 OS BUILD 10.0.26100.2033 - Cannot connect

rdpwrap_10.0.22621.4249.txt
termsrv-10.0.26100.2033.zip

Attached termsrv.dll archive file doesn't seem to be valid.


Newest Version of Chrome (79.0.3945.88) Breaks Phaser in Windows 7

In Chrome 79.0.3945.88 (released Dec 17) Phaser animations are extremely slow and jerky.
[](https://phaser.io/examples/v3/view/animation/cubes 1)
Just look at this Phaser example animation. Run it in Chrome (Version 79.0.3945.88, released Dec 17, 2019), then run it in Firefox or another browser.
Make sure to CLOSE the one running in Chrome when you go test in another browser, because whatever mischief Chrome is doing seams to drag the whole system when a Phaser file is running.
Anyone have a guess as to what’s going on?
Thanks, all.

Using the exact same version of Chrome on macOS and Windows 10 and it runs fine for me, with no system slow-down. Canary is fine too. If no-one else can replicate this (other than the original poster) then this is just a local system issue. Perhaps Chrome has now blacklisted your GPU?

I tested on Windows 10, it runs fine.  I have tested on 4 different computers running Window 7 and the slowdown is consistent.

Then it's out of our control. There is literally nothing we can do about this, as there isn't a single line of code in Phaser that is 'chrome' specific (or specific to Windows 10). If they've released a version of Chrome that doesn't run well on Windows 7 then report it to them, or wait for another version and see if they address it.

I have already opened a bug report with them.  Just thought you all might want to be aware of it.


Element selectors like :hover do not work

Say we have a page that has some links:
Test link

And our css looks like this:
a {
    color: red;
}

a:hover {
    color: blue;
}

We should expect that both the hover and the regular state are transformed into the css. Currently, the output will be as follows:
a {
    color: red;
}

8c1cb0164691eb874bf4fdde3efdc99b5c7f7967 on the dev branch seems to fix this issue.


Mention variation and stubs for bert deepsparse

Fixed in: https://github.com/GATEOverflow/inference/pull/24


Add "favorites" feature

I think that it would be really nice if we could make some repositories "favorited". The stars feature is not enough for this kind of scenario, neither are the pinned ones, which are a kind of our own highlighted repositories. But sometimes we want to mark some repositories as "special", so we can back later and read more about them, among other things.
I know this is a kind of feature where we can't customize github behavior, but instead, we have to support our own storage to maintain the data. Maybe we can use local storage or Google Drive or Dropbox APIs.
I was thinking about to create an extension for this feature on my own, but I think this project would be the better place for it.
I don't know if this is a reasonable feature for you guys, but if you approve that, I can try to implement that as a PR, maybe.

I don't think this would belong to Refined GitHub, plus it can be replicated easily already:
Browser bookmarks.


JENKINS-64088 Fix plugin on 2.264

I've added incrementals and bom to make testing a pre-release simple
2.204.x is the current conservative baseline, although official docs are recommending slightly newer (https://www.jenkins.io/doc/developer/plugin-development/choosing-jenkins-baseline/)
The code changes are to make spotbugs pass on newer versions of it

This is useful to upgrade from 1.8 to 1.9


8.5.2RC1 - Adding external link with URL "/" breakes the whole site

To reproduce:
(Assumed, the C5 installation is located in a subdirectory)

Add external link to the page tree of the sitemap

Give it a name, add external URL: /

Result:
The whole frontend is broken.
The sitemap tree is broken (Parse Error, Internal Server Error).
In version 8.5.1, an external link with URL "/" points to the web root, as expected.

https://github.com/concrete5/concrete5/pull/8082 should fix this issue


Make gradle dependency mandatory

Using javasrc in joern plugins fails when using gradle dependency resolution because the gradle tooling jars aren't present. I noticed that the dependencies were marked as optional. Now they are mandatory.

note that this means that we need to add the following to each downstream build that depends on javasrc:
ThisBuild / resolvers += "Gradle Releases" at "https://repo.gradle.org/gradle/libs-releases/"


⚠ ClamAV has degraded performance

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

HTTP code: 200
Response time: 95 ms

Resolved: ClamAV performance has improved in 1ff7ea0.


Table layout error

Description
When using table layout you get the following error
Reproduce Steps

Adding Table tag gives the error, I see in code in schedulelayout there is a new setState method
this.setState(this.caculateWidth(), function () {
This statement fails when this is undefined.

Error Trace (if possible)
It's better to post up the error stack for us to trace this issue.
Solution
What needs to be done to address this issue? Ideally, provide a pull request with a fix.
Additional Information
Any additional information, configuration or data that might be necessary to reproduce the issue.
Uncaught TypeError: this.updater.enqueueCallback is not a function
at TableLayout../node_modules/element-react/node_modules/react/lib/ReactBaseClasses.js.ReactComponent.setState (ReactBaseClasses.js:64)
at TableLayout.scheduleLayout (TableLayout.js:123)
at TableLayout.componentDidMount (TableLayout.js:73)
at commitLifeCycles (react-dom.development.js:11505)
at commitAllLifeCycles (react-dom.development.js:12294)
at HTMLUnknownElement.callCallback (react-dom.development.js:1299)
at Object.invokeGuardedCallbackDev (react-dom.development.js:1338)
at invokeGuardedCallback (react-dom.development.js:1195)
at commitAllWork (react-dom.development.js:12415)
at workLoop (react-dom.development.js:12687)
at HTMLUnknownElement.callCallback (react-dom.development.js:1299)
at Object.invokeGuardedCallbackDev (react-dom.development.js:1338)
at invokeGuardedCallback (react-dom.development.js:1195)
at performWork (react-dom.development.js:12800)
at scheduleUpdateImpl (react-dom.development.js:13185)
at scheduleUpdate (react-dom.development.js:13124)
at scheduleTopLevelUpdate (react-dom.development.js:13395)
at Object.updateContainer (react-dom.development.js:13425)
at react-dom.development.js:17105
at Object.unbatchedUpdates (react-dom.development.js:13256)
at renderSubtreeIntoContainer (react-dom.development.js:17104)
at Object.render (react-dom.development.js:17129)
at Object../src/index.js (index.js:7)
at webpack_require (bootstrap 2bbc59dbebb85d143bc9:669)
at fn (bootstrap 2bbc59dbebb85d143bc9:87)
at Object.0 (table.js:54)
at webpack_require (bootstrap 2bbc59dbebb85d143bc9:669)
at bootstrap 2bbc59dbebb85d143bc9:715
at bundle.js:719

this could not the problem of Table component,  you can update React and try again


How do i work with tree items?

I want to expand the tree node. Not sure how can I do that using winappdriver.

Any update on this?


useContractCall gives shuffled responses with array of structs

useContractCall gives shuffled responses from contract function that returns an array of structs. Values get assigned inappropriately.
Sample Code:
mapping(address => A[]) arrayOfStructs;

struct A {
 uint x;
 uint y;
 uint z;
}

function getStructs(address acct) external view returns (A[] memory items) {
 return arrayOfStructs[account];
}

When calling the getStructs function via useContractCall, the first item gets the right values assigned while the succeeding items gets shuffled value assignment. A.x sometimes get the value of A.z and so on.
"@usedapp/core": "^0.4.0",
Thanks

useContractCall is deprecated, try to use useCall instead.


Cannot use JSON or JSONB type for the payload field

We need to write the proletarian.job table outside of Clojure, therefore I switched the serializer from Transit to JSON (Jsonista).
Everything worked to the point where I switched the payload field from text to jsonb because the proletarian.db namespace sets the type explicitly as a string.
https://github.com/msolli/proletarian/blob/2ee188f3ffb1d96cbd5776ae184dce79d5d73b26/src/proletarian/db.clj#L33
I guess a .setObject call would be necessary, but I am unfamiliar with the java.sql.Connection class, so this is a wide guess.
Currently, there is no way to override this behavior, unfortunately.
Are you planning to support such usage in the future?
Thank you for the great open-source library!

This is related to this thread on the clojurians Slack:
https://clojurians.slack.com/archives/C01UG9GMVBJ/p1680284891783359

Have a look at the fork from Deepico, they added it: https://github.com/deepico/proletarian

The existing text type on the payload can store any value serialized to string. What is the use case for storing the payload as JSONB?

We need to schedule the jobs outside of the Clojure application (from triggers, e.g.).
PostgreSQL has functions to create JSONB structures conveniently, but you can only construct EDN structures technically by string functions, and that is error-prone.

Of course, we can build a JSONB structure and convert that to a string and then read back that as a string and treat it like a JSONB but that does not sound too safe either.

My problem with the text field is that it can be corrupt and does not describe what is inside, therefore any third-party tools like Metabase will treat it like text and not JSONB data.
Of course, I could add a check constraint to ensure that the payload field can be decoded as a JSON object, but that only solves the corrupt part it does not solve the third-party tool problem.
We could store all the fields as text and we could have secondary information stored in the code on how to treat these text fields but there is a good reason why the fields have a type in the databases IMO.

My problem with the text field is that it can be corrupt […]
Of course, I could add a check constraint to ensure that the payload field can be decoded as a JSON object […]

It can only be corrupt if you write corrupt data into it. If you JSON encode the payload using your language's JSON encoding facility, you must trust that it is not corrupt. That would be a bug in the JSON encoder. If you have doubts you can check, as you said, but that seems overly defensive to me.

any third-party tools like Metabase will treat it like text and not JSONB data.

As they should - it is serialized data, a "black box", not to be queried or inspected in a normal circumstances.
I've asked before for a use case that can only be supported by changing the DB field type to JSONB. We can discuss approaches if there is a real use case for it.

there is a good reason why the fields have a type in the databases IMO.

It has the correct type: text. The data has been serialized to text (JSON, or EDN, or Base64, or whichever serialization function one chooses), and must be stored as text.

It can only be corrupt if you write corrupt data into it. If you JSON encode the payload using your language's JSON encoding facility, you must trust that it is not corrupt. That would be a bug in the JSON encoder. If you have doubts you can check, as you said, but that seems overly defensive to me.

No, not really. Somebody else could also modify that, for example using an external tool, and if I don't have any constraints then I would only know that a payload is corrupt when the code will try to decode that. Read instead of rejecting an update or insert with incorrect data it would simply let it through.

As they should - it is serialized data, a "black box", not to be queried or inspected in a normal circumstances.

I guess our use-case also differs here. We need to check the queried jobs and we need to check for the payload as well to know if something is scheduled for a certain user e.g.

I've asked before for a use case that can only be supported by changing the DB field type to JSONB. We can discuss approaches if there is a real use case for it.

Yes, and I answered that. We need to create jobs outside of the Clojure application, and I wrote triggers as an example.
I started this ticket with a question:

Are you planning to support such usage in the future?

If you don't that is also fine. We can live with this, I made my workaround.


Remove any usage of bare exception.

It's generally considered good practice to use except Exception as e: rather than a bare except: because it avoids catching some exceptions that you typically don't want to catch, like keyboard interrupts and system exits. It also allows you to access and use the actual exception object, which can be helpful for debugging.

@MaxJPRey To avoid codacy failure, I would recommand to not use except Exception as e: but except Exception: since e is never used afterward.

@SMoraisAnsys I fully agree. I will do it.

@MaxJPRey Since you are busy, feel free to let me do the changes. Just ping me so that I get notified 😄

Codecov Report
Attention: Patch coverage is 26.89873% with 231 lines in your changes are missing coverage. Please review.

Project coverage is 81.58%. Comparing base (bf42386) to head (b7416ea).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4331      +/-   ##
==========================================
- Coverage   81.60%   81.58%   -0.02%
==========================================
  Files         107      107
  Lines       52463    52463
==========================================
- Hits        42813    42804       -9
- Misses       9650     9659       +9

@MaxJPRey Since you are busy, feel free to let me do the changes. Just ping me so that I get notified 😄

@SMoraisAnsys It is done.

@MaxJPRey I cancelled the workflow before, because there are some unit test failing, apart from Codacy that is complaining. I will debug next week and try to find the issue.


Support that servers can provide file system implementations and read from remote file systems as well

Currently servers are restricted to read files from their local file systems. LSP should offer ways that servers can:

implement file systems
read from and write to other remote file systems.

implement file systems

I don't understand this bullet point, can you clarify? Do you mean that a client can query the remote server's FS? Why would the client be interested in that?

read from and write to other remote file systems.

This makes sense... A client can provide a kind of "virtual FS" to the remote-running language server and the server can then query the VFS.

implement file systems

Ah, if the entire project is also remote, then it makes sense as a client would have to discover the directory layout somehow.

@rwols if you're curious: https://github.com/NTaylorMullen/LSPVirtualDocuments/blob/master/Documents/FileSystemSpec.md

Is anyone working actively on this? It would be amazing to have this feature in order to make my vscode extension work as a web extension (it relies on a language server that needs to read files).

I would love to see this. One possible use case is if your language server has a decompiler built in. The language server would be able to reference things in the decompiled version of the file to the editor without needing to place decompiled sources into the filesystem.

Just to make sure I understand this issue: Virtual file systems exist in VSCode's memory. Language servers run as a separate process so they can't read that memory and therefore can't access the virtual file system. The lsp protocol handles transferring the text of the current file being worked between the two so the language server will be able to process that just fine. It's the references to other files in the form of includes or other project references that will break because it can't resolve a virtual file path.
My question then is - does VS code send these uri's across to the language server at all or do they get filtered out? I'm working on an internal use only language server. What I'm wondering is if VS code will send across the full Uri is there anything stopping me from adding logic to handle the virtual file system in my language server as well? (beyond the duplication of work of course and logic needed to keep the language server and client in sync)

Yes that's right.
In this example, scheme: 'file' filters out virtual files, if you remove
it then the LSP will receive the virtual  files as well.
https://code.visualstudio.com/api/language-extensions/language-server-extension-guide
On Thu, 17 Nov 2022, 19:01 nelak2, @.***> wrote:

Just to make sure I understand this issue: Virtual file systems exist in
VSCode's memory. Language servers run as a separate process so they can't
read that memory and therefore can't access the virtual file system. The
lsp protocol handles transferring the text of the current file being worked
between the two so the language server will be able to process that just
fine. It's the references to other files in the form of includes or other
project references that will break because it can't resolve a virtual file
path.
My question then is - does VS code send these uri's across to the language
server at all or do they get filtered out? I'm working on an internal use
only language server. What I'm wondering is if VS code will send across the
full Uri is there anything stopping me from adding logic to handle the
virtual file system in my language server as well? (beyond the duplication
of work of course and logic needed to keep the language server and client
in sync)
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/language-server-protocol/issues/1264#issuecomment-1319073789,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AALKZLXLXGVK2CMZKRYUFVLWIZ6JXANCNFSM44RBU3RQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Not sure if this is the right place to comment so please redirect if necessary.
My use case is I'm trying to port an existing node.js Language Server to a Web Extension. I've got the basics working thanks to the useful sample however the challenge is now how to implement global (cross file) consistency checks for my language (think import checking etc).
I can no longer use fs in the Language Server, as I'd like the functionality to work in a web extension and the client documentSelector only sends LSP events for documents that are opened in the editor. I tried using vscode.workspace.findFiles on the client side and sending the files to the LSP server via a custom message, but that doesn't work with vscode-test-web because it doesn't support search.
Is it possible to implement cross-file consistency checks within a web extension?

@dselman I had the same issue while porting an LSP server (written in Rust) to the web through WASM.
I handled it by creating a few request handlers on the client (in TypeScript) that can be requested by the server to simulate the FS.
See:
client code
request from server
Feel free to DM me on twitter for more details

@dbaeumer Yes, and we made a blog post about it: https://www.hiro.so/blog/write-clarity-smart-contracts-with-zero-installations-how-we-built-an-in-browser-language-server-using-wasm.
Everything is in this repo: https://github.com/hirosystems/clarinet
In ./components/clarity-vscode -> the TypeScript part
In ./components/clarity-lsp> the Rust part
The LSP server wasn't build for web from the ground up and the project is still under active development, but it's running in production and used by many developers every days (marketplace)

@hugocaillard thanks to your code I now have something working. When the Language Server is initialised it requests that the client open all the .cto files, which triggers onDidChangeContent on the Language Server, allowing it to rebuild global state from all the .cto files in the workspace.

@dselman Awesome, glad it helps! In the end you probably won't need to trigger false onDidChange, the server should be able to discover all the .cto files from the workspace URI or some other base location sent by the client.
I don't want to spam this issue, but my Twitter DMs are open if you want to pursue this discussion (link in github profiles)

@hugocaillard thanks for the pointers. Looks actually really cool.
Do you know if your RUST code compiles to WASM-WASI. If so, you could get rid of all your custom file system provider calls. What I implemented is a WASI host that maps the whole WASI API to the VS Code API. So you can right normal Rust, C/C++ code with normal file system operations and it will transparently be mapped to the VS Code file system API.
What we want to achieve is that someone can take a normal Rust, ... program compile it down to WASM_WASI and run it inside VS Code where the file system available in the WASM execution is VS Code's workspace file system (and more since the vscode-wasm implementation support arbitrary mount points)

@dbaeumer

What I implemented is a WASI host that maps the whole WASI API to the VS Code API

I'm curious about this. Does this mean VS Code running in the browser would be able to work with a file:// filesystem (and not just some custom scheme like virtual workspaces use)? For example if a language server was compiled to WASM (with WASI - something I just learned about 30 seconds ago!) but only supported a "real" filesystem (eg. only file:/// URIs over LSP, and expects to be able to read the files from disk through it's native FS APIs that have been compiled to WASI calls), could this work?
If so, what is VS Code(-wasm) going to present as the file:// system when running in the browser? Is it going to map to a users actual file system (eg. something like https://web.dev/file-system-access/), or something virtual/in-browser file store that's not on the users disk?

@dbaeumer Thanks!

I'm now wondering if you were talking about the browser at all, or whether this is intended for local VS Code's, just using WASM instead of JS? – DanTup

I have the same confusion.
Do you mean that with the LSP server, running in the browser (vscode.dev or github.dev) could access VSCode FS APIs without any change? 🤔
Although my current setup rely on wasm-pack that compiles to wasm-unknown-unknown

Yes, the idea is that a server can access the file system without any changes. What I do is the following:

create a root file system
mount the workspace (independent of where it is) into /workspace (with multiroot it looks a little different but same concept)
then the program compiled to WASM can then simply do fopen('/workspace/file.txt') without having any idea from where the file comes. Can be local, a GitHub repository, ftp, ....

Here is a demo with CPython compiled down to WASM-WASI (without any modifucations to the CPython code) running in a browser executing a Python file sitting in a GitHub repository, including importing another file

@dbaeumer this sounds great!
I'm looking at the code at https://github.com/microsoft/vscode-wasm/tree/a703168627ea8937829add349055a16640962227/wasm-wasi - do I understand correctly that the npm package here contains the VS Code WASI bindings, and that package wraps/hosts the CPython wasm binary in a way that provides it with the implementations for those file APIs? (eg. the compilation of CPython is just standard WASM/WASI and doesn't need anything VS Code-specific at compile time)?

Yes, but you need sync-api-client and sync-api-service as well which implements the VS Code API in a sync way since WASI is sync :-).
You might want to look inside testbeds to see how it is put together.

I did wonder how that would work, thanks for the pointers! I don't know how likely it is that the Dart server will ever compile to wasm, but it's good to know that if it does, it may not need as many changes as I'd thought to be able to handle some of these use cases. Thanks! 🙂

I'm now wondering if you were talking about the browser at all, or whether this is intended for local VS Code's, just using WASM instead of JS?

In case you didn't notice Dirk's demo was via vscode.dev, WASI works anywhere WebAssembly works, so both browser and Node in our case. Think of WASI as POSIX for WebAssembly; it's just a spec and WebAssembly runtimes implement that spec to let code do stuff in a secure, portable way like accessing files.
In other words, WASI works wherever VS Code works, desktop and web. 🙂

What are the odds that we can get some of @NTaylorMullen 's suggestions into 3.18?
Specifically reading directories/files
https://github.com/NTaylorMullen/LSPVirtualDocuments/blob/master/Documents/FileSystemSpec.md#readDirectory

We would need someone who drives this in both the spec and an implementation.

For simplicity reason we might want to think about starting with a read only access on the server. This might handle most use cases.

For simplicity reason we might want to think about starting with a read only access on the server. This might handle most use cases.

I think that makes the most sense. To me, a language server is intended to provide contextual data about a file to an editing tool, not be the editing tool itself.

For simplicity reason we might want to think about starting with a read only access on the server. This might handle most use cases.

How a custom read-only FS tied to LSP is more simple than for example LDAP (initialized or tunneled by LSP), when it is LDAP which already has a lot of libraries and tools virtually everywhere from client JS to server Java? Not an opinion, just a question.

To me, a language server is intended to provide contextual data about a file to an editing tool, not be the editing tool itself.

So perhaps you'd find this interesting https://news.ycombinator.com/item?id=16875685. With such an approach, even a source-wide refactoring could be done with contextual data only and without any write access.

So perhaps you'd find this interesting https://news.ycombinator.com/item?id=16875685. With such an approach, even a source-wide refactoring could be done with contextual data only and without any write access.

Do note that the AST approach has its own drawbacks, e.g., you need to make sure that AST representation can represent every potential structure needed for every language VS Code supports (which is a lot since it's any and all languages 😉). Plus not every e.g. refactoring will work the same for each language, so it doesn't necessarily save you from having to either re-implement or do a ton of special-casing for various languages (once again, needs to work with any language out there).

To me, a language server is intended to provide contextual data about a file to an editing tool, not be the editing tool itself.

So perhaps you'd find this interesting https://news.ycombinator.com/item?id=16875685. With such an approach, even a source-wide refactoring could be done with contextual data only and without any write access.

The idea of just exposing an AST feels great in theory but I'm not sure it would work in practice. After all isn't that largely how editors handled different languages before the LSP?
Not to say that it's inherently the wrong approach or that approach wouldn't have worked if there was a standard protocol around it but in general that approach was explored for decades without a standard developing or without editors being full of special handling for different languages.
My conclusion after reading that discussion is that the world might need a language server framework to help language server developers build their AST which can be used by framework provided default implementations of common LSP features.

Yes, the "ton of special casing" can be a problem which may happen when a protocol tries to actually define in detail the AST layer, in order to put above it yet another layer of generic language-independent operations, which the link seems to suggest.
In order to avoid the problem in question, AST could be an otherwise undefined layer above the raw edited files. LSP would only provide a grammar-independent low-level API for a bidirectional translating service raw <-> AST and possibly its own example or default implementation of a "typical" LL(k) translating service. Such services could reside by default on the IDE side but the server could use any independent service on its side.
Examples of what could be done automatically when a grammar with error recovery and whitespace handling is transferred to the said LL(k) service:

A faulty statement is replaced by a "warning node" and the parser skips after the next configurable token, like ";". Then the service automatically underscores the faulty statement via the raw layer.
Refactoring an identifier is as simple as asking the service to enumerate the referred node and its all references and then rename them. All relevant source updates automatically.
Moving a class automatically moves a file in the directory structure because a file path is one of the said references, all in one grammar tree. If it's Java and you also need to update the imports, the server asks the service to enumerate all relevant import sections and modifies them respectively. Again, it is the service itself which updates the source. So each language indeed defines its own refactoring as it is now, but with the AST layer, it is much simpler.
All that whitespace retaining or generating is the task of the said service.

See that I do not have much experience with language protocols, so I can miss some detail here.

Is anybody currently working on this? In particular, I'm interested in the server being able to provide file contents for some virtual files (and being able to include URIs for the scheme it uses in other requests - for example being able to Go-to-Definition from a real file:/// document on the client side to a foo://bar provided by the server).
I think @dbaeumer's comment above:

For simplicity reason we might want to think about starting with a read only access on the server. This might handle most use cases.

... probably covers what I need. If I understand correctly, I think VS Code also already has implementation for this (registerFileSystemProvider).
I may be interested in helping (with this narrower-scoped version), but I don't want to duplicate effort if anything is already in progress.

Is anybody currently working on this? In particular, I'm interested in the server being able to provide file contents for some virtual files (and being able to include URIs for the scheme it uses in other requests - for example being able to Go-to-Definition from a real file:/// document on the client side to a foo://bar provided by the server).
I think @dbaeumer's comment above:

For simplicity reason we might want to think about starting with a read only access on the server. This might handle most use cases.

... probably covers what I need. If I understand correctly, I think VS Code also already has implementation for this (registerFileSystemProvider).
I may be interested in helping (with this narrower-scoped version), but I don't want to duplicate effort if anything is already in progress.

For prior art, jdt.ls implements this in a custom thing. In fact they used to send their jdt:// URIs to all clients and had a side channel to retrieve the contents. I'd welcome standardisation of a mechanism for this. Pinging @snjeza and @fbricon

What JDT-LS implements is more or less what has already been long discussed in https://github.com/microsoft/language-server-protocol/issues/336 , a custom operation to attempt resolving of URI (of whichever scheme that client cannot process directly, in JDT-LS it's jdt:) to actual document content to display when attempting to open the document. In such case, the client needs to replace usual read from filesystem by a custom query to the language server.
The topic of this particular issue if slightly different (and so far there is no obvious need for it in most LS I've used); https://github.com/microsoft/language-server-protocol/issues/336 is really where the "get document content" topic discussion (and maybe a PR) should continue.

https://code.visualstudio.com/api/extension-guides/virtual-workspaces currently states

What about support in the Language Server Protocol (LSP) for accessing virtual resources?
Work is under way that will add file system provider support to LSP. Tracked in Language Server Protocol issue #1264.

Which brings us here. What is going on??

Perhaps the LSIF format will help:

The purpose of the Language Server Index Format (LSIF) is it to define a standard format for language servers or other programming tools to dump their knowledge about a workspace.

The Project Context looks like it will help enumerate files/folders however the URIs returned in the examples still use file://
The Embedding Contents feature could be used for retrieving the contents of a given file.

It can be valuable to embed the contents of a document or project file into the dump as well. For example, if the content of the document is a virtual document generated from program meta data. The index format therefore supports an optional contents property on the document and project vertex. If used the content needs to be base64 encoded.

The explanation of the feature makes it sound like it is specifically for virtual files. If it also included something to the effect of "This can also be used to facilitate situations where clients lack filesystem access like web-based editors"
@dbaeumer this appears to be your baby, thoughts?


Directory/file completion seem to be broken in REPL

read.csv("C:/|") works in editor but not in REPL

Regressed b/c of snippets TAB handling


Luri Bakhtiari's language is not displayed in the program's language settings

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to 'Settings'
Click on 'Application language'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS Version [e.g. Windows 11 22H2 version 22623.1095]

Additional context
Add any other context about the problem here.

It seems like Luri Bakhtiari is not on Microsoft's language list manifest. I will try to find other ways to add this language to the app. Thanks for the issue.

According to https://learn.microsoft.com/en-us/windows/apps/publish/publish-your-app/supported-languages?pivots=store-installer-msix, I am not able to add Luri Bakhtiari to a store app :(
I apologize for that. And I will add the language once Microsoft supports it.


Drafts are broken when viewed locally

Describe the bug
When using Jekyll locally, drafts do not render properly.

Screenshots

Expected behavior
Drafts work as intended.

To Reproduce
Steps to reproduce the behavior:

Create a draft, e.g. _drafts/example.md
Run the jekyll server locally with drafts enabled, e.g. with the command:
jekyll s -w --safe -H localhost -P 3000 --drafts --future
Visit a draft post via homepage, blog, or archive pages.
All styling will be missing, and the draft post will not be using the typical/expected path.

Desktop (please complete the following information):

Mobile devices (please complete the following information):

Additional context
If you have troubles reproducing this bug, let me know and I can elaborate.

Sorry drafts are not supported.  For drafting your posts or any page you can use published: false to disable any page.

Drafts are a pretty common use-case for a blog, is there a technical limitation that you're running into? Perhaps I could help figure it out.

I make it work with little trick.  :)
I will explain this in as much detail as I can, so that other people can read this as well.
So What are drafts?
Drafts are posts without a date in the filename. They’re posts you’re still working on and don’t want to publish yet.
https://jekyllrb.com/docs/posts/

I created a file at  _drafts/example.md  (root folder of project. where _data or _layout is located)
I open copy 2022-02-10-Examples.markdown file and copied all into created example.md.
Then I changed title: Examples to title: New draft in example.md file.
add this layout: "post" after this line title: New draft
Run this command bundle exec jekyll serve --drafts --watch --host <IP_ADDRESS> --safe
When the page is running go to http://<IP_ADDRESS>:4000/tabs/blog/ and you should see post name New draft there.

if you don't use --draft option those pages will not be visible.
I hope this helps

The drafts will show up on the related pages, but actually visiting the draft will cause all of the styling to break, and the path to not match the usual preset (e.g. I have mine configured for /blog/yyyy/mm/dd/title, but drafts will show up under /category/yyyy/mm/dd/title and lack any styling or layout.

Per reproduction steps, I already am using the --drafts flag, and it does render the drafts, just in a broken manner. You can see this happen by cloning my fork (https://github.com/joshbuker/joshbuker.github.io) and using the command listed in the reproduction steps.

Ahhh, okay I figured it out actually.
I needed to configure drafts to use the default permalink and layout like posts do:
###########################################################
# Front Matter Defaults (https://jekyllrb.com/docs/configuration/front-matter-defaults/)
###########################################################
defaults:
  # for posts
  - scope:
      # to separate language posts folders
      path: "_posts"
    values:
      layout: "post"
      permalink: "/blog/:year/:month/:day/:slug/"

  # for drafts
  - scope:
      # to separate language posts folders
      path: "_drafts"
    values:
      layout: "post"
      permalink: "/blog/:year/:month/:day/:slug/"

The drafts now are rendering as expected with the above added to my config.

Yes it is permanent solution for _drafts folder. or just add layout: "post" in front matter.
I'm glad you manage it.


Fix Linux Clang build by including cstddef.h header explicitly

Include cstddef.h header explicitly to ensure a deterministic behavior across platforms.

Abandoning since #686 is doing this too.


Kafka::InconsistentGroupProtocol error

If this is a bug report, please fill out the following:

Version of Ruby: 2.6.3
Version of Kafka: 2.2.0
Version of ruby-kafka: master

Please verify that the problem you're seeing hasn't been fixed by the current master of ruby-kafka.
Steps to reproduce
I haven't been able to reproduce in dev but in production after upgrading from 0.7.10 to master we start getting Kafka::InconsistentGroupProtocol errors.

More from our logs:
2020-02-20T18:38:48.830265166Z I, [2020-02-20T18:38:47.791862 #8] INFO -- : [[foo-consumer] {}:] Joining group `foo-consumer`
2020-02-20T18:38:48.830268886Z I, [2020-02-20T18:38:47.792095 #8] INFO -- : [[foo-consumer] {}:] Will fetch at most 1048576 bytes at a time per partition from foo.bar
2020-02-20T18:38:48.830272434Z I, [2020-02-20T18:38:47.792374 #8] INFO -- : [[foo-consumer] {}:] Fetching cluster metadata from kafka://kafka-service:9093
2020-02-20T18:38:48.830276448Z I, [2020-02-20T18:38:47.816553 #8] INFO -- : [[foo-consumer] {}:] Discovered cluster metadata; nodes: <obfuscated>
2020-02-20T18:38:48.830281436Z I, [2020-02-20T18:38:47.816745 #8] INFO -- : [[foo-consumer] {}:] There are no partitions to fetch from, sleeping for 1.0s
2020-02-20T18:38:48.830284648Z I, [2020-02-20T18:38:48.817174 #8] INFO -- : [foo-consumer] {}: Fetcher thread exited.
2020-02-20T18:38:48.830287725Z I, [2020-02-20T18:38:48.817313 #8] INFO -- : [[foo-consumer] {}:] Leaving group `foo-consumer`
2020-02-20T18:38:48.830290937Z E, [2020-02-20T18:38:48.819085 #8] ERROR -- : Consumer thread crashed: Kafka::InconsistentGroupProtocol: Kafka::InconsistentGroupProtocol

Are you using the consumer group name elsewhere?

Are you using the consumer group name elsewhere?

I am, with ruby-kafka 0.7.10 and racecar 1.0.1. As we prepare to upgrade to racecar 2 and rdkafka-ruby I'm starting to understand more about this error :smile:
Looks like there are different kafka group properties between different clients (ruby-kafka 0.7.10, ruby-kafka master, rdkafka-ruby, etc)? Do you know if there's a path to changing or upgrading those group settings in the broker without starting consumers with a new group id and basically starting over from the beginning of the stream or end of the stream (with start_from_beginning: false in racecar)?

Hmm, I'm actually not sure. Unfortunately, the group protocol, including how partitions are assigned to members of the group, is mostly handled by the clients themselves. I'm not sure it's possible or desirable to somehow "map" the ruby-kafka group protocol onto the rdkafka one. I'm not even sure they'd be able to decode from one another.

JoinGroupRequest implements the consumer group protocol for ruby-kafka – as you can see, it's pretty ad-hoc. Not sure what rdkafka does.


charset error

when removing the service:
tsp -I file test.ts -P svremove --stuffing 0x0110 -O file test1.ts
it says
terminate called after throwing an instance of 'ts::Charset::DuplicateCharset'
what():  DuplicateCharset: ARIB-STD-B24
where is the error?

Hi @omikron88
I shouldn't do that. It doesn't do that on my various platforms.
It looks like a mixture of static and dynamic code or a mixture of versions. Maybe some non-standard build or installation.
Details: Internally, each character set registers itself into a repository in memory. This occurs during the initialisation of the shared library (tsduck.dll or libtsduck.so). Each character set is coded once, in one source file. Your error seems to indicate that two instances of the same source code were compiled and linked together or in distinct libraries which are activated together. This is of course inconsistent and the error that you experiment comes from an explicit internal check to detect that kind of inconsistency.

What is the version of TSDuck?
What is the OS and version?
Did you install an official binary or did you manually rebuild TSDuck and how?
What are the various installed versions?
In which environment do you run that command?


QUESTION - Is it possible to define the curve location of the line?

Hello, I have a question regarding the connection of the lines, I currently have two branches, one of them has a child, the other does not. The branches are connected by the blue diamond below, in the branch that does not have children, the line is making the curve in the middle of the path, while the branch that has children, does it below. Is there anything I can do so that the branch curve that doesn't have children is made in the same position as the other branch?
I'm using startSocketGravity: 5 and endSocketGravity: 5 to avoid looping the line, as there is little space between boxes.
My current settings:
  lineSettings = {     size: 1,     path: 'grid',     color: '#cccccc',     endPlug: 'behind',     startSocketGravity: 5,     endSocketGravity: 5   };
new LeaderLine(       origin.stepElement,       target.addButtonElement,       {         ...this.lineSettings,         startSocket: 'bottom',         endSocket: 'top'       },     ).position();
Current behavior:
https://imgur.com/gallery/yzzaxkh
Expected Behavior:
https://imgur.com/gallery/40ZiDUy

I'm closing the issue, it was just my own confusion. The answer is in the question itself.
I was adding the boxes and the endSocket was always being 'top'. As the boxes are being added dynamically I forgot this detail. It was only necessary to define the 'endSocket' as left or right, which worked as expected.
I apologize for any inconvenience.
Your lib is incredible and is helping me a lot in the project I'm working on.
Thank you!

:smile:


fix(deps): Reverted dependency changes to make build working again.

@michaelkleinhenz fabric8/fabric8-ui:SNAPSHOT-PR-2292-1 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-2292-fabric8-planner.badger.fabric8.io


Update format of grid actions

Note that the base branch is tests-and-simplify-envs because it is the most up to date with the grid environment although it has not been merged into continuous yet.
This PR updates the format of the actions in the grid environment. It used to be a tuple of dimension indices, with variable length, and for each element d, the dimension d would be incremented by 1. With the updated format, the action space is the increment to be applied to each dimension. For instance, (0, 0, 1) will increment dimension 2 by 1 and the action that goes from [1, 1, 1] to [2, 3, 1] is (1, 2, 0). This has a number of advantages related to the actions having fixed length, plus it is more intuitive.
Besides the main change about the update of the action format, the PR include the following minor changes:

Extended docstring
Change of variable name: max_step_len is now max_increment
min_step_len has been removed assuming the minimum should be 1.
max_dim_per_action has been introduced to control how many dimensions can be incremented at a time.
self.eos is now an action (a tuple) instead of an index. This should be done in other environments too.
Assertions in __init__ for more robustness.
The grid tests include an environment with extended action space (max_increment larger than 1 and max_dim_per_action larger than 1)

[X] python -m pytest tests/gflownet/envs/test_grid.py
[X] black

By the way, since there is a python -m pytest tests/gflownet/envs/test_grid.py checkbox in the description - just to confirm, you are running all the tests, right? Not just the ones specific to the particular environment that is a focus of PR?

By the way, since there is a python -m pytest tests/gflownet/envs/test_grid.py checkbox in the description - just to confirm, you are running all the tests, right? Not just the ones specific to the particular environment that is a focus of PR?

In this case I have not run all tests because this branch stemmed from tests-and-simplify-envs which is work in progress and some tests will fail for reasons other than the content of this PR.


AC event validation

Check if an AC is calling an event that an entity does not have

Duplicate of #44


why spend so long time to install a k8s cluster?

What happen?

this is my first time installing it, and it stuck for about 1 hour, that`s not normal.
Relevant log output?
No response
What you expected to happen?
No response
How to reproduce it (as minimally and precisely as possible)?
No response
Anything else we need to know?
No response
What is the version of Sealer you using?
No response
What is your OS environment?
No response
What is the Kernel version?
No response
Other environment you want to tell us?

Cloud provider or hardware configuration:
Install tools:
Others:

it's so hard to use,jesus.and no doc

Please use internal address


Paging shows 'There is no data to display' when data is exists

Steps to reproduce:

Create dataSource with 30 elements for table rows.
Bind it to bootstrap table which has 10 items per page by default
Go to 3-rd page (last page)
Delete 20 elements from dataSource invoking some function (e.g. apply some filtering or something)
Table will show a message 'There is no data to display'

It looks like paging just keep observing 3-rd page expecting that dataSource still has 30 elements or more. Maybe need to reset page to the 1-st page or default page in case of changing dataSource?
Is there any quick solution we can use with existing api? Or maybe I am doing something wrong... Anyway, looking forward your reply. Thanks!
If you need more details, I'll try to provide some examples.

It's seem like a bug, did you use TableDataSet to wrap your data? if yes, you can try use state to test it again, maybe it's a bug about TableDataSet. Anyway, if you  can, give me some examples :) Thanks a lots.

I am using simple array without any wraps. I've opened state of PaginationList component in React DevTools and saw that after reducing array size the currentPage property in component state is out of array size

OK, thanks, I'll fix ti in recent.

@iamyardem, about your 4th item(Delete 20 elements from dataSource invoking some function (e.g. apply some filtering or something)), you means you delete 20 elements by yourself function? because I try your scenario, I got some error, not 'There is no data to display'.
That my steps:

init some data in react state
then render table with that state data
change to last page
slice data to half and set to state
it will trigger render but got some error

Anyway, I'll fix the problem but I'm not sure my problem is actually you encountered before.

@AllenFang in my case we are using property passed from redux to component as data source. and we have let say a search button which calls a function which searches data by some criteria and bind new result to component property. So when this property changes after clicking button, render method bind new result to table grid again, but after render, pagination keeps observing last visited page despite the array size is less then page-index*page-elem-count

I understand, thanks :)

looks like you've fixed it in 1.2.8 version, right?

@iamyardem, could you try the newest version v1.2.8 again? I did some change, but I'm not sure this patch whether could solve

@AllenFang thanks, it looks like it is fixed now

really?

if change to page one when data reload, I need to do some little improvements, because page one button does not actived

anyway it redirects to 1-st page as expected and no data loss which is great :)

Great, I'll do more improvements, thank you :)

thank you too for your effort :)

Umm, is this issue really solved? I am still getting this error. :(
My code is as follows:
`import React, { Component } from 'react';
import { BootstrapTable, TableHeaderColumn } from 'react-bootstrap-table';
import { connect } from 'react-redux';
const allowed = ['P','A','B','C','G','R','H','H/G','H/A','H/B','H/C','H/A/B','H/A/C','H/A/B/C','H/A/C','H/C/A','A/B','B/C','A/C','C/A','G/C','A/G','R/A','R/B','R/C','R/G','R/A/B','R/B/C','R/C/A','R/A/B/C','X','L','LOP','N','CO','CH'];
const cellEditProp = {
mode: 'dbclick',
blurToSave: true,
afterSaveCell: onAfterSaveCell
};
function onAfterSaveCell(row, cellName, cellValue) {
if(allowed.indexOf(cellValue) === -1){
row[cellName]='';
}
}
function attendanceValidator(value) {
const response = { isValid: true, notification: { type: 'success', msg: '', title: '' } };
if(allowed.indexOf(value)=== -1){
console.log('error');
response.isValid = false;
response.notification.type='error';
response.notification.title='Invalid Attendance';
}
else{
console.log('valid');
}
return response;
}
@connect(
state => ({
widgets: state.widgets.data
}))
export default class AttendanceForm2 extends React.Component {
constructor(props){
super(props);
}
createCustomToolBar = props => {
return (

{ props.components.btnGroup }

{ props.components.searchPanel }

);
}
render() {
	const selectRow = {
      mode: 'checkbox',
      showOnlySelected: true
	};
    const options = {
      toolBar: this.createCustomToolBar
    };
    return (
      <BootstrapTable data={ this.props.widgets } striped hover condensed
      	 options={options} exportCSV search
      	 cellEdit={ cellEditProp }
      	 pagination>
        <TableHeaderColumn editable={ false } width='150' dataField='id' isKey>ID</TableHeaderColumn>
        <TableHeaderColumn editable={ false } width='150' dataField='eid'>Employee ID</TableHeaderColumn>
        <TableHeaderColumn editable={ false } width='150' dataField='ename'>Employee Name</TableHeaderColumn>
        <TableHeaderColumn editable={ false } width='150' dataField='designation'>Designation</TableHeaderColumn>
        <TableHeaderColumn width='150' dataField='attendance'
        	editable={ { type: 'textarea', validator: attendanceValidator } }
        	editColumnClassName='editing-jobsname-class'
        	invalidEditColumnClassName='invalid-jobsname-class'
        	>Attendance</TableHeaderColumn>
        <TableHeaderColumn width='150' dataField='remarks'>Remarks</TableHeaderColumn>
      </BootstrapTable>
    );
}

}
`

Are you sure that this issue is closed? I am still getting this error when displaying data with pagination. Without pagination, however, the error is not displayed.
My data is over 100 entries big. The code is as follows:
import React, { Component } from 'react';
import { BootstrapTable, TableHeaderColumn } from 'react-bootstrap-table';
import { connect } from 'react-redux';

const allowed = ['P','A','B','C','G','R','H','H/G','H/A','H/B','H/C','H/A/B','H/A/C','H/A/B/C','H/A/C','H/C/A','A/B','B/C','A/C','C/A','G/C','A/G','R/A','R/B','R/C','R/G','R/A/B','R/B/C','R/C/A','R/A/B/C','X','L','LOP','N','CO','CH'];

const cellEditProp = {
  mode: 'dbclick',
  blurToSave: true,
  afterSaveCell: onAfterSaveCell
};

function onAfterSaveCell(row, cellName, cellValue) {
  if(allowed.indexOf(cellValue) === -1){
  	row[cellName]='';
  }
}

function attendanceValidator(value) {
  const response = { isValid: true, notification: { type: 'success', msg: '', title: '' } };
  if(allowed.indexOf(value)=== -1){
	console.log('error');
	response.isValid = false;
	response.notification.type='error';
	response.notification.title='Invalid Attendance';
  }
  else{
  	console.log('valid');
  }
  return response;
}

@connect(
  state => ({
    widgets: state.widgets.data
  }))
export default class AttendanceForm2 extends React.Component {
	constructor(props){
		super(props);
	}
	createCustomToolBar = props => {
    return (

        	{ props.components.btnGroup }

          	{ props.components.searchPanel }

    	);
  	}

	render() {
		const selectRow = {
		  mode: 'checkbox',
		  showOnlySelected: true
		};
		const options = {
		  toolBar: this.createCustomToolBar
		};
		return (
		  <BootstrapTable data={ this.props.widgets } striped hover condensed
		  	options={options} exportCSV search
		    cellEdit={ cellEditProp }
		  	pagination>
		    <TableHeaderColumn editable={ false } width='150' dataField='id' isKey>ID</TableHeaderColumn>
		    <TableHeaderColumn editable={ false } width='150' dataField='eid'>Employee ID</TableHeaderColumn>
		    <TableHeaderColumn editable={ false } width='150' dataField='ename'>Employee Name</TableHeaderColumn>
		    <TableHeaderColumn editable={ false } width='150' dataField='designation'>Designation</TableHeaderColumn>
		    <TableHeaderColumn width='150' dataField='attendance'
		    	editable={ { type: 'textarea', validator: attendanceValidator } }
		    	editColumnClassName='editing-jobsname-class'
		    	invalidEditColumnClassName='invalid-jobsname-class'
		    	>Attendance</TableHeaderColumn>
		    <TableHeaderColumn width='150' dataField='remarks'>Remarks</TableHeaderColumn>
		  </BootstrapTable>
		);
	}
}

I am still getting this error

what kind of error?
and I just check it in my local with same configuration, it work well. so maybe please provide more information if you have

@saisivaram94 did you update your package successfully? It was resolved for me after I updated to the latest version.

sure, please upgrade to newest version. thanks @Anima-t3d

@AllenFang  - I am so so sorry for the late reply. I had some urgent deadlines to meet at work, so I couldn't make time.
I am attaching the snapshots of both the scenarios. In one, I am using pagination and in the other, I am not. As you can see, with the paginated display, I get no search results. But in the non-paginated version, I get the exact search result. Moreover, after clearing the search field in the paginated version, I do not get the original table back. By that I mean, if I search anything when I am on page 1, then after clearing the search field I do not get the data on page 1 back. I need to load another page and then again come back to Page 1 to get the data.
@Anima-t3d - I installed this package just 2 days ago, the same day that I made the comment. I am running v3.2.0

Ok. I updated the package now and it seems to be working fine.
Thank you so much, @AllenFang and @Anima-t3d . :)


Linter

@mreddington can you update the comments to be real.  ionic is a public repo so we want it to look good.


invites: I shouldn't be able to invite myself to any group or DM

OTT

I do want a DM with myself as a scratch pad, though...

Good question. I'm not sure, but I imagine @arthyn would know.

I think we'd have to guard against this, right now this would just loop and keep poking yourself over and over.

Closing this issue, it looks like DMing works without breaking things, and it's something we can find utility within (per the related issue #1539)


kpt live apply doesn't apply the declared namespace

$ cat namespace.yaml
apiVersion: v1
kind: Namespace
metadata:
  name: a-namespace # {"$kpt-set":"namespace"}

$ cat inventory-template.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  # DANGER: Do not change the inventory object namespace.
  # Changing the namespace will cause a loss of continuity
  # with previously applied grouped objects. Set deletion
  # and pruning functionality will be impaired.
  namespace: a-namespace
  # NOTE: The name of the inventory object does NOT have
  # any impact on group-related functionality such as
  # deletion or pruning.
  name: inventory
  labels:
    # DANGER: Do not change the value of this label.
    # Changing this value will cause a loss of continuity
    # with previously applied grouped objects. Set deletion
    # and pruning functionality will be impaired.

$ kpt live apply .
Fatal error: error when creating "generated": namespaces "a-namespace" not found
$ kubectl create ns a-namespace
$ kpt live apply .
configmap/inventory-4504d5c3 created
Warning:  apply should be used on resource created by either  create --save-config or  apply
namespace/a-namespace configured
...
30 resource(s) applied. 29 created, 0 unc

Related to https://github.com/GoogleContainerTools/kpt/issues/903


ui-select caret  is missing aria-label or labelledby

IBM has a tool, DAP, Dynamic Assessment Plugin.  It tries to identify areas of a webpage that are missing required ARIA markup.
The caret  that is present on the ui-select component, which has the class "caret pull-right" is missing an aria-label or the aria-labelledby attribute.

I am also looking at ARIA/WCAG issues with this caret.
My first thought was to look into adding role='button' as well as keyboard focus (tabindex) , aria-label, etc. to satisfy the various WCAG compliance checkers.
But it occurs to me a simpler approach would be to simply add aria-hidden='true', since the functionality of choosing can be accessed via the enter key. In other words, the caret is there as a pretty visual indication there is a choice to be made as a pseudo drop-down, but as long as you're using the input-id attribute on the ui-select tag, and have a matching <label for="..." then I would think screen readers might be able to make sense of it all. Unfortunately, using only these WCAG tools we're flying a little bit blind.
Any thoughts?

I agree with you, that simply adding aria-hidden=true would solve this as well.  This element like you mentioned is just visual and does not provide any additional functionality to the component that should not limit keyboard users.


Ignore ParseAndMarshalModelsTestCase until we can turn it into someth…

…ing reasonably useful
See https://issues.jboss.org/browse/WFLY-5138 for details of why they are currently not useful.

Linux Build 7688 is now running using a merge of 24762f59d62fa8e6244254072ac9f4b05d760408

Linux Build 7688 outcome was SUCCESS using a merge of 24762f59d62fa8e6244254072ac9f4b05d760408
Summary: Tests passed: 3054, ignored: 358 Build time: 00:48:47


docs(plugins): Refer to optimization configuration

I ran across a case where I wanted to disable the default concatenateModules: true in production mode, read these docs and came to the conclusion there wasn't an available option. Maybe it's obvious in retrospect, but figured it might be helpful for someone else to find the reference in the  module-concatenation-plugin docs here.

Thanks @EugeneHlushko for the additional polish, looks good to me!

Thanks!


display of  in edition

@danbalogh —
in https://dharmalekha.info/texts/DHARMA_INSVengiCalukya00079 you have
tato <supplied reason="subaudible">’</supplied>rjunā<lb n="15" break="no"/>d abhimanyuḥ<g type="comma">.</g>
and it is displayed like this

I have not myself been using  <supplied reason="subaudible"> for unwritten avagrahas. Anyhow, I imagine that the display of a message mentioning the "translation" needs to be modified a bit. Please instruct @michaelnmmeyer on what to do.

Yes, the tooltip message is correct for the translation. But for instances of <supplied reason="subaudible"> within the edition division (as well as in places where edition bits can be cited, such as apparatus lemmas and readings, and items in <foreign> tags in notes, commentary and translation), the tooltip should say something else.
Is it possible to display a different tooltip depending on contents of the <supplied reason="subaudible"> element? There are two things it can in principle contain:

either a ’ character [and perhaps other apostrophe-like characters, which encoders should not use here, but might have used them instead of the right one, and which should all be converted to ’ either in the XML files themselves or in display at least], for which the ideal tooltip would be "Avagraha added by the editor to clarify the interpretation";
or a . character, for which the ideal tooltip would be "Punctuation added by the editor at semantic break"

If it is complicated or impossible to make this content-dependent, I suggest "Editorial addition to clarify interpretation" for both.

@danbalogh
Is it required to tag unwritten avagrahas as
<supplied reason="subaudible">’</supplied>?
OR
typing ’ is just OK for the moment, and will be automatically replaced
by
<supplied reason="subaudible">’</supplied>?

@manufrancis See EGD §6.3.7 and TG §2.6.3. Typing just ’ is all right and the idea is that it will be automatically replaced with the correct markup. That said, in my own editions I always use <supplied reason="subaudible">’</supplied> because I do not know when and with what accuracy the automated replacement will take place.

Noted. Thanks!

Thanks to @michaelnmmeyer, display is now correct, except that here, as in other tooltips, we should have

either the pattern initial capital + full-stop at end
initial lower case and no final punctuation

@michaelnmmeyer : I think I prefer option 2, but there may be long/complicated items that force presenting tooltips as sentences. Please see what solution works best globally, implement the small stylistic harmonization in all tooltips, and close this when done.

The display we have now follows traditional user interface conventions (initial capital, no final period). Your solution 1 feels much more natural than your solution 2, but having a final period looks a bit weird for short phrases like

Unclear text.

Lost text.

and when stacking nested tooltips:

Unclear text. | Grantha text.

I have no objection to initial capital and no full stop, given that these tooltips are typically not complete sentences, only (sometimes complex) noun phrases. If @arlogriffiths is willing to come around, then I think we should keep them that way. If not, then I agree that initial lowercase and no full stop would be better, but whatever you two can agree on will be fine for me.

happy to come around. your can forget about my raising this minor detail.


Periodic warning messages in Git output channel

Type: Bug
2024-03-26 14:00:06.135 [info] > git config --local branch.main.github-pr-owner-number [55ms]
2024-03-26 14:00:06.135 [warning] git config failed: Failed to execute git
2024-03-26 14:05:06.434 [info] > git config --local branch.main.github-pr-owner-number [144ms]
2024-03-26 14:05:06.437 [warning] git config failed: Failed to execute git
2024-03-26 14:10:06.569 [info] > git config --local branch.main.github-pr-owner-number [68ms]
2024-03-26 14:10:06.572 [warning] git config failed: Failed to execute git
2024-03-26 14:15:06.717 [info] > git config --local branch.main.github-pr-owner-number [85ms]
2024-03-26 14:15:06.719 [warning] git config failed: Failed to execute git

VS Code version: Code - Insiders 1.88.0-insider (5d8491d7130d25aae121eeaa1633603ef8faa39e, 2024-03-26T05:49:49.370Z)
OS version: Windows_NT x64 10.0.22631
Modes:

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz (8 x 2304)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: enabled_ondirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_graphite: disabled_offvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
undefined

Memory (System)
15.84GB (0.41GB free)

Process Argv
--enable-proposed-api intersystems-community.vscode-objectscript --enable-proposed-api georgejames.intersystems-serverdiff

Screen Reader
no

VM
0%

Extensions (52)

Extension
Author (truncated)
Version

Bookmarks
ale
13.4.2

tsl-problem-matcher
amo
0.6.2

open-in-github-button
ant
0.1.1

vscode-opennewinstance
chr
0.0.12

vscode-eslint
dba
2.4.4

githistory
don
0.6.20

prettier-vscode
esb
10.4.0

vscode-open-in-github
fab
2.2.1

intersystems-dxjetpack
geo
0.1.2

searchable-debug-console
geo
0.0.2

thefoldingstuff
geo
0.2.1

codespaces
Git
1.16.17

copilot
Git
1.175.0

copilot-chat
Git
0.14.2024032601

vscode-github-actions
git
0.26.2

vscode-pull-request-github
Git
0.82.1

vscode-memfs
gjs
0.0.3-182309

vscode-favorites
how
1.11.0

rest-client
hum
0.25.1

vscode-pr-pinger
jri
0.0.6

workspace-storage-cleanup
meh
1.1.5

vscode-docker
ms-
1.29.0

debugpy
ms-
2024.3.10861015

python
ms-
2024.3.10861011

vscode-pylance
ms-
2024.3.2

jupyter
ms-
2024.2.0

jupyter-keymap
ms-
1.1.2

jupyter-renderers
ms-
1.0.17

vscode-jupyter-cell-tags
ms-
0.1.8

vscode-jupyter-powertoys
ms-
0.1.0

vscode-jupyter-slideshow
ms-
0.1.5

remote-containers
ms-
0.348.0

remote-ssh
ms-
0.110.0

remote-ssh-edit
ms-
0.86.0

remote-wsl
ms-
0.88.0

azure-account
ms-
0.11.6

extension-test-runner
ms-
0.0.6

hexeditor
ms-
1.9.14

live-server
ms-
0.4.13

remote-explorer
ms-
0.4.3

remote-server
ms-
1.5.1

vscode-github-issue-notebooks
ms-
0.0.130

vscode-js-profile-flame
ms-
1.0.8

vscode-markdown-notebook
ms-
0.0.26

vscode-selfhost-test-provider
ms-
0.3.25

vscode-speech
ms-
0.7.2024032017

material-icon-theme
PKi
4.34.0

material-product-icons
PKi
1.7.0

vscode-thunder-client
ran
2.20.0

vscode-xml
red
0.26.1

rest-book
tan
6.2.1

luna-paint
Tyr
0.16.0

(1 theme extensions excluded)

Adding @alexr00 as I believe these calls are coming from GHPRI extension that use the git extension API. The error occur as the configuration that is attempted to be read does not exist.

@lszomoru GHPR uses the git config to store which branches have a known PR associated with them. We then check for that value with getConfig later. If the value doesn't exist, then we know we need to check GitHub to see if a new PR has been created with this branch. I don't think there's a way to simply check for the existence of a git config value with the git extension API, so we can't avoid this warning right now. We could add more git extension API to introduce a hasConfig method if we want to remove this warning.

Thanks @alexr00. I will go ahead and close this issue as designed for now.


Allow for includes

I originally created this as an extension to the doting package, but figured it would be worth a shot putting this in as a PR.
This allows for using include files in you .env. I find this helpful in large projects when your .env can get quite large and out of hand.
Example:
# your root .env
S3_INCLUDE=s3.env

# s3.env
BUCKET=mybucket
KEY=sup3rs3cr3tk3y!

And to use these, you would do:
getenv('S3_BUCKET');

All other features that work with .env variables, like comments, nesting, etc. work inside include files.
You can also have include files inside your include files if you're daring enough.

For some reason when I forked, I didn't get the most up-to-date version of master. I'm going to re-fork and try this PR again.


feature: extended support for incidents types.

Description
The Statuspage API documentation supports different types of incidents, whereas this package only supports a subset.
What is the current behavior?
When trying to retrieve a list of incidents, the function getUnresolvedIncidents(pageId) calls upon @GET("/pages/{pageId}/incidents/unresolved").
What is the new behavior?
When trying to retrieve incidents, there is a second (optional) parameter IncidentType. When null, it calls upon @GET("/pages/{pageId}/incidents") which lists all incidents types. But when a specific (Enum) type is provided, it specifically retrieves that incident type.
How was it tested?

[x] integration

Checklist

[x] Does your code follow the project style guide?
[x] Have you added tests that cover the changes and run them?
[x] Have you updated the documentation as needed?

I have created a new commit with the changes, including a newline below the IncidentType. We would love to see this change added to pub.dev so that we can include this in our product instead of a GitHub reference.


Let's move to Mkdocs for easier contribution and integration

I found that Mkdocs Is easier for contributing in documentation than Sphinx  for the following reasons:

It is based on markdown format which we already use in github page and wiki. So that, we can copy&paste the content that we already put in README or Wiki directly.
It can serve and see live change in the same theme that will show in github page.
CI workflow is already available.  Check https://squidfunk.github.io/mkdocs-material/publishing-your-site/#with-github-actions

I did a quick google search and find some comparisons between sphinx and mkdocs

https://news.ycombinator.com/item?id=17717513
https://github.com/encode/httpx/discussions/1220

Additionally, if I understand correctly, even if we use sphinx-apidoc, it seems to be converted to the ghpage theme anyway which is different from the sphinx but we can see the same live update locally with mkdoc.
I faced the issue before when it looks fine with sphinx locally but show differently on ghpage.


docs: sample audit updates

Fixes: https://github.com/googleapis/nodejs-pubsub/issues/1115
Fixes: https://github.com/googleapis/nodejs-pubsub/issues/1117
Still in progress: a once-over after getting everything in

@tianzi I gave this its once-over if you want to take a look.


Yatin: Watch oneshotketoofficialtrial.blogspot.com

Yatin requests the watch of the watch_keyword oneshotketoofficialtrial\.blogspot\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

oneshotketoofficialtrial\.blogspot\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Jeff Schaller in Charcoal HQ


Revert yarn changes

Revert diff #35

For anyone who is confused about this PR and how it apparently doesn't revert #35, the changes were actually fixed later in #48.

thanks!


[WIP] Use module attribute for prefix lookup

I was about to create an issue about this but I thought it would work with this PR but I got his error
(ArgumentError) could not call get_attribute with argument Ecto.AssociationTest.Author because the module is already compiled

So I need your help but I think is worth to show you what I am trying to do.
Why
As did some refactoring in my code I used to have this module name StrawHat.IAM.PolicyStatement and then I changed it to StrawHat.IAM.Policy.Statement.
I assumed that nothing would go wrong but turns out that the module name matters in the particular case that you create the foreign keys.
Since the ID in the relation is policy_statement_id and not statement_id I am kind of confused what should I do.
I would prefer to at least have some simple way to configure this. Maybe add some other metadata that it is simple to set up.

Since the ID in the relation is policy_statement_id and not statement_id I am kind of confused what should I do.

You can use :foreign_key option on has_* associations to override the key name that's inferred from the module, have you tried that? Or is the issue that you'd need to do this all over the place?

@wojtekmach well everyone that has some relationship with that module will need to do that.
To be honest, right now is just in one place but I would like to know what do you think about my approach and if it is worth to do it.

@yordis as @wojtekmach said, we already have a mechanism to do so via the option. I don't think this scenario is common enough to warrant introducing another mechanism for configuration.
The reason the defaults now work is because they are simple: it is based on the module name or an option. Introducing another lookup means that everybody else's applications become more complex, because now if I look at belongs_to Foo.Bar, I never know if it will be :bar_id or if Bar has some sort of special configuration behind it.
In any case, thanks for the PR!


Move to ES6 (Babel)

Resolving this issue is going to take a good amount of effort and time and though it would be great internally for the project, it wouldn't provide any real benefit to our users. Hence, this is a medium priority issue and we're looking for generous souls to work on it (the core contributors are unlikely to take this up any time soon, sorry!)

UPDATE: no need for babel, most the world has moved on to using ES6-supporting nodejs engines. Some parts of solium and solium-plugin-security are already using ES6.
transition will gradually happen over time, but no need for babel :)


token-group: create editions example

This PR adds another use case for the SPL Token Group example program: Editions!
It demonstrates using the interface to print "reprints" of an original token's metadata, using the Token Group interface to mark these reprints as part of the original group.

Current dependencies on/for this PR:

master

PR #5512

PR #5548

PR #5549   👈

This comment was auto-generated by Graphite.

@joncinque would love some thoughts on how to do this example while staying in step with discussions we're having here in this comment thread on #5548

I was thinking it makes more sense as a totally separate reference implementation, at token-collection/program or token-edition/program. If it isn't too much annoyance. What do you think?


Fix hard coded task name in k8s runner

This fixes the hard coded task name in k8s runner and allows the task name to be auto fed into the auto generated command.
Fixes #141
this fix is required for k8s runner to function

LGTM


feat: add StakeVault and implements StakeManager interface into RewardsStreamerMP

Description
This commit adds the following changes:

Add the contract StakeVault so funds can be stored safely by the user. #14
Added the interface ITrustedCodehashAccess  and contract TrustedCodehashAccess in the src/access directory, which implements the ITrustedCodehashAccess interface and provides functionality to set or update the trust status for a contract's codehash and implemented it on RewardStreamerMP. #15
added the interface IStakeManager and implemented it on RewardStreamerMP  #13 These changes are necessary to enforce security measures and restrict access based on the codehash of the caller, and allow for better reuse of code between StakeManager and RewardStreamerMP.

Checklist
Ensure you completed all of the steps below before submitting your pull request:

[ ] Added natspec comments?
[ ] Ran pnpm adorno?
[ ] Ran pnpm verify?

@3esmit how do you feel about breaking this down a bit.
It'd be cool if we had a commit that introduces the StakeVault, at least in so far that it talks to the RewardStreamer.
The StakeVault only needs to provide the functionality listed in https://github.com/vacp2p/staking-reward-streamer/issues/14
Then another PR could introduce the whitelisting (or at least a separate commit.
I feel like the StakeVault could've already been in a mergable state by now.
What do you think?

StakeVault and TrustedCodehashAccess are part of the same functionality. Without the trusted code hash access the stake vault would not work properly.

StakeVault and TrustedCodehashAccess are part of the same functionality. Without the trusted code hash access the stake vault would not work properly.

As I understand, the TrustedCodehashAccess just enables the StakeManager to control who can call certain methods.
If, as a first step, we're simply adding StakeVault and leave TrustedCodeHashAccess out of the equation, it can just talk to the RewardStreamer contract like any other account.
But okay, I see that this might be unnecessary.
Then at least make it so that this PR:

Adds StakeVault (again only the functionality that overlaps with RewardStreamer)
Adds TrustedCodeHashAccess
Make sure RewardStreamer make use of it
Adjust tests, as now only StakeVault can talk to it

Add sub issues in #13  for things left to port over.
All refactor related things we put in a separate PR.

Hey @3esmit
I since I'd like to get your changes in, I started splitting up the changes into dedicated PRs that address the issues.
You can check them here:

#61
#63

Prior to these two, I've also done #62
All PRs should be passing CI.
I left out the functionality that's not yet working in reward streamer (upgradeability, exiting and locking after staking).
We can address those next week then.

Closing this in favor of #61 and #63


Linux Invoke-WebRequest throws exception when response contains no Content Type in the header.

Steps to reproduce
Run invoke-webrequest against an web service that returns no content and no Content-Type in the response header.
Expected behavior
As occurs on PowerShell full on Windows. (Both expected and actual run against the same server)
PS > $response = Invoke-WebRequest -Method Delete -Uri $fuluri -Headers $headerDictionary

PS > $response                                                                                StatusCode        : 200
StatusDescription : OK
Content           : {}
RawContent        : HTTP/1.1 200 OK
                    Cache-Control: no-cache, private
                    Server:
                    Set-Cookie: JSESSIONID=67737BB04D918D29A956676E867E9983; Path=/; Secure; HttpOnly
                    Date: Fri, 11 Nov 2016 04:52:18 GMT

Headers           : {[Cache-Control, System.String[]], [Server, System.String[]], [Set-Cookie, System.String[]], [Date, System.String[]]}
RawContentLength  : 0

Actual behavior
PS > Invoke-WebRequest -Method Delete -Uri $fuluri -Headers $headerDictionary -SkipCertificateCheck                                                                                Invoke-WebRequest : Object reference not set to an instance of an object.
At line:1 char:1
+ Invoke-WebRequest -Method Delete -Uri $fuluri -Headers $headerDiction ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Invoke-WebRequest], NullReferenceException
    + FullyQualifiedErrorId : System.NullReferenceException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

PS /home/nick/git/PowerShell> $error[0].exception.tostring()
System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.PowerShell.Commands.ContentHelper.GetContentType(HttpResponseMessage response) in /home/nick/git/PowerShell/src/Microsoft.PowerShell.Commands.Utility/commands/utility/WebCmdlet/CoreCLR/ContentHelper.CoreClr.cs:line 23
   at Microsoft.PowerShell.Commands.WebRequestPSCmdlet.ProcessRecord() in /home/nick/git/PowerShell/src/Microsoft.PowerShell.Commands.Utility/commands/utility/WebCmdlet/CoreCLR/WebRequestPSCmdlet.CoreClr.cs:line 354
   at System.Management.Automation.Cmdlet.DoProcessRecord() in /home/nick/git/PowerShell/src/System.Management.Automation/engine/cmdlet.cs:line 177
   at System.Management.Automation.CommandProcessor.ProcessRecord() in /home/nick/git/PowerShell/src/System.Management.Automation/engine/CommandProcessor.cs:line 343

Environment data

PS > $PSVersionTable

Name                           Value
----                           -----
PSVersion                      6.0.0-alpha
PSEdition                      Core
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   <IP_ADDRESS>
GitCommitId                    v6.0.0-alpha.12-23-g211573db52a1d2f81ddb53a156306b298614689e
CLRVersion
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>

I've submitted a simple PR #2666 that handles the exception if content type is not found in the response header.  Feel free to point me in the right direction if this isn't the correct approach.

@SteveL-MSFT is there any way to get this fixed in Nano Server?

@PatrickLang it is my understanding that future releases of Nano Server will pick up stable versions of PSCore 6.0+.  For now, if you need this, you can install PSCore 6.0 on Nano Server (xcopy is sufficient, but keep in mind it'll run side-by-side with the inbox PowerShell Core)


List and support different possible input programs

Multiple input programs exist while for now we solely rely on Peaks. These different programs need to be researched and tabulated to find the following properties:

Support for EthcD, or start an email campaign to include this support
Includes peaks are in output file
Preferentially free for research
Tested performance against known datasets

All programs to be included:

[x] Peaks
[x] Fasta (general)
[x] Novor
[x] MaxNovo
[x] Casanovo
[x] pNovo (if we get it to work)

For all programs that seem to be favorable the output should be able to be read into stitch.
Extra points for casanovo:

[x] Implement a ppm filter
[ ] When retraining look into only training on deconvoluted spectra to prevent the network of learning to incorrectly create very long reads

If you take a look at the detailed manual that is provided with all stitch distributions here it is for the most recent stable release stitch-v1.4.0-manual.pdf and here is the most recent nightly version there is the information on which settings are allowed for each input type. Also you will find some examples there. If this does not answer your question feel free to reach out again.

Great！This is very helpful to me.Thank you very much for your help. I will try to use the most recent nightly version.


Lazarus Update for the Ronin incident

Added Lazarus Group involvement with the source
Fixed and extended headers

/payout

/payout

@danisztls can we bring the tags back ? We need a generic category for tags that don't fit into the default taxonomy. Also, your recent script restructuring broke the payout action.
FYI @alxarno

@evgenydmitriev will look at it asap

@evgenydmitriev

Also, your recent script restructuring broke the payout action.

See #196

can we bring the tags back ? We need a generic category for tags that don't fit into the default taxonomy.

Sure. tags will be a global taxonomy or be under attacks/incidents like the other taxonomies (attack-types et cetera)?

Sure. tags will be a global taxonomy or be under attacks/incidents like the other taxonomies (attack-types et cetera)?

yes

/payout

Thanks, @JediFaust! 1197 characters were added/changed in this PR. At a rate of 5¢/char your contribution is worth $59.85. @albina-at-inca will process your payment.

@albina-at-inca payout on this should be 2x

Merged #200.
/payout --multiplier 2 should be working

Thanks, @JediFaust! 1197 characters were added/changed in this PR. At a rate of 5¢/char your contribution is worth $59.85. @albina-at-inca will process your payment.

@albina-at-inca payout on this should be 2x

Noted. The balance will be added to August pay.


Popup is slow to show. Cache popup contents or hide UI temporarily?

Describe the bug
Popup takes three seconds to populate.
To Reproduce
Steps to reproduce the behavior:
Have 1315 tabs open.
Expected behavior
The plugin to not immediately ditch the UI on closing it.
Screenshots

Desktop (please complete the following information):

OS: Arch
Browser: FF
Version 133

The screenshot seems not from this extension.

Ah that's just to show the number of tabs (n be an example of the indented tree of Sidebery)!

ack, thanks.
Could you please try the Lite Popup Mode, which should perform better?


Science Sleuth tweaks

What's this PR do?

Changes config.donorschoose collection name to config.donorschoose_moco_campaigns. I've manually renamed the collection name in Compose to keep our deprecated documents from 2014 and 2015 stored in the same collection.
Refactors oip_chat_ended as oip_success and oip_error
Minor cleanup to smsConfigsLoader.js

How should this be reviewed?
Verify Staging DonorsChoose chatbot works upon deployment of this branch.
Relevant tickets
Fixes #587
Fixes #588
Checklist

[ ] Documentation added for new features/changed endpoints.
[x] Tested on staging.

Verified I get opted in to the "Chat ended: error" OIP when using switching our staging server to use our production DonorsChoose API key ( 😃 for code working, 😦 for prod API account error)

And that's because I didn't have our prod DonorsChoose config variables set on staging. Verified successful donation using our prod API key (you can tell when Gambit is in production mode because we shorten the URL's):


Armor Rendering Registry

A quasi-port of the ArmorRenderingRegistry of old, now with LambdAurora Incoprorated brand phases!
This API resides in the new entity_rendering module, inside the new rendering library!

Note that ArmorFeatureRendererMixin is somewhat similar to Fabric API's MixinArmorFeatureRenderer.
Do my changes make it unique enough, or should I add a Fabric license header to it too?

If you copied significant amounts of code then yes

3 out of 5 injections are copied directly from Fabric API, but those copied injections are 2 lines each at most.
I'll add the license header, just to be safe.

A really nice QoL feature would be being able to define a texture path in an ArmorMaterial, like how vanilla uses the name but instead providing full asset path support, without having to register it.

I'll inject a getTextureIdentifier() method into ArmorMaterial, sure.

Main mod is ready, testmod needs custom texture/model which are outside of my skills...

...accidentally merged with 1.19.3, so changing base branch to that for now.
If this isn't good I'll redo the merge targeting 1.19 tomorrow.
But! This API shall be finished!

Retargeted for 1.19!

Marking as finished for now! There may be a model testmod in the future, but pretty much everything is done.


Errors report

In model.py, it has several errors. Firstly, 'ImportError: cannot import name 'argsort_list_descent' 'happens when using 'from chainer.links.connection.n_step_lstm import argsort_list_descent, permutate_list' this import. Also, after I fix this problem manually, the model still has some problem inside, for example TypeError on lstm model. Could you run it again? I think maybe you forgot to change something. Thx!

Thank you for reporting.
These problems happen due to the difference of the versions of Chainer.
The programs work on the Chainer v1.18.0 and will not be maintained.

Thanks.
I have tried this code on  Chainer v1.22.0 and it works.

👍


Remove ToWithdrawalTx helper

This pull request removes the ToWithdrawalTx helper function from the testapp package.
Fixes #209

@natebeauregard


Fix models in monitor 0.5.1

Fix https://github.com/Azure/azure-sdk-for-python/issues/2375

(message created by the CI based on PR content)

@AutorestCI rebase

Rebase done and pushed to the branch

Codecov Report

Merging #2411 into master will increase coverage by 0.08%.
The diff coverage is 40%.

@@            Coverage Diff             @@
##           master    #2411      +/-   ##
==========================================
+ Coverage   54.27%   54.35%   +0.08%
==========================================
  Files        5326     5371      +45
  Lines      126606   127047     +441
==========================================
+ Hits        68712    69054     +342
- Misses      57894    57993      +99

Impacted Files
Coverage Δ

...monitor/models/diagnostic_settings_resource_py3.py
41.66% <0%> (ø)

...odels/diagnostic_settings_category_resource_py3.py
71.42% <0%> (ø)

...ure/mgmt/monitor/models/rule_webhook_action_py3.py
55.55% <0%> (ø)

...azure/mgmt/monitor/models/rule_email_action_py3.py
100% <100%> (ø)

azure-mgmt-monitor/azure/mgmt/monitor/version.py
100% <100%> (ø)
:arrow_up:

...mgmt/monitor/models/action_group_patch_body_py3.py
57.14% <0%> (ø)

...-monitor/azure/mgmt/monitor/models/baseline_py3.py
55.55% <0%> (ø)

.../models/activity_log_alert_all_of_condition_py3.py
71.42% <0%> (ø)

...els/diagnostic_settings_resource_collection_py3.py
66.66% <0%> (ø)

...itor/models/activity_log_alert_action_group_py3.py
62.5% <0%> (ø)

... and 43 more

Continue to review full report at Codecov.

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


upstream timeout during envoy start

Hi
I am using rds/cds/sds for service discovery, and got a annoying issue that envoy took too much time to get all services discovered. The time is usually between the refresh_delay_ms and 2 * refresh_delay_ms set for sds cluster. For example, if it's set to 30s, the time will be in the range 30 ~ 60s. I looked at the stats of envoy and found the rq_timeout was not zero, and then i looked into the logs, and noticed a strange log that is "upstream timeout". What does it mean by "upstream timeout"? And if we look at the timestamp of the logs, it's strange why envoy printed out the timeout logs so shortly after starting sds refresh for a cluster?
I tried both v1.4 and v1.5, and got the same result. Below are the logs and stats I extracted from my testing.
logs
[2018-01-26 13:38:33.812][3090][debug][upstream] source/common/upstream/sds_subscription.cc:93] starting sds refresh for cluster:  greeter
[2018-01-26 13:38:33.812][3090][debug][router] source/common/router/router.cc:239] [C0][S18078983924612550549] cluster 'sds_cluster' match for URL '/v1/registration/greeter'
[2018-01-26 13:38:33.812][3090][debug][router] source/common/router/router.cc:284] [C0][S18078983924612550549]   ':method':'GET'
[2018-01-26 13:38:33.812][3090][debug][router] source/common/router/router.cc:284] [C0][S18078983924612550549]   ':path':'/v1/registration/greeter'
[2018-01-26 13:38:33.812][3090][debug][router] source/common/router/router.cc:284] [C0][S18078983924612550549]   ':authority':'sds_cluster'
[2018-01-26 13:38:33.812][3090][debug][router] source/common/router/router.cc:284] [C0][S18078983924612550549]   'x-envoy-internal':'true'
[2018-01-26 13:38:33.812][3090][debug][router] source/common/router/router.cc:284] [C0][S18078983924612550549]   'x-forwarded-for':'<IP_ADDRESS>'
[2018-01-26 13:38:33.812][3090][debug][router] source/common/router/router.cc:284] [C0][S18078983924612550549]   'x-envoy-expected-rq-timeout-ms':'1000'
[2018-01-26 13:38:33.812][3090][debug][router] source/common/router/router.cc:284] [C0][S18078983924612550549]   ':scheme':'http'

...

[2018-01-26 13:38:33.819][3090][debug][router] source/common/router/router.cc:424] [C0][S18078983924612550549] upstream timeout
[2018-01-26 13:38:33.819][3090][debug][router] source/common/router/router.cc:850] [C0][S18078983924612550549] cancelling pool request
[2018-01-26 13:38:33.819][3090][debug][pool] source/common/http/http1/conn_pool.cc:193] cancelling pending request

envoy stats:
sds_cluster::<IP_ADDRESS>:1949::cx_active::63
sds_cluster::<IP_ADDRESS>:1949::cx_connect_fail::0
sds_cluster::<IP_ADDRESS>:1949::cx_total::95
sds_cluster::<IP_ADDRESS>:1949::rq_active::0
sds_cluster::<IP_ADDRESS>:1949::rq_error::32
sds_cluster::<IP_ADDRESS>:1949::rq_success::96
sds_cluster::<IP_ADDRESS>:1949::rq_timeout::32               <<<< notice the number
sds_cluster::<IP_ADDRESS>:1949::rq_total::128

I tried a newer version with envoy docker image envoyproxy/envoy:61b38528d7e46ced9d749d278ba185332310ca95, it still takes 6 seconds to parsing the cds clusters before sending out the first sds request.
envoy  version: 61b38528d7e46ced9d749d278ba185332310ca95/1.6.0-dev/Clean/RELEASE

Here is the entire configure file:
{
  "listeners": [
    {
      "address": "tcp://<IP_ADDRESS>:9102",
      "filters": [
        {
          "type": "read",
          "name": "http_connection_manager",
          "config": {
            "codec_type": "auto",
            "stat_prefix": "egress_http",
            "tracing": {
                "operation_name": "egress"
            },
            "rds" :
            {
                "cluster" : "rds_cluster",
                "route_config_name" : "egress_route",
                "refresh_delay_ms" : 30000
            },
            "filters": [
              {
                "type": "decoder",
                "name": "router",
                "config": {}
              }
            ],
            "access_log" :
            [
                {"path" : "/dev/stdout"}
            ]
          }
        }
      ]
    }
  ],
 "admin":
  {
    "access_log_path": "/dev/null",
    "address": "tcp://<IP_ADDRESS>:9103"
  },
  "cluster_manager": {
    "clusters":
    [
          {
            "name": "rds_cluster",
            "type": "static",
            "connect_timeout_ms": 10000,
            "lb_type": "round_robin",
            "hosts": [{"url": "tcp://<IP_ADDRESS>:1950"}]
          }
    ],
    "sds" :
    {
            "cluster":
            {
                    "name": "sds_cluster",
                    "type": "static",
                    "connect_timeout_ms": 10000,
                    "lb_type": "round_robin",
                    "hosts": [{"url": "tcp://<IP_ADDRESS>:1950"}]
            },
            "refresh_delay_ms": 30000
    },
  "cds" :
    {
            "cluster":
            {
                    "name": "cds_cluster",
                    "type": "static",
                    "connect_timeout_ms": 10000,
                    "lb_type": "round_robin",
                    "hosts": [{"url": "tcp://<IP_ADDRESS>:1950"}]
            },
            "refresh_delay_ms": 30000
    }
  }
}

Thanks for the config.  Looks like I need to invoke Envoy with --service-cluster and --service-node to repro.  Do you have recommendations for those values?
Sorry if this is obvious; I'm kind of learning Envoy from the inside out.  Thanks!

@jinuxstyle how many clusters are you returning from CDS? @jmarantz I'm not sure the raw config is config to be that useful. The issue is when processing the CDS response, which is basically the same as starting up with a bunch of static clusters. I'm still a little unsure if this is definitely the same issue, as unless there are thousands of clusters 6-8 seconds seems pretty long.

Yes I think you're right, Matt.  My startup time on this input was very fast; I think to repro I'd need to mock out the CDS context to repro this.

I believe this is being covered by all of the perf work that @jmarantz is doing and other tickets. I'm going to close this out and we can revisit if that work when it lands does not fix the issues.

@jinuxstyle would you be able to re-run with the current 'master'?  Since Feb 1 there have been a number of speedups deployed.  It would be good to confirm whether they address your startup flow, as I was not able to repro.

It worked perfectly now with the latest image I tried, which is envoyproxy/envoy:fd44fd6051f5d1de3b020d0e03685c24075ba388.
Now, the rds/cds/sds data can be fetched and processed within milliseconds rather than seconds required before. And the request timeout no longer appeared during my test. The improvement looks amazing. Thanks.
Some logs
...
[2018-03-14 02:39:56.323][48][debug][upstream] source/common/upstream/cds_subscription.cc:33] cds: starting request
...
[2018-03-14 02:39:56.447][48][debug][upstream] source/common/upstream/sds_subscription.cc:94] starting sds refresh for cluster
...

sds_cluster::<IP_ADDRESS>:1949::cx_active::147
sds_cluster::<IP_ADDRESS>:1949::cx_connect_fail::0
sds_cluster::<IP_ADDRESS>:1949::cx_total::147
sds_cluster::<IP_ADDRESS>:1949::rq_active::0
sds_cluster::<IP_ADDRESS>:1949::rq_error::0
sds_cluster::<IP_ADDRESS>:1949::rq_success::147
sds_cluster::<IP_ADDRESS>:1949::rq_timeout::0
sds_cluster::<IP_ADDRESS>:1949::rq_total::147
sds_cluster::<IP_ADDRESS>:1949::health_flags::healthy


Release new patch version?

There have been a lot of commits since version 1.0.1.

The next version of sqlc is 1.1.0. It's scheduled to be released on March 17th. I'm planning on sticking to a four week release cycle. Do you think I need to make it three weeks?

OK that's fine. FWIW, I'm installing sqlc from a .deb package in our test environment, and I have a test set up that ensures you ran "make sql" to generate the updated Go files from the sql files. Each time the generated file changes I need to recompile sqlc and re-upload a .deb so the sqlc version in the CI environment generates the correct Go source code.
It's fine, just would be easier to do if there was a different version number.
I suppose this is what e.g. 1.0.1-1, 1.0.1-2 are for in Debian versioning.

Just a reminder, this is happening today

ron paul happening gif

v1.1.0 has been released: https://github.com/kyleconroy/sqlc/releases/tag/v1.1.0
v1.2.0 is scheduled for release in three weeks.