[draft] safe crosstab resolves #1 and resolves #3

Notebook

Working to a series of tests makes sense. I guess at this stage I'm slightly confused whether this project is to replicate the stata project completely, i.e., produce xls output or something slightly different? The researcher use case is a bit harder to see as well since there is more flexibility in Python - at what stage are things written as output? immediately after calling a crosstab()? For things like blocking min/max in crosstab it also doesn't seem very straightforward because the function accepts any user-defined function as input - so for the moment I just blocked all aggregation functions. The threshold rule is pretty simple to understand but some of the other rules that need to be implemented aren't very clear to me like what is P/Q vulnerability? From the user guide pdf and also from the stata code it's bit hard to interpret the rules too.

@rpreen Got to take son to to orthodontist this morning but lots of fire time this week if you want to discuss.
But here's some answers for now.

Working to a series of tests makes sense.

cool

I guess at this stage I'm slightly confused whether this project is to replicate the stata project completely, i.e., produce xls output or something slightly different?

Whatever is most portable.    If we have an 'output' function then I guess if we could have  json as the default but with the option to produce xls as well.

The researcher use case is a bit harder to see as well since there is more flexibility in Python - at what stage are things written as output? immediately after calling a crosstab()?

in ACRO we created a tab in the excel for each output, then the researcher said which they want to export.  (I think when they called safe finalise). Probably that is the most general, although it may produce lots of output while the user is experimenting.

But its likely they could use the same variable name for different tables (e.g. if they copy/paste bits of code from one notebook cell to another and just change the grouping variables)
so I think that within safe_crosstab() we will have to give each table a separate identifier and save a descriptor of the call params. If we keep some kind of central register then we can provide this to them for selecting which to put forward, and give that to the output checker as well

At this stage lets write the most general, and then there needs to be some work done with researchers and output checkers around how to manage and present all the output.   I see that as very much part a of the next DARE bid.

For things like blocking min/max in crosstab it also doesn't seem very straightforward because the function accepts any user-defined function as input - so for the moment I just blocked all aggregation functions.

We should check what aggregation functions stats supports, but I don't think it will be hard to find a standard list, and then block things like that for now. My suggestion would be:

min/max (block with special message)
mean
median
mode
standard error
standard deviation
variance
skew/ kurtosis
some standard percentiles (25.75,10,90)

After that we need talk to Felix and Lizzie about regression values.
Stata handbook is here; https://www.stata.com/manuals/rtable.pdf but we should also look at what spss/R easily support.
But the key thing here is that we don't have to do everything.  We looking to cover off as much of the routine stuff as possible,  and the if the researcher asks for something we don't support then they can request a manual checking.

The threshold rule is pretty simple to understand but some of the other rules that need to be implemented aren't very clear to me like what is P/Q vulnerability? From the user guide pdf and also from the stata code it's bit hard to interpret the rules too.

nk and p/q vulnerability ar different ways of  making sure you don't release a cell where a few (usually one/two) values dominate the statistic.  There's an OECD definition here: https://stats.oecd.org/glossary/detail.asp?ID=6624

imagine you have a two with 2 big supermarkets and a say 5 of smaller local shops.   If you release the turnover total, then one of the two big stores , knowing their turnover, can  make really good guess what the turnover of the other is (to within an upper bound based on guessing the turnover of the 5 little shops).
if there's only one supermarket, then anyone can make a good estimate of the turnover of the supermarket.   That might tell them whether it is rising or falling, or other sensitive info

looks like to support multiple aggregation fictions we need to use a pivot table
https://stackoverflow.com/questions/65706836/how-to-use-two-different-aggregate-functions-within-crosstab-in-pandas

following on from thathlepful article, here is the one about pivot tables:
https://pbpython.com/pandas-pivot-table-explained.html
down the bottom he talks about filtering - I wonder if you could filter on count>threshold?

@rpreen I've pushed a notebook which extends yours by looking at the p% rule:

examining one possible cell
creating a modified version of the table where that cell breaks the rule p<10%
I should have saved the modified table to use in stata
then creating a new aggregation function that displays that data

I guess at one level we could write a separate pytest that just checks that function by creating a 1d array of random floats, doing a version of the calculation in numpy, then casting. the array to a pandas series and passing it to the aggregation function make sure the outcomes are the same.

@rpreen just to confirm:
if tablet be produced  just displays frequency data (I.e. counts) the new don't need to do p% and nk tests for dominance, just the 'minimum contributors' threshold
If the table to be produced contains Magnitude data (I.e. the aggregation function is mean,sdev, variance, median, mode etc) then we need to do all three checks: min_contributors, p% and nk


adding ICRPG sheet

This is my first time committing to another big repository, so let me know if I'm doing things wrong on my end. I whipped this up really quickly, so I could have done things wrong. Let me know!

You have "1" as the roll20userid, I'm guessing you're not user number 1. If you leave this as-is nothing will happen, but your account won't receive the "Sheet Author" tag on the forums. If you update this number to your account number we can give you your tag.

You have "1" as the roll20userid, I'm guessing you're not user number 1. If you leave this as-is nothing will happen, but your account won't receive the "Sheet Author" tag on the forums. If you update this number to your account number we can give you your tag.
Also, what game system is this sheet for? I don't know what ICRPG is.

ICRPG is Index Card RPG: http://www.drivethrurpg.com/product/212262/INDEX-CARD-RPG-Core-Set?sb=1
I just updated the user ID. I wasn't sure where to find that earlier, put it off to do later, than forgot.
Let me know if there is anything else you need!


customXML Error

I'm creating a document from a local .docx file, which I've done with a number of similar files without any issue:
local path = "path/to/my/file.docx"
my_document = Document(local_path)

But I'm encountering the following error with one file in particular:
    my_document = Document(local_path)
  File ".../miniconda3/envs/euclid-env/lib/python3.10/site-packages/docx/api.py", line 27, in Document
    document_part = cast("DocumentPart", Package.open(docx).main_document_part)
  File ".../miniconda3/envs/my-env/lib/python3.10/site-packages/docx/opc/package.py", line 127, in open
    pkg_reader = PackageReader.from_file(pkg_file)
  File ".../miniconda3/envs/my-env/lib/python3.10/site-packages/docx/opc/pkgreader.py", line 25, in from_file
    sparts = PackageReader._load_serialized_parts(
  File ".../miniconda3/envs/my-env/lib/python3.10/site-packages/docx/opc/pkgreader.py", line 53, in _load_serialized_parts
    for partname, blob, reltype, srels in part_walker:
  File ".../miniconda3/envs/my-env/lib/python3.10/site-packages/docx/opc/pkgreader.py", line 86, in _walk_phys_parts
    for partname, blob, reltype, srels in next_walker:
  File ".../miniconda3/envs/my-env/lib/python3.10/site-packages/docx/opc/pkgreader.py", line 81, in _walk_phys_parts
    blob = phys_reader.blob_for(partname)
  File ".../miniconda3/envs/my-env/lib/python3.10/site-packages/docx/opc/phys_pkg.py", line 83, in blob_for
    return self._zipf.read(pack_uri.membername)
  File ".../miniconda3/envs/my-env/lib/python3.10/zipfile.py", line 1485, in read
    with self.open(name, "r", pwd) as fp:
  File ".../miniconda3/envs/my-env/lib/python3.10/zipfile.py", line 1524, in open
    zinfo = self.getinfo(name)
  File ".../miniconda3/envs/my-env/lib/python3.10/zipfile.py", line 1451, in getinfo
    raise KeyError(
KeyError: "There is no item named 'customXML/item3.xml' in the archive"

Currently using `python-docx==0.8.11`

Is there something in particular with this file that is causing the issue?
Any advice on how to overcome the error?

Thanks

Hi @lnkirkham-datasparq, this would indicate a partial corruption in the .docx file.
Basically one of the document "parts" (sub-files, often XML) is indicating a relationship to another part (customXML/item3.xml in this case) but that part is not present in the package (zip archive).
Quick fix if it's a onesie-twosie is probably to load it with Word, have it repair the file if it complains, maybe make a trival change like add a space then delete it (but don't undo it), then save the file.
If for whatever reason that doesn't suit then you'll need to remove the relationship in question. python-opc can be helpful for that but you'll need to install it from the develop branch as it hasn't been released lately and the PyPI version won't work with Python 3.
I realize this response may use terms you're not familiar with, feel free to ask any questions and I can explain or point you to resources.

Thanks for the quick response @scanny, I'll give the quick fix a go, but may follow up with a qus if I go town the python-opc route!

The quick first worked and is suitable for the small batch of docs I'm working with. Thanks again!

Glad you got it working Louise :)


new command line argument --cert-passphrase added.

For decrypting the private key that is provided with the --certs command
Description
New command line argument added "--cert-passphrase", OpenSSL.crypto.load_privatekey already supports the passphrase, and it was only missing the arguments to pass the passphrase.
Checklist

[x] I have updated tests where applicable.
[x] I have added an entry to the CHANGELOG.

ping @mhils . did some changes based on the review comments.

Awesome, thanks! 🍰


integer overflow in nimbleGraph::getDependencyPathCountOneNode

