[Renderdoc 1.0] Multiple queued captures not working properly

Hi, the new capture queue code I think is a bit buggy. I'll list my observations here:
a) Seems like I can no longer capture more than 4 consecutive frames. "Capture 4 sequential frames" is as high as the option goes.
b) It seems like it captures every 2 frames. So I get frames 1, 3, 5 and 7 if I set it to capture 4.
c) If delay is 0, then it ignores the consecutive frames option.

a) Yes this is deliberate, there's a large overhead in capturing frames since they go to separate files and have individual setup/teardown for the captures. Trying to capture 100 frames or something is not desirable, it's really only intended for cases where you have something cyclical over a couple of frames that you want to grab and be sure you get a capture of it.
b) I can't repro this, I tested on a program and it captured frames 135, 136, 137, 138. Can you share or point to a program where this happens? RenderDoc's frame counting is 'global' so if you had e.g. two windows both presenting, capturing four frames would capture the active window four times - which would lead to frames 1, 3, 5, 7 (since the other inactive window would be 2, 4, 6, 8).
c) I've repro'd this, it's just a silly missing case - easy enough to fix.

a) Is there no chance to get this back or an alternative? We do have processes (especially long-running editor tasks) that create and concatenate results over multiple frames and it'd be nice to be able to get them in a single run for debugging. Just out of curiosity, what is the extra overhead for capturing N frames, other than the memory required to store them?
b) We do have two windows so this doesn't seem to be a bug
c) Great :)

The main reason I'm hesitant to set a high or no limit is that there's a large shoot-yourself-in-the-foot factor. Someone who uses the option naively or with different expectations could end up stuck with their program churning away making a lot of expensive captures.
The overhead is because renderdoc doesn't try and concatenate or share any data between the frames, they get captured just as if they were entirely independent, they just happen to be next to each other. So say you have 3GB of resources hanging around that need to be fetched for renderdoc's data, and 1GB of that is saved to disk, it happens for every frame instead of being processed once and then shared. The memory use actually isn't any worse than one frame because of this, the high water mark just gets reached N times then all the memory gets freed again, and back and forth like that.
In your case if you have a specific region of work you want to bracket, I'd highly recommend using the in-application API to start the capture and stop the capture manually around the work you want to include. Then you'd also have access to the whole set of work in a single RDC file, instead of having separate files for each 'frame' where a frame doesn't necessarily even make sense for your case. Of course if the capture then has too many events it can get unwieldy that way, but there's not an ideal solution either way.
You could also trigger multiple separate frames to capture this way with no limit (the limit is purely in the UI widget) if that's what you prefer.

"Someone who uses the option naively or with different expectations could end up stuck with their program churning away making a lot of expensive captures"
I see what you mean and I agree that if it's such a memory problem the program should try to avoid mysteriously hanging a user's machine. However maybe a big tooltip with a few explanations as to how it's supposed to work and the implications of it would help people out in using this feature. Have people complained about it?
I just find '4' to be a bit limiting in this regard, and integrating the renderdoc API to get the previous functionality would be a bit painful... I have actually used up to 10 frames in the past to capture these long running processes. Perhaps just upping the limit and not making it unbound is enough?

I see what you mean and I agree that if it's such a memory problem the program should try to avoid mysteriously hanging a user's machine. However maybe a big tooltip with a few explanations as to how it's supposed to work and the implications of it would help people out in using this feature. Have people complained about it?

In an ideal world then yes this would be enough, but even with the giant red text on the inject screen there are sometimes people who don't see/read that and don't understand why the injecting fails. Unfortunately for better or worse the reality is that a lot of people don't read documentation or tooltips.
That said RenderDoc is a tool for devs so there's some degree of being willing to give people enough rope, but there's still a balance between the value of exposing/making available some option and how often it will be useful vs. the chance and impact that it will screw someone up.

I just find '4' to be a bit limiting in this regard, and integrating the renderdoc API to get the previous functionality would be a bit painful... I have actually used up to 10 frames in the past to capture these long running processes. Perhaps just upping the limit and not making it unbound is enough?

I've raised the limit to 10 for now, although that's still higher than I'd like. I don't promise to keep it there forever if it does turn out to be a problem. It's fine when each frame capture only takes a couple of seconds, but if each frame capture takes 20 seconds then you've just signed your machine up for over 3 minutes of heavy work...
I still think the best solution for you is to do a custom capture because it doesn't sound like you're capturing 10 frames, you're capturing one piece of work that happens to run across 10 frames. If I understand your use-case correctly, it could be that something in your codebase changes - unrelated to what you want to capture - and then the work ends up spread across 20 frames. I've captured baking processes and offline processes before and the best way to do it is to define the region yourself in code rather than trying to match it up to N frame boundaries.

Unfortunately for better or worse the reality is that a lot of people don't read documentation or tooltips.

:(

I've raised the limit to 10 for now, although that's still higher than I'd like. I don't promise to keep it there forever if it does turn out to be a problem.

:)

I still think the best solution for you is to do a custom capture because it doesn't sound like you're capturing 10 frames, you're capturing one piece of work that happens to run across 10 frames.

That's fair enough, thanks for understanding. To be fair we do have in scope integrating the renderdoc api into the engine and you're right that it is the best solution, probably a lot more flexible than what I currently do, but it's just not been done yet and until it is it's helpful for us to keep a relatively high capture count.

That's fair enough, thanks for understanding. To be fair we do have in scope integrating the renderdoc api into the engine and you're right that it is the best solution, probably a lot more flexible than what I currently do, but it's just not been done yet and until it is it's helpful for us to keep a relatively high capture count.

Remember of course there's always the option of compiling your own version with the limit raised. That's one of the advantages of open source :smile:.
Actually it's even possible to do without recompiling, since it's just a UI-enforced limit. On windows builds where PySide2 is available you can run this while a capture connection is open:
from PySide2.QtGui import *
from PySide2.QtWidgets import *
mainwindow = pyrenderdoc.GetMainWindow().Widget()
for spinner in mainwindow.findChildren(QDoubleSpinBox, "numFrames"):
    spinner.setMaximum(999.0)

Remember of course there's always the option of compiling your own version with the limit raised

Yeah that's definitely an option, thanks for the tip and the code. One doesn't always know the implications though, for all I know renderdoc hasn't allocated enough memory for all those captures! I'd be like "Hmm let's raise this little number here see what it [...]"

Made those changes mentioned above now.

Works great, thanks a lot!


HBase docs mistakes

I found some mistakes when following the instructions.

Hi @changhc, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.azure.com.

TTYL, AZPRBOT;

@changhc, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, AZPRBOT;

@changhc : Thanks for your contribution to the Azure documentation! The author, @mumian, has been notified to review your proposed change.

For the sentiment article, the Twitter API has switched the coordinates in the latest API.  I have updated the article to specify the API version.
For the HBase getting started article, the paths appear to be fine with my test. There is one issue with putting spaces after commas in the column family.  I will update the article.
#please-close


Snippets could be triggered in non-math environment

After coding Latex for a while, snippets will be triggered in non-math environment. I need to re-start VS code once for a while. For example, in text environment, when type to, it becomes \to; when type (some random text)+bf, \mathbf{} will be triggered instead of \textbf{}.
VS Code:
Version: 1.82.2 (user setup)
Commit: abd2f3db4bdb28f9e95536dfa84d8479f1eb312d
Date: 2023-09-14T05:55:25.390Z
Electron: 25.8.1
ElectronBuildId: 23779380
Chromium: 114.0.5735.289
Node.js: 18.15.0
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.22621
Latex distribution:
2023 TexLive.
Attached are vscode settings.json and latex.hsnips
settings_and_latex.code.snippet.zip
I'd really appreciate if you could kindly help me check this question out, thank you!

A quick potential fix: reload the scope of the tab by shift+cmd(ctrl)+p and select HyperScopes: Reload Scopes For Current Document. Let me know if this doesn't work.

A quick potential fix: reload the scope of the tab by shift+cmd(ctrl)+p and select HyperScopes: Reload Scopes For Current Document. Let me know if this doesn't work.

Thanks! This is helpful. The whole night I've coding Latex and the problem haven't showed yet.

