Resource containing a graph with multiple roots is not properly handled

When we try to create a resource which is a graph with multiple roots such as:
{
  "@context": "https://bbp.epfl.ch/nexus/v1/resources/covid19-kg/schemas/context",
  "@graph": [
    {
      "@type": "Dataset",
      "contribution": {
        "@type": "Contribution",
        "agent": {
          "@type": "Agent"
        },
        "hadRole": "Scientists"
      },
      "distribution": {
        "@type": "DataDownload",
        "contentSize": {
          "value": 759071,
          "unitCode": "bytes"
        },
        "contentUrl": "https://staging.nexus.ocp.bbp.epfl.ch/v1/files/covid19-kg/data/a5587fba-e56d-4af9-8e53-c8b228370c7b",
        "digest": {
          "value": "4605ae01485669cb995004091212a13d8a195f659fc822fbbc3fb80cf603b81d",
          "algorithm": "SHA-256"
        },
        "encodingFormat": "application/x-turtle",
        "name": "kg_20200720-031625.ttl"
      },
      "hasPart": [
        {
          "@id": "https://staging.nexus.ocp.bbp.epfl.ch/v1/resources/covid19-kg/data/_/80bd99cc-d673-43c7-bb44-f820e3d3df0b?rev=1",
          "@type": "Dataset",
          "distribution": {
            "@id": "_:b7",
            "contentUrl": "https://staging.nexus.ocp.bbp.epfl.ch/v1/files/covid19-kg/data/91ab7df8-d253-4117-a5f3-5532ca21c22f"
          },
          "name": "A dataset"
        },
        {
          "@id": "https://staging.nexus.ocp.bbp.epfl.ch/v1/resources/covid19-kg/data/_/3e63eb1a-bc86-4a1a-86a3-e3764b295047?rev=1",
          "@type": "Dataset",
          "distribution": {
            "@id": "_:b0",
            "contentUrl": "https://staging.nexus.ocp.bbp.epfl.ch/v1/files/covid19-kg/data/2939b95e-ba33-42d2-8772-64d582554d34"
          },
          "name": "A dataset"
        }
      ],
      "name": "A dataset"
    },
    {
      "@id": "https://staging.nexus.ocp.bbp.epfl.ch/v1/resources/covid19-kg/data/_/3e63eb1a-bc86-4a1a-86a3-e3764b295047?rev=1",
      "@type": "Dataset",
      "distribution": {
        "@id": "_:b0",
        "contentUrl": "https://staging.nexus.ocp.bbp.epfl.ch/v1/files/covid19-kg/data/2939b95e-ba33-42d2-8772-64d582554d34"
      },
      "name": "A dataset"
    },
    {
      "@id": "https://staging.nexus.ocp.bbp.epfl.ch/v1/resources/covid19-kg/data/_/80bd99cc-d673-43c7-bb44-f820e3d3df0b?rev=1",
      "@type": "Dataset",
      "distribution": {
        "@id": "_:b7",
        "contentUrl": "https://staging.nexus.ocp.bbp.epfl.ch/v1/files/covid19-kg/data/91ab7df8-d253-4117-a5f3-5532ca21c22f"
      },
      "name": "A dataset"
    }
  ]
}

Then the id of the nodes is picked up as the root id and it clashes with the provided id:
{"@type":"UnexpectedResourceId","reason":"Resource 'https://bbp.epfl.ch/neurosciencegraph/data/db979680-7d0b-48a9-a3c3-663f145c8467' does not match resource id on payload 'https://staging.nexus.ocp.bbp.epfl.ch/v1/resources/covid19-kg/data/_/80bd99cc-d673-43c7-bb44-f820e3d3df0b?rev=1'."}

In 1.4.x @graph was not well supported. It wasn't supported at all when retrieving resources, since we do framing on them and It wasn't well supported when managing resources in the knowledge graph because we depend on a named graph for it.
In this example you gave, when retrieving the resource you just get back the metadata (with nothing the client pasted):
curl -s -H "Authorization: Bearer $TOKEN" "https://staging.nexus.ocp.bbp.epfl.ch/v1/resources/reimann/topological_sampling/_/https%3A%2F%2Fbbp.epfl.ch%2Fneurosciencegraph%2Fdata%2Fdb979680-7d0b-48a9-a3c3-663f145c8467" | jq

Same happens when you query the common blazegraph namespace for that project:
curl  -H "Content-Type: application/sparql-query" -H "Authorization: Bearer $TOKEN" "https://staging.nexus.ocp.bbp.epfl.ch/v1/views/reimann/topological_sampling/graph/sparql" -d 'SELECT * WHERE {GRAPH <https://bbp.epfl.ch/neurosciencegraph/data/db979680-7d0b-48a9-a3c3-663f145c8467/graph> { ?s ?p ?o } }'

So that resource, from the point of view of nexus, is the same as having a resource with an empty payload.
In v.1.5.x what we should support (I have to verify this) is the creation of a @graph where some of the entries have an @id and then using a PUT to define which of those @id is the main root. For example:
PUT /v1/resources/{org}/{proj}/_/{id}
{
   "@graph"[
      {"@id": "http://example.com/a", ...},
      {"@id": "{id}", ...},
      {...}
   ]
}

If the @id is not found on the payload, we should reject and not attempt to create one.
A POST in this case is not supported (since it will try to generate an id)

Such resources also exist in production data.


move cypress-json

updated the GitHub Actions workflow to specify the path to the Cypress configuration file,
and moved cypress.config.js

Is this ready to review?

Is this ready to review?

Technically yes, I can add more cypress tests and optimize it in another branch if you want to review this one
If so i'll tell you generally what there is here:
updated the GitHub Actions workflow to specify the path to the Cypress configuration file,
and moved cypress.config.js
Updated CONTRIBUTING.MD file to match the change (now you have to run cypress like that command there if not then cypress will think its not configured)
Added new cypress testing spec for browse tab
refactored cypress commands.
and test fix (there is a flaky line that sometimes works sometimes doesn't, so its commented atm).

You may need to fix conflicts before I commit

You may need to fix conflicts before I commit

Fixed.


Download progress should be printed to stderr

I've already opened an upstream issue about the progress bar lib used (https://github.com/deno-library/progress/issues/30)
The advantage of printing to stderr is that you can use $() (which does not capture stderr) to resolve the allow run path ahead and ensure your actual script only execute with limited permissions:
deno run --allow-run=$(deno eval 'console.log(await import("jsr:@astral/astral").then(_ => _.getBinary("chrome")))') mod.ts

Some other linux command also do this, like wget:
wget https://example.com > /dev/null
--2024-10-30 01:48:05--  https://example.com/
Resolving example.com (example.com)... <IP_ADDRESS>, 2606:2800:21f:cb07:6820:80da:af6b:8b2c
Connecting to example.com (example.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1256 (1.2K) [text/html]
Saving to: ‘index.html’

index.html                      100%[=======================================================>]   1.23K  --.-KB/s    in 0s

2024-10-30 01:48:05 (110 MB/s) - ‘index.html’ saved [1256/1256]

Sure, that makes sense. I'm supportive. Thanks for opening the issue upstream.


Dynamic run for run-aqa GH action

Addresses #125.
Adds in functionality to run tests in parallel. This is accomplished by having a new function generate parallelList.mk and updating the runAqaTest() function run the suite of tests if the target includes -f parallelList.mk.
Any GitHub action which leverages this action handles distributing the parallelList.mk generated to child jobs (e.g., upload artifact/ download artifact).
Please let me know any questions, comments, or concerns 😄!

Just submitted the ECA.

I believe I have addressed most comments raised to the best of my knowledge.
Please let me know if there are any other changes required to get this across the finish line.
Thanks!! 😄

@j-braley Looks like more failing GH Actions though.

Updated GH action to run _DaaLoadTest_daa1_5m instead of _DaaLoadTest_daa1 for sys tests + bumped up windows version. Changes based on changes found in https://github.com/adoptium/run-aqa/pull/131.

@karianna or @smlambert can I get an approval to run the extra GH actions?
I made changes to the underlying action to run _DaaLoadTest_daa1_5m instead of _DaaLoadTest_daa1 based on https://github.com/adoptium/run-aqa/pull/131. Also bumped up the windows version (also found in the linked PR).

Enable github action runs and wait for the results

To make it easy to use/understand the example workflow can also be committed. As action.yml itself can not clearly demo how the feature is used.

Apparently, I am learning that GitHub has limits on reviewers 😦

@j-braley you'll need to rebase again sorry!


Is there anyway to train "big data" using transformer?

It sames that Transformer reads training data into the Memory. So it easily got OOM Error with "big training data" like 10G (about 50 million text pairs). Is there some solution for this problem?

By "Transformer" do you mean the example code under examples/ or the transformer modules in the library?
The transformer modules are independent of how you manage training data (either in memory or disk), as long as you pass to it a data minibatch each iteration.
The transformer example code does load the whole training data into the memory beforehand (code here). To avoid this, you may want to use Texar data module that loads data sequentially. Here is an example use of the Texar data module.


CORS

Hey man, have you experienced any CORS related issues?
I can't get the results in Angular due to an error:
XMLHttpRequest cannot load https://api.themoviedb.org/3/search/movie?api_key=31f815104ff2b0e3efd8998a8ecd6b28&search_type=ngram&query=300&callback=test. A wildcard '*' cannot be used in the 'Access-Control-Allow-Origin' header when the credentials flag is true.
thanks

I'll check this out @iulianmids


Fixed a bug in quickstart guide code block

In the code block, loop was missing which could lead to incorrect interpretation and understanding, when referring to the official documentation.

The same fixing https://github.com/milvus-io/milvus-docs/pull/2796


[Minor docu problem] Link at https://github.com/kubeless/kubeless/docs/runtimes.md is invalid or empty

https://github.com/kubeless/kubeless/docs/runtimes.md is mentioned from the main readme
but does not show anything useful right now. I was expecting a bit more information.
By the way, since ruby now is supported \o/ don't forget the crystal guys; perhaps a crystal dude can help with bindings towards crystal (should be trivial if ruby is supported, since the crystal folks state that it is very easy to make crystal inter-op with C code).

@shevegen fixed ,thanks for reporting the issue. the link is fixed and fwiw, the page is at: https://github.com/kubeless/kubeless/blob/master/docs/runtimes.md


Shift + Enter to "Insert segment and link" by time

If you have a for instance a word marked on a level that is structurally the parent of a level for segments or tones for instance, you should really be able to directly create a link between them.
Word
|   <- defined link
Segment
So when I now insert a vowel segment on the "Segment" tier using the proposed new Shift + Enter keystroke, I will directly also get a link between new segment and the word that it corresponds in time with.
It would be a great timesaver.

I think that something along these lines would definitely be useful. Haven't thought it through, though. Just wanted to bring up something we have had in mind for a long time, #104, a really long time, looking at the issue.
I think the two things should be tackled together because if they aren't, the shift+enter suggestion would insert links, which is good, but provide no visual feedback about the new link, which I think is a must. (There might be other ways to provide this feedback than solving #104, though.)

@MJochim yes but it will not be tackled here but in the EMU-webApp2 (still needs a better name btw :-)).
However, these are also not necessarily overlapping issues (although related). I think @FredrikKarlssonSpeech is more interested in if you have two SEGMENT levels that have a link definition (i.e. one dominates the other) and you add a new boundary / new segment that these are automatically linked (basically a mini autobuild_linkFromTimes() for a single segment). This only applies to SEGMENT/EVENT levels. Issue #104 is aimed at ITEM levels dominating SEGMENT and EVENT  levels (that is what I always refer to a ghost levels because here we want to display time where it doesn't actually exist). In the latter case auto-linking will be extremely difficult to do. For example:
   x1       x2
    |        |
    o   n   o

o = old annotation items that are linked
n = new annotation items

what is n linked to? x1 or x2? Even in the SEGMENT dominates SEGMENT level case it could also be tricky depending on the segment alignment: Imagine a ONE_TO_MANY relationship and this type of scenario:
level A: |   i am segment 1   |  i am segment 2  |
level B:            | im am newly added seg |

is the newly added segment linked to 1 or 2?

@MJochim yes but it will not be tackled here but in the EMU-webApp2 (still needs a better name btw :-)).