A user reported this error (from configurMCMC in checkConjugacy_new):
Error in if (max(numPaths) > sum(numDeps)) { :
  missing value where TRUE/FALSE needed

The key part of the model structure causing this is
  P_sm[1] <- p[1]
  for(i in 2:I_nDays_min1){
    P_sm[i] <- (1-sum(P_sm[1:(i-1)])) * p[i]
  }
  P_sm[I_nDays] <- 1-sum(P_sm[1:90])

where I_nDays=91.
The recursive summation here causes the number of dependent paths to explode and quickly hit the maximum integer when considering the number of dependent paths for each p[i] (starting with p[91] the number grows very quickly).
I think the best solution is:

Add a max arg to nimbleGraph::getDependencyPathCountOneNode so that it bails when it gets to that value, returning that value.
This is only used in conjugacy checking. I think we can save a bit of computation by having max be set equal to sum(deps) since that is what the result of the path counting is going to be compared against. As soon as we know that any of the values of numPaths is that big, we know what to do in terms of what approach to conjugacy checking to use.
In fact, if we wanted to use a for loop instead of sapply, we could bail out of the loop rather than running getDependencyPathCountOneNode for all the input nodes.  Given the comment below and that we can cut things off when we get to sum(deps), which generally won't be that large, in most cases we won't save time, but it's probably worth doing for cases where we run nimbleGraph::getDependencyPathCountOneNode many times.

Interestingly even when the count gets as high as the max integer, it only takes 30 microseconds to run the recursion in getDependencyPathCountOneNode so efficiency is not much concern here if the function is only run a limited number of times.
I'm surprise we haven't run into this before given this occurred with only 90 elements.
@danielturek @perrydv I welcome any comments here.

Fixed by PR #1322


Scheduler additional functionality

How difficult would it be to configure the scheduler functionality from https://fullcalendar.io/scheduler/ into the calendar widget?

This is added in 5.2.0 and will be published in the AppStore this week, after review

See https://github.com/mendix/Calendar#scheduler-calendar-with-scheduler


"Invalid operation: All available backends failed to load the model."

I am able to load the following models individually and produce images with them. SD1.5, SDXL and SD3. I am also able to produce a grid using all 3 of these models to compare them. However, after I do it once I am unable to do it again unless I close and relaunch SwarmUI. Subsequent grid generations after the first will produce images with the SD1.5 and SDXL models, but it will error out when it's time to make the SD3 image.
17:33:23.402 [Info] Completed gen #2 (of 3) ... Set: 'Model=XL/sd_xl_base_1.0.safetensors', file 'sd_xl_base_10' 17:33:23.406 [Info] Generated an image in 33.98 (prep) and 15.78 (gen) seconds 17:33:24.421 [Error] GridGen stopped while running: {   "error": "Invalid operation: All available backends failed to load the model."

Can you check Server -> Logs -> Debug from when this error happened? There's likely an explanation of what went wrong in the comfy raw output

Can you check Server -> Logs -> Debug from when this error happened? There's likely an explanation of what went wrong in the comfy raw output

2024-06-14 11:47:35.508 [Debug] [GridGenerator] Pre-prepping 1/3 ... Set: Model=Large/v1-5-pruned-emaonly.safetensors, file v15prunedemaonl 2024-06-14 11:47:35.508 [Debug] Grid Gen micro-pausing to maintain order as 0 < 20 2024-06-14 11:47:35.508 [Debug] [BackendHandler] Backend request #708 for model Large/v1-5-pruned-emaonly.safetensors, maxWait=7.00:00:00. 2024-06-14 11:47:35.508 [Debug] [BackendHandler] backend #0 will load a model: Large/v1-5-pruned-emaonly.safetensors, with 1 requests waiting for 0 seconds 2024-06-14 11:47:35.574 [Debug] [GridGenerator] Pre-prepping 2/3 ... Set: Model=XL/sd_xl_base_1.0.safetensors, file sd_xl_base_10 2024-06-14 11:47:35.574 [Debug] Grid Gen micro-pausing to maintain order as 1 < 20 2024-06-14 11:47:35.575 [Debug] [BackendHandler] Backend request #709 for model XL/sd_xl_base_1.0.safetensors, maxWait=7.00:00:00. 2024-06-14 11:47:35.599 [Debug] [GridGenerator] Pre-prepping 3/3 ... Set: Model=SD3/sd3_medium.safetensors, file sd3_medium 2024-06-14 11:47:35.599 [Debug] Grid Gen micro-pausing to maintain order as 2 < 20 2024-06-14 11:47:35.599 [Debug] [BackendHandler] Backend request #710 for model SD3/sd3_medium.safetensors, maxWait=7.00:00:00. 2024-06-14 11:47:37.608 [Debug] ComfyUI-0 on port 7821 stderr: got prompt 2024-06-14 11:47:37.609 [Debug] ComfyUI-0 on port 7821 stdout: [rgthree] Using rgthree's optimized recursive execution. 2024-06-14 11:47:38.859 [Debug] ComfyUI-0 on port 7821 stderr: model_type EPS 2024-06-14 11:47:45.340 [Debug] ComfyUI-0 on port 7821 stderr: Using pytorch attention in VAE 2024-06-14 11:47:45.341 [Debug] ComfyUI-0 on port 7821 stderr: Using pytorch attention in VAE 2024-06-14 11:47:47.714 [Debug] ComfyUI-0 on port 7821 stderr: Requested to load AutoencoderKL 2024-06-14 11:47:47.714 [Debug] ComfyUI-0 on port 7821 stderr: Loading 1 new model 2024-06-14 11:47:48.147 [Debug] ComfyUI-0 on port 7821 stderr: Prompt executed in 10.54 seconds 2024-06-14 11:47:48.271 [Debug] [BackendHandler] backend #0 loaded model, returning to pool 2024-06-14 11:47:48.693 [Debug] [BackendHandler] Backend request #708 found correct model on #0 2024-06-14 11:47:48.693 [Debug] [BackendHandler] Backend request #708 finished. 2024-06-14 11:47:48.693 [Debug] [BackendHandler] backend #0 will load a model: SD3/sd3_medium.safetensors, with 1 requests waiting for 13.1 seconds 2024-06-14 11:47:48.693 [Debug] [BackendHandler] backend #0 will load a model: XL/sd_xl_base_1.0.safetensors, with 1 requests waiting for 13.1 seconds 2024-06-14 11:47:48.729 [Debug] ComfyUI-0 on port 7821 stderr: got prompt 2024-06-14 11:47:48.729 [Debug] ComfyUI-0 on port 7821 stderr: Requested to load SD1ClipModel 2024-06-14 11:47:48.729 [Debug] ComfyUI-0 on port 7821 stderr: Loading 1 new model 2024-06-14 11:47:48.729 [Debug] ComfyUI-0 on port 7821 stdout: [rgthree] Using rgthree's optimized recursive execution. 2024-06-14 11:47:48.752 [Debug] ComfyUI-0 on port 7821 stderr: got prompt 2024-06-14 11:47:48.753 [Debug] ComfyUI-0 on port 7821 stderr: got prompt 2024-06-14 11:47:48.852 [Debug] ComfyUI-0 on port 7821 stderr: Requested to load BaseModel 2024-06-14 11:47:48.852 [Debug] ComfyUI-0 on port 7821 stderr: Loading 1 new model 2024-06-14 11:47:49.112 [Debug] ComfyUI-0 on port 7821 stderr:  2024-06-14 11:47:49.442 [Debug] ComfyUI-0 on port 7821 stderr:   0%|          | 0/28 [00:00<?, ?it/s] 2024-06-14 11:47:49.548 [Debug] ComfyUI-0 on port 7821 stderr:   4%|ΓûÄ         | 1/28 [00:00<00:08,  3.04it/s] 2024-06-14 11:47:49.829 [Debug] ComfyUI-0 on port 7821 stderr:   7%|Γûï         | 2/28 [00:00<00:05,  5.05it/s] 2024-06-14 11:47:50.123 [Debug] ComfyUI-0 on port 7821 stderr:  11%|Γûê         | 3/28 [00:00<00:05,  4.24it/s] 2024-06-14 11:47:50.404 [Debug] ComfyUI-0 on port 7821 stderr:  14%|ΓûêΓû        | 4/28 [00:01<00:06,  3.86it/s] 2024-06-14 11:47:50.699 [Debug] ComfyUI-0 on port 7821 stderr:  18%|ΓûêΓûè        | 5/28 [00:01<00:06,  3.74it/s] 2024-06-14 11:47:50.980 [Debug] ComfyUI-0 on port 7821 stderr:  21%|ΓûêΓûêΓû       | 6/28 [00:01<00:06,  3.62it/s] 2024-06-14 11:47:51.263 [Debug] ComfyUI-0 on port 7821 stderr:  25%|ΓûêΓûêΓûî       | 7/28 [00:01<00:05,  3.60it/s] 2024-06-14 11:47:51.545 [Debug] ComfyUI-0 on port 7821 stderr:  29%|ΓûêΓûêΓûè       | 8/28 [00:02<00:05,  3.58it/s] 2024-06-14 11:47:51.821 [Debug] ComfyUI-0 on port 7821 stderr:  32%|ΓûêΓûêΓûêΓû      | 9/28 [00:02<00:05,  3.57it/s] 2024-06-14 11:47:52.101 [Debug] ComfyUI-0 on port 7821 stderr:  36%|ΓûêΓûêΓûêΓûî      | 10/28 [00:02<00:05,  3.58it/s] 2024-06-14 11:47:52.391 [Debug] ComfyUI-0 on port 7821 stderr:  39%|ΓûêΓûêΓûêΓûë      | 11/28 [00:02<00:04,  3.58it/s] 2024-06-14 11:47:52.672 [Debug] ComfyUI-0 on port 7821 stderr:  43%|ΓûêΓûêΓûêΓûêΓûÄ     | 12/28 [00:03<00:04,  3.54it/s] 2024-06-14 11:47:52.950 [Debug] ComfyUI-0 on port 7821 stderr:  46%|ΓûêΓûêΓûêΓûêΓûï     | 13/28 [00:03<00:04,  3.55it/s] 2024-06-14 11:47:53.232 [Debug] ComfyUI-0 on port 7821 stderr:  50%|ΓûêΓûêΓûêΓûêΓûê     | 14/28 [00:03<00:03,  3.56it/s] 2024-06-14 11:47:53.510 [Debug] ComfyUI-0 on port 7821 stderr:  54%|ΓûêΓûêΓûêΓûêΓûêΓûÄ    | 15/28 [00:04<00:03,  3.56it/s] 2024-06-14 11:47:53.791 [Debug] ComfyUI-0 on port 7821 stderr:  57%|ΓûêΓûêΓûêΓûêΓûêΓûï    | 16/28 [00:04<00:03,  3.57it/s] 2024-06-14 11:47:54.072 [Debug] ComfyUI-0 on port 7821 stderr:  61%|ΓûêΓûêΓûêΓûêΓûêΓûê    | 17/28 [00:04<00:03,  3.56it/s] 2024-06-14 11:47:54.351 [Debug] ComfyUI-0 on port 7821 stderr:  64%|ΓûêΓûêΓûêΓûêΓûêΓûêΓû   | 18/28 [00:04<00:02,  3.56it/s] 2024-06-14 11:47:54.628 [Debug] ComfyUI-0 on port 7821 stderr:  68%|ΓûêΓûêΓûêΓûêΓûêΓûêΓûè   | 19/28 [00:05<00:02,  3.57it/s] 2024-06-14 11:47:54.924 [Debug] ComfyUI-0 on port 7821 stderr:  71%|ΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓû  | 20/28 [00:05<00:02,  3.58it/s] 2024-06-14 11:47:55.204 [Debug] ComfyUI-0 on port 7821 stderr:  75%|ΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûî  | 21/28 [00:05<00:01,  3.52it/s] 2024-06-14 11:47:55.486 [Debug] ComfyUI-0 on port 7821 stderr:  79%|ΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûè  | 22/28 [00:06<00:01,  3.54it/s] 2024-06-14 11:47:55.763 [Debug] ComfyUI-0 on port 7821 stderr:  82%|ΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓû | 23/28 [00:06<00:01,  3.54it/s] 2024-06-14 11:47:56.043 [Debug] ComfyUI-0 on port 7821 stderr:  86%|ΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûî | 24/28 [00:06<00:01,  3.56it/s] 2024-06-14 11:47:56.336 [Debug] ComfyUI-0 on port 7821 stderr:  89%|ΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûë | 25/28 [00:06<00:00,  3.56it/s] 2024-06-14 11:47:56.618 [Debug] ComfyUI-0 on port 7821 stderr:  93%|ΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûÄ| 26/28 [00:07<00:00,  3.52it/s] 2024-06-14 11:47:56.897 [Debug] ComfyUI-0 on port 7821 stderr:  96%|ΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûï| 27/28 [00:07<00:00,  3.52it/s] 2024-06-14 11:47:56.898 [Debug] ComfyUI-0 on port 7821 stderr: 100%|ΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûê| 28/28 [00:07<00:00,  3.54it/s] 2024-06-14 11:47:56.898 [Debug] ComfyUI-0 on port 7821 stderr: 100%|ΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûê| 28/28 [00:07<00:00,  3.60it/s] 2024-06-14 11:47:57.546 [Debug] ComfyUI-0 on port 7821 stderr: Prompt executed in 8.85 seconds 2024-06-14 11:47:57.546 [Debug] ComfyUI-0 on port 7821 stdout: [rgthree] Using rgthree's optimized recursive execution. 2024-06-14 11:47:57.686 [Info] Completed gen #1 (of 3) ... Set: 'Model=Large/v1-5-pruned-emaonly.safetensors', file 'v15prunedemaonl' 2024-06-14 11:47:57.688 [Info] Generated an image in 13.23 (prep) and 8.89 (gen) seconds 2024-06-14 11:47:58.537 [Debug] ComfyUI-0 on port 7821 stderr: model_type EPS 2024-06-14 11:48:08.349 [Debug] ComfyUI-0 on port 7821 stderr: Using pytorch attention in VAE 2024-06-14 11:48:08.350 [Debug] ComfyUI-0 on port 7821 stderr: Using pytorch attention in VAE 2024-06-14 11:48:13.201 [Debug] ComfyUI-0 on port 7821 stderr: Requested to load AutoencoderKL 2024-06-14 11:48:13.201 [Debug] ComfyUI-0 on port 7821 stderr: Loading 1 new model 2024-06-14 11:48:13.532 [Debug] ComfyUI-0 on port 7821 stderr: Prompt executed in 15.99 seconds 2024-06-14 11:48:13.670 [Debug] ComfyUI-0 on port 7821 stdout: [rgthree] Using rgthree's optimized recursive execution. 2024-06-14 11:48:13.678 [Debug] [BackendHandler] backend #0 loaded model, returning to pool 2024-06-14 11:48:13.811 [Debug] ComfyUI-0 on port 7821 stderr: model_type FLOW 2024-06-14 11:48:13.822 [Debug] [BackendHandler] Backend request #709 found correct model on #0 2024-06-14 11:48:13.822 [Debug] [BackendHandler] Backend request #709 finished. 2024-06-14 11:48:13.822 [Debug] ComfyUI-0 on port 7821 stderr: got prompt 2024-06-14 11:48:21.649 [Debug] ComfyUI-0 on port 7821 stderr: Using pytorch attention in VAE 2024-06-14 11:48:21.650 [Debug] ComfyUI-0 on port 7821 stderr: Using pytorch attention in VAE 2024-06-14 11:48:22.202 [Debug] ComfyUI-0 on port 7821 stderr: no CLIP/text encoder weights in checkpoint, the text encoder model will not be loaded. 2024-06-14 11:48:22.664 [Debug] ComfyUI-0 on port 7821 stderr: Requested to load AutoencodingEngine 2024-06-14 11:48:22.664 [Debug] ComfyUI-0 on port 7821 stderr: Loading 1 new model 2024-06-14 11:48:23.278 [Debug] ComfyUI-0 on port 7821 stderr: !!! Exception during processing!!! Given groups=1, weight of size [512, 16, 3, 3], expected input[1, 4, 32, 32] to have 16 channels, but got 4 channels instead 2024-06-14 11:48:23.322 [Warning] ComfyUI-0 on port 7821 stderr: Traceback (most recent call last): 2024-06-14 11:48:23.322 [Warning] ComfyUI-0 on port 7821 stderr:   File "E:\StableSwarmUI\StableSwarmUI\dlbackend\comfy\ComfyUI\execution.py", line 151, in recursive_execute 2024-06-14 11:48:23.323 [Warning] ComfyUI-0 on port 7821 stderr:     output_data, output_ui = get_output_data(obj, input_data_all) 2024-06-14 11:48:23.323 [Warning] ComfyUI-0 on port 7821 stderr:                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-06-14 11:48:23.323 [Warning] ComfyUI-0 on port 7821 stderr:   File "E:\StableSwarmUI\StableSwarmUI\dlbackend\comfy\ComfyUI\execution.py", line 81, in get_output_data 2024-06-14 11:48:23.324 [Warning] ComfyUI-0 on port 7821 stderr:     return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True) 2024-06-14 11:48:23.324 [Warning] ComfyUI-0 on port 7821 stderr:                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-06-14 11:48:23.324 [Warning] ComfyUI-0 on port 7821 stderr:   File "E:\StableSwarmUI\StableSwarmUI\dlbackend\comfy\ComfyUI\execution.py", line 74, in map_node_over_list 2024-06-14 11:48:23.325 [Debug] ComfyUI-0 on port 7821 stdout: [rgthree] Using rgthree's optimized recursive execution. 2024-06-14 11:48:23.325 [Error] [BackendHandler] backend #0 failed to load model with error: System.AggregateException: One or more errors occurred. (ComfyUI execution error: Given groups=1, weight of size [512, 16, 3, 3], expected input[1, 4, 32, 32] to have 16 channels, but got 4 channels instead)  ---> System.InvalidOperationException: ComfyUI execution error: Given groups=1, weight of size [512, 16, 3, 3], expected input[1, 4, 32, 32] to have 16 channels, but got 4 channels instead    at StableSwarmUI.Builtin_ComfyUIBackend.ComfyUIAPIAbstractBackend.GetAllImagesForHistory(JToken output, CancellationToken interrupt) in E:\StableSwarmUI\StableSwarmUI\src\BuiltinExtensions\ComfyUIBackend\ComfyUIAPIAbstractBackend.cs:line 451    at StableSwarmUI.Builtin_ComfyUIBackend.ComfyUIAPIAbstractBackend.AwaitJobLive(String workflow, String batchId, Action1 takeOutput, T2IParamInput user_input, CancellationToken interrupt) in E:\StableSwarmUI\StableSwarmUI\src\BuiltinExtensions\ComfyUIBackend\ComfyUIAPIAbstractBackend.cs:line 382
at StableSwarmUI.Builtin_ComfyUIBackend.ComfyUIAPIAbstractBackend.LoadModel(T2IModel model) in E:\StableSwarmUI\StableSwarmUI\src\BuiltinExtensions\ComfyUIBackend\ComfyUIAPIAbstractBackend.cs:line 768
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at StableSwarmUI.Backends.BackendHandler.<>c__DisplayClass50_3.b__13() in E:\StableSwarmUI\StableSwarmUI\src\Backends\BackendHandler.cs:line 1123
2024-06-14 11:48:23.325 [Warning] ComfyUI-0 on port 7821 stderr:     results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
2024-06-14 11:48:23.325 [Warning] ComfyUI-0 on port 7821 stderr:                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-06-14 11:48:23.326 [Warning] [BackendHandler] backend #0 failed to load model SD3/sd3_medium.safetensors
2024-06-14 11:48:23.326 [Warning] ComfyUI-0 on port 7821 stderr:   File "E:\StableSwarmUI\StableSwarmUI\dlbackend\comfy\ComfyUI\nodes.py", line 268, in decode
2024-06-14 11:48:23.326 [Warning] ComfyUI-0 on port 7821 stderr:     return (vae.decode(samples["samples"]), )
2024-06-14 11:48:23.327 [Warning] ComfyUI-0 on port 7821 stderr:             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-06-14 11:48:23.327 [Warning] ComfyUI-0 on port 7821 stderr:   File "E:\StableSwarmUI\StableSwarmUI\dlbackend\comfy\ComfyUI\comfy\sd.py", line 309, in decode
2024-06-14 11:48:23.327 [Debug] Will deny backends: 0
2024-06-14 11:48:23.327 [Warning] ComfyUI-0 on port 7821 stderr:     pixel_samples[x:x+batch_number] = self.process_output(self.first_stage_model.decode(samples).to(self.output_device).float())
2024-06-14 11:48:23.327 [Warning] ComfyUI-0 on port 7821 stderr:                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-06-14 11:48:23.328 [Warning] ComfyUI-0 on port 7821 stderr:   File "E:\StableSwarmUI\StableSwarmUI\dlbackend\comfy\ComfyUI\comfy\ldm\models\autoencoder.py", line 137, in decode
2024-06-14 11:48:23.328 [Warning] ComfyUI-0 on port 7821 stderr:     x = self.decoder(z, **kwargs)
2024-06-14 11:48:23.328 [Warning] ComfyUI-0 on port 7821 stderr:         ^^^^^^^^^^^^^^^^^^^^^^^^^
2024-06-14 11:48:23.328 [Warning] ComfyUI-0 on port 7821 stderr:   File "E:\StableSwarmUI\StableSwarmUI\dlbackend\comfy\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1532, in _wrapped_call_impl
2024-06-14 11:48:23.329 [Warning] ComfyUI-0 on port 7821 stderr:     return self._call_impl(*args, **kwargs)
2024-06-14 11:48:23.329 [Warning] ComfyUI-0 on port 7821 stderr:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-06-14 11:48:23.329 [Warning] ComfyUI-0 on port 7821 stderr:   File "E:\StableSwarmUI\StableSwarmUI\dlbackend\comfy\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1541, in _call_impl
2024-06-14 11:48:23.329 [Warning] ComfyUI-0 on port 7821 stderr:     return forward_call(*args, **kwargs)
2024-06-14 11:48:23.330 [Warning] ComfyUI-0 on port 7821 stderr:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-06-14 11:48:23.330 [Warning] ComfyUI-0 on port 7821 stderr:   File "E:\StableSwarmUI\StableSwarmUI\dlbackend\comfy\ComfyUI\comfy\ldm\modules\diffusionmodules\model.py", line 625, in forward
2024-06-14 11:48:23.330 [Warning] ComfyUI-0 on port 7821 stderr:     h = self.conv_in(z)
2024-06-14 11:48:23.331 [Warning] ComfyUI-0 on port 7821 stderr:         ^^^^^^^^^^^^^^^
2024-06-14 11:48:23.331 [Warning] ComfyUI-0 on port 7821 stderr:   File "E:\StableSwarmUI\StableSwarmUI\dlbackend\comfy\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1532, in _wrapped_call_impl
2024-06-14 11:48:23.331 [Warning] ComfyUI-0 on port 7821 stderr:     return self._call_impl(*args, **kwargs)
2024-06-14 11:48:23.331 [Warning] ComfyUI-0 on port 7821 stderr:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-06-14 11:48:23.332 [Warning] ComfyUI-0 on port 7821 stderr:   File "E:\StableSwarmUI\StableSwarmUI\dlbackend\comfy\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1541, in _call_impl
2024-06-14 11:48:23.332 [Warning] ComfyUI-0 on port 7821 stderr:     return forward_call(*args, **kwargs)
2024-06-14 11:48:23.332 [Warning] ComfyUI-0 on port 7821 stderr:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-06-14 11:48:23.333 [Warning] ComfyUI-0 on port 7821 stderr:   File "E:\StableSwarmUI\StableSwarmUI\dlbackend\comfy\ComfyUI\comfy\ops.py", line 66, in forward
2024-06-14 11:48:23.333 [Warning] ComfyUI-0 on port 7821 stderr:     return super().forward(*args, **kwargs)
2024-06-14 11:48:23.333 [Warning] ComfyUI-0 on port 7821 stderr:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-06-14 11:48:23.333 [Warning] ComfyUI-0 on port 7821 stderr:   File "E:\StableSwarmUI\StableSwarmUI\dlbackend\comfy\python_embeded\Lib\site-packages\torch\nn\modules\conv.py", line 460, in forward
2024-06-14 11:48:23.334 [Warning] ComfyUI-0 on port 7821 stderr:     return self._conv_forward(input, self.weight, self.bias)
2024-06-14 11:48:23.334 [Warning] ComfyUI-0 on port 7821 stderr:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-06-14 11:48:23.334 [Warning] ComfyUI-0 on port 7821 stderr:   File "E:\StableSwarmUI\StableSwarmUI\dlbackend\comfy\python_embeded\Lib\site-packages\torch\nn\modules\conv.py", line 456, in _conv_forward
2024-06-14 11:48:23.334 [Warning] ComfyUI-0 on port 7821 stderr:     return F.conv2d(input, weight, bias, self.stride,
2024-06-14 11:48:23.335 [Warning] ComfyUI-0 on port 7821 stderr:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-06-14 11:48:23.335 [Warning] ComfyUI-0 on port 7821 stderr: RuntimeError: Given groups=1, weight of size [512, 16, 3, 3], expected input[1, 4, 32, 32] to have 16 channels, but got 4 channels instead
2024-06-14 11:48:23.335 [Warning] ComfyUI-0 on port 7821 stderr:
2024-06-14 11:48:23.335 [Debug] ComfyUI-0 on port 7821 stderr: Prompt executed in 9.65 seconds
2024-06-14 11:48:23.510 [Debug] ComfyUI-0 on port 7821 stderr: model_type EPS
2024-06-14 11:48:23.916 [Warning] [BackendHandler] All backends failed to load the model! Cannot generate anything.
2024-06-14 11:48:23.917 [Error] [BackendHandler] Backend request #710 failed: System.InvalidOperationException: All available backends failed to load the model.
at StableSwarmUI.Backends.BackendHandler.LoadHighestPressureNow(List1 possible, List1 available, Action releasePressure, CancellationToken cancel) in E:\StableSwarmUI\StableSwarmUI\src\Backends\BackendHandler.cs:line 1080
at StableSwarmUI.Backends.BackendHandler.T2IBackendRequest.TryFind() in E:\StableSwarmUI\StableSwarmUI\src\Backends\BackendHandler.cs:line 842
at StableSwarmUI.Backends.BackendHandler.RequestHandlingLoop() in E:\StableSwarmUI\StableSwarmUI\src\Backends\BackendHandler.cs:line 970
2024-06-14 11:48:23.917 [Error] [BackendHandler] Backend request #710 failed: System.InvalidOperationException: All available backends failed to load the model.
at StableSwarmUI.Backends.BackendHandler.LoadHighestPressureNow(List1 possible, List1 available, Action releasePressure, CancellationToken cancel) in E:\StableSwarmUI\StableSwarmUI\src\Backends\BackendHandler.cs:line 1080
at StableSwarmUI.Backends.BackendHandler.T2IBackendRequest.TryFind() in E:\StableSwarmUI\StableSwarmUI\src\Backends\BackendHandler.cs:line 842
at StableSwarmUI.Backends.BackendHandler.RequestHandlingLoop() in E:\StableSwarmUI\StableSwarmUI\src\Backends\BackendHandler.cs:line 970
2024-06-14 11:48:23.917 [Debug] [BackendHandler] Backend request #710 finished.
2024-06-14 11:48:23.917 [Error] Grid generator hit error: Invalid operation: All available backends failed to load the model.
2024-06-14 11:48:24.300 [Debug] ComfyUI-0 on port 7821 stderr: Using pytorch attention in VAE
2024-06-14 11:48:24.302 [Debug] ComfyUI-0 on port 7821 stderr: Using pytorch attention in VAE
2024-06-14 11:48:26.026 [Debug] ComfyUI-0 on port 7821 stderr: Requested to load SDXLClipModel
2024-06-14 11:48:26.026 [Debug] ComfyUI-0 on port 7821 stderr: Loading 1 new model
2024-06-14 11:48:26.621 [Debug] ComfyUI-0 on port 7821 stderr: Requested to load SDXL
2024-06-14 11:48:26.621 [Debug] ComfyUI-0 on port 7821 stderr: Loading 1 new model
2024-06-14 11:48:27.786 [Debug] ComfyUI-0 on port 7821 stderr:
2024-06-14 11:48:27.979 [Debug] ComfyUI-0 on port 7821 stderr:   0%|          | 0/28 [00:00<?, ?it/s]
2024-06-14 11:48:28.291 [Debug] ComfyUI-0 on port 7821 stderr:   4%|ΓûÄ         | 1/28 [00:00<00:05,  5.20it/s]
2024-06-14 11:48:28.599 [Debug] ComfyUI-0 on port 7821 stderr:   7%|Γûï         | 2/28 [00:00<00:06,  3.80it/s]
2024-06-14 11:48:28.908 [Debug] ComfyUI-0 on port 7821 stderr:  11%|Γûê         | 3/28 [00:00<00:07,  3.53it/s]
2024-06-14 11:48:29.219 [Debug] ComfyUI-0 on port 7821 stderr:  14%|ΓûêΓû        | 4/28 [00:01<00:07,  3.40it/s]
2024-06-14 11:48:29.539 [Debug] ComfyUI-0 on port 7821 stderr:  18%|ΓûêΓûè        | 5/28 [00:01<00:06,  3.33it/s]
2024-06-14 11:48:29.850 [Debug] ComfyUI-0 on port 7821 stderr:  21%|ΓûêΓûêΓû       | 6/28 [00:01<00:06,  3.26it/s]
2024-06-14 11:48:30.162 [Debug] ComfyUI-0 on port 7821 stderr:  25%|ΓûêΓûêΓûî       | 7/28 [00:02<00:06,  3.25it/s]
2024-06-14 11:48:30.471 [Debug] ComfyUI-0 on port 7821 stderr:  29%|ΓûêΓûêΓûè       | 8/28 [00:02<00:06,  3.23it/s]
2024-06-14 11:48:30.796 [Debug] ComfyUI-0 on port 7821 stderr:  32%|ΓûêΓûêΓûêΓû      | 9/28 [00:02<00:05,  3.23it/s]
2024-06-14 11:48:31.107 [Debug] ComfyUI-0 on port 7821 stderr:  36%|ΓûêΓûêΓûêΓûî      | 10/28 [00:03<00:05,  3.18it/s]
2024-06-14 11:48:31.414 [Debug] ComfyUI-0 on port 7821 stderr:  39%|ΓûêΓûêΓûêΓûë      | 11/28 [00:03<00:05,  3.19it/s]
2024-06-14 11:48:31.738 [Debug] ComfyUI-0 on port 7821 stderr:  43%|ΓûêΓûêΓûêΓûêΓûÄ     | 12/28 [00:03<00:04,  3.21it/s]
2024-06-14 11:48:32.045 [Debug] ComfyUI-0 on port 7821 stderr:  46%|ΓûêΓûêΓûêΓûêΓûï     | 13/28 [00:03<00:04,  3.17it/s]
2024-06-14 11:48:32.367 [Debug] ComfyUI-0 on port 7821 stderr:  50%|ΓûêΓûêΓûêΓûêΓûê     | 14/28 [00:04<00:04,  3.20it/s]
2024-06-14 11:48:32.677 [Debug] ComfyUI-0 on port 7821 stderr:  54%|ΓûêΓûêΓûêΓûêΓûêΓûÄ    | 15/28 [00:04<00:04,  3.17it/s]
2024-06-14 11:48:32.989 [Debug] ComfyUI-0 on port 7821 stderr:  57%|ΓûêΓûêΓûêΓûêΓûêΓûï    | 16/28 [00:04<00:03,  3.19it/s]
2024-06-14 11:48:33.300 [Debug] ComfyUI-0 on port 7821 stderr:  61%|ΓûêΓûêΓûêΓûêΓûêΓûê    | 17/28 [00:05<00:03,  3.19it/s]
2024-06-14 11:48:33.612 [Debug] ComfyUI-0 on port 7821 stderr:  64%|ΓûêΓûêΓûêΓûêΓûêΓûêΓû   | 18/28 [00:05<00:03,  3.20it/s]
2024-06-14 11:48:33.936 [Debug] ComfyUI-0 on port 7821 stderr:  68%|ΓûêΓûêΓûêΓûêΓûêΓûêΓûè   | 19/28 [00:05<00:02,  3.20it/s]
2024-06-14 11:48:34.245 [Debug] ComfyUI-0 on port 7821 stderr:  71%|ΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓû  | 20/28 [00:06<00:02,  3.17it/s]
2024-06-14 11:48:34.554 [Debug] ComfyUI-0 on port 7821 stderr:  75%|ΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûî  | 21/28 [00:06<00:02,  3.19it/s]
2024-06-14 11:48:34.878 [Debug] ComfyUI-0 on port 7821 stderr:  79%|ΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûè  | 22/28 [00:06<00:01,  3.20it/s]
2024-06-14 11:48:35.188 [Debug] ComfyUI-0 on port 7821 stderr:  82%|ΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓû | 23/28 [00:07<00:01,  3.17it/s]
2024-06-14 11:48:35.510 [Debug] ComfyUI-0 on port 7821 stderr:  86%|ΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûî | 24/28 [00:07<00:01,  3.18it/s]
2024-06-14 11:48:35.817 [Debug] ComfyUI-0 on port 7821 stderr:  89%|ΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûë | 25/28 [00:07<00:00,  3.16it/s]
2024-06-14 11:48:36.137 [Debug] ComfyUI-0 on port 7821 stderr:  93%|ΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûÄ| 26/28 [00:08<00:00,  3.19it/s]
2024-06-14 11:48:36.449 [Debug] ComfyUI-0 on port 7821 stderr:  96%|ΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûï| 27/28 [00:08<00:00,  3.17it/s]
2024-06-14 11:48:36.449 [Debug] ComfyUI-0 on port 7821 stderr: 100%|ΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûê| 28/28 [00:08<00:00,  3.18it/s]
2024-06-14 11:48:36.449 [Debug] ComfyUI-0 on port 7821 stderr: 100%|ΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûê| 28/28 [00:08<00:00,  3.23it/s]
2024-06-14 11:48:36.578 [Debug] ComfyUI-0 on port 7821 stderr: Requested to load AutoencoderKL
2024-06-14 11:48:36.578 [Debug] ComfyUI-0 on port 7821 stderr: Loading 1 new model
2024-06-14 11:48:38.028 [Debug] ComfyUI-0 on port 7821 stderr: Prompt executed in 14.70 seconds
2024-06-14 11:48:38.280 [Info] Completed gen #2 (of 3) ... Set: 'Model=XL/sd_xl_base_1.0.safetensors', file 'sd_xl_base_10'
2024-06-14 11:48:38.287 [Info] Generated an image in 47.75 (prep) and 14.92 (gen) seconds
2024-06-14 11:48:39.289 [Error] GridGen stopped while running: {
"error": "Invalid operation: All available backends failed to load the model."
}`

Oh do you possibly have a VAE selected? That error looks like you have an SDv1/SDXL VAE selected on an SD3 model - they're not intercompatible

Oh do you possibly have a VAE selected? That error looks like you have an SDv1/SDXL VAE selected on an SD3 model - they're not intercompatible

I do not. I have the VAE option selected as none/off

Is it maybe an outdated Swarm install? Try Server info -> update and restart
If it's trying to run sd3 like it's an XL model it would cause that error message too

Is it maybe an outdated Swarm install? Try Server info -> update and restart If it's trying to run sd3 like it's an XL model it would cause that error message too

I can run the update again, but it was up to date as of yesterday.,

18:39:45.920 [Info] Swarm is up to date! Version <IP_ADDRESS> is the latest.

Use the update button, needs latest git commit not just the latest release version
also: check that Type is shown properly on the model:

Use the update button, needs latest git commit not just the latest release version
also: check that Type is shown properly on the model:

Which update button? Cuz I've already used this one and the update-windows.bat in the installation directory

The SD3 model itself works fine, it's just when I try to use it in a grid configuration that it doesn't load.

OH I bet what happened is there's an automatic XL VAE set, and when the grid runs it tries to apply the one automatic VAE to all models -- the above commit reworks how that applies, so if that's what hit then updating will fix the bug

OH I bet what happened is there's an automatic XL VAE set, and when the grid runs it tries to apply the one automatic VAE to all models -- the above commit reworks how that applies, so if that's what hit then updating will fix the bug

In the meantime, I am able to work-around this by generating the SD3 images first in the grid and then the SDXL and then the SD1.5 images last. That works. If I try to SD3 after SDXL it produces the error.

Yeah that sounds like it'd be the issue I found there then. So, yeah, update and you should be good

Use the update button, needs latest git commit not just the latest release version
also: check that Type is shown properly on the model:

Since you mentioned this here,  i wanted to ask what to do if the type says (unset)? Is there a way to correct that easily? May help others that search and find this issue before i make another one (same error as this one but mine says unset)


Don't bring an unfocused window to top when dragging file from it

What feature or improvement do you think would benefit Files?
When trying to drag a file (or folder) from a Files window to other window, the Files windows will be focused and automatically jump to the top, covering other window that was originally above. It will be better if the window could stay behind.
It is necessary for the app popping onto the top when clicking on it, or dragging on some empty spaces., title bar, etc.. However, it would be more convenient if it could stay behind when dragging on a single file or the files selected. (That's how windows files explorer behaves on this situation.)
Requirements

When dragging an item from an unfocused Files window, the window should not be focused, stay behind, until the item is finally drop to the original window.
If some of the files have been selected, the window should stay behind when dragging on those files, but get to the top when dragging on other unselected files.

Files Version
<IP_ADDRESS>
Windows Version
10.0.22631.2262
Comments
No response

Thanks for the report, I've added this to the project board. Also you can hover over the program when dragging to focus it.

This improvement will be included in the next update.


Handling 401s from GitHub

We want to send an organization alert, not raise an error.

Current situation is that, by silencing the 401, we miss the invalid credentials check. We need to still raise, but catch it higher up.
Seems like a more generic way to handle this situation is warranted; perhaps something in Replicator#backfill.

Have had a similar situation with Intercom.


operator= wrong signatures

There should be 2 overloads: operator=(string const&) and operator=(string&&). The same is probably needed for the constructors, and other places where string appears as a parameter type. And this may be needed for array and object overloads.

This is now taken care of by a templated operator= which constructs a new value and then swaps.


#1145 : make search bar full width on small screens

Made the search bar appear full width for small screens like mobile. This is how it looks now :-

Codecov Report

Merging #1147 into development will not change coverage.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           development    #1147   +/-   ##
============================================
  Coverage        62.98%   62.98%
============================================
  Files                8        8
  Lines             1375     1375
  Branches           213      213
============================================
  Hits               866      866
  Misses             509      509

Continue to review full report at Codecov.

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

In the description, please add in future Solves or Fixes follows by # and Issue Number. This will close the issue automatically. Thank you!


cra-template-pwa-typescript gives a TS2322 error

This line gives a TypeScript error: https://github.com/cra-template/pwa/blob/3ffd5b0aece2c58067788460801ccc664ecc4004/packages/cra-template-pwa-typescript/template/src/service-worker.ts#L67
TS2322: Type 'ExpirationPlugin' is not assignable to type 'WorkboxPlugin'.
   Types of property 'cacheDidUpdate' are incompatible.

Hello @moltenice!
Can you provide some additional context about which version of c-r-a you're using? Where are you seeing the error—during compilation, or in your editor?
c-r-a v4.x should be using Workbox v5.1.4, and that project has ExpirationPlugin defined as implementing WorkboxPlugin. Workbox itself wouldn't compile if that weren't the case, so I'm not entirely sure how you're ending up with that error.

Hello @jeffposnick! Thanks for getting back to me.
Based on your response I did some digging, and it looks like this is the culprit: https://www.npmjs.com/package/workbox-expiration/v/6.1.5

This version is the current version at the time of this post.
Reverting back to 5.1.4 fixes it.
Example package.json to replicate the exact error I am getting in my original message:
{
  "name": "typescript-example",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.12.0",
    "@testing-library/react": "^11.2.7",
    "@testing-library/user-event": "^12.8.3",
    "@types/jest": "^26.0.23",
    "@types/node": "^12.20.13",
    "@types/react": "^16.14.6",
    "@types/react-dom": "^16.9.13",
    "react": "^17.0.2",
    "react-dom": "^17.0.2",
    "react-scripts": "4.0.3",
    "typescript": "^4.2.4",
    "web-vitals": "^0.2.4",
    "workbox-background-sync": "^5.1.4",
    "workbox-broadcast-update": "^5.1.4",
    "workbox-cacheable-response": "^5.1.4",
    "workbox-core": "^5.1.4",
    "workbox-expiration": "^6.1.5",
    "workbox-google-analytics": "^5.1.4",
    "workbox-navigation-preload": "^5.1.4",
    "workbox-precaching": "^5.1.4",
    "workbox-range-requests": "^5.1.4",
    "workbox-routing": "^5.1.4",
    "workbox-strategies": "^5.1.4",
    "workbox-streams": "^5.1.4"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}

Hope that sheds some light :)

Yes, so that does explain what happened. You can't mix-and-match different versions of the Workbox libraries in the same service worker.
I'm going to close this, because I'm assuming that this isn't something that needs to be fixed in this project itself—there should be only v5.1.4 used across all of the Workbox libraries by default, which are pulled in via https://github.com/facebook/create-react-app/blob/7bdeced8495370b683c08b86bc84b66af83f2f0a/packages/react-scripts/package.json#L89

@jeffposnick as far as I know, when using npx create-react-app my-app --template pwa-typescript, it doesn't use "workbox-webpack-plugin" but directly puts in the dependencies themselves.
That package.json I attached above was what was made using this command (and then I manually changed "workbox-expiration" to recreate the issue I was having)
Also, I think 5.1.4 got updated by itself because of an npm audit fix run, but I could be wrong! Just letting you know in case there was a security fix done in v6 but v5 was left out!

Hello @moltenice—it's definitely possible that manually running npm audit fix might have caused some of the dependencies to get out of sync. That's also mostly out of our control in this project, as far as I can tell. As long as doing the default npx create-react-app my-app --template pwa-typescript led to an install that was internally consistent, I think that's about as good as we can get.

@jeffposnick do you reckon you could make the default npx command use "workbox-webpack-plugin"? That would probably stop npm audit fix from affecting anything!
I am assuming that plugin can be used as a dependency instead of:
    "workbox-background-sync": "^5.1.4",
    "workbox-broadcast-update": "^5.1.4",
    "workbox-cacheable-response": "^5.1.4",
    "workbox-core": "^5.1.4",
    "workbox-expiration": "^5.1.4",
    "workbox-google-analytics": "^5.1.4",
    "workbox-navigation-preload": "^5.1.4",
    "workbox-precaching": "^5.1.4",
    "workbox-range-requests": "^5.1.4",
    "workbox-routing": "^5.1.4",
    "workbox-strategies": "^5.1.4",
    "workbox-streams": "^5.1.4"

What I remember trying to do when we set up these templates was to leave out all of the Workbox dependencies, because the react-scripts package.json already depends on workbox-webpack-plugin, which in turn depends on the individual Workbox libraries.
My recollection is that leaving out those explicitly dependencies led to warning messages during either install or build time... I think having to do with yarn not being happy that the project relied on dependencies that were inherited instead of explicitly listed? This was a while ago so I'm afraid I'm foggy on some of the details as to what broke.


Azure Key vault --

[Enter feedback here]

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

ID: 39cfb8ed-c246-2ffb-9dff-070b90c18b21
Version Independent ID: c09c1597-1b6c-b0a2-b3fc-bdc16764d096
Content: az keyvault secret
Content Source: latest/docs-ref-autogen/keyvault/secret.yml
Service: key-vault
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

hi @kamkunji could you pls share more detail about the issue met?


Author name Issue

Hi
While running the Versionize Command in Azure DevOps release pipeline using Command Prompt, I am getting this error.
√ bumping version from 1.0.1 to 1.0.2 in projects √ updated CHANGELOG.md Unhandled Exception: System.ArgumentNullException: Value cannot be null. Parameter name: author at LibGit2Sharp.ObjectDatabase.CreateCommit(Signature author, Signature committer, String message, Tree tree, IEnumerable1 parents, Boolean prettifyMessage, Nullable1 commentChar) at LibGit2Sharp.Repository.Commit(String message, Signature author, Signature committer, CommitOptions options) at LibGit2Sharp.RepositoryExtensions.Commit(IRepository repository, String message, Signature author, Signature committer) at Versionize.WorkingCopy.Versionize(Boolean dryrun, Boolean skipDirtyCheck, Boolean skipCommit, String releaseVersion) in C:\p\github\versionize\Versionize\WorkingCopy.cs:line 116 at Versionize.Program.<>c__DisplayClass0_0.<Main>b__0() in C:\p\github\versionize\Versionize\Program.cs:line 34 at Versionize.Program.Main(String[] args) in C:\p\github\versionize\Versionize\Program.cs:line 45
But When I run the Versionize Command Locally, i am not getting any error.

For anyone that bumps in to this issue, when using Azure DevOps
I have this task in our build pipeline.
- task: CmdLine@2
    displayName: "Set git user"
    inputs:
      script: |
        git config --global user.email<EMAIL_ADDRESS>        git config --global user.name "Azure DevOps"

Thanks for the example. We have also added a warning when this case is encountered, so it should be more obvious now.


Client & Project Management

Task:
Create guidelines for client management and project management on projects that involve design deliverables.

Outline:

Kickoff

norming with your team

norming with your client

talking to your PM about the devision of work

Continuing

dealing with hard clients

getting better feedback

documentation

Completion

packaging design assets
handoff

I think it would be great to collaborate with @brianloveswords and Lorin (what's her github handle?!) on this particular ticket.

I believe Lorin's handle is @labond

I already talked to Lorin about meeting at the end of the week and sharing what I have since she's doing a similar task


Add Replicate demo and API

Hey @arthur-qiu!
This pull request makes it possible to run LongerCrafter on Replicate (https://replicate.com/cjwbw/LongerCrafter) and via API (https://replicate.com/cjwbw/LongerCrafter/api).
I did have a question regarding the output size, do they need to be either 576x1024 or 256x256? Tested other settings had either error or low quality, think this might be a good update :)
Happy to transfer the ownership of the page to your account so you can easily push any changes!

Hey @arthur-qiu!
This pull request makes it possible to run LongerCrafter on Replicate (https://replicate.com/cjwbw/LongerCrafter) and via API (https://replicate.com/cjwbw/LongerCrafter/api).
I did have a question regarding the output size, do they need to be either 576x1024 or 256x256? Tested other settings had either error or low quality, think this might be a good update :)
Happy to transfer the ownership of the page to your account so you can easily push any changes!

Many thanks for your contribution! Here we use the VideoCrafter as our base model and they mainly support the fixed resolution. And the model of 376 x 512 resolution will be recovered soon. In addition, ScaleCrafter should be able to support the flexible resolution.
Btw, can you replace the example of "a man is skiing in the snow"? We find the 1024 model is not good on motion.
Finally, you can host the Ownership of Replicate until you don't want to maintain it. Thank you again for your contribution.


Remove the ability to mix free and paid pages

Description
There is a quite annoying bug where if a user prints using free pages, their free page pool is only decreased by p and not by n*p (where n is the number of copies, and p is the number of pages in the document). The quickest and easiest way of dealing with it is to only allow a print job to be fully paid or entirely free and deduct the printed pages correctly. The solution is not ideal but it is quite a rare occurrence where someone would like to use both free pages and pay for the remainder. (They can split it themselves.)
This bug is quite annoying as our registry shows only a fraction of the actual usage. I.e. ~ 5000 sheets was loaded into the printer during this semester, and our Mars instance shows only a few hundred printed pages. It would be crucial to understand how many pages were printed for different kinds of activities as it has already eaten roughly a quarter of our budget of the semester in half-a-semester.
Changes

Removed the ability to mix free and paid pages.
Fixed the problem where multiple number of copies were only deducted once.

Additional Notes
I am not refactoring the printer module for this PR.
To allow mixing these methods, the PrintAccount class would also need to be refactored but I do not think that it is worth the time to be invested as we will need additional refactoring as we are planning on introducing multiple printers.

@coderabbitai full review


Magento 2.1.7 not getting correct urls

I used this succesfully with 2.1.5, but with 2.1.7 nothing is changing when I run this code.
Any thoughts?

I think you have to set the product store id in all cases. At least this fixed the issue for me.

I received this reply to my email, but can't find from here, so it was:

I think you have to set the product store id in all cases. At least this fixed the issue for me.

I used this command: php bin/magento iazel:regenurl -s1 and changed the end to -s2 etc. for different shops. Still one shop only has broken urls and it's super frustrating (althought this should be fixed by Magento, not @Iazel of course.

Yep i deleted the comment since i noticed this was probably a different issue. Since i upgraded to 2.1.7 i had the issue that the plugin sets the URLs for the wrong scopes. I also use a modified Version of lazels module. What Kind of broken URL´s are you talking about by the way? I wouldnt call myself a magento specialist but maybe i can help.
Regards
Gesendet von Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 für Windows 10
Von<EMAIL_ADDRESS>Gesendet: Donnerstag, 29. Juni 2017 18:27
An<EMAIL_ADDRESS>Cc<EMAIL_ADDRESS><EMAIL_ADDRESS>Betreff: Re: [Iazel/magento2-regenurl] Magento 2.1.7 not getting correct urls (#17)
I received this reply to my email, but can't find from here, so it was:
I think you have to set the product store id in all cases. At least this fixed the issue for me.
I used this command: php bin/magento iazel:regenurl -s1 and changed the end to -s2 etc. for different shops. Still one shop only has broken urls and it's super frustrating (althought this should be fixed by Magento, not @Iazelhttps://github.com/iazel of course.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/Iazel/magento2-regenurl/issues/17#issuecomment-312020169, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AL0hJWDHOnmLRnqPgAEBXYOcHuZajpkhks5sI9B2gaJpZM4OJYZv.

OK - Thanks! My issue was down to Mageworx SEO extension which was messing with the URLs. Disabled that, run this and all was ok again.


After upgrade from 0.15.0 to 0.16.0     System.MissingMethodException : Method not found: 'Boolean AngleSharp.Text.CharExtensions.IsOneOf(Char, Char, Char)'.

Bug Report
Prerequisites

[ ] Can you reproduce the problem in a MWE?
[x] Are you running the latest version of AngleSharp?
[x] Did you check the FAQs to see if that helps you?
[x] Are you reporting to the correct repository? (there are multiple AngleSharp libraries, e.g., AngleSharp.Css for CSS support)
[x] Did you perform a search in the issues?

For more information, see the CONTRIBUTING guide.
Description
I use AngleSharp in combination with bUnit to test Blazor UI-Components
After upgrading to the version 0.16.0 I get the following error when calling the extension method Find(this IRenderedFragment renderedFragment, string cssSelector) on a rendered fragment
Stack trace
CssTokenizer.NumberStart(Char current)
CssTokenizer.Get()
CssBuilder.CreateDeclarationWith(ICssProperties properties, CssToken& token)
CssBuilder.FillDeclarations(CssStyleDeclaration style, CssToken token)
<>c__DisplayClass23_0.b__0(CssBuilder b, CssToken t)
CssParser.Parse[T](String source, Func`3 create)
CssParser.ParseDeclaration(String declarationText)
CssStyleDeclaration.Update(String value)
ElementCssInlineStyleExtensions.CreateStyle(IElement element, String source)
ElementCssInlineStyleExtensions.CreateStyle(IElement element)
<10 more frames...>
HtmlDomBuilder.InBody(HtmlToken token)
HtmlDomBuilder.Home(HtmlToken token)
HtmlDomBuilder.Consume(HtmlToken token)
HtmlDomBuilder.Parse(HtmlParserOptions options)
HtmlParser.ParseFragment(HtmlDocument document, IElement contextElement)
HtmlParser.ParseFragment(String source, IElement contextElement)
BunitHtmlParser.Parse(String markup) line 65
RenderedFragment.get_Nodes() line 76
RenderedFragmentExtensions.Find(IRenderedFragment renderedFragment, String cssSelector) line 29
Steps to Reproduce

Create an object of type IRenderedFragment
Call the extension method Find("mySelector")

Expected behavior: [What you expected to happen]
The method returns the expected control
Actual behavior: [What actually happened]
Exception
Environment details: [OS, .NET Runtime, ...]
Windows, .NET 5

I think you hit the wrong repository. Also is 0.16 compatible with bUnit at all? Please check first there!
Thanks!

I am sure I hit the right repository. The stack trace clearly shows that the error comes from the AngleSharp library. Could you please at least address me to the where the root cause of the issue could be? I doubt that the root cause is in bUnit

bUnit currently uses an older version of anglesharp which looks incompatible to 0.16.0.
From the changelog it looks like the next bUnit version will also use anglesharp 0.16.0 so you would need to wait for that I guess.

Updated AngleSharp and related libraries to 0.16.0.


Fix #263 - Egress charges hop by hop

Overview/Summary
Replace this with a brief description of what this Pull Request fixes, changes, etc.
This PR fixes/adds/changes/removes

Fixes Issue #263

Breaking Changes
None
Testing Evidence
No code is changed by this PR
As part of this Pull Request I have

[X] Checked for duplicate Pull Requests
[X] Ensured my code/branch is up-to-date with the latest changes in the main branch
[ ] Performed testing and provided evidence.
[X] Updated relevant and associated documentation.

@fguerri  Approved. You would have to merge the PR.


[MODINVUP-89] - Add the displaySummary field to the schema

MODINVUP-89 - Add displaySummary field to the relevant modules

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


Validate generated JSON schemas

Hi there,
I wanted to bring up an issue I encountered with Portman that might be worth looking into.
In my OpenAPI spec, I had a field using "types": ["object", "null"] (note the use of "types" instead of "type") along with "nullable": true. Portman generated the contract tests successfully, but the resulting JSON schema was invalid.
It might be helpful if Portman could catch this kind of inconsistency earlier in the process. For example, it could fail during the Postman collection generation with a clear JSON schema validation error. This change could make it easier for users to spot and fix these issues in their OpenAPI specs before they cause problems down the line.
I'm happy to provide more details or a specific example if that would be helpful. Thanks for considering this feedback!

hi @harry-pledge-io
We had a logic that would optimize the JSON schema to remove these consistencies.
With switch to a newer version of a dependency, it sound that the optimization is not executed anymore.
If you have an example of an openapi spec, which generates this incorrect JSON schema and what would be the correct schema, would be helpful to reproduce and correct the issue?

I was thinking more of the latter as it should be quicker to implement, but the former would be ideal too perhaps as a separate feature.
I would expect any tests the library generates to be valid, therefore the generated JSON schema injected by the library should be valid and, ideally, I should not have to worry about checking this.
To address your follow up question:
Since I opted into schemaValidation tests in the Portman config, I would expect this to be a fatal error and stop the conversion. Skipping the JSON schema validation injection with a warning could be easy to miss and produce unexpected behaviour.

I understand your reasoning to leverage contract testing with JSON schema validation, so the schema should be valid.
Typically, we see workflows, where the OpenAPI is validated using Spectral or Vacuum (or any other of the OSS OpenAPI linting tools).
So that is why we never really got this request before.
Do you have a workflow for your OpenAPI specs, or just pass the raw OpenAPI file to Portman?
@nicklloyd What do you think of this feature request?
Technically it is straightforward, since AJV is already included in Portman, so we could throw a error when injecting the JSON schema validation.

Yeah, I do think it's fair that you expect a valid OpenAPI spec before hand. In my case I am actually using Spectral to validate the spec before passing it to Portman, but perhaps they have an issue on their library because it does not raise any validation errors in this case. Anyway that's another issue.
Here's some reproduction steps using a modified Swagger Petstore example:
{
  "openapi": "3.1.0",
  "info": {
    "version": "1.0.0",
    "title": "Swagger Petstore",
    "license": {
      "name": "MIT"
    }
  },
  "servers": [
    {
      "url": "http://petstore.swagger.io/v1"
    }
  ],
  "paths": {
    "/pets": {
      "get": {
        "summary": "List all pets",
        "operationId": "listPets",
        "tags": ["pets"],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "How many items to return at one time (max 100)",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A paged array of pets",
            "headers": {
              "x-next": {
                "description": "A link to the next page of responses",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Pets"
                }
              }
            }
          },
          "default": {
            "description": "unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create a pet",
        "operationId": "createPets",
        "tags": ["pets"],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Pet"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Null response"
          },
          "default": {
            "description": "unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/pets/{petId}": {
      "get": {
        "summary": "Info for a specific pet",
        "operationId": "showPetById",
        "tags": ["pets"],
        "parameters": [
          {
            "name": "petId",
            "in": "path",
            "required": true,
            "description": "The id of the pet to retrieve",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Expected response to a valid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Pet"
                }
              }
            }
          },
          "default": {
            "description": "unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Pet": {
        "types": ["object", "null"],
        "nullable": true,
        "required": ["id", "name"],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "tag": {
            "type": "string"
          }
        }
      },
      "Pets": {
        "type": "array",
        "maxItems": 100,
        "items": {
          "$ref": "#/components/schemas/Pet"
        }
      },
      "Error": {
        "type": "object",
        "required": ["code", "message"],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          }
        }
      }
    }
  }
}