This is mainly a Hypersnips bug (or a VSCode one, it's complicated). Although the author of Hypersnips claimed that this was already fixed, I consistently face the same problem. Whenever I met it, I reloaded the scopes and moved on. Binding this action on a keybinding might be a good idea, though whenever I'm typesetting LaTeX, this is the only action I'll use so it's always on the top (maybe except the first time). So it's really just shift+cmd+p and Enter, problem solved.


PreCapture filter: tcp/udp IPv4 missing proto check

The PreCapture filter is missing check for TCP/UDP protocol number in the IPv4 Protocol field

fixed, requires regression
regression test is on
65e9a3c595b0fc9b9ee817edc3f1e625  sb_sctp_tcp_portcheck.pcap
check is
tcp.port.src == 3868 -> ACCEPT
tcp.port.dst == 3868 -> ACCEPT

it should only show TCP data (not SCTP)

packet count should be # 3064

regression updated, closed


python3Packages.circuit-webhook: init at 1.0.1

Motivation for this change
Module for Unify Circuit API webhooks
https://github.com/braam/unify/tree/master/circuit-webhook-python
This is a Home Assistant dependency.
Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 158014 run on x86_64-linux 1

2 packages built:

python310Packages.circuit-webhook
python39Packages.circuit-webhook


Improve error reporting from parboiled parsers

Our existing delivery scheme discards too much information from the parse error.  Nearly every header parser that fails only returns "entry" as the detail.  Now we get:
scala> HttpHeaderParser.CONTENT_LENGTH("blech").leftMap(_.message)
res4: String \/ org.http4s.headers.Content-Length =
-\/(Invalid header: Invalid input 'b', expected entry (line 1, column 1):
blech
^)

All the leftMapping is so we can bring the ParseError back to where we have the input.
This will make some of the headers work @wedens is doing on #1143 more useful.

Alright, let's do this. Anything that breaks, needs to.


Build an integration with Splunk

We need ALM to send vulnerability scan results to Splunk. Can you please develop this model?
Thanks,

Hello @amirgabrieli!
I'm working about this integration now.
I did work with Splunk, can you help me with some moments?
I want to send events to HTTP Event Collector. Is it OK?
also  which format is better for these events?
I want to write a webhook title to an event field, and add other JSON to nestedfield.

Hello @amirgabrieli!
I'm working about this integration now.
I did work with Splunk, can you help me with some moments?
I want to send events to HTTP Event Collector. Is it OK?
also  which format is better for these events?
I want to write a webhook title to an event field, and add other JSON to nestedfield.

hi,
I can provide you with a Splunk instance if you need one.
Do you know how to Operator Splunk and create your own HTTP Event Listener?
Regarding the format - let me know what you recommend. I need a format where users will be able to see the image, the scan results, the registry, the vulnerabilities, the severity, the fixed version (if any), and vulnerability description, and the remediation actions if any.  I need customers to query by image, vulnerability, sevirity, has or doesn't have a fox. etc.
Can you suggest a format?
Thanks,

hi,
I can provide you with a Splunk instance if you need one.
Do you know how to Operator Splunk and create your own HTTP Event Listener?
Regarding the format - let me know what you recommend. I need a format where users will be able to see the image, the scan results, the registry, the vulnerabilities, the severity, the fixed version (if any), and vulnerability description, and the remediation actions if any.  I need customers to query by image, vulnerability, sevirity, has or doesn't have a fox. etc.
Can you suggest a format?
Thanks,

@amirgabrieli
Thanks for offer your instance.
I think it will be useful for finish tests.
I'm using a docker instance now, and I'll try to use a trial period for cloud version.
Yes, I can create a HTTP Event Listener and send a JSON to my splunk instance.
I need some time to think over about format.
If i understand right, Splunk usually contains 'timestamp - event' data.
Should ALM add one event for a scan result?
Maybe will it be a plain text like an event?
thanks!

@amirgabrieli
Thanks for offer your instance.
I think it will be useful for finish tests.
I'm using a docker instance now, and I'll try to use a trial period for cloud version.
Yes, I can create a HTTP Event Listener and send a JSON to my splunk instance.
I need some time to think over about format.
If i understand right, Splunk usually contains 'timestamp - event' data.
Should ALM add one event for a scan result?
Maybe will it be a plain text like an event?
thanks!

you'll need a timestamp for each scan results, yes. I think one event per scan is the right approach. Json vs. plain-text, I don't know what's better, I mostly see people use json format.

you'll need a timestamp for each scan results, yes. I think one event per scan is the right approach. Json vs. plain-text, I don't know what's better, I mostly see people use json format.

Hello @amirgabrieli
I've pushed a first version of Splunk plugin for ALM integration to issue-74 branch.
would you mind using it?
If yes, I need to set next parameters in cfg.yaml:
- name: splunk
  type: splunk
  enable: true
  url: http://localhost:8088 # Mandatory. Url of a Splunk server
  token: <token> # Mandatory. a HTTP Event Collector Token

Hello @amirgabrieli
I've pushed a first version of Splunk plugin for ALM integration to issue-74 branch.
would you mind using it?
If yes, I need to set next parameters in cfg.yaml:
- name: splunk
  type: splunk
  enable: true
  url: http://localhost:8088 # Mandatory. Url of a Splunk server
  token: <token> # Mandatory. a HTTP Event Collector Token

I'll test the Splunk plug-in and let you know how it works for us, thanks!


There are no references to the Report Spam page

Expected content
Searching for:

Spam
Abuse
Phishing

Should eventually lead to pages like:
https://sendgrid.com/report-spam/
Actual content
Found https://sendgrid.com/docs/glossary/spoofing/#reporting-email-abuse but with no link to https://sendgrid.com/report-spam/
Had to use external search engines to find https://sendgrid.com/report-spam/
https://support.sendgrid.com/hc/en-us also gives of the wrong impression that an account is needed to report spam and such.

Hello @Vayner
Thank you for this feedback. We have added this issue to our backlog and will address it as soon as possible.


Panic when CARGO_TARGET_DIR is not "target"

Panic:
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Could not remove base "/tmp/start" from "/tmp/it_doesnt_really_matter"', /home/aru/.cargo/registry/src/github.com-1ecc6299db9ec823/cargo-leptos-0.1.7/src/ext/cargo.rs:73:68
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Simple reproduction on linux:
git clone https://github.com/leptos-rs/start /tmp/start
cd !$
CARGO_TARGET_DIR=/tmp/it_doesnt_really_matter cargo leptos build

Adding my own message to this.
I have CARGO_BUILD_TARGET_DIR set, and I get this
thread 'main' panicked at 'called Result::unwrap()on anErr value: Could not remove base "C:\\Users\\<Path>\\rust\\site" from "R:\\Temp\\rust\\app-1744663956"', \cargo\registry\src\index.crates.io-6f17d22bba15001f\cargo-leptos-0.1.10\src\ext\cargo.rs:75:14

The workaround for now is to take the info from CARGO_BUILD_TARGET_DIR or CARGO_TARGET_DIR, use it to fill LEPTOS_SITE_ROOT, then remove the cargo env var from the environment before running cargo leptos


MSID: 90313 Version: 3 DOI: 10.1101/2<IP_ADDRESS>0597

MSID: 90313
Version: 3
Preprint DOI: https://doi.org/10.1101/2<IP_ADDRESS>0597
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=90313
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>0597

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/90313v3
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2<IP_ADDRESS>0597
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/90313/v3/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!


Custom CSS class issue

Are you requesting a feature, reporting a bug or ask a question?
Requesting a feature
What is the current behavior?
When I use survey custom CSS function in radiogroup, "other" attribute is not class added in to HTML
There is an parent div element, can it add a class to it, I marked in the screenshot that I attached.
Is there any chance that I can add extra div with class wrap item element, please?
What is the expected behavior?
"other " should appear and add class into raidogroup HTML
Provide the test code and the tested page URL (if applicable)
your_code_here
"radiogroup": {
        "root": " col-sm-7",
        "item": "radio-outer col-sm-5",
         "label": "labelClass",
        "other": "otherClassTextOn"

        },

@xiuzhen1103 hello! We are going to provide special classes for all needs. We will try to implement it next week.

@dmitrykurmanov thanks for let me know, may I find out if would be available next week?

@xiuzhen1103 yes of course, we'll notify you in this issue.

@xiuzhen1103 and feel free to describe what else classes you need

That would be great, thanks a lot. I have added my desired result with text in red.

hi Dmitry,
May I find out if this request has been released, please?

@xiuzhen1103, hello! I apologize for the late reply. We've released cssClasses feature for every question. I will create an example.

@xiuzhen1103 could you check this example  https://plnkr.co/edit/aIz4bdA0pFVw7WttInVF?p=preview please? Is it ok for you?  And why do you need to add class for root parent? For icheck you could use custom widget, here an example: http://surveyjs.org/examples/jquery/custom-widget-icheck/

hi Dimitry,
 if(options.question["renderAs"] === "icheck") {
I can see there is no problem with if(options.question.name == "car"), but I can not work with  if(options.question["renderAs"] === "icheck") {`
Is there any chance that if I could use
classes.root = "my_root";
classes.item = "my_item";
classes.label = "my_label";

for class inside label tag, please?

I have issue with jquery icheck lin my project, may be use icheck library
please find in plunker
https://plnkr.co/edit/SPAHMZUgz52ydFPfVS7x?p=preview

can you do
if(options.question.visibile == false) { }

I would like to add custom class into parent root by  classes.mainRoot = "mainRoot";
Please find in the following screenshot

@xiuzhen1103 hello! Ok let's try to solve these problems:

about renderAs, ICheck and cssClasses:  I've got example from surveyjs.org and added cssClasses and it works fine, please check the example https://plnkr.co/edit/03iNZC3W81FCvu7534Ad?p=preview. (in your example you missed Survey.JsonObject.metaData.addProperty definition and <link rel="stylesheet"<EMAIL_ADDRESS>link for ICheck. Anyway we will think about better and easier custom widget implementation).

about class for visible questions:  I've created a separate issue for it: #548

about move mainRoot class into row-question:  What is your use case? Could you describe it please? May be we could reach it with existing functionality. It would be great if you create issue for that question/enhancement. Thanks.


Update pre-lecture-quiz.md

my answers

Hello, please fork this repo and add your own answers on your copy, thank you


Rename llbuild.dll to libllbuild.dll on Windows

Cl by default produces .pdb and .ilk files by simply substituting the
extension of the desired target. This produces conflicts between the
debug files for llbuild.exe and llbuild.dll. This changes llbuild.dll to
be libllbuild.dll to avoid the problem.

It's against Windows convention to prefix DLLs with "lib", so I don't really like this.
On the other hand, I'm not sure what else to do, so I guess we'll have to accept this for now.

Another options was rename it to libllbuild/llbuild.dll which would also solve the issue.
Then in the build tree you'd have bin/libllbuild/llbuild.dll and lib/libllbuild/llbuild.lib

It's against Windows convention to prefix DLLs with "lib", so I don't really like this.
On the other hand, I'm not sure what else to do, so I guess we'll have to accept this for now.

Another options would be to rename it to libllbuild/llbuild.dll which would also solve the issue.
Then in the build tree you'd have bin/libllbuild/llbuild.dll and lib/libllbuild/llbuild.lib

No, you want them in the same directory so that the normal DLL search path will pick them up automatically without having to edit PATH.

@swift-ci please smoke test

@jakepetroules - yeah, I don't think that this is good either.  This can be problematic when dealing with the raw tools (e.g. MSBuild, VS) and using this as the conventions are pretty commonly adhered to.


Do not require username: or login: to be lowercase

My password files have a Username: line. browserpass fails to parse it because it's not lowercase.

strings.EqualFold() can be used to do this.


href as a property exhibits undesired behaviour

The behaviour of href is hard to predict when defined as a property, and only behaves as expected when defined as an attribute, due to the way browsers handle applying the href prop to an element.
Consider the following:
elem.Div(vecty.Markup(
    vecty.MarkupIf(condition, prop.Href("link")),
))

If condition is true at any time, this will result in the href being permanently applied (and never removed), because browsers will create an attribute to match the href prop, and this attribute will never be removed, since vecty will only act on the property, that it knows about.  The following works as expected:
elem.Div(vecty.Markup(
    vecty.MarkupIf(condition, vecty.Attribute("href", "link")),
))

There may be other props that behave in this way, but this is the only one I'm aware of currently.

Interesting issue!
This sort of opens thq eustions:

Do we remove prop.Href and require users to use vecty.Attribute("href", "link") ? I don't like this because it's less type safe / diminishes the role of the generated subpackages.
Do we remove prop.Href and add attr.Href? Of course, such an attr package would be quite small..
Do we just make prop.Href set a an attribute instead of a property? Or is that confusing as a user that it would do that under the hood?

Yep, these are good questions, it may be that we still allow such things to be set as props, but we need some type-awareness to be able to correctly remove/disable them.

Same issue with the disabled property on inputs I have found.

What's going on?
Any update?


Incorrect image modal placement when the image is loaded slow.

I had this annoying issue where sometimes my modal wouldn't render correctly, and would render way lower than it should.
After some research, I found that, if the image isn't fully loaded before the modal is shown, it will position itself just like it would if the image was a broken image or as if there was no image.
You can simulate this effect in Google Dev Tools by throttling your connection speed. If you set it low enough, you'll always get a mispositioned modal.
I have enabled observerChanges, but that didn't seem to solve them.
What fixed it for me, was defining an image and attaching an onLoad function to it, which will then trigger the .modal('show').
var img = new Image();
img.onload = () => { this.showModal(); }
img.src = this.props.imageUrl;

with
showModal: function() {
  $(this.refs.modal).modal('show');
  $(this.refs.modal).modal('refresh');
},

Is there any way to make this behaviour default?

Is it possible for you to define width and height attributes of the image?
Am Freitag, 15. Juli 2016 schrieb BeSports :

I had this annoying issue where sometimes my modal wouldn't render
correctly, and would render way lower than it should.
After some research, I found that, if the image isn't fully loaded before
the modal is shown, it will position itself just like it would if the image
was a broken image or as if there was no image.
You can simulate this effect in Google Dev Tools by throttling your
connection speed. If you set it low enough, you'll always get a
mispositioned modal.
I have enabled observerChanges, but that didn't seem to solve them.
What fixed it for me, was defining an image and attaching an onLoad
function to it, which will then trigger the .modal('show').
var img = new Image();
img.onload = () => { this.showModal(); }
img.src = this.props.imageUrl;
with
showModal: function() {
$(this.refs.modal).modal('show');
$(this.refs.modal).modal('refresh');
},
Is there any way to make this behaviour default?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Semantic-Org/Semantic-UI/issues/4286, or mute the
thread
https://github.com/notifications/unsubscribe-auth/ABoa_9dWOXBGUFKEdVzpoH_VNdU1Vs1pks5qV7TIgaJpZM4JNkc8
.

Nope, image does not have fixed proportions.

This is discussed in many other issues. There is no way to center the modal without knowing the size on show

@jlukic Like my post clearly states, there is a way. For images, you can just wait for the source to actually be loaded.

I dont think this functionality belongs in a framework, it's to specific and can be easily implemented from outside.

Then maybe include it in the docs somewhere?


Add a StringComparison parameter in StringExtensions first 3 methods

Changes the overloads of the EqualsIgnoreCase, StartsWithIgnoreCase and EndsWithIgnoreCase by adding a StringComparison parameter set by default to OrdinalIgnoreCase. in this way the user can decide the rules to compare or check the strings

The Equals, StartsWith and EndsWith methods already provide overloads that accept a StringComparison parameter. I have created the *IgnoreCase methods to avoid the need to specify the comparison type. If you want to use it, you can just call the original methods.


Fix all existing aXe issues in master

Fixes #1844.
Fixes #1861.
Fixes #2016.
Fixes #2165.
Fixes #2227.
Additional description

This builds on #2192 and allows all examples to have static markup testing for accessibility.
There was a bug in #2192 that caused all tests to pass, because they didn't load anything! This PR fixes the babel/NPM script's "Webpack require context" issue, so they load, but does not add a test to make sure the stories are loading, so there could be a regression in the future. An issue should be created to prevent future regressions.

Fixes issues in the following stories

SLDSAppLauncher
SLDSBreadcrumb
SLDSColorPicker
SLDSCarousel
SLDSDataTable
SLDSDatePicker
SLDSDropdown
SLDSFilter
SLDSGlobalHeader
SLDSGlobalNavigationBar
SLDSMenuDropdown
SLDSPill
SLDSPopover
SLDSPopoverTooltip
SLDSProgressIndicator
SLDSSetupAssistant
SLDSSlider
SLDSSplitView
SLDSTabs
SLDSTextarea
SLDSVisualPicker
SLDSWelcomeMat

@jcjuett @kevinparkerson We may want to go through some of these in a meeting. I've divided each component fix into a different commit. There are lot, but should be mostly self-contained.

CONTRIBUTOR checklist (do not remove)
Please complete for every pull request

[ ] First-time contributors should sign the Contributor License Agreement.  If you haven't before, wait a few minutes and a bot will comment on this pull request with instructions.
[ ] npm run lint:fix has been run and linting passes.
[ ] Mocha, Jest (Storyshots), and components/component-docs.json CI tests pass (npm test).
[ ] Tests have been added for new props to prevent regressions in the future. See readme.
[ ] Review the appropriate Storybook stories. Open http://localhost:9001/.
[ ] Review tests are passing in the browser. Open http://localhost:8001/.
[ ] Review markup conforms to SLDS by looking at DOM snapshot strings.

REVIEWER checklist (do not remove)

[ ] TravisCI tests pass. This includes linting, Mocha, Jest, Storyshots, and components/component-docs.json tests.
[ ] Tests have been added for new props to prevent regressions in the future. See readme.
[ ] Review the appropriate Storybook stories. Open http://localhost:9001/.
[ ] The Accessibility panel of each Storybook story has 0 violations (aXe). Open http://localhost:9001/.
[ ] Review tests are passing in the browser. Open http://localhost:8001/.
[ ] Review markup conforms to SLDS by looking at DOM snapshot strings.

Required only if there are markup / UX changes

[ ] Add year-first date and commit SHA to last-slds-markup-review in package.json and push.
[ ] Request a review of the deployed Heroku app by the Salesforce UX Accessibility Team.
[ ] Add year-first review date, and commit SHA, last-accessibility-review, to package.json and push.
[ ] While the contributor's branch is checked out, run npm run local-update within locally cloned site repo to confirm the site will function correctly at the next release.

@interactivellama I thought everything was ok but apparently missed something that Travis caught... can you fix those?

@kevinparkerson I've updated the exclude file and moved Expression to prototype since it doesn't pass the tests.


unable to initialize vale-ls with custom config location

I have vale installed on my machine and the config are on $XDG_CONFIG_HOME, since vale only looks for vale.ini under $HOME the usual way that run vale is for example vale sync --config='$XDG_CONFIG_HOME/vale/vale.ini'.
So I am currently trying to run vale-ls and say that the way to pass the config location is through initializationOptions.configPath and I am doing so (example bellow with neovim lspconfig)
  require('lspconfig').vale_ls.setup{
      capabilities = capabilities,
      filetypes = { 'gitcommit', 'markdown', 'text' },
      init_options = {
        configPath = vim.env.XDG_CONFIG_HOME .. '/vale/vale.ini'
      },
    }

I also tried to pass a path (vim.env.XDG_CONFIG_HOME .. '/vale/) on the configPath, but I keep getting the following error (log from nvim):
[DEBUG][2023-07-14 09:07:14] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  jsonrpc = "2.0",  method = "window/logMessage",  params = {    message = "initialized!",    type = 3  }}
[TRACE][2023-07-14 09:07:14] .../lua/vim/lsp.lua:1053	"notification"	"window/logMessage"	{  message = "initialized!",  type = 3}
[TRACE][2023-07-14 09:07:14] ...lsp/handlers.lua:618	"default_handler"	"window/logMessage"	{  ctx = '{\n  client_id = 1,\n  method = "window/logMessage"\n}',  result = {    message = "initialized!",    type = 3  }}
[INFO][2023-07-14 09:07:14] ...lsp/handlers.lua:539	"initialized!"
[DEBUG][2023-07-14 09:07:15] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  jsonrpc = "2.0",  method = "window/logMessage",  params = {    message = 'Parsing error: Msg("{\\n  \\"Code\\": \\"E100\\",\\n  \\"Text\\": \\"E100 [.vale.ini not found] Runtime error\\\\n\\\\nopen : no such file or directory\\\\n\\\\nExecution stopped with code 1.\\"\\n}\\n")',    type = 1  }}
[TRACE][2023-07-14 09:07:15] .../lua/vim/lsp.lua:1053	"notification"	"window/logMessage"	{  message = 'Parsing error: Msg("{\\n  \\"Code\\": \\"E100\\",\\n  \\"Text\\": \\"E100 [.vale.ini not found] Runtime error\\\\n\\\\nopen : no such file or directory\\\\n\\\\nExecution stopped with code 1.\\"\\n}\\n")',  type = 1}
[TRACE][2023-07-14 09:07:15] ...lsp/handlers.lua:618	"default_handler"	"window/logMessage"	{  ctx = '{\n  client_id = 1,\n  method = "window/logMessage"\n}',  result = {    message = 'Parsing error: Msg("{\\n  \\"Code\\": \\"E100\\",\\n  \\"Text\\": \\"E100 [.vale.ini not found] Runtime error\\\\n\\\\nopen : no such file or directory\\\\n\\\\nExecution stopped with code 1.\\"\\n}\\n")',    type = 1  }}
[ERROR][2023-07-14 09:07:15] ...lsp/handlers.lua:535	'Parsing error: Msg("{\\n  \\"Code\\": \\"E100\\",\\n  \\"Text\\": \\"E100 [.vale.ini not found] Runtime error\\\\n\\\\nopen : no such file or directory\\\\n\\\\nExecution stopped with code 1.\\"\\n}\\n")'
[DEBUG][2023-07-14 09:07:15] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  jsonrpc = "2.0",  method = "window/showMessage",  params = {    message = "missing field `Path` at line 4 column 1",    type = 1  }}
[TRACE][2023-07-14 09:07:15] .../lua/vim/lsp.lua:1053	"notification"	"window/showMessage"	{  message = "missing field `Path` at line 4 column 1",  type = 1}
[TRACE][2023-07-14 09:07:15] ...lsp/handlers.lua:618	"default_handler"	"window/showMessage"	{  ctx = '{\n  client_id = 1,\n  method = "window/showMessage"\n}',  result = {    message = "missing field `Path` at line 4 column 1",    type = 1  }}

I believe the error is coming form a couple a functions that runs the vale command without taking the --config into consideration.

https://github.com/errata-ai/vale-ls/blob/5b4f79277ce1d21fa01eba8aafe1ac3de04dc181/src/vale.rs#L167-L178
https://github.com/errata-ai/vale-ls/blob/5b4f79277ce1d21fa01eba8aafe1ac3de04dc181/src/vale.rs#L183

Edit: updated hypothesis

I also experience that issue. I found that as a workaround, setting VALE_CONFIG_PATH does work:
vim.env.VALE_CONFIG_PATH = "/path/vale.ini"

since vale 3.0.0, VALE_CONFIG_PATH does not work anymore, so that my workaround above also does not work anymore. https://github.com/errata-ai/vale/issues/750


[API deprecation] Legacy DNS Settings Endpoints

Another one for you when you have a minute @RebeccaTamachiro :pray:


Describe how to behave as a contributor

I think it would help future contributors to participate if it is clear what we expect from them and what they can expect from the project. I'm thinking of the following:

Use issues to point to problems

Discuss possible improvements in an issue
Include a minimal reproducible example if possible
Include the package version

Use pull requests to fix problems

So no PR without an issue
Point your PR to the develop branch
PR's should be PEP8 compliant
PR's should create or update PEP257 docstrings if necessary.
PR's should include testing of the minimal reproducing examle if possible
PR's should work with python2 and python3 (for now)
PR's should succesfully run test-suite (on travis)

This is great! Thank you @pietermarsman !

Maybe this could have directly hit the master branch since CONTRIBUTIONS.md's reference is in master branch and the file is present in develop branch.


New Theme for Clone Hero

Ready for transfer!
https://github.com/ItzSwirlz/dracula-Clone-Hero

Hey, very cool! ✨
I just sent you an invitation to join the organization.
I also cloned your repository for Dracula's organization, so you can go ahead and delete or archive yours:

Your repository.
New repository.

Thanks for building this! 🎉

Thanks for checking in! (And for the open arms, go open source!)
All looks good! Just had to fix the git repo URL in INSTALL.MD.
I'll leave this issue open, and it can be closed when the submodule is added to the repo. Cheers \o/

Fixed in commit https://github.com/dracula/dracula-theme/commit/bc32d92e1e5c11b8ac57485f2401ff7cfc147d78

It's finally live: https://draculatheme.com/clone-hero
Thanks @ItzSwirlz!


Trying to infuse the enchantment library without success.

Versions: All the mods 7 v.40b - which has Apotheosis 5.3.2
So I am have wasted a bunch of experience into trying to infuse the enchantment library into the Library of Alexandria, it will actually pull levels from me, but nothing happens.
Did it as said 50/50 Eterna, 45% (and 50% as well) Quanta (tried without rectification as well), and Arcana 99.5%+.5% Enchantability bonus?
I don't know personally, but it feels that it doesn't detect the bonus.

Given that the other two slots are lit up - the infusion enchantment is not even engaged, because the infusion enchantment system disables the top two enchantment slots.  What shows up in those slots?

Well, other weirdness aside, it looks like it is bugged for a different reason.
If you have at least 1 stored enchantment in the library, it'll work.


Package does nothing for me in ST3

I just tried installing the package and I received the install success tab. When I restart though and open a .scss file nothing is colored and I cannot apply comments to sections.. Any help here?

Also not working for me in ST3. Last update seems to have killed it completely.

The same problem for me. Only way is select View > Syntax > CSS. But then why this plugin is needed?

Same thing! Please anyone knows some other package that works?


FIX: support latin1 in channels in nihon files

Fixes #10428 similar to this PR

you need to check flake8 issues @MatthiasEb
you can type
make flake
in the mne-python folder to check locally.

Sorry, I don't know how to fix these failed checks that succeeded before, I barely changed anything.

thx @MatthiasEb !

No worries, it's been a pleasure. Thanks for your support.


Move dataloader docs to reference + document CLI flags

:point_up:
Also future proofed reference ordering.

Checklist

[x] I have read and agree to Contributor Guide and the Code of Conduct
[x] I've included a screenshot or gif (if applicable)
[x] I have tested the web demo (if applicable):

Using newly built examples: rerun.io/viewer
Using examples from latest main build: rerun.io/viewer
Using full set of examples from nightly build: rerun.io/viewer

[x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG
[x] If applicable, add a new check to the release checklist!

PR Build Summary
Docs preview
Examples preview
Recent benchmark results
Wasm size tracking

Updated to make examples more prominent instead of adding a howto guide which turned out to just be a worst version of the examples.


Move Feature behaviour

Hi!
I think the move feature tool should prefer to move the selected feature. When you click to drag a feature and there is another one very close, you can end moving the wrong feature.
Related to this, using the move feature tool, the single click action (no dragging) should act as the select feature, that would make clearer which feature you will be moving.

Hi
This is a good point. However, I think it would not be intuitive to the user first having to select a feature. In the default setup of OLE the first tools from the left all do not require a feature to be selected.
Moreover, with the behaviour of the move feature tool we have copied what many desktop GIS, e.g. QGis, do. Again, to make it easier for the user to use the web-based editing much the same way he is used to from the desktop.
Cheers Uli

Yep, that makes sense :)


Modules javax.servlet.api and org.apache.tomcat.embed.core export package javax.servlet

Hello
I'm trying to make graphql spring boot work with module-info.java
I used the sample from https://github.com/graphql-java-kickstart/graphql-spring-boot/tree/master/example
When trying to run i encounter the following error:
Error occurred during initialization of boot layer
java.lang.module.ResolutionException: Modules javax.servlet.api and org.apache.tomcat.embed.core export package javax.servlet to module org.yaml.snakeyaml
My project can be downloaded from untitled.zip
We are using maven, so i added pom.xml with following dependencies;
<dependencies> 		<dependency> 			<groupId>org.springframework.boot</groupId> 			<artifactId>spring-boot-starter-web</artifactId> 			<version>2.2.5.RELEASE</version> 		</dependency> 		<dependency> 			<groupId>org.springframework.boot</groupId> 			<artifactId>spring-boot-starter-actuator</artifactId> 			<version>2.2.5.RELEASE</version> 		</dependency> 		<dependency> 			<groupId>com.graphql-java-kickstart</groupId> 			<artifactId>graphql-spring-boot-starter</artifactId> 			<version>6.0.1</version> 		</dependency> 		<dependency> 			<groupId>com.graphql-java-kickstart</groupId> 			<artifactId>graphiql-spring-boot-starter</artifactId> 			<version>6.0.1</version> 			<scope>runtime</scope> 		</dependency> </dependencies>
The module-info.java:
module myproject {
requires spring.boot.autoconfigure;
requires spring.context;
requires spring.boot;
requires graphql.java;
}
How can i start this sample with a module based application?

I believe this issue may be closely related to existing issue #269  (Support for Java Modules)
As such i have decided to close this.


[Usage]: Running Phi-3-small-128k-instruct with v0.4.3 without --trust-remote-code

Your current environment
The output of `python collect_env.py`

Collecting environment information...
 Is there a way to not use the flag?
The following would give:
python3 -m vllm.entrypoints.openai.api_server --model /models/huggingface/Phi-3-small-128k-instruct/ --served-model-name Phi-3-small-128k-instruct --port 8512
  File "/venvs/lib/python3.9/site-packages/vllm/transformers_utils/config.py", line 27, in get_config
    config = AutoConfig.from_pretrained(
  File "/venvs/lib/python3.9/site-packages/transformers/models/auto/configuration_auto.py", line 937, in from_pretrained
    trust_remote_code = resolve_trust_remote_code(
  File "/venvs/lib/python3.9/site-packages/transformers/dynamic_module_utils.py", line 639, in resolve_trust_remote_code
    raise ValueError(
ValueError: Loading /models/huggingface/Phi-3-small-128k-instruct/ requires you to execute the configuration file in that repo on your local machine. Make sure you have read the code there to avoid malicious use, then set the option `trust_remote_code=True` to remove this error.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/home/data/bigmac/prod/venvs/vllm-v0.4.3/lib/python3.9/site-packages/vllm/entrypoints/openai/api_server.py", line 186, in <module>
    engine = AsyncLLMEngine.from_engine_args(
  File "/home/data/bigmac/prod/venvs/vllm-v0.4.3/lib/python3.9/site-packages/vllm/engine/async_llm_engine.py", line 362, in from_engine_args
    engine_config = engine_args.create_engine_config()
  File "/home/data/bigmac/prod/venvs/vllm-v0.4.3/lib/python3.9/site-packages/vllm/engine/arg_utils.py", line 559, in create_engine_config
    model_config = ModelConfig(
  File "/home/data/bigmac/prod/venvs/vllm-v0.4.3/lib/python3.9/site-packages/vllm/config.py", line 129, in __init__
    self.hf_config = get_config(self.model, trust_remote_code, revision,
  File "/home/data/bigmac/prod/venvs/vllm-v0.4.3/lib/python3.9/site-packages/vllm/transformers_utils/config.py", line 40, in get_config
    raise RuntimeError(err_msg) from e
RuntimeError: Failed to load the model config. If the model is a custom model not yet available in the HuggingFace transformers library, consider setting `trust_remote_code=True` in LLM or using the `--trust-remote-code` flag in the CLI.```

It works with `---trust-remote-code` flag.

If you upgrade transformers, is it --trust-remote-code still required?

Hi @Calvinnncy97 please update to the latest transformers==4.41.2. It seems at least 4.41.0 is required https://github.com/huggingface/transformers/releases/tag/v4.41.0.
With that version, it works fine for me.
Command and output:
python3 -m vllm.entrypoints.openai.api_server --model microsoft/Phi-3-mini-128k-instruct --port 9000
INFO 06-04 19:32:25 api_server.py:177] vLLM API server version 0.4.3
INFO 06-04 19:32:25 api_server.py:178] args: Namespace(host=None, port=9000, uvicorn_log_level='info', allow_credentials=False, allowed_origins=['*'], allowed_methods=['*'], allowed_headers=['*'], api_key=None, lora_modules=None, chat_template=None, response_role='assistant', ssl_keyfile=None, ssl_certfile=None, ssl_ca_certs=None, ssl_cert_reqs=0, root_path=None, middleware=[], model='microsoft/Phi-3-mini-128k-instruct', tokenizer=None, skip_tokenizer_init=False, revision=None, code_revision=None, tokenizer_revision=None, tokenizer_mode='auto', trust_remote_code=False, download_dir=None, load_format='auto', dtype='auto', kv_cache_dtype='auto', quantization_param_path=None, max_model_len=None, guided_decoding_backend='outlines', distributed_executor_backend=None, worker_use_ray=False, pipeline_parallel_size=1, tensor_parallel_size=1, max_parallel_loading_workers=None, ray_workers_use_nsight=False, block_size=16, enable_prefix_caching=False, disable_sliding_window=False, use_v2_block_manager=False, num_lookahead_slots=0, seed=0, swap_space=4, gpu_memory_utilization=0.9, num_gpu_blocks_override=None, max_num_batched_tokens=None, max_num_seqs=256, max_logprobs=5, disable_log_stats=False, quantization=None, rope_scaling=None, enforce_eager=False, max_context_len_to_capture=None, max_seq_len_to_capture=8192, disable_custom_all_reduce=False, tokenizer_pool_size=0, tokenizer_pool_type='ray', tokenizer_pool_extra_config=None, enable_lora=False, max_loras=1, max_lora_rank=16, lora_extra_vocab_size=256, lora_dtype='auto', long_lora_scaling_factors=None, max_cpu_loras=None, fully_sharded_loras=False, device='auto', image_input_type=None, image_token_id=None, image_input_shape=None, image_feature_size=None, image_processor=None, image_processor_revision=None, disable_image_processor=False, scheduler_delay_factor=0.0, enable_chunked_prefill=False, speculative_model=None, num_speculative_tokens=None, speculative_max_model_len=None, speculative_disable_by_batch_size=None, ngram_prompt_lookup_max=None, ngram_prompt_lookup_min=None, model_loader_extra_config=None, preemption_mode=None, served_model_name=None, qlora_adapter_name_or_path=None, engine_use_ray=False, disable_log_requests=False, max_log_len=None)
/home/mgoin/venvs/vllm/lib/python3.10/site-packages/huggingface_hub/file_download.py:1132: FutureWarning: `resume_download` is deprecated and will be removed in version 1.0.0. Downloads always resume when possible. If you want to force a new download, use `force_download=True`.
  warnings.warn(
INFO 06-04 19:32:25 llm_engine.py:161] Initializing an LLM engine (v0.4.3) with config: model='microsoft/Phi-3-mini-128k-instruct', speculative_config=None, tokenizer='microsoft/Phi-3-mini-128k-instruct', skip_tokenizer_init=False, tokenizer_mode=auto, revision=None, rope_scaling=None, tokenizer_revision=None, trust_remote_code=False, dtype=torch.bfloat16, max_seq_len=131072, download_dir=None, load_format=LoadFormat.AUTO, tensor_parallel_size=1, disable_custom_all_reduce=False, quantization=None, enforce_eager=False, kv_cache_dtype=auto, quantization_param_path=None, device_config=cuda, decoding_config=DecodingConfig(guided_decoding_backend='outlines'), seed=0, served_model_name=microsoft/Phi-3-mini-128k-instruct)
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
INFO 06-04 19:32:26 selector.py:139] Cannot use FlashAttention-2 backend due to sliding window.
INFO 06-04 19:32:26 selector.py:51] Using XFormers backend.
INFO 06-04 19:32:27 selector.py:139] Cannot use FlashAttention-2 backend due to sliding window.
INFO 06-04 19:32:27 selector.py:51] Using XFormers backend.
INFO 06-04 19:32:27 weight_utils.py:221] Using model weights format ['*.safetensors']
INFO 06-04 19:32:29 model_runner.py:157] Loading model weights took 7.1659 GB
INFO 06-04 19:32:33 gpu_executor.py:83] # GPU blocks: 8975, # CPU blocks: 682
INFO 06-04 19:32:35 model_runner.py:876] Capturing the model for CUDA graphs. This may lead to unexpected consequences if the model is not static. To run the model in eager mode, set 'enforce_eager=True' or use '--enforce-eager' in the CLI.
INFO 06-04 19:32:35 model_runner.py:880] CUDA graphs can take additional 1~3 GiB memory per GPU. If you are running out of memory, consider decreasing `gpu_memory_utilization` or enforcing eager mode. You can also reduce the `max_num_seqs` as needed to decrease memory usage.
INFO 06-04 19:32:39 model_runner.py:946] Graph capturing finished in 4 secs.
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
INFO 06-04 19:32:39 serving_chat.py:85] Using default chat template:
INFO 06-04 19:32:39 serving_chat.py:85] {{ bos_token }}{% for message in messages %}{% if (message['role'] == 'user') %}{{'<|user|>' + '
INFO 06-04 19:32:39 serving_chat.py:85] ' + message['content'] + '<|end|>' + '
INFO 06-04 19:32:39 serving_chat.py:85] ' + '<|assistant|>' + '
INFO 06-04 19:32:39 serving_chat.py:85] '}}{% elif (message['role'] == 'assistant') %}{{message['content'] + '<|end|>' + '
INFO 06-04 19:32:39 serving_chat.py:85] '}}{% endif %}{% endfor %}
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
WARNING 06-04 19:32:39 serving_embedding.py:141] embedding_mode is False. Embedding API will not work.
INFO:     Started server process [2338968]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://<IP_ADDRESS>:9000 (Press CTRL+C to quit)