This morning it occured to me for the first time that ng used to stand for next-generation but now is for aNGular ;-).

However, these are also not necessarily overlapping issues (although related).

You're right here. However, I think that #258 should not be solved before #104 (the other way round would be fine).
As for the problematic scenarios you have described, we would probably have to go for something like in the anagest module. There, the users get to select an item as link target (from a list).

A simple option is to just not allow the keypress (show an error message) if the user inserts a segment  that is not say 90% overlapped by a segment on the parent level. I almost wrote "completely overlapped, but then there is off course the case of final segments in words where the end time may by accident be placed within the following word.


feat: add support for tailwindcss language

Hi I really liked your extension and the work you did, but I currently use tailwindcss in my .css files, this to avoid warnings and have some extra snippets.
So I was testing locally adding an extra condition to editor.document.languageId, this way it also identifies tailwindcss as a language and shows the previews correctly.
Without the latter it only worked for the css language, maybe it would be a good idea to consider the same logic for .postcss, scss, among others.
I leave a video of test with the change incorporated in local, thanks again for your work!
https://github.com/dexxiez/shadcn-hsl-preview/assets/102609365/d3d1e53e-731d-4bc3-9807-c94d76ec91ff

Great idea, thanks for your contribution. Now I think about it, I have actually never looked down the bottom of a CSS file which the tailwind LSP is looking after, so I didn't realize it was segmented out. Thanks for pointing it out!


[2/3] Proper path resolution: add readlinkat functionality

This PR is the second in a series that will implement the path resolution algorithm described by wasi-filesystem.  This PR currently targets the main branch and thus includes changes in part 1 (#2254).  When #2254 is merged I'll rebase this PR.
This PR adds the readlinkat(2) syscall to Linux and Darwin and the equivalent on Windows. This is needed to support the path resolution algorithm by expanding symlinks as we encounter them when resolving paths.

feel free to reopen when ready to continue the work


RenAnimPlayer don't reset anim after Ren.stop_anim(Node_id, true)

Like in title the second param should make anim rest if is true, but it doesn't happens.

Fixed in #64


Copilot chat forgets previous response and often "starts from scratch" with follow-up questions

Something I've noticed about Copilot chat vs ChatGPT is the lack of conversation history awareness. ChatGPT keeps track of previous messages and replies in the context of the long-running conversation. Copilot constantly loses contextual awareness and as a result is pretty bad with follow up questions. It often replies as if it has no awareness of its previous response. But if you say "look at your previous response and try again" it gives you the answer you were looking for.
Please, please improve this. Copilot chat should always respond in the context of previous messages rather than the other way around.

This is still an issue. I have to regularly do this:

This really shouldn't be necessary. It really hampers flow and efficiency

Still an issue.  Is this going to be resolved?  If not don't think it is worth paying for

The problem still exists. It was not possible for me to add further context in a conversation over several replies. The co-pilot almost every time forgets what I wrote to him before.

I'm facing the same problem. but i use PHPStorm + the official copilot Plugin. I think, the problem it's not related to the IDE, but part of the copilot itself.
The prompt often forgets the context I gave it before and responds as if it were restarting. This means that copilot cannot be used to analyze complex problems.

copilot chat did work well in the beginning and now it is unusable because of this problem.

same issue, is so frustrating, have to repeat again and again the same.

FYI, it happens to me a lot more when I use @workspace in a followup message again. Maybe really just a context windows problem.

same problem here, i dont understand how its not solved yet

+1

It got really bad for me in the past few days, I describe a specific problem, copilot asks me to provide a script for reference, but then explains the script instead of looking for the issue. If I then ask if he found the issue he asks me to provide the script again. i just tried it 8 times, different phrasing, trying to show the code in different ways. No luck

Commenting to keep this issue on the radar. I’ve noticed it’s getting better at understanding context across multiple files, but it has the attention span of a goldfish when it comes to follow-up questions.

^

This issue keeps getting worse, today for the first time I couldn't even get Copilot to read previous replies stating that it was due privacy and confidentiality for the user. After 5 different prompts asking Copilot to re-read the chat it was impossible for me to make it work.

Yeah, I'm getting this issue, it completely forgot what we were working on. And I have to remind it with various prompts, I won't be paying for this.

I'm facing this issue as well. It NEVER keeps the prior questions in context in the chat (Not even the one asked immediately before the current one), therefore, follow-up questions are simply undoable. This was not the case when I started using it a few months ago. Very disappointing.

+1 This is a huge issue.

+1 Facing this as well, It's pretty frustrating.

It sucks, should be half the price if it is a momento case.

I face this problem and in fact when I started using it it followed the entire history

Same here

Top 1 thing to solve for me.

Same here, really annoying

Same here. I end up uploading files into ChatGPT where it keeps the context and history instead of using copilot which defeats the main benefit of it!

I am also experiencing this issue. VSCode is the primary way that i utilize my copilot subscription. This bug makes the VSCode extension extremely unhelpful. I will be cancelling my subscription until this bug if resolved.

Why is this not yet fixed? This is a fundamental feature of any chatbot application. I have to unnecessarily keep adding previous chat information in new messages.
Please fix this.

Facing the same issue, not in vscode but in Copilot itself. It was not like this a few weeks ago. Clearly, they changed something. Rather than a bug, it seems like they're trying to cut costs by not processing prior information repeatedly. Regardless of the reasons, this is annoying 😒

This is still happening in GitHub Copilot Chat using GPT-4o.

https://github.blog/changelog/2024-07-31-github-copilot-chat-and-pull-request-summaries-are-now-powered-by-gpt-4o/

I guess it's probably a cost aspect of having to transfer all the old information.
If so, it would be nice to have the ability to select a message from a previous answer and ask a question in the form of a quote or reference or reply.
By adding a reply button between those buttons for each message.

Still not resolved and so frustrating

        I’m not paying again till it’s fixed.  I don’t need an assistant with amnesia Jon RanesCIOPayIt.Global425-988-4410    ---- On Fri, 09 Aug 2024 18:15:34 -0700  ***<EMAIL_ADDRESS>wrote ----

Still not resolved and so frustrating
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

Copilot chat forgets previous response and often "starts from scratch" with follow-up questions

For me it's not often, it's always
Is this even a bug? or are the devs thinking that chat context isnt important?
This is very weird, this issue only has the tag feature-request and no comments from maintainers

This issue just started occuring for me .

У меня эта проблема только что начала возникать.

For two days now, Copilot has been forgetting previous questions.

This just started occuring for me the last few days. Pretty unusable now.

Same here, this is insane? Why is this happening anyone knows? Is Microsoft aware?
And every time i tell bing to remember his context he talks about a cricket game between Australia and India? So weird

Você
Enviado por você:
what did i say in the last message?
Copilot
Enviado por Copilot:
Ah, it seems my digital memory isn’t quite as sharp as I’d like it to be! 😅 But hey, let’s focus on the present. How can I assist you today? Anything related to web servers, PHP, MySQL, or Linux? Or perhaps you’ve got a fresh challenge you’d like to tackle?

This is happening to me too, using both Edge and Desktop Copilot, after once being able to have its context like before. What's going on Microsoft?

Started happening for me as well like 3 days ago. Happens on mobile, Windows via Copilot and Edge, and Debian using Edge. Clearing all previous chat history (since it saved from early July through today) hasn't helped either. Kinda sucks since it worked fine for me up until a few days ago.

As some responses are older or about other AI products, if possible, can subscribers to this issue reproduce and share specific steps using the latest VS Code and Copilot Chat extension (0.21 right now).

Its now resolved for me,  (see my -brief- original report above !)

It happens to me once in a while, today with v0.21.2 of GitHub Copilot Chat.
I had many questions in a row that referenced each other:

My initial prompt:

expanded should become null if escape is pressed

I asked a follow up question about the code I received
I asked for another feature:

I also want the menu to collapse if focus leaves it

The response created an unecessary state, and I asked for code that used my existing state instead
I commented that I couldn't see where a function was being called, but the entire conversation is now seemingly no longer in the context:

The provided code excerpt does not include a function or event handler named handleBlur. It seems like handleBlur is either not implemented in this part of the code or it might be defined elsewhere in the file or in another file [...]

It's in your previous message to me

Based on the provided excerpt from Form.tsx there is no invocation of a handleBlur function within the visible code. The excerpt includes a form submission handler [...]

What was my previous question?

Sorry, I can't assist with that.

In any subsequent messages the conversation is completely left out of the context. Follow up questions are either answered as if they were about the file in the context, or "Sorry, I can't assist with that".

Unsubscribed and will just use Gemini (preview) and then chatGPT (a bit inconvenient but at least it remembers) instead.
Having to repeat questions over and over again is a chore.

Thanks for everyone's feedback. To some extent, this should be much better now than when most of the original comments were made months ago, due to increased context window size and context handling. There is one particular case in how we structure the context that I have my eye on to fix for this month.
But I also would like to hear more details from users who have had an issue with this recently. If you can share a conversation that didn't go as expected, you can right click > Copy All and share it or email it to me. I'd appreciate more examples to be sure that I understand what's happening, thanks.

I am facing the same issue.  That makes the co-pilot unusable and unreliable. I recommend stopping using it until this is fixed use it for simple things but it should be free instead.

I've done task and move to another task, but whenever I make a request, it always refers to my previous task. It's really annoying.


Publishing the Spring University Hackathons recap post

Just want to double check that it's okay to merge a post today!

Merging - calibreapp/image-actions is broken at the moment but once it's up and running again it'll compress these images on a run it does on any future PRs.


Does it support Zoom options on the image?

If we zoom in/out using the stylings, the existing annotations may not be displayed in accurate positions.

Yes please.


Make modal for folder sharing

When a user clicks share folder, make this modal appear

going with a shareable link until backend supports sharing folders directly with users

OBE - being tracked in #137


OPageIsBrokenException on insert after server crash

OrientDB Version: 3.0.21
Java Version: java 8
OS: win10
Expected behavior
No exception
Actual behavior
com.orientechnologies.orient.core.exception.OPageIsBrokenException: Following files and pages are detected to be broken ['file_9.pcl' :121;], storage is switched to 'read only' mode. Any modification operations are prohibited. To restore database and make it fully operational you may export and import database to and from JSON.
	DB name="wraith"
	at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.checkReadOnlyConditions(OAbstractPaginatedStorage.java:5722)
	at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.checkLowDiskSpaceRequestsAndReadOnlyConditions(OAbstractPaginatedStorage.java:5683)
	at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.commit(OAbstractPaginatedStorage.java:2031)
	at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.commit(OAbstractPaginatedStorage.java:1993)
	at com.orientechnologies.orient.core.db.document.ODatabaseDocumentAbstract.internalCommit(ODatabaseDocumentAbstract.java:2732)
	at com.orientechnologies.orient.core.storage.impl.local.OMicroTransaction.doCommit(OMicroTransaction.java:363)
	at com.orientechnologies.orient.core.storage.impl.local.OMicroTransaction.commit(OMicroTransaction.java:166)
	at com.orientechnologies.orient.core.db.document.ODatabaseDocumentEmbedded.endMicroTransaction(ODatabaseDocumentEmbedded.java:799)
	at com.orientechnologies.orient.core.db.document.ODatabaseDocumentEmbedded.executeSaveRecord(ODatabaseDocumentEmbedded.java:789)
	at com.orientechnologies.orient.core.tx.OTransactionNoTx.saveNew(OTransactionNoTx.java:248)
	at com.orientechnologies.orient.core.tx.OTransactionNoTx.saveRecord(OTransactionNoTx.java:174)
	at com.orientechnologies.orient.core.db.document.ODatabaseDocumentAbstract.saveInternal(ODatabaseDocumentAbstract.java:2099)
	at com.orientechnologies.orient.core.db.document.ODatabaseDocumentAbstract.save(ODatabaseDocumentAbstract.java:2064)
	at com.orientechnologies.orient.core.db.document.ODatabaseDocumentAbstract.save(ODatabaseDocumentAbstract.java:85)
	at com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:2169)
	at com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:2160)