Note that the components.schemas.Pet object is missing type and instead using types with a value ["object", "null"] and "nullable": true is added.

Run this through spectral linter and it passes (Optional)
Add a contract test for the GET pets operation to the Portman config

{
        "openApiOperation": "*::/pets",
        "statusCode": {
          "enabled": true
        },
        "contentType": {
          "enabled": true
        },
        "jsonBody": {
          "enabled": true
        },
        "schemaValidation": {
          "enabled": true,
          "additionalProperties": true
        },
        "headersPresent": {
          "enabled": true
        }
      }

Generate the postman collection with Portman
Get the generated response JSON schema

// Response Validation
const schema = {"type":"array","maxItems":100,"items":{"types":["object","null"],"required":["id","name"],"properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"tag":{"type":"string"}},"type":[null,"null"]}}

Validate this JSON schema, I used https://www.jsonschemavalidator.net/
It should fail to parse the schema.

Thanks for all the info, I already spotted that 3.1.0 OpenAPI version, which might be a factor in the incorrect JSON schema used.
I'll look into it in the next week and come back to you.

Good spot. I just did a quick check with 3.0.0 and it produces the same result.
Thanks for your time!

hi @harry-pledge-io
Thanks to your example, I'm able to reproduce it.

I'll see if we can add a schema validation and/or convert the schema into a valid schema.

@harry-pledge-io We were able to find and fix the cause, and add validation step during the conversion.
Have a look at the PR for more details.
REMARK: we did not stop the Portman conversion but added a warning and skipped the JSON schema check injection in the Postman collection.

LGTM, thanks for looking into it!
Is there a particular reason you prefer to warn in this case? I ask because I do the Portman conversion during a step in a CI pipeline and I would miss any instances of this warning unless I decide to manually look at each pipeline (or write some extra logic to look for warning logs in the pipeline). If you don't want to effect existing behaviour, then it would be ideal If there were a way to opt into fatal errors instead (perhaps with some kind of strict mode flag).

The introduction of a "strict mode" could be useful, we are always cautious with the introduction of too many flags to handle edge cases.
Out of curiosity, what else would you consider strict (fatal)?

hi @harry-pledge-io
While we discuss the "strict mode", I can already share the news that we just released Portman 1.30.1, which contains the enhancements for the OpenAPI to JSON schema conversion, including the validation and alerting of the generated JSON schema.

The introduction of a "strict mode" could be useful, we are always cautious with the introduction of too many flags to handle edge cases.
Out of curiosity, what else would you consider strict (fatal)?

I'm not sure what all the current instances of warnings/errors are in Portman but I would say likely anything that's currently considered a warning/error but does not stop the process. Also anything that prevents Portman from outputting what is defined in the Portman config.

@nicklloyd what is your opinion on the "strict" parameter, and which errors would you consider a hard exit of the conversion?

@harry-pledge-io
Besides the "strict" discussion, did the last version of Portman solved the original issue?


delete EOL robots and EOL packages

EOL robot candidates are:

[ ] raw3-1 :point_right: universal stuff definitely needs to be removed...ros_industrial/universal_robots is no longer supported as UniveralRobot is now officially involved...
[x] raw3-3 still in use at IPA
[ ] raw3-5
[ ] cob4-3 (MLR)
[ ] cob4-4 (MLR)
[ ] cob4-6 (MLR)
[ ] cob4-10 (T-LABS)

remove those robots from

[ ] cob_supported_robots
[ ] cob_bringup
[ ] cob_hardware_config
[ ] cob_default_robot_config
[ ] cob_calibration_data
[ ] cob_navigation_config
[ ] cob_moveit_config

EOL package candidates are:

not used by any robot

[ ] cob_utilities
[ ] cob_generic_can
[ ] cob_canopen_motor
[ ] cob_base_drive_chain
[ ] cob_undercarriage_ctrl
[ ] cob_camera_sensors
[ ] cob_relayboard

just used by EOL robots

[ ] cob_sick_lms1xx (raw3-5)
[x] raw_description (raw3-1, raw3-3, raw3-5) raw3-3 is still in use by IPA
remove those packages and corresponding launch files from

[ ] cob_bringup

@ipa320 @ipa-rmb @ipa-fog @ipa-jba @ipa-fez @ipa-srd @ipa-nhg @ipa-mdl @ipa-jcl @ulrichreiser any objections?

we had a short internal discussion. Right now it looks like we are moving the "rob@work" specific files to our own repository so you don't have to maintain/take over some responsibilities for the rob@work line of robots. This doesn't mean we are not using e.g. cob_driver, but it is likely that we will move all r@w specific stuff to us (in an upcoming PR)

if you ask me, I'm still in favor of not removing what is currently working....but remove it once it's broken - to save the effort of fixing it...
as to raw stuff:
raw stuff (as one of several) currently prevents a proper melodic release of cob_robots due to the outdated dependency to universal_robots for raw3-1` which is not-maintained anymore anyway
so if you'd like to "move" raw stuff (description, config and launch files), that'd be ok for me to remove those things from cob_X repos
:point_right: that would also mean that IPA takes over support for sold raw's?
but all the other nodes listed above - even if unused by supported robots - could remain as long as they are not breaking anything...they have been provided to the ROS community and we do not necessarily know whether anybody else uses them...

One of the points I'm currently running in is, that cob_bringup supplies bringups for a whole load of heterogeneus robots (cob4, raw3 short, raw3 long with arm, raw mini, maybe someday raw4) which all require different dependencies (nothing needs the "cob_mecanum_controller" except the raw-mini, universal robots is only needed for raw3-1 ...).
I wanted to do a minimal install package to install on raw-mini basically where only max. 10% of the (transitive) dependencies of cob_bringup, cob_hardware_config... are actually needed. This didn't work because for example the universal robot stuff --> I created another package "raw_mini_bringup" where I hand-picked dependencies and copied files from cob_bringup so I don't have to depend on cob_bringup.
imho a common package is reasonable for homogeneus robots but for heterogeneous robots it adds a lot of overhead.
The same is true for cob4 which (I assume) is melodic compatible by now, but since raw3-1 is not you cannot move forward until raw3-1 is fixed. so your options are to declare raw3-1 EOL or being stuck on kinetic forever. Splitting up Repostories comes with downsides but allows raw3-1 to be eol without impacting any other robot or needing work (like remove the universal robot driver) which will never be used (since tbh it is probably still running indigo).
Additionally we (ipa) build up a new robot which you never see/hear of until a bunch of random PRs pop up where some mixups happen (like just recently raw-mini != raw4)..

imho a common package is reasonable for homogeneus robots but for heterogeneous robots it adds a lot of overhead.

I compleetly agree with @ipa-jba. This is exaclty the reason why I started the discussion in this issue. Following @ipa-jba statements it would be best to keep cob_robots only for Care-O-bot 4 robots and have a separate raw_robots repository where all rob@work related launch files and dependencies are moved. If we agree to that, it should be ok to remove the listed robots and packages above (https://github.com/ipa320/cob_robots/issues/793#issue-551551457).

Hi, I would appreciate not to remove raw3-5 sine we are using it actively. I agree to move it to raw specific repos, but I would really appropriate to keep it in the repos with other dependencies on your packages we are using.
Thanks for considering this!

@ipa-jba we'd like to takeup this issue again. Did you move raw robots to a standalone repo in the meanwhile?

unfortunately only the raw minis, but I right now I don't see a reason why this should stop you from cleaning up. maybe push a tag, but I will just note down the commit sha and keep my branches and stuff.

@ipa-jba thanks. Sure, we'll create tags of all repos with the latest version which supports EOL raws/cob3s/cob4s.


Global notification with respect to current view port of browser

Looks like global notification renders messages at the top regardless of user's view port in browser and easily gets unnoticed. Please provide an option to render global notifications within view port so users will see them regardless of their position in the page. The famous noty plugin does this.

I'm not sure I understand, but this is not true (or no longer true). The very docs demonstrate that as they have a scroll bar. There is a scroll bar, and you when you notify top globally you see it in the viewing pane. Please explain more of this, and feel free to reopen.


Inconsistent manifest env JSON value error handling between cf cli v6 and v7

Please fill out the issue checklist below and provide ALL the requested information.

[ Y ] I reviewed open and closed github issues that may be related to my problem.
[ Y ] I tried updating to the latest version of the CF CLI to see if it fixed my problem.
[ Y ] I attempted to run the command with CF_TRACE=1 to help debug the issue.
[ Y ] I am reporting a bug that others will be able to reproduce.

Describe the bug and the command you saw an issue with
When specifying a manifest env var with a JSON value, the value should be quoted so that it is treated as a string:
    env:
      JSON: '{ wasabi: { is: "good" }, i: { like: "wasabi" } }'

If the user mistakenly enters in the JSON without the quotes, a cf push using cf cli v6 will output a yaml error.  However, a cf push using cf cli v7 will succeed and transform the JSON into a strange non-JSON format.
What happened
cf push v6 correctly displays an error to the user
cf push v7 succeeds but mangles the JSON
Expected behavior
I would expect the v7 push to display an error and abort the push
Exact Steps To Reproduce
Given the following manifest:
---
applications:
  - name: test-app
    buildpacks:
      - staticfile_buildpack
    env:
      JSON: { wasabi: { is: "good" }, i: { like: "wasabi" } }

v6 behavior
$ cf version
cf version 6.53.0+8e2b70a4a.2020-10-01

$ cf target
api endpoint:   https://api.run.nulldriver.com
api version:    2.150.0
user:           admin
org:            xtmp
space:          xtmp

$ cf push
Pushing from manifest to org xtmp / space xtmp as admin...
Using manifest file /Users/patrickcrocker/git/cf-cli-resource/spec/fixture/static-app/manifest.yml
yaml: unmarshal errors:
  line 5: cannot unmarshal !!map into string
FAILED

v7 behavior
$ cf7 version
cf7 version 7.2.0+be4a5ce2b.2020-12-10

$ cf7 target
API endpoint:   https://api.run.nulldriver.com
API version:    3.85.0
user:           admin
org:            xtmp
space:          xtmp

$ cf7 push
Pushing app test-app to org xtmp / space xtmp as admin...
Applying manifest file /Users/patrickcrocker/git/cf-cli-resource/spec/fixture/static-app/manifest.yml...
Manifest applied
Packaging files to upload...
Uploading files...

...removed for brevity...

     state     since                  cpu    memory    disk      details
#0   running   2020-12-12T17:16:09Z   0.0%   0 of 1G   0 of 1G

$ cf env test-app
Getting env variables for app test-app in org xtmp / space xtmp as admin...
OK

System-Provided:

...removed for brevity...

User-Provided:
JSON: {:i=>{:like=>"wasabi"}, :wasabi=>{:is=>"good"}}

No running env variables have been set

No staging env variables have been set

Notice the mangled format of the JSON env variable: {:i=>{:like=>"wasabi"}, :wasabi=>{:is=>"good"}}
Provide more context

Mac OS X 10.15.7 iTerm

Notes regarding V6 and V7 CLI support:

V6:

Minimum supported version of CF Deployment: v7.0.0 (CAPI Release: 1.74.0 (APIs 2.128.0 and 3.63.0))
Maximum supported version of CF Deployment: v13.4.0 (CAPI Release: 1.94.0 (APIs 2.149.0 and 3.84.0))

V7:

Minimum supported version of CF Deployment: v13.5.0 (CAPI Release: 1.95.0 (APIs 2.150.0 and 3.85.0))

I also just noticed that cf push v6 fails for arrays, but cf push v7 succeeds and exhibits some strange behavior for the json value:
manifest.yml
---
applications:
  - name: test-app
    buildpacks:
      - staticfile_buildpack
    env:
      JSON: { wasabi: { is: "good" }, i: { like: "wasabi" } }
      SIMPLE_ARRAY:
        - list
        - of
        - things
      COMPLEX_ARRAY:
        - item: list
        - item: of
        - item: things

cf v7 behavior
$ cf7 env test-app
Getting env variables for app test-app in org xtmp / space xtmp as admin...
OK

System-Provided:

...removed for brevity...

User-Provided:
COMPLEX_ARRAY: [{:item=>"list"}, {:item=>"of"}, {:item=>"things"}]
JSON: {:i=>{:like=>"wasabi"}, :wasabi=>{:is=>"good"}}
SIMPLE_ARRAY: ["list", "of", "things"]

No running env variables have been set

No staging env variables have been set

Thanks for the report! This is an interesting one. In v7, we tried to push as much of the manifest-validation logic onto CAPI as possible. So I think this may end up needing a fix on the API side. But I'll start some conversations with the CAPI team to discuss.

Going to transfer this issue to the cloudfoundry/cloud_controller_ng repo.


Disable input and postproc by omiting config file sections

I don't know if its the most elegant way of doing this, but it definitely works for me.

Seems good to me if it leaves the default behavior untouched (just an option to disable).

The Zen of python says Explicit is better than implicit.. With that change, removing a section implicitly disables it which I think is incorrect. There should be a way to explicitly disable them if they need to be disabled. Speaking of which, why do you want to disable it?
Also, they should be able to be disabled independently.

Closing until a rational for this behavior is provided, as merging this could certainly have surprising effects (double touch postproc anyone?).


Allow multiple prioritized date/datetime formats in flat data

Dependant on https://github.com/finos/legend-pure/pull/411


Slow Octavi encoder when DOF reality H2 control box connected

Describe the bug
When the DOF reality H2 control box is connected, the Octavi encoder events are very slow.
Steps To Reproduce
Steps to reproduce the behavior:

Connect DOF reality H2 control box
Connect Octavi
Enable logging
Turn encoders
See error

Expected behavior
Fast encoder events
Actual behavior
Slow encoder events
Details

MobiFlight Version: 10.0+

Additional context
Reported on Discord https://discord.com/channels/608690978081210392/1179151236277219409

Resolution posted on Discord:
From Arnold:
I had this same issue. It was caused by Sim Racing Studio's automatic Com Port search of my DOF Reality H3. I fixed it by manually entering my H3's Com Port in "Documents\SimRacingStudio 2.0\config.ini" -> [DOF REALITY] left_controller_com_port = COM4
This fixed my issue as well.


Add functional tests for Discover API

There is some functionality that can best tested without an API key. For complete coverage an API key will be required. At minimum the existing notebooks should be updated to run on an rdev environment.

This could be a notebook test conversion, but it could be an inspiration / starting point

@atolopko-czi says 5 too

@Bento007 will coordinate with @brianraymor to identify top priority tests to write and break down to smaller tickets as needed for parallelization

Removing CI/CD label, since this is really about improving test coverage. While testing is under the CI/CD "umbrella", it's not strictly about enabling the mechanics of a CI/CD workflow.

@Bento007 will coordinate with @brianraymor to identify top priority tests to write and break down to smaller tickets as needed for parallelization

@Bento007 , does this list exist or is this still TBD?


Fix MST SendState segfault

Signed-off-by: Igor Egorov<EMAIL_ADDRESS>Description of the Change
It was possible to cause a segfault in Iroha by sharing MST state that contains a transaction with non-typed command.
Now such states are handled correctly - they are dropped during proto validation.
The test is created.
Now proto validators are used for transactions as it was desired initially.
Benefits
Improved stability and code coverage.
Possible Drawbacks
Once a day, non-proto transaction validator can be accidentally used.
Usage Examples or Tests
make transport_test
test_bin/transport_test

I think this kind of tests should be done on ITF, as it now has the MST handle merged in dev:
https://github.com/hyperledger/iroha/blob/4e7dbf69d42417bd3c533216ec6e097c97f550ce/test/framework/integration_framework/integration_test_framework.hpp#L252-L261
Or you could use a more convenient handle of Fake Peer that is not yet merged:
https://github.com/hyperledger/iroha/blob/312dc36c78a6e371191a7c5689a8c309eb93d6ab/test/framework/integration_framework/fake_peer/fake_peer.hpp#L153-L154

Need to merge despite failing CI, because the pr contains a part of fix.


Minor simplification in Custom logo upload

Just avoid repeating params["#{x}.to_sym] many times in row.
@miq-bot add_label ui, refactoring
@miq-bot assign @martinpovolny

@miq-bot add_label darga/no


Terms of build in Dynamics 365

Hi,
I have some questions, for the Dynamics 365 build logic, I will prepare the dev environment, update the Web Resource, make sure the plugin updated, and everything is good, now I will export the solutions, now the step of importing them in the Test environment is this should be done in the Build, and to production in the Release, another question, on the XrmToolCast you mentation number of Testing tools that can assist you in testing your work, UI, logic, etc., can you provide the names.
Thanks

@aboodh95 I would always package/export solutions in build and deploy them in releases (including any test env).
as for testing...
Below are a few links
https://dynamicsvalue.com/home
https://github.com/microsoft/EasyRepro


FEATURE: multiple neotree in different tab

Did you check the docs?

[X] I have read all the docs.

Is your feature request related to a problem? Please describe.
May I have multiple neotree in different nvim tab?
When I open neotree window in tab1 then switch into tab2 and call Neotree command, it just get back to neotree window in tab1 which is not what I what.
Perhaps, opening a neotree directly in the second tab would be a more intuitive behavior?
Describe the solution you'd like.
provid an option to config thsi behavious~
Describe alternatives you've considered.
neotree window should be handled by each tab independently.
Additional Context
No response

This is actually a core feature that broke somewhere along the way. It should absolutely support a separate instance for each tab. Since I stopped using tabs and sidebars in my daily workflow I didn't notice that this was broken.
I'll take a look and fix it.

@cseickel Sorry for forgetting to mention that the branch I am using is the latest version of 2.x (maintained by LazyVim), this defect also exists on that branch 🤣

@qizidog looks like @cseickel merged a fix for this in main. Can you try out the main branch and verify that it is working "as expected" there?

@miversen33 Sure, I have checked the main branch and it looks very good! 😆

Awesome sauce :)

FYI @qizidog @miversen33 - I was considering v2.x as done because we are about to release v3.0, but this is a significant bug so I backported it to v2.x as well.

FYI @qizidog @miversen33 - I was considering v2.x as done because we are about to release v3.0, but this is a significant bug so I backported it to v2.x as well.

Thank you for your information!


Python support

I would like Python tests to be supported by the test reporter./
Using the Java JUNIT format with unittest-xml-reporting seems to work decently, but I don't seem to get a traceback with failed tests:

Could this be fixed (or have a proper supported Python type)? The traceback does exist in the XML, so maybe we could have an option to turn the parsing of it off?
Thanks!

I've had success with pytest (which is compatible with unittest) by providing --junit-xml option and --tb to configure the traceback, which this test report uses to display more useful error messages.

I've had success with pytest (which is compatible with unittest) by providing --junit-xml option and --tb to configure the traceback, which this test report uses to display more useful error messages.

Can you please provide more information about how you managed to do it on using python pytest?

I've had success with pytest (which is compatible with unittest) by providing --junit-xml option and --tb to configure the traceback, which this test report uses to display more useful error messages.

Can you please provide more information about how you managed to do it on using python pytest?

You just need to provide the --junit-xml argument as documented here: https://docs.pytest.org/en/7.2.x/how-to/output.html
Then provide that same path to the path input for this plugin.


update documentation in README

Update gifs for all the environments

SingleRoomUndirected

SingleRoomDirected

GridRoomsUndirected

GridRoomsDirected

SequentialRoomsUndirected

SequentialRoomsDirected

MazeUndirected

MazeDirected

GoToTargetUndirected

GoToTargetDirected

DoorKeyUndirected

DoorKeyDirected

CollectGemsUndirected

CollectGemsDirected

CollectGemsMultiAgentUndirected

DynamicObstaclesUndirected

DynamicObstaclesDirected

SokobanUndirected

SokobanDirected

Snake

Catcher

TransportUndirected

TransportDirected

Codecov Report

Merging #178 (d2f0316) into master (e7c748c) will decrease coverage by 0.64%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #178      +/-   ##
==========================================
- Coverage   61.96%   61.31%   -0.65%
==========================================
  Files          27       27
  Lines        2624     2624
==========================================
- Hits         1626     1609      -17
- Misses        998     1015      +17

Impacted Files
Coverage Δ

src/envs/snake.jl
62.60% <0.00%> (-9.76%)
:arrow_down:

src/envs/transport_undirected.jl
67.88% <0.00%> (-1.84%)
:arrow_down:

src/envs/dynamic_obstacles_undirected.jl
71.18% <0.00%> (-1.70%)
:arrow_down:

src/abstract_grid_world.jl
13.11% <0.00%> (-0.82%)
:arrow_down:

Continue to review full report at Codecov.

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

Updated version of the playing & recording demo:

Update all gifs in README.
Add screenshots and basic descriptions for all environments.


fluentd_access_logger: add option to reconnect to upstream

Additional Description: To enhance the Fluentd access logger resiliency, adding a feature to reconnect to the upstream in case the TCP connection is closed for any reason.
Risk Level: medium
Testing: unit tests, integration tests
Docs Changes: stats docs, API docs

/retest

/retest

@mattklein123, @wbpcode  can you please take another look?
I added retry options with backoff config and tests. The default option now is that there's no limit on the number of upstream reconnects

/retest

/retest


User filter on PSC

After meeting with Laurent we should know:

The field to filter on
How to test

[ ] Then write a Synapse module to do the job -> new repo!

[ ] Include this module in our stack

Hey team! Please add your planning poker estimate with Zenhub @ad2ien @JDixmier

Tchap did something similar somewhere there : https://github.com/tchapgouv?q=&type=all&language=python&sort=

Goal : PSC users cannot auto register, they have to be whitelisted


How to port libgdx to new OS ( Linux fork )

Hi ,
We need to port libgdx to Tizen , Huawei Harmony OS and PureOS.
As we know , most OS's are based on linux.
How can we port libgdx to custom linux os's
is there any documentation?

As a first step you have to check whether your target supports Java.
If not you have to find some way to run it.
Remember that you can always try to use the gwt output if your target supports some kind of webview.

I need a solution without webview.
webview makes so much penalty.
But IOS doesnt support Java and it can run with robovm ?

Hi @eix128
Better use the discord server for your question.
That said: Yes LibGDX does run on iPhone with RoboVm (MobiVM)

https://github.com/libgdx/libgdx/wiki/Issue-Tracker


ix: init at 20190815

Motivation for this change
Adds cli client for http://ix.io.
Was not able to find a license.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @

@GrahamcOfBorg build ix


FPSDisplay delivers wrong values

The values delievered by  pyglet.window.FPSDisplay are wrong. It looks like they depend on the value set in update_period, not the real fps.
This sample code

class HelloWorldWindow(pyglet.window.Window):

    def __init__(self):
        super(HelloWorldWindow, self).__init__(width=800, height=600, vsync=False)
        self.fps_display = pyglet.window.FPSDisplay(self)
        self.fps_display.update_period = 0.0001
        pyglet.clock.schedule_interval(self.update, 1./60)

    def on_draw(self):
        self.clear()
        self.fps_display.draw()

    def update(self, dt):
        print(pyglet.clock.get_fps())

if __name__ == '__main__':
    window = HelloWorldWindow()
    pyglet.app.run()

delivers in the console for example<PHONE_NUMBER>152703 but in the window always 10000.00.
If I change the value in update_period the display in the window changes dependend on the value, not the real fps.

Looks like the calculation is slightly broken. Thanks for opening the ticket.

Looking into this further, it turns out that clock.get_fps has been broken for a long time. It was likely intended to work with the old set_fps_limit API which was long deprecated and has been removed.
The FPSDisplay issue itself is a simple 1 line fix. Fixing it, however, seems to indicate that the clock itself is slightly inaccurate (at least on Linux). This needs more investigation.
As a quick note, setting the FPSDisplay.update_period to a shorter interval than the clock is being updated will result in inaccurate results.

The FPSDisplay should now be fixed in master. Please note that if you set the FPSDisplay.update_period to a value that is less than the Window refresh speed, it will give inaccurate results. I have updated the docstrings to explain this as well.
For the clock.get_fps, it turns out that it's not broken at all. Instead, the name is just confusing. This value indicates how many times the internal clock is refreshing. This value will change depending on how many Platform events exist, such as mouse movement, keyboard input, etc. It is not an indicator of screen refresh speed. I have updated the docstrings to explain this as well.

Please reopen this if you have any additional comments or issues. Thanks!


Userscript for injecting LoC in GitHub repo page

I just put together a script that, using tokei_rs, injects the lines of code into the summary view of the GitHub repository page.
https://gist.github.com/miraclx/aad03f43fe8ac85682b0243f4f242f0d
Is this useful to add to the readme?

It does, however, require the use of a user script manager like Violentmonkey.
EDIT: click to view badge, added helpful tooltip

Thank you for your issue! This looks cool, however I'm not sure about including it in the README, since due to the nature of user scripts it's not guaranteed to always work, if they make changes. It's also something I wouldn't be maintaining so I would feel a bit weird about promoting a script I have no control over. Feel free to share it with other people though!

Thank you for your reply! I totally understand, it feels a little out of place here. Just figured I'd open an issue for reference in case others might find it interesting.
And thanks for tokei by the way, have a great day!


File Uploads update to 3.0

.

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

ID: 9a5cfa38-0e6c-4346-dafc-84ea5c513fcf
Version Independent ID: c6787f0f-3e9a-6efb-0e6e-5ccb957d3f4a
Content: File uploads in ASP.NET Core
Content Source: aspnetcore/mvc/models/file-uploads.md
Product: aspnet-core
Technology: aspnetcore-mvc
GitHub Login: @ardalis
Microsoft Alias: riande

@Rick-Anderson I'm going to backlog this one due to special circumstances. There are massive updates for the 2.2 version on #12344. We should get those approved+merged first, then update the topic+sample to 3.0. I just took a look, and adding 3.0 updates to that PR would make it even more 😵.

I would add the 3.0 updates to this PR when you have time. That's what I did on a couple PR's that languished for months.

Let's do it after the major updates go in on that PR. That PR is one of the largest topic+sample updates I've ever done ... It's a 👹 B E A S T 👹 ... took me a full week ... and explains why we're having trouble getting it reviewed, too. After all of that goes in, then it will be a snap to get it up to 3.0. What I don't want to do is add the 3.0 updates to that PR. Alternately trying to update the current topic to 3.0 is even more insane ... the current topic+sample is a 🚂💥, and touching it will create major conflicts with the existing PR.

It looks like the current file upload guidance for large files stops functioning as expected in 3.0. IIS grabbs the entire stream and writes it to disk, then hands things off to the controller method. Rather than the stream being accessible in the controller method through the HttpRequest

A note: to make large file upload sample work in .NET 3.0 RTM DisableFormValueModelBinding source should be changed to:
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
public class DisableFormValueModelBindingAttribute : Attribute, IResourceFilter
{
    public void OnResourceExecuting(ResourceExecutingContext context)
    {
        var factories = context.ValueProviderFactories;
        factories.RemoveType<FormValueProviderFactory>();
        factories.RemoveType<FormFileValueProviderFactory>();
        factories.RemoveType<JQueryFormValueProviderFactory>();
    }

    public void OnResourceExecuted(ResourceExecutedContext context)
    {
    }
}


Search does not seem to return classes

Explain or tell me, what parameters are required to do so. It might be useful for example, to limit the search to classes when done for a header, and to resources, when for a cell.

This issue was moved to odalic/sti#206