regenerate locales after updating mathjax-i18n

I'm not sure I understand what this pull request does.  The changes all seem to be in the version numbers (removing the -beta, which shouldn't happen until we do the actual v2.5 release).

Actually, there are a few actual updates hiding in the invisible masses... I'll close and create a clean one.


Extract initial state

Extracts state into dedicated files instead of const at the top of each reducer.
Resolves #297

Wrong branch?


Have the benchmark operator prefer to run on a workload node

Currently the benchmark operator will land on any available worker node. This is fine in many cases however to avoid having it being impacted by ongoing tests we should try to pin it to the workload node if possible.

Results for ec2_jjb

Test
Result
Retries
Duration (HH:MM:SS)

test_backpack
Pass
0
00:05:49

test_byowl
Pass
0
00:01:44

test_fiod
Pass
0
00:09:59

test_fs_drift
Pass
0
00:05:36

test_hammerdb
Pass
0
00:04:31

test_iperf3
Pass
0
00:03:01

test_pgbench
Pass
0
00:02:56

test_smallfile
Pass
0
00:05:55

test_sysbench
Pass
0
00:01:43

test_uperf
Pass
0
00:18:08

test_vegeta
Pass
1
00:14:51

test_ycsb
Pass
0
00:02:32


Workflow C: Clinical real-world evidence: current drugs and potential new insights