Steps to reproduce
Crash the JVM during insert. Restart the server. Try to insert again.
This is similar to this issue Find files broken while write data to orientdb 2.2.30
Originally we had this issue without the need to crash the server. Just inserting a large volume of data was enough to crash it. We have upgraded to 3.0.21 in hopes of solving it and the large volume insert no longer seems to create this problem (limited testing so far).
But if the JVM crashes for any reason, it results in the OPageIsBrokenException error.
Running repair database from the console had no effect.
The larger issue we have is the ability to detect this early enough to allow for an export/restore process. Currently, the error is thrown only when that particular table is inserted into. This is simply too late for us to warn the user that the database is corrupted and needs repairs.
Any help is much appreciated in resolving the issue.

Sorry is not the same which you opened several days ago ? https://github.com/orientechnologies/orientdb/issues/8979

Not really. So that issue did go away after we turned on WAL.
To elaborate, in #8979 we had the following use case.

Start Orient db, WAL OFF
insert data - info table
insert data - file table
JVM Crash
None of the data that we wrote was persisted

Now what we are seeing is

Start Orient Db. WAL ON
insert data - info table
insert data - file table (massive insert declareIntent(new OIntentMassiveInsert()))
JVM Crash
info table is fine
file table is fine for Query
File table crashes on insert

Does this make sense ?

Oh, I see, please try 3.0.22 version. I provide fix on this version, which similar to what you are experiencing. If problem still persists, please let me know.

the 3.0.33 upgrade seems to be helping. We have not seen any more crashes. I will close this now. Should we come across it again, I will let you know.


making scrcpy choose between what connection to use

is there a way i can make scrcpy choose a connection like if it sees just TCIP, use that as connection or when it sees both TCIP and USB, prefer USB? or do i have to specify what connection to use on my shortcut. (yes i can make 2 shortcuts but i just want one icon)

https://github.com/Genymobile/scrcpy/blob/master/doc/connection.md#selection

https://github.com/Genymobile/scrcpy/blob/master/doc/connection.md#selection

From what I understand, there's only options to choose one. I'm talking about being able to use a specific one when 2 are detected but use the only available when only one is.
Example:
When I don't connect my phone using USB, it uses tcpip as it's the only thing that it finds.
But when I connect my USB and it sees both USB and tcpip, it chooses the USB. Using the argument -d in the shortcut doesn't let me use tcpip when the device isn't connected through USB.

As a workaround, in bash, you could execute with -d, and if exit code is 1, then execute without -d (or with -e):
scrcpy -d
[[ $? == 1 ]] && scrcpy

(not tested, I'm on my phone)
You can do the same in a .bat for Windows, but I don't know how (you could ask ChatGPT).


HDFS-17220. Fix same available space policy in AvailableSpaceVolumeChoosingPolicy

Description of PR
if all the volumes have the same available space.  for example 1 MB and dfs.datanode.available-space-volume-choosing-policy.balanced-space-threshold is set 0, which means we should treat all the volumes equally when we choose available volumes.but currently not, we can fix it in AvailableSpaceVolumeChoosingPolicy.
How was this patch tested?
test case added
For code changes:

[ ] Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')?
[ ] Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE, LICENSE-binary, NOTICE-binary files?

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 38s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
44m 11s

trunk passed

+1 :green_heart:
compile
1m 22s

trunk passed with JDK Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04

+1 :green_heart:
compile
1m 14s

trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05

+1 :green_heart:
checkstyle
1m 11s

trunk passed

+1 :green_heart:
mvnsite
1m 25s

trunk passed

+1 :green_heart:
javadoc
1m  9s

trunk passed with JDK Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04

+1 :green_heart:
javadoc
1m 36s

trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05

+1 :green_heart:
spotbugs
3m 17s

trunk passed

+1 :green_heart:
shadedclient
35m 59s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
1m 14s

the patch passed

+1 :green_heart:
compile
1m 14s

the patch passed with JDK Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04

+1 :green_heart:
javac
1m 14s

the patch passed

+1 :green_heart:
compile
1m  6s

the patch passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05

+1 :green_heart:
javac
1m  6s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
1m  2s

the patch passed

+1 :green_heart:
mvnsite
1m 19s

the patch passed

+1 :green_heart:
javadoc
1m  0s

the patch passed with JDK Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04

+1 :green_heart:
javadoc
1m 28s

the patch passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05

+1 :green_heart:
spotbugs
3m 26s

the patch passed

+1 :green_heart:
shadedclient
38m 25s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
221m 29s

hadoop-hdfs in the patch passed.

+1 :green_heart:
asflicense
0m 45s

The patch does not generate ASF License warnings.

365m 26s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6174/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/6174

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets

uname
Linux 44f05aa2a5f8 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / d955b7f1dde3168186974c0f3671691209293955

Default Java
Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6174/1/testReport/

Max. process+thread count
3026 (vs. ulimit of 5500)

modules
C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6174/1/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

ping ~@Hexiaoqiao @ayushtkn Could you help review when u r free ?

Thanks @GuoPhilipse for your contribution! Thanks @Hexiaoqiao and @zhangshuyan0 for your review!


4.1.2 Species Search: The search is of the entire dataset for the county

See https://github.com/jdrever/ShropBotSoc/blob/develop/docs/specification.md#412-species-search
Just need to confirm this.

Confirmed and closing.


Win32 - Fetch more accurate monitor name

Hello guys,
This is my first PR for GLFW so I'm pretty sure I did a lot of awful things.
For now take it just as a draft.
Purpose of this PR: Find if possible the actual name of the monitor instead of Generic PnP that we often have.
I got the code by shamelessly copying and modifying the one from SDL2. (Thank you SDL guys)
Main breaking change: Requires Windows 7 (I had to modify WINVER)
I only did the Windows MinGW version because that's what I use and where I felt the need. I have no idea how accurate are the names returned on other platforms.
Anyway I'm getting ahead of myself.
First lets get some feedback on that:

Coding convention
Naming of the function
Better way to do it ?
Obvious bug I may have missed ?

Main breaking change: Requires Windows 7 (I had to modify WINVER)

GLFW 3 needs to support XP (for, ehm, reasons). You’ll need to conditionally compile it, or, the better option: check for availability at runtime, and fall back to the old solution if it’s not supported.

Thanks for the quick answer @ws909. I don't see how I can do runtime dispatch as I need some structs and includes that won't exist in XP.
Am I missing something ? Or does that mean I will have to take option 1: Conditional compiling.
Also:

How should I call the cmake variable ? GLFW_USE_ENHANCED_MONITOR_NAME ?
And how do I make the appveyor succeed ? My guess is that it uses GCC 5.3.0 and probably some old MinGW hence the fact it doesn't find dwmapi.h.

I don't see how I can do runtime dispatch as I need some structs and includes that won't exist in XP.

If they're opaque, you don't need the structure implementation. If they're transparent, you'll need to define them if they're not defined in the API. See here. Macro if/ifdef might work?

How should I call the cmake variable ? GLFW_USE_ENHANCED_MONITOR_NAME?

Any particular reason why this has to be configurable by the user? Any reason why the old behaviour must be retained?

And how do I make the appveyor succeed ? My guess is that it uses GCC 5.3.0 and probably some old MinGW hence the fact it doesn't find dwmapi.h.

Without reading into the error message at the moment, the tests are supposed to make sure that GLFW compiles on all platforms supported by GLFW. It might be failing simply because you changed the lower requirement from XP to 7.

Thank you for the various answers.

They are transparent so I will update the MR with a dynamic check see how this goes.

Any particular reason why this has to be configurable by the user? Any reason why the old behaviour must be retained?

You proposed this option if I can't do dynamic check when you said "conditionally compile". So I started thinking how I would expose it in CMake. Old behaviour must be retained for Windows XP compatibility and with this flag user could opt in to have better monitor name display but would require at least Windows 7. But now that you explained to me how to do the dynamic check this becomes pointless.

getName, getMonitorName, getAccurateName, queryDirectName, etc.

I like getAccurateName. As a reminder the current public API is glfwGetMonitorName so I would propose getAccurateMonitorName or tryGetAccurateMonitorName for this internal function.

I am going to redo a proper PR because I realised I was using GLFW 3.3 instead of latest. I am going to close this one.


New Prowl plugin - Similar to Pushover.

Description
Adds a Plugin for "Prowl" - Really similar to Pushover, just only for iOS. Looks ugly af, but works better on Apple Watch.
I should admit that the plugin itself is just a modified copy of the pushover one.
New dependency: 'node-prowl' at latest
Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)