Overall Workflow
See this google drive folder (specifically, these google slides)

Query 1 (Explore): Find drugs (ChemicalSubstance) related to disease X
Query 2 (Explain & Expand): For 1 or more SME-selected drugs from Query 1, find drugs related to a gene set that is related both to (1) disease X and to (2) the SME-selected drug(s)
Query 3 (Find Research Evidence): Find published research evidence of specific associations

Example Using Multiple Sclerosis as Disease X
Query 1: ChemicalSubstances related_to MONDO:0005301
The TRAPI query, immediately below, returns drugs related to multiple sclerosis. Using the ARAX DSL, it is possible to target specific KPs (for example clinical KPs) for more domain-specific knowledge (see DSL Query A, below). This can be further refined by querying a single, specific KP and sorting results based on an edge property (see DSL Query B, below).
TRAPI 1.1 Query
Submitted to: https://ars-dev.transltr.io/ars/api/submit
ARS pk: 9434d84a-0977-41db-8fd4-94292b866b97
ARAX results: https://arax.ncats.io/?r=12169
{
    "message": {
        "query_graph": {
            "edges": {
                "e00": {
                    "subject": "n00",
                    "object": "n01",
                    "predicates": ["biolink:related_to"]
                }
            },
            "nodes": {
                "n00": {
                    "categories": ["biolink:ChemicalSubstance"]
                },
                "n01": {
                    "categories": ["biolink:Disease"],
                    "ids": ["MONDO:0005301"]
                }
            }
        }
    }
}