How Has This Been Tested?
Production use for a few weeks.
Steps for reproduction:
Get Prowl, get your userkey, enable the plugin, input your key and an application name (required by Prowl, can be anything), go to some alias you want pushing enabled for, enter your user key (Or multiple ones comma separated) and maybe the other settings and wait for messages (or generate your own ones.
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[x] I have updated changelog.md with changes made

Did not update changelog (Since it's not a real update and it's your decision when this is gonna be merged).
Did not write a single comment but it's really similar to the pushover plugin and really really self-explaining.

Also please update the README.MD with the new plugin info :tada:

I've fixed the merge branch - we no longer merge to master.
My apologies, I didn't notice to now.
One merge conflict to sort and she's good by me :)

I'm happy to sort the conflict in the next hour if you leave it :)

Already solved

Some Documentation would be nice for the Wiki.. :)


check-replication - Option to define charset

I've hit the same issue as described in source repo below when using replication check. Setting the DB charset before making the actual connection fixes the issue. Should be non-breaking change, as the default_charset is optional.
https://github.com/sensu-plugins/sensu-plugins-mysql/issues/77
I understand that the fix should go top-to-bottom (from sensu-plugins/sensu-plugins-mysql repo), but that would take ages :)

Aborting PL, need to do a bit cleanup and probably add the charset option to all checks before. Anyone who needs the charset functionality now is welcome to use bonsai asset built from my fork.


Update resources to most recent developments

What is the goal of this PR?
Some of the data in this repository is a bit behind where we are now, and people keep adding stars! We want people to get an accurate picture of the current state of the TypeDB ecosystem from this repo, so we have updated the resources to reflect this.
What are the changes implemented in this PR?
We bring some of the most exciting content forward. Previously we've linked just to https://github.com/vaticle/typedb-examples or https://github.com/typedb-osi, but now we display links to our most exciting content immediately.

Additionally, I suggest changing the current description of the repository from:

A curated list of awesome Grakn frameworks, libraries, software and resources.
A curated list of awesome TypeDB frameworks libraries, software and resources.


SetNumThreads has no effect on Gurobi?

What version of OR-Tools and what language are you using?
Version: v9.0.9048
Language: Python
Which solver are you using (e.g. CP-SAT, Routing Solver, GLOP, BOP, Gurobi)
Gurobi
What operating system (Linux, Windows, ...) and version?
macOS Big Sur v11.6
What did you do?
Steps to reproduce the behavior:

Install ortools with pip3 install ortools
Install a Gurobi license.
Save the following script as MWE.py.  This script is very similar to the example shown here: https://developers.google.com/optimization/lp/lp_example.  However, there are a few changes:

Gurobi is specified as the solver.
The solver output is enabled.
The decision variables are integer-valued.
The number of threads is specified as 4.

from ortools.linear_solver import pywraplp

def LinearProgrammingExample():
    """Linear programming sample."""
    # Instantiate a Glop solver, naming it LinearExample.
    solver = pywraplp.Solver.CreateSolver('GUROBI')

    # Create the two variables and let them take on any non-negative value.
    x = solver.IntVar(0, solver.infinity(), 'x')
    y = solver.IntVar(0, solver.infinity(), 'y')

    print('Number of variables =', solver.NumVariables())

    # Constraint 0: x + 2y <= 14.
    solver.Add(x + 2 * y <= 14.0)

    # Constraint 1: 3x - y >= 0.
    solver.Add(3 * x - y >= 0.0)

    # Constraint 2: x - y <= 2.
    solver.Add(x - y <= 2.0)

    print('Number of constraints =', solver.NumConstraints())

    # Objective function: 3x + 4y.
    solver.Maximize(3 * x + 4 * y)

    # Set the number of threads
    solver.SetNumThreads(4)

    # Enable solver output
    solver.EnableOutput()

    # Solve the system.
    status = solver.Solve()

    if status == pywraplp.Solver.OPTIMAL:
        print('Solution:')
        print('Objective value =', solver.Objective().Value())
        print('x =', x.solution_value())
        print('y =', y.solution_value())
    else:
        print('The problem does not have an optimal solution.')

    print('\nAdvanced usage:')
    print('Problem solved in %f milliseconds' % solver.wall_time())
    print('Problem solved in %d iterations' % solver.iterations())

LinearProgrammingExample()

Run python3 MWE.py
Observe output.

What did you expect to see
Thread count: 8 physical cores, 16 logical processors, using up to 4 threads
Thread count was 4 (of 16 available processors)
What did you see instead?
Thread count: 8 physical cores, 16 logical processors, using up to 16 threads
Thread count was 16 (of 16 available processors)
Anything else we should know about your project / environment
When I was initially trying to set up ortools to use Gurobi on this machine, I had some trouble getting ortools to find Gurobi.  In my efforts to solve the problem, I installed a fresh copy of Gurobi from https://www.gurobi.com.  I also manually set up the GUROBI_HOME variable in my .zshenv.  I believe this is the reason that I see the following whenever I run the above code.
I0430 18:18:55.265136     1 environment.cc:737] Found the Gurobi library in '/Library/gurobi912/mac64/lib/libgurobi91.dylib.

I'm not sure whether or not this is relevant.

Indeed. You should be able to work around by setting the solver specific parameter as string using the Gurobi names.


[WIP] Add video resnet

Resnet model that can be customized by you: https://pytorch.org/vision/stable/_modules/torchvision/models/video/resnet.html
In the docs below there are three example models in which parameters can be used as "an inspiration" to  the models design.

Added a new model for training on both video and landmarks. Remember to pull the newest changes from the main branch, as it works with the current main only.


cannot hold instances of entity (<NSEntityDescription: >) name

Hi , I got a error when I save the entity cannot hold instances of entity (<NSEntityDescription: >) name

Hello. Can you test if the error occurs using the version from develop too?

Thanks , I solve it
On Tue, Jan 26, 2016 at 3:21 PM, Vanderlei Martinelli <
<EMAIL_ADDRESS>wrote:

Hello. Can you test if the error occurs using the version from develop
too?
—
Reply to this email directly or view it on GitHub
https://github.com/Alecrim/AlecrimCoreData/issues/110#issuecomment-175008324
.

OK. Let me know if the problem persists. I’ll close the issue.


Cache not invalidating after .Remove

Summary of the issue
When running this test, the object is put in the cache successfully, but after being deleted, the following query is still retrieving the value from the cache.
I see the InvalidateCacheDependencies being called within SaveChanges properly, and I see dependenciesCacheManager.Remove(rootCacheKey) being called as well. (where rootCacheKey is being set to "SC.Core.Entities.Analytic"
 // Create a new object w/ some test data..
 SC.Core.Entities.Analytic a = new Analytic();
 a.ApplicationID = 4171;
 a.EmailsSent = 1;

// Save it
_context.Analytics.Add(a);
_context.SaveChanges();

// Retrieve it.   DB Call is made and object is cached.
 var ab = _context.Analytics.Cacheable(debugger).FirstOrDefault(x=>x.ID==a.ID);

// Delete it from DB
 _context.Analytics.Remove(a);
_context.SaveChanges();

// Test retrieving from cache.  Variable is INCORRECTLY set.  Object is still in cache.
var ac = _context.Analytics.Cacheable(debugger).FirstOrDefault(x => x.ID == a.ID);

 // Test retrieving directly.  Result is appropriately null.
var ad = _context.Analytics.FirstOrDefault(x => x.ID == a.ID);

Is there some other set up piece that I am missing?

True. Because The ToSql() method (which will be used to calculate the hash of the query or the cache key automatically) doesn't see the x => x.ID == a.ID predicate. It will be evaluated where the Cacheable(debugger) method is located (It doen't see anything after it).
This one should work:
var ac = _context.Analytics.Where(x => x.ID == a.ID).Cacheable(debugger).FirstOrDefault();

Or you can provide a saltKey parameter for the Cacheable method to change its final hash based on the a.ID value.

Interesting.   I see what you mean, didn't quite understand how this operated.
So, theoretically, would it be a good enhancement for this library to throw an exception if someone tries to use Cacheable() without any predicate set up?  I can see this as a very nuanced issue where a simple mis-ordering or Linq causes big issues.
Thanks a ton for your quick response.

Updated code is still returning a value.   The code below, var ac should be null, like ae is.  But it's not.  debugger is showing a cache hit.
`
var debugger = new EFCacheDebugInfo();
// Create a new object
Analytic a = new Analytic();
a.ApplicationID = 4171;
a.EmailsSent = 1;
// Save it
_context.Analytics.Add(a);
_context.SaveChanges();
// Retrieve it.   DB Call is made and object is cached.
var ab = _context.Analytics.Where(x=>x.ID==a.ID).Cacheable(debugger).FirstOrDefault();
// This one should return
var ae = _context.Analytics.Where(x=>x.ID==a.ID).Cacheable(debugger).FirstOrDefault();
// Delete it from DB
_context.Analytics.Remove(a);
_context.SaveChanges();
// Test retrieving from cache.  Variable is INCORRECTLY set.  Object is still in cache.
var ac = _context.Analytics.Where(x => x.ID == a.ID).Cacheable(debugger).FirstOrDefault();
// Test retrieving directly.  Result is appropriately null.
var ad = _context.Analytics.Where(x => x.ID == a.ID).FirstOrDefault();
`

Use different var debugger = new EFCacheDebugInfo(); or check out the logged SQL like this test.

Ok, done.  The keyhash is the same for all queries, which I kind of expected.   The issue seems to be the item not being removed during the .Remove > .SaveChanges process.    My override looks like this:
 public override int SaveChanges()
        {
            var changedEntityNames = this.GetChangedEntityNames();

            this.ChangeTracker.AutoDetectChangesEnabled = false; // for performance reasons, to avoid calling DetectChanges() again.
            var result = base.SaveChanges();
            this.ChangeTracker.AutoDetectChangesEnabled = true;

            this.GetService<IEFCacheServiceProvider>().InvalidateCacheDependencies(changedEntityNames);

            return result;
        }

Follow up... first, thanks for that code example, it seems to actually be having a variation of the same issue.  When I run that code, this line:
https://github.com/VahidN/EFSecondLevelCache.Core/blob/master/src/Tests/EFSecondLevelCache.Core.AspNetCoreSample/Controllers/HomeController.cs#L110
should return null, as you removed the produce in the preceding lines.  However, it is not.  It is returning an entity.   Worse, I think, its returning the wrong item.

should return null, as you removed the produce in the preceding lines. However, it is not. It is returning an entity. Worse, I think, its returning the wrong item.

Yes! Because the cache key won't be calculated for anything after the Cacheable(debugger) method (.FirstOrDefault(x=>x.ID==a.ID) here). Its key is the same as the 1st query.

Haha.. sorry, was looking at the wrong result.    My confusion in your sample is because the sample never actually loads the entity into the cache in the proper way.  If you inject the following code into your test, then thirdQueryResult no longer returns null:
// 1st query, reading from db
var debugInfo1 = new EFCacheDebugInfo();
var firstQueryResult = _context.Products
      .Cacheable(debugInfo1)
       .FirstOrDefault(p => p.ProductId == product.ProductId);

// ADD THIS CODE -- breaks thirdQueryResult
var debugInfo4 = new EFCacheDebugInfo();
var fourthQueryResult = _context.Products.Where(p => p.ProductId == product.ProductId)
                .Cacheable(debugInfo4)
                .FirstOrDefault();

 // Delete it from db, invalidates the cache on SaveChanges
 _context.Products.Remove(product);
_context.SaveChanges();

Fixed it via #https://github.com/VahidN/EFSecondLevelCache.Core/commit/a4046261345f03265970bc2abb5012ae4fed9547. Give it a try.

Seems to work.  Thanks!   Any chance this was a new bug?  I'm curious because if delete's have essentially never been working for anyone?

Yes. There was an issue about it before.


[Bug]: Menu style hidden and custom frigate icon

Checklist:

[x] I updated to the latest version available
[x] I cleared the cache of my browser

Release with the issue:
v5.2.0
Description of problem:
Hello,
The frigate button doesn't seem to accept custom icon while the menu style is declared as hidden. The menu just never seem to load.
Here is the configuration I'm referring to :
type: custom:frigate-card
menu:
  style: hidden
  position: bottom
  alignment: left
  buttons:
    frigate:
      enabled: true
      priority: 100
      icon: mdi:menu

Any other menu style seem to be fine though, ie :
type: custom:frigate-card
menu:
  style: overlay
  position: bottom
  alignment: left
  buttons:
    frigate:
      enabled: true
      priority: 100
      icon: mdi:menu

Am I missing something ?
Thanks for your help

Quick response: I don't think you're missing anything. Internally that button is special (since the button itself is involved in how the menu works in hidden mode), and the icon isn't an mdi icon (since there is no Frigate MDI icon). I suspect this is causing the problem you're flagging.
Let me look into it.


update README.md

Added description about HACS and salus logo for easy search

Thank you for your contribution


how to use encrypted username and password in Publishernodes.json-OPC publisher version 2.7.199

Describe the solution you'd like
I want to use encrypted username and password in Publishernodes.json - OPC publisher module version 2.7.199-Standalone
I am using OPC publisher module to inject data from KEPserver to IOT Edge and IOT Hub. I have configured the Publishernodes.json file with required details of KEPserver .
I want to use encrypted username and password of KEPServer in Publishernodes.json.
Additional context
Part of my publishernodes.json
"UseSecurity":true
"OpcAuthenticationMode":"UsernamePassword",
"EncrypetedAuthUsername":"Someusername",
"EncrypetedAuthPassword":"Somepassword",
How can I use encrypted username and password in above file.
Thanks in advance.

Hi,
I am looking for help on this topic.
Please look into this @monikavar

2.7.199 version of OPC Publisher does not have a way to encrypt username and password in published_nodes.json file similar to 2.5.x version, that used direct methods for setting those values. 2.7.199 does support providing username and password through published_nodes.json (via OpcAuthenticationUsername and OpcAuthenticationPassword fields), but they will be there in plain text. Here is a sample of published_nodes.json for 2.7.199 version with username and password:
[
    {
        "DataSetWriterGroup": "SoftingDataFEED",
        "DataSetWriterId" : "SoftingDataFEED_DataSetFlow_1",
        "DataSetPublishingInterval": 5000,
        "EndpointUrl": "opc.tcp://<IP_ADDRESS>:51210/UA/DemoServer",
        "UseSecurity": true,
        "OpcAuthenticationMode": "UsernamePassword",
        "OpcAuthenticationUsername": "usr",
        "OpcAuthenticationPassword": "pwd",
        "OpcNodes": [
            {
                "Id": "ns=3;i=10851",
                "DataSetFieldId":"VariableId_1",
                "OpcSamplingInterval": 1000,
                "OpcPublishingInterval": 3000
            },
            {
                "Id": "ns=3;i=10852",
                "DataSetFieldId":"VariableId_2",
                "OpcSamplingInterval": 1000,
                "OpcPublishingInterval": 3000
            }
        ]
    }
]

However, if you are upgrading from 2.5.x version to 2.7.199, and you have a published_nodes.json file which contains encrypted username and password (via EncryptedAuthUsername and EncryptedAuthPassword fields), then 2.7.199 version is able to load this file and decrypt username and password.

@SandeepThombare, I am closing this issue. Please reopen it if you need more information.


Can Traefik update my DNS records (OVH)?

I've read, in the past, the Traefik documentation about the OVH provider but today this page is gone and all the things I'm reading when searching "Traefik OVH" is couple with Let's Encrypt, which I don't care.
What I need is Traefik to tell OVH the a node of my cluster is down so that the trafic stop going to that node. So kind of telling the provider is OVH in my IngressRoute to be used with the given credentials from the Traefik deployment manifest for Kubernetes.
So is Traefik capable of covering that use case or should I really have to go with some Amazon Route 53 or others?
Thank you.

Hi! I'm Træfiker :robot: the bot in charge of communication regulation.
Thanks for your interest in Traefik!
We dedicate the issue tracker to bug reports and feature requests only. My advanced AI has spotted that your issue might be a configuration problem or relates to something that doesn't look like a bug.
To confirm this, please join our Community Forum and reach out to us on the Traefik section.
In case I'm wrong (well, that would be embarrassing :sweat_smile:), my developers will re-open the issue and fix me!
In the meantime, you can double check Traefik's documentation.

Hi! I'm Træfiker :robot: the bot in charge of communication regulation.
Thanks for your interest in Traefik!
We dedicate the issue tracker to bug reports and feature requests only. My advanced AI has spotted that your issue might be a configuration problem or relates to something that doesn't look like a bug.
To confirm this, please join our Community Forum and reach out to us on the Traefik section.
In case I'm wrong (well, that would be embarrassing :sweat_smile:), my developers will re-open the issue and fix me!
In the meantime, you can double check Traefik's documentation.


Chore refactor of hash map

Proposed changes
refactor of hash map
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 45.32 seconds
stream load tsv:          516 seconds loaded<PHONE_NUMBER>9 Bytes, about 138 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          29.4 seconds inserted 10000000 Rows, about 340K ops/s
storage size:<PHONE_NUMBER>0 Bytes

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 45.36 seconds
stream load tsv:          536 seconds loaded<PHONE_NUMBER>9 Bytes, about 133 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          64 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          29.3 seconds inserted 10000000 Rows, about 341K ops/s
storage size:<PHONE_NUMBER>8 Bytes


Reproduce Discrete Soft Actor Critic in TF 2.0

Hi are there any pointers on how to reproduce the Discrete SAC code in tf2? Especially the torch.gather() which does not particularly behave the same way as tf.gather or tf.gather_nd. Any help would be appreciated !

solved this using a hacky way with tf.gather_nd


feat(v2): Provide blog plugin theme typing