ARAX DSL Query A
The following query specifically targets COHD and Clinical Risk KPs. Results: https://arax.ncats.io/?r=12173.
add_qnode(ids=MONDO:0005301, key=n00)
add_qnode(categories=biolink:ChemicalSubstance, key=n01)
add_qedge(subject=n01, object=n00, key=e00, predicates=biolink:related_to)
expand(kp=COHD,edge_key=e00,continue_if_no_results=false,use_synonyms=true,COHD_method=paired_concept_freq,COHD_method_percentile=90)
expand(kp=ClinicalRiskKP, edge_key=e00)
overlay(action=compute_ngd, virtual_relation_label=N1, subject_qnode_key=n01, object_qnode_key=n00)
resultify()

ARAX DSL Query B
The following query specifically targets the Clinical Risk KP, sorting by the feature_coefficient edge property, and limiting to only the top 30 results. Results: https://arax.ncats.io/?r=12174.
add_qnode(ids=MONDO:0005301, key=n00)
add_qnode(categories=biolink:ChemicalSubstance, key=n01)
add_qedge(subject=n01, object=n00, key=e00, predicates=biolink:related_to)
expand(kp=ClinicalRiskKP, edge_key=e00)
overlay(action=compute_ngd, virtual_relation_label=N1, subject_qnode_key=n01, object_qnode_key=n00)
resultify()
filter_results(action=sort_by_edge_attribute, edge_attribute=feature_coefficient, direction=descending, max_results=30, prune_kg=true)

Query 2: ChemicalSubstances related_to MS/imatinib Genes
The TRAPI query, immediately below, is meant to return drugs related to a set of genes that are related to both (1) multiple sclerosis and (2) a single SME-selected drug (from ARAX DSL Query B results, above), imatinib. Without operations and other advanced features yet supported by TRAPI, ARS, and some ARAs, the query is under-constrained and does not yield results. However, taking advantage of such features supported by ARAX, results are obtainable using an ARAX DSL query (see DSL Query, below).
TRAPI 1.1 Query
Submitted to: https://ars-dev.transltr.io/ars/api/submit
ARS pk: ec03a9bb-af05-4bf3-a57d-f196c02c858b
{
    "message": {
        "query_graph": {
            "nodes": {
                "n0": {
                    "categories": ["biolink:Gene"]
                },
                "n1": {
                    "ids": ["CHEBI:45783"],
                    "categories": ["biolink:ChemicalSubstance"]
                },
                "n2": {
                    "ids": ["MONDO:0005301"],
                    "categories": ["biolink:Disease"]
                },
                "n3": {
                    "categories": ["biolink:ChemicalSubstance"]
                }
            },
            "edges": {
                "e01": {
                    "subject": "n0",
                    "object": "n1",
                    "predicates": ["biolink:related_to"]
                },
                "e02": {
                    "subject": "n0",
                    "object": "n2",
                    "predicates": ["biolink:related_to"]
                },
                "e03": {
                    "subject": "n0",
                    "object": "n3",
                    "predicates": ["biolink:related_to"]
                }
            }
        }
    }
}

ARAX DSL Query
The following query takes advantage of operations and other advanced features currently supported by ARAX. Results: https://arax.ncats.io/?r=12175.
add_qnode(key=n0, categories=biolink:Gene, is_set=True)
add_qnode(key=n1, ids=CHEBI:45783, categories=biolink:ChemicalSubstance)
add_qedge(key=e01, subject=n0, object=n1, predicates=biolink:related_to)
add_qnode(key=n2, ids=MONDO:0005301, categories=biolink:Disease)
add_qedge(key=e02, subject=n0, object=n2, predicates=biolink:related_to)
add_qnode(key=n3, categories=biolink:ChemicalSubstance)
add_qedge(key=e03, subject=n0, object=n3, predicates=biolink:related_to)
expand()
overlay(action=compute_jaccard,start_node_key=n1,intermediate_node_key=n0,end_node_key=n3,virtual_relation_label=J1)
overlay(action=compute_jaccard,start_node_key=n2,intermediate_node_key=n0,end_node_key=n3,virtual_relation_label=J2)
overlay(action=compute_ngd,default_value=inf,virtual_relation_label=N1,subject_qnode_key=n3,object_qnode_key=n2)
overlay(action=compute_ngd,default_value=inf,virtual_relation_label=N2,subject_qnode_key=n3,object_qnode_key=n1)
resultify()
filter_results(action=limit_number_of_results, max_results=50, prune_kg=true)

Query 2 Other Results
The following is a list of drugs from Query 1. Links, below, are to Query 2 results using the respective drug. Also included for each is the number of genes (common to the drug and to multiple sclerosis) in the knowledge graph.

natalizumab (CHEMBL.COMPOUND:CHEMBL1201607) - https://arax.ncats.io/?r=15406 (17 genes)
ocrelizumab (CHEMBL.COMPOUND:CHEMBL2108041) - https://arax.ncats.io/?r=15411 (0 results)
baclofen (CHEMBL.COMPOUND:CHEMBL701) - https://arax.ncats.io/?r=15412 (26 genes)
clevidipine (CHEMBL.COMPOUND:CHEMBL1237132) - https://arax.ncats.io/?r=15413 (0 results)
amikacin (CHEMBL.COMPOUND:CHEMBL177) - https://arax.ncats.io/?r=15414 (5 genes)
gadobutrol (CHEMBL.COMPOUND:CHEMBL2218860) - https://arax.ncats.io/?r=15415 (0 results)
carboprost tromethamine (CHEMBL.COMPOUND:CHEMBL1237105) - https://arax.ncats.io/?r=15416 (0 results)
trastuzumab (CHEMBL.COMPOUND:CHEMBL1201585) - https://arax.ncats.io/?r=15418 (200 genes)
cefotaxime sodium (CHEMBL.COMPOUND:CHEMBL1010) - https://arax.ncats.io/?r=15419 (22 genes)
oxybutynin (CHEMBL.COMPOUND:CHEMBL1231) - https://arax.ncats.io/?r=15420 (8 genes)
tizanidine (CHEMBL.COMPOUND:CHEMBL1079) - https://arax.ncats.io/?r=15421 (3 genes)
methylphenidate (CHEMBL.COMPOUND:CHEMBL796) - https://arax.ncats.io/?r=15422 (15 genes)
phenol (CHEMBL.COMPOUND:CHEMBL14060) - https://arax.ncats.io/?r=15423 (30 genes)
methylprednisolone (CHEMBL.COMPOUND:CHEMBL650) - https://arax.ncats.io/?r=15424 (34 genes)
imatinib (CHEMBL.COMPOUND:CHEMBL941) - https://arax.ncats.io/?r=15427 (163 genes)
thrombin (CHEMBL.COMPOUND:CHEMBL2108110) - https://arax.ncats.io/?r=15430 (146 genes)
atropine sulfate (CHEMBL.COMPOUND:CHEMBL2146146) - https://arax.ncats.io/?r=15431 (94 genes)
meperidine (CHEMBL.COMPOUND:CHEMBL607) - https://arax.ncats.io/?r=15435 (14 genes)
heparin (CHEBI:28304) - https://arax.ncats.io/?r=15436 (250+ genes)
ropinirole (CHEMBL.COMPOUND:CHEMBL589) - https://arax.ncats.io/?r=15437 (8 genes)