Motivation
Although our classic-theme is written in TS, readers of the source code still can't easily see what's the prop types of each theme component. This is because we rely on the webpack alias @theme, which makes typing difficult to enforce, even on TS sources.
In the past, the best we can do is to add a catch all @theme/* declaration in https://github.com/facebook/docusaurus/blob/master/packages/docusaurus-module-type-aliases/src/index.d.ts. It makes writing theme code in TS a much better experience because there is no longer red squiggles, but the types are all any, which is not good for catching bugs.
I think it's debatable whether we should provide typing information to all classic theme components, since some of them are considered as implementation detail. However, I think we should at least provide some typing information for some theme components expected by the plugins, since they are part of the public APIs exposed by a plugin and would be relied upon by third-party plugins. I think we should not throw these typing info into @docusaurus/module-type-aliases, because it's designed to be more general purposed. Docusaurus core shouldn't care about the plugin-specific theme components; instead, it's the plugin packages' job to define those.
Therefore, I decided to start with the blog plugin, which has a relatively simple interface. I defined the types in the index.d.ts in the blog plugin and make the classic theme reference it. Then the classic theme can at least import the type definition of Props and use it for better typing. I think it's a good starting point to fully statically type the classic-theme.
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
It still compiles, which shows that the typing information is accurate enough for our purposes. Preview works.
Related PRs
(If this PR adds or changes functionality, please take some time to update the docs at https://github.com/facebook/docusaurus, and link to your PR here.)

Thanks, yes that looks like a good starting point.
I guess we should figure out how to have good typings on our own site to be able to recommend the way to use TS for all.


HLSL source to GLSL Vertex/Fragment interface linking error on MacOSX

I found the solution in Readme.md  ("Vertex/Fragment interface linking")
but I have no idea where and how to add those line in the code
// Something like this for both vertex outputs and fragment inputs.
compiler.set_name(varying_resource.base_type_id, "VertexFragmentLinkage");

I have no idea the value of varying_resource.base_type_id
so I did my dirty fix by remapping any VS output / FS input at location=0,
and any better suggestion for the fix ?
by the way, if this can be handled by default would be very nice, or any knowing concern to not doing this ?
here is my dirty fix:
void CompilerGLSL::remap_varying() {
	//MacOSX require vs_output -> ps_input variable using the same variable name

	auto model = get_execution_model();
	uint32_t i = 0;
	for (auto& m : meta) {
		auto& dec = m.decoration;
		if (dec.decoration_flags & (1ull << DecorationLocation) && dec.location == 0) {
			auto& v = get<SPIRVariable>(i);
			auto& t = get<SPIRType>(v.basetype);

			switch (model) {
				case ExecutionModelVertex: {
					if (t.storage == StorageClassOutput) {
						set_name(i, "VertexFragmentLinkage");
					}
				}break;
				case ExecutionModelFragment: {
					if (t.storage == StorageClassInput) {
						set_name(i, "VertexFragmentLinkage");
					}
				}break;
			}
		}
		i++;
	}
}

Could you paste the .spv for vertex and fragment so I could get the full context?
The main idea here is that glslang emits HLSL in a particular way, and you will need to make sure that the name of the struct which is passed between stages is the same type.
The reason for not doing this by default is because it depends on factors which spirv-cross cannot know of in isolation. It only sees one shader at a time, not a group of shaders which are linked together.

Normally what you would want is something like:
auto resources = compiler.get_shader_resources();
// For fragment shaders
for (auto &v : resources.stage_inputs)
    if (compiler.get_decoration(v.id, spv::DecorationLocation) == 0)
        compiler.set_name(v.base_type_id, "VertexFragmentLinkage");
// For vertex shaders
for (auto &v : resources.stage_output)
    if (compiler.get_decoration(v.id, spv::DecorationLocation) == 0)
        compiler.set_name(v.base_type_id, "VertexFragmentLinkage");

Thanks,
If this cannot be done by default, then is it possible to add command line argument to control it ?
for example:
spirv-cross.exe  vs.spv  --remap-output-layout-variable 0 "VertexFragmentLinkage" --output my.glsl_vert
spirv-cross.exe  ps.spv  --remap-input-layout-variable 0 "VertexFragmentLinkage" --output my.glsl_frag

Which would be nice to avoid code modification and compile own version for this use case.
And I can do the change and sending pull request if you think it's a good feature to have for everyone
Here is my HLSL source and output SPV, GLSL files
HLSL_to_GLSL.zip

I see, there is something similar atm with --remap, but that is designed to remap to builtin variables. If you can add a feature --rename-interface-variable "src-name" "dst-name" or something like that I can merge that. Seems like a useful feature.

Yup, I tried remap, but it didn't fit what I need.
I can add the feature. But I prefer to use input/output location instead of "src-name", because the "src-name" maybe different between HLSL files, but the location seems always '0' if struct type is used for input/output interface variables, which is what people do in HLSL with struct member "Semantic"
Then it become:
--rename-interface-variable <in/out>  "dst-name"
And I can use the same suffix rule in Makefile


the Calendar plugin could not be opened，Open calender not in the command panel

Hi, @cui-jingjing, is it possible that the right sidebar is collapsed?

I have the same issue. I can see the folder list and can pull open the backlinks pane, but the calendar doesn’t show up. I can see “Calendar: Open Weekly Note” and “Calendar: Reveal active note” in the command pallet, but that’s it.
I’m getting this behavior on an Android phone and tablet, latest Obsidian Mobile app. No custom css or themes, no third party plugins (or any other community plugins), just plain vanilla.

Hi @eggtoastie,
To see the calendar on mobile, you'll need to press the < Backlinks button at the top of the right sidebar. That will get you back to the root of the sidebar to see the other views there, including the calendar view. LMK if that makes sense!

@liamcain that does make sense and I did find it. Thank you. I'm pretty new to obsidian. I thought I had clicked everywhere. I didn't realize there was a root of the right panel. I think I had back links open last, so I was having to swipe from the right to click on a left arrow, which doesn't feel very intuitive. Thanks for your plugin. It's a great asset in my quest to escape EN.

I am brand new to obsidian also and really enjoy using it on desktop and mobile.  I completely missed that I can swipe in from the right side of the screen to bring in the sidebar and then see the calendar icon.  I'm glad I found this thread.  Thanks for a great plugin Liam.


CSAF Importer does not work

Steps to reproduce:

Disable auth (just to allow our terminal to reach the endpoints easily)

export AUTH_DISABLED=true

Start the server (make sure you clean your .trustify directory to be sure you have a clean instance running)

cargo run --bin trustd

Create a CSAF importer:

http POST localhost:8080/api/v1/importer/redhat-csaf csaf[source]=https://redhat.com/.well-known/csaf/provider-metadata.json csaf[disabled]:=false csaf[period]=30s csaf[v3Signatures]:=true

Look at the server log and you will see something like:
2024-06-06T11:09:45.470058Z  INFO run:run_once:run_once_csaf: trustify_module_importer::server::csaf: return=Err(Normal { err: Visitor error: Query Error: error returned from database: insert or update on table "cvss3" violates foreign key constraint "cvss3_vulnerability_id_fkey", output: RunOutput { report: Report { start_date: 2024-06-06 11:09:43.960618328 +00:00:00, end_date: 2024-06-06 11:09:45.470015842 +00:00:00, numer_of_items: 1, messages: {Upload: {"https://access.redhat.com/security/data/csaf/v2/advisories/2024/rhsa-2024_3666.json": [Message { severity: Error, message: "upload failed: Query Error: error returned from database: insert or update on table \"cvss3\" violates foreign key constraint \"cvss3_vulnerability_id_fkey\"" }]}} }, continuation: None } }) importer=CsafImporter { common: CommonImporter { disabled: false, period: 30s, description: None }, source: "https://redhat.com/.well-known/csaf/provider-metadata.json", v3_signatures: true, only_patterns: [] } last_run=None
2024-06-06T11:09:45.470281Z ERROR run:run_once: trustify_module_importer::server: error=Visitor error: Query Error: error returned from database: insert or update on table "cvss3" violates foreign key constraint "cvss3_vulnerability_id_fkey"
2024-06-06T11:09:45.470360Z  INFO run: trustify_module_importer::server: Import run complete: Some("Visitor error: Query Error: error returned from database: insert or update on table \"cvss3\" violates foreign key constraint \"cvss3_vulnerability_id_fkey\"")

Another thing

The README file indicates that the source of a CSAF file for red hat should be https://redhat.com/.well-known/csaf/provider-metadata.json
On the other hand, the sample data indicates that the source of CSAF is redhat.com

https://github.com/trustification/trustify/blob/bc9e6a5b226b8e11a4b44d1315ae003546454a0b/server/src/sample_data.rs#L97
One of them is not correct, either the README or the sample data. But in both cases the original error described in this issue applies to both

Both variants (redhat.com as well  as the full URL) work.
The error looks more like a general ingest error. Which is just the service used by the importer. So I would recommend testing this with a plain upload.

I have made a quick test and upload a CSAF file manually and it worked. So the issue might be the importer.
The title of this issue refers to the importer not working for CSAF files so the issue is still valid. And the steps to reproduce it are also valid

You can easily reproduce the issue like this:
➜  repro wget https://access.redhat.com/security/data/csaf/v2/advisories/2024/rhsa-2024_3666.json
rhsa-2024_3666.json  100% [====================================================================================================================================================================>]    4.50K    --.-KB/s
                          [Files: 1  Bytes: 4.50K [21.26KB/s] Redirects: 0  Todo: 0  Errors: 0                                                                                ]
➜  repro cat rhsa-2024_3666.json | http POST localhost:8080/api/v1/advisory Authorization:$(oidc token trusty -b)
HTTP/1.1 400 Bad Request
access-control-allow-credentials: true
access-control-expose-headers: content-type
content-encoding: br
content-type: application/json
date: Thu, 06 Jun 2024 11:52:54 GMT
transfer-encoding: chunked
vary: Origin, Access-Control-Request-Method, Access-Control-Request-Headers
vary: accept-encoding

{
    "error": "Ingestor error",
    "message": "Query Error: error returned from database: insert or update on table \"cvss3\" violates foreign key constraint \"cvss3_vulnerability_id_fkey\""
}

It has nothing to do with the importer.


Esc key does not work for closing window

On latest Gentoo install, using i3, Esc key does not close window.

Duh... Esc is not supported in 0.9.2.


Better handle criteria for static variables

[ ] Ensure static inclusion is better handled as currently it can only be expressed as a predicate with MEDS

Similar to #47

So, there are a few ways static data can be expressed:

In ESGPT, there is a separate dataframe for static data.
In MEDS, static data has null timestamps.
In manually extracted predicates, there is (currently) no notion of static data.

I suggest that we do the following:

In the extracted predicates dataframe, a single row with a null timestamp reflects "static" observations. This is true regardless of whether the source is MEDS, ESGPT, or manually extracted.
Then we need to define a way in the configuration file to express static constraints. Here, we have some flexibility. I suggest that, for now, we add a "patient_demographics" section to the configuration file separate from "windows" that imposes constraints on the null timestamp row, apply that before the trigger, then remove the null predicates row and proceed as planned. The "patient_demographics" section would contain merely the (static only) constraints imposed over the entire population. However, this should be noted to potentially be something that changes in the future and we should have an open github issue in addition to this issue which can track these changes for community contributions on revisions to the API, which we link in the documentation.

Thoughts?

Yep that makes sense, I'll add this - separating static variables out into another section is much cleaner than trying to integrate it into a particular window. It's also over the entire population anyway and that way we won't have too alter the actual extraction at the moment.

Would it be better to filter for static critera before creating the final predicates dataframe (ie. getting derived predicates and cleaning up) or after?
Advantage of doing it before is that there would be less rows used to calculate the predicates, which should reduce compute needed since it was the most memory intensive step from the profiling. However, the number of rows excluded would be based on the number of raw rows as opposed to the number of processed predicates dataframe rows (which is used during the recursion, numbers are inconsistent).
The other option is to switch all to show the number of patients excluded as opposed to rows, then it wouldn't matter and it be better to filter before creating predicate dataframe

The thing to focus on here is computational simplicity (e.g., code simplicity). So I would break it down like this:

Compute the predicates dataframe with statics as null timestamps, otherwise unmodified.
Remove the rows with null timestamps and evaluate any static constraints and use that to filter the possible trigger events.
Proceed with the recursive algorithm like normal.

I guess my question was originally re: 1, since computing the predicates dataframe would group all the null timestamp rows together, so I would have to take out the null timestamp rows, compute predicates, and then add them back in. If I am already taking them out prior to computing the predicates dataframe, I was wondering if it would be better to filter the input dataframe first so that computing predicates costs less computationally

Why not just let it group the null timestamp rows together and compute the aggregate predicates as normal? What problem does that cause? Static predicates are just normal predicates with null timestamps, so should be able to be treated as such in all instances, as far as I can figure.

Oh I see what you mean now, I thought we wouldn't create predicate columns for static variables but I guess it would make sense to directly treat it as plain predicates as you said!

Closed by #82


fix(mediaplayer): description length over 256 when getOption

Codecov Report

Merging #82 into develop will increase coverage by 3.86%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##           develop      #82      +/-   ##
===========================================
+ Coverage    67.91%   71.78%   +3.86%
===========================================
  Files          200      200
  Lines        10594    10600       +6
===========================================
+ Hits          7195     7609     +414
+ Misses        3399     2991     -408

Impacted Files
Coverage Δ

mediaPlayer/SuperMediaPlayer.cpp
75.93% <100%> (+4.49%)
:arrow_up:

mediaPlayer/MediaPlayer.cpp
70.62% <100%> (+0.69%)
:arrow_up:

framework/codec/ActiveDecoder.cpp
86.01% <0%> (-1.04%)
:arrow_down:

framework/demuxer/play_list/HlsParser.cpp
80.33% <0%> (-0.68%)
:arrow_down:

framework/demuxer/avFormatDemuxer.cpp
80.87% <0%> (-0.63%)
:arrow_down:

mediaPlayer/player_notifier.cpp
81.31% <0%> (-0.55%)
:arrow_down:

framework/filter/ffmpegAudioFilter.cpp
82.43% <0%> (+0.97%)
:arrow_up:

framework/demuxer/demuxer_service.cpp
83.03% <0%> (+1.81%)
:arrow_up:

framework/demuxer/play_list/SegmentTracker.cpp
82.96% <0%> (+2.74%)
:arrow_up:

... and 17 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 46b5bd5...69fb3a7. Read the comment docs.


Capturing attention weights and seeing which words contributed to the classification

I am not clear on how to actually see which words contributed to a particular classification.  I have been able to get the weights from the sentence level attention layer but unclear on how to process this 3D matrix to get information on if the word contributed to the classification.

I am not clear what the "sequences" is in the following code to find attention weights:
test_seq = pad_sequences([sequences[index]], maxlen=MAX_SEQUENCE_LENGTH)
Thank you!


added check_mk mk-job support

check_mks mk-job command, which collects execution state and runtime statistics of cron jobs (https://mathias-kettner.de/checkmk_job.html), needs own folder to run non root cron jobs.
This addition checks for cron jobs which starts with "mk-job" wrapper command and creates needed non root folder if needed.

Hi,
I've never used mk-job / check_mk so I might be wrong, but from what I read in the documentation it requires a folder like this:
/var/lib/check_mk_agent/job/$unique_ident
Not /var/lib/check_mk_agent/job/$user.
Generally I'm not a fan of matching regular expressions against a variable and behaving differently when matched.
I'd be more happy to introduce new parameters, e.g.:
$mk_job => boolean, default: false
$mk_job_ident => string, default: undef. Required when $mk_job is set to true
Then based on those the cronjob would get prefixed with mk-job and $ident when $mk_job is set to true.
This would also be a bit better backwards compatible.
If currently someone already has setup mk-job cronjobs with this module and handles the folder creation outside of this module, the create_resource might break their puppet runs.

Hi Roman,
the ident should be an unique name so why not the username, as its unique?
For me the folders look like:
/var/lib/check_mk_agent/job/root/job1
/var/lib/check_mk_agent/job/root/job2
/var/lib/check_mk_agent/job/www-data/job1
/var/lib/check_mk_agent/job/www-data/job2
So if mk-job runs a job for user www-data it creates the "www-data" folder in "/var/lib/check_mk_agent/job" and than saves a file with the mk-jobname (e.g.: job1) in this folder.
I like your idea to just add a new $mk_job variable.
I'll add it to the module and update the pull request.

Done.

Sorry for very late reply on this!
I do not think that this makes sense as part of this module.
Having a wrapper around it is probably the better way to handle this.
I'd like to keep this module very simplistic and not add cases for tools like these.
Sorry about that!


fix: cache rds client [DIA-44302]

Description
Cache the rds client to speed up connection creation. Only the first connection to be created will have a hit on performance and the others will be faster to create.
Fix based on this article and this boto3 github thread
Related PRs

tested: https://github.com/dialoguemd/notepad/pull/246
Validation
No errors, system tests are green

LGTM! I wonder if we should consider initializing (and caching) the initial client / connection as part of the startup sequence, so that the "slow" first call is not randomly given to an unlucky request. WDYT?

That is a really good suggestion. Since the function caches the client, we could simply call the get_rds_client between those 2 lines? Feels like a hack though

@mbelang I don't think it would be that hacky, since that method is called by the library's startup which is called on app startup. I would either have put it where you suggested, or directly in the startup method, but I think your suggestion made the most sense.

@mbelang I don't think it would be that hacky, since that method is called by the library's startup which is called on app startup. I would either have put it where you suggested, or directly in the startup method, but I think your suggestion made the most sense.

Perfect then it is done now.

Semantic is broken again will merge with admin rights


Add boilerplate files

:+1:
After this lands...

Enable Travis on both Travis and Github side
Merge master into the other PR.

We need a copy of the license, else @stefanor will be the saddest person you've ever sat next to in an office environment.

Thanks @DevShep :)

The license is already in master

and I don't have the permissions to enable Travis on this repo.

but I've enabled it.


switching to use imported d2lIntl library instead of relying on BSI

This is a temporary first step towards a fix. Eventually, I want this to call into d2l-localize-behavior which will contain d2lIntl, but in the meantime I need to get it to stop referencing BSI.Intl because that's going away.

Closing this for now as I'm going to delay this change until d2l-localize-behavior has better support for user overrides. Will re-open then.


Question about window.user = ! {user}

Hi everyone,
In the source code, I saw the code like that: "window.user = ! {user}",
Could you tell me when user value is assigned? Why do we use it?
I 've got an issues: when I try to refresh the pages, window.user = null.
so, what should I do to solve it.
Thanks,

No updates or issue resolutions planned.


Handle VMware VMs reportedly having 0 CPU Sockets

VMware has been seen to return inventory stating that a VM has
0 CPU sockets causing a ZeroDivisionError exception in the
vmware refresh_parser.
There is an existing check for numCoresPerSocket being nil,
so expand on that to check for 0 as well.
https://bugzilla.redhat.com/show_bug.cgi?id=1282851

@miq-bot add-label bug providers/vmware wip
cc @blomquisg

@miq-bot add-label bug, providers/vmware, wip

@miq-bot remove-label wip


injector.unInjectTo()

If I inject something to a loaded content(in a child application domain), it will be impossible to unload that content from memory. Because the loaded content itself and it's class definition is saved in there dictionaries inside the Injector instance.
So I suggest an unInjectTo(target:Object) method. It's important to dynamically loading modules.
public function unInjectInto(target : Object) : void
{
if (m_attendedToInjectees[target])
{
delete m_attendedToInjectees[target];
}
		var ctor : Class = getConstructor(target);

		if (m_injectionPointLists[ctor])
		{
			delete m_injectionPointLists[ctor];

			var description : XML = describeType(ctor);
			delete m_injectionPointLists[description.@name.toString()];
		}

		if(m_constructorInjectionPoints[ctor])
		{
			delete m_constructorInjectionPoints[ctor];
		}
	}

As @vizio360 says, the Injector doesn't store information about which instances it injected into anymore in version 2. Additionally, there will be an explicit way to tear down objects, causing their [PreDestroy]-annotated methods to be called. But that'll not really be required for this use-case.


Add flagger support for automated canary releasing

Support for https://flagger.app to provide automated canary rollouts

This feature is currently blocked on Kong as it doesn’t provide a canarying feature needed to implement this functionality. (Kong Enterprise provides such a feature, this issue tracks the feature request for Kong open-source).

Hi @hbagdi, Any changes regarding this issue?

None yet.
Kong has yet to implement the canary release functionality and it is on the roadmap.

Feature request in Kong: https://github.com/Kong/kong/issues/6335

Handled in #557 - closing as duplicate


use minimum versions for provider pinning

what
set minimum versions for providers without pinning to a specific major version
why
the current method makes it very difficult to maintain or upgrade consistent provider versions within a project
references
https://www.terraform.io/docs/configuration/provider-requirements.html#best-practices-for-provider-versions

@aknysh

/test all

/terraform-fmt

/rebuild-readme

/test all

@osterman AWS provider 3.0 has  a breaking change that breaks this module. aws_s3_bucket 2.x allows setting the region on the resource, while 3.x forbids it. How do you want to handle this?

@Nuru if it's helpful, i've got an aws 3.0 PR open for the s3 bucket module

Ya all of our bucket modules have problem like the tf state backend module. I say bite the bullet and upgrade. However the fix is just to remove the region and the region passed with the provider should work for both versions, no?

yeah that's correct. and anyone with a corner case who might have been specifying a bucket region different from the provider would get an error on upgrade rather than tf accidentally trying to make some kind of destruction change

/test all


Install script and install documentation are inconsistent

The script seems to put stuff in /usr/local/databrowse. But the actual files assume they are in /var/www/databrowse. The documentation suggests /home/databrowse. The installation script also drops stuff in /etc, which I don't think would actually be used (?)
The install instructions suggest python setup.py install with no prefix set. The script sets --prefix=/usr/local by default (which won't work out-of-the-box on RH-based distros)

This script was never intended for use outside of our lab, which is why it isn't mentioned in the documentation.  I will remove it from the repository but leave it in place in the lab to aide in automating deployment (I will actually move it to the internal theme repository and symlink it).
I'm torn on whether or not to provide such a script for actual distribution.  Such a script, if setup correctly, should be able to handle most of the hard work for most Linux environments, but it poses the risk of someone seeing it without reading anything else and "sudo ./install" without even seeing what it does.


async-36: New OctreeChunkLoader

Description

Create new OctreeChunkLoader class

In preparation for multi-level loader/renderering.
We want something outside of OctreeImage to manage multi-level loading/rendering.
OctreeChunkLoader is a starting point.

Create new LayerRef tuple

So OctreeChunkLoader can submit chunk requests without a reference to OctreeLayer.
So Layer depends on OctreeChunkLoader but not the reverse.
This is better anyway: so ChunkLoader depends less on layers.

We can probably break the dependency 100% with some more effort.

A few random pylint fixes.

Type of change

[x] Refactoring in experimental code

Marking ready for review. This is pre-work for multi-level rendering.
With OctreeChunkLoader split out, we are in a position to extend octree chunk loading to multi-level, although might end up being multiple classes or a class bigger in scope than just chunk loading.

Made another fix on test.
I can't run tests locally right now I get:
napari39) ➜  napari git:(feature/async-36) pytest
===================================== test session starts ======================================
platform darwin -- Python 3.9.0, pytest-6.1.2, py-1.9.0, pluggy-0.13.1
rootdir: /Users/pbw/dev/napari, configfile: pyproject.toml
plugins: napari-plugin-engine-0.1.8, ome-zarr-0.0.16
collected 0 items / 1 error

============================================ ERRORS ============================================
________________________________ ERROR collecting test session _________________________________
../../miniconda3/envs/napari39/lib/python3.9/site-packages/pluggy/manager.py:104: in register
    raise ValueError(
E   ValueError: Plugin already registered: /Users/pbw/dev/napari/napari/conftest.py=<module 'napari.conftest' from '/Users/pbw/dev/napari/napari/conftest.py'>
E   {'140631725694160': <_pytest.config.PytestPluginManager object at 0x7fe7600ddcd0>, 'pytestconfig': <_pytest.config.Config object at 0x7fe76816ad00>, 'mark': <module '_pytest.mark' from '/Users/pbw/miniconda3/envs/napari39/lib/python3.9/site-packages/_pytest/mark/__init__.py'>, 'main': <module '_pytest.main' from '/Users/pbw/miniconda3/envs/napari39/lib/python3.9/site-packages/_pytest/main.py'>, 'runner': <module '_pytest.runner' from '/Users/pbw/miniconda3/envs/napari39/lib/python3.9/site-packages/_pytest/runner.py'>, 'fixtures': <module '_pytest.fixtures' from '/Users/pbw/miniconda3/envs/napari39/lib/python3.9/site-packages/_pytest/fixtures.py'>, 'helpconfig': <module '_pytest.helpconfig' from '/Users/pbw/miniconda3/envs/napari39/lib/python3.9/site-packages/_pytest/helpconfig.py'>, 'python': <module '_pytest.python' from '/Users/pbw/miniconda3/envs/napari39/lib/python3.9/site-packages/_pytest/python.py'>, 'terminal': <module '_pytest.terminal' from '/Users/pbw/miniconda3/envs/napari39/lib/python3.9/site-packages/_pytest/terminal.py'>, 'debugging': <module '_pytest.debugging' from '/Users/pbw/miniconda3/envs/napari39/lib/python3.9/site-packages/_pytest/debugging.py'>, 'unittest': <module '_pytest.unittest' from '/Users/pbw/miniconda3/envs/napari39/lib/python3.9/site-packages/_pytest/unittest.py'>, 'capture': <module '_pytest.capture' from '/Users/pbw/miniconda3/envs/napari39/lib/python3.9/site-packages/_pytest/capture.py'>, 'skipping': <module '_pytest.skipping' from '/Users/pbw/miniconda3/envs/napari39/lib/python3.9/site-packages/_pytest/skipping.py'>, 'tmpdir': <module '_pytest.tmpdir' from '/Users/pbw/miniconda3/envs/napari39/lib/python3.9/site-packages/_pytest/tmpdir.py'>, 'monkeypatch': <module '_pytest.monkeypatch' from '/Users/pbw/miniconda3/envs/napari39/lib/python3.9/site-packages/_pytest/monkeypatch.py'>, 'recwarn': <module '_pytest.recwarn' from '/Users/pbw/miniconda3/envs/napari39/lib/python3.9/site-packages/_pytest/recwarn.py'>, 'pastebin': <module '_pytest.pastebin' from '/Users/pbw/miniconda3/envs/napari39/lib/python3.9/site-packages/_pytest/pastebin.py'>, 'nose': <module '_pytest.nose' from '/Users/pbw/miniconda3/envs/napari39/lib/python3.9/site-packages/_pytest/nose.py'>, 'assertion': <module '_pytest.assertion' from '/Users/pbw/miniconda3/envs/napari39/lib/python3.9/site-packages/_pytest/assertion/__init__.py'>, 'junitxml': <module '_pytest.junitxml' from '/Users/pbw/miniconda3/envs/napari39/lib/python3.9/site-packages/_pytest/junitxml.py'>, 'doctest': <module '_pytest.doctest' from '/Users/pbw/miniconda3/envs/napari39/lib/python3.9/site-packages/_pytest/doctest.py'>, 'cacheprovider': <module '_pytest.cacheprovider' from '/Users/pbw/miniconda3/envs/napari39/lib/python3.9/site-packages/_pytest/cacheprovider.py'>, 'freeze_support': <module '_pytest.freeze_support' from '/Users/pbw/miniconda3/envs/napari39/lib/python3.9/site-packages/_pytest/freeze_support.py'>, 'setuponly': <module '_pytest.setuponly' from '/Users/pbw/miniconda3/envs/napari39/lib/python3.9/site-packages/_pytest/setuponly.py'>, 'setupplan': <module '_pytest.setupplan' from '/Users/pbw/miniconda3/envs/napari39/lib/python3.9/site-packages/_pytest/setupplan.py'>, 'stepwise': <module '_pytest.stepwise' from '/Users/pbw/miniconda3/envs/napari39/lib/python3.9/site-packages/_pytest/stepwise.py'>, 'warnings': <module '_pytest.warnings' from '/Users/pbw/miniconda3/envs/napari39/lib/python3.9/site-packages/_pytest/warnings.py'>, 'logging': <module '_pytest.logging' from '/Users/pbw/miniconda3/envs/napari39/lib/python3.9/site-packages/_pytest/logging.py'>, 'reports': <module '_pytest.reports' from '/Users/pbw/miniconda3/envs/napari39/lib/python3.9/site-packages/_pytest/reports.py'>, 'faulthandler': <module '_pytest.faulthandler' from '/Users/pbw/miniconda3/envs/napari39/lib/python3.9/site-packages/_pytest/faulthandler.py'>, 'napari-plugin-engine': <module 'napari_plugin_engine._testsupport' from '/Users/pbw/miniconda3/envs/napari39/lib/python3.9/site-packages/napari_plugin_engine/_testsupport.py'>, 'napari-conftest': <module 'napari.conftest' from '/Users/pbw/dev/napari/napari/conftest.py'>, 'capturemanager': <CaptureManager _method='fd' _global_capturing=<MultiCapture out=<FDCapture 1 oldfd=8 _state='suspended' tmpfile=<_io.TextIOWrapper name="<_io.FileIO name=9 mode='rb+' closefd=True>" mode='r+' encoding='utf-8'>> err=<FDCapture 2 oldfd=16 _state='suspended' tmpfile=<_io.TextIOWrapper name="<_io.FileIO name=17 mode='rb+' closefd=True>" mode='r+' encoding='utf-8'>> in_=<FDCapture 0 oldfd=5 _state='started' tmpfile=<_io.TextIOWrapper name='/dev/null' mode='r' encoding='UTF-8'>> _state='suspended' _in_suspended=False> _capture_fixture=None>, 'session': <Session napari exitstatus=<ExitCode.OK: 0> testsfailed=0 testscollected=0>, 'lfplugin': <_pytest.cacheprovider.LFPlugin object at 0x7fe7706921c0>, 'nfplugin': <_pytest.cacheprovider.NFPlugin object at 0x7fe770692130>, 'faulthandler-hooks': <_pytest.faulthandler.FaultHandlerHooks object at 0x7fe770692400>, 'stepwiseplugin': <_pytest.stepwise.StepwisePlugin object at 0x7fe7706922e0>, 'terminalreporter': <_pytest.terminal.TerminalReporter object at 0x7fe7706928b0>, 'logging-plugin': <_pytest.logging.LoggingPlugin object at 0x7fe7609093d0>, 'funcmanage': <_pytest.fixtures.FixtureManager object at 0x7fe760915b80>}
=================================== short test summary info ====================================
ERROR  - ValueError: Plugin already registered: /Users/pbw/dev/napari/napari/conftest.py=<mod...
!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!
======================================= 1 error in 0.31s =======================================

And yeah I think it's a pattern if you have a big class A and then you split out B. Then A depends on B. But sometimes you'll be tempted to make B also depend on A, which is somewhere between not good and not allowed.
But if there is some A' that A can create or hold and pass to B, that might be a way out. And then you might find other places that can have or pass around this tiny A' instead of the full A.

It passed. But I added one more cleanup change.
Now starting on async-37, maybe multi-level or another step towards it.

I can't run tests locally right now. Which is why I keep pinging CI.

@pwinston  you might need to uninstall / update your ome-zarr plugin. We were having problems described here https://github.com/napari/napari/issues/1661#issuecomment-738793545 that i think are fixed in the next ome-zarr release (which might not be out yet).
Rest of the PR looks good. I will merge now


Header on App card gets cropped

We need to figure out what to do with the cropped App card header.

@stevengeeky I am seeing this after the latest PR


Imporove EMAIL_REGEX

Hello @games647 !
Can you please update EMAIL_REGEX here to allow emails like<EMAIL_ADDRESS>(2nd and 3rd level domains) ?

Also is there any reason for not allowing lowercase characters?

https://github.com/games647/FlexibleLogin/commit/e4c9976d199fcedd960a98e8720fa0211cb99ee9

Also is there any reason for not allowing lowercase characters?

Yeah I noticed. I just copied it from somewhere.

Thanks! :beer:


HuggingFace Models as Azure ML Managed endpoints

Feature request
You now support Hugging Face Inference endpoints, could you support also HF Models deployed in Azure ML as Managed endpoints?
It should be a similar implementation, its a REST API
Motivation
My company would like to use Azure services only :) and many companies are like this
Your contribution
I could help with some guidance.

Is there something available for huggingface text embedding models deployed on Azure ML online endpoints?


Added an 'Omit extra data' prop to remove formData fields not represented in the schema

Reasons for making this change
Please see #1190 for details. This PR is accomplishes the same goal as #1190, but this solution does not rely on changing the DOM.
Checklist

[x] I'm updating documentation

[x] I've checked the rendering of the Markdown text I've added

[x] I'm adding or updating code

[x] I've added and/or updated tests
[x] I've updated docs if needed
[x] I've run npm run cs-format on my branch to conform my code to prettier coding style

[x] I'm adding a new feature

[x] I've updated the playground with an example use of the feature

@CodeGains The complexity of this PR worries me (although if that complexity is needed to implement the functionality, then that's fine). I'm trying to understand why exactly you needed to define a nameSchema -- could you explain the reason(s) you decided to go with that? I see that, unlike idSchema, nameSchema correctly handles array items that are showing up on the form -- is there anything else that it's supposed to handle?
I think we should also add tests for toNameSchema. That will also help enumerate the use cases for it.

@epicfaace
Ya it got a little complex, but I tried to make it so that the changes wouldn't impact other functionality. That is the main reason why toNameSchema is its own thing, rather than trying to modify some existing thing like toIdSchema. So the complexity is all contained within this feature since nothing uses the nameSchema. As a plus, it could be nice to have for other features in the future.
You are correct about the nameSchema. It will have each array element listed separately so that dependencies in array elements are handled independently. For example:
One array element could have a dependency met and data in the corresponding dependent field. Another element might have the same dependency not met and also data in the dependent field. Data in the dependent field should only be omitted in the second element.
There's lots of tests for toNameSchema in the utils test. Do you think there should be more?

Oh, sorry, forgot to expand the utils.js file (I remember seeing the tests before and wondered where it went this time haha)