Ehlers-Danlos (MONDO:0020066) Query 1
TRAPI 1.1
ARS pk: 00699bff-e963-4155-ad49-1bb0ae148c86
ARAX results: https://arax.ncats.io/?r=12470
DSL Query A
https://arax.ncats.io/?r=12473
DSL Query B
https://arax.ncats.io/?r=12474

Guillain-Barre (MONDO:0016218) Query 1
TRAPI 1.1
ARS pk: c2faf4d2-3578-4509-8009-cbce77feeb03
ARAX results: https://arax.ncats.io/?r=12475
DSL Query A
https://arax.ncats.io/?r=12476
DSL Query B
https://arax.ncats.io/?r=12477

Meniere's Disease (MONDO:0007972) Query 1
TRAPI 1.1
ARS pk: d5ecbe7d-511b-4e8a-9153-952cae0e8c88
ARAX results: https://arax.ncats.io/?r=12478
DSL Query A
https://arax.ncats.io/?r=12479
DSL Query B
https://arax.ncats.io/?r=12480

Alzheimer's Disease (MONDO:0004975) Query 1
TRAPI 1.1
ARS pk: a5b53f29-90ed-4af9-b28c-b6f1d5ee3179
ARAX results: https://arax.ncats.io/?r=12481
DSL Query A
https://arax.ncats.io/?r=12482
DSL Query B
https://arax.ncats.io/?r=12483

Ehlers-Danlos (MONDO:0020066) Query 2
Results using gatifloxacin (CHEMBL.COMPOUND:CHEMBL31): https://arax.ncats.io/?r=14810
add_qnode(key=n0, categories=biolink:Gene, is_set=True)
add_qnode(key=n1, ids=CHEMBL.COMPOUND:CHEMBL31, categories=biolink:ChemicalSubstance)
add_qedge(key=e01, subject=n0, object=n1, predicates=biolink:related_to)
add_qnode(key=n2, ids=MONDO:0020066, categories=biolink:Disease)
add_qedge(key=e02, subject=n0, object=n2, predicates=biolink:related_to)
add_qnode(key=n3, categories=biolink:ChemicalSubstance)
add_qedge(key=e03, subject=n0, object=n3, predicates=biolink:related_to)
expand()
overlay(action=compute_ngd,default_value=inf,virtual_relation_label=N1,subject_qnode_key=n3,object_qnode_key=n2)
overlay(action=compute_ngd,default_value=inf,virtual_relation_label=N2,subject_qnode_key=n3,object_qnode_key=n1)
resultify()
filter_results(action=limit_number_of_results, max_results=50, prune_kg=true)

Most or all results only have a single gene (MICE) connecting connecting Ehlers-Danlos and gatifloxacin, indicating little to no overlap in genes associated with Ehlers-Danlos and genes associated with gatifloxacin.

Cystic Fibrosis (MONDO:0009061) Query 1
TRAPI 1.1
ARS pk: 9bc74b8c-c1d1-417e-8845-54a6767b8d69
ARAX results: https://arax.ncats.io/?r=15274
DSL Query targeting clinical KPs
https://arax.ncats.io/?r=15277
add_qnode(ids=MONDO:0009061, key=n00)
add_qnode(categories=biolink:ChemicalSubstance, key=n01)
add_qedge(subject=n01, object=n00, key=e00, predicates=biolink:related_to)
expand(kp=COHD,edge_key=e00,COHD_method=paired_concept_freq)
expand(kp=ClinicalRiskKP, edge_key=e00)
overlay(action=overlay_exposures_data,subject_qnode_key=n01,object_qnode_key=n00)
overlay(action=compute_ngd, virtual_relation_label=N1, subject_qnode_key=n01, object_qnode_key=n00)
resultify()

Proposal for additional step in workflow C
The following schematic illustrates a proposed augmented workflow that includes a final step to find published research evidence of association between a selected drug of interest and the disease of interest. Letters A-D correspond to ongoing work. Details are given below.

A) Working with SRI group (Sierra and Matt) to add appropriate predicate and edge qualifiers to capture semantics of this query edge. See the discussion in #47. In the 7/23 clinical working group meeting, we discussed having edge qualifiers that reflect (1) the type of data on which the association is based (e.g. clinical or "real-world evidence") and (2) the statistical or modeling methodology used to derive the association (e.g. correlation analysis, machine learning model).

B) Testing this query using the workflow runner: https://github.com/NCATSTranslator/workflow-runner. Live service available at: https://translator-workflow-runner.renci.org/docs.

C) Looking into using other components (e.g. Explanatory Agent, Text Mining Provider, OpenPredict) to find published research supporting interesting associations.

D) Looking at results for different diseases and medications to generalize the workflow.

Using Workflow Runner for Queries 1 and 2
There is now a live workflow runner endpoint: https://translator-workflow-runner.renci.org/query. See documentation here: https://translator-workflow-runner.renci.org/docs. Revised versions of Query 1 and Query 2 with workflow operations are shown below. As of now (7/29), the workflow runner endpoint is returning Internal Server Error. But, both queries work if submitted to the ARAX endpoint: https://arax.ncats.io/api/arax/v1.1/query.
Query 1 (Explore)
Query 1 with workflow operations specified is shown below. The workflow runner is currently returning Internal Server Error, but the query works if submitted to the ARAX endpoint. Results are here: https://arax.ncats.io/api/arax/v1.1/response/17141.
{
    "workflow": [
        {
            "id": "fill"
        },
        {
            "id": "bind"
        },
        {
            "id": "overlay_compute_ngd",
            "parameters": {
                "qnode_keys": [
                    "n0",
                    "n1"
                ],
                "virtual_relation_label": "NGD1"
            }
        },
        {
            "id": "complete_results"
        },
        {
            "id": "filter_results_top_n",
            "parameters": {
                "max_results": 50
            }
        }
    ],
    "message": {
        "query_graph": {
            "nodes": {
                "n0": {
                    "categories": [
                        "biolink:ChemicalSubstance"
                    ]
                },
                "n1": {
                    "ids": [
                        "MONDO:0005301"
                    ],
                    "categories": [
                        "biolink:Disease"
                    ]
                }
            },
            "edges": {
                "e01": {
                    "subject": "n0",
                    "object": "n1",
                    "predicates": [
                        "biolink:related_to"
                    ]
                }
            }
        }
    }
}

Query 2 (Explain & Expand)
Query 2 with workflow operations specified is shown below. The workflow runner is currently returning Internal Server Error, but the query works if submitted to the ARAX endpoint. Results are here: https://arax.ncats.io/api/arax/v1.1/response/17162.
{
    "workflow": [
        {
            "id": "fill"
        },
        {
            "id": "bind"
        },
        {
            "id": "overlay_compute_ngd",
            "parameters": {
                "qnode_keys": [
                    "n1",
                    "n3"
                ],
                "virtual_relation_label": "NGD1"
            }
        },
        {
            "id": "overlay_compute_ngd",
            "parameters": {
                "qnode_keys": [
                    "n2",
                    "n3"
                ],
                "virtual_relation_label": "NGD2"
            }
        },
        {
            "id": "complete_results"
        },
        {
            "id": "filter_results_top_n",
            "parameters": {
                "max_results": 50
            }
        }
    ],
    "message": {
        "query_graph": {
            "nodes": {
                "n0": {
                    "categories": [
                        "biolink:Gene"
                    ],
                    "is_set": true
                },
                "n1": {
                    "ids": [
                        "CHEBI:45783"
                    ],
                    "categories": [
                        "biolink:ChemicalSubstance"
                    ]
                },
                "n2": {
                    "ids": [
                        "MONDO:0005301"
                    ],
                    "categories": [
                        "biolink:Disease"
                    ]
                },
                "n3": {
                    "categories": [
                        "biolink:ChemicalSubstance"
                    ]
                }
            },
            "edges": {
                "e01": {
                    "subject": "n0",
                    "object": "n1",
                    "predicates": [
                        "biolink:related_to"
                    ]
                },
                "e02": {
                    "subject": "n0",
                    "object": "n2",
                    "predicates": [
                        "biolink:related_to"
                    ]
                },
                "e03": {
                    "subject": "n0",
                    "object": "n3",
                    "predicates": [
                        "biolink:related_to"
                    ]
                }
            }
        }
    }
}

Psoriatic Arthritis (MONDO:0011849) Query 1
TRAPI 1.1
ARS results: https://arax.ncats.io/?source=ARS&id=f1d5abb8-ebe2-473f-ad77-26d0a2c4dfb6
DSL Query A
https://arax.ncats.io/?r=17318
DSL Query B
https://arax.ncats.io/?r=17319
Query 2 Results
The following is a list of drugs from Query 1. Links, below, are to Query 2 results using the respective drug. Also included for each is the number of genes (common to the drug and to psoriatic arthritis) in the knowledge graph. Note that normalized google distance was used, but not jaccard index.

apremilast (CHEMBL.COMPOUND:CHEMBL514800) - https://arax.ncats.io/?r=17334 (3 genes)
tofacitinib (CHEMBL.COMPOUND:CHEMBL2103743) - https://arax.ncats.io/?r=17335 (8 genes)
leflunomide (CHEMBL.COMPOUND:CHEMBL960) - https://arax.ncats.io/?r=17336 (37 genes)
sulfasalazine (CHEMBL.COMPOUND:CHEMBL421) - https://arax.ncats.io/?r=17332 (42 genes)
methotrexate (CHEMBL.COMPOUND:CHEMBL3244648) - https://arax.ncats.io/?r=17337 (59 genes)
clobetasol (CHEMBL.COMPOUND:CHEMBL1159650) - https://arax.ncats.io/?r=17339 (5 genes)
celecoxib (CHEMBL.COMPOUND:CHEMBL118) - https://arax.ncats.io/?r=17340 (60 genes)
imatinib (CHEMBL.COMPOUND:CHEMBL1642) - https://arax.ncats.io/?r=17341 (63 genes)
folic acid (CHEMBL.COMPOUND:CHEMBL1622) - https://arax.ncats.io/?r=17343 (59 genes)
trandolapril (CHEMBL.COMPOUND:CHEMBL3039089) - https://arax.ncats.io/?r=17342 (2 genes)
carboprost (CHEMBL.COMPOUND:CHEMBL1237105) - https://arax.ncats.io/?r=17344 (0 results)
nafcillin (CHEMBL.COMPOUND:CHEMBL1200344) - https://arax.ncats.io/?r=17345 (2 genes)
terbutaline (CHEMBL.COMPOUND:CHEMBL1315867) - https://arax.ncats.io/?r=17347 (12 genes)
meperidine (CHEMBL.COMPOUND:CHEMBL607) - https://arax.ncats.io/?r=17346 (3 genes)
sildenafil (CHEMBL.COMPOUND:CHEMBL192) - https://arax.ncats.io/?r=17348 (35 genes)
hydroxychloroquine (CHEMBL.COMPOUND:CHEMBL1690) - https://arax.ncats.io/?r=17359 (32 genes)
fosfomycin (CHEMBL.COMPOUND:CHEMBL1200331) - https://arax.ncats.io/?r=17360 (11 genes)
talampicillin (CHEMBL.COMPOUND:CHEMBL1411731) - https://arax.ncats.io/?r=17366 (16 genes)
cyclosporine (CHEBI:4031) - https://arax.ncats.io/?r=17361 (77 genes)
dexmedetomidine (CHEMBL.COMPOUND:CHEMBL778) - https://arax.ncats.io/?r=17362 (45 genes)


Asp.Net Core 2.1.5 unable to be reverse proxied behind IIS 10

So i'm running into a frustrating issue.  I am running an asp.net core 2.1.5 app on Windows Server 2016, behind IIS 10.  I have installed the hosting runtimes, which include the AspNetCoreMOdule.  That does show up in the list of modules within IIS.
Yet, I am getting a generic 500.19 IIS error when running the site.  The Application pool is set to 'No Managed Code' for the CLR version, and the running user has full permissions for everything.  As well, if I run it manually from CMD, it runs fine, and I can navigate to it fine.
One thing I noticed is that it seems IIS doesn't understand the  node within the web.config.  When I try to open any of the options, or configuration editor within the IIS Manager, it throws a 'The data is invalid. (Exception from HRESULT: 0x800700D)'.  If I remove the node, the error page at least shows some more info since it isn't failing on the web.config load anymore.
Here is my web.config currently:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.web>
    <customErrors mode="Off" />
  </system.web>
    <system.webServer>
	  <httpErrors errorMode="Detailed" />
	  <handlers>
			<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
	  </handlers>
	  <aspNetCore processPath="dotnet" arguments=".\Teknik.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout">
		  <environmentVariables>
				<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
		  </environmentVariables>
	  </aspNetCore>
    </system.webServer>
</configuration>

Any thoughts?

Alright, enabled detail errors for the server, so can confirm it is a 500.19 error (config): https://u.teknik.io/w82Hl.png

Few thoughts:

Check that the aspnetcore_schema.xml is in C:\Windows\System32\inetsrv\config\schema
Check that AspNetCoreModule is in both the global modules and modules section in the applicationhost.config
Check that the aspnetcore element was added in applicationhost.config

If these are all true, can you try installing the 2.1.4 hosting bundle instead and see if it works? We made some changes between 2.1.4 and 2.1.5 that could have impacted this.

Confirmed the schema file is there (and looks to be correct), AspNetCoreModule is in both global and modules in applicationHost.
What do you mean by aspnetcore element in applicationHost.config?

Search for

Nope, does not exist in the appHost

I just tried installing the hosting bundle on a VM and I do see
 being added to <configuration> -> <configSections> -> <sectionGroup name="system.webServer">. Try adding
.

Well i'll be, that was the issue!  It is loading correctly now that I added the section.
Are the changes made to the applicationHost.config file documented anywhere public?  If not, i'd suggest they be added to somewhere like this: https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/aspnet-core-module?view=aspnetcore-2.1

The hosting bundle should be the one inserting this element into your applicationhost.config file. Can you try to repro this again (either on a different machine or uninstall/reinstall)? I did the same steps you did above and didn't have a problem.

I'll try on another machine to try to repro.
Some additional info: I tried both 2.1.5 and 2.1.4, with full restarts and running as admin.
Before, I did have 2.1.0 installed and it was working well.

@uncled1023 any luck?

@jkotalik sorry, didn't get a chance to last night, i'll try to get to it today.  I'll update this issue with my findings.

@uncled1023 Could you also share your original applicationhost.config?

@muratg sure thing, You may see some [redacted] text in there (for the enc secrets).

@jkotalik I've tried to replicate what happened before, but i'm unable to get the same results.  Tried installing 2.1.0, then 2.1.5, then uninstalling 2.1.0, trying with IIS Manager already open, with it closed, with it in the process of editing the config.

Puzzling. @shirhatti you had a few ideas of what else it could be, correct?


Hover not showing examples as yaml but json

Hello everyone,
First, thanks for your work on this project! 🙂
As you may know, "examples" is a reserved keyword (not for json-schema, but at least monaco-editor),
that we may use to display examples to the user when hovering a property.
I faced an bug where my examples would be shown as JSON to the end user (which is not very practical if they're not very used to this syntax, yaml would be better, as we're already using this syntax in the editor).
Here is the diff that solved my problem:
diff --git a/node_modules/monaco-yaml/yaml.worker.js b/node_modules/monaco-yaml/yaml.worker.js
index 91aacd0..08d9857 100644
--- a/node_modules/monaco-yaml/yaml.worker.js
+++ b/node_modules/monaco-yaml/yaml.worker.js
@@ -6700,6 +6700,7 @@ function setKubernetesParserOption(jsonDocuments, option) {

 // node_modules/yaml-language-server/lib/esm/languageservice/services/yamlHover.js
 import { URI as URI5 } from "vscode-uri";
+import { parse as parseYaml, stringify as stringifyYaml } from "yaml";
 import * as path3 from "path-browserify";
 var YAMLHover = class {
   constructor(schemaService, telemetry2) {
@@ -6831,12 +6832,15 @@ var YAMLHover = class {
           if (result.length > 0) {
             result += "\n\n";
           }
-          result += "Examples:";
-          markdownExamples.forEach((example) => {
-            result += `
-
-\`\`\`${example}\`\`\``;
+          result += "Examples:  \n";
+          const parsedYamlExamples = markdownExamples.map((example) => {
+            return `
+\`\`\`
+${stringifyYaml(parseYaml(example))}
+\`\`\`
+`;
           });
+          result += parsedYamlExamples.join(`or`);
         }
         if (result.length > 0 && schema.schema.url) {
           result += `

Result:

If I understand from a different issue but relying on the same part of the code (https://github.com/remcohaszing/monaco-yaml/issues/177),
it will be better to change it directly on yaml-language-server (though I believe it's interesting to mention it here at least as it might be an monaco-related issue.
Hope this helps someone

This sounds great! I didn’t even know examples are supported. Technically JSON is valid YAML, but I get what you mean.
This is an upstream issue in yaml-language-server though. Please open an issue there. I look forward to pulling those changes into monaco-yaml. :)
Additionally I think it would be nice if those code blocks get YAML syntax highlighting.


Existing schema attributes cannot be modified or deleted.

How did you install the Amplify CLI?
npm
If applicable, what version of Node.js are you using?
v18.16.0
Amplify CLI Version
12.2.3
What operating system are you using?
Mac
Did you make any manual changes to the cloud resources managed by Amplify? Please describe the changes made.
Custom attributes added in yml for cognition user pool:
      Schema:
        - Name: email
          Required: true
          Mutable: true
        - Name: stripe_id
          Mutable: 'true'
          AttributeDataType: String
          StringAttributeConstraints:
            MaxLength: '256'
            MinLength: '1'
        - Name: stripe_sub_id
          Mutable: 'true'
          AttributeDataType: String
          StringAttributeConstraints:
            MaxLength: '256'
            MinLength: '1'
        - Name: stripe_plan_name
          Mutable: 'true'
          AttributeDataType: String
        - Name: company
          Mutable: 'true'
          AttributeDataType: String
        - Name: vat_number
          Mutable: 'true'
          AttributeDataType: String
        - Name: address_1
          Mutable: 'true'
          AttributeDataType: String
        - Name: address_2
          Mutable: 'true'
          AttributeDataType: String
        - Name: city
          Mutable: 'true'
          AttributeDataType: String
        - Name: postcode
          Mutable: 'true'
          AttributeDataType: String
        - Name: state
          Mutable: 'true'
          AttributeDataType: String
        - Name: country
          Mutable: 'true'
          AttributeDataType: String

Describe the bug
This is an old project that hasn't had any work for a while.
After upgrading to amplify cli v12.2.3 the .yml file is deleted and override.ts is required for custom attributes.
I have the following override.ts in place:
import { AmplifyAuthCognitoStackTemplate } from "@aws-amplify/cli-extensibility-helper";

export function override(resources: AmplifyAuthCognitoStackTemplate) {
  resources.userPool.schema = [
    ...(resources.userPool.schema as any[]), // Carry over existing attributes (example: email)
    {
      attributeDataType: "String",
      mutable: true,
      name: "email",
      required: true,
    },
    {
      attributeDataType: "String",
      mutable: true,
      name: "stripe_id",
      stringAttributeConstraints: {
        maxLength: "256",
        minLength: "1",
      },
    },
    {
      attributeDataType: "String",
      mutable: true,
      name: "stripe_sub_id",

      stringAttributeConstraints: {
        maxLength: "256",
        minLength: "1",
      },
    },
    {
      attributeDataType: "String",
      mutable: true,
      name: "stripe_plan_name",
    },
    {
      attributeDataType: "String",
      mutable: true,
      name: "company",
    },
    {
      attributeDataType: "String",
      mutable: true,
      name: "address_1",
    },
    {
      attributeDataType: "String",
      mutable: true,
      name: "address_2",
    },
    {
      attributeDataType: "String",
      mutable: true,
      name: "city",
    },
    {
      attributeDataType: "String",
      mutable: true,
      name: "state",
    },
    {
      attributeDataType: "String",
      mutable: true,
      name: "postcode",
    },
    {
      attributeDataType: "String",
      mutable: true,
      name: "country",
    },
    {
      attributeDataType: "String",
      mutable: true,
      name: "vat_number",
    },
  ];
}

However attempting amplify push results in the error  Existing schema attributes cannot be modified or deleted.
I am therefore unable to do any further work to the back end of this project as all pushes fail.
Expected behavior
Pushing should work because override.ts should mean that cognito attributes aren't being changed.
Reproduction steps
You will need to start with an earlier version of the amplify cli and use the supplied yaml file to create the custom attributes. Upgrade to the latest CLI and then attempt a push using the supplied override.ts.
Project Identifier
dbbb418abb38539d3a09d33eacc39132
Log output

# Put your logs below this line

Additional information
No response
Before submitting, please confirm:

[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
[X] I have removed any sensitive information from my code snippets and submission.

Hey @tscole, thank you for reaching out. if you add a console.log(resources.userPool.schema) at the top, do you observe the email attribute bring printed out in the terminal? if yes, could you remove the following block and retry the push.
{       attributeDataType: "String",       mutable: true,       name: "email",       required: true,     },
additionally, were there any pushes before this that was successful and attributes were added via the override?

Hi @ykethan Where exactly do you do you want me to add the console.log ? I tried adding it just above resources.userPool.schema = [ but nothing at all gets output to the terminal.

No attributes have been added via override. They were all added by the original yaml file.

apologies, yes add the console log right under the override handler. could you run amplify build and let us know if you observe an output.
similar to

Nothing at all happens if I run amplify build. That's not a command I usually use so I don't know if thats a new issue? Running amplify push doesn't output anything like your screenshot above.

Running amplify build --debug gives the following output and nothing else:
Overrides functionality is not implemented for this category

thank you for hopping on the call, I was great chatting with you.
We were able to mitigate the issue by updating the Amplify cli to v7.6.15. Then amplify auth override to add the schema attributes.
As the version utilized nodej12 in the auth lambda functions we updated the Amplify CLI version to v8.2.0. where we an observe error
Command was killed with SIGSEGV (Segmentation fault): yarn install

To mitigate this error message we cd'd into the backend folder and did a npm install. Additionally, cd'd into the backend /function/<function-name>/src and installed using npm.
The push succeeded when running amplify push

Closing the issue, please feel free in reaching out to us again.


perf(code-splitting): optimize modules intersection

Summary
Inspired from https://github.com/webpack/webpack/pull/18090 by https://github.com/dmichon-msft.
Use bitmap to effectively calculate intersections

Require Documentation?

[ ] No
[ ] Yes, the corresponding rspack-website PR is __

!bench

!canary


Add additional parameters for authenticated ingress rules

what

[x] Accept on_unauthenticated_request parameter
[x] Accept authentication_request_extra_params

why

REST APIs usually work better with a "deny" rule instead of the default "authenticate" rule of on_unauthenticated_request.
REST APIs may require additional parameters to be passed in the URI.

/test all


Define named filters on model

Currently you can supply named filters when doing eager stuff, e.g
teams
      .query()
      .eager('users(active)', {
        active: (builder) => builder.where('active', true)
      })

It would be cool if you could define these named filters at the model level on the related model itself.
That is to say,
class UserModel {
    static tableName = 'users';
    static namedFilters = {
        active: (builder) => builder.where('active', true)
    };
}

Thinking here is that the filter implementation is a concern of the model being filtered, not some related consumer of the model.
Probably the named filters passed immediately to the query should override any defined on the model.

You can do this:
teams
      .query()
      .eager('players(active)', UserModel.namedFilters)

or this:
class BaseQueryBuilder extends Model.QueryBuilder {
  eager(expr, filters) {
    return super.eager(expr, Object.assign({}, this.modelClass().namedFilters, filters);
  }
}

class BaseModel extends Model {
  static get QueryBuilder() {
    return BaseQueryBuilder;
  }
}

// UserModel.js

class UserModel extends BaseModel {
    static tableName = 'users';
    static namedFilters = {
        active: (builder) => builder.where('active', true)
    };
}

I think this is pretty easy to implement on the application side and maybe shouldn't be added to objection.

Thanks @koskimas
I came up with the same kind of implementation as your first example and have also used functions to create parameterised filters.
When working with multiple relations I was looking at merging named filters from multiple models but you run into trouble where filters from different models could overwrite one another - 'active' could mean different filters to different models.
I resorted to dedupe them by mapping:
.eager('[users(activeUser) widgets(activeWidget)]', { activeUser: UserModel.namedFilters.active, activeWidget: WidgetModel.namedFilters.active })

or just giving them unique names in the first place.
Being able to use dot notation to refer to named queries may ease this... maybe this is already possible?
An objection implementation would avoid this problem as it would resolve named filter via the model the filter applies to i.e [users(active) widgets(active)] would use UserModel.namedFilters.active and WidgetModel.namedFilters.active respectively.
But you then lose the ability to parameterise anything unless that is somehow built into the DSL which seems way over the top.
The more I think about this the more it says 'too complicated' ... but you surprised me before with the join algo so maybe you have some good idea ;)
Second example is interesting also but I think this.modelClass() would be a TeamModel when querying teams and so wouldn't find your UserModel.namedFilters?

My second example would probably work (to some extent) how you want if you are using the default WHERE IN based eager algorithm since it calls eager recursively.

Forgive me I don't follow... can you expand?

It was poorly written and incorrect. Never mind 😄

After giving this some thought, I think I'll implement this. There are some fun things you can do with this. For example graphql-like selects:
class Person extends Model {
  static get namedFilters() {
    return _.mapValues(this.jsonSchema.properties, (value, key) => {
      return (builder) => builer.select(key);
    });
  }
}

Movie
  .query()
  .eager('actors(firstName, lastName, age)')


Socket callback throwing error

I am trying to pass a callback function as an acknowledgment through socket.emit but on the event trigger it throws me an error (callback is not a function)
 Socket.emit('highFive', 'tobi', function(data){             console.log(data);         });
`
socket.on('highFive', function (name, cb) {
console.log(name);
cb('Umair');

});
`
Error:

tobi
Missing error handler on socket.
TypeError: cb is not a function
at Socket. (/Users/C_v/Documents/Teaminate/modules/users/server/sockets/users.server.socket.config.js:35:5)
at emitOne (events.js:90:13)
at Socket.emit (events.js:182:7)
at Socket.onevent (/Users/C_v/Documents/Teaminate/node_modules/socket.io/lib/socket.js:335:8)
at Socket.onpacket (/Users/C_v/Documents/Teaminate/node_modules/socket.io/lib/socket.js:295:12)
at Client.ondecoded (/Users/C_v/Documents/Teaminate/node_modules/socket.io/lib/client.js:193:14)
at Decoder.Emitter.emit (/Users/C_v/Documents/Teaminate/node_modules/component-emitter/index.js:134:20)
at Decoder.add (/Users/C_v/Documents/Teaminate/node_modules/socket.io-parser/index.js:247:12)
at Client.ondata (/Users/C_v/Documents/Teaminate/node_modules/socket.io/lib/client.js:175:18)
at emitOne (events.js:90:13)
at Socket.emit (events.js:182:7)
at Socket.onPacket (/Users/C_v/Documents/Teaminate/node_modules/engine.io/lib/socket.js:101:14)
at emitOne (events.js:90:13)
at WebSocket.emit (events.js:182:7)
at WebSocket.Transport.onPacket (/Users/C_v/Documents/Teaminate/node_modules/engine.io/lib/transport.js:104:8)
at WebSocket.Transport.onData (/Users/C_v/Documents/Teaminate/node_modules/engine.io/lib/transport.js:115:8)
at WebSocket.onData (/Users/C_v/Documents/Teaminate/node_modules/engine.io/lib/transports/websocket.js:76:30)
at emitTwo (events.js:100:13)
at WebSocket.emit (events.js:185:7)
at Receiver.ontext (/Users/C_v/Documents/Teaminate/node_modules/ws/lib/WebSocket.js:816:10)
at /Users/C_v/Documents/Teaminate/node_modules/ws/lib/Receiver.js:477:18
at /Users/C_v/Documents/Teaminate/node_modules/ws/lib/Receiver.js:361:7

@aquadestructor It looks like you're combining the on() and the emit(). They work as a pair so what you should have is the on() which specifies the event handler in the case of a 'highFive' event:
Socket.on('highFive', function(data){ console.log(data.name); });
Above I an saying that I want to take the supplied object* and console log it's name property.
Socket.emit('highFive, { name:'tobi' });
*Emit only takes two arguements expects an object as the second parameter you get to put anything inside the object that you want against a key (including a function if you wanted). You would use the event handler to act on this this object. Notice 'tobi' is the value for the key 'name'. This should work as I expect you expected! :D

@Wuntenn Thank you for the reply. I understand what you specified and I understand how emit and on works. However, the example I posted is from the official docs it is to pass a callback to the emit function for simple acknowledgements.

@aquadestructor The reason you're seeing this exception is because the client-side Socket service does not provide a parameter for a callback to be passed to the Socket.IO server emit() method.
Try adding a callback to this method of the client-side Socket service. You should end up with something like this:
    // Wrap the Socket.io 'emit' method
    function emit(eventName, data, callback) {
      if (service.socket) {
        service.socket.emit(eventName, data, callback);
      }

Your above example should work after adding this. The callback will now be passed to the server-side listener.
Alternatively, you can merely trigger an event from your server-side Socket configuration listener & add a client-side listener for it.
Server-Side Socket configuration
socket.on('highFive', function (name) {
  io.emit('acknowledge the high-five', 'acknowledged!');
}

Client-Side Controller
// Add an event listener to the 'acknowledge the high-five' event
Socket.on('acknowledge the high-five', function (data) {
  console.log(data);
});

With this approach you won't have to worry about passing your callback around. However, either way should work out fine for your needs.

@mleanos Ah I see now. It was really simple. Thank you so very much for your response.
@mleanos Are there some good practices when it comes to socket.io? I have read a lot and almost everyone has tried his own implementation. Like for example I am currently using the socket rooms for the implementation in meanjs. Whenever a user signs in he joins a room with his user id and then I use the exact room ids(user ids) to emit to the particular user ids.
I mean I haven't seen this approach anywhere and I came up with this on my own, and it works great for now. I was previously maintaining a set of socket ids with user ids and then had to remove the id if a user signs out. But is this approach good? Or is there any good approach that one should follow?

@mleanos I was wondering why it didn't work. I didn't know about acknowledgements until @aquadestructor said he didn't make a mistake. When I checked the official docs didn't say it was one sided. I didn't even think about the service that we use to wrap the socket.
Shouldn't this change be added to MeanJS? - quite useful

@Wuntenn Interesting suggestion. Looking forward to what @mleanos says. I agree this change should be added as it is quite useful, at least in my opinion.

@Wuntenn I don't see any problem adding the callback parameter to our client-side Socket service. It shouldn't affect current implementations, and if someone wants to use this functionality they would just need to modify their server-side Socket configuration. However, I am still wondering if it would be better to emit an event from the Socket configuration to the client, and have a listener act as your callback. Maybe others could provide input on this.
@aquadestructor As for your implementation of putting each user into their own room.. This is exactly how I handle it on my own application using MEANJS. I use the user's username as the room id, because I don't want to expose user id's from the client-side of my application. All in all, this approach has worked well for me.

Thanks @Wuntenn and @mleanos :+1:
Closing.


Sample SQL file in readme doesn't ever  work

Could you update readme or provide the file again

Oh, sorry about that. Looks like the file was too big for direct download without logging into Dropbox. I changed the domain to dl.dropboxusercontent.com and now it should load directly (you might want to right-click and "Save Link As...") without requiring a login. Let me know if that doesn't work.